CN106802897A - 查询表数据同步方法和装置 - Google Patents

查询表数据同步方法和装置 Download PDF

Info

Publication number
CN106802897A
CN106802897A CN201510844685.2A CN201510844685A CN106802897A CN 106802897 A CN106802897 A CN 106802897A CN 201510844685 A CN201510844685 A CN 201510844685A CN 106802897 A CN106802897 A CN 106802897A
Authority
CN
China
Prior art keywords
inquiry
data
inquiry table
simultaneously operating
lookup table
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201510844685.2A
Other languages
English (en)
Inventor
张良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510844685.2A priority Critical patent/CN106802897A/zh
Publication of CN106802897A publication Critical patent/CN106802897A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor

Abstract

本申请公开了一种查询表数据同步方法和装置。其中,该方法包括:在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表;以及通过查询表线程执行查询表的同步操作。本申请通过异步执行查询表数据同步操作,不会影响客户端的访问,解决了相关技术中查询表数据同步耗费较长时间影响用户体验的技术问题。

Description

查询表数据同步方法和装置
技术领域
本申请涉及数据库领域,具体而言,涉及一种查询表数据同步方法和装置。
背景技术
在关系型数据库的数据表设计中,对表结构的设计会使用很多的关系表来确保数据的完整性和可扩展性,在查询多表数据时,使用表连接的方式通过匹配条件对数据进行读取。如图1所示,广告表(Ad)的所属投放位置字段(BlongedPlacementKey)引用投放位置表(Placement)的主键(即黑色箭头标识的字段)投放位置唯一键(PlacementKey),在根据广告唯一键(AdKey)读取一条广告表的数据,并包含其引用的投放位置表中的媒体字段(Media)的信息时,表连接的方式如下:
select Media,*from Ad
left join Placement on Placement.PlacementKey=Ad.BelongedPlacementKey
当需要读取多个表的数据时,则需要连接多张表,例如,还需要读取创意表(Creative)的数据,此时,表连接的方式如下:
select Media,*from Ad
left join Placement on Placement.PlacementKey=Ad.BelongedPlacementKey
left join Creative on Creative.CreativeKey=Ad.BelongedCreativeKey
其中,CreativeKey为创意唯一键,BelongedCreativeKey为所属创意唯一键。
在广告表需要引用多张表,并且各表的数据量非常大时,读取大量的表中数据会导致表连接的效率很低,很多时候无法保证系统的可用性或者获得较好的用户体验,所以现在普遍会采用关系表与非关系的查询表共存的方式满足对数据查询的效率的要求,其中,查询表为用于执行数据查询的数据表,与将不同属性的数据存储于不同的关系表不同的是,查询表是将所有属性的数据存储于同一数据表中,例如,在广告排期数据库中,广告、投放位置、媒体等不同属性数据均存储于同一张数据表中,以提高数据查询效率,如图2所示。如果多个广告引用同一个投放位置唯一键,在广告查询表(AdBigTable)中通过冗余数据的方式进行保存,如图3所示,此时数据查询方式如下:
select*from AdBigTable
通过上述方式省略了表连接的性能损耗,当更新、删除等操作时,在关系表完成相应处理后,会对查询表进行同步。虽然上述方式解决了查询效率问题,但是却加重了修改和删除的负担,在大数据量时主要存在以下问题:
一是对关系表进行修改、新增、删除时,需要对查询表内容进行同步,在大数据量的情况下,会导致修改、新增、删除数据的时间较长,影响用户体验;二是关系表的操作与查询表数据同步必须保持在一个数据库事务中,以保证数据的正确性和完整性。如果查询表数据同步发生错误,整个操作也会出错,所有关系表中的数据都需要回滚,造成了不好的用户体验。
针对相关技术中查询表数据同步耗费较长时间影响用户体验的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种查询表数据同步方法和装置,以解决相关技术中查询表数据同步耗费较长时间影响用户体验的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种查询表数据同步方法。该方法包括:在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表;以及通过查询表线程执行查询表的同步操作。
进一步地,在通过查询表线程执行查询表的同步操作之后,该方法还包括:检测查询表数据同步操作是否发生异常;以及在检测出查询表数据同步操作发生异常时,对查询表执行重置操作,其中,重置操作是重新生成查询表中的数据。
进一步地,在检测出查询表数据同步操作发生异常时,对查询表执行重置操作之后,该方法还包括:在查询表重置失败时,判断查询表执行重置操作的次数是否小于预设值;在查询表执行重置操作的次数小于预设值时,继续对查询表执行重置操作;以及在查询表执行重置操作的次数不小于预设值时,输出提示信息。
进一步地,在检测出查询表数据同步操作发生异常时,对查询表执行重置操作包括:在检测出查询表数据同步操作发生异常时,删除查询表中的数据;以及从关系表中读取查询表的数据插入至查询表中。
进一步地,在检测出查询表数据同步操作发生异常时,对查询表执行重置操作包括:在检测出查询表数据同步操作发生异常时,生成新的数据表;从关系表中读取查询表的数据插入新的数据表中;以及通过新的数据表替换查询表。
为了实现上述目的,根据本申请的另一方面,提供了一种查询表数据同步装置。该装置包括:开启单元,用于在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表;以及同步单元,用于通过查询表线程执行查询表的同步操作。
进一步地,该装置还包括:检测单元,用于检测查询表数据同步操作是否发生异常;以及第一重置单元,用于在检测出查询表数据同步操作发生异常时,对查询表执行重置操作,其中,重置操作是重新生成查询表中的数据。
进一步地,该装置还包括:判断单元,用于在查询表重置失败时,判断查询表执行重置操作的次数是否小于预设值;第二重置单元,用于在查询表执行重置操作的次数小于预设值时,继续对查询表执行重置操作;以及输出单元,用于在查询表执行重置操作的次数不小于预设值时,输出提示信息。
进一步地,第一重置单元包括:删除模块,用于在检测出查询表数据同步操作发生异常时,删除查询表中的数据;以及第一插入模块,用于从关系表中读取查询表的数据插入至查询表中。
进一步地,第一重置单元包括:生成模块,用于在检测出查询表数据同步操作发生异常时,生成新的数据表;第二插入模块,用于从关系表中读取查询表的数据插入新的数据表中;以及替换模块,用于通过新的数据表替换查询表。
本申请通过在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表;以及通过查询表线程执行查询表的同步操作,本申请通过异步执行查询表数据同步操作,使得查询表数据同步过程并不会影响客户端对关系表的操作,解决了相关技术中查询表数据同步耗费较长时间影响用户体验的问题,进而达到了执行查询表数据同步不影响用户体验的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据相关技术的关系表的示意图;
图2是根据相关技术的查询表的示意图;
图3是根据相关技术的查询表数据存储示意图;
图4是根据本申请第一实施例的查询表数据同步方法的流程图;
图5是根据本申请第二实施例的查询表数据同步方法的流程图;以及
图6是根据本申请实施例的查询表数据同步装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的一些概念进行说明:
数据库事务:即Database Transaction,是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务处理可以确保除非事务性单元内的所有操作都成功完成,否则不会更新面向数据的资源。
线程:也被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程标识(即线程ID)、当前指令指针(PC)、寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点儿在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤消另一个线程,同一进程中的多个线程之间可以并发执行。
根据本申请实施例,提供了一种查询表数据同步方法。图4是根据本申请第一实施例的查询表数据同步方法的流程图,如图4所示,该方法包括如下的步骤S102至步骤S104:
步骤S102,在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表。
本申请实施例的关系表可以是关系型数据库中的关系表,查询表为关系型数据库中用于执行数据查询的数据表。具体地,不同属性的数据存储于不同的关系表中,例如,在广告排期数据库中,广告、投放位置等不同属性的数据存储于不同的数据表中;而查询表则是将所有属性的数据存储于同一数据表中,例如,在广告排期数据库中,广告、投放位置等不同属性数据均存储于同一张数据表中,以提高数据查询效率。
本申请实施例可以通过客户端对关系表进行修改、新增、删除等操作,在关系表发生变更后,需要对查询表进行同步,以保证数据查询的准确性。具体地,可以将关系表的操作(例如,修改、新增、删除等)放在一个独立的数据库事务(即关系表事务)中执行,并可以将执行结果返回给客户端,例如,向客户端发送操作成功或是操作失败等提示信息;在关系表事务提交后(即执行完对关系表的操作),开启一个线程(即查询表线程),通过该线程执行查询表的同步操作。需要说明的是,也可以开启一个新的数据库事务,通过该新的数据库事务执行查询表的同步操作。
步骤S104,通过查询表线程执行查询表的同步操作。
本申请实施例通过在一个独立的数据库事务中执行关系表的操作,通过查询表线程执行查询表的同步操作,相比于现有技术中将关系表的操作和查询表的同步置于同一个数据库事务中执行,能够保证查询表的同步不影响客户端对关系表的操作,此外,在查询表数据同步失败时也不会造成关系表数据的回滚,从而使得查询表的数据同步不会影响用户体验。
本申请实施例通过在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表;以及通过查询表线程执行查询表的同步操作,本申请通过异步执行查询表数据同步操作,使得查询表数据同步过程并不会影响客户端对关系表的操作,解决了相关技术中查询表数据同步耗费较长时间影响用户体验的问题,进而达到了执行查询表数据同步不影响用户体验的效果。
优选地,为了保证查询表数据的准确性和完整性,在通过查询表线程执行查询表的同步操作之后,该方法还包括:检测查询表数据同步操作是否发生异常;以及在检测出查询表数据同步操作发生异常时,对查询表执行重置操作,其中,重置操作是重新生成查询表中的数据。
由于查询表数据同步过程中可能出现异常,本申请实施例在查询表数据同步成功时,输出查询表数据同步成功的提示信息,在查询表数据同步失败时(即检测出查询表数据同步操作发生异常),则对查询表执行重置操作,即对查询表的数据进行重置。
可选地,在检测出查询表数据同步操作发生异常时,对查询表执行重置操作包括:在检测出查询表数据同步操作发生异常时,删除查询表中的数据;以及从关系表中读取查询表的数据插入至查询表中。
具体地,可以开启一个新的数据库事务执行查询表的重置。本申请实施例通过删除查询表中的数据,从关系表中重新读取查询表的数据并插入至查询表中,由于查询表中可能存储有一些配置信息、数据库锁等,通过在原有的查询表中重新插入数据实现查询表的重置,可以保存查询表中存储的配置信息、数据库锁等。
可选地,在检测出查询表数据同步操作发生异常时,对查询表执行重置操作包括:在检测出查询表数据同步操作发生异常时,生成新的数据表;从关系表中读取查询表的数据插入新的数据表中;以及通过新的数据表替换查询表。
本申请实施例也可以生成新的数据表,在新的数据表中插入从关系表中读取的查询表的数据,并通过该数据表替换掉原先的查询表。
优选地,为了进一步保证查询表数据的准确性和完整性,在检测出查询表数据同步操作发生异常时,对查询表执行重置操作之后,该方法还包括:在查询表重置失败时,判断查询表执行重置操作的次数是否小于预设值;在查询表执行重置操作的次数小于预设值时,继续对查询表执行重置操作;以及在查询表执行重置操作的次数不小于预设值时,输出提示信息。
本申请实施例在查询表重置失败时,统计查询表重置次数(即执行重置操作的次数),并将查询表重置次数与预设值比较,其中,预设值可以根据实际情况进行设置,例如,设置为3、5等。如果查询表重置次数小于预设值,则继续对查询表执行重置操作,并且查询表重置次数加1,如果查询表重置次数不小于预设值,则输出提示信息,通知操作人员进行处理。重复执行上述流程直至查询表重置成功或是重置次数达到预设值。
图5是根据本申请第二实施例的查询表数据同步方法的流程图,如图5所示,该方法包括:
步骤S202,关系表修改、删除或新增。
具体地,在对关系表进行操作(例如,修改、删除或新增)时,关系表的操作放在一个单独的事务(即关系表事务)中。在关系表事务提交后,将关系表操作结果返回客户端,并执行查询表的数据同步操作。
步骤S204,将结果返回给客户端。
即将关系表操作结果返回客户端。
步骤S206,查询表数据同步。
具体地,可以在关系表事务提交后,开启一个线程(即查询表线程),进行查询表数据同步的操作。
步骤S208,判断查询表数据重置是否异常。
在判断出查询表数据重置异常时,执行步骤S210,在判断查询表数据重置成功时,结束。
步骤S210,查询表数据重置。
具体地,可以预先设置数据重置方法,如果查询表数据同步的操作发生了异常,则执行查询表的数据重置的方法,对整个查询表进行数据重置。其中,预先设置的数据重置方法可以类似于在没有查询表时,生成查询表的过程,其执行流程可以是:开启数据库事务—>删除表中数据—>读取查询表数据进行插入。
虽然查询表重置方法会消耗一定的时间,但是查询表数据同步异常本身出现的概率比较低,此外,查询表数据同步和数据重置都在非用户线程中进行操作,对用户的体验影响较小。
从以上的描述中,可以看出,本申请实施例可以异步地执行查询表数据同步的过程,保证了查询效率的同时,优化了对关系表执行修改、删除等操作后查询表数据同步过程,使其不影响客户端的可访问性,并且能够保证数据事务的原子性和数据的正确性。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
根据本申请实施例的另一方面,提供了一种查询表数据同步装置,该查询表数据同步装置可以用于执行本申请实施例的查询表数据同步方法,本申请实施例的查询表数据同步方法也可以通过本申请实施例的查询表数据同步装置来执行。
图6是根据本申请实施例的查询表数据同步装置的示意图,如图6所示,该装置包括:开启单元10和同步单元20。
开启单元10,用于在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表。
同步单元20,用于通过查询表线程执行查询表的同步操作。
本申请实施例通过开启单元10在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表;以及同步单元20通过查询表线程执行查询表的同步操作,本申请通过异步执行查询表数据同步操作,使得查询表数据同步过程并不会影响客户端对关系表的操作,解决了相关技术中查询表数据同步耗费较长时间影响用户体验的问题,进而达到了执行查询表数据同步不影响用户体验的效果。
优选地,该装置还包括:检测单元,用于检测查询表数据同步操作是否发生异常;以及第一重置单元,用于在检测出查询表数据同步操作发生异常时,对查询表执行重置操作,其中,重置操作是重新生成查询表中的数据。
优选地,该装置还包括:判断单元,用于在查询表重置失败时,判断查询表执行重置操作的次数是否小于预设值;第二重置单元,用于在查询表执行重置操作的次数小于预设值时,继续对查询表执行重置操作;以及输出单元,用于在查询表执行重置操作的次数不小于预设值时,输出提示信息。
可选地,第一重置单元包括:删除模块,用于在检测出查询表数据同步操作发生异常时,删除查询表中的数据;以及第一插入模块,用于从关系表中读取查询表的数据插入至查询表中。
可选地,第一重置单元包括:生成模块,用于在检测出查询表数据同步操作发生异常时,生成新的数据表;第二插入模块,用于从关系表中读取查询表的数据插入新的数据表中;以及替换模块,用于通过新的数据表替换查询表。
所述查询表数据同步装置包括处理器和存储器,上述开启单元和同步单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现查询表的数据同步。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:在关系表事务提交后,开启查询表线程,其中,关系表事务是用于执行关系表操作的数据库事务,查询表线程是用于执行查询表数据同步操作的线程,查询表数据同步操作是根据关系表的操作同步查询表;以及通过查询表线程执行查询表的同步操作。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (10)

1.一种查询表数据同步方法,其特征在于,包括:
在关系表事务提交后,开启查询表线程,其中,所述关系表事务是用于执行关系表操作的数据库事务,所述查询表线程是用于执行查询表数据同步操作的线程,所述查询表数据同步操作是根据所述关系表的操作同步所述查询表;以及
通过所述查询表线程执行所述查询表的同步操作。
2.根据权利要求1所述的方法,其特征在于,在通过所述查询表线程执行所述查询表的同步操作之后,所述方法还包括:
检测所述查询表数据同步操作是否发生异常;以及
在检测出所述查询表数据同步操作发生异常时,对所述查询表执行重置操作,其中,所述重置操作是重新生成所述查询表中的数据。
3.根据权利要求2所述的方法,其特征在于,在检测出所述查询表数据同步操作发生异常时,对所述查询表执行重置操作之后,所述方法还包括:
在所述查询表重置失败时,判断所述查询表执行重置操作的次数是否小于预设值;
在所述查询表执行重置操作的次数小于所述预设值时,继续对所述查询表执行重置操作;以及
在所述查询表执行重置操作的次数不小于所述预设值时,输出提示信息。
4.根据权利要求2所述的方法,其特征在于,在检测出所述查询表数据同步操作发生异常时,对所述查询表执行重置操作包括:
在检测出所述查询表数据同步操作发生异常时,删除所述查询表中的数据;以及
从所述关系表中读取所述查询表的数据插入至所述查询表中。
5.根据权利要求2所述的方法,其特征在于,在检测出所述查询表数据同步操作发生异常时,对所述查询表执行重置操作包括:
在检测出所述查询表数据同步操作发生异常时,生成新的数据表;
从所述关系表中读取所述查询表的数据插入所述新的数据表中;以及
通过所述新的数据表替换所述查询表。
6.一种查询表数据同步装置,其特征在于,包括:
开启单元,用于在关系表事务提交后,开启查询表线程,其中,所述关系表事务是用于执行关系表操作的数据库事务,所述查询表线程是用于执行查询表数据同步操作的线程,所述查询表数据同步操作是根据所述关系表的操作同步所述查询表;以及
同步单元,用于通过所述查询表线程执行所述查询表的同步操作。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
检测单元,用于检测所述查询表数据同步操作是否发生异常;以及
第一重置单元,用于在检测出所述查询表数据同步操作发生异常时,对所述查询表执行重置操作,其中,所述重置操作是重新生成所述查询表中的数据。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
判断单元,用于在所述查询表重置失败时,判断所述查询表执行重置操作的次数是否小于预设值;
第二重置单元,用于在所述查询表执行重置操作的次数小于所述预设值时,继续对所述查询表执行重置操作;以及
输出单元,用于在所述查询表执行重置操作的次数不小于所述预设值时,输出提示信息。
9.根据权利要求7所述的装置,其特征在于,所述第一重置单元包括:
删除模块,用于在检测出所述查询表数据同步操作发生异常时,删除所述查询表中的数据;以及
第一插入模块,用于从所述关系表中读取所述查询表的数据插入至所述查询表中。
10.根据权利要求7所述的装置,其特征在于,所述第一重置单元包括:
生成模块,用于在检测出所述查询表数据同步操作发生异常时,生成新的数据表;
第二插入模块,用于从所述关系表中读取所述查询表的数据插入所述新的数据表中;以及
替换模块,用于通过所述新的数据表替换所述查询表。
CN201510844685.2A 2015-11-26 2015-11-26 查询表数据同步方法和装置 Pending CN106802897A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510844685.2A CN106802897A (zh) 2015-11-26 2015-11-26 查询表数据同步方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510844685.2A CN106802897A (zh) 2015-11-26 2015-11-26 查询表数据同步方法和装置

Publications (1)

Publication Number Publication Date
CN106802897A true CN106802897A (zh) 2017-06-06

Family

ID=58976821

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510844685.2A Pending CN106802897A (zh) 2015-11-26 2015-11-26 查询表数据同步方法和装置

Country Status (1)

Country Link
CN (1) CN106802897A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059469A1 (en) * 2006-08-31 2008-03-06 International Business Machines Corporation Replication Token Based Synchronization
CN101419616A (zh) * 2008-12-10 2009-04-29 阿里巴巴集团控股有限公司 一种数据同步方法及装置
CN102385589A (zh) * 2010-08-31 2012-03-21 财团法人工业技术研究院 多重查询表的建立方法及利用多重查询表的数据获取方法
CN102799651A (zh) * 2012-06-28 2012-11-28 用友软件股份有限公司 查询处理装置和查询处理方法
US20130073524A1 (en) * 2010-10-18 2013-03-21 Michael Bentkofsky Database synchronization and validation
CN103885986A (zh) * 2012-12-21 2014-06-25 阿里巴巴集团控股有限公司 主备数据库同步的方法和装置
CN104978313A (zh) * 2014-04-01 2015-10-14 中兴通讯股份有限公司 数据库系统的数据同步方法、装置及服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080059469A1 (en) * 2006-08-31 2008-03-06 International Business Machines Corporation Replication Token Based Synchronization
CN101419616A (zh) * 2008-12-10 2009-04-29 阿里巴巴集团控股有限公司 一种数据同步方法及装置
CN102385589A (zh) * 2010-08-31 2012-03-21 财团法人工业技术研究院 多重查询表的建立方法及利用多重查询表的数据获取方法
US20130073524A1 (en) * 2010-10-18 2013-03-21 Michael Bentkofsky Database synchronization and validation
CN102799651A (zh) * 2012-06-28 2012-11-28 用友软件股份有限公司 查询处理装置和查询处理方法
CN103885986A (zh) * 2012-12-21 2014-06-25 阿里巴巴集团控股有限公司 主备数据库同步的方法和装置
CN104978313A (zh) * 2014-04-01 2015-10-14 中兴通讯股份有限公司 数据库系统的数据同步方法、装置及服务器

Similar Documents

Publication Publication Date Title
US8412735B2 (en) Data quality enhancement for smart grid applications
Durante et al. An analysis of the dependence among financial markets by spatial contagion
US8782597B2 (en) Ontology updating apparatus, method and system
CN106294125B (zh) 银行核心系统数据处理方法
CN105045917B (zh) 一种基于实例的分布式数据恢复方法和装置
CN106462639A (zh) 处理远程数据库的变化
CN108090225A (zh) 数据库实例的运行方法、装置、系统及计算机可读存储介质
CN105530272A (zh) 一种应用数据的同步方法和装置
CN103235811B (zh) 一种数据存储方法及装置
CN108021449A (zh) 一种协程实现方法、终端设备及存储介质
CN107145574A (zh) 数据库数据处理方法、装置及存储介质和电子设备
Hyland et al. Multilayer networks for text analysis with multiple data types
US20220229814A1 (en) Maintaining stable record identifiers in the presence of updated data records
US20110264991A1 (en) Method and System for Management of Electronic Mail Communication
CN106776795A (zh) 基于Hbase数据库的数据写入方法及装置
CN112598510B (zh) 资源数据处理方法和装置
CN110119396A (zh) 数据管理方法及相关产品
CN104965846B (zh) MapReduce平台上的虚拟人建立方法
US10929441B1 (en) System and techniques for data record merging
CN111221690B (zh) 针对集成电路设计的模型确定方法、装置及终端
CN104573098B (zh) 基于Spark系统的大规模对象识别方法
CN112035449A (zh) 数据处理方法及装置、计算机设备、存储介质
CN106802897A (zh) 查询表数据同步方法和装置
CN109857807A (zh) 基于区块链的交易数据同步方法、装置、设备和介质
Wang et al. A knowledge discovery case study of software quality prediction: Isbsg database

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

CB02 Change of applicant information
RJ01 Rejection of invention patent application after publication

Application publication date: 20170606

RJ01 Rejection of invention patent application after publication