集群化数据规则处理方法与流程

文档序号:17926360发布日期:2019-06-15 00:26阅读:368来源:国知局
集群化数据规则处理方法与流程

本发明涉及通信技术领域,尤其涉及集群化数据规则处理方法。



背景技术:

数据传输是数据从一个地方传送到另一个地方的通信过程,数据传输系统通常由传输信道和信道两端的数据电路终接设备组成,在某些情况下,还包括信道两端的复用设备。传输信道可以是一条专用的通信信道,也可以由数据交换网、电话交换网或其他类型的交换网路来提供。数据传输系统的输入输出设备为终端或计算机,统称数据终端设备,它所发出的数据信息一般都是字母、数字和符号的组合,为了传送这些信息,就需将每一个字母、数字或符号用二进制代码来表示。

数据传输用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。数据传输是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。

信息是现代企业的重要资源,是企业运用科学管理、决策分析的基础。据统计,数据量每2~3年时间就会成倍增长,这些数据蕴含着巨大的商业价值,而企业所关注的通常只占在总数据量的2%~4%左右。因此,企业仍然没有最大化地利用已存在的数据资源,以至于浪费了更多的时间和资金,也失去制定关键商业决策的最佳契机。于是,企业如何通过各种技术手段,并把数据转换为信息、知识,已经成了提高其核心竞争力的主要瓶颈。而数据传输则是主要的一个技术手段。

目前市场上的数据传输工具大多为单机处理,也有部分分布式数据传输工具,但是其清洗以及过滤规则为单节点管理,并不能统一管理清洗规则,在规则变更过程中很难做到严格将实时规则同步到其他节点并生效。



技术实现要素:

本发明的目的在于提供集群化数据规则处理方法,以解决上述技术问题。

本发明为解决上述技术问题,采用以下技术方案来实现:

集群化数据规则处理方法,包括zookeeper集群、rulemanager管理组件以及datahandle集群,所述zookeeper集群由3台及以上机器组成,所述datahandle集群是由1台以上数据传输服务节点组成,每个所述数据传输服务节点内嵌设有用于监听zookeeper集群中规则路径的组件,所述数据传输服务节点与zookeeper集群连接,所述rulemanager管理组件与zookeeper集群连接。

集群化数据规则处理方法,方法步骤如下:

(1)规则发生变化直接会上报给其中一个zookeeper节点,直接变更相关目录下规则文件且同步给其他zookeeper节点;

(2)zookeeper集群将变更依照事件动作通知到datahandle集群各个节点;

(3)datahandle集群对规则按照指定路径进行监听并加载生效。

优选的,所述机器上提供有管理以及检测的接口。

优选的,所述数据传输服务节点共享一份配置规则,通过watch达到规则实时变更以及生效。

优选的,步骤(1)中所述规则在zookeeper集群中的存储方式为xml文件,利用zookeeper提供的文件系统,目录组合完全参照每项数据传输任务进行划分,zookeeper文件系统会将文件进行持久化到各个zookeeper节点。多份保存保证了文件的安全性。

优选的,所述rulemanager管理组件对规则的配置管理操作,并将规则按照任务定义路径保存到zookeeper集群中。

优选的,步骤(3)中所述datahandle集群自动选取task,并注册到zookeeper集群中进行实施监控关于当前task运行情况以及运行所属节点。保证task运行完整性。

本发明的有益效果是:

本发明可以集群化处理数据规则,当规则发生变化时候可以按照变化事件通知到zookeeper集群和datahandle集群的各个处理节点,使最新规则实时生效,另外可以保证在多机器中部署数据迁移服务时候可以保证所有运行task的完整性,当某个数据传输服务节点出现问题停止时可以由其他节点接着执行剩下的工作。本发明解决了目前市场上数据传输工具其清洗以及过滤规则为单节点管理,并不能统一管理清洗规则,在规则变更过程中很难做到严格将实时规则同步到其他节点并生效的问题。

附图说明

图1为本发明的方法组建图;

具体实施方式

为了使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施例,进一步阐述本发明,但下述实施例仅仅为本发明的优选实施例,并非全部。基于实施方式中的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得其它实施例,都属于本发明的保护范围。下述实施例中的实验方法,如无特殊说明,均为常规方法,下述实施例中所用的材料、试剂等,如无特殊说明,均可从商业途径得到。

集群化数据规则处理方法,包括zookeeper集群、rulemanager管理组件以及datahandle集群,zookeeper集群由3台及以上机器组成,datahandle集群是由1台以上数据传输服务节点组成,每个数据传输服务节点内嵌设有用于监听zookeeper集群中规则路径的组件,数据传输服务节点与zookeeper集群连接,rulemanager管理组件与zookeeper集群连接。

集群化数据规则处理方法,方法步骤如下:

(1)规则发生变化直接会上报给其中一个zookeeper节点,直接变更相关目录下规则文件且同步给其他zookeeper节点;

(2)zookeeper集群将变更依照事件动作通知到datahandle集群各个节点;

(3)datahandle集群对规则按照指定路径进行监听并加载生效。

数据传输服务节点共享一份配置规则,通过watch达到规则实时变更以及生效。

步骤(1)中规则在zookeeper集群中的存储方式为xml文件,利用zookeeper提供的文件系统,目录组合完全参照每项数据传输任务进行划分,zookeeper文件系统会将文件进行持久化到各个zookeeper节点。

步骤(3)中datahandle集群自动选取task,并注册到zookeeper集群中进行实施监控关于当前task运行情况以及运行所属节点。

本方法可以集群化处理数据规则,并且当规则发生变化时候可以按照变化事件通知到zookeeper集群和datahandle集群的各个处理节点,使最新规则实时生效,另外还可以保证在多机器中部署数据迁移服务时候可以保证所有运行task的完整性,当某个数据传输服务节点出现问题停止时可以由其他节点接着执行剩下的工作;rulemanager管理组件通过连接zookeeper集群来对规则进行配置和管理,并提供可视化操作界面;datahandle集群中各个node服务内嵌用于监听zookeeper集群中规则路径的组件,可以灵活的根据数据迁移任务名称来监听;datahandle集群自动选取task,并注册到zookeeper集群中实施监控关于当前task运行情况以及运行所属节点,进而保证task运行完整性;

除了清洗过滤规则,zookeeper集群内部还包含了对任务task归属进行记录,当启动一个数据迁移任务时候,可以配置由多少个task来执行然后配置文件中就会包含如下:

zookeeper文件系统中记录的文件目录如下:

/jobname/sink/task

task文件内容如下:

其中flag表示表示task执行的当前点比如:binlog的position值,active以及down表示当前task执行状态;datahandle集群用于对规则进行按照指定路径进行监听并加载生效,为了防止多任务执行带来的数据迁移压力,datahandle集群一般都部署多个进行分流执行task,此时datahandle集群内部会包含对任务进行竞争执行的功能,节点中的datahandle集群会自动查找已经启动的job,然后将自己注册到未被绑定的task文件中,如果task文件中没有待绑定的task则集训寻找下一个job,查找job时候进行绑定时候会根据自身已绑定的job进行权衡,权衡策略为:自己已绑定task个数为n,所有task未被绑定的task以及状态为down为n,datahandle集群数量为dn,总的task数量为tn:min(tn/dn,n)<tn/dn?(tn/dn-n):0,当出现某个数据传输服务节点出现掉线情况则可以重新由其他task节点获取;

针对数据迁移中用于数据清洗、过滤的规则采用如下规则:字段级别规则r,表级别规则r,库级别规则采用tr:在变更子项规则时候只需要变更相对应规则r,r和tr则保持不变,与之对应如果删除上级规则,则下级规则直接会被删除掉,任何变化直接会上报给zookeeper集群,直接变更相关目录下规则文件且同步给其他节点,进而zookeeper集群将变更依照事件动作通知到datahandle集群各个节点。

以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1