CN104156798A - 企业权威源系统数据实时推送架构及方法 - Google Patents
企业权威源系统数据实时推送架构及方法 Download PDFInfo
- Publication number
- CN104156798A CN104156798A CN201410323087.6A CN201410323087A CN104156798A CN 104156798 A CN104156798 A CN 104156798A CN 201410323087 A CN201410323087 A CN 201410323087A CN 104156798 A CN104156798 A CN 104156798A
- Authority
- CN
- China
- Prior art keywords
- data
- push
- service
- propelling movement
- pushing
- 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.)
- Granted
Links
Abstract
本发明公开了企业权威源系统数据实时推送架构及方法,包括权威系统域、用户域、集成系统域、订阅系统域,所述用户域、集成系统域分别连接权威系统域,所述权威系统域连接订阅系统域,所述权威系统域包括数据适配器、数据库、数据监听服务、消息服务、数据推送服务;所述方法包括以下步骤:权威系统域数据起始输入、数据适配、数据监听、数据推送、结束数据推送,经数据推送后,结束一个数据推送过程,解决大型企业信息化架构中,权威系统数据对外实时推送所面临的困难性和复杂性等问题,采用基于应用层同步技术,以达到最终解决企业信息内部一致性的问题,并可有效和灵活地控制数据流向,便于管理和监控。
Description
技术领域
本发明涉及用信息技术领域,具体的说,是企业权威源系统数据实时推送架构及方法。
背景技术
在企业信息架构中,特别是在大型企业信息化体系架构中,往往存在业务含意相同,而技术平台以及存储模型不同的信息,这使得企业的数据架构显得混乱,难以管理。在这样的场景下,通常的解决方法是确定一个权威源,由权威源对信息进行统筹管理,相关的系统通过与权威源进行数据集成实现数据共享。这就要求作为权威源的系统应具备跨系统数据推送能力,其基本方法是当权威源所管理的信息发生变化之后,实时将变化信息推送到关联系统,实现数据在企业内部的一致性。
关于数据一致性问题,尤其是实时一致性,在企业应用架构中面临一些难题。它的困难之处不在于技术瓶颈,主要在于两个方面:一方面,由于企业数据的关联性、多样性和复杂性,导致数据难以梳理和跨系统地被识别;另一方面,由于技术平台的异构性,导致系统间的数据交互难以一种简单、统筹的方法进行。
要在企业内部达成数据的整体一致性,将面临如下几个问题:
1、如何确保数据能够被跨系统地识别?
2、如何应对异构系统所带来的数据和技术平台的复杂性?
3、如何在复杂的系统环境中精准地、实时地捕捉系统增量变化数据?
4、如何保证数据传输安全性和稳定性?
这几个问题,是大型企业信息架构中面临的典型问题;大多数企业的应用现状是,维护着一种杂乱、臃肿而且繁琐的数据同步机制,负担着高度的维护成本,效率不高,数据容易失真等诸多问题。
目前在业内已经有一些工具和产品专注于解决数据实时同步问题,企业应用中典型的有Oracle GodenGate以及类似产品。它主要实现各种关系型数据库之间的数据实时同步,例如支持SQL Server、DB2、Oracle、MySQL、Sybase等多种流行数据库之间的数据同步。在应用目标上GodenGate这类产品与本文的讨论具有相近性,都是解决企业数据同步问题,但在具体的实施方案上,则完全不同。GodenGate主要从数据库层实现数据同步,应用系统和开发者都无法捕捉和干预其同步过程,扩展性有限;GodenGate多用于系统灾难备份。
发明内容
本发明的目的在于,解决大型企业信息化架构中,权威系统数据对外实时推送所面临的困难性和复杂性等问题,而提出的企业权威源系统数据实时推送架构及方法,采用基于应用层同步技术,以达到最终解决企业信息内部一致性的问题,并可有效和灵活地控制数据流向,便于管理和监控,整个系统及方法具有应用系统和开发者自定义数据转换逻辑和推送方式的特性。
本发明通过下述技术方案实现:企业权威源系统数据实时推送架构,包括权威系统域、用户域、集成系统域、订阅系统域,所述用户域、集成系统域分别连接权威系统域,所述权威系统域连接订阅系统域;所述权威系统域包括数据适配器、数据库、数据监听服务、消息服务、数据推送服务,所述数据适配器分别连接数据库和消息服务器,所述数据监听服务和数据推送服务均连接数据库,所述消息服务分别连接数据监听服务和数据推送服务。
进一步的,为更好的实现本发明,所述数据监听服务包括数据监听器、数据分析器、通知队列和通知发送器,所述数据监听器监听和扫描增量数据源,并调用数据分析器;数据分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务;所述数据监听器包括消息监听器、数据表监听器、其它监听器,所述数据分析器包括消息分析器、数据表分析器、其它分析器;所述消息监听器监听和扫描增量数据源,并调用消息分析器;消息分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务;所述数据表监听器监听和扫描增量数据源,并调用数据表分析器;数据表分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务;所述其它监听器监听和扫描增量数据源,并调用其它分析器;其它分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务。
进一步的,为更好的实现本发明,所述权威系统域还包括应用控制器和业务组件,所述应用控制器调用业务组件,业务组件调用数据适配器。
进一步的,为更好的实现本发明,所述数据推送服务包括订阅管理器、数据组装器、推送监听器、推送处理器、推送队列和数据推送器;所述推送监听器连接消息服务,调用推送处理器;所述推送处理器依次调用订阅管理器、数据组装器和推送队列;所述订阅管理器和数据组装器分别连接数据库;所述数据推送器监听推送队列,并调用订阅系统域的信息系统接口。
企业权威源系统数据实时推送方法,其特征在于:包括以下步骤:
步骤A、权威系统域数据起始输入:用户域数据输入或外部信息系统输入或外部数据库输入;
步骤B、数据适配:经步骤A后,通过数据适配器接受上层业务组件的调用并传入数据,也支持外部系统向其输入数据,然后将数据存入数据库,同时向外部组件发送数据变化的消息通知;
步骤C、数据监听:负责监听数据适配器层和Oracle CDC捕捉到的增量数据,然后根据监听到的增量数据的类型和特点,生成相应的数据推送通知,并将通知发送到消息服务,经消息服务再发送给“数据推送服务”;
步骤D、数据推送:主要负责具体的业务数据向外部系统进行推送,数据推送服务收到数据后,分别解析出各项所需推送的业务系统,同时将各数据进行标准格式化转换。最后由数据推送服务将格式化的数据,通过业务系统所注册的接口进行传输,并在数据库中记录数据传输日志信息;
步骤E、结束数据推送,经步骤D后,结束一个数据推送过程。
进一步的,为更好的实现本发明所述方法,所述步骤A中,用户域数据输入:用户将数据从客户端提交到权威系统域的“应用控制器”组件,应用控制器对数据进行合法性校验,校验通过后调用“业务组件”对数据进行业务处理和计算;外部信息系统输入:集成系统域的企业信息系统A远程调用权威系统域中的数据适配器组件,并传入数据;外部数据库输入:是由集成系统域的数据库系统直接把数据同步到权威系统域的数据库。
进一步的,为更好的实现本发明所述方法,所述步骤C包括以下步骤:
步骤C.1、数据监听器收集外部增量数据;
步骤C.2、经步骤C.1后,分析器对增量数据进行业务性质的分析,并生成推送通知;
步骤C.3、分析器将生成的推送通知放入通知队列;
步骤C.4、通知发送器从通知队列中取出推送通知,并发送给消息服务,数据监听服务的流程至此完成。
进一步的,为更好的实现本发明所述方法,所述步骤D包括以下步骤:
步骤D-1、采用WebService技术定义一套统一的数据推送接口标准,由外部系统具体实现和提供接口服务,并在权威系统中注册;
步骤D-2、当权威系统内部触发了数据推送事务时,数据推送服务根据统一的接口规范调用外部系统提供的接口服务;
步骤D-3、构建一张“数据订阅表”,用于存储外部系统接口地址,和订阅的数据类型编码,以此建立权威系统数据“订阅式推送”的基础;
步骤D-4、构建一张“推送日志表”,用于存储每次推送的数据项和推送结果。
进一步的,为更好的实现本发明所述方法,所述步骤D包括以下步骤:
步骤D.1、推送监听器监听来自系统内部的推送通知;
步骤D.2、推送监听器调用推送处理器具体处理推送事务;
步骤D.3、推送处理器首先调用订阅管理器,找出本次需要推送的外部系统;
步骤D.4、推送处理器调用数据组装器获取本次需要推送的完整数据,再结合需推送的系统信息生成“推送请求”;
步骤D.5、推送处理器将“推送请求”放入推送队列;
步骤D.6、数据推送器以多线程的方式从推送队列中监听并取出“推送请求”,然后调用“推送请求”中指定的外部系统接口服务;
步骤D.7、数据推送器将推送结果写入“数据推送日志”表中,整个推送过程结束。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明解决大型企业信息化架构中,权威系统数据对外实时推送所面临的困难性和复杂性等问题,采用基于应用层同步技术,以达到最终解决企业信息内部一致性的问题,并可有效和灵活地控制数据流向,便于管理和监控,整个系统及方法具有应用系统和开发者自定义数据转换逻辑和推送方式的特性。
(2)本发明推送通知不因数据来源不同有所差导,而是保持统一的数据规格。
(3)本发明基于应用层的数据推送,应用系统和开发者可以自定义数据转换“数据监听服务”采用的设计模型,使服务具备多数据源增量数据监听能力,耦合度低,可扩展性强。内部模块间采用消息通知机制进行功能协同,提升了模块独立性,各个模块均可独立部署,并支持集群,服务可靠性较高。
(4)本发明采用统一的接口进行数据推送,外部系统集成可动态接入和分离;系统接入采用订阅模式,实现数据按需推送,灵活性较高。
(5)本发明的“数据监听服务”采用的设计模型,使服务具备多数据源增量数据监听能力,耦合度低,可扩展性强。
(6)本发明内部模块间采用消息通知机制进行功能协同,提升了模块独立性,各个模块均可独立部署,并支持集群,服务可靠性较高。
附图说明
图1为JMS的应用模型图。
图2为本发明所述架构原理图。
图3为本发明所述数据监听服务工作原理图。
图4为本发明所述数据推送服务工作原理图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
权威系统、权威数据、权威源:假设在一个企业内部,有“人力资源系统”和“ERP系统”;人力资源系统中管理着公司所有的员工信息,而ERP系统中也同时管理着公司所有的员工信息。这种情况下,员工信息以什么系统为标准,那么它就是权威。
数据推送:当权威系统中的某项数据发生变化时,需要将此数据发送给其它拥有同类数据的系统,避免两边系统数据不一致。此处的数据推送,是指数据的“单向同步”。即系统A需要把数据传给系统B,而系统B则无需传给系统A。
JMS,全称Java Messaging Service(Java消息服务)。是Java平台上面向消息中间件(MOM)的技术规范,它便于消息系统中的Java应用程序进行消息交换。通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。JMS是一组API规范,具有厂商无关性;不同的服务厂商遵从此接口规范实现消息中间件服务。常见的JMS消息中间件服务如IBM的MQSeries、Oracle的 Weblogic JMS service、Progress的SonicMQ、Apache的ActiveMQ等。
在应用架构上,JMS由两部分构成:JMS提供者和JMS客户。JMS提供者,即消息服务,由具体的厂商实现并提供,如ActiveMQ。JMS客户,生产或消费基于消息的Java的应用程序或对象。JMS的应用模型如图1,JMS消息服务作为消息传递中枢;而Java应用则作为JMS客户端,也是消息传递的需求端,负责生产或消费消息,适用于系统内部跨节点、或外部同平台系统间的异步通信。
JMS的内部体系上包括五大元素:生产者(Producer)、消费者(Consumer)、消息(Message)、队列(Queue)、主题(Subject)。
生产者,即消息的产生者,它负责产生消息并将消息发送到消息服务端对应的某个队列或主题。
消费者,即消息的接收(订阅)者,它负责监听消息服务中某个队列或主题的最新消息。
消息,即消息应用中传输的主体对象,它封装了具体的传输数据。
队列,它定义了消息服务中的一个具体的消息通道,生产者和消费者都通过一个具体的通道实现消息传输。但对于队列类型的通道来说,当一个消息被某个消费者获取之后,会将此消息移除。换言之,队列中的消息,同时只能有一个消费者接收。
主题,与队列的概念一致,也是作为一个消息通道;但不同之处在于,基于主的消息可以被多个消费者同时接收。
WebService,即Web服务(Web Service),它是一个平台独立的、松耦合的、自包含的web的应用程序,可使用开放的XML标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的、跨系统的远程调用。因其平台无关性,所以在企业信息系统中应用非常普遍。WebService由三个关键要素组成,即:XML、SOAP、WSDL。
XML,可扩展标记语言(eXtensible Markup Language),它是一种信息或信息关系的描述规范,是软件技术中“平台无关性”的代名词。WebService技术中所有外部特征的描述均采用XML。
SOAP,简单对象访问协议(Simple Object Access Protocol);是一种轻量的、简单的、基于 XML 的协议,它被设计成在 WEB 上交换结构化的和固化的信息。除WebService外,SOAP还可以和现存的许多因特网协议和格式结合使用,包括超文本传输协议( HTTP),简单邮件传输协议(SMTP),多用途网际邮件扩充协议(MIME)。它还支持从消息系统到远程过程调用(RPC)等大量的应用程序。
WSDL,Web服务描述语言(Web Services Description Language),它是基于XML规范的、描述了一个WebService行为特征的格式;例如一个WSDL文件中,至少描述了一个WebService的所有方法,包括方法的名称、输入参数、返回格式等;另外它还可以描述一个WebService的调用方式、安全认证模式等。
JDBC,基于java的数据库连接(Java Data Base Connectivity),是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。JDBC提供了一种基准,据此可以构建更高级的工具和接口,使得应用程序或工具能够对数据库进行操作。在企业应用技术中,JDBC的定位与JMS有相似之处,都是一种数据交互标准规范,而具体的实现由相关厂商提供。
Oracle CDC技术,它是采用发布/订阅模式,实时捕捉到Oracle数据库表中的数据变化,并将增量数据保存到订阅者表中,即类似于中间表;而变化数据捕获方式支持同步和异步两种方式。
Oracle数据库,是业界知名的企业数据库,功能强大、安全可靠。
CDC,即Change Data Capture(改变数据捕获);它可以实时捕捉到Oracle数据库表中的数据变化,并将增量数据保存到一个中间表。
实施例1:
企业权威源系统数据实时推送架构,如图2所示,包括权威系统域、用户域、集成系统域、订阅系统域,所述权威系统域分别连接用户域、集成系统域和订阅系统域;用户域,代表的是企业信息系统用户,包括终端用户和管理员等。权威系统域,是指管理和维护着企业某种权威数据、并且需要对外实时推送的系统,权威系统域包括数据适配器、数据库、数据监听服务、消息服务、数据推送服务;集成系统域,是指与权威系统有数据集成关系的业务系统。订阅系统域,是指企业权威数据的需求系统,也就是权威系统需实时推送的目标系统。所述数据适配器分别连接数据库和消息服务,所述数据库分别连接数据监听服务和数据推送服务,所述消息服务分别连接数据监听服务和数据推送服务,所述权威系统域还包括应用控制器和业务组件,所述应用控制器通过业务组件连接数据适配器。四大域在企业信息化环境中均是独立的主体,它们之间通过网络进行交互。
图2中的虚线箭头,表示跨网络的数据交互或业务调用;实线箭头,表示系统内部的本地化调用;箭头的方向,代表数据的流向;“D”和数字组成的编号(如D1、D2),代表系统中的一组数据;“S”代表数据的来源,“E”代表数据流向的终点。
数据适配器,具备两项能力:一是对数据库的读写能力,二是对数据操作的监听和通知能力;是达成数据实时同步的重要基础;它作为权威系统的数据访问层,与数据库相连,构建于JDBC或ORM技术基础之上,负责代理系统中所有的数据输入输出,并对外开放数据操作API和数据监听器,以供上层应用对数据库的操作,以及对增量数据的监听。
工作原理上,数据适配器主要接受上层业务组件的调用并传入数据(如D1),也支持外部系统向其输入数据(如D2);然后将数据存入数据库,同时向外部组件发送数据变化的消息通知。
通过构建数据适配器,就可以确保来源于应用层数据可以被实时地捕捉,为整个数据推送机制奠定了坚实的第一步。
数据库,主要用于存储全量的权威数据,技术上采用Oracle实现,在企业信息系统中,数据库中的数据来源除了从应用层经数据适配器写入外,也有可能是经其它外部系统或数据库直接同步过来,例如Novell的目录服务、Oracle的GodenGate等就能完成这样的同步;在权威系统中增量数据的捕捉是依靠数据适配器层来监听的,但如果数据直接来源于外部数据源,就绕过了数据适配器层,从而也绕过了系统对增量数据的监听,最后导致增量数据捕捉遗漏,为此给增量数据同步带来了困难,然而采用Oracle的CDC技术的数据库可弥补数据适配器层对增量数据捕捉的不足,通过两者的结合使用,最终达到完整的数据捕捉。
数据监听服务,主要负责监听数据适配器层和Oracle CDC捕捉到的增量数据,如数据[D1 D2 D3];然后根据监听到的增量数据的类型和特点,生成相应的数据推送通知,并将通知发送到消息服务。数据监听服务是增量数据的汇总分析网关。通过构建该服务,不仅可以将来自不同层面增量数据进行统一,以简化后续数据推送的复杂度;还对架构可扩展性起到了良好的支撑作用。例如未来权威系统中有新的数据源接入时,仅需对该服务进行扩展监听即可,后续步骤不变。
消息服务,主要用于系统内部模块或服务间进行数据松耦合、异步交互。如此可以提高系统整体效率,消息服务采用的是JMS标准,具体技术实现采用开源组织Apache的ActiveMQ。ActiveMQ在业界早已被广泛地使用,性能高、支持集群部署,运行稳定可靠。
数据推送服务,主要负责具体的业务数据向外部系统进行推送。
实施例2:
本实施例是在上述实施例的基础上进一步优化,结合图2、图3,虚线箭头代表跨系统或跨服务单元的数据流动,实线箭头表示服务内部数据流动,箭头方向代表数据流动方向;“M”、“D”、“S”表示不同类型的源输入数据,“N”表示经过处理后的统一格式的数据;字母后面的数字1、2、3等,表示当前数据在系统中产生顺序的区分。数据监听服务内部主要由四个单元组成,即:数据监听器、数据分析器、通知队列、通知发送器。其中数据监听器与数据分析器一一对应,又根据外部数据类型的不同,数据监听器分为消息监听器、数据表监听器和其它监听器,数据分析器分为消息分析器、数据表分析器和其它分析器。监听器主要负责收集外部增量数据;分析器主要对增量数据进行业务性质的分析,并生成推送通知;推送通知不因数据来源不同有所差导,而是保持统一的数据规格。分析器将生成的推送通知放入通知队列。通知发送器从通知队列中取出推送通知,并发送给消息服务,数据监听服务的流程至此完成。
由消息监听器监听并收集增量数据源中的消息服务所发出的M1源数据或由数据表监听器监听并收集增量数据源中的关系数据库所发出的D2源数据或由其它监听器监听并收集增量数据源中的其它所发出S3源数据;消息分析器主要对增量数据进行业务性质的分析,并生成推送通知N1,数据表分析器主要对增量数据进行业务性质的分析,并生成推送通知N2,其它分析器主要对增量数据进行业务性质的分析,并生成推送通知N3;分析器将生成的推送通知(N1、N2、N3)放入通知队列,通知发送器从通知队列中取出推送通知,形成统一格式的数据N作为通知并发送给消息服务,数据监听服务的流程至此完成。推送通知不因数据来源不同有所差导,而是保持统一的数据规格。
实施例3:
本实施例是在上述实施例的基础上进一步优化,所述数据推送服务包括订阅管理器、数据组装器、推送监听器、推送处理器、推送队列和数据推送器,所述推送监听器连接消息服务,所述推送服务器分别连接订阅管理器、数据组装器、推送监听器和推送队列,所述推送队列通过数据推送器连接订阅系统域,所述订阅管理器和数据组装器分别连接数据库,所述订阅系统域包括企业信息系统A、企业信息系统B、企业信息系统C,所述数据推送服务器分别连接企业信息系统A、企业信息系统B、企业信息系统C。
订阅管理器:实际上是程序设计中的一个组件,他主要负责对业务系统与数据订阅关系的维护。比如我们的“订阅匹配”内部逻辑,就是通过订阅管理器提供的功能来完成的。
数据组装器:是一个程序组件,它负责从数据库中查询出特定的信息(实际上就是去查询完整的、需求进行推送的信息,例如用户信息、组织信息等),再将查出的信息组装成特定的数据规范(格式)。将数据组装(转换)成特定的格式,为在调用业务系统注册的推送接口时,对数据格式有统一的格式要求。
根据逻辑关系,订阅管理器会被先执行,然后才是数据组装器被执行。订阅管理器和数据组装器皆需要从数据库去读取数据。
实施例4:
企业权威源系统数据实时推送方法,其特征在于:包括以下步骤:
步骤A、权威系统域数据起始输入:用户域数据输入或外部信息系统输入或外部数据库输入;
步骤B、数据适配:经步骤A后,通过数据适配器接受上层业务组件的调用并传入数据,也支持外部系统向其输入数据,然后将数据存入数据库,同时向外部组件发送数据变化的消息通知;
步骤C、数据监听:负责监听数据适配器层和Oracle CDC捕捉到的增量数据,然后根据监听到的增量数据的类型和特点,生成相应的数据推送通知,并将通知发送到消息服务,经消息服务再发送给“数据推送服务”;
步骤D、数据推送:主要负责具体的业务数据向外部系统进行推送,数据推送服务收到数据后,分别解析出各项所需推送的业务系统,同时将各数据进行标准格式化转换。最后由数据推送服务将格式化的数据,通过业务系统所注册的接口进行传输,并在数据库中记录数据传输日志信息;
步骤E、结束数据推送,经步骤D后,结束一个数据推送过程。
如图1所示,整个数据推送机制的触发,是由外部对象对权威系统的数据操作开始。外部对象包括权威系统用户和第三方系统或数据库。权威系统域的数据起始输入有三种情况:用户域输入、外部信息系统输入、外部数据库输入。
对于用户域输入,终端用户或管理员将数据D1从客户端提交到权威系统域的“应用控制器”组件,应用控制器对数据D1进行合法性校验,校验通过后调用“业务组件”对D1进行业务处理和计算,业务组件处理完D1后,再调用“数据适配器”将D1写入数据库。数据适配器将D1写入数据库成功后,再发送一条JMS消息到消息服务。对于外部信息系统输入,是由集成系统域的第三方业务系统即集成系统域的企业信息系统A直接远程调用权威系统域中的数据适配器组件,并传入数据D2,由数据适配器将D2写入数据库,写入成功后向消息服务发送一条JMS消息。对于外部数据库输入,是由集成系统域的第三方数据库及集成系统域的数据库系统直接把数据D3同步到权威系统数据库;权威系统数据库中采用触发器或Oracle CDC功能将增量数据记录到中间表中。
数据D1、D2进入了数据库,同时被发送到了消息服务,而D3进入了数据库,同时被记录在数据库的增量表中,后续“数据监听服务”从消息服务中接收到D1、D2,同时从数据库增量表中扫描到D3,即数据监听服务将由不同的途径触发的增量数据进行了汇聚,然后统一将数据D1、D2、D3通过消息服务再发送给“数据推送服务”。数据推送服务收到数据D1、D2、D3后,分别解析出各项所需推送的业务系统,同时将各数据进行标准格式化转换。最后由数据推送服务将格式化的数据D1、D2、D3,通过业务系统所注册的接口进行传输,并在数据库中记录数据传输日志信息。至此,一个数据推送过程结束。
实施例5:
本实施例是在上述实施例的基础上进一步优化,所述步骤C包括以下步骤:
步骤C.1、数据监听器收集外部增量数据;
步骤C.2、经步骤C.1后,分析器对增量数据进行业务性质的分析,并生成推送通知;推送通知不因数据来源不同有所差导,而是保持统一的数据规格。
步骤C.3、分析器将生成的推送通知放入通知队列;
步骤C.4、通知发送器从通知队列中取出推送通知,并发送给消息服务,数据监听服务的流程至此完成。
实施例6:
本实施例是在上述实施例的基础上进一步优化,所述步骤D包括以下步骤:
步骤D-1、采用WebService技术定义一套统一的数据推送接口标准,由外部系统具体实现和提供接口服务,并在权威系统中注册;当权威系统内部触发了数据推送事务时,数据推送服务仅需根据统一的接口规范调用外部系统提供的接口服务即可,webservice的底层通讯基于HTTPS,确保数据跨网传送时的数据安全性。
步骤D-2、当权威系统内部触发了数据推送事务时,数据推送服务根据统一的接口规范调用外部系统提供的接口服务;
步骤D-3、构建一张“数据订阅表”,用于存储外部系统接口地址,和订阅的数据类型编码,以此建立权威系统数据“订阅式推送”的基础;
步骤D-4、构建一张“推送日志表”,用于存储每次推送的数据项和推送结果,以便对数据推送细节进行跟踪和监控。
实施例7:
本实施例是在上述实施例的基础上进一步优化,所述步骤D包括以下步骤:
步骤D.1、推送监听器监听来自系统内部的推送通知;
步骤D.2、推送监听器调用推送处理器具体处理推送事务;
步骤D.3、推送处理器首先调用订阅管理器,找出本次需要推送的外部系统;在此步骤中,订阅管理器同数据库之间会进行订阅匹配,订阅匹配:每个集成到权威系统中的外部业务系统,都需要在权威系统中进行注册,注册时就必须填写其数据推送接口URL(地址),以及当前系统拟订阅(或关注)的数据类型。例如权威系统中管理了用户(代码U)、组织(代码O)、功能资源(代码FN)等,业务系统在权威系统中注册时,可以指定对应的数据编码,假设业务系统A注册时订阅了U、O,那就说明系统的同步范围是用户、组织这两项数据。因此,订阅匹配就是说,当权威系统中产生了数据变化,在执行具体的推送之前,去数据库对比一下当前数据是不是业务系统订阅的数据范围。如果是,则应该推给业务系统,如果不是,则不进行推送;
步骤D.4、推送处理器调用数据组装器获取本次需要推送的完整数据,再结合需推送的系统信息生成“推送请求”;
步骤D.5、推送处理器将“推送请求”放入推送队列;
步骤D.6、数据推送器以多线程的方式从推送队列中监听并取出“推送请求”,然后调用“推送请求”中指定的外部系统接口服务;在此步骤中,订阅管理器同数据库之间会进行数据查询,数据查询:比如我们的推送服务程序已知要进行用户信息(U)的推送,但程序内存中只有一个用户ID号,而没有用户完整的信息。这个时间就需要去数据库中把用户完整的信息查询出来,然后把完整的信息推给业务系统。这就是数据查询;
步骤D.7、数据推送器将推送结果写入“数据推送日志”表中,整个推送过程结束。基于应用层的数据推送,应用系统和开发者可以自定义数据转换“数据监听服务”采用的设计模型,使服务具备多数据源增量数据监听能力,耦合度低,可扩展性强。内部模块间采用消息通知机制进行功能协同,提升了模块独立性,各个模块均可独立部署,并支持集群,服务可靠性较高。
实施例8:
本实施例是在上述实施例的基础上进一步优化,所述步骤A中,用户域数据输入:用户将数据从客户端提交到权威系统域的“应用控制器”组件,应用控制器对数据进行合法性校验,校验通过后调用“业务组件”对数据进行业务处理和计算;外部信息系统输入:集成系统域的企业信息系统A远程调用权威系统域中的数据适配器组件,并传入数据;外部数据库输入:是由集成系统域的数据库系统直接把数据同步到权威系统域的数据库。
本发明满足信息系统权限管理所需,将企业身份数据进行统一管理,所有的受控资源对象或资源抽象对象进行集中管理,有效提高管理效率、降低生产及管理成本。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (10)
1.企业权威源系统数据实时推送架构,其特征在于:包括权威系统域、用户域、集成系统域、订阅系统域,所述用户域、集成系统域分别连接权威系统域,所述权威系统域连接订阅系统域;所述权威系统域包括数据适配器、数据库、数据监听服务、消息服务、数据推送服务,所述数据适配器分别连接数据库和消息服务器,所述数据监听服务和数据推送服务均连接数据库,所述消息服务分别连接数据监听服务和数据推送服务。
2.根据权利要求1所述的企业权威源系统数据实时推送架构,其特征在于:所述数据监听服务包括数据监听器、数据分析器、通知队列和通知发送器,所述数据监听器监听和扫描增量数据源,并调用数据分析器;数据分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务;所述数据监听器包括消息监听器、数据表监听器、其它监听器,所述数据分析器包括消息分析器、数据表分析器、其它分析器;所述消息监听器监听和扫描增量数据源,并调用消息分析器;消息分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务;所述数据表监听器监听和扫描增量数据源,并调用数据表分析器;数据表分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务;所述其它监听器监听和扫描增量数据源,并调用其它分析器;其它分析器调用通知队列;所述通知发送器监听通知队列,并连接到消息服务。
3.根据权利要求1所述的企业权威源系统数据实时推送架构,其特征在于:所述数据推送服务包括订阅管理器、数据组装器、推送监听器、推送处理器、推送队列和数据推送器;所述推送监听器连接消息服务,调用推送处理器;所述推送处理器依次调用订阅管理器、数据组装器和推送队列;所述订阅管理器和数据组装器分别连接数据库;所述数据推送器监听推送队列,并调用订阅系统域的信息系统接口。
4.根据权利要求1或2或3所述的企业权威源系统数据实时推送架构,其特征在于:所述权威系统域还包括应用控制器和业务组件,所述应用控制器调用业务组件,业务组件调用数据适配器。
5.企业权威源系统数据实时推送方法,其特征在于:包括以下步骤:
步骤A、权威系统域数据起始输入:用户域数据输入或外部信息系统输入或外部数据库输入;
步骤B、数据适配:经步骤A后,通过数据适配器接受上层业务组件的调用并传入数据,也支持外部系统向其输入数据,然后将数据存入数据库,同时向外部组件发送数据变化的消息通知;
步骤C、数据监听:负责监听数据适配器层和Oracle CDC捕捉到的增量数据,然后根据监听到的增量数据的类型和特点,生成相应的数据推送通知,并将通知发送到消息服务,经消息服务再发送给“数据推送服务”;
步骤D、数据推送:主要负责具体的业务数据向外部系统进行推送,数据推送服务收到数据后,分别解析出各项所需推送的业务系统,同时将各数据进行标准格式化转换,
最后由数据推送服务将格式化的数据,通过业务系统所注册的接口进行传输,并在数据库中记录数据传输日志信息;
步骤E、结束数据推送,经步骤D后,结束一个数据推送过程。
6.根据权利要求5所述的企业权威源系统数据实时推送方法,其特征在于:所述步骤C包括以下步骤:
步骤C.1、数据监听器收集外部增量数据;
步骤C.2、经步骤C.1后,分析器对增量数据进行业务性质的分析,并生成推送通知;
步骤C.3、分析器将生成的推送通知放入通知队列;
步骤C.4、通知发送器从通知队列中取出推送通知,并发送给消息服务,数据监听服务的流程至此完成。
7.根据权利要求5或6所述的企业权威源系统数据实时推送方法,其特征在于:所述步骤D包括以下步骤:
步骤D-1、采用WebService技术定义一套统一的数据推送接口标准,由外部系统具体实现和提供接口服务,并在权威系统中注册;
步骤D-2、当权威系统内部触发了数据推送事务时,数据推送服务根据统一的接口规范调用外部系统提供的接口服务;
步骤D-3、构建一张“数据订阅表”,用于存储外部系统接口地址,和订阅的数据类型编码,以此建立权威系统数据“订阅式推送”的基础;
步骤D-4、构建一张“推送日志表”,用于存储每次推送的数据项和推送结果。
8.根据权利要求7所述的企业权威源系统数据实时推送方法,其特征在于:所述步骤D包括以下步骤:
步骤D.1、推送监听器监听来自系统内部的推送通知;
步骤D.2、推送监听器调用推送处理器具体处理推送事务;
步骤D.3、推送处理器首先调用订阅管理器,找出本次需要推送的外部系统;
步骤D.4、推送处理器调用数据组装器获取本次需要推送的完整数据,再结合需推送的系统信息生成“推送请求”;
步骤D.5、推送处理器将“推送请求”放入推送队列;
步骤D.6、数据推送器以多线程的方式从推送队列中监听并取出“推送请求”,然后调用“推送请求”中指定的外部系统接口服务;
步骤D.7、数据推送器将推送结果写入“数据推送日志”表中,整个推送过程结束。
9.根据权利要求5或6所述的企业权威源系统数据实时推送方法,其特征在于:所述步骤D包括以下步骤:
步骤D.1、推送监听器监听来自系统内部的推送通知;
步骤D.2、推送监听器调用推送处理器具体处理推送事务;
步骤D.3、推送处理器首先调用订阅管理器,找出本次需要推送的外部系统;
步骤D.4、推送处理器调用数据组装器获取本次需要推送的完整数据,再结合需推送的系统信息生成“推送请求”;
步骤D.5、推送处理器将“推送请求”放入推送队列;
步骤D.6、数据推送器以多线程的方式从推送队列中监听并取出“推送请求”,然后调用“推送请求”中指定的外部系统接口服务;
步骤D.7、数据推送器将推送结果写入“数据推送日志”表中,整个推送过程结束。
10.根据权利要求5或6所述的企业权威源系统数据实时推送方法,其特征在于:所述步骤A中,用户域数据输入:用户将数据从客户端提交到权威系统域的“应用控制器”组件,应用控制器对数据进行合法性校验,校验通过后调用“业务组件”对数据进行业务处理和计算;外部信息系统输入:集成系统域的企业信息系统A远程调用权威系统域中的数据适配器组件,并传入数据;外部数据库输入:是由集成系统域的数据库系统直接把数据同步到权威系统域的数据库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410323087.6A CN104156798B (zh) | 2014-07-08 | 2014-07-08 | 企业权威源系统数据实时推送方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410323087.6A CN104156798B (zh) | 2014-07-08 | 2014-07-08 | 企业权威源系统数据实时推送方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104156798A true CN104156798A (zh) | 2014-11-19 |
CN104156798B CN104156798B (zh) | 2017-12-01 |
Family
ID=51882293
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410323087.6A Active CN104156798B (zh) | 2014-07-08 | 2014-07-08 | 企业权威源系统数据实时推送方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104156798B (zh) |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550355A (zh) * | 2015-12-29 | 2016-05-04 | 四川中电启明星信息技术有限公司 | Hose基于规则的数据推送系统及方法 |
CN105577808A (zh) * | 2015-12-29 | 2016-05-11 | 中国建设银行股份有限公司 | 监管报送方法和系统 |
CN105844386A (zh) * | 2016-03-17 | 2016-08-10 | 中山艾华企业管理咨询有限公司 | 一种基于浏览器服务器模式的企业数据系统 |
CN105843597A (zh) * | 2015-01-16 | 2016-08-10 | 阿里巴巴集团控股有限公司 | 任务构建信息的提供方法、装置 |
CN106156277A (zh) * | 2016-06-24 | 2016-11-23 | 乐视控股(北京)有限公司 | 用于第三方的数据共享更新方法及系统 |
CN106301972A (zh) * | 2016-11-16 | 2017-01-04 | 北京集奥聚合科技有限公司 | 一种监控数据实时上推方法及系统 |
CN107169069A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
WO2017167022A1 (zh) * | 2016-03-28 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
CN107301196A (zh) * | 2017-05-03 | 2017-10-27 | 北京小度信息科技有限公司 | 数据同步方法、装置、设备及监控服务器 |
CN107590210A (zh) * | 2017-08-25 | 2018-01-16 | 咪咕互动娱乐有限公司 | 一种数据处理方法、装置、系统及计算机可读存储介质 |
CN108243210A (zh) * | 2016-12-23 | 2018-07-03 | 北京神州泰岳软件股份有限公司 | 一种信息推送方法和信息推送服务器 |
CN110740160A (zh) * | 2019-08-29 | 2020-01-31 | 武汉烽火众智数字技术有限责任公司 | 一种多源数据地图网格化及数据状态实时推送系统 |
CN114095583A (zh) * | 2021-10-28 | 2022-02-25 | 翌飞锐特电子商务(北京)有限公司 | 一种航空货物电子数据交换方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088459A (zh) * | 2010-12-29 | 2011-06-08 | 广东楚天龙智能卡有限公司 | 一种基于可信交换的大集中数据交换与集成平台 |
CN102724304A (zh) * | 2012-06-06 | 2012-10-10 | 哈尔滨工程大学 | 订阅/发布系统中信息仓库联邦及数据同步方法 |
CN103036736A (zh) * | 2012-11-30 | 2013-04-10 | 航天恒星科技有限公司 | 一种基于数据源的组态化设备监控系统及方法 |
CN103458033A (zh) * | 2013-09-04 | 2013-12-18 | 北京邮电大学 | 事件驱动、面向服务的物联网服务提供系统及其工作方法 |
-
2014
- 2014-07-08 CN CN201410323087.6A patent/CN104156798B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102088459A (zh) * | 2010-12-29 | 2011-06-08 | 广东楚天龙智能卡有限公司 | 一种基于可信交换的大集中数据交换与集成平台 |
CN102724304A (zh) * | 2012-06-06 | 2012-10-10 | 哈尔滨工程大学 | 订阅/发布系统中信息仓库联邦及数据同步方法 |
CN103036736A (zh) * | 2012-11-30 | 2013-04-10 | 航天恒星科技有限公司 | 一种基于数据源的组态化设备监控系统及方法 |
CN103458033A (zh) * | 2013-09-04 | 2013-12-18 | 北京邮电大学 | 事件驱动、面向服务的物联网服务提供系统及其工作方法 |
Non-Patent Citations (1)
Title |
---|
裘晓燕: "信息系统集成中间件eEnabling的设计与实现", 《万方数据知识服务平台》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105843597A (zh) * | 2015-01-16 | 2016-08-10 | 阿里巴巴集团控股有限公司 | 任务构建信息的提供方法、装置 |
CN105577808A (zh) * | 2015-12-29 | 2016-05-11 | 中国建设银行股份有限公司 | 监管报送方法和系统 |
CN105550355A (zh) * | 2015-12-29 | 2016-05-04 | 四川中电启明星信息技术有限公司 | Hose基于规则的数据推送系统及方法 |
CN105550355B (zh) * | 2015-12-29 | 2019-03-15 | 四川中电启明星信息技术有限公司 | 基于规则的Hose数据推送系统及方法 |
CN105844386A (zh) * | 2016-03-17 | 2016-08-10 | 中山艾华企业管理咨询有限公司 | 一种基于浏览器服务器模式的企业数据系统 |
WO2017167022A1 (zh) * | 2016-03-28 | 2017-10-05 | 阿里巴巴集团控股有限公司 | 基于大数据推算开发对象关系的方法及装置 |
CN106156277A (zh) * | 2016-06-24 | 2016-11-23 | 乐视控股(北京)有限公司 | 用于第三方的数据共享更新方法及系统 |
CN106301972A (zh) * | 2016-11-16 | 2017-01-04 | 北京集奥聚合科技有限公司 | 一种监控数据实时上推方法及系统 |
CN108243210A (zh) * | 2016-12-23 | 2018-07-03 | 北京神州泰岳软件股份有限公司 | 一种信息推送方法和信息推送服务器 |
CN107301196A (zh) * | 2017-05-03 | 2017-10-27 | 北京小度信息科技有限公司 | 数据同步方法、装置、设备及监控服务器 |
CN107169069A (zh) * | 2017-05-08 | 2017-09-15 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
CN107169069B (zh) * | 2017-05-08 | 2020-01-07 | 山大地纬软件股份有限公司 | 分布式分级抽取多应用方法和数据抽取应用器 |
CN107590210A (zh) * | 2017-08-25 | 2018-01-16 | 咪咕互动娱乐有限公司 | 一种数据处理方法、装置、系统及计算机可读存储介质 |
CN110740160A (zh) * | 2019-08-29 | 2020-01-31 | 武汉烽火众智数字技术有限责任公司 | 一种多源数据地图网格化及数据状态实时推送系统 |
CN114095583A (zh) * | 2021-10-28 | 2022-02-25 | 翌飞锐特电子商务(北京)有限公司 | 一种航空货物电子数据交换方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104156798B (zh) | 2017-12-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104156798A (zh) | 企业权威源系统数据实时推送架构及方法 | |
CN102291464B (zh) | BPM中业务流程动态生成Web Service的系统及方法 | |
CN101836200B (zh) | 基于模型的合成应用程序平台 | |
US20140156724A1 (en) | Propagation and adoption of extensions across applications in networked solutions | |
CN109656963B (zh) | 元数据获取方法、装置、设备及计算机可读存储介质 | |
US20050223021A1 (en) | Providing enterprise information | |
CN112100265A (zh) | 面向大数据架构与区块链的多源数据处理方法及装置 | |
CN106446256B (zh) | 一种基于上下文计算的工业实时生产信息感知系统 | |
CN110096545A (zh) | 一种基于大数据平台数据处理域构架方法 | |
Zhang et al. | Research on IOT RESTful web service asynchronous composition based on BPEL | |
CN1858732B (zh) | 一种数字家庭网络中的文件搜索系统及方法 | |
CN111459930A (zh) | 用于智慧城市的公共信息管理系统 | |
CN114650320B (zh) | 任务调度方法、装置、存储介质及电子设备 | |
CN115115329A (zh) | 一种面向智能生产线的制造中间件及云制造架构 | |
Wagner et al. | Linked Data and Complex Event Processing for the Smart Energy Grid. | |
CN103034738A (zh) | 用于管理异构非结构化数据的关系型数据库及其创建和查询非结构化数据描述信息的方法 | |
WO2015184879A1 (zh) | 物联网的终端拓扑管理服务方法、装置及系统 | |
CN103092982A (zh) | 基于多视图业务模型的信息服务系统 | |
CN102594889B (zh) | 一种基于数据召测的数据同步与分析系统 | |
CN110532313A (zh) | 数据交换装置 | |
CN115757552B (zh) | 基于分布式微服务的银行历史数据管理系统 | |
D'silva et al. | Real-time processing of IoT events using a Software as a Service (SaaS) architecture with graph database | |
CN109857965A (zh) | 基于soa的气象服务产品发布服务器控制系统及方法 | |
Trifa et al. | Web messaging for open and scalable distributed sensing applications | |
CN102298648A (zh) | 开放式实时数据库跨进程访问方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |