本申请涉及数据同步领域,具体涉及一种基于外部接口可配置适配器的数据同步方法、装置及设备。
背景技术:
1、对于数据同步,是一个比较常见的业务场景。随着越来越多的企业和部门对数据共享需求的增多,数据同步的需求场景也随之增加,数据同步的业务价值在于打通不同系统之间的数据壁垒,使数据互通共享。
2、在数据同步领域,同平台内部系统之间的数据同步一般可借助中间件直接在数据源层面进行数据同步,但在与外部系统之间进行数据同步时,出于权限安全等因素的考虑,一般不会在数据源层面进行数据同步,而是通过api(application programminginterface,应用程序编程接口)接口来进行数据同步交互。
3、数据需求方通过api接口调用数据提供方同步数据时,数据需求方需通过硬编码方式对接数据提供方指定的接口,以定时调度的方式,将接口返回的数据处理适配后持久化存储,用来满足自身系统的业务场景需求。
4、随着一个系统部署数量的增加,需要融入更多已有的平台,从而要对接更多平台内的各个子系统api接口,如组织机构、用户信息、角色信息等。因不同接口的请求方式、请求地址、请求参数和返回参数的不同,硬编码对接的工作量随之增加,针对每个不同接口均需要重复联调适配,耗时且增加了研发成本。
技术实现思路
1、本申请提供一种基于外部接口可配置适配器的数据同步方法、装置及设备,能够有效减少对接外部接口的联调工作,缩短了研发周期,极大节约了基于接口数据同步有关的研发成本。
2、第一方面,本申请实施例提供一种基于外部接口可配置适配器的数据同步方法,所述基于外部接口可配置适配器的数据同步方法包括:
3、获取数据提供方的api接口参数,进行外部接口适配器的同步接口配置项的配置,实现与数据提供方api接口的联通;
4、监测得到数据需求方的同步服务被调度服务触发后,基于数据提供方的api数据入库后对应的表名称扫描得到外部接口适配器的同步接口配置项;
5、解析同步接口配置项得到api接口参数以进行外部接口适配器的调用,将数据提供方api接口返回的数据适配后新增或更新入库。
6、结合第一方面,在一种实施方式中,所述api接口参数包括请求地址、请求方式、请求头参数、请求参数和返回参数。
7、结合第一方面,在一种实施方式中,所述进行外部接口适配器的同步接口配置项的配置,实现与数据提供方api接口的联通,具体步骤包括:
8、基于外部接口适配器的同步接口配置页面,将数据提供方的api接口参数配置至外部接口适配器,实现外部接口适配器的同步接口配置项的配置;
9、进行接口连通测试,确保外部接口适配器与数据提供方api接口的联通正常。
10、结合第一方面,在一种实施方式中,在将数据提供方的api接口参数配置至外部接口适配器时,其中,对于请求参数:
11、所述请求参数支持动态参数配置,所述动态参数包括设定日期的时间范围参数,且动态参数动态取值后支持增量与全量数据的查询。
12、结合第一方面,在一种实施方式中,当进行接口连通测试之后,还包括:
13、将数据提供方的api数据入库后对应的数据保存表名称和在数据表中的主键字段名,配置至同步接口配置页面;
14、进行业务返回参数所在的数据层级的配置,以及数据提供方api接口的返回字段与需求方数据库表字段的映射关系的配置;
15、进行外部接口适配器是否启用的配置。
16、结合第一方面,在一种实施方式中,所述监测得到数据需求方的同步服务被调度服务触发后,基于数据提供方的api数据入库后对应的表名称扫描得到外部接口适配器的同步接口配置项,具体步骤包括:
17、当数据需求方的同步服务被调度服务触发,根据配置的数据提供方的api数据入库后对应的数据保存表名称,以及配置的外部接口适配器的启用状态,扫描得到外部接口适配器的同步接口配置项。
18、结合第一方面,在一种实施方式中,所述调度服务基于quartz定时任务开源框架实现设定周期的定时调度。
19、结合第一方面,在一种实施方式中,所述解析同步接口配置项得到api接口参数以进行外部接口适配器的调用,将数据提供方api接口返回的数据适配后新增或更新入库,具体步骤包括:
20、解析扫描得到的外部接口适配器的同步接口配置项,获取得到api接口参数以进行外部接口适配器的调用;
21、外部接口适配器根据配置的业务返回参数所在的数据层级,对数据提供方api接口返回的数据进行解析;
22、根据外部接口适配器的返回字段、配置的数据提供方api接口的返回字段与需求方数据库表字段的映射关系,以及配置的数据提供方的api数据入库后在数据表中的主键字段名,将数据提供方api接口返回的数据适配后新增或更新入库。
23、第二方面,本申请实施例提供一种基于外部接口可配置适配器的数据同步装置,所述基于外部接口可配置适配器的数据同步装置包括:
24、获取模块,其用于获取数据提供方的api接口参数,进行外部接口适配器的同步接口配置项的配置,实现与数据提供方api接口的联通;
25、配置模块,其用于监测得到数据需求方的同步服务被调度服务触发后,基于数据提供方的api数据入库后对应的表名称扫描得到外部接口适配器的同步接口配置项;
26、执行模块,其用于解析同步接口配置项得到api接口参数以进行外部接口适配器的调用,将数据提供方api接口返回的数据适配后新增或更新入库。
27、第三方面,本申请实施例提供一种基于外部接口可配置适配器的数据同步设备,所述基于外部接口可配置适配器的数据同步设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于外部接口可配置适配器的数据同步程序,其中所述基于外部接口可配置适配器的数据同步程序被所述处理器执行时,实现上述所述的基于外部接口可配置适配器的数据同步方法的步骤。
28、本申请实施例提供的技术方案带来的有益效果包括:
29、通过获取数据提供方的api接口参数,进行外部接口适配器的同步接口配置项的配置,实现与数据提供方api接口的联通,然后监测得到数据需求方的同步服务被调度服务触发后,基于数据提供方的api数据入库后对应的表名称扫描得到外部接口适配器的同步接口配置项,最后解析同步接口配置项得到api接口参数以进行外部接口适配器的调用,将数据提供方api接口返回的数据适配后新增或更新入库,通过外部接口适配器实现数据提供方和数据需求方的连接以进行数据同步,适用大部分基于接口的数据同步场景,适用范围较广,且本申请同步方式代码侵入少,可以做到灵活配置增加或减少需要同步的api接口,扩展性强等优点,有效减少了对接外部接口的联调工作,缩短了研发周期,极大节约了基于接口数据同步有关的研发成本。
1.一种基于外部接口可配置适配器的数据同步方法,其特征在于,所述基于外部接口可配置适配器的数据同步方法包括:
2.如权利要求1所述的一种基于外部接口可配置适配器的数据同步方法,其特征在于:所述api接口参数包括请求地址、请求方式、请求头参数、请求参数和返回参数。
3.如权利要求2所述的一种基于外部接口可配置适配器的数据同步方法,其特征在于,所述进行外部接口适配器的同步接口配置项的配置,实现与数据提供方api接口的联通,具体步骤包括:
4.如权利要求3所述的一种基于外部接口可配置适配器的数据同步方法,其特征在于,在将数据提供方的api接口参数配置至外部接口适配器时,其中,对于请求参数:
5.如权利要求3所述的一种基于外部接口可配置适配器的数据同步方法,其特征在于,当进行接口连通测试之后,还包括:
6.如权利要求5所述的一种基于外部接口可配置适配器的数据同步方法,其特征在于,所述监测得到数据需求方的同步服务被调度服务触发后,基于数据提供方的api数据入库后对应的表名称扫描得到外部接口适配器的同步接口配置项,具体步骤包括:
7.如权利要求6所述的一种基于外部接口可配置适配器的数据同步方法,其特征在于:所述调度服务基于quartz定时任务开源框架实现设定周期的定时调度。
8.如权利要求5所述的一种基于外部接口可配置适配器的数据同步方法,其特征在于,所述解析同步接口配置项得到api接口参数以进行外部接口适配器的调用,将数据提供方api接口返回的数据适配后新增或更新入库,具体步骤包括:
9.一种基于外部接口可配置适配器的数据同步装置,其特征在于,所述基于外部接口可配置适配器的数据同步装置包括:
10.一种基于外部接口可配置适配器的数据同步设备,其特征在于,所述基于外部接口可配置适配器的数据同步设备包括处理器、存储器、以及存储在所述存储器上并可被所述处理器执行的基于外部接口可配置适配器的数据同步程序,其中所述基于外部接口可配置适配器的数据同步程序被所述处理器执行时,实现如权利要求1至8中任一项所述的基于外部接口可配置适配器的数据同步方法的步骤。
