CN101472166B - 一种内容缓存、查询方法及点对点媒体传输系统 - Google Patents
一种内容缓存、查询方法及点对点媒体传输系统 Download PDFInfo
- Publication number
- CN101472166B CN101472166B CN200710305850.2A CN200710305850A CN101472166B CN 101472166 B CN101472166 B CN 101472166B CN 200710305850 A CN200710305850 A CN 200710305850A CN 101472166 B CN101472166 B CN 101472166B
- Authority
- CN
- China
- Prior art keywords
- content
- node
- management
- piecemeal
- domestic consumer
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
- H04L67/1063—Discovery through centralising entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/2866—Architectures; Arrangements
- H04L67/288—Distributed intermediate devices, i.e. intermediate devices for interaction with other intermediate devices on the same level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/433—Content storage operation, e.g. storage operation in response to a pause request, caching operations
- H04N21/4331—Caching operations, e.g. of an advertisement for later insertion during playback
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/472—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
- H04N21/47202—End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/632—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1044—Group management mechanisms
- H04L67/1051—Group master selection mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1087—Peer-to-peer [P2P] networks using cross-functional networking aspects
- H04L67/1093—Some peer nodes performing special functions
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例提供一种内容缓存方法,包括:将获取的媒体数据内容以内容分块的形式缓存;根据内容将普通用户节点聚簇;选择一个或多个管理节点管理缓存同一内容的普通用户节点的聚簇,并记录聚簇中各节点的地址信息和拥有该内容的分块信息。同时,本发明实施例还提供一种内容查找方法、点对点媒体传输系统和管理节点。本发明实施例使得普通用户节点能够方便、高效地利用其他用户存储的内容,提高了用户查找的准确率和查找效率,克服了现有技术中搜索效率低的缺点,降低了服务器的负担。
Description
技术领域
本发明涉及点对点媒体传输技术,尤其设计一种内容缓存、查找方法及点对点媒体传输系统。
背景技术
视频点播是指在根据用户的需要随时提供交互式视频服务的业务,在实际的系统中,由于受系统容量的限制,服务提供者一般会事先提供一定数量的视频节目,然后用户就可以随时选择其中的一个节目进行观看,并且点播系统还可以提供暂停、快进和快退等功能,以方便用户观看。视频点播技术也成为业界研发的重点。
传统的视频点播有两种解决方案:一种是用户观看时只在内存中记录数据,对于超出内存缓存限制的部分采取抛弃的策略,用户本机硬盘不提供存储服务;一种是在用户的本机硬盘上存储用户观看的内容,以便后续的用户观看时可以为之提供相关数据。
发明人在实现本发明的过程中发现现有技术至少存在如下缺点:如果只在内存中记录数据,对于超出内存缓存限制的部分采取抛弃的策略,一个播放时间点离当前节点较远的客户端,无法给该节点提供需要的数据。而点播系统由于内容数量众多,用户的兴趣不同,除少数热门的内容外,大部分内容收看的用户数量都不大,而且观看时间点分散,因此很难充分利用用户节点的资源来互相协助,对减低内容服务器的负载帮助有限。对于在用户本机硬盘上存储用户观看的内容,以便后续的用户观看时可以提供相关数据的方法,在其他用户进行此类内容搜索时一般针对的是完整文件的搜索,而且对及时性要求不高,搜索效率低,由于用户拖动、快进等操作,节点很少能缓存整个文件,只能是观看一部分就缓存一部分,根据完整文件搜索的内容实际上查找不到需要查找的完整内容。
发明内容
有鉴于此,实有必要提供一种内容缓存方法,用于解决现有技术中搜索效率低的问题。同时,提供一种内容查找方法,用于解决现有技术中搜索效率低的问题。同时,提供一种点对点媒体传输系统,用于解决现有技术中搜索效率低的问题。同时,提供一种管理节点,用于解决现有技术中搜索效率低的问题。
一种内容缓存方法,包括如下步骤:
将获取的媒体数据内容以内容分块的形式缓存;
根据所述内容将普通用户节点聚簇,将缓存了相同内容的普通用户节点聚集在一起;
选择一个或多个管理节点管理缓存同一内容的普通用户节点的聚簇,并记录聚簇中各节点的地址信息和拥有该内容的分块信息。
一种内容查找方法,其特征在于,该方法包括:
接收普通用户节点发送的查询媒体数据的特定的内容分块的请求;
查询记录的缓存的或管理的普通用户节点缓存的内容分块信息,或向其他相连的管理节点查询拥有该内容分块的节点的地址信息;
向普通用户节点发送所述内容分块信息或所述内容分块节点的地址信息。
一种点对点媒体传输系统,包括:
普通用户节点,用于将获取的媒体数据内容以内容分块的形式缓存;
管理节点,用于管理根据所述内容将普通用户节点聚簇,并记录该内容的内容分块信息和地址信息。
一种管理节点,包括:
查询请求接收单元,用于接收普通用户节点发送的查询媒体数据的特定的内容分块的请求;
查询处理单元,用于查询普通节点缓存的内容分块信息,或向其他相连的管理节点查询拥有该内容分块的节点的地址信息;
查询结果发送单元,用于向普通用户节点发送所述内容分块信息或所述内容分块节点的地址信息。
与现有技术相比,本发明实施例通过普通用户节点将接收媒体传输过程中的获取的媒体数据内容以内容分块的形式缓存,并根据内容将普通用户节点聚簇,选择一个或多个管理节点管理缓存同一内容的普通用户节点的聚簇,使得普通用户节点能够方便、高效地利用其他用户存储的内容,提高了用户查找的准确率和查找效率,克服了现有技术中搜索效率低的缺点,降低了服务器的负担。
附图说明
图1为本发明实施例一点对点媒体传输系统结构示意图。
图2为本发明实施例二点对点媒体传输系统结构示意图。
图3为本发明实施例三点对点媒体传输系统结构示意图。
图4为本发明实施例四点对点媒体传输系统结构示意图。
图5为本发明实施例五管理节点内部结构示意图。
图6为本发明实施例六管理节点内部结构示意图。
图7为本发明实施例七内容缓存方法流程图。
图8为本发明实施例八内容查找方法流程图。
图9为本发明实施例九普通用户节点启动时加入网络的流程图。
图10为本发明实施例十簇分裂流程图。
具体实施方式
以下结合实施例说明,本发明实施例提出了一种点对点媒体传输系统,通过将用户节点组织成特定的网络结构来索引客户端硬盘上缓存的部分内容。
本实施例中,将接收获取的媒体数据内容以内容分块的形式缓存,将媒体数据分块,以分块的形式进行存储,媒体数据包括视频帧和音频帧等。本实施例中以视频文件为例,视频文件一般可简单分为内容元数据和实际媒体数据。元数据包括整个媒体文件的整体信息和时间定位信息等,而媒体数据主要指特定的视频帧和音频帧的数据。例如在asf文件格式中,位于文件头中的Header Object(文件整体信息)和位于文件尾部的索引对象(用于进行时间定位,如Simple Index Object)可以看作内容元数据。在一个实施例中,用户节点不缓存内容元数据,用户点播时需要向CS(内容服务器,ContentServer)请求,以方便对用户的点播行为进行准入控制和其他管理。
在用户硬盘上进行缓存通常要控制缓存的大小,以免占据用户过多的存储资源,在一个实施例中,用一个单一文件来进行缓存,可以事先分配固定大小的空间,也可以在缓存过程中逐渐扩大文件大小直到设定的值。在一个实施例中,每缓存一块内容数据就新建一个文件来记录数据,并控制所有数据文件总的大小,由于缓存空间受限,随着用户不断点播收看,需要清除老的内容数据的空间来缓存新的内容数据。单一文件缓存适合用来缓存固定大小的内容分块,可以方便的执行分块替换;多文件缓存适合用来缓存不固定大小的内容分块。
例如,asf格式媒体文件的data object(数据对象)由头部和数量众多的固定大小的data packet组成。Simple Index Object中记录了时间(典型的时间间隔是1秒)和packet的对应关系。例如[30,145]就表明要拖动到第30秒的视频,需要从第145个packet开始请求数据。而由于每个packet大小相同,因此只要知道第一个packet在内容文件中的地址偏移就可以计算出需要请求的packet在文件中的偏移。在单一文件缓存的实施例中,可以预先设置每个内容分块的固定大小,然后将特定编号范围的packet存储到特定编号的内容分块中。例如,设定单一缓存文件的大小为1GBytes,内容分块大小为4Mbytes(所以一个用户节点最多能缓存256个内容分块)。例如,如果某个packet的大小为6250Bytes,那么一个分块存放4*1024*1024/6250=671个packet(分块尾部还有554个字节没有利用,不过相比分块的大小,这点浪费不很严重)。因此从第0个packet开始的连续671个packet存储在编号为0的分块上,以此类推。随着视频节目的播放,客户端每收取一个完整分块的数据,就缓存在硬盘上,可以用以下的三元组就可以索引硬盘缓存的数据:
[缓存分块号,内容标示,内容分块号]
例如,[6,点播节目名称(或内容文件名、特定内容的hash值),123]表示本地缓存文件中顺序第6块文件块的空间缓存的是某个内容的编号为123的内容分块。
当用户节点需要某个特定packet开始的数据时,首先将packet号(3533)映射成分块号(3533/671=5余178,对应该内容第5个分块上的第178个packet),然后搜索缓存有该内容分块的节点。向返回的节点请求数据时,请求的消息中要包含如下信息:
[内容标志,内容分块号,块内偏移量,请求数据的大小]
由于用户节点不缓存内容元数据,因此节点不了解内容分块内部的结构,因此节点请求数据时要指明在分块内的偏移(178*6250),而不能仅仅给出packet号。
请结合参看图1,本发明实施例点对点媒体传输系统100包括簇管理器102、聚簇104、内容(普通节点ON,Ordinary Node)C4和内容C5。普通用户节点将媒体传输过程中的获取的媒体数据以内容分块的形式缓存,内容C4和内容C5分别为两个内容,本发明实施例中按内容聚簇缓存了相同内容的用户节点聚集在一起。聚簇104包含包括内容C4和内容C5的用户节点。簇管理器102管理根据内容C4和C5将普通用户节点的聚簇104,并记录内容C4和内容C5的分块信息和地址信息。本实施例中,簇管理器102管理器CM管理用户节点,CM一般部署在服务提供商提供的服务器上,因此在线时间有保证,在一个实施例中,采用内容分发网络CDN的两层结构,部署服务时将服务区域按地理位置隔离成各自独立的区域(边缘网络)。在边缘网络中的关键位置上部署一个或多个内容服务器CS和CM,然后由中心节点分发内容并按特定策略(一般采用地理位置就近原则)调度用户请求到边缘网络。CS根据用户请求提供特定内容的数据;CM执行用户节点管理功能,当用户节点找不到特定内容的用户管理节点时,就先加入CM由CM管理用户节点的内容分块信息,并负责查询该内容。
请结合参看图2,本发明实施例点对点媒体传输系统200包括:管理节点N1、N2、N3、N4和聚簇208和内容C1。管理节点N2作为管理内容的节点,例如,对一些热门的节目来说缓存有该内容分块的用户节点和正在观看该内容的用户节点很多,因此可以从中选择一些节点作为超级节点来管理内容C1。一个超级节点SN管理一定数量的普通节点,每个SN和一定数量的其他SN保持连接成为邻居SN关系。这样,所有提供该内容数据的节点和需要该内容的节点就构成了一个网络,通过该网络需要该内容数据的节点可以很快找到其他能提供数据的节点。
请结合参看图3,本发明实施例点对点媒体传输系统300包括用户管理节点302、聚簇304、内容C2和内容C3。本实施例中,管理多个内容的用户节点SN,对于大部分内容来说,同时点播一个内容的用户数量不多,因此一个SN可以同时管理多个内容的ON。但只要某个内容的节点数量达到一定值,就要把这部分节点分裂出去,生成新的单一内容的簇。
上述SN和ON表示的是特定内容的SN和ON,节点对某个内容来说可能是ON,但相对于另一个内容来说可能是SN。整个网络按照内容来进行组织和管理。
请结合参看图4,本发明实施例点对点媒体传输系统400包括:普通用户节点一402、普通用户节点二404、普通用户节点三406、管理节点410、备份管理节点412和中心调度服务器408。普通用户管理节点一402请求访问普通用户节点二404和普通用户节点三406,接收媒体传输过程中的获取的媒体数据内容以内容分块的形式缓存的数据。普通用户节点一402通过中心调度服务器408获取特定内容的管理节点410的地址,向管理节点410请求需要访问的内容分块信息。中心调度服务器408,用于注册管理节点410记录的内容信息,并提供对应的管理节点的地址信息。中心调度服务器通常按地理位置进行划分。备份管理节点412,用于在管理节点410异常退出时接替管理节点410的功能。本实施例中,备份管理节点413是由SN管理的普通用户节点选择出来的。
请结合参看图5,本发明实施例管理节点500包括:查询请求接收单元502、查询处理单元504、查询结果发送单元506、内容分块存储单元508、备份请求单元510、注册请求加入单元512。
查询请求接收单元502,用于接收普通用户节点发送的查询媒体数据的特定的内容分块的请求。查询请求处理单元504,用于查询普通节点缓存的内容分块信息,或向其他相连的管理节点查询拥有该内容分块的节点的地址信息。节点查询内容分块时,向SN提交内容标志和分块编号,同时指定要返回的记录数量。SN首先查找本地记录的节点内容分块数据,如果满足要求的记录数不足,则SN向邻居SN查询,最后将查询结果一起返回给节点。可以缓存从邻居SN返回的查询结果,以备后用。查询结果包括多条以下的数据记录:
[节点地址信息,内容分块号,分块数量]
查询结果发送单元506,用于向普通用户节点发送所述内容分块信息或所述内容分块节点的地址信息。内容分块存储单元508,用于媒体数据内容分块信息和地址信息。备份请求单元510,用于在管理节点异常退出时,请求备份管理节点管理所述内容分块信息。注册请求加入单元512,用于向注册中心服务器注册管理的内容信息。
用户节点启动时注册加入网络,在本实施例中包括以下流程。
与中心调度服务器通讯请求加入,告知自己缓存的内容。内容可能有多个。
调度服务器根据用户节点的地址信息(典型的是指IP/Port)确定它所在的边缘网络,然后返回属于该边缘网络的CS和CM地址信息。另外针对节点缓存的每个内容,调度服务器都会返回一定数量SN。如果某个内容没有特定的SN,节点默认加入到CM。
用户节点以ON的身份向管理不同内容的SN请求加入,消息中要指定内容标志。
SN同意ON加入。如果SN拒绝,ON可以继续向其他SN请求,如果都失败则请求加入到某个特定的CM。
ON向SN(或CM)登记特定内容的分块信息。
当用户观看时,经常要缓存新的内容分块,有时还要替换旧的内容分块,这些本地缓存的变化都要通知自己所属的SN。
SN收到ON的加入请求时,根据自己的负载情况来决定是否接纳ON。负载情况主要指CPU使用率、带宽占用以及已经接纳的ON的数量。以下是SN决定是否接纳新ON的条件:
自己负载小则接纳;
ON加入请求中加入次数达到一定值则接纳;
其他情况都拒绝;
ON每被SN拒绝一次,则下次它的加入请求中的加入次数就加1,这个值达到一定次数后,SN无论负载如何都要接纳,必要时分裂簇。
ON登记内容分块的消息中包括一个或多个一下的数据记录:
[内容标志,起始分块号,分块数量]
一条记录表示一个分块组,从起始分块开始连续的多个分块。如果某个内容的有多个分块组,就有多条记录。
ON更新内容分块信息的消息中包括以下信息:
[内容标志,分块号,添加或是删除]
边缘网络有多个CM的话,可以根据内容标志来确定唯一的CM。比如内容标志是文件名,则先计算文件名字符串的hash值,然后将hash值除以CM的数量,根据余数来决定应加入那个CM。CM根据特定的规则排序,比如IP地址的大小。那么缓存同一内容的ON找不到SN时都会加入相同的CM,使得节点按内容聚集在一起。
当节点不再缓存所在簇的内容并且不再观看所在簇的内容时,需要退出该簇。如果节点在簇内是ON,则发送退出消息给SN,SN删除ON登记的分块信息;如果是SN,则不再做SN。
请结合参看图6,本发明实施例管理节点600包括:聚簇管理单元602,存储处理单元604和存储单元606。
聚簇管理单元602,用于管理缓存同一内容的普通用户节点的聚簇。聚簇管理单元可以管理簇的分裂和合并。当SN或CM管理的ON数量过多时,需要一个新SN来管理一部分ON,从而降低当前SN或CM的负载。簇分裂有3种情况:
1.当前SN或CM管理一个内容,因此新SN也管理该内容。
2.当前SN或CM管理多个内容,其中一个内容的ON数量超过一定数量;因此新SN管理该内容和相关的ON。
3.当前SN或CM管理多个内容,但是每个内容的ON数量都不多;因此新SN管理管理其中一部分内容和相关的ON。
簇的分裂流程如下:
1.SN选择一个ON,询问它能否成为新的SN。
2.ON返回同意指令。
3.SN发送SN升级所需要的信息给ON,主要包括内容标志信息。
4.ON向调度服务器登记SN,可能登记一个或多个内容。
5.调度服务器根据ON登记的内容返回其他SN地址信息。
6.新SN和其他SN建立邻居关系。如果新SN管理多个内容,则不和其他SN建立邻居关系。
7.如果SN原来管理多个内容,则向调度服务器注销分裂给新SN的内容,不再管理这些内容。
8.通知ON切换SN。如果原来管理一个内容,则通知一部分ON切换到新SN;如果原来管理多个内容,则通知那些已不再管理内容的ON切换到新SN。
9.分裂出来的ON加入新SN。
管理同一个内容的SN之间要保持一定的连接度,也就是保持一定的邻居数量。通过SN之间的心跳消息,SN可以知道邻居SN的连接度。当SN邻居数量达到上限时,可以根据这些信息决定是否接纳新的SN作为邻居。如果新SN的连接度小于自己邻居中连接度最大的SN,则接纳新的SN作为邻居,同时与那个连接度最大的邻居断绝邻居关系。
管理多个内容的SN没有邻居SN,如果发现有其他SN管理相同的内容,当前SN将不再管理该内容。比如在上图中,如果调度服务器返回其他SN的地址信息,新SN将向调度服务器注销该内容;同时通知当前该内容的ON切换到其他SN(服务器返回的SN);以后有该内容的ON加入时,拒绝加入并返回其他SN(服务器返回的SN)的地址。
SN正常退出时的流程和簇分裂的流程类似,从ON中选择一个新SN来管理自己的内容,通知所有的ON都切换到新SN。非正常退出时,它管理的ON可以直接加入其他SN,或者先向调度服务器查询SN的地址再加入。如果簇内的ON数量很多,可能会对其他SN(或CM)和调度服务器造成一定的冲击。
在一个实施例中,SN在自己管理的ON中选择一个作为备份SN,只要它目前不是管理其他内容的SN或备份SN就同意成为备份SN。SN将需要管理的内容标志告诉备份SN,并时时保持与备份SN的同步,使得备份SN了解簇内所有ON的地址信息(分块信息不用同步)。SN同时将备份SN的地址通知其他的ON。当SN非正常退出时,ON可以直接加入该备份SN。备份SN只会接受簇内ON的加入请求(它有ON的地址信息),当加入的簇内ON数量达到一定数量时,可以判断当前SN已经失效,立即升级到SN。如果在此之前,备份SN主动探测到当前SN失效,也会升级到SN。由于网络事件的不确定性,SN失效时,不能确定备份SN和其他ON谁先探测到,所以这两种情况都可能发生。
在有备份SN存在的情况下,簇分裂时SN可以优先选择备份SN,当不满足情况的条件下再选择其他ON作为新SN。比如要分裂一个新簇来管理单个内容,但是备份SN没有缓存该内容,因此只能选择有该内容的其他ON作为新SN。
选择备份SN或新SN的依据是:在线达到一定时间(5分钟,相对比较稳定不会轻易退出),优先选择那些缓存(本内容)分块多的ON,优先选择那些正在观看本内容的ON。
当SN管理的ON数量下降时,需要合并簇。本发明实施例中,合并簇有两种情况:
1.SN和自己的邻居合并。这些SN只管理单个内容。
2.SN和CM合并。这些SN即可能管理多个内容;也可能管理单个内容,但是没有邻居节点。
当SN检测到自己管理的ON数量下降到一定值时,启动簇合并流程。如果没有邻居SN,则通知ON切换到CM,然后自己也加入CM。有多个CM时,拥有相同内容的ON会聚簇到同一个CM上。如果有邻居SN,当前SN选择一个负载最小的SN进行合并,负载信息从心跳消息中获得。通知ON切换到该SN,然后断开所有的邻居关系,自己也加入该SN。
存储处理单元604,用于处理媒体内容的内容分块信息和地址信息的记录。存储单元606,用于记录媒体内容的内容分块信息和地址信息。
请结合参看图7,本发明实施例内容缓存方法,包括如下步骤:
步骤702,将获取的媒体数据内容以内容分块的形式缓存。将媒体数据分块,以分块的形式进行存储,媒体数据包括视频帧和音频帧等。本实施例中以视频文件为例,视频文件一般可简单分为内容元数据和实际媒体数据。元数据包括整个媒体文件的整体信息和时间定位信息等,而媒体数据主要指特定的视频帧和音频帧的数据。例如在asf文件格式中,位于文件头中的Header Object(文件整体信息)和位于文件尾部的索引对象(用于进行时间定位,如Simple Index Object)可以看作内容元数据。在一个实施例中,用户节点不缓存内容元数据,用户点播时需要向CS(内容服务器,ContentServer)请求,以方便对用户的点播行为进行准入控制和其他管理。
在用户硬盘上进行缓存通常要控制缓存的大小,以免占据用户过多的存储资源,在一个实施例中,用一个单一文件来进行缓存,可以事先分配固定大小的空间,也可以在缓存过程中逐渐扩大文件大小直到设定的值。在一个实施例中,每缓存一块内容数据就新建一个文件来记录数据,并控制所有数据文件总的大小,由于缓存空间受限,随着用户不断点播收看,需要清除老的内容数据的空间来缓存新的内容数据。单一文件缓存适合用来缓存固定大小的内容分块,可以方便的执行分块替换;多文件缓存适合用来缓存不固定大小的内容分块。
例如,asf格式媒体文件的data object(数据对象)由头部和数量众多的固定大小的data packet组成。Simple Index Object中记录了时间(典型的时间间隔是1秒)和packet的对应关系。例如[30,145]就表明要拖动到第30秒的视频,需要从第145个packet开始请求数据。而由于每个packet大小相同,因此只要知道第一个packet在内容文件中的地址偏移就可以计算出需要请求的packet在文件中的偏移。在单一文件缓存的实施例中,可以预先设置每个内容分块的固定大小,然后将特定编号范围的packet存储到特定编号的内容分块中。例如,设定单一缓存文件的大小为1GBytes,内容分块大小为4Mbytes(所以一个用户节点最多能缓存256个内容分块)。例如,如果某个packet的大小为6250Bytes,那么一个分块存放4*1024*1024/6250=671个packet(分块尾部还有554个字节没有利用,不过相比分块的大小,这点浪费不很严重)。因此从第0个packet开始的连续671个packet存储在编号为0的分块上,以此类推。随着视频节目的播放,客户端每收取一个完整分块的数据,就缓存在硬盘上,可以用以下的三元组就可以索引硬盘缓存的数据:
[缓存分块号,内容标示,内容分块号]
例如,[6,点播节目名称(或内容文件名、特定内容的hash值),123]表示本地缓存文件中顺序第6块文件块的空间缓存的是某个内容的编号为123的内容分块。
当用户节点需要某个特定packet开始的数据时,首先将packet号(3533)映射成分块号(3533/671=5余178,对应该内容第5个分块上的第178个packet),然后搜索缓存有该内容分块的节点。向返回的节点请求数据时,请求的消息中要包含如下信息:
[内容标志,内容分块号,块内偏移量,请求数据的大小]
由于用户节点不缓存内容元数据,因此节点不了解内容分块内部的结构,因此节点请求数据时要指明在分块内的偏移(178*6250),而不能仅仅给出packet号。
步骤704,根据内容将普通用户节点聚簇。本实施例中,具有相同内容分块的普通用户节点可以聚为同一簇。客户端即可以作为管理节点管理一个或多个内容,也可以作为所述普通用户节点归属于一个或多个管理节点。
步骤706,选择一个或多个管理节点管理缓存同一内容的普通用户节点的聚簇,并记录聚簇中各节点的地址信息和拥有该内容的分块信息。若有多个管理节点时,管理同一内容的多个管理节点互相连接。根据普通用户节点端缓存的内容加入内容特定的管理节点,上传所述普通用户节点缓存的内容的分块索引信息。所述普通用户节点向所述管理节点登记最新缓存的内容分块信息,并向所述管理节点注销被替换的内容分块信息。普通用户节点缓存的某一内容所有的分块全部被替换后,退出所述某一内容的管理节点。若管理节点的内容分块全部被替换后,不再作为该内容的管理节点。所述管理节点的数量过多时,通过超级节点来管理普通节点。若所述超级节点管理的管理节点过多时,通过新的超级节点来分担所述超级节点的负载。若所述管理节异常退出时,也可以通过备份管理节点来接替管理节点的功能。所述管理节点的记录的内容分块信息注册到中心调度服务器上。
聚簇的管理还包括簇的分裂和合并。当SN或CM管理的ON数量过多时,需要一个新SN来管理一部分ON,从而降低当前SN或CM的负载。
本发明实施例中,簇分裂有3种情况:
1.当前SN或CM管理一个内容,因此新SN也管理该内容。
2.当前SN或CM管理多个内容,其中一个内容的ON数量超过一定数量;因此新SN管理该内容和相关的ON。
3.当前SN或CM管理多个内容,但是每个内容的ON数量都不多;因此新SN管理管理其中一部分内容和相关的ON。
簇的分裂流程如下:
1.SN选择一个ON,询问它能否成为新的SN。
2.ON返回同意指令。
3.SN发送SN升级所需要的信息给ON,主要包括内容标志信息。
4.ON向调度服务器登记SN,可能登记一个或多个内容。
5.调度服务器根据ON登记的内容返回其他SN地址信息。
6.新SN和其他SN建立邻居关系。如果新SN管理多个内容,则不和其他SN建立邻居关系。
7.如果SN原来管理多个内容,则向调度服务器注销分裂给新SN的内容,不再管理这些内容。
8.通知ON切换SN。如果原来管理一个内容,则通知一部分ON切换到新SN;如果原来管理多个内容,则通知那些已不再管理内容的ON切换到新SN。
9.分裂出来的ON加入新SN。
管理同一个内容的SN之间要保持一定的连接度,也就是保持一定的邻居数量。通过SN之间的心跳消息,SN可以知道邻居SN的连接度。当SN邻居数量达到上限时,可以根据这些信息决定是否接纳新的SN作为邻居。如果新SN的连接度小于自己邻居中连接度最大的SN,则接纳新的SN作为邻居,同时与那个连接度最大的邻居断绝邻居关系。
管理多个内容的SN没有邻居SN,如果发现有其他SN管理相同的内容,当前SN将不再管理该内容。比如在上图中,如果调度服务器返回其他SN的地址信息,新SN将向调度服务器注销该内容;同时通知当前该内容的ON切换到其他SN(服务器返回的SN);以后有该内容的ON加入时,拒绝加入并返回其他SN(服务器返回的SN)的地址。
SN正常退出时的流程和簇分裂的流程类似,从ON中选择一个新SN来管理自己的内容,通知所有的ON都切换到新SN。非正常退出时,它管理的ON可以直接加入其他SN,或者先向调度服务器查询SN的地址再加入。如果簇内的ON数量很多,可能会对其他SN(或CM)和调度服务器造成一定的冲击。
在一个实施例中,SN在自己管理的ON中选择一个作为备份SN,只要它目前不是管理其他内容的SN或备份SN就同意成为备份SN。SN将需要管理的内容标志告诉备份SN,并时时保持与备份SN的同步,使得备份SN了解簇内所有ON的地址信息(分块信息不用同步)。SN同时将备份SN的地址通知其他的ON。当SN非正常退出时,ON可以直接加入该备份SN。备份SN只会接受簇内ON的加入请求(它有ON的地址信息),当加入的簇内ON数量达到一定数量时,可以判断当前SN已经失效,立即升级到SN。如果在此之前,备份SN主动探测到当前SN失效,也会升级到SN。由于网络事件的不确定性,SN失效时,不能确定备份SN和其他ON谁先探测到,所以这两种情况都可能发生。
在有备份SN存在的情况下,簇分裂时SN可以优先选择备份SN,当不满足情况的条件下再选择其他ON作为新SN。比如要分裂一个新簇来管理单个内容,但是备份SN没有缓存该内容,因此只能选择有该内容的其他ON作为新SN。
选择备份SN或新SN的依据是:在线达到一定时间(5分钟,相对比较稳定不会轻易退出),优先选择那些缓存(本内容)分块多的ON,优先选择那些正在观看本内容的ON。
当SN管理的ON数量下降时,需要合并簇。合并簇有两种情况:
1.SN和自己的邻居合并。这些SN只管理单个内容。
2.SN和CM合并。这些SN即可能管理多个内容;也可能管理单个内容,但是没有邻居节点。
当SN检测到自己管理的ON数量下降到一定值时,启动簇合并流程。如果没有邻居SN,则通知ON切换到CM,然后自己也加入CM。有多个CM时,拥有相同内容的ON会聚簇到同一个CM上。如果有邻居SN,当前SN选择一个负载最小的SN进行合并,负载信息从心跳消息中获得。通知ON切换到该SN,然后断开所有的邻居关系,自己也加入该SN。
请结合参看图8,本发明实施例内容查找方法包括如下步骤:
步骤802,接收普通用户节点向注册中心服务器发送的查询媒体数据的特定的内容分块的请求,本实施例中,用户通过注册中心服务器获得管理节点的地址,当然用户若知道管理节点的地址也可以不通过注册中心服务器来获得。
步骤804,注册中心服务器向普通用户节点提供管理节点的地址信息。
步骤806,管理节点接收普通用户节点发送的查询媒体数据的特定的内容分块的请求。本实施例中以视频文件为例,视频文件一般可简单分为内容元数据和实际媒体数据。元数据包括整个媒体文件的整体信息和时间定位信息等,而媒体数据主要指特定的视频帧和音频帧的数据。例如在asf文件格式中,位于文件头中的Header Object(文件整体信息)和位于文件尾部的索引对象(用于进行时间定位,如Simple Index Object)可以看作内容元数据。在一个实施例中,用户节点不缓存内容元数据,用户点播时需要向CS(内容服务器,Content Server)请求,以方便对用户的点播行为进行准入控制和其他管理。
在用户硬盘上进行缓存通常要控制缓存的大小,以免占据用户过多的存储资源,在一个实施例中,用一个单一文件来进行缓存,可以事先分配固定大小的空间,也可以在缓存过程中逐渐扩大文件大小直到设定的值。在一个实施例中,每缓存一块内容数据就新建一个文件来记录数据,并控制所有数据文件总的大小,由于缓存空间受限,随着用户不断点播收看,需要清除老的内容数据的空间来缓存新的内容数据。单一文件缓存适合用来缓存固定大小的内容分块,可以方便的执行分块替换;多文件缓存适合用来缓存不固定大小的内容分块。
例如,asf格式媒体文件的data object(数据对象)由头部和数量众多的固定大小的data packet组成。Simple Index Object中记录了时间(典型的时间间隔是1秒)和packet的对应关系。例如[30,145]就表明要拖动到第30秒的视频,需要从第145个packet开始请求数据。而由于每个packet大小相同,因此只要知道第一个packet在内容文件中的地址偏移就可以计算出需要请求的packet在文件中的偏移。在单一文件缓存的实施例中,可以预先设置每个内容分块的固定大小,然后将特定编号范围的packet存储到特定编号的内容分块中。例如,设定单一缓存文件的大小为1GBytes,内容分块大小为4Mbytes(所以一个用户节点最多能缓存256个内容分块)。例如,如果某个packet的大小为6250Bytes,那么一个分块存放4*1024*1024/6250=671个packet(分块尾部还有554个字节没有利用,不过相比分块的大小,这点浪费不很严重)。因此从第0个packet开始的连续671个packet存储在编号为0的分块上,以此类推。随着视频节目的播放,客户端每收取一个完整分块的数据,就缓存在硬盘上,可以用以下的三元组就可以索引硬盘缓存的数据:
[缓存分块号,内容标示,内容分块号]
例如,[6,点播节目名称(或内容文件名、特定内容的hash值),123]表示本地缓存文件中顺序第6块文件块的空间缓存的是某个内容的编号为123的内容分块。
当用户节点需要某个特定packet开始的数据时,首先将packet号(3533)映射成分块号(3533/671=5余178,对应该内容第5个分块上的第178个packet),然后搜索缓存有该内容分块的节点。向返回的节点请求数据时,请求的消息中要包含如下信息:
[内容标志,内容分块号,块内偏移量,请求数据的大小]
由于用户节点不缓存内容元数据,因此节点不了解内容分块内部的结构,因此节点请求数据时要指明在分块内的偏移(178*6250),而不能仅仅给出packet号。
步骤808,查询记录的缓存的或管理的普通用户节点缓存的内容分块信息,或向其他相连的管理节点查询拥有该内容分块的节点的地址信息。当用户节点需要某个特定packet开始的数据时,首先将packet号(3533)映射成分块号(3533/671=5余178,对应该内容第5个分块上的第178个packet),然后搜索缓存有该内容分块的节点。向返回的节点请求数据时,请求的消息中要包含如下信息:
[内容标志,内容分块号,块内偏移量,请求数据的大小]
由于用户节点不缓存内容元数据,因此节点不了解内容分块内部的结构,因此节点请求数据时要指明在分块内的偏移(178*6250),而不能仅仅给出packet号。
步骤810,向普通用户节点发送内容分块信息或所述内容分块节点的地址信息,若本管理节点存在内容分块信息的记录直接向用户提供,若本管理节点不存在,并且该内容存储与本管理节点的备份管理节点时,向用户提供其他备份管理节点的制信息。
请结合参看图9,本发明实施例普通用户节点启动时加入网络的流程包括:
1、与中心调度服务器通讯请求加入,告知自己缓存的内容。内容可能有多个。
2、调度服务器根据用户节点的地址信息(典型的是指IP/Port)确定它所在的边缘网络,然后返回属于该边缘网络的CS和CM地址信息。另外针对节点缓存的每个内容,调度服务器都会返回一定数量SN。如果某个内容没有特定的SN,节点默认加入到CM。
3、用户节点以ON的身份向管理不同内容的SN请求加入,消息中要指定内容标志。
4、SN同意ON加入。如果SN拒绝,ON可以继续向其他SN请求,如果都失败则请求加入到某个特定的CM。
5、ON向SN(或CM)登记特定内容的分块信息。
6、当用户观看时,经常要缓存新的内容分块,有时还要替换旧的内容分块,这些本地缓存的变化都要通知自己所属的SN。
请结合参看图10,本发明实施例簇分裂包括
1.SN选择一个ON,询问它能否成为新的SN。
2.ON返回同意指令。
3.SN发送SN升级所需要的信息给ON,主要包括内容标志信息。
4.ON向调度服务器登记SN,可能登记一个或多个内容。
5.调度服务器根据ON登记的内容返回其他SN地址信息。
6.新SN和其他SN建立邻居关系。如果新SN管理多个内容,则不和其他SN建立邻居关系。
7.如果SN原来管理多个内容,则向调度服务器注销分裂给新SN的内容,不再管理这些内容。
8.通知ON切换SN。如果原来管理一个内容,则通知一部分ON切换到新SN;如果原来管理多个内容,则通知那些已不再管理内容的ON切换到新SN。
9.分裂出来的ON加入新SN。
本领域普通技术人员可以理解,上述方法中的全部或部分步骤可以通过程序指令相关的硬件完成,所述程序可以存储于一计算机可读的存储介质中,该计算机可读存储介质,如ROM、RAM和光盘等。
本发明实施例通过普通用户节点将接收媒体传输过程中的获取的媒体数据以内容分块的形式缓存,并根据内容将普通用户节点聚簇,选择一个或多个管理节点管理缓存同一内容的普通用户节点的聚簇,使得普通用户节点能够方便、高效地利用其他用户存储的内容,提高了用户查找的准确率和查找效率,克服了现有技术中搜索效率低的缺点,降低了服务器的负担。通过将聚簇进行合并和分裂防止了管理节点由于负载过大而造成的不稳定,通过备份管理节点的分块信息,使得在管理节点不在线时,也能够获得请求访问的分块内容数据。通过将分块信息和聚簇信息注册到中心调度服务器上,可以使得用户轻松的找到每一个管理节点,提高了点对点媒体传输系统的效率。通过注销被替换的内容分块,节省了系统的资源,提高了系统有效资源的利用率。通过登记最新缓存的内容分块信息,使得内容分块信息可以得到更新,使得用户请求时获得的是最新的内容分块信息。通过簇管理器来管理内容分块信息,使得系统的稳定性得到了加强,保证了系统的有效数据可以及时提供。通过多个管理节点互相连接,使得系统中的管理节点可以得到负载均衡,并且提高了系统的处理能力。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (27)
1.一种内容缓存方法,其特征在于,该方法包括:
将获取的媒体数据内容以内容分块的形式缓存;
根据所述内容将普通用户节点聚簇,将缓存了相同内容的普通用户节点聚集在一起;
选择一个或多个管理节点管理缓存同一内容的普通用户节点的聚簇,并记录聚簇中各节点的地址信息和拥有该内容的分块信息。
2.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
若有多个管理节点时,管理同一内容的多个管理节点互相连接。
3.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
根据普通用户节点端缓存的内容加入内容特定的管理节点,上传所述普通用户节点缓存的内容的分块索引信息。
4.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
普通用户节点缓存的某一内容所有的分块全部被替换后,退出所述某一内容的管理节点。
5.如权利要求1所述的内容缓存方法,其特征在于,所述媒体数据包括:音频帧和/或视频帧的数据。
6.如权利要求1所述的内容缓存方法,其特征在于,所述以内容分块的形式缓存包括:采用固定大小的内容分块来缓存媒体数据。
7.如权利要求1所述的内容缓存方法,其特征在于,所述管理节点包括:簇管理器CM和/或超级节点SN,所述簇管理器为设置在服务器上管理簇的管理工具,所述超级节点为客户端。
8.如权利要求7所述的内容缓存方法,其特征在于,该方法还包括:将所述SN或CM与内容对应的信息注册到中心调度服务器上。
9.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
所述普通用户节点向所述管理节点登记最新缓存的内容分块信息,并向所述管理节点注销被替换的内容分块信息。
10.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
若管理节点的内容分块全部被替换后,不再作为该内容的管理节点。
11.如权利要求10所述的内容缓存方法,其特征在于,该方法还包括:
通过超级节点SN来管理普通节点,若所述超级节点SN管理的管理节点过多时,进行簇分裂,产生新的簇和SN来分组管理。
12.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
若所述管理节点负载过大时,通过簇分裂,通过选择一个普通节点来管理分裂后的新的簇。
13.如权利要求1所述内容缓存方法,其特征在于,所述内容分块包括:缓存分块号、内容标识和内容分块号。
14.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
根据所述内容分块将普通用户节点聚簇进行簇合并和/或簇分裂。
15.如权利要求1所述的内容缓存方法,其特征在于,该方法还包括:
客户端即可以作为管理节点管理一个或多个内容,也可以作为所述普通用户节点归属于一个或多个管理节点。
16.一种内容查找方法,其特征在于,该方法包括:
接收普通用户节点发送的查询媒体数据的特定的内容分块的请求;
查询记录的缓存的或管理的普通用户节点缓存的内容分块信息,或向其他相连的管理节点查询拥有该内容分块的节点的地址信息;
向普通用户节点发送所述内容分块信息或所述内容分块节点的地址信息。
17.如权利要求16所述的内容查找方法,其特征在于,所述媒体数据包括:音频帧和/或视频帧的数据。
18.如权利要求16所述的内容查找方法,其特征在于,所述查询媒体数据的特定的内容分块的请求包括:内容标识和分块编号。
19.如权利要求16所述的内容查找方法,其特征在于,所述向普通用户节点发送所述内容分块节点的地址信息包括:节点地址信息、内容分块号和分块数量。
20.如权利要求16所述的内容查找方法,其特征在于,该方法还包括:
普通用户通过中心调度服务器确定管理节点的地址信息。
21.一种点对点媒体传输系统,其特征在于,该系统包括:
普通用户节点,用于将获取的媒体数据内容以内容分块的形式缓存,将缓存了相同内容的普通用户节点聚集在一起;
管理节点,用于管理根据所述内容将普通用户节点聚簇,并记录该内容的内容分块信息和地址信息。
22.如权利要求21所述的点对点媒体传输系统,其特征在于,该系统还包括:
中心调度服务器,用于注册超级节点管理的内容,根据内容返回特定区域内的超级节点信息。
23.如权利要求22所述的点对点媒体传输系统,其特征在于,该系统还包括:
备份管理节点,用于在管理节点异常退出时接替所述管理节点的功能。。
24.一种管理节点,其特征在于,所述管理节点包括:
查询请求接收单元,用于接收普通用户节点发送的查询媒体数据的特定的内容分块的请求;
查询处理单元,用于查询普通节点缓存的内容分块信息,或向其他相连的管理节点查询拥有该内容分块的节点的地址信息;
查询结果发送单元,用于向普通用户节点发送所述内容分块信息或所述内容分块节点的地址信息。
25.如权利要求24所述的管理节点,其特征在于,所述管理节点还包括:
内容分块存储单元,用于存储媒体数据内容分块信息和地址信息。
26.如权利要求24所述的管理节点,其特征在于,所述管理节点还包括:
注册请求加入单元,用于向注册中心服务器注册记录的内容分块信息。
27.如权利要求24所述的管理节点,其特征在于,所述管理节点还包括:
备份请求单元,用于在管理节点异常退出时,请求备份管理节点管理所述内容分块信息。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710305850.2A CN101472166B (zh) | 2007-12-26 | 2007-12-26 | 一种内容缓存、查询方法及点对点媒体传输系统 |
PCT/CN2008/073161 WO2009079948A1 (fr) | 2007-12-26 | 2008-11-22 | Procédé de mise en tampon et d'interrogation de contenu, et système de transmission multimédia point à point |
EP08863701.2A EP2227016B1 (en) | 2007-12-26 | 2008-11-22 | A content buffering, querying method and point-to-point media transmitting system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710305850.2A CN101472166B (zh) | 2007-12-26 | 2007-12-26 | 一种内容缓存、查询方法及点对点媒体传输系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101472166A CN101472166A (zh) | 2009-07-01 |
CN101472166B true CN101472166B (zh) | 2011-11-16 |
Family
ID=40800717
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710305850.2A Active CN101472166B (zh) | 2007-12-26 | 2007-12-26 | 一种内容缓存、查询方法及点对点媒体传输系统 |
Country Status (3)
Country | Link |
---|---|
EP (1) | EP2227016B1 (zh) |
CN (1) | CN101472166B (zh) |
WO (1) | WO2009079948A1 (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122306A (zh) * | 2011-03-28 | 2011-07-13 | 中国人民解放军国防科学技术大学 | 一种数据处理方法及应用该方法的分布式文件系统 |
CN103179430A (zh) * | 2011-12-20 | 2013-06-26 | 中国电信股份有限公司 | 基于云计算的音视频内容转码方法、装置和服务器 |
CN103294726A (zh) * | 2012-03-05 | 2013-09-11 | 日电(中国)有限公司 | 用于处理视频文件的方法和设备 |
US9526091B2 (en) | 2012-03-16 | 2016-12-20 | Intel Corporation | Method and apparatus for coordination of self-optimization functions in a wireless network |
CN102722555A (zh) * | 2012-05-28 | 2012-10-10 | 北京网尚数字电影院线有限公司 | 一种多媒体文件的缓存方法及系统 |
CN103227817B (zh) * | 2013-03-28 | 2016-08-17 | 广东省电信规划设计院有限公司 | P2p网络超级节点选择方法和系统 |
CN103338272B (zh) * | 2013-07-23 | 2016-08-10 | 星云融创(北京)科技有限公司 | 一种内容分发网络及其缓存实现方法 |
CN104580274B (zh) * | 2013-10-12 | 2018-06-19 | 中国电信股份有限公司 | 内容分发网络中的内容置换方法与系统、节点 |
CN104821961B (zh) * | 2015-04-16 | 2018-08-21 | 广东技术师范学院 | 一种基于节点社团重要度的icn缓存方法 |
CN106022161B (zh) * | 2016-05-13 | 2018-09-25 | 天脉聚源(北京)传媒科技有限公司 | 一种数据处理方法及装置 |
CN106533733B (zh) * | 2016-08-30 | 2019-09-27 | 中国科学院信息工程研究所 | 基于网络分簇和哈希路由的ccn协同缓存方法及装置 |
CN106888261A (zh) * | 2017-02-27 | 2017-06-23 | 深圳市先河系统技术有限公司 | 一种分布式文件传输方法、服务器及私有云设备 |
CN111628879B (zh) * | 2019-02-27 | 2024-10-29 | 北京奇虎科技有限公司 | 一种业务网络的实现方法和装置 |
CN110769023B (zh) * | 2019-08-21 | 2022-04-19 | 广东工业大学 | 一种基于智能家庭网关的点对点内容分发网络系统 |
CN110839166B (zh) * | 2019-11-19 | 2022-01-25 | 中国联合网络通信集团有限公司 | 一种数据共享方法及装置 |
CN111432231B (zh) * | 2020-04-26 | 2023-04-07 | 中移(杭州)信息技术有限公司 | 边缘网络的内容调度方法、家庭网关、系统、及服务器 |
CN112463653B (zh) * | 2020-12-15 | 2024-07-23 | 北京金山云网络技术有限公司 | 数据刷新的方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148344A1 (en) * | 2003-11-19 | 2004-07-29 | Serenade Systems | Content distribution architecture |
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的系统及方法 |
CN1874284A (zh) * | 2006-06-21 | 2006-12-06 | 中国科学院计算技术研究所 | 一种用于构建簇状对等网络的分布式聚集方法 |
CN1909509A (zh) * | 2006-07-19 | 2007-02-07 | 华为技术有限公司 | 在媒体分发网络中实现视频直播的系统、方法和客户端 |
CN101060621A (zh) * | 2007-04-28 | 2007-10-24 | 西安交通大学 | 易于管理的实时流媒体p2p网络传输系统设计方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1258921C (zh) * | 2002-07-30 | 2006-06-07 | 中兴通讯股份有限公司 | 分布式视频点播系统及其实现数据存储和访问的方法 |
JP2004127189A (ja) * | 2002-10-07 | 2004-04-22 | Matsushita Electric Ind Co Ltd | ゲートウェイ装置、コンテンツ転送システム及びコンテンツ転送方法 |
US7174385B2 (en) | 2004-09-03 | 2007-02-06 | Microsoft Corporation | System and method for receiver-driven streaming in a peer-to-peer network |
-
2007
- 2007-12-26 CN CN200710305850.2A patent/CN101472166B/zh active Active
-
2008
- 2008-11-22 WO PCT/CN2008/073161 patent/WO2009079948A1/zh active Application Filing
- 2008-11-22 EP EP08863701.2A patent/EP2227016B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040148344A1 (en) * | 2003-11-19 | 2004-07-29 | Serenade Systems | Content distribution architecture |
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的系统及方法 |
CN1874284A (zh) * | 2006-06-21 | 2006-12-06 | 中国科学院计算技术研究所 | 一种用于构建簇状对等网络的分布式聚集方法 |
CN1909509A (zh) * | 2006-07-19 | 2007-02-07 | 华为技术有限公司 | 在媒体分发网络中实现视频直播的系统、方法和客户端 |
CN101060621A (zh) * | 2007-04-28 | 2007-10-24 | 西安交通大学 | 易于管理的实时流媒体p2p网络传输系统设计方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2009079948A1 (fr) | 2009-07-02 |
EP2227016A1 (en) | 2010-09-08 |
CN101472166A (zh) | 2009-07-01 |
EP2227016A4 (en) | 2011-01-19 |
EP2227016B1 (en) | 2016-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101472166B (zh) | 一种内容缓存、查询方法及点对点媒体传输系统 | |
US8417816B2 (en) | Topology aware cache cooperation | |
CN101588468B (zh) | 一种基于p2p的媒体播放方法、装置和系统 | |
CN101594292A (zh) | 内容发布方法、服务重定向方法及系统、节点设备 | |
CN104469392B (zh) | 一种视频文件存储方法及装置 | |
CN104113735A (zh) | 一种分布式视频监控存储系统及其方法 | |
CN101741731A (zh) | 内容分发网络中内容元数据的存储、查询方法及管理系统 | |
CN101026744A (zh) | 分布式流媒体分发系统及流媒体内存缓冲及调度分发方法 | |
CN101610162A (zh) | 一种基于对等存储网络提供内容的方法、系统和设备 | |
CN113268472B (zh) | 一种分布式数据存储系统及方法 | |
CN102148850A (zh) | 一种集群系统的业务处理方法及集群系统 | |
CN108563771B (zh) | 基于区块链的大文件管理系统及方法 | |
US20120016916A1 (en) | Method and Apparatus for Processing and Updating Service Contents in a Distributed File System | |
CN107888666A (zh) | 一种跨地域数据存储系统以及数据同步方法和装置 | |
CN102664914A (zh) | 一种IS/DFS-Image分布式文件存储查询系统 | |
CN108574666B (zh) | 一种数据流调度方法、装置和系统 | |
CN102833331A (zh) | 云存储系统及其元数据写入方法、元数据读取方法 | |
US6973536B1 (en) | Self-adaptive hybrid cache | |
CN101344882B (zh) | 数据查询方法、插入方法及删除方法 | |
JP6201438B2 (ja) | コンテンツ配信方法、コンテンツ配信サーバ及びサムネイル収集プログラム | |
CN102006328A (zh) | 一种p2p流媒体分布式网络系统及其数据传输方法 | |
CN101998144A (zh) | 内容管理方法及系统 | |
CN101778131A (zh) | 数据同步系统 | |
CN102624932A (zh) | 基于索引的异地云数据同步方法 | |
CN111737052A (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 |