CN110019538B - 一种数据表切换方法及装置 - Google Patents

一种数据表切换方法及装置 Download PDF

Info

Publication number
CN110019538B
CN110019538B CN201910108598.9A CN201910108598A CN110019538B CN 110019538 B CN110019538 B CN 110019538B CN 201910108598 A CN201910108598 A CN 201910108598A CN 110019538 B CN110019538 B CN 110019538B
Authority
CN
China
Prior art keywords
data table
data
time
real
source
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
CN201910108598.9A
Other languages
English (en)
Other versions
CN110019538A (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies 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 Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910108598.9A priority Critical patent/CN110019538B/zh
Publication of CN110019538A publication Critical patent/CN110019538A/zh
Application granted granted Critical
Publication of CN110019538B publication Critical patent/CN110019538B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

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

Abstract

公开了一种数据表切换方法及装置。一种数据表切换方法,该方法包括:接收用户发起的数据表重建请求,确定与数据表重建请求对应的源数据表;构建与源数据表对应的目标数据表;确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将历史数据迁移至目标数据表;确定数据表重建请求接收时刻及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将历史数据迁移至目标数据表之后,将增量数据写入目标数据表;在增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求;若是,则由实时数据写入源数据表切换为实时数据写入目标数据表。

Description

一种数据表切换方法及装置
技术领域
本说明书实施例涉及数据处理技术领域,尤其涉及一种数据表切换方法及装置。
背景技术
数据表是当前实际工程应用(例如数据库、搜索引擎)中最重要的组成部分之一,数据表中可写入任意类型的数据。在实际工程应用中,以数据库为例,数据库一般分为关系型数据库和非关系型数据库,初始阶段数据写入关系型数据库中数据表即可满足要求,但是随着互联网的发展,传统的关系型数据库在应付超大规模、高并发的数据时就显得力不从心,而这个时候,需要将写入关系型数据库中数据表(后续便于描述称为源数据表)的数据迁移至非关系型数据库中数据表(后续便于描述称为目标数据表)进行存储,并由关系型数据库中数据表切换至非关系型数据库中数据表,意味着后续实时数据写入非关系型数据库中数据表,而并不是关系型数据库中数据表。诸如类似数据迁移并涉及数据表切换的场景,由于数据迁移需要消耗一定时间,并且在这期间源数据表不断有新的实时数据写入,因此如何协调源数据表与目标数据表的切换时机,保证数据时序性是当前急需解决的问题。
发明内容
针对上述技术问题,本说明书实施例提供一种数据表切换方法及装置,技术方案如下:
一种数据表切换方法,该方法包括:
接收用户发起的数据表重建请求,确定与所述数据表重建请求对应的源数据表;
根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;
确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;
确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;
在增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求;
若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
一种数据表切换装置,该装置包括:
请求接收模块,用于接收用户发起的数据表重建请求;
源数据表确定模块,用于确定与所述数据表重建请求对应的源数据表;
目标数据表构建模块,用于根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;
历史数据迁移模块,用于确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;
增量数据写入模块,用于确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;
判断模块,用于在增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求;
数据表切换模块,用于若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
本说明书实施例所提供的技术方案,接收用户发起的数据表重建请求,确定源数据表,构建与源数据表对应的目标数据表,确定历史数据,将历史数据迁移至目标数据表,确定增量数据,将增量数据写入目标数据表,在将增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求,若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。如此一来,在增量数据写入目标数据表的期间,写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,即可以由实时数据写入源数据表切换为实时数据写入目标数据表,保证了数据时序性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书实施例。
此外,本说明书实施例中的任一实施例并不需要达到上述的全部效果。
附图说明
为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
图1是本说明书实施例示出的源数据表及目标数据表数据写入状态示意图;
图2是本说明书实施例示出的数据表切换方法的实施流程示意图;
图3是本说明书实施例示出的另一源数据表及目标数据表数据写入状态示意图;
图4是本说明书实施例的数据表切换装置的结构示意图;
图5是用于配置本说明书实施例装置的一种设备的结构示意图。
具体实施方式
在本说明书中,以数据库为例,数据库一般分为关系型数据库和非关系型数据库,例如分别对应数据库A和数据库B,初始阶段数据写入数据库A源数据表中即可满足当前要求,但是随着互联网的不断发展,传统的数据库A在应付超大规模、高并发的数据时就显得力不从心,而这个时候,需要将写入数据库A源数据表中的数据迁移至数据库B目标数据表中进行存储,并由数据库A源数据表切换至数据库B目标数据表,后续实时数据写入数据库B目标数据表中,并不是写入数据库A源数据表中。诸如类似数据迁移设计数据表切换的场景还有很多,本说明书实施例在此不再一一赘述,对于此类场景,由于数据迁移需要消耗一定时间,并且在这期间源数据表不断有新的实时数据写入,因此如何协调源数据表与目标数据表的切换时机,保证数据时序性是当前急需解决的问题。
针对上述技术问题,本说明书实施例提供一种技术方案,参见图1所示,其中数据队列为数据源,当然可以是其它形式的数据源,当接收到用户发起的数据表重建请求时,构建与源数据表A对应的目标数据表B,对于源数据表A中的历史数据,迁移至目标数据表B,在处理完历史数据之后,从数据队列中确定增量数据,增量数据写入目标数据表B,另外一条数据写入线路:实时数据从数据队列先写入代理服务,由代理服务写入源数据表A,在增量数据写入目标数据表B的期间,根据预设的判断周期,判断写入目标数据表B的增量数据以及写入源数据表A的实时数据是否满足预设的要求,若是,则由实时数据写入源数据表切换为实时数据写入目标数据表。如此一来,在增量数据写入目标数据表的期间,写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,即可以由实时数据写入源数据表切换为实时数据写入目标数据表,保证了数据时序性。
具体的,本说明书实施例提供的技术方案如下:
接收用户发起的数据表重建请求,确定与所述数据表重建请求对应的源数据表;根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;在增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求;若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
为了使本领域技术人员更好地理解本说明书实施例中的技术方案,下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行详细地描述,显然,所描述的实施例仅仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于保护的范围。
参见图2所示,为本说明书实施例提供的数据表切换方法的实施流程图,该方法具体可以包括以下步骤:
S201,接收用户发起的数据表重建请求,确定与所述数据表重建请求对应的源数据表;
在本说明书中,用户可发起数据表重建请求,意味着需要重新建立一个与源数据表对应的目标数据表,其中针对用户发起的数据表重建请求,需要确定该数据表重建请求是针对哪个源数据表发起的,即需要确定与该数据表重建请求对应的源数据表。
作为一种实现方式,在该数据表重建请求中预先添加源数据表标识,以表示该数据表重建请求是针对哪个源数据表发起的,解析所述数据表重建请求中携带的源数据表标识,查询源数据表标识与源数据表的对应关系项,确定与该数据表重建请求对应的源数据表。例如解析所述数据表重建请求中携带的源数据表标识A,查询源数据表标识与源数据表的对应关系项,可以确定与该数据表重建请求对应的源数据表A,其中该源数据表标识可以是源数据表的ID、名称、生成时间等,本说明书对源数据表标识的具体表现形式不作限定。
另外,也需要记录数据表重建请求的接收时刻,例如数据表重建请求的接收时刻是10:00。
S202,根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;
当接收到数据表重建请求时,根据该数据表重建请求中携带的构建信息,构建与源数据表对应的目标数据表,例如构建与源数据表A对应的目标数据表B。
其中该构建信息中包括多个不同的预设字段,这些不同的预设字段的属性不同,且与源数据表中包括的多个字段一一对应,利用这些预设字段以及与源数据表中字段的对应关系,构建与源数据表对应的目标数据表。例如一条构建信息为:目标数据表中字段1对应于源数据表中字段1、目标数据表中字段6对应于源数据表中字段2、目标数据表中字段3对应于源数据表中字段3……。
例如,构建的目标数据表中首行(当然也可以是其他行)每个位置上的字段与源数据表中首行(当然也可以是其他行)每个位置上的字段一一对应,源数据表中包括的字段与目标数据表在包括的字段数目相同,不同的是字段可能不同,如下源数据表A与目标数据表B:
字段1 字段2 字段3 字段4 字段5
NULL NULL NULL NULL NULL
源数据表A
目标数据表B
由上述可知,源数据表A首行各位置上的字段与目标数据表B首行各位置上的字段一一对应,不同的是源数据表A中字段2对应目标数据表B中字段6,这是由于实际需要,需要构建出一个与源数据表A不一样的目标数据表B。
S203,确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;
针对S202中所构建的目标数据表,将历史数据移至该目标数据表,其中该历史数据为数据表重建请求接收时刻之前写入源数据表的数据。另外该历史数据的来源可以是源数据表,也可以是其它来源,例如备份数据表,本说明书实施例对此不作限定。
在记录了数据表重建请求的接收时刻,在该时刻之前写入源数据表的数据都可以视为历史数据,例如数据表重建请求的接收时刻是10:00,在10:00之前写入源数据表的数据为历史数据,将该历史数据从源数据表中迁移至目标数据表,其中可以分批次迁移,在历史数据迁移的过程中,根据源数据表中字段与目标数据表中字段的对应关系,源数据表对应字段下的数据迁移至目标数据表对应字段下,例如源数据表A字段1下的数据迁移至目标数据表B字段1下,源数据表A字段2下的数据迁移至目标数据表B字段6下,为了保证数据时序性,确保历史数据在源数据表中的排序顺序与在目标数据表中的排序顺序一致。
S204,确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;
对于数据表重建请求接收时刻,作为一个分水岭,在该接收时刻之前可以确定写入源数据表的数据为历史数据,在该接收时刻以及该接收时刻之后可以确定待写入源数据表的实时数据为增量数据,该增量数据位于如图1所示的数据队列中,在将历史数据迁移至目标数据表之后,将该增量数据写入该目标数据表中,其中待写入源数据表的实时数据也会按照正常写入顺序实时写入源数据表,如图1所示的另一条数据写入线路。
例如,数据表重建请求的接收时刻是10:00,10:00作为一个分水岭,在10:00之前写入源数据表的数据为历史数据,在10:00以及10:00之后待写入源数据表的实时数据为增量数据,在将历史数据迁移至目标数据表之后,将该增量数据写入该目标数据表中。意味着在数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据都为增量数据,待写入源数据表的实时数据为如图1所示中数据队列中的数据以及后续实时产生的新数据。
S205,在增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求;
在增量数据写入目标数据表的期间,按照预设的判断周期(每分钟),判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求,例如增量数据写入目标数据表的起始时刻是11:00,在11:00之后,增量数据陆续写入目标数据表,在这个期间,每间隔一分钟,就判断一次,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求,如在11:01这一时刻,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求,在11:02这一时刻,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求,以此类推。
作为一种实现方式,在增量数据写入目标数据表的期间,按照预设的判断周期,确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻,将增量数据的产生时刻与实时数据的产生时刻作差得到第一时间差,判断第一时间差是否小于预设的第二时间差,即判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求。
例如增量数据写入目标数据表的起始时刻是11:00,在11:00之后,增量数据陆续写入目标数据表,在这个期间,每间隔一分钟,确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻,将增量数据的产生时刻与实时数据的产生时刻作差得到第一时间差,判断第一时间差是否小于预设的第二时间差,如在11:01这一时刻,确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻,将增量数据的产生时刻与实时数据的产生时刻作差得到T1,判断该T1是否小于预设的T,在11:02这一时刻确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻,将增量数据的产生时刻与实时数据的产生时刻作差得到T2,判断该T2是否小于预设的T,以此类推。
其中对于写入目标数据表的增量数据的产生时刻以及写入源数据表的实时数据的产生时刻,可以在如图1所示的数据队列中进行记录,也可以是数据本身就携带着其产生时刻(一般地,每条数据自身携带着产生时刻),解析写入目标数据表的增量数据自身携带的产生时刻,以确定写入目标数据表的增量数据的产生时刻,解析写入源数据表的实时数据自身携带的产生时刻,以确定写入源数据表的实时数据的产生时刻,本说明书对如何确定写入目标数据表的增量数据的产生时刻以及如何确定写入源数据表的实时数据的产生时刻的具体实现方式不作限定。
S206,若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
若在某个判断周期中,写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表,作为一种实现方式:若在某个判断周期中,第一时间差小于预设的第二时间差,则由实时数据写入源数据表切换为实时数据写入目标数据表。
在由实时数据写入源数据表切换为实时数据写入目标数据表之后,停止增量数据写入目标数据表,自此后续实时数据写入目标数据表,源数据表被弃用,启用目标数据表,如图3所示。
通过上述对本说明书实施例提供的技术方案的描述,接收用户发起的数据表重建请求,确定源数据表,构建与源数据表对应的目标数据表,确定历史数据,将历史数据迁移至目标数据表,确定增量数据,将增量数据写入目标数据表,在将增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求,若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。如此一来,在增量数据写入目标数据表的期间,写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,即可以由实时数据写入源数据表切换为实时数据写入目标数据表,保证了数据时序性。
相对于上述方法实施例,本说明书实施例还提供一种数据表切换装置,参见图4所示,该装置可以包括:请求接收模块410、源数据表确定模块420、目标数据表构建模块430、历史数据迁移模块440、增量数据写入模块450、判断模块460、数据表切换模块470。
请求接收模块410,用于接收用户发起的数据表重建请求;
源数据表确定模块420,用于确定与所述数据表重建请求对应的源数据表;
目标数据表构建模块430,用于根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;
历史数据迁移模块440,用于确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;
增量数据写入模块450,用于确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;
判断模块460,用于在增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求;
数据表切换模块470,用于若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
在本说明书的一种具体实施方式中,所述源数据表确定模块420具体用于:
解析所述数据表重建请求中携带的源数据表标识;
查询源数据表标识与源数据表的对应关系项,确定与所述数据表重建请求对应的源数据表。
在本说明书的一种具体实施方式中,所述判断模块460具体包括:
数据产生时刻确定子模块461,用于在增量数据写入目标数据表的期间,按照预设的判断周期,确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻;
时间差计算子模块462,用于将增量数据的产生时刻与实时数据的产生时刻作差得到第一时间差;
判断子模块463,用于判断第一时间差是否小于预设的第二时间差;
所述数据表切换模块470具体用于:
若第一时间差小于预设的第二时间差,则由实时数据写入源数据表切换为实时数据写入目标数据表。
在本说明书的一种具体实施方式中,所述数据产生时刻确定子模块461具体用于:
在增量数据写入目标数据表的期间,按照预设的判断周期,解析写入目标数据表的增量数据自身携带的产生时刻,以确定写入目标数据表的增量数据的产生时刻,解析写入源数据表的实时数据自身携带的产生时刻,以确定写入源数据表的实时数据的产生时刻。
在本说明书的一种具体实施方式中,所述装置还包括:
数据停止写入模块480,用于在由实时数据写入源数据表切换为实时数据写入目标数据表之后,停止增量数据写入目标数据表。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
通过上述对本说明书实施例提供的技术方案的描述,接收用户发起的数据表重建请求,确定源数据表,构建与源数据表对应的目标数据表,确定历史数据,将历史数据迁移至目标数据表,确定增量数据,将增量数据写入目标数据表,在将增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求,若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。如此一来,在增量数据写入目标数据表的期间,写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,即可以由实时数据写入源数据表切换为实时数据写入目标数据表,保证了数据时序性。
本说明书实施例还提供一种计算机设备,如图5所示,该设备可以包括:处理器510、存储器520、输入/输出接口530、通信接口540和总线550。其中处理器510、存储器520、输入/输出接口530和通信接口540通过总线550实现彼此之间在设备内部的通信连接。
处理器510可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器520可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器520可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器520中,并由处理器510来调用执行。
输入/输出接口530用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口540用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线550包括一通路,在设备的各个组件(例如处理器510、存储器520、输入/输出接口530和通信接口540)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器510、存储器520、输入/输出接口530、通信接口540以及总线550,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
本说明书实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现前述的数据表切换方法。该方法至少包括:
一种数据表切换方法,该方法包括:
接收用户发起的数据表重建请求,确定与所述数据表重建请求对应的源数据表;
根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;
确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;
确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;
在增量数据写入目标数据表的期间,按照预设的判断周期,判断写入目标数据表的增量数据以及写入源数据表的实时数据是否满足预设的要求;
若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本说明书实施例可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本说明书实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书实施例各个实施例或者实施例的某些部分所述的方法。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,在实施本说明书实施例方案时可以把各模块的功能在同一个或多个软件和/或硬件中实现。也可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本说明书实施例的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本说明书实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本说明书实施例的保护范围。

Claims (9)

1.一种数据表切换方法,该方法包括:
接收用户发起的数据表重建请求,确定与所述数据表重建请求对应的源数据表;
根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;
确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;
确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;
在增量数据写入目标数据表的期间,按照预设的判断周期,确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻;
将增量数据的产生时刻与实时数据的产生时刻作差得到第一时间差;
判断第一时间差是否小于预设的第二时间差;
若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表,包括:
若第一时间差小于预设的第二时间差,则由实时数据写入源数据表切换为实时数据写入目标数据表;
若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
2.根据权利要求1所述的方法,所述确定与所述数据表重建请求对应的源数据表,包括:
解析所述数据表重建请求中携带的源数据表标识;
查询源数据表标识与源数据表的对应关系表项,确定与所述数据表重建请求对应的源数据表。
3.根据权利要求2所述的方法,所述在增量数据写入目标数据表的期间,按照预设的判断周期,确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻,包括:
在增量数据写入目标数据表的期间,按照预设的判断周期,解析写入目标数据表的增量数据自身携带的产生时刻,以确定写入目标数据表的增量数据的产生时刻,解析写入源数据表的实时数据自身携带的产生时刻,以确定写入源数据表的实时数据的产生时刻。
4.根据权利要求1至3任一项所述的方法,所述方法还包括:
在由实时数据写入源数据表切换为实时数据写入目标数据表之后,停止增量数据写入目标数据表。
5.一种数据表切换装置,该装置包括:
请求接收模块,用于接收用户发起的数据表重建请求;
源数据表确定模块,用于确定与所述数据表重建请求对应的源数据表;
目标数据表构建模块,用于根据所述数据表重建请求中携带的构建信息,构建与所述源数据表对应的目标数据表,其中所述构建信息包括多个不同的预设字段,且与源数据表中包括的多个字段一一对应;
历史数据迁移模块,用于确定数据表重建请求接收时刻之前写入源数据表的数据为历史数据,将所述历史数据迁移至所述目标数据表;
增量数据写入模块,用于确定数据表重建请求接收时刻以及数据表重建请求接收时刻之后待写入源数据表的实时数据为增量数据,在将所述历史数据迁移至所述目标数据表之后,将所述增量数据写入所述目标数据表;
判断模块,具体包括数据产生时刻确定子模块,用于在增量数据写入目标数据表的期间,按照预设的判断周期,确定写入目标数据表的增量数据的产生时刻,确定写入源数据表的实时数据的产生时刻;
时间差计算子模块,用于将增量数据的产生时刻与实时数据的产生时刻作差得到第一时间差;
判断子模块,用于判断第一时间差是否小于预设的第二时间差;
所述数据表切换模块具体用于:
若第一时间差小于预设的第二时间差,则由实时数据写入源数据表切换为实时数据写入目标数据表;
数据表切换模块,用于若写入目标数据表的增量数据以及写入源数据表的实时数据满足预设的要求,则由实时数据写入源数据表切换为实时数据写入目标数据表。
6.根据权利要求5所述的装置,所述源数据表确定模块具体用于:
解析所述数据表重建请求中携带的源数据表标识;
查询源数据表标识与源数据表的对应关系项,确定与所述数据表重建请求对应的源数据表。
7.根据权利要求5所述的装置,所述数据产生时刻确定子模块具体用于:
在增量数据写入目标数据表的期间,按照预设的判断周期,解析写入目标数据表的增量数据自身携带的产生时刻,以确定写入目标数据表的增量数据的产生时刻,解析写入源数据表的实时数据自身携带的产生时刻,以确定写入源数据表的实时数据的产生时刻。
8.根据权利要求5至7任一项所述的装置,所述装置还包括:
数据停止写入模块,用于在由实时数据写入源数据表切换为实时数据写入目标数据表之后,停止增量数据写入目标数据表。
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至4任一项所述的方法。
CN201910108598.9A 2019-02-03 2019-02-03 一种数据表切换方法及装置 Active CN110019538B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910108598.9A CN110019538B (zh) 2019-02-03 2019-02-03 一种数据表切换方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910108598.9A CN110019538B (zh) 2019-02-03 2019-02-03 一种数据表切换方法及装置

Publications (2)

Publication Number Publication Date
CN110019538A CN110019538A (zh) 2019-07-16
CN110019538B true CN110019538B (zh) 2023-09-05

Family

ID=67188877

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910108598.9A Active CN110019538B (zh) 2019-02-03 2019-02-03 一种数据表切换方法及装置

Country Status (1)

Country Link
CN (1) CN110019538B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110688412A (zh) * 2019-09-27 2020-01-14 杭州有赞科技有限公司 一种基于es的海量数据统计方法及海量数据统计系统
CN112035564B (zh) * 2020-09-02 2023-09-19 中国银行股份有限公司 数据处理方法及装置、计算机设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528368A (zh) * 2014-09-30 2016-04-27 北京金山云网络技术有限公司 一种数据库迁移方法及装置
CN105989006A (zh) * 2015-01-27 2016-10-05 中芯国际集成电路制造(上海)有限公司 数据迁移方法和装置
US20190026349A1 (en) * 2017-07-20 2019-01-24 Airmagnet, Inc. Efficient storage and querying of time series metrics

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105528368A (zh) * 2014-09-30 2016-04-27 北京金山云网络技术有限公司 一种数据库迁移方法及装置
CN105989006A (zh) * 2015-01-27 2016-10-05 中芯国际集成电路制造(上海)有限公司 数据迁移方法和装置
US20190026349A1 (en) * 2017-07-20 2019-01-24 Airmagnet, Inc. Efficient storage and querying of time series metrics

Also Published As

Publication number Publication date
CN110019538A (zh) 2019-07-16

Similar Documents

Publication Publication Date Title
TWI743458B (zh) 一種並行化執行區塊鏈交易的方法、裝置及系統
CN109614372B (zh) 一种对象存储、读取方法、装置、及业务服务器
US20140047385A1 (en) 3D Data Environment Disambiguation Tool
US11140045B2 (en) Changelog transformation and correlation in a multi-tenant cloud service
CN109359118B (zh) 一种数据写入方法及装置
CN105224343A (zh) 一种应用程序的更新提示方法和装置
CN112181378B (zh) 业务流程的实现方法及装置
CN110968585B (zh) 面向列的存储方法、装置、设备及计算机可读存储介质
CN110019538B (zh) 一种数据表切换方法及装置
CN111506580B (zh) 一种基于中心化块链式账本的交易存储方法
CN112835980B (zh) 索引重建方法、装置、设备、计算机可读存储介质及产品
CN109359141B (zh) 一种可视化报表数据展示方法及装置
CN112905668B (zh) 基于分布式数据流处理引擎的数据库导数方法、设备和介质
CN113485980A (zh) 数据处理方法、装置、电子设备及存储介质
CN108804625B (zh) 一种lsm树的优化方法、装置及计算机设备
CN114116676A (zh) 数据迁移方法、装置、电子设备及计算机可读存储介质
CN109254847B (zh) 一种租户映射信息获取方法及装置
CN116841794A (zh) 一种数据的校验方法、装置以及存储介质
CN114629951A (zh) 地址服务切换方法、装置、计算机设备和存储介质
CN110096315B (zh) 一种组件加载方法和装置
CN115794806A (zh) 金融数据的网格化处理系统及方法、装置、计算设备
CN113342270A (zh) 卷卸载方法、装置和电子设备
CN107645541B (zh) 数据存储方法、装置及服务器
CN112182507A (zh) 数据质量的度量方法、装置及设备
CN111242635A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201016

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201016

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant