掌桥专利:专业的专利平台
掌桥专利
首页

节点设置方法、数据存储方法、电子设备和存储介质

文献发布时间:2023-06-19 18:58:26


节点设置方法、数据存储方法、电子设备和存储介质

技术领域

本申请涉及互联网技术领域,具体而言,涉及节点设置方法、数据存5储方法、电子设备和存储介质。

背景技术

随着互联网相关技术的不断发展,用户网络活动所产生的数据存在极

高的挖掘价值,因此通常需要对该数据进行存储,并且为了防止由于设备0故障等原因导致所存储的数据丢失,往往还会将该数据进行备份。

现有技术一般通过设置主节点和备用节点的方式对数据进行备份,该方式在获取到数据之后,先将数据存储至主节点,然后根据预设时间周期,再将主节点的数据同步至备用节点。然而,该方式由于主节点和备用节点

之间进行数据同步存在一定的时间差(即该时间周期),若主节点在该时间5差内发生故障,会导致该时间差内的数据丢失。

发明内容

本申请实施例的目的在于提供节点设置方法、数据存储方法、电子设备和存储介质,用于解决现有数据备份方式容易导致数据丢失的问题。

0本申请实施例第一方面提供了一种数据存储方法,各个存储节点分别设置有对应的稀疏文件,所述稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,所述方法包括:

获取数据存储指令,所述数据存储指令包括数据存储地址和待存储数据;

5根据所述数据存储指令,将所述待存储数据写入至各个稀疏文件中,所述数据存储地址所指示的虚拟存储地址;

将各个稀疏文件中,所述数据存储地址所指示的虚拟存储地址中所写入的待存储数据,分别写入至对应存储节点中,与所述虚拟存储地址一一对应的物理存储地址。

于一实施例中,所述方法还包括:

针对各个存储节点,创建与所述存储节点对应的稀疏文件,其中,所述稀疏文件的虚拟存储空间的存储量,与所述存储节点的物理存储空间的存储量相同;

将各个存储节点的物理存储空间分别划分为多个物理存储子空间,并针对各个物理存储子空间设置对应的物理存储地址;

根据各个物理存储子空间的划分方式,将各个稀疏文件的虚拟存储空间划分为与所述物理存储子空间一一对应的虚拟存储子空间,并针对各个虚拟存储子空间设置对应的虚拟存储地址。

于一实施例中,所述方法还包括:

获取用户所输入的数据存储请求,所述数据存储请求携带所述待存储数据;

根据所述待存储数据的数据量以及所述虚拟存储子空间的存储量,确定所述数据存储地址;

根据所述数据存储地址和所述待存储数据,生成所述数据存储指令。

于一实施例中,将各个存储节点的物理存储空间分别划分为多个物理存储子空间,具体包括:

将各个存储节点的物理存储空间分别划分为,多个存储量为4KB的物理存储子空间。

于一实施例中,所述方法还包括:

获取新增存储节点的指令;

针对新增存储节点以及各个存储节点,分别创建对应的新稀疏文件,其中,所述新稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应。

于一实施例中,所述方法还包括:

将所述稀疏文件中的数据,同步至所述新增存储节点所对应的新稀疏文件。

于一实施例中,在根据所述数据存储指令,将所述待存储数据写入至各个稀疏文件中,所述数据存储地址所指示的虚拟存储地址之后,所述方法还包括:利用索引文件对各个稀疏文件的所述虚拟存储地址,写入所述待存储数据进行记录。

本申请实施例第二方面提供了一种节点设置方法,各个存储节点分别设置有对应的稀疏文件,所述稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,包括:

获取新增存储节点的指令;

针对新增存储节点以及各个存储节点,分别创建对应的新稀疏文件,其中,所述新稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,以使得在获取到第二数据存储指令的情况下,能够根据所述第二数据存储指令,将所述第二数据存储指令中的待存储数据,写入至各个新稀疏文件中,所述第二数据存储指令的数据存储地址所指示的虚拟存储地址,进而写入至对应存储节点中,与所述虚拟存储地址一一对应的物理存储地址。

本申请实施例第三方面提供了一种电子设备,包括:

处理器;

用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行本申请实施例第一方面任意一项所述的方法。

本申请实施例第四方面提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行,以完成本申请实施例第一方面任意一项所述的方法。

采用本申请实施例的数据存储方法,通过对各个存储节点分别设置对应的稀疏文件,并使稀疏文件中的各个虚拟存储地址与所对应存储节点中

的各个物理存储地址一一对应,这样在数据存储过程中,先将数据存储指5令中的待存储数据写入至各个稀疏文件中的虚拟存储地址,然后再将各个稀疏文件中,该虚拟存储地址中所写入的待存储数据,分别写入至对应存储节点中,与该虚拟存储地址一一对应的物理存储地址,因此相对于现有技术通过主节点和备用节点的备份方式,由于不存在主节点和备用节点之

间的时间差,此时即使某一个存储节点发生故障,其他存储节点仍能够进0行数据的存储,因此数据不容易丢失。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例

中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请5的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人

员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请一实施例提供的电子设备的结构示意图;

图2为本申请一实施例提供的,电子设备与终端的交互示意图;

图3为本申请一实施例提供的,节点设置方法的具体流程示意图;

图4为本申请一实施例提供的,数据存储方法的具体流程示意图;

图5为本申请另一实施例提供的,节点设置方法的具体流程示意图;

图6为本申请另一实施例提供的,节点设置方法具体实例的示意图;

图7为本申请另一实施例提供的,数据存储方法的具体流程示意图;

图8为本申请一实施例提供的,数据存储装置的具体结构示意图;

图9为本申请一实施例提供的,节点设置装置的具体结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。在本申请的描述中,诸如“第一”、“第二”、“第三”等术语仅用于区分描述,而不能理解为指示或暗示相对重要性或先后顺序。

如前所述,现有技术一般通过设置主节点和备用节点的方式对数据进行备份,该方式由于主节点和备用节点之间进行数据同步存在一定的时间差,即主节点存储数据之后,根据预设时间周期(比如,1小时、1天等),再将主节点的数据同步至备用节点,此时若主节点在该时间差内发生故障,会导致该时间差内的数据丢失,因此现有的这种数据备份方式容易导致数据丢失。

有鉴于此,本申请实施例提供了一种节点设置方法、数据存储方法、电子设备和存储介质,均能够用于解决现有的这种数据备份方式,容易导致数据丢失的问题。如图1所示,本实施例提供一种电子设备1,该电子设备1包括:至少一个处理器11和存储器12,图1中以一个处理器为例。处理器11和存储器12可以通过总线10连接,存储器12存储有可被处理器11执行的指令,指令被处理器11执行,以使电子设备1可执行下述的实施例中各个方法的全部或部分流程。

在实际应用中,该电子设备1可以是手机、笔记本电脑、台式电脑等,结合本申请对数据进行备份的应用场景,该电子设备1可也以为服务端的服务器或服务器集群中的存储节点,从而用于对数据进行存储。

如图2所示,电子设备1还可以对接一个或多个终端2,电子设备1可以分别和每个终端2进行数据通信。终端2能够产生数据,比如该终端2可以是用户的手机、电脑或其他类型的终端,这样用户能够在终端2上进行网络活动等,从而产生数据。因此,于一实施例中,当用户在终端2上的网络活动产生数据之后,将该数据发送到该电子设备1,从而通过该电子设备1对该数据进行存储。

为了便于理解,这里可以先对本申请实施例的发明思路进行简单说明。本申请实施例提供多个存储节点,并且各个存储节点分别设置有对应的稀

疏文件,其中,对于各个存储节点所对应的稀疏文件,该稀疏文件中的各5个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,也就是说,对于稀疏文件中的某个虚拟存储地址,在该虚拟存储地址在该稀疏文件所对应的存储节点中,有一一对应的物理存储地址,当然对于存储节点中的某个物理存储地址,在该存储节点所对应的稀疏文件中,也有一一对应的虚拟存储地址。

