CN100477787C - 一种用于对等网络视频点播系统的磁盘缓存方法 - Google Patents

一种用于对等网络视频点播系统的磁盘缓存方法 Download PDF

Info

Publication number
CN100477787C
CN100477787C CNB200610019526XA CN200610019526A CN100477787C CN 100477787 C CN100477787 C CN 100477787C CN B200610019526X A CNB200610019526X A CN B200610019526XA CN 200610019526 A CN200610019526 A CN 200610019526A CN 100477787 C CN100477787 C CN 100477787C
Authority
CN
China
Prior art keywords
disk
burst
normal data
data piece
peer
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
Application number
CNB200610019526XA
Other languages
English (en)
Other versions
CN1874490A (zh
Inventor
金海�
廖小飞
殷江培
程斌
王浩
周怡
王福臣
赵斗斗
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CNB200610019526XA priority Critical patent/CN100477787C/zh
Publication of CN1874490A publication Critical patent/CN1874490A/zh
Application granted granted Critical
Publication of CN100477787C publication Critical patent/CN100477787C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明公开了一种用于对等网络(P2P)视频点播系统的磁盘缓存方法,各节点执行以下步骤:(1)初始化磁盘空间;(2)格式化磁盘空间;(3)检查是否有数据需要缓存;(4)将待缓存数据分割成标准数据块;(5)选择合适的磁盘分片;(6)将待缓存数据插入写磁盘缓存队列;(7)删除磁盘上已缓存数据;(8)检查写磁盘缓存队列是否已满;(9)将写磁盘缓存队列中的数据分别写到所对应的磁盘分片上;(10)检查是否所有的标准数据块都存储完毕;(11)判断用户是否退出系统;本发明增加了网络上的资源数量,极大减轻了流媒体服务器的压力,增强了点播系统的整体服务能力,使之能够同时为更多的用户提供服务。

Description

一种用于对等网络视频点播系统的磁盘缓存方法
技术领域
本发明属于流媒体点播技术领域,具体涉及一种用于对等网络(P2P)视频点播系统的磁盘缓存方法。
背景技术
流媒体技术的应用一直是在互联网上传播多媒体信息的主要方式,随着宽带网的日益普及,视频点播服务的受关注程度也正日渐提高。
传统的视频点播机制将大量的待点播视频流数据存放在一组集中管理的视频服务器上,视频服务器负责响应每个客户端的点播请求。在这种客户服务器系统模式下,视频服务器承担了全部的工作。当点播用户不断增加时,视频服务器最终将达到其能力极限。为了增强系统能力,常用的办法是增加更多的视频服务器。在增强系统服务器端处理能力的同时,网络带宽也需要进行相应的提高。基于这种方案的系统其实现代价较高,并且通过视频服务器数量和网络带宽的有限增加也难以满足无限增加的点播需求。因此找到一项适合于点播系统的技术迫在眉睫。
对等网络是近年来兴起的一项利用终端桌面PC计算能力以及终端带宽在用户之间进行文件共享的新技术,它具有使用灵活性、可扩展性、健壮性、负载均衡等诸多优点。因此为流媒体点播、直播的普及提供了一种良好的技术基础。基于对等网络的流媒体点播方法使节点之间大都能分享已有的数据不用集中到服务器端获取数据,从而减轻了流媒体服务器和网络的负担降低了成本。
近年来,随着P2P技术的发展,也出现了一些基于P2P的流媒体系统。在基于P2P的流媒体系统中,所有节点在功能上是对等的,既可以是客户机又可以是服务器,每个节点缓存一定量媒体数据,供本系统中的其它节点使用。这些系统大部分是基于树形的网络结构,例如P2VOD(T.Do,K.A.Hua,and M.Tantaoui.“P2VoD:providing fault tolerantvideo-on-demand streaming in peer-to-peer environment”,in Proc.of IEEE ICC’04,Paris,France,Jun.2004.)和P2Cast(Y.Guo,K.Suh,J.Kurose,and D.Towsley.“P2Cast:Peer-to-peer Patching Schemefor VoD Service”,in Proc.of the 12th World Wide Web Conference(WWW’03),Budapest,Hungary,May 2003.)。这些系统中的节点的媒体数据都是在内存中进行缓存。缓存在内存中的数据可以保证用户播放的连续性,同时也可以快速响应其他用户节点的数据请求。但是由于用户观看行为的分散性,存在大量的观看人数较少的“冷门”节目。对于观看这些节目的用户来说,因为内存大小有限,不能够缓存更多的数据,所以很难从其他观看同一节目的用户那里获取媒体数据,从而使得更多的请求转到了流媒体服务器,增加了服务器的负担,限制了这个系统的扩展性。
发明内容
本发明的目的在于克服对等网络流媒体点播缓存数据量的不足,提供一种用于对等网络视频点播系统的磁盘缓存方法,该方法解决了内存大小受限引发的问题,增强点播系统的整体服务能力,使之能够同时为更多的用户提供服务。
本发明提供的一种用于对等网络视频点播系统的磁盘缓存方法,其步骤包括:
(1)用户初始化磁盘缓存空间,在本机磁盘上指定缓存空间的大小以及路径;
(2)格式化磁盘缓存空间,将整个磁盘缓存空间平均划分成若干分片,每一个分片为一个磁盘分片;
(3)定期检查是否有数据需要被缓存,如果有,则进入步骤(4);否则转到步骤(11);
(4)将需要缓存的媒体数据按照相等时间长度进行分片,每一片数据称之为一个标准数据块;
(5)根据将要缓存的一个标准数据块的大小,查找磁盘缓存空间中是否存在一块或多块连续且状态为空闲的磁盘分片,并且这些分片的空间长度总和大于或等于一个标准数据块的长度,如果查找成功,则将该磁盘分片的状态改为已用,进入步骤(6);否则转入步骤(7);
(6)将要缓存的这个标准数据块、所对应的磁盘分片的个数和分片的起始序号插入到写磁盘缓存队列末尾,进入步骤(8);
(7)根据公式λ=α×N+β×T,计算现存磁盘上的所有标准数据块的被请求次数N与上次被请求时间T的加权平均值,其中α,β为加权因子,α+β=1,0<α<1,0<β<1,将对应的λ值最小的标准数据块从磁盘上删除掉,并且将被删除掉的标准数据块对应的磁盘分片状态重新置为空闲;返回步骤(5);
(8)定期检查内存中的写磁盘缓存队列中的成员个数是否已经达到写磁盘缓存队列的上限值,该上限值是由内存大小以及磁盘读写速率决定,如果已满,进入步骤(9);否则转到步骤(10);
(9)将写磁盘缓存队列中的数据分别写到所对应的磁盘分片上;
(10)检查是否所有的标准数据块都存储完毕,如果是,则进入步骤(11),否则转到步骤(5);
(11)用户是否退出系统,如果是,则结束;否则,转到步骤(3)
本发明利用节点闲置的磁盘空间缓存已经播放的媒体数据,有效地增加网络上每个节点的缓存内容,使得媒体资源能够更加广泛的分布到网络上,增加系统的资源数量。由于网络上观看同一节目的节点都缓存有较多的媒体数据,网络上的用户节点在请求数据时能够尽量从其他节点获取到所需的数据,减少了向流媒体服务器的请求次数,从而极大的减轻流媒体服务器的压力。这样,就能够有效的解决传统点播系统中由于流媒体服务器压力过大达到其服务能力上限,不能支持更多用户观看的问题,提升点播系统能的扩展性,以便支持更多的用户使用。
附图说明
图1为本发明方法的流程示意图;
图2为磁盘分片示意图;
图3为写磁盘缓存队列的示意图;
图4为磁盘缓存空间使用情况示意图。
具体实施方式
下面结合附图和实例对本发明方法作进一步详细的说明。
如图1所示,本发明方法包括以下步骤:
(1)用户初始化磁盘缓存空间,在本机磁盘上指定缓存空间的大小以及路径。
缓存开始前,用户在本机磁盘上指定系统可以使用的磁盘空间的路径以及大小,路径和大小由用户本机磁盘当前使用状况决定。磁盘空间大小取值通常大于100MB。媒体数据将缓存到用户指定路径的磁盘上,并且缓存数据的总量不能超过用户指定的缓存空间的大小。
(2)格式化磁盘缓存空间,将整个磁盘缓存空间平均划分成若干分片,每一个分片叫做一个磁盘分片;
磁盘分片通常由分片状态来标识,状态为空闲表示未被使用,状态为已用表示正在被使用。然后将这些分片索引起来,以一个一个的分片为单位对磁盘缓存空间进行管理。例如图2所示,假设用户设置的缓存空间大小为200M,以100K为一个分片的大小,则该缓存空间可以被划分为200×1024÷100=2048块分片。系统对这2048块分片建立索引以进行管理。
(3)定期检查是否有数据需要被缓存,如果有,则进入步骤(4);否则转到步骤(11);
程序每间隔一段固定的时间就检查是否有数据要被缓存,检查的周期由硬件配置情况决定,一般取值为1-5秒。
(4)对需要缓存的媒体数据从时间入手,将其按照相等时间长度进行分片,每一片的数据定义为一个标准数据块,其中每个标准数据块的时间长度由电脑硬件的处理能力决定,一般取值为1-10秒。
(5)根据将要缓存的一个标准数据块的大小,查找磁盘缓存空间中是否存在一块或多块连续且状态为空闲的磁盘分片,并且这些分片的空间长度总和大于或等于一个标准数据块的长度,如果查找成功,则将该磁盘分片的状态改为已用,进入步骤(6);否则转入步骤(7)。
(6)将要缓存的这个标准数据块、所对应的磁盘分片的个数和分片的起始序号插入到写磁盘缓存队列末尾,进入步骤(8);
如图3所示,写磁盘缓存队列是内存中的一个结构链表。链表中的每个结构包含的内容是标准数据块、标准数据块所对应的磁盘分片的个数和分片的起始序号。
(7)删除磁盘上符合下述标准的、已缓存的标准数据块,返回步骤(5),具体删除标准如下;
当要删除磁盘上的数据时,根据公式λ=α×N+β×T计算现存磁盘上的所有标准数据块的被请求次数N与上次被请求的时间T的加权平均值,其中α,β为加权因子,分别由N与T的权重决定,并且α+β=1,0<α<1,0<β<1计算所得λ值表示一个标准数据块在网络上的稀缺程度。将对应的λ值最小的标准数据块从磁盘上删除掉,并且将被删除掉的标准数据块对应的磁盘分片状态重新置为空闲。
(8)检查写磁盘缓存队列是否已满,如果已满,进入步骤(9);否则转到步骤(10);
程序定期检查内存中的写磁盘缓存队列中的成员个数是否已经达到写磁盘缓存队列的上限值。该上限值是由内存大小以及磁盘读写速率决定的,一般取值60-100。如果已达上限,则转入步骤(9),否则,转到步骤(10),进行下一个标准数据块的缓存。
(9)将写磁盘缓存队列中的数据分别写到所对应的磁盘分片上;
写磁盘缓存队列已满,依次从队列头部移出队列成员,根据队列成员里记录的信息,将标准数据块写入到它所对应的磁盘分片上,直到写磁盘缓存队列为空为止;
(10)检查是否所有的标准数据块都存储完毕,如果是,则进入步骤(11),否则转到步骤(5);
(11)用户是否退出系统,如果是,则结束;否则,转到步骤(3)。
实例:
利用本发明所阐述的磁盘缓存方法,实验室提供了1个视频服务器,1个索引服务器以及10台普通PC机,PC机的硬件配置如下:
  机器名   CPU   内存   硬盘   网络带宽
  视频服务器   PIIII 2.0G   2G   300G   100M
  索引服务器   PIIII 2.0G   2G   40G   100M
  PC 1-10   PIIII 1.7G   256M   40G   10M
PC1-10分别称为节点1、节点2……节点10。节点3在PC3上指定c:\a.temp为其磁盘缓存空间,其大小指定为200M。程序将这200M空间平均划分成2048片,则每一片的大小为200×1024÷2048=100K。程序间隔2秒后检查到有数据需要被缓存,将该待缓存数据以一秒为基本单位进行分片,有1个标准数据块,此时节点3的磁盘缓存空间使用情况如图4所示,1-2042块磁盘分片均已被用来缓存媒体数据,该标准数据块长度为143KB,则查找磁盘缓存空间,发现有两个连续的磁盘分片2042与2043,他们空间长度总和为200K,大于该标准数据块的长度143K,所以将2042与2043号磁盘分片状态修改成已使用,并且将该标准数据块、对应的磁盘分片的个数2和起始序号2042作为一个队列成员插入到写磁盘缓存队列末尾。之后检查写磁盘缓存队列里已存在的成员个数,如果达到上限值60,则依次从队列头部移出一个个队列成员,根据队列成员里记录的信息,将时间槽写入到它所对应的磁盘分片上,直到写磁盘缓存队列为空为止,然后判断是否所有的标准数据块都处理完毕,进行下一次数据缓存。

Claims (1)

1、一种用于对等网络视频点播系统的磁盘缓存方法,其步骤包括:
(1)用户初始化磁盘缓存空间,在本机磁盘上指定缓存空间的大小以及路径;
(2)格式化磁盘缓存空间,将整个磁盘缓存空间平均划分成若干分片,每一个分片为一个磁盘分片;
(3)定期检查是否有数据需要被缓存,如果有,则进入步骤(4);否则转到步骤(11);
(4)将需要缓存的媒体数据按照相等时间长度进行分片,每一片数据称之为一个标准数据块;
(5)根据将要缓存的一个标准数据块的大小,查找磁盘缓存空间中是否存在一块或多块连续且状态为空闲的磁盘分片,并且这些分片的空间长度总和大于或等于一个标准数据块的长度,如果查找成功,则将该磁盘分片的状态改为已用,进入步骤(6);否则转入步骤(7);
(6)将要缓存的这个标准数据块、所对应的磁盘分片的个数和分片的起始序号插入到写磁盘缓存队列末尾,进入步骤(8);
(7)根据公式λ=α×N+β×T,计算现存磁盘上的所有标准数据块的被请求次数N与上次被请求时间T的加权平均值,其中α,β为加权因子,α+β=1,0<α<1,0<β<1,将对应的λ值最小的标准数据块从磁盘上删除掉,并且将被删除掉的标准数据块对应的磁盘分片状态重新置为空闲;返回步骤(5);
(8)定期检查内存中的写磁盘缓存队列中的成员个数是否已经达到写磁盘缓存队列的上限值,该上限值是由内存大小以及磁盘读写速率决定,如果已满,进入步骤(9);否则转到步骤(10);
(9)将写磁盘缓存队列中的数据分别写到所对应的磁盘分片上;
(10)检查是否所有的标准数据块都存储完毕,如果是,则进入步骤(11),否则转到步骤(5);
(11)用户是否退出系统,如果是,则结束;否则,转到步骤(3)。
CNB200610019526XA 2006-06-30 2006-06-30 一种用于对等网络视频点播系统的磁盘缓存方法 Expired - Fee Related CN100477787C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB200610019526XA CN100477787C (zh) 2006-06-30 2006-06-30 一种用于对等网络视频点播系统的磁盘缓存方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB200610019526XA CN100477787C (zh) 2006-06-30 2006-06-30 一种用于对等网络视频点播系统的磁盘缓存方法

Publications (2)

Publication Number Publication Date
CN1874490A CN1874490A (zh) 2006-12-06
CN100477787C true CN100477787C (zh) 2009-04-08

Family

ID=37484712

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB200610019526XA Expired - Fee Related CN100477787C (zh) 2006-06-30 2006-06-30 一种用于对等网络视频点播系统的磁盘缓存方法

Country Status (1)

Country Link
CN (1) CN100477787C (zh)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094183B (zh) * 2007-07-25 2011-12-07 杭州华三通信技术有限公司 一种缓存管理方法及装置
CN100568957C (zh) * 2007-10-17 2009-12-09 华中科技大学 一种基于p2p技术的视频点播节目缓存方法
CN101635734A (zh) * 2008-07-22 2010-01-27 上海聚力传媒技术有限公司 非易失性存储介质上的下载数据存储管理方法及装置
CN101551781B (zh) * 2009-05-22 2011-03-30 中国科学院计算技术研究所 一种p2p视频点播系统中的硬盘缓存替换方法
CN101645846B (zh) * 2009-09-02 2011-10-26 中兴通讯股份有限公司 一种路由交换设备及其数据缓存的方法
CN102054031A (zh) * 2010-12-22 2011-05-11 上海锐起信息技术有限公司 无盘系统中实现网络磁盘本地写缓存控制的方法
CN102222094B (zh) * 2011-06-08 2014-06-04 上海聚力传媒技术有限公司 一种用于基于资源利用率淘汰资源文件的设备和方法
CN102256163B (zh) * 2011-08-10 2013-06-05 中山大学深圳研究院 一种基于p2p的视频点播系统
CN102663086B (zh) * 2012-04-09 2014-05-07 华中科技大学 一种数据块索引的检索方法
CN102638412B (zh) * 2012-05-04 2015-01-14 杭州华三通信技术有限公司 一种缓存管理方法及装置
CN103051975A (zh) * 2012-12-31 2013-04-17 乐视网信息技术(北京)股份有限公司 一种p2p缓存数据淘汰方法
CN103051977A (zh) * 2013-01-11 2013-04-17 乐视网信息技术(北京)股份有限公司 一种处理p2p缓存数据的方法
CN103152620B (zh) * 2013-02-27 2016-05-11 四三九九网络股份有限公司 动态加载不同在线视频的方法和系统
CN103150385A (zh) * 2013-03-15 2013-06-12 杭州智屏软件有限公司 基于内存的实时视频录制缓存技术
CN104298467B (zh) * 2013-07-17 2018-12-14 合一网络技术(北京)有限公司 一种p2p缓存文件管理方法和装置
CN104717569A (zh) * 2013-12-13 2015-06-17 乐视网信息技术(北京)股份有限公司 一种数据淘汰方法及装置
CN104238960B (zh) * 2014-08-28 2017-11-24 华为技术有限公司 硬盘格式化方法及基于硬盘的数据块存储方法和装置
CN109800089A (zh) * 2019-01-24 2019-05-24 湖南国科微电子股份有限公司 一种缓冲资源分配方法、模块以及电子设备
CN111858399B (zh) * 2019-04-30 2023-11-24 贵州白山云科技股份有限公司 一种数据传输方法、装置、计算机可读存储介质和计算机设备
CN111385643B (zh) * 2020-03-20 2022-04-05 北京字节跳动网络技术有限公司 存储数据的方法、装置、电子设备及存储介质

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
P2VoD:Providing Fault TolerantVideo-on-DemandStreamingin Peer-to-Peer Environment. Tai T.Do.communications, 2004 IEEE International Conference on,Vol.Vol.3 . 2004
P2VoD:Providing Fault TolerantVideo-on-DemandStreamingin Peer-to-Peer Environment.Tai T.Do.communications,2004 IEEE International Conference on,Vol.3. 2004 *
基于P2P模式的新型视频点播系统. 魏苏林等.微计算机信息,第2005年第21卷第12-3期. 2005
基于P2P模式的新型视频点播系统. 魏苏林等.微计算机信息,第2005年第21卷第12-3期. 2005 *
基于协作缓存的VOD服务器端Cache设计. 张潇等.计算机工程与应用,第2002年19期. 2002
基于协作缓存的VOD服务器端Cache设计. 张潇等.计算机工程与应用,第2002年19期. 2002 *

Also Published As

Publication number Publication date
CN1874490A (zh) 2006-12-06

Similar Documents

Publication Publication Date Title
CN100477787C (zh) 一种用于对等网络视频点播系统的磁盘缓存方法
JP4663718B2 (ja) ブロックマップキャッシングおよびvfsスタック可能なファイルシステムモジュールに基づく分散型のストレージアーキテクチャ
CN107547653B (zh) 一种分布式文件存储系统
JP5208446B2 (ja) ネットワークデータストレージシステム
CN100568957C (zh) 一种基于p2p技术的视频点播节目缓存方法
CN103647797A (zh) 一种分布式文件系统及其数据访问方法
CN101247417B (zh) 双层元数据处理系统及方法
MXPA06006332A (es) Sistema de archivos virtual.
MXPA06006330A (es) Sistema de transferencia de datos sincronizado.
JP2004185618A (ja) ピアツーピア型コンテンツブロードキャスト転送メカニズム
CN102521279A (zh) 一种流媒体文件播放方法、系统及播放器
CN102855294A (zh) 一种智能哈希数据布局方法、集群存储系统及其方法
CN102004760A (zh) 多媒体文件的存储和播放方法、相关装置及系统
TW201234194A (en) Data stream management system for accessing mass data
CN106656593A (zh) 流媒体直播录制冗余热备的方法及系统
CN102256163B (zh) 一种基于p2p的视频点播系统
CN101330594B (zh) 对等网络视频点播媒体的存储方法及其媒体点播系统
TWI484335B (zh) Cached data processing method, processing system, and means
CN107659626B (zh) 面向临时元数据的分离存储方法
CN103442034A (zh) 一种基于云计算技术的流媒体服务方法和系统
CN101557407B (zh) 高清媒体p2p点播数据传输存储方法
Duan et al. A high‐performance distributed file system for large‐scale concurrent HD video streams
Qiang et al. A Hyper-converged video management system based on object storage
CN113596506B (zh) 直播缓存的性能优化方法、系统、电子装置及存储介质
Zhang et al. RELookup: providing resilient and efficient lookup service for P2P-VoD streaming

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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090408

Termination date: 20110630