CN103345414B - 自助终端控制硬件设备的方法、设备管理器和处理器 - Google Patents
自助终端控制硬件设备的方法、设备管理器和处理器 Download PDFInfo
- Publication number
- CN103345414B CN103345414B CN201310321226.7A CN201310321226A CN103345414B CN 103345414 B CN103345414 B CN 103345414B CN 201310321226 A CN201310321226 A CN 201310321226A CN 103345414 B CN103345414 B CN 103345414B
- Authority
- CN
- China
- Prior art keywords
- status information
- hardware device
- software module
- layer software
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Computer And Data Communications (AREA)
Abstract
本发明涉及自助终端技术领域,特别是涉及一种自助终端控制硬件设备的方法、设备管理器和处理器。该方法中,当操作系统启动后,设备管理器同步启动,并且每隔采集周期,产生第一状态获取指令,以获取硬件设备的状态信息;在接收到复位指令后,所述设备管理器判断是否存储有各硬件设备的有效状态信息;在存储有效的状态信息时,将所述有效的状态信息直接传输至上层软件模块,以使上层软件模块执行启动操作。这个过程中,上层软件模块不需要在每次启动的时候加载各个硬件设备的驱动程序,而且所述上层软件模块和设备管理器之间的通信速度,远远大于所述上层软件模块和硬件设备之间的通信速度,因而有效提高了上层软件模块启动的速度。
Description
技术领域
本发明涉及自助终端技术领域,特别是涉及一种自助终端控制硬件设备的方法、设备管理器和处理器。
背景技术
自助终端中包括多个硬件设备,如读卡器、凭条打印机、扫描设备、传感指示器、摄像机、报警器等,根据设置在后台服务器中上层软件模块产生的操作指令,执行相应的操作。
现有技术中,自助终端的上层软件模块每次启动的时候,需要获取各个硬件设备的状态,因而要加载各个硬件设备的驱动,通过端口配置,对每一个硬件设备发送复位指令,以使接收到所述复位指令的硬件设备将自身的状态信息传输至上层软件模块,从而使上层软件模块获取到各个硬件设备的状态信息。
发明人在本申请的研究过程中发现,采用现有技术中上层软件模块对硬件设备进行操控的方式时,由于上层软件模块每次启动的时候都需要获取各个硬件设备的状态信息,导致自助终端的上层软件模块启动时花费较长的时间,特别是自助终端的操作系统在对上层软件模块进行集成测试或联调测试时,上层软件模块会进行频繁的启动和退出,现有技术中上层软件模块启动时,耗费时间长的缺点将更加明显。
发明内容
有鉴于此,本发明的目的在于提供一种自助终端控制硬件设备的方法,以解决自助终端的上层软件模块在启动时,耗费时间长的问题,具体实施方案如下:
一种自助终端控制硬件设备的方法,应用于设备管理器,所述自助终端控制硬件设备的方法包括:
在操作系统启动后,所述设备管理器每隔采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
所述设备管理器接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息;
当存储有有效的状态信息时,所述设备管理器将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
优选的,所述自助终端控制硬件设备的方法还包括:
所述设备管理器在接收到所述上层软件模块传输的复位指令,且判断得知未存储有各硬件设备的有效的状态信息时,产生第二状态获取指令,以使所述硬件设备在接收到所述第二状态获取指令后,将当前的状态信息传输至所述设备管理器;
所述设备管理器接收所述硬件设备传输的所述当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
优选的,所述自助终端控制硬件设备的方法还包括:
所述设备管理器接收所述上层软件模块退出时产生的卸载指令;
所述设备管理器产生卸载成功指令,并将所述卸载成功指令传输至所述上层软件模块,以使所述上层软件模块在接收到所述卸载成功指令后执行退出操作。
优选的,所述自助终端控制硬件设备的方法还包括:
所述设备管理器接收所述上层软件模块传输的操作指令,并判断所述操作指令的类型,所述操作指令的类型包括:待过滤指令、硬件操控指令和状态提取指令;
所述设备管理器根据所述操作指令,执行相应的操作;
其中,当所述操作指令为待过滤指令时,所述设备管理器过滤本次操作指令,并将产生的通知信息传输至所述上层软件模块;
当所述操作指令为硬件操控指令时,所述设备管理器将所述硬件操控指令传输至相应的硬件设备,以使所述硬件设备执行相应的操作;
当所述操作指令为状态提取指令时,所述设备管理器判断最新存储的所述状态信息是否有效,若有效,将最新存储的所述状态信息传输至所述上层软件模块,若无效,所述设备管理器获取所述硬件设备当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块。
优选的,所述判断所述操作指令的类型,包括:
所述设备管理器接收规则库配置文件,所述规则库配置文件中设置有黑名单,所述黑名单中设置有不允许所述上层软件模块执行的操作;
所述设备管理器在接收到所述操作指令后,将所述操作指令与所述黑名单中规定的操作相匹配,若所述操作指令对应的操作与黑名单上设置的操作相匹配,则说明所述操作指令为待过滤指令。
相应的,本发明还公开了一种设备管理器,包括:
第一指令产生模块,用于在操作系统启动后,每隔采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
第一判断模块,用于接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息;
第一传输模块,用于在根据第一判断模块获知存储有有效的状态信息时,将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
优选的,所述设备管理器还包括:
第二指令产生模块,用于在根据判断模块获知未存储有效的状态信息时,产生第二状态获取指令,以使所述硬件设备在接收到所述第二状态获取指令后,将当前的状态信息传输至所述设备管理器;
第二传输模块,用于接收所述硬件设备传输的所述当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
优选的,所述设备管理器还包括:
接收模块,用于接收所述上层软件模块退出时产生的卸载指令;
第三指令产生模块,用于产生卸载成功指令,并将所述卸载成功指令传输至所述上层软件模块,以使所述上层软件模块在接收到所述卸载成功指令后执行退出操作。
优选的,所述设备管理器还包括:
第二判断模块,用于接收所述上层软件模块传输的操作指令,并判断所述操作指令的类型,所述操作指令的类型包括:待过滤指令、硬件操控指令和状态提取指令;
操作模块,用于根据所述操作指令,执行相应的操作;
其中,所述操作模块包括:过滤单元、指令传输单元和状态提取单元,所述过滤单元用于当所述第二判断模块判断出所述操作指令为待过滤指令时,过滤本次操作指令,并将产生的通知信息传输至所述上层软件模块;
所述指令传输单元用于当所述第二判断模块判断出所述操作指令为硬件操控指令时,将所述硬件操控指令传输至相应的硬件设备,以使所述硬件设备执行相应的操作;
所述状态提取单元用于当所述第二判断模块判断出所述操作指令为状态提取指令时,判断最新存储的所述状态信息是否有效,若有效,将最新存储的所述状态信息传输至所述上层软件模块,若无效,所述设备管理器获取所述硬件设备当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块。
优选的,所述第二判断模块包括:
配置文件接收单元,用于接收规则库配置文件,所述规则库配置文件中设置有黑名单,所述黑名单中设置有不允许所述上层软件模块执行的操作;
匹配单元,用于在接收到所述操作指令后,将所述操作指令与所述黑名单中规定的操作相匹配,若所述操作指令对应的操作与黑名单上设置的操作相匹配,则说明所述操作指令为待过滤指令。
相应的,本发明还公开了一种处理器,所述处理器的芯片上集成有如上所述的设备管理器。
在本申请公开的自助终端控制硬件设备的方法中,当操作系统启动后,设备管理器则同步启动,所述设备管理器每隔采集周期,会产生第一状态获取指令,并将所述第一状态获取指令传输至硬件设备;在接收到上层软件模块启动时产生的复位指令后,所述设备管理器判断是否存储有各硬件设备的有效状态信息;在存储有效的状态信息时,所述设备管理器将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
在现有技术中,上层软件模块每次在启动时,都会需要对硬件设备的状态进行初始化,因而会加载各个硬件设备的驱动程序,产生复位指令,并将所述复位指令发送至各个硬件设备,所述硬件设备在接收到所述复位指令后,将自身的状态信息传输至所述上层软件模块,所述上层软件模块在接收到所述状态信息后,执行初始化操作,完成启动。这个过程中,耗时比较长,特别是在进行集成测试或联调测试,所述上层软件模块会频繁的启动和退出,相应的,需要频繁的加载和卸载各个硬件设备的驱动程序,从而耗费大量时间,导致上层软件模块的启动速度慢。
而在本申请中,设置了设备管理器,自助终端的上层软件模块在进行初始化,需要获取硬件设备的状态信息时,直接调用所述设备管理器中存储的硬件设备的状态信息即可,也就是说,上层软件模块不需要在每次启动的时候加载各个硬件设备的驱动程序,而且所述上层软件模块和设备管理器之间的通信速度,远远大于所述上层软件模块和硬件设备之间的通信速度,因而有效提高了上层软件模块启动的速度。
另外,采用现有技术的方式,利用自助终端控制硬件设备时,上层软件模块频繁的启动和退出时,需要频繁的加载和卸载硬件设备的驱动程序,从而影响硬件设备的使用性能,降低了各个硬件设备选型测试的高性能效果。而本申请中,只要设备管理器预先加载各个硬件设备的驱动程序即可,而不需要自助终端的上层软件模块每次在启动的时候,对硬件设备进行操作,减少了对各个硬件设备的损耗,提高了硬件设备的使用寿命和使用性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种自助终端控制硬件设备的方法的工作流程示意图;
图2为本发明实施例公开的又一种自助终端控制硬件设备的方法的工作流程示意图;
图3为本发明实施例公开的又一种自助终端控制硬件设备的方法的工作流程示意图;
图4为本发明实施例公开的一种设备管理器的结构示意图;
图5为本发明实施例公开的又一种设备管理器的结构示意图;
图6为本发明实施例公开的又一种设备管理器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了解决现有技术中存在的,自助终端的上层软件模块在启动时,耗费时间长的问题,本申请公开了一种自助终端控制硬件设备的方法,所述自助终端控制硬件设备的方法应用于设备管理器。
实施例一
参见图1所示的工作流程示意图,本申请公开的所述自助终端控制硬件设备的方法包括:
步骤S11、操作系统启动后,所述设备管理器每隔采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
通常,所述设备管理器以广播形式,将所述第一状态获取指令传输至各个硬件设备,以便获取各个硬件设备的状态信息。其中,所述设备管理器是对自助终端的各个硬件设备进行访问的软件接口,为一种服务程序,例如为windows服务程序,当操作程序启动时,所述设备管理器同时启动,并进行和各硬件设备及硬件设备的驱动程序的加载工作。这种情况下,当上层软件模块启动时,设备管理器已经在启动运行了,并且实现了对硬件设备的驱动程序的加载。所述设备管理器通过对硬件设备的驱动程序的调用,实现与具体的硬件设备的通信,实现了对硬件设备的操作和状态的统一管理,以及对硬件设备的相关处理。
步骤S12、所述设备管理器接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息;
其中,所述上层软件模块包括:自助业务软件(ATMC)模块、设备测试软件模块、标准中间件SP以及厂商模式调试软件模块等,本发明对此不做限定。
在步骤S11中,自助设备的操作系统启动后,设备管理器每隔预定的时间,就会产生第一状态获取指令,并传输至硬件设备。接收到所述第一状态获取指令的硬件设备,如果配置正确,且已经成功启动,则会将自身的状态信息传输至所述设备管理器,以便所述设备管理器存储所述状态信息;如果接收到第一状态获取指令的所述硬件设备配置错误,则无法返回自身的状态信息,而是直接向所述设备管理器上报表明该硬件设备的端口配置错误的错误码,所述设备管理器会将所述错误码传输至上层软件模块,以便用户获知硬件设备出现故障,及时采取处理措施;如果接收到第一状态获取指令的所述硬件设备配置正确,但还未启动或启动失败,则所述硬件设备会向所述设备管理器传输表明该硬件设备还未启动的错误码,所述设备管理器接收所述错误码并存储,并在预定的时间后,会继续产生第一状态获取指令,所述硬件设备如果启动成功,则向所述设备管理器传输其自身的状态信息。
根据上述三种状态可知,接收到所述第一状态获取指令后,硬件设备在某些情况下,不能及时将自身的状态信息传输至设备管理器。这种情况下,所述设备管理器有可能无法获取到各个硬件设备的状态信息,或者,获取到的最新的状态信息距离上一次获取状态信息的时间比较久,因此,需要判断所述设备管理器内存储的各个硬件设备的状态信息是否有效。
判断所述状态信息是否有效,主要是通过判断获取所述最新的状态信息的时间距离上一次的获取时间是否符合规定的时间,若最新获取的状态信息的获取时间,距离上一次状态信息的获取时间在预定的时间段内,则说明所述最新获取的状态信息为有效的状态信息,否则,则说明所述设备管理器内未存储有有效的状态信息。
其中,所述预定的时间段可以为采集周期的时间长度,或者其他的时间长度,当所述最新获取的状态信息距离上一次状态信息获取的时间超过预定的时间段,则所述最新状态信息为无效的状态信息。
步骤S13、当存储有有效的状态信息时,所述设备管理器将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
在本申请公开的自助终端控制硬件设备的方法中,当操作系统启动后,设备管理器则同步启动,所述设备管理器每隔采集周期,会产生第一状态获取指令,并将所述第一状态获取指令传输至硬件设备;在接收到上层软件模块启动时产生的复位指令后,所述设备管理器判断是否存储有各硬件设备的有效状态信息;在存储有效的状态信息时,所述设备管理器将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
在现有技术中,上层软件模块每次在启动时,都会需要对硬件设备的状态进行初始化,因而会加载各个硬件设备的驱动程序,产生复位指令,并将所述复位指令发送至各个硬件设备,所述硬件设备在接收到所述复位指令后,将自身的状态信息传输至所述上层软件模块,所述上层软件模块在接收到所述状态信息后,执行初始化操作,完成启动。这个过程中,耗时比较长,特别是在进行集成测试或联调测试,所述上层软件模块会频繁的启动和退出,相应的,需要频繁的加载和卸载各个硬件设备的驱动程序,从而耗费大量时间,导致上层软件模块的启动速度慢。
而在本申请中,设置了设备管理器,自助终端的上层软件模块在进行初始化,需要获取硬件设备的状态信息时,直接调用所述设备管理器中存储的硬件设备的状态信息即可,也就是说,上层软件模块不需要在每次启动的时候加载各个硬件设备的驱动程序,而且所述上层软件模块和设备管理器之间的通信速度,远远大于所述上层软件模块和硬件设备之间的通信速度,因而有效提高了上层软件模块启动的速度。
另外,采用现有技术的方式,利用自助终端控制硬件设备时,上层软件模块频繁的启动和退出时,需要频繁的加载和卸载硬件设备的驱动程序,从而影响硬件设备的使用性能,降低了各个硬件设备选型测试的高性能效果。而本申请中,只要设备管理器预先加载各个硬件设备的驱动程序即可,而不需要自助终端的上层软件模块每次在启动的时候,对硬件设备进行操作,减少了对各个硬件设备的损耗,提高了硬件设备的使用寿命和使用性能。
另外,本实施例中还公开了设备管理器进行初始化的流程。所述设备管理器为一个windows服务程序,在操作系统启动的时候启动,在操作系统关机的时候退出,在其他时候,除非用户停止该程序服务才会退出。当操作系统启动时,所述设备管理器经过初始化后执行启动操作。
所述设备管理器在进行初始化时,首先,启动设备管理器的主线程,通过主线程加载各个硬件设备的设备DLL(Dynamic Link Library,动态链接库),所述设备DLL包括设备IO DLL(Input/Output Dynamic Link Library,输入/输出动态链接库)和设备驱动DLL,其中,所述设备IO DLL相当于设备功能接口,用于负责与上层软件模块的信息交互,所有与上层软件模块的通信必须经由该接口;所述设备驱动DLL负责与底层硬件设备的操作交互,所有对硬件设备的操作必须经由该接口;然后,设备管理器的主线程依次建立相对应各个硬件设备的IO(Input/Output,输入/输出)线程,通常,每个硬件设备对应于一个IO线程;设备管理器的主线程向各个硬件设备的IO线程发起初始化各个硬件设备的请求,用于获取各个硬件设备的状态信息;各个硬件设备的IO线程初始化对应的硬件设备,即获取各个硬件设备的状态信息,并把所述状态信息返回给主线程;
当主线程根据硬件设备返回的状态信息,确定各硬件设备的状态正常时,开始侦听上层软件模块的请求指令,当主线程根据硬件设备返回的状态信息,确定某一个或某几个硬件设备的状态存在严重故障时,发起对该硬件设备的复位操作,若经过复位操作后,所述硬件设备正常,则设备管理器的主线程开始侦听上层软件模块的请求指令;若经过预定次数的复位操作后,所述硬件设备仍然不正常,则需要人工对该硬件设备进行调节。
实施例二
参见图2所示的工作流程示意图,本申请公开的自助终端控制硬件设备的方法包括:
步骤S21、操作系统启动后,所述设备管理器每隔采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
步骤S22、所述设备管理器接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息;
步骤S21至步骤S22操作的具体实施过程和实施例一所述的步骤S11至步骤S12相同,本实施例不再赘述。
步骤S23、所述设备管理器在接收到所述上层软件模块传输的复位指令,且判断得知未存储有各个硬件设备的有效的状态信息时,产生第二状态获取指令,以使所述硬件设备在接收到所述第二状态获取指令后,将当前的状态信息传输至所述设备管理器;
步骤S24、所述设备管理器接收所述硬件设备传输的当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
其中,所述第二状态获取指令中,若未包含硬件设备的标识信息,则所述设备管理器采用广播形式,将所述第二状态获取指令传输至各个硬件设备;若在所述第二状态获取指令中加载有硬件设备的标识信息,如所述硬件设备的名称,则所述设备管理器在判断出未存储某一个或某几个硬件设备有效的状态信息时,在产生的第二状态获取指令中加载其对应的标识信息,并将所述第二状态获取指令发送至相应的硬件设备即可。
当所述设备管理器在接收到上层软件模块传输的复位指令,且未存储有各硬件设备的有效状态信息时,产生第二状态获取指令。硬件设备在接收到所述第二状态获取指令后,将自身当前的状态信息传输至设备管理器,并由所述设备管理器将其传输至上层软件模块,以使所述上层软件模块在接收到所述状态信息后,执行启动操作。
通过上述步骤,当所述设备管理器内没有存储有效的状态信息时,所述设备管理器会产生第二状态获取指令,以获取当前的状态信息,从而能够使所述上层软件模块根据当前的状态信息启动。这种情况下,所述上层软件模块通过设备管理器间接实现与硬件设备的联系,不需要加载各个硬件设备的驱动,而与现有技术中获取硬件设备的状态信息的方案相比,提高了上层软件模块启动的速度。
而且,由于上层软件模块不需要加载硬件设备的驱动程序,减少了各个硬件设备的损耗,提高了硬件设备的使用寿命和使用性能。
实施例三
本申请的实施例三还公开了一种自助终端控制硬件设备的方法。上层软件模块按照实施例一或实施例二所公开的方法启动后,根据应用需求执行退出操作,参见图3所示的工作流程示意图,这种情况下,所述自助终端控制硬件设备的方法包括:
步骤S31、操作系统启动后,设备管理器每隔一个采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
步骤S32、所述设备管理器接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息,当所述设备管理器内存储有有效的状态信息时,执行步骤S33的操作,当所述设备管理器内未存储有有效的状态信息时,执行步骤S34的操作;
步骤S33、根据步骤S32的判断结果,获悉存储有有效的状态信息时,所述设备管理器将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作,并在所述上层软件模块将退出时,执行步骤S36的操作;
步骤S34、根据步骤S32的判断结果,获悉未存储有各硬件设备的有效的状态信息时,产生第二状态获取指令,以使所述硬件设备在接收到所述第二状态获取指令后,将当前的状态信息传输至所述设备管理器;
步骤S35、所述设备管理器接收所述硬件设备传输的当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作,并在所述上层软件模块将退出时,执行步骤S36的操作;
其中,步骤S31至步骤S36操作的具体实施过程和实施例一、实施例二所述的步骤相同,本实施例不再赘述。
步骤S36、所述上层软件模块在将要退出时,会产生卸载指令,所述设备管理器接收所述上层软件模块退出前产生的卸载指令;
步骤S37、所述设备管理器在接收到所述上层软件模块传输的卸载指令后,产生卸载成功指令,并将所述卸载成功指令传输至所述上层软件模块,以使所述上层软件模块在接收到所述卸载成功指令后执行退出操作。
在现有技术中,上层软件模块直接对硬件设备进行操作,在即将退出时,所述上层软件模块会以广播形式产生卸载指令,并卸载硬件设备的驱动程序,接收到所述卸载指令的硬件设备会进行相应的退出服务工作。直到卸载完毕后,所述上层软件模块接收到硬件设备传输的卸载成功指令,才能够退出。而现有技术中,上层软件模块加载与卸载硬件设备的驱动程序的过程都很慢。
而本实施例公开的自助终端控制硬件设备的方法中,当上层软件模块退出时,只需要和设备管理器进行通信,传输其产生的卸载指令即可,即只需进行软件模块和软件模块之间的通信。而所述设备管理器在接收到所述卸载指令后,直接向所述上层软件模块传输卸载成功指令,所述设备管理器依然正常运行,各硬件设备和其对应的驱动程序同样处于正常运行的状态下,不会妨碍上层软件模块的退出。
本实施例所公开的自助终端控制硬件设备的方法,在上层软件模块即将退出,并产生卸载指令后,所述设备管理器在接收到所述卸载指令后,直接返回卸载成功指令,而不执行对硬件设备的驱动程序的卸载操作,且设备管理器、硬件设备和硬件设备的驱动程序正常运行。和现有技术中,上层软件模块在退出时,必须卸载各个硬件设备的驱动程序相比,本申请提供的方案中,上层软件模块退出的速度更快。
另外,在现有技术中,只有当各个硬件设备的驱动程序都被卸载后,上层软件模块才能够退出。如果其他的进程中使用了某一个硬件设备,会导致该硬件设备的驱动程序卸载失败,导致上层软件模块在重启时会发生失败,需要人工维护。特别的,在对自助终端进行远程维护的时候,执行远程重启时,上层软件模块启动失败,还需要工作人员赶赴现场进行处理。而本申请所公开的方案中,所述上层软件模块退出时,硬件设备和其驱动程序仍在运行,不需卸载,因此不会出现上述由于硬件原因导致的卸载失败的问题,也不会对上层软件模块的重启产生影响。
根据本申请所公开的方案,自助终端的上层软件模块在启动或退出时,不需要直接对硬件进行操作,只需要和设备管理器交换信息,而上层软件模块和设备管理器均为软件模块,这样就将目前技术的上层业务软件在启动和退出时候,需要软硬通信协调工作,更改为只需要软件模块与软件模块之间协调工作,而软件模块之间的运行速度,远远大于软硬模块之间的运行速度,因而有效的提高了上层业务软件在启动和退出的速度,且由于在启动或退出时,上层软件模块不需要加载或卸载硬件设备的驱动程序,因此防止了硬件原因导致的上层软件加载和卸载失败的问题。
当操作系统退出时,也就是说,自助终端内部安装的工控机关机的时候,设备管理器才会退出,卸载硬件设备及硬件设备的驱动程序,完成自助终端各个部件的退出服务的工作。
实施例四
本实施例公开了一种自助终端控制硬件设备的方法,在该实施例应用于上层软件模块启动后,包括:
首先,上层软件模块在启动后,根据应用需求,会产生相应的操作指令。设备管理器在接收所述上层软件模块传输的操作指令,并判断所述操作指令的类型,所述操作指令的类型包括:待过滤指令、硬件操控指令和状态提取指令。然后,所述设备管理器根据所述操作指令,执行相应的操作。
其中,设备管理器中预设有规则库配置文件,所述规则库配置文件设置有黑名单,其中所述黑名单中设置有不允许所述上层软件模块执行的操作,例如一些不合理的指令。另外,所述规则库配置文件中还可以设置有白名单,所述白名单上设置有允许上层软件模块执行的操作。在接收到所述上层软件模块传输的操作指令后,所述设备管理器将所述操作指令与所述黑名单中规定的操作相匹配,若所述操作指令对应的操作与黑名单上设置的操作相匹配,则说明所述操作指令为待过滤指令,其中,所述待过滤的指令包括不适当的指令和多余的指令。例如,上层软件模块发生故障时,有时会发出将加密文件解密,或者自身销毁的操作指令,这种指令会对自助终端产生一定的危害,通常认为是不适当的指令,或者,在较小的时间间隔内,连续发出多个相同的操作指令,这种操作指令通常认为是多余的指令,因此,本申请中,将该操作设置在黑名单中。所述设备管理器在接收到所述操作指令后,判断其为待过滤指令后,则过滤本次操作指令,产生相应的通知信息,并将所述通知信息传输至所述上层软件模块。
当所述操作指令为硬件操控指令时,所述设备管理器在接收到所述硬件操控指令后,将其传输至所述硬件操控指令对应的硬件设备。所述硬件设备在接收到所述硬件操控指令后,会执行相应的操作。另外,所述硬件设备在完成该操作后,会将自身完成操作后的状态信息传输至所述上层软件模块。例如,当所述操作指令为出钞指令这一硬件操控指令时,所述设备管理器在接收到所述出钞指令后,就其传输至执行出钞操作的硬件设备,执行出钞操作。当出钞完成后,执行出钞操作的硬件设备会产生相应的操作完成通知信息,并将其传输至设备管理器,所述设备管理器在接收到所述操作完成通知信息后,将其传输至上层软件模块。
另外,所述上层软件模块在运行过程中,有些应用情况下需要获取硬件设备的状态信息,这种情况下,所述上层软件模块向设备管理器传输的操作指令为状态提取指令。所述设备管理器在接收到所述状态提取指令后,判断最新存储的所述状态信息是否有效,若有效,将最新存储的所述状态信息传输至所述上层软件模块,若无效,所述设备管理器获取所述硬件设备当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块。在无效的情况下,所述设备管理器获取硬件设备当前的状态信息的方法主要是产生相应的状态获取的指令,并将其传输至硬件设备,所述硬件设备会将自身的状态信息反馈至所述设备管理器。这种情况下,所述上层软件模块通过和设备管理器间的信息交互,即可获取硬件设备的状态信息。
其中,判断所述操作指令类型的方法包括:所述设备管理器接收规则库配置文件,所述规则库配置文件中设置有黑名单,所述黑名单中设置有不允许所述上层软件模块执行的操作;所述设备管理器在接收到所述操作指令后,将所述操作指令与所述黑名单中规定的操作相匹配,若所述操作指令对应的操作与黑名单上设置的操作相匹配,则说明所述操作指令为待过滤指令。另外,对于状态提取指令和硬件操控指令,通常根据该指令对应的格式即可判断出其类型。
通过本实施例公开的自助终端控制硬件设备的方法,在接收到上层软件模块传输的操作指令后,设备管理器会判断所述操作指令的类型,并根据所述操作指令的类型,执行相应的操作。当所述操作指令为硬件操控指令时,所述设备管理器会将其传输至相应的硬件设备,由该硬件设备执行相应的操作。特别的,当所述操作指令为待过滤指令时,所述设备管理器会过滤该操作指令,并向上层软件模块返回相应的通知信息,提高了自助终端的安全性。
根据本申请提供的自助终端控制硬件设备的方法,由于设备管理器的主体为一个系统服务程序,在操作系统启动时就会同时启动,并且初始化所有硬件,当上层软件模块启动时,只需通过与设备管理器进行交互,即可获取硬件设备的状态信息,而不需要加载所述硬件设备的驱动程序,提高了所述上层软件模块的启动速度,另外,由于设备管理器在启动时加载并初始化所有硬件,直至操作系统关闭时,才会卸载,XFS协议中的WFPOpen和WFPClose都成了纯软件动作,因此可以大大提升进出厂商模式的速度,提高了进出上层软件模块的切换速度,其中,“WFPOpen和WFPClose”是自助设备标准协议XFS\WOSA协议中“打开设备”和“关闭设备”的指令,XFS\WOSA协议是金融自助技术领域公知的软硬件标准接口方案,是业界的国际标准;并且,可以过滤掉上层软件模块产生的不当的指令或多余的指令,例如,自身销毁的操作指令,或者,上层软件模块在一次加钞过程中,可能会针对执行加钞操作的硬件设备产生多次的操作指令,设备管理器根据黑名单过滤掉该操作指令即可,从而提高自助终端的性能;进一步的,由于所述上层软件模块和所述设备管理器间能够进行信息的交互,因此,所述设备管理器可用于状态的互相通知,例如,当硬件设备的状态发生改变时,可同时通知所有相关的上层软件模块;进一步的,本申请公开的方案,加快了上层软件模块的卸载和切换速度,当上层软件模块在退出时,现有技术中需要对硬件设备的驱动程序进行卸载,但在本申请中,所述上层软件模块在退出时,设备管理器和各个硬件设备及其驱动程序仍在运行,不需要卸载,从而避免了由于某一个或某几个硬件设备卸载不成功,使上层软件模块无法重启的问题,提高了上层软件模块重启的成功率。
实施例五
本实施例公开了一种设备管理器,参见图4所示的结构示意图,本申请公开的设备管理器包括:第一指令产生模块11、第一判断模块12和第一传输模块13。
其中,所述第一指令产生模块11,用于在操作系统启动后,每隔采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
第一判断模块12,用于接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息;
第一传输模块13,用于在根据第一判断模块获知存储有有效的状态信息时,将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
进一步的,参见图5所示的结构示意图,所述设备管理器还包括:第二指令产生模块21和第二传输模块22,其中,
所述第二指令产生模块21,用于在根据判断模块获知未存储有效的状态信息时,产生第二状态获取指令,以使所述硬件设备在接收到所述第二状态获取指令后,将当前的状态信息传输至所述设备管理器;
所述第二传输模块22,用于接收所述硬件设备传输的所述当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
进一步的,所述设备管理器还包括:接收模块和第三指令产生模块,其中,
所述接收模块,用于接收所述上层软件模块退出时产生的卸载指令;
所述第三指令产生模块,用于产生卸载成功指令,并将所述卸载成功指令传输至所述上层软件模块,以使所述上层软件模块在接收到所述卸载成功指令后执行退出操作。
进一步的,所述设备管理器还包括:第二判断模块和操作模块,其中,所述第二判断模块,用于接收所述上层软件模块传输的操作指令,并判断所述操作指令的类型,所述操作指令的类型包括:待过滤指令和硬件操控指令;所述操作模块,用于根据所述操作指令,执行相应的操作。
其中,所述操作模块包括:过滤单元、指令传输单元和状态提取单元,所述过滤单元用于当所述第二判断模块判断出所述操作指令为待过滤指令时,过滤本次操作指令,并将产生的通知信息传输至所述上层软件模块;
所述指令传输单元用于当所述第二判断模块判断出所述操作指令为硬件操控指令时,将所述硬件操控指令传输至相应的硬件设备,以使所述硬件设备执行相应的操作;
所述状态提取单元用于当所述第二判断模块判断出所述操作指令为状态提取指令时,判断最新存储的所述状态信息是否有效,若有效,将最新存储的所述状态信息传输至所述上层软件模块,若无效,所述设备管理器获取所述硬件设备当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块。
进一步的,所述第二判断模块包括:配置文件接收单元和匹配单元,所述配置文件接收单元用于接收规则库配置文件,所述规则库配置文件中设置有黑名单,所述黑名单中设置有不允许所述上层软件模块执行的操作;所述匹配单元,用于在接收到所述操作指令后,将所述操作指令与所述黑名单中规定的操作相匹配,若所述操作指令对应的操作与黑名单上设置的操作相匹配,则说明所述操作指令为待过滤指令。
进一步的,本申请还公开了一种处理器,所述处理器的芯片上集成有上述所述的设备管理器。
实施例六
另外,参见图6所示的结构示意图,本申请公开的设备管理器具体由设备功能接口模块1、设备服务支撑模块2、设备服务配置模块3、设备管理服务模块4、设备功能实现模块5和设备通信公共模块6组成。该设备管理器与上层软件模块7相连接。
所述上层软件模块7包括自助终端的业务系统软件模块和测试工具软件模块等,所述业务系统软件模块提供了与用户进行交互的交互界面,所述测试工具软件模块用于测试自助终端的硬件设备以及整机硬件相互交互的功能,当然,所述上层软件模块还可以包括其他软件模块,本发明不做限定。
其中,所述设备功能接口模块1向所述上层软件模块提供各类部件操作功能的接口,是设备管理器用于与上层软件模块的通信接口;所述设备服务配置模块3用于实现对注册表、配置文件的操作,配置设备服务所需要的相关参数,例如,通过所述设备服务配置模块3能够设置采集周期的时间长度值,以及设置规则库配置文件,以便通过所述规则库配置文件确定哪些操作指令需要被过滤;所述设备服务支撑模块2用于为设备管理器提供需要的分配与释放内存,实现异步调用与异步调用的多线程多进程操作功能,提供时钟计时功能和超时功能,提供日志记录功能,提供设备内存状态维持功能,提供通信报文加解密功能,例如,当设备管理器每隔一个采集周期,存储硬件设备当前的状态信息时,所述设备服务支撑模块2为所述状态信息分配相应的内存,实现对所述设备管理器的存储,并且,其中的计时功能用于判断是否达到采集周期,超时功能用于判断设备管理器内存储的状态信息是否有效,如果所述设备管理器内,最新获取的状态信息距离上一次状态信息获取的时间未超时,则说明所述最新获取的状态信息有效;所述设备管理服务模块4用于调用设备服务支撑模块2和设备服务配置模块3提供的功能,实现对整机硬件设备功能调用的统一控制与管理,作为一个操作系统服务程序,当操作系统启动时,所述设备管理服务模块4启动,当所述操作系统退出时,所述设备管理服务模块4退出;所述设备功能实现模块5用于调用各个设备驱动模块8,为设备管理服务模块4提供各个硬件设备的各个功能函数,以实现对具体的硬件设备的操作功能,其中,所述设备驱动模块8为各个硬件设备的驱动程序;所述设备通信公共模块6用于通过串口通信、U接口等通信方式,实现与各个设备硬件模块9的通信,其中,所述各个设备硬件模块为自助终端的各个硬件设备,所述硬件设备包括读卡器、出钞机芯、加密键盘、村换机芯等。
当上层软件模块7启动时,需要获取各个硬件设备的状态信息,因此产生复位指令,并将所述复位指令发送至设备功能接口模块1;所述设备功能接口模块1接收到所述上层软件模块7传输的复位指令后,将所述复用指令传输至设备管理服务模块4;所述设备管理服务模块4对接收到的复位指令进行分析,并在设备管理器内存储的硬件设备的状态信息有效时,直接将有效的状态信息返回给设备功能接口模块1;所述设备功能接口模块1把硬件的所述状态信息返回给上层软件。在这个过程中,上层软件模块7要获知硬件设备的状态信息时,只需通过设备管理服务模块4就可以获知,而无须下发复位指令至实际的硬件设备,只有设备管理服务模块4在内存中无法获取到硬件设备的状态信息,或者硬件设备的状态信息更新已经超时,需要重新获取硬件设备的状态信息时,所述设备管理服务模块4才会把获取硬件设备状态信息的第二状态获取指令继续下发传递到具体的硬件设备,获取硬件设备当前的状态信息,因而上层软件模块7的启动时间大大缩短了。根据上述陈述可知,所述设备功能接口模块1为设备管理器内的通信接口,实现与上层软件模块的通信,相当于第一传输模块和第二传输模块,所述设备管理服务模块4相当于第五实施例中公开的第一判断模块和第二指令产生模块。
当上层软件模块7退出时,会产生卸载指令,以通知卸载各个硬件设备及各个硬件设备的驱动程序,并将该卸载指令传输至设备功能接口模块1;设备功能接口模块1接收到上层软件模块7的卸载指令,转交给设备管理服务模块4进行处理;设备管理服务模块4对接收到的指令进行分析,对于卸载指令,直接返回卸载硬件成功的卸载成功指令,并应答给设备功能接口模块1,不再执行该硬件设备及其驱动程序卸载的实际操作;设备功能接口模块1将所述卸载成功指令传输至所述上层软件模块7;所述上层软件模块7在接收到所述卸载成功指令后,获知某个设备卸载成功的结果,解除了对该硬件设备的控制,当所有硬件设备卸载完成,上层软件模块7成功退出。在整个过程中,并不需要对硬件设备及其驱动程序进行真正的卸载,同时也避免了由于其他进程使用某一硬件设备及其驱动程序导致该硬件设备卸载失败,从而上层软件模块7退出失败的情况。因而上层软件模块7的退出时间缩短了,成功率也提高了。根据上述陈述可知,所述设备功能接口模块1为设备管理器的接收模块,用于接收所述上层软件模块退出时产生的卸载指令;并且所述设备功能接口1和设备管理服务模块4共同执行第三指令产生模块的操作,所述设备管理服务模块4用于产生卸载成功指令,所述设备功能接口1将所述卸载成功指令传输至上层软件模块。
当上层软件模块7在执行业务流程过程中,需要调用某一硬件设备的功能时,会产生相应的操作指令,并将所述操作指令传输至设备管理器中的设备功能接口模块1;设备功能接口模块1接收到上层软件模块7对相应硬件设备的操作指令后,转交给设备管理服务模块4进行处理;所述设备管理服务模块4对接收的操作指令进行处理,根据操作指令的类型判断是否需要调用硬件设备操作,还是直接过滤本次操作指令,返回相应处理结果,还是直接返回硬件设备的状态信息,当需要调用硬件设备操作,即所述操作指令为硬件操控指令时,由设备服务支撑模块2分配相应内存空间,设置超时时间,启动一个新的线程负责执行本次操作,从设备服务配置模块3获取相应的配置信息,所述配置信息中,加载有待调用的硬件设备的名称,并调用设备功能实现模块5提供的该硬件设备相应的功能函数;所述设备功能实现模块5根据配置信息,查找相应的硬件设备的驱动程序,以及与本次操作相对应的接口函数;设备驱动模块8,为各个硬件设备的驱动程序组成的驱动库,在接收到所述接口函数时,将接口函数转换成一条或几条硬件调用指令,利用设备通信公共模块6的功能,下发硬件调用指令给设备硬件模块9,即相应的硬件设备;硬件设备接收到硬件指令,按照接收到的硬件指令的顺序,执行硬件指令对应的硬件操作,并把最后的硬件操作结果以及相关的硬件状态返回给设备通信公共模块6;所述设备通信公共模块6在接收到最后的硬件操作结果以及相关的硬件状态后,返回给设备驱动模块8,设备驱动模块8把硬件操作结果以及相关的硬件状态,返回给设备功能实现模块5;设备功能实现模块5把硬件操作结果以及相关的硬件状态,发送给设备管理服务模块4,设备管理服务模块4更新该硬件设备的状态信息,同时把所述硬件操作结果以及相关的硬件状态返回给设备功能接口模块1,至此设备管理服务模块启动的负责该次硬件操作调用的线程执行结束;所述设备功能接口模块1把硬件操作结果以及相关的硬件状态返回给上层软件,至此,本次上层软件调用硬件接口功能结束。根据上述陈述可知,当上层软件模块7启动,执行业务操作时,设备管理器中的设备功能接口模块1、设备管理服务模块4、设备服务支撑模块2、设备服务配置模块3、设备功能实现模块5和设备通信公共模块6共同执行操作,完成实施例五中公开的第二判断模块和操作模块所执行的操作。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (9)
1.一种自助终端控制硬件设备的方法,其特征在于,应用于设备管理器,所述自助终端控制硬件设备的方法包括:
在操作系统启动后,所述设备管理器每隔采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
所述设备管理器接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息;
当存储有有效的状态信息时,所述设备管理器将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作;
所述设备管理器接收所述上层软件模块退出时产生的卸载指令;
所述设备管理器产生卸载成功指令,并将所述卸载成功指令传输至所述上层软件模块,以使所述上层软件模块在接收到所述卸载成功指令后执行退出操作。
2.根据权利要求1所述的方法,其特征在于,所述自助终端控制硬件设备的方法还包括:
所述设备管理器在接收到所述上层软件模块传输的复位指令,且判断得知未存储有各硬件设备的有效的状态信息时,产生第二状态获取指令,以使所述硬件设备在接收到所述第二状态获取指令后,将当前的状态信息传输至所述设备管理器;
所述设备管理器接收所述硬件设备传输的所述当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
3.根据权利要求1或2所述的方法,其特征在于,所述自助终端控制硬件设备的方法还包括:
所述设备管理器接收所述上层软件模块传输的操作指令,并判断所述操作指令的类型,所述操作指令的类型包括:待过滤指令、硬件操控指令和状态提取指令;
所述设备管理器根据所述操作指令,执行相应的操作;
其中,当所述操作指令为待过滤指令时,所述设备管理器过滤本次操作指令,并将产生的通知信息传输至所述上层软件模块;
当所述操作指令为硬件操控指令时,所述设备管理器将所述硬件操控指令传输至相应的硬件设备,以使所述硬件设备执行相应的操作;
当所述操作指令为状态提取指令时,所述设备管理器判断最新存储的所述状态信息是否有效,若有效,将最新存储的所述状态信息传输至所述上层软件模块,若无效,所述设备管理器获取所述硬件设备当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块。
4.根据权利要求3所述的方法,其特征在于,所述判断所述操作指令的类型,包括:
所述设备管理器接收规则库配置文件,所述规则库配置文件中设置有黑名单,所述黑名单中设置有不允许所述上层软件模块执行的操作;
所述设备管理器在接收到所述操作指令后,将所述操作指令与所述黑名单中规定的操作相匹配,若所述操作指令对应的操作与黑名单上设置的操作相匹配,则说明所述操作指令为待过滤指令。
5.一种设备管理器,其特征在于,包括:
第一指令产生模块,用于在操作系统启动后,每隔采集周期,产生第一状态获取指令,并传输至硬件设备,以获取所述硬件设备的状态信息并存储;
第一判断模块,用于接收上层软件模块启动时产生的复位指令后,判断是否存储有各硬件设备的有效的状态信息,其中,若最新获取的状态信息距离上一次状态信息获取的时间在预定的时间段内,则所述最新获取的状态信息为所述有效的状态信息;
第一传输模块,用于在根据第一判断模块获知存储有有效的状态信息时,将所述有效的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作;
接收模块,用于接收所述上层软件模块退出时产生的卸载指令;
第三指令产生模块,用于产生卸载成功指令,并将所述卸载成功指令传输至所述上层软件模块,以使所述上层软件模块在接收到所述卸载成功指令后执行退出操作。
6.根据权利要求5所述的设备管理器,其特征在于,所述设备管理器还包括:
第二指令产生模块,用于在根据判断模块获知未存储有效的状态信息时,产生第二状态获取指令,以使所述硬件设备在接收到所述第二状态获取指令后,将当前的状态信息传输至所述设备管理器;
第二传输模块,用于接收所述硬件设备传输的所述当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块,以使所述上层软件模块在接收到所述状态信息后执行启动操作。
7.根据权利要求5或6所述的设备管理器,其特征在于,所述设备管理器还包括:
第二判断模块,用于接收所述上层软件模块传输的操作指令,并判断所述操作指令的类型,所述操作指令的类型包括:待过滤指令、硬件操控指令和状态提取指令;
操作模块,用于根据所述操作指令,执行相应的操作;
其中,所述操作模块包括:过滤单元、指令传输单元和状态提取单元,所述过滤单元用于当所述第二判断模块判断出所述操作指令为待过滤指令时,过滤本次操作指令,并将产生的通知信息传输至所述上层软件模块;
所述指令传输单元用于当所述第二判断模块判断出所述操作指令为硬件操控指令时,将所述硬件操控指令传输至相应的硬件设备,以使所述硬件设备执行相应的操作;
所述状态提取单元用于当所述第二判断模块判断出所述操作指令为状态提取指令时,判断最新存储的所述状态信息是否有效,若有效,将最新存储的所述状态信息传输至所述上层软件模块,若无效,所述设备管理器获取所述硬件设备当前的状态信息,并将所述当前的状态信息传输至所述上层软件模块。
8.根据权利要求7所述的设备管理器,其特征在于,所述第二判断模块包括:
配置文件接收单元,用于接收规则库配置文件,所述规则库配置文件中设置有黑名单,所述黑名单中设置有不允许所述上层软件模块执行的操作;
匹配单元,用于在接收到所述操作指令后,将所述操作指令与所述黑名单中规定的操作相匹配,若所述操作指令对应的操作与黑名单上设置的操作相匹配,则说明所述操作指令为待过滤指令。
9.一种处理器,其特征在于,用于实现如权利要求1所述的一种自助终端控制硬件设备的方法;所述处理器的芯片上集成有权利要求5至权利要求8任一项所述的设备管理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310321226.7A CN103345414B (zh) | 2013-07-26 | 2013-07-26 | 自助终端控制硬件设备的方法、设备管理器和处理器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310321226.7A CN103345414B (zh) | 2013-07-26 | 2013-07-26 | 自助终端控制硬件设备的方法、设备管理器和处理器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103345414A CN103345414A (zh) | 2013-10-09 |
CN103345414B true CN103345414B (zh) | 2016-08-24 |
Family
ID=49280212
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310321226.7A Active CN103345414B (zh) | 2013-07-26 | 2013-07-26 | 自助终端控制硬件设备的方法、设备管理器和处理器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103345414B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6742689B2 (ja) | 2015-01-09 | 2020-08-19 | 株式会社ジェイテクト | 動作プログラム編集装置及びプログラム |
CN105138345B (zh) * | 2015-07-10 | 2018-06-29 | 上海斐讯数据通信技术有限公司 | 一种基于移动终端的多系统启动系统及方法 |
CN106815950B (zh) * | 2017-01-11 | 2020-02-18 | 浪潮金融信息技术有限公司 | 一种基于单模块的智慧柜员机驱动方法及其系统 |
CN108920098A (zh) * | 2018-06-20 | 2018-11-30 | 郑州云海信息技术有限公司 | 一种存储管理系统收集信息的方法、系统及设备 |
CN109102659A (zh) * | 2018-07-24 | 2018-12-28 | 苏州浪潮智能软件有限公司 | 一种提升银行自助终端安全性能的方法 |
CN109408128B (zh) * | 2018-11-10 | 2022-10-11 | 歌尔光学科技有限公司 | 分体式ar设备通信方法及ar设备 |
CN110955465A (zh) * | 2019-12-16 | 2020-04-03 | 宁波奥克斯电气股份有限公司 | 一种设备状态获取方法 |
CN112800883A (zh) * | 2021-01-15 | 2021-05-14 | 广州穗能通能源科技有限责任公司 | 基于边缘盒子的电力行为监控方法、装置和边缘盒子 |
CN112783070B (zh) * | 2021-01-20 | 2024-05-07 | 深圳市雷能混合集成电路有限公司 | 一种单片机上电处理方法及装置 |
CN116436541A (zh) * | 2023-06-12 | 2023-07-14 | 西安弘捷电子技术有限公司 | 多通道tr组件测试仪器管理方法及系统 |
CN116820782A (zh) * | 2023-08-28 | 2023-09-29 | 恒银金融科技股份有限公司 | 硬件调用系统、方法和系统搭建方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547121A (zh) * | 2003-12-10 | 2004-11-17 | 中国科学院计算技术研究所 | 一种大规模机群系统的监控方法 |
CN101488879A (zh) * | 2008-01-15 | 2009-07-22 | 上海贝尔阿尔卡特股份有限公司 | 以太网生成树协议的网络设备中的故障保护方法及装置 |
CN101789145A (zh) * | 2010-01-14 | 2010-07-28 | 中国建设银行股份有限公司 | 自助渠道业务系统的健康状态的监控方法及系统 |
CN102394785A (zh) * | 2011-12-11 | 2012-03-28 | 天津市电力公司 | 基于统一平台的营业终端智能运维系统 |
CN102970181A (zh) * | 2012-11-05 | 2013-03-13 | 广州广电运通金融电子股份有限公司 | 自助终端状态监控系统及监控方法 |
-
2013
- 2013-07-26 CN CN201310321226.7A patent/CN103345414B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1547121A (zh) * | 2003-12-10 | 2004-11-17 | 中国科学院计算技术研究所 | 一种大规模机群系统的监控方法 |
CN101488879A (zh) * | 2008-01-15 | 2009-07-22 | 上海贝尔阿尔卡特股份有限公司 | 以太网生成树协议的网络设备中的故障保护方法及装置 |
CN101789145A (zh) * | 2010-01-14 | 2010-07-28 | 中国建设银行股份有限公司 | 自助渠道业务系统的健康状态的监控方法及系统 |
CN102394785A (zh) * | 2011-12-11 | 2012-03-28 | 天津市电力公司 | 基于统一平台的营业终端智能运维系统 |
CN102970181A (zh) * | 2012-11-05 | 2013-03-13 | 广州广电运通金融电子股份有限公司 | 自助终端状态监控系统及监控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103345414A (zh) | 2013-10-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103345414B (zh) | 自助终端控制硬件设备的方法、设备管理器和处理器 | |
CN109510742B (zh) | 一种服务器网卡远程测试方法、装置、终端及存储介质 | |
CN108604200A (zh) | 处理终端设备的故障的方法和终端设备 | |
CN102609349A (zh) | 服务器故障截屏方法及系统 | |
CN110109371A (zh) | 智能家居设备管理系统和设备管理方法 | |
CN105117272B (zh) | 一种操作系统管理器、虚拟机和操作系统间切换方法 | |
CN108319480A (zh) | 蓝牙服务启动方法、装置及电子设备 | |
CN109408126A (zh) | 一种多路服务器的开机方法、bmc及多路服务器 | |
CN110098965A (zh) | 一种服务器管理系统及方法 | |
CN109375956A (zh) | 一种重启操作系统的方法、逻辑设备以及控制设备 | |
CN108376110A (zh) | 一种自动检测方法、系统及终端设备 | |
CN103890713B (zh) | 用于管理处理系统内的寄存器信息的装置及方法 | |
EP3876101B1 (en) | Abnormality processing method, terminal device and storage medium | |
CN109815070A (zh) | 一种host-box服务器稳定性测试方法、装置、终端及存储介质 | |
CN107885542A (zh) | 一体机启停控制方法、电子设备、存储介质、控制系统 | |
CN102880479B (zh) | 一种远程修改bios属性参数的方法及装置 | |
CN110459260A (zh) | 自动测试切换装置、方法和系统 | |
US20120294188A1 (en) | Wireless Data Card, Method and System for Communicating between Wireless Data Card and Computer Side | |
CN105072185A (zh) | 一种tr069远程监控方法、系统和通讯设备 | |
CN114401156B (zh) | Pse设备的供电控制方法、装置、pse设备及供电系统 | |
CN112152736B (zh) | 客户前置设备、客户前置设备的故障检测方法以及存储介质 | |
CN107995319A (zh) | 虚拟设备配置方法及网络设备 | |
CN106972963A (zh) | 业务模块的启用控制方法、崩溃重启后的启用控制方法 | |
CN111147400B (zh) | 一种命令行配置同步的方法、装置及电子设备 | |
CN111143085B (zh) | 一种实现多应用并发调用硬件的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |