掌桥专利:专业的专利平台
掌桥专利
首页

硬件外设管理系统及其控制方法

文献发布时间:2023-06-19 19:23:34


硬件外设管理系统及其控制方法

技术领域

本申请属于外设控制技术领域,尤其涉及一种硬件外设管理系统及其控制方法。

背景技术

目前,通常是通过集成硬件外设厂商提供的驱动动态库或者OCX插件,使用驱动动态库或者OCX插件提供的接口,访问外设功能,通过这种方式来访问外设功能,集成硬件外设厂商提供的驱动动态库或者OCX插件都会进入上位机应用的进程,从而污染上位机应用,并且当硬件外设驱动出现致命问题时,如崩溃或卡死时,整个上位机应用都会随之崩溃或卡死。

发明内容

本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种硬件外设管理系统及其控制方法,可以有效防止硬件外设进程污染上位机,避免造成上位机的崩溃或卡死。

第一方面,本申请提供了一种硬件外设管理系统,包括:

上位机应用;

硬件外设总控,所述硬件外设总控与所述上位机应用连接,所述硬件外设总控用于接收所述上位机应用的访问请求;

孵化器,所述孵化器与所述硬件外设总控连接,所述孵化器用于接收所述硬件外设总控发送的硬件外设激活指令,创建硬件外设进程,并监控所述硬件外设进程的进程状态;

其中,所述硬件外设进程通过封装硬件外设驱动得到,所述硬件外设进程和所述硬件外设总控之间建立有通信通道,所述通信通道用于传输所述硬件外设总控的外设控制指令,以及所述硬件外设进程处理所述外设控制指令的指令处理结果。

根据本申请的硬件外设管理系统,通过上位机应用与硬件外设总控连接,上位机应用向硬件外设总控之间可以传输访问请求以及硬件外设进程处理结果,且硬件外设进程与硬件外设总控之间建立通信通道,硬件外设总控与硬件外设进程通过通信通道传输相关指令和处理结果,并且硬件外设进程由孵化器创建并监督,实现了上位机应用对硬件外设进程的间接控制,硬件外设进程和上位机不直接连接,硬件外设进程出现异常时,不会影响上位机,有效防止硬件外设进程污染上位机,避免造成上位机的崩溃或卡死。

根据本申请的一个实施例,所述孵化器包括本地孵化器和远程孵化器,所述硬件外设进程包括本地硬件外设进程和远程硬件外设进程,所述本地孵化器用于创建并监控所述本地硬件外设进程,所述远程孵化器用于创建并监控所述远程硬件外设进程。

根据本申请的一个实施例,所述远程孵化器用于接收所述本地孵化器传输的远程硬件外设激活指令,创建所述远程硬件外设进程。

根据本申请的一个实施例,所述本地孵化器、所述硬件外设总控和所述上位机应用部署于第一计算机,所述远程孵化器部署于第二计算机。

根据本申请的一个实施例,所述硬件外设总控与所述本地孵化器之间传输的数据指令为外设管理指令,所述外设管理指令包括激活指令、销毁指令和重置指令。

根据本申请的一个实施例,所述硬件外设总控与所述硬件外设进程之间传输的数据指令为外设功能指令。

根据本申请的一个实施例,所述硬件外设进程和所述孵化器之间通过进程信号通知机制进行通信。

第二方面,本申请提供了一种硬件外设管理系统的控制方法,该方法包括:

通过硬件外设总控接收上位机应用的访问请求;

在确定所述访问请求对应的硬件外设未激活的情况下,控制所述硬件外设总控向孵化器发送硬件外设激活指令;

控制所述孵化器基于所述硬件外设激活指令,创建硬件外设进程,并监控所述硬件外设进程的进程状态;

建立所述硬件外设进程和所述硬件外设总控的通信通道;

其中,所述硬件外设进程通过封装硬件外设驱动得到,所述通信通道用于传输所述硬件外设总控的外设控制指令,以及所述硬件外设进程处理所述外设控制指令的指令处理结果。

根据本申请的硬件外设管理系统的控制方法,通过上位机应用与硬件外设总控连接,上位机应用向硬件外设总控之间可以传输访问请求以及硬件外设进程处理结果,且硬件外设进程与硬件外设总控之间建立通信通道,硬件外设总控与硬件外设进程通过通信通道传输相关指令和处理结果,并且硬件外设进程由孵化器创建并监督,实现了上位机应用对硬件外设进程的间接控制,硬件外设进程和上位机不直接连接,硬件外设进程出现异常时,不会影响上位机,有效防止硬件外设进程污染上位机,避免造成上位机的崩溃或卡死。

根据本申请的一个实施例,在所述监控所述硬件外设进程的进程状态之后,所述方法还包括:

确定所述硬件外设进程的进程状态处于异常状态,控制所述孵化器结束当前的所述硬件外设进程,重新建立新的硬件外设进程;

建立所述新的硬件外设进程和所述硬件外设总控之间的新的通信通道。

根据本申请的一个实施例,所述确定所述硬件外设进程的进程状态处于异常状态,控制所述孵化器结束当前的所述硬件外设进程,重新建立新的硬件外设进程,包括:

在确定所述硬件外设进程的进程状态处于异常状态,且所述硬件外设进程在处理目标控制指令的情况下,控制所述孵化器结束当前的所述硬件外设进程,重新建立所述的新的硬件外设进程;

在所述建立所述新的硬件外设进程和所述硬件外设总控之间的新的通信通道后,所述方法还包括:

在确定所述目标控制指令的类型为第一指令类型的情况下,控制所述硬件外设总控重新发送所述目标控制指令;

在确定所述目标控制指令的类型为第二指令类型的情况下,控制所述硬件外设总控返回错误码给所述上位机应用。

第三方面,本申请还提供了一种硬件外设管理系统的控制装置,包括:

接收模块,用于通过硬件外设总控接收上位机应用的访问请求;

第一处理模块,用于在确定所述访问请求对应的硬件外设未激活的情况下,控制所述硬件外设总控向孵化器发送硬件外设激活指令;

第二处理模块,用于控制所述孵化器基于所述硬件外设激活指令,创建硬件外设进程,并监控所述硬件外设进程的进程状态;

第三处理模块,用于建立所述硬件外设进程和所述硬件外设总控的通信通道;

其中,所述硬件外设进程通过封装硬件外设驱动得到,所述通信通道用于传输所述硬件外设总控的外设控制指令,以及所述硬件外设进程处理所述外设控制指令的指令处理结果。

根据本申请的硬件外设管理系统的控制装置,通过上位机应用与硬件外设总控连接,上位机应用向硬件外设总控之间可以传输访问请求以及硬件外设进程处理结果,且硬件外设进程与硬件外设总控之间建立通信通道,硬件外设总控与硬件外设进程通过通信通道传输相关指令和处理结果,并且硬件外设进程由孵化器创建并监督,实现了上位机应用对硬件外设进程的间接控制,硬件外设进程和上位机不直接连接,硬件外设进程出现异常时,不会影响上位机,有效防止硬件外设进程污染上位机,避免造成上位机的崩溃或卡死。

第四方面,本申请提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第二方面所述的硬件外设管理系统的控制方法。

第五方面,本申请提供了一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第二方面所述的硬件外设管理系统的控制方法。

第六方面,本申请提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上述第二方面所述的硬件外设管理系统的控制方法。

本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:

图1是本申请实施例提供的硬件外设管理系统的结构示意图之一;

图2是本申请实施例提供的硬件外设管理系统的控制方法的流程示意图之一;

图3是本申请实施例提供的硬件外设管理系统的结构示意图之二;

图4是本申请实施例提供的硬件外设管理系统的控制方法的流程示意图之二;

图5是本申请实施例提供的硬件外设管理系统的控制方法的流程示意图之三;

图6是本申请实施例提供的硬件外设管理系统的控制装置的结构示意图;

图7是本申请实施例提供的电子设备的结构示意图。

附图标记:上位机应用110,硬件外设总控120,孵化器130,本地孵化器131,远程孵化器132,硬件外设进程140,本地硬件外设进程141,远程硬件外设进程142。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员获得的所有其他实施例,都属于本申请保护的范围。

本申请的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。

下面参考图1-图6,描述本申请实施例提供的硬件外设管理系统及其控制方法。

如图1所示,本申请实施例提供的硬件外设管理系统,包括:上位机应用110、硬件外设总控120和孵化器130。

硬件外设总控120与上位机应用110连接,硬件外设总控120用于接收上位机应用110的访问请求。

孵化器130与硬件外设总控120连接,孵化器130用于接收硬件外设总控120发送的硬件外设激活指令,创建硬件外设进程140,并监控硬件外设进程140的进程状态。

其中,硬件外设进程140通过封装硬件外设驱动得到,硬件外设进程140和硬件外设总控120之间建立有通信通道,通信通道用于传输硬件外设总控120的外设控制指令,以及硬件外设进程140处理外设控制指令的指令处理结果。

在该实施例中,上位机应用110可以是上位机中运行的可以控制硬件外设动作的应用程序,上位机可以是向硬件外设发出操控命令的计算机。

硬件外设总控120与上位机应用110之间可以通过数据指令来传递信息,硬件外设总控120与上位机应用110之间进行通信的通讯协议可以为TCP/IP、Http/Https或Websocket,且硬件外设总控120与上位机应用110之间进行通信的指令报文的格式可以为JSON。

其中,上位机应用110的访问请求可以包括对硬件外设进程140的激活指令以及对硬件外设进程140的访问指令,也可以只包括对硬件外设进程140的访问指令。

实际执行中,在上位机应用110的访问请求所对应的硬件外设进程140处于未激活状态时,上位机应用110通过硬件外设总控120先向硬件外设进程140发出硬件外设激活指令,激活硬件外设进程140,再对硬件外设进程140发出访问指令,上位机应用110访问硬件外设进程140。

其中,上位机应用110访问硬件外设进程140可以是控制硬件外设执行动作或者获取硬件外设中的数据,例如,硬件外设可以是摄像头,上位机应用110访问摄像头的硬件外设进程140,可以获取到摄像头的图像数据。

再例如,硬件外设可以是打印机,上位机应用110访问打印机的硬件外设进程140,可以控制打印机执行打印操作。

在上位机应用110的访问请求所访问的硬件外设进程140处于激活状态时,硬件外设总控120直接向硬件外设进程140发出访问指令,上位机应用110访问硬件外设进程140。

硬件外设总控120与上位机应用110之间也可以通过数据指令来传递信息,硬件外设总控120与上位机应用110之间进行通信的通信协议可以是TCP/IP,硬件外设总控120与上位机应用110之间进行通信的指令报文的格式可以是protocolbuffer。

硬件外设激活指令也可以采用protocolbuffer格式,硬件外设激活指令中包含所需要激活的外设对应的硬件外设驱动,孵化器130可以利用硬件外设对应的硬件外设驱动,创建对应的硬件外设进程140。

在该实施例中,孵化器130创建硬件外设进程140需要对硬件外设进行初始化,加载该外设对应的硬件外设驱动,创建对应的硬件外设进程140,并监控硬件外设进程140的进程状态。

其中,硬件外设进程140的进程状态可以是正常和异常两种情况,进程状态异常可以是硬件外设进程140崩溃,也可以是硬件外设进程140处于卡死状态。

通过孵化器130监控硬件外设进程140的进程状态,当硬件外设进程140的进程状态处于异常状态时,可以及时地以自动、用户无感的方式,为上位机应用110重新恢复硬件外设进程140的访问能力。

硬件外设进程140与硬件外设总控120之间的通信通道的通信协议可以是TCP/IP,硬件外设进程140与硬件外设总控120之间进行通信的硬件外设控制指令和硬件外设控制指令对应的指令处理结果的格式可以是protocolbuffer。

相关技术中,通过使用驱动动态库或者OCX插件提供的接口,访问外设功能,集成硬件外设厂商提供的驱动动态库或者OCX插件都会进入上位机应用110的硬件外设进程140,从而污染上位机应用110,并且当硬件外设驱动出现致命问题时,如崩溃或卡死时,整个上位机应用110都会随之崩溃或卡死。

本申请实施例中,设置硬件外设总控120传输上位机应用110对于硬件外设进程140的访问请求,通过硬件外设进程140和硬件外设总控120之间的通信通道,实现硬件外设进程140相关指令及处理结果的传输,硬件外设进程140由孵化器130创建并监督,硬件外设进程140和上位机不直接连接,硬件外设进程140出现异常时,不会影响上位机,有效防止硬件外设进程140污染上位机,避免造成上位机的崩溃或卡死。

根据本申请实施例提供的硬件外设管理系统,通过上位机应用110与硬件外设总控120连接,上位机应用110向硬件外设总控120之间可以传输访问请求以及硬件外设进程140处理结果,且硬件外设进程140与硬件外设总控120之间建立通信通道,硬件外设总控120与硬件外设进程140通过通信通道传输相关指令和处理结果,并且硬件外设进程140由孵化器130创建并监督,实现了上位机应用110对硬件外设进程140的间接控制,硬件外设进程140和上位机不直接连接,硬件外设进程140出现异常时,不会影响上位机,有效防止硬件外设进程140污染上位机,避免造成上位机的崩溃或卡死。

在一些实施例中,孵化器130包括本地孵化器131和远程孵化器132,硬件外设进程140包括本地硬件外设进程141和远程硬件外设进程142,本地孵化器131用于创建并监控本地硬件外设进程141,远程孵化器132用于创建并监控远程硬件外设进程142。

实际执行中,如图3所示,本地孵化器131与硬件外设总控120直接连接,远程孵化器132不与硬件外设总控120直接连接,本地孵化器131创建本地硬件外设进程141,并且监控本地硬件外设进程141的进程状态,远程孵化器132创建远程硬件外设进程142,并且监控远程硬件外设进程142的进程状态。

在一些实施例中,远程孵化器132用于接收本地孵化器131传输的远程硬件外设激活指令,创建远程硬件外设进程142。

如图3所示,硬件外设总控120向本地孵化器131发送远程硬件外设激活指令,本地孵化器131将远程硬件外设激活指令发送给远程孵化器132,远程孵化器132创建远程硬件外设进程142,并且监控远程硬件外设进程142的进程状态。

其中,本地孵化器131与远程孵化器132之间通信的通信协议可以是TCP/IP,并且本地孵化器131与远程孵化器132之间传输的远程硬件外设激活指令的格式可以是protocolbuffer。

实际执行中,如图4所示,在孵化器130创建硬件外设进程140过程中,本地孵化器131需要根据硬件外设总控120发出的硬件外设激活指令,获取待激活硬件外设的信息,然后查询外设配置表,判断待激活硬件外设是本地硬件外设还是远程硬件外设。

在确定待激活硬件外设是本地硬件外设后,本地孵化器131对该本地硬件外设进行初始化,加载硬件外设驱动,创建本地硬件外设进程141。

在确定待激活硬件外设是远程硬件外设后,本地孵化器131向远程孵化器132发送远程硬件外设激活指令,远程孵化器132对该远程硬件外设进行初始化,加载硬件外设驱动,创建远程硬件外设进程142。

在一些实施例中,硬件外设总控120与本地硬件外设进程141,以及硬件外设总控120与远程硬件外设进程142之间使用相同的通信协议。

实际执行中,硬件外设总控120与本地硬件外设进程141之间通信的通信协议可以是TCP/IP,硬件外设总控120与远程硬件外设进程142之间通信的通信协议也可以是TCP/IP。

上位机应用110在向硬件外设总控120发送访问请求时,硬件外设总控120可以同时向本地硬件外设进程141和远程硬件外设进程142传输访问请求,实现了上位机应用110对本地硬件外设进程141和远程硬件外设进程142的一致访问。

在一些实施例中,本地孵化器131、硬件外设总控120和上位机应用110部署于第一计算机,远程孵化器132部署于第二计算机。

其中,第一计算机可以是本地计算机,第二计算机可以是远程计算机,本地孵化器131、硬件外设总控120部署于同一计算机,本地孵化器131可以直接获取硬件外设总控120发送的本地硬件外设激活指令,创建并监控本地硬件外设进程141。

远程孵化器132与硬件外设总控120部署于不同计算机,远程孵化器132需要通过本地孵化器131传输硬件外设总控120发送的远程硬件外设激活指令,创建并监控远程硬件外设进程142。

在一些实施例中,硬件外设总控120与本地孵化器131之间传输的数据指令为外设管理指令,外设管理指令包括激活指令、销毁指令和重置指令。

其中,激活指令用于控制本地孵化器131创建一个本地硬件外设进程141,销毁指令用于控制本地孵化器131结束一个本地硬件外设进程141,重置指令用于控制本地孵化器131重建一个本地硬件外设进程141。

实际执行中,硬件外设总控120收到上位机应用110发出的访问请求后,在确定上位机应用110需要访问的硬件外设为本地硬件外设进程141时,硬件外设总控120向本地孵化器131发送硬件外设激活指令,本地孵化器131创建上位机应用110请求访问的本地硬件外设进程141。

在上位机应用110结束对该本地硬件外设进程141的访问后,硬件外设总控120向本地孵化器131发出一个销毁指令,本地孵化器131结束掉该本地硬件外设进程141。

在一些实施例中,硬件外设总控120与硬件外设进程140之间传输的数据指令为外设功能指令。

其中,外设功能指令可以是控制硬件外设进程140执行对应操作或者从硬件外设进程140中获取相关信息的指令。

需要说明的是,外设管理指令与外设功能指令不同,硬件外设总控120与本地孵化器131之间只传输外设管理指令,硬件外设总控120与硬件外设进程140之间只传输外设功能指令。

例如,上位机应用110在使用扫描仪时,可以通过硬件外设总控120向扫描仪对应的硬件外设进程140发送外设功能指令,控制扫描仪执行对目标图像的扫描操作,并且获取扫描仪扫描目标图像后获取到的图像信息。

在一些实施例中,硬件外设进程140和孵化器130之间通过进程信号通知机制进行通信。

其中,进程信号通知机制是孵化器130根据硬件外设进程140发送的硬件外设进程的状态信号,判断硬件外设进程140的进程状态,从而实现对硬件外设进程140的进程状态的监控。

下面介绍本申请实施例提供的硬件外设管理系统的控制方法。

如图2所示,本申请实施例提供的硬件外设管理系统的控制方法包括:

步骤210、通过硬件外设总控接收上位机应用的访问请求;

步骤220、在确定访问请求对应的硬件外设未激活的情况下,控制硬件外设总控向孵化器发送硬件外设激活指令;

步骤230、孵化器基于硬件外设激活指令,创建硬件外设进程,并监控硬件外设进程的进程状态;

步骤240、建立硬件外设进程和硬件外设总控的通信通道;

其中,硬件外设进程通过封装硬件外设驱动得到,通信通道用于传输硬件外设总控的外设控制指令,以及硬件外设进程处理外设控制指令的指令处理结果。

根据本申请实施例提供的硬件外设管理系统的控制方法,通过上位机应用与硬件外设总控连接,上位机应用向硬件外设总控之间可以传输访问请求以及硬件外设进程处理结果,且硬件外设进程与硬件外设总控之间建立通信通道,硬件外设总控与硬件外设进程通过通信通道传输相关指令和处理结果,并且硬件外设进程由孵化器创建并监督,实现了上位机应用对硬件外设进程的间接控制,硬件外设进程和上位机不直接连接,硬件外设进程出现异常时,不会影响上位机,有效防止硬件外设进程污染上位机,避免造成上位机的崩溃或卡死。

在一些实施例中,在监控硬件外设进程的进程状态之后,方法还包括:

确定硬件外设进程的进程状态处于异常状态,控制孵化器结束当前的硬件外设进程,重新建立新的硬件外设进程;

建立新的硬件外设进程和硬件外设总控之间的新的通信通道;

其中,异常状态可以是硬件外设进程的进程状态处于崩溃或卡死状态。

实际执行中,硬件外设进程将进程状态发送给孵化器,孵化器监控到硬件外设进程处于崩溃或卡死状态时,向硬件外设进程发出重建指令,结束硬件外设进程,重新建立新的硬件外设进程,并且建立新的硬件外设进程与硬件外设总控之间的新的通信通道。

在一些实施例中,确定硬件外设进程的进程状态处于异常状态,控制孵化器结束当前的硬件外设进程,重新建立新的硬件外设进程,包括:

在确定硬件外设进程的进程状态处于异常状态,且硬件外设进程在处理目标控制指令的情况下,控制孵化器结束当前的硬件外设进程,重新建立的新的硬件外设进程;

在建立新的硬件外设进程和硬件外设总控之间的新的通信通道后,方法还包括:

在确定目标控制指令的类型为第一指令类型的情况下,控制硬件外设总控重新发送目标控制指令;

在确定目标控制指令的类型为第二指令类型的情况下,控制硬件外设总控返回错误码给上位机应用。

其中,目标控制指令是外设控制指令的一种,第一指令类型可以是幂等指令,第二指令类型可以是非幂等指令。

实际执行中,如图5所示,硬件外设进程正在处理目标控制指令时,当前的硬件外设进程的进程状态出现异常情况,硬件外设进程通过进程信号通知机制向孵化器发送该异常情况,孵化器会结束当前的硬件外设进程,然后重新创建新的硬件外设进程,重新创建新的通信通道;

根据硬件外设进程正在梳理的目标控制指令的指令类型,在确定目标控制指令为幂等的情况下,硬件外设总控重新向心的硬件外设进程发送该目标控制指令。

在确定目标控制指令为非幂等的情况下,硬件外设总控返回错误码给上位机应用,上位机应用根据错误码的类型做出不同判断。

其中,硬件外设管理系统的控制方法可应用于终端,具体可由,终端中的硬件或软件执行。

该终端包括但不限于具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话或平板电脑等便携式通信设备。还应当理解的是,在某些实施例中,该终端可以不是便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。

以下各个实施例中,描述了包括显示器和触摸敏感表面的终端。然而,应当理解的是,终端可以包括诸如物理键盘、鼠标和控制杆的一个或多个其它物理用户接口设备。

本申请实施例提供的硬件外设管理系统的控制方法,执行主体可以为硬件外设管理系统的控制装置。本申请实施例中以硬件外设管理系统的控制装置执行硬件外设管理系统的控制方法为例,说明本申请实施例提供的硬件外设管理系统的控制装置。

本申请实施例还提供一种硬件外设管理系统的控制装置。

如图6所示,该硬件外设管理系统的控制装置包括:

接收模块610,用于通过硬件外设总控接收上位机应用的访问请求;

第一处理模块620,用于在确定所述访问请求对应的硬件外设未激活的情况下,控制所述硬件外设总控向孵化器发送硬件外设激活指令;

第二处理模块630,用于控制所述孵化器基于所述硬件外设激活指令,创建硬件外设进程,并监控所述硬件外设进程的进程状态;

第三处理模块640,用于建立所述硬件外设进程和所述硬件外设总控的通信通道;

其中,所述硬件外设进程通过封装硬件外设驱动得到,所述通信通道用于传输所述硬件外设总控的外设控制指令,以及所述硬件外设进程处理所述外设控制指令的指令处理结果。

根据本申请实施例提供的硬件外设管理系统的控制装置,通过上位机应用与硬件外设总控连接,上位机应用向硬件外设总控之间可以传输访问请求以及硬件外设进程处理结果,且硬件外设进程与硬件外设总控之间建立通信通道,硬件外设总控与硬件外设进程通过通信通道传输相关指令和处理结果,并且硬件外设进程由孵化器创建并监督,实现了上位机应用对硬件外设进程的间接控制,硬件外设进程和上位机不直接连接,硬件外设进程出现异常时,不会影响上位机,有效防止硬件外设进程污染上位机,避免造成上位机的崩溃或卡死。

在一些实施例中,第二处理模块630用于确定所述硬件外设进程的进程状态处于异常状态,控制所述孵化器结束当前的所述硬件外设进程,重新建立新的硬件外设进程;

建立所述新的硬件外设进程和所述硬件外设总控之间的新的通信通道。

在一些实施例中,第二处理模块630用于在确定所述硬件外设进程的进程状态处于异常状态,且所述硬件外设进程在处理目标控制指令的情况下,控制所述孵化器结束当前的所述硬件外设进程,重新建立所述的新的硬件外设进程;

在所述建立所述新的硬件外设进程和所述硬件外设总控之间的新的通信通道后,所述方法还包括:

在确定所述目标控制指令的类型为第一指令类型的情况下,控制所述硬件外设总控重新发送所述目标控制指令;

在确定所述目标控制指令的类型为第二指令类型的情况下,控制所述硬件外设总控返回错误码给所述上位机应用。

本申请实施例中的硬件外设管理系统的控制装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、车载电子设备、移动上网装置(Mobile Internet Device,MID)、增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR)设备、机器人、可穿戴设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本或者个人数字助理(personal digital assistant,PDA)等,还可以为服务器、网络附属存储器(Network Attached Storage,NAS)、个人计算机(personal computer,PC)、电视机(television,TV)、柜员机或者自助机等,本申请实施例不作具体限定。

本申请实施例中的硬件外设管理系统的控制装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为IOS操作系统,还可以为其他可能的操作系统,本申请实施例不作具体限定。

本申请实施例提供的硬件外设管理系统的控制装置能够实现图2、图4和图5的方法实施例实现的各个过程,为避免重复,这里不再赘述。

在一些实施例中,如图7所示,本申请实施例还提供一种电子设备700,包括处理器701、存储器702及存储在存储器702上并可在处理器701上运行的计算机程序,该程序被处理器701执行时实现上述硬件外设管理系统的控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

需要说明的是,本申请实施例中的电子设备包括上述所述的移动电子设备和非移动电子设备。

本申请实施例还提供一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述硬件外设管理系统的控制方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。

其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。

本申请实施例还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述硬件外设管理系统的控制方法。

其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本申请实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。

上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本申请的保护之内。

在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。

尽管已经示出和描述了本申请的实施例,本领域的普通技术人员可以理解:在不脱离本申请的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本申请的范围由权利要求及其等同物限定。

技术分类

06120115891595