一种数据集成分发平台和系统
技术领域
本发明属于数据服务
技术领域
,具体涉及一种数据集成分发平台和系统。背景技术
随着信息技术的飞速发展,各行各业致力于信息化建设,基于不同的业务需求构建了大量的应用信息系统,有效促进了各行业的快速发展,但与此同时也带来了大量的信息孤岛,各个应用信息系统的异构化和复杂化也为企业的信息管理带来了更为严峻的挑战。
为了实现各信息系统间的信息互通和数据共享,打破信息孤岛,现有技术中的解决办法是对需要信息互通的系统进行接口改造,这种方式虽然能够解决信息系统间数据共享问题,但需要对相关应用系统进行改造,如果涉及到多个系统,系统接口的改造将变得极其复杂,系统间的耦合度也增加;此外,这种方式只能满足系统间特定数据的共享需求,可扩展性较差,灵活性较低。
发明内容
本发明的目的是提供一种组件化的数据展示平台和系统,用以解决现有技术中存在的至少一个技术问题。
为了实现上述目的,本发明采用以下技术方案:
第一方面,本发明提供一种数据集成分发平台,包括数据接口模块、数据采集工具、数据处理模块和数据库;
所述数据接口模块挂载在所述数据集成平台上,所述数据采集工具嵌设在所述数据集成平台中;
所述数据接口模块用于采集外部应用系统的第一数据;
所述数据采集工具用于抽取所述数据库的第二数据;
所述数据处理模块用于对所述第一数据和所述第二数据进行处理,和/或通过所述数据接口模块向所述外部应用系统提供数据服务;
所述数据库还用于对处理后的第一数据进行存储。
在一种可能的设计中,所述数据处理模块包括消息队列服务器、消息服务单元、网关服务单元以及核心业务服务单元;
所述数据接口模块将采集到的第一数据依次通过所述消息队列服务器和所述消息服务单元发送至所述核心业务服务单元;或者通过所述网关服务单元发送至所述核心业务服务单元;
所述消息队列服务器用于接收所述第一数据,并基于队列机制将所述第一数据发送至所述消息服务单元;
所述消息服务单元用于根据所述第一数据的订阅消息,对所述第一数据处理后转发至所述核心业务服务单元;
所述网关服务单元用于接收所述第一数据,并对所述第一数据处理后转发至所述核心业务服务单元;
所述核心业务服务单元用于对接收到的所述第一数据进行二次处理,并返回至所述消息队列服务器中,以及存入所述数据库中。
在一种可能的设计中,所述数据接口模块包括MQ数据接口单元、HTTP数据接口单元以及DDS数据接口单元;所述数据处理模块通过所述MQ数据接口单元、HTTP数据接口单元和/或所述DDS数据接口单元与所述外部应用系统进行数据交互。
在一种可能的设计中,当通过MQ数据接口单元采集第一数据时,所述数据处理模块具体用于:
将所述第一数据转化为第一JSON格式数据,并发送至所述消息队列服务器;
在所述消息服务单元中配置第一JSON适配器,接收并处理所述第一JSON格式数据,并转发至所述核心业务服务单元进行二次处理;
将所述第一JSON格式数据返回至所述消息队列服务器中,并存入所述数据库中。
在一种可能的设计中,所述数据处理模块具体还用于:
通过所述消息队列服务器接收所述外部应用系统的第一数据服务请求,并向所述外部应用系统返回第一数据服务请求结果。
在一种可能的设计中,当通过HTTP数据接口单元采集第一数据时,所述数据处理模块具体用于:
将所述第一数据转化为第二JSON格式数据,并发送至所述消息队列服务器;
在所述网关服务单元中配置第二JSON适配器,接收并处理所述第二JSON格式数据,并转发至所述核心业务服务单元进行二次处理;
将所述第二JSON格式数据返回至所述消息队列服务器中,并存入所述数据库中。
在一种可能的设计中,所述数据处理模块具体还用于:
通过所述网关服务单元接收外部应用系统的第二数据服务请求并转发至所述核心业务服务单元;
通过所述核心业务单元根据所述第二数据服务请求,从所述数据库中调用对应的数据,并向所述外部应用系统返回第二数据请求结果。
在一种可能的设计中,当通过DDS数据接口单元采集第一数据时,所述数据处理模块具体用于:
配置DDS适配器,并通过所述DDS适配器接收所述第一数据,并转化为第三JSON格式数据;
将所述第三JSON格式数据发送至所述消息队列服务器;
在所述消息服务单元中配置第三JSON适配器,接收所述第三JSON格式数据,并转发至所述核心业务服务单元进行二次处理;
将所述第三JSON格式数据返回至所述消息队列服务器中,并存入所述数据库中。
在一种可能的设计中,所述数据采集工具通过ETL的方式所述数据库中抽取所述第二数据。
第二方面,本发明提供一种数据集成分发系统,包括如第一方面任意一种可能的设计中所述的数据集成分发平台,还包括若干个应用系统。
有益效果:
本发明通过将数据接口模块挂载在数据集成平台上,将数据采集工具嵌设在所述数据集成平台中;通过数据接口模块采集外部应用系统的第一数据;通过数据采集工具抽取数据库的第二数据;通过数据处理模块对第一数据和第二数据进行处理,和/或通过数据接口模块向外部应用系统提供数据服务;并通过数据库对处理后的第一数据进行存储。本发明能够支持多种数据接口,包括但不限于HTTP接口、MQ接口和DSS接口,以及针对数据库的数据采集工具,使得平台可以根据业务需求对数据接口进行配置、管理和监测,从而快速实现与外部应用系统的数据交互;采用挂载的方式设置数据接口模块,可以在不改变平台主框架的前提下,根据业务需求,新增和删除数据接口模块,提高平台的可扩展能力。
附图说明
图1为本发明实施例的数据集成分发平台的结构框图;
图2为本发明实施例的数据集成分发平台的架构部署图;
图3为本发明实施例与外部应用系统进行数据交互的流程框图。
具体实施方式
为使本说明书实施例的目的、技术方案和优点更加清楚,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例
如图1-3所示,第一方面,本发明提供一种数据集成分发平台,包括数据接口模块、数据采集工具、数据处理模块和数据库;
所述数据接口模块挂载在所述数据集成平台上,所述数据采集工具嵌设在所述数据集成平台中;通过将数据接口模块挂载在数据集成平台上,能够根据业务需求对数据接口进行配置、新增或删除,保证平台的通用性和可扩展能力。
所述数据接口模块用于采集外部应用系统的第一数据;
其中,需要说明的是,所述数据接口模块包括通用格式的数据接口和自定义的数据接口,其中,通用的数据接口可通过数据维护管理中配置好的接口json格式以及应用系统的配置信息,可直接采集系统提供的数据;其中,自定义的数据接口可通过数据维护管理中提供的可扩展配置的接口,生成相应的接口适配器(Adapter),可以通过此接口进行相应的数据采集。
其中,所述数据接口模块包括但不限于MQ数据接口单元、HTTP数据接口单元以及DDS数据接口单元;所述数据处理模块通过所述MQ数据接口单元、HTTP数据接口单元和/或所述DDS数据接口单元与所述外部应用系统进行数据交互;对应的,所述第一数据包括但不限于MQ(Message Queue,消息队列)数据、HTTP(Hypertext Transfer Prtcl,超文本传输协议)数据以及DDS(Data Distribution Service,数据分发服务)数据。
其中,需要说明的是,所述HTTP数据接口单元为异步接口,每被平台调用一次,均会返回一个任务ID调用端,根据该任务ID可以查询当前执行的任务是否完成。
其中,所述HTTP数据接口单元提供相应的webservice给外部应用系统进行调用,其应用场景为:需要主动获取数据,并依赖于获取到的数据进行下一步处理,即数据请求和响应需要同步的场景;数据接入或获取不频繁的场景,如初始化的数据,后者后续极少更新的数据;适用于数据交换短连接场景。
其中,所述MQ接口单元提供相应的消息队列接口模式,提供给外部应用系统进行调用。其应用场景为:实时性数据,如告警推送,采集设备的实时数据等;可以异步处理的数据,由于应用系统有自己的数据存储,对于集成平台的数据基本上都是可以异步处理的数据;适用频繁数据交互的长连接场景;需要应用通知的场景。
其中,所述数据接口单元用于采集DDS数据时,由于DDS数据不能跨路由器(跨网段),因此在DDS服务的同一网段需要安装相应的DDS网关,主动订阅DDS数据后,通过标准的MQ接口形式,将数据传输到集成平台进行统一处理和存储。
其中,需要说明的是,所述外部应用系统包括但不限于门户应用系统、运维系统、政工系统、数据展示系统以及企业管理系统等,具体不做限定,此处不再赘述。
所述数据采集工具用于抽取所述数据库的第二数据;
其中,需要说明的是,所述数据采集工具通过ETL(Extract Transform Load,数据仓库技术)的方式所述数据库中抽取所述第二数据,所述第二数据为所述数据库中存储的异构数据,包括但不限于:文本文件、CSV(Comma-Separated Values,逗号分隔值)文件、JMS(Java Message Service,Java消息服务)文件以及WebService文件。
其中,优选的,所述数据库为达梦数据库(DB)。
此外,可以理解的是,当外部应用系统无法提供数据接口时,所述数据集成分发平台也可通过所述数据采集工具获取该类外部应用系统的数据。
所述数据处理模块用于对所述第一数据和所述第二数据进行处理,和/或通过所述数据接口模块向所述外部应用系统提供数据服务;
其中,需要说明的是,所述数据处理模块包括但不限于消息队列服务器、消息服务单元、网关服务单元以及核心业务服务单元。此外,还可以包括多种第三方组件,例如:注册中心服务组件、Redis数据缓存服务组件、Zookeeper协调组件、RocketMQ消息服务组件、Elastic-Job分布式调度组件以及Nginx负载均衡组件。基于此,如图2所示,示出了本实施例中数据集成分发平台的架构部署图,其中,每一所述组件或单元均采用集群式部署,并通过局域网络进行组网,其中,除达梦数据库集群外,其他组件或单元均可采用虚拟机或docker容器进行部署。
所述数据库还用于对处理后的第一数据进行存储。
基于上述公开的内容,本实施例能够支持多种数据接口,包括但不限于HTTP接口、MQ接口和DSS接口,以及针对数据库的数据采集工具,使得平台可以根据业务需求对数据接口进行配置、管理和监测,从而快速实现与外部应用系统的数据交互;采用挂载的方式设置数据接口模块,可以在不改变平台主框架的前提下,根据业务需求,新增和删除数据接口模块,提高平台的可扩展能力
作为一种可选的实施方式,所述数据处理模块包括消息队列服务器、消息服务单元、网关服务单元以及核心业务服务单元;
所述数据接口模块将采集到的第一数据依次通过所述消息队列服务器和所述消息服务单元发送至所述核心业务服务单元;或者通过所述网关服务单元发送至所述核心业务服务单元;
所述消息队列服务器用于接收所述第一数据,并基于队列机制将所述第一数据发送至所述消息服务单元;
所述消息服务单元用于根据所述第一数据的订阅消息,对所述第一数据处理后转发至所述核心业务服务单元;
其中,具体的,所述消息服务单元接收到所述第一数据后,根据所述第一数据的订阅消息,对其进行限流、资源分配、接收、扩容和消息转发。
所述网关服务单元用于接收所述第一数据,并对所述第一数据处理后转发至所述核心业务服务单元;
其中,具体的,所述网关服务单元在接收到所述第一数据后,对所述第一数据进行限流、熔断、日志管理、黑白名单查询、鉴权和接口转发。
所述核心业务服务单元用于对接收到的所述第一数据进行二次处理,并返回至所述消息队列服务器中,以及存入所述数据库中。
其中,具体的,所述核心服务单元在接收所述第一数据后,对所述第一数据进行解析、验证、清洗、脱敏、归并整理以及数据转发。
此外,所述核心业务服务单元还设有数据管线和WEB管理系统,所述核心业务服务单元通过所述数据管线与所述数据库进行数据交互,并通过所述WEB管理系统对数据接口和参数进行配置管理。
在一种可选的实施方式中,当通过MQ数据接口单元采集第一数据时,所述数据处理模块具体用于:
将所述第一数据转化为第一JSON格式数据,并发送至所述消息队列服务器;
其中,需要说明的是,当通过所述MQ数据接口单元采集外部应用系统的第一数据时,平台可针对每个应用系统提供一个模板编号,该模板编号描述了接入应用系统的系统信息以及对接入的参数的描述;其中,该模板编号可在平台的后台预先配置,从而简化调用方传入参数描述信息的流程。
其中,需要说明的是,所述消息队列服务器中含有接入的应用系统的订阅主题,该订阅主题中包含有为该应用系统分配的ID。
其中,所述第一JSON格式数据包含应用系统的模板编号和数据集。
其中,JSON格式包括通用的JSON格式和自定义的JSON格式。
在所述消息服务单元中配置第一JSON适配器,接收并处理所述第一JSON格式数据,并转发至所述核心业务服务单元进行二次处理;
其中,JSON适配器包括通用的JSON适配器和自定义的JSON适配器。
具体的,所述消息服务单元对所述第一JSON格式数据进行限流、资源分配、接收、扩容和消息转发处理;所述核心业务服务单元对所述第一JSON格式数据进行解析、验证、清洗、脱敏、归并整理以及数据转发。
将所述第一JSON格式数据返回至所述消息队列服务器中,并存入所述数据库中。
在一种可选的实施方式中,所述数据处理模块具体还用于:
通过所述消息队列服务器接收所述外部应用系统的第一数据服务请求,并向所述外部应用系统返回第一数据服务请求结果。
其中,需要说明的是,当外部应用系统向平台发起第一数据服务请求时,所述第一数据服务请求中携带有主题名称,该主题名称可以根据业务需求进行具体定义;并且,所述第一数据服务请求为JSON格式的请求,包括业务编号和具体业务数据;则当所述消息队列服务器接收到所述第一数据服务请求后,若该消息队列服务器中有与该第一数据服务请求匹配的数据时,则向所述外部应用服务系统返回对应的数据,否则向该外部应用系统返回请求失败的提示;其中,与所述第一数据服务请求对应的数据包括但不限于:总记录条数、当前第几页、每页大小、总页数以及具体的业务数据。
在一种可选的实施方式中,当通过HTTP数据接口单元采集第一数据时,所述数据处理模块具体用于:
将所述第一数据转化为第二JSON格式数据,并发送至所述消息队列服务器;
其中,需要说明的是,当通过所述HTTP数据接口单元采集外部应用系统的第一数据时,平台可针对每个应用系统提供一个模板编号,该模板编号描述了接入应用系统的系统信息以及对接入的参数的描述;其中,该模板编号可在平台的后台预先配置,从而简化调用方传入参数描述信息的流程。
在所述网关服务单元中配置第二JSON适配器,接收并处理所述第二JSON格式数据,并转发至所述核心业务服务单元进行二次处理;
具体的,所述网关服务单元对所述第一数据进行限流、熔断、日志管理、黑白名单查询、鉴权和接口转发;所述核心业务服务单元对所述第一JSON格式数据进行解析、验证、清洗、脱敏、归并整理以及数据转发。
将所述第二JSON格式数据返回至所述消息队列服务器中,并存入所述数据库中。
在一种可选的实施方式中,所述数据处理模块具体还用于:
通过所述网关服务单元接收外部应用系统的第二数据服务请求并转发至所述核心业务服务单元;
通过所述核心业务单元根据所述第二数据服务请求,从所述数据库中调用对应的数据,并向所述外部应用系统返回第二数据请求结果。
其中,需要说明的是,当外部应用系统向平台发起第二数据服务请求时,所述第二数据服务请求中携带有业务编号、字段名称、开始页、每页大小以及数据过滤条件;则当所述网关服务单元收到所述第二数据服务请求后转发至所述核心业务服务单元,所述核心业务服务单元根据所述第二数据服务请求,向所述数据库调用与该第二数据服务请求匹配的数据,若该数据库中存在可匹配的数据,则向所述外部应用服务系统返回对应的数据,否则向该外部应用系统返回请求失败的提示;其中,与所述第一数据服务请求对应的数据包括但不限于:总记录条数、当前第几页、每页大小、总页数以及具体的业务数据。
在一种可选的实施方式中,当通过DDS数据接口单元采集第一数据时,所述数据处理模块具体用于:
配置DDS适配器,并通过所述DDS适配器接收所述第一数据,并转化为第三JSON格式数据;
其中,需要说明的是,所述DDS适配器写入有DDS适配程序,每一DDS适配程序可订阅多种DDS数据,则平台将分配给DDS适配程序多个模板编号,每一模板编号对应一种DDS数据定义;然后,DDS适配器将接收到的第一数据转化为第三JSON格式数据,并发送至所述消息队列服务器。其中,如何订阅、接收和解析所述第一数据,可以通过JAVA工具库实现。
将所述第三JSON格式数据发送至所述消息队列服务器;
在所述消息服务单元中配置第三JSON适配器,接收所述第三JSON格式数据,并转发至所述核心业务服务单元进行二次处理;
具体的,所述消息服务单元对所述第一JSON格式数据进行限流、资源分配、接收、扩容和消息转发处理;所述核心业务服务单元对所述第一JSON格式数据进行解析、验证、清洗、脱敏、归并整理以及数据转发。
将所述第三JSON格式数据返回至所述消息队列服务器中,并存入所述数据库中。
第二方面,本发明提供一种数据集成分发系统,包括如第一方面任意一种可能的设计中所述的数据集成分发平台,还包括若干个应用系统。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 上一篇:石墨接头机器人自动装卡簧、装栓机
- 下一篇:一种虚拟分布式数据库访问系统与方法