CN105550355B - 基于规则的Hose数据推送***及方法 - Google Patents
基于规则的Hose数据推送***及方法 Download PDFInfo
- Publication number
- CN105550355B CN105550355B CN201511006362.2A CN201511006362A CN105550355B CN 105550355 B CN105550355 B CN 105550355B CN 201511006362 A CN201511006362 A CN 201511006362A CN 105550355 B CN105550355 B CN 105550355B
- Authority
- CN
- China
- Prior art keywords
- data
- driving
- pushing
- library
- request
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明公开了Hose基于规则的数据推送***及方法,所述***包括权威库、服务器及目标库,在所述服务器内设置有驱动引擎、***及多个连接器,在所述驱动引擎内设置有驱动管理器、驱动引擎日志记录器及多个驱动,在所述驱动内按数据处理流程顺序设置有过滤器、规则库、处理器及日志记录器;方法包括:***监听数据推送请求,驱动引擎接收从连接器发送过来的数据推送请求,查询驱动引擎中所有可用的驱动,依次调用驱动处理数据推送请求;驱动处理请求;过滤器处理请求;在服务器中,设置多个连接器和一个驱动引擎,在驱动中***过滤器、规则库、处理器和日志加料器等,并将驱动中的对象进行有序的组合,以便处理数据推送请求。
Description
技术领域
本发明涉及企业权威资源管理技术领域,具体的说,是基于规则的Hose数据推送***及方法。
背景技术
传统的数据推送都是与业务紧密耦合在一起的,无法做到数据推送的通用性和数据结构的多样性,无法对推送数据过程进行精确控制。在大型企业中针对公司战略数据资源都是统一管理、统一运维、统一分析,并为公司业务发展提供服务和数据支持。因为数据资源集中保存与维护,就存在数据的共享和分发问题。
数据整合集成是企业信息化管理的有效手段,通过将分布在企业各个***和数据库中的数据进行提取、梳理、统一维护,建立数据权威库。可以有效降低企业信息化建设成本,提供企业信息化水平,为企业发展战略提供快速的数据支持。数据整合以后就需要进行共享,这样才能支撑企业的业务活动,所以需要一种手段实现数据的分发,并支持数据的实时同步变更。但现有的技术存在如下缺点:
1. 只能支持业务中有限的数据,导致业务耦合性太强,不具有通用性和***迁移性。
2. 与权威库的集成方式单一,导致集成困难,***改造难度大。
3. 无法对推动的数据进行精密的控制,无法对数据进行灵活的修改。
4. 针对关系型数据库,API接口、WebService接口,文本文件等,不支持多种数据目标库。
发明内容
本发明的目的在于提供基于规则的Hose数据推送***及方法,为解决现有数据的分发,并支持数据的实时同步变更的技术所存在的问题及限制,为了实现数据变更实时的推送给目标库而搭建基于规则的Hose数据推送***,采用独创的***式设计架构,实现***中多个组件按需***,不需要时直接卸载或者替换,在服务器中,设置多个连接器和一个驱动引擎,在驱动中***过滤器、规则库、处理器和日志加料器等,并将驱动中的对象进行有序的组合,以便处理数据推送请求;本发明所述基于规则的Hose数据推送方法采用推动驱动的方式将数据推送给目标库,在进行数据推送时,以驱动引擎为容器,驱动为核心,对推送数据和推送过程精确控制和监控,针对推动的数据运用规则,变更数据,纲要映射,完成被推送的数据的推送。
本发明通过下述技术方案实现:基于规则的Hose数据推送***,包括权威库、服务器及目标库,在所述服务器内设置有驱动引擎、***及多个连接器,所述连接器与驱动引擎相连接;在所述驱动引擎内设置有驱动管理器、驱动引擎日志记录器及多个驱动,所述连接器与驱动相连接,在所述驱动内按数据处理流程顺序设置有过滤器、规则库、处理器及日志记录器;
所述服务器为一个运行的Hose数据推送***;
所述驱动引擎,通过驱动管理器,管理所述驱动的生命周期,进行驱动创建、删除、变更、启动及关闭操作;
所述驱动引擎日志记录器,记录包括对驱动本身新增、删除、变更、启动及关闭的操作记录;
所述驱动管理器,一种可视化的对驱动进行管理的工具;
所述驱动,处理权威库与目标库的数据推送分发,支持多驱动,多权威库和多目标库;
所述过滤器,将所述驱动不需要推送的数据过滤掉,对推送的数据进行精确的控制;
所述规则库,对推送的数据进行控制,执行额外的业务逻辑;并针对不同的驱动和推送要求进行灵活配置规则;
所述处理器,根据目标库的不同分别对应不同的处理器,设置有JDBC处理器、LDAP处理器及WebService处理器;
所述日志记录器,将数据推送过程中产生的审计数据记录到文件中;
所述连接器,为服务器的入口,包括基于TCP/IP的连接器、基于HTTP协议的连接器、基于JMS消息的连接器、基于内存的连接器;
所述***,监听通过不同渠道发送过来的数据推送请求,是权威库与Hose数据推送集成通信的入口,根据权威库的技术异构,相关限制,提供与之对应的***对象,方便集成,并采用TCP/IP技术或HTTP技术或JMS技术将监听到的数据推送请求通过连接器引入服务器内。
进一步的为更好的实现本发明所述***,特别设置有下述结构:在所述服务器内还设置有控制台,所述控制台,基于浏览器的可视化管理工具,用于监控服务器状态,结合驱动管理器管理驱动的启动和停止,以及驱动创建、删除、编辑,并查看驱动的日志信息。
进一步的为更好的实现本发明所述***,特别设置有下述结构:在所述驱动引擎内还设置有集群组件,所述集群组件,在集群多节点部署环境中驱动引擎采用集群组件将驱动的配置变更广播给集群中其他的服务器,确保驱动配置集群中保持同步。
基于规则的Hose数据推送方法,包括以下步骤:
1)所述***监听通过不同渠道发送过来的数据推送请求,而后将数据推送请求通过连接器传递给驱动引擎;
2)所述驱动引擎接收从连接器发送过来的数据推送请求,查询驱动引擎中所有可用的驱动,依次调用驱动处理数据推送请求;
3)驱动处理请求,所述驱动接收到从驱动引擎传递过来的数据推送请求,驱动首先检查路由标识,如果不支持此路由标识,则直接返回,数据推送结束;如果支持该路由标识,则将该数据推送请求传递给过滤器;
4)过滤器处理请求,所述过滤器接收到驱动传递过来的数据推送请求后,过滤器将对数据推送请求中驱动不支持的数据进行过滤,而后将能够被推送的数据推送请求传递给规则库;
5)针对请求数据运用规则,所述规则库接收到数据推送请求,对该数据推送请求应用规则库内配置的规则,规则运行完成,执行步骤6),将数据推送请求传递给处理器;在规则运行过程中,可以中断推送过程直接结束;
6)处理器处理请求,所述处理器接收到数据推送请求,从数据推送请求中获得被推送的数据,将被推送的数据通过纲要映射转换成目标库能够识别的格式。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:在执行步骤1)所述***监听通过不同渠道发送过来的数据推送请求,将数据推送请求通过连接器传递给驱动引擎之前还设置有以下步骤:
步骤一、权威库监听处理事件,权威库从事件中获得原始数据,并为原始数据生成一个能被驱动所支持且代表目标库的路由标识;
步骤二、权威库依据推送时机、目标库、数据类型和操作类型,将原始数据进行整合规范,而后将规范化后的数据和路由标识封装为XML格式化数据,并将XML格式化数据作为数据推送请求发送至服务器的连接器内。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括以下步骤:
7)目标库处理数据,经步骤6)后,所述目标库接收到被推送的数据,首先对所接收的被推送的数据的合法性及有效性进行验证,经验证后被推送的数据的目标库是关系型数据库则直接使用JDBC将数据写入;经验证后若被推送的数据的目标库为WebService服务或者RESTful则将被推送的数据写入WebService服务端。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
8)持久化数据并进行数据整合,经步骤7)后,所述目标库将接收到的被推送的数据进行持久化,并且被推送的数据与权威库保持关联关系。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
9)经步骤8)后,所述处理器调用日志记录器,将数据推送请求处理过程的审计信息记录下来,保存到磁盘中,处理器完成数据推送请求处理和数据推送,返回到驱动引擎进行下一步处理。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
10)经步骤9)后,所述驱动引擎接收到数据推送请求处理结果,通过连接器响应权威库,告知权威库数据推送结果是成功或者失败,并附有推送失败的原因,据此完成一个数据推送请求。
进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
11)经步骤10)后,所述处理器会将被推送的数据封装成目标库能够识别的数据格式,在进行数据封装时,针对不同的目标库类型,采用不同的处理器,将数据封装后,推送给相应的目标库。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明为解决现有数据的分发,并支持数据的实时同步变更的技术所存在的问题及限制,采用独创的***式设计架构,实现***中多个组件按需***,不需要时直接卸载或者替换,在服务器中,设置多个连接器和一个驱动引擎,在驱动中***过滤器、规则库、处理器和日志加料器等,并将驱动中的对象进行有序的组合,以便处理数据推送请求;本发明同时以驱动引擎为容器,驱动为核心,对推送数据和推送过程精确控制和监控,针对推动的数据运用规则,变更数据,纲要映射,完成被推送的数据的推送。
(2)本发明多驱动支持,每个驱动支持将数据从权威库推送到目标库中。各驱动之间独立,无相互影响。支持推送过滤器对同步的数据进行精确控制,针对数据运用规则可以修改数据。
(3)本发明支持多种目标库类型,JDBC,LDAP,WebService,RESTful,文本文档等。
(4)本发明基于类和特性进行数据推送、精确控制和规则运用。
(5)本发明方便对诸如消息中间件、AD域等其他目标库的支持扩展。
(6)本发明所述基于规则的Hose数据推送***提供了一个功能丰富的规则库,也方便扩展规则库。
附图说明
图1为本发明所述方法流程图。
图2为本发明方法应用时序图。
图3为本发明所述服务器架构图。
图4为本发明所述数据推送架构图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
Hose:寓意水管。
权威库:企业内部的权威数据中心,具有权威性和有效性。例如企业中的ERP***管理企业中的机构、员工等信息。
目标库:数据推送的目的地,数据最后需要去的地方,可以是关系型数据库,文本文件,WebService服务接口,RESTful服务接口,LDAP数据库等等。
类:对数据的格式描述,对数据的规范表示,方便展示与***处理。例如企业员工就是一个类型,该类型包含很多特性。标准的面向对象的抽象方式。
特性:类的特性。例如企业员工的工号、名字、岗位,所属部门等,这些都属于企业员工这个类的特性。
数据推送请求:在Hose***中代表一次数据推送过程,数据推送请求内部持有需要推送的数据和路由信息。
RESTful:一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件。它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
WebService:Web service是一个平***立的,低耦合的,自包含的、基于可编程的web的应用程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的互操作的应用程序。
JDBC:JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口组成。
XML:可扩展标记语言,标准通用标记语言的子集,是一种用于标记电子文件使其具有结构性的标记语言。它可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
Hose-Service,即服务器。
LDAP是轻量目录访问协议,英文全称是Lightweight Directory AccessProtocol,一般都简称为LDAP。它是基于X.500标准的,但是简单多了并且可以根据需要定制。与X.500不同,LDAP支持TCP/IP,这对访问Internet是必须的。LDAP的核心规范在RFC中都有定义,所有与LDAP相关的RFC都可以在LDAPman RFC网页中找到。
实施例1:
基于规则的Hose数据推送***,如图3、图4所示,包括权威库、服务器及目标库,在所述服务器内设置有驱动引擎、***及多个连接器,所述连接器与驱动引擎相连接;在所述驱动引擎内设置有驱动管理器、驱动引擎日志记录器及多个驱动,所述连接器与驱动相连接,在所述驱动内按数据处理流程顺序设置有过滤器、规则库、处理器及日志记录器;
所述服务器为一个运行的Hose数据推送***;
所述驱动引擎,通过驱动管理器,管理所述驱动的生命周期,进行驱动创建、删除、变更、启动及关闭操作;
所述驱动引擎日志记录器,记录包括对驱动本身新增、删除、变更、启动及关闭的操作记录;
所述驱动管理器,一种可视化的对驱动进行管理的工具;
所述驱动,处理权威库与目标库的数据推送分发,支持多驱动,多权威库和多目标库;
所述过滤器,将所述驱动不需要推送的数据过滤掉,对推送的数据进行精确的控制;
所述规则库,对推送的数据进行控制,执行额外的业务逻辑;并针对不同的驱动和推送要求进行灵活配置规则;
所述处理器,根据目标库的不同分别对应不同的处理器,设置有JDBC处理器、LDAP处理器及WebService处理器;
所述日志记录器,将数据推送过程中产生的审计数据记录到文件中;
所述连接器,为服务器的入口,包括基于TCP/IP的连接器、基于HTTP协议的连接器、基于JMS消息的连接器、基于内存的连接器;
所述***,监听通过不同渠道发送过来的数据推送请求,是权威库与Hose数据推送集成通信的入口,根据权威库的技术异构,相关限制,提供与之对应的***对象,方便集成,并采用TCP/IP技术或HTTP技术或JMS技术将监听到的数据推送请求通过连接器引入服务器内。
实施例2:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述***,如图3、图4所示,特别设置有下述结构:在所述服务器内还设置有控制台,所述控制台,基于浏览器的可视化管理工具,用于监控服务器状态,结合驱动管理器管理驱动的启动和停止,以及驱动创建、删除、编辑,并查看驱动的日志信息。
实施例3:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述***,如图3、图4所示,特别设置有下述结构:在所述驱动引擎内还设置有集群组件,所述集群组件,在集群多节点部署环境中驱动引擎采用集群组件将驱动的配置变更广播给集群中其他的服务器,确保驱动配置集群中保持同步。
实施例4:
本实施例是在上述任一实施例的基础上进一步优化,基于规则的Hose数据推送方法,包括以下步骤:
1)所述***监听通过不同渠道发送过来的数据推送请求,而后将数据推送请求通过连接器传递给驱动引擎;
2)所述驱动引擎接收从连接器发送过来的数据推送请求,查询驱动引擎中所有可用的驱动,依次调用驱动处理数据推送请求;
3)驱动处理请求,所述驱动接收到从驱动引擎传递过来的数据推送请求,驱动首先检查路由标识,如果不支持此路由标识,则直接返回,数据推送结束;如果支持该路由标识,则将该数据推送请求传递给过滤器;
4)过滤器处理请求,所述过滤器接收到驱动传递过来的数据推送请求后,过滤器将对数据推送请求中驱动不支持的数据进行过滤,而后将能够被推送的数据推送请求传递给规则库;
5)针对请求数据运用规则,所述规则库接收到数据推送请求,对该数据推送请求应用规则库内配置的规则,规则运行完成,执行步骤6),将数据推送请求传递给处理器;在规则运行过程中,可以中断推送过程直接结束;
6)处理器处理请求,所述处理器接收到数据推送请求,从数据推送请求中获得被推送的数据,将被推送的数据通过纲要映射转换成目标库能够识别的格式。
实施例5:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:在执行步骤1)所述***监听通过不同渠道发送过来的数据推送请求,将数据推送请求通过连接器传递给驱动引擎之前还设置有以下步骤:
步骤一、权威库监听处理事件,权威库从事件中获得原始数据,并为原始数据生成一个能被驱动所支持且代表目标库的路由标识;
步骤二、权威库依据推送时机、目标库、数据类型和操作类型,将原始数据进行整合规范,而后将规范化后的数据和路由标识封装为XML格式化数据,并将XML格式化数据作为数据推送请求发送至服务器的连接器内。
实施例6:
本实施例是在实施例4或5的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括以下步骤:
7)目标库处理数据,经步骤6)后,所述目标库接收到被推送的数据,首先对所接收的被推送的数据的合法性及有效性进行验证,经验证后被推送的数据的目标库是关系型数据库则直接使用JDBC将数据写入;经验证后若被推送的数据的目标库为WebService服务或者RESTful则将被推送的数据写入WebService服务端。
实施例7:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
8)持久化数据并进行数据整合,经步骤7)后,所述目标库将接收到的被推送的数据进行持久化,并且被推送的数据与权威库保持关联关系。
实施例8:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
9)经步骤8)后,所述处理器调用日志记录器,将数据推送请求处理过程的审计信息记录下来,保存到磁盘中,处理器完成数据推送请求处理和数据推送,返回到驱动引擎进行下一步处理。
实施例9:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
10)经步骤9)后,所述驱动引擎接收到数据推送请求处理结果,通过连接器响应权威库,告知权威库数据推送结果是成功或者失败,并附有推送失败的原因,据此完成一个数据推送请求。
实施例10:
本实施例是在上述实施例的基础上进一步优化,进一步的为更好的实现本发明所述方法,特别采用下述设置方式:还包括下述步骤:
11)经步骤10)后,所述处理器会将被推送的数据封装成目标库能够识别的数据格式,在进行数据封装时,针对不同的目标库类型,采用不同的处理器,将数据封装后,推送给相应的目标库。
实施例11:
本实施例是在上述任一实施例的基础上进一步优化,结合图1所示,基于规则的Hose数据推送方法包括以下步骤:
1、监听数据变更事件,并处理数据变更事件或数据推送事件,权威库监听待处理事件,权威库从待处理事件中获得原始数据,并为原始数据生成一个能被驱动所支持且代表目标库的路由标识,该路由标识将决定这个数据将会被那些驱动处理推送。该路由标识能够代表目标库,在本发明中使用一个全局唯一的字符串作为路由标识。确保数据不会推送到它不该去的目标库;
2、整合规范数据,格式化成XML数据,发送数据推送请求,权威库依据推送时机、目标库、数据类型和操作类型,将原始数据进行整合规范,而后将规范化后的数据和路由标识封装为XML格式化数据,并将XML格式化数据作为数据推送请求发送至服务器的连接器内,所述数据类型包括:字符串、数字、布尔值等;所述操作类型包括:新增、删除、更新、迁移;所述推送时机及目标库即为权威库决定哪些数据可以被推送出去,在什么情况下推送,决定将数据推送给哪些目标库;
3、***,监听通过不同渠道发送过来的数据推送请求,接收所有通过***进入的数据推送请求,验证XML格式数据,将XML格式数据转换成服务器内部的数据结构,验证请求的合法性,如果是不合法的请求,则直接抛弃不做处理并记录异常行为,为后面的请求处理准备数据对象。在服务器内部的数据结构中持有了数据的名称、数据值、数据类型、推送标识和路由标识。将合法的请求提交给驱动引擎。***是权威库与Hose数据推送集成通信的入口,根据权威库的技术异构,相关限制,提供与之对应的***对象,方便集成;
4、驱动引擎,接受从连接器发送过来的请求,调用驱动处理请求,所述驱动引擎接收从连接器发送过来的数据推送请求,查询驱动引擎中所有可用的驱动,依次调用驱动处理数据推送请求;驱动引擎管理所有的驱动对象,为***的核心容器。驱动引擎接收从不同***进入的数据推送请求对象,驱动引擎必须处理这些数据推送请求。但是驱动引擎自己不对数据推送请求进行处理,将数据推送请求传递给驱动引擎中所有启动的驱动,由驱动对数据推送请求进行解析和处理;
5、驱动开始处理请求,所述驱动接收到从驱动引擎传递过来的数据推送请求,驱动首先检查路由标识,如果不支持此路由标识,则直接返回,数据推送结束;如果支持该路由标识,则将该数据推送请求传递给过滤器;
6、驱动是否支持该请求,驱动决定处理请求。过滤器将对被推送的数据进行过滤,如果是不支持推送的特性将设置推送标识,如果一个类中所有的特性都不支持推送,则设置该类的推送标识;
7、针对请求数据运用驱动中配置的规则,如果驱动中配置了推送规则,则针对被推送的数据依次运用配置的规则,在驱动的运行过程中,可能会直接中断推送过程,会对被推送的数据进行修改或添加特性等操作。对某些敏感的数据进行加密推送,比如密码、身份证号等。对被推送的数据的主键进行映射匹配处理,将主键关系被推送的数据;
8、针对请求数据运用规则,在规则运行过程中,可以中断推送过程直接结束。如果规则运行完成,将会执行下一个步骤,将数据封装成目标库能够识别的数据格式;
9、记录规则执行失败审计信息,如果规则执行失败时,则记录失败原因和状态,作为问题排查的数据依据。
10、纲要映射,将数据转换成目标库能够识别的格式,数据处理到这一步,处理器会将被推送的数据封装成目标库能够识别的数据格式,数据类型转换,针对不同的目标库类型,采用不同的处理器,将被推送的数据推送给目标库;
11、目标库地址接收数据,处理数据,目标库接收到Hose数据推送服务(服务器)推送过来的被推送的数据,首选需要验证数据合法性和有效性。如果目标库是关系型数据库则直接使用JDBC将数据写入数据库中,如果是WebService或者RESTful则需要一个服务端,接收数据,针对数据执行业务逻辑,主要任务就是数据持久化;
12、持久化数据,数据整合,目标库会将接收到的被推送的数据持久化,并且数据会跟权威库保持关联关系,为后期的数据关联提供数据支撑;
13、接收目标库处理响应,记录审计信息,Hose推送服务可能会接收到目标库返回回来的处理结果响应信息,Hose***会记录下来,作为后期审计问题排查使用。整个数据的推送就已经完成,采用异步的推送方式。
实施例12:
本实施例是在上述任一实施例的基础上进一步优化,结合图2所示,基于规则的Hose数据推送方法包括以下步骤:
1、开始数据推送,权威库从事件中获得原始数据,并为原始数据生成一个能被驱动所支持且代表目标库的路由标识;权威库依据推送时机、目标库、数据类型和操作类型,将原始数据进行整合规范,而后将规范化后的数据和路由标识封装为XML格式化数据,并将XML格式化数据作为数据推送请求发送至服务器的连接器内
2、接受推送请求,监听通过不同渠道发送过来的数据推送请求,而后将数据推送请求通过连接器传递给驱动引擎;
3、解析请求数据,验证数据推送请求内的数据格式,将数据推送请求内的数据转换成***内部数据结构请求对象;
4、获得请求对象,驱动引擎接收从连接器发送过来的数据推送请求;
5、驱动引擎处理请求,驱动引擎接收到***内部数据结构请求对象,将调用所有可用的驱动处理***内部数据结构请求对象。
6、查询所有可用的驱动,依次调用驱动处理数据推送请求;
7、驱动处理请求,驱动接收到从驱动引擎传递过来的数据推送请求;
8、判断是否支持请求,驱动首先检查路由标识,如果支持该路由标识,则将该数据推送请求传递给过滤器;
9、不支持,如果不支持此路由标识,则直接返回;
10、不支持响应处理结果,数据推送结束;
11、过滤器处理请求,所述过滤器接收到驱动传递过来的数据推送请求;
12、过滤掉不支持的数据,过滤器将对数据推送请求中驱动不支持的数据进行过滤;
13、运用规则,能够被推送的数据推送请求传递给规则库;
14、规则对数据进行操作,规则库接收到数据推送请求,对该数据推送请求应用规则库内配置的规则,规则运行完成,执行处理请求步骤,将数据推送请求传递给处理器;
15、规则终止处理,在规则运行过程中,可以中断推送过程;
16、处理请求,处理器接收到数据推送请求,从数据推送请求中获得被推送的数据;
17、终止处理响应处理结果,数据推送过程直接结束;
18、将数据转换成目标库的格式,处理器将被推送的数据通过纲要映射转换成目标库能够识别的格式;
19、目标库处理数据,目标库首先对所接收的被推送的数据的合法性及有效性进行验证,经验证后被推送的数据的目标库是关系型数据库则直接使用JDBC将数据写入;经验证后若被推送的数据的目标库为WebService服务或者RESTful则将被推送的数据写入WebService服务端;
20、返回处理结果,目标库将接收到的被推送的数据进行持久化,并且被推送的数据与权威库保持关联关系;
21、记录审计数据,处理器调用日志记录器,将数据推送请求处理过程的审计信息记录下来,保存到磁盘中,处理器完成数据推送请求处理和数据推送,返回到驱动引擎进行下一步处理;
22、驱动引擎完成数据推送,驱动引擎接收到数据推送请求处理结果,通过连接器响应权威库,告知权威库数据推送结果是成功或者失败,并附有推送失败的原因,据此完成一个数据推送请求;
23、响应处理结果,所述处理器会将被推送的数据封装成目标库能够识别的数据格式,在进行数据封装时,针对不同的目标库类型,采用不同的处理器,将数据封装后,推送给相应的目标库。
本发明数据推送请求通过连接器进入服务器中,连接器将合法的请求对象直接传递给驱动引擎。
驱动引擎接收到合法的请求对象,其会将合法的请求对象传递给所有的驱动。
驱动判断其是否应该处理请求,如果支持请求对象,将进入数据推送流程,请求对象将进入过滤器中。
过滤器接收到请求对象,过滤掉不支持推送的类和特性;如果驱动配置了规则,请求对象将进入规则中。
规则接收到请求对象,针对请求中推送的数据依次运行规则,规则将对数据执行操作;对请求执行完规则,请求对象将进入处理器中。
处理器将最后处理该请求对象,针对数据进行纲要映射,将数据转换成目标库能够识别的数据格式,最后将数据发送给目标库。
目标库返回处理结果,处理器会将处理结果通过日志记录器保存下来,以便时候审计和问题排查。
本发明根据权威库类型和技术平台,选择适合的连接器实现,实现权威库与Hose数据推送服务之间的集成,使权威库可以使用Hose***的推送服务。
一个驱动就是一个权威库与目标库之间的数据通信通道,Hose***使用驱动引擎管理所有的驱动对象。
在驱动中需要配置过滤器,规则库,处理器,日志记录器,其中,规则库是可选,日志记录器也是可选的对象,日志记录器可记录驱动推送数据过程中产生的信息。
驱动只处理自己感兴趣的数据推送请求,及通过过滤器过滤掉不关心的数据推送请求。
驱动使用过滤器,对被推送的数据进行过滤,将驱动不支持的类和特性过滤掉,实现对被推送的数据的精确控制和监控。
如果驱动配置了规则,则针对被推送的数据运用规则,可以进一步的对数据进行控制和修改。
处理器使用纲要映射将被推送的数据转换成目标库能够识别的数据格式,并通过处理器实现的方式将数据发送给目标库,目标库接收数据处理数据。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (10)
1.基于规则的Hose数据推送***,包括权威库、服务器及目标库,其特征在于:在所述服务器内设置有驱动引擎、***及多个连接器,所述连接器与驱动引擎相连接;在所述驱动引擎内设置有驱动管理器、驱动引擎日志记录器及多个驱动,所述连接器与驱动相连接,在所述驱动内按数据处理流程顺序设置有过滤器、规则库、处理器及日志记录器;
所述服务器为一个运行的Hose数据推送***;
所述驱动引擎,通过驱动管理器,管理所述驱动的生命周期,进行驱动创建、删除、变更、启动及关闭操作;
所述驱动引擎日志记录器,记录包括对驱动本身新增、删除、变更、启动及关闭的操作记录;
所述驱动管理器,一种可视化的对驱动进行管理的工具;
所述驱动,处理权威库与目标库的数据推送分发,支持多驱动,多权威库和多目标库;
所述过滤器,将所述驱动不需要推送的数据过滤掉,对推送的数据进行精确的控制;
所述规则库,对推送的数据进行控制,执行额外的业务逻辑;并针对不同的驱动和推送要求进行灵活配置规则;
所述处理器,根据目标库的不同分别对应不同的处理器,设置有JDBC处理器、LDAP处理器及WebService处理器;
所述日志记录器,将数据推送过程中产生的审计数据记录到文件中;
所述连接器,为服务器的入口,包括基于TCP/IP的连接器、基于HTTP协议的连接器、基于JMS消息的连接器、基于内存的连接器;
所述***,监听通过不同渠道发送过来的数据推送请求,是权威库与Hose数据推送***集成通信的入口,根据权威库的技术异构,相关限制,提供与之对应的***对象,方便集成,并采用TCP/IP技术或HTTP技术或JMS技术将监听到的数据推送请求通过连接器引入服务器内。
2.根据权利要求1所述的基于规则的Hose数据推送***,其特征在于:在所述服务器内还设置有控制台,所述控制台,基于浏览器的可视化管理工具,用于监控服务器状态,结合驱动管理器管理驱动的启动和停止,以及驱动创建、删除、编辑,并查看驱动的日志信息。
3.根据权利要求1或2所述的基于规则的Hose数据推送***,其特征在于:在所述驱动引擎内还设置有集群组件,所述集群组件,在集群多节点部署环境中驱动引擎采用集群组件将驱动的配置变更广播给集群中其他的服务器,确保驱动配置集群中保持同步。
4.基于规则的Hose数据推送方法,其特征在于:包括以下步骤:
1)***监听通过不同渠道发送过来的数据推送请求,而后将数据推送请求通过连接器传递给驱动引擎;
2)所述驱动引擎接收从连接器发送过来的数据推送请求,查询驱动引擎中所有可用的驱动,依次调用驱动处理数据推送请求;
3)驱动处理请求,所述驱动接收到从驱动引擎传递过来的数据推送请求,驱动首先检查路由标识,如果不支持此路由标识,则直接返回,数据推送结束;如果支持该路由标识,则将该数据推送请求传递给过滤器;
4)过滤器处理请求,所述过滤器接收到驱动传递过来的数据推送请求后,过滤器将对数据推送请求中驱动不支持的数据进行过滤,而后将能够被推送的数据推送请求传递给规则库;
5)针对请求数据运用规则,所述规则库接收到数据推送请求,对该数据推送请求应用规则库内配置的规则,规则运行完成,执行步骤6),将数据推送请求传递给处理器;在规则运行过程中,可以中断推送过程直接结束;
6)处理器处理请求,所述处理器接收到数据推送请求,从数据推送请求中获得被推送的数据,将被推送的数据通过纲要映射转换成目标库能够识别的格式。
5.根据权利要求4所述的基于规则的Hose数据推送方法,其特征在于:在执行步骤1)***监听通过不同渠道发送过来的数据推送请求,将数据推送请求通过连接器传递给驱动引擎之前还设置有以下步骤:
步骤一、权威库监听待处理事件,权威库从待处理事件中获得原始数据,并为原始数据生成一个能被驱动所支持且代表目标库的路由标识;
步骤二、权威库依据推送时机、目标库、数据类型和操作类型,将原始数据进行整合规范,而后将规范化后的数据和路由标识封装为XML格式化数据,并将XML格式化数据作为数据推送请求发送至服务器的连接器内。
6.根据权利要求4或5所述的基于规则的Hose数据推送方法,其特征在于:还包括以下步骤:
7)目标库处理数据,经步骤6)后,所述目标库接收到被推送的数据,首先对所接收的被推送的数据的合法性及有效性进行验证,经验证后被推送的数据的目标库是关系型数据库则直接使用JDBC将数据写入;经验证后若被推送的数据的目标库为WebService服务或者RESTful则将被推送的数据写入WebService服务端。
7.根据权利要求6所述的基于规则的Hose数据推送方法,其特征在于:还包括下述步骤:
8)持久化数据并进行数据整合,经步骤7)后,所述目标库将接收到的被推送的数据进行持久化,并且被推送的数据与权威库保持关联关系。
8.根据权利要求7所述的基于规则的Hose数据推送方法,其特征在于:还包括下述步骤:
9)经步骤8)后,所述处理器调用日志记录器,将数据推送请求处理过程的审计信息记录下来,保存到磁盘中,处理器完成数据推送请求处理和数据推送,返回到驱动引擎进行下一步处理。
9.根据权利要求8所述的基于规则的Hose数据推送方法,其特征在于:还包括下述步骤:
10)经步骤9)后,所述驱动引擎接收到数据推送请求处理结果,通过连接器响应权威库,告知权威库数据推送结果是成功或者失败,并附有推送失败的原因,据此完成一个数据推送请求。
10.根据权利要求9所述的基于规则的Hose数据推送方法,其特征在于:还包括下述步骤:
11)经步骤10)后,所述处理器会将被推送的数据封装成目标库能够识别的数据格式,在进行数据封装时,针对不同的目标库类型,采用不同的处理器,将数据封装后,推送给相应的目标库。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511006362.2A CN105550355B (zh) | 2015-12-29 | 2015-12-29 | 基于规则的Hose数据推送***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201511006362.2A CN105550355B (zh) | 2015-12-29 | 2015-12-29 | 基于规则的Hose数据推送***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105550355A CN105550355A (zh) | 2016-05-04 |
CN105550355B true CN105550355B (zh) | 2019-03-15 |
Family
ID=55829544
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201511006362.2A Active CN105550355B (zh) | 2015-12-29 | 2015-12-29 | 基于规则的Hose数据推送***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105550355B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106997510B (zh) * | 2017-04-01 | 2020-09-11 | 南京国电南自轨道交通工程有限公司 | 一种基于规则的事故画面与应急预案推送方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104156798A (zh) * | 2014-07-08 | 2014-11-19 | 四川中电启明星信息技术有限公司 | 企业权威源***数据实时推送架构及方法 |
KR20140147637A (ko) * | 2013-06-20 | 2014-12-30 | 주식회사 데이타서브 | 관리 대상 서버의 모니터링을 위한 서비스 제공 서버 및 그 방법 |
WO2015002695A1 (en) * | 2013-07-05 | 2015-01-08 | Evernote Corporation | Selective data transformation and access for secure cloud analytics |
CN104378399A (zh) * | 2013-08-15 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 一种数据推送方法、平台服务器、客户端以及*** |
CN104468649A (zh) * | 2013-09-16 | 2015-03-25 | 北大方正集团有限公司 | 服务器、终端、数据推送***和数据推送方法 |
-
2015
- 2015-12-29 CN CN201511006362.2A patent/CN105550355B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20140147637A (ko) * | 2013-06-20 | 2014-12-30 | 주식회사 데이타서브 | 관리 대상 서버의 모니터링을 위한 서비스 제공 서버 및 그 방법 |
WO2015002695A1 (en) * | 2013-07-05 | 2015-01-08 | Evernote Corporation | Selective data transformation and access for secure cloud analytics |
CN104378399A (zh) * | 2013-08-15 | 2015-02-25 | 腾讯科技(深圳)有限公司 | 一种数据推送方法、平台服务器、客户端以及*** |
CN104468649A (zh) * | 2013-09-16 | 2015-03-25 | 北大方正集团有限公司 | 服务器、终端、数据推送***和数据推送方法 |
CN104156798A (zh) * | 2014-07-08 | 2014-11-19 | 四川中电启明星信息技术有限公司 | 企业权威源***数据实时推送架构及方法 |
Non-Patent Citations (2)
Title |
---|
VPN资源管理中Hose模型的研究;***,何岩;《光通信研究》;20050531(第131期);全文 |
基于Hose虚拟专用网络模型的网络资源优化与路由方法研究;王东;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110415(第04期);全文 |
Also Published As
Publication number | Publication date |
---|---|
CN105550355A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106874461B (zh) | 一种工作流引擎支持多数据源配置安全访问***及方法 | |
CN102693183B (zh) | 一种实现软件自动化测试的方法及*** | |
US7886278B2 (en) | Object reference monitoring | |
CN102891873B (zh) | 一种存储日志数据的方法及日志数据存储*** | |
US8108234B2 (en) | System and method for deriving business processes | |
US20080155348A1 (en) | Tracing operations in multiple computer systems | |
CN104899274B (zh) | 一种内存数据库高效远程访问方法 | |
CN104572122A (zh) | 一种软件应用数据的生成装置及方法 | |
US7779113B1 (en) | Audit management system for networks | |
CN112260877A (zh) | 基于ai的rpa机器人管理方法、平台及存储介质 | |
CN109800081A (zh) | 一种大数据任务的管理方法及相关设备 | |
CN106708859A (zh) | 一种资源访问行为的审计方法和装置 | |
CN112700083A (zh) | 构建资源综合利用和服务指数指标体系场景的方法及装置 | |
CN111221511A (zh) | 一种插件式微服务接口的开发*** | |
CN107704369A (zh) | 一种操作日志的记录方法、电子设备、存储介质、*** | |
CN109743233A (zh) | 一种对强身份认证***进行数据采集的方法及计算机设备 | |
CN113962597A (zh) | 一种数据分析方法、装置、电子设备及存储介质 | |
CN103248511B (zh) | 一种单点业务性能的分析方法、装置和*** | |
CN105812432B (zh) | 云文档处理方法及装置 | |
CN107273276A (zh) | 一种基于虚拟化的全流程跟踪方法及装置 | |
CN113553260B (zh) | 测试方法、测试装置、设备和介质 | |
CN105550355B (zh) | 基于规则的Hose数据推送***及方法 | |
CN103475546A (zh) | 一种检测业务员重复登录的方法及*** | |
CN106357466A (zh) | 一种互联网产品监控方法及监控*** | |
CN108959309B (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 |