掌桥专利:专业的专利平台
掌桥专利
首页

一种数据集成系统及方法

文献发布时间:2023-06-19 12:02:28


一种数据集成系统及方法

技术领域

本发明涉及计算机软件技术领域,具体涉及一种数据集成系统及方法。

背景技术

数据集成主要是指基于企业分散的信息系统的业务数据进行再集中、再统一管理的过程。机构之间数据集成架构是为多个跨企业、单位机构实现某一项或几项业务活动而建立的架构,具有数据网络复杂、数据安全性要求高、数据交换实时性强等特点,要满足众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求。现有的数据集成的批处理工具需要面对越来越多的数据流,尤其在涉及到变更数据的情况时,现有的批处理的工具的批量处理方式会直接将部分信息进行覆盖,从而造成数据丢失的问题。

发明内容

有鉴于此,本发明实施例提供了一种数据集成系统及方法,解决现有技术中的批量处理方式在面对越来越多的数据流的情况下造成数据丢失的问题。

根据第一方面,本发明实施例提供了一种数据集成系统,包括:数据调用组件、本地服务组件以及远程回调组件,

所述数据调用组件用于通过数据接口的协议获取相应的数据;

所述本地服务组件用于实现服务数据的数据格式转换以及对应的数据处理;

所述远程回调组件用于对所述数据调用组件获取的数据进行数据格式的转换以及对应的数据处理。

本发明实施例提供的数据集成系统,满足众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求,实现跨平台的数据源采集,并且克服了数据丢失的问题;简化了开发人员的工作,使得开发人员不需要处理数据模型转换、记录日志等各种操作,不需要了解数据接口底层协议,只需要关注业务数据的处理。

结合第一方面,在第一方面第一实施方式中,所述本地服务组件包括:服务数据转换子组件,用于进行相应服务数据的格式转换,以实现服务数据的相应处理;

所述远程回调组件包括:回调数据转换子组件,用于进行相应服务数据的格式转换,以实现服务数据的相应处理。

结合第一方面,在第一方面第二实施方式中,本实施例提供的数据集成系统还包括:集成管理模块,

所述集成管理模块用于读取接口数据,并存储接口日志,以实现对数据处理失败的接口数据进行数据补偿;

所述集成管理模块还用于对用户信息以及数据权限进行管理。

根据第二方面,本发明实施例提供了一种数据集成方法,包括:

接收数据集成请求;

基于所述数据集成请求确定数据集成类型;

根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则;

根据所述数据集成类型以及目标格式转换规则确定所述数据集成请求的返回数据。

本发明实施例提供的数据集成方法,通过对接口的实时监控,将预设格式转换规则进行集成,根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则,以确定所述数据集成请求的返回数据;以便于满足众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求,实现跨平台的数据源采集,并且克服了数据丢失的问题;简化了开发人员的工作,使得开发人员不需要处理数据模型转换、记录日志等各种操作,不需要了解数据接口底层协议,只需要关注业务数据的处理。

结合第二方面,在第二方面第一实施方式中,当所述数据集成请求为服务接口请求时,所述数据集成类型为本地服务处理,所述根据所述数据集成类型以及目标格式转换规则确定所述数据集成请求的返回数据,包括:

在接口注册列表中匹配所述数据集成请求中的服务接口,并根据所述服务接口的状态参数判断所述服务接口是否提供服务;

当所述服务接口提供服务时,利用本地服务处理以及本地服务处理对应的目标格式转换规则解析所述服务接口请求,确定所述服务接口请求的返回数据。

本发明实施例提供的数据集成方法,当所述数据集成请求为服务接口请求时,通过注册接口列表中的接口状态参数判断是否提供服务,对服务接口请求进行解析确定所述服务接口请求的返回数据,保证了数据处理过程的简便性与准确性。

结合第二方面第一实施方式,在第二方面第二实施方式中,所述利用本地服务处理以及本地服务处理对应的目标格式转换规则解析所述服务接口请求,确定所述服务接口请求的返回数据,包括:

利用本地服务处理对应的目标格式转换规则解析所述服务接口请求,确定数据转换方式;

根据所述本地服务处理以及数据转换方式对预设业务数据实例进行相应的业务处理,确定接口数据;

利用所述本地服务处理对应的目标格式转换规则对所述接口数据进行数据交换格式的转换,并将数据交换格式的转换结果确定为返回数据。

本实施例提供的数据集成方法,通过本地服务处理解析服务接口请求以确定数据转换方式,便于通过相应的业务实例确定接口数据,并将接口数据转换为请求端可识别的数据格式并返回;保证了开发人员仅关注业务数据的处理即可,简化了处理流程。

结合第二方面第二实施方式,在第二方面第三实施方式中,所述根据所述本地服务处理以及数据转换方式对预设业务数据实例进行相应的业务处理,还包括:

对预设业务数据实例进行相应的业务处理,并将发生预设错误的服务接口记录到日志文件中;

响应于数据补偿操作,基于所述日志文件重新解析所述服务接口请求。

本发明实施例提供的数据集成方法,在数据处理出错后,可以进行数据补偿,支撑不同场景的数据进行重新加载与处理,实现过程简单,提高了数据处理效率。

结合第二方面,在第二方面第四实施方式中,当所述数据集成请求为回调接口请求时,所述数据集成类型为远程回调处理,所述根据所述数据集成类型以及目标格式转换规则确定所述数据集成请求的返回数据,包括:

在接口注册列表中匹配所述数据集成请求中的回调接口,并根据所述回调接口的状态参数判断所述回调接口是否启用;

当所述回调接口已经启用时,利用远程回调处理以及远程回调处理对应的目标格式转换规则解析所述回调接口请求,确定所述回调接口请求的返回数据。

本发明实施例提供的数据集成方法,当所述数据集成请求为远程回调请求时,通过注册接口列表中的接口状态参数判断是否启动,对远程回调请求进行解析确定所述远程回调请求的返回数据,保证了数据处理过程的简便性与准确性。

结合第二方面第四实施方式,在第二方面第五实施方式中,所述利用远程回调处理以及远程回调处理对应的目标格式转换规则解析所述回调接口请求,确定所述回调接口请求的返回数据,包括:

利用远程回调处理以及远程回调处理对应的目标格式转换规则对所述回调接口请求进行数据交换格式转换,生成网络请求;

根据所述网络请求以及远程回调处理的接口协议确定响应数据;

将所述响应数据记录到日志文件中,并利用所述远程回调处理对应的目标格式转换规则解析所述响应数据;

对所述响应数据的解析结果以及预设业务数据实例进行相应的业务处理,确定返回数据。

结合第二方面第五实施方式,在第二方面第六实施方式中,所述利用远程回调处理以及远程回调处理对应的目标格式转换规则对所述回调接口请求进行数据交换格式转换,生成网络请求,包括:

将远程回调处理对应的预设业务数据实例中的属性值插入预设XML模板中,确定XML文件;

利用远程回调处理对应的目标格式转换规则对所述回调接口请求进行数据交换格式转换,将数据交换格式转换后的数据模型与XML文件进行组合,生成标准XML文件,以确定网络请求。

本发明实施例提供的数据集成方法,通过对远程回调处理的数据格式转换成标准XML文件,以确定网络请求,便于数据处理与转换的过程,提高数据处理的标准性与规范性。

结合第二方面第五实施方式,在第二方面第七实施方式中,所述根据所述网络请求以及远程回调处理的接口协议确定响应数据,包括:

根据所述网络请求将预设接口协议注册到协议工厂类中;

根据远程回调处理的接口协议在协议工厂类中确定响应数据。

结合第二方面第五实施方式,在第二方面第八实施方式中,所述将所述响应数据记录到日志文件中,包括:

当所述日志文件中存在预设错误日志数据时,响应于数据补偿操作,重新对所述网络请求进行转换。

本发明实施例提供的数据集成方法,在数据处理出错后,可以进行数据补偿,支撑不同场景的数据进行重新加载与处理,实现过程简单,提高了数据处理效率。

根据第三方面,本发明实施例提供了一种数据集成装置,包括:

数据集成接口配置模块,用于对数据接口以及数据接口状态进行管理,所述数据接口包括服务接口和回调接口;

所述数据集成接口配置模块还用于对数据接口进行参数配置,并在参数配置失败时,发送告警信息;

接口处理器管理模块,用于对接口处理器进行注册与状态监测;

数据补偿模块,用于当数据集成请求解析失败时,触发数据接口重新执行解析。

根据第四方面,本发明实施例提供了一种电子设备,包括:存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第二方面或者第二方面的任意一种实施方式中所述的数据集成方法。

根据第五方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行第二方面或者第二方面的任意一种实施方式中所述的数据集成方法。

附图说明

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

图1是根据本发明实施例的数据集成系统的示意图;

图2是根据本发明实施例的数据集成方法的流程图;

图3是根据本发明优选实施例的确定服务接口请求的返回数据的流程图;

图4是根据本发明优选实施例的确定回调接口请求的返回数据的流程图;

图5是根据本发明实施例的数据集成装置的示意图;

图6是本发明实施例提供的电子设备的硬件结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

随着企业的信息化发展,凌乱、重复、歧义的数据接踵而至,企业需要一个主数据管理系统来统一企业的产品信息、客户信息;需要一个数据中心系统来集中交换、分发、调度、管理企业基础数据。数据集成的必要性、迫切性不言而喻,从数据集成应用的系统部署、业务范围,主要可分三种架构,一种是单个系统数据集成架构,一种是企业统一数据集成架构,一种是机构之间数据集成架构。其中机构之间数据集成架构,是为多个跨企业、单位机构实现某一项或几项业务活动而建立的架构,具有数据网络复杂、数据安全性要求高、数据交换实时性强等特点。数据集成平台是架于多企业单位之间,要满足众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求。

目前数据集成的主流架构是ETL,其中ETL的过程为提取(Extract)—转换(Transform)—加载(Load),在数据源抽取后首先进行转换,然后将转换的结果写入目的地。现有工具最大的局限性在于:它们被设计为“批量进行工作”,这种批量加载数据在面对越来越多的数据流和其他类型的数据源时,尤其是在需要尽快提供最新数据的需求下,这些批处理的工具集就不适合了。并且数据批处理与转换工具很难实现跨平台的数据源采集,特别是在涉及到变更数据捕获的情况时。当上传批量数据出现问题时,需要跟踪问题、排除故障并尽快重新提交作业。而这种批量处理方式因为在数据仓库中存在着超过24小时的、被API调用与分配的数据可能会被覆盖,从而造成数据丢失的问题。

在本实施例中提供了一种数据集成系统,如图1所示,包括:数据调用组件010(MyClient)、本地服务组件020(AbstractService)以及远程回调组件030(AbstractCallback),其中数据调用组件010用于通过数据接口的协议获取相应的数据;本地服务组件020用于实现服务数据的数据格式转换以及对应的数据处理;远程回调组件030用于对数据调用组件010获取的数据进行数据格式的转换以及对应的数据处理。

其中数据接口协议包括SOAP、REST两种协议,在启动应用程序时,MyClient会自动注册到ClientFactory工厂中,AbstractCallback会根据数据接口使用的协议从工厂中获取WsClient的实例。AbstractService封装了本地服务接口的数据处理过程;AbstractCallback封装了远程接口调用的数据处理过程。工程师实现数据接口时,只需要继承以上抽象类,处理业务数据(POJO)即可。抽象类AbstractCallback封装了回调接口的处理过程。AbstractCallback通过WsClient实现同步或异步调用。

具体地,本地服务组件020包括:服务数据转换子组件,用于进行相应服务数据的格式转换,以实现服务数据的相应处理;远程回调组件030包括:回调数据转换子组件,用于进行相应服务数据的格式转换,以实现服务数据的相应处理。本实施例中,AbstractService根据数据转换方式,定义了4个子类:AbstractJsonService、AbstractPojoService、AbstractXmlService和AbstractStringService,用于实现具体的数据转换操作(toDataModel抽象方法)。针对POJO数据格式,AbstractPojoService优化了AbstractService的数据处理过程。AbstractCallback定义了三个子类:AbstractJsonCallback、AbstractXmlCallback和AbstractStringCallback,用于实现具体的数据格式转换操作。

具体地,本实施例提供的数据集成系统还包括:集成管理模块,其中,集成管理模块用于读取接口数据,并存储接口日志,以实现对数据处理失败的接口数据进行数据补偿;集成管理模块还用于对用户信息以及数据权限进行管理。可以对用户角色的签名及权限等信息进行验证与管理。

根据本发明实施例,提供了一种数据集成方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行出或描述的步骤。

本发明实施例提供的数据集成系统,可以实现数据集成过程中的数据抽取、转换、推送或拉取;数据补偿、数据权限管理;接口实时监控,满足了众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求,实现跨平台的数据源采集,并且克服了数据丢失的问题;简化了开发人员的工作,使得开发人员不需要处理数据模型转换、记录日志等各种操作,不需要了解数据接口底层协议,只需要关注业务数据的处理。

在本实施例中提供了一种数据集成方法,可用于电子设备,例如电脑、手机、平板电脑等。图2是根据本发明实施例的数据集成方法的流程图,如图2,该流程包括如下步骤:

S11,接收数据集成请求。通过对接口的实时监测,接收数据集成请求,其中数据集成请求可以包括本地服务接口提供服务时外界网络发送的请求,也可以是远程回调接口启用回调时本地子流程发送的请求。

S12,基于数据集成请求确定数据集成类型。

本实施例中,根据数据集成请求的不同可以确定不同的数据集成类型,其中以一实例说明数据集成类型通过抽象类进行封装,例如:AbstractService抽象类封装了本地服务接口的数据处理过程;AbstractCallback抽象类封装了远程接口调用的数据处理过程,在工程师实现数据接口时,只需要根据数据集成请求继承对应的抽象类,进而处理业务数据即可。需要说明的是,本实施例中仅举例说明抽象类的具体名称及形式,本发明并不以此为限。

S13,根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则。

选择能够满足本实施例,XML、JSON、POJO等数据模型的工具,实现数据转换的预设格式转换规则;通过Digester工具,将XML转换为Java对象,Digester是apache的一个组件apache commons-digester.jar,通过它可以很方便的从XML文件生成java对象。Digester底层采用SAX解析XML文件,所以很自然的,对象转换由"事件"驱动,即在识别出特定XML元素时,将执行特定的动作,比如创建特定的Java对象,或调用特定对象的方法等。此处的XML元素根据匹配模式识别,而相关操作由规则(rule)定义。在转换过程中,Digester维持了一个对象栈,可以看作对象转换的工作台,用来存放转换中生成的、或是为转换临时创建的Java对象。对输入XML文件作了一趟完整的扫描后,对象栈的栈顶元素即为目标对象。由于Digester屏蔽了SAX解析的细节,使用者仅需关注转换操作本身,大大简化了转换操作。

基于模板生成标准XML文件的通用工具XmlBuilder,XmlBuilder模板工具的定义:XML模板+数据模型=标准XML文件;XmlBuilder是采用DOM4J技术将数据模型转换成XML文件的工具。XmlBuilder支持的数据模型包括:POJO、Map、集合、数组等。FreeMarker等通用模板引擎虽然可以创建XML,但是不执行XML的标准规范。其中,XmlBuilder模板工具的语言:${属性名},用数据实例中对应的属性值插入XML模板,如果对象实例的成员属性值为数组或集合类型,需要生成多个子节点(abs)的语法如下:

<#forEach:abs collection=“dataList”>

${ab.a}

其中,实现数据转换的预设格式转换规则的工具还包括,FastJson处理工具包,Fastjson是一个Java语言编写的高性能功能完善的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景,实现Java对象和JSON格式的相互转化。

需要说明的是,本实施例中选择现有的完善的实现数据转换的预设格式转换规则的工具,在实际应用中可以根据实际需求进行新的工具的选择以满足不同的格式转换规则,本实施例并不以此为限。

S14,根据数据集成类型以及目标格式转换规则确定数据集成请求的返回数据。本实施例中利用不同的数据集成类型对应的抽象类以及上述确定的与数据集成请求对应的目标格式转换规则,对相应的业务实例进行业务数据处理,确定数据集成请求的返回数据。

在本实施例中,在数据集成开发框架调用本方法前,即接收数据集成请求前,可以使用SignUtils工具类为数据接口生成签名。数据接口签名认证机制:请求Header中附带_sign和_timpstamp参数,系统验证_sign有效,判定请求合法。

用以下请求为例说明_sign的三个生成步骤:

http://x.x.com/api/car?type=x&brand=x&series=x

step1:构造_sign源串

请求构成名称约定:

api_name:/api/car

query_string:type=x&brand=x&series=x

将以上请求中api_name和参数key按字典排序后的参数列表用&拼接起来,其中_timestamp为当时时间戳(秒),用于判断签名有效期(60s)。

step2:对源串加入密钥private_key

此密钥只有双方系统知道:private_key=x不参与排序(最后)。

step3:对源串进行md5加密并大写

toupper(MD5(/api/car&_timestamp=x&brand=x&series=x&type=x&private_key=x))

AbstractCallback子类默认使用此签名策略。服务接口可以使用@SignValidated进行申明式验签,只有在签名认证通过后才允许调用本实施例提供的方法,得到对应的返回数据,进一步保证了数据处理的安全可靠性。

本实施例提供的数据集成方法,通过对接口的实时监控,将预设格式转换规则进行集成,根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则,以确定数据集成请求的返回数据;以便于满足众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求,实现跨平台的数据源采集,并且克服了数据丢失的问题;简化了开发人员的工作,使得开发人员不需要处理数据模型转换、记录日志等各种操作,不需要了解数据接口底层协议,只需要关注业务数据的处理。

在本实施例中提供了一种数据集成方法,图3是根据本发明实施例的数据集成方法的流程图,如图3,该流程包括如下步骤:

S21,接收数据集成请求。

详细请参见图2实施例的S11,在此不再赘述。

S22,基于数据集成请求确定数据集成类型。

详细请参见图2实施例的S12,在此不再赘述。

S23,根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则。

详细请参见图2实施例的S12,在此不再赘述。

S24,根据数据集成类型以及目标格式转换规则确定数据集成请求的返回数据。

具体地,当数据集成请求为服务接口请求时,数据集成类型为本地服务处理,上述S24可以包括如下步骤:

S241,在接口注册列表中匹配数据集成请求中的服务接口,并根据服务接口的状态参数判断服务接口是否提供服务。

在任何接口接入数据集成开发框架时都需要先将接口信息注册到接口注册列表中,并且每个接口都对应其目前的运行状态,当数据集成开发框架接收到服务接口请求时,利用服务接口请求对应的服务接口ID在接口注册列表中进行匹配,匹配到对应的服务接口之后,通过服务接口的状态参数判断服务接口是否提供服务。其中接口注册列表中的各个接口的状态参数是根据对接口的实时监测进行改变的,服务接口的状态参数包括提供服务状态和不提供服务状态。

S242,当服务接口提供服务时,利用本地服务处理以及本地服务处理对应的目标格式转换规则解析服务接口请求,确定服务接口请求的返回数据。其中,本地服务处理是数据集成类型封装的抽象类AbstractService实现的本地服务接口的数据处理过程,需要说明的是,本实施例仅以上述抽象类为例进行说明,在实际应用中可以根据实际需求进行调整,只要能实现本地服务接口的数据处理过程即可,本发明并不以此为限。

在本实施例的一些可选实施方式中,上述S242可以包括如下步骤:

(1)利用本地服务处理对应的目标格式转换规则解析服务接口请求,确定数据转换方式。

本实施例中,在确定本地服务处理对应的目标格式转换规则的过程中,即本地服务处理接收的本地服务请求为网络请求,先将网络格式转换为实际业务数据处理需要的数据格式,则完成了确定数据转换方式的过程。

(2)根据本地服务处理以及数据转换方式对预设业务数据实例进行相应的业务处理,确定接口数据。

还以上述实现本地服务接口的数据处理过程的抽象类AbstractService为例,AbstractService根据数据转换方式,定义了4个子类:AbstractJsonService、AbstractPojoService、AbstractXmlService和AbstractStringService,用于实现具体的数据转换操作(toDataModel抽象方法)。当实际业务数据处理需要的数据格式为POJO数据格式时,AbstractPojoService则优化了AbstractService的数据处理过程。本实施例中在本地服务处理以及数据转换方式确定之后,则可以确定预设业务实例,例如当针对POJO数据格式时,则需要封装POJO实例,然后根据POJO实例的业务逻辑进行其对应的业务处理,最终得到接口数据。需要说明的是,本实施例是根据实际数据转换方式的需要定义的子类,可以根据实际数据转换方式的需求进行调整,本实施例并不以此为限。

(3)利用本地服务处理对应的目标格式转换规则对接口数据进行数据交换格式的转换,并将数据交换格式的转换结果确定为返回数据。

对于本地服务处理的过程,在上述确定接口数据之后,需要将数据返回给本地服务请求的发送方,即外接网络端,因此需要利用相应的目标格式转换规则将接口数据转换成网络格式,将数据交换格式的转换结果作为Web响应返回给外接网络端。

(4)对预设业务数据实例进行相应的业务处理,并将发生预设错误的服务接口记录到日志文件中。在对预设业务数据实例进行业务处理过程中,将发生错误的服务接口记录到日志文件中,其中预设错误可以包括:本地服务请求没有接入对应的服务接口,导致服务失败;还可以是本地服务请求接入对应的服务接口后,最终处理数据过程中导致服务失败等等预先确定的一些情况,需要说明的是,本实施例中上述预设错误是根据实际经验设定的,在实际应用中可以实时调整,本发明并不以此为限。

并且在记录日志文件时,也可以选择将所有处理情况都进行记录,不区分处理成功与否,在进行数据补偿监测的过程中对日志文件中的记录进行判断,当出现预设错误时则发出需要数据补偿的指令。

(5)响应于数据补偿操作,基于日志文件重新解析服务接口请求。在接收到数据补偿的指令之后,用户进行数据补偿操作,本实施例的数据集成开发框架响应于数据补偿操作,则尝试(本地服务接口)的重新解析。

本实施例提供的数据集成方法,通过对接口的实时监控,将预设格式转换规则进行集成,根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则,以确定数据集成请求的返回数据;以便于满足众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求,实现跨平台的数据源采集,并且克服了数据丢失的问题;简化了开发人员的工作,使得开发人员不需要处理数据模型转换、记录日志等各种操作,不需要了解数据接口底层协议,只需要关注业务数据的处理;保证了数据处理过程的简便性与准确性。

在本实施例中提供了一种数据集成方法,图4是根据本发明实施例的数据集成方法的流程图,如图4,该流程包括如下步骤:

S31,接收数据集成请求。

详细请参见图2实施例的S11,在此不再赘述。

S32,基于数据集成请求确定数据集成类型。

详细请参见图2实施例的S12,在此不再赘述。

S33,根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则。

详细请参见图2实施例的S13,在此不再赘述。

S34,根据数据集成类型以及目标格式转换规则确定数据集成请求的返回数据。

作为本实施例的一种可选实施方式,当数据集成请求为回调接口请求时,数据集成类型为远程回调处理,上述S34可以包括如下步骤:

S341,在接口注册列表中匹配数据集成请求中的回调接口,并根据回调接口的状态参数判断回调接口是否启用。具体在上一实施例中已经进行了说明,在此不再赘述,本实施例中仅需要判断回调接口是否启用。

S342,当回调接口已经启用时,利用远程回调处理以及远程回调处理对应的目标格式转换规则解析回调接口请求,确定回调接口请求的返回数据。其中,远程回调处理是数据集成类型封装的抽象类AbstractCallback实现的远程回调接口的数据处理过程,AbstractCallback定义了三个子类:AbstractJsonCallback、AbstractXmlCallback和AbstractStringCallback,用于实现具体的数据格式转换操作,需要说明的是,本实施例仅以上述抽象类为例进行说明,在实际应用中可以根据实际需求进行调整,只要能实现远程回调接口的数据处理过程即可,本发明并不以此为限。

在本实施例的一些可选实施方式中,上述S342可以包括如下步骤:

(1)利用远程回调处理以及远程回调处理对应的目标格式转换规则对回调接口请求进行数据交换格式转换,生成网络请求。当远程回调处理接收到数据集成开发框架的子流程发送请求时,先将子流程请求转换为远程回调处理的外界网络端需要的数据格式,进而生成网络请求。

a.将远程回调处理对应的预设业务数据实例中的属性值插入预设XML模板中,确定XML文件。

b.利用远程回调处理对应的目标格式转换规则对回调接口请求进行数据交换格式转换,将数据交换格式转换后的数据模型与XML文件进行组合,生成标准XML文件,以确定网络请求。

本实施例中,假如当接口A需要将集合List以XML格式推送给远程接口,那么数据集成开发框架的回调接口会使用XmlBuilder,将List转换成XML格式,然后使用WsClient推送给远程接口(外界网络端),其中WsClient是用于封装Web外界网络端的抽象类。其中XmlBuilder的具体实现过程参见上述实施例。

(2)根据网络请求以及远程回调处理的接口协议确定响应数据。

a.根据网络请求将预设接口协议注册到协议工厂类中。其中,java中一般的类对象是通过new函数来创建的,但是有一部分类必须通过其getInstance方法来创建的类叫做工厂类。

b.根据远程回调处理的接口协议在协议工厂类中确定响应数据。

WsClient是用于封装Web外界网络端的抽象类,支持同步调用和异步调用,异步调用使用回调函数AsyncCallback处理服务接口返回的数据。根据数据接口使用的协议,本实施例提供了SoapClient和RestClient两个子类,分别处理SOAP和REST协议。需要说明的是,在数据集成开发框架的开发过程中,使用策略模式、工厂模式和注解,支持自定义WsClient,满足开闭原则的要求,其中,注解@WsType用于指定MyClient处理的协议,即数据接口使用的协议(比如:SOAP、REST等),MyClient使用了自定义协议。在启动应用程序时,MyClient会自动注册到ClientFactory工厂中,AbstractCallback会根据数据接口使用的协议从工厂中获取WsClient的实例,进而确定响应数据。

(3)将响应数据记录到日志文件中,并利用远程回调处理对应的目标格式转换规则解析响应数据。将得到的响应数据的数据格式按照对应的目标格式转换规则进行转换,以将响应数据的数据交换格式进行转换。

(4)对响应数据的解析结果以及预设业务数据实例进行相应的业务处理,确定返回数据。确定对应的业务数据实例后,例如POJO实例,对其进行相应的业务处理,然后将响应数据的解析结果以及业务处理结果确定为返回数据,返回至子流程。