0其中,对于稀疏文件而言,与普通的文件相比,稀疏文件中的各个虚拟存储地址在写入数据之前,被默认都是空洞的,并不占据存储空间。所以在实际应用中,即使某个稀疏文件的虚拟存储空间的存储量为10GB,但若该10GB的存储量并没有写入数据,各个存储地址是空洞的,此时实际占

用的存储空间为0GB。当然,若稀疏文件中的某个或某些虚拟存储地址写5入了数据,则这些写入了数据的虚拟存储地址会占据相应的存储空间,但其他没有被写入数据的虚拟存储地址,仍然不会占据存储空间。

需要说明的是,对于多个存储节点中的各个存储节点以及各个节点分别对应的稀疏文件,可以通过本申请实施例所提供的节点设置方法来生成,如图3所示,该方法包括如下步骤:

0步骤S31:针对各个存储节点,创建与该存储节点对应的稀疏文件。

其中,由于对于各个存储节点所对应的稀疏文件,该稀疏文件中的各个虚拟存储地址需要与所对应存储节点中的各个物理存储地址一一对应。因此在该步骤S31中,所创建的稀疏文件的虚拟存储空间的存储量,与所

对应的存储节点的物理存储空间的存储量相同。比如,对于某个存储节点,5其物理存储空间的存储量为1GB,则所创建的与该存储节点对应的稀疏文件的虚拟存储空间的存储量也为1GB,这样由于两者的存储量相同,为后续虚拟存储地址与物理存储地址的一一对应提供了基础。

步骤S32:将各个存储节点的物理存储空间分别划分为多个物理存储子空间,并针对各个物理存储子空间设置对应的物理存储地址。

在该步骤S32中,具体可以针对各个存储节点,将该存储节点的物理存储空间划分为多个物理存储子空间,然后针对各个物理存储子空间设置对应的物理存储地址,其中,对于所划分的各个物理存储子空间的存储量大小可以相同,比如各个物理存储子空间的存储量大小可以均为3KB、4KB、5KB或其他值。

特别是考虑到文件系统的数据处理格式通常为4KB,因此在该步骤S32中,可以将各个存储节点的物理存储空间分别划分为,多个存储量为4KB的物理存储子空间。也就是说,在该步骤S32中,所划分得到的各个物理存储子空间的存储量大小均为4KB,从而与文件系统的数据处理格式相匹配,以提高数据写入效率和降低存储资源的浪费。

当然,在将各个存储节点的物理存储空间分别划分为多个物理存储子空间,可以进一步针对各个物理存储子空间设置对应的物理存储地址,比如可以针对各个物理存储子空间设置对应的编号等,作为该物理存储地址。

步骤S33:根据各个物理存储子空间的划分方式,将各个稀疏文件的虚拟存储空间划分为与该物理存储子空间一一对应的虚拟存储子空间,并针对各个虚拟存储子空间设置对应的虚拟存储地址。

在该步骤S33中,可以根据各个物理存储子空间的划分方式,比如在上述步骤S32中,划分得到的物理存储子空间的存储量大小均为4KB,此时在该步骤S33中,也可以将各个稀疏文件的虚拟存储空间的存储量大小划分4KB,从而与物理存储子空间一一对应。并且,在划分得到多个虚拟存储子空间,也针对各个虚拟存储子空间设置对应的虚拟存储地址,通过该方式,最终使稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应。

因此通过该方法中的步骤S31~步骤S33,能够创建多个存储节点,并且各个存储节点分别设置有对应的稀疏文件,而且对于各个存储节点所对应的稀疏文件,该稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,从而为本申请实施例所提供的数据存储方法提供了实现的基础。

基于上述的各个存储节点以及各个存储节点所对应的稀疏文件,本申请实施例提供了一种数据存储方法。如图4所示为该方法的具体流程示意图,该方法包括如下步骤:

步骤S41:获取数据存储指令,该数据存储指令包括数据存储地址和待存储数据。

步骤S42:根据该数据存储指令,将该待存储数据写入至各个稀疏文件中,该数据存储地址所指示的虚拟存储地址。

步骤S43:将各个稀疏文件中,该数据存储地址所指示的虚拟存储地址中所写入的待存储数据,分别写入至对应存储节点中,与该虚拟存储地址一一对应的物理存储地址。

这里可以对上述的步骤S41~步骤S43进行统一说明。

在实际应用中,对于电子设备的文件系统的而言,通常通过ISCSI(InternetSCSI)机制来进行数据的写入,该过程包括获取用户所输入的数据存储请求,该数据存储请求携带待存储数据,然后根据该数据存储请求生成对应的SCSI指令,其中,该SCSI指令包括存储节点中物理存储空间的物理存储地址,进而将该待存储数据直接写入至该物理存储地址。由于现有文件系统的该ISCSI机制并没有提供多副本的机制,导致难以同时写入存储节点。

而本申请实施例所提供的数据存储方法中,对于该步骤S41,也可以具体是,获取用户所输入的数据存储请求,该数据存储请求携带待存储数据,然后根据该待存储数据的数据量以及虚拟存储子空间的存储量,确定数据存储地址,然后根据数据存储地址和待存储数据,生成数据存储指令。

比如,用户可以通过文件系统的操作界面来输入该数据存储请求,使电子设备的文件系统获取到用户所输入的数据存储请求,然后文件系统可以根据待存储数据的数据量以及虚拟存储子空间的存储量,来确定数据存储地址。

比如,这里以各个物理存储子空间的存储量大小均为4KB,并且各个虚拟存储子空间的存储量也为4KB为例进行说明,可以对各个虚拟存储子空间是否已写入数据进行记录,比如可以创建索引文件,并利用该索引文件对稀疏文件各个虚拟存储地址是否已写入数据进行记录。这样在获取到该数据存储请求之后,若该数据存储请求中的待存储数据的数据量小于或等于4KB,则可以查询该索引文件,从而获取未写入数据的虚拟存储子空间(可以是任意一个未写入数据的虚拟存储子空间),然后将该虚拟存储子空间的虚拟存储地址,确定为该数据存储地址;当然,在该待存储数据的数据量大于4KB的情况下,可以查询该索引文件,先确定第一个虚拟存储子空间,然后使用offset+len(buf)来计算最后一个虚拟存储子空间,然后获取该第一个虚拟存储子空间至最后一个虚拟存储子空间的虚拟存储地址,并将该第一个虚拟存储子空间至最后一个虚拟存储子空间的虚拟存储地址,确定为该数据存储地址。

在确定出数据存储地址之后,进一步根据该数据存储地址和待存储数据,生成数据存储指令,比如可以根据该数据存储地址和待存储数据生成对应的SCSI指令。

对于上述的步骤S42,可以根据步骤S41所获取的数据存储指令,将该数据存储指令的待存储数据写入至各个稀疏文件中,该数据存储地址所指示的虚拟存储地址。然后在步骤S43中,针对各个存储节点,将该存储节点所对应的稀疏文件中,该虚拟存储地址所写入的待存储数据,分别写入至该虚拟存储地址一一对应的物理存储地址,从而将该待存储数据写入至存储节点,实现了数据的备份。

因此,采用本申请实施例的数据存储方法,通过对各个存储节点分别设置对应的稀疏文件,并使稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,这样在数据存储过程中,先将数据存储指令中的待存储数据写入至各个稀疏文件中的虚拟存储地址,然后再将各个稀疏文件中,该虚拟存储地址中所写入的待存储数据,分别写入至对应存储节点中,与该虚拟存储地址一一对应的物理存储地址,因此相对于现有技术通过主节点和备用节点的备份方式,由于不存在主节点和备用节点之间的时间差,此时即使某一个存储节点发生故障,其他存储节点仍能够进行数据的存储,因此数据不容易丢失。

另外,在实际应用中,在各个稀疏文件之外,还可以创建索引文件,并利用该索引文件对稀疏文件各个虚拟存储地址是否已写入数据进行记录,比如,在上述的步骤S43之后,利用该索引文件对各个稀疏文件的虚拟存储地址,写入待存储数据进行记录,从而在接收到新数据存储指令的情况下,便于利用该索引文件进行确定数据存储地址。

本申请上述实施例所提供的节点设置方法,能够创建多个存储节点,并设置各个存储节点分别对应的稀疏文件,进而通过上述实施例的数据存储方法实现对数据的备份。在实际应用中,本申请实施例还可以提供另一种节点设置方法,在现有的多个存储节点的情况下,进一步增加新增存储节点。其中,现有的多个存储节点分别设置有对应的稀疏文件,对于如何新增存储节点,可以通过如图5所示的节点设置方法来实现,该方法包括如下步骤:

步骤S51:获取新增存储节点的指令。

步骤S52:针对新增存储节点以及各个存储节点,分别创建对应的新稀疏文件。

因此在该步骤S52中,所创建的新稀疏文件的虚拟存储空间的存储量,与所对应的存储节点(或该新增存储节点)的物理存储空间的存储量相同。

如图6所示,现有的各个存储节点分别为存储节点1、存储节点2,该存储节点1、存储节点2分别设置有对应的稀疏文件D1,存储节点3为新增存储节点。

此时在该步骤S51中,获取新增存储节点的指令,比如该指令可以由用户通过操作界面进行输入。比如,在业务量增大、设备故障率增高等情况下,在现有存储节点1、存储节点2的基础上,需要进一步增加新增存储节点,此时用户可以通过操作界面输入该指令。这样在该步骤S52中,针对存储节点1、存储节点2和存储节点3,分别创建对应的新稀疏文件,即图6中的稀疏文件D2。

步骤S53:将该新增存储节点以及各个存储节点的物理存储空间分别划分为多个物理存储子空间,并针对各个物理存储子空间设置对应的物理存储地址。

在该步骤S53中,将新增存储节点以及现有的各个存储节点的物理存储空间,分别划分为多个物理存储子空间,并针对各个物理存储子空间设置对应的物理存储地址,对于该步骤S53的具体实现方式,可以与上述的步骤S32相同,这里不再赘述。

步骤S54:根据各个物理存储子空间的划分方式,将各个新稀疏文件的虚拟存储空间划分为与该物理存储子空间一一对应的虚拟存储子空间,并针对各个虚拟存储子空间设置对应的虚拟存储地址。

对于该步骤S54的实现方式,可以与上述的步骤S33相同,这里不再赘述。

在实际应用中,考虑到业务的连续性处理,当需要新增存储节点时,还可以采用另一种方式,即暂停现有存储节点的服务,然后增设该新增存储节点,但该方式会影响业务的连续处理;当然,还可以直接针对该新增存储节点,复制现有存储节点的稀疏文件,作为该新增存储节点的稀疏文件,该方式由于在复制该稀疏文件的过程中,现有存储节点在连续性处理业务,所复制的稀疏文件仍然会存在数据缺失,导致新增存储节点的稀疏文件与现有存储节点的稀疏文件之间数据不一致。

而本申请实施例步骤S51~步骤S54所提供的方法,针对新增存储节点以及各个存储节点,分别创建对应的新稀疏文件,然后将使该新稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,之后在数据存储过程中,只需要切换到写入至该新稀疏文件即可,便于实现各个稀疏文件之间的数据一致性。

当然,在通过上述步骤S51~步骤S54来设置新存储节点之后,该方法还可以包括,将稀疏文件中的数据,同步至该新增存储节点所对应的新稀疏文件。比如,在上述图6中,将稀疏文件D1的数据,同步至存储节点3所对应的新稀疏文件D2中,比如可以在存储节点1或存储节点2中创建数据发送服务,并在存储节点3创建数据接收服务,从而将稀疏文件D1的数据发送到存储节点3,进而写入至新稀疏文件D2中。对于该稀疏文件D1与新稀疏文件D2之间的数据同步,即使存储节点1发生故障,也可以将存储节点2中的稀疏文件D1中的数据发送到存储节点3,从而实现该数据同步,特别是在现有存储节点的数量越多的情况下,只有当现有的各个存储节点均出现故障时,才会导致不能完成该数据同步,因此该数据同步方式的容错率较高。

需要说明的是,存储节点1或存储节点2中所创建的数据发送服务在数据发送过程中,考虑到所发送的数据为稀疏文件中的数据,可能存在大量的空洞,因此在发送数据之前,可以先判断该数据是否为空洞,若是则不进行发送(比如可以丢弃该数据),若否,则进行发送,从而降低数据发送量。

另外,对于现有存储节点1、存储节点2所对应的新稀疏文件D2,一种方式也可以是将稀疏文件D1中的数据同步至该新稀疏文件D2中;另一种方式还可以是,由于现有存储节点(存储节点1、存储节点2)中同时存在该稀疏文件D1和新稀疏文件D2,可以利用快照技术对现有存储节点中的稀疏文件D1和新稀疏文件D2进行数据分层,从而通过该数据分层,使得并不需要将现有存储节点中稀疏文件D1的数据,同步到现有存储节点中的新稀疏文件D2,降低了处理量。

当然,在通过上述的步骤S51~步骤S54,在现有多个存储节点的基础上,进一步增设该新增存储节点之后,该现有的多个存储节点以及该新增存储节点分别设置有对应的稀疏文件(即,该新稀疏文件),并且该新稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应。这样在之后的数据存储过程中,可以通过如下的数据存储方法进行呢数据存储,如图7所示为该方法的具体流程示意图,该方法包括如下步骤:

步骤S61:获取到第二数据存储指令,该第二数据存储指令包括数据存储地址和待存储数据。

对于该步骤S61的具体说明,可以参考上述的步骤S41,这里对此不再赘述。

步骤S62:根据该第二数据存储指令,将第二数据存储指令中的待存储数据写入至各个新稀疏文件中,该第二数据存储指令中数据存储地址所指示的虚拟存储地址。

对于该步骤S62的具体说明,可以参考上述的步骤S42,这里对此不再赘述。

步骤S63:将各个新稀疏文件中,该数据存储地址所指示的虚拟存储地址中所写入的待存储数据,分别写入至对应存储节点中,与该虚拟存储地址一一对应的物理存储地址。

对于该步骤S63的具体说明,可以参考上述的步骤S43,这里对此不再赘述。

显然,该步骤S61~步骤S63的数据存储方法,也能够解决现有技术中的问题,这里对此不再赘述。

基于与本申请实施例所提供的数据存储方法相同的发明构思,本申请实施例还提供了一种数据存储装置,对于该装置实施例,如有不清楚之处,可以参考方法实施例的相应内容。其中,各个存储节点分别设置有对应的稀疏文件,所述稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应。如图8所示为该装置70的具体结构示意图,该装置70包括:数据存储指令获取单元701、虚拟存储地址写入单元702和物理存储地址写入单元703,其中:

数据存储指令获取单元701,用于获取数据存储指令,所述数据存储指令包括数据存储地址和待存储数据;

虚拟存储地址写入单元702,用于根据所述数据存储指令,将所述待存储数据写入至各个稀疏文件中,所述数据存储地址所指示的虚拟存储地址;

物理存储地址写入单元703,用于将各个稀疏文件中,所述数据存储地址所指示的虚拟存储地址中所写入的待存储数据,分别写入至对应存储节点中,与所述虚拟存储地址一一对应的物理存储地址。

