CN112667229B - 一种基于OpenAPI的异构软件集成系统及方法 - Google Patents
一种基于OpenAPI的异构软件集成系统及方法 Download PDFInfo
- Publication number
- CN112667229B CN112667229B CN202110278455.XA CN202110278455A CN112667229B CN 112667229 B CN112667229 B CN 112667229B CN 202110278455 A CN202110278455 A CN 202110278455A CN 112667229 B CN112667229 B CN 112667229B
- Authority
- CN
- China
- Prior art keywords
- data
- detail
- module
- integration
- conversion
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于OpenAPI的异构软件集成系统及方法。其中集成系统包括:数据探测模块、数据推送模块、设置模块、读写服务模块、数据序列化模块、数据转换模、数据范围过滤模块、字段值拷贝模块。按照本发明的系统以及方法,能够最大限度的提升异构IT系统之间的集成效率;使用该方法和系统,实现了数据转换模块以后,待集成系统的现有开放API可完全复用;数据转换不需要重新编写代码,在页面进行配置即可。本发明屏蔽了不同业务系统API中对象数据的差异,通过配置就能完成数据转换,把原来需要编写代码完成数据转换的部分,转变为图形化页面配置来完成,达到提升集成效率、降低操作难度、实现了集成操作简单便捷的目的。
Description
技术领域
本发明涉及计算机信息技术领域,具体涉及一种基于OpenAPI的异构软件集成方法和系统,属于数据管理、计算机、集成设计技术领域。
背景技术
随着软件技术的发展, 企业级IT系统越来越专业。没有一个IT系统能覆盖企业的所有业务需求。因此企业在部署多套软件时,都需要对这些IT系统进行集成。集成的主要过程分为三部分:从源系统读取数据,根据需求进行数据转换,转换后的数据写入到目标系统。集成工作的大部分时间花费在数据转换这个步骤。
现有的异构系统对接方法,要么是基于项目开发,要么是基于数据库表。基于数据库表做集成的方案中存在以下缺点:对于成熟的软件系统,数据库表的数量庞大,一个软件系统背后通常有几百张数据库表在支撑业务,通过数据库表进行集成的数据转换量巨大,现实情况中很难实现;即使进行了基于数据库表的转换,也只能做简单数据搬运,无法完成不同系统之间针对具体业务的集成。在中国专利文献CN101866361,CN101171582,CN1687922,CN101697166,CN107656951B中,都是基于数据库中的数据来做对接,对于成熟的软件系统,背后几百张数据库支撑业务,不是内部的资深开发,很难完成基于数据库表的集成。
现有技术中基于OpenAPI做项目化的开发的技术方案中,虽然成熟的IT系统都有读写对象的OpenAPI接口(应用程序编程接口)开放出来,但由于不同系统之间的对象属性的差异,数据转换的过程都不一样。需要开发人员对实际系统,理解业务差异后,手工编写代码进行数据转换。这种方法代码没有可复用性,开发成本高,后期维护成本高。因此,现有技术中基于OpenAPI做项目化的开发的技术方案中,中间进行数据转换产生周期长效率低、代码很难复用的问题。同时现有技术中系统集成基于本地化开发和部署,计算能力有限,在面临大数据量和复杂问题时,会存在障碍。
综上,针对异构系统的集成,现有技术中存在以下问题:
1.只能按照单个项目交付;代码没有可复用性,集成新IT系统时需要高代码开发;
2.只能针对数据库做集成;成熟的IT系统背后的数据库表达到数百张,集成难度巨大,很难落地;
3.需要侵入待集成IT系统,不能独立于待集成IT系统部署;
4.数据映射不能基于IT系统的原始数据, 需要再次抽象元数据;
5.无法基于IT系统现有的OpenAPI实现通用的集成方案;
6.数据转换需要编码,无法完全通过页面配置完成。
发明内容
本发明的目的,是为异构IT系统之间的集成提供了一种系统和方法,最大限度的提升集成效率,并能够克服现有的集成系统的缺点,使用本发明的方法和系统,在系统内部实现了数据转换模块中对象对齐模型以后,待集成系统的现有开放OpenAPI可完全复用。
具体而言,本发明的一种基于OpenAPI的异构软件集成系统,包括:
数据探测模块:负责整个集成系统的定时任务的调度,通过时间片自动查询目标软件系统待同步数据;
数据推送模块: 对于支持新增数据推送事件的系统,不用等待时间片轮询,直接把数据推送到集成系统,实时触发数据同步;
设置模块:具有用户设置界面,供用户设置异构软件间的字段映射关系,选择数据转换的工作模式;
读写服务模块:支持两种读写方式,a)能够通过IT系统开放的API读写数据进行异构软件的数据读取和数据写入;b)能够从数据库中进行数据读取和数据写入;
数据序列化模块:用于把读取到的原始数据,进行格式统一操作,并把读取到的数据序列化为对象;
数据转换模块:用于把待集成的异构软件的数据从源IT系统格式转为中间格式;支持三种工作模式:a)通过对象对齐实现零代码配置,b)通过低代码动态脚本转换,c)通过对接外部高代码服务转换;
数据范围过滤模块:对待同步数据按照条件进行过滤;
字段值拷贝模块:用于数值拷贝。
进一步的,在数据序列化模块中,把读取到的数据序列化为对象;将对象的数据分为主数据和明细数据,一条主数据下带一条或者多条明细数据,每条主数据或者每条明细数据都有一个或多个属性组成,明细数据包含主数据ID列,用来表示明细数据与主数据的隶属关系。
进一步的,对象对齐具有多种数据对齐模型,包括:
属性拆分模型:把源对象中不同的属性,拆分到目标系统不同的对象下;
明细拆分到明细模型:把对象中的明细数据,搬运到目标对象的明细数据;
明细拆分到其它关联对象模型:把源对象中的明细数据,在目标对象中转为新的对象的主数据;
数据分流模型:把源对象的数据,根据不同的条件,转换到不同的目标对象;
对象合并模型:把多个源对象的数据,合并到同一个目标对象中。
进一步的,集成系统独立于所有IT系统部署到云端,只通过OpenAPI和IT系统进行交互。这样,当碰到大计算量的需求,可充分利用云端的弹性计算能力。
进一步的,本发明的集成系统可以直接进行业务集成。数据集成和业务集成的区别在于,数据集成解决的是异构系统之间,从源系统按照目标系统的格式要求把数据搬运到目标系统,转换为目标系统能够识别的数据。 业务集成,除了数据转换搬运外,还需要做额外的业务操作,比如新产生一条数据时,触发一个审批流程。
本发明中集成系统独立于两个IT系统之外,对原来的两个IT系统没有任何侵入,独立于IT系统部署集成业务,可以充分利用云端计算能力解决复杂问题,同时基于OpenAPI的开放的对象和属性做映射,对用户来说更容易理解。
进一步的,本发明提供一种基于OpenAPI的异构软件集成方法,包括以下步骤:
数据探测步骤:负责整个集成系统的定时任务的调度,通过时间片自动查询目标软件系统待同步数据;或数据推送步骤: 对于支持新增数据推送事件的系统,不用等待时间片轮询,直接把数据推送到集成系统,实时触发数据同步;
设置步骤:使用用户设置界面,供用户设置异构软件间的字段映射关系,选择数据转换工作模式;
数据读取:对于探测的数据,通过IT系统开放的API读写数据进行异构软件的数据读取;对于推送的数据,先将数据存储到数据库,数据读取从数据库进行;
数据序列化:把读取到的原始数据,进行格式统一操作,并把读取到的数据序列化为对象;
数据转换:用于把待集成的异构软件的数据从源IT系统格式转为中间格式;支持三种工作模式:通过对象对齐实现零代码配置,通过低代码动态脚本转换,通过对接外部高代码服务转换。
数据范围过滤:对待同步数据按照条件进行过滤;
字段值拷贝:数值拷贝;
数据写入:通过IT系统开放的API读写数据进行异构软件的数据写入。
采用本发明的技术方案,克服了现有集成系统的难点,并能够带来了诸多益处:1、本发明基于IT系统的OpenAPI做通用的集成,通过OpenAPI读写数据,搬运数据的同时OpenAPI接口自动完成了相应业务操作。2、基于IT系统的原始数据做数据映射,支持零代码开发(图形化配置),低代码开发和高代码开发满足不同需求;新系统接入时,可复用已有的代码。3. 本发明将集成系统独立部署到云端,充分利用云端弹性计算能力。4、本发明在数据集成的基础上,增加了业务集成。
下面将参照附图,对本发明作进一步详细的说明。
附图说明
构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了本发明的技术框架;
图2示出了本发明的内部构架关系;
图3示出了对象对齐-按属性拆分的原理图;
图4示出了对象对齐-把源对象明细拆分到目标对象明细的原理图;
图5示出了对象对齐-明细拆分到其它关联对象的原理图;
图6示出了对象对齐-数据分流的原理图;
图7示出了对象对齐-对象合并的原理图;
图8示出了用户设置界面中轮询频率设置的示例图;
图9示出了用户设置界面中对象对齐模型选择的示例图;
图10示出了用户设置界面中OpenAPI接口设置的示例图;
图11示出了用户设置界面中异构系统字段绑定设置的示例图;
图12示出了本发明的方法步骤中的部分流程。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
参见图1、图2所示,本发明提供一种基于OpenAPI的异构软件集成系统,包括:
数据探测模块:负责整个集成系统的定时任务的调度,通过时间片自动查询目标软件系统待同步数据;
数据推送模块: 对于支持新增数据推送事件的系统,不用等待时间片轮询,直接把数据推送到集成系统,实时触发数据同步;
设置模块:具有用户设置界面,供用户设置异构软件间的字段映射关系,选择数据转换的工作模式;
读写服务模块:支持两种读写方式,a)能够通过IT系统开放的API读写数据进行异构软件的数据读取和数据写入;b)能够从数据库中进行数据读取和数据写入;
数据序列化模块:用于把读取到的原始数据,进行格式统一操作,并把读取到的数据序列化为对象;
数据转换模块:用于把待集成的异构软件的数据从源IT系统格式转为中间格式;支持三种工作模式:a)通过对象对齐实现零代码配置,b)通过低代码动态脚本转换,c)通过对接外部高代码服务转换;
数据范围过滤模块:对待同步数据按照条件进行过滤;
字段值拷贝模块:用于数值拷贝。
本发明的数据探测模块负责整个集成系统的定时任务的调度,通过时间片自动查询目标软件系统待同步数据;由用户自己设置时间片大小,单位可以是分钟、小时。每个时间片,都会调用一次源IT系统的OpenAPI查询接口,查询出新增数。查到的数据,经过序列化模块转为对象数据的内部数据结构,然后再经过数据转换模块把数据进行转换到中间对象的数据,然后通过数据范围模块校验一下该条数据是否符合同步条件,不符合条件的丢弃数据,符合条件的继续送到字段值拷贝,把数据转换到目标系统目标对象的数据,最后通过读写服务,调用目标系统OpenAPI,把最终结果写入到目标系统,同时由OpenAPI完成目标系统的业务操作。
同时,本发明还具有数据推送模块: 对于支持新增数据推送事件的系统,不用等待时间片轮询,直接把数据推送到集成系统,实时触发数据同步。由此,对应的,读写服务模块支持两种读写方式,a)能够通过IT系统开放的API读写数据进行异构软件的数据读取和数据写入;b)能够从数据库中进行数据读取和数据写入,即也支持在设置模块中,设置该对象的数据是推送,那么读写服务查询该对象的数据,不从OpenAPI而是从数据库进行。
本发明中,数据转换的目的,是在异构系统之间对象和属性建立映射关系时,把源系统的对象先拆解为中间对象,然后用中间对象和目标系统对象严格对齐。这样在做源系统的数据和目标系统的数据之间进行转换时,因为两边的结构已经严格对齐,转换就是简单的字段值搬运。数据转换做成标准功能,提供标准的界面配置,而无需针对每个客户重新编写代码。
对象的数据分为主数据和明细数据。主数据一定存在,一条主数据下可以带一条或者多条明细数据。每条主数据或者每条明细数据都是有多个属性组成。明细数据中的主数据ID,用来表示该条明细数据属于哪条主数据。示例格式如下:
主数据 | 属性1 | 属性2 |
明细数据 | 主数据ID | 属性1 | 属性2 | 属性3 |
本发明针对源对象如何转为中间对象设置有多种对齐模型:
1、属性拆分。把源对象中不同的属性,拆分到目标系统不同的对象下(参见图3)。
2、明细拆分到明细。源对象中的明细数据,搬运到目标对象的明细数据(数据是一样的,但是放置的对象和字段,在源系统和目标系统是不一样的)(参见图4)。
3、明细拆分到其它关联对象。源对象中的明细数据,在目标对象中转为新的对象的主数据(参见图5)。
4、数据分流。源对象的数据,根据不同的条件,转换到不同的目标对象(参见图6)。
5、对象合并。多个源对象的数据,合并到同一个目标对象中(源系统是两个对象下,分别有一条数据,目标系统是只有一个对象,来存放这两条数据,一个对象下,可以有多条主数据,每条主数据,都可以带多条属于自己的明细数据)(参见图7)。
有了模型定义,中间对象的数据往目标对象转换,变得有章可循。正因为定义了模型,源数据到中间对象,中间对象再到目标数据的整条路径得以打通。
整个数据转换过程,用户只需要在页面做两个配置:选择对齐模型,设置中间对象和目标系统字段映射关系。数据转换服务根据对象对齐模型,在中间对象和源系统对象之间搬运数据,中间对象和目标系统对象之间,就是逐个字段简单的数值拷贝。这样,整个数据转换过程,就从原来编写代码,转为通过页面配置完成。
数据转换部分支持零代码开发模式(图形化配置)之外,还支持低代码开发模式和高代码开发模式。
通过数据转换模块的对象对齐模型,可以通过图形化完成配置,无需写代码。
低代码开发模式,例如是:对于有些个性化的数据转换,可以通过嵌入动态脚本来完成。比如转换的过程中,针对某一个客户,需要特殊处理数据,其它客户不需要特殊处理。
高代码开发模式,例如是:对于非常特殊的个性化数据转换,可以通过高代码来完成交付。集成系统需要定义好和外部系统的Http接口调用规范。需要高代码开发时,高代码部分放在外部服务来完成,通过http接口对接到集成系统来。比如数据转换之前,需要查询第三方系统的数据,根据第三方系统返回结果还要进行复杂计算,进行数据转换。
同一个系统中三种开发模式可以同时存在,但是一个对象只能使用一种模式。
在零代码开发模式(图形化配置)下,从源IT系统往目标IT系统同步数据时,步骤从
变为
通过本发明的零代码开发模式(图形化配置),通过引入中间对象,使得异构软件间的对象和属性能严格对齐。针对对齐后的数据,进行数据转换时仅需对每个属性进行简单的数值拷贝,其操作将变得简单快捷,采用本发明的零代码开发模式(图形化配置)可以将异构软件的集成做成标准化的功能,并提供图形化的页面给最终用户使用,能够实现在完成异构系统间数据转换时无需编写代码。针对每个待集成的系统,只需要在集成系统上配置好IT系统的OpenAPI接口,可包括接口地址,请求方式,返回值字段等信息。数据转换部分也不需要编写代码,在页面进行配置即可完成。
本发明提供的低代码开发模式和高代码开发模式,能够进一步提高系统的兼容适应性,以满足不同需求。
不同IT系统的OpenAPI是有差异的,要想从数据集成到基于OpenAPI的集成,会面临诸多待解决的技术问题:首先是如何以统一的方式集成异构OpenAPI。其次是如何基于OpenAPI返回的数据做对象和属性映射。本发明的技术方案需要将上述问题一一解决。
在读写服务模块中,解决了针对不同系统不同实现的OpenAPI的接入。读写服务的工作流程:
1、调用OpenAPI接口之前,低代码方式通过获取鉴权信息。可以是本地固定一个加密秘钥,也可能是http请求获取身份。依赖IT系统的OpenAPI要求,鉴权信息放到OpenAPI请求的头部。
2、从数据库中查出用户设置好的OpenAPI接口地址,发起OpenAPI接口调用。
3、对于支持按照时间查询和分页获取数据的OpenAPI,按照用户设置的时间片和分页获取数据。对于不支持按照时间查询和分页获取数据的,先通过OpenAPI把数据查回来,存储到中间数据库,每插入一条数据到中间数据库时,记录本次插入的时间,当做这条数据的最后修改时间。读写服务查询数据时,从中间数据库按照时间查询和分页获取数据。
4、OpenAPI返回的结果,判断成功和失败。先从数据库中读出用户设置的成功和失败返回码,和当前返回结果中的返回码做字符串比较,判断成功或者失败。如果成功,返回分页的数据给到下一个模块处理,如果失败,返回错误信息。
不同系统的OpenAPI有不同的鉴权实现,即OpenAPI都会鉴别集成系统的身份。比如有的是约定字符串加密,有的是通过标准的OAuth2.0协议。本发明通过低代码嵌入动态脚本来解决这个问题,对于非常标准的OpenAPI,通过配置地址零代码就可以,对于不太标准的OpenAPI,允许手工嵌入一段脚本处理鉴权,获取访问OpenAPI需要的身份。无需针对每个接口单独处理。
本发明能够控制OpenAPI返回的数据量,一次返回1万条数据和一次返回100条数据,对于集成系统的稳定性影响巨大,本发明可以通过指定时间片和分页进行数据分割,实现平稳获取用户数据的需求。
本发明具有容错处理模块,调用OpenAPI的查询接口时,若OpenAPI系统宕机,需长时间才能恢复。此时,会面临轮询的数据如何才能保证正确以及宕机时间数据如何重新查到的问题。本发明的方案是通过记录最后同步成功时间戳来解决该问题。在OpenAPI系统宕机之后,时间戳就不会更新,会停留在宕机之前最后一次查询成功的时间点。每隔一个时间片轮询一次OpenAPI, 等OpenAPI系统恢复服务以后,又可以正常获取数据。
本发明的系统架构为,针对异构软件集成系统设置面向用户的服务层,服务层包括设置模块、数据探测模块、数据推送模块,其能够提供页面配置服务,驱动整个系统运转;异构软件集成系统的逻辑层在服务层驱动下,从源IT系统的OpenAPI的获取数据,把数据转换后,写入到目标IT系统;在数据层存储设置信息、对象对齐信息、已同步过的数据映射、主动推送数据、轮询时间间隔等。
在另一实施例中,本发明的集成系统可以直接进行业务集成。数据集成和业务集成的区别在于,数据集成解决的是异构系统之间,从源系统按照目标系统的格式要求把数据搬运到目标系统,转换为目标系统能够识别的数据。 业务集成,除了搬运数据,还需要做额外的业务操作,比如新产生一条数据时,触发一个审批流程。或者一条ERP系统的客户数据,搬运到CRM系统上以后,可以分别拆解为客户和财务两条数据,新产生的CRM客户数据通过CRM的OpenAPI接口写入,OpenAPI自动触发CRM客户对象审批流程,新产生的CRM财务数据也通过CRM的OpenAPI接口写入,OpenAPI自动触发CRM财务对象审批流程。
具体的,结合附图8-12,本发明的基于OpenAPI的异构软件集成方法,包括以下步骤:
数据探测步骤:负责整个集成系统的定时任务的调度,通过时间片自动查询目标软件系统待同步数据;或数据推送步骤: 对于支持新增数据推送事件的系统,不用等待时间片轮询,直接把数据推送到集成系统,实时触发数据同步;
设置步骤:使用用户设置界面,供用户设置异构软件间的字段映射关系,选择数据转换工作模式;
数据读取:对于探测的数据,通过IT系统开放的API读写数据进行异构软件的数据读取;对于推送的数据,先将数据存储到数据库,数据读取从数据库进行;
数据序列化:把读取到的原始数据,进行格式统一操作,并把读取到的数据序列化为对象;
数据转换:用于把待集成的异构软件的数据从源IT系统格式转为中间格式;支持三种工作模式:通过对象对齐实现零代码配置,通过低代码动态脚本转换,通过对接外部高代码服务转换。
数据范围过滤:对待同步数据按照条件进行过滤;
字段值拷贝:数值拷贝;
数据写入:通过IT系统开放的API读写数据进行异构软件的数据写入。
通过OpenAPI把数据传递到目标系统,可以保证业务上的正确。比如数据写入以后,要触发一个审批。OpenAPI的接口完整的覆盖了数据搬运的过程中需要完成的业务操作。
在具体的实施例中,设置步骤可以分为四部分:一是轮询频率设置,二是数据转换工作模式选择,三是OpenAPI接口设置(包含设置路径,返回值说明等),四是异构系统的字段绑定设置。
具体的操作步骤说明举例如下:
假设源IT系统的OpenAPI的接口读出一条数据,对象名是源客户对象,数据用Map表示是 <<key1, value1>, <key2,value2>>, key是对象下的属性名,value是属性值。
目标IT系统的OpenAPI接口接收的数据用目标客户和目标财务对象两个对象接收,数据用Map表示是 目标客户的Map: <key3, value1> ,目标财务对象的Map: <key4,value2>。
首先在设置模块中,把IT系统的OpenAPI的访问地址、返回值等配置好。配置轮询时间间隔,启动集成服务。
步骤1:数据探测模块根据用户设置的轮询时间间隔,调用IT系统的OpenAPI查询源客户对象下的待同步数据。或者数据推送模块监听到OpenAPI传递过来的数据新增事件。
步骤2:从源IT系统OpenAPI获取到的数据经过序列化模块,先转换为Map数据结构。一条数据(主数据或者明细数据)可以有多个key,value 键值对。
步骤3:根据用户选择的数据对齐模型,把目标数据的格式,转换为中间对象的格式。
比如源数据中,对象名是 源客户对象, 数据是Map<主数据key1, value1, key2,value2>, 根据对齐模型,中间对象有两个,一个对象名是中间客户对象,数据是Map<主数据key1,value1>, 第二个中间对象名是中间财务对象,数据是Map<key2, value2>。中间对象的Map格式会根据选择的对齐模型不同而有不同的格式。
步骤4:检查一下是否符合数据范围模块设置的过滤条件,不满足条件则丢弃数据,满足条件的话,数据传递步骤5。
步骤5. 把字段值拷贝到目标数据的数据接口。以Map来接收数据。和中间对象的Map相比,value不用改变,key要变换为字段映射关系中目标系统的key。
比如:中间客户对象,数据是Map<主数据key1,value1>, 中间财务对象,数据是Map<key2, value2>。
转到目标系统的格式是, 对象名目标客户对象,数据是Map<key3,value1>, 目标财务对象,数据是Map<key4, value2>。对象名和key变化了,但是value没有变化。
步骤6. 目标数据通过调用目标IT系统的OpenAPI,写入到目标IT系统。目标IT系统的OpenAPI会自动完成相应的业务操作。
按照本发明的系统以及方法,能够最大限度的提升异构IT系统之间的集成效率;使用该方法和系统,实现了数据转换模块以后,待集成系统的现有开放API可完全复用;数据转换不需要重新编写代码,在页面进行配置即可。本发明屏蔽了不同业务系统API中对象数据的差异,通过配置就能完成数据转换,把原来需要编写代码完成数据转换的部分,转变为图形化页面配置来完成,达到提升集成效率、降低操作难度、实现了集成操作简单便捷的目的。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种基于OpenAPI的异构软件集成系统,包括:数据探测模块:负责整个集成系统的定时任务的调度,通过时间片自动查询目标软件系统待同步数据;数据推送模块:对于支持新增数据推送事件的系统,不用等待时间片轮询,直接把数据推送到集成系统,实时触发数据同步;设置模块:具有用户设置界面,供用户设置异构软件间的字段映射关系,选择数据转换的工作模式;读写服务模块:支持两种读写方式,a)能够通过IT系统开放的API读写数据进行异构软件的数据读取和数据写入;b)能够从数据库中进行数据读取和数据写入;数据序列化模块:用于把读取到的原始数据,进行格式统一操作,并把读取到的数据序列化为对象;数据转换模块:用于把待集成的异构软件的数据从源IT系统格式转为中间格式;支持三种工作模式:a)通过对象对齐实现零代码配置,b)通过低代码动态脚本转换,c)通过对接外部高代码服务转换;数据范围过滤模块:对待同步数据按照条件进行过滤;字段值拷贝模块:用于数值拷贝;
其中,在数据序列化模块中,把读取到的数据序列化为对象;将对象的数据分为主数据和明细数据,一条主数据下带一条或者多条明细数据,每条主数据或者每条明细数据都有一个或多个属性组成,明细数据包含主数据ID列,用来表示明细数据与主数据的隶属关系;
其中,数据转换模块中,对象对齐具有多种数据对齐模型,包括:属性拆分模型:把源对象中不同的属性,拆分到目标系统不同的对象下;明细拆分到明细模型:把对象中的明细数据,搬运到目标对象的明细数据;明细拆分到其它关联对象模型:把源对象中的明细数据,在目标对象中转为新的对象的主数据;数据分流模型:把源对象的数据,根据不同的条件,转换到不同的目标对象;对象合并模型:把多个源对象的数据,合并到同一个目标对象中;
其中,通过指定时间片和分页进行数据分割,实现平稳获取用户数据的需求。
2.根据权利要求1所述的集成系统,其中集成系统独立于所有IT系统部署到云端,只通过OpenAPI和IT系统进行交互。
3.根据权利要求1或2所述的集成系统,其中集成系统还能够进行业务集成,集成系统在完成数据转换搬运时,能够触发业务操作,在新产生一条数据时,能够触发一个审批流程。
4.一种基于OpenAPI的异构软件集成方法,包括以下步骤:数据探测步骤:负责整个集成系统的定时任务的调度,通过时间片自动查询目标软件系统待同步数据;或数据推送步骤:对于支持新增数据推送事件的系统,不用等待时间片轮询,直接把数据推送到集成系统,实时触发数据同步;设置步骤:使用用户设置界面,供用户设置异构软件间的字段映射关系,选择数据转换工作模式;数据读取:对于探测的数据,通过IT系统开放的API读写数据进行异构软件的数据读取;对于推送的数据,先将数据存储到数据库,数据读取从数据库进行;数据序列化:把读取到的原始数据,进行格式统一操作,并把读取到的数据序列化为对象;数据转换:用于把待集成的异构软件的数据从源IT系统格式转为中间格式;支持三种工作模式:通过对象对齐实现零代码配置,通过低代码动态脚本转换,通过对接外部高代码服务转换,数据范围过滤:对待同步数据按照条件进行过滤;字段值拷贝:数值拷贝;数据写入:通过IT系统开放的API读写数据进行异构软件的数据写入;
其中,在数据序列化步骤中,把读取到的数据序列化为对象;将对象的数据分为主数据和明细数据,一条主数据下带一条或者多条明细数据,每条主数据或者每条明细数据都有一个或多个属性组成,明细数据包含主数据ID列,用来表示明细数据与主数据的隶属关系;
其中,数据转换中对象对齐具有多种数据对齐模型,包括:属性拆分模型:把源对象中不同的属性,拆分到目标系统不同的对象下;明细拆分到明细模型:把对象中的明细数据,搬运到目标对象的明细数据;明细拆分到其它关联对象模型:把源对象中的明细数据,在目标对象中转为新的对象的主数据;数据分流模型:把源对象的数据,根据不同的条件,转换到不同的目标对象;对象合并模型:把多个源对象的数据,合并到同一个目标对象中;
其中,通过指定时间片和分页进行数据分割,实现平稳获取用户数据的需求。
5.根据权利要求4所述的集成方法,其中集成系统独立于所有IT系统部署到云端,只通过OpenAPI和IT系统进行交互。
6.根据权利要求4或5所述的集成方法,其中集成方法还包括业务集成,在完成数据转换搬运时,能够触发业务操作,在新产生一条数据时,触发一个审批流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278455.XA CN112667229B (zh) | 2021-03-16 | 2021-03-16 | 一种基于OpenAPI的异构软件集成系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110278455.XA CN112667229B (zh) | 2021-03-16 | 2021-03-16 | 一种基于OpenAPI的异构软件集成系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112667229A CN112667229A (zh) | 2021-04-16 |
CN112667229B true CN112667229B (zh) | 2021-06-29 |
Family
ID=75399388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110278455.XA Active CN112667229B (zh) | 2021-03-16 | 2021-03-16 | 一种基于OpenAPI的异构软件集成系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112667229B (zh) |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364295A (zh) * | 2008-09-27 | 2009-02-11 | 中国网络通信集团公司 | 电信产品信息处理方法和业务管理子系统 |
CN103632250A (zh) * | 2013-12-06 | 2014-03-12 | 湖南御家汇化妆品有限公司 | 一种销售订单快速排序分组筛选方法 |
CN105205575A (zh) * | 2014-06-13 | 2015-12-30 | 国网浙江杭州市萧山区供电公司 | 业务流程绩效评估及决策分析系统 |
CN106920136A (zh) * | 2015-12-28 | 2017-07-04 | 航天信息股份有限公司 | 货运专票开具的方法 |
CN111240645B (zh) * | 2020-01-06 | 2024-04-09 | 北京纷扬科技有限责任公司 | 一种基于PaaS的异构软件集成方法和系统 |
-
2021
- 2021-03-16 CN CN202110278455.XA patent/CN112667229B/zh active Active
Non-Patent Citations (1)
Title |
---|
An Open-Source Tool Flow for the Composition of Reconfigurable Hardware Thread Pool Architectures;Jens Korinth等;《2015 IEEE 23rd Annual International Symposium on Field-Programmable Custom Computing Machines》;20150716;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112667229A (zh) | 2021-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996458B2 (en) | High volume, high speed adaptive data replication | |
US8121978B2 (en) | Database system providing improved methods for data replication | |
CN106164865B (zh) | 用于数据复制的依赖性感知的事务批处理的方法和系统 | |
US8510270B2 (en) | MYSQL database heterogeneous log based replication | |
US6622152B1 (en) | Remote log based replication solution | |
CN105574187B (zh) | 一种异构数据库复制事务一致性保障方法及系统 | |
US8676749B2 (en) | Statement logging in databases | |
CN112099989A (zh) | 一种Kubernetes云原生应用灾备、迁移与恢复的方法 | |
CN101184106A (zh) | 一种移动数据库的关联事务处理方法 | |
KR102119258B1 (ko) | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 | |
US8412674B2 (en) | Replication resynchronization | |
CN104050276A (zh) | 一种分布式数据库的缓存处理方法及系统 | |
WO2023231665A1 (zh) | 分布式事务处理方法、系统、设备及可读存储介质 | |
CN104142930A (zh) | 通用δ数据装载 | |
KR20200056357A (ko) | 데이터베이스 관리 시스템에서의 변경 데이터 캡쳐 구현 기법 | |
US20200019333A1 (en) | Systems and methods for redundant array data alignment | |
CN109005167B (zh) | 一种认证数据的处理方法、装置、服务器与存储介质 | |
CN110941629A (zh) | 元数据处理方法、装置、设备及计算机可读存储介质 | |
CN114048370A (zh) | 基于Python的归档文件处理、存储及一站式管理平台 | |
CN112667229B (zh) | 一种基于OpenAPI的异构软件集成系统及方法 | |
US20230252021A1 (en) | Annotating datasets without redundant copying | |
WO2022252322A1 (zh) | 基于特征标记的电网监控系统内存库关系库同步方法 | |
CN107168822B (zh) | Oracle streams的异常修复系统及方法 | |
CN114490570A (zh) | 生产数据同步方法、装置、数据同步系统及服务器 | |
CN116821232A (zh) | 一种数据同步方法及相关装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |