数据增量抽取转换与分发系统及方法

文档序号:9350073阅读:355来源:国知局
数据增量抽取转换与分发系统及方法
【技术领域】
[0001]本发明涉及计算机技术领域,尤其涉及一种数据增量抽取转换与分发系统及方法。
【背景技术】
[0002]随着大数据在人力资源和社会保障业务的深入应用,业务系统无论是在数据流量、数据处理量或是数据存储量上都变得越来越大。业务系统的稳定与否,系统的保护和数据的保护是否健全,已成为影响人力资源和社会保障业务系统正常开展的关键问题。现有的系统数据的安全性不能保证,抽取速度低,不能满足大数据分析业务的需求。
[0003]在实际业务中,作为源数据库的生产库和作为目标数据库的同步库在数据库类型、数据库结构、数据表的字段结构等方面存在着较大的差异,单一的同步复制不能满足这类复杂的同步需求。

【发明内容】

[0004]本发明的目的就是为了解决上述问题,提供一种数据增量抽取转换与分发系统及方法,采用日志分析技术和ETL相结合的技术,实现了实时捕获源数据库的增量数据,对增量数据进行转换处理,最后以准实时的方式装载到目标同步库中。
[0005]为了实现上述目的,本发明采用如下技术方案:
[0006]数据增量抽取转换与分发系统,包括:
[0007]抽取转换设计器,首先对源数据库的数据源进行定义,设计转换规则然后定义数据目标,将设计完成的转换规则包装成KTR文件,通过节点连接形成的流,将数据信息或字段在模块之间进行传送;
[0008]抽取转换执行器,实时捕获源数据库的增量数据,并且分析增量数据的来源,将增量数据交给服务器,服务器分析得到的信息并选择调用对应的转换规则进行转换处理;批量的执行KTR文件;
[0009]抽取转换监控单元,能够监测规则的运行情况和控制数据同步的开始和停止,监测每一条转换规则当前是否正在进行数据同步,最近一次同步的数据量;另外,能够控制服务器的运行或停止,从而达到控制数据同步的运行或停止的效果。
[0010]所述抽取转换设计器提供了图形化的编辑界面,能够以图形化的方式定义源数据库和目标数据库,并设计转换规则;包括:
[0011]定义数据源模块,对数据源进行定义,定义源数据库或中间库的连接信息;
[0012]转换规则设计模块,能够重命名字段,将源数据表中需要的字段重新命名后映射到目标表中;筛选字段,包括选择字段和删除字段;改变数据类型;改变字段精度;拆分字段;新增字段,在源数据表的基础上增加新的字段;字符串替换;
[0013]定义数据目标模块,编辑数据目标的连接信息,定义需要转换的字段,选择数据库的类型。
[0014]所述抽取转换执行器,利用Oracle stream技术捕获增量数据并调用Kettle API执行设计好的KTR文件来实现对源数据库增量数据的实时抽取和清洗转换,并实时地装载到目标数据库中。
[0015]所述抽取转换执行器包括:
[0016]捕获增量数据模块,实时捕获源数据库的增量数据,并且分析增量数据的来源;给应用进程配置一个处理函数;捕获进程会挖掘对源数据库产生变化的归档日志,捕获到增量数据,并且将增量数据暂存到消息队列中;
[0017]TCP消息发送模块,在捕获增量数据模块给应用进程配置的处理函数中识别增量数据的操作类型,所述操作类型包括插入、更新或删除,根据操作类型的不同调用不同的存储过程,并且在处理函数中使用TCP协议将增量数据以字符串的形式发送给服务器;
[0018]数据暂存模块,利用一个能释放的TXT文件作为临时存储空间,存储发送过来的TCP消息,并作为KTR的表输入段在抽取转换执行器中执行;当增量数据发送到服务器后会以二维表的结构暂时存储到TXT文件中;对处理过的TXT文件,系统会将其删除,节约存储空间;
[0019]执行转换模块,执行设计好的转换规则;在需要执行这些转换的时候,通过调用对应的API来执行这些转换,批量的执行KTR文件,并将转换后的数据装载到目标数据库中。
[0020]所述抽取转换设计器和所述抽取转换执行器都是基于ETL实现的。
[0021]所述抽取转换监控单元还监测服务器的内存或CPU的运行情况,根据这些信息来判断服务器所受压力是否能够支撑大数据的同步。
[0022]所述抽取转换监控单元包括:
[0023]日志解析模块,监控日志记录了抽取转换设计器设计转换规则的过程和抽取转换执行器的执行状态,日志解析模块解析监控日志,将具体的信息反馈给用户;
[0024]监控信息反馈模块,监测规则的运行情况和控制数据同步的开始和停止,将监控日志中的监控信息展现给用户。
[0025]所述监控日志用XML语言规范地记录了抽取转换设计器设计转换规则的过程和抽取转换执行器的执行状态;并且用XML解析器解析监控日志。
[0026]所述监控信息反馈模块能够将监控日志中的信息以Web的形式展现给用户。
[0027]所述监控信息反馈模块展现给用户的监控信息包括,源数据库和目标库的连接信息,具体包括源数据库和目标数据库的IP地址、源数据库和目标数据库的实例名、源数据库和目标数据库类型、连接用户和连接口令;
[0028]单个转换规则的运行情况,单个转换规则是否正在运行,对于这个规则的最近一个数据同步的开始时间、结束时间和同步的数据量;
[0029]目标数据库的同步情况,监测目标数据库有哪些规则开启了同步,最近一次同步的开始时间、结束时间、同步数据量和历史最大同步数据量;
[0030]服务器的负载情况,服务器的内存、CPU运行情况,根据这些信息来判断服务器所受的压力是否能够支撑大数据的同步。
[0031]—种数据增量抽取转换与分发系统的方法,包括:
[0032]步骤一,首先对源数据库的数据源进行定义,设计转换规则然后定义数据目标,将设计完成的转换规则包装成KTR文件,通过节点连接形成的流,将数据信息或字段在模块之间进行传送;
[0033]步骤二,实时捕获源数据库的增量数据,并且分析增量数据的来源,将增量数据交给服务器,服务器分析得到的信息并选择调用对应的转换规则进行转换处理;批量的执行KTR文件;
[0034]步骤三,能够监测规则的运行情况和控制数据同步的开始和停止,监测每一条转换规则当前是否正在进行数据同步,最近一次同步的数据量;另外,能够控制服务器的运行或停止,从而达到控制数据同步的运行或停止的效果;监控日志记录了所述步骤一设计转换规则的过程和步骤二的执行状态,解析监控日志,将具体的信息反馈给用户;监测规则的运行情况和控制数据同步的开始和停止,将监控日志中的监控信息展现给用户。
[0035]所述步骤二包括:
[0036]实时捕获源数据库的增量数据,并且分析增量数据的来源;给应用进程配置一个处理函数;捕获进程会挖掘对源数据库产生变化的归档日志,捕获到增量数据,并且将增量数据暂存到消息队列中;
[0037]在捕获增量数据模块给应用进程配置的处理函数中识别增量数据的操作类型,所述操作类型包括插入、更新或删除,根据操作类型的不同调用不同的存储过程,并且在处理函数中使用TCP协议将增量数据以字符串的形式发送给服务器;
[0038]利用一个能释放的TXT文件作为临时存储空间,存储发送过来的TCP消息,并作为KTR的表输入段在抽取转换执行器中执行;当增量数据发送到服务器后会以二维表的结构暂时存储到TXT文件中;对处理过的TXT文件,系统会将其删除,节约存储空间;
[0039]执行设计好的转换规则;在需要执行这些转换的时候,通过调用对应的API来执行这些转换,批量的执行KTR文件,并将转换后的数据装载到目标数据库中。
[0040]本发明的有益效果:
[0041]1.同步的实时性,日志分析技术为实时同步提供了强大的技术支撑;提供了
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1