CN107967275B - 关系型数据库中的数据处理方法及装置 - Google Patents

关系型数据库中的数据处理方法及装置 Download PDF

Info

Publication number
CN107967275B
CN107967275B CN201610912543.XA CN201610912543A CN107967275B CN 107967275 B CN107967275 B CN 107967275B CN 201610912543 A CN201610912543 A CN 201610912543A CN 107967275 B CN107967275 B CN 107967275B
Authority
CN
China
Prior art keywords
data
change processing
change
relational database
relation
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
Application number
CN201610912543.XA
Other languages
English (en)
Other versions
CN107967275A (zh
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 CN201610912543.XA priority Critical patent/CN107967275B/zh
Publication of CN107967275A publication Critical patent/CN107967275A/zh
Application granted granted Critical
Publication of CN107967275B publication Critical patent/CN107967275B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请公开了一种关系型数据库中的数据处理方法及装置。该方法包括:检测是否接收到对关系型数据库中的关系表进行变更的变更指令;当接收到变更指令时,对关系型数据库中的关系表进行变更处理;以及在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败。通过本申请,解决了相关技术中对数据变更时效率较低,当关系表数据同步至查询表过程中发生错误时关系表需要数据回滚影响用户操作和体验的问题。

Description

关系型数据库中的数据处理方法及装置
技术领域
本申请涉及数据处理领域,具体而言,涉及一种关系型数据库中的数据处理方法及装置。
背景技术
在关系型数据库的数据表设计中,对表结构的设计会使用到很多关系表来确保数据的完整性和可扩展性,在查询多表数据时,使用表连接的方式通过匹配条件对数据进行读取。例如,A表中的a1字段引用了B表的主键b1,要根据键值读取一条A表的数据,并包含其引用的B表中某一字段的信息时,需要使用表连接的方式。当需要读取有多个表的数据时,则需要连接多张表。当A表引用了多张表,并且各表的数据量非常大时,读取大量的表中的数据会导致表连接的效率很低。很多时候无法保证系统的可用性,或者导致用户体验较差。
通常,相关技术中采用关系表与非关系的查询表共存的方式来满足对数据查询的效率的要求。当在进行业务操作时,例如,更新、删除,在关系表做完相应处理后,再将关系表中的数据同步至查询表。现有问题虽然解决了查询效率问题,但是却加重了修改和删除的负担。在大数据量时主要有以下问题:对关系表进行修改、新增或删除时,需要对查询表内容进行同步。在大数据量的情况下,会导致修改、新增、删除数据的时间较长,影响用户体验。关系表的操作与查询表同步必须保持在一个数据库事务中,以保证数据的正确性和完整性。如果查询表同步发生错误,整个操作也会出错,所有关系表中的数据都需要回滚,从而造成了不好的用户体验。
针对相关技术中对数据变更时效率较低,当关系表数据同步至查询表过程中发生错误时关系表需要数据回滚影响用户操作和体验的问题,目前尚未提出有效的解决方案。
发明内容
本申请的主要目的在于提供一种关系型数据库中的数据处理方法及装置,以解决相关技术中对数据变更时效率较低,当关系表数据同步至查询表过程中发生错误时关系表需要数据回滚影响用户操作和体验的问题。
为了实现上述目的,根据本申请的一个方面,提供了一种关系型数据库中的数据处理方法。该方法包括:检测是否接收到对关系型数据库中的关系表进行变更的变更指令;当接收到变更指令时,对关系型数据库中的关系表进行变更处理;以及在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败。
进一步地,根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表包括:如果变更处理的结果为变更成功,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
进一步地,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表包括:在系统处于空闲状态时,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,或者,按照预设时间间隔周期,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
进一步地,在变更处理的结果为变更失败的情况下,该方法还包括:将关系型数据库中关系表的数据恢复至变更处理前。
进一步地,在启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表之后,该方法还包括:获取数据同步的同步结果,其中,同步结果包括:数据同步成功和数据同步失败;如果同步结果为数据同步失败,将关系型数据库中查询表的数据恢复至数据同步前。
进一步地,在启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表之后,该方法还包括:如果同步结果为数据同步成功,判断变更处理完成后关系表中是否存在多个字段引用同一个键值下的数据;以及在变更处理完成后关系表中存在多个字段引用同一个键值下的数据的情况,采用数据冗余方式对关系型数据库中查询表的数据进行存储。
为了实现上述目的,根据本申请的另一方面,提供了一种关系型数据库中的数据处理装置。该装置包括:检测单元,用于检测是否接收到对关系型数据库中的关系表进行变更的变更指令;变更单元,用于当接收到变更指令时,对关系型数据库中的关系表进行变更处理;以及处理单元,用于在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败。
进一步地,处理单元包括:处理模块,用于在变更处理的结果为变更成功的情况下,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
进一步地,处理模块包括:第一启动子模块,用于在系统处于空闲状态时,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,或者,第二启动子模块,用于按照预设时间间隔周期,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
进一步地,该装置还包括:恢复单元,用于在对关系型数据库中的关系表进行变更处理之后,在变更处理的结果为变更失败的情况下,将关系型数据库中关系表的数据恢复至变更处理前。
通过本申请,采用以下步骤:检测是否接收到对关系型数据库中的关系表进行变更的变更指令;当接收到变更指令时,对关系型数据库中的关系表进行变更处理;以及在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败,解决了相关技术中对数据变更时效率较低,当关系表数据同步至查询表过程中发生错误时关系表需要数据回滚影响用户操作和体验的问题。当关系表数据同步至查询表过程中发生错误时关系表中数据不需要数据回滚,进而达到了提升用户体验度的效果。
附图说明
构成本申请的一部分的附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例提供的关系型数据库中的数据处理方法的流程图;以及
图2是根据本申请实施例提供的关系型数据库中的数据处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为了便于描述,以下对本申请实施例涉及的部分名词或术语进行说明:
数据库事务(Database Transaction)是指作为单个逻辑工作单元执行的一系列操作,要么完整地执行,要么完全地不执行。正常的情况下,这些操作将顺利进行,最终交易成功,与交易相关的所有数据库信息也成功地更新。但是,如果在这一系列过程中任何一个环节出了差错,数据库中所有信息都必须保持交易前的状态不变,比如最后一步更新用户信息时失败而导致交易失败,那么必须保证这笔失败的交易不影响数据库的状态,库存信息没有被更新、用户也没有付款,订单也没有生成。否则,数据库的信息将会一片混乱而不可预测。
线程,有时被称为轻量级进程(Lightweight Process,LWP),是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针(PC),寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。一个线程可以创建和撤销另一个线程,同一进程中的多个线程之间可以并发执行。由于线程之间的相互制约,致使线程在运行中呈现出间断性。线程也有就绪、阻塞和运行三种基本状态。每一个程序都至少有一个线程,那就是程序本身。线程是程序中一个单一的顺序控制流程。在单个程序中同时运行多个线程完成不同的工作,称为多线程。
根据本申请的实施例,提供了一种关系型数据库中的数据处理方法。
图1是根据本申请实施例的关系型数据库中的数据处理方法的流程图。如图1所示,该方法包括以下步骤:
步骤S101,检测是否接收到对关系型数据库中的关系表进行变更的变更指令。
当用户需要对关系型数据库的关系表中的数据进行业务处理时,例如,对关系型数据库的关系表中的数据进行增添或者修改等等变更操作时,会触发对关系型数据库的关系表中的数据进行变更的变更指令。在本申请中,将关系表的业务处理部分放在同一个事务中。
需要说明的是,在本申请中提及的对关系型数据库中的关系表进行变更指示的都是对关系型数据库中关系表的数据进行变更。
步骤S102,当接收到变更指令时,对关系型数据库中的关系表进行变更处理。
当系统接收到变更指令时,对关系型数据库中的关系表进行变更处理。例如,该变更指令为对关系型数据库中关系表中的数据进行修改的指令,根据该指令对关系型数据库中关系表中的数据进行修改。再例如,该变更指令为对关系型数据库中关系表中的数据进行删除的指令,根据该指令对关系型数据库中关系表中的数据进行删除。然而,对关系型数据库中的关系表进行变更处理,存在两种处理结果,对关系型数据库中的关系表进行变更处理成功和对关系型数据库中的关系表进行变更处理失败。
可选地,在本申请实施例提供的关系型数据库中的数据处理方法中,如果变更处理的结果为变更失败,该方法还包括:将关系型数据库中关系表的数据恢复至变更处理前。
如果对关系型数据库中关系表中的数据进行变更失败,将关系型数据库中关系表的数据恢复至变更处理之前。也即,对关系表的数据进行回滚。
步骤S103,在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
在变更处理完成后,将对关系型数据库中的关系表事务提交后,也即,启动第一线程(用户线程)将变更处理的结果发送至目标地址(用户端)。
变更处理的结果包括变更成功和变更失败,根据变更处理的结果确定是否启动第二线程(非用户线程)将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
可选地,在本申请实施例提供的关系型数据库中的数据处理方法中,根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表包括:如果变更处理的结果为变更成功,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。相应地,如果变更处理的结果为变更失败,则不会启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
当变更处理的结果为变更成功时,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,也即再开启一个线程,进行查询表同步的操作。
可选地,在本申请实施例提供的关系型数据库中的数据处理方法中,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表包括:在系统处于空闲状态时,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,或者,按照预设时间间隔周期,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
为了减小系统的性能开销,在本申请实施例提供的关系型数据库中的数据处理方法中,当变更处理的结果为变更成功时,当系统处于空闲状态时,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表;或者,按照预设时间间隔周期启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,预设时间间隔周期可以根据需要设置,例如可以设置为每间隔1小时或每间隔2小时等时间段进行一次数据同步。
可选地,在本申请实施例提供的关系型数据库中的数据处理方法中,在启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表之后,该方法还包括:获取数据同步的同步结果,其中,同步结果包括:数据同步成功和数据同步失败;如果同步结果为数据同步失败,将关系型数据库中查询表的数据恢复至数据同步前。
对于关系型数据库而言,查询表同步和数据重置(查询表的数据恢复至同步处理前)都在非用户线程中进行操作,对用户的体验影响较小。
可选地,在本申请实施例提供的关系型数据库中的数据处理方法中,在启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表之后,该方法还包括:如果同步结果为数据同步成功,判断变更处理完成后关系表中是否存在多个字段引用同一个键值下的数据;以及在变更处理完成后关系表中存在多个字段引用同一个键值下的数据的情况,采用数据冗余方式对关系型数据库中查询表的数据进行存储。
在本申请中,通过采用数据冗余方式对关系型数据库中查询表的数据进行存储方式来保证后续在查询表中进行数据查询的查询效率。
综上所述,通过本申请可以与用户线程异步的执行查询表同步的过程,在保证了查询效率的同时,在对关系表进行变更和对查询表进行数据同步的过程中,不影响用户端的可访问性,也即,在对关系表进行变更和对查询表进行数据同步的过程中,用户也可以访问关系表和查询表中的数据。当关系表变更处理失败,对关系表中的数据进行回滚操作,或者对查询表中数据同步失败时,查询表中数据进行回滚操作而关系表中的数据部不需要回滚。避免了当关系表数据同步至查询表过程中发生错误时,关系表中的数据也会发生回滚,导致用户无法访问到关系表中变更后的数据,保证了用户的可访问性,也保证了数据事务的原始性和数据的正确性。
本申请实施例提供的关系型数据库中的数据处理方法,通过检测是否接收到对关系型数据库中的关系表进行变更的变更指令;当接收到变更指令时,对关系型数据库中的关系表进行变更处理;以及在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败,解决了相关技术中对数据变更时效率较低,当关系表数据同步至查询表过程中发生错误时关系表需要数据回滚影响用户操作和体验的问题。当关系表数据同步至查询表过程中发生错误时关系表中数据不需要数据回滚,不影响用户端的可访问性,进而达到了提升用户体验度的效果。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例还提供了一种关系型数据库中的数据处理装置,需要说明的是,本申请实施例的关系型数据库中的数据处理装置可以用于执行本申请实施例所提供的用于关系型数据库中的数据处理方法。以下对本申请实施例提供的关系型数据库中的数据处理装置进行介绍。
图2是根据本申请实施例提供的关系型数据库中的数据处理装置的示意图。如图2所示,该装置包括:检测单元10、变更单元20和处理单元30。
检测单元10,用于检测是否接收到对关系型数据库中的关系表进行变更的变更指令。
变更单元20,用于当接收到变更指令时,对关系型数据库中的关系表进行变更处理。
处理单元30,用于在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败。
本申请实施例提供的关系型数据库中的数据处理装置,通过检测单元10检测是否接收到对关系型数据库中的关系表进行变更的变更指令;变更单元20当接收到变更指令时,对关系型数据库中的关系表进行变更处理;以及处理单元30在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败,解决了相关技术中对数据变更时效率较低,当关系表数据同步至查询表过程中发生错误时关系表需要数据回滚影响用户操作和体验的问题,当关系表数据同步至查询表过程中发生错误时关系表中数据不需要数据回滚,进而达到了提升用户体验度的效果。
可选地,在本申请实施例提供的关系型数据库中的数据处理装置中,处理单元30包括:处理模块,用于在变更处理的结果为变更成功的情况下,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
可选地,在本申请实施例提供的关系型数据库中的数据处理装置中,处理模块30包括:第一启动子模块,用于在系统处于空闲状态时,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,或者,第二启动子模块,用于按照预设时间间隔周期,启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表。
可选地,在本申请实施例提供的关系型数据库中的数据处理装置中,该装置还包括:恢复单元,用于在对关系型数据库中的关系表进行变更处理之后,在变更处理的结果为变更失败的情况下,将关系型数据库中关系表的数据恢复至变更处理前。
所述关系型数据库中的数据处理装置包括处理器和存储器,上述检测单元10、变更单元20和处理单元30等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元实现相应功能。上述预设时间间隔可以存储在存储器中。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数处理关系型数据库中的数据。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品的实施例,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:检测是否接收到对关系型数据库中的关系表进行变更的变更指令;当接收到变更指令时,对关系型数据库中的关系表进行变更处理;以及在变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至关系型数据库中的查询表,其中,变更处理的结果包括变更成功和变更失败。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
显然,本领域的技术人员应该明白,上述的本申请的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请不限制于任何特定的硬件和软件结合。
以上所述仅为本申请的优选实施例,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (6)

1.一种关系型数据库中的数据处理方法,其特征在于,包括:
检测是否接收到对关系型数据库中的关系表进行变更的变更指令;
当接收到所述变更指令时,对关系型数据库中的关系表进行变更处理;以及
在所述变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据所述变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表,其中,所述变更处理的结果包括变更成功和变更失败;
其中,根据所述变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表包括:
如果所述变更处理的结果为变更成功,启动所述第二线程将所述变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表;
其中,如果所述变更处理的结果为变更失败,所述方法还包括:
将所述关系型数据库中关系表的数据恢复至变更处理前。
2.根据权利要求1所述的方法,其特征在于,启动所述第二线程将所述变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表包括:
在系统处于空闲状态时,启动所述第二线程将变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表,
或者,
按照预设时间间隔周期,启动所述第二线程将变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表。
3.根据权利要求1所述的方法,其特征在于,在启动所述第二线程将所述变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表之后,所述方法还包括:
获取数据同步的同步结果,其中,所述同步结果包括:数据同步成功和数据同步失败;
如果所述同步结果为数据同步失败,将所述关系型数据库中查询表的数据恢复至数据同步前。
4.根据权利要求3所述的方法,其特征在于,在启动所述第二线程将所述变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表之后,所述方法还包括:
如果所述同步结果为数据同步成功,判断所述变更处理完成后关系表中是否存在多个字段引用同一个键值下的数据;以及
在所述变更处理完成后关系表中存在多个字段引用同一个键值下的数据的情况,采用数据冗余方式对所述关系型数据库中查询表的数据进行存储。
5.一种关系型数据库中的数据处理装置,其特征在于,包括:
检测单元,用于检测是否接收到对关系型数据库中的关系表进行变更的变更指令;
变更单元,用于当接收到所述变更指令时,对关系型数据库中的关系表进行变更处理;以及
处理单元,用于在所述变更处理完成后,启动第一线程将变更处理的结果发送至目标地址,并根据所述变更处理的结果确定是否启动第二线程将变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表,其中,所述变更处理的结果包括变更成功和变更失败;
其中,所述处理单元包括:
处理模块,用于在所述变更处理的结果为变更成功的情况下,启动所述第二线程将所述变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表;
所述装置还包括:
恢复单元,用于在对关系型数据库中的关系表进行变更处理之后,在所述变更处理的结果为变更失败的情况下,将所述关系型数据库中关系表的数据恢复至变更处理前。
6.根据权利要求5所述的装置,其特征在于,所述处理模块包括:
第一启动子模块,用于在系统处于空闲状态时,启动所述第二线程将变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表,
或者,
第二启动子模块,用于按照预设时间间隔周期,启动所述第二线程将变更处理完成后关系表中的数据同步至所述关系型数据库中的查询表。
CN201610912543.XA 2016-10-19 2016-10-19 关系型数据库中的数据处理方法及装置 Active CN107967275B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610912543.XA CN107967275B (zh) 2016-10-19 2016-10-19 关系型数据库中的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610912543.XA CN107967275B (zh) 2016-10-19 2016-10-19 关系型数据库中的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN107967275A CN107967275A (zh) 2018-04-27
CN107967275B true CN107967275B (zh) 2020-08-11

Family

ID=61997010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610912543.XA Active CN107967275B (zh) 2016-10-19 2016-10-19 关系型数据库中的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN107967275B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110597828A (zh) * 2019-10-14 2019-12-20 浙江诺诺网络科技有限公司 一种数据库变更方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770479A (zh) * 2008-12-31 2010-07-07 北京亿阳信通软件研究院有限公司 一种关联关系的查询方法及装置
CN102799651A (zh) * 2012-06-28 2012-11-28 用友软件股份有限公司 查询处理装置和查询处理方法
CN102929946A (zh) * 2012-09-27 2013-02-13 山东中创软件工程股份有限公司 一种数据同步方法、装置及系统
CN103593449A (zh) * 2013-11-19 2014-02-19 华为技术有限公司 一种数据库资源回收方法及系统
US8827797B2 (en) * 2012-09-24 2014-09-09 Aruze Gaming (Hong Kong) Limited Gaming machine and gaming method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101770479A (zh) * 2008-12-31 2010-07-07 北京亿阳信通软件研究院有限公司 一种关联关系的查询方法及装置
CN102799651A (zh) * 2012-06-28 2012-11-28 用友软件股份有限公司 查询处理装置和查询处理方法
US8827797B2 (en) * 2012-09-24 2014-09-09 Aruze Gaming (Hong Kong) Limited Gaming machine and gaming method
CN102929946A (zh) * 2012-09-27 2013-02-13 山东中创软件工程股份有限公司 一种数据同步方法、装置及系统
CN103593449A (zh) * 2013-11-19 2014-02-19 华为技术有限公司 一种数据库资源回收方法及系统

Also Published As

Publication number Publication date
CN107967275A (zh) 2018-04-27

Similar Documents

Publication Publication Date Title
US9798792B2 (en) Replication for on-line hot-standby database
US9286052B1 (en) Upgrading software on a pair of nodes in a clustered environment
US10509585B2 (en) Data synchronization method, apparatus, and system
CN109739935B (zh) 数据读取方法、装置、电子设备以及存储介质
US8364636B2 (en) Real time data replication
US20120239722A1 (en) Read-only operations processing in a paxos replication system
CN107016029B (zh) 一种业务数据的处理方法、装置及系统
CN103544153A (zh) 一种基于数据库的数据更新方法和系统
CN107643904B (zh) 代码提交日志的检测方法、装置、介质及电子设备
US20190324760A1 (en) Transaction Processing Method and Apparatus
CN110737504B (zh) 一种深度学习模型训练容错方法、系统、终端及存储介质
CN111045712A (zh) 一种具有备份功能的单系统升级方法及系统
CN112307049A (zh) 数据库的读写分离方法、装置、设备及可读存储介质
CN104111957A (zh) 一种分布式事务同步的方法及系统
CN104866388B (zh) 数据处理方法及装置
EP3149587B1 (en) System and method for the production of job level pre-processed backup of critical data and/or datasets in a mainframe computing environment
CN107967275B (zh) 关系型数据库中的数据处理方法及装置
US10127270B1 (en) Transaction processing using a key-value store
US10387262B1 (en) Federated restore of single instance databases and availability group database replicas
CN111444199A (zh) 数据处理方法及装置、存储介质和处理器
US9405634B1 (en) Federated back up of availability groups
CN103593606B (zh) 上下文信息管理方法及系统
US10102084B1 (en) Decoupled maintenance and repository synchronization error detection
CN106933604A (zh) 一种系统升级方法及装置
CN106897024B (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
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 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant