一种快速响应用户请求的流媒体系统和方法

文档序号:9618689
一种快速响应用户请求的流媒体系统和方法
【技术领域】
[0001]本发明涉及流媒体领域,尤其涉及对用户请求的快速响应。
【背景技术】
[0002]随着计算机网络技术的进步,流媒体技术也日益流行。流媒体技术是将整个多媒体文件(例如,视频、音频、以及其他多媒体文件等)分成各个分段,由流媒体服务器向用户连续地传送。用户不必等到整个文件全部下载完毕,而是只需经过一段时间的启动延时即可播放和观看该多媒体文件。
[0003]流媒体服务器的其中一个比较关键的指标是保证可靠的快速响应用户请求服务,尤其是在高并发、高在线的情况下。现有系统在这方面尚存缺陷,有待改进。然而,本发明不限于解决上述问题。

【发明内容】

[0004]本发明提供了一种流媒体系统架构以及相应的对用户请求进行服务的方法,使得在一定压力的情况下,能够保证用户的请求能够及时的被响应,并且不影响其他在线用户的播放质量。
[0005]根据本发明的一实施例,公开了一种流媒体系统架构,包括:云存储;全局调度系统;区域推流服务器群节点;以及用户终端。所述云存储是该流媒体系统的内容源,包括多个存储服务器。所述全局负载调度用于将用户请求调度到合适的区域推流服务器群节点以及在必要时调度到云存储。所述区域推流服务器群节点用于将用户请求调度到其所包含的一个或多个高速缓存服务器之一。
[0006]根据本发明的一实施例,公开了一种对流媒体用户请求进行服务的方法,包括:接收用户请求;基于接收到的用户请求确定就近区域推流服务器群节点;将用户调度到就近区域推流服务器群节点,以对该用户请求进行响应;响应于确定就近区域推流服务器群节点不能对该请求进行服务,确定其他区域推流服务器群节点是否能对该请求进行服务;如果是,则将用户调度到其他区域推流服务器群节点以对该用户请求进行响应;否则,响应于区域推流服务器群节点都不能对该请求进行服务,将用户调度到云存储以对该用户请求进行响应。
[0007]根据本发明的一实施例,公开了一种高速缓存服务器的体系结构,包括:CPU,所述CPU包括一个或多个核,在多核CPU的情况下,所述CPU被划分成两段,即上段和下段:上段用于进行用户服务,而下段则用来控制本地磁盘的读取,CPU的上段与下段之间采用0S内核间(消息触发及数据拷贝)进行通讯,在上段中,每个CPU的核都会以独占模式托管一定比例的用户,使核与核之间尽量避免过多的交互;多级存储,其中在所述多级存储中统计不同性能级别磁盘上的热度搬迀和淘汰,以充分地利用内存、高性能磁盘SSD与中间性能SAS盘之间的一个针对性能和相对大磁盘空间的利用率的一个折中,每个级别的存储上,以大块的模式将视频片储存在本地磁盘上,以保证传统磁盘上每个块能够以一种相对连续性的存储在磁盘上,同时根据流媒体文件编码的特性和用户行为习惯,进行跨文件的预读;以及网络接口,所述网络接口采取无中断模型,以轮询的模式让网卡进行收发数据。
【附图说明】
[0008]图1示出了根据本发明的实施例的系统架构。
[0009]图2示出了根据本发明的实施例的高速缓存服务器的体系结构框图。
[0010]图3示出了根据本发明的实施例的对用户请求进行服务的方法的流程图。
【具体实施方式】
[0011]申请人意识到,系统架构决定了调度模型,调度的好坏决定了服务的响应速度和用户流媒体质量的体验。因而,在本发明中,申请人提供了一种优化的流媒体系统架构,获得了良好的调度效果,提高了对用户请求的响应速度。
[0012]现在将详细参考附图描述本发明的实施例。
[0013]图1示出了根据本发明的实施例的流媒体系统的系统架构。如图所示,该系统包括云存储、全局负载调度、区域推流服务器群节点A、区域推流服务器群节点B、用户终端
1-2等等。虽然图1中仅示出了两个区域推流服务器群节点A和B以及两个用户终端1-2,但可以理解,这仅仅是为了简明和便于描述的目的来示出的,本系统可以包含任何数量的区域推流服务器群节点和用户终端。还需注意,虽然在图1中将各个组件示为彼此分开,但可以理解,这仅仅是这些组件在逻辑上的关系,它们中的一些可以彼此结合。例如,全局负载调度可以与云存储位于一处,可以与某一区域推流服务器群节点位于一处,等等。
[0014]云存储包含存储服务器集群。云存储是该流媒体系统的内容源,用于存储包括多媒体文件(例如视频、音频等等)在内的各种内容。这些多媒体文件是以文件切片的形态存储在云存储中的各个磁盘服务器之上的。因而,在并发访问文件的时候分散了单台存储服务器的磁盘压力,同时也提高了通过云存储提供内容的速度和可靠性。
[0015]云存储用于向各区域推流服务器群节点提供内容以及在必要时直接向用户提供内容。云存储中的内容是与其在内容访问周期内的热度相关联地存储的。内容热度可根据在一定内容访问周期中的用户点击频率等来计算并与该内容相关联地存储。例如,可计算内容在一定的访问周期内用户点击数的加权平均,以获得内容热度。例如,假定内容访问周期介于T1到TN,TN = N*T1,N是大于1的整数,内容访问频率在T1到TN之间线性分布。假设内容在每个时间TX里获得的访问量为TXPV,设计系数A = (N-l)/N。如此,可如下计算随时间衰减的关注度(即,热度C):
[0016]T1PV*A~ (N-l) +T2PV*A~ (N_2) +T3PV*A~ (N_3) +......+TNPV = Σ TXPV*A~ (N_X)
[0017]用一个字段存储截止到上一个时间周期的Σ TXPV*A~ (N-X)(即该内容的热度C),另一个字段存储当前时间周期的访问量(此值表示为D),当进入下一时间周期时,使用C*A+D替换C,然后D清零。在内容热度到达一定热度阈值时,把该内容从云存储搬迀到高速缓存服务器。一般而言,内容的初始热度为零,但可以根据需要对某些内容设置大于零的初始热度。
[0018]此外,可以将播放时长、不同用户的点击等作为计算内容热度时的一个参数加以考虑。例如在计算内容热度时,播放时长短于一定阈值的用户点击可不被考虑或者权重较小;不同用户的多次点击比同一用户的多次点击权重更大;等等。
[0019]云存储还用于在各高速缓存服务器上不存在用户所请求的内容时直接对该用户请求进行服务。在这个服务过程中,作为周期性地计算文件片的热度的补充,也会对这些冷门文件片进行热度统计和计算,来进行一系列淘汰的算法,以保证高速缓存服务器之上的文件片永远是热门的。
[0020]全局负载调度是该流媒体系统的入口,即用户终端的内容请求会被发送到全局负载调度。如其名称所示,全局负载调度负责整个系统中用户请求的调度。首先,全局负载调度确定就近的区域推流服务器群节点,如果在该就近的区域推流服务器群节点上存在用户所请求的内容的情况下,则将用户调度到该节点;当就近区域推流服务器群节点内没有找到用户所请求的内容或该就近节点压力过大时,则将用户调度到其他区域推流服务器群节点上进行服务;如果在其他区域推流服务器群节点上仍未找到所请求的内容,则将用户调度到云存储来直接对用户进行服务。例如,全局负载调度根据用户请求中所包括的IP地址等信息来确定就近的区域推流服务器群节点。全局负载调度将该IP与区域推流服务器群节点的各IP进行比较,以确定就近节点。随后,确定就近节点上是否存在用户所请求的内容。
[0021]每一区域推流服务器群节点包括一个或多个高速缓存服务器,它们存储有来自云存储(即,内容源)的各媒体文件内容。与云存储相同,在高速缓存服务器之上存储的文件也是以文件分片形态存在的,这增加了高性能高速缓存磁盘
再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1