1.本发明涉及计算机技术领域,尤其涉及到一种用于对接不同接口的数据单位转换方法、装置及设备。
背景技术:2.企业对外开展多种业务时,常期望可以使用一个公共接口就可以对接多个不同的外界接口,但是每个外界接口的数据规范不同,因此每个外界接口返回的数据单位常与企业需要的数据单位不同。
3.目前,企业的开发人员需要在这个公共接口中写上各种条件语句,以进行数据单位转换,但是这样的方法一方面需要写大量的条件语句,会造成代码冗余,同时使得代码变的复杂,另一方面,容易产生错误,进而造成大量关联的代码出现错误。
技术实现要素:4.有鉴于此,本发明提供了一种用于对接不同接口的数据单位转换方法、装置及设备,可解决数据单位转换效率低、易出错的技术问题。
5.根据本发明的一个方面,提供了一种用于对接不同接口的数据单位转换方法,该方法包括:
6.系统向所有返回数据接口请求数据时引用单位转换插件,所有所述返回数据接口中的目标返回数据接口向所述单位转换插件返回第一数据;
7.利用所述单位转换插件判断所述目标返回数据接口是否需要进行单位转换;
8.若是,则对所述第一数据进行单位转换,将转换后的第二数据返回给所述系统的接收数据接口;
9.若否,则将所述第一数据返回给所述接收数据接口。
10.优选地,所述方法还包括:
11.确定所有返回数据接口中需要进行单位转换的待转换返回数据接口;
12.在配置页面输入所述待转换返回数据接口对应的配置信息,并将所述配置信息保存在存储媒介中,所述配置信息用于单位转换插件使用。
13.优选地,所述配置信息至少包括与所述待转换返回数据接口一一对应的待转换返回数据接口标识;
14.所述利用所述单位转换插件判断所述目标返回数据接口是否需要进行单位转换,包括:
15.利用所述单位转换插件识别与所述目标返回数据接口一一对应的目标返回数据接口标识;
16.在所述存储媒介中查询所述待转换返回数据接口标识中是否存在所述目标返回数据接口标识。
17.优选地,所述配置信息至少包括:与所述待转换返回数据接口对应的转换规则;
18.所述对所述第一数据进行单位转换,包括:
19.根据所述转换规则确定所述目标返回数据接口对应的目标转换规则;
20.利用所述目标转换规则对所述第一数据进行单位转换。
21.优选地,所述目标转换规则包括:待转换字段以及转换后等级;
22.所述利用所述目标转换规则对所述第一数据进行单位转换,包括:
23.将所述第一数据中的所述待转换字段转换成所述转换后等级。
24.优选地,所述方法还包括:
25.确定新增返回数据接口中需要进行单位转换的新增待转换返回数据接口;
26.在配置页面输入所述新增待转换返回数据接口对应的新增配置信息,并将所述新增配置信息保存在所述存储媒介中,所述新增配置信息与所述配置信息用于所述单位转换插件使用。
27.根据本发明的另一个方面,提供了一种用于对接不同接口的数据单位转换装置,该装置包括:
28.引用模块,用于系统向所有返回数据接口请求数据时引用单位转换插件,所有所述返回数据接口中的目标返回数据接口向所述单位转换插件返回第一数据;
29.判断模块,用于利用所述单位转换插件判断所述目标返回数据接口是否需要进行单位转换;
30.转换模块,用于若是,则对所述第一数据进行单位转换,将转换后的第二数据返回给所述系统的接收数据接口;
31.返回模块,用于若否,则将所述第一数据返回给所述接收数据接口。
32.优选地,所述装置还包括:
33.确定模块,用于确定所有返回数据接口中需要进行单位转换的待转换返回数据接口;
34.配置模块,用于在配置页面输入所述待转换返回数据接口对应的配置信息,并将所述配置信息保存在存储媒介中,所述配置信息用于所述单位转换插件使用。
35.根据本发明的又一个方面,提供了一种非易失性可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述用于对接不同接口的数据单位转换方法。
36.根据本发明的再一个方面,提供了一种计算机设备,包括非易失性可读存储介质、处理器及存储在非易失性可读存储介质上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述用于对接不同接口的数据单位转换方法。
37.借由上述技术方案,本发明提供的一种用于对接不同接口的数据单位转换方法、装置及设备,本发明可首先系统向所有返回数据接口请求数据时引用单位转换插件,所有返回数据接口中的目标返回数据接口向单位转换插件返回第一数据;进一步的,利用单位转换插件判断目标返回数据接口是否需要进行单位转换;最后,若是,则对第一数据进行单位转换,将转换后的第二数据返回给系统的接收数据接口;若否,则将第一数据返回给接收数据接口。通过本发明中的技术方案,开发人员的工作就是针对某个接口配置需要转换的对应字段,配置完成后,引用单位转换插件即可直接使用写好的配置,不用更改公共接口的代码,因此,相比于现有技术中需要在公共接口的代码中写上大量的条件语句,本发明没有代码冗余重复,不会增加复杂的逻辑,不必担心改错代码,进一步造成其他代码的错误,同
时相比于现有技术中做个数据单位的转换就需要拉代码分支、修改代码并提交、打包并部署、测试并验证、预发灰度上线等一整套流程,本发明节省了工作流程,极大的提高了数据单位转换的效率。
38.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
39.此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本地申请的不当限定。在附图中:
40.图1示出了本发明实施例提供的一种用于对接不同接口的数据单位转换方法的流程示意图;
41.图2示出了本发明实施例提供的另一种用于对接不同接口的数据单位转换方法的流程示意图;
42.图3示出了本发明实施例提供的一种用于对接不同接口的数据单位转换装置的结构示意图;
43.图4示出了本发明实施例提供的另一种用于对接不同接口的数据单位转换装置的结构示意图;
44.图5示出了本发明实施例提供的一种计算机设备的结构示意图;
45.图6示出了现有的一个公共接口对接多个不同接口的结构示意图;
46.图7示出了本发明实施例提供的一种用于对接不同接口的数据单位转换方法的结构示意图。
具体实施方式
47.下文将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互结合。
48.需要说明的是,正如背景技术中叙述的,企业希望可以使用一个公共接口就可以对接多个不同的外界接口,但是每个外界接口的数据规范不同,因此每个外界接口返回的数据单位常与企业需要的数据单位不同,例如,公共接口需要的数据单位是“元”类型,而对接的接口1返回数据单位是“分”类型的,对接的接口2返回数据单位是“元”类型的,对接的接口3返回数据单位是“厘”类型的。
49.目前,企业的开发人员需要在这个公共接口中写上各种条件语句,以进行数据单位转换,例如,条件语句是如果返回数据的是接口1,那么对于接口1需要将数据单位“分”转换成“元”,如果返回数据的是接口2,那么对于接口2不需要进行数据单位转换,如果返回数据的是接口3,那么对于接口3需要将数据单位“厘”转换成“元”。
50.现有技术这样的方法直接对公共接口的代码进行更改,即做了硬编码转换处理,这样的缺点在于:
51.(1)导致太多的逻辑if
…
else分支,促使逻辑变为极其复杂。
52.(2)会存在很多雷同的转换代码,还容易导致代码冗余重复。
53.(3)容易改错,一不留神就改到其他接口的数据单位。
54.(4)还得历经拉代码分支、修改代码并提交、打包并部署、测试并验证、预发灰度上线等等流程,对于只做数据单位的转换就需要一整套齐全的流程,耗时耗力。
55.针对数据单位转换效率低、易出错的技术问题,本实施例提供了一种用于对接不同接口的数据单位转换方法,如图1所示,该方法包括:
56.101、系统向所有返回数据接口请求数据时引用单位转换插件,所有返回数据接口中的目标返回数据接口向单位转换插件返回第一数据。
57.其中,如图6所示,示出了现有的一个公共接口对接多个不同接口的结构示意图,左侧存在一个公共接口,右侧存在三个不同的外界接口,现有的进行数据转换的方法:公共接口直接分别与三个不同的外界接口对接,在公共接口写入条件语句,从外界接口返回的数据单位在公共接口中进行单位转换。
58.相比于现有技术,本技术在公共接口没有与外界接口直接对接,而是通过单位转换插件与外界接口对接,具体的,如图7所示,示出了用于对接不同接口的数据单位转换方法的结构示意图,左侧存在一个公共接口即接收数据接口,右侧存在三个不同的外界接口即三个不同的返回数据接口,本技术公开了在接收数据接口引用单位转换插件,通过单位转换插件与每个返回数据接口对接,相当于单位转换插件将目标返回数据接口返回的数据进行拦截与处理,使得从单位转换插件向接收数据接口返回的数据单位是接收数据接口需要的,不需要在接收数据接口进行单位转化。
59.对于本实施例,系统进行业务请求时,向所有返回数据接口请求数据,不是所有返回数据接口都返回数据,而是所有返回数据接口中的目标返回数据接口返回数据。
60.102、利用单位转换插件判断目标返回数据接口是否需要进行单位转换。
61.示例的,接收数据接口需要的数据单位是“元”类型,而对接的返回数据接口1返回数据单位是“分”类型的,对接的返回数据接口2返回数据单位是“元”类型的,对接的返回数据接口3返回数据单位是“厘”类型的,鉴于目标返回数据接口可能是返回数据接口1,可能是返回数据接口2,还可能是返回数据接口3,而对于返回数据接口1需要进行单位转换,返回数据接口2不需要进行单位转换,返回数据接口3需要进行单位转换,所以需要利用单位转换插件判断目标返回数据接口是否需要进行单位转换。
62.103、若目标返回数据接口需要进行单位转换,则对第一数据进行单位转换,将转换后的第二数据返回给系统的接收数据接口。
63.对于本实施例,如果目标返回数据接口返回的第一数据的单位与接收数据接口需要的单位不相同,那么单位转换插件对第一数据的单位进行转换,将转换后的第二数据返回给接收数据接口。
64.104、若目标返回数据接口不需要进行单位转换,则将第一数据返回给接收数据接口。
65.对于本实施例,如果目标返回数据接口返回的第一数据的单位与接收数据接口需要的单位相同,那么单位转换插件不必对第一数据的单位进行转换,直接将第一数据返回给接收数据接口即可。
66.因此,不必更改公共接口即接收数据接口的代码,通过在系统的代码中引用单位转换插件直接将不需要的数据单位转换成需要的数据单位后返回给接收数据接口即可,操
作简单,只需要开发人员配置对于某个接口需要进行哪些字段的转换即可,例如,对于返回数据接口1返回数据单位是“分”类型的,需要将“分”转换成“元”。配置完成后,随时可以给单位转换插件使用,同时,如果需要更改、增加或者删除某些字段转换规则,只要在配置中进行相应操作即可,非常灵活。
67.本发明提供的一种用于对接不同接口的数据单位转换方法、装置及设备,本发明可首先系统向所有返回数据接口请求数据时引用单位转换插件,所有返回数据接口中的目标返回数据接口向单位转换插件返回第一数据;进一步的,利用单位转换插件判断目标返回数据接口是否需要进行单位转换;最后,若是,则对第一数据进行单位转换,将转换后的第二数据返回给系统的接收数据接口;若否,则将第一数据返回给接收数据接口。通过本发明中的技术方案,开发人员的工作就是针对某个接口配置需要转换的对应字段,配置完成后,引用单位转换插件即可直接使用写好的配置,不用更改公共接口的代码,因此,相比于现有技术中需要在公共接口的代码中写上大量的条件语句,本发明没有代码冗余重复,不会增加复杂的逻辑,不必担心改错代码,进一步造成其他代码的错误,同时相比于现有技术中做个数据单位的转换就需要拉代码分支、修改代码并提交、打包并部署、测试并验证、预发灰度上线等一整套流程,本发明节省了工作流程,极大的提高了数据单位转换的效率。
68.进一步的,作为上述实施例具体实施方式的细化和扩展,为了完整说明本实施例中的具体实施过程,提供了另一种用于对接不同接口的数据单位转换方法,如图2所示,该方法包括:
69.201、确定所有返回数据接口中需要进行单位转换的待转换返回数据接口,在配置页面输入待转换返回数据接口对应的配置信息,并将配置信息保存在存储媒介中,配置信息用于单位转换插件使用。
70.其中,配置页面为开发人员提供了一个写入配置信息、更新配置信息以及维护配置信息的入口,存储媒介用于存储配置信息,可以是oracle数据库,也可以是mysql数据库,在此不做限定,将配置信息保存在存储媒介中,便于后续对配置信息的重复使用。
71.对于本实施例,作为一种实施方式,开发人员更新配置信息具体可包括:确定新增返回数据接口中需要进行单位转换的新增待转换返回数据接口,在配置页面输入新增待转换返回数据接口对应的新增配置信息,并将新增配置信息保存在存储媒介中,新增配置信息与配置信息用于单位转换插件使用。
72.开发人员维护配置信息可包括对配置信息的删除、更改等,具体的,直接在存储媒介中查询到需要删除或者更改的配置信息,然后进行相应操作即可。
73.对于本实施例,作为另一种实施方式,配置页面只需要输入所有返回数据接口中需要进行单位转换的待转换返回数据接口的配置信息,这样单位转换插件如果可以在存储媒介中找到了目标返回数据接口对应的配置信息,那么就说明目标返回数据接口返回的第一数据是需要按照配置信息进行单位转换的。
74.202、系统向所有返回数据接口请求数据时引用单位转换插件,所有返回数据接口中的目标返回数据接口向单位转换插件返回第一数据。
75.对于本实施例,具体实现过程与实施例步骤101相同,在此不再赘述。
76.203、配置信息至少包括与待转换返回数据接口一一对应的待转换返回数据接口标识,利用单位转换插件识别与目标返回数据接口一一对应的目标返回数据接口标识,在
存储媒介中查询待转换返回数据接口标识中是否存在目标返回数据接口标识。
77.对于本实施例,作为一种实施方式,每个接口唯一对应一个接口标识,用于区分所有接口,为了让单位转化插件判断出是否需要对目标返回数据接口返回的第一数据进行单位转换,在存储媒介中存储所有待转换返回数据接口标识,这样单位转换插件可以在存储媒介中查询待转换返回数据接口标识中是否存在目标返回数据接口标识,如果存在,那么需要对第一数据进行单位转换,如果不存在,那么不需要对第一数据进行单位转换。
78.其中,确定待转换返回数据接口执行的业务逻辑方法,然后将业务逻辑方法的名称与业务逻辑方法所在的类名进行组装,得到了待转换返回数据接口标识。
79.204、若待转换返回数据接口标识中存在目标返回数据接口标识,则对第一数据进行单位转换,将转换后的第二数据返回给系统的接收数据接口。
80.对于本实施例,作为一种实施方式,配置信息至少包括:与待转换返回数据接口对应的转换规则。对应的,对第一数据进行单位转换,包括:根据转换规则确定目标返回数据接口对应的目标转换规则;利用目标转换规则对第一数据进行单位转换。
81.其中,目标转换规则包括:待转换字段以及转换后等级,对应的,利用目标转换规则对第一数据进行单位转换,包括:将第一数据中的待转换字段转换成转换后等级。
82.例如,配置信息可以是一段json数据,将这段json数据保存到存储媒介中去。列举一段json形式的样例:
[0083][0084][0085]
其中,将json内容里面的字段含义解释如下:clzname:业务逻辑方法所在的类名;
mtdname:业务逻辑方法的名称;amountfield:金额字段名称,如:payamt,则说明payamt字段为待转换字段,即需要做金额单位转换;amountdesc:金额字段描述,如:支付金额,则说明payamt的中文含义是支付金额的意思;convertlevel:转换后等级,如:元,则说明payamt最终要转换成元单位。
[0086]
因此,开发人员所做的工作只是配置需要进行数据单位转换的接口的需要转换的字段以及转换后的等级即可,且这样的配置信息可以重复使用,灵活维护等,极大的提高了数据单位转换的效率。
[0087]
205、若待转换返回数据接口标识中不存在目标返回数据接口标识,则将第一数据返回给接收数据接口。
[0088]
对于本实施例,若待转换返回数据接口标识中不存在目标返回数据接口标识,那么说明不需要对第一数据进行单位转换,第一数据的数据单位就是接口数据接口需要的数据单位。
[0089]
本发明提供的一种用于对接不同接口的数据单位转换方法、装置及设备,本发明可首先系统向所有返回数据接口请求数据时引用单位转换插件,所有返回数据接口中的目标返回数据接口向单位转换插件返回第一数据;进一步的,利用单位转换插件判断目标返回数据接口是否需要进行单位转换;最后,若是,则对第一数据进行单位转换,将转换后的第二数据返回给系统的接收数据接口;若否,则将第一数据返回给接收数据接口。通过本发明中的技术方案,开发人员的工作就是针对某个接口配置需要转换的对应字段,配置完成后,引用单位转换插件即可直接使用写好的配置,不用更改公共接口的代码,因此,相比于现有技术中需要在公共接口的代码中写上大量的条件语句,本发明没有代码冗余重复,不会增加复杂的逻辑,不必担心改错代码,进一步造成其他代码的错误,同时相比于现有技术中做个数据单位的转换就需要拉代码分支、修改代码并提交、打包并部署、测试并验证、预发灰度上线等一整套流程,本发明节省了工作流程,极大的提高了数据单位转换的效率。
[0090]
进一步的,作为图1和图2所示方法的具体实现,本发明实施例提供了一种用于对接不同接口的数据单位转换装置,如图3所示,该装置包括:引用模块31、判断模块32、转换模块33、返回模块34;
[0091]
引用模块31,可用于系统向所有返回数据接口请求数据时引用单位转换插件,所有返回数据接口中的目标返回数据接口向单位转换插件返回第一数据;
[0092]
判断模块32,可用于利用单位转换插件判断目标返回数据接口是否需要进行单位转换;
[0093]
转换模块33,可用于若目标返回数据接口需要进行单位转换,则对第一数据进行单位转换,将转换后的第二数据返回给系统的接收数据接口;
[0094]
返回模块34,可用于若目标返回数据接口不需要进行单位转换,则将第一数据返回给接收数据接口。
[0095]
在具体的应用场景中,一种用于对接不同接口的数据单位转换装置,如图4所示,该装置还包括:确定模块35,具体可用于确定所有返回数据接口中需要进行单位转换的待转换返回数据接口。
[0096]
在具体的应用场景中,一种用于对接不同接口的数据单位转换装置,如图4所示,该装置还包括:配置模块36,具体可用于在配置页面输入待转换返回数据接口对应的配置
信息,并将配置信息保存在存储媒介中,配置信息用于单位转换插件使用。
[0097]
相应的,配置信息至少包括与待转换返回数据接口一一对应的待转换返回数据接口标识,为了利用单位转换插件判断目标返回数据接口是否需要进行单位转换,判断模块32具体可用于:利用单位转换插件识别与目标返回数据接口一一对应的目标返回数据接口标识;在存储媒介中查询待转换返回数据接口标识中是否存在目标返回数据接口标识。
[0098]
相应的,配置信息至少包括与待转换返回数据接口对应的转换规则,为了对第一数据进行单位转换,转换模块33具体可包括:确定单元331、转换单元332;
[0099]
确定单元331,可用于根据转换规则确定目标返回数据接口对应的目标转换规则;
[0100]
转换单元332,可用于利用目标转换规则对第一数据进行单位转换。
[0101]
相应的,目标转换规则包括:待转换字段以及转换后等级,为了利用目标转换规则对第一数据进行单位转换,转换单元332具体可用于将第一数据中的待转换字段转换成转换后等级。
[0102]
在具体的应用场景中,一种用于对接不同接口的数据单位转换装置,如图4所示,该装置还包括:更新模块37,具体可用于确定新增返回数据接口中需要进行单位转换的新增待转换返回数据接口;在配置页面输入新增待转换返回数据接口对应的新增配置信息,并将新增配置信息保存在存储媒介中,新增配置信息与配置信息用于单位转换插件使用。
[0103]
需要说明的是,本实施例提供的一种用于对接不同接口的数据单位转换装置所涉及各功能单元的其他相应描述,可以参考图1至图2的对应描述,在此不再赘述。
[0104]
基于上述如图1至图2所示方法,相应的,本实施例还提供了一种非易失性存储介质,其上存储有计算机可读指令,该可读指令被处理器执行时实现上述如图1至图2所示的用于对接不同接口的数据单位转换方法。
[0105]
基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景的方法。
[0106]
基于上述如图1至图2所示的方法和图3、图4所示的虚拟装置实施例,为了实现上述目的,本实施例还提供了一种计算机设备,如图5所示,该计算机设备包括处理器(processor)41、通信接口(communications interface)42、存储器(memory)43、以及通信总线44。其中:处理器41、通信接口42、以及存储器43通过通信总线44完成相互间的通信。通信接口44,用于与其它设备比如客户端或其它服务器等的网元通信。处理器41,用于执行程序,具体可以执行上述用于对接不同接口的数据单位转换方法实施例中的相关步骤。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。处理器41可能是中央处理器cpu,或者可能是特定集成电路asic(application specific integrated circuit),或者可能是被配置成实施本发明实施例的一个或多个集成电路。
[0107]
可选的,该计算机设备还可以包括用户接口、网络接口、摄像头、射频(radio frequency,rf)电路,传感器、音频电路、wi-fi模块等等。用户接口可以包括显示屏(display)、输入单元比如键盘(keyboard)等,可选用户接口还可以包括usb接口、读卡器接口等。网络接口可选的可以包括标准的有线接口、无线接口(如wi-fi接口)等。
[0108]
本领域技术人员可以理解,本实施例提供的一种计算机设备结构并不构成对该实
体设备的限定,可以包括更多或更少的部件,或者组合某些部件,或者不同的部件布置。
[0109]
非易失性存储介质中还可以包括操作系统、网络通信模块。操作系统是管理上述计算机设备硬件和软件资源的程序,支持信息处理程序以及其它软件和/或程序的运行。网络通信模块用于实现非易失性存储介质内部各组件之间的通信,以及与信息处理实体设备中其它硬件和软件之间通信。
[0110]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以借助软件加必要的通用硬件平台的方式来实现,也可以通过硬件实现。
[0111]
本发明提供的一种用于对接不同接口的数据单位转换方法、装置及设备,本发明可首先系统向所有返回数据接口请求数据时引用单位转换插件,所有返回数据接口中的目标返回数据接口向单位转换插件返回第一数据;进一步的,利用单位转换插件判断目标返回数据接口是否需要进行单位转换;最后,若是,则对第一数据进行单位转换,将转换后的第二数据返回给系统的接收数据接口;若否,则将第一数据返回给接收数据接口。通过本发明中的技术方案,开发人员的工作就是针对某个接口配置需要转换的对应字段,配置完成后,引用单位转换插件即可直接使用写好的配置,不用更改公共接口的代码,因此,相比于现有技术中需要在公共接口的代码中写上大量的条件语句,本发明没有代码冗余重复,不会增加复杂的逻辑,不必担心改错代码,进一步造成其他代码的错误,同时相比于现有技术中做个数据单位的转换就需要拉代码分支、修改代码并提交、打包并部署、测试并验证、预发灰度上线等一整套流程,本发明节省了工作流程,极大的提高了数据单位转换的效率。
[0112]
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
[0113]
上述本发明序号仅仅为了描述,不代表实施场景的优劣。以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。