采用本申请实施例所提供的装置70,由于该装置70采用与本申请实施例所提供的数据存储方法相同具有相同的发明构思,在该方法能够解决技术问题的前提下,该装置70也能够解决技术问题,这里对此不再赘述。

另外,在实际应用中,通过将该装置70与具体硬件设备、云技术等相结合所取得的技术效果,也在本申请的保护范围之内,比如采用分布式集群的方式将该装置70中的不同单元布设于分布式集群中的不同节点中,从而提高效率等;或,将该装置70中的部分单元布设于云端,从而降低成本等。

该装置70还可以包括节点设置单元,用于针对各个存储节点,创建与所述存储节点对应的稀疏文件,其中,所述稀疏文件的虚拟存储空间的存储量,与所述存储节点的物理存储空间的存储量相同;将各个存储节点的物理存储空间分别划分为多个物理存储子空间,并针对各个物理存储子空间设置对应的物理存储地址;根据各个物理存储子空间的划分方式,将各个稀疏文件的虚拟存储空间划分为与所述物理存储子空间一一对应的虚拟存储子空间,并针对各个虚拟存储子空间设置对应的虚拟存储地址。

该装置70还可以包括数据存储指令生成单元,用于获取用户所输入的数据存储请求,所述数据存储请求携带所述待存储数据;根据所述待存储数据的数据量以及所述虚拟存储子空间的存储量,确定所述数据存储地址;根据所述数据存储地址和所述待存储数据,生成所述数据存储指令。

其中,将各个存储节点的物理存储空间分别划分为多个物理存储子空间,可以具体包括:将各个存储节点的物理存储空间分别划分为,多个存储量为4KB的物理存储子空间。

该装置70还可以包括节点新增单元,用于获取新增存储节点的指令;针对新增存储节点以及各个存储节点,分别创建对应的新稀疏文件,其中,所述新稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应。

该装置70还可以包括数据同步单元,用于将所述稀疏文件中的数据,同步至所述新增存储节点所对应的新稀疏文件。

该装置70还可以包括:记录单元,用于利用索引文件对各个稀疏文件的所述虚拟存储地址,写入所述待存储数据进行记录。

基于与本申请实施例所提供的节点设置方法相同的发明构思,本申请实施例还提供了一种节点设置装置,对于该装置实施例,如有不清楚之处,可以参考方法实施例的相应内容。其中,各个存储节点分别设置有对应的稀疏文件,所述稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应。如图9所示为该装置80的具体结构示意图,该装置80包括:指令获取单元801和新稀疏文件创建单元802,其中:

指令获取单元801,用于获取新增存储节点的指令;

新稀疏文件创建单元802,用于针对新增存储节点以及各个存储节点,分别创建对应的新稀疏文件,其中,所述新稀疏文件中的各个虚拟存储地址与所对应存储节点中的各个物理存储地址一一对应,以使得在获取到第二数据存储指令的情况下,能够根据所述第二数据存储指令,将所述第二数据存储指令中的待存储数据,写入至各个新稀疏文件中,所述第二数据存储指令的数据存储地址所指示的虚拟存储地址,进而写入至对应存储节点中,与所述虚拟存储地址一一对应的物理存储地址。

本发明实施例还提供了一种存储介质,该存储介质存储有计算机程序,计算机程序可由处理器执行以完成本申请实施例中方法的全部或部分流程。其中,存储介质可为磁盘、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等。存储介质还可以包括上述种类的存储器的组合。

虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

相关技术
  • 多版本数据存储管理方法及装置、电子设备、存储介质
  • 海量数据存储方法、装置、存储介质及电子设备
  • 数据存储方法、装置、电子设备及存储介质
  • 区块链的数据存储方法、装置、区块链节点及存储介质
  • 一种即时通信的数据存储方法、装置、电子设备和介质
  • 数据存储方法、数据存储设备、电子设备和可读存储介质
  • 数据存储方法、数据存储装置、电子设备、存储介质
技术分类

06120115751270