CN111061357B - 节能方法、装置、电子设备及存储介质 - Google Patents
节能方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111061357B CN111061357B CN201911289473.7A CN201911289473A CN111061357B CN 111061357 B CN111061357 B CN 111061357B CN 201911289473 A CN201911289473 A CN 201911289473A CN 111061357 B CN111061357 B CN 111061357B
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- storage servers
- servers
- storage server
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
本发明实施例提供了一种节能方法、装置、电子设备及存储介质。其中方法包括对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片;获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中;从所述总个数的存储服务器中关闭所述第二个数的存储服务器。本发明实施例能够降低加电的存储服务器的个数,降低存储的能耗。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种节能方法、装置、电子设备及存储介质。
背景技术
随着技术的不断发展,数据已成为重要的数字资产。在云计算时代,大量的数据需要永久保存在数据中心,这类数据要求超高的持久性,但是对访问频次的要求却不高,这类数据我们称为冷数据。在数据分层的理论中,数据的热、温、冷通常指的是访问频次,而与他们的能耗却不是成正比的。
为了维护大量的冷数据在较低访问频次时仍能被及时有效地访问到,存储冷数据的存储服务器需一直保持加电状态。并且,为了避免因冷数据损坏或丢失而导致无法访问,在存储冷数据时还要存储冷数据的副本,存储副本的存储服务器也需一直保持加电状态。因此,现有的冷数据存储方式会导致加电的存储服务器个数较多,存储的能耗较高。
发明内容
本发明实施例的目的在于提供一种节能方法、装置、电子设备及存储介质,以实现降低存储能耗。具体技术方案如下:
在本发明实施的第一方面,首先提供了一种节能方法,所述方法包括:
对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片;所述冷数据为存储之后被访问的频次小于预设的频次阈值的数据;
获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中;
从所述总个数存储服务器中关闭所述第二个数的存储服务器。
可选地,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:在接收到发生故障的存储服务器发送的故障通知后,获取所述发生故障的存储服务器的个数作为第三个数;从关闭的存储服务器中开启所述第三个数的存储服务器,并关闭所述发生故障的存储服务器。
可选地,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:按照预设的第一时间间隔,从开启的存储服务器中关闭预设个数的存储服务器,并从关闭的存储服务器中开启所述预设个数的存储服务器。
可选地,所述方法还包括:按照预设的第二时间间隔,确定开启的存储服务器中存储的数据分片是否发生损坏;在数据分片发生损坏时,修复发生损坏的数据分片。
可选地,所述修复发生损坏的数据分片步骤,包括:获取数据分片发生损坏的存储服务器的个数作为第四个数,并从关闭的存储服务器中开启所述第四个数的存储服务器;获取除所述数据分片发生损坏的存储服务器之外开启的存储服务器中存储的数据分片,根据获取的数据分片修复所述发生损坏的数据分片。
可选地,在所述根据获取的数据分片修复所述发生损坏的数据分片步骤之后,还包括:从开启的存储服务器中关闭所述第四个数的存储服务器。
可选地,所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤,包括:从开启的存储服务器中关闭存储有所述校验数据分片的存储服务器。
可选地,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:在接收到用户发送的访问请求后,确定所述访问请求对应的目标存储服务器;所述目标存储服务器中存储有所述访问请求对应的目标冷数据;在所述目标存储服务器为关闭时,开启所述目标存储服务器,从所述目标存储服务器中获取所述目标冷数据,并将所述目标冷数据返回给所述用户。
在本发明实施的第二方面,还提供了一种节能装置,所述装置包括:
编码模块,用于对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片;所述冷数据为存储之后被访问的频次小于预设的频次阈值的数据;
存储模块,用于获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中;
关闭模块,用于从所述总个数的存储服务器中关闭所述第二个数的存储服务器。
可选地,所述装置还包括:获取模块,用于在接收到发生故障的存储服务器发送的故障通知后,获取所述发生故障的存储服务器的个数作为第三个数;故障处理模块,用于从关闭的存储服务器中开启所述第三个数的存储服务器,并关闭所述发生故障的存储服务器。
可选地,所述装置还包括:巡检模块,用于按照预设的第一时间间隔,从开启的存储服务器中关闭预设个数的存储服务器,并从关闭的存储服务器中开启所述预设个数的存储服务器。
可选地,所述装置还包括:第一确定模块,用于按照预设的第二时间间隔,确定开启的存储服务器中存储的数据分片是否发生损坏;修复模块,用于在数据分片发生损坏时,修复发生损坏的数据分片。
可选地,所述修复模块包括:服务器开启单元,用于获取数据分片发生损坏的存储服务器的个数作为第四个数,并从关闭的存储服务器中开启所述第四个数的存储服务器;分片修复单元,用于获取除所述数据分片发生损坏的存储服务器之外开启的存储服务器中存储的数据分片,根据获取的数据分片修复所述发生损坏的数据分片。
可选地,所述修复模块还包括:服务器关闭单元,用于从开启的存储服务器中关闭所述第四个数的存储服务器。
可选地,所述关闭模块,具体用于从开启的存储服务器中关闭存储有所述校验数据分片的存储服务器。
可选地,所述装置还包括:第二确定模块,用于在接收到用户发送的访问请求后,确定所述访问请求对应的目标存储服务器;所述目标存储服务器中存储有所述访问请求对应的目标冷数据;返回模块,用于在所述目标存储服务器为关闭时,开启所述目标存储服务器,从所述目标存储服务器中获取所述目标冷数据,并将所述目标冷数据返回给所述用户。
在本发明实施的又一方面,还提供了一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现上述任一所述的节能方法。
在本发明实施的又一方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的节能方法。
在本发明实施的又一方面,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的节能方法。
本发明实施例提供的节能方法、装置、电子设备及存储介质,对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片;获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中;从所述总个数的存储服务器中关闭所述第二个数的存储服务器。由此可知,本发明实施例中结合纠删码技术,由于从原始数据分片和校验数据分片中任意选取第一个数的数据分片即可恢复出原始的冷数据,因此无需再存储冷数据的副本,并且只需开启第一个数的存储服务器使其保持加电状态,关闭剩余第二个数的存储服务器即可,能够降低加电的存储服务器的个数,降低存储的能耗。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1为本发明实施例中的一种系统架构图。
图2为本发明实施例中的一种节能方法的步骤流程图。
图3为本发明实施例中的另一种节能方法的步骤流程图。
图4为本发明实施例中的一种节能装置的结构框图。
图5为本发明实施例中的另一种节能装置的结构框图。
图6为本发明实施例中的一种电子设备的结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
冷数据需要持续保存在存储服务器中,并且冷数据的副本也要持续保存在存储服务器中。为了能够在访问时成功访问到,存储冷数据和存储副本的存储服务器均需一直保持加电状态,但是这样会导致加电的存储服务器个数较多,存储的能耗较高。
针对上述情况,本发明实施例中结合纠删码(Erasure Code,EC)技术进行处理。纠删码是一种数据保护方法,它将数据分割成分片,把冗余数据分片扩展、编码,并将其存储在不同的位置,比如磁盘、存储节点或者其它地理位置。从数据函数角度来说,纠删码提供的保护可以用下面这个简单的公式来表示:N=M+K,变量"M"代表原始数据分片的个数,变量"K"代表添加的提供保护的校验数据分片的个数,变量"N"代表纠删码过程后创建的数据分片的总个数。举个例子来说,在一个EC 10/16的配置中,会有6个校验数据分片(变量K)被添加到10个原始数据分片(变量M)中,这16个数据分片(变量N)会遍布16个驱动器、节点或地理位置中,而原始数据可以从任意10个数据分片中重建。对冷数据进行纠删码编码,得到冷数据对应的多个数据分片(包括M个原始数据分片和K个校验数据分片),将其中的每个数据分片存储至一个存储服务器中。基于纠删码原理,只需读取其中M个数据分片即可恢复出原始的冷数据,因此可以只开启M个存储服务器即可。在此基础上,在保证数据高可用的同时,通过进一步控制存储服务器的开启和关闭,来降低存储服务器的能耗,节省存储成本。控制方法主要有两个:一是开启足够数据访问的存储服务器,二是通过网络唤醒存储服务器。其中,M和K均为自然数。
图1为本发明实施例中的一种系统架构图。图1中共有M+K台存储服务器用于存储冷数据对应的数据分片,其中服务器(Server)1~服务器M表示开启运行的M个存储服务器,服务器1~服务器K表示关闭的K个存储服务器。用户请求代理服务器(Proxy)用于接收用户的访问请求,并且根据访问请求访问运行中的存储服务器,还可以控制关闭的存储服务器上电。巡检模块可以对运行中的存储服务器和关闭的存储服务器进行巡检,以防止由于磁盘损坏而影响对冷数据的访问。
下面,对本发明实施例中的节能方法进行详细介绍。
图2为本发明实施例中的一种节能方法的步骤流程图。
本发明实施例中的节能方法可以包括以下步骤:
步骤201,对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片。
冷数据是指存储之后被访问的频次小于预设的频次阈值的数据。比如,对于视频网站的相关数据来说,冷数据可以为用户注册信息、用户日志、视频数据,等等。对于频次阈值的具体数值,本领域技术人员根据实际情况进行相关设置即可,本发明实施例对此不作限制。比如频次阈值可以为3个月一次、半年一次、一年一次,等等。
步骤202,获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中一个数据分片对应存储至一台存储服务器中。
对原始数据分片和校验数据分片进行存储时,一个数据分片要对应存储至一台存储服务器中,因此先开启第一个数和第二个数相加得到的总个数的存储服务器,然后将一个数据分片对应存储至一台存储服务器中。比如,第一个数为图1中的M,第二个数为图1中的K,则开启M+K台存储服务器,用于存储M个原始数据分片和K个校验数据分片,每台存储服务器中存储一个数据分片。
步骤203,从所述总个数的存储服务器中关闭所述第二个数的存储服务器。
基于纠删码的原理,根据任意的第一个数的数据分片(可以为原始数据分片,也可以为校验数据分片)即可成功恢复出原始的冷数据,因此保持其中第一个数的存储服务器加电开启即可满足需求,从而可以从步骤202中开启的第一个数和第二个数相加得到的总个数的存储服务器中,关闭第二个数的存储服务器。
本发明实施例中结合纠删码技术,由于从原始数据分片和校验数据分片中任意选取第一个数的数据分片即可恢复出原始的冷数据,因此无需再存储冷数据的副本,并且只需开启第一个数的存储服务器使其保持加电状态,关闭剩余第二个数的存储服务器即可,能够降低加电的存储服务器的个数,降低存储的能耗。
图3为本发明实施例中的另一种节能方法的步骤流程图。
本发明实施例中的节能方法可以包括以下步骤:
步骤301,对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片。
步骤302,获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中。
步骤303,从所述总个数的存储服务器中关闭所述第二个数的存储服务器。
步骤304,在接收到发生故障的存储服务器发送的故障通知后,获取所述发生故障的存储服务器的个数作为第三个数。
步骤305,从关闭的存储服务器中开启所述第三个数的存储服务器,并关闭所述发生故障的存储服务器。
步骤306,按照预设的第一时间间隔,从开启的存储服务器中关闭预设个数的存储服务器,并从关闭的存储服务器中开启所述预设个数的存储服务器。
步骤307,按照预设的第二时间间隔,确定开启的存储服务器中存储的数据分片是否发生损坏。
步骤308,在数据分片发生损坏时,修复发生损坏的数据分片。
步骤309,在接收到用户发送的访问请求后,确定所述访问请求对应的目标存储服务器。
步骤310,在所述目标存储服务器为关闭时,开启所述目标存储服务器,从所述目标存储服务器中获取所述目标冷数据,并将所述目标冷数据返回给所述用户。
在步骤301中,对待存储的冷数据进行纠删码编码。在实现中,可以将待存储的冷数据划分为第一个数的原始数据分片,对其进行纠删码编码,得到第二个数的校验数据分片。
如果按照保存冷数据副本的方式,在原始数据分片的个数为第一个数时,需要第一个数的两倍个数的存储服务器用于存储原始数据分片和原始数据分片的副本。如果按照纠删码编码的方式,在原始数据分片的个数为第一个数,校验数据分片为第二个数时,需要第一个数和第二个数相加得到的总个数的存储服务器用于存储原始数据分片和校验数据分片。因此通常情况下,在进行纠删码编码时会设置第一个数大于第二个数,这样使得第一个数和第二个数相加得到的总个数小于第一个数的两倍个数,从而能够减少存储数据占用的存储服务器的数量。
纠删码技术在分布式存储系统中的应用主要有三类:阵列纠删码,如RAID5(Redundant Arrays of Independent Disks5,磁盘阵列5)、RAID6等;RS(Reed-Solomon,里德-所罗门)纠删码;LDPC(Low Density Parity Check,低密度奇偶校验)纠删码。本发明实施例中,可以采用任意一种适用的纠删码技术对冷数据进行纠删码编码。
以RS纠删码为例,当冗余级别为M+K时,则存在M个原始数据分片和K个的校验数据分片。将M个原始数据分片D1~DM按列排成向量D,再构造一个(M+K)*M矩阵B,B称为分布矩阵。对矩阵B有一个要求:它的任意M个行向量都是相互独立的,即这M个行向量组成的M*M矩阵可逆。执行矩阵向量乘B*D,即可得到K个校验数据分片C1~CK。假设其中任意的K个数据分片发生了故障,可以通过如下方式从剩余的M个数据分片中恢复出来原始数据D1~DM:从矩阵B中将剩余的M个数据分片对应的行向量挑出来,组成新矩阵B’,满足B’乘以向量D等于未发生故障的数据分片。因为B的任意M行组成的矩阵都可逆,所以矩阵B’存在逆矩阵,记为B’-1,显然有B’-1*B’=I。将B’乘以向量D等于未发生故障的数据分片这一等式的左右两边同时左乘矩阵B’-1,就得到了M个原始数据分片D1~DM,完成数据恢复。
在一种可选实施方式中,为了提高存储服务器中存储空间的利用率,原始数据分片和校验数据分片中的各数据分片的大小可以与用于存储该数据分片的存储服务器的存储空间大小尽可能地接近,使得每台存储服务器的存储空间接近写满。
在步骤302中,在向存储服务器中存储数据分片之前,先开启对应个数的存储服务器。本发明实施例中一个存储服务器中存储一个数据分片,因此获取所述第一个数和第二个数相加得到的总个数,开启该总个数的存储服务器,在存储时将一个数据分片对应存储至一台存储服务器中,且每台存储服务器的存储空间接近写满。假设第一个数为M,第二个数为K,则开启M+K台存储服务器,冗余度为(M+K)/M,该M+K台存储服务器可以称为一个存储集群。在步骤303中,由于仅需读取任意的第一个数的数据分片即可恢复出原始的冷数据,因此关闭步骤302所述总个数的存储服务器中任意的第二个数的存储服务器,保留剩余的第一个数的存储服务器加电运行,即可保证冷数据可正常访问,无影响。节能比率大约是K/(K+M)。
在一种可选实施方式中,步骤303可以包括:从开启的存储服务器中关闭存储有校验数据分片的存储服务器,因此保留的是存储有原始数据分片的存储服务器加电运行。通过该种方式可以保证在用户访问目标冷数据时,原始数据分片所在的存储服务器均为开启状态,因此可以直接从当前开启的存储服务器中获取用户访问的目标冷数据,无需再通过纠删码技术进行数据的恢复计算,从而简化处理过程。
在步骤304中,通过控制平台可以远程对存储服务器的开启和关闭进行控制。开启的存储服务器在运行中可能会发生故障,当存储服务器在发生故障时,发生故障的存储服务器可以自动向控制平台发送故障通知,故障通知中可以包括存储服务器的标识等信息。由于发生故障的存储服务器可能为一台或多台,因此控制平台可以获取发生故障的存储服务器的个数作为第三个数。
在步骤305中,为每台存储服务器设置远程控制卡,控制平台可以通过远程控制卡向存储服务器发送开启指令和关闭指令。控制平台从当前关闭的存储服务器中选取任意的第三个数的存储服务器,通过远程控制卡向选取的第三个数的存储服务器发送开启指令,开启选取的第三个数的存储服务器,并通过远程控制卡向发生故障的存储服务器发送关闭指令,关闭发生故障的存储服务器。通过上述方式,可以在有存储服务器发生故障时,开启对应个数的存储服务器,从而保证仍然可以正常访问冷数据。
在步骤306中,对存储服务器进行巡检,对应于图1中的巡检过程。按照预设的第一时间间隔,控制平台从开启的存储服务器中选取任意的预设个数的存储服务器,通过远程控制卡向选取的存储服务器发送关闭指令,关闭预设个数的存储服务器;控制平台从关闭的存储服务器中选取任意的预设个数的存储服务器,通过远程控制卡向选取的存储服务器发送开启指令,开启所述预设个数的存储服务器。通过巡检过程,可以定期开启之前关闭的存储服务器,从而及时发现之前关闭的存储服务器的故障,或者及时发现存储服务器中存储的数据分片的损坏。其中,对于第一时间间隔和预设个数的具体数值,本领域技术人员根据实际经验设置任意适用的数值均可。比如,第一时间间隔可以设为1天、2天、3天,等等,预设个数可以设为1个、2个、3个,等等。
在步骤307中,对于开启的存储服务器,可以按照预设的第二时间间隔确定开启的存储服务器中存储的数据分片是否发生损坏。在确定出数据分片发生损坏时,执行步骤308对发生损坏的数据分片进行修复;在确定出数据分片未发生损坏时,无需执行步骤308的修复过程,可以执行后续的步骤309。
比如,可以采用MD5(Message Digest Algorithm 5,消息摘要算法第五版)的方式确定数据分片是否发生损坏。控制平台中还可以存储数据分片和存储服务器的对应关系,并存储每个数据分片对应的MD5。对本次开启的存储服务器中存储的数据分片计算其MD5,并将计算得到的MD5与存储的该数据分片的MD5进行比较,如果不同则说明数据损坏发生损坏。其中,对于第二时间间隔的具体数值,本领域技术人员根据实际经验设置任意适用的数值均可。比如,第二时间间隔可以设为1天、2天、3天,等等。第二时间间隔和上述的第一时间间隔可以相同,也可以不同。
在步骤308中,在确定出数据分片发生损坏时,修复发生损坏的数据分片。在一种可选实施方式中,修复发生损坏的数据分片步骤可以包括:获取数据分片发生损坏的存储服务器的个数作为第四个数,并从关闭的存储服务器中开启所述第四个数的存储服务器;获取除所述数据分片发生损坏的存储服务器之外开启的存储服务器中存储的数据分片,根据获取的数据分片修复所述发生损坏的数据分片。通过从关闭的存储服务器中开启第四个数的存储服务器,可以保证开启的数据分片未发生损坏的存储服务器的个数仍然为第一个数,因此可以基于纠删码技术,可以根据开启的数据分片未发生损坏的存储服务器中存储的数据分片,修复发生损坏的数据分片。
可选地,由于在修复发生损坏的数据分片过程中,从关闭的存储服务器中开启了第四个数的存储服务器,导致当前开启的存储服务器的个数为第一个数和第四个数的总和,因此在修复发生损坏的数据分片之后,还可以从开启的存储服务器中关闭第四个数的存储服务器,从而保证开启的存储服务器的个数仍然为第一个数,在保证冷数据可以正常访问的同时,能节省能耗。
步骤309~步骤310对应于图1中的用户请求代理服务器的处理过程。
在步骤309中,用户请求代理服务器可以存储冷数据和数据分片的对应关系,以及数据分片和存储服务器的对应关系。用户在想要请求冷数据时,发送访问请求,访问请求中可以包括目标冷数据的标识。访问请求代理服务器接收到访问请求后,根据目标冷数据的标识可以确定目标冷数据所在的目标数据分片,并确定目标数据分片对应的目标存储服务器,该目标存储服务器即为访问请求对应的目标存储服务器,其中存储有所述访问请求对应的目标冷数据。
在步骤310中,如果目标存储服务器为开启,则用户请求代理服务器可以直接访问该目标存储服务器(对应于图1中的访问),从目标存储服务器中获取所述目标冷数据,并将所述目标冷数据返回给所述用户。如果目标存储服务器为关闭,则用户请求代理服务器可以开启目标存储服务器(对应于图1中的上电),从目标存储服务器中获取所述目标冷数据,并将目标冷数据返回给用户。通过开启目标存储服务器后从其中获取目标冷数据,可以无需采用纠删码技术进行数据恢复,提高冷数据的返回速度,并且多开启一台存储服务器的能耗也不会太大。当然,在将目标冷数据返回给用户后,还可以从开启的存储服务器中关闭任意一台存储服务器,以使开启的存储服务器的个数仍然为第一个数。
本发明实施例中结合纠删码技术中数据恢复不需要所有数据分片的特点和节能的目标需求,达到了既能满足数据高可用性需求同时又能节能的目标。降低存储功耗,延长机器使用寿命,同时降低数据中心的运营成本,且节能的比率可动态控制,理想情况下可节能33%。通过故障处理过程,可以在有加电的存储服务器故障时,启动对应个数的存储服务器,在存储服务器启动后,冷数据仍可以正常访问。通过数据巡检过程,可以及时发现关闭的存储服务器中的数据损坏并对其进行修复。需要说明的是,受限于纠删码算法,单个存储集群中存储服务器的个数等于M+K,才能保证最大化节能比率,并且该限制会导致存储集群个数变多,增加运维成本。如果有更合适的分片冗余类算法,或许可以突破为是M+K的倍数,这样就可以控制集群规模。
图4为本发明实施例中的一种节能装置的结构框图。所述装置包括:
编码模块401,用于对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片。所述冷数据为存储之后被访问的频次小于预设的频次阈值的数据。
存储模块402,用于获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中。
关闭模块403,用于从所述总个数的存储服务器中关闭所述第二个数的存储服务器。
本发明实施例中结合纠删码技术,由于从原始数据分片和校验数据分片中任意选取第一个数的数据分片即可恢复出原始的冷数据,因此无需再存储冷数据的副本,并且只需开启第一个数的存储服务器使其保持加电状态,关闭剩余第二个数的存储服务器即可,能够降低加电的存储服务器的个数,降低存储的能耗。
图5为本发明实施例中的另一种节能装置的结构框图。
本发明实施例中的节能装置可以包括以下模块:
编码模块501,用于对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片。所述冷数据为存储之后被访问的频次小于预设的频次阈值的数据。
存储模块502,用于获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中。
关闭模块503,用于从所述总个数的存储服务器中关闭所述第二个数的存储服务器。
可选地,所述装置还包括:获取模块504,用于在接收到发生故障的存储服务器发送的故障通知后,获取所述发生故障的存储服务器的个数作为第三个数;故障处理模块505,用于从关闭的存储服务器中开启所述第三个数的存储服务器,并关闭所述发生故障的存储服务器。
可选地,所述装置还包括:巡检模块506,用于按照第一预设的时间间隔,从开启的存储服务器中关闭预设个数的存储服务器,并从关闭的存储服务器中开启所述预设个数的存储服务器。
可选地,所述装置还包括:第一确定模块507,用于按照预设的第二时间间隔,确定开启的存储服务器中存储的数据分片是否发生损坏;修复模块508,用于在数据分片发生损坏时,修复发生损坏的数据分片。
可选地,所述修复模块508包括:服务器开启单元5081,用于获取数据分片发生损坏的存储服务器的个数作为第四个数,并从关闭的存储服务器中开启所述第四个数的存储服务器;分片修复单元5082,用于获取除所述数据分片发生损坏的存储服务器之外开启的存储服务器中存储的数据分片,根据获取的数据分片修复所述发生损坏的数据分片。
可选地,所述修复模块508还包括:服务器关闭单元5083,用于从开启的存储服务器中关闭所述第四个数的存储服务器。
可选地,所述关闭模块503,具体用于从开启的存储服务器中关闭存储有所述校验数据分片的存储服务器。
可选地,所述装置还包括:第二确定模块509,用于在接收到用户发送的访问请求后,确定所述访问请求对应的目标存储服务器;所述目标存储服务器中存储有所述访问请求对应的目标冷数据;返回模块510,用于在所述目标存储服务器为关闭时,开启所述目标存储服务器,从所述目标存储服务器中获取所述目标冷数据,并将所述目标冷数据返回给所述用户。
本发明实施例中能够降低存储功耗,延长机器使用寿命,同时降低数据中心的运营成本;通过故障处理过程,可以在有加电的存储服务器故障时,启动对应个数的存储服务器,在存储服务器启动后,冷数据仍可以正常访问;通过数据巡检过程,可以及时发现关闭的存储服务器中的数据损坏并对其进行修复。
本发明实施例还提供了一种电子设备,如图6所示,包括处理器601、通信接口602、存储器603和通信总线604,其中,处理器601,通信接口602,存储器603通过通信总线604完成相互间的通信。
存储器603,用于存放计算机程序;
处理器601,用于执行存储器603上所存放的程序时,实现如下步骤:
对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片;所述冷数据为存储之后被访问的频次小于预设的频次阈值的数据;
获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中;
从所述总个数的存储服务器中关闭所述第二个数的存储服务器。
可选地,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:在接收到发生故障的存储服务器发送的故障通知后,获取所述发生故障的存储服务器的个数作为第三个数;从关闭的存储服务器中开启所述第三个数的存储服务器,并关闭所述发生故障的存储服务器。
可选地,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:按照预设的第一时间间隔,从开启的存储服务器中关闭预设个数的存储服务器,并从关闭的存储服务器中开启所述预设个数的存储服务器。
可选地,所述方法还包括:按照预设的第二时间间隔,确定开启的存储服务器中存储的数据分片是否发生损坏;在数据分片发生损坏时,修复发生损坏的数据分片。
可选地,所述修复发生损坏的数据分片步骤,包括:获取数据分片发生损坏的存储服务器的个数作为第四个数,并从关闭的存储服务器中开启所述第四个数的存储服务器;获取除所述数据分片发生损坏的存储服务器之外开启的存储服务器中存储的数据分片,根据获取的数据分片修复所述发生损坏的数据分片。
可选地,在所述根据获取的数据分片修复所述发生损坏的数据分片步骤之后,还包括:从开启的存储服务器中关闭所述第四个数的存储服务器。
可选地,所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤,包括:从开启的存储服务器中关闭存储有所述校验数据分片的存储服务器。
可选地,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:在接收到用户发送的访问请求后,确定所述访问请求对应的目标存储服务器;所述目标存储服务器中存储有所述访问请求对应的目标冷数据;在所述目标存储服务器为关闭时,开启所述目标存储服务器,从所述目标存储服务器中获取所述目标冷数据,并将所述目标冷数据返回给所述用户。
上述终端提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,简称PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述终端与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的节能方法。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的节能方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (9)
1.一种节能方法,其特征在于,所述方法包括:
对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片;所述冷数据为存储之后被访问的频次小于预设的频次阈值的数据;
获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中一个数据分片对应存储至一台存储服务器中;
从所述总个数的存储服务器中关闭所述第二个数的存储服务器;
其中,所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤,包括:
从开启的存储服务器中关闭存储有所述校验数据分片的存储服务器;
在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:
按照预设的第一时间间隔,从开启的存储服务器中关闭预设个数的存储服务器,并从关闭的存储服务器中开启所述预设个数的存储服务器。
2.根据权利要求1所述的方法,其特征在于,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:
在接收到发生故障的存储服务器发送的故障通知后,获取所述发生故障的存储服务器的个数作为第三个数;
从关闭的存储服务器中开启所述第三个数的存储服务器,并关闭所述发生故障的存储服务器。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述方法还包括:
按照预设的第二时间间隔,确定开启的存储服务器中存储的数据分片是否发生损坏;
在数据分片发生损坏时,修复发生损坏的数据分片。
4.根据权利要求3所述的方法,其特征在于,所述修复发生损坏的数据分片步骤,包括:
获取数据分片发生损坏的存储服务器的个数作为第四个数,并从关闭的存储服务器中开启所述第四个数的存储服务器;
获取除所述数据分片发生损坏的存储服务器之外开启的存储服务器中存储的数据分片,根据获取的数据分片修复所述发生损坏的数据分片。
5.根据权利要求4所述的方法,其特征在于,在所述根据获取的数据分片修复所述发生损坏的数据分片步骤之后,还包括:
从开启的存储服务器中关闭所述第四个数的存储服务器。
6.根据权利要求1所述的方法,其特征在于,在所述从所述总个数的存储服务器中关闭所述第二个数的存储服务器步骤之后,还包括:
在接收到用户发送的访问请求后,确定所述访问请求对应的目标存储服务器;所述目标存储服务器中存储有所述访问请求对应的目标冷数据;
在所述目标存储服务器为关闭时,开启所述目标存储服务器,从所述目标存储服务器中获取所述目标冷数据,并将所述目标冷数据返回给所述用户。
7.一种节能装置,其特征在于,所述装置包括:
编码模块,用于对待存储的冷数据进行纠删码编码,得到第一个数的原始数据分片和第二个数的校验数据分片;所述冷数据为存储之后被访问的频次小于预设的频次阈值的数据;
存储模块,用于获取所述第一个数和所述第二个数相加得到的总个数,开启所述总个数的存储服务器,并将所述原始数据分片和所述校验数据分片存储至所述总个数的存储服务器中,其中的一个数据分片对应存储至一台存储服务器中;
关闭模块,用于从所述总个数的存储服务器中关闭所述第二个数的存储服务器;
其中,所述关闭模块还用于从开启的存储服务器中关闭存储有所述校验数据分片的存储服务器。
8.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现如权利要求1-6中任一所述的方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911289473.7A CN111061357B (zh) | 2019-12-13 | 2019-12-13 | 节能方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911289473.7A CN111061357B (zh) | 2019-12-13 | 2019-12-13 | 节能方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111061357A CN111061357A (zh) | 2020-04-24 |
CN111061357B true CN111061357B (zh) | 2021-09-03 |
Family
ID=70301789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911289473.7A Active CN111061357B (zh) | 2019-12-13 | 2019-12-13 | 节能方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111061357B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213420A (zh) * | 2017-06-29 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 数据存储方法、装置及系统 |
CN109871294A (zh) * | 2019-01-31 | 2019-06-11 | 北京百度网讯科技有限公司 | 用于校验数据、处理请求的方法和装置 |
CN110321253A (zh) * | 2019-07-09 | 2019-10-11 | 北京百度网讯科技有限公司 | 用于备份数据的方法和装置 |
CN110427284A (zh) * | 2019-07-31 | 2019-11-08 | 中国工商银行股份有限公司 | 数据处理方法、分布式系统、计算机系统和介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8156368B2 (en) * | 2010-02-22 | 2012-04-10 | International Business Machines Corporation | Rebuilding lost data in a distributed redundancy data storage system |
CN106936622B (zh) * | 2015-12-31 | 2020-01-31 | 阿里巴巴集团控股有限公司 | 一种分布式存储系统升级方法和装置 |
CN107870726A (zh) * | 2016-09-26 | 2018-04-03 | 北京优朋普乐科技有限公司 | 基于冗余机制的数据存储方法和装置、服务器 |
CN106788468B (zh) * | 2016-11-28 | 2021-01-01 | 北京三快在线科技有限公司 | 一种纠删码更新方法及装置,电子设备 |
CN108363813B (zh) * | 2018-03-15 | 2020-06-02 | 北京星选科技有限公司 | 数据存储方法、装置和系统 |
CN109857710B (zh) * | 2019-01-04 | 2023-10-27 | 平安科技(深圳)有限公司 | 文件存储方法及终端设备 |
CN109885256B (zh) * | 2019-01-23 | 2022-07-08 | 平安科技(深圳)有限公司 | 一种基于数据分片的数据存储方法、设备及介质 |
-
2019
- 2019-12-13 CN CN201911289473.7A patent/CN111061357B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109213420A (zh) * | 2017-06-29 | 2019-01-15 | 杭州海康威视数字技术股份有限公司 | 数据存储方法、装置及系统 |
CN109871294A (zh) * | 2019-01-31 | 2019-06-11 | 北京百度网讯科技有限公司 | 用于校验数据、处理请求的方法和装置 |
CN110321253A (zh) * | 2019-07-09 | 2019-10-11 | 北京百度网讯科技有限公司 | 用于备份数据的方法和装置 |
CN110427284A (zh) * | 2019-07-31 | 2019-11-08 | 中国工商银行股份有限公司 | 数据处理方法、分布式系统、计算机系统和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111061357A (zh) | 2020-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10255003B2 (en) | Making consistent reads more efficient in IDA+copy system | |
US10282118B2 (en) | Using reason codes to determine how to handle memory device error conditions | |
US20190171524A1 (en) | Isolating the introduction of software defects in a dispersed storage network | |
US10042566B2 (en) | Intelligent read strategy within a dispersed storage network (DSN) | |
US10530862B2 (en) | Determining slices to rebuild from low-level failures | |
US10552341B2 (en) | Zone storage—quickly returning to a state of consistency following an unexpected event | |
US12026057B2 (en) | Mapping storage slots to a set of storage units | |
US10901951B2 (en) | Memory compaction for append-only formatted data in a distributed storage network | |
US20170132081A1 (en) | Priority based rebuilding | |
US20230328136A1 (en) | Rebuilding Encoded Data Slices for Rotating Active and Inactive Storage Units | |
US10007575B2 (en) | Alternative multiple memory format storage in a storage network | |
CN111061357B (zh) | 节能方法、装置、电子设备及存储介质 | |
US10318382B2 (en) | Determining missing encoded data slices | |
US11650879B2 (en) | Generating estimated efficiency models for selecting a processing unit in a storage network | |
US20190026041A1 (en) | Shutting down storage units or drives when below threshold in a distributed storage system | |
US10146645B2 (en) | Multiple memory format storage in a storage network | |
US10901616B2 (en) | Catastrophic data loss prevention by global coordinator | |
US11221916B2 (en) | Prioritized data reconstruction in a dispersed storage network | |
US10423502B2 (en) | Stand-by distributed storage units | |
US20230185773A1 (en) | Dynamically Rebuilding Encoded Data Slices in a Storage Network | |
US10789128B2 (en) | External healing mode for a dispersed storage network memory | |
US20190294494A1 (en) | Virtualization of storage units in a dispersed storage network | |
US20190197032A1 (en) | Preventing unnecessary modifications, work, and conflicts within a dispersed storage network | |
US20180121278A1 (en) | Pro-actively preparing a dispersed storage network memory for higher-loads |
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 |