CN113220230A - 数据导出方法及其装置、电子设备以及存储介质 - Google Patents
数据导出方法及其装置、电子设备以及存储介质 Download PDFInfo
- Publication number
- CN113220230A CN113220230A CN202110514438.1A CN202110514438A CN113220230A CN 113220230 A CN113220230 A CN 113220230A CN 202110514438 A CN202110514438 A CN 202110514438A CN 113220230 A CN113220230 A CN 113220230A
- Authority
- CN
- China
- Prior art keywords
- data
- derived
- time
- storage unit
- unit
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000009795 derivation Methods 0.000 claims description 49
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 230000002776 aggregation Effects 0.000 claims description 5
- 238000004220 aggregation Methods 0.000 claims description 5
- 230000004931 aggregating effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000013507 mapping Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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是根据本公开的一个实施例的存储单元中存储的数据的结构示意图;
图6是根据本公开的一个实施例的已导出数据的结构示意图;
图7是根据本公开的另一个实施例的数据导出方法的示意图;
图8是根据本公开的另一个实施例的数据导出方法的示意图;
图9是根据本公开的一个实施例的数据导出装置的框图;以及
图10是根据本公开的一个实施例的数据导出方法的电子设备的框图。
具体实施方式
以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
数据导出是分布式存储系统的核心功能。一般地,可以采用定期数据备份的方式,直接将底层数据备份成文件,然后解析文件产生数据流,但是这种方式实时性较差,需要定期执行备份操作,每次导出全量数据存在大量冗余。还可以采用数据双写的方式,例如,在数据写入到装置A的同时,将数据写入到导出装置B,然后从导出装置B进行导出,但是这种方式对系统侵入性较大,影响用户数据写入性能。此外,针对基于特定协议的分布式数据库(例如,mysql协议),可以使用专门的工具按照特定协议读取数据并导出,但是,这种方式依赖外部工具,且需要存储产品支持该特定协议,数据流转路径长,性能较差。
因此,需要一种数据导出方法和设备,其能够以相对简单的方式实现具有更高的实时性和数据完整性的数据导出。
本公开的实施例提出了一种数据导出方法和设备,通过存量数据导出与增量数据导出相结合的方式从分布式存储系统中导出数据。相比于相关技术中的数据导出方式能够以相对简单的方式实现具有更高的实时性和数据完整性的数据导出。
图1是根据本公开一个实施例的可以应用数据导出方法的示例性系统架构示意图。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。
如图1所示,根据该实施例的系统架构100可以包括分布式存储系统110、调度装置120、数据导出装置130和数据中转装置140。
分布式存储系统110包括多个存储单元111,存储单元111例如可以是分布式存储系统110中所部署的位于各个地域的存储节点(服务器)。位于各个地域的用户可以将数据写入到自身所在地的存储单元111中。
调度装置120用于发起数据导出指令,管理数据导出进度以及调度数据导出任务。调度装置120可以按照存储库或存储表进行导出任务的划分,实时调控,实时生效,有利于数据导出的维护和扩展。
数据导出装置130包括拉取单元131、排序单元132和聚合单元133。拉取单元131用于接收调度装置120发起的数据导出指令,响应于数据导出指令从存储单元111中捕获被写入的数据。排序单元132用于按照数据的写入时间顺序对捕获到的数据进行排序,聚合单元133用于根据数据特征对排序后的数据进行合并,输出多个数据集。
数据中转装置140可以用于将数据导出装置130输出的多个数据集存储到云上存储产品的设备上,云上存储产品例如是共享存储服务Aws s3(Amazon Simple StorageService)。数据中转装置140还可以用于对多个数据集进行临时存储,并基于用户需求对临时存储的多个数据集进行分发。
本公开实施例所提供的数据导出方法可以由数据导出装置130执行。
图2是根据本公开的一个实施例的数据导出方法的流程图。
如图2所示,该数据导出方法200可以包括操作S210~操作S230。
在操作S210,接收数据导出指令。
数据导出指令用于指示从分布式存储系统中导出被写入的数据,分布式存储系统包括多个存储单元,每个存储单元存储有用户写入的数据,每个存储单元存储的数据可以包括存量数据和增量数据。存量数据指的是已经写入到存储单元的历史数据,增量数据指的是前一次从存储单元导出更新数据的时刻到当前时刻期间,该存储单元被写入的数据。
例如,数据导出指令可以包括第一时间信息、第二时间信息和至少一个存储单元标识。至少一个存储单元标识与多个存储单元中的至少一个存储单元一一对应,用于指示被导出数据的存储单元。第一时间信息和第二时间信息可分别用于指示导出存量数据和增量数据的时刻。
数据导出指令还可以包括数据获取方式,数据获取方式可以指示一次从一个或多个存储单元中拉取数据。数据导出指令中还可以包括映射信息,映射信息包括导出任务与存储库和存储表之间的映射关系。根据映射信息,可以更准确地从存储单元的不同存储位置拉取数据。
利用数据导出指令,可以在确定需要扩展存储单元和数据导出装置的情况下,指示更多的数据导出装置来捕获数据,和/或指示数据导出装置从更多的存储单元捕获数据。
在操作S220,根据第一时间信息,从至少一个存储单元导出在第一时间信息指示的第一时刻之前存储的存量数据。
例如,第一时间信息指示第一时刻t1,则响应于数据导出指令,可以从至少一个存储单元中导出在t1之前存储的存量数据。
在操作S230,根据第二时间信息,从第二时间信息指示的第二时刻起,以预定时间间隔从至少一个存储单元导出至少一个存储单元存储的增量数据。
例如,第二时间信息指示第二时刻t2,则响应于数据导出指令,可以从第二时刻t2起,以预定时间间隔(例如,1s)从至少一个存储单元导出至少一个存储单元存储的增量数据。
根据本公开的实施例,通过存量数据导出与增量数据导出相结合的方式从存储单元中导出数据,相比于相关技术中的数据导出方式能够以相对简单的方式实现具有更高的实时性和数据完整性的数据导出。
图3是根据本公开的另一个实施例的数据导出方法的示意图。
如图3所示,存储单元310包括第一存储区311和第二存储区312,第一存储区311例如是内存,第二存储区312例如是磁盘。第一存储区311和第二存储区312配置为同步存储被写入的数据,即第一存储区311和第二存储区312存储相同的数据。数据导出一般可以从第一存储区311(内存)中导出,从内存中导出数据的速度可以是秒级别,这样能够保证数据导出的实时性。第二存储区312相比于第一存储区311可以存储更多的历史数据,以便在发现从第一存储区311导出的数据缺失的情况下,可以从第二存储区312来获取,这样能够保证导出数据的完整性。
从存储单元310导出存量数据具体可以是以打快照的方式从存储单元310的第一存储区311导出存量数据。例如,通过对存储单元310的存储引擎进行快照操作,将存储单元310的第一存储区311在第一时刻t1之前的数据进行全量备份。存储引擎是存储单元310的底层软件组织,在第一时刻t1对存储引擎进行快照操作能够实现将在第一时刻t1之前的数据全量备份到快照(文件)中。
从存储单元导出增量数据包括从存储单元310的第一存储区311导出增量数据。例如,从第二时刻t2起,每间隔预定时间间隔(例如,1s)从存储单元310的第一存储区311进行一次增量数据的导出,每次导出的增量数据为上一次进行增量导出的时刻之后的1s内新写入的数据。
根据本公开的实施例,通过存量数据导出与增量数据导出相结合的方式从存储单元中导出数据,相比于相关技术中的数据导出方式能够以相对简单的方式实现具有更高的实时性和数据完整性的数据导出。
图4是根据本公开的另一个实施例的数据导出方法的示意图。
如图4所示,第二时刻t2小于第一时刻t1,即t2<t1。从第二时刻t2起,每间隔预定时间间隔(例如,预定时间间隔为Δt,Δt=1s)从存储单元进行一次增量数据的导出。在第一时刻t1对存储单元进行打快照,将存储单元在第一时刻t1之前的数据全量备份到快照(文件)中,实现存量数据的导出。
由于t2在t1之前,可以保证导出的存量数据与增量数据之间有重叠,不会遗漏数据,从而保证存储单元中的所有数据均能够被成功导出,保证数据导出的完整性。
图5是根据本公开的一个实施例的存储单元中存储的数据的结构示意图。
如图5所示,存储单元中存储的数据500包括有效数据510、数据标签520和写入索引530(W_index)。存储单元中存储的数据500包括在存储在第一存储区的数据和存储在第二存储区的数据。
有效数据510为用户实际写入的数据。数据标签520包括数据标识(ID)和数据写入时刻(T),数据标识(ID)例如可以包括用于表示数据写入顺序的序号,数据写入时刻(T)为用户将该数据写入到存储单元的时间信息。写入索引530表示当前写入到存储单元的数据量,写入索引530随着写入数据量的增加而单调递增。例如,当前写入到第一存储区和/或第二存储区的数据500的写入索引为258k,则表示当前存入到第一存储区和/或第二存储区的数据量达到了258k。
根据本公开的实施例,数据标签能够表示写入数据的标识和时间,写入索引能够写入到存储单元的数据量,便于存储单元中存储的数据的导出调度和管理。
需要说明的是,由于存储单元中存储的数据500包括有效数据510和数据标签520,则通过存量导出和增量导出得到的已导出数据也包括有效数据和数据标签。
图6是根据本公开的一个实施例的已导出数据的结构示意图。
如图6所示,已导出数据600包括有效数据610、数据标签620和导出索引630(R_index)。有效数据610为用户实际写入的数据。数据标签620包括数据标识(ID)和数据写入时刻(T),数据标识(ID)例如可以包括表示数据写入顺序的序号,数据写入时刻(T)为用户将该数据写入到存储单元的时间信息。导出索引630表示当前从存储单元中导出的数据量,导出索引630可以在进行数据导出的过程中为每个已导出数据设置的,导出索引630随着已导出数据的数据量的增加而单调递增。
已导出数据600包括导出的存量数据和增量数据。将存储单元在第一时刻t1之前的数据全量备份,得到存量数据。从第二时刻t2起,每间隔预定时间间隔(例如,1s)从存储单元进行一次增量数据的导出,得到增量数据。第二时刻t2小于第一时刻t1,即t2<t1,可以保证导出的存量数据与增量数据之间有重叠,不会遗漏数据。针对存量数据和增量数据重叠的部分,可以根据数据标签将重叠部分剔除,以避免数据冗余。
例如,可以获取在第一时刻t1导出的存量数据的数据标识(ID),并获取在第一时刻t1和第二时刻t2之间导出的增量数据的数据标识(ID)。将存量数据的数据标识(ID)与增量数据的数据标识(ID)进行比较,比较出的数据标识(ID)相同的已导出数据为存量数据与增量数据之间的重叠数据,清除与存量数据重叠的增量数据,或清除与增量数据重叠的存量数据,可避免数据冗余。
数据导出一般可以从存储单元的第一存储区导出,来保证数据导出的实时性。存储单元的第二存储区相比于第一存储区可以存储更多的历史数据,但是第二存储区不能无限大,需要定期进行清理。
图7是根据本公开的另一个实施例的数据导出方法的示意图。
如图7所示,导出单元710包括第一存储区711和第二存储区712。从第一存储区711导出存量数据和增量数据,得到已导出数据。已导出数据包括导出索引,表示已导出数据量的大小。在从第一存储区711导出的数据量大于预设数值(例如100M)的情况下,可以通知存储单元710清除第二存储区712中存储的数据,以保证第二存储区712有足够剩余容量存入更新的数据。
在通知存储单元710清除第二存储区712中存储的数据的同时,可以将已导出数据的导出索引复位,例如将导出索引的值置为0,对新导出的数据重新设置复位索引。
数据导出一般可以从存储单元的第一存储区导出,来保证数据导出的实时性。存储单元的第二存储区相比于第一存储区可以存储更多的历史数据,在发现从第一存储区导出的数据缺失的情况下,可以从第二存储区来获取,这样能够保证导出数据的完整性。
图8是根据本公开的另一个实施例的数据导出方法的示意图。
如图8所示,导出单元810包括第一存储区811和第二存储区812。从第一存储区811导出存量数据和增量数据,得到已导出数据。已导出数据包括数据标签,数据标签包括数据标识(ID),可以根据已导出数据的数据标识(ID)来确定从第一存储区811中导出的数据是否有缺失。
例如,已导出数据的数据标识(ID)可以包括表示已导出数据的写入顺序的序号,如果已导出数据的序号有中断,则可以确定已导出数据有缺失,并且可以确定缺失的数据的序号(ID)。因此,可以从第二存储区812中获取相应序号的数据来补充到已导出数据中,使得导出数据完整。
已导出数据包括数据写入时刻,根据已导出数据的数据写入时刻,按照数据写入时刻的时间顺序对导出的存量数据和增量数据进行排序,得到已排序数据,可以根据已导出数据的数据标识对已排序数据进行聚合,可以得到多个数据集。
例如,已导出数据的数据标识可以包括用户标识、用途和需求等信息,这些信息可以是用户写入数据时添加的。可以根据用户标识、用途和需求中的一种或多种对已导出数据进行合并,得到多个数据集。可以将多个数据集分别分发给下游的多个数据处理装置,以满足不同的需求或用途。
图9是根据本公开的一个实施例的数据导出装置的框图。
如图9所示,该数据导出装置900包括接收单元901、第一导出单元902和第二导出单元903。
接收单元901用于接收数据导出指令,数据导出指令包括第一时间信息、第二时间信息和至少一个存储单元标识,其中至少一个存储单元标识与至少一个存储单元一一对应。
第一导出单元902用于根据第一时间信息,从至少一个存储单元导出在第一时间信息指示的第一时刻之前存储的存量数据。
第二导出单元903根据第二时间信息,从第二时间信息指示的第二时刻起,以预定时间间隔从至少一个存储单元导出至少一个存储单元存储的增量数据,其中,增量数据是前一次从至少一个存储单元导出更新数据到当前时刻导出更新数据期间,至少一个存储单元被写入的数据。
根据本公开的实施例,至少一个存储单元中的每个存储单元包括第一存储区和第二存储区,第一存储区和第二存储区配置为同步存储被写入的数据。第一导出单元用于以打快照的方式从第一存储区导出存量数据;第二导出单元,用于从第一存储区导出增量数据。
根据本公开的实施例,数据导出装置900还包括第一设置单元、第二设置单元、第一比较单元和第一清除单元。
第一设置单元,用于设置导出数据索引值,导出数据索引值指示了已导出增量数据的数据量。
第二设置单元,用于根据当前导出的增量数据的数据量,将导出数据索引值增大对应数值,得到导出数据索引的当前值。
第一比较单元,用于将当前值与预定阈值进行比较。
第一清除单元,用于在当前值大于等于预定阈值的情况下,使得清除第二存储区中存储的数据,并将导出数据索引值复位。
根据本公开的实施例,第一时刻在第二时刻之后。
根据本公开的实施例,数据导出装置900还包括第一获取单元、第二获取单元、第二比较单元和第二清除单元。
第一获取单元用于获取在第一时刻导出的存量数据的数据标签。
第二获取单元用于获取在第一时刻和第二时刻之间导出的增量数据的数据标签。
第二比较单元用于将存量数据的数据标签与增量数据的数据标签进行比较。
第二清除单元用于根据比较结果,清除获取的存量数据与获取的增量数据之间的重复数据。
根据本公开的实施例,数据导出装置900还包括确定单元和第三导出单元。
确定单元用于根据已导出数据的数据标签,确定已导出数据是否存在数据缺失。
第三导出单元用于在确定已导出数据存在数据缺失的情况下,从第二存储区导出缺失的数据。
根据本公开的实施例,数据导出装置900还包括排序单元和聚合单元。
排序单元用于根据已导出数据的数据写入时刻,按照时间顺序对导出的存量数据和增量数据进行排序,得到已排序数据。
聚合单元用于根据已导出数据的数据标识,将已排序数据聚合为多个数据集,以便分发多个数据集。
根据本公开的实施例,本公开还提供了一种电子设备和一种可读存储介质。
图10示出了可以用来实施本公开的实施例的示例电子设备1000的示意性框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本公开的实现。
如图10所示,设备1000包括计算单元1001,其可以根据存储在只读存储器(ROM)1002中的计算机程序或者从存储单元1008加载到随机访问存储器(RAM)1003中的计算机程序,来执行各种适当的动作和处理。在RAM 1003中,还可存储设备1000操作所需的各种程序和数据。计算单元1001、ROM 1002以及RAM 1003通过总线1004彼此相连。输入/输出(I/O)接口1005也连接至总线1004。
设备1000中的多个部件连接至I/O接口1005,包括:输入单元1006,例如键盘、鼠标等;输出单元1007,例如各种类型的显示器、扬声器等;存储单元1008,例如磁盘、光盘等;以及通信单元1009,例如网卡、调制解调器、无线通信收发机等。通信单元1009允许设备1000通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
计算单元1001可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元1001的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元1001执行上文所描述的各个方法和处理,例如数据导出方法。例如,在一些实施例中,数据导出方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元1008。在一些实施例中,计算机程序的部分或者全部可以经由ROM 1002和/或通信单元1009而被载入和/或安装到设备1000上。当计算机程序加载到RAM 1003并由计算单元1001执行时,可以执行上文描述的数据导出方法的一个或多个步骤。备选地,在其他实施例中,计算单元1001可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行数据导出方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。
Claims (19)
1.一种数据导出方法,包括:
接收数据导出指令,所述数据导出指令包括第一时间信息、第二时间信息和至少一个存储单元标识,其中所述至少一个存储单元标识与至少一个存储单元一一对应;
根据第一时间信息,从至少一个存储单元导出在第一时间信息指示的第一时刻之前存储的存量数据;以及
根据第二时间信息,从第二时间信息指示的第二时刻起,以预定时间间隔从所述至少一个存储单元导出所述至少一个存储单元存储的增量数据,其中,所述增量数据是前一次从所述至少一个存储单元导出更新数据到当前时刻期间,所述至少一个存储单元被写入的数据。
2.根据权利要求1所述的方法,其中,所述至少一个存储单元中的每个存储单元包括第一存储区和第二存储区,第一存储区和第二存储区配置为同步存储被写入的数据;
所述从至少一个存储单元导出存量数据包括以打快照的方式从第一存储区导出存量数据;以及
所述从至少一个存储单元导出增量数据包括从第一存储区导出增量数据。
3.根据权利要求2所述的方法,还包括:
设置导出数据索引值,所述导出数据索引值指示了已导出增量数据的数据量;
根据当前导出的增量数据的数据量,将所述导出数据索引值增大对应数值,得到所述导出数据索引的当前值;
将所述当前值与预定阈值进行比较;以及
在所述当前值大于等于所述预定阈值的情况下,使得清除所述第二存储区中存储的数据,并将所述导出数据索引值复位。
4.根据权利要求1所述的方法,其中,所述第一时刻在第二时刻之后。
5.根据权利要求1所述的方法,其中,所述至少一个存储单元中存储的数据具有数据标签,所述数据标签包括数据标识和数据写入时刻。
6.根据权利要求5所述的方法,还包括:
获取在第一时刻导出的存量数据的数据标签;
获取在第一时刻和第二时刻之间导出的增量数据的数据标签;
将存量数据的数据标签与增量数据的数据标签进行比较;以及
根据比较结果,清除获取的存量数据与获取的增量数据之间的重复数据。
7.根据权利要求5所述的方法,还包括:
根据已导出数据的数据标签,确定已导出数据是否存在数据缺失;
在确定已导出数据存在数据缺失的情况下,从所述第二存储区导出缺失的数据。
8.根据权利要求5所述的方法,还包括:
根据已导出数据的数据写入时刻,按照时间顺序对导出的存量数据和增量数据进行排序,得到已排序数据;以及
根据已导出数据的数据标识,将所述已排序数据聚合为多个数据集,以便分发所述多个数据集。
9.一种数据导出装置,包括:
接收单元,用于接收数据导出指令,所述数据导出指令包括第一时间信息、第二时间信息和至少一个存储单元标识,其中所述至少一个存储单元标识与至少一个存储单元一一对应;
第一导出单元,用于根据第一时间信息,从至少一个存储单元导出在第一时间信息指示的第一时刻之前存储的存量数据;以及
第二导出单元,用于根据第二时间信息,从第二时间信息指示的第二时刻起,以预定时间间隔从所述至少一个存储单元导出所述至少一个存储单元存储的增量数据,其中,所述增量数据是前一次从所述至少一个存储单元导出更新数据到当前时刻期间,所述至少一个存储单元被写入的数据。
10.根据权利要求1所述的装置,其中,所述至少一个存储单元中的每个存储单元包括第一存储区和第二存储区,第一存储区和第二存储区配置为同步存储被写入的数据;
所述第一导出单元,用于以打快照的方式从第一存储区导出存量数据;以及
所述第二导出单元,用于从第一存储区导出增量数据。
11.根据权利要求10所述的装置,其中,还包括:
第一设置单元,用于设置导出数据索引值,所述导出数据索引值指示了已导出增量数据的数据量;
第二设置单元,用于根据当前导出的增量数据的数据量,将所述导出数据索引值增大对应数值,得到所述导出数据索引的当前值;
第一比较单元,用于将所述当前值与预定阈值进行比较;以及
第一清除单元,用于在所述当前值大于等于所述预定阈值的情况下,使得清除所述第二存储区中存储的数据,并将所述导出数据索引值复位。
12.根据权利要求9所述的装置,其中,所述第一时刻在第二时刻之后。
13.根据权利要求9所述的装置,其中,所述至少一个存储单元中存储的数据具有数据标签,所述数据标签包括数据标识和数据写入时刻。
14.根据权利要求13所述的装置,还包括:
第一获取单元,用于获取在第一时刻导出的存量数据的数据标签;
第二获取单元,用于获取在第一时刻和第二时刻之间导出的增量数据的数据标签;
第二比较单元,用于将存量数据的数据标签与增量数据的数据标签进行比较;以及
第二清除单元,用于根据比较结果,清除获取的存量数据与获取的增量数据之间的重复数据。
15.根据权利要求13所述的装置,还包括:
确定单元,用于根据已导出数据的数据标签,确定已导出数据是否存在数据缺失;
第三导出单元,用于在确定已导出数据存在数据缺失的情况下,从所述第二存储区导出缺失的数据。
16.根据权利要求13所述的装置,还包括:
排序单元,用于根据已导出数据的数据写入时刻,按照时间顺序对导出的存量数据和增量数据进行排序,得到已排序数据;以及
聚合单元,用于根据已导出数据的数据标识,将所述已排序数据聚合为多个数据集,以便分发所述多个数据集。
17.一种电子设备,包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-8中任一项所述的方法。
18.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行权利要求1-8中任一项所述的方法。
19.一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514438.1A CN113220230B (zh) | 2021-05-11 | 2021-05-11 | 数据导出方法及其装置、电子设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110514438.1A CN113220230B (zh) | 2021-05-11 | 2021-05-11 | 数据导出方法及其装置、电子设备以及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113220230A true CN113220230A (zh) | 2021-08-06 |
CN113220230B CN113220230B (zh) | 2023-07-25 |
Family
ID=77095295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110514438.1A Active CN113220230B (zh) | 2021-05-11 | 2021-05-11 | 数据导出方法及其装置、电子设备以及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113220230B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097458A1 (en) * | 2011-10-12 | 2013-04-18 | Hitachi, Ltd. | Storage system, and data backup method and system restarting method of storage system |
CN105607968A (zh) * | 2015-12-17 | 2016-05-25 | 浙江大华技术股份有限公司 | 一种增量备份方法及设备 |
CN107690624A (zh) * | 2015-04-16 | 2018-02-13 | Netapp股份有限公司 | 具有滚动基线的数据备份 |
CN107832169A (zh) * | 2017-08-09 | 2018-03-23 | 平安壹钱包电子商务有限公司 | 内存数据迁移方法、装置、终端设备和存储介质 |
CN111338834A (zh) * | 2020-02-21 | 2020-06-26 | 北京百度网讯科技有限公司 | 数据存储方法和装置 |
-
2021
- 2021-05-11 CN CN202110514438.1A patent/CN113220230B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130097458A1 (en) * | 2011-10-12 | 2013-04-18 | Hitachi, Ltd. | Storage system, and data backup method and system restarting method of storage system |
CN107690624A (zh) * | 2015-04-16 | 2018-02-13 | Netapp股份有限公司 | 具有滚动基线的数据备份 |
CN105607968A (zh) * | 2015-12-17 | 2016-05-25 | 浙江大华技术股份有限公司 | 一种增量备份方法及设备 |
CN107832169A (zh) * | 2017-08-09 | 2018-03-23 | 平安壹钱包电子商务有限公司 | 内存数据迁移方法、装置、终端设备和存储介质 |
CN111338834A (zh) * | 2020-02-21 | 2020-06-26 | 北京百度网讯科技有限公司 | 数据存储方法和装置 |
Non-Patent Citations (2)
Title |
---|
李自尊;胡晓勤;周文瑾;邓亮;: "基于差异数据的块级数据库备份系统", 四川大学学报(自然科学版), no. 04 * |
杨皓森;胡晓勤;黄传波;: "面向OpenStack/Ceph的虚拟机备份系统研究", 计算机系统应用, no. 11 * |
Also Published As
Publication number | Publication date |
---|---|
CN113220230B (zh) | 2023-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP4113299A2 (en) | Task processing method and device, and electronic device | |
CN113220573A (zh) | 用于微服务架构的测试方法、装置和电子设备 | |
CN113656407A (zh) | 一种数据拓扑生成方法、装置、电子设备及存储介质 | |
CN115291806A (zh) | 一种处理方法、装置、电子设备及存储介质 | |
CN113742174B (zh) | 云手机应用监控方法、装置、电子设备和存储介质 | |
CN113656239A (zh) | 针对中间件的监控方法、装置及计算机程序产品 | |
CN112925811A (zh) | 数据处理的方法、装置、设备、存储介质及程序产品 | |
CN112817992A (zh) | 执行更改任务的方法、装置、电子设备以及可读存储介质 | |
CN112631843A (zh) | 设备测试方法及装置、电子设备、可读介质、产品 | |
CN114661571B (zh) | 模型评测方法、装置、电子设备和存储介质 | |
CN115510036A (zh) | 数据迁移方法、装置、设备以及存储介质 | |
CN113220230B (zh) | 数据导出方法及其装置、电子设备以及存储介质 | |
CN115890684A (zh) | 一种机器人调度方法、装置、设备及介质 | |
CN115774602A (zh) | 一种容器资源的分配方法、装置、设备及存储介质 | |
CN113590287B (zh) | 任务处理方法、装置、设备、存储介质及调度系统 | |
CN115905322A (zh) | 业务处理方法、装置、电子设备及存储介质 | |
CN115658248A (zh) | 任务调度方法方法、装置、电子设备及存储介质 | |
CN115617549A (zh) | 线程解耦方法、装置、电子设备及存储介质 | |
CN114862223A (zh) | 一种机器人调度方法、装置、设备及存储介质 | |
CN115438007A (zh) | 一种文件合并方法、装置、电子设备及介质 | |
CN115269318A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN115061947A (zh) | 资源管理方法、装置、设备和存储介质 | |
CN114706893A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN114564149A (zh) | 一种数据存储方法、装置、设备及存储介质 | |
CN113419921A (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 |