CN109194444A - 一种基于网络拓扑的平衡二叉树修复方法 - Google Patents

一种基于网络拓扑的平衡二叉树修复方法 Download PDF

Info

Publication number
CN109194444A
CN109194444A CN201811017396.5A CN201811017396A CN109194444A CN 109194444 A CN109194444 A CN 109194444A CN 201811017396 A CN201811017396 A CN 201811017396A CN 109194444 A CN109194444 A CN 109194444A
Authority
CN
China
Prior art keywords
node
data
balanced binary
binary tree
repaired
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.)
Pending
Application number
CN201811017396.5A
Other languages
English (en)
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.)
Harbin Engineering University
Original Assignee
Harbin Engineering 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 Harbin Engineering University filed Critical Harbin Engineering University
Priority to CN201811017396.5A priority Critical patent/CN109194444A/zh
Publication of CN109194444A publication Critical patent/CN109194444A/zh
Pending legal-status Critical Current

Links

Classifications

    • 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/0076Distributed coding, e.g. network coding, involving channel coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols 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]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L2001/0092Error control systems characterised by the topology of the transmission link

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明属于数据存储领域,具体涉及一种基于网络拓扑的平衡二叉树修复方法。包括以下步骤:构建修复平衡二叉树;数据修复。本发明所述的是一种基于平衡二叉树的纠删码技术,克服传统采用星型结构的纠删码在数据修复时,占用较高网络带宽的问题,提高修复效率,降低修复时间。

Description

一种基于网络拓扑的平衡二叉树修复方法
技术领域
本发明属于数据存储领域,具体涉及一种基于网络拓扑的平衡二叉树修复方法。
背景技术
进入大数据时代,数据的规模呈迅速发展的趋势,体量变得越来越庞大。规模庞大并且仍然在不断迅速增长的数据,对构建良好的存储系统提出了重大挑战。数据容错是大规模分布式存储系统中一项不可或缺的关键技术,由于数据量极为庞大,该类存储系统往往包含几千甚至几万个存储节点。因此,采用一定的数据容错技术,从而保证在部分存储节点失效的情况下数据仍然能够被正常地访问就显得尤为重要。
分布式存储系统中常用的数据容错技术有两种:一种是多副本容错技术,通过复制进行容错;另一种是纠删码容错技术,通过编码进行容错。与多副本容错技术相比,纠删码容错技术可以有效降低存储空间消耗并提供较好的数据容错能力。
目前,网络带宽资源是制约利用纠删码进行数据修复的主要瓶颈。分布式存储系统中降低网络带宽资源占用的方法有以下两种:一、优化纠删码的结构;二,优化数据修复的过程,通过优化数据修复时的数据读取和数据传输效率,提高数据修复的效率。传统的数据修复方法通常采用星型拓扑结构作为数据传输方式,所有帮助节点直接将数据发送给新生节点,所有参与修复的节点构成一个以新生节点为中心的星型结构。基于星型结构的数据修复方法具有简单直观的优点,但存在占用较高网络带宽的问题。
综上所述,现有技术中存在受限于新生节点的网络带宽未考虑到、网络拓扑对修复占用网络资源的影响等问题。
发明内容
本发明的目的是针对传统星型结构的数据修复方式存在的网络带宽占据较高的问题,提出一种基于平衡二叉树的纠删码技术,利用平衡二叉树左右子树高度差小于等于1的性质,将参与修复的节点组织成网络距离较小的树形结构,缩短修复期间数据的传输距离,降低修复时的网络带宽和修复时间,提升修复效率。
一种基于网络拓扑的平衡二叉树修复方法,包括以下步骤:
(1.1)构建修复平衡二叉树;
(1.2)数据修复。
所述构建修复平衡二叉树,包括以下步骤:
(2.1)根据所采用的纠删码确定用来修复失效块c0的编码块c1,c2,Λ,cr,并计算出相应的修复系数向量(β1β2…βr);
(2.2)从系统中获得用以修复的编码块分别所在节点,记为V1,V2,Λ,Vr,并根据系统放置策略确定出新生节点,记为V0,并记录下相互之间的网络距离;
(2.3)根据节点之间的网络距离构建出修复所有的平衡二叉树。
所述数据修复,包括:
如果用以修复的编码块所在节点为树中的叶子节点,则负责从本地存储系统中读取编码块ci,并计算出βici,然后将其发送给自己的父节点;
如果用以修复的编码块所在节点为内部节点,则负责接受其子节点发送过来的数据,并从本地存储系统中读取编码块,将结果加在一起之后再次发送给自己的父节点;
如果用以修复的编码块所在节点为根节点,则负责接受其子节点发送过来的数据,计算出总和,然后将结果写入本地存储。
本发明的有益效果在于:
本发明所述的是一种基于平衡二叉树的纠删码技术,克服传统采用星型结构的纠删码在数据修复时,占用较高网络带宽的问题,提高修复效率,降低修复时间。
附图说明
图1是星型数据修复方法原理图;
图2是树形数据修复方法原理图。
具体实施方式
下面结合附图对本发明做进一步描述。
本发明属于数据存储领域,具体涉及到分布式存储系统中数据恢复问题,利用一种基于平衡二叉树的纠删码技术恢复分布式存储系统中丢失的数据。
进入大数据时代,数据的规模呈迅速发展的趋势,体量变得越来越庞大。规模庞大并且仍然在不断迅速增长的数据,对构建良好的存储系统提出了重大挑战。数据容错是大规模分布式存储系统中一项不可或缺的关键技术,由于数据量极为庞大,该类存储系统往往包含几千甚至几万个存储节点。因此,采用一定的数据容错技术,从而保证在部分存储节点失效的情况下数据仍然能够被正常地访问就显得尤为重要。
分布式存储系统中常用的数据容错技术有两种:一种是多副本容错技术,通过复制进行容错;另一种是纠删码容错技术,通过编码进行容错。与多副本容错技术相比,纠删码容错技术可以有效降低存储空间消耗并提供较好的数据容错能力。
目前,网络带宽资源是制约利用纠删码进行数据修复的主要瓶颈。分布式存储系统中降低网络带宽资源占用的方法有以下两种:一、优化纠删码的结构;二,优化数据修复的过程,通过优化数据修复时的数据读取和数据传输效率,提高数据修复的效率。传统的数据修复方法通常采用星型拓扑结构作为数据传输方式,所有帮助节点直接将数据发送给新生节点,所有参与修复的节点构成一个以新生节点为中心的星型结构。基于星型结构的数据修复方法具有简单直观的缺点,但存在占用较高网络带宽的问题。
本发明的目的是针对传统星型结构的数据修复方式存在的网络带宽占据较高的问题,提出一种基于平衡二叉树的纠删码技术,利用平衡二叉树左右子树高度差小于等于1的性质,将参与修复的节点组织成网络距离较小的树形结构,缩短修复期间数据的传输距离,降低修复时的网络带宽和修复时间,提升修复效率。
本发明所述的是一种基于平衡二叉树的纠删码技术,克服传统采用星型结构的纠删码在数据修复时,占用较高网络带宽的问题,提高修复效率,降低修复时间。
图1星型数据修复方法
图2树形数据修复方法
下面将结合附图对本发明加以详细说明,应指出的是,所描述的实施例仅旨在便于解释本发明,并不构成对本发明的限制。
本发明提出一种基于平衡二叉树的纠删码技术。如图一所示,传统的数据修复方法是采用星型的数据传输方式,提供修复的参与节点直接将数据发送给新生节点,所有节点围绕着新生节点为中心形成一个星型的结构,失效的编码块c5可用编码块c1,c2,c3和c4来修复,其关系如式(1)所示。
c5=β1c12c23c34c45c5 (1)
星型结构所占用的网络资源等于帮助节点到新生节点的网络资源之和,修复的速度也受限于新生节点的网络带宽,为了降低纠删码的修复时间,如图2所示,提出一种基于节点间可用带宽的树形修复方法,该方法根据修复时节点间可用带宽来建立树形修复结构,以提高修复速度。
然而,传统的星型修复方法和上述基于节点间可用带宽的树形修复方法都没有考虑到网络拓扑对修复占用网络资源的影响,为此,提出一种基于平衡二叉树结构的树形修复方法,它根据网络拓扑结构来构建树形修复结构。
如果是传统的星型或者树形结构,在网络拓扑中,节点与节点相连,这样有一些链路可能会很长,消耗的网络资源也比较大。如果将节点看作是平衡二叉树的叶子节点,则平衡二叉树的左右子树的深度差有不能超过1层的约束,这样使得这种排列的树是同种元素序列情况下的深度最小的二叉树,这样减少了元素的深度,也就是减少了计算的步骤,缩短了网络拓扑中链路总数的长度。
基于网络拓扑的纠删码树形修复方法的具体修复过程可以分为两大步。
第1步,构建修复树。
根据所采用的纠删码确定可用来修复失效块c0的编码块c1,c2,Λ,cr,并计算出相应的修复系数向量(β1β2…βr);
从系统中获得用以修复的编码块分别所在节点,记为V1,V2,Λ,Vr,并根据系统放置策略确定出新生节点,记为V0,记录下相互之间的网络距离;
根据节点之间的网络距离构建出修复所有的平衡二叉树。
第2步,数据修复。
如果为树中的叶子节点,则负责从本地存储系统中读取编码块ci,并计算出βici,然后将其发送给自己的父亲节点;
如果为内部节点,则负责接受其子节点发送过来的数据,并从本地存储系统中读取编码块,将结果加在一起之后再次发送给自己的父节点;
如果为根节点,则负责接受其子节点发送过来的数据,计算出总和,然后将结果写入本地存储,这样就成功地修复了失效块。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种基于网络拓扑的平衡二叉树修复方法,其特征在于,包括以下步骤:
(1.1)构建修复平衡二叉树;
(1.2)数据修复。
2.根据权利要求1所述的方法,其特征在于,所述构建修复平衡二叉树,包括以下步骤:
(2.1)根据所采用的纠删码确定用来修复失效块c0的编码块c1,c2,Λ,cr,并计算出相应的修复系数向量(β1 β2 … βr);
(2.2)从系统中获得用以修复的编码块分别所在节点,记为V1,V2,Λ,Vr,并根据系统放置策略确定出新生节点,记为V0,并记录下相互之间的网络距离;
(2.3)根据节点之间的网络距离构建出修复所有的平衡二叉树。
3.根据权利要求1所述的方法,其特征在于,所述数据修复,包括:
如果用以修复的编码块所在节点为树中的叶子节点,则负责从本地存储系统中读取编码块ci,并计算出βici,然后将其发送给自己的父节点;
如果用以修复的编码块所在节点为内部节点,则负责接受其子节点发送过来的数据,并从本地存储系统中读取编码块,将结果加在一起之后再次发送给自己的父节点;
如果用以修复的编码块所在节点为根节点,则负责接受其子节点发送过来的数据,计算出总和,然后将结果写入本地存储。
CN201811017396.5A 2018-09-01 2018-09-01 一种基于网络拓扑的平衡二叉树修复方法 Pending CN109194444A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811017396.5A CN109194444A (zh) 2018-09-01 2018-09-01 一种基于网络拓扑的平衡二叉树修复方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811017396.5A CN109194444A (zh) 2018-09-01 2018-09-01 一种基于网络拓扑的平衡二叉树修复方法

Publications (1)

Publication Number Publication Date
CN109194444A true CN109194444A (zh) 2019-01-11

Family

ID=64917907

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811017396.5A Pending CN109194444A (zh) 2018-09-01 2018-09-01 一种基于网络拓扑的平衡二叉树修复方法

Country Status (1)

Country Link
CN (1) CN109194444A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828723A (zh) * 2019-02-13 2019-05-31 山东大学 一种分布式存储系统及其精确数据修复方法及装置
CN109857585A (zh) * 2019-02-20 2019-06-07 哈尔滨工程大学 一种基于平衡二叉树的纠删码失效节点重构方法
CN109889440A (zh) * 2019-02-20 2019-06-14 哈尔滨工程大学 一种基于最大生成树的纠删码失效节点重构路径选择方法
CN111385200A (zh) * 2020-03-04 2020-07-07 中国人民解放军国防科技大学 用于数据块修复的控制方法和装置
WO2020168477A1 (zh) * 2019-02-20 2020-08-27 北京大学深圳研究生院 一种联盟链共识下满足分区容忍性的拓扑构造方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150036681A1 (en) * 2013-08-01 2015-02-05 Advanced Micro Devices, Inc. Pass-through routing at input/output nodes of a cluster server
CN105072194A (zh) * 2015-08-27 2015-11-18 南京大学 一种分布式文件系统中的存储数据修复结构及修复方法
CN105930232A (zh) * 2016-05-12 2016-09-07 南京大学 一种利用网络拓扑信息的简单再生码修复方法
CN107844272A (zh) * 2017-10-31 2018-03-27 成都信息工程大学 一种提高纠错能力的交叉分组编译码方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150036681A1 (en) * 2013-08-01 2015-02-05 Advanced Micro Devices, Inc. Pass-through routing at input/output nodes of a cluster server
CN105072194A (zh) * 2015-08-27 2015-11-18 南京大学 一种分布式文件系统中的存储数据修复结构及修复方法
CN105930232A (zh) * 2016-05-12 2016-09-07 南京大学 一种利用网络拓扑信息的简单再生码修复方法
CN107844272A (zh) * 2017-10-31 2018-03-27 成都信息工程大学 一种提高纠错能力的交叉分组编译码方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
许方亮等: "NTar:基于网络拓扑的纠删码树型修复方法", 《计算机研究与发展》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109828723A (zh) * 2019-02-13 2019-05-31 山东大学 一种分布式存储系统及其精确数据修复方法及装置
CN109857585A (zh) * 2019-02-20 2019-06-07 哈尔滨工程大学 一种基于平衡二叉树的纠删码失效节点重构方法
CN109889440A (zh) * 2019-02-20 2019-06-14 哈尔滨工程大学 一种基于最大生成树的纠删码失效节点重构路径选择方法
WO2020168477A1 (zh) * 2019-02-20 2020-08-27 北京大学深圳研究生院 一种联盟链共识下满足分区容忍性的拓扑构造方法及系统
CN111385200A (zh) * 2020-03-04 2020-07-07 中国人民解放军国防科技大学 用于数据块修复的控制方法和装置

Similar Documents

Publication Publication Date Title
CN109194444A (zh) 一种基于网络拓扑的平衡二叉树修复方法
CN103944981B (zh) 一种基于纠删码技术改进的云存储系统及实现方法
CN104052576B (zh) 一种云存储下基于纠错码的数据恢复方法
CN108540520B (zh) 基于部分重复码的局部性修复编码及节点故障修复方法
CN103336785B (zh) 一种基于网络编码的分布式存储方法及其装置
CN110022216B (zh) 低通信复杂度的高效异步拜占庭共识方法、网络通信平台
CN106951340B (zh) 一种基于局部性优先的rs纠删码数据布局方法及系统
CN102681793A (zh) 一种基于纠删码集群存储系统的局部式数据更新方法
CN112835738B (zh) 一种条带数据存储结构的构建方法
CN109889440B (zh) 一种基于最大生成树的纠删码失效节点重构路径选择方法
CN105518996B (zh) 一种基于二进制域里德所罗门码的数据编解码方法
CN106484559A (zh) 一种校验矩阵的构造方法及水平阵列纠删码的构造方法
CN107689983A (zh) 基于低修复带宽的云存储系统及方法
Venkatesan et al. Effect of codeword placement on the reliability of erasure coded data storage systems
CN110190926A (zh) 基于网络计算的纠删码修复方法、纠删码更新方法及系统
CN107153661A (zh) 一种基于hdfs系统的数据的存储、读取方法及其装置
CN108762978A (zh) 一种局部部分重复循环码的分组构造方法
Sipos et al. Erasure coded storage on a changing network: The untold story
Yu et al. Minimization of storage cost in distributed storage systems with repair consideration
CN109828723A (zh) 一种分布式存储系统及其精确数据修复方法及装置
CN109062724A (zh) 一种纠删码转换方法及终端
CN109067852A (zh) 一种基于纠删码的跨中心协同修复方法
CN109857585A (zh) 一种基于平衡二叉树的纠删码失效节点重构方法
CN107026912A (zh) 嵌入式通信设备数据传输方法
CN106911793B (zh) I/o优化的分布式存储数据修复方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190111