一种数据传输方法、装置、设备及存储介质与流程

文档序号:18899018发布日期:2019-10-18 21:40阅读:161来源:国知局
一种数据传输方法、装置、设备及存储介质与流程

本申请涉及数据通信领域,特别涉及一种数据传输方法、装置、设备及存储介质。



背景技术:

用户通过终端与第三方服务器进行数据传输时,由于不同第三方服务器提供的数据传输协议不同,如果终端直接与第三方服务器进行通信,则会产生由于数据传输协议不同而导致的数据无法解析的问题。

目前为了避免出现上述问题,需要为每个第三方服务器设置对应的数据传输服务器,这样终端向第三方服务器发送数据时,需要通过对应的数据传输服务器发送到对应的第三方服务器;如果第三方服务器的数量较多,则需要设置较多的数据传输服务器,而且还需要分别维护不同数据传输服务器上的代码,重复工作较多,代码管理混乱。在增加新的第三方服务器时,还需要重新开发一个新的数据传输服务器,使得第三方服务器的接入速度较慢。



技术实现要素:

有鉴于此,本申请的目的在于提供一种数据传输方法、装置、设备及存储介质,以实现终端与不同第三方服务器之间数据的有效传输,提高第三方服务器的接入速度,减少管理人员的代码管理工作量。

为实现上述目的,一方面,本申请提供了一种数据传输方法,应用于统一数据传输服务器;所述数据传输方法包括:

接收待传输的数据信息;其中,所述数据信息为终端与第三方服务器之间传输的数据信息;

判断数据发送方与数据接收方的数据传输协议是否相同;

若相同,则将所述数据信息发送至所述数据接收方;若不相同,则将所述数据信息进行协议转换后,再发送至所述数据接收方。

可选的,所述判断数据发送方与数据接收方的数据传输协议是否相同,包括:

解析所述数据信息,确定数据发送方和数据接收方;

利用预先设定的协议对应关系,确定与所述数据发送方对应的第一数据传输协议,以及与所述数据接收方对应的第二数据传输协议;

判断所述第一数据传输协议与所述第二数据传输协议是否相同。

可选的,所述将所述数据信息进行协议转换后,再发送至所述数据接收方,包括:

利用预先设定的字段映射关系,将所述数据信息转换为属于第二数据传输协议的数据信息;

将所述属于第二数据传输协议的数据信息发送至所述数据接收方。

可选的,所述判断数据发送方与数据接收方的数据传输协议是否相同,包括:

判断数据发送方与数据接收方中的第三方服务器,是否在免转换名单内。

可选的,该数据传输方法还包括:

接收协议配置指令;所述协议配置指令为:对协议对应关系、字段映射关系、免转换名单中的至少一者的配置指令;

根据所述协议配置指令,对预先存储的协议对应关系、字段映射关系、免转换名单中的至少一者进行配置。

可选的,所述协议配置指令包括:协议增加指令、协议修改指令、协议删除指令中的任意一者。

又一方面,本申请还提供了一种数据传输装置,应用于统一数据传输服务器;所述数据传输装置包括:

数据接收模块,用于接收待传输的数据信息;其中,所述数据信息为终端与第三方服务器之间传输的数据信息;

判断模块,用于判断数据发送方与数据接收方的数据传输协议是否相同;

第一数据发送模块,用于在所述数据发送方与所述数据接收方的数据传输协议相同时,将所述数据信息发送至所述数据接收方;

协议转换模块,用于在所述数据发送方与所述数据接收方的数据传输协议不相同时,将所述数据信息进行协议转换;

第二数据发送模块,用于将协议转换后的数据信息发送至所述数据接收方。

可选的,该数据传输装置还包括:

指令接收模块,用于接收协议配置指令;所述协议配置指令为:对协议对应关系、字段映射关系、免转换名单中的至少一者的配置指令;

配置模块,用于根据所述协议配置指令,对预先存储的协议对应关系、字段映射关系、免转换名单中的至少一者进行配置。

又一方面,本申请还提供了一种电子设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现前述的数据传输方法的步骤。

又一方面,本申请还提供了一种存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现前述的数据传输方法的步骤。

通过以上方案可知,本申请提供了一种数据传输方法、装置、设备及存储介质;在本申请中,如果判定数据发送方和数据接收方的数据传输协议不同,可进行协议转换后再发送到数据接收方,实现了终端与不同第三方服务器之间的协议转换,实现了对数据的有效传输;并且,由于本申请可通过统一数据传输服务器来实现终端与不同第三方服务器之间的协议转换,那么在系统代码维护时,便不需要依次对每个数据传输服务器进行维护,减少管理人员的代码管理工作量;在增加新的第三方服务器时,也不需要增加新的数据传输服务器,只需要对统一数据传输服务器进行设置便可,从而提高了第三方服务器的接入速度。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为现有方案中的数据传输系统结构示意图;

图2为本申请提供的一种数据传输系统架构示意图;

图3为本申请提供的一种数据传输方法的流程图;

图4为本申请提供的一种数据传输方法的整体流程图;

图5为本申请提供的一种数据传输系统结构示意图;

图6为本申请提供的一种数据传输方法的流程图;

图7为本申请提供的一种数据传输方法的流程图;

图8为本申请提供的一种数据传输整体流程示意图;

图9为本申请提供的一种数据传输装置结构示意图;

图10为本申请提供的一种服务器的结构示意图。

具体实施方式

目前,终端与第三方服务器进行数据传输时,均需要通过与不同第三方服务器对应的数据传输服务器进行协议转换;该终端可以是智能手机、平板电脑、穿戴式设备和台式计算机等,该终端可以通过自身预先安装的客户端,在用户交互界面上触发数据信息传输指令,并通过对应的数据传输服务器发送至第三方服务器;该第三方服务器可以指提供社保查询服务的不同地区的人社局服务器,或者提供在线问诊、检查报告查询等服务器的其他第三方服务器。参见图1,为现有方案中的数据传输系统结构示意图;在该图中,第三方服务器为不同地区的人社局服务器,例如:深圳人社局服务器131、东莞人社局服务器132、广州人社局服务器133等等,相应的,该系统还包括与不同地区人社局服务器对应的不同的数据传输服务器,例如:与深圳人社局服务器131对应的深圳社保服务器121,与东莞人社局服务器132对应的东莞社保服务器122,与广州人社局服务器133对应的广州社保服务器123等等。

通过图1可以看出,终端11与不同地区的人社局服务器通信时,需要通过对应的社保服务器进行协议转换,如:终端11与深圳人社局服务器131之间的数据传输是通过深圳社保服务器121来进行协议转换的,即:用户从深圳人社局查询社保数据时,需要通过终端11向深圳社保服务器121发送社保查询信息,深圳社保服务器121接收到查询信息后,需要转换为对应的数据传输协议之后,再发送至深圳人社局服务器131。

可以看出,这种一个人社局服务器对应一个社保服务器的方案,如果对接的人社局服务器越多,则需要部署更多的社保服务器,相应的,由于社保服务器的数量众多,对于管理人员而言,则需要分别维护不同社保服务器上的代码,而有些人社局的差异并不大,会出现重复工作较多,代码管理混乱的问题。并且,每增加一个人社局服务器时,就要重新开发一个社保服务器,接入速度缓慢,不利于快速对接,而对于公司来说,接入一家人社局服务器的速度越快,越能更快的占领市场,对公司tob(tobusiness,面向企业或者特定用户群体的面商类产品)的战略有着积极作用。

鉴于目前所存在的上述问题,本申请提出了一种数据传输技术方案,通过该技术方案,不仅能实现终端与不同第三方服务器之间数据的有效传输,还可以提高第三方服务器的接入速度,减少管理人员的代码管理工作量。

为了便于理解,下面对本申请的技术方案所适用的系统架构进行介绍。参见图2,为本申请提供的一种数据传输系统架构示意图。通过图2可以看出,在本申请提供的数据传输系统中,主要包括终端21、统一数据传输服务器22和各个第三方服务器23。该终端21和第三方服务器23分别作为数据发送方和数据接收方,例如:终端21向第三方服务器23发送数据信息时,数据发送方为终端21,数据接收方为第三方服务器23,如果第三方服务器23向终端21发送数据信息时,数据发送方为第三方服务器23,数据接收方为终端21。

但是,无论终端24和第三方服务器23中哪一方为数据发送方,哪一方为数据接收方,两者的传输数据均需要通过统一数据传输服务器22进行传输。如果数据发送方和数据接收方的数据传输协议相同,则将数据信息发送至数据接收方;如果数据发送方和数据接收方的数据传输协议不相同,则将数据信息进行协议转换后,再发送至数据接收方。

可以理解的是,如果数据发送方与数据接收方的数据传输协议不同,则进行协议转换后的数据信息的数据传输协议,与数据接收方的数据传输协议相同,从而实现了对数据传输协议的转换。

需要说明的是,本申请中的数据传输协议可以为:json(javascriptobjectnotation,js对象简谱)协议、xml(extensiblemarkuplanguage,可扩展标记语言)协议、soap协议(simpleobjectaccessprotocol,简单对象访问协议)、raw协议(原生数据协议)等等;上述数据传输协议是用来表示数据传输格式的协议,在进行协议转化时,是根据不同协议之间的数据传输格式的不同,来对数据信息中的输入参数、格式等进行转换,以便数据接收方能识别该数据信息。

而终端21与统一数据传输服务器22之间,以及统一数据传输服务器22与各个第三方服务器23之间,均可以通过http(hypertexttransferprotocol,超文本传输协议)实现数据的传递。

综上可以看出,在本申请中,如果判定数据发送方和数据接收方的数据传输协议不同,则可进行协议转换后再发送到数据接收方,实现了终端与不同第三方服务器之间的协议转换,实现了数据传输的有效性;并且,由于本申请可通过统一数据传输服务器来实现终端与不同第三方服务器之间的协议转换,那么在系统代码维护时,便不需要依次对每个数据传输服务器进行维护,减少管理人员的代码管理工作量;在增加新的第三方服务器时,也不需要增加新的数据传输服务器,只需要对统一数据传输服务器进行设置便可,从而提高第三方服务器的接入速度。

图3为本申请提供的一种数据传输方法的流程图。该数据传输方法可以应用于统一数据传输服务器;参见图3所示,该数据传输方法包括:

s101、接收待传输的数据信息;其中,数据信息为终端与第三方服务器之间传输的数据信息;

在本实施例中,该数据信息为终端与第三方服务器之间传输的数据信息,该数据信息中携带数据发送方的标识信息和数据接收方的标识信息,因此,通过该数据信息,便可确定对应的数据发送方和数据接收方。在本申请中,并不对终端与第三方服务器之间的身份进行限定,也即:两者中的任意一方,均可为数据发送方或者数据接收方。

需要说明的是,本申请中的数据信息可以为任意一方主动发送的数据信息,也可以为任意一方回复的响应信息,在此,以第三方服务器为实现医疗问诊的第三方服务器为例进行说明;例如:若数据发送方为终端,这时终端可以主动向第三方服务器发送数据信息,该数据信息可以为社保查询信息、在线问诊信息、检查报告的查询信息等等;若数据发送方为第三方服务器,这时第三方服务器也可以主动向终端发送数据信息,该数据信息可以为健康意见信息、针对已询问过的治疗问题,询问治疗情况等数据信息;相应的,若数据发送方为终端,这时终端向第三方服务器发送的数据信息便可为回应信息,例如:针对第三方服务器发送的询问治疗情况所回复的治疗状况信息;若数据发送方为第三方服务器,这时第三方服务器向终端发送的数据信息也可以为回复信息,如:查询的社保数据、问诊结果信息、报告的查询结果等信息。

可以理解的是,用户通过终端上预先安装的app(application,软件)发送数据信息时,可直接根据终端当前的地理位置,自动确定对应的数据发送方;如:用户通过终端发送的数据信息是社保查询信息,在发送数据信息时,app可以通过获取当前的地理位置来确定对应的城市,从而自动添加数据接收方,例如:深圳的用户发送社保查询信息时,通过当前的地理位置确定当前城市为深圳市,这时发送的数据信息携带的数据接收方便为深圳人社局服务器。但是,如果用户当前所处的位置与所要查询的人社局服务器并不对应,用户可通过app来选择所需要发送的人社局服务器;例如:用户当前在北京,需要查询深圳人社局服务器,这时可通过app来选择深圳人社局服务器,并发送至统一社保服务器,通过同一社保服务器来将查询信息发送至深圳人社局服务器。

参见图4,为本申请提供的一种数据传输方法的整体流程图,通过该图可以看出,在本实施例中,数据发送方生成待传输的数据信息后,需要将该数据信息发送至统一数据传输服务器,统一数据传输服务器接收到该数据信息后,便会执行后续步骤,实现对该数据信息的协议转换及发送,让数据接收到获取到最终的数据信息。

s102、判断数据发送方与数据接收方的数据传输协议是否相同;若相同,则执行s103;若不同,则执行s104;

在本申请中,需要判断数据发送方与数据接收方的数据传输协议是否相同来决定是否需要进行协议转换;在判断是否协议相同时,可以通过多种方式来判断,例如:终端发送的数据信息中,本身便携带了是否需要进行协议转换的提示信息,如果携带了该提示信息,便说明数据发送方和数据接收方的数据传输协议不同,则根据该提示信息进行协议转换;还可以预先设置配置信息,该配置信息中可以包括终端、第三方服务器与数据传输协议的对应关系,通过查询该配置信息,可以确定数据发送方和数据接收方的数据传输协议是否相同,在此仅以上述两种方式对s102进行说明,但并不局限于此。

需要说明的是,如果第三方服务器还没有开发与统一数据传输服务器对应的数据传输接口,这时第三方可直接利用与终端对应的标准协议进行开发,这样就可以减少了后续对数据信息的协议转换操作,可直接调用第三方服务器的接口实现数据的直接发送。例如:终端的协议为json协议,上海人社局服务器还没有开发接口,这时上海人社局服务器为了数据的快速传输,可直接将上海人社局服务器的接口开发为与终端相同的json协议,这种情况下,便会出现数据发送者与数据接收者的数据传输协议相同的情况。

s103、将数据信息发送至数据接收方;

s104、将数据信息进行协议转换后,再发送至数据接收方。

参见图5,为本申请提供的一种数据传输系统结构示意图;图中的31为终端,32为统一数据传输服务器,32为第三方服务器,34为数据库;终端31中的不同app框代表发送不同数据信息的终端,统一数据传输服务器32包括协议路由模块以及协议转换模块,数据库34内保存的数据为包括预先通过配置平台配置的配置信息,该数据库34可以是位于统一数据传输服务器内的数据库,也可以是设置在单独服务器上的数据库,在此并不具体限定;统一数据传输服务器32向第三方服务器33发送的协议包括json协议、xml协议、soap协议、raw协议,在本实施例中,仅以这四种协议对本申请进行说明,但并不仅仅局限于此。

在本方案中,可设定不同的协议转换模块;例如:若终端的协议是固定的,则可设定不同的协议与终端的协议之间的协议转换模块,例如:终端协议为json协议,那么可以设置转换json协议与xml协议的第一协议转换模块,可以设置转换json协议与soap协议的第二协议转换模块,可以设置转换json协议与raw协议的第三协议转换模块等等。

统一数据服务器32中的协议路由模块接收到数据信息后,首先确定数据发送方和数据接收方,并路由到对应的协议转换模块,让对应的协议转换模块来执行协议转换操作;例如:数据发送方为终端,数据接收方为东莞人社局服务器,终端的数据传输协议为json协议,东莞人社局服务器的数据传输协议为xml协议,两者的数据传输协议不同,这时需要将数据信息路由至第一协议转换模块,通过第一协议转换模块实现对数据信息的协议转换,并发送至东莞人社局服务器;如果数据发送方为终端,数据接收方为深圳人社局服务器,终端的数据传输协议为json协议,深圳人社局服务器的数据传输协议为json协议,两者的数据传输协议,这时可以不进行协议转换,直接将数据发送至数据接收方。数据接收方接收到数据信息后,可以根据数据信息的具体内容来确定是否需要向数据发送方回复信息,如果需要回复,则原先的数据接收方会变为数据发送方,原先的数据发送方会变为数据接收方,并通过统一数据服务器来传输回复信息。

需要说明的是,本方案可通过nodejs来编写,node.js是一个基于chromev8引擎的javascript运行环境,并且整个协议转换的过程用到了nodejs的vm2(virtualmachine,虚拟机)技术,可以直接加载一段动态脚本实现。

可以理解的是,本申请还预先配置了url(uniformresourcelocator,统一资源定位符)对应关系,该url对应关系为不同第三方服务器与url的对应关系,通过该url对应关系,便可将数据信息发送给第三方服务器。并且,本方案对协议信息进行转换后,为了保证协议转换后的数据是正确的,可以对协议转换后的字段进行准确性验证,例如:数据包的包头显示具体数据类型为英文,但是包体的内容并非英文,这时可判定协议转换后的数据信息有误,可重新执行协议转换操作;如果转换了预定次数后,依然判定协议转换后的数据信息有误,这时可向终端返回数据信息有误的提示信息。

需要说明的是,为了避免出现统一数据传输服务器故障导致的数据不能传输的问题,本申请还可以设置与统一数据传输服务器对应的备份数据传输服务器,如果统一数据传输服务器故障,备份数据传输服务器可快速代替故障的数据传输服务器进行数据传输,提高了系统的稳定性。

综上可以看出,如果判定数据发送方、数据接收方的数据传输协议不同,则可进行协议转换后再发送到数据接收方,实现了终端与不同第三方服务器之间的协议转换,实现了数据传输的有效性;其次,本申请通过统一数据传输服务器来实现终端与不同第三方服务器之间的协议转换,在系统代码维护时,便不需要依次对每个数据传输服务器进行维护,减少管理人员的代码管理工作量,在部署服务器时,也仅需要部署一套服务器,减低运营成本;在增加新的第三方服务器时,也不需要增加新的数据传输服务器,只需要对统一数据传输服务器进行设置便可,从而提高第三方服务器的接入速度。

图6为本申请提供的一种数据传输方法的流程图。需要说明的是,本实施例提供的数据传输方法可以和上述实施例所述的数据传输方法相互参照,相同之处便不再赘述。参见图6所示,该数据传输方法可以包括以下步骤:

s201、接收待传输的数据信息;其中,数据信息为终端与第三方服务器之间传输的数据信息;

s202、解析数据信息,确定数据发送方和数据接收方;

s203、利用预先设定的协议对应关系,确定与数据发送方对应的第一数据传输协议,以及与数据接收方对应的第二数据传输协议;

s204、判断第一数据传输协议与第二数据传输协议是否相同;若相同,则执行s205;若不同,则执行s206;

s205、将数据信息发送至数据接收方;

s206、利用预先设定的字段映射关系,将数据信息转换为属于第二数据传输协议的数据信息;

s207、将属于第二数据传输协议的数据信息发送至数据接收方。

在本实施例中,该数据信息携带了数据发送方和数据接收方的标识信息,因此本申请通过该解析数据信息,可以确定数据信息的数据发送方和数据接收方;并且,本申请还可以通过配置平台预先设定协议对应关系,并将其保存在数据库中,或缓存在内存中,该协议对应关系是指终端、各个第三方服务器与数据传输协议之间的对应关系,例如,该协议对应关系可以为:终端与json协议存在对应关系,深圳人社局服务器与json协议存在对应关系,东莞人社局服务器与xml协议存在对应关系等等。

因此在本申请中,确定数据发送方和数据接收方后,会直接利用预先设定的协议对应关系,分别确定与数据发送方对应的第一数据传输协议,与数据接收方对应的第二数据传输协议,并通过分析两个数据传输协议是否相同来决定是否需要进行协议转换。例如:数据发送方为终端,数据接收方为广州人社局服务器,通过协议对应关系可以确定终端的第一数据传输协议为json协议,广州人社局服务器的第二数据传输协议为soap协议,第一数据传输协议和第二数据传输协议不同,因此,需要对数据信息进行协议转换。

并且,本申请还可以通过配置平台预先设定字段映射关系,并将其保存在数据库中,或缓存在内存中;该字段映射关系是指出入参的映射关系,也即:不同数据传输协议之间存在一些参数字段的定义不同,例如:终端发送的数据信息中用户名为username,第三方服务器中的用户名为name,如果不进行转换,将数据信息发送至数据接收端后,数据接收端便不能成功解析该数据信息。因此在本申请中,如果需要进行协议转换,根据预先设定的字段映射关系将数据信息中的一些出入参映射为数据接收方能识别的出入参,并组装为数据接收方的数据传输协议格式,如:建立字段username与字段name之间的映射关系,在终端向第三方服务器发送数据信息时,便将数据信息中的username修改为name。

例如:第一数据传输协议json协议与第二数据传输协议soap协议不同,则需要将数据信息转换为soap协议的格式。soap协议可以如下所示,其中,soap协议的请求内容必须以envelope(信封)做为根节点,header(报头)是可选的,如果需要添加header元素,必须是envelope的第一个元素,body(主体)是必选的,表示请求的主题内容等限定性内容,例如:请求函数、参数类型等等。

可以看出,本申请通过配置平台预先配置不同第三方服务器的协议对应关系及字段映射关系,可以快速的判断是否需要进行协议转换,并且通过字段映射关系可以保证出入参的统一,使统一数据传输服务器中的一套代码实现不同协议的转换,兼容不同协议之间的差异。而且在接入新的第三方服务器时,可不改变统一数据传输服务器中代码的主流程,只通过配置平台对差异点进行配置,提高第三方服务器的接入速度。

图7为本申请提供的一种数据传输方法的流程图。需要说明的是,本实施例提供的数据传输方法,可以和上述任意方法实施例所述的数据传输方法相互参照,相同之处便不再赘述。参见图7所示,该数据传输方法可以包括以下步骤:

s301、接收待传输的数据信息;其中,数据信息为终端与第三方服务器之间传输的数据信息;

s302、判断数据发送方与数据接收方中的第三方服务器,是否在免转换名单内;若是,则执行s303;若否,则执行s304;

s303、将数据信息发送至数据接收方;

s304、将数据信息进行协议转换后,再发送至数据接收方。

在本申请中,可设置终端的协议为标准协议,也即:终端的数据传输协议是固定的,因此在实施例中,为了进一步提高数据传输速度,可以通过配置平台预先配置免转换名单,该免转换名单内的配置了与终端的数据传输协议相同的第三方服务器,同样的,该免转换名单也可以保存在数据库中,或缓存在内存中;也就是说:只要数据发送方或者数据接收方中的第三方服务器属于该免转换名单,便可以直接将数据信息发送至数据接收方,而不需要去查找该第三方服务器的具体数据传输协议。例如:终端的数据传输协议为json协议,上海人社局服务器的数据传输协议也为json协议,则将上海人社局服务器添加至免转换名单内,这样无论是向上海人社局服务器发送数据信息,还是接受上海人社局服务器发送的数据信息,均不需要查找上海人社局服务器的协议类型,可以直接进行数据信息的传输。

需要说明的是,在本实施例中,如果数据发送方与数据接收方中的第三方服务器不在该免转换名单内,这时说明第三方服务器与终端的数据传输协议不同,这时可先通过协议对应关系确定第三方服务器的数据传输协议,并通过字段映射关系直接将数据信息转换为终端能识别的数据传输协议类型。

可以看出,本申请通过预先设置免转换名单,可以在数据发送方和数据接收方数据传输协议相同时,直接进行数据信息的发送,不需要查找数据发送方和数据接收方的协议类型后再进行协议,从而节省了数据传输类型的查找时间及判断时间,提高了数据传输速度。

基于上述任意方法实施例,在本实施例中,该数据传输方法还可以包括:

接收协议配置指令;协议配置指令为:对协议对应关系、字段映射关系、免转换名单中的至少一者的配置指令;

根据所述协议配置指令,对预先存储的协议对应关系、字段映射关系、免转换名单中的至少一者进行配置;其中,协议配置指令包括:协议增加指令、协议修改指令、协议删除指令中的任意一者。

在本申请中,预先配置了:实现终端与多个第三方服务器数据传输的配置信息,该配置信息包括上述实施例中的协议对应关系、字段映射关系和免转换名单,该协议对应关系用来确定终端、第三方服务器与不同数据传输服务器之间的对应关系,该字段映射关系用来确定不同数据传输协议转换时的出入参映射关系,该免转换名单用来快速的确定免转换的第三方服务器。

因此,为了保证上述配置信息的准确性,管理人员可以通过发送协议配置指令来对协议对应关系、字段映射关系、免转换名单中的至少一者进行配置,例如:修改协议对应关系、修改字段映射关系、修改免转换名单;进一步,如果与接入的第三方服务器发生了变动,如:取消接入或者新增接入,那么管理人员便可通过发送协议配置指令,增加或者删除对应的协议对应关系、字段映射关系、免转换名单。在修改上述配置信息时,可以利用rpc(remoteprocedurecall,远程过程调用)框架taf(tencentapplicationframework)的配置文件修改通知能力,使修改后的配置信息即时修改即时下发配置,并即时更新缓存生效,从而提高开发效率。

进一步,对配置信息中的协议对应关系、字段映射关系、免转换名单进行配置后,还可以生成对应的配置日志,以便记录配置信息的修改过程。在本申请中,除了配置协议对应关系、字段映射关系、免转换名单之外,还可以配置其他通用功能,例如:设置超时时间、版本号、参数校验、debug模式等等功能。本申请在向数据接收方发送数据信息之后,可以要求数据发送方反馈通知信息,以便让统一数据传输服务器了解该数据信息已成功发送至数据接收端;统一数据传输服务器接收到发送成功的通知信息后,可以选择性的向数据发送端反馈数据发送成功的通知信息,以便数据发送端及时了解数据发送情况。如果数据接收端超过该超时时间后,还未接收到数据接收端反馈的通知信息,则判定数据信息发送失败,并向数据发送端反馈数据发送失败的通知信息。

可以看出,本申请中的协议对应关系、字段映射关系、免转换名单等都存储在数据库中,在对上述信息进行变更时,只需要发送协议配置指令便可,不仅实现在一套系统中兼容更多的数据传输协议,还可实现在一套系统上完成对多种协议的适配工作,协议配置方式更为灵活。

下面通过一个具体的应用场景实例描述,来对本申请所述的数据传输方法进行说明;该第三方服务器为人社局服务器,该数据信息为终端发送的查询社保数据的查询信息,参见图8,为本申请提供的一种数据传输整体流程示意图;可以包括如下步骤:

s401、用户通过终端向统一数据传输服务器发送社保查询信息;

s402、统一数据传输服务器接收该社保查询信息,确定待查询的目标社保人社局服务器;

s403、统一数据传输服务器从数据库中读取预先配置的配置信息;该配置信息至少包括协议对应关系和字段映射关系;

s404、统一数据传输服务器根据协议对应关系,判断是否需要进行协议转换;若是,则执行s405;若否,则执行s406;

s405、统一数据传输服务器根据字段映射关系进行协议转换,并调用第人社局服务器的接口,将社保查询信息发送至人社局服务器;

s406、统一数据传输服务器直接调用人社局服务器的接口,将社保查询信息发送至人社局服务器。

综上可以看出,在本申请中,无论用户想要查询哪家人社局的社保数据,终端都会将该社保查询信息发送至统一数据传输服务器,通过该统一数据传输服务器实现协议的转换;通过这种方式,可通过一套代码实现了对多种数据传输协议的转换,减少了代码维护工作量;并且在接入新的人社局服务器时,只需要对修改部分代码,而不需要重新部署一套新的服务器,不仅提高了人社局服务器的接入速度,还能降低运维成本。

图9为本申请实施例提供的一种数据传输装置结构示意图,该装置应用于统一数据传输服务器;参见图9,该数据传输装置包括:

数据接收模块31,用于接收待传输的数据信息;其中,数据信息为终端与第三方服务器之间传输的数据信息;

判断模块32,用于判断数据发送方与数据接收方的数据传输协议是否相同;

第一数据发送模块33,用于在数据发送方与数据接收方的数据传输协议相同时,将数据信息发送至数据接收方;

协议转换模块34,用于在数据发送方与数据接收方的数据传输协议不相同时,将数据信息进行协议转换;

第二数据发送模块35,用于将协议转换后的数据信息发送至数据接收方。

在一种可能实现方式中,判断模块32可以包括:

解析单元,用于解析数据信息,确定数据发送方和数据接收方;

协议确定单元,用于利用预先设定的协议对应关系,确定与数据发送方对应的第一数据传输协议,以及与数据接收方对应的第二数据传输协议;

第一判断单元,用于判断第一数据传输协议与第二数据传输协议是否相同。

在一种可能实现方式中,协议转换模块34具体用于:利用预先设定的字段映射关系,将所述数据信息转换为属于第二数据传输协议的数据信息;

第二数据发送模块35具体用于:将属于第二数据传输协议的数据信息发送至数据接收方。

在一种可能实现方式中,判断模块32可以包括:

第二判断单元,用于判断数据发送方与数据接收方中的第三方服务器,是否在免转换名单内。

在一种可能实现方式中,该数据传输装置还可以包括:

指令接收模块,用于接收协议配置指令;所述协议配置指令为:对协议对应关系、字段映射关系、免转换名单中的至少一者的配置指令;

配置模块,用于根据所述协议配置指令,对预先存储的协议对应关系、字段映射关系、免转换名单中的至少一者进行配置。其中,协议配置指令包括:协议增加指令、协议修改指令、协议删除指令中的任意一者。

在本申请提供的数据传输装置中,如果判定数据发送方和数据接收方的数据传输协议不同,可进行协议转换后再发送到数据接收方,实现了终端与不同第三方服务器之间的协议转换,实现了对数据的有效传输;并且,由于本申请可通过统一数据传输服务器来实现终端与不同第三方服务器之间的协议转换,那么在系统代码维护时,便不需要依次对每个数据传输服务器进行维护,减少管理人员的代码管理工作量;在增加新的第三方服务器时,也不需要增加新的数据传输服务器,只需要对统一数据传输服务器进行设置便可,从而提高了第三方服务器的接入速度。

进一步的,本申请实施例还提供了一种电子设备。其中,该电子设备可以是统一数据传输服务器。图10是根据一示例性实施例示出的电子设备结构图,图中的内容不能被认为是对本申请的使用范围的任何限制。

图10为本申请提供的一种服务器的结构示意图。该电子设备具体可以包括:至少一个处理器41、至少一个存储器42、电源43、通信接口44、输入输出接口45和通信总线46。其中,存储器42用于存储计算机程序,计算机程序由处理器41加载并执行,以实现前述任一实施例公开的由统一数据传输服务器执行的数据传输方法的相关步骤。

本实施例中,电源43用于为服务器40上的各硬件设备提供工作电压;通信接口44能够为服务器40创建与外界设备之间的数据传输通道,在本申请中,可通过该通信接口44接收终端或者第三方服务器发送的数据信息,并发送给数据接收方;输入输出接口45,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据需要进行选取,在此不进行具体限定。

另外,存储器42作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源包括计算机程序及操作系统等,存储方式可以是短暂存储或者永久存储。

其中,操作系统用于管理与服务器40上的各硬件设备以及计算机程序,以实现处理器41对存储器42中海量数据的运算与处理,其可以是windowsserver、netware、unix、linux等。计算机程序除了包括能够用于完成前述任一实施例公开的由统一数据传输服务器执行的数据传输方法的相关步骤之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。

进一步的,本申请实施例还公开了一种存储介质,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现前述任一实施例公开的数据传输方法的步骤。

需要指出的是,上述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

以上对本申请所提供的一种数据传输方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1