CN100452713C - 一种基于分布式编码存储的网络数据汇播传输方法 - Google Patents
一种基于分布式编码存储的网络数据汇播传输方法 Download PDFInfo
- Publication number
- CN100452713C CN100452713C CNB2006100894940A CN200610089494A CN100452713C CN 100452713 C CN100452713 C CN 100452713C CN B2006100894940 A CNB2006100894940 A CN B2006100894940A CN 200610089494 A CN200610089494 A CN 200610089494A CN 100452713 C CN100452713 C CN 100452713C
- Authority
- CN
- China
- Prior art keywords
- random number
- mentioned
- data
- data block
- coding
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种基于分布式编码存储的网络数据汇播传输方法,属于网络数据传输技术领域。首先在多个服务器上存储经过编码后的数据以及编码信息;用户端通过网络向多个服务器发送请求;服务器接收用户端的发送数据请求后,向用户端发送确认及编码信息,并将编码后的数据打包后发送给用户端;用户端收到确认信息后,从编码信息中获取需要接收的数据包个数,并从服务器上接收数据包进行解码。本发明方法的优点是:采用功能强大的服务器提供下载业务,保证数据服务的相对稳定性;将数据进行分布式存储,实现数据的汇播下载,提高下载速率;对数据进行随机编码,减小用户在汇播接收时收到相同数据的概率,节省网络带宽,提高网络的抗毁能力。
Description
技术领域
本发明涉及一种基于分布式编码存储的网络数据汇播传输方法,属于网络数据传输技术领域。
背景技术
已有的网络传输方式,包括网络单播,组播和广播。单播是指网络中一个服务器向一个用户终端通过建立一条网络链路传输数据的方式,是网络中最基本的数据传输方式。当多个用户需要获得相同数据时,服务器与用户之间建立多个独立的单播传输链路进行数据传输是非常低效的,因为它将同样的数据重复发送了很多次,降低了网络带宽利用率。组播是一个服务器向多个用户终端同时传输相同数据的传输方式,这种方式提高了网络带宽利用率,但由于服务器只有一个,因此对于任何一个组播用户来说,其下载数据的速度都不会超过单播方式提供的下载速度。广播是一个服务器向所有的用户终端同时传输数据的传输方式,它实际上是一种特殊的组播,只是它并不考虑哪些用户是其服务对象,默认所有的用户都需要接收其数据。类似于组播,每一个广播的用户可达到的最大下载速率也不超过单播方式提供的下载速度。
网络汇播有别于上述三种数据传输方式,它是指网络中的多个服务器向一个用户终端发送数据的传输方式。若网络中的多个服务器向多个用户分别以这种汇播传输方式提供服务时就构成了网络汇播传输系统。由于采用汇播的方式使得用户能够并行地从多个服务器上同时下载用户想要数据,因而能明显地提高用户的下载速度,缩短下载时间,从而减小由于服务器或网络故障导致的数据传输失败概率。
利用汇播进行网络数据传播的典型例子是采用P2P的方式(如在用户端上使用著名的BitTorrent等软件)进行数据共享和下载。网络中等待下载数据的用户终端通过从它周围的对等终端处并行地下载它所没有的部分数据,从而快速地得到完整的数据。然而P2P方式具有两个主要缺点:1、用户终端能力有限。在P2P方式下,每一个对等的用户终端在下载数据的同时也扮演服务器的角色,将它已有的数据提供给其它用户终端下载。而这些用户终端往往由个人电脑(PC)组成,其带宽和稳定性得不到保证,同时,当用户下载完成以后很可能退出网络,从而减少了网络中服务终端的数量,因而完全依赖于对等用户终端的网络汇播方式无法提供长时间稳定的数据下载服务;2、未采用编码。P2P软件通常事先将待传数据分成若干相同长度的数据块,对等用户终端之间通过传递不同的数据块实现数据共享从而重构原始数据。由于提供数据下载服务的终端彼此之间并不知道对方的存在以及对方数据的存储情况,因而导致用户会从不同的对等用户处收到相同的数据块,从而浪费网络带宽,降低数据的传输效率。
发明内容
本发明的目的提出一种基于分布式编码存储服务器的网络汇播传输方法,将数据经过随机编码后分布式地存储在多个服务器上,一方面对用户端提供高效的并行下载服务,以有效地提高下载速度,另一方面通过服务器上存储的冗余编码数据降低由于某些网络链路失效甚至节点失效导致的数据下载失败概率,提高数据传输的可靠性和网络的抗毁能力。
本发明提出的基于分布式编码存储的网络数据汇播传输方法,包括以下步骤:
(1)在网络的多个服务器上分别存储经过编码后的数据以及编码信息;
(2)用户端通过网络向上述多个服务器发送传输数据的请求;
(3)上述多个服务器接收用户端的发送数据请求后,分别向用户端发送确认信息及编码信息,并将上述经过编码后的数据打包后按指定路由发送给用户端;
(4)用户端收到上述确认信息后,从上述编码信息中获取需要接收的数据包个数N;
(5)用户端从上述多个服务器上接收总数为上述N的数据包,并进行解码,若解码成功,则向服务器发送终止请求,若解码不成功,则继续接收数据,直至解码成功,并向服务器发送终止请求。
上述方法中,对数据进行编码的方法包括以下各步骤:
(1)将待传输的数据分成K等份个原始数据块,并确定随机数生成函数和随机数生成种子,该随机数生成函数根据该随机数生成种子产生一个随机数序列{ri,i=1,2,...};
(2)从上述随机数序列中提取第一个随机数r1,根据累积分布函数CD(x)判断,若满足CD(d-1)<r≤CD(d),则以整数d作为编码度数;
(3)从上述随机数序列中提取第二个至第d+1个随机数,将该d个随机数分别与K相乘后取整,得到d个原始数据块的编号,若上述d个编号中存在彼此相同的编号,则继续提取后续的1个随机数与K相乘后取整,得到新的原始数据块的编号,并将其代替上述相同的编号,重复该过程,直至得到互不相同的d个原始数据块的编号;
(4)将与上述互不相同的编号相对应的原始数据块进行异或,得到一个编码数据块,并定义该编码数据块与d个原始数据块存在编码关系;
(5)从上述随机数序列中删除被提取过的所有随机数,重复步骤(2)~(4),直至编码完成。
上述方法中,对数据进行解码的方法包括以下各步骤:
(1)根据从各服务器接收到的编码信息,获得各服务器使用的随机数生成种子,根据编码使用的随机数生成函数产生一个与编码相同的随机数序列{ri,i=1,2,...};
(2)从上述随机数序列中提取第一个随机数r1,根据累积分布函数CD(x)判断,若满足CD(d-1)<r1≤CD(d),则以整数d作为编码度数;
(3)从上述随机数序列中提取第二个至第d+1个随机数,将该d个随机数分别与K相乘后取整,得到d个原始数据块的编号;
(4)从上述随机数序列中删除前d+1个随机数,重复步骤(2)和(3),直至得到所有编码数据块与所有原始数据块存在的编码关系;
(5)根据上述编码关系,寻找编码度数为1的编码数据块,若寻找失败,则进行步骤(8),若寻找到,则得到与该编码数据块对应的原始数据块;
(6)将上述原始数据块的值与所有和该原始数据块有编码关系的编码数据块的值依次进行异或,将异或后的值依次替换原编码数据块值,替换后删除该原始数据块的编码关系;
(7)重复上述步骤(5)和(6);
(8)若所有原始数据块被恢复,则报告解码完成,若未恢复所有原始数据块,则报告解码未完成。
本发明提出的基于分布式编码存储的网络数据汇播传输方法,其优点是:采用功能强大的服务器提供下载业务,保证数据服务的相对稳定性;将数据进行分布式存储,实现数据的汇播下载,提高下载速率;对数据进行随机编码,减小用户在汇播接收时收到相同数据的概率,节省网络带宽,并依靠分布式存储的冗余编码数据提高网络的抗毁能力。
附图说明
图1是本发明方法的服务器工作流程框图。
图2是本发明方法的用户端工作流程框图。
图3是本发明方法中编码过程流程图。
图4是本发明方法中解码过程流程图。
图5是使用本发明方法的网络结构示意图。
图6是本发明的一个应用实例的服务过程时序图。
具体实施方式
本发明提出的基于分布式编码存储的网络数据汇播传输方法,首先在网络的多个服务器上分别存储经过编码后的数据以及编码信息;用户端通过网络向上述多个服务器发送传输数据的请求;上述多个服务器接收用户端的发送数据请求后,分别向用户端发送确认信息及编码信息,并将上述经过编码后的数据打包后按指定路由发送给用户端;用户端收到上述确认信息后,从上述编码信息中获取需要接收的数据包个数N;用户端从上述多个服务器上接收总数为上述N的数据包,并进行解码,若解码成功,则向服务器发送终止请求,若解码不成功,则继续接收数据,直至解码成功,并向服务器发送终止请求。
以下结合附图,详细介绍本发明的内容:
本发明提出的基于分布式编码存储的网络数据汇播传输方法,其服务器工作流程框图如图1所示,首先在网络的多个服务器上分别存储经过编码后的数据以及编码信息;多个服务器在收到用户端的“发送数据请求Rq”后,分别向用户端发送“确认信息Rq”及编码信息,并将上述用户需要的编码数据打包后按指定路由发送给各用户端;多个服务器在收到的“终止发送请求Cp”后,终止上述编码数据的发送。若直到将所有用户需要的编码数据都发送之后仍然没有收到“终止发送请求Cq”,也终止上述编码数据的发送。
上述方法中,用户端工作流程框图如图2所示,用户端在需要下载数据的时候先向多个服务器发送“发送数据请求Rq”收到上述“确认信息Rq”以及编码信息后,从上述编码信息中获取需要接收的数据包个数N以及各服务器的编码数据块与原始数据块的编码关系;用户端从上述多个服务器上接收总数为上述N的编码数据包,并进行解码,若解码成功,则向服务器发送终止请求,若解码不成功,则继续接收数据,直至解码成功,并向服务器发送终止请求。“发送数据请求Rq”可以在不同时刻发送,也可以在同一时刻由不同的通信端口发送,数据接收过程可以经由不同端口同时并行进行。
上述方法中,对数据进行编码的方法,其流程框图如图3所示,将待传输的数据分成K等份个原始数据块,并确定随机数生成函数和随机数生成种子,该随机数生成函数根据该随机数生成种子产生一个随机数序列{ri,i=1,2,...};从上述随机数序列中提取第一个随机数r1,根据累积分布函数CD(x)进行判断。比如,累计分布可以为:
其中 δ∈(0,0.1]
判断的具体方法为:若满足CD(d-1)<r1≤CD(d),则以整数d作为编码度数;从上述随机数序列中提取第二个至第d+1个随机数,将该d个随机数分别与K相乘后取整,得到d个原始数据块的编号,若上述d个编号中存在彼此相同的值,则继续提取后续的1个随机数与K相乘后取整,得到新的原始数据块的编号代替上述相同的编号,重复该过程,直到得到互不相同的d个原始数据块的编号;将与上述编号相对应的原始数据块进行异或,得到一个编码数据块,并定义编码数据块与d个原始数据块存在编码关系;从上述随机数序列中删除被提取过的所有随机数,重复上述过程,直至生成足够数量的编码数据包。上述的足够编码数据包数量为整数 可根据汇播系统的抗毁要求进行调整,范围为[NS,+∞)。其中S为存储该编码数据的服务器个数,N为不小于的最小整数。
上述方法中,对数据进行解码的方法,其流程框图如图4所示,根据从各服务器接收到的编码信息,获得各服务器使用的随机数生成种子,根据编码使用的随机数生成函数产生一个与编码相同的随机数序列;从上述随机数序列中提取第一个随机数r1,根据累积分布函数CD(x)判断,若满足CD(d-1)<r1≤CD(d),则以整数d作为编码度数;从上述随机数序列中提取第二个至第d+1个随机数,将该d个随机数分别与K相乘后取整,得到d个原始数据块的编号;从上述随机数序列中删除前d+1个随机数,重复上述编码关系恢复过程,直至得到所有编码数据块与所有原始数据块存在的编码关系;得到编码关系后开始解码,寻找编码度数为1的编码数据块,若寻找失败,且所有原始数据块被恢复,则报告解码完成,若未恢复所有原始数据块,则报告解码未完成;若寻找成功,则得到与该编码数据块对应的原始数据块;将该原始数据块的值与所有和该原始数据块有编码关系的编码数据块的值依次进行异或,将异或后的值依次替换原编码数据块值,替换后删除该原始数据块的编码关系;重复上述解码过程。
上述方法中,基于分布式编码存储的网络数据汇播传输系统如图5所示。系统包括服务器、网络和用户端三部分。网络连接多个服务器和多个用户,在各个服务器上面存储了等待用户下载的数据的编码,用户端则通过网络向服务器发送传输数据的请求,通过并行接受数据减少下载的时间。服务器在收到用户端的发送请求后应答确认消息,并将编码消息和编码数据按指定路由发送给用户端。
上述方法的一个应用实例的服务过程时序图如图6所示。假设某系统采用6个服务器S1~S6提供对4部电影A、B、C和D的下载服务。S1~S3上分别存有电影A的3个不同的编码版本A1~A3和电影C的3个不同的编码版本C1~C3,S3~S6分别存有电影B和D的编码版本B1~B4和D1~D4。
假设某用户端在时刻t1需要下载电影A,在时刻t2需要下载电影B,则该用户端在时刻t1向服务器S1~S3发送“发送数据请求RqA”,服务器S1~S3收到请求后分别回复数据确认信息RpA1~RpA3和各自的编码信息,并开始发送数据DATAA1~DATAA3。当用户接收的编码数据包足够其恢复电影A的时候则发送一个“终止发送请求Cp”至服务器S1~S3,服务器S1~S3便终止发送。
类似地,在时刻t2,该用户端向服务器S3~S6发送“发送数据请求RqB”,服务器S3~S6收到请求后分别回复数据确认信息RpB1~RpB4和各自的编码信息,并开始发送数据DATAB1~DATAB4。若服务器S5在传输在过程中突然失效,DATAB3随即不再向该用户端发送。由于服务器S3、S4和S6上存储的编码数据存在冗余,即所存储的编码数据块个数仍然足够用户端用以恢复电影B,因此虽然服务器S5不再提供并行下载服务,用户端无法实现4端口并行下载,但在通过稍长时间的3端口并行下载仍然可以保证电影B的正确恢复。当该用户端收到的编码数据包个数足够解码出B的时候,用户端发送一个“终止发送请求Cp”至服务器S3、S4和S6,服务器S3、S4和S6便终止发送。
Claims (2)
1、一种基于分布式编码存储的网络数据汇播传输方法,其特征在于该方法包括以下步骤:
(1-1)在网络的多个服务器上分别存储经过编码后的数据以及编码信息;
(1-2)用户端通过网络向上述多个服务器发送传输数据的请求;
(1-3)上述多个服务器接收用户端的发送数据请求后,分别向用户端发送确认信息及编码信息,并将上述经过编码后的数据打包后按指定路由发送给用户端;
(1-4)用户端收到上述确认信息后,从上述编码信息中获取需要接收的数据包个数N;
(1-5)用户端从上述多个服务器上接收总数为上述N的数据包,并进行解码,若解码成功,则向服务器发送终止请求,若解码不成功,则继续接收数据,直至解码成功,并向服务器发送终止请求;
所述的对数据进行编码的方法包括以下各步骤:
(a)将待传输的数据分成K等份个原始数据块,并确定随机数生成函数和随机数生成种子,该随机数生成函数根据该随机数生成种子产生一个随机数序列{ri,i=1,2,...};
(b)从上述随机数序列中提取第一个随机数r1,根据累积分布函数CD(x)判断,若满足CD(d-1)<r≤CD(d),则以整数d作为编码度数;
(c)从上述随机数序列中提取第二个至第d+1个随机数,将该d个随机数分别与K相乘后取整,得到d个原始数据块的编号,若上述d个编号中存在彼此相同的编号,则继续提取后续的1个随机数与K相乘后取整,得到新的原始数据块的编号,并将其代替上述相同的编号,重复该过程,直至得到互不相同的d个原始数据块的编号;
(d)将与上述互不相同的编号相对应的原始数据块进行异或,得到一个编码数据块,并定义该编码数据块与d个原始数据块存在编码关系;
(e)从上述随机数序列中删除被提取过的所有随机数,重复步骤(b)~(d),直至生成NS个编码数据块,其中NS为根据汇播系统的抗毁要求而预先设定的一个整数值。
2、如权利要求1所述的方法,其特征在于其中所述的对数据进行解码的方法包括以下各步骤:
(2-1)根据从各服务器接收到的编码信息,获得各服务器使用的随机数生成种子,根据编码使用的随机数生成函数产生一个与编码相同的随机数序列{ri,i=1,2,...};
(2-2)从上述随机数序列中提取第一个随机数r1,根据累积分布函数CD(x)判断,若满足CD(d-1)<r1≤CD(d),则以整数d作为编码度数;
(2-3)从上述随机数序列中提取第二个至第d+1个随机数,将该d个随机数分别与K相乘后取整,得到d个原始数据块的编号;
(2-4)从上述随机数序列中删除前d+1个随机数,重复步骤(2-2)和(2-3),直至得到所有编码数据块与所有原始数据块存在的编码关系;
(2-5)根据上述编码关系,寻找编码度数为1的编码数据块,若寻找失败,则进行步骤(2-8),若寻找到,则得到与该编码数据块对应的原始数据块;
(2-6)将上述原始数据块的值与所有和该原始数据块有编码关系的编码数据块的值依次进行异或,将异或后的值依次替换原编码数据块值,替换后删除该原始数据块的编码关系;
(2-7)重复上述步骤(2-5)和(2-6);
(2-8)若所有原始数据块被恢复,则报告解码完成,若未恢复所有原始数据块,则报告解码未完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100894940A CN100452713C (zh) | 2006-06-30 | 2006-06-30 | 一种基于分布式编码存储的网络数据汇播传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100894940A CN100452713C (zh) | 2006-06-30 | 2006-06-30 | 一种基于分布式编码存储的网络数据汇播传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1905467A CN1905467A (zh) | 2007-01-31 |
CN100452713C true CN100452713C (zh) | 2009-01-14 |
Family
ID=37674604
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100894940A Expired - Fee Related CN100452713C (zh) | 2006-06-30 | 2006-06-30 | 一种基于分布式编码存储的网络数据汇播传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100452713C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101925046A (zh) * | 2009-06-17 | 2010-12-22 | 华为技术有限公司 | 下载方法及管理装置 |
CN101834899B (zh) * | 2010-04-29 | 2013-01-30 | 中科院成都信息技术有限公司 | 一种分布式自适应编码存储方法 |
CN108494790B (zh) * | 2018-04-08 | 2020-01-21 | 南京大学 | 一种在分布式网络中检测持续型网络攻击的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6339785B1 (en) * | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
CN1425990A (zh) * | 2001-12-13 | 2003-06-25 | 杨磊 | 因特网多服务器文件并发下载技术 |
-
2006
- 2006-06-30 CN CNB2006100894940A patent/CN100452713C/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6339785B1 (en) * | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
CN1425990A (zh) * | 2001-12-13 | 2003-06-25 | 杨磊 | 因特网多服务器文件并发下载技术 |
Non-Patent Citations (2)
Title |
---|
一种基于信息分散算法的分布式数据存储方案. 屈志毅,苏文洲,赵玲.计算机应用,第26卷第5期. 2006 |
一种基于信息分散算法的分布式数据存储方案. 屈志毅,苏文洲,赵玲.计算机应用,第26卷第5期. 2006 * |
Also Published As
Publication number | Publication date |
---|---|
CN1905467A (zh) | 2007-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
RU2369971C2 (ru) | Механизм запроса на восстановление данных в режиме "точка-точка" для систем передачи "точка-много точек" | |
EP1867135B1 (en) | Method and apparatus for enhanced file distribution in multicast or broadcast | |
CN103250463B (zh) | 用于通信系统的子集编码 | |
EP1612982A2 (en) | Content distribution using network coding | |
Lu et al. | Efficient network coding for wireless broadcasting | |
CN104067594A (zh) | 在http服务器之间分配源数据和修复数据的内容传送系统 | |
CN101895376A (zh) | 用于实现多跳无线网络中数据广播的传输方法 | |
Gerami et al. | Partial repair for wireless caching networks with broadcast channels | |
CN102804661A (zh) | 通信系统中的对象的块聚合 | |
CN104243098A (zh) | 一种基于并行批次网络编码的传输方法 | |
CN100452713C (zh) | 一种基于分布式编码存储的网络数据汇播传输方法 | |
CN101540778B (zh) | 一种数据传输的方法、装置和系统 | |
CN102088331B (zh) | 一种数据传输方法及网络节点 | |
Rahnavard et al. | CRBcast: A collaborative rateless scheme for reliable and energy-efficient broadcasting in wireless sensor networks | |
CN105959085A (zh) | 基于喷泉码的短波通信双向传输方式 | |
CN103095827B (zh) | 一种基于随机网络编码的本地多客户端协同数据下载方法 | |
Mehta et al. | Survey on multimedia transmission using network coding over wireless networks | |
CN1985467A (zh) | 数据网络中用于多播和单播混合式传输的方法和装置 | |
CN114301513A (zh) | 基于反馈喷泉码的文件传输方法 | |
CN102571263B (zh) | 一种解码方法和装置 | |
Jiang et al. | Disruption‐resilient bundle delivery mechanism in space DTNs with partial segments aggregation | |
Matthew et al. | The use and performance of LT codes for multicast with relaying | |
Gasiba et al. | Reliable and efficient download delivery with Raptor codes | |
Joy et al. | A new approach to coding in content-based MANETs | |
Crepaldi et al. | Fountain reprogramming protocol (FRP) a reliable data dissemination scheme for wireless sensor networks using fountain codes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090114 Termination date: 20150630 |
|
EXPY | Termination of patent right or utility model |