CN113761059A - 数据处理方法及装置 - Google Patents
数据处理方法及装置 Download PDFInfo
- Publication number
- CN113761059A CN113761059A CN202110886698.1A CN202110886698A CN113761059A CN 113761059 A CN113761059 A CN 113761059A CN 202110886698 A CN202110886698 A CN 202110886698A CN 113761059 A CN113761059 A CN 113761059A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- database
- directory
- deleting
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 66
- 238000012217 deletion Methods 0.000 claims abstract description 113
- 230000037430 deletion Effects 0.000 claims abstract description 113
- 238000000034 method Methods 0.000 claims abstract description 55
- 238000012545 processing Methods 0.000 claims description 45
- 238000011084 recovery Methods 0.000 claims description 32
- 238000002372 labelling Methods 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 14
- 238000003860 storage Methods 0.000 claims description 13
- 230000008569 process Effects 0.000 description 38
- 230000014759 maintenance of location Effects 0.000 description 14
- 230000004044 response Effects 0.000 description 14
- 238000010586 diagram Methods 0.000 description 11
- 238000005259 measurement Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 230000003111 delayed effect Effects 0.000 description 5
- 238000005070 sampling Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 3
- 206010033799 Paralysis Diseases 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 2
- 208000035475 disorder Diseases 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000005054 agglomeration Methods 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- 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/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
Abstract
本说明书提供数据处理方法及装置,其中所述方法包括:接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识;基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录;将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。该方法通过对与目标数据库对应的初始数据目录进行标注,降低了数据删除操作的耗时,并在初始数据目录满足预设删除条件的情况下,异步删除目标数据,便于对错误删除的数据进行回滚。
Description
技术领域
本说明书涉及数据处理技术领域,特别涉及一种数据处理方法。本说明书同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序。
背景技术
随着互联网的快速发展,在物联网和工业互联网领域通常具有对整个数据库中的数据进行删除的需求,现有技术在对数据库中的数据进行删除过程中,是直接对数据库中需要删除数据进行删除,但数据库中的数据存储在内存和磁盘上,在删除数据时,需要同步等待写入和compaction(压缩)等任务结束后,才能删除内存和磁盘上的数据,这个过程通常耗时较长,导致数据删除操作的耗时不可预估。
并且,在误操作、误删数据等问题发生时,难以快速且有效的对错误删除的数据进行回滚,从而给企业和用户造成较大的损失。
发明内容
有鉴于此,本说明书实施例提供了一种数据处理方法。本说明书同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,以解决现有技术中存在的技术缺陷。
根据本说明书实施例的第一方面,提供了一种数据处理方法,包括:
接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识;
基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录;
将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。
根据本说明书实施例的第二方面,提供了一种数据处理装置,包括:
接收模块,被配置为接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识;
标注模块,被配置为基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录;
删除模块,被配置为将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。
根据本说明书实施例的第三方面,提供了一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现任意所述数据处理方法的步骤。
根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现任意所述数据处理方法的步骤。
根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行任意所述数据处理方法的步骤。
本说明书提供的数据处理方法接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识;基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录;将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。具体地,该数据处理方法基于接收到数据删除指令确定出目标数据库,并通过对与目标数据库对应的初始数据目录进行标注,极大的降低了数据删除操作的耗时,避免了数据删除操作的耗时不可预估的问题。并且,在所述初始数据目录满足预设删除条件的情况下,对目标数据进行异步延迟删除,便于后续快速且有效的对错误删除的数据进行回滚,降低了企业和用户的损失。
附图说明
图1是本说明书一实施例提供的一种删除时序数据库中的时序数据的具体流程图;
图2是本说明书一实施例提供的一种数据处理方法的流程图;
图3是本说明书一实施例提供的一种在对初始数据目录进行标注前后的集群数据目录变化示意图;
图4是本说明书一实施例提供的一种时序数据的示意图;
图5是本说明书一实施例提供的一种在删除目标数据目录前后的集群数据目录变化示意图;
图6是本说明书一实施例提供的一种应用于时序数据库集群场景下的数据处理方法的处理流程图;
图7是本说明书一实施例提供的另一种应用于时序数据库集群场景下的数据处理方法的处理流程图;
图8是本说明书一实施例提供的一种数据处理装置的结构示意图;
图9是本说明书一实施例提供的一种计算设备的结构框图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
时序数据:是基于某种频率持续产生的一系列指标数据,一条时序数据由Metric、Tags、Timestamp、Fields等元素共同来描述。
度量(Metric):Metric类似关系型数据库里的表(Table),代表一系列同类时序数据的集合,例如为空气质量传感器建立一个Table,存储所有空气质量传感器的监测数据。
标签(Tag):用于描述数据源的特征,通常不随时间变化,例如传感器设备,包含设备DeviceID(设备ID)、设备所在的Region(区域)等Tag信息,数据库内部会自动为Tag建立索引,支持根据Tag来进行多维检索查询;Tag由Tag Key(标签关键字)、Tag Value(标签值)组成,两者均为String(字符串)类型。
时间戳(Timestamp):Timestamp代表数据产生的时间点,Timestamp可以在写入数据时指定,也可由系统自动生成。
量测值(Field):Field是描述数据源的量测指标,通常随着时间不断变化,例如传感器设备包含温度(Temperature)、湿度(Humidity)等Field;Metric中存储的Field列无需提前创建固定的Schema(架构),可以在运行过程中动态增减;Field由Field Key(量测值关键字)、FieldValue(量测值中的具体量测数据)组成,其中,Field Key为String类型,FieldValue支持Boolean(布尔型)、Int(整型)、Double(双精度浮点型)、String、Byte(字节型)等类型。
时序数据库:是专门解决时序数据的高吞吐、低延迟查询的数据库,时序数据库提供一系列特有的数据访问操作,包括聚合(Aggregation)、降采样(Downsample)、插值(Interpolation)等,同时还提供数据生命周期(数据时效)的管理机制。
聚合(Aggregation):是指对同一时间线、或不同时间线上的数据点进行分组、求和(sum)、计数(count)、最大值(max)、最小值(min)等计算操作。
降采样(Downsample):查询时间区间跨度较长,且原始数据采样频率较高时,可通过降采样降低数据的查询展现精度,比如按秒采集的数据,在查询时可以按照小时级别进行采样,减少结果集的数据点数。
插值(Interpolation):是指在时间线中间缺失部分数据点时,可通过插值算法进行数据点自动填充。
数据时效(Time To Live):简称为:TTL,是指数据保存有效期,超过有效期的数据会被自动清理,默认数据有效期为永久保存。
数据点(Data Point):数据源在某个时间产生的某个量测指标值(Field Value)称为一个数据点,数据库查询、写入时按数据点数来作为统计指标。
时间线(Time Series):数据源的某一个指标随时间变化,形成时间线,Metric+Tags+Field组合确定一条时间线;针对时序数据的计算包括降采样、聚合、插值等都基于时间线维度进行;数据库在存储数据时,会将同一条时间线的数据尽量聚类存储,提升时间线数据访问效率,同时更好的支持时序数据压缩。
数据库集群:是指利用至少两台数据库构成的、一个虚拟单一数据库逻辑映像,可以像单数据库系统那样,向客户端提供透明的数据服务。
集群中心节点:又称为集群master节点,用于负责整个集群的管理,处理接收到的操作请求。
数据节点:是指数据库集群中的数据库;在实际应用中,一个数据节点中可以由多个数据库构成。
数据目录:又称为数据库目录、磁盘目录,用于表示集群中心节点所管理的全部数据库和数据库中的数据,数据库和数据库中的数据以文件的形式,被组织成一个树状结构,每个数据库都在数据目录下存在一个对应的子目录,同一个数据库里存储的数据对应于该数据库的子目录下文件,也即是,数据库里存储的数据通过子目录下的各种形式的文件进行表示。
回滚:指的是程序或数据处理错误后,将程序或数据恢复到上一次正确状态的行为。
在物联网、应用监测以及工业互联网等典型的时序场景下,数据源(Data Source,表示数据由谁产生的)通常会按照一定的周期持续产生时序数据,而产生的时序数据会存储在时序数据库中,在物联网和工业互联网领域通常有删除整个时序数据库的需求,也即是将某个时序数据库里面的时序数据全部删除。
参见图1,图1是本说明书一实施例提供的一种删除时序数据库中的时序数据的具体流程图,具体包括以下步骤:
步骤102:锁定数据库。
具体地,数据库集群的数据节点能够接收到用户发送的删除请求,并基于该删除请求对时序数据库进行锁定,停止针对时序数据库的所有读写任务。
步骤104:发送后台任务终止信号。
具体地,数据节点向时序数据库的发送后台任务终止信号,从而终止时序数据库的任务队列中的所有任务。
步骤106:等待后台任务结束。
具体地,数据节点等待时序数据库的任务队列中的所有任务终止完毕。
步骤108:清空内存数据。
具体地,数据节点将时序数据库的内存中的时序数据进行清空。
步骤110:删除磁盘文件。
具体地,数据节点将时序数据库的磁盘中的时序数据进行删除。
步骤112:解锁数据库。
具体地,数据节点在将时序数据库中的数据删除完毕后,重新启动针对时序数据库的所有读写任务,并向用户发送针对删除请求的响应请求。
图1中的技术方案,时序数据库的时序数据是分布在数据库内存和数据库磁盘上,在删除时序数据库中存储的时序数据时,需要同步等待“写入”、“compaction(压缩)”等任务结束后,才能对内存和磁盘上的时序数据进行删除。
但由于时序数据库中后台任务的状态比较复杂且难以预估,同步等待的过程通常耗时较长,导致同步等待后台异步任务结束的时间不可控,从而造成对时序数据进行删除操作的耗时不可预估。
并且在步骤108和步骤110中,对内存和磁盘上的时序数据的删除操作是立即执行的。但由于某种原因,比如误操作等,需要对被删除的数据进行回滚的情况下,如果在删除时序数据时,将时序数据直接从磁盘上立即删除后,会导致无法快速有效地回滚数据。
基于此,在本说明书中,提供了一种数据处理方法,本说明书同时涉及一种数据处理装置,一种计算设备,一种计算机可读存储介质,以及一种计算机程序,在下面的实施例中逐一进行详细说明。
参见图2,图2示出了根据本说明书一实施例提供的一种数据处理方法的流程图,具体包括以下步骤:
步骤202:接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识。
实际应用中,本说明书提供的数据处理方法可以应用于数据库集群,该数据库集群包括集群中心节点和多个数据节点,该数据节点中包括多个数据库。
其中,目标数据库可以理解为需要进行数据删除的数据库,该目标数据库可以为数据库集群的数据节点下包含的数据库;在数据处理方法的应用的数据库集群不同,该目标数据库也不同,例如,数据处理方法应用在时序数据库集群的情况下,该目标数据库可以为时序数据库,数据处理方法应用在关系数据库集群的情况下,该目标数据库可以为关系数据库,为了便于理解,本说明书中仅以目标数据库为时序数据库为例,对数据处理方法进行详细介绍。
目标数据可以理解为目标数据库中存储的数据,在目标数据库为时序数据库的情况下,该目标数据可以为时序数据库中存储的时序数据。
数据删除指令可以理解为用于指示数据节点对目标数据库中的目标数据进行异步删除的指令。
库标识可以理解为一个表征数据库的标识,每个库标识可唯一表征一个数据库。
具体地,数据节点能够接收到针对目标数据库的数据删除指令,该数据删除指令中携带有目标数据库的库标识。
举例说明,以数据处理方法应用于时序数据库集群的场景下,对接收到针对目标数据库的数据删除指令进行详细说明。其中,目标数据库可以为目标时序数据库,该目标时序数据库位于时序数据库集群的数据节点中。
数据节点在接收到针对数据节点下的目标时序数据库的数据删除指令,其中该数据删除指令中携带有目标时序数据库的库标识。
步骤204:基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录。
其中,初始数据目录可以理解为目标数据库对应的数据目录;在数据处理方法应用于时序数据库集群的情况下,该初始数据目录可以为目标时序目录对应的初始子目录,该子目录记录在数据库集群对应的集群根目录中。
在初始数据目录为初始子目录的情况下,目标数据目录可以理解为在将初始数据目录进行标注后创建的、与目标数据库对应的新增子目录。
标注与所述目标数据库对应的初始数据目录可以理解为为初始数据目录添加异步删除标注。
具体地,数据节点基于数据删除指令中携带的库标志确定出目标数据库后,能够通过对目标数据库进行锁定的方式,停止针对该目标数据库的所有读写任务,并标注与目标数据库对应的初始数据目录;在完成对初始数据的标注之后,创建与目标数据库对应的目标数据目录。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对将目标数据库对应的初始数据目录进行标注进行详细说明。初始数据目录可以为时序数据库集群对应的根目录中的初始子目录,目标数据目录可以为在对初始数据目录进行标注之后,创建的与目标数据库对应的新增子目录。
数据节点在接收到针对目标时序数据库的数据删除指令之后,基于该数据删除指令中携带的该目标时序数据库的库标识,从确定出需要进行数据异步删除操作的目标时序数据库。
在确定目标时序数据库之后,对该目标时序数据库进行锁定,停止针对该目标时序数据库的所有读写任务;并对该目标时序数据库对应的初始子目录添加异步删除标注;在完成标注添加之后,创建与目标数据库对应的新增子目录。
参见图3,图3是本说明书一实施例提供的一种在对初始数据目录进行标注前后的集群数据目录变化示意图;其中,时序数据库集群中包括数据节点,且每个数据节点支持多个时序数据库(database);每一个数据库都对应于时序数据库集群的根目录下的一个子目录,如图3所示,“/data”为时序数据库集群的磁盘目录的名称,该磁盘目录也即是时序数据库集群的根目录。“buy”为时序数据库集群的磁盘目录“/data”下的一个磁盘子目录的名称,该磁盘子目录为时序数据库集群中、名称为“buy”的数据库对应的磁盘子目录。“monitor”为时序数据库集群的磁盘目录“/data”下的另一个磁盘子目录的名称,该磁盘子目录为时序数据库集群中、名称为“monitor”的数据库对应的磁盘子目录。
在本说明书实施例中,初始子目录可以为磁盘子目录monitor;新增子目录可以为磁盘子目录"monitor#1"。
在目标时序数据库对应的磁盘子目录为monitor的情况下,在将磁盘子目录monitor标注为异步删除之前,也即是图3中的删除前;磁盘子目录monitor以未标注的状态存放在根目录“/data”下。
在将磁盘子目录monitor添加异步删除标注之后,也即是图3中的删除后,用虚线框住的磁盘子目录monitor表示在初始数据目录满足预设删除条件的情况下,需要异步删除的目录;"monitor#1"是在将磁盘子目录monitor标注为异步删除后创建的新增子目录,也即是目标数据目录。"#1"用于标识时序数据库对应的磁盘子目录monitor的版本,用于确定时序数据库对应的实际有效数据目录,如果时序数据库对应的磁盘子目录monitor再删除一次,按照这个标识方法,时序数据库对应的有效磁盘子目录的名称就变为"monitor#1"。
在完成目标数据目录的创建之后,数据节点会对目标时序数据库进行解锁,恢复针对与目标时序数据库的所有读写任务。
在本说明书实施例中,仅以标识时序数据库有效子目录的方式为"#1",对数据处理方法进行详细说明,标识时序数据库有效子目录的方式可以根据实际应用的需要进行设置,本说明书对此不做具体限定。
在对初始数据目录进行标注的过程中,需要在目标数据库的任务队列中的所有任务均结束之后,才能对目标数据库对应的初始数据目录进行标注,这是因为任务队列中的任务在执行过程中,会在目标数据库中产生新的数据;在任务队列中的数据没有停止时,对初始数据目录进行标注,可能会出现部分新产生的数据无法被标注的情况。
而现有技术中,将结束任务队列中的所有任务的方式是,通过发送后台任务终止信号的方式,将数据库任务队列中的所有任务进行终止,并等待任务结束后,才对数据库中的数据进行删除,但由于数据库后台任务的状态较为复杂,从而导致等待后台任务结束的时间不可控,从而造成数据删除操作的耗时不可预估,在这种情况下,通过将清空任务队列中未执行的任务,并等待当前任务执行完毕的方式,以解决上述问题,具体实现方式如下所述:
所述对与所述目标数据库对应的初始数据目录进行标注,包括:
对所述目标数据库的待执行任务进行中断处理,并在所述目标数据库的当前任务处理完成的情况下,对与所述目标数据库对应的初始数据目录进行标注。
其中,待执行任务可以理解为目标数据库的任务队列中未执行的任务;当前任务可以理解为目标数据库的任务队列中正在执行的任务。在实际应用中,任务队列中的任务包括但不限于写入任务、compaction任务。
具体地,数据节点在对初始目标进行标注的过程中,首先对目标数据库的待执行任务进行中断处理,并等待当前任务处理完成;然后在目标数据库的当前任务处理完成的情况下,再对与目标数据库对应的初始数据目录进行标注。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对在当前任务处理完成后对初始数据目录进行标注做进一步详细说明。
时序数据库集群的数据节点在对目标时序数据库进行锁定之后,将该目标时序数据库的任务队列中,还未执行的任务进行清空处理,从而中断对待执行任务的执行;但并不中断任务队列中正在执行的当前任务,而是等待当前任务执行完毕;在当前任务执行完毕的情况下,对目标时序数据库对应的初始子目录进行标注。
本说明书实施例中,通过对待执行任务进行中断处理,并在当前任务处理完成的情况下,对与目标数据库对应的初始数据目录进行标注。并没有发送后台任务终止信息去终止正在进行中的任务,从而避免了后台任务结束的时间不可控,从而造成数据删除操作的耗时不可预估的问题,有效的节省了计算机的运行资源。
并且,本说明书实施例中,并未清空目标数据库内存中的数据,也并未直接删除或者重命名目标数据库的初始数据目录,不会造成正在运行中的任务出现异常终止的情况,而是等待正在运行中的任务自然的运行结束,不会造成目标数据丢失、目标数据未被标注等问题的发送,也即是初始数据目录下包含的目标数据依然是完整的。因为目标数据在添加异步删除标注的前后为一致,所以在初始数据目录不满足预设删除条件的情况下,可以基于初始数据目录对目标数据进行快速回滚时,不会造成数据丢失。
步骤206:将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。
其中,预设删除条件可以根据实际应用进行设置,本说明书实施例对此不做任何限定。例如,该预设删除条件包括但不限于初始数据目录的标注时间与当前时间的时间差值大于等于预设时间阈值、接收到针对标注后的初始数据目录的直接删除指令、目标数据库的容量大于等于预设容量阈值等。
具体地,数据节点能够将解锁后目标数据库的执行数据写入目标数据目录,并在初始数据目录满足预设删除条件的情况下,异步删除与初始数据目录对应的目标数据。
沿用上例,对将执行数据写入目标数据目录,并在初始数据目录满足预设删除条件的情况下,异步删除与初始数据目录对应的目标数据做进一步说明。其中,预设删除条件可以为接收到针对标注后的初始数据目录的直接删除指令。
数据节点在创建与该目标时序数据库对应的新增子目录之后,对目标时序数据库进行解锁,并将目标时序数据库在执行待执行任务的过程中所产生的数据,记录到目标时序数据库对应的有效的新增子目录中。
并且,在接收到针对标注后的初始子目录的直接删除指令的情况下,能够基于该直接删除指令,立即将与初始子目录对应的时序数据进行直接删除。
进一步地,添加异步删除标注的初始数据目录中,无法再记录目标数据库在执行任务过程中产生的新的数据,从而会导致目标数据库瘫痪、无法存储新数据等问题的发生,基于此,通过创建与目标数据库对应的目标数据目录,避免了由于目标数据库不存在有效的数据目录,从而导致目标数据库瘫痪、无法存储新数据等问题的发生,有效的提高了目标数据库运行的稳定性。并且,通过对目标数据库进行解锁,从而启动针对目标数据库的所有读写任务;在目标数据库执行读写任务的过程中,能够将产生的执行数据记录到目标数据目录中,具体实现步骤如下:
所述将解锁后所述目标数据库的执行数据写入所述目标数据目录,包括:
对所述目标数据库进行解锁,并执行所述目标数据库的待执行任务,且将执行所述待执行任务产生的执行数据记录至所述目标数据目录。
其中,执行数据可以理解为目标数据库的任务在执行过程中产生的数据。
具体地,数据节点在创建与该目标数据库对应的目标数据目录之后,对目标数据库进行解锁;并执行目标数据库的待执行任务,且将执行待执行任务产生的执行数据记录至目标数据目录。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对创建目标数据目录并解锁数据库进行详细说明。
数据节点在创建与该目标时序数据库对应的新增子目录之后,对目标时序数据库进行解锁,重新执行在对目标时序数据库对应的初始子目录添加异步删除标注的过程中,中断的待处理任务,并将执行待执行任务的过程中所产生的数据,记录到目标时序数据库对应的有效的新增子目录中。在将产生的数据记录到新增子目录后,通过新增子目录下中的文件的形式,对待执行任务执行过程中产生的数据进行表示。
本说明书实施例中,通过对目标数据库进行解锁,并执行目标数据库的待执行任务,且将执行待执行任务产生的执行数据记录至目标数据目录,实现了目标数据库的稳定运行,避免了目标数据库瘫痪、无法存储新数据等问题的发生,有效的提高了目标数据库运行的稳定性。
在另一种情况下,在初始数据目录满足预设删除条件时,异步删除与初始数据目录对应的目标数据的过程中,可以根据初始数据目录的标注时间与当前时间的时间差值,确定是否对初始数据目录对应的目标数据进行异步删除;具体实现方式如下所示:
所述在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据,包括:
确定所述初始数据目录的标注时间与当前时间的时间差值,在所述时间差值大于等于预设时间阈值的情况下,异步删除与所述初始数据目录对应的目标数据。
其中,标注时间可以理解为对初始数据目录进行标注的时间;标注时间与当前时间的时间差值可以理解为将当前时间与标注时间相减所产生的差值。
预设时间阈值可以理解为在对目标数据进行异步删除过程中的保留时间,在本说明书实施例中,当初始数据目录进行标注的时间与当前时间的差值,超过保留时间,则将该目标数据进行异步删除。该预设时间阈值可以根据实际应用进行设置,本说明书实施例对此不做任何限定。例如30天、60天。
具体地,数据节点确定出初始数据目录的标注时间与当前时间的时间差值,在时间差值大于等于预设时间阈值的情况下,异步删除与初始数据目录对应的目标数据。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对在标注时间与当前时间的时间差值大于等于预设时间阈值的情况下异步删除目标数据,进行进一步详细说明。其中,目标数据可以理解为时序数据。
参见图4,图4是本说明书一实施例提供的一种时序数据的示意图。如图4所示,其中Metric/Table为图4中时序数据表的度量/表名,用于表示时序数据的存储位置,Tags用于表示数据的生成对象,其中Tags包括:DeviceId以及Region;该DeviceId为数据生成对象的设备ID,该Region为该数据生成对象的所处区域;Timestamp用于表示时序数据产生的时间,Fields用于表示时序数据的具体内容,其中Fields包括:Temperature以及Humidity,该Temperature为温度数据,Humidity为湿度数据。
数据节点按照预设频率对初始子目录的标注时间与当前时间的时间差值进行确定,并将该时间差值与预设时间阈值进行比较,在时间差值小于预设时间阈值的情况下,不会将与初始数据目录对应的时序数据进行删除;在时间差值大于等于预设时间阈值的情况下,则异步删除与初始数据目录对应的时序数据。
在实际应用中,预设频率可以根据实际应用进行设置,本说明书实施例对此不做任何限定。例如,以一分钟一次的频率对该时间差值进行确定、以一秒钟一次的频率对该时间差值进行确定。
进一步地,本说明书实施例中,在针对现有技术中数据库中的数据进行删除时,删除后无法回滚等痛点问题,本说明书实施例中,在对目标数据进行异步删除的过程中,还能够在所述初始数据目录不满足预设删除条件的情况下,对初始数据目录对应的目标数据进行回滚处理,从而实现快速且有效的对删除的目标数据进行回滚,避免了在由于误操作导致数据被删除后,无法恢复的问题,具体实现步骤如下所示:
所述删除与所述初始数据目录对应的目标数据之前,还包括:
接收针对所述目标数据库的数据恢复指令,并在所述初始数据目录不满足预设删除条件的情况下,基于所述数据恢复指令删除与所述目标数据库对应的初始数据目录的标注。
其中,数据恢复指令可以理解为指示数据节点删除目标数据库对应的初始数据目录的标注的指令。
具体地,数据节点能够接收针对目标数据库的数据恢复指令,并在初始数据目录不满足预设删除条件的情况下,基于数据恢复指令删除与目标数据库对应的初始数据目录的标注,实现对初始数据目录的恢复。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对基于数据恢复指令删除与目标数据库对应的初始数据目录的标注做进一步详细说明。
在预设删除条件为初始数据目录的标注时间与当前时间的时间差值大于等于预设时间阈值的情况下,数据节点在接收到数据恢复指令的同时,确定接收到该数据恢复指令的时间;并将接收到该数据恢复指令的时间减去对初始数据目录进行标注的时间,从而获得标注时间与接收时间的时间差值,并将该时间差值与预设时间阈值进行比较,在该时间差值大于等于预设时间阈值的情况下,则表示初始数据目录对应的时序数据已经被删除,无法对已删除的时序数据进行回滚。
在该时间差值小于预设时间阈值的情况下,表示与初始数据目录对应的时序数据还未被删除,则基于数据恢复指令删除与目标时序数据库对应的初始数据目录的异步删除标注,从而恢复目标时序数据库对应的初始数据目录、以及初始数据目录对应的目标时序数据的有效性,实现对初始数据目录下的时序数据进行回滚。
在预设删除条件为接收到针对标注后的初始数据目录的直接删除指令的情况下,数据节点在接收到数据恢复指令的同时,确定出在接收到数据恢复指令之前,是否接收到针对标注后的初始数据目录的直接删除指令。
若是,则表示初始数据目录对应的时序数据已经被删除,无法对已删除的时序数据进行回滚。
若否,则表示与初始数据目录对应的时序数据还未被删除,则基于数据恢复指令删除与目标时序数据库对应的初始数据目录的异步删除标注,从而恢复目标时序数据库对应的初始数据目录、以及初始数据目录对应的目标时序数据的有效性,实现对初始数据目录下的时序数据进行回滚。
在本说明书实施例中,通过接收针对目标数据库的数据恢复指令,并在所述初始数据目录满足预设删除条件的情况下,删除与目标数据库对应的初始数据目录的标注,从而实现在初始数据目录不满足预设删除条件的情况下,有效且快速的对目标数据进行回滚。
在删除与目标数据库对应的初始数据目录的标注后,目标数据库对应的初始数据目录以及目标数据目录,均为目标数据库的有效数据目录,这就会导致目标数据库在执行任务过程中产生的执行数据,无法正确的记录到数据目录中,从而造成目标数据库的数据紊乱,基于此,本说明书实施例中,通过删除目标数据目录,从而解决上述技术问题,具体实现方式如下。
所述基于所述数据恢复指令删除与所述目标数据库对应的初始数据目录的标注之后,还包括:
将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,并删除所述目标数据目录。
具体地,数据节点在删除初始数据目录的标注后,将目标数据目录中记录的执行数据,记录至初始数据目录中,并删除该目标数据目录。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对将目标数据目录中记录的执行数据记录至初始数据目录中,并删除该目标数据目录做进一步详细说明。
数据节点在删除与目标时序数据库对应的初始子目录的标注之后,将目标时序数据库的有效目录指向初始子目录中,并将新增子目录中记录的执行数据,重新记录到初始子目录中,从而在删除新增子目录的过程中,该新增子目录对应的执行数据不会被删除。
在将新增子目录中记录的执行数据记录至初始子目录之后,将新增子目录删除,从而使得初始子目录为目标时序数据库的唯一有效目录。参见图5,图5是本说明书一实施例提供的一种在删除目标数据目录前后的集群数据目录变化示意图;参见图5,该回滚前可以理解为删除目标数据目录之前;该回滚后可以理解为删除目标数据目录之后。
在删除新增子目录"monitor#1"之前,根目录/data下包括标注为异步删除的初始子目录monitor、新增子目录"monitor#1"以及磁盘子目录buy。
在将新增子目录"monitor#1"进行删除之后,根目录/data下包括初始子目录monitor以及磁盘子目录buy,此时,该初始子目录monitor为目标时序数据库唯一有效的数据目录。
本说明书实施例中,通过将目标数据目录中记录的执行数据记录至初始数据目录中,从而避免了在对目标数据目录进行删除的过程中,执行数据出现误删的问题;并且通过删除该目标数据目录,使得初始数据目录为目标时序数据库的唯一有效目录,避免了无法将产生的执行数据正确的记录到数据目录中,造成的目标数据库的数据紊乱的问题。
进一步地,在删除目标数据目录的过程中,为了防止目标数据库的当前任务无法正常执行,避免目标数据目录中记录的数据存在错误,本说明书实施例中,通过对待执行任务进行中断处理,并等待当前任务处理完成之后,对目标数据目录进行删除,具体实现步骤如下所示。
所述将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,并删除所述目标数据目录,包括:
对所述目标数据库的待执行任务进行中断处理,并在所述目标数据库的当前任务处理完成的情况下,将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,且删除所述目标数据目录。
具体地,数据节点对目标数据库的待执行任务进行中断处理,并在目标数据库的当前任务处理完成的情况下,将目标数据目录中记录的执行数据,记录至初始数据目录,并删除目标数据目录。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对待执行任务进行中断处理,并在当前任务处理完成后删除目标数据目录做进一步详细说明。
数据节点在删除与目标时序数据库对应的初始子目录的标注之后,将该目标时序数据库的任务队列中,还未执行的任务进行清空处理,从而中断待执行任务;但并不中断任务队列中正在执行的当前任务,而是等待当前任务执行完毕;在当前任务执行完毕的情况下,将新增子目录中记录的执行数据,重新记录至初始子目录中,并将新增子目录进行删除。
本说明书实施例中,通过对待执行任务进行中断处理,并在当前任务处理完成的情况下,将目标数据目录中记录的执行数据,记录至初始数据目录,并删除目标数据目录。避免了目标数据库的当前任务无法正常执行,防止了记录至初始数据目录中执行数据存在错误。
进一步的,为了避免在基于数据恢复指令删除与目标数据库对应的初始数据目录的标注过程中,由于针对目标数据库的读写任务,造成目标数据库的运算压力过大,因此,在接收针对所述目标数据库的数据恢复指令之后,还包括:
对所述目标数据库进行锁定;
相应地,所述基于所述数据恢复指令删除与所述目标数据库对应的初始数据目录的标注之后,还包括:对所述目标数据库进行解锁。
具体的,数据节点在接收到针对目标数据库的数据恢复指令之后,基于该数据恢复指令中携带的库标识确定目标数据库,并对该目标数据库进行锁定,从而停止针对该目标数据库的所有读写任务;并且,在基于数据恢复指令删除与目标数据库对应的初始数据目录的标注之后,对该目标数据库进行解锁,从而有效的缓解了目标数据库的运算压力,节省了计算机资源。
进一步地,在本说明书实施例提供的数据处理方法中,所述确定所述初始数据目录的标注时间与当前时间的时间差值,包括:
基于所述初始数据目录的标注时间标注时间创建数据异步删除任务,基于所述数据异步删除任务确定所述标注时间与当前时间的时间差值。
其中,数据异步删除任务可以理解为将目标数据库对应的初始数据目录所对应的目标数据进行异步删除的任务,在本说明书实施例中,数据异步删除任务的实现方式为确定标注时间与当前时间的时间差值,在时间差值大于等于预设时间阈值的情况下,异步删除与初始数据目录对应的目标数据。
具体地,数据节点在记录标注时间之后,基于该标注时间创建数据异步删除任务,基于数据异步删除任务确定标注时间与当前时间的时间差值。
沿用上例,以数据处理方法应用于时序数据库集群的场景下,对基于创建数据异步删除任务确定标注时间与当前时间的时间差值进行详细说明。
数据节点在对初始数据目录进行标注,并记录下标注的时间之后,基于进行标注的时间生成一个数据异步删除任务。
数据节点基于该数据异步删除任务以预设频率对标注时间与当前时间的时间差值进行确定,并将该时间差值与预设时间阈值进行比较,在时间差值小于预设时间阈值的情况下,不会将与初始数据目录对应的时序数据进行异步删除;在时间差值大于等于预设时间阈值的情况下,则异步删除与初始数据目录对应的时序数据。
本说明书实施例中,通过基于创建数据异步删除任务确定标注时间与当前时间的时间差值,实现了后续对初始数据目录对应的时序数据进行有效的异步删除。
本说明书实施例提供的数据处理方法,基于接收到数据删除指令确定出目标数据库,并通过对与目标数据库对应的初始数据目录进行标注的方式,代替了直接对数据库中的数据进行删除的方式,极大的降低了数据删除操作的耗时,提高了删除操作的效率。并且,在所述初始数据目录满足预设删除条件的情况下,对目标数据进行异步延迟删除,便于后续在初始数据目录不满足预设删除条件的情况下,快速且有效的对错误删除的数据进行回滚,降低了企业和用户的损失
下述结合附图6,以本说明书提供的数据处理方法在时序数据库集群场景下的应用为例,对所述数据处理方法进行进一步说明。其中,图6示出了本说明书一实施例提供的一种应用于时序数据库集群场景下的数据处理方法的处理流程图,基于该处理流程图可知,本说明书提供的应用于时序数据库集群场景下的数据处理方法包括两个流程:数据删除流程A以及数据回滚流程B。
其中,数据删除流程A可以为数据节点在接收到删除请求后,首先基于该删除请求确定出目标时序数据库,并将该目标时序数据进行锁定;其次,清空目标时序数据库的任务队列中未执行的任务,在当前任务执行完毕之后,将目标时序数据库对应的旧数据目录添加删除标注,记录下标注时间,并创建新数据目录;然后,根据保留时间和标注时间为旧数据目录添加异步删除任务,使得在标注时间与当前时间的时间差值大于等于保留时间的情况下,异步删除旧数据目录,为旧数据目录添加异步删除任务之后,对目标时序数据库进行解锁,且在解锁之后,向用户返回响应请求,至此数据删除流程A结束。
其中,在另外一种情况下,若为标注时间与当前时间的时间差值小于保留时间的情况下,可以通过数据删除流程B进行数据回滚。
具体地,可以为数据节点在接收到回滚请求后,首先将目标时序数据库进行锁定;其次,取消针对于旧数据目录的异步删除任务,并将新建的数据目录进行删除;然后,加载旧数据目录下的数据文件,并对该目标时序数据库进行解锁,且在解锁之后,向用户返回响应请求,至此数据回滚流程B结束。
基于上述介绍,本说明书提供的应用于时序数据库集群场景下的数据处理方法,具体包括以下步骤:
步骤602:锁定数据库。
具体地,数据节点在接收到用户发送的删除请求后,基于该删除请求中携带的数据库标识,在时序数据库集群中确定出需要进行数据删除操作的目标时序数据库;并对该目标时序数据库进行锁定,从而停止针对该目标时序数据库的所有读写任务。
其中,删除请求可以理解为上述实施例中的数据删除指令。
步骤604:清空任务队列中未执行的任务。
具体的,数据节点将目标时序数据库的任务队列中,未执行的任务进行清空处理,并等待当前任务处理完成。
在当前任务处理完成之后,将目标时序数据库对应的旧数据目录添加异步删除标注,并记录中进行标注的时间。
其中,旧数据目录可以理解为上述实施例中的初始数据目录。
步骤606:创建新数据目录。
具体地,数据节点在将目标时序数据库对应的旧数据目录进行标注后,重新创建一个新数据目录。
其中,新数据目录可以理解为上述实施例中的目标数据目录。
步骤608:根据保留时间添加旧数据目录的异步删除任务。
具体地,数据节点基于进行标注的时间以及保留时间,为旧数据目录添加异步删除任务,该异步删除任务用于在进行标注的时间与当前时间的时间差值,大于等于保留时间的情况下,对该旧数据目录对应的时序数据进行异步删除。
并且,在为旧数据目录添加异步删除任务之后,将新数据目录确定为目标时序数据库唯一有效的数据目录。
其中,保留时间可以理解为上述实施例中的预设时间阈值。
步骤610:解锁数据库。
具体地,数据节点在为旧数据目录添加异步删除任务后,对目标时序数据库进行解锁,从而启动针对目标时序数据库的所有读写任务。
并且,向用户返回针对删除请求的响应请求。
实际应用中,在标注时间与当前时间的时间差值小于保留时间的情况下,若想要恢复旧数据目录对应的时序数据,可以通过取消旧数据目录的异步删除任务的方式,对时序数据进行回滚,具体的实现步骤如下所述:
步骤612:锁定数据库。
具体地,目标时序数据库对应的数据节点在接收到用户发送的回滚请求后,基于该回滚请求对目标时序数据库进行锁定,从而停止针对该目标时序数据库的所有读写任务。
其中,回滚请求可以理解为上述实施例中的数据恢复指令。
步骤614:取消异步删除任务。
具体地,数据节点将旧数据目录的异步删除任务进行删除,从而对旧数据目录进行回滚操作,恢复旧数据目录的有效性。
步骤616:删除新建的数据目录。
具体地,数据节点在删除异步删除任务之后,需要将新建的数据目录、也即是新数据目录中记录的数据迁移至旧数据目录中,并在迁移完成后,将新建的数据目录删除。
步骤618:加载旧数据目录下的数据文件。
具体地,数据节点在将新数据目录删除后,重新将旧数据目录下数据文件进行加载,从而使得旧数据目录成为目标时序数据库唯一有效的数据目录。
步骤620:解锁数据库。
具体地,数据节点在将旧数据目录确定为目标时序数据库唯一有效的数据目录之后,对目标时序数据库进行解锁,从而启动针对目标时序数据库的所有读写任务。
并且,向用户返回针对回滚请求的响应请求。
本说明书实施例提供的数据处理方法,在对目标时序数据库进行删除操作的过程中,通过废弃旧数据目录,并使用新数据目录来存储新数据的方式,保证了数据删除前后的完整性,并实现了删除数据请求的毫秒级响应。并且,根据保留时间设置了旧数据目录的异步延迟删除任务,只要在保留时间范围内,可以快速且有效的将被删除的数据完整的进行回滚。
同时,使用新创建的磁盘目录作为目标时序数据库对应的新数据目录,不对旧数据目录进行任何修改,并且无需终止正在进行中的后台任务,不存在耗时的等待任务终止完成的问题,极大的降低了数据删除操作的耗时,提高了删除操作的效率。保证毫秒级响应删除请求;异步延迟清理被删除的数据目录,既保证了数据既可以在保留时间内可回滚,也可以保证超过保留时间后,数据最终会被删除,缓解了数据库的存储压力。
下述结合附图7,以本说明书提供的数据处理方法在时序数据库集群场景下的另一种应用为例,对所述数据处理方法进行进一步说明。其中,图7示出了本说明书一实施例提供的另一种应用于时序数据库集群场景下的数据处理方法的处理流程图,基于该处理流程图可知,本说明书提供的应用于时序数据库集群场景下的数据处理方法包括两个流程:数据删除流程C以及数据回滚流程D。
其中,数据删除流程C可以为数据节点在接收到删除请求后,首先基于该删除请求确定出目标时序数据库,并将该目标时序数据进行锁定;其次,清空目标时序数据库的任务队列中未执行的任务,在当前任务执行完毕之后,将目标时序数据库对应的旧数据目录添加删除标注,并创建与目标时序数据库对应的新数据目录;然后,根据时序数据库的预设容量阈值为旧数据目录添加异步删除任务,使得在时序数据库中数据所占用的容量大于等于预设容量阈值的情况下,异步删除旧数据目录,其中,时序数据库中数据所占用的容量可以为旧数据目录所占用的容量与新数据目录所占用的容量相加,获得的容量总和;为旧数据目录添加异步删除任务之后,对目标时序数据库进行解锁,且在解锁之后,向用户返回响应请求,至此数据删除流程C结束。
其中,在另外一种情况下,若时序数据库的当前容量小于预设容量阈值的情况下,可以通过数据删除流程D进行数据回滚。
具体地,可以为数据节点在接收到回滚请求后,首先将目标时序数据库进行锁定;其次,取消针对于旧数据目录的异步删除任务,并将新建的数据目录进行删除;然后,加载旧数据目录下的数据文件,并对该目标时序数据库进行解锁,且在解锁之后,向用户返回响应请求,至此数据回滚流程D结束。
基于上述介绍,本说明书提供的应用于时序数据库集群场景下的数据处理方法,具体包括以下步骤:
步骤702:锁定数据库。
具体地,数据节点在接收到用户发送的删除请求后,基于该删除请求中携带的数据库标识,在时序数据库集群中确定出需要进行数据删除操作的目标时序数据库;并对该目标时序数据库进行锁定,从而停止针对该目标时序数据库的所有读写任务。
其中,删除请求可以理解为上述实施例中的数据删除指令。
步骤704:清空任务队列中未执行的任务。
具体的,数据节点将目标时序数据库的任务队列中,未执行的任务进行清空处理,并等待当前任务处理完成。
在当前任务处理完成之后,将目标时序数据库对应的旧数据目录添加异步删除标注。
其中,旧数据目录可以理解为上述实施例中的初始数据目录。
步骤706:创建新数据目录。
具体地,数据节点在将目标时序数据库对应的旧数据目录进行标注后,重新创建一个新数据目录。
其中,新数据目录可以理解为上述实施例中的目标数据目录。
步骤708:根据预设容量阈值添加旧数据目录的异步删除任务。
其中,该预设容量阈值可以根据实际应用进行设置,本说明书实施例对此不做任何限定。例如,该预设容量阈值可以为目标时序数据库总容量的70%、目标时序数据库总容量的90%。
具体地,数据节点基于时序数据库的预设容量阈值,为旧数据目录添加异步删除任务,该异步删除任务用于在时序数据库中数据所占用的容量大于等于预设容量阈值的情况下,对该旧数据目录对应的时序数据进行异步删除。
并且,在为旧数据目录添加异步删除任务之后,将新数据目录确定为目标时序数据库唯一有效的数据目录。
步骤710:解锁数据库。
具体地,数据节点在为旧数据目录添加异步删除任务后,对目标时序数据库进行解锁,从而启动针对目标时序数据库的所有读写任务。
并且,向用户返回针对删除请求的响应请求。
实际应用中,在时序数据库中数据所占用的容量小于预设容量阈值的情况下,若想要恢复旧数据目录对应的时序数据,可以通过取消旧数据目录的异步删除任务的方式,对时序数据进行回滚,具体的实现步骤如下所述:
步骤712:锁定数据库。
具体地,目标时序数据库对应的数据节点在接收到用户发送的回滚请求后,基于该回滚请求对目标时序数据库进行锁定,从而停止针对该目标时序数据库的所有读写任务。
其中,回滚请求可以理解为上述实施例中的数据恢复指令。
步骤714:取消异步删除任务。
具体地,数据节点将旧数据目录的异步删除任务进行删除,从而对旧数据目录进行回滚操作,恢复旧数据目录的有效性。
步骤716:删除新建的数据目录。
具体地,数据节点在删除异步删除任务之后,需要将新建的数据目录、也即是新数据目录中记录的数据迁移至旧数据目录中,并在迁移完成后,将新建的数据目录删除。
步骤718:加载旧数据目录下的数据文件。
具体地,数据节点在将新数据目录删除后,重新将旧数据目录下数据文件进行加载,从而使得旧数据目录成为目标时序数据库唯一有效的数据目录。
步骤720:解锁数据库。
具体地,数据节点在将旧数据目录确定为目标时序数据库唯一有效的数据目录之后,对目标时序数据库进行解锁,从而启动针对目标时序数据库的所有读写任务。
并且,向用户返回针对回滚请求的响应请求。
本说明书实施例提供的数据处理方法,在对目标时序数据库进行删除操作的过程中,通过废弃旧数据目录,并使用新数据目录来存储新数据的方式,保证了数据删除前后的完整性,并实现了删除数据请求的毫秒级响应。并且,根据预设容量阈值设置针对旧数据目录的异步延迟删除任务,只要时序数据库的当前容量小于预设容量阈值,可以快速且有效的将被删除的数据完整的进行回滚。
同时,使用新创建的磁盘目录作为目标时序数据库对应的新数据目录,不对旧数据目录进行任何修改,并且无需终止正在进行中的后台任务,不存在耗时的等待任务终止完成的问题,极大的降低了数据删除操作的耗时,提高了删除操作的效率。保证毫秒级响应删除请求;异步延迟清理被删除的数据目录,缓解了数据库的存储压力。
与上述方法实施例相对应,本说明书还提供了数据处理装置实施例,图8示出了本说明书一实施例提供的一种数据处理装置的结构示意图。如图8所示,该装置包括:
接收模块802,被配置为接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识;
标注模块804,被配置为基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录;
删除模块806,被配置为将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。
可选地,所述标注模块804,还被配置为对所述目标数据库的待执行任务进行中断处理,并在所述目标数据库的当前任务处理完成的情况下,对与所述目标数据库对应的初始数据目录进行标注。
可选地,所述删除模块806,还被配置为对所述目标数据库进行解锁,并执行所述目标数据库的待执行任务,且将执行所述待执行任务产生的执行数据记录至所述目标数据目录。
可选地,所述删除模块806,还被配置为确定所述初始数据目录的标注时间与当前时间的时间差值,在所述时间差值大于等于预设时间阈值的情况下,异步删除与所述初始数据目录对应的目标数据。
可选地,所述数据处理装置,还包括恢复模块,所述恢复模块,被配置为接收针对所述目标数据库的数据恢复指令,并在所述初始数据目录不满足预设删除条件的情况下,基于所述数据恢复指令删除与所述目标数据库对应的初始数据目录的标注。
可选地,所述数据处理装置,还包括记录模块,所述记录模块,被配置为将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,并删除所述目标数据目录。
可选地,所述记录模块,还被配置为对所述目标数据库的待执行任务进行中断处理,并在所述目标数据库的当前任务处理完成的情况下,将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,且删除所述目标数据目录。
可选地,所述数据处理装置,还包括锁定模块,所述锁定模块,被配置为对所述目标数据库进行锁定;
相应地,所述数据处理装置,还包括解锁模块;所述解锁模块,被配置为对所述目标数据库进行解锁。
可选地,所述数据处理装置,还包括创建任务模块,所述创建任务模块,被配置为基于所述初始数据目录的标注时间创建数据异步删除任务,基于所述数据异步删除任务确定所述标注时间与当前时间的时间差值。
本说明书提供的数据处理装置,在接收到数据删除指令之后,通过对初始数据目录进行标注,记录标注时间;并在所述初始数据目录满足预设删除条件的情况下,对目标数据进行异步延迟删除,便于实现后续在快速且有效的对误操作的数据进行回滚,降低了企业和用户的损失。
上述为本实施例的一种数据处理装置的示意性方案。需要说明的是,该数据处理装置的技术方案与上述的数据处理方法的技术方案属于同一构思,数据处理装置的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
图9示出了根据本说明书一个实施例提供的一种计算设备900的结构框图。该计算设备900的部件包括但不限于存储器910和处理器920。处理器920与存储器910通过总线930相连接,数据库950用于保存数据。
计算设备900还包括接入设备940,接入设备940使得计算设备900能够经由一个或多个网络960通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备940可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备900的上述部件以及图9中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图9所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备900可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备900还可以是移动式或静止式的服务器。
其中,处理器920用于执行计算机可执行指令,该计算机可执行指令被处理器902执行时实现任意所述数据处理方法的步骤。
上述为本实施例的一种计算设备的示意性方案。需要说明的是,该计算设备的技术方案与上述的数据处理方法的技术方案属于同一构思,计算设备的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现任意所述数据处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的数据处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
本说明书一实施例还提供一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行任意所述数据处理方法的步骤。
上述为本实施例的一种计算机程序的示意性方案。需要说明的是,该计算机程序的示意性方案与上述的数据处理方法的技术方案属于同一构思,计算机程序的示意性方案未详细描述的细节内容,均可以参见上述数据处理方法的技术方案的描述。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本说明书并不受所描述的动作顺序的限制,因为依据本说明书,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本说明书所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (13)
1.一种数据处理方法,包括:
接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识;
基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录;
将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。
2.根据权利要求1所述的数据处理方法,所述标注与所述目标数据库对应的初始数据目录,包括:
对所述目标数据库的待执行任务进行中断处理,并在所述目标数据库的当前任务处理完成的情况下,对与所述目标数据库对应的初始数据目录进行标注。
3.根据权利要求2所述的数据处理方法,所述将解锁后所述目标数据库的执行数据写入所述目标数据目录,包括:
对所述目标数据库进行解锁,并执行所述目标数据库的待执行任务,且将执行所述待执行任务产生的执行数据记录至所述目标数据目录。
4.根据权利要求2所述的数据处理方法,所述在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据,包括:
确定所述初始数据目录的标注时间与当前时间的时间差值,在所述时间差值大于等于预设时间阈值的情况下,异步删除与所述初始数据目录对应的目标数据。
5.根据权利要求1所述的数据处理方法,所述删除与所述初始数据目录对应的目标数据之前,还包括:
接收针对所述目标数据库的数据恢复指令,并在所述初始数据目录不满足预设删除条件的情况下,基于所述数据恢复指令删除与所述目标数据库对应的初始数据目录的标注。
6.根据权利要求5所述的数据处理方法,所述基于所述数据恢复指令删除与所述目标数据库对应的初始数据目录的标注之后,还包括:
将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,并删除所述目标数据目录。
7.根据权利要求6所述的数据处理方法,所述将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,并删除所述目标数据目录,包括:
对所述目标数据库的待执行任务进行中断处理,并在所述目标数据库的当前任务处理完成的情况下,将所述目标数据目录中记录的所述执行数据,记录至所述初始数据目录,且删除所述目标数据目录。
8.根据权利要求5所述的数据处理方法,所述接收针对所述目标数据库的数据恢复指令之后,还包括:
对所述目标数据库进行锁定;
相应地,所述基于所述数据恢复指令删除与所述目标数据库对应的初始数据目录的标注之后,还包括:对所述目标数据库进行解锁。
9.根据权利要求4所述的数据处理方法,所述确定所述初始数据目录的标注时间与当前时间的时间差值,包括:
基于所述初始数据目录的标注时间创建数据异步删除任务,基于所述数据异步删除任务确定所述标注时间与当前时间的时间差值。
10.一种数据处理装置,包括:
接收模块,被配置为接收针对目标数据库的数据删除指令,其中,所述数据删除指令中携带有所述目标数据库的库标识;
标注模块,被配置为基于所述库标识确定所述目标数据库,对所述目标数据库进行锁定,标注与所述目标数据库对应的初始数据目录,并创建与所述目标数据库对应的目标数据目录;
删除模块,被配置为将解锁后所述目标数据库的执行数据写入所述目标数据目录,并在所述初始数据目录满足预设删除条件的情况下,异步删除与所述初始数据目录对应的目标数据。
11.一种计算设备,包括:
存储器和处理器;
所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-9任意一项所述数据处理方法的步骤。
12.一种计算机可读存储介质,其存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现权利要求1-9任意一项所述数据处理方法的步骤。
13.一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-9任意一项所述数据处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110886698.1A CN113761059A (zh) | 2021-08-03 | 2021-08-03 | 数据处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110886698.1A CN113761059A (zh) | 2021-08-03 | 2021-08-03 | 数据处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761059A true CN113761059A (zh) | 2021-12-07 |
Family
ID=78788460
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110886698.1A Pending CN113761059A (zh) | 2021-08-03 | 2021-08-03 | 数据处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761059A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860190A (zh) * | 2022-04-28 | 2022-08-05 | 中国人民解放军战略支援部队信息工程大学 | 一种针对高性能计算函数库中浮点算术表达式在指定区间内误差较大子区间划分方法及系统 |
WO2023206968A1 (zh) * | 2022-04-29 | 2023-11-02 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法、系统及计算机可读存储介质 |
-
2021
- 2021-08-03 CN CN202110886698.1A patent/CN113761059A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114860190A (zh) * | 2022-04-28 | 2022-08-05 | 中国人民解放军战略支援部队信息工程大学 | 一种针对高性能计算函数库中浮点算术表达式在指定区间内误差较大子区间划分方法及系统 |
WO2023206968A1 (zh) * | 2022-04-29 | 2023-11-02 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法、系统及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11023448B2 (en) | Data scrubbing method and apparatus, and computer readable storage medium | |
CN107220142B (zh) | 执行数据恢复操作的方法及装置 | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US7680998B1 (en) | Journaled data backup during server quiescence or unavailability | |
US9292387B2 (en) | Medium, control method, and information processing apparatus | |
CN113761059A (zh) | 数据处理方法及装置 | |
CN105573859A (zh) | 一种数据库的数据恢复方法和设备 | |
EP3788505B1 (en) | Storing data items and identifying stored data items | |
US8380663B2 (en) | Data integrity in a database environment through background synchronization | |
CN110505495A (zh) | 多媒体资源抽帧方法、装置、服务器及存储介质 | |
CN111177143A (zh) | 键值数据存储方法、装置、存储介质与电子设备 | |
CN105493080B (zh) | 基于上下文感知的重复数据删除的方法和装置 | |
CN113901279B (zh) | 一种图数据库的检索方法和装置 | |
CN109947730A (zh) | 元数据恢复方法、装置、分布式文件系统及可读存储介质 | |
EP3343395B1 (en) | Data storage method and apparatus for mobile terminal | |
CN115033578A (zh) | 一种业务数据更新的方法、相关装置及存储介质 | |
CN115858471A (zh) | 业务数据变更记录方法、装置、计算机设备及介质 | |
US11899625B2 (en) | Systems and methods for replication time estimation in a data deduplication system | |
CN113687920B (zh) | 一种分布式系统的对象策略操作方法、装置及设备 | |
CN115543918A (zh) | 一种文件快照方法、系统、电子设备及存储介质 | |
CN115328696A (zh) | 一种数据库中的数据备份方法 | |
CN112328433A (zh) | 归档数据恢复的处理方法、装置、电子装置和存储介质 | |
CN112612648B (zh) | 一种SQL Server数据库恢复方法、终端设备及存储介质 | |
CN112685431B (zh) | 异步缓存方法、装置、系统、电子设备和存储介质 | |
CN111459928B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40063994 Country of ref document: HK |