数据处理方法、系统、设备及存储介质技术方案

技术编号:34386610 阅读:14 留言:0更新日期:2022-08-03 21:09
本说明书一个或多个实施例提供一种数据处理方法、系统、设备及存储介质。所述方法应用于数据库系统,所述数据库系统包括有至少一个第一工作服务节点、至少一个第二工作服务节点和至少一个数据库分区;所述第一工作服务节点和所述第二工作服务节点为不同的节点;所述方法包括:所述第一工作服务节点在利用所述数据库分区向客户端提供读写服务的过程中,若检测到所述数据库分区中的文件满足预设压缩条件,生成压缩任务并发送给所述第二工作服务节点;所述第二工作服务节点根据所述压缩任务对所述数据库分区中的文件进行归并处理。本实施例避免了Compaction操作的执行过程与在线读写服务抢占IO资源和计算资源。服务抢占IO资源和计算资源。服务抢占IO资源和计算资源。

【技术实现步骤摘要】
数据处理方法、系统、设备及存储介质


[0001]本说明书一个或多个实施例涉及数据库
,尤其涉及一种数据处理方法、系统、设备及存储介质。

技术介绍

[0002]NoSQL(Not Only Structed Query Language,不仅仅是结构化查询语言)数据库也称为非关系型数据库。传统的关系型数据库无法保证超大规模和高并发的数据存储,而NoSQL数据库可以实现超大规模、多种数据种类的数据存储。
[0003]NoSQL数据库系统是由NoSQL数据库及其管理软件组成的系统;NoSQL数据库系统包括一个或多个Master服务节点(也称为了主服务节点)和一个或多个Worker服务节点(也称为工作服务节点),主服务节点可以用于将分区之后的数据按照预设调度策略调度到各个工作服务节点中,工作服务节点在接收到数据之后将数据进行存储,工作服务节点用于对外提供数据服务,例如数据读取服务或数据写入服务。
[0004]其中一种用于存储数据的数据结构就是LSM

Tree(Log Structured Merge Tree,日志结构合并树),LSM

Tree是一种分层,有序,面向磁盘的数据结构,核心思想是通过将所有的随机写转化成顺序写来提高写性能。它的主要流程为所有的写请求都先追加写入日志文件中,然后再插入内存管理结构中,当内存达到一定限制时,会将数据文件顺序写入到磁盘中形成内部有序的磁盘文件。读取数据时,采用多路归并的方式,分别从内存文件和磁盘文件中读取。
[0005]其中,Compaction(压缩)操作就是对上面顺序写入到磁盘的多个数据文件进行归并,生成新的文件。在新文件中,删除了过期的版本以及被删除的数据。但是,因为Compaction操作本身是进行数据文件的读取、归并以及写出,工作服务节点在执行Compaction操作的过程必然会消耗IO资源以及计算资源,由于工作服务节点所在的设备的资源是有限的,工作服务节点还需对外提供在线数据读写服务,则Compaction操作必然会同在线链路的读写服务进行资源争抢,此时,在线数据读写服务的延迟、QPS及相关性能指标就会受到影响,造成不稳定的现象。

技术实现思路

[0006]有鉴于此,本说明书一个或多个实施例提供一种数据处理方法、系统、设备及存储介质。
[0007]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0008]根据本说明书一个或多个实施例的第一方面,提出了一种数据处理方法,应用于数据库系统,所述数据库系统包括有至少一个第一工作服务节点、至少一个第二工作服务节点和至少一个数据库分区;所述第一工作服务节点和所述第二工作服务节点为不同的节点;所述方法包括:
[0009]所述第一工作服务节点在利用所述数据库分区向客户端提供读写服务的过程中,
若检测到所述数据库分区中的文件满足预设压缩条件,生成压缩任务并发送给所述第二工作服务节点;
[0010]所述第二工作服务节点根据所述压缩任务对所述数据库分区中的文件进行归并处理。
[0011]根据本说明书一个或多个实施例的第二方面,提出了一种数据库系统,包括有至少一个第一工作服务节点、至少一个第二工作服务节点和至少一个数据库分区;所述第一工作服务节点和所述第二工作服务节点为不同的节点;
[0012]所述第一工作服务节点用于在利用所述数据库分区向客户端提供读写服务的过程中,若检测到所述数据库分区中的文件满足预设压缩条件,生成压缩任务并发送给所述第二工作服务节点;
[0013]所述第二工作服务节点用于根据所述压缩任务对所述数据库分区中的文件进行归并处理。
[0014]根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,应用于数据库系统,所述数据库系统包括至少一个数据库分区和至少一个第二工作服务节点;所述电子设备包括:
[0015]处理器;
[0016]用于存储处理器可执行指令的存储器;
[0017]其中,所述处理器运行所述可执行指令时,被配置为:
[0018]在利用所述数据库分区向客户端提供读写服务的过程中,若检测到所述数据库分区中的文件满足预设压缩条件,生成压缩任务并发送给所述第二工作服务节点。
[0019]根据本说明书一个或多个实施例的第四方面,提出了一种电子设备,应用于数据库系统,所述数据库系统包括至少一个数据库分区和至少一个第一工作服务节点;所述电子设备包括:
[0020]处理器;
[0021]用于存储处理器可执行指令的存储器;
[0022]其中,所述处理器运行所述可执行指令时,被配置为:
[0023]接收所述第一工作服务节点发送的压缩任务;
[0024]根据所述压缩任务对所述数据库分区中的文件进行归并处理。
[0025]根据本说明书一个或多个实施例的第五方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现第一方面任一项所述方法的步骤。
[0026]本说明书实施例提供了一种数据处理方法,将Compaction(压缩)操作分离到第二工作服务节点执行,第一工作服务节点仅负责为外部客户端提供在线读写服务以及压缩(Compaction)任务的发起,且所述第一工作服务节点和所述第二工作服务节点为不同的节点,从而避免了Compaction操作的执行过程与在线读写服务抢占IO资源和计算资源,确保在线读写服务的稳定提供。而且,任意一个第一工作服务节点在检测到其对应的数据库分区中的文件满足预设压缩条件时均可以发起压缩任务,实现了压缩任务的分布式触发,避免了单点管理(比如由一个服务节点统一管理和发起压缩任务)场景中,由于统一管理的服务节点故障导致压缩任务无法进行的情况发生,有利于保证NoSQL数据库系统稳定高效运行。
附图说明
[0027]图1是相关技术中提供的一种NoSQL数据库系统的结构示意图。
[0028]图2是一示例性实施例提供的数据写入的示意图。
[0029]图3是一示例性实施例提供的一种数据处理方法的流程示意图。
[0030]图4、图5和图6是一示例性实施例提供的三种不同的数据库系统的结构示意图。
[0031]图7A、图7B、图8A和图8B是一示例性实施例提供的四种不同的时序交互图。
[0032]图9是一示例性实施例提供的一种电子设备的结构示意图。
具体实施方式
[0033]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
[0034]需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,应用于数据库系统,所述数据库系统包括至少一个第一工作服务节点、至少一个第二工作服务节点和至少一个数据库分区;所述第一工作服务节点和所述第二工作服务节点为不同的节点;所述方法包括:所述第一工作服务节点在利用所述数据库分区向客户端提供读写服务的过程中,若检测到所述数据库分区中的文件满足预设压缩条件,生成压缩任务并发送给所述第二工作服务节点;所述第二工作服务节点根据所述压缩任务对所述数据库分区中的文件进行归并处理。2.根据权利要求1所述的方法,在所述检测到所述数据库分区中的文件满足预设压缩条件之后,还包括:所述第一工作服务节点在所述数据库分区中创建新文件;其中,所述压缩任务指示有所述数据库分区中满足所述预设压缩条件的至少两个目标文件和所述新文件;所述根据所述压缩任务对所述数据库分区中的文件进行归并处理,包括:所述第二工作服务节点从所述目标文件中读取键值对数据,并在确定所述键值对数据不是冗余数据的情况下将所述键值对数据写入所述新文件中,直到遍历所有目标文件。3.根据权利要求2所述的方法,所述数据库系统还包括至少一个第一主服务节点;所述第一主服务节点包括有指示所述数据库分区中的文件的元数据;所述方法还包括:在所述压缩任务执行成功之后,所述第一工作服务节点删除在所述数据库分区中的所述至少两个目标文件;以及,所述第一主服务节点将所述元数据中指示所述至少两个目标文件的信息删除,并在所述元数据中增加指示所述新文件的信息。4.根据权利要求1所述的方法,所述数据库系统还包括至少一个第二主服务节点;所述方法包括:所述第一工作节点将所述压缩任务通过所述第二主服务节点发送给所述第二工作服务节点。5.根据权利要求1或4所述的方法,还包括:在所述第二工作服务节点执行所述压缩任务的过程中,定时监控所述第二工作服务节点的执行状态;在所述执行状态异常的情况下,取消所述压缩任务,并根据满足所述预设压缩条件的至少两个目标文件重新生成发送给其他第二工作服务节点的新压缩任务。6.根据权利要求5所述的方法,所述定时监控所述第二工作服务节点的执行状态,包括:定时拉取所述第二工作服务节点在执行所述压缩任务过程中的状态信息;将当前拉取的状态信息与上一次拉取的状态信息进行比对,确定所述第二工作服务节点的执行状态。7.根据权利要求6所述的方法,所述状态信息至少包括:累计读取数据量和/或累计写出数据量;所述确定所述第二工作服务节点的执行状态,包括:若当前拉取的状态信息与上一次拉取的状态信息相同,确定所述第二工作服务节点的
...

【专利技术属性】
技术研发人员:钟锐蔡杰明杨世泉
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1