交易报文生成方法及装置、交易设备部件监控方法和***
技术领域
本发明涉及的技术领域是交易设备的状态监控技术领域,尤其涉及一种交易设备的交易报文生成方法以及基于该方法的交易设备部件状态监控***。
背景技术
近年来我国ATM市场迅猛发展,截至2014年底,我国自助交易设备(ATM)全国保有量为61.49万台。绝大部分自助交易设备采取离行式服务,因此对自助交易设备工作状态的进行实时监控是十分必要的,对自助交易设备工作状态的进行实时监控使管理者能够及时发现问题并处理,有利于提高自助交易设备的安全性、可靠性和维护效率。
现有的对自助交易设备的监控技术,一般采用在自助交易设备上安装一个软件,该软件每隔一定时间获取自助交易设备各部件状态,然后发送到监控服务器,最后由监控服务器进行分析和处理来得出自助交易设备状态,监控服务器接收的状态报文是其判定自助设备状态的唯一根据。这种监控方式存在以下几个特点:1)为保证自助交易设备安全性,不允许监控服务器主动提取自助交易设备的报文,而只能被动接收报文;2)为了杜绝状态监控对交易的影响,在交易期间不单独向监控服务器发送状态报文。因此,在自助交易设备交易期间,监控服务器对自助交易设备的部件状态一无所知,如果自助交易设备长时间处于繁忙的交易状态,那么监控服务器就会长时间接收不到监控报文,从而将自助交易设备误判断为故障或者离线。
对于上述技术问题,现有技术提供了根据交易报文来更新自助交易设备状态的自助交易设备状态处理方法,该方法在监控服务器中增加了交易报文分析模块:交易报文分析模块用于分析交易报文,从交易报文中分析出该交易报文对应的交易类型以及该交易类型对应的该自助终端相应部件的状态信息,得出该自助终端相应部件的最新状态。该方法虽然能够提高自助交易设备状态更新的频率,在一定程度上可以提高状态监控的准确性,但仍存在如下缺陷:1)通过交易报文仅仅能够推算出与交易相关的部件的状态,对于与交易报文对应的交易类型无关的部件的状态,如无法从查询交易的交易报文内容获取到与查询交易无关的出钞机芯的状态;2)如果交易结果失败,则无法从交易报文中获取所有参与交易的部件的状态,例如:如果自助交易设备的网络不通且流水打印机均存在故障,当是执行查询业务所得到的交易结果,只可能发现其中之一存在异常,要么交易结果是1可以获知网路故障、要么交易结果是2可以获知流水打印机少纸。因为业务执行过程中只要检测到某一部件异常就会终止该业务的执行而返回一个提示交易不成功的结果码,所以不可能根据交易结果码知道两个或两个以上的部件处于非正常状态。
发明内容
本发明的目的在于提供一种在尽可能降低对交易过程的影响的条件下能够充分反映交易设备的各个部件的状态的交易报文生成方法以及基于该方法的交易设备部件状态监控方法和***,旨在解决现有技术中在不影响交易的条件下自助交易设备无法及时将各个部件的状态反映至监控服务器,导致监控服务器无法及时了解自助交易设备各个部件的状态的问题。
本发明是这样实现的:
提供一种交易设备的交易报文生成方法,交易报文包括当次交易的交易类型和交易结果,判断在本交易设备中是否存在不能够根据此交易类型和交易结果来确定状态的部件,如果本交易设备中存在不能够根据此交易类型和交易结果来确定状态的部件,则直接读取这些不能够根据此交易类型和交易结果来确定状态的部件的状态信息,并将这些部件的状态信息加入到所述交易报文中。
其中,查询交易类型、交易结果和部件状态序列的映射矩阵,获取与当次交易的交易类型和交易结果对应的部件状态序列,从该部件状态序列中读取参与本次交易的部件的状态,从而判断是否存在不能够根据此交易类型和交易结果来确定状态的部件,其中,所述部件状态序列记录参与交易的部件的状态。
其中,对于不能够根据此交易类型和交易结果来确定状态的部件,如果该部件参与当次交易,则通过访问交易设备内存获取其状态,如果该部件不参与当次交易,则通过访问该部件的硬件来获知其状态。
其中,对于不能够根据交易类型和交易结果来确定状态的部件,判断其是否处于正常状态,如果该部件处于非正常状态,则将该部件的信息以及其状态信息添加至交易报文中。
提供一种交易设备的交易报文生成装置,交易报文包括当次交易的交易类型和交易结果,包括:
状态查询装置:判断在本交易设备中是否存在不能够根据此交易类型和交易结果来确定状态的部件;
部件状态获取装置:如果存在不能够根据此交易类型和交易结果来确定状态的部件,则直接读取这些部件的状态信息;
部件信息添加装置:将部件状态获取装置获取的部件的状态信息加入到所述交易报文中。
其中,所述状态查询装置查询交易类型、交易结果和部件状态序列的映射矩阵,获取与当次交易的交易类型和交易结果对应的部件状态序列,从该部件状态序列中读取参与本次交易的部件的状态,从而判断是否存在不能够根据此交易类型和交易结果来确定状态的部件,其中,所述部件状态序列记录参与交易的部件的状态。
其中,对于不能够根据此交易类型和交易结果来确定状态的部件,如果该部件参与当次交易,所述部件状态获取装置则通过访问交易设备内存获取其状态,如果该部件不参与当次交易,所述部件状态获取装置则通过访问该部件的硬件来获知其状态。
其中,对于不能够根据交易类型和交易结果来确定状态的部件,所述部件信息添加装置判断其是否处于正常状态,如果该部件处于非正常状态,则将该部件的信息以及其状态信息添加至交易报文中
还提供一种对交易设备部件状态监控方法,交易设备根据上述任意一种交易设备的交易报文生成方法生成交易报文,并将所述交易报文发送至监控服务器,所述监控服务器依据所述交易报文判断交易设备各个部件的状态。
还提供一种对交易设备部件状态监控***,包括交易设备和对交易设备进行监控的监控服务器,所述交易设备根据上述任意一种交易设备的交易报文生成方法生成交易报文,并将所述交易报文发送至所述监控服务器,所述监控服务器依据所述交易报文判断交易设备各个部件的状态。与现有技术相比,本发明的交易设备在发送交易报文时将那些不能够根据此交易类型和交易结果来确定状态的部件的状态信息加入到交易报文中,因此监控服务器通过对交易类型和交易结果获得交易能够确定一部分部件的状态,通过附加的部件状态信息能够确定其他部件的状态,从而确定交易设备中各个部件的状态。此外,本发明在添加部件状态信息前先判断哪些部件能够利用交易类型和交易结果来推断出其状态的,对于能够利用交易类型和交易结果来推断出其状态的部件(这些部件是当次交易的核心部件,如获取其状态,会影响交易进程)则不再尝试获取其状态,对于未参与当次交易的部件或者在交易中出现故障可能的部件,由于这些部件对当次交易的几乎没有影响),因此直接获取其状态也不会影响交易,从而本发明能够最大限度的降低了对交易进程的影响。
附图说明
图1是本发明交易设备部件状态监控***的结构示意图。
图2是本发明交易设备的交易报文生成方法的实施例的流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供了交易设备部件状态监控***,该***包括交易设备和对交易设备进行监控的监控服务器。
本发明中,交易设备在空闲时段按照现有技术发送监控报文给监控服务器,监控服务器根据监控报文来获知交易设备的各个部件的状态,实现监控。
如图1所示,交易设备在交易时,则发送交易报文给监控服务器,交易报文除了包括现有技术中包含有的当次交易的交易类型和交易结果码外,还包括有附加信息,附加信息用于记录无法被交易类型和交易结果确定状态的部件的状态信息。具体的,如图2所示,交易报文采用以下方法生成:
A.判断哪些部件的状态能够根据当次交易的交易类型和交易结果码推断出来,实际运用中判断方法是利用交易类型和交易结果码查询交易类型、交易结果和部件状态序列的映射矩阵,即从映射矩阵中获取与当次交易的交易类型和交易结果对应的部件状态序列,从该部件状态序列中读取参与本次交易的部件的状态。
如上表所显示的,在判断过程中,通过交易类型即可判断出参与当次交易有哪些部件,例如查询业务类型,完成该业务需要参与的部件有:读卡器IDC、加密键盘EPP、流水打印机JPTR,其他部件则不需要参与,在确定了参与当次交易的部件后,如果交易结果码显示交易成功,则意味着参与当次交易的所有部件均处于正常状态,例如交易类型为查询业务类型,交易结果显示交易成功,则意味着读卡器IDC、加密键盘EPP、流水打印机JPTR这些部件均处于正常状态,如果交易结果码显示交易失败,则通过交易结果和交易类型并不能够完全的推测出所有参与当次交易的部件的状态信息,因为业务执行过程中只要检测到某一部件异常就会终止该业务的执行而返回交易结果码,所以不可能根据交易结果码知道不少于两个部件的非正常状态。
当然,如何利用交易类型和交易结果推测出交易设备的部件的状态信息,可参考现有技术在监控服务器中交易报文分析模块从交易报文中分析出该交易报文对应的交易类型以及该交易类型对应的该交易设备相应部件的状态信息的方法,以获得更加详细的解释,而且不局限于上述方法。
该步骤中,如果交易设备的所有部件的状态均能够被交易类型和交易结果码推断出来,则跳转至步骤D,否则,判断交易结果是否成功,如果是,则调整至步骤C,如果否,则调整至步骤B。
B.如果步骤A中存在参与了当次交易但是因为交易结果失败而无法确定状态的部件,则从内存中读取这些部件的信息以确定其状态,如果某一部件处于非正常状态,则将该部件的信息加入到附加信息中,然后跳转至步骤C。
C.发送信息指令给未参与当次交易的部件,以获取未参与当次交易部件的状态,如果某一部件处于非正常状态,则将该部件的信息加入到附加信息中并跳转至步骤D。
上述步骤B和步骤C实际上都是为了确定在步骤A中未确定状态的部件的状态,但是考虑到,在步骤A中不能确定状态的部件有两类,一类是参与了当次交易,但是由于交易结果失败,交易进程未运行到该部件,因此无法确定其状态,对于此类部件,由于其还是参与了当次交易的,如果此时直接发送指令访问该部件,可能会对交易进程/记录造成干扰,因此对此类部件在步骤B中采取读取内存记录的方法来确定其状态,以尽可能的减少对交易进程/记录造成干扰;另一类是未参与当次交易,由于是与交易无关的部件,自然也不用考虑其会对交易造成任何影响,因此采用步骤C的方法,即直接发送指令给该部件,通过访问硬件的方式通过访问该部件的硬件来获知其状态信息。
D.将当次交易的交易类型、交易结果和步骤B、C产生的附加信息一并打包成交易报文,将交易报文发送给监控服务器。当然,如果是由步骤A直接跳转过来的,则附加信息为空。
监控服务器在接收到交易设备发送的交易报文后,一方面执行按照现有技术通过交易类型和交易结果推测出部分部件的状态,此外,监控服务器还会对交易报文的附件信息进行解析,从附加信息中获知那些部件是处于非正常状态,而对于那些即无法通过交易类型和交易结果码确定状态,又未被附加信息记录为非正常状态的部件,则默认为正常部件。通过上述分析后,即可获得交易设备所有部件的状态信息。
与现有技术相比,本技术的主要是在交易报文中增加了附加信息,附加信息包含了无法通过交易类型和交易确定状态的部件的状态信息,因此监控服务器通过对交易类型和交易结果获取交易能确定一部分部件的状态,通过附加信息能确定余下其他所有部件的状态,从而确定所有交易设备所有部件的状态。重要的是,与传统交易报文的生成方式不同的是,本发明在生成附加信息前先通过与判断步骤哪些部件能够利用交易类型和交易结果来推断出其状态的,对于能够利用交易类型和交易结果来推断出其状态的部件(这些部件是当次交易的核心部件,如获取其状态,会影响交易进程)则不再尝试获取其状态,直接获取其状态的部件都是未参与当次交易的部件或者在交易中出现故障可能的部件(这些部件对当次交易的影响微乎其微),从而最大限度的降低了对交易进程的影响。
需要说明的是,本实施例的附加信息仅仅记录那些即无法被交易类型和交易结果确定状态,又处于非正常状态的部件,并且监控服务器在解析附加信息是对那些即无法通过交易类型和交易结果确定状态,又未被附加信息记录为非正常状态的部件默认为正常部件。这样做的目的是为了减少附加信息的数据量,减少对网络资源的占用。当然在其他实施例中,根据需要,附加信息也可以将所有无法通过交易类型和交易结果码确定状态的状态信息和部件信息一并加入到附件信息中并打包发送给监控服务器。
实施例2
本发明交易设备部件状态监控***的具体实施方式之二,本实施例的主要技术方案与实施例1相同,在本实施例中未解释的特征,采用实施例1中的解释,在此不再进行赘述。本实施例与实施例1的主要区别在于:步骤B中,如果步骤A中存在参与了当次交易但是因为交易结果失败而无法确定状态的部件,则从发送信息指令给这些部件以获取其硬件信息。虽然的,这些部件参与了当次交易,但是由于状态未定,基本可说明这些部件在交易过程中并未被运行到,因此技术直接获取其硬件信息,对交易造成的影响也是微乎其微。与实施例1相比,本实施例对交易造成的影响可能会有些微的上升,但是却能够提高对参与了当次交易但是因为交易结果失败而无法确定状态的部件的判断的准确性。在提高状态判断的准确性与降低对交易存在一个取舍问题,本领域技术人员可以根据实际需要选择实施例1或者实施例2加以实施。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。