(5)当日志文件中存在预设错误日志数据时,响应于数据补偿操作,重新对网络请求进行转换。在进行数据补偿监测的过程中对日志文件中的记录进行判断,当出现预设错误日志数据时则发出需要数据补偿的指令,用户进行数据补偿操作,本实施例的数据集成开发框架响应于数据补偿操作,则尝试(远程回调接口)的重新推送请求,对网络请求进行转换。

本实施例中的数据集成开发框架的使用方法如下:

Maven工程引入数据集成开发框架需要的jar包,

com.glodon.data

glodon-data-core

1.0.0

实现数据接口执行器配置类ExecutorConfigurer;数据接口实现,实现类必须是AbstractCallback或AbstractService的子类。

本实施例提供的数据集成方法,通过对接口的实时监控,将预设格式转换规则进行集成,根据数据集成类型在集成的预设格式转换规则中确定对应的目标格式转换规则,以确定数据集成请求的返回数据;以便于满足众多数据接口、多种数据类型、不一致的数据标准、数据交换的实时性、对数据的抽取与推送等业务需求,实现跨平台的数据源采集,并且克服了数据丢失的问题;简化了开发人员的工作,使得开发人员不需要处理数据模型转换、记录日志等各种操作,不需要了解数据接口底层协议,只需要关注业务数据的处理;保证了数据处理过程的简便性与准确性;通过对远程回调处理的数据格式转换成标准XML文件,以确定网络请求,便于数据处理与转换的过程,提高数据处理的标准性与规范性,并且在数据处理出错后,可以进行数据补偿,支撑不同场景的数据进行重新加载与处理,实现过程简单,提高了数据处理效率。

在本实施例中还提供了一种数据集成装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

本实施例提供一种数据集成装置,如图5,包括:数据集成接口配置模块1,用于对数据接口以及数据接口状态进行管理,数据接口包括服务接口和回调接口;数据集成接口配置模块还用于对数据接口进行参数配置,并在参数配置失败时,发送告警信息;接口处理器管理模块2,用于对接口处理器进行注册与状态监测;数据补偿模块3,用于当数据集成请求解析失败时,触发数据接口重新执行解析。本实施例提供的数据集成平台,在数据集成接口配置页面,可以添加数据接口(本地服务接口、远程回调接口),配置接口参数(REST、SOAP等);可以在线启用或停用数据接口;配置告警Email,一旦数据接口失败就可以收到告警信息;在接口处理器管理页面,新增接口处理器(数据接口执行器),执行器的IP和端口,可以手动或自动注册到数据集成管理平台,自动注册通过心跳机制检测在线状态。

本实施例中的数据集成装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。

上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。

本发明实施例还提供一种电子设备,具有上述图5的数据集成装置。

请参阅图6,图6是本发明可选实施例提供的一种电子设备的结构示意图,如图6,该电子设备可以包括:至少一个处理器601,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口603,存储器604,至少一个通信总线602。其中,通信总线602用于实现这些组件之间的连接通信。其中,通信接口603可以包括显示屏(Display)、键盘(Keyboard),可选通信接口603还可以包括标准的有线接口、无线接口。存储器604可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器604可选的还可以是至少一个位于远离前述处理器601的存储装置。其中处理器601可以结合图5所描述的装置,存储器604中存储应用程序,且处理器601调用存储器604中存储的程序代码,以用于执行上述任一方法步骤。

其中,通信总线602可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线602可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

其中,存储器604可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器604还可以包括上述种类的存储器的组合。

其中,处理器601可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。

其中,处理器601还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。

可选地,存储器604还用于存储程序指令。处理器601可以调用程序指令,实现如本申请图2、3和4实施例中的数据集成方法。

本发明实施例还提供了一种非暂态计算机存储介质,计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据集成方法。其中,存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

相关技术
  • 数据集成系统和基于数据集成系统的数据处理方法
  • 数据集成系统和数据集成方法
技术分类

06120113148644