数据处理方法、系统、设备及存储介质与流程

文档序号:28681383发布日期:2022-01-29 06:08阅读:60来源:国知局
数据处理方法、系统、设备及存储介质与流程

1.本技术涉及计算机技术领域,尤其涉及数据处理方法、系统、设备及存储介质。


背景技术:

2.随着数据库技术的发展,用户在使用过程中对数据库的性能要求越来越高。为了能够同时满足用户对计算性能的要求和对存储性能的需求,提出一种云原生关系型数据库。
3.基于云原生关系型数据库执行数据库实例的过程中,会产生一些临时文件。这些临时文件通常不需要进行持久化存储,但是由于分布式存储设备存储性能限制,或者本地存储空间限制等问题,在高并发场景中产生高频率的临时文件的情况下,容易造成文件系统故障,进而影响数据库实例进程正常进行,甚至还可能对其他相关实例产生影响。


技术实现要素:

4.为解决或改善现有技术中存在的问题,本技术各实施例提供了数据处理方法、系统、设备及存储介质。
5.第一方面,在本技术的一个实施例中,提供了一种数据处理方法。该方法包括:
6.获取临时文件;其中,所述临时文件是第一数据库实例对分布式数据库中的数据进行相应操作后产生的;
7.确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备;
8.将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间。
9.第二方面,在本技术的一个实施例中,提供了另一种数据处理方法。该方法包括:
10.生成第一数据库实例对应的临时文件;
11.发送对所述临时文件的处理请求给分布式文件系统;
12.接收所述分布式文件系统反馈分布式块存储设备的盘符,以便将所述临时文件存储到所述分布式存储设备关联的第一本地存储空间。
13.第三方面,在本技术的一个实施例中,提供了一种数据处理系统。所述系统包括:
14.文件系统,用于获取临时文件;其中,所述临时文件是第一数据库实例对分布式数据库中的数据进行相应操作后产生的;确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备;将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间;
15.数据库,用于生成第一数据库实例对应的临时文件;发送对所述临时文件的处理请求给分布式文件系统;接收所述分布式文件系统反馈分布式块存储设备的盘符,以便将所述临时文件存储到所述分布式存储设备关联的第一本地存储空间。
16.第四方面,在本技术的一个实施例中,提供了一种电子设备,包括存储器及处理器;其中,
17.所述存储器,用于存储程序;
18.所述处理器,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于实现第一方面所述的一种数据处理方法或第二方面所述的另一种数据处理方法。
19.第五方面,在本技术的一个实施例中,提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行如第一方面所述的方法或第二方面所述的方法。
20.本技术实施例提供的技术方案,获取临时文件;其中,所述临时文件是第一数据库实例对分布式数据库中的数据进行相应操作后产生的;确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备;将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间。基于上述实施例,通过在分布式文件系统中为每个数据库实例单独分配一个对应的分布式块存储设备以及关联的第一本地存储空间,使得产生的临时文件能够得到及时存储处理。在对临时文件进行存储的时候,优先存储到第一本地存储空间当中,避免因为临时文件处理速度问题影响数据库正常运行,能够有效提高分布式数据库中对临时文件的处理效率。
附图说明
21.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
22.图1为本技术实施例提供的数据处理方法的流程示意图;
23.图2为本技术实施例提供的临时文件存储到分布式存储设备方法的流程示意图;
24.图3为本技术实施例提供的临时文件存储到本地存储空间方法的流程示意图;
25.图4为本技术实施例提供的另一种数据处理方法的流程示意图;
26.图5为本技术实施例提供的临时文件存储方法的流程示意图;
27.图6为本技术实施例提供的数据处理系统结构示意图;
28.图7为本技术实施例提供的一种数据处理装置的结构示意图;
29.图8为本技术实施例提供的一种电子设备的结构示意图;
30.图9为本技术实施例提供的另一种数据处理装置的结构示意图;
31.图10为本技术实施例提供的另一种电子设备的结构示意图。
具体实施方式
32.为了能够提高数据库的数据处理能力,提出一种将存储与计算分离结构的数据库(polardb)。随着用户需求的发展,往往会出现数据库实例通知执行的情况,还可能出现执行数据库实例而产生很多临时文件。若需要存储的临时文件比较多的时候,可能会因为单线程限制而影响处理进度,进而可能会对更多的其他实例的正常运行造成影响。若出现高频率的产生临时文件的情况,还有可能因为本地存储空间有限而导致存储临时文件的文件系统故障。在分布式文件系统中,由于在一个物理机上存在多个实例,文件系统空间有限的情况下,若被某个实例占用大量空间,将会直接影响其他实例空间需求。因此,需要一种能
够在同时具备快速存储大量临时文件的能力的技术方案。在本技术技术方案中,具体工作过程,将在下述实施例中说明。
33.需要说明的是,本技术技术方案基于一种将存储与计算分离结构的数据库(polardb)实现的,在该数据库中的文件系统(polarfs)是一款具有超低延迟和高可用能力的分布式文件系统,其采用了轻量的用户空间网络和i/o栈构建,而弃用了对应的内核栈,目的是充分发挥rdma和nvme ssd等新兴硬件的潜力,极大地降低分布式非易失数据访问的端到端延迟。在实际应用中,数据库实例对分布式数据库中的数据进行相关操作的时候,都有对应的文件系统为该实例提供相应的数据存储空间,不会有其他实例与之竞争存储空间,也不会因为单线程问题导致无法及时对临时文件进行存储处理。
34.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
35.在本技术的说明书、权利要求书及上述附图中描述的一些流程中,包含了按照特定顺序出现的多个操作,这些操作可以不按照其在本文中出现的顺序来执行或并行执行。操作的序号如101、102等,仅仅是用于区分各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。此外,下文描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
36.如图1为本技术实施例提供的数据处理方法的流程示意图。在实际应用场景中,该方法的执行主体可以是分布式数据库中计算节点。该方法具体包括如下步骤:
37.101:获取临时文件;其中,所述临时文件是第一数据库实例对分布式数据库中的数据进行相应操作后产生的。
38.102:确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备。
39.103:将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间。
40.这里所说的临时文件是指在数据库实例对分布式数据库中的数据进行相应操作(比如,查询排序、大事务查询等)所产生的。例如,这些大事务产生的临时文件比如可以是文件名字ml开头的/tmp/mlq9infu(deleted);再例如,执行online ddl操作产生的临时文件比如可以是/tmp/ibcxlyqg(deleted)、/tmp/ib51nvz1(deleted)。这些临时文件没有进行持久化的强制需求,只提供临时用途,在使用完之后可以进行删除,并且进程重启也不需要保存临时文件。
41.这里所说的分布式块存储设备可以理解为在分布式数据库中用于进行相关数据存储(比如,临时文件)多个块存储设备,这些分布式块存储设备在使用过程中通常可以根据需要选择一个或者多个作为数据库实例产生的临时文件的存储设备。在实际应用中,可以为每个数据库实例分配其对应的分布式块存储设备,当然可以在使用过程中根据需要为各数据库实例的分布式块存储设备进行调整(比如,增多分布式块存储设备的存储空间,或者为某个实例多分配一个存储设备),从而更好的满足各个数据库实例对存储空间的使用需求。
42.在实际应用中,可能会出现多个数据库实例装载和打开同一数据库的情况,以及在数据库实例进程中先后打开多个数据库的情况。分布式数据库当中一般来说,现有技术当中数据存储空间是可以共享的,也就是当多个数据库实例对数据库进行相关数据操作的过程中,可能会出现争抢存储空间的情况。在本技术技术方案中,临时文件是指在分布式数据库当中任意一个第一数据库实例对数据库进行相关操作后所产生的。由于分布式块存储设备的数据处理能力(数据读写速度)相较于本地磁盘来说,还是会慢一些,当出现高频率产生临时文件的情况时,很多临时文件需要尽快存储,但是由于分布式块存储设备的速率相对慢一些,若不能及时处理将会导致数据库实例进程中断,而且还会影响相关其他数据库实例的正常进程。因此,在有临时文件的存储需求的时候,可以将临时文件存储到与该分布式块存储设备关联的第一本地存储空间。这里所说的第一本地存储空间,可以是本地的一个专门用于存储临时文件的硬盘(比如,固态硬盘ssd)、虚拟硬盘、磁盘阵列等。也可以是在本地硬盘中建立多个文件,各个文件的存储空间都是相互独立的,利用硬盘中的文件存储基于数据库实例生成的临时文件。比如,linux系统的本地硬盘中建立多个文件,将其中一个文件用于存储临时文件。这样就能够有效解决因为分布式块存储设备读写速度慢而影响临时文件的读写效率,或者导致数据库实例的进程中断。
43.在本技术一个或者多个实施例中,如图2为本技术实施例提供的临时文件存储到分布式存储设备方法的流程示意图。如步骤103所述,将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间之后,如图2所示还包括如下步骤:201:若未将所述临时文件成功存储到所述第一本地存储空间,则将所述临时文件存储到所述分布式块存储设备。202:若所述临时文件未成功存储到所述分布式块存储设备,则对所述分布式块存储设备进行扩容得到第二块存储空间,以便将所述临时文件存储到扩容后第二块存储空间。
44.由于本地存储设备通常是由最大存储上限的,进而为第一数据库实例分配的第一本地存储空间也是有上限的。若当前需要进行存储的临时文件的大小超过对应的第一本地存储空间中可用空间的大小,可能会导致存储失败。或者因为第一本地存储空间已经被存满,也会导致存储失败。或者该第一本地存储空间处于禁用状态也会导致存储失败。比如,第一本地存储空间为100g,已经使用了50g,还剩余可用存储空间50g,但是将要存储的临时文件整体大小为70g,因此,无法将临时文件存储到该第一本地存储空间当中。
45.为了确保数据库实例的进程不被中断,可以将临时文件存储到分布式块存储设备当中。一般来说,分布式块存储设备的存储空间相对于本地存储空间来说都是比较大的。而且,在分布式数据库当中,为数据库实例分配的分布式块存储设备的大小是可以根据需要进行调整的,当存储空间不足的时候可以根据需要进行扩张,当存储空间充足但是其他数据库实例的存储空间不足的时候,可以将多余存储空间共享,解决其他数据库实例的存储空间不足的问题,也提升了分布式块存储设备的利用率。
46.在将临时文件存储到分布式块存储设备当中的过程中,还可能出现第一块存储空间不足,导致临时文件无法成功存储到第一块存储空间的问题。如前文所述可知,第一块存储空间是根据数据库实例的需求进行分配的,然后,不可避免的会有一些特殊情况导致临时文件的大小超过此前分配的第一块存储空间中剩余可用空间的大小,进而引起临时文件存储失败的问题发生。由于第一块存储空间是基于分布式块存储设备分配得到的,因此,对第一块存储空间进行调整,也就是对第一块存储空间进行空间扩展,从而可以有更大的空
间来存储该实例的临时文件。经过扩展后得到第二块存储空间。这里所说的第二块存储空间要明显大于第一块存储空间。需要说明的是,若在同一个分布式块存储设备基础上对第一块存储空间进行扩展得到第二块存储空间,可以不更改对外公开的盘符。换言之,当有临时文件想要进行存储的时候,仍然通过第一块存储空间对应盘符执行存储操作。若第一块存储空间和第二块存储空间是位于两个不同分布式块存储设备上的存储空间,那么,在需要存储临时文件的时候,需要通过两个不同的盘符执行对临时文件的存储操作。不论何种请,仅对外暴露分布式块存储设备对应的盘符,而不对外暴露任何关于本地存储空间盘符或文件名。从而使得外界无感知的情况下实现快速、大容量且可扩容的对临时文件的存储需求。
47.在本技术一个或者多个实施例中,基于为所述第一数据库实例进行空间分配的分配请求,确定所述分布式块存储设备的第一块存储空间。将所述分布式存储设备中所述第一块存储空间分配给所述第一数据库实例。
48.在实际应用中,分布式数据库当中有多个块存储设备。在进行数据处理过程中,这些块存储设备将会根据需要分配给对应的数据库实例。在进行分配的时候,可以将多个块存储设备进行均分处理,使得每个数据库实例的存储空间都是相同的。当然,也可以根据各个数据库实例之间的差别,进行差异性分配,比如,可以预知某个数据库实例将会产生的临时文件占用的存储空间比较大,则可以为其分配更大的存储空间。例如,当为某个数据库实例分配第一块存储空间的时候,假设该第一块存储空间为一个分布式块存储设备的整体空间。在使用的时候,该数据库实例的临时根据可以根据分布式存储设备对应的盘符进行存储操作。当然,若该分布式块存储设备允许与其他实例共享存储空间,也可以将该盘符提供给对应的数据库实例实现临时文件的存储。
49.在本技术一个或者多个实施例中,基于实例空间分配请求,确定所述第一本地存储空间及对应的第一本地存储空间标识。根据索引节点上的所述第一本地存储空间标识,建立所述分布式块存储设备与所述第一本地存储空间的关联关系。
50.如前文所述可知,为了满足对大批量临时文件的存储需求,会将临时文件存储到外部的分布式块存储设备当中,因为分布式块存储设备是可以根据实际存储需求进行扩容。然而,有时需要及时、快速的存储一批临时文件,为了避免因为存储不及时影响数据库实例正常进程,所以,可以将临时文件存储到第一本地存储空间当中。需要说明的是,这里所说的第一本地存储空间标识包括:本地硬盘盘符或在本地硬盘建立多个文件中的任一文件名。第一本地存储空间与第一数据库实例之间具有一一对应关系。换言之,每个数据库实例都有其对应的第一本地存储空间,该第一本地存储空间是不允许其他数据库实例占用的。这是因为在分布式数据库当中,多个数据库实例同时争抢共享存储空间的现象比较常见,抢不到充足的用于存储临时文件的存储空间的数据库实例就有被中断的风险。而且各个数据库实例在什么时候需要存储大量临时文件的时间也是难以确定的,因此,为了确保各个数据库实例进程正常执行,将本地存储空间设定为独立空间,各个数据库实例之间不共享用于存储临时文件的本地存储空间。
51.在建立分布式块存储设备与第一本地存储空间之间的关联关系的时候,可以在索引节点(inode)记录该第一本地存储空间标识(flag)。也就是,若分布式块存储设备关联有第一本地存储空间标识时,有临时文件存储需求的时候,将会优先存储到第一本地存储空
间。反之,若基于盘符确定某个分布式存储设备后,该分布式存储设备并没有关联第一本地存储空间标识,那么会将临时文件直接存储到该分布式块存储设备当中。
52.需要说明的是,虽然同时利用第一本地存储空间和分布式块存储设备对临时文件进行存储,但是为了使得临时文件存储流程更加简便,可以仅对外公开分布式块存储设备对应的盘符。具体来说,如图3为本技术实施例提供的临时文件存储到本地存储空间方法的流程示意图。从图3中可以看到具体包括如下步骤:301:若所述所以索引节点上标记有所述第一本地存储空间标识,则将所述临时文件存储到所述第一本地存储空间。302:若未将所述临时文件成功存储到所述第一本地存储空间,则对所述第一本地存储空间进行扩容得到第二本地存储空间,以便将所述临时文件存储到扩容后所述第二本地存储空间。
53.具体来说,在接收到临时文件之后,首先会根据分布式块存储设备的盘符将查找是否在索引节点中标记了第一本地存储空间标识,若已标记,则将临时文件存储到该第一本地存储空间当中。若经过查找发现没有标记,则将临时文件存储到该盘符对应的分布式存储设备当中。若发现已标记,但是第一本地存储空间已满,或者剩余空间小于存储临时文件所需的空间,则还可以对第一本地存储空间进行扩容处理,以便进行扩容后得到的第二本地存储空间能够成功存储下临时文件。若扩容后仍然无法存储下临时文件,则会将临时文件存储到分布式块存储设备当中。进一步的,由于第二本地存储空间没有被占用,还可以将扩容后得到的第二本地存储空间缩减为第一本地存储空间,避免过多占用本地存储空间造成不必要的浪费。
54.在本技术一个或者多个实施例中,若所述临时文件是基于第二数据库实例对分布式数据库中数据进行相应操作产生的,则将所述临时文件存储到与分布式块存储设备关联的第三本地存储空间。
55.如前文所述可知,每个实例都有其专用的本地存储空间。在接收到临时文件之后,会进一步判断该临时文件的来源,也就是该临时文件是基于哪个数据库实例产生的。比如,若经过进一步判断发现该临时文件是基于第二数据库实例产生的,那么就不能将该临时文件存储到第一本地存储空间当中,而是需要将其存储到对应的第三本地存储空间当中。
56.基于相同的思路,本技术实施例还提供另一种数据处理方法。如图4为本技术实施例提供的另一种数据处理方法的流程示意图。该方法可用于存储节点,与计算节点配合实现对临时文件的高效存储。所述方法包括:
57.401:生成第一数据库实例对应的临时文件。
58.402:发送对所述临时文件的处理请求给分布式文件系统。
59.403:接收所述分布式文件系统反馈分布式块存储设备的盘符,以便将所述临时文件存储到所述分布式存储设备关联的第一本地存储空间。
60.在实际应用中,当第一数据库实例对分布式数据库中的数据进行相应操作之后,会产生对应的临时文件。这些临时文件通常需要进行存储到指定的存储空间当中。为了实现对临时文件的快速、高效存储,在生成临时文件之后,从分布式文件系统接收到其反馈盘符,该盘符是为第一数据库实例分配的分布式块存储设备对应的盘符。进而,将临时文件存储到与分布式存储设备关联的第一本地存储空间当中。需要说明的是,每个数据库实例都有其对应的专门用于存储临时文件的本地存储空间。需要说明的是,由于建立了第一本地存储空间标识与分布式存储设备之间的关联关系了,在进行临时文件存储的时候,仅需要
知道第一数据库实例对应的盘符即可实现对临时文件的存储。避免了存储过程中对存储空间进行选择的复杂操作过程。具体实现过程可参考图1至图3所述的各个实施例,这里就不再重复赘述。
61.在本技术一个或者多个实施例中,如图5为本技术实施例提供的临时文件存储方法的流程示意图。从图5中可以看到具体包括如下步骤,501:接收所述分布式文件系统反馈分布式块存储设备的盘符,若所述临时文件的大小超过所述第一本地存储空间的剩余空间,以便将所述临时文件存储到所述分布式块存储设备。502:若所述临时文件的大小超过所述分布式块存储设备的剩余空间,以便对所述分布式块存储设备进行扩容。
62.在进行临时文件存储的过程中,会优先将临时文件存储到第一本地存储空间当中。若临时文件的大小超过了第一本地存储空间中可用空间大小,并且,各个数据库实例的本地存储空间不是共享的,在无法将临时文件成功存储到第一本地存储空间的情况下,会将临时文件存储到盘符对应的分布式块存储设备当中。相对于本地存储空间来说,分布式块存储设备可以称为外部存储设备,这些分布式存储设备是可以根据需要进行扩容的。例如,若临时文件的大小超过了分布式存储设备的可用空间大小,那么可以为第一数据库实例对应的分布式存储设备进行扩容,使得临时文件能够被成功存储。具体实现过程可参考图1至图3所述的各个实施例,这里就不再重复赘述。
63.基于同样的思路,本技术实施例还提供一种数据处理系统。如图6为本技术实施例提供的数据处理系统结构示意图。从图6中可以看到,该系统包括:
64.文件系统61,用于获取临时文件;其中,所述临时文件是第一数据库实例对分布式数据库中的数据进行相应操作后产生的;确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备;将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间。
65.基于文件系统实现对临时文件存储的具体方案可参见图1至图3所示的各个实施例,这里就不再重复赘述。
66.数据库62,用于生成第一数据库实例对应的临时文件;发送对所述临时文件的处理请求给分布式文件系统;接收所述分布式文件系统反馈分布式块存储设备的盘符,以便将所述临时文件存储到所述分布式存储设备关联的第一本地存储空间。
67.基于数据库实现对临时文件存储的具体方案可参见图4至图5所示的各个实施例,这里就不再重复赘述。
68.基于图6可知,在该系统的物理设备上由一块本地存储盘和一块分布式块存储盘组成。然后,对外封装成一个逻辑盘形式呈现。逻辑盘的盘符直接使用分布式块存储盘的盘符(比如,d盘盘符为d:),这样进行数据库实例的临时文件处理时,只需要知道分布式块存储盘的盘符即可。也就是,在使用过程中,数据库不需要感知本地存储盘的存在。分布式数据库在打开临时文件之后,调用fcntl接口的f_setfl命令修改该临时文件的存储方式,文件系统在索引节点(inode)层面记录这个本地存储盘的标识(flag),表示这个临时文件的数据块分配到本地存储盘上。
69.基于同样的思路,本技术实施例还提供一种数据处理装置。如图7为本技术实施例提供的一种数据处理装置的结构示意图。该数据处理装置包括:
70.获取模块71,用于获取临时文件;其中,所述临时文件是第一数据库实例对分布式
数据库中的数据进行相应操作后产生的。
71.确定模块72,用于确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备。
72.存储模块73,用于将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间。
73.可选地,存储模块73,还用于若未将所述临时文件成功存储到所述第一本地存储空间,则将所述临时文件存储到所述分布式块存储设备。
74.可选地,确定模块72,还用于基于为所述第一数据库实例进行空间分配的分配请求,确定所述分布式块存储设备的第一块存储空间;将所述分布式存储设备中所述第一块存储空间分配给所述第一数据库实例。
75.可选地,确定模块72,还用于基于实例空间分配请求,确定所述第一本地存储空间及对应的第一本地存储空间标识;根据索引节点上的所述第一本地存储空间标识,建立所述分布式块存储设备与所述第一本地存储空间的关联关系。
76.可选地,存储模块73,还用于若所述所以索引节点上标记有所述第一本地存储空间标识,则将所述临时文件存储到所述第一本地存储空间。
77.可选地,存储模块73,还用于若所述临时文件未成功存储到所述分布式块存储设备,则对所述分布式块存储设备进行扩容得到第二块存储空间,以便将所述临时文件存储到扩容后第二块存储空间。
78.可选地,存储模块73,还用于若未将所述临时文件成功存储到所述第一本地存储空间,则对所述第一本地存储空间进行扩容得到第二本地存储空间,以便将所述临时文件存储到扩容后所述第二本地存储空间。
79.可选地,所述第一本地存储空间标识包括:本地硬盘盘符或在本地硬盘建立多个文件中的任一文件名。
80.可选地,存储模块73,还用于若所述临时文件是基于第二数据库实例对分布式数据库中数据进行相应操作产生的,则将所述临时文件存储到与分布式块存储设备关联的第三本地存储空间。
81.本技术一个实施例还提供一种电子设备。该电子设备为计算单元中主节点电子设备。如图8为本技术实施例提供的一种电子设备的结构示意图。该电子设备包括存储器801、处理器802及通信组件803;其中,
82.所述存储器801,用于存储程序;
83.所述处理器802,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
84.获取临时文件;其中,所述临时文件是第一数据库实例对分布式数据库中的数据进行相应操作后产生的;
85.确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备;
86.将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间。
87.上述存储器801可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器可以由任何
类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
88.进一步地,本实施例中的所述处理器802可以具体是:可编程交换处理芯片,该可编程交换处理芯片中配置有数据复制引擎,能对接收到的数据进行复制。
89.上述处理器802在执行存储器中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。进一步,如图8所示,电子设备还包括:电源组件804等其它组件。
90.本技术实施例还提供一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行图1至图3对应实施例所述的方法。
91.基于同样的思路,本技术实施例还提供一种数据处理装置。如图9为本技术实施例提供的另一种数据处理装置的结构示意图。该数据处理装置包括:
92.生成模块91,用于生成第一数据库实例对应的临时文件。
93.发送模块92,用于发送对所述临时文件的处理请求给分布式文件系统。
94.接收模块93,用于接收所述分布式文件系统反馈分布式块存储设备的盘符,以便将所述临时文件存储到所述分布式存储设备关联的第一本地存储空间。
95.可选地,接收模块93,还用于接收所述分布式文件系统反馈分布式块存储设备的盘符,若所述临时文件的大小超过所述第一本地存储空间的剩余空间,则将所述临时文件存储到所述分布式块存储设备;以及,
96.若所述临时文件的大小超过所述分布式块存储设备的剩余空间,则对所述分布式块存储设备进行扩容。
97.本技术实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现图4对应实施例所述的方法。
98.本技术一个实施例还提供一种电子设备。该电子设备为计算单元中备节点电子设备。如图10为本技术实施例提供的另一种电子设备的结构示意图。该电子设备包括存储器1001、处理器1002及通信组件1003;其中,
99.所述存储器1001,用于存储程序;
100.所述处理器1002,与所述存储器耦合,用于执行所述存储器中存储的所述程序,以用于:
101.生成第一数据库实例对应的临时文件;发送对所述临时文件的处理请求给分布式文件系统;接收所述分布式文件系统反馈分布式块存储设备的盘符,以便将所述临时文件存储到所述分布式存储设备关联的第一本地存储空间。
102.上述存储器1001可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
103.进一步地,本实施例中的所述处理器1002可以具体是:可编程交换处理芯片,该可
编程交换处理芯片中配置有数据复制引擎,能对接收到的数据进行复制。
104.上述处理器1002在执行存储器中的程序时,除了上面的功能之外,还可实现其它功能,具体可参见前面各实施例的描述。进一步,如图10所示,电子设备还包括:电源组件1004等其它组件。
105.本技术实施例还提供一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器执行图4对应实施例所述的方法。
106.本技术实施例还提供一种计算机程序产品,包括计算机程序/指令,当所述计算机程序/指令被处理器执行时,致使所述处理器能够实现图4对应实施例所述的方法。
107.基于上述实施例,获取临时文件;其中,所述临时文件是第一数据库实例对分布式数据库中的数据进行相应操作后产生的;确定在所述分布式数据库的文件系统中为所述第一数据库实例分配的分布式块存储设备;将所述临时文件存储到与所述分布式块存储设备关联的第一本地存储空间。基于上述实施例,通过在分布式文件系统中为每个数据库实例单独分配一个对应的分布式块存储设备以及关联的第一本地存储空间,使得产生的临时文件能够得到及时存储处理。在对临时文件进行存储的时候,优先存储到第一本地存储空间当中,避免因为临时文件处理速度问题影响数据库正常运行,能够有效提高分布式数据库中对临时文件的处理效率。
108.以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
109.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
110.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1