CN112087284B - 基于lt编码的文件存储方法、系统和计算机可读存储介质 - Google Patents
基于lt编码的文件存储方法、系统和计算机可读存储介质 Download PDFInfo
- Publication number
- CN112087284B CN112087284B CN202010903984.XA CN202010903984A CN112087284B CN 112087284 B CN112087284 B CN 112087284B CN 202010903984 A CN202010903984 A CN 202010903984A CN 112087284 B CN112087284 B CN 112087284B
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- management module
- central management
- blocks
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 246
- 238000000034 method Methods 0.000 title claims abstract description 32
- 238000000638 solvent extraction Methods 0.000 claims abstract description 4
- 238000009826 distribution Methods 0.000 claims description 19
- 238000005315 distribution function Methods 0.000 claims description 8
- 238000012804 iterative process Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 claims description 4
- 238000004590 computer program Methods 0.000 claims description 3
- 230000005540 biological transmission Effects 0.000 claims 1
- 230000000903 blocking effect Effects 0.000 claims 1
- 238000005516 engineering process Methods 0.000 abstract description 2
- 238000007726 management method Methods 0.000 description 48
- 238000010586 diagram Methods 0.000 description 7
- 230000008901 benefit Effects 0.000 description 4
- 238000011084 recovery Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 108010001267 Protein Subunits Proteins 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000006185 dispersion Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0057—Block codes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0041—Arrangements at the transmitter end
-
- 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/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及文件存储技术领域,特别是涉及一种基于LT编码的文件存储方法、系统和计算机可读存储介质。包括:中心管理模块选择具有闲置资源的设备,并在所述设备上部署存储节点,将各所述存储节点构建存储网络;客户端上传文件至中心管理模块所选择的存储节点,所述存储节点对接收到的文件进行分块、编码并下发至其他存储节点存储;客户端从中心管理模块所选择的存储节点上下载编码好的文件块,下载后对文件块进行解码和文件恢复。本发明可以利用LT码可无限产生编码块以及使用稍大于源码块数量的编码块便可恢复源数据的特点,能够利用企业内部闲置资源进行有效的文件存储和管理工作,且减少数据备份所需空间,同时可以保证数据的安全性。
Description
技术领域
本申请涉及文件存储技术领域,特别是涉及一种基于LT编码的文件存储方法、系统和计算机可读存储介质。
背景技术
企业内部协作作业的情境中,除了程序代码外,各部门日常仍存在大量的需要版本管理和共享访问的文件,但此类文件不适宜使用第三方云存储服务。与此同时,企业内部常常会有闲置或冗余的计算和存储资源,但是出于设计或需求而无法被击中调用。
现有企业内部文件方案主要包括使用第三方云存储服务、自建集中式数据存储中心等实现方式,第三方云存储服务是指文件存储和管理使用第三方提供的存储资源和管理系统,管理功能依赖第三方,有一定数据风险;自建数据存储中心是指企业内部划分专门资源用于文件存储和管理,即使是分布式存储系统,底层也需要基于专用的存储和计算资源,无法使用其他机器闲置资源。
目前针对相关技术中存在的技术问题:1. 需要集中的存储/计算资源,无法利用企业内部闲置资源;2、文件备份与恢复是基于完整文件进行,备份成本较高,无法兼顾文件安全和备份成本;尚未提出有效地解决方案。
本发明提出在企业内部文件存储方案中基于LT码进行文件编码,将企业内的文件分散的保存在内部闲置的存储资源中,充分利用企业分散限制资源。
发明内容
本申请实施例提供了一种基于LT编码的文件存储方法、系统和计算机可读存储介质。以至少解决相关技术中无法利用企业内部闲置资源的问题。
第一方面,本申请实施例提供了一种基于LT编码的文件存储方法,包括:
部署存储节点步骤:中心管理模块选择具有闲置资源的设备,并在所述设备上部署存储节点,根据各所述存储节点构建存储网络;
文件存储步骤:客户端上传文件至中心管理模块所选择的存储节点,所述存储节点对接收到的文件进行分块、编码并下发至其他存储节点存储;
文件下载步骤:客户端从中心管理模块所选择的存储节点上下载编码好的文件块,下载后对文件块进行解码和文件恢复。
在其中一些实施例中,当存储网络中的一个存储节点下线后,中心管理模块会通知其他存储节点,存储有与下线存储节点相同文件的存储节点针对下线的存储节点所存储的文件生成新的文件块,再次分发到其余存储节点。
在其中一些实施例中,所述文件存储步骤具体包括:
客户端发出文件上传请求,中心管理模块根据各所述存储节点的存储资源和存储状态选择一存储节点下发至客户端;
客户端将文件上传至所述存储节点;
所述存储节点根据中心管理模块中关于产生文件块数量和文件块分发节点的信息进行分块、LT编码,并将文件块随机发放到指定的存储节点。
在其中一些实施例中,存储节点对文件块进行LT编码的具体步骤包括:
根据预先选定的度分布函数随机选择一个度值;
将待编码的文件块分成K个原始信号符号,根据度值从K个所述原始信息符号中随机选择,并对选择出的原始信号符号进行异或处理得到编码符号;
重复上述操作至将文件块全部编码为编码符号。
在其中一些实施例中,所述文件下载步骤具体包括:
客户端发出文件下载请求,中心管理模块根据文件块的分布和各存储节点的状态选择待下载的存储节点,并下发至客户端;
客户端从中心管理模块下发的所述存储节点上下载编码好的文件块,并通过LT译码进行文件恢复。
在其中一些实施例中,假设原始信息符号集,当接收到的编码符号集为/>,LT译码具体包括:
在编码符号集T中寻找一个度为1的编码符号,假定在二分图中编码符号/>与原始信息符号/>相连;
直接令,并在二分图中移除/>与/>相连的边;
找到与相连的所有编码符号/>,令/>,同时在二分图上删除/>和/>的边;
重复以上步骤,直到原始信息符号集S全部译出或迭代过程中找不到度为1的编码符号。
第二方面,本申请实施例提供了一种基于LT编码的文件存储系统,用于实现上述的文件存储方法,包括:中心管理模块、存储网络和客户端,其中:
所述中心管理模块,用于选择文件上传节点、产生文件块数量、文件块的分发节点和文件下载节点;
所述存储网络,所述存储网络包括多个存储节点,所述存储节点对接收的文件进行分块、LT编码,并将分块得到文件块随机发送至指定的存储节点;
所述客户端用于通过所述中心管理模块与所述存储节点进行交互;
所述客户端通过所述中心管理模块将文件上传至所述存储节点或从存储节点中下载所需文件。
在其中一些实施例中,所述中心管理模块中存储有存储网络中的文件存储情况、各存储节点的状态、上传文件产生的文件块数量以及文件块的分发情况,所述中心管理模块根据存储网络中的文件存储情况和各存储节点的状态选择文件上传节点并下发至客户端;所述中心管理模块根据根据文件块的分发情况和存储节点的状态选择文件下载节点并下发至客户端。
在其中一些实施例中,所述存储节点根据所述中心管理模块中存储的上传文件产生的文件块数量和文件块的分发节点,将接收的文件进行分块、LT编码,并将文件块随机发送到指定的存储节点
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的一种基于LT编码的文件存储方法。
相比于相关技术,本申请实施例提供的一种基于LT编码的存储方法、系统和计算机可读存储介质。可以利用LT码可无限产生编码块以及使用稍大于源码块数量的编码块便可恢复源数据的特点,能够利用企业内部闲置资源进行有效的文件存储和管理工作,且减少数据备份所需空间,同时可以保证数据的安全性。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的文件存储方法的流程图
图2是根据本申请优选实施例的文件存储步骤的流程图
图3是存储节点对文件块进行LT编码的流程图;
图4是根据本申请实施例的文件下载步骤的流程图,
图5是根据本申请实施例中译码过程中的迭代示意图,
图6是文件存储系统的结构示意图一;
图7是文件存储系统的结构示意图二。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
企业内部协同作业情境中,除程序代码外,各部门日常依然有大量需要版本管理和共享访问的文件,但不适宜使用第三方云存储服务。与此同时,在企业内部常常会有闲置/冗余的计算和存储资源,但是出于设计和需求又无法被集中调用。
所以考虑采用一种方法将企业内部的闲置或冗余的存储资源利用起来,英雌提出一种基于LT编码的文件存储方法,LT编码又称卢比码,充分利用企业分散限制资源,一定程度减低存储成本。
在本发明中将有存储资源的服务器/容器视作一个存储节点,多个存储节点构成存储网络。
用户将文件上传到某一存储节点,该节点的worker服务将文件编码后分发到存储网络中,依托于企业内相对稳定的节点网络环境,根据LT码编码可无限产生编码块以及使用稍大于源码块数量的编码块便可恢复源数据的特点,对于一个编码为n个编码块的文件,只要从网络中能够收到n'个该文件编码块即可恢复文件。此处n'仅略大于n。例如,在存储网络中分发1.5n编码,则任意1/3节点下线,依然能保证文件完整可用。即不需要存储全部的编码块即可恢复文件,实现对文件的使用,这为本发明的实时提供了理论基础。
本实施例提供了一种基于LT编码的文件存储方法。图1是根据本申请实施例的文件存储方法的流程图,如图1所示,该流程包括如下步骤:
部署存储节点步骤:中心管理模块选择具有闲置资源的设备,并在所述设备上部署存储节点,根据各所述存储节点构建存储网络;
文件存储步骤:客户端上传文件至中心管理模块所选择的存储节点,所述存储节点对接收到的文件进行分块、编码并下发至其他存储节点存储;
文件下载步骤:客户端从中心管理模块所选择的存储节点上下载编码好的文件块,下载后对文件块进行解码和文件恢复。
通过上述步骤,首先对企业内部具有闲置资源的设备进行筛选,部署存储节点并加入存储网络,可以将企业内的文件分散保存在内部具有闲置存储资源的设备之中,同时存储节点利用LT编码对文件块进行编码,根据LT喷泉码的原理,所存储的文件无需以完整文件为单位,可以使用比完整文件备份更少的存储资源实现文件的备份与恢复。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。文件存储步骤与文件下载步骤的顺序并无固定顺序,两者可以相互交替存在。
在其中一些实施例中,当存储网络中的一个存储节点下线后,中心管理模块会通知其他存储节点,存储有与下线存储节点相同文件的存储节点针对下线的存储节点所存储的文件生成新的文件块,再次分发到其余存储节点。以保证文件的完整与安全。
下面通过优选实施例对本申请实施例进行描述和说明。
图2是根据本申请优选实施例的文件存储步骤的流程图,具体包括:
客户端发出文件上传请求,中心管理模块根据各所述存储节点的存储资源和存储状态选择一存储节点下发至客户端;
客户端将文件上传至所述存储节点;
所述存储节点根据中心管理模块中关于产生文件块数量和文件块分发节点的信息进行分块、LT编码,并将文件块随机发放到指定的存储节点。
在其中一些实施例中,如图3所示,存储节点对文件块进行LT编码的具体步骤包括:
根据预先选定的度分布函数随机选择一个度值;
将待编码的文件块分成K个原始信号符号,根据度值从K个所述原始信息符号中随机选择,并对选择出的原始信号符号进行异或处理得到编码符号;
重复上述操作至将文件块全部编码为编码符号。
在具体应用中,LT码编码步骤具体为:
首先,根据预先选定的度分布函数随机选择一个度值d,定义LT的度分布函数为
其中为最大可以选择的度值,/>为度值d被选择的概率。
然后,要将待编码的文件块分成K个信息符,从S中随机选择d个信息符号,选择的信息符号进行异或得到编码符号,可以表示为/>,其中编码矩阵取决于度分布函数,这里编码矩阵为
根据上述方法源源不断地产生编码符号。
以上过程中,度分布函数对LT码的编译码复杂度、错误平层和译码开销等有重要影响,而Luby等人提出的鲁棒孤子分布(robust soliton distribution,RSD):
,
,
,
,
其中引入了两个可变参数 c,(c>0,/>≤1),c为常数,/>为译码失败概率。
这两个可变参数的加入使得在译码迭代的过程中度值更新为1的编码符号数的期望为,从而可以保证在接收到比较少的编码符号时就可以开始译码,而且有很高的译码成功率。
图4是根据本申请实施例的文件下载步骤的流程图,具体包括:
客户端发出文件下载请求,中心管理模块根据文件块的分布和各存储节点的状态选择待下载的存储节点,并下发至客户端;
客户端从中心管理模块下发的所述存储节点中下载编码好的文件块,并通过LT译码进行文件恢复。
在其中一些实施例中,LT码译码步骤包括:
假设原始信息符号集,当接收到的编码符号集为/>,LT译码具体包括:
在编码符号集T中寻找一个度为1的编码符号,如图5所示,译码过程中的迭代示意图,假定在二分图中编码符号/>与原始信息符号/>相连;
直接令,并在二分图中移除/>与/>相连的边;
找到与相连的所有编码符号/>,令/>,同时在二分图上删除/>和/>的边;
重复以上步骤,直到原始信息符号集S全部译出或迭代过程中找不到度为1的编码符号。
本实施例还提供了一种基于LT编码的文件存储系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”“节点”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
如图6所示,该系统包括:包括:中心管理模块、存储网络和客户端,其中:
所述中心管理模块,用于选择文件上传节点、产生文件块数量、文件块的分发节点和文件下载节点;
所述存储网络,所述存储网络包括多个存储节点,所述存储节点对接收的文件进行分块、LT编码,并将分块得到文件块随机发送至指定的存储节点;
所述客户端用于通过所述中心管理模块与所述存储节点进行交互;
所述客户端通过所述中心管理模块将文件上传至所述存储节点或从存储节点中下载所需文件。
在具体应用中,存储系统的整体框架见图7,具体包括企业文化管理系统、多个存储节点和客户端,多个存储节点互联构成存储网络。
其中,企业文化管理系统即为中心管理模块,里面汇总了整个存储网络中文件信息和各存储节点的信息,在整个存储方法中,起到承转的作用,选择不同阶段的交互节点并下发至客户端。
具体的,当客户端发出文件上传的需求,中心管理模块根据各存储节点的信息选择合适的存储节点并下发至客户端,已完成客户端的文件上传需求,随后,存储节点又会在中心管理模块中产生文件块的数量以及分发的节点,对接收到的文件进行分块、编码并下发到其他的存储节点,完成对上传文件的存储工作。
当客户端发出下载请求时,中心管理模块通过存储网络中该文件的文件块分布情况以及现阶段各个存储节点的工作状态选择合适的存储节点下发至客户端,客户端从中心管理模块下发的存储节点上下载编码好的文件块,进行译码操作,恢复文件。
存储节点包括worker服务和存储资源,各个存储节点之间进行关于文件块信息的传输,具体包括文件块的数量、编码后的文件块以及文件块分发的存储节点等。
客户端与中心管理模块之间连接,像中心管理模块提出需求,并得到中心管理模块返回的可以进行交互的存储节点,并对所选的存储节点进行文件存储与下载的工作。
在其中一些实施例中,所述中心管理模块中存储有存储网络中的文件存储情况、各存储节点的状态、上传文件产生的文件块数量以及文件块的分发情况,所述中心管理模块根据存储网络中的文件存储情况和各存储节点的状态选择文件上传节点并下发至客户端;所述中心管理模块根据根据文件块的分发情况和存储节点的状态选择文件下载节点并下发至客户端。
在其中一些实施例中,所述存储节点根据所述中心管理模块中存储的上传文件产生的文件块数量和文件块的分发节点,将接收的文件进行分块、LT编码,并将文件块随机发送到指定的存储节点。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
另外,结合上述实施例中的一种基于LT编码的文件存储方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种存储方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种基于卢比码LT编码的文件存储方法,其特征在于,包括:
部署存储节点步骤:中心管理模块选择具有闲置资源的设备,并在所述设备上部署存储节点,根据所述存储节点构建存储网络;
文件存储步骤:客户端上传文件至中心管理模块所选择的存储节点,所述存储节点对接收到的文件进行分块、编码并下发至其他存储节点存储;
文件下载步骤:客户端从中心管理模块所选择的存储节点上下载编码好的文件块,下载后对文件块进行解码和文件恢复;
其中,所述存储节点对文件块进行LT编码的具体步骤包括:
根据预先选定的度分布函数随机选择一个度值;
将待编码的文件块分成K个原始信号符号,根据度值从K个所述原始信息符号中随机选择,并对选择出的原始信号符号进行异或处理得到编码符号;
重复上述操作至将文件块全部编码为编码符号;
其中,所述文件下载步骤具体包括:
客户端发出文件下载请求,中心管理模块根据文件块的分布和各存储节点的状态选择待下载的存储节点,并下发至客户端;
客户端从中心管理模块下发的所述存储节点中下载编码好的文件块,并通过LT译码进行文件恢复;
假设原始信息符号集,当接收到的编码符号集为/>,所述LT译码具体包括:
在编码符号集T中寻找一个度为1的编码符号,假定在二分图中编码符号/>与原始信息符号/>相连;
直接令,并在二分图中移除/>与/>相连的边;
找到与相连的所有编码符号/>,令/>,同时在二分图上删除/>和/>的边;
重复以上步骤,直到原始信息符号集S全部译出或迭代过程中找不到度为1的编码符号。
2.根据权利要求1所述的基于LT编码的文件存储方法,其特征在于,当存储网络中的一个存储节点下线后,中心管理模块会通知其他存储节点,存储有与下线存储节点相同文件的存储节点针对下线的存储节点所存储的文件生成新的文件块,再次分发到其余存储节点。
3.根据权利要求1所述的基于LT编码的文件存储方法,其特征在于,所述文件存储步骤具体包括:
客户端发出文件上传请求,中心管理模块根据各所述存储节点的存储资源和存储状态选择一存储节点下发至客户端;
客户端将文件上传至所述存储节点;
所述存储节点根据中心管理模块中关于产生文件块数量和文件块分发节点的信息进行分块、LT编码,并将文件块随机发放到指定的存储节点。
4.一种基于卢比码LT编码的文件存储系统,用于实现权利要求1-3任意一项所述的文件存储方法,其特征在于,包括:中心管理模块、存储网络和客户端,其中:
所述中心管理模块,用于选择文件上传节点、产生文件块数量、文件块的分发节点和文件下载节点;
所述存储网络,所述存储网络包括多个存储节点,所述存储节点对接收的文件进行分块、LT编码,并将分块得到文件块随机发送至指定的存储节点;
所述客户端用于通过所述中心管理模块与所述存储节点进行交互;
所述客户端通过所述中心管理模块将文件上传至所述存储节点或从存储节点中下载所需文件;
其中,根据预先选定的度分布函数随机选择一个度值;
将待编码的文件块分成K个原始信号符号,根据度值从K个所述原始信息符号中随机选择,并对选择出的原始信号符号进行异或处理得到编码符号;
重复上述操作至将文件块全部编码为编码符号;
其中,所述文件下载步骤具体包括:
客户端发出文件下载请求,中心管理模块根据文件块的分布和各存储节点的状态选择待下载的存储节点,并下发至客户端;
客户端从中心管理模块下发的所述存储节点中下载编码好的文件块,并通过LT译码进行文件恢复;
所述LT译码步骤包括:假设原始信息符号集,当接收到的编码符号集为,LT译码具体包括:
在编码符号集T中寻找一个度为1的编码符号,假定在二分图中编码符号/>与原始信息符号/>相连;
直接令,并在二分图中移除/>与/>相连的边;
找到与相连的所有编码符号/>,令/>,同时在二分图上删除/>和/>的边;
重复以上步骤,直到原始信息符号集S全部译出或迭代过程中找不到度为1的编码符号。
5.根据权利要求4所述的基于LT编码的文件存储系统,其特征在于,所述中心管理模块中存储有存储网络中的文件存储情况、各存储节点的状态、上传文件产生的文件块数量以及文件块的分发情况,所述中心管理模块根据存储网络中的文件存储情况和各存储节点的状态选择文件上传节点并下发至客户端;所述中心管理模块根据文件块的分发情况和存储节点的状态选择文件下载节点并下发至客户端。
6.根据权利要求5所述的基于LT编码的文件存储系统,其特征在于,所述存储节点根据所述中心管理模块中存储的上传文件产生的文件块数量和文件块的分发节点,将接收的文件进行分块、LT编码,并将文件块随机发送到指定的存储节点。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至3中任一项所述的基于卢比码LT编码的文件存储方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903984.XA CN112087284B (zh) | 2020-09-01 | 2020-09-01 | 基于lt编码的文件存储方法、系统和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903984.XA CN112087284B (zh) | 2020-09-01 | 2020-09-01 | 基于lt编码的文件存储方法、系统和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112087284A CN112087284A (zh) | 2020-12-15 |
CN112087284B true CN112087284B (zh) | 2023-11-28 |
Family
ID=73732418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010903984.XA Active CN112087284B (zh) | 2020-09-01 | 2020-09-01 | 基于lt编码的文件存储方法、系统和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112087284B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142934A (zh) * | 2011-03-29 | 2011-08-03 | 浙江大学 | 基于分层网络拓扑实现分布式的近似理想lt编码的方法 |
CN107947804A (zh) * | 2017-12-14 | 2018-04-20 | 厦门理工学院 | 一种lt码的译码方法及其装置 |
WO2019179625A1 (en) * | 2018-03-22 | 2019-09-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed data storage network nodes and methods |
-
2020
- 2020-09-01 CN CN202010903984.XA patent/CN112087284B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142934A (zh) * | 2011-03-29 | 2011-08-03 | 浙江大学 | 基于分层网络拓扑实现分布式的近似理想lt编码的方法 |
CN107947804A (zh) * | 2017-12-14 | 2018-04-20 | 厦门理工学院 | 一种lt码的译码方法及其装置 |
WO2019179625A1 (en) * | 2018-03-22 | 2019-09-26 | Telefonaktiebolaget Lm Ericsson (Publ) | Distributed data storage network nodes and methods |
Also Published As
Publication number | Publication date |
---|---|
CN112087284A (zh) | 2020-12-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107819828B (zh) | 数据传输方法、装置、计算机设备和存储介质 | |
CN102902600B (zh) | 有效的应用感知的灾难恢复 | |
RU2501072C2 (ru) | Распределенное хранение восстанавливаемых данных | |
EP1612982B1 (en) | Content distribution using network coding | |
US8838968B2 (en) | System and method for virtual machine data protection in a public cloud | |
US8375102B2 (en) | Random linear coding approach to distributed data storage | |
EP3208714A1 (en) | Data reconstruction method, apparatus and system in distributed storage system | |
CN111382119B (zh) | 区块数据归档方法及相关设备 | |
WO2007120428A2 (en) | Billing system for information dispersal system | |
US8954793B2 (en) | Method and a storage server for data redundancy | |
US10795859B1 (en) | Micro-service based deduplication | |
CN110851080B (zh) | 多云盘平台的分布式存储管理系统 | |
US20210274003A1 (en) | Timer services | |
US11647103B1 (en) | Compression-as-a-service for data transmissions | |
Chen et al. | Coded computing for master-aided distributed computing systems | |
CN112087284B (zh) | 基于lt编码的文件存储方法、系统和计算机可读存储介质 | |
WO2022110691A1 (zh) | 编码方法、译码方法、电子设备及存储介质 | |
CN108459926B (zh) | 数据异地备份方法、装置及计算机可读介质 | |
CN113296695A (zh) | 多az环境下纠删码数据的写入方法以及装置 | |
CN116760698A (zh) | 业务处理方法、装置、计算机设备和存储介质 | |
US10409688B2 (en) | System and method of using encryption algorithms in P2P encryption mode to restore integrity of data | |
US8725789B2 (en) | Method and apparatus for processing distributed data | |
CN111107135B (zh) | 一种容器镜像并行分发方法、调度器及存储介质 | |
Tao et al. | Information flow queue optimization in ec cloud | |
CN112181974A (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 |