CN112637327B - 一种数据处理方法、装置及系统 - Google Patents
一种数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN112637327B CN112637327B CN202011519635.4A CN202011519635A CN112637327B CN 112637327 B CN112637327 B CN 112637327B CN 202011519635 A CN202011519635 A CN 202011519635A CN 112637327 B CN112637327 B CN 112637327B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- node
- target
- control device
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据处理方法、装置及系统,该技术方案首先按照数据分布算法计算数据在存储集群中的存储位置,当按照数据分布算法计算出的数据存储节点剩余容量不足时,从其他存储节点中选择剩余容量满足该数据的数据量要求的存储节点,来存储该数据。这样,可以保证数据被写入存储集群中的存储节点,极大地提升各存储节点的空间利用率,降低存储成本,避免存储集群中各存储节点数据存储不均衡的问题。另外,也避免再平衡增加额外资源开销及失败可能性较大的问题。
Description
技术领域
本申请涉及分布式数据存储技术领域,尤其涉及一种数据处理方法、装置及系统。
背景技术
随着大规模存储应用需求的增加,分布式存储系统采用可扩展的系统结构,利用多台存储设备分担存储负荷,不但提高了系统的可靠性、可用性和存取效率,还易于扩展。
但是,现有的分布式存储方式,基于一致性哈希、CRUSH等数据分布算法,通常会造成各存储设备上的数据分布不均,导致单个存储设备的数据量远高于其它存储设备,这样,就使得各存储设备的全部存储容量难以被全部使用,可能写到70%~90%就无法继续写入,各存储设备的存储利用率较低。这对于大规模存储集群来说,浪费的存储容量相当可观。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种数据处理方法、装置及系统。
一方面,本申请提供了一种数据处理方法,包括:
获取数据写入请求,所述数据写入请求中包括待写入数据的第一键值;
根据通过数据分布算法对所述第一键值进行计算得到的第一特征值,确定在存储集群中所述待写入数据对应的第一初始存储节点,其中,所述存储集群包括至少两台存储服务器,每台所述存储服务器上包括至少一个存储节点;
当所述第一初始存储节点的剩余容量小于所述待写入数据的数据量时,从所述存储集群中选择剩余容量大于所述数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由所述存储节点所在存储服务器上的存储控制装置获取并上报;
将数据写入操作指令发送到所述第一目标存储节点对应的第一存储控制装置,所述数据写入操作指令包括所述待写入数据及所述第一目标存储节点的第一目标节点地址,由所述第一存储控制装置根据所述数据写入操作指令将所述待写入数据写入所述第一目标存储节点。
可选的,所述从所述存储集群中选择剩余容量大于所述数据量的存储节点作为第一目标存储节点,包括:
从所述剩余容量大于所述数据量的存储节点中,选择所述剩余容量最小的存储节点作为第一目标存储节点。
可选的,所述方法还包括:
确定所述第一目标存储节点对应的第一目标节点地址,及所述待写入数据在所述第一初始存储节点中的第一初始存储位置信息;
当所述第一初始存储节点的剩余容量大于所述第一目标节点地址的字节数时,将地址写入操作指令发送至所述第一初始存储节点所在存储服务器上的第二存储控制装置,所述地址写入操作指令包括所述第一目标节点地址及所述第一初始存储位置信息;由所述第二存储控制装置根据所述地址写入操作指令将所述第一目标节点地址写入所述第一初始存储位置信息对应的存储位置。
可选的,所述方法还包括:
接收数据读取请求,所述数据读取请求中包括待读取数据的第二键值;
根据通过所述数据分布算法对所述第二键值进行计算得到的第二特征值,确定在所述存储集群中所述待读取数据对应的第二初始存储位置信息;
将第一数据读取操作指令发送至所述第二初始存储位置信息对应的第三存储控制装置,所述第一数据读取操作指令包括:所述第二初始存储位置信息;
当接收到所述第三存储控制装置根据所述第二初始存储位置信息读取到的第二目标节点地址时,将第二数据读取操作指令发送至所述第二目标节点地址对应的第四存储控制装置,所述第二数据读取操作指令包括:所述第二目标节点地址及所述第二键值;由所述第四存储控制装置在所述第二目标节点地址对应的第二目标存储节点中,查找所述第二键值对应的所述待读取数据;
接收来自于所述第四存储控制装置的所述待读取数据。
另一方面,本申请提供了一种代理服务器,包括:
获取模块,用于获取数据写入请求,所述数据写入请求中包括待写入数据的第一键值;
寻址模块,用于根据通过数据分布算法对所述第一键值进行计算得到的第一特征值,确定在存储集群中所述待写入数据对应的第一初始存储节点,其中,所述存储集群包括至少两台存储服务器,每台所述存储服务器上包括至少一个存储节点;
选择模块,用于当所述第一初始存储节点的剩余容量小于所述待写入数据的数据量时,从所述存储集群中选择剩余容量大于所述数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由所述存储节点所在存储服务器上的存储控制装置获取并上报;
发送模块,用于将数据写入操作指令发送到所述第一目标存储节点对应的目标存储控制装置,所述数据写入操作指令包括所述待写入数据及所述第一目标存储节点的第一目标节点地址,由所述目标存储控制装置根据所述数据写入操作指令将所述待写入数据写入所述第一目标存储节点。
另一方面,本申请提供了一种数据处理系统,包括:代理服务器和存储控制装置;其中,所述存储控制装置位于存储集群的各存储服务器上;所述存储集群包括至少两台存储服务器,所述存储服务器上包括至少一个存储节点;
所述存储控制装置,用于获取所述存储服务器上各存储节点的剩余容量,并上报至所述代理服务器;
所述代理服务器,用于获取数据写入请求,所述数据写入请求中包括待写入数据的第一键值;根据通过数据分布算法对所述第一键值进行计算得到的第一特征值,确定在所述存储集群中所述待写入数据对应的第一初始存储节点;当所述第一初始存储节点的剩余容量小于所述待写入数据的数据量时,从所述存储集群中选择剩余容量大于所述数据量,且剩余容量最小的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由所述存储节点所在存储服务器上的存储控制装置获取并上报;确定所述第一目标存储节点对应的第一存储服务器;将数据写入操作指令发送到所述第一存储服务器上的第一存储控制装置,所述数据写入操作指令包括所述待写入数据及所述第一目标存储节点的第一目标节点地址;
所述第一存储控制装置,用于根据所述代理服务器发送的所述数据写入操作指令,将所述待写入数据写入到所述第一目标节点地址对应的第一目标存储节点。
可选的,所述代理服务器,还用于确定所述第一目标存储节点对应的第一目标节点地址,及所述待写入数据在所述第一初始存储节点中的第一初始存储位置信息;当所述第一初始存储节点的剩余容量大于所述第一目标节点地址的字节数时,将地址写入操作指令发送至所述第一初始存储节点所在存储服务器上的第二存储控制装置,所述地址写入操作指令包括所述第一目标节点地址及所述第一初始存储位置信息;
所述第二存储控制装置,用于根据所述地址写入操作指令将所述第一目标节点地址写入所述第一初始存储位置信息对应的存储位置。
可选的,所述代理服务器,还用于接收数据读取请求,所述数据读取请求中包括待读取数据的第二键值;根据通过所述数据分布算法对所述第二键值进行计算得到的第二特征值,确定在所述存储集群中所述待读取数据对应的第二初始存储位置信息;将第一数据读取操作指令发送至所述第二初始存储位置信息对应的第三存储控制装置,所述第一数据读取操作指令包括:所述第二初始存储位置信息;
所述第三存储控制装置,用于当根据所述第一数据读取操作指令,从所述第二初始存储位置信息对应的存储位置,读取到第二目标节点地址时,将所述第二目标节点地址发送到所述代理服务器;
所述代理服务器,还用于将第二数据读取操作指令发送至所述第二目标节点地址对应的第四存储控制装置,所述第二数据读取操作指令包括:所述第二目标节点地址及所述第二键值;
所述第四存储控制装置,用于根据所述第二数据读取操作指令,在所述第二目标节点地址对应的第二目标存储节点中,查找所述第二键值对应的所述待读取数据;并将所述待读取数据发送至所述代理服务器。
根据本申请实施例的另一个方面,提供了一种电子设备,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行计算机程序时,实现上述方法步骤。
根据本申请实施例的另一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
本申请实施例的技术方案,首先按照数据分布算法计算数据在存储集群中的存储位置,当按照数据分布算法计算出的数据存储节点剩余容量不足时,从其他存储节点中选择剩余容量满足该数据的数据量的存储节点,来存储该数据。这样,可以保证数据被写入存储集群中的存储节点,极大地提升各存储节点的空间利用率,降低存储成本,避免存储集群中各存储节点数据存储不均衡的问题。另外,也避免再平衡增加额外资源开销及失败可能性较大的问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种数据处理系统的框图;
图2为本申请实施例提供的一种数据处理方法的流程图;
图3为本申请另一实施例提供的一种数据处理方法的流程图;
图4为本申请另一实施例提供的一种数据处理方法的流程图;
图5为本申请另一实施例提供的一种数据处理方法的流程图;
图6为本申请另一实施例提供的一种数据处理方法的流程图;
图7为本申请另一实施例提供的一种数据处理方法的流程图;
图8为本申请实施例提供的一种代理服务器的框图;
图9为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
相关技术中,为解决分布式存储空间部分浪费的技术问题,可以采用以下方式:
第一种,按照一致性哈希算法进行手工再平衡,这会引起数据迁移,考虑到集群当前容量已接近写满,反而会导致数据不均衡加剧甚至失效;
第二种,进行物理扩容,即增加存储设备,同时再平衡各存储设备的权重,但是这种方法增加了资源开销,本质上其存储利用率并没有实际提高。
为克服相关技术中的缺陷,解决分布式存储空间部分浪费的技术问题,本申请实施例首先按照数据分布算法计算数据在存储集群中的存储位置,存储集群当按照数据分布算法计算出的数据存储节点剩余容量不足时,从其他存储节点中选择剩余容量满足该数据的数据量的存储节点,来存储该数据。这样,可以极大地提升各存储节点的空间利用率。
下面首先对本申请实施例的数据处理系统进行详细说明。
图1为本申请实施例提供的一种数据处理系统的框图。如图1所示,存储集群1包括至少两台存储服务器11a、11b、……,每台存储服务器上包括至少一个存储节点。
其中,该存储节点可以为磁盘,如机械硬盘、固态硬盘、混合硬盘等等。
该数据处理系统包括:代理服务器2和存储控制装置3。其中,存储控制装置3位于存储集群1的各存储服务器11上,如存储控制装置3a位于存储服务器11a上,存储控制装置3b位于存储服务器11b上。
其中,存储控制装置3a、3b、……,用于获取各存储服务器11a、11b、……上各存储节点的剩余容量,并上报至代理服务器2。
代理服务器,用于获取数据写入请求,数据写入请求中包括待写入数据的第一键值;根据通过数据分布算法对第一键值进行计算得到的第一特征值,确定在存储集群中待写入数据对应的第一初始存储节点;当第一初始存储节点的剩余容量小于待写入数据的数据量时,从存储集群中选择剩余容量大于数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由存储节点所在存储服务器上的存储控制装置获取并上报;确定第一目标存储节点对应的第一存储服务器;将数据写入操作指令发送到第一存储服务器上的第一存储控制装置,数据写入操作指令包括待写入数据及第一目标存储节点的第一目标节点地址。
第一存储控制装置,用于根据代理服务器发送的数据写入操作指令,将待写入数据写入到第一目标节点地址对应的第一目标存储节点。
例如,代理服务器2确定第一初始存储节点为存储服务器11a中的存储节点a1,在a1的剩余容量不足以存储待写入数据时,选择符合条件的第一目标存储节点为存储服务器11b中的存储节点b1,则将存储节点b1的节点地址及数据写入请求发送到存储服务器11b上的存储控制装置3b。存储控制装置3b将待写入数据写入到存储节点b1,当数据写入成功后,存储控制装置3b反馈写入成功消息给代理服务器2,代理服务器2将写入成功消息反馈给请求的客户端。
可选的,在选择目标存储节点时,可以从剩余容量大于数据量的存储节点中,选择剩余容量最小的存储节点作为第一目标存储节点。这样,使得剩余容量最小的存储节点尽量写满数据,进一步提高存储节点的空间利用率,降低存储成本。
在另一实施例中,代理服务器,还用于确定第一目标存储节点对应的第一目标节点地址,及待写入数据在第一初始存储节点中的第一初始存储位置信息;当第一初始存储节点的剩余容量大于第一目标节点地址的字节数时,将地址写入操作指令发送至第一初始存储节点所在存储服务器上的第二存储控制装置,地址写入操作指令包括第一目标节点地址及第一初始存储位置信息。
第二存储控制装置,用于根据地址写入操作指令将第一目标节点地址写入第一初始存储位置信息对应的存储位置。
在另一实施例中,代理服务器,还用于接收数据读取请求,数据读取请求中包括待读取数据的第二键值;根据通过数据分布算法对第二键值进行计算得到的第二特征值,确定在存储集群中待读取数据对应的第二初始存储位置信息;将第一数据读取操作指令发送至第二初始存储位置信息对应的第三存储控制装置,第一数据读取操作指令包括:第二初始存储位置信息。
第三存储控制装置,用于当根据第一数据读取操作指令,从第二初始存储位置信息对应的存储位置,读取到第二目标节点地址时,将第二目标节点地址发送到代理服务器。
代理服务器,还用于将第二数据读取操作指令发送至第二目标节点地址对应的第四存储控制装置,第二数据读取操作指令包括:第二目标节点地址及第二键值。
第四存储控制装置,用于根据第二数据读取操作指令,在第二目标节点地址对应的第二目标存储节点中,查找第二键值对应的待读取数据;并将待读取数据发送至代理服务器。
例如,代理服务器2接收到数据读取请求后,确定初始存储位置信息对应的存储服务器为11a,将初始存储位置信息及数据读取请求发送至11a上的存储控制装置3a。存储控制装置3a未从初始存储位置信息对应的存储位置读取到所请求的数据,而是读取到目标节点地址(存储节点b1的地址),将目标节点地址发送代理服务器2。代理服务器2将目标节点地址及第二键值发送至该目标节点地址对应的存储控制装置3b。存储控制装置3b遍历存储节点b1来查找待读取数据,并将查找到的数据返回给代理服务器,代理服务器将该数据返回请求的客户端。
可选的,在上述系统实施例中,存储控制装置可以包括:线性存储控制装置和哈希存储控制装置。其中,线性存储控制装置采用线性寻址方式读写数据,而哈希存储控制装置则可采用哈希算法等映射算法进行寻址来读写数据。
线性存储控制装置在存储服务器上创建每个存储节点对应的目录,并且周期性检测存储节点的剩余容量,定期发给代理服务器。
可选的,在写入数据的过程中,当初始存储节点剩余容量不足,代理服务器确定剩余容量符合要求的目标存储节点,可将数据写入请求及该目标存储节点的节点地址发送到该目标存储节点所在存储服务器上的线性存储控制装置。由线性存储控制装置采用线性寻址方式将数据写入到目标存储节点。
在另一实施例中,若代理服务器确定初始存储节点的剩余容量大于或等于待写入数据的数据量时,则直接将初始存储节点的节点地址及数据写入请求发送到初始存储节点所在存储服务器上的线性存储控制装置。线性存储控制装置可以采用哈希算法,根据节点地址及数据写入请求确定数据在该初始存储节点上的存储位置,将数据写入到该存储位置。
在可选实施例中,存储控制装置也可仅包括哈希存储控制装置,即仅由哈希存储控制装置对存储节点执行写入和读取操作。这样,基于哈希算法来计算数据读写操作对应的存储地址,可以进一步提升存储空间的利用率,加快寻址速度,降低寻址过程中对内存的消耗。
在上述系统实施例中,代理服务器可以独立部署,也可以分别部署于各存储服务器上,即整个存储集群中可部署多个代理服务器。每个代理服务器均与各存储服务器上的存储控制装置连接,接收各存储控制装置上报的存储节点剩余容量,当需要在其他存储服务器上的存储节点读写数据时,可将读写指令发送到其他存储服务器上的存储控制装置。其中,每个代理服务器可以接收一定区域内的客户端请求,从而避免单台代理服务器由于接收读写请求过多,压力过大而造成的性能降低,处理延迟等问题。
可选的,哈希存储控制装置会在启动时,在存储服务器的每个存储节点上分别创建目录,并在该该目录下按2N位16进制数字进行枚举并划分为N级目录。如N=2,则目录如下:
一级目录:00,01,02...ff,每个目录下有二级目录00,01,02...ff。
哈希存储控制装置在接收到代理服务器发送的写入指令时,解析出写入指令中的存储节点标识和存储位置信息,如存储节点j和目录l,根据写入指令将数据写入到存储节点i的目录l中。
下面对本申请实施例上述数据处理系统所对应的数据处理方法进行详细说明。图2为本申请实施例提供的一种数据处理方法的流程图。如图2所示,该方法包括以下步骤:
步骤S11,获取数据写入请求,数据写入请求中包括待写入数据的第一键值。
该步骤中,代理服务器接收客户端发来的数据写入请求。
步骤S12,根据通过数据分布算法对第一键值进行计算得到的第一特征值,确定在存储集群中待写入数据对应的第一初始存储节点,其中,存储集群包括至少两台存储服务器,每台存储服务器上包括至少一个存储节点。
在该步骤12中,代理服务器基于数据分布算法来确定该待写入数据的存储位置。其中,数据分布算法包括但不限于以下任一方式:Hash算法、一致性Hash算法、CRUSH算法或Hash slot算法等等。
例如,存储集群中有n台服务器,服务器i上的存储节点j,可标记为(i,j),该存储节点上的目录l,也即数据的存储位置信息,可以标记为(i,j,l)。在步骤S12中,基于数据分布算法计算得到的第一初始存储节点为(i,j)。
步骤S13,当第一初始存储节点的剩余容量小于待写入数据的数据量时,从存储集群中选择剩余容量大于数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由存储节点所在存储服务器上的存储控制装置获取并上报。
该步骤中,代理服务器可接收来自于存储控制装置上报的存储集群中各存储节点的剩余容量。
当代理服务器判断基于哈希计算确定的存储节点满足待写入数据的数据量时,则可发送写入指令到该存储节点对应的存储控制装置,由该存储控制装置将待写入数据写入该存储节点。但是,当基于哈希计算确定的存储节点剩余容量不足,无法再写入数据时,代理服务器触发遍历算法,选择满足数据量要求的存储节点来存储该待写入数据。
步骤S14,将待写入数据写入第一目标存储节点。
其中,上述步骤S14由第一目标存储节点所在存储服务器上的存储控制装置执行。
若第一目标存储节点为存储服务器k上的存储节点m,则代理服务器发送数据写入指令到存储服务器k上的存储控制装置,存储控制装置根据数据写入指令将待写入数据写入存储节点m。
上述步骤S11至步骤S14,首先按照数据分布算法计算数据在存储集群中的存储位置,当按照数据分布算法计算出的数据存储节点剩余容量不足时,从其他存储节点中选择剩余容量满足该数据的数据量要求的存储节点,来存储该数据。这样,可以保证数据被写入存储集群中的存储节点,极大地提升各存储节点的空间利用率,降低存储成本,避免存储集群中各存储节点数据存储不均衡的问题。另外,也避免再平衡增加额外资源开销及失败可能性较大的问题。
可选的,上述步骤S13中还可以按照最小匹配原则,即选择剩余容量最接近数据量的存储节点,来存储该待写入数据。步骤S13包括:从所述剩余容量大于所述数据量的存储节点中,选择所述剩余容量最小的存储节点作为第一目标存储节点。
在步骤S13中,若待写入数据的数据量为D,上述步骤S12确定的第一初始存储节点为存储集群中存储服务器i上的存储节点j,若其剩余容量C(i,j)<D,则选择剩余容量C(k,m)≥D且C(k,m)最小的存储节点。若同时存在多个存储节点的剩余容量均符合上述条件,则可从符合条件的存储节点中随机选择一个存储节点来存储该待写入数据。
这样,使得剩余容量最小的存储节点尽量写满数据,进一步提高存储节点的空间利用率,降低存储成本。
本实施例中,为了加快后续读取数据的速度,可以在基于数据分布算法确定的存储节点上存储实际存储数据的节点地址。图3为本申请另一实施例提供的一种数据处理方法的流程图。如图3所示,该方法还包括以下步骤:
步骤S21,根据第一特征值,确定待写入数据对应的第一初始存储位置信息,第一初始存储位置信息包括:第一初始服务器标识、第一初始存储节点标识及在第一初始存储节点中的第一初始目录标识;
步骤S22,确定第一目标存储节点对应的第一目标节点地址;
步骤S23,当第一初始存储节点的剩余容量大于第一目标节点地址的字节数时,将第一目标节点地址存储到第一初始存储节点中第一初始目录标识对应的第一目录。
例如,基于一致性Hash算法确定该待写入数据对应存储于存储服务器i上存储节点j的目录l,则初始存储位置信息为(i,j,l)。而基于剩余容量最小匹配原则,匹配到的该待写入数据的实际写入位置为存储服务器k上的存储节点m,则目标节点地址为(k,m)。
若目标节点地址为1KB大小,存储节点(i,j)能够存储1KB数据,则将目标节点地址(k,m)写入到第i台存储服务器上第j个存储节点的第l个目录中。
如果不在(i,j,l)处存储数据实际存储地址(k,m),由于代理服务器不会维护数据的实际存储地址,那么在接收到数据读取请求时,仅能根据数据分布算法确定该数据对应的地址(i,j,l),若该地址不存在该数据,只能遍历所有存储服务器的所有存储节点来差值该数据。
因此,采用上述步骤S21和步骤S23,后续读取该数据时,在存储位置(i,j,l)处可以获得数据实际的存储节点地址(k,m),就可以直接到存储服务器k上存储节点m查找该数据,无需遍历所有存储服务器的所有存储节点,提高数据读取速度。
在另一实施例中,若代理服务器接收到数据读取请求,则读取数据的过程如下:
图4为本申请另一实施例提供的一种数据处理方法的流程图。如图4所示,该方法还包括:
步骤S31,接收数据读取请求,数据读取请求中包括待读取数据的第二键值;
步骤S32,根据通过数据分布算法对第二键值进行计算得到的第二特征值,确定在存储集群中待读取数据对应的第二初始存储位置信息;
步骤S33,当从第二初始存储位置信息对应的存储位置读取到第二目标节点地址时,访问第二目标节点地址对应的第二目标存储节点;
步骤S34,从第二目标存储节点读取待读取数据。
例如,将第二键值Key2进行哈希计算得到第一特征值H(Key2),根据H(Key2)确定数据的初始存储位置信息为(i,j,l),但从(i,j,l)未读取到该数据,读取到的是存储的地址信息(k,m),则从存储服务器k上的存储节点m上去查找该数据。
在上述步骤S31至步骤S34中,虽然基于数据分布算法确定的初始存储节点剩余容量不足以存储用户所要写入的数据,但可以存储实际写入数据位置的地址,这样,在读取该数据时,可以基于该地址索引到数据的实际存储位置,以便用户快速读取到该数据。
下面对本申请实施例代理服务器对应的数据处理方法进行详细说明。
图5为本申请另一实施例提供的一种数据处理方法的流程图。如图5所示,该方法包括以下步骤:
步骤S41,获取数据写入请求,数据写入请求中包括待写入数据的第一键值;
步骤S42,根据通过数据分布算法对第一键值进行计算得到的第一特征值,确定在存储集群中待写入数据对应的第一初始存储节点,其中,存储集群包括至少两台存储服务器,每台存储服务器上包括至少一个存储节点;
步骤S43,当第一初始存储节点的剩余容量小于待写入数据的数据量时,从存储集群中选择剩余容量大于数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由存储节点所在存储服务器上的存储控制装置获取并上报;
步骤S44,将数据写入操作指令发送到第一目标存储节点对应的第一存储控制装置,数据写入操作指令包括待写入数据及第一目标存储节点的第一目标节点地址,由第一存储控制装置根据数据写入操作指令将待写入数据写入第一目标存储节点。
上述步骤S41至步骤S44,代理服务器首先按照数据分布算法计算数据在存储集群中的存储位置,当按照数据分布算法计算出的数据存储节点剩余容量不足时,从其他存储节点中选择剩余容量满足该数据的数据量要求的存储节点,来存储该数据。这样,可以保证数据被写入存储集群中的存储节点,极大地提升各存储节点的空间利用率,降低存储成本,避免存储集群中各存储节点数据存储不均衡的问题。另外,也避免再平衡增加额外资源开销及失败可能性较大的问题。
可选的,上述步骤S43中还可以按照最小匹配原则,即选择剩余容量最接近数据量的存储节点,来存储该待写入数据。步骤S43包括:从所述剩余容量大于所述数据量的存储节点中,选择所述剩余容量最小的存储节点作为第一目标存储节点。这样,使得剩余容量最小的存储节点尽量写满数据,进一步提高存储节点的空间利用率,降低存储成本。
在可选实施例中,代理服务器可以基于数据分布算法来确定数据的初始写入地址,上述步骤S42包括:
步骤A1,根据第一特征值,确定待写入数据对应的第一初始存储位置信息。
其中,第一初始存储位置信息包括:第一初始服务器标识、第一初始存储节点标识及在第一初始存储节点中的第一初始目录标识;
步骤A2,根据第一初始存储位置信息确定初始存储节点。
可选的,若采用一致性Hash算法来确定待写入数据对应的存储位置,首先将整个哈希值空间映射成一个虚拟的圆环,根据存储集群中存储服务器的数量确定整个哈希空间的取值范围,若存储服务器数量为n,则哈希空间的取值范围为0~n-1。0~n-1在零点中方向重合,整个空间按顺时针方向组织。将第一键值Key1进行哈希计算得到第一特征值H(Key1),根据H(Key1)的位置沿圆环顺时针查找,第一个遇到的存储服务器就是所对应的写入数据的存储服务器。当增加一个新的存储服务器,受影响的数据仅仅是新添加的存储服务器到其环空间中前一个的存储服务器(也就是顺着逆时针方向遇到的第一个存储服务器)之间的数据,其他都不会受到影响。综上,一致性Hash算法对于节点的增减都只需重定位环空间中的一小部分数据,具有较好的容错性和可扩展性。
为了确定将待写入数据的存储位置,可以根据每个存储服务器的存储节点对环空间两个服务器之间的部分进行分区,并基于存储节点上的目录对两个存储节点之间的分区进行分片,这样,基于一致性Hash算法,可以直接计算出待写入数据所需写入存储服务器上的哪个存储节点,以及该存储节点中的哪个目录中。
在另一可选实施例中,当初始存储节点的剩余容量不足时,代理服务器进一步判断该剩余容量是否可以写入数据实际存储地址数据,该方法还包括:
步骤B1,确定第一目标存储节点对应的第一目标节点地址,及所述待写入数据在所述第一初始存储节点中的第一初始存储位置信息;
步骤B2,当第一初始存储节点的剩余容量大于第一目标节点地址的字节数时,将地址写入操作指令发送至第一初始存储节点所在存储服务器上的第二存储控制装置,地址写入操作指令包括第一目标节点地址及第一初始存储位置信息,由第二存储控制装置根据地址写入操作指令将第一目标节点地址写入第一初始存储位置信息对应的存储位置。
因此,采用上述步骤B1和步骤B2,后续读取该数据时,在初始存储位置处可以获得数据实际的存储节点地址,就可以直接到相应的位置查找该数据,无需遍历所有存储服务器的所有存储节点,提高数据读取速度。
在另一可选实施例中,代理服务器接收到数据读取请求后,基于数据分布算法确定待读取数据的存储位置,该方法还包括:
步骤C1,接收数据读取请求,数据读取请求中包括待读取数据的第二键值;
步骤C2,根据通过数据分布算法对第二键值进行计算得到的第二特征值,确定在存储集群中待读取数据对应的第二初始存储位置信息;
步骤C3,将第一数据读取操作指令发送至第二初始存储位置信息对应的第三存储控制装置,第一数据读取操作指令包括:第二初始存储位置信息;
步骤C4,当接收到第三存储控制装置根据第二初始存储位置信息读取到的第二目标节点地址时,将第二数据读取操作指令发送至第二目标节点地址对应的第四存储控制装置,第二数据读取操作指令包括:第二目标节点地址及第二键值;由第四存储控制装置在第二目标节点地址对应的第二目标存储节点中,查找第二键值对应的待读取数据;
步骤C5,接收来自于第四存储控制装置的待读取数据。
在上述步骤C1至步骤C5中,虽然基于数据分布算法确定的初始存储节点剩余容量不足以存储用户所要写入的数据,但可以存储实际写入数据位置的地址,这样,在读取该数据时,可以基于该地址索引到数据的实际存储位置,以便用户快速读取到该数据。
下面对本申请实施例存储控制装置对应的数据处理方法进行详细说明。存储控制装置定期检测存储服务器中各存储节点的剩余容量,并将各存储节点的剩余容量上报至代理服务器,还根据代理服务器发送的读写指令,执行相应的读写操作。
图6为本申请另一实施例提供的一种数据处理方法的流程图。如图6所示,该方法包括以下步骤:
步骤S51,接收来自于代理服务器的数据写入操作指令,写入操作指令包括待写入数据及数据写入节点地址。
步骤S52,根据数据写入操作指令,将待写入数据写入到数据写入节点地址对应的第一存储节点。
本实施例中,存储控制装置根据代理服务器发送的数据写入操作指令,将待写入数据写入到相应的存储节点。
图7为本申请另一实施例提供的一种数据处理方法的流程图。如图7所示,上述步骤S52包括以下步骤:
步骤S61,获取第一目标存储节点中的目录级数以及每级目录下的目录数。
步骤S62,通过数据分布算法对第一键值进行计算得到第一特征值。
步骤S63,根据第一特征值、目录级数和目录数,确定在第一目标存储节点中写入待写入数据的目标目录。
步骤S64,将待写入数据写入到目标目录中。
通过步骤S61至步骤S64,在存储节点中写入数据时,也可基于数据分布算法,如Hash算法等,将数据写入到算法计算得到的目录中。这样,
在另一可选实施例中,存储控制装置还可执行在存储节点上写入数据实际存储地址的操作,该方法还包括:
步骤D1,接收来自于代理服务器的地址写入操作指令,地址写入操作指令包括待写入地址及地址存储位置信息;
步骤D2,将待写入地址写入到地址存储位置信息对应的存储位置。
本实施例的上述方法,可以用于对业务系统中冷数据的存储。其中,通常基于数据访问频次来区分数据冷热,热数据指的是需要被计算节点频繁访问的在线类数据。冷数据指的是离线类不经常访问的数据,比如企业备份数据、业务与操作日志数据、话单与统计数据。热数据因为访问频次需求大,效率要求高,所以就近计算和部署;冷数据访问频次低,效率要求慢,可以做集中化部署。采用上述方法实施例对冷数据进行存储,虽然后续读取时可能造成访问时延的增加,但由于冷数据访问频次低,且对及时性要求相对较低,因此,采用上述方法实施例存储冷数据,不会降低大量用户访问的体验度,而可以提高大规模存储集群存储容量利用率,降低平均存储成本。
下述为本申请装置实施例,可以用于执行本申请方法实施例。
图8为本申请实施例提供的一种代理服务器的框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图8所示,该代理服务器包括:
获取模块81,用于获取数据写入请求,数据写入请求中包括待写入数据的第一键值;
寻址模块82,用于通过数据分布算法对第一键值进行计算得到的第一特征值,确定在存储集群中待写入数据对应的第一初始存储节点,其中,存储集群包括至少两台存储服务器,每台存储服务器上包括至少一个存储节点;
选择模块83,用于当第一初始存储节点的剩余容量小于待写入数据的数据量时,从存储集群中选择剩余容量大于数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由存储节点所在存储服务器上的存储控制装置获取并上报;
传输模块84,用于将数据写入操作指令发送到第一目标存储节点对应的目标存储控制装置,数据写入操作指令包括待写入数据及第一目标存储节点的第一目标节点地址,由目标存储控制装置根据数据写入操作指令将待写入数据写入第一目标存储节点。
可选的,选择模块83,用于从所述剩余容量大于所述数据量的存储节点中,选择所述剩余容量最小的存储节点作为第一目标存储节点。
可选的,寻址模块82,还用于根据第一特征值,确定待写入数据对应的第一初始存储位置信息;根据第一初始存储位置信息确定初始存储节点。
可选的,该装置还包括:地址确定模块85。
地址确定模块85,用于确定第一目标存储节点对应的第一目标节点地址,及所述待写入数据在所述第一初始存储节点中的第一初始存储位置信息。传输模块84,还用于当所述第一初始存储节点的剩余容量大于所述第一目标节点地址的字节数时,将地址写入操作指令发送至所述第一初始存储节点所在存储服务器上的第二存储控制装置,所述地址写入操作指令包括所述第一目标节点地址及所述第一初始存储位置信息;由所述第二存储控制装置根据所述地址写入操作指令将所述第一目标节点地址写入所述第一初始存储位置信息对应的存储位置。
可选的,获取模块81,还用于接收数据读取请求,数据读取请求中包括待读取数据的第二键值。寻址模块82,还用于通过数据分布算法对第二键值进行计算得到的第二特征值,确定在存储集群中待读取数据对应的第二初始存储位置信息。传输模块84,还用于将第一数据读取操作指令发送至所述第二初始存储位置信息对应的第三存储控制装置,所述第一数据读取操作指令包括:所述第二初始存储位置信息;当接收到所述第三存储控制装置根据所述第二初始存储位置信息读取到的第二目标节点地址时,将第二数据读取操作指令发送至所述第二目标节点地址对应的第四存储控制装置,所述第二数据读取操作指令包括:所述第二目标节点地址及所述第二键值;由所述第四存储控制装置在所述第二目标节点地址对应的第二目标存储节点中,查找所述第二键值对应的所述待读取数据;接收来自于所述第四存储控制装置的所述待读取数据。
本申请实施例还提供一种电子设备,如图9所示,电子设备可以包括:处理器1501、通信接口1502、存储器1503和通信总线1504,其中,处理器1501,通信接口1502,存储器1503通过通信总线1504完成相互间的通信。
存储器1503,用于存放计算机程序;
处理器1501,用于执行存储器1503上所存放的计算机程序时,实现以下上述方法实施例的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,P C I)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述方法实施例的步骤。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据处理方法,其特征在于,包括:
获取数据写入请求,所述数据写入请求中包括待写入数据的第一键值;
根据通过数据分布算法对所述第一键值进行计算得到的第一特征值,确定在存储集群中所述待写入数据对应的第一初始存储节点,其中,所述存储集群包括至少两台存储服务器,每台所述存储服务器上包括至少一个存储节点;
当所述第一初始存储节点的剩余容量小于所述待写入数据的数据量时,从所述存储集群中选择剩余容量大于所述数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由所述存储节点所在存储服务器上的存储控制装置获取并上报;
将数据写入操作指令发送到所述第一目标存储节点对应的第一存储控制装置,所述数据写入操作指令包括所述待写入数据及所述第一目标存储节点的第一目标节点地址,由所述第一存储控制装置根据所述数据写入操作指令将所述待写入数据写入所述第一目标存储节点;
所述方法还包括:
确定所述第一目标存储节点对应的第一目标节点地址,及所述待写入数据在所述第一初始存储节点中的第一初始存储位置信息;
当所述第一初始存储节点的剩余容量大于所述第一目标节点地址的字节数时,将地址写入操作指令发送至所述第一初始存储节点所在存储服务器上的第二存储控制装置,所述地址写入操作指令包括所述第一目标节点地址及所述第一初始存储位置信息;由所述第二存储控制装置根据所述地址写入操作指令将所述第一目标节点地址写入所述第一初始存储位置信息对应的存储位置。
2.根据权利要求1所述的方法,其特征在于,所述从所述存储集群中选择剩余容量大于所述数据量的存储节点作为第一目标存储节点,包括:
从所述剩余容量大于所述数据量的存储节点中,选择所述剩余容量最小的存储节点作为第一目标存储节点。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收数据读取请求,所述数据读取请求中包括待读取数据的第二键值;
根据通过所述数据分布算法对所述第二键值进行计算得到的第二特征值,确定在所述存储集群中所述待读取数据对应的第二初始存储位置信息;
将第一数据读取操作指令发送至所述第二初始存储位置信息对应的第三存储控制装置,所述第一数据读取操作指令包括:所述第二初始存储位置信息;
当接收到所述第三存储控制装置根据所述第二初始存储位置信息读取到的第二目标节点地址时,将第二数据读取操作指令发送至所述第二目标节点地址对应的第四存储控制装置,所述第二数据读取操作指令包括:所述第二目标节点地址及所述第二键值;由所述第四存储控制装置在所述第二目标节点地址对应的第二目标存储节点中,查找所述第二键值对应的所述待读取数据;
接收来自于所述第四存储控制装置的所述待读取数据。
4.一种代理服务器,其特征在于,包括:
获取模块,用于获取数据写入请求,所述数据写入请求中包括待写入数据的第一键值;
寻址模块,用于根据通过数据分布算法对所述第一键值进行计算得到的第一特征值,确定在存储集群中所述待写入数据对应的第一初始存储节点,其中,所述存储集群包括至少两台存储服务器,每台所述存储服务器上包括至少一个存储节点;
选择模块,用于当所述第一初始存储节点的剩余容量小于所述待写入数据的数据量时,从所述存储集群中选择剩余容量大于所述数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由所述存储节点所在存储服务器上的存储控制装置获取并上报;
发送模块,用于将数据写入操作指令发送到所述第一目标存储节点对应的目标存储控制装置,所述数据写入操作指令包括所述待写入数据及所述第一目标存储节点的第一目标节点地址,由所述目标存储控制装置根据所述数据写入操作指令将所述待写入数据写入所述第一目标存储节点;
所述装置还包括:
一模块,用于确定所述第一目标存储节点对应的第一目标节点地址,及所述待写入数据在所述第一初始存储节点中的第一初始存储位置信息;以及,
另一模块,用于当所述第一初始存储节点的剩余容量大于所述第一目标节点地址的字节数时,将地址写入操作指令发送至所述第一初始存储节点所在存储服务器上的第二存储控制装置,所述地址写入操作指令包括所述第一目标节点地址及所述第一初始存储位置信息;由所述第二存储控制装置根据所述地址写入操作指令将所述第一目标节点地址写入所述第一初始存储位置信息对应的存储位置。
5.一种数据处理系统,其特征在于,包括:代理服务器和存储控制装置;其中,所述存储控制装置位于存储集群的各存储服务器上;所述存储集群包括至少两台存储服务器,所述存储服务器上包括至少一个存储节点;
所述存储控制装置,用于获取所述存储服务器上各存储节点的剩余容量,并上报至所述代理服务器;
所述代理服务器,用于获取数据写入请求,所述数据写入请求中包括待写入数据的第一键值;根据通过数据分布算法对所述第一键值进行计算得到的第一特征值,确定在所述存储集群中所述待写入数据对应的第一初始存储节点;当所述第一初始存储节点的剩余容量小于所述待写入数据的数据量时,从所述存储集群中选择剩余容量大于所述数据量的存储节点作为第一目标存储节点;其中,各存储节点的剩余容量由所述存储节点所在存储服务器上的存储控制装置获取并上报;确定所述第一目标存储节点对应的第一存储服务器;将数据写入操作指令发送到所述第一存储服务器上的第一存储控制装置,所述数据写入操作指令包括所述待写入数据及所述第一目标存储节点的第一目标节点地址;
所述第一存储控制装置,用于根据所述代理服务器发送的所述数据写入操作指令,将所述待写入数据写入到所述第一目标节点地址对应的第一目标存储节点;
所述代理服务器,还用于确定所述第一目标存储节点对应的第一目标节点地址,及所述待写入数据在所述第一初始存储节点中的第一初始存储位置信息;当所述第一初始存储节点的剩余容量大于所述第一目标节点地址的字节数时,将地址写入操作指令发送至所述第一初始存储节点所在存储服务器上的第二存储控制装置,所述地址写入操作指令包括所述第一目标节点地址及所述第一初始存储位置信息;
所述第二存储控制装置,用于根据所述地址写入操作指令将所述第一目标节点地址写入所述第一初始存储位置信息对应的存储位置。
6.根据权利要求5所述的系统,其特征在于,
所述代理服务器,还用于接收数据读取请求,所述数据读取请求中包括待读取数据的第二键值;根据通过所述数据分布算法对所述第二键值进行计算得到的第二特征值,确定在所述存储集群中所述待读取数据对应的第二初始存储位置信息;将第一数据读取操作指令发送至所述第二初始存储位置信息对应的第三存储控制装置,所述第一数据读取操作指令包括:所述第二初始存储位置信息;
所述第三存储控制装置,用于当根据所述第一数据读取操作指令,从所述第二初始存储位置信息对应的存储位置,读取到第二目标节点地址时,将所述第二目标节点地址发送到所述代理服务器;
所述代理服务器,还用于将第二数据读取操作指令发送至所述第二目标节点地址对应的第四存储控制装置,所述第二数据读取操作指令包括:所述第二目标节点地址及所述第二键值;
所述第四存储控制装置,用于根据所述第二数据读取操作指令,在所述第二目标节点地址对应的第二目标存储节点中,查找所述第二键值对应的所述待读取数据;并将所述待读取数据发送至所述代理服务器。
7.一种电子设备,其特征在于,包括:处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
所述存储器,用于存放计算机程序;
所述处理器,用于执行所述计算机程序时,实现权利要求1-3任一项所述的方法步骤。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1-3任一项所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519635.4A CN112637327B (zh) | 2020-12-21 | 2020-12-21 | 一种数据处理方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011519635.4A CN112637327B (zh) | 2020-12-21 | 2020-12-21 | 一种数据处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112637327A CN112637327A (zh) | 2021-04-09 |
CN112637327B true CN112637327B (zh) | 2022-07-22 |
Family
ID=75320516
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011519635.4A Active CN112637327B (zh) | 2020-12-21 | 2020-12-21 | 一种数据处理方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112637327B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117340A (zh) * | 2011-04-19 | 2011-07-06 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态数据存储方法 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103593477A (zh) * | 2013-11-29 | 2014-02-19 | 华为技术有限公司 | 一种哈希数据库的配置方法和装置 |
CN104156380A (zh) * | 2014-03-04 | 2014-11-19 | 深圳信息职业技术学院 | 一种分布式存储器哈希索引方法及系统 |
CN105677243A (zh) * | 2015-12-31 | 2016-06-15 | 华为技术有限公司 | 数据写入装置及方法 |
CN106873919A (zh) * | 2017-03-20 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种基于云存储系统的数据存储方法和装置 |
CN110134332A (zh) * | 2019-04-28 | 2019-08-16 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5524144B2 (ja) * | 2011-08-08 | 2014-06-18 | 株式会社東芝 | key−valueストア方式を有するメモリシステム |
US9830111B1 (en) * | 2012-08-08 | 2017-11-28 | Amazon Technologies, Inc. | Data storage space management |
CN104683422B (zh) * | 2013-12-03 | 2019-01-29 | 腾讯科技(深圳)有限公司 | 数据传输方法及装置 |
US10095423B2 (en) * | 2015-09-30 | 2018-10-09 | Toshiba Memory Corporation | Storage system that tracks mapping to a memory module to be detached therefrom |
CN107092598A (zh) * | 2016-02-17 | 2017-08-25 | 阿里巴巴集团控股有限公司 | 数据存储位置信息的管理方法和装置 |
CN106161610A (zh) * | 2016-06-29 | 2016-11-23 | 华为技术有限公司 | 一种分布式存储的方法和系统 |
CN106713465B (zh) * | 2016-12-27 | 2020-11-17 | 北京锐安科技有限公司 | 一种分布式存储系统 |
CN107948248A (zh) * | 2017-11-01 | 2018-04-20 | 平安科技(深圳)有限公司 | 分布式存储方法、控制服务器及计算机可读存储介质 |
CN111241088B (zh) * | 2018-11-09 | 2024-09-20 | 北京京东尚科信息技术有限公司 | 数据写入方法、数据查询方法、装置及设备 |
CN110636122A (zh) * | 2019-09-11 | 2019-12-31 | 中移(杭州)信息技术有限公司 | 分布式存储方法、服务器、系统、电子设备以及存储介质 |
-
2020
- 2020-12-21 CN CN202011519635.4A patent/CN112637327B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117340A (zh) * | 2011-04-19 | 2011-07-06 | 北京神州数码思特奇信息技术股份有限公司 | 一种动态数据存储方法 |
CN103327052A (zh) * | 2012-03-22 | 2013-09-25 | 深圳市腾讯计算机系统有限公司 | 数据存储方法和系统以及数据访问方法和系统 |
CN103593477A (zh) * | 2013-11-29 | 2014-02-19 | 华为技术有限公司 | 一种哈希数据库的配置方法和装置 |
CN104156380A (zh) * | 2014-03-04 | 2014-11-19 | 深圳信息职业技术学院 | 一种分布式存储器哈希索引方法及系统 |
CN105677243A (zh) * | 2015-12-31 | 2016-06-15 | 华为技术有限公司 | 数据写入装置及方法 |
CN106873919A (zh) * | 2017-03-20 | 2017-06-20 | 郑州云海信息技术有限公司 | 一种基于云存储系统的数据存储方法和装置 |
CN110134332A (zh) * | 2019-04-28 | 2019-08-16 | 平安科技(深圳)有限公司 | 一种数据存储方法及相关装置 |
Also Published As
Publication number | Publication date |
---|---|
CN112637327A (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4538454B2 (ja) | コンピュータ・ネットワークにおける電子文書のレプリカの検索 | |
US8495013B2 (en) | Distributed storage system and method for storing objects based on locations | |
RU2637434C1 (ru) | Способ, устройство терминала и устройство сервера для хранения копий данных | |
WO2017050014A1 (zh) | 一种数据存储处理方法和装置 | |
JP2003030012A5 (zh) | ||
CN103019960A (zh) | 分布式缓存方法及系统 | |
CN107463342B (zh) | 一种cdn边缘节点文件的存储方法及装置 | |
US20240248810A1 (en) | Systems and methods for cross-regional back up of distributed databases on a cloud service | |
US11922059B2 (en) | Method and device for distributed data storage | |
CN110321225B (zh) | 负载均衡方法、元数据服务器及计算机可读存储介质 | |
CN110825704B (zh) | 一种读数据方法、写数据方法及服务器 | |
CN108777718B (zh) | 一种业务系统通过客户端访问读多写少系统的方法和装置 | |
CN117008818A (zh) | 数据处理方法、装置、计算机设备和计算机可读存储介质 | |
CN111562884B (zh) | 一种数据存储方法、装置及电子设备 | |
CN112948178A (zh) | 一种数据处理方法、装置、系统、设备及介质 | |
CN112130758A (zh) | 一种数据读请求的处理方法、系统、电子设备及存储介质 | |
CN114879907A (zh) | 一种数据分布确定方法、装置、设备及存储介质 | |
CN112637327B (zh) | 一种数据处理方法、装置及系统 | |
CN112130747A (zh) | 分布式对象存储系统及数据读写方法 | |
CN115017117B (zh) | 一种基于本地盘的容器文件系统在线扩容的方法和系统 | |
CN111046004A (zh) | 一种数据文件存储方法、装置、设备及存储介质 | |
US7058773B1 (en) | System and method for managing data in a distributed system | |
CN113626383A (zh) | 一种数据处理方法、装置及设备 | |
CN113608870A (zh) | 消息队列的负载均衡方法及装置、电子设备及存储介质 | |
CN113553314A (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 |