本发明涉及数据交换技术领域,更具体地说,特别涉及一种银行业务网络数据交换方法及其系统。
背景技术:
为了实现银行线上线下源终端和第三方服务端互联互通业务,其一:通常需要针对不同设备、不同平台而开发专门的程序来实现,同一设备为实现接入不同平台通常做法是在原有基础上再次实施二次开发,同理,同一平台为接入不同设备通常做法为同一地区相同批次设备定制接口及部署服务;
其二:不同厂家的设备、平台因为系统、版本不同,而出现银行排队业务网络数据交换效率低下甚至没法交换;
其三:因不同厂家的设备、平台因为系统升级或变更而出现兼容问题;
其四:现有技术中为了获取银行业务结果大多需要2-4次甚至更多的数据交换方能够得到最后的结果,数据交换量大;
所以急需发明一种银行业务网络数据交换的结构系统,解决因不同厂家设备、平台互联互通的问题,降低数据交换的总量,从而极大减少了人力和物力的浪费,大大提高银行业务的客户体验及设备及平台的通用性。
技术实现要素:
本发明的目的在于提供一种用于实现不同的设备提供商、平台提供商数据互联互通,有效减少人力和物力的浪费,提高银行排队业务的客户体验及设备及平台的通用性的银行业务网络数据交换方法,同时本发明还提供了实现该方法的系统。
本发明的具体的技术方案为:
一种银行业务网络数据交换方法,该方法采用了源终端、第三方服务端,在所述的源终端、第三方服务端之间设有中间件服务端,该中间件服务端用于实现源终端、第三方服务端之间的数据交互;所述的方法包括步骤如下:
S1:源终端按照一第一数据交换功能指令组包得到第一数据包,并发送给中间件服务端;
S2:中间件服务端接收第一数据包,对第一数据包依次进行解释、容错、分类处理后,再按照第一数据交换功能指令从数据池中组包得到第二数据包,并将第二数据包发送给源终端,或返回请求失败的信息给源终端;
S3:第三方服务端按照一第二数据交换功能指令组包得到第三数据包,并发送给中间件服务端;
S4:中间件服务端接收第三数据包,对第三数据包依次进行解释、容错、分类处理后,按照第二数据交换功能指令从数据池中组包得到第四数据包,并将第四数据包发送给第三方服务端,或返回请求失败的信息给第三方服务端;
其中,第二数据交换功能指令是根据第一数据交换功能指令按照预设要求进行分拆重组所形成的指令集。
所述第一数据交换功能指令是包含关键字、类别字、功能字、识别字、状态字、基础信息、数据包的基础指令。
在所述的步骤S2中,对第一数据包依次通过协议解释步骤S21进行解释,通过数据解释步骤S22进行解释,通过容错处理步骤S23进行容错处理,通过数据分类步骤S24进行数据分类,通过数据组包步骤S25进行数据组包,具体步骤如下:
S21:协议解释,对第一数据包的通信协议进行解释;
S22:数据解释,对经步骤S21处理后的第一数据包中的包头和包体中的数据进行解释,解释次序是首先对包头进行解释并且读取协议默认关键字,如果符合协议条件先对包头的字段进行解释,再对包体进行解释,如果不符合协议条件,将回复报错字。
S23:容错处理:对步骤S22中解释后的数据进行容错处理;
S24:数据分类:按照第一数据包的包头中所包含的分类号、功能号对步骤S23处理后的数据进行分类;
S25:数据组包:按照第一数据交换功能指令完成组包,得到第二数据包,并将第二数据包发送给源终端。
在所述的步骤S4中,对第三数据包依次通过协议解释步骤S41进行解释,通过数据解释步骤S42进行解释,通过容错处理步骤S43进行容错处理,通过数据分类步骤S44进行数据分类,通过数据组包步骤S45进行数据组包,具体步骤如下:
S41:协议解释,对第三数据包的通信协议进行解释;
S42:数据解释,对经步骤S41处理后第三数据包中的包头和包体中的数据进行解释;
S43:容错处理:对步骤S42中解释有误字段进行容错处理;
S44:数据分类:按照第三数据包的包头中所包含的分类号、功能号对步骤S43处理后的数据进行分类;
S45:数据组包:按照第二数据交换功能指令完成组包,得到第四数据包,并将第四数据包发送给第三方服务端。
在步骤S21与步骤S22之间还包括认证步骤S211:根据第一数据包判断对应的源终端是否是认证过的源终端,若是,则进行步骤S22,若否,对该源终端进行认证然后再进行步骤S22;
在步骤S41和S42之间还包括认证步骤S441:根据第三数据包判断对应的第三方服务端是否是认证过的第三方服务端,若是,则进行步骤S42,若否,对该第三方服务端先进行认证然后再进行步骤S42;
以及,在所述的步骤S2中,还包括将第二数据包存储在数据池中;在所述的步骤S4中,还包括将第四数据包存储在数据池中。
所述步骤S1中的第一数据交换功能指令为终端认证请求、数据格式,数据交换、容错处理指令中的任一项;
所述步骤S3中的第二数据交换功能指令集为第三方服务端认证请求、数据格式,数据交换、容错处理指令中的任一项。
所述的第一数据包的包头包括起始符、类别号、功能号、银行、国家、省、市、区、网点、地址、电话、营业时间、设备号、厂家联系方式、流水号;包体包括业务类,业务类包括业务名称、业务类型、等候人数、最后的业务号。
在步骤S1中,若源终端发送第一数据包不成功,则在预定的时间内再次发送第一数据包;
在步骤S2中,源终端根据第二数据包的包头的起始符、设备号、流水号判断第二数据包是否正确;若正确则判断该第二数据包为正确的数据包,若不正确,则丢弃该数据包;更为具体来说,若不正确,则丢弃该数据包并返回报错字。需要说明的是,在丢弃该数据包的同时,重复S1和S2,源终端重新组包得到新的第一数据包并发送给中间件服务器,中间件服务器重新组包得到新的第二数据包并发给源终端,源终端再次根据该第二数据包的包头的起始符、设备号、流水号判断该第二数据包是否正确。
在S3中,若第三方服务端发送第三数据包不成功,则在预定的时间内再次发送第三数据包;
在S4中,第三方服务端根据第四数据包的包头的起始符、类别号、功能号、设备号判断第四数据包是否正确。若正确则判断该第四数据包为正确的数据包,若不正确,则丢弃该数据包并返回报错字。需要说明的是,在丢弃该数据包的同时,重复S3和S4,第三方服务端重新组包得到新的第三数据包并发送给中间件服务器,中间件服务器重新组包得到新的第四数据包并发给第三方服务端,第三方服务端再次根据该第四数据包的包头的起始符、类别号、功能号、设备号判断该第四数据包是否正确。
一种实现所述的银行业务网络数据交换方法的银行业务网络数据交换系统,包括源终端与第三方服务端,该系统还包括中间件服务端,其中,
源终端,用于按照第一数据交换功能指令组包得到第一数据包,并发送给中间件服务端;
第三方服务端,用于按照第二数据交换功能指令组包得到第三数据包,并发送给中间件服务端;
中间件服务端,用于接收并解释第一数据包,对第一数据包依次进行解释、容错、分类处理后,按照第一数据交换功能指令从数据池中组包得到第二数据包,并将第二数据包发送给源终端,或返回请求失败的信息给源终端;且用于接收并解释第三数据包,对第三数据包依次进行解释、容错、分类处理后,按照第二数据交换功能指令从数据池中组包得到第四数据包,并将第四数据包发送给第三方服务端,或返回请求失败的信息给第三方服务端;
所述中间件服务端分别与所述源终端与第三方服务端连接。
所述的中间件服务端包括:
管理配置模块,用于后台界面的管理及参数配置;
认证模块,用于对源终端和第三方服务端进行认证、授权;
监控模块,用于实时监控源终端、第三方服务端和中间件服务端的运行状态,提供预警通知功能;
日志记录模块,用于记录系统运行中的日志记录;
协议解释模块,用于对第一数据包、第三数据包的通信协议进行解释;
数据解释模块,用于对第一数据包、第三数据包的包头和包体中的数据进行解释;
容错处理模块,用于对数据解释模块得到的数据中进行容错处理;
数据分类模块,用于按照第一数据包、第三数据包的包头所包含的分类号、功能号对经过容错处理模块处理后的数据进行分类;
数据组包模块,用于按照第一数据交换功能指令完成组包,得到第二数据包,并将第二数据包发送到源终端,以及按照第二数据交换功能指令完成组包,得到第四数据包,并将第四数据包发送到第三方服务端;
数据池,用于存储第二数据包和第四数据包;
所述数据池、交换模块、认证模块、监控模块、协议解释模块、数据解释模块、容错处理模块、数据分类模块、数据组包模块均分别与日志记录模块、管理配置模块连接;
源终端和第三方服务端分别与中间件服务端的协议解释模块连接。
本发明的有益效果是:
采用本发明的方法和系统,实现银行排队等业务不同的设备提供商、平台提供商数据互联互通,极大减少了人力和物力的浪费,大大提高银行排队等业务的客户体验及设备及平台的通用性。
附图说明
图1示出了本发明实施例1和2的流程方框图;
图2示出了本发明实施例2的步骤S2的流程方框图;
图3示出了本发明实施例2的步骤S4的流程方框图;
图4示出了本发明实施例3的结构方框图。
具体实施方式
下面结合具体实施方式,对本发明的技术方案作进一步的详细说明,但不构成对本发明的任何限制。
实施例1:
如图1所示,一种银行业务网络数据交换方法,该方法采用了源终端、第三方服务端;
在所述的源终端、第三方服务端之间设有中间件服务端,该中间件服务端用于实现源终端、第三方服务端之间的数据交互;
所述的方法包括步骤如下:
S1:源终端按照一第一数据交换功能指令组包得到第一数据包,并发送给中间件服务端;
S2:中间件服务端接收第一数据包,对第一数据包依次进行解释、容错、分类处理后,再按照第一数据交换功能指令从数据池中组包得到第二数据包,并将第二数据包发送给源终端,或返回请求失败的信息给源终端;
S3:第三方服务端按照一第二数据交换功能指令组包得到第三数据包,并发送给中间件服务端;
S4:中间件服务端接收第三数据包,对第三数据包依次进行解释、容错、分类处理后,按照第二数据交换功能指令从数据池中组包得到第四数据包,并将第四数据包发送给第三方服务端,或返回请求失败的信息给第三方服务端;
具体来说,数据池存储有大量的网络数据交换信息,包括源终端的排队请求的业务类型、业务名称、业务号等等,同时数据池也存储着第三方服务端的网络数据交换信息,第二数据包和第四数据包的组包可根据数据池中存储的数据生成相应的数据包。
其中,第二数据交换功能指令是根据第一数据交换功能指令按照预设要求进行分拆重组所形成的指令集。
具体来说,预设要求指的是即第一数据指令通过分拆重组可以生成多种第二数据指令,作用是提高连接第三方服务端的灵活性、提高数据交换率及速度。例如:认证第三方服务端功能指令使用了第一数据交换功能指令中的“起始符”、“网点”、“设备号”字段实现认证功能。
第一数据包和第二数据包格式和内容可以一样。第三数据包和第四数据包格式和内容可以一样也可以不一样,第一数据包字段可函括第三、四数据包。第一数据包和第三、四数据包格式和内容可以一样也可以不一样,第一数据包字段可函括第三、四数据包。
通过本实施例的方法,可以有效的实现不同设备和平台之间的数据互通,具体来说,中间件服务端接收第一数据包后根据包头的通信协议进行解释,然后进行容错和分类处理后按照第三方服务端所指定的通信协议重新组包,达到实现银行排队等业务不同的设备提供商、平台提供商数据互联互通的能力,极大减少了人力和物力的浪费,大大提高银行排队等业务的客户体验及设备及平台的通用性。
实施例2
如图1至图3所示,一种银行业务网络数据交换方法,该方法采用了源终端、第三方服务端;
在所述的源终端、第三方服务端之间设有中间件服务端,该中间件服务端用于实现源终端、第三方服务端之间的数据交互;
所述的方法包括步骤如下:
S1:源终端按照一第一数据交换功能指令组包得到第一数据包,并发送给中间件服务端;
若源终端发送第一数据包不成功,如在预定的时间如T=2s内再次发送第一数据包;
其中,所述第一数据交换功能指令是包含关键字、类别字、功能字、识别字、状态字、基础信息、数据包的基础指令。所述的第一数据包的包头包括起始符、类别号、功能号、银行、国家、省、市、区、网点、地址、电话、营业时间、设备号、厂家联系方式、流水号;包体包括业务类,业务类包括业务名称、业务类型、等候人数、最后的业务号。
下表1给出了第一数据包的具体的例子;
表1
S2:中间件服务端接收第一数据包,对第一数据包依次进行解释、容错、分类处理后,再按照第一数据交换功能指令从数据池中组包得到第二数据包,并将第二数据包发送给源终端,或返回请求失败的信息给源终端;
第二数据包组包是否正确的具体判断标准为:源终端根据第二数据包的包头的起始符、设备号、流水号判断第二数据包是否正确;一般来说如果源终端的起始符为C2S,流水号为该源终端生成,流水号与第一数据包的流水号相同。
下表2给出了第二数据包的具体的例子;
在所述的步骤S2中,对第一数据包依次通过协议解释步骤S21进行解释,通过数据解释步骤S22进行解释,通过容错处理步骤S23进行容错处理,通过数据分类步骤S24进行数据分类,通过数据组包步骤S25进行数据组包,具体步骤如下:
S21:协议解释,对第一数据包的通信协议进行解释;
S22:数据解释,对经S21处理后的第一数据包中的包头和包体中的数据进行解释,解释次序是首先对包头进行解释并且读取协议默认关键字,如果符合协议条件再对包头其字段进行解释,再后对包体进行解释;如果不符合协议条件,将回复报错字。
S23:容错处理:对步骤S22中解释后的数据进行容错处理;
S24:数据分类:按照第一数据包的包头中所包含的分类号、功能号对S23处理后的数据进行分类;
S25:数据组包:按照第一数据交换功能指令完成组包,得到第二数据包,并将第二数据包发送给源终端。同时,第二数据包还存储在数据池中。
优选地,在步骤S21与步骤S22之间还包括认证步骤S211:根据第一数据包判断对应的源终端是否是认证过的源终端,若是,则进行步骤S22,若否,对该源终端进行认证然后进行步骤S22;
S3:第三方服务端按照一第二数据交换功能指令组包得到第三数据包,并发送给中间件服务端;若第三方服务端发送第三数据包不成功,则在预定的时间内再次发送第三数据包;
S4:中间件服务端接收第三数据包,对第三数据包依次进行解释、容错、分类处理后,按照第二数据交换功能指令从数据池中组包得到第四数据包,并将第四数据发送给第三方服务端,或返回请求失败的信息给第三方服务端;第三方服务端根据第四数据包的包头的起始符、类别号、功能号、设备号判断第四数据包是否正确。具体来说,第四数据包的起始符为S2C,流水号与第三数据包的流水号相同。
在所述的步骤S4中,对第三数据包依次通过协议解释步骤S41进行解释,通过数据解释步骤S42进行解释,通过容错处理步骤S43进行容错处理,通过数据分类步骤S44进行数据分类,通过数据组包步骤S45进行数据组包,具体步骤如下:
S41:协议解释,对第三数据包的通信协议进行解释;
S42:数据解释,对经S41处理后第三数据包中的包头和包体中的数据进行解释;
S43:容错处理:对S42中解释有误字段进行容错处理;
S44:数据分类:按照第三数据包的包头中所包含的分类号、功能号对S43处理后的数据进行分类;
S45:数据组包:按照第二数据交换功能指令完成组包,得到第四数据包,并将第四数据包发送给第三方服务端。同时,第四数据包还存储在数据池中。
优选地,步骤S41和S42之间还包括认证步骤S441:根据第三数据包判断对应的第三方服务端是否是认证过的第三方服务端,若是,则进行步骤S42,若否,对该第三方服务端进行认证然后进行S42;
其中,第一数据交换功能指令为终端认证请求、数据格式,数据交换、容错处理指令中的任一项;第二数据交换功能指令集为第三方服务端认证请求、数据格式,数据交换、容错处理指令中的任一项;第二数据交换功能指令是根据第一数据交换功能指令按照预设要求进行分拆重组所形成的指令集。
在本实施例中,第一数据包、第三数据包在中间件服务器中经过协议解释、数据解释、容错处理、数据分类后对数据组包,解决了传统的设备提供商、平台提供商之间需要对应的接口的缺陷,有效的降低了源终端和第三方服务器的结构复杂性降低了数据处理量,有效的提高数据处理和交换的速度,降低了人力和物力的浪费。
实施例3
如图4所示,本实施例提供了用于实现实施例1和2的银行业务网络数据交换系统,具体来说,包括源终端1与第三方服务端2,该系统还包括中间件服务端3,其中,
源终端1,用于按照第一数据交换功能指令组包得到第一数据包,并发送给中间件服务端3;
第三方服务端2,用于按照第二数据交换功能指令组包得到第三数据包,并发送给中间件服务端3;
中间件服务端3,用于接收并解释第一数据包,对第一数据包依次进行解释、容错、分类处理后,按照第一数据交换功能指令从数据池40中组包得到第二数据包,并将第二数据包发送给源终端1,或返回请求失败的信息给源终端1;且用于接收并解释第三数据包,对第三数据包依次进行解释、容错、分类处理后,按照第二数据交换功能指令从数据池40中组包得到第四数据包,并将第四数据发送给第三方服务端2,或返回请求失败的信息给第三方服务端2;
所述中间件服务端3分别与所述源终端1与第三方服务端2连接。
所述的中间件服务端3具体包括:
管理配置模块31,用于后台界面的管理及参数配置;
认证模块32,用于对源终端1和第三方服务端2进行认证、授权;
监控模块33,用于实时监控源终端1、第三方服务端2和中间件服务端3的运行状态,提供预警通知功能;
日志记录模块34,用于记录系统运行中的日志记录;
协议解释模块35,用于对第一数据包、第三数据包的通信协议进行解释;
数据解释模块36,用于对第一数据包、第三数据包的包头和包体中的数据进行解释;
容错处理模块37,用于对数据解释模块36得到的数据中进行容错处理;
数据分类模块38,用于按照第一数据包、第三数据包的包头所包含的分类号、功能号对经过容错处理模块37处理后的数据进行分类;
数据组包模块39,用于按照第一数据交换功能指令完成组包,得到第二数据,并将第二数据发送到源终端1,以及按照第二数据交换功能指令完成组包,得到第四数据,并将第四数据发送到第三方服务端2;
数据池40,用于存储第二数据包和第四数据包;
所述数据池40、交换模块、认证模块32、监控模块33、协议解释模块35、数据解释模块36、容错处理模块37、数据分类模块38、数据组包模块39均分别与日志记录模块34、管理配置模块31连接;
源终端1和第三方服务端2分别与协议解释模块35连接。
通过本实施例的系统,可以有效的实现不同设备和平台之间的数据互通,具体来说,中间件服务端接收第一数据包后根据包头的通信协议进行解释,然后进行容错和分类处理后按照第三方服务端所指定的通信协议重新组包,达到实现银行排队等业务不同的设备提供商、平台提供商数据互联互通的能力,极大减少了人力和物力的浪费,大大提高银行排队等业务的客户体验及设备及平台的通用性。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其它的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。