2. 长安大学 信息工程学院, 西安 710064;
3. 智能制造产业技术研究院, 达州 635002
2. School of Information Engineering, Chang’an University, Xi’an 710064, China;
3. Intelligent Manufacturing Industry Technology Research Institute, Dazhou 635002, China
如今的社会是一个互联网高速发展的社会, 大量互联网公司和政府部门每天运营中产生海量的数据[1], 数据的价值和重要性不言而喻, 因此如何维护数据的可靠性和稳定性[2, 3]是急需要解决的关键技术. 现有的集中式存储主要靠数据服务器和存储设备[4]. 但是集中式存储, 设备价格昂贵, 而且需要大量的管理时间以及维护成本[5]. 集中式存储一旦遭到破坏, 数据将永久毁灭. 相较于集中式存储, 具有可扩展、设备成本低、高性能、易用性的分布式存储系统成为目前主流存储系统[6]. 分布式存储对数据的存储采用的策略是复制策略和纠删码策略[7, 8]. 复制策略就是把需要存储的原始文件复制
与复制策略相比, 纠删码策略只需要存储少量的编码数据块. 使系统的存储开销得到有效地降低, 同时纠删码策略通过编码产生的校验数据块, 使系统具有更好的容错性. 但在分布式存储系统中通过纠删码对故障节点进行修复时, 系统需要消耗较大的修复带宽开销[10]. 目前里所(reed-solomon, RS)码和磁盘阵列码[11]等典型的纠删码被广泛应用于分布式存储系统中. 如图1所示为 RS编码和重构原理过程. 当其中任意一个数据块发生故障, 都可以通过解码恢复出故障数据块.
针对复制策略和纠删码策略等局限性[12, 13], 研究者通过研究发现在存储开销跟修复带宽开销之间折中, 提出简单再生码(simple regenerating codes, SRC)的编码方式[14]. 简单再生码是通过大量的有限域运算编码构造[15]. 不需要消耗大量的存储开销, 并且在修复故障节点时, 只需要连接相应节点就可以修复数据, 修复带宽开销较低. 但修复过程需大量解码运算, 使得修复过程非常复杂, 修复时间增多, 而且还需要连接多个节点进行修复, 因此修复局部性高[16].
部分重复(fractional repetition, FR)码[17]无需进行有限域运算, 同时也可以降低节点存储开销[18]. 在对故障节点修复时, 具有较低的修复局部性和修复带宽开销[19, 20]. 因此, 部分重复码被广泛研究. 目前主流的FR码构造方法有如下几种: 基于正则图、分组设计[21]及可分解设计[22], 但构造过程复杂, 且不能灵活选择部分重复码的构造参数, 不适应实际的存储系统[23, 24]. 因此提出基于完全图图因子分解的部分重复(complete graph factorization based FR, CGFBFR)码的构造算法.
1 图的因子分解
图的因子分解是图分解的一种方法, 记图
如果图
在
定义1. 在
(1)每个节点存储
(2)
在
3 基于图因子分解的部分重复码的构造
本文提出一种新的部分重复码的构造算法, 通过完全图的因子分解进行构造, 构造过程简单, 同时也解决了传统FR码存在的不足. 具体构造步骤如下.
步骤1. 对完全图
$ l = \frac{{\left( {2n} \right)!}}{{\mathop 2\nolimits^n n!}} $ | (1) |
步骤2. 确定分布式存储系统中FR码构造过程每个数据块
步骤3. 在分解的所有因子
步骤4. 构造数据矩阵, 通过数据矩阵
$ {m}_{\mu , i}=\left\{ { \begin{array}{l} {1, \; 若{v}_{i}与{e}_{\mu }相关联}\\ {0, \; 其他情况} \end{array} } \right.$ | (2) |
具体地, 可以对
通过图2, 我们可根据式(2)求出数据矩阵
$ m_1=\left[\begin{array}{llllll} 1 & 0 & 0 & 0 & 1 & 0 \\ 0 & 1 & 0 & 0 & 0 & 1 \\ 0 & 0 & 1 & 1 & 0 & 0 \\ 0 & 1 & 0 & 0 & 1 & 0 \\ 1 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 1 \\ 0 & 0 & 0 & 1 & 0 & 1 \\ 0 & 0 & 1 & 0 & 1 & 0 \\ 1 & 1 & 0 & 0 & 0 & 0 \end{array}\right] $ |
基于完全图因子分解的部分重复码如图4所示, 部分重复码的存储节点
4 性能分析
对基于完全图
表1给出了SRC、RS码、三副本、以及VFR码与CGFBFR码几种编码方案性能的分析. 为了便于比较, 文件大小取
4.1 修复带宽开销
在修复故障节点时下载的数据量就是修复带宽开销. 当单节点故障时, 如表2所示, 若采用
当两个节点发生故障时, 如表2所示, (n, k)RS编码在修复数据时仍需要通过原文件来修复故障节点, 因此修复带宽开销仍为
4.2 修复局部性
当分布式存储系统中出现单节点故障时, 如图6所示. 对于(n, k, f)SRC需要
图7给出了两节点故障时, 4种不同的编码修复局部性. 对于(n, k, f)SRC, 恢复原文件需要
4.3 修复复杂度
对于RS码, 在分布式存储系统中修复故障节点时, 系统需要经过
本文提出一种CGFBFR码能够满足分布式存储系统的实际需求, 提高了分布式存储系统中故障节点的修复效率, 并且能够灵活的选择构造参数. 在修复故障节点时, CGFBFR相较于分布式存储系统中其他编码, 在修复局部性、修复复杂度、修复带宽开销都有较大的性能提升. 更加具有发展的前景和应用背景.
[1] |
Siddiqa A, Karim A, Gani A. Big data storage technologies: A survey. Frontiers of Information Technology & Electronic Engineering, 2017, 18(8): 1040-1070. |
[2] |
Mazumdar S, Seybold D, Kritikos K, et al. A survey on data storage and placement methodologies for cloud-big data ecosystem. Journal of Big Data, 2019, 6(1): 15. DOI:10.1186/s40537-019-0178-3 |
[3] |
Lv Z, Li X, Lv H, et al. BIM big data storage in WebVRGIS. IEEE Transactions on Industrial Informatics, 2019, 16(4): 2566-2573. |
[4] |
Li RN, Song TY, Mei B, et al. Blockchain for large-scale Internet of Things data storage and protection. IEEE Transactions on Services Computing, 2019, 12(5): 762-771. DOI:10.1109/TSC.2018.2853167 |
[5] |
Yang Y, Zheng XH, Guo WZ, et al. Privacy-preserving smart IoT-based healthcare big data storage and self-adaptive access control system. Information Sciences, 2019, 479: 567-592. DOI:10.1016/j.ins.2018.02.005 |
[6] |
Liang W, Fan YK, Li KC, et al. Secure data storage and recovery in industrial blockchain network environments. IEEE Transactions on Industrial Informatics, 2020, 16(10): 6543-6552. DOI:10.1109/TII.2020.2966069 |
[7] |
Lee OT, Akash GJ, Kumar SDM, et al. Storage node allocation methods for erasure code-based cloud storage systems. Arabian Journal for Science and Engineering, 2019, 44(11): 9127-9142. DOI:10.1007/s13369-019-03983-8 |
[8] |
Knauft E, Goggin EJ, Li RC, et al. Automatically removing dependency on slow disks in a distributed storage system: US, 10168942. 2019-01-01.
|
[9] |
余春雷, 王静, 王秘, 等. 图因子分解的部分重复码构造. 中国科技论文, 2019, 14(11): 1260-1264. |
[10] |
Vaishampayan VA. Lattice erasure codes of low rank with noise margins. Proceedings of the 2018 IEEE International Symposium on Information Theory (ISIT). Vail: IEEE, 2018. 961–965.
|
[11] |
Balaji SB, Krishnan MN, Vajha M, et al. Erasure coding for distributed storage: An overview. Science China Information Sciences, 2018, 61(10): 100301. DOI:10.1007/s11432-018-9482-6 |
[12] |
余春雷, 王静, 杨成福, 等. 哈夫曼树的异构部分重复码构造. 北京邮电大学学报, 2021, 44(6): 116-121. |
[13] |
Papailiopoulos DS, Dimakis AG, Cadambe VR. Repair optimal erasure codes through hadamard designs. IEEE Transactions on Information Theory, 2013, 59(5): 3021-3037. DOI:10.1109/TIT.2013.2241819 |
[14] |
Goparaju S, Fazeli A, Vardy A. Minimum storage regenerating codes for all parameters. IEEE Transactions on Information Theory, 2017, 63(10): 6318-6328. DOI:10.1109/TIT.2017.2690662 |
[15] |
Kralevska K, Gligoroski D, Jensen RE, et al. HashTag erasure codes: From theory to practice. IEEE Transactions on Big Data, 2018, 4(4): 516-529. DOI:10.1109/TBDATA.2017.2749255 |
[16] |
朱兵, 李挥, 陈俊, 等. 基于可分组设计的部分重复码研究. 通信学报, 2015, 36(2): 98-105. DOI:10.11959/j.issn.1000-436x.2015038 |
[17] |
Ahmad I, Wang CC. Flexible fractional repetition codes for distributed storage networks. Proceedings of the 56th Annual Allerton Conference on Communication, Control, and Computing (Allerton). Monticello: IEEE, 2018. 805–812.
|
[18] |
Zhu B. A study on universally good fractional repetition codes. IEEE Communications Letters, 2018, 22(5): 890-893. DOI:10.1109/LCOMM.2018.2813391 |
[19] |
Porter A, Silas S, Wootters M. Load-balanced fractional repetition codes. Proceedings of the 2018 IEEE International Symposium on Information Theory (ISIT). Vail: IEEE, 2018. 2072–2076.
|
[20] |
Wang J, Wang TT, Liu XY, et al. Locally repairable codes based on fractional repetition codes in distributed storage systems. 14th International Conference on Wireless Communications, Networking and Mobile Computing (WiCOM 2018). Lancaster, PA: DEStech Publications, Inc., 2018, 306: 578–587.
|
[21] |
Dukes PJ, Lamken ER, Ling ACH. Resolvable group divisible designs with large groups. The Electronic Journal of Combinatorics, 2016, 23(4): 4.24. DOI:10.37236/5435 |
[22] |
Zhu B, Zhang SG, Wang WP. Expandable fractional repetition codes for distributed storage systems. Proceedings of the 2021 IEEE Information Theory Workshop (ITW). Kanazawa: IEEE, 2021. 1–5.
|
[23] |
Zhu B, Shum KW, Li H, et al. On the optimal reconstruction degree of fractional repetition codes. Proceedings of the 2019 IEEE International Symposium on Information Theory (ISIT). Paris: IEEE, 2019. 1557–1561.
|
[24] |
Su YS. Optimal pliable fractional repetition codes that are locally recoverable: A bipartite graph approach. IEEE Transactions on Information Theory, 2019, 65(2): 985-999. DOI:10.1109/TIT.2018.2876284 |
[25] |
Aghayev A, Weil S, Kuchnik M, et al. File systems unfit as distributed storage backends: Lessons from 10 years of Ceph evolution. Proceedings of the 27th ACM Symposium on Operating Systems Principles. Huntsville: ACM, 2019. 353–369.
|