CN102255695B - 一种应用于p2p网络分发系统的数据校验方法与系统 - Google Patents
一种应用于p2p网络分发系统的数据校验方法与系统 Download PDFInfo
- Publication number
- CN102255695B CN102255695B CN 201110205874 CN201110205874A CN102255695B CN 102255695 B CN102255695 B CN 102255695B CN 201110205874 CN201110205874 CN 201110205874 CN 201110205874 A CN201110205874 A CN 201110205874A CN 102255695 B CN102255695 B CN 102255695B
- Authority
- CN
- China
- Prior art keywords
- data
- check
- video
- server
- file
- 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
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种应用于p2p网络分发系统的数据校验方法和系统,终端正在播放一个视频时,首先根据该视频文件的MD5向数据校验服务器发送获取保存着该视频文件所有单位段CRC32值的xml文件的请求;在传送一段视频数据之前,算出该段数据的CRC32值,并和从数据校验服务器获取的xml里的同一段视频数据的CRC32值比较,若相等,则证明该段数据时完好的,可以传送;否则是已经损坏的脏数据,禁止传送。本发明解决了p2p网络分发系统中的数据校验问题,技术方案易于实现,数据校验过程简单有效、占用的网络带宽低。
Description
技术领域
本发明涉及一种应用于p2p网络分发系统的数据校验方法与系统,属于计算机网络、流媒体、视频处理等多个交叉领域。
背景技术
P2P(Peer-to-Peer)又被称为“点对点”技术,其充分利用客户的上行带宽,在下行占用的同时也占用上行带宽,为其他用户提供资源,实现网络的加速和扩展,依赖网络中参与者的计算能力和带宽,而不是把依赖都聚集在较少的几台服务器上。现有技术中,通过p2p网络大量分发数据,如果没有校验系统,分发的数据很容易被弄“脏”,这里脏数据有两层含义,一是被人故意弄脏,以此来破坏p2p系统无法正确获取可用文件;二是系统故障、软件处理逻辑等原因造成的概率性数据错误。脏数据,主要是p2p系统的peer节点中分发造成的。为了避免p2p系统中的peer节点分发脏数据,需要某种办法阻止脏数据p2p网络中传送分发。
发明内容
某一段数据被请求时,在发往对端peer之前,首先应该对其进行校验,判断是否是脏数据,不是脏数据才允许传送。为了实现上述目的,本发明提供一种有效的用于p2p网络分发系统的数据校验方法与系统。所述应用于p2p网络分发系统的数据校验系统,包括:一台流媒体服务器,用于存储流媒体文件;一个或多个流媒体终端,用于请求及播放流媒体文件;一台数据校验服务器,该校验服务器从流媒体服务器上获取所有视频文件,针对每一个文件,将该文件划分为多个单位段,计算出其每一个单位段的CRC32值,并存储。按照本发明的应用于p2p网络分发系统的数据校验系统,当某个终端正在播放一个视频文件时,首先向数据校验服务器发送一请求;所述请求内容包括:获取保存着该视频文件所有单位段CRC32值的xml文件的文件名;以及保存该视频文件的视频地址,即视频文件的调度地址。
优选的是,数据校验服务器对该请求作出响应,返回终端所需的xml文件;终端在传送一段视频数据之前,算出该段数据的CRC32值,并和从数据校验服务器获取的xml里的同一段视频数据的CRC32值比较,若相等,则证明该段数据时完好的,可以传送;否则是已经损坏的脏数据,禁止传送。
本发明进一步提供一种应用于p2p网络分发系统的数据校验方法,包括以下步骤:
当某个终端正在播放一个视频时,首先根据该视频文件的MD5向数据校验服务器发送获取保存着该视频文件所有单位段CRC32值的xml文件的请求;
数据校验服务器接收该请求,并对该请求作出响应,返回终端所需的xml文件;
终端在传送一段视频数据之前,算出该段数据的CRC32值,并和从数据校验服务器获取的xml里的同一段视频数据的CRC32值比较,若相等,则证明该段数据时完好的,可以传送;否则是已经损坏的脏数据,禁止传送。所述请求以http格式发送,请求内容包括数据校验服务器上保存的用于记录该视频文件所有单位段CRC32值的xml文件名,以及保存该视频文件的视频地址,即视频文件的调度地址。
在本发明提供的方法与系统中,服务器收到客户端发来的请求令后,首先检查本地是否存在生成好的校验文件,如果存在,则回应给客户端,如果不存在,则开启一条根据客户端提供的视频文件调度地址去cdn服务器取数据的连接,当获取第一块数据时会计算此数据块的校验值然后回应给客户端。
优选的是,从cdn获取的数据时也包含一数据校验过程,在校验服务器向cdn服务器发送的数据中增加一CRC32数据校验层,用于对cdn流出的数据进行单向校验。
本领域技术人员不难看出,本发明包括上述直接描述了的各方案及这些方案的任意组合,也包括构成这些方案的各特征的任意组合。
本发明解决了p2p网络分发系统中的数据校验问题,技术方案易于实现,数据校验过程简单有效、占用的网络带宽低。
附图说明
附图1为按照本发明的一优选实施例的应用于p2p网络分发系统的数据校验系统;
附图2为按照本发明的p2p网络分发系统的数据校验方法的客户端与checksum服务器、cdn之间的交互。
具体实施方式
附图1示出了一种应用于p2p网络分发系统的数据校验系统,其为本发明的优选实施方式。所述系统至少包括:
一台流媒体服务器,用于存储流媒体文件;
一个或多个流媒体终端,用于请求及播放流媒体文件;
一台数据校验服务器(数据校验服务器在系统中所处的位置如图1所示:checksum服务器就是数据校验服务器),该校验服务器从流媒体服务器上获取所有视频文件,针对每一个文件,将该文件划分为多个单位段,计算出其每一个单位段的CRC32值,并存储;
当某个终端peer正在播放一个视频时,首先根据该视频文件的MD5从数据校验服务器获取保存着该视频文件所有单位段CRC32值的xml文件;在传送一段视频数据之前,算出该段数据的CRC32值,并和xml里的同一段视频数据的CRC32值比较,若相等,则证明该段数据时完好的,可以传送;否则是已经损坏的脏数据,禁止传送。
上述系统中,只有经过校验的数据块才能分发给其他peer。通信协议采用http。
经过发明人多次测试,对于分块的划分大小为1M时,验证以及传输的效率最高。
本发明进一步提供一种应用于p2p网络分发系统的数据校验方法,参照附图2,附图2示意出了流媒体终端、数据校验服务器以及cdn服务器之间的交互过程,包括以下步骤:
客户端在起一个频道的时候发起对这个频道的数据校验文件的请求,所述请求以http格式发送,请求内容包括数据校验服务器上保存的用于记录该视频文件所有单位段CRC32值的xml文件名,以及保存该视频文件的视频地址,即视频文件的调度地址。
所述CDN(Content Delivery Network,即内容分发网络)服务器能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。当用户访问加入CDN服务的网站时,通过一组预先定义好的策略(如内容类型、地理区域、网络负载状况等),将当时最接近用户的节点地址提供给用户,使用户可以得到快速的服务。
上述交互过程中Check_request为客户端向服务器的请求,其优选的格式如下:
GET /{$fname}.xml&url={$url}
比如:GET /1827398236.xml&url=http://g3.letv.com/4/44/45/123456.fly
其中,{$fname}.xml为服务器最终生成的文件名。{$url}是视频文件的调度地址。
校验服务器接收客户端发送的请求,并对请求做出响应。其根据客户端请求的xml文件名,返回与该文件名相同的存储在数据校验服务器上的用于记录该视频文件所有单位段CRC32值的xml文件。
客户端在开启频道的时候需要向校验服务器请求校验文件,如果校验文件时不完整的则需要定时获取。
服务器收到客户端发来的请求信令后,首先会检查本地有没有生成好的校验文件,有的话就回应给客户端,没有的话会开启一条根据客户端提供的url去cdn服务器取数据的连接,当获取第一块数据时会计算此数据块的校验值然后回应给客户端。这样客户端就需要定时获取。
更进一步,在图2所示的Check_response过程中,服务器要返回的xml文件,文件名和请求行的{$fname}.xml一致。其优选格式如下:
<root>
<clip>
<begin>0</begin>
<end>1048576</end>
<checksum>7326478236</checksum>
</clip>
<clip>
<begin>1048576</begin>
<end>2091752</end>
<checksum></checksum>
</clip>
</root>
字段 | 说明 |
Begin | 校验区间(起始偏移)单位:字节 |
End | 校验区间(结束偏移)单位:字节 |
Checksum | 上述区间的校验值 |
开启频道的时候需要向校验服务器请求校验文件,如果校验文件时不完整的则需要定时获取。
从cdn获取的数据时也包含一数据校验过程,在校验服务器向cdn服务器发送的数据中增加一CRC32数据校验层,用于对cdn流出的数据进行单向校验。
应该理解的是,本发明的附图和阐述被精简化,只描述了对于清楚地了解本发明所必不可少的要素,为了清楚简明起见,省略了一些在通常的计算装置、系统和方法中采用的要素,在阅读了本说明书后,本领域技术人员不难看出这些省略的要素及其在本发明中的作用。而且本领域普通技术人员可以理解,这些省略的要素对于实现本发明也是希望和/或需要的。本领域技术人员可以理解,本发明包括了在说明书中直接描述的各技术方案,也包括了由这些已经直接描述的各技术方案的结合构成的衍生方案,甚至包括由构成这些已经描述了的各方案的各特征的结合构成的衍生方案。基于本发明的宗旨的一切改进都落入本发明的保护范围之内。
本领域技术人员同样不难看出,本发明是对现有技术的改进,是为解决现有技术中存在的技术问题而将这些现有技术中的要素进行的结合,这种结合凝结了大量的创造性劳动,是发明人大量理论研究和科学实验的结晶。在没有阅读本发明之前,本领域技术人员显然是不容易想到本发明的各个方案的,而在阅读了本说明书后,本领域技术人员不必再付出创造性劳动即可实现本发明的基本技术方案。
Claims (6)
1.一种应用于p2p网络分发系统的数据校验系统,包括:流媒体服务器,用于存储流媒体文件;一个或多个流媒体终端,用于请求及播放流媒体文件;其特征在于,还包括:
数据校验服务器,该数据校验服务器从流媒体服务器上获取所有视频文件,针对每一个视频文件,将该视频文件划分为多个单位段,计算出其每一个单位段的CRC32值,并存储;
当某个流媒体终端正在播放一个视频文件时,首先向数据校验服务器发送一请求;所述请求内容包括:保存着该视频文件所有单位段CRC32值的xml文件的文件名;以及保存该视频文件的视频地址,即视频文件的调度地址;
数据校验服务器对该请求作出响应,返回流媒体终端所需的xml文件;流媒体终端在传送一段视频数据之前,算出该段视频数据的CRC32值,并和从数据校验服务器获取的xml文件里的同一段视频数据的CRC32值比较,若相等,则证明该段视频数据是完好的,可以传送;否则是已经损坏的脏数据,禁止传送;
数据校验服务器收到流媒体终端发来的请求令后,首先检查本地是否存在生成好的校验文件,校验内容包括:校验区间起始偏移、校验区间结束偏移、上述校验区间的校验值;如果存在,则回应给流媒体终端,如果不存在,则开启一条根据流媒体终端提供的视频文件调度地址去CDN服务器取数据的连接,当获取第一块数据时会计算此数据块的校验值然后回应给流媒体终端。
2.如权利要求1所述的应用于p2p网络分发系统的数据校验系统,其特征在于:所述单位段大小为1M。
3.如权利要求2所述的应用于p2p网络分发系统的数据校验系统,其特征在于该系统设置成:
从CDN服务器获取数据时也包含一数据校验过程,在数据校验服务器向CDN服务器发送的数据中增加一CRC32数据校验层,用于对CDN服务器流出的数据进行单向校验。
4.一种应用于p2p网络分发系统的数据校验方法,其特征在于包括以下步骤:
当某个流媒体终端正在播放一个视频文件时,首先根据该视频文件的MD5向数据校验服务器发送获取保存着该视频文件所有单位段CRC32值的xml文件的请求;所述请求内容包括:保存着该视频文件所有单位段CRC32值的xml文件的文件名;以及保存该视频文件的视频地址,即视频文件的调度地址;
数据校验服务器接收该请求,并对该请求作出响应,返回流媒体终端所需的xml文件;流媒体终端在传送一段视频数据之前,算出该段视频数据的CRC32值,并和从数据校验服务器获取的xml文件里的同一段视频数据的CRC32值比较,若相等,则证明该段视频数据是完好的,可以传送;否则是已经损坏的脏数据,禁止传送;
数据校验服务器收到流媒体终端发来的请求令后,首先检查本地是否存在生成好的校验文件,校验内容包括:校验区间起始偏移、校验区间结束偏移、上述校验区间的校验值;如果存在,则回应给流媒体终端,如果不存在,则开启一条根据流媒体终端提供的视频文件调度地址去CDN服务器取数据的连接,当获取第一块数据时会计算此数据块的校验值然后回应给流媒体终端。
5.如权利要求4所述的方法,其特征在于:
所述请求以http格式发送,请求内容包括数据校验服务器上保存的用于记录该视频文件所有单位段CRC32值的xml文件名,以及保存该视频文件的视频地址,即视频文件的调度地址。
6.如权利要求5所述的方法,其特征在于:
从CDN服务器获取数据时也包含一数据校验过程,在数据校验服务器向CDN服务器发送的数据中增加一CRC32数据校验层,用于对CDN服务器流出的数据进行单向校验。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110205874 CN102255695B (zh) | 2011-07-22 | 2011-07-22 | 一种应用于p2p网络分发系统的数据校验方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110205874 CN102255695B (zh) | 2011-07-22 | 2011-07-22 | 一种应用于p2p网络分发系统的数据校验方法与系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102255695A CN102255695A (zh) | 2011-11-23 |
CN102255695B true CN102255695B (zh) | 2013-09-04 |
Family
ID=44982702
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110205874 Expired - Fee Related CN102255695B (zh) | 2011-07-22 | 2011-07-22 | 一种应用于p2p网络分发系统的数据校验方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102255695B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379139B (zh) * | 2012-04-17 | 2017-07-25 | 百度在线网络技术(北京)有限公司 | 分布式缓存内容的校验方法、系统和装置 |
CN103079116A (zh) * | 2012-12-31 | 2013-05-01 | 乐视网信息技术(北京)股份有限公司 | 一种应用于对等网络的数据被动校验系统及方法 |
CN103067790B (zh) * | 2012-12-31 | 2016-07-06 | 乐视网信息技术(北京)股份有限公司 | 一种应用于对等网络的数据校验系统及方法 |
WO2017035786A1 (zh) * | 2015-09-01 | 2017-03-09 | 深圳好视网络科技有限公司 | 一种流媒体文件的播放校验方法、装置和系统 |
WO2017035787A1 (zh) * | 2015-09-01 | 2017-03-09 | 深圳好视网络科技有限公司 | 一种流媒体文件的存储方法、装置和系统 |
CN108282543A (zh) * | 2018-03-05 | 2018-07-13 | 北京云端智度科技有限公司 | 一种cdn节点内容校验方法和系统 |
CN110460487B (zh) * | 2019-06-25 | 2022-04-05 | 网宿科技股份有限公司 | 服务节点的监控方法及系统、服务节点 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079709A (zh) * | 2006-06-15 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 单点对多节点并发下载系统和方法 |
CN101425899A (zh) * | 2007-10-31 | 2009-05-06 | 北大方正集团有限公司 | 实现发布、分发的方法和系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7356838B2 (en) * | 2001-06-06 | 2008-04-08 | Yahoo! Inc. | System and method for controlling access to digital content, including streaming media |
DE602007010040D1 (de) * | 2007-02-22 | 2010-12-02 | Ericsson Telefon Ab L M | Overlay-Netzwerk mit einheitlicher und fehlertoleranter verteilter Hash-Tabelle (DHT) |
-
2011
- 2011-07-22 CN CN 201110205874 patent/CN102255695B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101079709A (zh) * | 2006-06-15 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 单点对多节点并发下载系统和方法 |
CN101425899A (zh) * | 2007-10-31 | 2009-05-06 | 北大方正集团有限公司 | 实现发布、分发的方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102255695A (zh) | 2011-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102255695B (zh) | 一种应用于p2p网络分发系统的数据校验方法与系统 | |
US10320899B2 (en) | Peer-to-peer communication of non-common data | |
CN101237429B (zh) | 基于内容分发网络的流媒体直播系统、方法及装置 | |
CN103051976B (zh) | 一种cdn分发hls内容方法、系统及设备 | |
US20130305299A1 (en) | Push-pull based content delivery system | |
US20140280859A1 (en) | Sharing control system and method for network resources download information | |
US9173006B2 (en) | Method for live broadcasting in a distributed network and apparatus for the same | |
CN110071977B (zh) | 一种数据传输方法及装置 | |
CN103179148B (zh) | 一种在互联网中分享附件的处理方法和系统 | |
CN102231762B (zh) | 一种可以无限水平扩展的p2p服务器系统 | |
US20100121914A1 (en) | Contents delivery system and method based on content delivery network provider and replication server thereof | |
US20110082943A1 (en) | P2p network system and data transmitting and receiving method thereof | |
US20160381127A1 (en) | Systems and methods for dynamic networked peer-to-peer content distribution | |
CN106034242A (zh) | 一种p2p系统中音视频直播流媒体数据传输方法 | |
CN102231761A (zh) | 一种p2p数据交互方法 | |
CN102883193A (zh) | 内容分发流量控制方法 | |
US20170222812A1 (en) | Reconstructable content objects | |
US9277025B2 (en) | Distributed content caching | |
CN103067790A (zh) | 一种应用于对等网络的数据校验系统及方法 | |
CN108924595A (zh) | 实现ts切片防盗链的方法及系统 | |
CN101958934B (zh) | 一种电子节目指南增量内容同步方法、装置及系统 | |
CN103079116A (zh) | 一种应用于对等网络的数据被动校验系统及方法 | |
US20060224758A1 (en) | System and method for file header operation in a peer-to-peer network providing streaming services | |
EP2077524B1 (en) | Push-pull based content delivery system | |
CN102739701A (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: 20130904 Termination date: 20170722 |
|
CF01 | Termination of patent right due to non-payment of annual fee |