[发明专利]一种数据库实时增量复制软件中利用Apriori算法对并行入库进行智能分组优化的技术在审
申请号: | 201610321502.3 | 申请日: | 2016-05-11 |
公开(公告)号: | CN107368505A | 公开(公告)日: | 2017-11-21 |
发明(设计)人: | 邓方 | 申请(专利权)人: | 邓方;韦伟 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 210042 江苏省*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 数据库 实时 增量 复制 软件 利用 apriori 算法 并行 入库 进行 智能 分组 | ||
技术领域
本发明从属于数据库增量复制技术领域,特别是关系型数据库应用领域。
技术背景
在企业信息应用环境中,经常会出现需要将一个应用环境中的数据移动到另一个应用环境中以供处理或使用的需求。而且在很多场景中,这样的需求还有很高的实时性要求,并且数据量往往还会很大。这一需求催生了一批基于触发器或者基于数据库事务日志获取源数据库变化信息,并把变化拷贝到目标数据库重新执行的软件。我们称之为实时增量数据复制软件,或者实时增量数据同步软件。其采取的技术相应的被称之为实时增量数据复制技术或者实时增量数据同步技术。
为了保证数据业务逻辑的完整性一致性,所有的数据库都会使用事务来控制数据的修改。一个事务可以包含一个或多个修改,包含在同一个事务中的所有修改命令必须同时执行成功提交,如果有一条命令执行失败,这个事务中包含的修改命令都必须回退到事务开始前状态。复制软件为了保证复制到目标数据库的变化和源数据库完全相同,修改命令在目标数据库重做的顺序必须和在源数据库执行的顺序必须保持完全一致。在数据量很大并且数据变化频繁的环境中,这就带来了性能问题。因为源数据库往往是一个存在大量并发的并行系统,有大量的用户连接在数据库上同时执行各种修改事务。而在目标数据库上,数据复制软件为了数据和源数据库完全一致,必须保留原事务的信息并保持变化事务重新执行的顺序,故复制软件通常只建立一个到目标数据库的连接串行执行,性能极差。为了解决这个问题,部分数据复制软件提供了多连接并行执行的功能,通过建立多个到目标数据库的连接来并行执行修改命令。但是由于不同的事务之间可能修改相同的表,即使是在不同的数据库连接上执行的命令,为了保持执行的顺序,经常也需要进行等待,这样即使建立了多个数据库连接,最后变化命令在目标数据库仍然是串行执行的。虽然有些复制软件进一步提供了事务分组功能,可以用户对事务按照一些参数,比如说在源数据库执行的用户名等,进行分组,让不同组的变化事务在不同的数据库连接上执行,这样可以尽量减少事务执行间的等待。但是确定如何分组是一件很困难的工作,用户往往也并不知道该如何进行分组,故实际使用的效果仍然很差。
本发明正是针对上述问题,采用Apriori算法对事务中的表进行关联分析,达到复制修改命令在目标数据库并行执行的性能最优化。
目前相关领域尚未检索到与本发明相同的解决方案及系统实现。
发明内容
复制软件在平时运行过程中,采集相应的性能统计信息,如事务编号及每个事务包含的表名并保存。
运用Apriori算法对保存的事务信息进行分析,计算各个数据库表在同一个事务中出现的概率,从而找出表与表之间的关联关系。通过表之间的关联关系,将关联支持度大于预先设置的最小支持度的表集集合做为事务分组的基本依据,再结合表集出现的频率,把包含不同表集的事务智能分配到不同的数据库连接上,从而不同连接上执行的命令之间的干扰减到最小,从而充分利用多数据库连接并行执行来提高数据复制的性能。
附图说明
图1为并行数据库连接下事务等待示意图,演示了复制软件即使建立了多个目标数据库连接但是仍然只能串行执行命令的一种情况。图中复制软件建立了两个到目标数据库的连接。在源数据库中,依次执行了Tran1、Tran2、Tran3、Tran4四个事务,其中Tran2、Tran3、Tran4都修改了T2这张表。当复制软件在目标数据库执行命令的时候,把Tran1、Tran2分配给第一个连接执行,把Tran3、Tran4分配给第二个连接执行。因为Tran2和Tran3修改了同一张表,如果Tran1执行速度很慢,为了保持事务提交的顺序和 源数据库完全一致,第二个连接即使空闲,也不能执行Tran3,而是必须等待Tran2执行完成之后才能执行。此时虽然有多个数据库连接,但事务的执行还是串行的。
图2为使用Apriori关联分析优化数据库事务在并行数据库连接上的分配示意图。复制软件从源数据库读取事务信息,将事务信息保存到事务记录表中。在积累了一定量的数据之后,启动分析引擎分析事务记录,获得最终频繁表集的集合,每个表集包含若干个有强关联性的表。将这些信息存储到连接配置表中。复制软件向目标数据库复制数据时,将事务中的表名去匹配连接配置表中的表名,从而决定将该事务分配到哪个连接上去执行。
具体实施方式
复制软件在平时运行过程中,采集相应的性能统计信息,如事务编号及每个事务包含的表名,保存到事务记录表中。
事务记录表基本内容如下表所示:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于邓方;韦伟,未经邓方;韦伟许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610321502.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种信息处理方法、系统及相关设备
- 下一篇:非结构化数据分析系统和方法