CN102088389B - 一种分布式内容存取调度装置和内容读取方法 - Google Patents
一种分布式内容存取调度装置和内容读取方法 Download PDFInfo
- Publication number
- CN102088389B CN102088389B CN200910188596.1A CN200910188596A CN102088389B CN 102088389 B CN102088389 B CN 102088389B CN 200910188596 A CN200910188596 A CN 200910188596A CN 102088389 B CN102088389 B CN 102088389B
- Authority
- CN
- China
- Prior art keywords
- content
- fragment
- node
- burst
- request
- 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
Landscapes
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种分布式内容存取调度装置和内容读取方法,涉及CDN网络中内容存储、分发和调度技术。该装置内容及分片索引单元与内容分发网络CDN内容服务单元隔离,存在于各级节点,用于维护本地节点的内容分片元数据,接收内容分片元数据定位请求,检索所述内容分片元数据;还用于接收内容分片元数据写入请求,记录内容元数据,分配新的内容分片并创建新的分片元数据;该方法包括步骤:CDN内容服务模块请求读取内容分片;被请求节点的内容及分片索引单元查询所述内容分片的存储位置;被请求节点读取所述内容分片并返回给所述CDN内容服务模块。本发明统一接口服务于CDN内容服务模块后CDN系统架构更加清晰有利于新业务的部署。
Description
技术领域
本发明涉及一种CDN网络(Content Delivery Network,内容分发网络),尤其涉及CDN网络中内容存储、分发和调度技术。
背景技术
CDN网络的概念最早应用于互联网Web访问加速,其核心思想是在承载网上构建一个叠加网络,将服务器上的内容分发到CDN的各个边缘节点上,当用户试图访问服务器上的内容时,CDN的重定向功能将用户引导到距离用户最近的边缘节点上,由边缘节点提供内容,从而加快对用户请求的响应速度,减少骨干网络带宽消耗,降低服务器的负荷。
随着大量标清、高清的多媒体视频服务的广泛部署,CDN中单一内容大小从过去的兆字节向G字节,甚至10G字节数量级快速发展。传统CDN将内容完整地缓存到边缘节点的做法不仅大量占用存储空间,而且调度过程时间长,过程中大量消耗边缘节点的I/O能力。用户观看视频内容的行为统计数据显示,很少有用户将内容完整看完。基于这样的统计,比较流行的做法是CDN系统对于媒体内容进行切片,将一个完整的内容切为若干小的分片,在CDN中基于分片分发。由于内容被分片后产生的元数据数量大量增加,定位一个分片的代价比一个内容要大很多,这样分片索引服务器成为系统中的性能瓶颈,而且索引服务器的可靠性要求极高,如果索引服务器崩溃服务将受到严重影响,跨节点的内容查询和调度将无法实现。当边缘节点的分片不全时用户将无法完整观看视频内容。
发明内容
本发明的目的在于,提出一种基于分片的分布式内容存储调度方法和装置,对于内容调度、分发过程进行封装,使内容服务模块不再参与内容的定位和调度过程,内容服务模块在访问内容时对内容是否在本地不关注。
本发明采用以下技术方案
一方面,本发明提供一种分布式内容存取调度装置,包括内容及分片索引单元,所述内容及分片索引单元与内容分发网络CDN内容服务单元隔离,存在于各级节点,用于维护本地节点的内容分片元数据,接收内容分片元数据定位请求,检索所述内容分片元数据;还用于接收内容分片元数据写入请求,记录内容元数据,分配新的内容分片并创建新的分片元数据。
进一步地,该装置还包括内容访问接口和本地内容读写单元,
所述内容访问接口,用于:接收CDN服务模块对内容分片的读写请求,当接收到读请求时发起定位请求,并发起读取内容分片请求,并返回内容分片,当接收到写请求时发起空闲分片定位请求,并发起写内容分片请求;
所述本地内容读写单元,用于:接收所述内容访问接口发出的内容分片读写请求,当接收到读请求时返回内容分片,当接收到写请求时写内容分片。
更进一步地,该装置还包括内容调度控制单元和网络接口,
所述内容调度控制单元,用于:获取并保存CDN拓扑信息,接收所述内容及分片索引单元发出的内容分片调度请求,根据所述CDN拓扑信息向其他节点内容调度控制单元发起查询请求,控制所述网络接口接收内容分片,也用于:响应其他节点内容调度控制单元发起的查询请求,向所述内容及分片索引单元发起查询请求,并控制所述网络接口发送内容分片;
所述网络接口,用于:与其他节点网络接口通信,接收或者发送内容分片。
另一方面,本发明还提供一种分布式内容读取方法,包括以下步骤:
CDN内容服务模块请求读取内容分片;
被请求节点的内容及分片索引单元查询所述内容分片的存储位置;
被请求节点读取所述内容分片并返回给所述CDN内容服务模块。
上述述查询和返回的步骤包括:
所述被请求节点的内容及分片索引单元在所述被请求节点查询到所述内容分片;
本地内容读写单元向本地存储介质读取所述内容分片;
所述本地内容读写单元返回给所述CDN内容服务模块。
上述本地内容读写单元通过内容访问接口将所述内容分片返回给所述CDN内容服务模块。
进一步地,请求读取的内容分片超过所述返回的内容分片,所述内容及分片索引单元继续查询剩余分片内容,并返回查询到的内容分片,直至请求读取的内容分片完全返回。
更进一步地,所述查询和返回的步骤包括:
所述被请求节点的内容及分片索引单元在所述被请求节点没有查询到所述内容分片;
所述被请求节点的内容及分片索引单元获取并保存CDN拓扑信息;
所述被请求节点的内容及分片索引单元依据或取的CDN拓扑信息,向内容调度控制单元请求远程调度所述内容分片;
被请求的远端节点内容调度控制器向本节点内容及分片索引单元请求查询所述内容分片;
本节点内容及分片索引单元查询所述内容分片;
本节点内容读写单元向本节点存储介质读取所述内容分片;
本节点网络接口向所述被请求的节点返回所述内容分片;
被请求节点内容读写单元返回给所述CDN内容服务模块。
更进一步地,所述被请求节点内容调度控制单元控制被请求节点网络接口接收所述内容分片。
更进一步地,请求读取的内容分片超过所述返回的内容分片,所述内容及分片索引单元继续请求远端节点返回内容分片,并接收返回的内容分片,直至请求读取的内容分片完全返回。
与现有技术相比,本发明将CDN内容服务模块和内容寻址、内容调度存储进行隔离,CDN内容服务模块不需要了解内容在网络上的实际位置,任何内容都像在本地一样。基于分片的分布式内容存储调度装置负责内容的动态调度过程,调度过程中不需要跨节点的索引服务器,也不进行泛洪式查询,而是利用CDN的分层架构及其内容分布策略:中心节点内容最全,骨干节点次之,边缘节点内容最少。结合自发现的网络拓扑结构进行跨节点的分片定位。该技术避免了跨节点索引服务器的性能及可靠性瓶颈。统一接口服务于CDN内容服务模块后CDN系统架构更加清晰有利于新业务的部署。
附图说明
图1为本发明内容存取调度系统结构示意图;
图2为CDN分层架构示意图;
图3为分片调度存取过程示意图。
具体实施方式
下面结合附图对本发明所涉及的媒体注入和分发处理流程进行详细说明。
分布式CDN内容存储及调度装置100架构图见图1,其中包含101内容访问接口,102本地内容及分片索引,103本地内容读写模块,104内容调度控制器,105网络接口模块,106存储介质。分布式CDN内容存储及调度装置100和CDN服务模块200间通过内容访问接口101连接。
101内容访问接口,接受CDN服务模块200对内容的读写请求。请求读时返回请求的内容,无论内容分片是否在本地;请求写时对写入的内容按照统一的策略进行分片,并写入本节点。
102本地内容及分片索引,维护本节点内的内容及分片元数据。接收101读内容时的内容及分片定位请求,检索所请求内容对应的本节点内分片的位置。接收101写内容时分片请求,记录内容元数据,分配新的分片并创建新的分片元数据。
103本地内容读写模块,接受内容访问接口101的本地读写请求,将分片从存储介质中读出或将分片写入存储介质,屏蔽存储介质的差异。
104内容调度控制器,负责发现并维护与本CDN节点相关的其它节点的拓扑关系。当102发现所请求的分片在本地没有存储时,向104内容调度控制器发起调度请求,104根据策略采用并行或串行的方式向自己的同级节点、上级节点、中心节点发起分片查询请求。查询获取到分片位置后根据一定策略进行优选,向选中的节点发出内容获取请求,并且控制本端的105网络接口模块接收远端发送来的分片。104控制器需要根据策略决定接收到的分片是否在本地存储,以及已经存储的分片何时被老化删除掉。
105网络接口模块,105接受104控制通过本地内容读写模块读出分片内容并通过网络发送到接收节点的105模块。接收节点的105模块在其104模块的控制下接收分片内容并将内容提交给101模块。同时根据104模块的控制通过本地内容读写模块写入本地存储介质。
106存储介质,存储介质是实际内容存储的物理载体,可以是磁盘,磁盘阵列,或其它任何永久性存储设备。
CDN拓扑获取过程:(参考图1和图2)
1.CDN节点502的104模块根据配置的信息向自己的上级CDN节点401的104模块请求注册
2.节点401接受注册请求并记录,同时返回自己通过注册过程获得的下级节点501、503的拓扑信息,以及自己的上级节点300的信息
3.节点502记录获取的拓扑信息,对于同级、上级、中心节点采用不同标识加以标注。节点502根据获取的节点信息定时发送握手消息,确认个节点的健康状态。
4.节点401向节点501、503发送拓扑变化消息,通知有新节点加入。节点501、503收到后更新拓扑信息。
5.当节点503退出服务时,其上级节点发现后需要向其下级节点发送拓扑变化消息,通知501、502,节点503退出,节点501、502收到后更新拓扑记录。
内容写过程:
CDN内容发布过程中CDN内容服务模块200接收内容,通过101内容访问接口,将内容全部或部分写入本节点。实现方法如下:
1.CDN内容服务模块200向101内容访问接口请求以写方式打开内容。101向102本地内容及分片索引模块请求写入内容元数据,101创建内存缓冲区供200内容服务模块写入数据。
2.101向102本地内容及分片索引模块请求分配空闲分片,102检索空闲分片,并将空闲分片位置返回给101
3.101根据102分配的空闲分片信息向103发起写操作,103将内容从内存缓冲区中写入存储介质。
4.当101发现所写的内容达到一个分片的长度后,101向102请求新的空闲分片,102返回新的分片位置信息给101。
5.重复步骤3、4完成内容的本地写入。
内容读过程:
CDN内容服务过程中CDN内容服务模块200,通过101内容访问接口,读取内容。读取过程中200模块并不清楚所请求的内容是否在本地完整存储或是部分存储。实现方法如下:
1.CDN内容服务模块200向101内容访问接口请求以读方式打开内容。101查询102模块获取内容元数据。
2.101向102模块请求内容分片位置,如果分片在本地存在则执行步骤3向103发起读取分片的请求。否则进入内容调度过程。
3.103从106中读取分片,将读取的内容写入101指定的位置。
4.当请求读取的内容超过当前分片范围时,重复步骤2、3内容调度过程:(参见图3)
1.本端102模块向104内容调度控制器请求从远程调度分片,104模块根据事先获取的CDN拓扑,并根据策略并行或串行地向远端CDN节点的104内容调度控制器发送分片查询请求。由于CDN的分层模型中越是高层的节点内容越全,中心节点包存有全部完整的内容。
2.远端CDN节点104模块向自己的102模块查询分片是否存在,如果存在则返回查询成功结果,同时返回本节点的负载状态。
3.本端CDN节点104模块获取到多个远端返回的成功结果时根据预置的策略选择一个,发出分片调度请求,同时控制本端105模块准备接收远端发送过来的分片。预置的策略包含远端模块的负载情况,远端模块的拓扑位置等。
4.远端CDN节点104模块收到分片调度请求后,查询自己的102模块获得分片在本地的位置,控制自己的105模块通过103模块读取请求的分片,并发送给请求该分片的CDN节点的105模块。
5.本端104模块根据策略和统计信息决定该分片是否需要在本地存储,如果需要存储控制104模块通知101模块接收到分片后进行本地存储。
6.本端105模块接收到分片数据后交付给101模块,101模块将内容返回给200模块完成读请求的应答
本发明提出一种基于分片的分布式内容存储调度方法和装置,首先将CDN内容服务模块和内容寻址、内容调度存储进行隔离,CDN内容服务模块不需要了解内容在网络上的实际位置,任何内容都像在本地一样。基于分片的分布式内容存储调度装置负责内容的动态调度过程,调度过程中不需要跨节点的索引服务器,也不进行泛洪式查询,而是利用CDN的分层架构及其内容分布策略:中心节点内容最全,骨干节点次之,边缘节点内容最少。结合自发现的网络拓扑结构进行跨节点的分片定位。该技术避免了跨节点索引服务器的性能及可靠性瓶颈。统一接口服务于CDN内容服务模块后CDN系统架构更加清晰有利于新业务的部署。
Claims (7)
1.一种分布式内容存取调度装置,包括内容及分片索引单元,其特征在于,所述内容及分片索引单元与内容分发网络CDN内容服务模块隔离,存在于各级节点,用于维护本地节点的内容分片,接收内容分片定位请求,检索所述内容分片;还用于接收内容分片写入请求,记录内容元数据,分配新的内容分片并创建新的内容分片的内容元数据;
还包括内容访问接口和本地内容读写单元,
所述内容访问接口,用于:接收CDN内容服务模块对内容分片的读写请求,当接收到读请求时发起定位请求,并发起读取内容分片请求,并返回内容分片,当接收到写请求时发起空闲分片定位请求,并发起写内容分片请求;
所述本地内容读写单元,用于:接收所述内容访问接口发出的内容分片读写请求,当接收到读请求时返回内容分片,当接收到写请求时写内容分片。
2.如权利要求1所述的装置,其特征在于,还包括内容调度控制单元和网络接口,
所述内容调度控制单元,用于:获取并保存CDN拓扑信息,接收所述内容及分片索引单元发出的内容分片调度请求,根据所述CDN拓扑信息向其他节点内容调度控制单元发起查询请求,控制所述网络接口接收内容分片,也用于:响应其他节点内容调度控制单元发起的查询请求,向所述内容及分片索引单元发起查询请求,并控制所述网络接口发送内容分片;
所述网络接口,用于:与其他节点网络接口通信,接收或者发送内容分片。
3.一种分布式内容读取方法,其特征在于,包括以下步骤:
内容分发网络CDN内容服务模块请求读取内容分片;
被请求节点的内容及分片索引单元查询所述内容分片的存储位置;
被请求节点读取所述内容分片并返回给所述CDN内容服务模块;所述查询和返回的步骤包括:
所述被请求节点的内容及分片索引单元在所述被请求节点查询到所述内容分片;
本地内容读写单元向本地存储介质读取所述内容分片;
所述本地内容读写单元返回给所述CDN内容服务模块;
所述本地内容读写单元通过内容访问接口将所述内容分片返回给所述CDN内容服务模块。
4.如权利要求3所述的分布式内容读取方法,其特征在于,还包括:
请求读取的内容分片超过所述返回的内容分片,所述内容及分片索引单元继续查询剩余分片内容,并返回查询到的内容分片,直至请求读取的内容分片完全返回。
5.如权利要求3所述的分布式内容读取方法,其特征在于,所述查询和返回的步骤包括:
所述被请求节点的内容及分片索引单元在所述被请求节点没有查询到所述内容分片;
所述被请求节点的内容及分片索引单元获取并保存CDN拓扑信息;
所述被请求节点的内容及分片索引单元依据或取的CDN拓扑信息,向内容调度控制单元请求远程调度所述内容分片;
被请求的远端节点内容调度控制器向本节点内容及分片索引单元请求查询所述内容分片;
本节点内容及分片索引单元查询所述内容分片;
本节点本地内容读写单元向本节点存储介质读取所述内容分片;
本节点网络接口向所述被请求的节点返回所述内容分片;
被请求节点本地内容读写单元返回给所述CDN内容服务模块。
6.如权利要求5所述的分布式内容读取方法,其特征在于,所述被请求节点内容调度控制单元控制被请求节点网络接口接收所述内容分片。
7.如权利要求5或6所述的分布式内容读取方法,其特征在于,还包括:
请求读取的内容分片超过所述返回的内容分片,所述内容及分片索引单元继续请求远端节点返回内容分片,并接收返回的内容分片,直至请求读取的内容分片完全返回。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910188596.1A CN102088389B (zh) | 2009-12-02 | 2009-12-02 | 一种分布式内容存取调度装置和内容读取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910188596.1A CN102088389B (zh) | 2009-12-02 | 2009-12-02 | 一种分布式内容存取调度装置和内容读取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102088389A CN102088389A (zh) | 2011-06-08 |
CN102088389B true CN102088389B (zh) | 2015-01-28 |
Family
ID=44100010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910188596.1A Expired - Fee Related CN102088389B (zh) | 2009-12-02 | 2009-12-02 | 一种分布式内容存取调度装置和内容读取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102088389B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102447712B (zh) * | 2012-01-20 | 2015-07-08 | 华为技术有限公司 | 内容分发网络中节点互联的方法、系统及节点 |
CN103024001B (zh) * | 2012-11-30 | 2018-07-31 | 中兴通讯股份有限公司 | 一种业务调度方法与装置及融合设备 |
CN103019626B (zh) * | 2012-12-17 | 2016-04-13 | 华为技术有限公司 | 存储系统、控制集群元数据的方法及装置 |
WO2014183390A1 (en) * | 2013-05-16 | 2014-11-20 | Huawei Technologies Co., Ltd. | A method of content delivery in lte ran, an enb and communication system |
US9432440B2 (en) | 2013-05-16 | 2016-08-30 | Huawei Technologies Co., Ltd. | Method of content delivery in LTE RAN, an eNB and communication system |
CN104780226A (zh) * | 2015-05-06 | 2015-07-15 | 成都麦子信息技术有限公司 | 一种在线教育平台 |
WO2018081960A1 (zh) * | 2016-11-02 | 2018-05-11 | 华为技术有限公司 | 管理文件的方法、文件系统和服务器系统 |
CN107729495A (zh) * | 2017-10-18 | 2018-02-23 | 郑州云海信息技术有限公司 | 一种文件元数据浏览方法及装置 |
WO2019183958A1 (zh) | 2018-03-30 | 2019-10-03 | 华为技术有限公司 | 数据写入方法、客户端服务器和系统 |
CN109803022B (zh) * | 2019-01-30 | 2022-02-18 | 浙江蓝鸽科技有限公司 | 一种数字化资源共享系统及其服务方法 |
CN110312277B (zh) * | 2019-04-08 | 2022-01-28 | 天津大学 | 一种基于机器学习的移动网络边缘协作缓存模型构造方法 |
CN110287265B (zh) * | 2019-06-28 | 2023-10-10 | 深圳市元征科技股份有限公司 | 一种登录请求处理方法、装置、服务器及可读存储介质 |
CN110769072A (zh) * | 2019-10-31 | 2020-02-07 | 北京达佳互联信息技术有限公司 | 一种多媒体资源获取方法、装置和存储介质 |
CN113010486B (zh) * | 2021-02-05 | 2021-11-26 | 湖南国科亿存信息科技有限公司 | 用于无中心分布式文件系统的元数据分层缓存方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354720A (zh) * | 2008-09-04 | 2009-01-28 | 中兴通讯股份有限公司 | 一种分布式内存数据库数据系统及其共享方法 |
CN101567796A (zh) * | 2009-05-19 | 2009-10-28 | 中兴通讯股份有限公司 | 一种内容分片的多媒体网络及其业务方法 |
-
2009
- 2009-12-02 CN CN200910188596.1A patent/CN102088389B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101354720A (zh) * | 2008-09-04 | 2009-01-28 | 中兴通讯股份有限公司 | 一种分布式内存数据库数据系统及其共享方法 |
CN101567796A (zh) * | 2009-05-19 | 2009-10-28 | 中兴通讯股份有限公司 | 一种内容分片的多媒体网络及其业务方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102088389A (zh) | 2011-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102088389B (zh) | 一种分布式内容存取调度装置和内容读取方法 | |
CN104935648B (zh) | 一种高性价比的cdn系统及文件预推、分片缓存的方法 | |
Chan et al. | Distributed servers architecture for networked video services | |
CN103856393B (zh) | 基于数据库的分布式消息中间件系统及其运行方法 | |
US6047309A (en) | Recording observed and reported response characteristics at server and/or client nodes in a replicated data environment, and selecting a server to provide data based on the observed and/or reported response characteristics | |
US8010985B2 (en) | Method and system for resource management in a video on-demand server | |
CN101027668B (zh) | 基于块映射表缓冲存储和虚拟文件系统的可堆叠文件系统模块的分布式存储结构 | |
CN103096126B (zh) | 协作式缓存集群中面向视频点播服务的协作式缓存方法及系统 | |
CN103116552B (zh) | 用于在分布式存储系统中分配存储空间的方法和装置 | |
US6721850B2 (en) | Method of cache replacement for streaming media | |
EP2369494A1 (en) | Web application based database system and data management method therof | |
CN100530195C (zh) | 一种分布式文件系统的文件读系统和方法 | |
US20110307534A1 (en) | Distributed file system supporting data block dispatching and file processing method thereof | |
CN103166991B (zh) | 一种基于p2p和云存储实现跨节点存储的方法和装置 | |
CN101472166B (zh) | 一种内容缓存、查询方法及点对点媒体传输系统 | |
CN102067617A (zh) | 在内容分发网络中自组织的高速缓存的方法和装置 | |
CN104469391B (zh) | 一种基于云平台的数字电视内容分发系统及方法 | |
WO2002087236A1 (en) | System and method for retrieving and storing multimedia data | |
CN101137042A (zh) | 一种集群式流媒体系统中静态节目的分发和服务方法 | |
CN104246737A (zh) | 在内容分发网络中使用视频流的连接池技术的系统和方法 | |
CN101753936B (zh) | 一种视频监控系统的存储空间的配置方法和视频服务器 | |
CN103067461A (zh) | 一种文件的元数据管理系统以及元数据管理方法 | |
CN102035815A (zh) | 数据获取方法、接入节点和系统 | |
CN101262488A (zh) | 一种内容分发网络系统及方法 | |
CN103078936A (zh) | 基于gfs的分布式文件系统的元数据分级存储方法和系统 |
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: 20150128 Termination date: 20201202 |