CN101330434A - 适用于电信级p2p应用的节点内容存储方法 - Google Patents
适用于电信级p2p应用的节点内容存储方法 Download PDFInfo
- Publication number
- CN101330434A CN101330434A CNA2007101121535A CN200710112153A CN101330434A CN 101330434 A CN101330434 A CN 101330434A CN A2007101121535 A CNA2007101121535 A CN A2007101121535A CN 200710112153 A CN200710112153 A CN 200710112153A CN 101330434 A CN101330434 A CN 101330434A
- Authority
- CN
- China
- Prior art keywords
- content
- node
- burst
- level
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种适用于电信级P2P应用的节点内容存储方法,其中所有内容源都采用统一的编码。首先,在内容源的制作阶段对数据内容按照规定的一级分片单元大小进行物理分割,以形成一级分片,使数据内容以一级分片为单位在各P2P节点处被存储,然后,P2P节点按照规定的二级分片单元大小对一级分片的内容进行进一步的逻辑分块,形成二级分片,在P2P节点之间实现对等服务时通过二级分片来传送内容。当二级分片被下载到对端的对等节点之后,被重组成一级分片并被存储。这种新颖的P2P节点内容存储方法能够满足电信级业务运营的要求。
Description
技术领域
本发明涉及一种适用于电信级P2P(对等)应用的节点内容存储方法。
背景技术
目前,P2P应用最广的领域就是以下载文件为代表的资源共享领域,各种文件共享软件层出不穷,例如BitTorrent、eMule、KazaA、国内的KuGoo、PP点点通等,其中以BitTorrent和eMule的使用最为广泛。
以上的各种应用都采用了自己独特的存储方式,这些存储方式各具特点,但由于这些应用并不是为了提供电信级的业务运营所开发的,其底层的内容存储架构有时候并不能完全满足电信级业务运营的要求。
发明内容
为了开发出基于P2P的电信级资源共享型应用(主要是内容共享的P2P应用),需要根据媒体电信网(MTN)的整体框架要求进行P2P节点的内容存储设计,以区别于现有的各种内容共享型P2P应用的存储方案。
MTN(媒体电信网)是以集中控制、分布传输的P2P网络架构为基础的综合媒体服务系统。因此,在设计时对系统中各节点的内容共享和媒体播放等应用的内容存储作了深入考虑。本发明的目的就是给出一种应用在该系统中的内容存储方案,其主要通过以下手段来实现:
1.采用统一的内容源编码机制
在本发明中,为了适应电信级P2P应用的要求,所有的内容都采用了统一的编码,从而确保了内容源在数据库中的唯一性。
2.内容源采用二级分片机制
在本发明的技术方案中,为了P2P的快速存储、快速检索和传送的需要,内容源都采用二级分片机制。
第一级分片主要用于内容源的制作阶段。各类数字媒体内容(可以经过加密,也可以是原始内容)按一级分片单元的大小进行物理分割后进行存储,这是系统对内容的第一次分割,各个P2P终端节点以一级分片为单位完成内容交换,而来自不同内容源的一级分片将组织到一个终端下的一个或多个文件进行存储。
二级分片主要用于P2P节点之间的传送阶段,在P2P节点之间提供对等(P2P)服务时,P2P节点对第一级分片的内容作进一步的逻辑分块,形成第二级分片,以便更快速地提供内容的共享。二级分片是在一级分片内部再进行逻辑分片,而物理上不再分开存储。一级分片和二级分片的大小在后面的具体实施方式部分做了示例性的描述。
3.片断重组机制
在本发明的技术方案中,各个P2P节点在收到内容数据包后,把内容数据包放置到接收缓存区中,并根据内容片断标识进行重组和内容校验。
各个二级分片在完成下载后将在内存中重组成完整的一级分片,每完成一个一级分片的重组,节点就向已经建立连接的对端PEER通告一次资源更新,并将一级分片存储到硬盘上
4.内存存储管理
在本发明的技术方案中,每个P2P节点都开辟出一块内存作为系统缓存,节点根据缓存的大小在缓存区中保存多个一级分片,当节点需要上传数据时,优先上传在缓存内保存的数据片断,只有当缓存区内没有需要上传的数据时,才把硬盘数据读入内存,以减少对硬盘的读写。在播放实时节目时,媒体播放器根据节点设备的性能另建缓存区,由资源管理模块根据播放进度控制从内存或磁盘中载入相应内容解密后的数据。
5.内容的结构索引
在根据本发明的技术方案中,对于某一个具体的数字媒体内容,P2P节点可能只保存了部分内容片断,而并不一定在硬盘上保存完整的内容源文件。为了加快资源内容的查找速度,需要为每个内容源文件建立相应的索引文件。在这种情况下,索引文件和内容源共同构成资源要素,二者必须同时存在,缺一不可。
片断资源索引由两个索引文件构成,通过两级索引可定位硬盘存储区域保存的每个内容片断。每个P2P节点需要保证索引文件同已有的内容片断对应一致,每次启动时都需要对片断和索引进行检查校对。索引文件会根据文件上传、下载情况实时更新。
6.异步扫描老化片断机制
在根据本发明的技术方案中,节点终端定时扫描磁盘上的内容存储文件,找出内容“老化”的一级分片,并打上可以重写的标志,以便节点在写入新的内容片断时直接覆盖。
相对于现有技术,本发明作为以集中控制、分布传输的P2P网络结构为基础的综合媒体服务系统(MTN)的重要组成部分,提供了一套符合电信级业务运营所需要的P2P节点的内容存储方案。
附图说明
下面参考附图来描述本发明所述的电信级业务运营所需要的P2P节点的内容存储方案。如图所示:
图1示出了内容分片的格式。
图2示出了内容索引及内容存储之间的关系。
图3示出了一级索引。
图4示出了二级索引。
图5示出了内容重组分片。
具体实施方式
根据本发明,内容源采用了两级分片机制,其中一级分片主要用于内容源的制作阶段,而二级分片主要用于P2P节点之间的传送阶段。图1示出了根据本发明的节点内容格式,其中一级分片的大小例如为2M字节,以ContentID+PieceID作为唯一的标识;二级分片的单位例如是64K字节。当一个文件最后的分片不足64K字节时,通过总的文件长度和分片数量计算出其实际的有效长度,而无需以填充的方式延长至64K字节的长度。每个一级分片内最多可包含32个64K字节的二级分片。
在一级分片中,各类数字媒体内容(可以是经过加密的内容,也可以是原始内容)按照所规定的一级分片单元的大小(如2M字节)进行物理分割,之后进行存储,这是系统对内容的第一次分割。此时各个P2P终端节点以一级分片为单位完成内容交换,而来自不同内容源的一级分片将被组织到同一个终端下的一个或多个文件中进行存储。在P2P节点之间提供对等服务时,P2P节点对一级分片的内容做进一步的逻辑分块,形成二级分片,以便更快速地提供内容的共享。二级分片是在一级分片内部再进行的逻辑分片,在物理上不再分开存储。
在图2中示出了索引文件和内容存储文件之间的关系。在节点被初始化时,在硬盘上建立索引文件和内容存储文件,这里的索引文件有两个,分别是一级索引文件和二级索引文件,其通过索引字段来实现内容片断的快速定位和读写。
其中,首先通过一级索引确定由ContentID指定的第一个片断在二级索引中的位置,然后通过二级索引指出该ContentID所对应的每个片断在存储区域中的具体位置。
在图3中给出了一级索引各项记录的结构定义,其中一级索引包括多个下述记录:
1)ContentID,其作为标识内容资源的唯一代码;
2)第二个字节包括shared tag(1比特)、DRM tag(2比特)和5个比特的保留位,其中shared tag标识该内容是否对外提供共享,0表示不提供共享,1表示提供共享;DRM tag标识该内容是否经过DRM加密,00表示无DRM加密,01表示经过电信的DRM系统加密,10表示经过ICP提供的DRM系统的加密,而11保留;
3)upload_count,其表示对片断上传的计数,以便系统对用户的上传进行统计;
4)piece-count,其用于记录客户端已拥有的完整一级分片的数量;
5)content_length,其用于记录完整内容文件的长度(以字节为单位)。通过这个参数可计算出最后一个分片(长度不定,可能小于2M)的PieceID及其长度;
6)create_date,其表示该索引文件在存储系统中的建立时间;
7)modified_date,其表示该索引文件的最近更新时间;
8)first_piece_id,其记录与Content_ID相关的第一个一级分片ID;
9)first_piece_index,其记录第一个一级分片在二级索引中对应的索引位置。
图4中给出了二级索引中各项记录的结构定义。其中二级索引使用与存储区域大小相对应的定长文件保存,通过偏移量来定位记录位置。二级索引由多个下述记录构成:
1)Piece_ID,其长度为4个字节,用于记录已经存储的正确的一级分片ID;
2)save_area_seq:其长度为2个字节,用于记录该分片存储于哪个区域;
3)next_piece_pointer,其长度为4个字节,用于记录下一个分片在二级分片中的位置;
4)data_pointer,其长度为4个字节,用于记录在存储区域中片断数据的存储位置;
5)created_data,其长度为4个字节,用于记录片断建立的日期;
6)rewritable tag:其长度为1比特,用于记录片断是否可重写;
7)reserved:其长度为7比特,保留。
除了建立上述两个索引文件外,每个P2P节点在初始化阶段还根据节点性能划分出一个不小于512M大小的硬盘存储区域,在建立索引文件后,系统将建立一个或多个内容存储文件,文件的数目根据用户的要求进行设置。所有已经下载的片断都被存放在该区域之中。
在具体实现时,每个P2P节点都需要开辟出一块内存作为系统缓存,该缓存的大小可默认为32M字节,也可以根据进行人工或动态的调节,但不应小于10M字节。节点根据缓存的大小在缓存区中保存多个一级分片,当节点需要上传数据时,优先上传在缓存区内保存的数据片断,只有当缓存区内没有需要上传的数据时,才把硬盘数据读入内存,以减少对硬盘的读写。
当节点接收到数据写入请求时,根据数据的从属关系和顺序,把数据重组成一级分片,保存在内存区域。在一般情况下首先完成多个一级分片组装,再把内存中的缓存数据写入硬盘的内容存储文件。如果内存缓存已满,则马上将一部分缓存数据写入硬盘的内容存储文件,同时释放一部分内存的缓存空间。
分片的重组机制在图5中给出。其中各个二级分片(64K的内容块)完成下载后将在内存中重新组成完整的一级分片。每完成一个2M字节大小的标准内容块。节点就向已经建立连接的对端对等节点(PEER)报告一次资源更新,并将一级分片存储到硬盘上的内容存储文件中。
当节点接收到数据读取请求时,根据请求的类型访问内容缓存,读取指定数据并返回结果。当内容缓存不能提供指定的内容时,以一级分片的大小为单位从硬盘上的内容存储文件中读出内容数据。
当节点接收到数据读写硬盘的请求时,首先许可按照内容数据在硬盘中的组织方式来定位内容在硬盘中的存放位置,即进行内容的检索。
在进行一级分片检索时,节点首先在一级检索中查找ContentID,如果查找成功,则根据shared tag判断内容是否对外共享,并根据DRM tag判断内容是否经过DRM加密,然后根据first_piece_index找到该ContentID所标识的第一个一级分片在二级索引中对应的索引位置。
然后,定位二级索引中的PieceID,通过save_area_seq得到硬盘存储文件的对应的序列号,并根据data_pointer得到该一级分片在对应的硬盘存储文件中的存储位置。如果该PieceID不是需要检索的一级分片,则需要遍历二级索引文件查询,具体方法是根据next_piece_pointer指针得到下一个PieceID的偏移量,依次执行,直到返回查询成功或者失败的结果为止,如果成功则继续打开对应的存储文件,读出数据。
节点终端定时扫描硬盘上的内容存储文件,根据created_date找出内容“老化”的一级分片。如果符合老化规则,则在rewritable tag打上可以重写的标志。
当节点需要把数据存入硬盘上的内容存储文件时,首先需要遍历二级索引文件,把rewritable tag标记为可以重写的分片,通过save_area_seq找出对应的存储文件,根据data_pointer指针定位到相应位置,并以一级文件的大小为单位向硬盘写入内容数据,然后依次更新二级索引及一级索引的对应数据项。
Claims (12)
1.一种用于电信级P2P应用的节点内容存储方法,其中所有内容源都采用统一的编码,其特征在于,首先,在内容源的制作阶段对数据内容按照规定的一级分片单元大小进行物理分割,以形成一级分片,使数据内容以一级分片为单位在各P2P节点处被存储,然后,P2P节点按照规定的二级分片单元大小对一级分片的内容进行进一步的逻辑分块,形成二级分片,在P2P节点之间实现对等服务时通过二级分片来传送内容,当二级分片被下载到对端的对等节点之后,被重组成一级分片并被存储。
2.如权利要求1所述的方法,其特征在于,各个P2P节点在其硬盘上建立索引文件并划分出硬盘存储区域,所述索引文件包括一级索引和二级索引,所述一级索引确定了内容片断在二级索引中的位置,而二级索引指出了该内容片断在存储区域中的具体位置,在建立索引文件后,P2P节点在所述硬盘存储区域中建立一个或多个内容存储文件,用于保存下载的内容。
3.如权利要求1所述的方法,其特征在于,每个P2P节点开辟出一块内存作为系统缓存,在所述系统缓存中保存多个一级分片,当节点需要上传数据时,优先上传在系统缓存内保存的数据片断,只有当系统缓存内没有需要上传的数据时,才把硬盘数据读入内存。
4.如权利要求1所述的节点内容存储方法,其特征在于,当接收内容片断时,首先完成一级分片的重组,再把内存中缓存的数据写入硬盘的内容存储文件中,如果内存缓存已满,则马上将一部分缓存数据写入硬盘的内容存储文件,同时释放一部分内存的缓存空间。
5.如权利要求4所述的节点内容存储方法,其特征在于,每完成一个一级分片的重组,该节点就向已经建立连接的对端对等节点报告一次资源更新,并将该一级分片存储到硬盘上的内容存储文件中。
6.如权利要求2所述的节点内容存储方法,其特征在于,P2P节点定时扫描磁盘上的内容存储文件,找出内容老化的一级分片,并打上可以重写的标志,以便该节点在写入新的内容片断时直接覆盖。
7.如权利要求1所述的节点内容存储方法,其特征在于,一级分片的大小为2M字节。
8.如权利要求1所述的节点内容存储方法,其特征在于,二级分片的大小是64K字节,当文件最后的分片不足64K字节时通过总的文件长度和分片的数量计算出该分片实际的有效长度,而无需对其进行填充。
9.如权利要求1所述的节点内容存储方法,其特征在于,每个节点的硬盘存储区域不小于512M字节。
10.如权利要求1所述的节点内容存储方法,其特征在于,每个节点的作为系统缓存的内存不小于10M字节。
11.如权利要求10所述的节点内容存储方法,其特征在于,每个节点的作为系统缓存的内存大小默认为32M字节。
12.如权利要求10所述的节点内容存储方法,其特征在于,每个节点的作为系统缓存的内存大小可以进行人工或动态的调节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101121535A CN101330434B (zh) | 2007-06-19 | 2007-06-19 | 适用于电信级p2p应用的节点内容存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101121535A CN101330434B (zh) | 2007-06-19 | 2007-06-19 | 适用于电信级p2p应用的节点内容存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101330434A true CN101330434A (zh) | 2008-12-24 |
CN101330434B CN101330434B (zh) | 2011-02-02 |
Family
ID=40206035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101121535A Active CN101330434B (zh) | 2007-06-19 | 2007-06-19 | 适用于电信级p2p应用的节点内容存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101330434B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发系统及分片方法 |
WO2016000569A1 (en) * | 2014-06-30 | 2016-01-07 | Tencent Technology (Shenzhen) Company Limited | Voice communication method and system in game applications |
CN113259688A (zh) * | 2021-05-12 | 2021-08-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种视频资源的存储分配方法和装置 |
CN115421649A (zh) * | 2022-08-02 | 2022-12-02 | 佳源科技股份有限公司 | 一种可索引、可扩展的参数文件分片存储系统及方法 |
-
2007
- 2007-06-19 CN CN2007101121535A patent/CN101330434B/zh active Active
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102170475A (zh) * | 2011-04-22 | 2011-08-31 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发系统及分片方法 |
WO2012142844A1 (zh) * | 2011-04-22 | 2012-10-26 | 中兴通讯股份有限公司 | 一种基于p2p的文件分发系统及分片方法 |
WO2016000569A1 (en) * | 2014-06-30 | 2016-01-07 | Tencent Technology (Shenzhen) Company Limited | Voice communication method and system in game applications |
US10603586B2 (en) | 2014-06-30 | 2020-03-31 | Tencent Technology (Shenzhen) Company Limited | Voice communication method and system in game applications |
CN113259688A (zh) * | 2021-05-12 | 2021-08-13 | 湖南快乐阳光互动娱乐传媒有限公司 | 一种视频资源的存储分配方法和装置 |
CN115421649A (zh) * | 2022-08-02 | 2022-12-02 | 佳源科技股份有限公司 | 一种可索引、可扩展的参数文件分片存储系统及方法 |
CN115421649B (zh) * | 2022-08-02 | 2023-10-20 | 佳源科技股份有限公司 | 一种可索引、可扩展的参数文件分片存储系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101330434B (zh) | 2011-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100438625C (zh) | 一种视频监控数据存储管理方法及系统 | |
EP1152342B1 (en) | Access control device and method for controlling access to recording medium | |
CN105100146B (zh) | 数据存储方法、装置及系统 | |
US8285757B2 (en) | File system for a storage device, methods of allocating storage, searching data and optimising performance of a storage device file system | |
CN101677325B (zh) | 发布媒体描述信息和获取媒体的方法、装置、系统 | |
CN104462141B (zh) | 一种数据存储与查询的方法、系统及存储引擎装置 | |
US20080126357A1 (en) | Distributed file storage and transmission system | |
US8589617B2 (en) | Write once recording device | |
US20080195797A1 (en) | Interface for extending functionality of memory cards | |
CN103116552A (zh) | 用于在分布式存储系统中分配存储空间的方法和装置 | |
CN101330434B (zh) | 适用于电信级p2p应用的节点内容存储方法 | |
CN107870973A (zh) | 一种加快多路监控同时回放的文件存储系统 | |
JP2011505107A (ja) | 部分的に利用可能なマルチメディアコンテンツの再生のためのシステム及び方法 | |
CN102016789A (zh) | 数据处理装置和处理数据的方法 | |
CN101207799A (zh) | 一种节目存储方法、系统及节目点播系统 | |
CN107741947B (zh) | 基于hdfs文件系统的随机数密钥的存储与获取方法 | |
CN112988908B (zh) | 区块链数据存储方法及装置、电子设备 | |
CN112988761B (zh) | 区块链数据存储方法及装置、电子设备 | |
US8788784B2 (en) | Method and device for storing and reading/writing composite document | |
CN112988912A (zh) | 区块链数据存储方法及装置、电子设备 | |
CN101282231A (zh) | 一种基于P2P网络的FBStream流媒体直播模型 | |
EP2801911A1 (en) | Information processing device, data management method, and program | |
CN102270207A (zh) | 一种面向在线多媒体信息挖掘的数据缓存方法和系统 | |
CN112988909A (zh) | 区块链数据存储方法及装置、电子设备 | |
CN111435286A (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 |