CN114896099A - 用于泛在存储系统的网络环境自适应编码方法及系统 - Google Patents

用于泛在存储系统的网络环境自适应编码方法及系统 Download PDF

Info

Publication number
CN114896099A
CN114896099A CN202210473290.6A CN202210473290A CN114896099A CN 114896099 A CN114896099 A CN 114896099A CN 202210473290 A CN202210473290 A CN 202210473290A CN 114896099 A CN114896099 A CN 114896099A
Authority
CN
China
Prior art keywords
data
storage system
repair
proportion
node
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.)
Granted
Application number
CN202210473290.6A
Other languages
English (en)
Other versions
CN114896099B (zh
Inventor
王明阳
宋罡
汪波
杨阿锋
刘涛
王军良
姚英彪
王明飞
马祥春
徐欣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
93216 Troops Of Chinese Pla
Hangzhou Dianzi University
Original Assignee
93216 Troops Of Chinese Pla
Hangzhou Dianzi University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 93216 Troops Of Chinese Pla, Hangzhou Dianzi University filed Critical 93216 Troops Of Chinese Pla
Priority to CN202210473290.6A priority Critical patent/CN114896099B/zh
Publication of CN114896099A publication Critical patent/CN114896099A/zh
Application granted granted Critical
Publication of CN114896099B publication Critical patent/CN114896099B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1048Adding 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 arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0001Systems modifying transmission characteristics according to link quality, e.g. power backoff
    • H04L1/0014Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the source coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0046Code rate detection or code type detection
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明属于计算机存储技术领域,具体涉及用于泛在存储系统的网络环境自适应编码方法及系统。方法包括S1,在RS纠删码的基础上扩展纠删码参数;S2,采用有限离散时间马尔科夫链建模,进行数据修复过程;S3,估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布;S4,通过EAP算法,根据网络环境自适应调整纠删码参数,得到维持期望持久性的最优纠删码参数;S5,通过ORP算法,根据泛在存储系统当前节点抖动率和慢速节点比例的情况下,得到最低修复带宽开销且满足期望持久性的最优纠删码参数。本发明具有在各种网络环境中都可以维持期望持久性的特点。

Description

用于泛在存储系统的网络环境自适应编码方法及系统
技术领域
本发明属于计算机存储技术领域,具体涉及用于泛在存储系统的网络环境自适应编码方法及系统。
背景技术
如今,常用的分布式存储系统大多采用数据中心式的多机架多服务器方案,在宏观物理形式上仍然是中心化的存储,导致数据的安全性和私密性受到挑战。而泛在存储采用去中心化架构,每个人都可以将自己设备(手机、平板、电脑甚至是智能汽车)上的空闲存储空间和带宽贡献/出租出去,成为泛在存储系统中的存储节点。然而,如此庞大的存储节点规模使得节点失效成为常态,导致数据持久性急速下降。因此,数据要想永久可靠地存储在泛在存储系统中,就必须采用一定的数据容错技术来维持泛在存储系统中的数据持久性。
目前,具有高持久性和低冗余性的纠删码泛在存储方案已经引起了人们的关注。例如,被广泛采用的RS(Reed-Solomon)纠删码将大文件或原始数据切割成若干个固定大小的块,大小不够的用0来填充,之后对这些块进行(n,k)纠删编码,将每个块先均分成k个片段,然后将k个片段编码成n个片段。当丢失的片段小于等于n-k时,只需任意k个片段即可恢复出相应的块。与三副本方案相比,它可将存储开销降低53%,同时将数据持久性提高一倍。
然而,在数据修复时,RS纠删码由于其过高的数据修复带宽开销导致耗费了大量的网络带宽。泛在存储系统中节点是不稳定的,节点抖动率表示了系统中节点下线的比例,所以修复会被更频繁地触发,导致整个存储系统的性能下降甚至不可用。同时现有的纠删码方案还未考虑到以下两点问题:1.在节点抖动时,无法达到系统期望的数据持久性(比如0.99999999999999%,即14个9);2.系统中慢速节点(传输3.2KB数据所花费时间在60ms以上的均为慢速节点)的存在会导致修复时间过长从而严重影响数据持久性,根据以往的实验结果,只要修复时间增加25%至45%,数据持久性就会下降两个数量级。
综上所述,现有的泛在存储纠删码方案在节点抖动率变化时无法维持期望的持久性且修复带宽开销大、修复时间长,难以实际应用在泛在存储系统中。
基于上述问题,设计一种在各种网络环境中都可以维持期望持久性的用于泛在存储系统的网络环境自适应编码方法及系统,就显得十分重要。
例如,申请号为CN201610137334.2的中国专利文献描述的一种多网盘下的增量纠删码存储方法及系统。多网盘下的增量纠删码存储方法包括:文件首先划分为若干“文件块”,并对“文件块”采用纠删码算法转化为若干“纠删数据块”,最后将全部“纠删数据块”分散存储在多个网盘中,并提供“文件块”级别的去冗余存储。多网盘下的增量纠删码存储系统包括:“网盘”装置,负责存储文件的数据内容;“文件系统元服务器”装置,负责存储文件系统的元数据及“文件块”去冗余管理;“文件系统客户端”装置,负责“文件块”的分解与合成、“纠删数据块”的编码与解码、“纠删数据块”的网盘上传与下载、去冗余、及对外提供文件访问服务。虽然能够有效地提高基于多网盘存储系统的可靠性、访问效率及空间利用率,但是其缺点在于仍然存在节点抖动率变化时无法维持期望的持久性且修复带宽开销大、修复时间长,难以实际应用在泛在存储系统中的问题。
发明内容
本发明是为了克服现有技术中,现有的泛在存储纠删码方案在节点抖动率变化时无法维持期望的持久性且修复带宽开销大、修复时间长,难以实际应用在泛在存储系统中的问题,提供了一种在各种网络环境中都可以维持期望持久性的用于泛在存储系统的网络环境自适应编码方法及系统。
为了达到上述发明目的,本发明采用以下技术方案:
用于泛在存储系统的网络环境自适应编码方法,包括如下步骤:
S1,在RS纠删码的基础上扩展纠删码参数;
S2,采用有限离散时间马尔科夫链建模,进行数据修复过程;
S3,估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布;
S4,通过EAP算法,根据网络环境自适应调整纠删码参数,得到维持期望持久性的最优纠删码参数;
S5,通过ORP算法,根据泛在存储系统当前节点抖动率和慢速节点比例的情况下,得到最低修复带宽开销且满足期望持久性的最优纠删码参数。
作为优选,步骤S1包括如下步骤:
S11,在RS纠删码的基础上将纠删码参数(n,k)扩展为(k,m,o,n);
其中,k为修复一个块所需的最少片段数;m为修复阈值;o为不考虑泛在存储系统中慢速节点时的最终片段个数;n为考虑泛在存储系统中慢速节点时的最终片段个数。
作为优选,步骤S2包括如下步骤:
S21,设定状态表示泛在存储系统中一个块的冗余级别;节点抖动率PFR表示在泛在存储系统中一年内节点下线的比例,对于一个给定的节点,在单位时间步长内失效的概率为
Figure BDA0003623967200000031
存活的概率为1-α;
S22,设定马尔科夫链共有o-k+2个状态,即一个数据块b的o-k个冗余级别,外加一个0级和一个死亡dead状态;用[o-k](b)来表示数据块b的剩余冗余片段数,一个数据块以级别i丢失一个片段的概率用δ(i)表示,当[o-k](b)≤m-k时开始修复,并修复到o-k个;
S23,设定处于某一状态的概率收敛于一个唯一的平稳分布P,P(i)表示处于状态i的平稳概率;δ(0)表示一个数据块的冗余片段数为0时再丢失一个片段的概率,P(0)则表示一个数据块的冗余片段数为0时的平稳概率;马尔科夫链的平稳分布通过以下的稳定性方程进行计算:
Figure BDA0003623967200000041
S24,将处于P(o-k)级别的片段的比例简化为
Figure BDA0003623967200000042
其中
Figure BDA0003623967200000043
是n的调和函数;根据欧拉公式,得出Hn≈ln(n);则当状态i处于m-k<i≤o-k时的数据块的比例表示为
Figure BDA0003623967200000044
代入公式得:
Figure BDA0003623967200000045
作为优选,步骤S3包括如下步骤:
S31,定义修复带宽低效率ε(i),即需要传输来修复i个丢失片段的数据比例:ε(i)=(k+i-1);当一个数据块需要修复时,丢失分片的数据量为o-m;当只考虑需要传输的分片的比例时,平均带宽开销直接来自状态m-k+1到状态m-k的转换,所述转换的数据块的比例表示为:δ(m-k+1)·P(m-k+1),完成修复的平均块数为:Ravg=(m+1)·α·P(m-k+1);对于每个数据块,要传输的信息总量为:ε(o-m),若修复服从均匀分布,则每个节点的平均带宽开销为:
Figure BDA0003623967200000046
代入得:
Figure BDA0003623967200000047
S32,设定公式P(dead)=δ(0)·P(0)为泛在存储系统中单位时间步长丢失的数据块的比例;通过LossRate=P(dead)来计算数据丢失率;当α/γ<<1时,数据丢失率近似为:
Figure BDA0003623967200000048
S33,通过
Figure BDA0003623967200000049
来计算修复带宽开销最小的o值,计算结果如下:
Figure BDA00036239672000000410
S34,纠删编码后的片段正好保存在慢速节点上的概率在数学上服从二项分布,分布律为:
Figure BDA0003623967200000051
公式(6)中的参数n、k和p只代表二项分布中的含义,与纠删码中的参数所表达的含义不同。
作为优选,步骤S4包括如下步骤:
S41,输入泛在存储系统中的初始纠删码参数(k,o)、期望的持久性和观测到的节点抖动率,并将m不断增长的(k,m,o)参数代入公式(4)中计算数据丢失率LR并和期望的丢失率DLR比较;
S42,当LR小于等于DLR时,即获得观测到的节点抖动率情况下,仍可维持期望的持久性的最优纠删码参数(k,m,o)。
作为优选,步骤S5包括如下步骤:
S51,输入泛在存储系统中的初始纠删码参数k,期望的持久性、观测到的节点抖动率和慢速节点比例;
S52,随机选择一个临时的o值,将m不断增长的(k,m,o)参数代入公式(4)中计算数据丢失率LR,比较计算出的LR和期望的丢失率DLR的大小;当LR小于等于DLR时,即得到了参数m的值;
S53,将输入的k、步骤S52得到的m和不断增长的o代入公式(5)中计算出结果,并将结果res和对应的o值放入到dict映射中,在res中取绝对值最小的值对应的o的值,即得到了参数o;
S54,根据二项分布的期望E(X)=np,其中n为试验次数,p为事件发生的概率,得出应对慢速节点的参数n的值,并得到当前节点抖动率和慢速节点比例的情况下,最低修复带宽开销同时满足期望持久性的参数(k,m,o,n)。
本发明还提供了用于泛在存储系统的网络环境自适应编码系统,包括:
系统建模模块,用于在RS纠删码的基础上扩展纠删码参数,同时采用有限离散时间马尔科夫链建模,进行数据修复过程,并估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布;
EAP算法模块,用于通过EAP算法,根据网络环境自适应调整纠删码参数,得到维持期望持久性的最优纠删码参数;
ORP算法模块,用于通过ORP算法,根据泛在存储系统当前节点抖动率和慢速节点比例的情况下,得到最低修复带宽开销且满足期望持久性的最优纠删码参数。
作为优选,所述系统建模模块包括:
参数扩展模块,用于在RS纠删码的基础上扩展纠删码参数;
数据修复模块,用于采用有限离散时间马尔科夫链建模,进行数据修复过程;
修复带宽开销比例估计模块,用于估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布。
本发明与现有技术相比,有益效果是:(1)本发明在各种网络环境中都可以维持期望持久性;(2)本发明通过EAP算法和ORP算法改进传统的RS纠删码算法,不仅可以提高泛在存储系统的数据持久性,还可以最优化修复带宽开销和修复时间,方便纠删码在泛在存储系统中的应用。
附图说明
图1为本发明中泛在存储系统数据分隔及纠删编码过程的一种过程示意图;
图2为本发明中扩展参数纠删码的一种结构示意图;
图3为本发明中修复过程一个块的马尔科夫链的一种示意图;
图4为本发明实施例所提供的EAP算法的一种程序代码图;
图5为本发明实施例所提供的ORP算法的一种程序代码图;
图6为本发明中用于泛在存储系统的网络环境自适应编码系统的一种原理框图。
具体实施方式
为了更清楚地说明本发明实施例,下面将对照附图说明本发明的具体实施方式。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图,并获得其他的实施方式。
实施例:
本发明提供了用于泛在存储系统的网络环境自适应编码方法,包括如下步骤:
S1,在RS纠删码的基础上扩展纠删码参数;
S2,采用有限离散时间马尔科夫链建模,进行数据修复过程;
S3,估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布;
S4,通过EAP算法,根据网络环境自适应调整纠删码参数,得到维持期望持久性的最优纠删码参数;
S5,通过ORP算法,根据泛在存储系统当前节点抖动率和慢速节点比例的情况下,得到最低修复带宽开销且满足期望持久性的最优纠删码参数。
如图1所示,将大文件或原始数据首先均分成固定大小的块,大小不够的用0来填充。其次对这些块进行纠删编码,编码成片段。最后将这些编码后的片段发送到泛在存储系统中的存储节点上进行保存。
进一步的,步骤S1包括如下步骤:
S11,在RS纠删码的基础上将纠删码参数(n,k)扩展为(k,m,o,n);
其中,k为修复一个块所需的最少片段数;m为修复阈值;o为不考虑泛在存储系统中慢速节点时的最终片段个数;n为考虑泛在存储系统中慢速节点时的最终片段个数。
如图2所示,为本发明提出的扩展参数纠删码结构。将(n,k)纠删码扩展为(k,m,o,n)纠删码。k为修复一个块所需的最少片段数,泛在存储系统中一旦选定了k值后一般就不会变化。m为修复阈值,当网络中的一个块对应的片段数量已经下降到m或m以下时,则立即触发修复。o为不考虑系统中慢速节点时的最终片段个数,实际系统中若不考虑慢速节点,则一个块最终只会被编码出o个片段,一旦o个片段完成上传至存储节点,就已经达到了系统预期的持久性级别,剩余的n-o个片段将不会被编码产生,也不会被发送到存储节点。n为考虑系统中慢速节点时的最终片段个数,n的选择主要是为了减小网络中慢速节点对修复时间的影响,因此,多出来的n-o个片段是可选的,它可以达到更好的持久性,同时可以应对慢速节点(即存储o个片段就可以达到预期的持久性要求,n是可选的,存储n个片段是为了更好的持久性,并减小慢速节点对修复时间的影响)。其他各个参数及其含义如表1所示。
表1 主要变量符号及其含义解释表
Figure BDA0003623967200000081
Figure BDA0003623967200000091
节点抖动率(PFR)为每年的观测值,这里本实施例选择观测的平均值即10%。MTTF设置为1年,该值小于主要硬件提供商担保的保修时间。
Figure BDA0003623967200000092
ART=12小时。
Figure BDA0003623967200000093
慢速节点比例(RSP)为每年的观测值,这里本实施例选择观测的平均值即20%。
进一步的,步骤S2包括如下步骤:
S21,设定状态表示泛在存储系统中一个块的冗余级别,如图3所示;节点抖动率PFR表示在泛在存储系统中一年内节点下线的比例,对于一个给定的节点,在单位时间步长内失效的概率为
Figure BDA0003623967200000094
存活的概率为1-α;
S22,设定马尔科夫链共有o-k+2个状态,即一个数据块b的o-k个冗余级别,外加一个0级和一个死亡dead状态;用[o-k](b)来表示数据块b的剩余冗余片段数,一个数据块以级别i丢失一个片段的概率用δ(i)表示,当[o-k](b)≤m-k时开始修复,并修复到o-k个;
S23,设定处于某一状态的概率收敛于一个唯一的平稳分布P,P(i)表示处于状态i的平稳概率;δ(0)表示一个数据块的冗余片段数为0时再丢失一个片段的概率,P(0)则表示一个数据块的冗余片段数为0时的平稳概率;马尔科夫链的平稳分布通过以下的稳定性方程进行计算:
Figure BDA0003623967200000095
S24,将处于P(o-k)级别的片段的比例简化为
Figure BDA0003623967200000096
其中
Figure BDA0003623967200000097
是n的调和函数;根据欧拉公式,得出Hn≈ln(n);则当状态i处于m-k<i≤o-k时的数据块的比例表示为
Figure BDA0003623967200000101
代入公式得:
Figure BDA0003623967200000102
图3为一个块的修复过程,它可以用马尔科夫链精确地建模。图中实线和虚线分别表示失效和修复过程。死块(Dead)导致的失效概率为1。
进一步的,步骤S3包括如下步骤:
S31,为了估计泛在存储系统中数据修复所占用的带宽开销,定义修复带宽低效率ε(i),即需要传输来修复i个丢失片段的数据比例:ε(i)=(k+i-1);负责修复数据的节点必须从其他节点下载k个分片,然后发送i-1个修复后的分片(假设每个节点负责保存一个分片);当一个数据块需要修复时,丢失分片的数据量为o-m;当只考虑需要传输的分片的比例时,平均带宽开销直接来自状态m-k+1到状态m-k的转换,所述转换的数据块的比例表示为:δ(m-k+1)·P(m-k+1),完成修复的平均块数为:Ravg=(m+1)·α·P(m-k+1);对于每个数据块,要传输的信息总量为:ε(o-m),若修复服从均匀分布,则每个节点的平均带宽开销为:
Figure BDA0003623967200000103
代入得:
Figure BDA0003623967200000104
S32,设定公式P(dead)=δ(0)·P(0)为泛在存储系统中单位时间步长丢失的数据块的比例;通过LossRate=P(dead)来计算数据丢失率;当α/γ<<1时,数据丢失率近似为:
Figure BDA0003623967200000105
S33,为了得到给定k和m的最优修复带宽开销,只需求出公式(3)关于o的导数即可,通过
Figure BDA0003623967200000106
来计算修复带宽开销最小的o值,计算结果如下:
Figure BDA0003623967200000107
泛在存储系统中存在大量异构的存储节点,它们中有相当一部分节点的可用带宽较小或距离较远,导致其数据传输时间较长从而造成修复时间过高。同时,人为的下线或永久离开是造成系统中节点抖动和传输较慢的重要原因。为了系统的性能,规定传输3.2KB数据所花费时间在60ms以上的均为慢速节点,其余的均为正常节点。
S34,纠删编码后的片段正好保存在慢速节点上的概率在数学上服从二项分布,分布律为:
Figure BDA0003623967200000111
公式(6)中的参数n、k和p只代表二项分布中的含义,与纠删码中的参数所表达的含义不同。
步骤S4包括如下步骤:
S41,输入泛在存储系统中的初始纠删码参数(k,o)、期望的持久性和观测到的节点抖动率,并将m不断增长的(k,m,o)参数代入公式(4)中计算数据丢失率LR并和期望的丢失率DLR比较;
S42,当LR小于等于DLR时,即获得观测到的节点抖动率情况下,仍可维持期望的持久性的最优纠删码参数(k,m,o)。
如图4所示,EAP算法具体是:
1.首先选定纠删码初始参数k和o的值。本实施例选定k=20,o=40。冗余因子
Figure BDA0003623967200000112
系统期望的丢失率(DLR)为1×10-14,则系统期望的持久性(DD)为1-10-14=0.99999999999999,即14个9。
2.进入图4算法1的1至6行:第一步进入循环。第二步将(k,m,o)的值代入公式(4)中计算丢失率(LR)。第三步将第二步计算得到的丢失率与期望的丢失率(DLR)进行比较,若丢失率小于等于期望的丢失率,则退出循环,得到了该节点抖动率下仍可维持期望持久性的最优参数(k,m,o)。否则,重回第一步。本实施例由于选定了k=20,o=40,则根据该算法,得到m=26,则最优参数为:(20,26,40)。
进一步的,步骤S5包括如下步骤:
S51,输入泛在存储系统中的初始纠删码参数k,期望的持久性、观测到的节点抖动率和慢速节点比例;
S52,随机选择一个临时的o值,将m不断增长的(k,m,o)参数代入公式(4)中计算数据丢失率LR,比较计算出的LR和期望的丢失率DLR的大小;当LR小于等于DLR时,即得到了参数m的值;
S53,将输入的k、步骤S52得到的m和不断增长的o代入公式(5)中计算出结果,并将结果res和对应的o值放入到dict映射中,在res中取绝对值最小的值对应的o的值,即得到了参数o;
S54,根据二项分布的期望E(X)=np,其中n为试验次数,p为事件发生的概率,得出应对慢速节点的参数n的值,并得到当前节点抖动率和慢速节点比例的情况下,最低修复带宽开销同时满足期望持久性的参数(k,m,o,n)。
如图5所示,ORP算法具体是:
1.如图5算法2所示,首先选定纠删码初始参数k的值。本实施例选定k=20。系统期望的丢失率(DLR)为1×10-14,则系统期望的持久性(DD)为1-10-14=0.99999999999999,即14个9。
2.进入图5算法2的1至7行:第一步本实施例随机选择一个较大的o值作为临时值,本实施例选定o=3k。第二步进入循环。第三步将(k,m,o)的值代入公式(4)中计算丢失率(LR)。第四步将第三步计算得到的丢失率与期望的丢失率(DLR)进行比较,若丢失率小于等于期望的丢失率,则退出循环,此时得到了参数m的值。否则重回第二步的循环。本实施例选定了k=20,根据上述步骤,得到m=26。
3.进入算法2的第8至13行:第一步,初始化一个空的dict映射,用于存放公式(5)的计算结果和相应的o值。第二步进入循环,选择o=5k是因为根据公式(5)及公式(4)的曲线可知,使公式(5)成立的o值一定出现在5k以内。第三步将参数(k,m,o)代入公式(5)中计算出结果res,并将结果res和对应的o值放入到dict映射中。第四步返回第二步循环,直到循环全部结束。第五步,在结果res中取绝对值最小的值对应的o值,即得到了参数o。本实施例中,选定k=20,并得到了m=26,因此得到o=64。
4.进入算法2的第14至15行:第一步,由于二项分布的期望E(X)=np(其中n为试验次数,p为事件发生的概率),根据该公式,计算出应对慢速节点的参数n的值。第二步,得到了该节点抖动率和慢速节点比例的情况下,实现最优修复带宽开销并满足期望持久性的参数(k,m,o,n)。本实施例中,选定k=20,并得到了m=26,o=64,因此计算得到n=68,则最优参数为:(20,26,64,68)。
基于本实施例,如图6所示,本发明还提供了用于泛在存储系统的网络环境自适应编码系统,包括:
系统建模模块,用于在RS纠删码的基础上扩展纠删码参数,同时采用有限离散时间马尔科夫链建模,进行数据修复过程,并估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布;
EAP算法模块,用于通过EAP算法,根据网络环境自适应调整纠删码参数,得到维持期望持久性的最优纠删码参数;
ORP算法模块,用于通过ORP算法,根据泛在存储系统当前节点抖动率和慢速节点比例的情况下,得到最低修复带宽开销且满足期望持久性的最优纠删码参数。
进一步的,所述系统建模模块包括:
参数扩展模块,用于在RS纠删码的基础上扩展纠删码参数;
数据修复模块,用于采用有限离散时间马尔科夫链建模,进行数据修复过程;
修复带宽开销比例估计模块,用于估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布。
本发明通过EAP算法和ORP算法改进传统的RS纠删码算法,不仅可以提高泛在存储系统的数据持久性,还可以最优化修复带宽开销和修复时间,方便纠删码在泛在存储系统中的应用。
以上所述仅是对本发明的优选实施例及原理进行了详细说明,对本领域的普通技术人员而言,依据本发明提供的思想,在具体实施方式上会有改变之处,而这些改变也应视为本发明的保护范围。

Claims (8)

1.用于泛在存储系统的网络环境自适应编码方法,其特征在于,包括如下步骤:
S1,在RS纠删码的基础上扩展纠删码参数;
S2,采用有限离散时间马尔科夫链建模,进行数据修复过程;
S3,估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布;
S4,通过EAP算法,根据网络环境自适应调整纠删码参数,得到维持期望持久性的最优纠删码参数;
S5,通过ORP算法,根据泛在存储系统当前节点抖动率和慢速节点比例的情况下,得到最低修复带宽开销且满足期望持久性的最优纠删码参数。
2.根据权利要求1所述的用于泛在存储系统的网络环境自适应编码方法,其特征在于,步骤S1包括如下步骤:
S11,在RS纠删码的基础上将纠删码参数(n,k)扩展为(k,m,o,n);
其中,k为修复一个块所需的最少片段数;m为修复阈值;o为不考虑泛在存储系统中慢速节点时的最终片段个数;n为考虑泛在存储系统中慢速节点时的最终片段个数。
3.根据权利要求2所述的用于泛在存储系统的网络环境自适应编码方法,其特征在于,步骤S2包括如下步骤:
S21,设定状态表示泛在存储系统中一个块的冗余级别;节点抖动率PFR表示在泛在存储系统中一年内节点下线的比例,对于一个给定的节点,在单位时间步长内失效的概率为
Figure FDA0003623967190000011
存活的概率为1-α;
S22,设定马尔科夫链共有o-k+2个状态,即一个数据块b的o-k个冗余级别,外加一个0级和一个死亡dead状态;用[o-k](b)来表示数据块b的剩余冗余片段数,一个数据块以级别i丢失一个片段的概率用δ(i)表示,当[o-k](b)≤m-k时开始修复,并修复到o-k个;
S23,设定处于某一状态的概率收敛于一个唯一的平稳分布P,P(i)表示处于状态i的平稳概率;δ(0)表示一个数据块的冗余片段数为0时再丢失一个片段的概率,P(0)则表示一个数据块的冗余片段数为0时的平稳概率;马尔科夫链的平稳分布通过以下的稳定性方程进行计算:
Figure FDA0003623967190000021
S24,将处于P(o-k)级别的片段的比例简化为
Figure FDA0003623967190000022
其中
Figure FDA0003623967190000023
是n的调和函数;根据欧拉公式,得出Hn≈ln(n);则当状态i处于m-k<i≤o-k时的数据块的比例表示为
Figure FDA0003623967190000024
代入公式得:
Figure FDA0003623967190000025
4.根据权利要求3所述的用于泛在存储系统的网络环境自适应编码方法,其特征在于,步骤S3包括如下步骤:
S31,定义修复带宽低效率ε(i),即需要传输来修复i个丢失片段的数据比例:ε(i)=(k+i-1);当一个数据块需要修复时,丢失分片的数据量为o-m;当只考虑需要传输的分片的比例时,平均带宽开销直接来自状态m-k+1到状态m-k的转换,所述转换的数据块的比例表示为:δ(m-k+1)·P(m-k+1),完成修复的平均块数为:Ravg=(m+1)·α·P(m-k+1);对于每个数据块,要传输的信息总量为:ε(o-m),若修复服从均匀分布,则每个节点的平均带宽开销为:
Figure FDA0003623967190000026
代入得:
Figure FDA0003623967190000027
S32,设定公式P(dead)=δ(0)·P(0)为泛在存储系统中单位时间步长丢失的数据块的比例;通过LossRate=P(dead)来计算数据丢失率;当α/γ<<1时,数据丢失率近似为:
Figure FDA0003623967190000031
S33,通过
Figure FDA0003623967190000032
来计算修复带宽开销最小的o值,计算结果如下:
Figure FDA0003623967190000033
S34,纠删编码后的片段正好保存在慢速节点上的概率在数学上服从二项分布,分布律为:
Figure FDA0003623967190000034
公式(6)中的参数n、k和p只代表二项分布中的含义,与纠删码中的参数所表达的含义不同。
5.根据权利要求4所述的用于泛在存储系统的网络环境自适应编码方法,其特征在于,步骤S4包括如下步骤:
S41,输入泛在存储系统中的初始纠删码参数(k,o)、期望的持久性和观测到的节点抖动率,并将m不断增长的(k,m,o)参数代入公式(4)中计算数据丢失率LR并和期望的丢失率DLR比较;
S42,当LR小于等于DLR时,即获得观测到的节点抖动率情况下,仍可维持期望的持久性的最优纠删码参数(k,m,o)。
6.根据权利要求5所述的用于泛在存储系统的网络环境自适应编码方法,其特征在于,步骤S5包括如下步骤:
S51,输入泛在存储系统中的初始纠删码参数k,期望的持久性、观测到的节点抖动率和慢速节点比例;
S52,随机选择一个临时的o值,将m不断增长的(k,m,o)参数代入公式(4)中计算数据丢失率LR,比较计算出的LR和期望的丢失率DLR的大小;当LR小于等于DLR时,即得到了参数m的值;
S53,将输入的k、步骤S52得到的m和不断增长的o代入公式(5)中计算出结果,并将结果res和对应的o值放入到dict映射中,在res中取绝对值最小的值对应的o的值,即得到了参数o;
S54,根据二项分布的期望E(X)=np,其中n为试验次数,p为事件发生的概率,得出应对慢速节点的参数n的值,并得到当前节点抖动率和慢速节点比例的情况下,最低修复带宽开销同时满足期望持久性的参数(k,m,o,n)。
7.用于泛在存储系统的网络环境自适应编码系统,其特征在于,包括:
系统建模模块,用于在RS纠删码的基础上扩展纠删码参数,同时采用有限离散时间马尔科夫链建模,进行数据修复过程,并估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布;
EAP算法模块,用于通过EAP算法,根据网络环境自适应调整纠删码参数,得到维持期望持久性的最优纠删码参数;
ORP算法模块,用于通过ORP算法,根据泛在存储系统当前节点抖动率和慢速节点比例的情况下,得到最低修复带宽开销且满足期望持久性的最优纠删码参数。
8.根据权利要求7所述的用于泛在存储系统的网络环境自适应编码系统,其特征在于,所述系统建模模块包括:
参数扩展模块,用于在RS纠删码的基础上扩展纠删码参数;
数据修复模块,用于采用有限离散时间马尔科夫链建模,进行数据修复过程;
修复带宽开销比例估计模块,用于估计数据修复过程所占用的带宽开销比例和数据丢失率,得到最优修复带宽开销及慢速节点分布。
CN202210473290.6A 2022-04-29 2022-04-29 用于泛在存储系统的网络环境自适应编码方法及系统 Active CN114896099B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210473290.6A CN114896099B (zh) 2022-04-29 2022-04-29 用于泛在存储系统的网络环境自适应编码方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210473290.6A CN114896099B (zh) 2022-04-29 2022-04-29 用于泛在存储系统的网络环境自适应编码方法及系统

Publications (2)

Publication Number Publication Date
CN114896099A true CN114896099A (zh) 2022-08-12
CN114896099B CN114896099B (zh) 2023-04-25

Family

ID=82719836

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210473290.6A Active CN114896099B (zh) 2022-04-29 2022-04-29 用于泛在存储系统的网络环境自适应编码方法及系统

Country Status (1)

Country Link
CN (1) CN114896099B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760116A (zh) * 2016-03-10 2016-07-13 天津科技大学 一种多网盘下的增量纠删码存储方法及系统
US20170272100A1 (en) * 2016-03-15 2017-09-21 Cloud Crowding Corp. Distributed Storage System Data Management And Security
CN113391946A (zh) * 2021-05-25 2021-09-14 杭州电子科技大学 一种分布式存储中的纠删码的编解码方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760116A (zh) * 2016-03-10 2016-07-13 天津科技大学 一种多网盘下的增量纠删码存储方法及系统
US20170272100A1 (en) * 2016-03-15 2017-09-21 Cloud Crowding Corp. Distributed Storage System Data Management And Security
CN113391946A (zh) * 2021-05-25 2021-09-14 杭州电子科技大学 一种分布式存储中的纠删码的编解码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
朱定亚: "基于再生码的分布式容错存储优化技木研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Also Published As

Publication number Publication date
CN114896099B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
Sohn et al. Capacity of clustered distributed storage
CN105340183B (zh) 一种极性码的译码方法及装置
WO2018166078A1 (zh) 修复多节点失效的mds阵列码编码以及解码方法
CN111697976B (zh) 一种基于分布式存储的rs纠删快速解码方法及系统
Sung et al. A ZigZag-decodable code with the MDS property for distributed storage systems
Zhao et al. Designs of Bhattacharyya parameter in the construction of polar codes
CN111858169A (zh) 一种数据恢复方法、系统及相关组件
CN103650462B (zh) 基于同态的自修复码的编码、解码和数据修复方法及其存储系统
CA3069594A1 (en) Media content-based adaptive method, device and system for fec coding and decoding of systematic code, and medium
CN114896099A (zh) 用于泛在存储系统的网络环境自适应编码方法及系统
CN111030708A (zh) 极化码的迭代可调软串行抵消列表译码方法和装置
Wang et al. Construction of binary locally repairable codes with optimal distance and code rate
CN107665152B (zh) 一类纠删码的译码方法
Farhadi et al. Tracking nonlinear noisy dynamic systems over noisy communication channels
Li et al. Pipelined regeneration with regenerating codes for distributed storage systems
WO2014012246A1 (zh) 用于分布式网络存储的自修复码的编码、重构和恢复方法
CN108093455B (zh) 一种基于时空相关性的高能效无线传感网数据传输方法
CN106788454B (zh) 一种局部性不相等码的构造方法
Albano et al. Distributed erasure coding in data centric storage for wireless sensor networks
CN102970048B (zh) 一种基于bch码译码的bch码编码参数盲识别方法
Chang et al. Bounded error data compression and aggregation in wireless sensor networks
CN111130558A (zh) 一种基于统计概率的编码表压缩方法
WO2004004238A1 (en) Associating mac addresses with addresses in a look-up table
Ali et al. Consistent distributed storage of correlated data updates via multi-version coding
CN113505823B (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