CN110647421B - 数据库处理方法、装置、系统以及电子设备 - Google Patents
数据库处理方法、装置、系统以及电子设备 Download PDFInfo
- Publication number
- CN110647421B CN110647421B CN201810681591.1A CN201810681591A CN110647421B CN 110647421 B CN110647421 B CN 110647421B CN 201810681591 A CN201810681591 A CN 201810681591A CN 110647421 B CN110647421 B CN 110647421B
- Authority
- CN
- China
- Prior art keywords
- log records
- log
- dependency relationship
- primary key
- incremental
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
- G06F11/1453—Management of the data involved in backup or backup restore using de-duplication of the data
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供一种数据库处理方法、装置、系统以及电子设备,其中,方法包括:获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;将包含所提取的相同主键的日志记录按串行方式进行增量复制;将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按所述依赖关系串行执行的方式进行增量复制。本发明实施例的方案,能够解决存在非主键的唯一索引被操作情况下,也能整体并行复制,减少复制延时,提高数据库增量复制性能。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据库处理方法、装置、系统以及电子设备。
背景技术
在云MongoDB数据库增量复制服务中,存在源库到目标库的复制延时。在MongoDB源库上产生的oplog记录,目标库需要按照oplog产生的顺序,依次将日志在目标库重放(重新执行)。为了性能考虑,重放动作在保证正确性的前提下,需要尽可能并行执行。例如,通过针对每条oplog记录的主键id进行hash分片,保证同一个主键id的oplog记录是顺序重放,不同主键id的oplog记录可以是并行重放,从而兼顾保证正确性和复制性能。
但是,如果oplog记录中存在针对非主键id的唯一索引的操作,则针对唯一索引的复制操作需要对oplog记录串行执行,从而打破根据主键id的oplog记录并发重放的顺序关系,进而不能并行执行,造成复制延时更长。
发明内容
本发明提供了一种数据库处理方法、装置、系统以及电子设备,能够解决存在非主键的唯一索引被操作情况下,也能整体并行复制,减少复制延时,提高数据库增量复制性能。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供了一种数据库处理方法,包括:
获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
将包含所提取的相同主键的日志记录按串行方式进行增量复制;
将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按所述依赖关系串行执行的方式进行增量复制。
第二方面,提供了另一种数据库处理装置,包括:
数据获取模块,用于获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
主键提取模块,用于提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
串行执行模块,用于将包含所提取的相同主键的日志记录按串行方式进行增量复制;
并行执行模块,用于将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按所述依赖关系串行执行的方式进行增量复制。
第三方面,提供了一种数据库处理系统,包括:数据库处理装置和多个复制执行单元;所述增量复制处理装置用于,
获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
将包含所提取的主键的日志记录中具有所述依赖关系的日志记录分发到不同的复制执行单元,各所述复制执行单元按所述依赖关系顺序启动执行增量复制操作;
将包含所提取的主键的日志记录中不具有所述依赖关系的日志记录分发到各所述复制执行单元中,且包含相同主键的日志记录被所述复制执行单元按串行方式进行增量复制;
其中,分发到同一所述复制执行单元的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
第四方面,提供了一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
将包含所提取的相同主键的日志记录按串行方式进行增量复制;
将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按所述依赖关系串行执行的方式进行增量复制。
第五方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有当被处理器执行时使得处理器执行第一方面中所述的方法的程序指令。
本发明提供了一种数据库处理方法、装置、系统以及电子设备,当数据库中既包括主键索引又包括非主键的唯一索引时,且对数据库执行增量复制的过程中,可以先提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;然后将包含所提取的相同主键的日志记录按串行方式进行增量复制;将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按依赖关系串行执行的方式进行增量复制。如此,既可以保证针对唯一索引的日志记录在增量复制过程中被串行执行,确保数据的唯一性和正确性,又可以对这部分日志记录采用整体并行的方式进行数据库的增量复制,减少复制延时,提高数据库增量复制性能。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,而可依照说明书的内容予以实施,并且为了让本申请的上述和其它目的、特征和优点能够更明显易懂,以下特举本申请的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为现有技术中基于日志记录的数据库增量复制的处理流程图;
图2为现有技术中基于主键并行执行增量复制的处理流程图;
图3为本发明实施例的数据库处理逻辑示意图;
图4为本发明实施例的数据库处理系统结构图;
图5为本发明实施例的数据库处理方法流程图一;
图6为本发明实施例的数据库处理方法流程图二;
图7为本发明实施例的数据库处理方法流程图三;
图8为本发明实施例的数据库处理装置结构图一;
图9为本发明实施例的数据库处理装置结构图二;
图10为本发明实施例的数据库处理装置结构图三;
图11为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在描述本发明技术方案之前,先对本发明涉及的技术术语进行解释:
主键,也称主关键字(primary key),是数据表中的一个或多个字段,它的值用于唯一地标识表中的某一条记录。
唯一索引,一种索引,不允许具有索引值相同的行,从而禁止重复的索引或键值。
主键索引,是唯一索引的特殊类型。在数据库关系图中为表定义一个主键将自动创建主键索引,主键索引要求主键中的每个值是唯一的。
增量复制,基于源库操作过程中产生的记录日志,在目标库进行日志重放(重新执行日志记录),实现目标库同步源库数据,从而保持数据一致性。
依赖关系,在增量复制过程中,针对同一个字段的多行数据进行操作时,如果后一操作需要前一操作的完成作为执行前提,那么确认这两个操作对应的日志记录具有依赖关系(本方案中的依赖关系特指发生在包含不同主键的日志记录之间)。
串行方式进行增量复制,也称“串行复制方式”,即增量复制过程是按照各日志记录标记的日志产生时间顺序执行。
并行方式进行增量复制,也称“并行复制方式”,即增量复制过程是按照各日志记录所对应的主键或者其他并行规则,并发执行日志重放的过程。
图1为现有技术中基于日志记录的数据库增量复制的处理流程图。图中,客户端110对源库执行表数据的写操作之后,同时会产生写操作对应的日志记录,以下列出了在MongoDB数据库增量复制服务中产生的oplog记录中包含的信息:
ts:日志时间戳
v:日志版本
op:日志行为,如插入、删除、更新
ns:操作的数据库、数据表名
o:操作的记录(包含记录的主键及更改的属性列)
根据“o”中记录的主键,目标库可以并行执行所拉取的日志记录,实现增量复制。在以并行方式进行增量复制的过程中,如图2所示,可先基于主键值进行hash分片,将包含相同主键的日志记录分发到同一执行器中,然后按不同主键在每个执行器中并行执行增量复制,从而实现目标库与源库的数据同步。这种方法可以保证相同主键对应的日志记录是顺序执行的,保证了复制的正确性和并发性。
但是,如果数据库中创建了非主键的唯一索引(唯一索引不是主键),上述方法无法保证唯一索引的唯一性约束,如当不同主键对应的日志记录分别修改了同一个唯一索引的索引值,但又不能保证执行顺序的情况下,则很可能无法保证唯一索引的唯一性。而如果单纯以串行方式对所有日志记录进行增量复制,虽然保证了唯一索引值的唯一性,但又会造成很长的复制延时。
因此,如何能在存在非主键唯一索引的情况下,能够通过分析日志记录之间存在的唯一性依赖关系(简称“依赖关系”),将本身串行的复制过程,再次通过主键进行hash分片实现并行复制以提升复制性能,就变得尤为重要。
本方案基于这种通过对日志记录之间依赖关系的分析,将本身串行的复制过程,再次实现并行复制的思想,提供了一种全新的数据库处理方案。该方案的核心在于,在存在非主键唯一索引的情况下,先分析出日志记录之间存在的唯一性依赖关系(简称“依赖关系”),然后根据依赖关系,提取出具有依赖关系的日志记录,然后对这些记录按串行复制方式进行增量复制,同时,整体在不影响这种串行复制方式的基础上,仍对所有日志记录按对应的不同主键采用并行复制方式执行增量复制操作,从而以提升复制性能。
图3为本发明实施例的数据库处理逻辑示意图,包括如下处理环节:
S301,获取日志记录。
其中,获取的日志记录可以是MongoDB数据库增量复制服务中产生的oplog记录,可以是一段时间内积累的记录,数据库包括主键索引和非主键唯一索引。
S302,判断是否存在标识字段。
为了标识日志记录是否是对唯一索引进行操作而产生的日志记录,可以在这部分日志记录增加标识字段(如“u”)以标识某个日志记录为针对唯一索引操作(比如插入、删除、更新)而产生的日志记录。如果日志记录中不存在标识字段,则执行S303,对日志记录按不同主键并行执行复制过程,然后返回到S301。
S304,如果S302中判断存在标识字段,则获取有标识字段的日志记录对应的索引原值。这里获取的索引原值包括操作前的唯一索引的索引值和主键。
S305,获取有标识字段的日志记录对应的索引操作值。这里获取的索引操作值包括操作后的唯一索引的索引值和主键。
S306,对包含标识字段的日志记录进行依赖分析。分析规则包含但不限于如下几种:
规则1,不同主键对应的日志记录中,如果复制操作前后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在所述依赖关系;
规则2,不同主键对应的日志记录中,如果复制操作后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在所述依赖关系;
规则3,如果日志记录中包含的主键相同,则确定相应日志记录不存在依赖关系。
S308,经过S307后,可以判断出这些日志记录是否存在依赖关系。
如果不存在依赖关系,则返回执行S303;如果存在依赖关系,则执行S308。
S308,记录日志记录节点并分发日志记录到执行器。
从具有依赖关系的日志记录中提取出日志记录节点,即执行日志记录的几个执行阶段,每个执行阶段对应启动一个执行器,然后将具有依赖关系的日志记录按依赖关系分发到各日志记录节点对应的执行器中,将不具有依赖关系的日志记录也分发到各执行器中,但要保证包含相同主键的日志记录被执行器按串行方式进行复制;
其中,分发到同一执行器的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
S309,当执行到某一个具有依赖关系的日志记录节点(日志记录)后,即可执行S310。
S310,唤醒与上一个日志记录节点具有依赖关系的日志记录节点的执行器继续执行。从而保证具有依赖关系的日志记录之间是以串行复制方式被执行。
针对非具有依赖关系的日志记录,可以按自己包含的主键继续进行并发复制的执行过程。
S311,判断当前未被执行的日志记录中是否还存在日志记录节点,如果存在,可在返回到S309,在当前日志记录节点执行完成后,继续触发下一个日志记录节点所在的执行器继续执行操作。如果没有未执行的日志记录节点,则在日志记录全部被执行完成后,返回到S301,进行下一轮的日志记录处理流程。
基于图3所示的数据库处理逻辑,图4为本发明实施例提供的数据库处理系统结构图。如图4所示,该处理系统包括:数据库处理装置410和多个复制执行单元420;其中,增量复制处理装置410用于,
获取数据库在增量操作过程中产生的日志记录,该数据库包括主键索引和非主键的唯一索引;
提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
将包含所提取的主键的日志记录中具有依赖关系的日志记录分发到不同的复制执行单元420,各复制执行单元420按依赖关系顺序启动执行增量复制操作;
将包含所提取的主键的日志记录中不具有依赖关系的日志记录分发到各复制执行单元420中,且包含相同主键的日志记录被复制执行单元420按串行方式进行增量复制;
其中,分发到同一复制执行单元420的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
具体地,增量复制处理装置410获取数据库在增量操作过程中产生的日志记录并对这些日志记录进行依赖关系的分析,从中提取出对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;然后将包含所提取的主键的日志记录中具有依赖关系的日志记录分发到不同的复制执行单元420,其中各复制执行单元420按依赖关系顺序启动执行增量复制操作。例如,每个复制执行单元420中均被分发和执行一个具有依赖关系的日志记录,当具有依赖关系的前一个日志记录被执行完成后,才可以触发后一个复制执行单元420启动,当后一个复制执行单元420执行完成分发给自己的具有依赖关系的日志记录后,可继续触发下一个复制执行单元420启动,以此类推,直到所有复制执行单元420被触发启动并执行完成所有分发给自己的日志记录。
同时,增量复制处理装置410也会将包含所提取的主键的日志记录中不具有依赖关系的日志记录分发到各复制执行单元420中,但需要保证包含相同主键的日志记录被复制执行单元420按串行方式进行增量复制。同一主键对应的日志记录(即包含具有依赖关系的日志记录,也包含不具有依赖关系的日志记录)可以按照串行复制的操作顺序进行分发,并且从第一个启动的复制执行单元420开始随着启动的复制执行单元420的启动顺序进行分发,每个复制执行单元420可以分发多条日志记录。
例如,主键01对应的日志记录中,假设第3条日志记录为具有依赖关系的日志记录,所以按照依赖关系被分发到第一个复制执行单元420作为一个日志记录节点。相应的,主键01对应的第1、2条日志记录需要被分发到第一个启动的复制执行单元420,以满足同一主键的日志记录按串行方式执行,主键01对应的第4、5、6条日志记录可以被分发到第二个启动的复制执行单元420。当按包含同一主键的日志记录按串行方式执行到第3条日志记录并被执行完成后,则可以触发下一个复制执行单元420启动执行,假设下一个复制执行单元420中与上述第3条日志具有依赖关系的为主键02中的第4条日志记录,那么主键02的前3条日志记录既可以被分发到第一个复制执行单元420,也可以被分发到第二个复制执行单元420,但是不能分发到第三个复制执行单元420(不满足同一主键的日志记录按串行方式执行)。同时,在第一个复制执行单元420中还可以同时执行包含其他主键的日志记录。所有这些主键对应的日志记录按主键的不同整体上是相互并行执行的,在遇到有依赖关系的日志记录节点时需要等待上一个日志记录节点完成后,本日志记录节点所在的复制执行单元420才被触发启动,并执行处理日志记录,从而保证具有依赖关系的日志记录是串行执行的。
下面通过多个实施例来进一步说明本申请的技术方案。
实施例一
基于上述数据库处理方案思想,如图5所示,其为本发明实施例示出的数据库处理方法流程图一,该方法的执行主体可为图4中所示的数据库处理装置。如图5所示,该数据库处理方法包括如下步骤:
S510,获取数据库在增量操作过程中产生的日志记录,数据库包括主键索引和非主键的唯一索引。
其中,获取的日志记录可以是MongoDB数据库增量复制服务中产生的oplog记录,可以是一段时间内积累的记录。该数据库表中包括主键索引和非主键唯一索引。
S520,提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键。
例如,根据日志记录中记载的操作的记录(包含记录的主键及更改的属性列),可以得到哪些字段被操作过,从而提取出对唯一索引进行操作而产生的日志记录,并从这些日志记录中分析提取出具有依赖关系的日志记录。判定日志记录具有依赖关系的标准是日志记录之间,如果后一个日志记录的操作必须依赖前一日志记录的操作完成,则判定两个日志记录存在依赖关系。依赖关系的约束条件可以包括但不限定于,为了保证日志记录被复制操作后的索引值的正确性、唯一性。最后,从这些具有依赖关系的日志记录中提取出主键。提取的主键可能相同,可能不同。
在提取出主键后,就要对包含主键的日志记录进行分发和增量复制。由于包含所提取的这些主键的日志记录中,既存在有依赖关系的日志记录,也存在不具有依赖关系的日志记录,为了提高整体的增量复制性能,本方案给出了步骤S530和步骤S540两个角度对应的操作环节。这两个处理环节可以视为在日志记录分发执行过程中的两个原则思想下的执行步骤,没有严格的先后顺序,可以根据实际情况并行、穿插、多次执行。
S530,将包含所提取的相同主键的日志记录按串行方式进行增量复制。
本步骤主要是从包含同一主键的日志记录的处理角度,对日志的处理过程进行约束。将包含上述所提取的相同主键的日志记录按串行方式进行增量复制。这些日志记录中既包含具有依赖关系的日志记录,也包含不具有依赖关系的日志记录。但是,只要是包含同一主键日志记录都要按照操作发生的时间顺序以串行复制方式进行增量复制。
S540,将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按依赖关系串行执行的方式进行增量复制。
本步骤主要是从包含不同主键的日志记录的处理角度,对日志的处理过程进行约束。将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按依赖关系串行执行的方式进行增量复制。
例如,包含主键01的有5条日志记录,包含主键02的有4条日志记录,并且主键01对应的第2条日志记录依赖于主键02对应的第3条日志记录在后执行(两条日志记录具有依赖关系)。那么增量复制的执行过程为:主键01对应的5条日志记录和主键02对应的4条日志记录整体上是并行执行增量复制的。当执行到主键01对应的第2条日志记录时,不仅需要遵循包含相同主键对应日志记录按串行方式执行,即主键01对应的第1条日志记录执行完毕,还要遵循具有依赖关系的日志记录按串行方式执行,即主键02对应的第3条日志记录也要被执行完成。两个约束条件都满足的情况下,才能执行主键01对应的第2条日志记录。
本发明实施例提供的数据库处理方法,当数据库中既包括主键索引又包括非主键的唯一索引时,且对数据库执行增量复制的过程中,可以先提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;然后将包含所提取的相同主键的日志记录按串行方式进行增量复制;将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按依赖关系串行执行的方式进行增量复制。如此,既可以保证针对唯一索引的日志记录在增量复制过程中被串行执行,确保数据的唯一性和正确性,又可以对这部分日志记录采用整体并行的方式进行数据库的增量复制,减少复制延时,提高数据库增量复制性能。
实施例二
如图6所示,其为本发明实施例示出的数据库处理方法流程图二,该方法为图5中所示方法的细化方案,主要增加了判断日志记录中是否存在依赖关系的日志记录的处理环节。如图6所示,该数据库处理方法包括如下步骤:
S510,获取数据库在增量操作过程中产生的日志记录,数据库包括主键索引和非主键的唯一索引。
S610,判断日志记录中是否存在对唯一索引进行操作而产生的具有依赖关系的日志记录。
为了方便从日志记录中找到对唯一索引进行操作而产生的日志记录,可以在相应的日志记录中增加标识字段,该标识字段用于标识其所在日志记录为对唯一索引进行操作而产生的日志记录。比如,在生成日志记录时,在日志记录中增加“U”字段,从而进行日志记录的标识。
如此,当判断日志记录中是否存在对唯一索引进行操作而产生的具有依赖关系的日志记录时,就可以直接从包含标识字段的日志记录中判断是否存在具有依赖关系的日志记录。
另外,在判断日志记录的依赖关系时,可以遵循但不局限于如下几种判断规则:
规则1,如果对唯一索引进行操作而产生的日志记录中存在包含不同主键的日志记录,且复制操作前后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在依赖关系。
例如,存在如表1所示的学生信息数据库表,其中第一列学号为主键,在建表时自动生成主键索引,第二列名字为数据表的一个唯一索引。
表1学生信息数据库表
学号 | 姓名 | 性别 | 年龄 |
001 | 小红 | 女 | 11 |
002 | 小明 | 男 | 12 |
003 | 小兰 | 女 | 12 |
004 | 小东 | 男 | 12 |
当对表1中数据进行修改操作,比如小明刚入学时,注册了唯一索引小明,然后把名字改为大明;后来又入学了一个人叫小明,学号是005。那么如果按照串行方式进行增量复制这个情况是符合唯一性的。但是如果后来入学的这个人在前面这个小明改名字之前入学并修改了学生信息(并行执行时可能存在这种情况),那么“名字”这个唯一键就冲突了,造成入学失败。此时认为“把小明改为大明”的日志记录和与“后增加的小明”的日志记录是具有依赖关系的。
针对上述这种情形,浅显的认为,只要复制操作前后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在依赖关系。
假设,以表1为例,只要学号001的同学修改前后的名字中存在“小明”这个名字,并且学号005入学后注册了“小明”这个名字,都认为这两个操作对应的日志记录存在依赖关系。
规则2,如果对唯一索引进行操作而产生的所述日志记录中存在包含不同主键的日志记录,且复制操作后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在依赖关系。
假设,以表1为例,学号001的同学修改前后的名字中只是修改前存在“小明”这个名字,而学号005入学后注册了“小明”这个名字,是在修改操作之后存在“小明”这个名字,所以从操作结果上看,这两个操作对应的日志记录不存在依赖关系。但是,如果学号004的同学将名字从“小东”改成了“小明”,那就和学号004的同学在“名字”这个唯一键冲突了,所以会造成在后的修改操作失败。
规则3,如果对唯一索引进行操作而产生的日志记录中包含的主键相同,则确定相应日志记录不存在依赖关系。
假设,以表1为例,只有学号001的同学修改了名字,包括修改一次或者是修改多次,其他同学并没有修改名字,那么认为学号001的同学多次修改名字的操作对应的多条日志记录不存在依赖关系。
基于以上规则,可以判断出日志记录中是否存在对唯一索引进行操作而产生的具有依赖关系的日志记录。
如果判断结果为存在,则继续执行步骤S520~540;
如果判断结果为不存在,则执行步骤S620,将日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。即各日志记录可以按照包含的主键的不同,相互并行执行增量复制过程,如图2中所示的处理逻辑。
本发明实施例示出的数据库处理方法,在上一实施例的基础上,对如何判断日志记录中是否存在对唯一索引进行操作而产生的具有依赖关系的日志记录的处理过程进行的细化,示出了三种判断规则,从而可以方便快速的判定日志记录之间的依赖关系。
实施例三
如图7所示,其为本发明实施例示出的数据库处理方法流程图三,该方法为图5和图6中所示方法的细化方案,主要从实际日志记录如何分发、执行的处理角度进行详细说明。如图7所示,该数据库处理方法包括如下步骤:
S510,获取数据库在增量操作过程中产生的日志记录,数据库包括主键索引和非主键的唯一索引。
S520,提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键。
S710,将包含所提取的主键的日志记录中具有依赖关系的日志记录分发到不同的复制执行单元,各复制执行单元按依赖关系顺序启动执行增量复制操作。
其中,复制执行单元类似于前述的执行器420,主要功能是对分发给本复制执行单元的日志记录执行增量复制处理。
具体地,假设针对唯一索引存在三条日志记录具有依赖关系,这三条记录分别是:
主键001对应的第2条日志记录;
主键002对应的第3条日志记录;
主键003对应的第5条日志记录;
并且依赖关系为:主键002对应的第3条日志记录在主键001对应的第2条日志记录之后执行;主键003对应的第5条日志记录在主键002对应的第3条日志记录之后执行。
根据各日志记录的依赖关系,可将主键001对应的第2条日志记录分发到第一个复制执行单元中;将主键002对应的第3条日志记录分发到第二个复制执行单元中;将主键003对应的第5条日志记录分发到第三个复制执行单元中。这三个执行单元中按日志的依赖关系顺序启动执行。所谓按依赖关系顺序启动指,在前一个具有依赖关系的日志记录处理完成后,触发启动后一个复制执行单元。
S720,将包含所提取的主键的日志记录中不具有依赖关系的日志记录分发到各复制执行单元中,且包含相同主键的日志记录被复制执行单元按串行方式进行增量复制;
其中,分发到同一复制执行单元的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
例如,可将主键001对应的第1条日志记录分发到第一个复制执行单元,将该主键对应的第3条日志记录及以后的日志记录(非具有依赖关系的日志记录)按顺序可分发到任一个复制执行单元,且保证随着复制执行单元的顺序开启执行,该主键的日志记录别串行执行。例如,该主键对应的第4条日志记录可分发到任一复制执行单元中,但是第5条日志记录只可被分发到与第4条日志记录所在的同一复制执行单元,或者是在其后启动的复制执行单元。
同理,可将主键002对应的第1、2条日志记录按操作顺序以及复制执行单元的开启顺序分发到第一个或第二个复制执行单元(不能存在第2条日志记录放在第一个复制执行单元,第1条日志记录放在第二个复制执行单元的情况),但不能分发到第三个及以后的复制执行单元;将该主键对应的第4条日志记录及以后的日志记录可按操作顺序以及复制执行单元的开启顺序分发到第二及以后的任一个复制执行单元,且保证随着复制执行单元的顺序开启执行,该主键的日志记录被串行执行。
同理,可将主键003对应的第1-4条日志记录按操作顺序以及复制执行单元的开启顺序分发到第一个至第三个任一复制执行单元,但不能分发到第四个及以后的复制执行单元;将该主键对应的第6条日志记录及以后的日志记录可按操作顺序以及复制执行单元的开启顺序分发到第三及以后的任一个复制执行单元,且保证随着复制执行单元的顺序开启执行,该主键的日志记录被串行执行。
本发明实施例示出的数据库处理方法,在上述实施例的基础上,通过控制日志记录分发到各复制执行单元,以及根据日志记录的依赖关系控制各复制执行单元顺序开启并执行日志记录来实现对日志记录进行增量复制的控制过程,从而保证针对唯一索引的日志记录在增量复制过程中被串行执行,确保数据的唯一性和正确性,又可以对这部分日志记录采用整体并行的方式进行数据库的增量复制,减少复制延时,提高数据库增量复制性能。
实施例四
如图8所示,为本发明实施例的数据库处理装置结构图一,该数据库处理装置可设置在图4所示的数据库处理系统中,用于执行如图5所示的方法步骤,其包括:
数据获取模块810,用于获取数据库在增量操作过程中产生的日志记录,数据库包括主键索引和非主键的唯一索引;
主键提取模块820,用于提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
串行执行模块830,用于将包含所提取的相同主键的日志记录按串行方式进行增量复制;
并行执行模块840,用于将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按依赖关系串行执行的方式进行增量复制。
进一步地,如图9所示,在图8所示装置中还可包括:
依赖关系判断模块910,用于判断日志记录中是否存在对唯一索引进行操作而产生的具有依赖关系的日志记录;
如果存在,则触发主键提取模块820执行提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键的步骤;
如果不存在,则触发并行执行模块840将日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
进一步地,图9所示装置中还可包括:
标识字段判断模块920,用于判读日志记录中是否包含预设的标识字段,标识字段用于标识其所在日志记录为对唯一索引进行操作而产生的日志记录;
相应的,上述依赖关系判断模块910,用于从包含标识字段的日志记录中判断是否存在具有依赖关系的日志记录。
图9所示的装置结构可用于执行如图6所示的方法步骤。
进一步地,上述依赖关系判断模块910可具体用于,
如果对唯一索引进行操作而产生的日志记录中存在包含不同主键的日志记录,且复制操作前后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在依赖关系。
进一步地或可替换的,上述依赖关系判断模块910可具体用于,
如果对唯一索引进行操作而产生的日志记录中存在包含不同主键的日志记录,且复制操作后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在依赖关系。
进一步地或可替换的,上述依赖关系判断模块910可具体用于,
如果对所述唯一索引进行操作而产生的所述日志记录中包含的主键相同,则确定相应日志记录不存在所述依赖关系。
进一步地,如图10所示,在图8所示装置结构中还可包括:
第一分发模块101,用于将包含所提取的主键的日志记录中具有依赖关系的日志记录分发到不同的复制执行单元,各复制执行单元按依赖关系顺序启动执行增量复制操作;
第二分发模块102,用于将包含所提取的主键的日志记录中不具有依赖关系的日志记录分发到各复制执行单元中,且包含相同主键的日志记录被复制执行单元按串行方式进行增量复制;
其中,分发到同一复制执行单元的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
图10所示的装置结构可用于执行如图7所示的方法步骤。
本发明实施例提供的数据库处理装置,当数据库中既包括主键索引又包括非主键的唯一索引时,且对数据库执行增量复制的过程中,可以先提取对唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;然后将包含所提取的相同主键的日志记录按串行方式进行增量复制;将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按依赖关系串行执行的方式进行增量复制。如此,既可以保证针对唯一索引的日志记录在增量复制过程中被串行执行,确保数据的唯一性和正确性,又可以对这部分日志记录采用整体并行的方式进行数据库的增量复制,减少复制延时,提高数据库增量复制性能。
进一步地,本方案示出了三种判断日志记录中是否存在对唯一索引进行操作而产生的具有依赖关系的日志记录的规则,从而可以方便快速的判定日志记录之间的依赖关系。
进一步地,通过控制日志记录分发到各复制执行单元,以及根据日志记录的依赖关系控制各复制执行单元顺序开启并执行日志记录来实现对日志记录进行增量复制的控制过程,从而保证针对唯一索引的日志记录在增量复制过程中被串行执行,确保数据的唯一性和正确性,又可以对这部分日志记录采用整体并行的方式进行数据库的增量复制,减少复制延时,提高数据库增量复制性能。
实施例五
前面描述了数据库处理装置的整体架构,该装置的功能可借助一种电子设备实现完成,如图11所示,其为本发明实施例的电子设备的结构示意图,具体包括:存储器111和处理器112。
存储器111,用于存储程序。
除上述程序之外,存储器111还可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
存储器111可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
处理器112,耦合至存储器111,用于执行存储器111中的程序,以用于:
响应于分享用户分享商品的业务信息的操作,将所述商品的业务信息分享到社交平台;
确定被分享用户的信息以及所述被分享用户接受分享的商品的业务信息;
根据所述被分享用户的信息以及所述被分享用户接受分享的商品的业务信息,指示电商平台针对所述被分享用户在所述电商平台中的账号执行所述商品的业务信息对应的业务操作。
上述的具体处理操作已经在前面实施例中进行了详细说明,在此不再赘述。
进一步,如图11所示,电子设备还可以包括:通信组件113、电源组件114、音频组件115、显示器116等其它组件。图11中仅示意性给出部分组件,并不意味着电子设备只包括图11所示组件。
通信组件113被配置为便于电子设备和其他设备有线或无线方式的通信。电子设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件113经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件113还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
电源组件114,为电子设备的各种组件提供电力。电源组件114可以包括电源管理系统,一个或多个电源,及其他与为电子设备生成、管理和分配电力相关联的组件。
音频组件115被配置为输出和/或输入音频信号。例如,音频组件115包括一个麦克风(MIC),当电子设备处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器111或经由通信组件113发送。在一些实施例中,音频组件115还包括一个扬声器,用于输出音频信号。
显示器116包括屏幕,其屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。
进一步地,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质存储有当被处理器执行时使得处理器执行实施例一至实施例三中任一种所述的方法的程序指令。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (17)
1.一种数据库处理方法,包括:
获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
将包含所提取的相同主键的日志记录按串行方式进行增量复制;
将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按所述依赖关系串行执行的方式进行增量复制。
2.根据权利要求1所述的方法,其中,所述获取数据库在增量操作过程中产生的日志记录之后还包括:
判断所述日志记录中是否存在对所述唯一索引进行操作而产生的具有所述依赖关系的日志记录;
如果存在,则执行所述提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键的步骤;
如果不存在,则将所述日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
3.根据权利要求2所述的方法,其中,所述方法还包括:
判读所述日志记录中是否包含预设的标识字段,所述标识字段用于标识其所在日志记录为对所述唯一索引进行操作而产生的日志记录;
所述判断所述日志记录中是否存在对所述唯一索引进行操作而产生的具有所述依赖关系的日志记录包括:
从包含所述标识字段的日志记录中判断是否存在具有所述依赖关系的日志记录。
4.根据权利要求2所述的方法,其中,所述判断所述日志记录中是否存在对所述唯一索引进行操作而产生的具有所述依赖关系的日志记录包括:
如果对所述唯一索引进行操作而产生的所述日志记录中存在包含不同主键的日志记录,且复制操作前后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在所述依赖关系。
5.根据权利要求2所述的方法,其中,所述判断所述日志记录中是否存在对所述唯一索引进行操作而产生的具有所述依赖关系的日志记录包括:
如果对所述唯一索引进行操作而产生的所述日志记录中存在包含不同主键的日志记录,且复制操作后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在所述依赖关系。
6.根据权利要求2所述的方法,其中,所述判断所述日志记录中是否存在对所述唯一索引进行操作而产生的具有所述依赖关系的日志记录包括:
如果对所述唯一索引进行操作而产生的所述日志记录中包含的主键相同,则确定相应日志记录不存在所述依赖关系。
7.根据权利要求1所述的方法,其中,所述方法还包括:
将包含所提取的主键的日志记录中具有所述依赖关系的日志记录分发到不同的复制执行单元,各所述复制执行单元按所述依赖关系顺序启动执行增量复制操作;
将包含所提取的主键的日志记录中不具有所述依赖关系的日志记录分发到各所述复制执行单元中,且包含相同主键的日志记录被所述复制执行单元按串行方式进行增量复制;
其中,分发到同一所述复制执行单元的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
8.一种数据库处理装置,包括:
数据获取模块,用于获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
主键提取模块,用于提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
串行执行模块,用于将包含所提取的相同主键的日志记录按串行方式进行增量复制;
并行执行模块,用于将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按所述依赖关系串行执行的方式进行增量复制。
9.根据权利要求8所述的装置,其中,所述装置还包括:
依赖关系判断模块,用于判断所述日志记录中是否存在对所述唯一索引进行操作而产生的具有所述依赖关系的日志记录;
如果存在,则触发所述主键提取模块执行所述提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键的步骤;
如果不存在,则触发所述并行执行模块将所述日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
10.根据权利要求9所述的装置,其中,所述装置还包括:
标识字段判断模块,用于判读所述日志记录中是否包含预设的标识字段,所述标识字段用于标识其所在日志记录为对所述唯一索引进行操作而产生的日志记录;
所述依赖关系判断模块,用于从包含所述标识字段的日志记录中判断是否存在具有所述依赖关系的日志记录。
11.根据权利要求9所述的装置,其中,所述依赖关系判断模块用于,
如果对所述唯一索引进行操作而产生的所述日志记录中存在包含不同主键的日志记录,且复制操作前后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在所述依赖关系。
12.根据权利要求9所述的装置,其中,所述依赖关系判断模块用于,
如果对所述唯一索引进行操作而产生的所述日志记录中存在包含不同主键的日志记录,且复制操作后存在两个或两个以上的唯一索引值相同,则确定相应的日志记录存在所述依赖关系。
13.根据权利要求9所述的装置,其中,所述依赖关系判断模块用于,
如果对所述唯一索引进行操作而产生的所述日志记录中包含的主键相同,则确定相应日志记录不存在所述依赖关系。
14.根据权利要求8所述的装置,其中,所述装置还包括:
第一分发模块,用于将包含所提取的主键的日志记录中具有所述依赖关系的日志记录分发到不同的复制执行单元,各所述复制执行单元按所述依赖关系顺序启动执行增量复制操作;
第二分发模块,用于将包含所提取的主键的日志记录中不具有所述依赖关系的日志记录分发到各所述复制执行单元中,且包含相同主键的日志记录被所述复制执行单元按串行方式进行增量复制;
其中,分发到同一所述复制执行单元的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
15.一种数据库处理系统,包括:数据库处理装置和多个复制执行单元;增量复制处理装置用于,
获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
将包含所提取的主键的日志记录中具有所述依赖关系的日志记录分发到不同的复制执行单元,各所述复制执行单元按所述依赖关系顺序启动执行增量复制操作;
将包含所提取的主键的日志记录中不具有所述依赖关系的日志记录分发到各所述复制执行单元中,且包含相同主键的日志记录被所述复制执行单元按串行方式进行增量复制;
其中,分发到同一所述复制执行单元的日志记录采用相同主键对应的日志记录按串行方式进行增量复制,不同主键对应的日志记录按并行方式进行增量复制。
16.一种电子设备,包括:
存储器,用于存储程序;
处理器,耦合至所述存储器,用于执行所述程序,以用于:
获取数据库在增量操作过程中产生的日志记录,所述数据库包括主键索引和非主键的唯一索引;
提取对所述唯一索引进行操作而产生的具有依赖关系的日志记录中的主键;
将包含所提取的相同主键的日志记录按串行方式进行增量复制;
将包含所提取的不同主键的日志记录按整体并行方式进行增量复制,且具有依赖关系的日志记录按所述依赖关系串行执行的方式进行增量复制。
17.一种计算机可读存储介质,所述计算机可读存储介质存储有当被处理器执行时使得处理器执行权利要求1至7中的任一项所述的方法的程序指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810681591.1A CN110647421B (zh) | 2018-06-27 | 2018-06-27 | 数据库处理方法、装置、系统以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810681591.1A CN110647421B (zh) | 2018-06-27 | 2018-06-27 | 数据库处理方法、装置、系统以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110647421A CN110647421A (zh) | 2020-01-03 |
CN110647421B true CN110647421B (zh) | 2022-11-25 |
Family
ID=68988800
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810681591.1A Active CN110647421B (zh) | 2018-06-27 | 2018-06-27 | 数据库处理方法、装置、系统以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110647421B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112084267B (zh) * | 2020-07-29 | 2024-06-07 | 北京思特奇信息技术股份有限公司 | 解决分布式数据库全局广播的方法 |
CN112764988B (zh) * | 2021-01-08 | 2024-02-23 | 城云科技(中国)有限公司 | 一种数据分段采集方法及装置 |
CN116069448B (zh) * | 2023-02-15 | 2023-06-30 | 钛信(上海)信息科技有限公司 | 一种用于云迁移的子业务资源调度方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266606A (zh) * | 2007-03-15 | 2008-09-17 | 阿里巴巴公司 | 一种基于Oracle数据库的在线数据迁移方法 |
CN103455557A (zh) * | 2013-08-08 | 2013-12-18 | 上海新炬网络技术有限公司 | 一种基于日志的结构化数据同步方法 |
CN104951474A (zh) * | 2014-03-31 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 一种用于获取MySQL binlog增量日志的方法和装置 |
CN107025242A (zh) * | 2016-02-02 | 2017-08-08 | 南京中兴新软件有限责任公司 | 数据库间数据的复制方法及装置 |
WO2018093094A1 (ko) * | 2016-11-16 | 2018-05-24 | 주식회사 실크로드소프트 | 데이터베이스 관리 시스템에서의 데이터 복제 기법 |
-
2018
- 2018-06-27 CN CN201810681591.1A patent/CN110647421B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101266606A (zh) * | 2007-03-15 | 2008-09-17 | 阿里巴巴公司 | 一种基于Oracle数据库的在线数据迁移方法 |
CN103455557A (zh) * | 2013-08-08 | 2013-12-18 | 上海新炬网络技术有限公司 | 一种基于日志的结构化数据同步方法 |
CN104951474A (zh) * | 2014-03-31 | 2015-09-30 | 阿里巴巴集团控股有限公司 | 一种用于获取MySQL binlog增量日志的方法和装置 |
CN107025242A (zh) * | 2016-02-02 | 2017-08-08 | 南京中兴新软件有限责任公司 | 数据库间数据的复制方法及装置 |
WO2018093094A1 (ko) * | 2016-11-16 | 2018-05-24 | 주식회사 실크로드소프트 | 데이터베이스 관리 시스템에서의 데이터 복제 기법 |
Also Published As
Publication number | Publication date |
---|---|
CN110647421A (zh) | 2020-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20210149656A1 (en) | Offline capabilities for live applications in a cloud collaboration platform | |
KR101707369B1 (ko) | 이벤트 저장소의 구축 방법 및 장치 | |
CN110019443B (zh) | 非关系型数据库事务处理方法、装置及电子设备 | |
CN106874281B (zh) | 实现数据库读写分离的方法和装置 | |
CN109766345B (zh) | 元数据处理方法及装置、设备、可读存储介质 | |
CN106663089A (zh) | 文档编辑的智能冲突检测和语义表达 | |
CN110647421B (zh) | 数据库处理方法、装置、系统以及电子设备 | |
CN108205560B (zh) | 一种数据同步方法以及装置 | |
US9418094B2 (en) | Method and apparatus for performing multi-stage table updates | |
US11176110B2 (en) | Data updating method and device for a distributed database system | |
CN109189852A (zh) | 一种数据同步的方法及用于数据同步的装置 | |
EP3125501A1 (en) | File synchronization method, server, and terminal | |
CN107688488B (zh) | 一种基于元数据的任务调度的优化方法及装置 | |
CN107832448A (zh) | 数据库操作方法、装置及设备 | |
CN115509694A (zh) | 一种事务处理方法、装置、电子设备及存储介质 | |
CN112970011B (zh) | 记录查询优化中的谱系 | |
US7739232B2 (en) | Programming system for occasionally-connected mobile business applications | |
CN115203217A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
US20140282426A1 (en) | Divide and conquer approach to scenario timeline activity attribution | |
CN112070637A (zh) | 一种基于区块链的案件处理方法及装置 | |
KR20150123603A (ko) | 데이터베이스 관리 방법 및 데이터베이스 관리 시스템 | |
CN115878592A (zh) | 一种政务数据治理方法、装置、存储介质及电子设备 | |
CN115421976A (zh) | 异地备灾数据处理方法及装置 | |
CN114153857A (zh) | 数据同步方法、数据同步装置和计算机可读存储介质 | |
CN113297230A (zh) | 数据验证方法及装置 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |