一种基于数据融合的数据中心数据清洗系统的制作方法

文档序号:26050444发布日期:2021-07-27 15:25阅读:来源:国知局

技术特征:

1.一种基于数据融合的数据中心数据清洗系统,其特征在于,包括数据融合管理模块、采集器模块、数据中心模块、数据存储模块、消息中间件模块、清洗中心模块和kettle集群模块;

其中,所述数据融合管理模块用于配置和管理数据采集任务、数据清洗任务、数据清洗规则;启动数据采集任务时,将数据采集任务分发到任务描述中指定的采集器模块执行,停止数据采集任务时,停止向采集器模块分派数据采集任务;启动数据清洗任务时,标识相应的数据采集任务的数据清洗开关为需要对其采集的数据进行数据清洗;停止数据清洗任务时,标识相应的数据采集任务的数据清洗开关为不需要对其采集的数据进行数据清洗;

所述采集器模块部署在数据源端,用于接收和执行来自数据融合管理模块分派的数据采集任务,从数据源抽取数据,然后发送到数据中心模块;

所述数据中心模块用于接收和存储来自采集器模块采集的数据,并根据数据采集任务标识的数据清洗开关判断是否要对新增存储的数据进行清洗,如果需要清洗,则将新增存储的数据的描述信息存入消息中间件模块的指定消息队列中,然后继续接收采集器模块发送的数据,如果不需要清洗,则直接继续接收采集器模块发送的数据,所述数据的描述信息包括数据在数据存储模块中的数据名称、数据存储位置、数据起止编号或范围;

所述数据存储模块用于数据的持久化存储;

所述消息中间件模块用于存储数据中心模块投递的数据的描述信息;

所述清洗中心模块用于调度和管理称为数据清洗task的进程以执行数据清洗任务,每个数据清洗task进程自动侦听消息中间件模块中的数据描述信息的消息,并取出消息,将消息所包含的数据描述信息连同数据清洗任务中的清洗规则提交给kettle集群模块进行数据清洗处理,并在处理完成后获取处理的结果、记录结果,然后继续侦听消息中间件模块中的数据描述信息消息,循环往复;

所述kettle集群模块用于可视化设计数据清洗规则并发布到数据融合管理模块进行管理和关联到数据清洗任务,并在启动数据清洗任务后由清洗中心模块调度清洗规则和要清洗的数据给kettle集群模块执行数据清洗工作。

2.根据权利要求1所述的系统,其特征在于,所述数据融合管理模块一方面用于新建数据采集任务,新建的数据采集任务启动后,所述任务将按照采集频率周期性地发送到相应的采集器模块,由采集器模块根据任务规定进行数据的采集,采集的数据被传输到数据中心模块后,由数据中心模块进行处理,当数据采集任务停止后,所述任务将不再发送到相应的采集器模块;

所述数据融合管理模块另一方面用于新建数据清洗任务,在数据清洗任务中关联kettle集群模块设计的数据清洗规则文件,新建的数据清洗任务启动后,根据数据清洗任务中的数据名称匹配相应的数据采集任务,将数据采集任务的数据清洗开关标识为需要清洗数据,数据清洗任务停止后,根据数据清洗任务中的数据名称匹配相应的数据采集任务,将数据采集任务的数据清洗开关标识为不需要清洗数据,当数据中心模块接收到采集器模块的数据,并根据数据采集任务描述的存储位置存储数据后,进一步判断数据采集任务中的数据清洗开关是否打开,如果打开,通知清洗中心模块进行数据清洗,如果未打开,则不通知清洗中心模块进行数据清洗。

3.根据权利要求2所述的系统,其特征在于,所述采集器模块根据任务规定进行数据的采集,具体包括:

步骤a1,采集器模块接收到数据采集任务后,解析任务中的数据源信息;

步骤a2,采集器模块抽取数据源中的数据;

步骤a3,采集器模块将抽取的数据和数据采集任务编号封装到xml文件中,并加密xml文件;

步骤a4,采集器模块将加密后的xml文件发送到数据中心模块。

4.根据权利要求3所述的系统,其特征在于,所述采集的数据被传输到数据中心模块后,由数据中心模块进行处理,具体包括:

步骤b1,数据中心模块接收采集器模块发送的加密的xml文件,并进行解密;

步骤b2,数据中心模块解析xml文件,得到数据采集任务编号和数据;

步骤b3,数据中心模块根据解析xml文件得到的数据采集任务编号在数据融合管理模块所管理的数据采集任务列表中匹配相应的采集任务,并从采集任务的数据结构中获取数据的存储位置和数据名称;

步骤b4,数据中心模块按照数据采集任务规定的存储位置和数据名称对xml解析得到的数据进行存储,存储过程中,对每条数据进行升序编号,存储完毕后返回本次存储数据的起止编号;

步骤b5,数据中心模块从匹配到的数据采集任务中再次获取数据清洗开关的状态值,判断数据是否需要清洗,如果开关状态值是关闭,则表示不需要数据清洗,结束任务,否则执行步骤b6;

步骤b6,数据中心模块将要清洗的数据的描述信息存放到消息中间件模块,数据的描述信息包括存储数据名称、数据存储位置、数据起始编号和数据中止编号。

5.根据权利要求4所述的系统,其特征在于,所述清洗中心模块用于执行数据清洗任务,当启动清洗中心模块时,执行如下步骤:

步骤c1,清洗中心模块初始化称为数据清洗task的进程,得到一个数据清洗task进程池;

步骤c2,清洗中心模块侦听消息中间件模块中的由数据中心模块投递的关于需要清洗的数据的描述信息,如果消息中间件模块没有任何信息,则继续侦听;如果消息中间件模块有数据的描述信息,则取出信息,进入下一步;

步骤c3,清洗中心模块判断当前数据清洗task进程池是否有空闲进程,如果没有空闲的,则等待空闲,如果有空闲的,则从数据清洗task进程池中调度一个task进程运行,并将从消息中间件模块取出的数据描述消息传递给task进程,由task进程完成数据描述消息所描述的数据的清洗工作。

6.根据权利要求5所述的系统,其特征在于,步骤c3中,所述数据清洗task进程的执行过程如下:

步骤d1,获取清洗中心模块调度当前task进程时传递过来的数据描述信息,从数据描述信息中得到存储数据名称、数据存储位置、数据起始编号和数据中止编号;

步骤d2,根据存储数据名称,到数据融合管理模块所管理的数据清洗任务列表中匹配相对应的数据清洗任务,获取数据清洗任务中的是否要全量清洗和上一次清洗进度字段;

步骤d3,判断当前消息所描述的数据是否要全量清洗,如果要全量清洗,则读取上一次清洗的进度,即数据清洗的截止编号,判断上一次清洗的进度与消息所描述的数据的起始编号是否连续,如果不连续,则调整本次数据清洗的起始编号为上一次数据清洗的截止编号,如果连续或者不需要全量清洗,则不对数据起始编号进行调整;

步骤d4,从匹配到的数据清洗任务中,继续获取数据清洗规则编号字段,然后根据数据清洗规则编号,在数据清洗规则表中匹配清洗规则文件存储路径字段,并根据该文件的存储路径,调取规则文件到内存中;

步骤d5,将数据存储位置、数据起始编号、数据中止编号,写入清洗规则文件中,对清洗规则文件的内存副本进行修改;

步骤d6,调用kettle集群模块的作业提交接口,将修改后的数据清洗规则文件,以作业的形式提交,并由kettle集群模块执行数据清洗规则文件中所描述的清洗过程;

步骤d7,获取kettle集群模块执行数据清洗作业的结果,如果清洗成功,更新数据清洗任务中的上一次清洗进度字段,并记录本次清洗的成功记录;如果清洗失败,则记录本次清洗的失败记录。

7.根据权利要求6所述的系统,其特征在于,所述kettle集群模块执行数据清洗工作,具体包括:在本地安装kettle工具,配置数据源和目标加载系统为数据存储模块,通过kettle提供的可视化界面,能够浏览数据存储模块中存储的原始数据,并针对原始数据预先创建清洗规则,清洗规则创建完毕后,保存为一个规则文件,通过kettle的远程发布功能将规则文件直接上传到数据融合管理模块,并由数据融合管理模块存储到指定的目录下。

8.根据权利要求7所述的系统,其特征在于,通过kettle工具的前端工具设计的清洗规则文件,能够直接提交给分布式部署的kettle集群模块,并由kettle集群模块分配节点执行,并最终向提交清洗规则文件的清洗中心模块反馈结果。


技术总结
本发明提供了一种基于数据融合的数据中心数据清洗系统,其中系统包括用户操作管理模块、数据融合模块、中间件模块、清洗中心模块、kettle集群模块、数据存储模块,系统对数据的清洗将是集中的、统一的,有效避免分散式版本不统一的问题,同时对数据的采集将是非阻断的,大幅提高采集的效率,缓解中心系统的压力,而且所述的方法可以充分利用专业的清洗工具,降低数据清洗开发成本,并且采用分布式部署方式,进行分布式清洗处理,有效保障了性能。

技术研发人员:张家健;万修远;王佳晓;朱晨鸣;周斌;李元义
受保护的技术使用者:中通服咨询设计研究院有限公司
技术研发日:2021.04.27
技术公布日:2021.07.27
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1