用于在数据同步中减少数据传输量的方法和系统的制作方法

文档序号:7753794阅读:340来源:国知局
专利名称:用于在数据同步中减少数据传输量的方法和系统的制作方法
技术领域
本发明涉及数据处理领域。更确切的,本发明涉及用于在数据同步中减少数据传输量的方法和系统。
背景技术
随着计算机网络的发展,数据同步技术的应用越来越广泛。典型地,位于数据同步系统中的同步服务器或客户机捕获源数据中发生的每一个改变并记录这些改变。当进行数据同步时,这些改变将会被传送到对方以便对方进行应用。传统的,源数据中发生的每一个改变都要被传送到对方。当源数据中发生大量的改变时,由于每一个改变都要被传送到对方,往往会占用较多的带宽资源。而且,当对方接收到这些改变时,需要将每一个改变都逐一进行应用,往往会导致性能的下降。在移动数据同步的情况下,由于移动终端的计算能力有限,这种问题变得更加突出。

发明内容
本公开的说明性实施例认识到现有技术中的上述缺点,提供了用于在数据同步中减少数据传输量的方法和系统以解决现有技术中的问题。根据本公开的一个方面,提供了一种用于在数据同步中减少数据传输量的方法, 包括识别改变后的源数据表中每个数据列中不同的数据值;对每个数据列中的数据值进行编码,其中对每一数据列来说不同的数据值具有不同的编码值;识别数据改变历史信息中不同的改变类型ChangeType和改变比特值ChangeBits ;以及根据不同的改变类型 ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵。根据本公开的另一方面,其中根据不同的改变类型ChangeType和改变比特值 ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵进一步包括根据不同的改变类型ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生不同的列值ColumnValue ;以及根据不同的列值ColumnValue,产生对应的数据记录主键值集PrimaryKeySet。根据本公开的另一方面,其中改变矩阵至少包括以下列改变类型ChangeType、 改变比特值ChangeBits、列值ColumnValue和数据记录主键值集PrimaryKeySet。根据本公开的又一方面,提供了一种用于在数据同步中减少数据传输量的系统, 包括第一识别部件,被配置为识别改变后的源数据表中每个数据列中不同的数据值;编码部件,被配置为对每个数据列中的数据值进行编码,其中对每一数据列来说不同的数据值具有不同的编码值;第二识别部件,被配置为识别数据改变历史信息中不同的改变类型ChangeType和改变比特值ChangeBits ;以及产生部件,被配置为根据不同的改变类型 ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵。
根据本公开的另一方面,其中产生部件进一步配置为根据不同的改变类型 ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生不同的列值ColumnValue ;以及根据不同的列值ColumnValue,产生对应的数据记录主键值集 PrimaryKeySet0根据本公开的另一方面,其中改变矩阵至少包括以下列改变类型ChangeType、 改变比特值ChangeBits、列值ColumnValue和数据记录主键值集PrimaryKeySet。利用本公开说明性实施例的方法和系统,通过产生改变矩阵将在相同的数据集上发生的改变进行压缩,在进行数据同步时只发送改变矩阵,从而减少了数据传输量,提高了同步效率,很好地解决了现有技术中的问题。


本公开可以通过参考下文中结合附图所给出的描述而得到更好的理解,其中在所有附图中使用了相同或相似的附图标记来表示相同或者相似的部件。所述附图连同下面的详细说明一起包含在本说明书中并且形成本说明书的一部分,而且用来进一步举例说明本公开的优选实施例和解释本公开的原理和优点。在附图中图1显示了根据本公开一个实施例的用于在数据同步中减少数据传输量的方法 100 ;图2显示了根据本公开另一实施例的用于在数据同步中减少数据传输量的方法 200 ;图3显示了根据本公开一个实施例的用于在数据同步中减少数据传输量的系统 300 ;图4显示了根据本公开另一实施例的用于在数据同步中减少数据传输量的系统 400。
具体实施例方式在下文中将结合附图对本公开的示范性实施例进行描述。为了清楚和简明起见, 在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施例的过程中必须做出很多特定于该实际实施方式的决定,以便实现开发人员的具体目标, 例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本公开,在附图中仅仅示出了与根据本公开的方案密切相关的装置结构和/或处理步骤,而省略了与本公开关系不大的其他细节。下面结合图1详细描述根据本公开的一个实施例的用于在数据同步中减少数据传输量的方法100。现在参看图1,根据本公开的一个实施例的用于在数据同步中减少数据传输量的方法100从步骤102开始。接下来,在步骤104,识别改变后的源数据表中每个数据列中不同的数据值。
5
然后,方法进入步骤106,其中对每个数据列中的数据值进行编码,其中对每一数据列来说不同的数据值具有不同的编码值。之后,方法进入步骤108,其中识别数据改变历史信息中不同的改变类型 ChangeType 和改变比特值 ChangeBits。然后,方法进入步骤110,其中根据不同的改变类型ChangeType和改变比特值 ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵。之后,方法在步骤112结束。根据本公开的一个实施例,根据不同的改变类型ChangeType和改变比特值 ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵进一步包括根据不同的改变类型ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生不同的列值Column Value ;以及根据不同的列值ColumnValue,产生对应的数据记录主键值集PrimaryKeySet。通过改变矩阵,使得原数据改变中具有相同改变数据的不同行的主键值被放入到同一改变矩阵行的数据记录主键值集PrimaryKeySet中,从而使得原数据改变中针对不同行的具有相同改变的数据被合并到改变矩阵的同一改变行,进而减少了数据同步时的数据传输量,从而提高了同步效率。根据本公开的一个实施例,改变矩阵至少包括以下列改变类型ChangeType^ 变比特值ChangeBits、列值ColumnValue和数据记录主键值集PrimaryKeySet。根据本公开的一个实施例,还包括发送产生的改变矩阵。下面通过一个例子来具体说明根据本公开的一个实施例的上述方法。下面的表1 示例性的给出了源数据表格的一个例子,该源数据表格有4列,其中Cl为主键值。
权利要求
1.一种用于在数据同步中减少数据传输量的方法,包括 识别改变后的源数据表中每个数据列中不同的数据值;对每个数据列中的数据值进行编码,其中对每一数据列来说不同的数据值具有不同的编码值;识别数据改变历史信息中不同的改变类型ChangeType和改变比特值ChangeBits ;以及根据不同的改变类型ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵。
2.根据权利要求1的方法,其中根据不同的改变类型ChangeType和改变比特值 ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵包括根据不同的改变类型ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生不同的列值ColumnValue ;以及根据不同的列值ColumnValue,产生对应的数据记录主键值集PrimaryKeySet。
3.根据权利要求2的方法,其中改变矩阵至少包括以下列改变类型ChangeType、改变比特值ChangeBits、列值ColumnValue和数据记录主键值集 PrimaryKeySet0
4.根据权利要求1的方法,还包括 发送产生的改变矩阵。
5.一种用于在数据同步中减少数据传输量的方法,包括接收根据权利要求1-3中任一权利要求的方法产生的改变矩阵;以及应用接收的改变矩阵。
6.根据权利要求5的方法,其中应用接收的改变矩阵包括对于改变矩阵的每一行,根据该行中的改变类型ChangeType、改变比特值 ChangeBits、列值ColumnValue,生成一条能够改变数据记录主键值集PrimaryKeySet中主键值对应的多行数据的SQL语句; 应用生成的SQL语句。
7.根据权利要求5的方法,还包括如果接收改变矩阵的一方本身也产生了改变矩阵,则确定接收的改变矩阵与接收改变矩阵的一方本身产生的改变矩阵中是否存在相同的主键值;如果存在相同的主键值,则通过冲突解决机制处理冲突之后再应用接收的改变矩阵。
8.一种用于在数据同步中减少数据传输量的系统,包括第一识别部件,被配置为识别改变后的源数据表中每个数据列中不同的数据值; 编码部件,被配置为对每个数据列中的数据值进行编码,其中对每一数据列来说不同的数据值具有不同的编码值;第二识别部件,被配置为识别数据改变历史信息中不同的改变类型ChangeType和改变比特值ChangeBits ;以及产生部件,被配置为根据不同的改变类型ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵。
9.根据权利要求8的系统,其中产生部件进一步配置为根据不同的改变类型ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生不同的列值ColumnValue ;以及根据不同的列值ColumnValue,产生对应的数据记录主键值集PrimaryKeySet。
10.根据权利要求9的系统,其中改变矩阵至少包括以下列改变类型ChangeType、改变比特值ChangeBits、列值ColumnValue和数据记录主键值集 PrimaryKeySet0
11.根据权利要求8的系统,还包括发送部件,被配置为发送产生的改变矩阵。
12.一种用于在数据同步中减少数据传输量的系统,包括接收部件,被配置为接收根据权利要求1-3中任一权利要求的方法产生的改变矩阵;以及应用部件,被配置为应用接收的改变矩阵。
13.根据权利要求12的系统,其中应用部件进一步配置为对于改变矩阵的每一行,根据该行中的改变类型ChangeType、改变比特值 ChangeBits、列值ColumnValue,生成一条能够改变数据记录主键值集PrimaryKeySet中主键值对应的多行数据的SQL语句;以及应用生成的SQL语句。
14.根据权利要求12的系统,其中应用部件进一步配置为如果接收改变矩阵的一方本身也产生了改变矩阵,则确定接收的改变矩阵与接收改变矩阵的一方本身产生的改变矩阵中是否存在相同的主键值;如果存在相同的主键值,则通过冲突解决机制处理冲突之后再应用接收的改变矩阵。
全文摘要
本发明公开了一种用于在数据同步中减少数据传输量的方法和系统,其中方法包括识别改变后的源数据表中每个数据列中不同的数据值;对每个数据列中的数据值进行编码,其中对每一数据列来说不同的数据值具有不同的编码值;识别数据改变历史信息中不同的改变类型ChangeType和改变比特值ChangeBits;以及根据不同的改变类型ChangeType和改变比特值ChangeBits,利用每个数据列中不同的数据值的编码值产生改变矩阵。通过改变矩阵,使得原数据改变中针对不同行的具有相同改变的数据被合并到改变矩阵的同一改变行中,从而减少了数据传输量,提高了同步效率。
文档编号H04L7/02GK102315930SQ20101022261
公开日2012年1月11日 申请日期2010年6月30日 优先权日2010年6月30日
发明者齐亮 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1