CN101521553A - 对等网络视频点播***中用于提供数据分片的方法和装置 - Google Patents
对等网络视频点播***中用于提供数据分片的方法和装置 Download PDFInfo
- Publication number
- CN101521553A CN101521553A CN200810034137A CN200810034137A CN101521553A CN 101521553 A CN101521553 A CN 101521553A CN 200810034137 A CN200810034137 A CN 200810034137A CN 200810034137 A CN200810034137 A CN 200810034137A CN 101521553 A CN101521553 A CN 101521553A
- Authority
- CN
- China
- Prior art keywords
- data fragmentation
- data
- page
- memory device
- asked
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的方法和装置:当终端设备接收到来自其他对等终端设备的数据分片请求消息后,该终端设备首先查找缓存中是否存在该数据分片,若缓存中存在该数据分片,则直接将该数据分片从缓存中读取并将其发送给其他对等终端设备;若缓存中不存在被请求的数据分片,该终端设备再查找硬盘,将与所请求的数据分片相关的一个或多个数据分片从硬盘中读入缓存中,并将所请求的数据分片发送给其他对等终端设备,从而减少了磁盘的IO次数,提高了磁盘的使用寿命,提升了最终的用户体验。
Description
技术领域
本发明涉及通信***中的终端设备为其他对等终端设备提供数据分片的方法和装置,尤其涉及基于点到点协议的点播***中的终端设备为其他对等终端设备提供数据分片的方法和装置。
背景技术
流媒体技术作为在互联网传播以视频为主的多媒体信息的主要方式,在最近几年随着国内外互联网用户带宽的普遍提高而得到迅速的发展。随着互联网用户对多媒体信息的需求增大,视频点播服务(Video on Demand,VOD)的实现越发受到关注。
视频点播服务可以使用户观看服务商所提供的影片而不受时间的限制,大大方便了用户的使用。然而传统的视频点播服务主要基于服务器/客户端(Server/Client)的模式运营。多媒体数据(例如,视频数据),主要集中存储在服务器端,用户通过网页的视频索引与相应服务器建立连接并下载视频数据,达到在线观看的目的。这种模式一定程度上实现了视频点播服务,然而,在这种服务器/客户端模式下,服务器所能承载的用户数量非常有限,当用户规模扩大后,就须要添加服务器及相应的服务器端带宽。而这些不仅需要高昂的资金,也很难适应用户规模指数型的增长,对于用户数量短时突发式的增加也可能会使服务质量严重下降。所以我们需要一种可扩展性能更好的视频点播服务***以满足服务需求的增长。
对等网络作为一种新型的网络传输技术,在这几年发展迅速,对等网络技术逐渐在流媒体服务方面得到应用,并体现出了较好的效果。该技术在流媒体方面的应用使得每个用户在线观看影片同时,也可以上传数据以满足其他用户的视频数据需求。对于对等网络技术在VOD方面的应用,由于点播***的特点,需要使用用户的一定硬盘空间存储视频数据,以供给其他用户。如果在其他对等终端设备请求数据分片时,直接从硬盘中读取所请求的数据分片,这样不但会造成较长的响应时间,而且,由于VOD客户端的磁盘IO过于频繁,会降低磁盘的使用寿命,而且过度频繁的IO会消耗用户的大部分资源,直接影响到最终的用户体验。
发明内容
鉴于现有技术存在上述问题,本发明提供了一种在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的方法和装置。具体地,在基于点对点传输协议的视频点播***中的某一终端设备接收到来自其他对等终端设备的数据分片请求消息后,该终端设备首先查找缓存中是否存在该数据分片,若缓存中存在该数据分片,则直接将该数据分片从缓存中读取并将其发送给其他对等终端设备(即,数据分片请求者);若缓存中不存在被请求的数据分片(即,缓存未命中)时,该终端设备再查找硬盘,将与所请求的数据分片相关的一个或多个数据分片从硬盘中读入缓存中,并将所请求的数据分片发送给其他对等终端设备(即,数据分片请求者),从而减少了磁盘的IO次数,提高了磁盘的使用寿命,提升了最终的用户体验。
根据本发明的第一方面,提供了一种在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的方法,其中,包括以下步骤:接收来自所述其他对等终端设备的数据分片请求消息;根据所述数据分片请求消息,判断第二存储设备中是否包括所述数据分片请求消息所请求的数据分片;若所述第二存储设备中包括所请求的数据分片,则将该数据分片发送给所述其他对等终端设备;若所述第二存储设备中不包括所请求的数据分片,则将该所请求的数据分片以及与所请求的数据分片相关的一个或多个数据分片从第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备。
根据本发明的第二方面,提供了一种在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的提供装置,其中,包括:接收装置,用于接收来自所述其他对等终端设备的数据分片请求消息;第一判断装置,用于根据所述数据分片请求消息,判断第二存储设备中是否包括所述数据分片请求消息所请求的数据分片;发送装置,用于若所述第二存储设备中包括所请求的数据分片,则将该数据分片发送给所述其他对等终端设备;读取装置,用于若所述第二存储设备中不包括所请求的数据分片,则将该所请求的数据分片以及与所请求的数据分片相关的一个或多个数据分片从第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备。
采用本发明的技术方案,当基于点对点传输协议的一个视频点播***中的某一终端设备接收到来自其他对等终端设备的数据分片请求消息后,该终端设备首先查找缓存,若缓存中存在所请求的数据分片时,则直接从缓存中读取所请求的数据分片,并将其发送给其他对等终端设备(即,数据分片请求者);若缓存不存在所请求的数据分片时,该终端设备再查找硬盘,将与所请求的数据分片相关的一个或多个数据分片从硬盘中读入缓存中,并将所请求的数据分片发送给其他对等终端设备(即,数据分片请求者),从而减少了磁盘的IO次数,提高了响应速度,最终改善了用户体验。
附图说明
通过参照附图阅读以下所作的对非限制性实施例的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1为根据本发明的一个具体实施方式的基于点对点的网络拓扑图;
图2为根据本发明的一个具体实施例的,对多媒体文件的划分;
图3为在基于点对点传输协议的终端设备1中用于为对等终端设备2提供数据文件的数据分片的***方法流程图;
图4为根据本发明的一个具体实施例的步骤S13的方法流程图;
图5示出了实验使用P2P点播视频***客户端程序根据该请求序列模拟得到实验结果的第一实施例和第二实施例的缓存命中率与缓存大小之间关系的比较图;
图6为模拟得到实验结果的第一实施例和第二实施例的硬盘IO时间与缓存大小之间关系的比较图;
图7为模拟得到实验结果的分别在热门频道和冷门频道第一实施例和第二实施例的缓存命中率与缓存大小之间关系的比较图;
图8为在基于点对点传输协议的终端设备1中用于为对等终端设备2提供数据文件的数据分片的装置框图;
图9为根据本发明的一个具体实施例的读取装置103的子装置框图。
在附图中,相同和相似的附图标记代表相同或相似的装置或方法步骤。
具体实施方式
以下参照附图来对本发明进行详细描述:
下文所涉及的多媒体文件包括但不限于视频文件,音频文件,图片等,此处仅以多媒体文件作为一个示例,也可以是普通的数据文件等。
图1为本发明的网络拓扑示意图,图1中共示出了4个终端设备,分别为终端设备1,终端设备2,终端设备3和终端设备4。尽管图1中仅示出了4个终端设备,本领域技术人员应能理解,在本发明的对等网络中可包含N个终端设备,其中,N大于等于2。
下文将以终端设备1为中心对本发明的技术方案进行详细说明,因此,对应于终端设备1,相应地,终端设备2即为对等终端设备2,终端设备3即为对等终端设备3,终端设备4即为对等终端设备4。
为简明起见,下文的描述将主要针对终端设备1接收来自对等终端设备2的数据分片请求消息,并根据该数据分片请求消息进行相应的处理。本领域技术人员应能理解,本发明的技术方案同样适用于终端设备1接收来自对等终端设备3或对等终端设备4的数据分片请求消息,并根据该数据分片请求消息进行相应的处理的情形,在此不作赘述。
图2示出了根据本发明的一个具体实施例的,对多媒体文件的划分。如图2所示,以多媒体文件的大小为265M为例(此处仅为一个示例),则图2中的原始数据文件的大小即为265M,其中,原始数据文件的大小即为该完整文件的大小。本领域技术人员理解,对等终端设备2向终端设备1请求数据的单位为分片,优选地,分片的大小可以为16K。此外,定义缓存存取的粒度为页面(也即分片集合),页面包含整数个数(n1)的分片,优选地,以下以每个页面包含12个分片为例进行说明,也即,页面的大小为192K(12×16K)。此外,可以理解,不同的***中页面包含的数据分片的个数的优化值可能不同,可以根据不同的***进行变化。最后,定义磁盘存取的粒度为块(block),也即,一个完整的多媒体文件,可以按照块的大小分成若干大小相等的块。一个块中包含整数个数(n2)的页面。在图1中,原始数据文件的最后一段数据的大小不足一块,则在按照块划分该原始数据文件时,最后一块按块将其补齐为一个完整的块。
第一实施例
首先,要对***进行初始化。初始化n,n为算法用到的阈值,表示算法会考察的页面个数,算法会考察的页面为请求的数据分片所属页面之前的连续的页面。
初始化n1和n2,n1为一个页面包括的分片数目,n2为一个块包括的页面数目;
初始化n个元素的阈值数组a1,a2,...,an,其中,被请求的数据分片所在页前的第k页的访问计数的阈值为ak,
初始化n个元素的预取数组b1,b2,...,bn,其中,如被请求的数据分片所在页前的第k页的已被请求次数超过阈值ak,则除被请求的数据分片所属目标页面外,还应再多预取bk个其后续页。
在完成了上述的初始化的步骤后,***开始处理数据分片请求,如图3所示。图3描述了在基于点对点传输协议的终端设备1中用于为对等终端设备2提供数据文件的数据分片的***方法图。
在步骤S1O中,终端设备1接收来自对等终端设备2(的数据分片请求消息。该数据分片请求消息必要地包括所请求的数据分片的指示信息,如该数据分片的标识信息(ID)等,此外,该数据分片请求消息中还应包括该数据分片请求消息的目的地址(终端设备1的地址)和源地址(对等终端设备2的地址),以便终端设备1按照该数据分片请求消息中包括的源地址将所请求的数据分片发送给对等终端设备2中。
终端设备1在接收到来自对等终端设备2的数据分片请求消息后,在步骤S11中,终端设备1根据该数据分片请求消息,判断第二存储设备中是否包括该数据分片请求消息所请求的数据分片。进一步地,第二存储设备包括存取速度较快但存储容量有限的存储器,例如缓存。这是本领域技术人员应能理解的,在此不作赘述。下面将以缓存作为第二存储设备对本发明的技术方案进行描述。
具体地,终端设备1可以通过映射表等获取对等终端设备2所请求的数据分片所属的页面编号(用PageID表示),并根据该PageID判断该页面是否在缓存中。进一步地,每个页面(即,分片集合)都有一个唯一的页面编号,每个页面中的各个分片都有一个唯一的分片编号,也即,在同一个多媒体数据中,页面的编号和分片的编号都是唯一的,但是,多个分片可以同属于一个页面。优选地,终端设备1中存储有一张映射表,该映射表中存储了分片与页面的对应关系。在本实施例中,按照分片的编号顺序,将相邻的每12个连续的分片划分为一个页面。
若步骤S11中,判断结果为缓存中包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则进入步骤S12,终端设备1将该请求的数据分片发送给所述请求的对等终端设备2,并将该所请求的数据分片所在的页面的已被请求次数增加一次。
若步骤S11中,判断结果为缓存中不包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则进入步骤S13,将该所请求的数据分片以及与所请求的数据分片相关的一个或多个数据分片从第一存储设备读入所述缓存中,并将所请求的数据分片发送给对等终端设备2。进一步地,第一存储设备包括硬盘(即磁盘)或其他存取速度较慢的海量存储装置。这是本领域技术人员应能理解的,在此不作赘述。下面将以磁盘作为第一存储设备对本发明的技术方案进行描述。
以下参照图4,对步骤S13进行详细的描述。
在步骤S130中,终端设备1首先判断该请求的数据分片是否存储在硬盘中。一般地,在目录服务器(tracker)中存储了在该目录服务器上登录的所有对等终端设备的IP地址和端口号及其拥有的资源,因此,通过向目录服务器进行查询,请求数据分片的对等终端设备(例如对等终端设备2)知晓哪些对等终端设备具有其所请求的数据分片。对等终端设备2通过查询目录服务器,获悉终端设备1具有其所要请求的数据分片。但是,也不排除这样的情况,即终端设备1未及时向目录服务器更新其具有资源变化的情况,即终端设备1未将被请求的目标分片已擦除的消息及时汇报给目录服务器,而此时该分片请求消息已经到达终端设备1,因此,在终端设备1的硬盘中未搜索到该目标分片,因此进入S138,放弃本次响应,再进入步骤S14,判断是否退出***。
若步骤S130中判断该目标分片在硬盘中时,则终端设备1将所请求的数据分片所在的页面(以下简称本页面)读入到缓存中,除此之外,终端设备1还将本页面之后的连续若干个页面(以下简称后继页面)一起预读入缓存中。预读的页面个数基于这样的假设:如果本页面之前的页面(以下简称先前页面)被请求的次数很多,则根据用户对多媒体文件播放的连续性,其对数据分片请求也应具有连续性,则其后继页面被请求的概率也较大,因此将更多后继页面作为预读页面读入缓存。
具体地,***进入步骤S131,初始化预取页面的个数和将要考察哪一个先前页面。本实施例中初始的预读页面的个数为0,将要考察的先前页面为本页面前的第1页,其页面编号为PageID-i,i=1。例如,可以将标识预读页面的个数的预取页面计数器(用Sum表示)初始化为0,将用于标识要考察的页面属于目标页面前面第几个页面的循环计数器(用i表示)初始化为1。
然后进入步骤S132,判断已考察的先前页面的个数是否未超过考查页面数的算法阈值n,并判断本页面前的第1个页面的已被请求次数是否已经超过该先前页面的已被请求次数阈值a1。也即,判断是否同时满足条件i<n和条件CounterPageID-i>ai,其中CounterPageID-i表示目标页面先前的第i个页面的已经被请求的次数(也即访问该页面的次数)。若两个条件同时满足,则进入步骤S133。若两个条件不同时满足,则进入步骤S134。
在步骤S133中,将预读的页面的个数增加b1,即和本页面一起预取的本页面的后继页面的页数将增加b1页,其中b1为本页面前的第1页所对应的应多预取的后续页的页数。也即,预取页面计数器Sum=Sum+b1。而后,设置将要考察的先前页面的编号为PageID-i,i=2,即考察本页面前的第2页,回到步骤S132重新开始循环,具体地:
若满足S132的条件,即已考察的先前页面的个数不超过考查页面数的算法阈值n,同时本页面前的第2个页面的已被请求次数超过该先前页面的已被请求次数阈值a2。则继续转到步骤S133,预存页面的页数将再增加本页面前的第2个页面所对应增加的预取页数b2,也即此时预取的页面数为b1+b2,并设置将要考察的先前页面的编号为PageID-i,i=3,即考察本页面前的第3页,回到步骤S132重新开始循环。依此类推,循环执行步骤S132和S133,直至S132的条件不满足,也即:
判断以下两种情形至少有一种发生时,就不需要转到S133,而转至步骤S134。
1)考察的先前页面的页数超过了算法所要考察的块中的页面的个数,也即i>n;
2)将要考察的先前页面的被请求次数小于其被请求次数的阈值,也即CounterPageID-i<ai;
步骤S134决定将要预读的后续页面的页数,其中预读的后续页面的范围不超过包含了目标页面的块的范围。即:若上述计算出的预存页面的页数小于本页面后的在该块中所有页面的个数,则进入步骤S136,预读的页面个数为上述计算出的预存页面的页数为b1+b2+...+bk,其中第k个页面为在目标页面之前的第k个页面,且该页面为最后一个满足对该页面的读取的次数超过了为该页面设定的访问阈值的页面,例如,目标页面为PageID为6,为第6个页面,则目标页面之前的第4个页面为第2个页面,也即,第3(目标页面之前的第3个页面)、第4(目标页面之前的第2个页面)和第5(目标页面之前的第1个页面)均满足对其访问的次数超过阈值,而第1个页面(也即目标页面之前的第5个页面)的访问的次数未超过该阈值。
若上述计算出的预存页面的页数大于本页面后的在该块中所有页面的个数,则进入步骤S135,预读的页面的为在该块中在本页面后的所有页面,也即其中表示取该数值的整数部分(也即向下取整),可以得到该目标页面所在的块标识。而得到该页面所在块中的最后一个页面的编号,与所述目标页面的编号相减,得到了最多可以预读的页面的个数,例如,以将一个数据文件按照3Mb的大小划分为一个块,而页面的大小为包括12个分片,一个分片的大小为16k,则每个块中包含页面16个,也即n2=16。假设页面的序号是按照文件的顺序从文件头部开始依次编号,例如,对于一个目标页面的编号为37,也即PageID=37,则该目标页面所在块的编号为目标页面所属的块号,得到目标页面中所属的块中的最后一个页面的编号,则为最多可以预读的页面的个数。然后进入步骤S136。
步骤S136,将被请求数据所属页面及在步骤S134或步骤S135中决定的预读的后续页面写入缓存中,并将写入缓存的各个后续页面的被请求次数递增1,表示其被请求了一次,而后进入步骤S137;
步骤S137,根据数据分片请求消息的源地址,将所请求的数据分片发送至请求该数据分片的对等终端设备2,然后进入步骤S14;
步骤S14,判断是否退出***,若是,结束,否则转步骤S10,接收来自对等终端设备2的数据分片请求消息。
优选地,每个页面的被请求次数定期重置为零,以实时地表明其在一段时间内被请求下载的情况。
在一个变化的实施例中,步骤S137的发送数据分片的步骤与S131至S136的预取多个数据分片的步骤之间也可以是并行的。也即将目标分片所在的页面以及与其相关的一个或多个页面从磁盘读入缓存的同时,将被请求的目标数据分片发送给对等终端设备2。此处的顺序仅为一个示例。
第二实施例
以下,参照图3对本发明的第二实施例进行描述,其中,相同和相似的附图标记表示相同和相似的方法步骤。
首先,要对***进行初始化。初始化n,n为算法用到的阈值,表示算法会考察的页面个数,算法会考察的页面为请求的数据分片所属页面之前的连续的页面。
初始化n1和n2,n1为一个页面包括的分片数目,n2为一个块包括的页面数目;
在完成了上述的初始化的步骤后,***开始处理数据分片请求,如图3所示。图3描述了在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的***方法图。
在步骤S10’中,终端设备1接收来自对等终端设备2的数据分片请求消息。该数据分片请求消息必要地包括所请求的数据分片的指示信息,如该数据分片的标识信息(ID)等,此外,该数据分片请求消息中还应包括该数据分片请求消息的目的地址(终端设备1的地址)和源地址(对等终端设备2的地址),以便终端设备1按照该数据分片请求消息中包括的源地址将所请求的数据分片发送给对等终端设备2中。
终端设备1在接收到来自对等终端设备2的数据分片请求消息后,在步骤S11’中,终端设备1根据该数据分片请求消息,判断第二存储设备中是否包括该数据分片请求消息所请求的数据分片。进一步地,第二存储设备包括存取速度较快但存储容量有限的存储器,例如缓存。这是本领域技术人员应能理解的,在此不作赘述。下面将以缓存作为第二存储设备对本发明的技术方案进行描述。
具体地,终端设备1可以通过映射表等获取对等终端设备2所请求的数据分片所属的页面编号(用PageID表示),并根据该PageID判断该页面是否在缓存中。进一步地,每个页面(即,分片集合)都有一个唯一的页面编号,每个页面中的各个分片都有一个唯一的分片编号,也即,在同一个多媒体数据中,页面的编号和分片的编号都是唯一的,但是,多个分片可以同属于一个页面。优选地,终端设备1中存储有一张映射表,该映射表中存储了分片与页面的对应关系。在本实施例中,按照分片的编号顺序,将相邻的每12个连续的分片划分为一个页面。
若步骤S11’中,判断结果为缓存中包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则终端设备1将该请求的数据分片发送给所述请求的对等终端设备2。
若步骤S11’中,判断结果为缓存中不包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则进入步骤S13’,将所请求的数据分片所在的页面的中的所有数据分片从第一存储设备读入所述缓存中,并将所请求的数据分片发送给对等终端设备2。进一步地,第一存储设备包括硬盘(即磁盘)或其他存取速度较慢的海量存储装置。这是本领域技术人员应能理解的,在此不作赘述。下面将以磁盘作为第一存储设备对本发明的技术方案进行描述。
在一个变化的实施例中,***中不需要对数据分片划分页面,则步骤S10’之前的初始化的步骤均可以省略。
在步骤S11’,终端设备直接根据该数据分片请求消息中的数据分片的标识信息(ID)判断该数据分片的ID是否在缓存中。
若步骤S11’中,判断结果为缓存中不包含所述数据分片请求消息所请求的数据分片,则进入步骤S13’,将所请求的目标数据分片以及目标分片之前连续的n3个数据分片和目标分片之后连续的n4个数据分片。其中n3和n4是***预先配置的,也可以根据***的实际运营情况进行调整。
图5示出了实验使用P2P点播视频***客户端程序,即***中的普通节点,捕获数据该节点所收到的真实视频数据请求序列,并根据该请求序列模拟得到实验结果。视频数据请求序列共有约200,000条以及约50,000条两种数据请求规模,并分别对应于在热门频道(即同时在线人数较多的频道)及冷门频道捕获数据请求。
方法1(也即对应了第一实施例),根据历史记录(也即目标页面之前的一个或多个页面的请求的情况),预取所请求的目标数据分片所属的目标页面和多个目标页面之后的连续的页面;方法2(也即对应了第二实施例)仅预取包含请求的数据分片所属的页面中的所有分片。并均以LRU(Least Recently Used,最近最少使用算法,当内存剩余的可用空间不够时,缓冲区尽可能的先保留使用者最常使用的数据,换句话说就是优先清除“较不常使用的数据”,并释放其空间)作为缓存淘汰策略。另外效果分析使用了量:Hit Rate,也即请求序列的缓存命中率;Time of IO,也即硬盘的IO时间。
图5中可以得到,当缓存大小超过30MB时,方法1的缓存命中率高于方法2的缓存命中率,分析其原因是因为方法1根据页面的历史访问信息进行页面的预取,如果请求的数据分片所属页面的前面若干页面也在缓存中,则在很大概率上用户的行为是没有拖动的连续播放,因此该页面及其后续页面在下一段时间内被请求的概率增大。因此将其预取到缓存中可以提高缓存的命中率,节省磁盘的IO时间。实验中使用的阈值数组a=4,4,4,...,4,预取数组b=1,1,1,1,1,..,1。在实际的***中,可以灵活的定义阀值数组和预取数组的值,以达到更高的优化效果。
但是,方法2对于缓存不大的情况下,有其优越性。具体地,分析图5前段,也即缓存的大小小于30MB时,方法1的缓存命中率低于方法2,这是因为方法1的预取方法读入的大量页面,由于缓存空间过小使得这些页面还未被访问就被换出缓存中。当片段请求到达时,该片断所在的页面已不在缓存中。
图6的结果显示,在缓存较大时,方法1实际的IO时间远低于方法2,有效地节省了磁盘的IO次数。图中,硬盘IO时间的单位为毫秒,图中的曲线的纵坐标表示所有200,000条数据请求的IO时间之和。分析其原因,寻道的操作属于机械操作,在磁盘IO时间中占有相当大的比例,这种预取策略(方法1)大大节省了磁盘IO中的寻道时间,进而大大节省了实际的磁盘IO时间;
图7则显示了在热门频道和冷门频道中方法1及方法2的缓存命中率随缓存大小的变化情况。这里可以看到无论什么样的频道,当缓存大小大于30MBytes时方法1的缓存命中率都优于方法2。根据前面图6的分析,可以知道方法1的IO时间开销同样优于方法2。另外图中所示冷频道中命中率高于热频道,原因在于冷频道的视频数据的请求序列具有更高的连续性,使得预取的效果更明显。
根据上述分析,由于缓存命中率和硬盘IO时间开销直接影响用户体验,本发明所提供的分页面缓存及根据历史访问信息进行预取的方法,无论在热门频道还是在冷门频道在缓存大小适中时,均能改善缓存命中率以及硬盘IO时间,因而提高用户体验。
第三实施例
以下,参照图8并结合图1对本发明的第二方面的各个具体实施例进行描述,其中,对图3、图4所作说明在此一并作为参考。图8所示的提供装置10位于以图1所示终端设备1为例的各个终端设备中,其中,包括接收装置100、第一判断装置101、发送装置102和读取装置103。
图2示出了根据本发明的一个具体实施例的,对多媒体文件的划分。如图2所示,以多媒体文件的大小为265M为例(此处仅为一个示例),则图2中的原始数据文件的大小即为265M,其中,原始数据文件的大小即为该完整文件的大小。本领域技术人员理解,对等终端设备2向终端设备1请求数据的单位为分片,优选地,分片的大小可以为16K。此外,定义缓存存取的粒度为页面(也即分片集合),页面包含整数个数(n1)的分片,优选地,以下以每个页面包含12个分片为例进行说明,也即,页面的大小为192K(12×16K)。此外,可以理解,不同的***中页面包含的数据分片的个数的优化值可能不同,可以根据不同的***进行变化。最后,定义磁盘存取的粒度为块(block),也即,一个完整的多媒体文件,可以按照块的大小分成若干大小相等的块。一个块中包含整数个数(n2)的页面。在图1中,原始数据文件的最后一段数据的大小不足一块,则在按照块划分该原始数据文件时,最后一块按块将其补齐为一个完整的块。
首先,第一初始化装置(图8中未示出)要对***进行初始化。第一初始化装置首先初始化n,n为算法用到的阈值,表示算法会考察的页面个数,算法会考察的页面为请求的数据分片所属页面之前的连续的页面。
第一初始化装置再初始化n1和n2,n1为一个页面包括的分片数目,n2为一个块包括的页面数目;
第一初始化装置接着初始化n个元素的阈值数组a1,a2,...,an,其中,被请求的数据分片所在页前的第k页的访问计数的阈值为ak,
第一初始化装置还要初始化n个元素的预取数组b1,b2,...,bn,其中,如被请求的数据分片所在页前的第k页的已被请求次数超过阈值ak,则除被请求的数据分片所在目标页面外,还应再多预取bk个其后续页。
第一初始化装置在完成了上述的初始化的步骤后,***开始处理数据分片请求,如图8所示。图8描述了在基于点对点传输协议的终端设备1的用于为对等终端设备2提供数据文件的数据分片的提供装置的装置框图。
首先,接收装置100接收来自对等终端设备2的数据分片(目标数据分片)请求消息。该数据分片请求消息必要地包括所请求的数据分片的指示信息,如该数据分片的标识信息(ID)等,此外,该数据分片请求消息中还应包括该数据分片请求消息的目的地址(终端设备1的地址)和源地址(对等终端设备2的地址),以便终端设备1按照该数据分片请求消息的源地址将请求的数据分片发送到对等终端设备2中。
接收装置100在接收到来自对等终端设备2数据分片请求消息后,将该接收到的数据分片提供给第一判断装置101。第一判断装置101根据该数据分片请求消息,判断第二存储设备中是否包括该数据分片请求消息所请求的数据分片。进一步地,第二存储设备包括存取速度较快但存储容量有限的存储器,例如缓存。这是本领域技术人员应能理解的,在此不作赘述。下面将以缓存作为第二存储设备对本发明的技术方案进行描述。
具体地,第一判断装置101还进一步包括提取装置1010(图中未示出),用于从所述数据分片请求消息中提取出数据分片指示信息。我们理解,在数据分片请求消息中除了指示数据分片的分片ID外,还包括还应包括该请求消息的目的地址(终端设备1)和源地址(对等终端设备2),所以需要从数据分片请求消息中提取出数据分片指示信息(如分片ID)。然后,第二判断装置1011可以通过映射表等获取到请求的该数据分片所在的页面编号(用PageID表示),并根据该PageID判断该页面是否在缓存中,进一步地,每个页面(即,分片集合)都有一个唯一的页面编号,每个页面中的各个分片都有一个唯一的分片编号,也即,在同一个多媒体数据中,页面的编号和分片的编号都是唯一的,但是,多个分片可以同属于一个页面。优选地,终端设备1中存储的映射表中存储了分片与页面的对应关系。在本实施例中,按照分片的编号顺序,将相邻的每12个连续的分片划分为一个页面。
若第二判断装置1011判断所述缓存中包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则发送装置102将该请求的数据分片发送给所述请求的对等终端设备2,并将该所请求的数据分片所在的页面的已被请求次数增加一次。
若第二判断装置1011的判断结果为缓存中不包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则该第二判断装置1011将向读取装置103发送一个触发信号,即告知读取装置103,缓存中未存有该请求的数据分片的信息,触发读取装置103将该所请求的数据分片以及与所请求的数据分片相关的一个或多个数据分片从第一存储设备读入所述缓存中,并将所请求的数据分片发送给对等终端设备2。进一步地,第一存储设备包括硬盘(即磁盘)或存取速度较慢的海量存储装置。这是本领域技术人员应能理解的,在此不作赘述。下面将以磁盘作为第一存储设备对本发明的技术方案进行描述。
具体地,参考图9,读取装置103还可以划分为以下几个子装置,分别是第三判断装置1030,第二初始化装置1031,第四判断装置1032,第二循环装置1033,第五判断装置1034,页面写入装置1035,数据分片发送装置1036和第六判断装置1037。
首先第三判断装置1030判断该请求的数据分片是否存储在硬盘中。一般地,在目录服务器(tracker)中存储了在该目录服务器上登录的所有对等终端设备的IP地址和端口号及其拥有的资源,因此,通过向目录服务器进行查询,请求数据分片的对等终端设备知晓哪些对等终端设备具有其所请求的数据分片。对等终端设备2通过查询目录服务器,获悉终端设备1具有其所要请求的数据分片。但是,也不排除这样的情况,即终端设备1未及时向目录服务器更新其具有资源变化的情况,即终端设备1未将被请求的目标分片已擦除的消息及时汇报给目录服务器,而此时该分片请求消息已经到达终端设备1,因此,第三判断装置1030在终端设备1的硬盘中未搜索到该目标分片,因此放弃本次响应,再由第六判断装置(图中未示出),判断是否退出***。
若第三判断装置1030中判断该目标分片在硬盘中时,则终端设备1将所请求的数据分片所在的页面(以下简称本页面)读入到缓存中,除此之外,终端设备1还将本页面之后的连续若干个页面(以下简称后继页面)一起预读入缓存中。预读的页面个数基于这样的假设:如果本页面之前的页面(以下简称先前页面)被请求的次数很多,则根据用户对多媒体文件播放的连续性,其对数据分片请求也应具有连续性,则其后继页面被请求的概率也较大,因此将更多后继页面作为预读页面读入缓存。
具体地,第二初始化装置1031初始化预取页面的个数和将要考察哪一个先前页面。本实施例中初始的预读页面的个数为0,将要考察的先前页面为本页面前的第1页,其页面编号为PageID-i,i=1。例如,可以将标识预读页面的个数的预取页面计数器(用Sum表示)初始化为0,将用于标识要考察的页面属于目标页面前面第几个页面的循环计数器(用i表示)初始化为1。
然后第四判断装置1032判断已考察的先前页面的个数是否未超过考查页面数的算法阈值n,并判断本页面前的第1个页面的已被请求次数是否已经超过该先前页面的已被请求次数阈值a1。也即,判断是否同时满足条件i<n和条件CounterPageID-i>ai,其中CounterPageID-i表示目标页面先前的第i个页面的已经被请求的次数(也即访问该页面的次数)。若两个条件同时满足,则触发第二循环装置1033。若两个条件不同时满足,则触发第五判断装置1034。
其中,第二循环装置1033将预读的页面的个数增加b1,即和本页面一起预取的本页面的后继页面的页数将增加b1页,其中b1为本页面前的第1页所对应的应多预取的后续页的页数。也即,预取页面计数器Sum=Sum+b1。而后,设置将要考察的先前页面的编号为PageID-i,i=2,即考察本页面前的第2页,第二初始化装置1031重新开始循环,具体地:
若第四判断装置1032判断的结果为:已考察的先前页面的个数不超过考查页面数的算法阈值n,同时本页面前的第2个页面的已被请求次数超过该先前页面的已被请求次数阈值a2。则第二循环装置1033将预存页面的页数再增加本页面前的第2个页面所对应增加的预取页数b2,也即此时预取的页面数为b1+b2,并设置将要考察的先前页面的编号为PageID-i,i=3,即考察本页面前的第3页,回到步骤S132重新开始循环。依此类推,第四判断装置1032和第二循环装置1033重复上述操作,直至第四判断装置1032的判断的条件不满足,也即:
判断以下两种情形至少有一种发生时,就不需要第二循环装置1033执行操作,而触发第五判断装置1034。
a)考察的先前页面的页数超过了算法所要考察的块中的页面的个数,也即i>n;
b)将要考察的先前页面的被请求次数小于其被请求次数的阈值,也即CounterPageID-i<ai;
第五判断装置1034确定将要预读的后续页面的页数,其中预读的后续页面的范围不超过包含了目标页面的块的范围。分为2种情形:
i)若上述计算出的预存页面的页数小于本页面后的在该块中所有页面的个数,则在页面写入装置1035中的预读的页面个数为上述计算出的预存页面的页数为b1+b2+...+bk,其中第k个页面为在目标页面之前的最后一个满足对该页面的读取的次数超过了为该页面设定的访问阈值的页面,例如,目标页面为PageID为6,即为第6个页面,则目标页面之前的第4个页面为第2个页面,也即,第3(目标页面之前的第3个页面)、第4(目标页面之前的第2个页面)和第5(目标页面之前的第1个页面)均满足对其访问的次数超过设定的阈值,而第1个页面(也即目标页面之前的第5个页面)的访问的次数未超过该阈值。
ii)若上述计算出的预存页面的页数大于本页面后的在该块中所有页面的个数,页面写入装置1035中预读的页面的为在该块中在本页面后的所有页面,也即其中表示取该数值的整数部分(也即向下取整),可以得到该目标页面所在的块标识。而得到该页面所在块中的最后一个页面的编号,与所述目标页面的编号相减,得到了最多可以预读的页面的个数,例如,以将一个数据文件按照3Mb的大小划分为一个块,而页面的大小为包括12个分片,一个分片的大小为16k,则每个块中包含页面16个,也即n2=16。假设页面的序号是按照文件的顺序从文件头部开始依次编号,例如,对于一个目标页面的编号为37,也即PageID=37,则该目标页面所在块的编号为目标页面所属的块号,得到目标页面中所属的块中的最后一个页面的编号,则为最多可以预读的页面的个数。
页面写入装置1035将被请求数据所属页面及在情况i)或ii)中决定的预读的后续页面写入缓存中,并将写入缓存的各个后续页面的被请求次数递增1,表示其被请求了一次,而后触发数据分片发送装置1036;
数据分片发送装置1036根据数据分片请求消息的源地址,将所请求的数据分片发送至请求该数据分片的对等终端设备2,然后触发第六判断装置(图中未示出);
第六判断装置判断是否退出***,若是,结束,接收装置100接收来自对等终端设备2的数据分片请求消息。
优选地,每个页面的被请求次数定期重置为零,以实时地表明其在一段时间内被请求下载的情况。
在一个变化的实施例中,数据分片发送装置1036的发送数据分片的步骤与用于预取多个数据分片的装置之间的步骤也可以是并行的。也即将目标分片所在的页面以及与其相关的一个或多个页面从磁盘读入缓存的同时,将被请求的目标数据分片发送给对等终端设备2。此处的顺序仅为一个示例。
第四实施例
以下,参照图8对本发明的第二实施例进行描述,其中,相同和相似的附图标记表示相同和相似的装置。
首先,第三初始化装置(图中未示出)要对***进行初始化。其中,第三初始化装置与第一初始化装置可以是相同的装置,也可以是不同的装置。第三初始化装置初始化n,n为算法用到的阈值,表示算法会考察的页面个数,算法会考察的页面为请求的数据分片所属页面之前的连续的页面。
第三初始化装置还要初始化n1和n2,n1为一个页面包括的分片数目,n2为一个块包括的页面数目;
在完成了上述的初始化的步骤后,第三初始化装置开始处理数据分片请求,如图8所示。图8描述了在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的装置框图。
接收装置100’接收来自对等终端设备2的数据分片请求消息。该数据分片请求消息必要地包括所请求的数据分片的指示信息,如该数据分片的标识信息(ID)等,此外,该数据分片请求消息中还应包括该数据分片请求消息的目的地址(终端设备1的地址)和源地址(对等终端设备2的地址),以便终端设备1按照该数据分片请求消息中包括的源地址将所请求的数据分片发送给对等终端设备2中。
接收装置100’在接收到来自对等终端设备2的数据分片请求消息后,第一判断装置101’根据该数据分片请求消息,判断第二存储设备中是否包括该数据分片请求消息所请求的数据分片。进一步地,第二存储设备包括存取速度较快但存储容量有限的存储器,例如缓存。这是本领域技术人员应能理解的,在此不作赘述。下面将以缓存作为第二存储设备对本发明的技术方案进行描述。
具体地,第一判断装置101’可以通过映射表等获取对等终端设备2所请求的数据分片所属的页面编号(用PageID表示),并根据该PageID判断该页面是否在缓存中。进一步地,每个页面(即,分片集合)都有一个唯一的页面编号,每个页面中的各个分片都有一个唯一的分片编号,也即,在同一个多媒体数据中,页面的编号和分片的编号都是唯一的,但是,多个分片可以同属于一个页面。优选地,第一判断装置101’中存储有一张映射表,该映射表中存储了分片与页面的对应关系。在本实施例中,按照分片的编号顺序,将相邻的每12个连续的分片划分为一个页面。
若第一判断装置101’判断结果为缓存中包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则发送装置102’将该请求的数据分片发送给所述请求的对等终端设备2。
若第一判断装置101’判断结果为缓存中不包含所述数据分片请求消息所请求的数据分片(也即该数据分片所属的页面),则读取装置103’将所请求的数据分片所在的页面的中的所有数据分片从第一存储设备读入所述缓存中,并将所请求的数据分片发送给对等终端设备2。进一步地,第一存储设备包括硬盘(即磁盘)或存取速度较慢的海量存储装置(Storage)。这是本领域技术人员应能理解的,在此不作赘述。下面将以磁盘作为第一存储设备对本发明的技术方案进行描述。
在一个变化的实施例中,***中不需要对数据分片划分页面,则第三初始化装置所执行的步骤均可以省略。
第一判断装置101’直接根据该数据分片请求消息中的数据分片的标识信息(ID)判断该数据分片的ID是否在缓存中。
若第一判断装置101’判断结果为缓存中不包含所述数据分片请求消息所请求的数据分片,则读取装置103’将所请求的目标数据分片以及目标分片之前连续的n3个数据分片和目标分片之后连续的n4个数据分片。其中n3和n4是***预先配置的,也可以根据***的实际运营情况进行调整。
本领域的普通技术人员应能理解本发明不限于第一、第二、第三和第四实施例所基于的图1所示的基于点对点传输的网络逻辑拓扑结构和数据分片数量,对于其他基于点对点传输的网络逻辑拓扑结构和数据分片的情况,本发明的方法同样适用。以上对本发明的实施例进行了描述,但是本发明并不局限于特定的***、方法和装置,本领域内技术人员可以在所附权利要求的范围内做出各种变形或修改。
Claims (13)
1.一种在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的方法,其中,包括以下步骤:
a.接收来自所述其他对等终端设备的数据分片请求消息;
b.根据所述数据分片请求消息,判断第二存储设备中是否包括所述数据分片请求消息所请求的数据分片;
c.若所述第二存储设备中包括所请求的数据分片,则将该数据分片发送给所述其他对等终端设备;
d.若所述第二存储设备中不包括所请求的数据分片,则将该所请求的数据分片以及与所请求的数据分片相关的一个或多个数据分片从第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备。
2.根据权利要求1所述的方法,其特征在于,所述数据分片请求消息包括用于指示所述其他对等终端设备所请求的数据分片的指示信息,所述步骤b还包括以下步骤:
b1.从所述数据分片请求消息中提取出数据分片指示信息;
b2.根据所述数据分片指示信息,判断所述第二存储设备中是否包括所述数据分片请求消息所请求的数据分片。
3.根据权利要求2所述的方法,其特征在于,所述数据文件包括若干个预定大小的分片集合,所述步骤d还包括:若所述第二存储设备中不包括所请求的数据分片,则将该所请求的数据分片所属的目标分片集合中的所有数据分片从所述第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备,
其中,所述若干个预定大小的分片集合中任何两个连续的分片集合中的数据分片的内容相连续。
4.根据权利要求3所述的方法,其特征在于,所述步骤d还包括:若所述第二存储设备中不包括所请求的数据分片,则根据所述第二存储设备中的所述目标分片集合之前连续的一个或多个分片集合的历史访问信息,将该目标分片集合以及该目标分片集合之后连续的一个或多个分片集合中的所有数据分片从所述第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备。
5.根据权利要求4所述的方法,其特征在于,所述第二存储设备中的所述目标分片集合之前连续的一个或多个分片集合的历史访问信息包括该连续的一个或多个分片集合中的每个分片集合内的各个数据分片被请求的有关信息。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述第一存储设备包括硬盘,所述第二存储设备包括缓存。
7.一种在基于点对点传输协议的终端设备中用于为其他对等终端设备提供数据文件的数据分片的提供装置,其中,包括:
接收装置,用于接收来自所述其他对等终端设备的数据分片请求消息;
第一判断装置,用于根据所述数据分片请求消息,判断第二存储设备中是否包括所述数据分片请求消息所请求的数据分片;
发送装置,用于若所述第二存储设备中包括所请求的数据分片,则将该数据分片发送给所述其他对等终端设备;
读取装置,用于若所述第二存储设备中不包括所请求的数据分片,则将该所请求的数据分片以及与所请求的数据分片相关的一个或多个数据分片从第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备。
8.根据权利要求7所述的提供装置,其特征在于,所述数据分片请求消息包括用于指示所述其他对等终端设备所请求的数据分片的指示信息,所述第一判断装置还包括:
提取装置,用于从所述数据分片请求消息中提取出数据分片指示信息;
第二判断装置,用于根据所述数据分片指示信息,判断所述第二存储设备中是否包括所述数据分片请求消息所请求的数据分片。
9.根据权利要求8所述的提供装置,其特征在于,所述数据文件包括若干个预定大小的分片集合,所述读取装置还用于:若所述第二存储设备中不包括所请求的数据分片,则将该所请求的数据分片所属的目标分片集合中的所有数据分片从所述第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备,
其中,所述若干个预定大小的分片集合中任何两个连续的分片集合中的数据分片的内容相连续。
10.根据权利要求9所述的提供装置,其特征在于,所述读取装置还用于:若所述第二存储设备中不包括所请求的数据分片,则根据所述第二存储设备中的所述目标分片集合之前连续的一个或多个分片集合的历史访问信息,将该目标分片集合以及该目标分片集合之后连续的一个或多个分片集合中的所有数据分片从所述第一存储设备读入所述第二存储设备中,并将所请求的数据分片发送给所述其他对等终端设备。
11.根据权利要求10所述的提供装置,其特征在于,所述第二存储设备中的所述目标分片集合之前连续的一个或多个分片集合的历史访问信息包括该连续的一个或多个分片集合中的每个分片集合内的各个数据分片被请求的有关信息。
12.根据权利要求7至11中任一项所述的提供装置,其特征在于,所述第一存储设备包括硬盘,所述第二存储设备包括缓存。
13.一种用于为其他对等终端设备提供数据文件的数据分片的基于点对点传输协议的终端设备,其特征在于,包括权利要求7至12中任一项所述的用于为其他对等终端设备提供数据文件的数据分片的提供装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100341373A CN101521553B (zh) | 2008-02-29 | 2008-02-29 | 对等网络视频点播***中用于提供数据分片的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2008100341373A CN101521553B (zh) | 2008-02-29 | 2008-02-29 | 对等网络视频点播***中用于提供数据分片的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101521553A true CN101521553A (zh) | 2009-09-02 |
CN101521553B CN101521553B (zh) | 2011-08-03 |
Family
ID=41081949
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100341373A Expired - Fee Related CN101521553B (zh) | 2008-02-29 | 2008-02-29 | 对等网络视频点播***中用于提供数据分片的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101521553B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075338A (zh) * | 2009-11-25 | 2011-05-25 | 突触计算机***(上海)有限公司 | 基于分布式网络的直播方法和装置 |
CN102111448A (zh) * | 2011-01-13 | 2011-06-29 | 华为技术有限公司 | 分布式哈希表dht存储***的数据预取方法、节点和*** |
CN102255866A (zh) * | 2010-05-17 | 2011-11-23 | 腾讯科技(深圳)有限公司 | 一种数据下载方法及装置 |
CN103077225A (zh) * | 2012-12-31 | 2013-05-01 | 华为技术有限公司 | 数据读取方法、装置及*** |
CN103188279A (zh) * | 2011-12-27 | 2013-07-03 | 中国电信股份有限公司 | 通过对等网络从多个邻居节点下载文件的方法和装置 |
CN104021034A (zh) * | 2014-06-24 | 2014-09-03 | 北京奇艺世纪科技有限公司 | 任务处理方法及*** |
CN106802952A (zh) * | 2017-01-18 | 2017-06-06 | 广东睿江云计算股份有限公司 | 海量数据的处理方法、提取方法以及处理装置 |
CN109558386A (zh) * | 2018-11-26 | 2019-04-02 | 北京微播视界科技有限公司 | 一种客户端数据的缓存方法、装置、设备和介质 |
CN110764708A (zh) * | 2019-10-25 | 2020-02-07 | 北京浪潮数据技术有限公司 | 一种数据读取方法、装置、设备及存储介质 |
CN112261118A (zh) * | 2020-10-19 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 多媒体数据的异常检测方法、终端及服务器 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100450205C (zh) * | 2005-08-04 | 2009-01-07 | 华为技术有限公司 | 实现空闲状态下被叫用户终端进行分组域业务的方法 |
CN100372283C (zh) * | 2005-10-28 | 2008-02-27 | 华为技术有限公司 | 多点下载中保证数据块在整个***均匀分布的方法和装置 |
CN101094248A (zh) * | 2006-06-20 | 2007-12-26 | 腾讯科技(深圳)有限公司 | 流媒体播放客户端 |
CN101094107A (zh) * | 2006-06-21 | 2007-12-26 | 北京网视天元信息技术有限公司 | 视听节目p2p流媒体网络传播效果精确测量的***及方法 |
-
2008
- 2008-02-29 CN CN2008100341373A patent/CN101521553B/zh not_active Expired - Fee Related
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102075338A (zh) * | 2009-11-25 | 2011-05-25 | 突触计算机***(上海)有限公司 | 基于分布式网络的直播方法和装置 |
CN102075338B (zh) * | 2009-11-25 | 2015-05-13 | 突触计算机***(上海)有限公司 | 基于分布式网络的直播方法和装置 |
CN102255866A (zh) * | 2010-05-17 | 2011-11-23 | 腾讯科技(深圳)有限公司 | 一种数据下载方法及装置 |
US8738861B2 (en) | 2011-01-13 | 2014-05-27 | Huawei Technologies Co., Ltd. | Data prefetching method for distributed hash table DHT storage system, node, and system |
CN102111448B (zh) * | 2011-01-13 | 2013-04-24 | 华为技术有限公司 | 分布式哈希表dht存储***的数据预取方法、节点和*** |
CN102111448A (zh) * | 2011-01-13 | 2011-06-29 | 华为技术有限公司 | 分布式哈希表dht存储***的数据预取方法、节点和*** |
CN103188279A (zh) * | 2011-12-27 | 2013-07-03 | 中国电信股份有限公司 | 通过对等网络从多个邻居节点下载文件的方法和装置 |
CN103188279B (zh) * | 2011-12-27 | 2016-06-01 | 中国电信股份有限公司 | 通过对等网络从多个邻居节点下载文件的方法和装置 |
CN103077225A (zh) * | 2012-12-31 | 2013-05-01 | 华为技术有限公司 | 数据读取方法、装置及*** |
CN104021034A (zh) * | 2014-06-24 | 2014-09-03 | 北京奇艺世纪科技有限公司 | 任务处理方法及*** |
CN104021034B (zh) * | 2014-06-24 | 2017-12-08 | 上海众源网络有限公司 | 任务处理方法及*** |
CN106802952A (zh) * | 2017-01-18 | 2017-06-06 | 广东睿江云计算股份有限公司 | 海量数据的处理方法、提取方法以及处理装置 |
CN109558386A (zh) * | 2018-11-26 | 2019-04-02 | 北京微播视界科技有限公司 | 一种客户端数据的缓存方法、装置、设备和介质 |
CN110764708A (zh) * | 2019-10-25 | 2020-02-07 | 北京浪潮数据技术有限公司 | 一种数据读取方法、装置、设备及存储介质 |
CN112261118A (zh) * | 2020-10-19 | 2021-01-22 | 腾讯科技(深圳)有限公司 | 多媒体数据的异常检测方法、终端及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN101521553B (zh) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101521553B (zh) | 对等网络视频点播***中用于提供数据分片的方法和装置 | |
CN106911780B (zh) | 业务id生成方法、装置及*** | |
US20200068036A1 (en) | Methods and apparatus for serving content to customer devices based on dynamic content popularity | |
EP3346397A1 (en) | Content recommendation method, apparatus and system | |
US20180026938A1 (en) | Detection and scheduling method, device, and node of content delivery network | |
CN102075562B (zh) | 协作缓存的方法和装置 | |
KR100791628B1 (ko) | 이동망 시스템의 능동적 캐쉬 제어 방법, 그 기록 매체 및그 시스템 | |
CN106888381B (zh) | 一种数据资源存储方法及装置 | |
EP3456029B1 (en) | Network node and method of receiving an http-message | |
JP2007510224A (ja) | プロキシキャッシュにおいてマルチメディアコンテンツのセグメントの優先順位を決める方法 | |
CN101800731B (zh) | 网络传输管理服务器、网络传输管理方法及网络传输*** | |
US11019171B2 (en) | Cache data control method and device | |
CN114760482B (zh) | 直播回源方法及装置 | |
CN113452808A (zh) | 域名解析方法、装置、设备及存储介质 | |
CN101110844B (zh) | 一种节目片段预取方法及一种对等网络节点 | |
CN104822084A (zh) | 基于并发流的p2p实时播放***快速频道切换方法 | |
Wu et al. | Reuse time based caching policy for video streaming | |
CN110139125B (zh) | 无线移动网络下基于需求感知与资源缓存的视频共享方法 | |
CN108521611B (zh) | 一种抗抖动视频数据存取方法以及计算机设备 | |
KR20170120683A (ko) | 온라인 미디어에 대한 계층적 비용 기반 캐싱 | |
CN105847867A (zh) | 多媒体直播内容的试播方法及装置 | |
CN106470348B (zh) | 收视数统计方法和装置 | |
WO2018090315A1 (zh) | 数据请求的处理方法及缓存*** | |
He et al. | CUBIST: High-quality 360-degree video streaming services via tile-based edge caching and FoV-adaptive prefetching | |
US10812837B2 (en) | System and method for live service content handling with content storing servers caching popular content therein |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110803 |