CN101355432B - 一种多点传输数据方法 - Google Patents
一种多点传输数据方法 Download PDFInfo
- Publication number
- CN101355432B CN101355432B CN2007100702042A CN200710070204A CN101355432B CN 101355432 B CN101355432 B CN 101355432B CN 2007100702042 A CN2007100702042 A CN 2007100702042A CN 200710070204 A CN200710070204 A CN 200710070204A CN 101355432 B CN101355432 B CN 101355432B
- Authority
- CN
- China
- Prior art keywords
- data
- user
- node
- tables
- nodes
- 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
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种多点传输数据方法,本方法首先在内容服务器端把数据打包成数据块,给每一个数据块分配一个固定序号。当用户打开软件点击节目后,会自动从目录服务器上和本节目相连的节点列表中选择8个相邻节点,开8个线程同时从这些节点取得不同的数据来播放节目,实现多点传输数据,为了实现数据管理,在8个节点和用户节点都建有数据表,它表示该用户已经保存了哪些数据,还需要接收哪些数据,并且节点间定时交换数据表,传输数据,如果在8个节点都找不到相应数据,就连接内容服务器,发索取请求以传输数据,使用本方法可以在互联网上构造重叠网,利用重叠网实现基于应用层的组播,接入网络的用户越多,下载的速度就越快,顺利实现网络电视直播,这样运营商不需要随着接入用户的增加而扩展服务器,从而大量节约资金。
Description
技术领域
本发明涉及一种多点传输数据方法。
背景技术
随着网络技术的不断发展,用户对于网络传输的要求越来越高,但现在的传输技术要求用户必须下载到个人电脑才能观看相应的节目,造成了时间上的浪费,另外现有在线观看的网络节目因为使用单点传输,数据全部是从一个节点接受的,有两个方面的缺点:1,因为只从一个节点来接收数据,传输速度慢,当网络状况不好的时候,数据传输速度小于播放速度,容易出现播放停顿;2,当接收数据的节点退出时,必须重新寻找节点开始传输,这时所有的数据都来自新节点,可能会产生播放中断的情况,尤其是随着观看用户的增加更会造成网络的堵塞。
发明内容
本发明为了解决上述问题提供了一种多点传输数据方法,利用客户端数据的交换构件了互联网下的多点传输,使不同用户观看网络节目的同时传输数据,提高了观看的速度,本方法采用如下步骤:
1)、在内容服务器端把数据打包,每一个数据块分配一个固定序号;
2)、用户通过软件登陆后,自动生成一个用户节点的编号,目录服务器记录下新加入节点的编号和它的IP地址,目录服务器把拥有的节目列表发给用户;
3)、用户获得节目列表后,选择想要观看的节目,目录服务器就把用户节点加入到观看该节目的节点链表中,然后把节点链表返回给用户,用户从该节目相连的所有节点中根据网络参数选择8个相邻的节点;
4)、在8个相邻节点和用户节点都生成自己的数据表,节点之间定时交换数据表,用户定时从目录服务器得到内容服务器的数据表;
5)、用户需要某一块数据,根据该数据块的序号在8个相邻的节点中依次寻找对应序号中的数据块,如果在某个节点中找到,发索取请求,传输数据;如果8个节点中都找不到,连接内容服务器,发索取请求,传输数据;
6)、每一个数据块对应的数据存放在对应内存中,如果用户的数据表都填满,就开始播放,播放过程中,一边播放,一边接收新的数据,即时更新数据表,并推移数据块的序号往下走,如果播放时有即将要播放的数据块还没有得到,立即和内容服务器连接,从内容服务器中接收数据。
所述步骤4)中的数据表长度为1024,数据表的数据结构如下:
typedef struct data_map{
U32 sequence_number;//数据包的序号
U8 flag; //数据是否存在标志,0:不存在
数据,1:有数据
U8*data; //真实数据的地址
CHit hit; //节点
}data_map_t;
所述步骤4)中每个节点有10个数据表,包括:用户节点数据表P0、8个相邻节点的数据表P1——P8和内容服务器的数据表Ps。
所述步骤5)中当用户节点需要的某一块数据时,这时它的标记flag=0,得到它的数据块序号,对P1——P8依次寻找对应序号中flag=1的节点,如果找到,发索取请求,传输数据,如果找不到,连接内容服务器,发索取请求,传输数据。
所述步骤6)在数据存放时如果有新的数据接收进来,对数据做如下处理:
a)数据表:数据块序号对1024取模,放入余数对应的项中;
b)数据:放在对应的内存内,覆盖原来的数据。
在节点之间相互交换数据的同时,内容服务器也采用随机发送的方法把数据发送到整个网络中去,例如,当有N个节点向目录服务器索取数据时,内容服务器以一定的概率lnN/(N-2)满足索取需求。这样,既降低了服务器的压力,又能保证用户节点的播放流畅。
使用本方法可以同时从8个点传输数据,大大提高了网络传输速度,解决了单点传输缺点1的问题,当有一个提供数据的节点退出时,系统自动寻找新的节点来传输数据,这时,只有八分之一的数据需要从新的节点来传输,其余八分之七的数据仍然从原来的节点传输,没有产生变化,大大减少了数据变化的情况,使播放中断的概率大大降低,增加了播放的稳定性,同时本方法可以在互联网上构造重叠网,利用重叠网实现基于应用层的多播,接入网络的用户越多,下载的速度就越快,顺利实现网络电视直播,这样运营商不需要随着接入用户的增加而扩展服务器,从而大量节约资金。
具体实施方式
首先在内容服务器端把数据打包,使每一个数据块分配一个固定序号,用户通过软件登陆后,自动生成一个用户节点的编号,目录服务器记录下新加入节点的编号和它的IP地址,目录服务器把拥有的节目列表发给用户,用户获得节目列表后,选择想要观看的节目,目录服务器就把用户加入到观看该节目的节点链表中,然后把节点链表返回给用户,用户从该节目相连的所有节点中根据网络参数选择8个相邻的节点,在8个相邻节点和用户节点都生成自己的数据表,节点之间定时交换数据表,用户定时从目录服务器得到内容服务器的数据表,用户需要某一块数据,根据该数据块的序号在8个相邻的节点中依次寻找对应序号中的数据块,如果在某个节点中找到,发索取请求,传输数据;如果8个节点中都找不到,连接内容服务器,发索取请求,传输数据,每一个数据块对应的数据存放在对应内存中,如果用户的数据表都填满,就开始播放,播放过程中,一边播放,一边接收新的数据,即时更新数据表,并推移数据块的序号往下走,如果播放时有即将要播放的数据块还没有得到,立即和内容服务器连接,从内容服务器中接收数据,在数据存放时如果有新的数据接收进来,对数据做如下处理:
a)数据表:数据块序号对1024取模,放入余数对应的项中;
b)数据:放在对应的内存内,覆盖原来的数据。
如果本地的数据表都填满,就开始播放,播放过程中,一边播放,一边接收新的数据,如果播放时有即将要播放的数据块还没有得到,立即和服务器连接,从服务器中接收数据,在节点之间相互交换数据的同时,内容服务器也采用随机发送的方法把数据发送到整个网络中去。例如,当有N个节点向目录服务器索取数据时,内容服务器以一定的概率lnN/(N-2)满足索取需求。这样,既降低了服务器的压力,又能保证用户节点的播放流畅。
Claims (5)
1.一种多点传输数据方法,其特征在于包括以下步骤:
1)、在内容服务器端把数据打包,每一个数据块分配一个固定序号;
2)、用户通过软件登陆后,自动生成一个用户节点的编号,目录服务器记录下新加入节点的编号和它的IP地址,目录服务器把拥有的节目列表发给用户;
3)、用户获得节目列表后,选择想要观看的节目,目录服务器就把用户节点加入到观看该节目的节点链表中,然后把节点链表返回给用户,用户从该节目相连的所有节点中根据网络参数选择8个相邻的节点;
4)、在8个相邻节点和用户节点都生成自己的数据表,节点之间定时交换数据表,用户定时从目录服务器得到内容服务器的数据表;
5)、用户需要某一块数据,根据该数据块的序号在8个相邻的节点中依次寻找对应序号中的数据块,如果在某个节点中找到,发索取请求,传输数据;如果8个节点中都找不到,连接内容服务器,发索取请求,传输数据;
6)、每一个数据块对应的数据存放在对应内存中,如果用户的数据表都填满,就开始播放,播放过程中,一边播放,一边接收新的数据,即时更新数据表,并推移数据块的序号往下走,如果播放时有即将要播放的数据块还没有得到,立即和内容服务器连接,从内容服务器中接收数据。
2.如权利要求1所述的一种多点传输数据方法,其特征在于所述步骤4)中的数据表长度为1024,数据表的数据结构如下:
3.如权利要求2所述的一种多点传输数据方法,其特征在于每个节点有10个数据表,包括:用户节点数据表P0、8个相邻节点的数据表P1——P8和内容服务器的数据表Ps。
4.如权利要求3所述的一种多点传输数据方法,其特征在于当客户节点需要某一块数据时,这时它的标记flag=0,得到它的数据块序号,对P1——P8依次寻找对应序号中flag=1的节点,如果找到,发索取请求,传输数据,如果找不到,连接内容服务器,发索取请求,传输数据。
5.如权利要求4所述的一种多点传输数据方法,其特征在于在数据存放时如果有新的数据接收进来,对数据做如下处理:
a)数据表:数据块序号对1024取模,放入余数对应的项中;
b)数据:放在对应的内存内,覆盖原来的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100702042A CN101355432B (zh) | 2007-07-27 | 2007-07-27 | 一种多点传输数据方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007100702042A CN101355432B (zh) | 2007-07-27 | 2007-07-27 | 一种多点传输数据方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101355432A CN101355432A (zh) | 2009-01-28 |
CN101355432B true CN101355432B (zh) | 2011-07-06 |
Family
ID=40308042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007100702042A Expired - Fee Related CN101355432B (zh) | 2007-07-27 | 2007-07-27 | 一种多点传输数据方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101355432B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102769885B (zh) * | 2011-05-04 | 2015-03-11 | 中国移动通信集团广东有限公司 | 一种在传感器网络中实现路由的方法和传感器网络 |
CN108307213A (zh) * | 2017-01-12 | 2018-07-20 | 深圳市优朋普乐传媒发展有限公司 | 一种直播数据的下载方法、装置及系统 |
-
2007
- 2007-07-27 CN CN2007100702042A patent/CN101355432B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101355432A (zh) | 2009-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7089319B2 (en) | Method and system for instantaneous on-demand delivery of multimedia content over a communication network with aid of content capturing component, delivery-on-demand client and dynamically mapped resource locator server | |
CN100571377C (zh) | 一种利用对等网络技术实现视频点播的系统及方法 | |
US9432452B2 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
US9325786B2 (en) | Peer-to-peer interactive media-on-demand | |
CN105072462B (zh) | 视频广告插播方法及装置 | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
US9172751B2 (en) | Content distribution | |
CN105337901A (zh) | 一种路由器的智能带宽分配方法及装置 | |
CN102394899B (zh) | 提高文件下载速度的点播系统及方法 | |
CN101714987B (zh) | P2p播放方法及系统 | |
CN104782147A (zh) | 通信接收器 | |
CN106961630B (zh) | 一种基于dash优化的p2p流媒体视频播放方法 | |
US20160381127A1 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
CN102694831A (zh) | 移动终端流媒体数据补偿方法与系统、内容分发网络 | |
CN106302362B (zh) | 多媒体内容发送方法、分享方法、接收方法及对应装置 | |
CN104618738A (zh) | 一种智能电视节目播放方法及装置 | |
CN101018201A (zh) | 一种p2p流媒体直播技术的平行扩展方法 | |
CN101267531A (zh) | 一种交互式网络电视系统及实现方法 | |
CN101355432B (zh) | 一种多点传输数据方法 | |
CN103825943B (zh) | 基于p2p的scorm标准课件播放系统及其实现方法 | |
CN101094387A (zh) | 一种网络内容传输控制系统和方法 | |
CN102547471B (zh) | 一种p2p流媒体系统中获取候选合作节点的方法及系统 | |
CN201766618U (zh) | 网络点播系统 | |
CN101197691A (zh) | 实现网络广告的方法、系统、登录服务器和客户端 | |
CN101262360A (zh) | 一种实时流媒体多点传输的方法和设备 |
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: 20110706 Termination date: 20150727 |
|
CF01 | Termination of patent right due to non-payment of annual fee |