CN101860550B - 一种基于路由器缓存的流媒体系统加速方法 - Google Patents
一种基于路由器缓存的流媒体系统加速方法 Download PDFInfo
- Publication number
- CN101860550B CN101860550B CN201010209433.XA CN201010209433A CN101860550B CN 101860550 B CN101860550 B CN 101860550B CN 201010209433 A CN201010209433 A CN 201010209433A CN 101860550 B CN101860550 B CN 101860550B
- Authority
- CN
- China
- Prior art keywords
- router
- video
- streaming media
- client
- video block
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明的目的在于提出一种基于路由器缓存的流媒体系统加速方法,它利用路由器不仅仅能完成存储转发的基本功能,还能够缓存流媒体数据并能响应用户的请求。这样使得流媒体数据更加靠近用户以降低端系统视频播放的初始延迟并且减轻服务器的负担。通过本方明,可以使得流媒体系统的性能得到提高,网络的上总的带宽消耗减少,客户端的访问延迟可以得到降低。视频服务器的负载减小,同时系统能够服务的总用户数得到提高。
Description
技术领域
本发明属于视频点播系统以及多核路由器缓存技术领域,具体涉及一种基于路由器缓存的流媒体系统加速方法。
背景技术
为了提高了流媒体系统的性能,CDN与P2P技术先后发展了起来,并取得了较大的成功。CDN技术是在边缘网络布署缓存服务器,提高系统的服务能力,但成本较高,动态性差。P2P则是利用客户端的计算、存储和带宽资源,通过客户端的协作来提高系统的服务能力,但是带来了管理困难,系统复杂的问题。这两种技术从客户端和服务器两个角度出发来进行优化,却忽略了在网络传输中也起着重要作用的角色——路由器。
传统的路由器只是充当存储转发的角色,近年来多核路由器以及存储技术快速发展,多核处理器既有传统硬件处理类似的转发性能,又有传统CPU处理器的灵活构架,完美地把高性能数据转发和高性能业务处理结合起来。多核路由器使得边缘路由器有了剩余的计算能力,而存储技术的发展也使得边缘路由器有了更强的存储能力。
发明内容
本发明的目的在于提出一种基于路由器缓存的流媒体系统加速方法,它利用路由器不仅仅能完成存储转发的基本功能,还能够缓存流媒体数据并能响应用户的请求。这样使得流媒体数据更加靠近用户以降低端系统视频播放的初始延迟并且减轻服务器的负担。
本发明的技术方案是:一种基于路由器缓存的流媒体系统加速方法,其步骤如下:
步骤1:流媒体服务器端将视频分块,以十秒为基本单位将视频分成N个块,并给每个块做标记以表示是哪部视频的第几个块。
步骤2:客户端发送数据包请求视频数据,请求的数据包中包括视频名称(VIDEO_HASH_ID)以及第X个块的标记。
步骤3:在边缘路由器上检测到步骤2中客户端发送的请求包,路由器首先根据VIDEO_HASH_ID以及第X个块的标记在缓存中查找该视频块是否在路由器缓存中。
步骤4:如果缓存命中,则由路由器负责将该视频块发送给客户端并且发送一个指示包(router_indicate_packet)通知服务器该客户端从本路由器下载了该视频块;如果缓存不命中,则路由器将客户端的请求数据包直接转发给服务器。
步骤5:路由器根据客户端的请求数据包统计请求的视频块的热度,如果路由器缓存中没有该视频块并且已经达到缓存要求,则当服务器发送该视频块给客户端的时候,路由器将经过它的该视频块进行缓存替换。
步骤6:当路由器缓存没有命中的时候会把请求转发给服务器,服务器接收到请求后进行响应,将请求的视频块发送给客户端即可。
步骤7:服务器监听各路由器发送过来的指示包(router_indicate_packet),根据该指示包统计流量以及该视频块的热度。
步骤8:服务器根据统计的热度信息,将该视频块的热度信息发送给各边缘路由器。
步骤9:路由器接收服务器发送的某个视频块的热度信息,将该视频的热度与本地缓存的视频块热度进行比较决定是否需要缓存,并将结果反馈给服务器。
步骤10:服务器根据各个路由器的反馈结果将相应的视频块发送给路由器。
本发明基于路由器缓存的流媒体系统加速方法具有以下优点:
①本发明方法中路由器为边缘路由器,距离用户非常近,而流媒体内容是存储在这些距离客户端最近的边缘路由器上的,这样用户可以得到极小的视频播放初始延迟,提高了用户的体验。
②多核路由器的发展使得边缘路由器具有空闲的计算能力以及存储空间,能够将热门的视频数据缓存在路由器上从而可以直接响应客户端而不用转发给服务器,这样就减轻服务器的负担并且提高了服务器带宽的利用率。
③本发明方法主要应用在流媒体的点播服务器上。上述的热门视频块的统计包括两个方面,一方面路由器统计经过自己的局部视频块的热度,然后进行主动缓存,另一方面服务器统计全局的视频块热度,然后发送给路由器,由路由器进行被动的接收。通过两方面的结合可以进一步提高缓存的命中率以达到更好的减轻服务器负担的目的。
附图说明
图1是本发明基于路由器缓存的流媒体系统加速方法的系统结构图。
图2是本发明基于路由器缓存的流媒体系统加速方法的流程图。
图3是本发明中多核路由器的内部各个核的功能分配图。
具体实施方式
本发明的系统结构如图1所示。流媒体系统中包括了视频服务器、客户端、一般路由器、缓存路由器几个角色。视频服务器的功能包括发布并服务最初始的视频内容、统计计费、更新缓存路由器等功能。客户端是最接受流媒体服务的最终用户。一般路由器是进行一般的路由转发功能,不参与视频数据缓存。缓存路由器是其中的主要角色,缓存视频数据服务与其相邻的客户端。
与一般路由器相比,缓存路由器具有以下特点。
1、如图1所示,缓存路由器应是边缘路由器。边缘路由器与主于网络上的路由器相比,边缘路由器是最接近于客户端的路由器,能够视频缓存数据直接服务于客户端,减短了视频数据传输的路径长度,最大程度上地减少了网络带宽的消耗,减少了客户端播放视频的延迟。然后,其所承担的路由转发的任务较轻,具有空闲的存储空间、计算能力和带宽,能够将这些资源用于视频数据的缓存。
2、缓存路由器采用多核处理器架构(例如:RMI公司的8核路由器,每核4线程)。随着技术的发展,多核路由器已经得到了快速的发展与应用。与单核路由器相比,多核路由器可以并发地执行多个任务,处理能力得到很大的提高,被广泛应用于具有QoS与防火墙功能的路由器上。在本发明中,数据缓存的功能与路由转发功能必须同步进行,否则将会极大地影响路由器的基本功能。如图2所示,在多核处理器上,我们采用一个核来进行管理的功能,再将剩下的一部分核来进行缓存的功能,另一部分核来进行路由转发功能。
3、缓存路由器有较大的内存和外存。内存要求4GB上的DRAM,外存的大小视频内容的大小而定。路由器上的外存存储基本的视频缓存。内存作为外存的2级缓存使用,以提高访问速度。
系统的流程如图3所示,客户端请求某段视频节目,路由器对客户端的请求进行解析,判断是否与路由器中的缓存数据相中。如果缓存未命中,则不对视频数据进行任何处理,直接转发至服务器端。如果路由器缓存命中,则路由器将缓存的数据发送给客户端,同时,因为客户端的请求没有经过视频服务器,路由器会将客户端已经缓存命中的信息发向服务器端,以方便服务器进行统计、计费等操作。
在服务器和客户端之间, 采用UDP数据包来指示一个服务器、路由器和客户端之间的一个路由器缓存协议。
1、以每10秒为单位, 客户端向服务器发送视频数据请求数据包,该请求被从客户端到服务器的传输路径上的所有缓存路由器感知。当缓存路由器发现该时间单位内的视频数据已经缓存在路由器上的时候,缓存路由器将向客户端传输缓存的视频数据。同时路由器向服务器发送一个提示包,传输客户端的请求消息,并告知服务器该视频数据已经由缓存路由器提供给客户端。这是为了服务器可以对客户端的数据进行统计,而且方便对之后的视频数据进行准备。
2、同样以每10秒为单位, 服务器端响应客户端请求的时候,也向客户端发送一个视频数据响应数据包, 该响应数据包也被从客户端到服务器的传输路径上的所有缓存路由器感知。 缓存路由器可以进行视频节目的热度的统计,当发现某视频节目的片断的热度达到缓存要求的时候,可以将该片断的数据内容缓存于路由器上。这是缓存更新的被动模式。
3、路由器上的缓存是动态更新的。除了被动方式, 还有主动方式。主动方式是由视频服务器对视频的访问次数进行统计,定时向路由器的缓存进行更新。此时的情况类似于情况2,不过这时服务器不是向客户端发送视频。 而是向已经在服务器注册了的路由器发送视频数据。 路由器发现自己是视频数据的目的地。 就将视频数据缓存起来。 这种情况的适应场景包括一些固定的广告节目,公益宣传。
从上面几点可以看得出来, 缓存路由器对于客户端是透明的。 因为客户端不需要也不可能知道视频数据是否来自于缓存路由器或者是原始的服务器。而缓存路由器对于服务器则是可见的,这样服务器可以对缓存路由器进行一些控制,并且可以缓存路由器也可以对服务器更新用户的请求情况。
具体的实现过程中, 服务器端可以采用开源的VLC软件担当流化服务器。客户端也可以采用VLC做为播放器。在缓存路由器上,我们运行Linux操作系统。然后通过编写内核的Netfilter模块来对路由器增加过滤、判断与缓存的功能。Netfilter在针对经过路由器的数据包,过滤出发向指缓存指示端口的UDP数据包,解析缓存指示数据包的内容,然后决定是否更新热度,或者镜像当前经过的视频数据到内存或者本地缓存文件当中,或者读取缓存的数据,然后生成数据包发送给客户端。Netfilter模块是可自由加载也可自由卸载的,因此可以方便地在路由器进行功能的添加、更新和去除。
通过本方明,可以使得流媒体系统的性能得到提高,网络的上总的带宽消耗减少,客户端的访问延迟可以得到降低。视频服务器的负载减小,同时系统能够服务的总用户数得到提高。
Claims (1)
1.一种基于路由器缓存的流媒体系统加速方法,其特征在于具体步骤如下:
步骤1:流媒体服务器端将视频分块,以十秒为基本单位将视频分成N个块,并给每个块做标记以表示是哪部视频的第几个块;
步骤2:客户端发送数据包请求视频数据,请求的数据包中包括视频名称:VIDEO_HASH_ID以及第X个块的标记;
步骤3:在路由器上检测到步骤2中客户端发送的数据包,该路由器首先根据VIDEO_HASH_ID以及第X个块的标记,在缓存中查找该视频块是否在路由器缓存中;
步骤4:如果缓存命中,则由所述路由器负责将该视频块发送给客户端并且发送一个指示包,通知流媒体服务器该客户端从本路由器下载了该视频块;如果缓存不命中,则所述路由器将客户端的请求数据包直接转发给流媒体服务器;
步骤5:所述路由器根据客户端的请求数据包,统计请求的视频块的热度,如果路由器缓存中没有该视频块,并且当视频块的热度已经达到缓存要求,则当流媒体服务器发送该视频块给客户端的时候,路由器将经过它的该视频块进行缓存替换;
步骤6:当路由器缓存没有命中的时候,把请求转发给流媒体服务器,流媒体服务器接收到请求后进行响应,将请求的视频块发送给客户端;
步骤7:流媒体服务器监听各路由器发送过来的指示包,根据该指示包统计流量以及该视频块的热度;
步骤8:流媒体服务器根据统计的热度信息,将该视频块的热度信息发送给各路由器;
步骤9:所述路由器接收流媒体服务器发送的某个视频块的热度信息,将该视频的热度与本地缓存的视频块热度进行比较,决定是否需要缓存,并将结果反馈给流媒体服务器;
步骤10:流媒体服务器根据各个路由器的反馈结果将相应的视频块发送给路由器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010209433.XA CN101860550B (zh) | 2010-06-25 | 2010-06-25 | 一种基于路由器缓存的流媒体系统加速方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010209433.XA CN101860550B (zh) | 2010-06-25 | 2010-06-25 | 一种基于路由器缓存的流媒体系统加速方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101860550A CN101860550A (zh) | 2010-10-13 |
CN101860550B true CN101860550B (zh) | 2013-02-27 |
Family
ID=42946208
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010209433.XA Expired - Fee Related CN101860550B (zh) | 2010-06-25 | 2010-06-25 | 一种基于路由器缓存的流媒体系统加速方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101860550B (zh) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102098310B (zh) * | 2011-02-22 | 2013-06-19 | 中国联合网络通信集团有限公司 | 流媒体内容服务方法及系统 |
CN102111685B (zh) * | 2011-02-24 | 2012-07-25 | 深信服网络科技(深圳)有限公司 | 一种网络视频加载的加速方法、设备及系统 |
EP2552082B1 (en) | 2011-07-29 | 2018-10-31 | Deutsche Telekom AG | Favourite web site acceleration method and system |
CN102724429B (zh) * | 2011-12-13 | 2017-08-04 | 新奥特(北京)视频技术有限公司 | 一种循环录制的方法 |
CN102647357B (zh) * | 2012-04-20 | 2016-04-13 | 中兴通讯股份有限公司 | 一种处理内容路由方法及装置 |
CN103891237B (zh) | 2012-09-29 | 2017-12-05 | 华为技术有限公司 | 一种网络存储的方法、交换设备和控制器 |
CN103780482B (zh) | 2012-10-22 | 2017-06-27 | 华为技术有限公司 | 一种获取内容方法及用户设备、缓存节点 |
CN103152273B (zh) * | 2013-02-08 | 2016-04-13 | 杭州华三通信技术有限公司 | 数据缓存方法和装置 |
CN104159212B (zh) | 2013-05-15 | 2018-05-11 | 腾讯科技(深圳)有限公司 | 一种绑定终端的方法及装置 |
CN103259861A (zh) * | 2013-05-16 | 2013-08-21 | 深圳市共进电子股份有限公司 | 一种录制和观看网络视频的方法及系统 |
CN103607386B (zh) * | 2013-11-15 | 2017-11-10 | 南京云川信息技术有限公司 | 一种P2P Cache系统中的协作缓存方法 |
US9979644B2 (en) | 2014-07-13 | 2018-05-22 | Cisco Technology, Inc. | Linking to content using information centric networking |
CN104125162B (zh) * | 2014-07-29 | 2017-09-26 | 小米科技有限责任公司 | 网络资源的访问处理方法及装置 |
CN104166604A (zh) * | 2014-08-15 | 2014-11-26 | 小米科技有限责任公司 | 视频备份方法和装置 |
CN105471952A (zh) * | 2014-09-10 | 2016-04-06 | 中国移动通信集团公司 | 一种基于全局价值的缓存方法和缓存服务器 |
CN104506450A (zh) * | 2014-11-06 | 2015-04-08 | 小米科技有限责任公司 | 媒体资源反馈方法及装置 |
CN104469434B (zh) * | 2014-12-23 | 2019-01-15 | 优酷网络技术(北京)有限公司 | 路由器热点视频智能分发方法 |
WO2017000097A1 (zh) * | 2015-06-27 | 2017-01-05 | 华为技术有限公司 | 一种数据转发的方法、装置和系统 |
CN105162720A (zh) * | 2015-10-22 | 2015-12-16 | 上海新储集成电路有限公司 | 一种减少数据传输的通信网络及方法 |
CN105430046B (zh) * | 2015-10-29 | 2019-07-12 | 合一网络技术(北京)有限公司 | 一种利用虚拟化技术实现的cdn加速系统及方法 |
CN105897833A (zh) * | 2015-12-01 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 广告数据处理方法及路由器 |
CN105872648A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 视频数据共享的方法及装置 |
CN105872634A (zh) * | 2015-12-14 | 2016-08-17 | 乐视云计算有限公司 | 视频数据共享的方法及装置 |
CN105872002A (zh) * | 2015-12-22 | 2016-08-17 | 乐视云计算有限公司 | 视频节目获取方法、设备及系统 |
CN105635851A (zh) * | 2016-01-20 | 2016-06-01 | 成都市和平科技有限责任公司 | 一种同步发布多媒体信息的方法 |
CN107623702B (zh) * | 2016-07-13 | 2020-09-11 | 阿里巴巴集团控股有限公司 | 一种数据缓存方法、装置及系统 |
CN106385634A (zh) * | 2016-09-07 | 2017-02-08 | 合智能科技(深圳)有限公司 | 视频推荐方法和装置 |
CN108076350A (zh) * | 2016-11-14 | 2018-05-25 | 中国科学院声学研究所 | 一种基于路由器协同缓存的视频服务系统及方法 |
CN107645547A (zh) * | 2017-09-14 | 2018-01-30 | 郑州云海信息技术有限公司 | 基于存储设备的数据热度确定方法、设备以及系统 |
CN108200478A (zh) * | 2018-01-03 | 2018-06-22 | 深圳市云帆加速科技有限公司 | 一种实现p2p分享的视频点播方法及系统 |
CN109639813B (zh) * | 2018-12-24 | 2022-04-12 | 北京京东尚科信息技术有限公司 | 视频文件传输处理方法及装置、电子设备和存储介质 |
CN110290394A (zh) * | 2019-07-15 | 2019-09-27 | 宁波华数广电网络有限公司 | 一种视频点播系统及方法 |
CN113676739B (zh) * | 2020-05-15 | 2023-11-14 | 深圳市雅阅科技有限公司 | 一种视频播放方法、装置、设备及存储介质 |
CN116248762A (zh) * | 2022-12-02 | 2023-06-09 | 中山市可讯科技有限公司 | 一种基于不稳定请求的缓存系统及方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378494A (zh) * | 2008-10-07 | 2009-03-04 | 中兴通讯股份有限公司 | 一种实现互联网电视媒体交互的系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101026615B (zh) * | 2006-02-18 | 2011-09-14 | 华为技术有限公司 | 一种基于ims的流媒体网络系统 |
-
2010
- 2010-06-25 CN CN201010209433.XA patent/CN101860550B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378494A (zh) * | 2008-10-07 | 2009-03-04 | 中兴通讯股份有限公司 | 一种实现互联网电视媒体交互的系统及方法 |
Non-Patent Citations (2)
Title |
---|
基于端系统的视频流组播速率控制方法;李飞等;《计算机应用与软件》;20070630;第24卷(第6期);49-52 * |
李飞等.基于端系统的视频流组播速率控制方法.《计算机应用与软件》.2007,第24卷(第6期),49-52. |
Also Published As
Publication number | Publication date |
---|---|
CN101860550A (zh) | 2010-10-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101860550B (zh) | 一种基于路由器缓存的流媒体系统加速方法 | |
US10986387B1 (en) | Content management for a distributed cache of a wireless mesh network | |
US8745262B2 (en) | Adaptive network content delivery system | |
Khan et al. | A survey on mobile edge computing for video streaming: Opportunities and challenges | |
US8392615B2 (en) | Dynamic variable rate media delivery system | |
Kreitz et al. | Spotify--large scale, low latency, P2P music-on-demand streaming | |
US20180167432A1 (en) | Dynamic chunking for delivery instances | |
US20090259667A1 (en) | Method, device and system for distributing file data | |
EP2288085A1 (en) | P2p based method, device and system for playing media | |
WO2010060106A1 (en) | Adaptive network content delivery system | |
CN102055718B (zh) | 一种在http streaming系统中实现分层请求内容的方法,装置和系统 | |
WO2019128800A1 (zh) | 一种内容服务的实现方法、装置及内容分发网络节点 | |
WO2012028103A1 (zh) | 访问微博的方法和系统及微博网站图片发送方法和系统 | |
Dogga et al. | Edge-based transcoding for adaptive live video streaming | |
CN102497389B (zh) | 一种iptv 中基于大雨伞缓存算法的流媒体协作缓存管理方法及系统 | |
Kao et al. | Aggregate profit-based caching replacement algorithms for streaming media transcoding proxy systems | |
US11606309B2 (en) | Multimedia content steering | |
CN110139125B (zh) | 无线移动网络下基于需求感知与资源缓存的视频共享方法 | |
Liang et al. | Adjustable Two‐Tier Cache for IPTV Based on Segmented Streaming | |
KR102235622B1 (ko) | IoT 환경에서의 협력 에지 캐싱 방법 및 그를 위한 장치 | |
KR20140075829A (ko) | 투명 인터넷 캐시 서버와 콘텐츠 전달망을 결합한 콘텐츠 전달 시스템 및 방법 | |
JP2003242018A (ja) | キャッシュ方法およびキャッシュサーバ | |
US11722707B2 (en) | Dynamic content steering based on server and client device capabilities | |
Dakshayini et al. | Cooperative Proxy Servers Architecture for VoD to Achieve High QoS with Reduced Transmission Time and Cost | |
CN116405707A (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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130227 Termination date: 20150625 |
|
EXPY | Termination of patent right or utility model |