CN106850273B - 服务器及其流媒体服务提供方法 - Google Patents
服务器及其流媒体服务提供方法 Download PDFInfo
- Publication number
- CN106850273B CN106850273B CN201611269803.2A CN201611269803A CN106850273B CN 106850273 B CN106850273 B CN 106850273B CN 201611269803 A CN201611269803 A CN 201611269803A CN 106850273 B CN106850273 B CN 106850273B
- Authority
- CN
- China
- Prior art keywords
- mounting point
- configuration information
- point configuration
- server
- streaming media
- 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
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
服务器及其流媒体服务提供方法,所述服务器包括多个工作进程,所述方法包括:工作进程判断是否需要对相应的挂载点配置信息进行更新;当需要对相应的挂载点配置信息进行更新时,所述工作进程对所述挂载点配置信息进行更新,且在更新过程中,使用所述工作进程继续提供配置信息未发生变化的挂载点上所承载的流媒体服务。上述的方案,可以在对客户的挂载点配置进行更新时,提升用户的使用体验。
Description
技术领域
本发明属于网络直播技术领域,特别是涉及一种服务器及其流媒体服务提供方法。
背景技术
内容分发网络(Content Delivery Network,CDN),通过在网络各处放置缓存服务器,在现有的互联网基础之上构建一层智能虚拟网络,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,以缓解网络拥挤的状况,提高网站的相应速度,从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等原因,导致用户访问网站的相应速度慢的问题。
流媒体文件是采用流式传输及播放的媒体文件。在采用流式传输方式在网络中传输流媒体文件时,首先将视频和音频等多媒体文件经过压缩分成多个压缩包,再由服务器向客户端连续、实时传送。与非流式传输方式相比,用户不用等到整个文件全部下载完毕才能能够进行播放,而是只需要经过短时间的启动延时即可在客户端上利用播放器对已接收的流媒体文件进行播放,剩余的部分将继续进行下载,直至流媒体文件播放完毕。
通常,流媒体服务节点在向客户提供流媒体服务时,需要根据客户的需求对相应的挂载点配置信息进行更新。但是,现有的挂载点配置更新方式,存在着用户使用体验度低且浪费资源的问题。
发明内容
本发明实施例解决的问题是如何在对客户的挂载点配置进行更新时,提升用户的使用体验。
为解决上述问题,本发明实施例提供了一种服务器流媒体服务提供方法,所述服务器包括多个工作进程,所述方法包括:工作进程判断是否需要对相应的挂载点配置信息进行更新;当需要对相应的挂载点配置信息进行更新时,所述工作进程对所述挂载点配置信息进行更新,且在更新过程中,使用所述工作进程继续提供配置信息未发生变化的挂载点上所承载的流媒体服务。
可选地,所述方法还包括:当相应的挂载点配置信息更新完毕时,所述工作进程继续向用户提供配置信息为发送变化的挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务。
可选地,所述工作进程对所述挂载点配置信息进行更新,包括:所述工作进程从预设的配置服务器中获取对应的挂载点配置信息;所述工作进程将所获取的挂载点配置信息与本地存储的对应的挂载点配置信息进行比较;当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息不一致时,所述工作进程采用从所述配置服务器中获取的对应的挂载点配置信息对本地存储的对应的挂载点配置信息进行更新。
可选地,当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,所述方法还包括:所述工作进程继续保持与所述配置服务器之间的连接,直至达到预设的第一时间阈值。
可选地,当采用所获取的挂载点配置信息对本地所存储的对应的挂载点配置信息进行更新完毕时,所述方法还包括:所述工作进程将从所述配置服务器中获取的挂载点配置信息存储至预设的挂载点列表中。
可选地,当重启时,所述方法还包括:获取本地存储的对应的挂载点配置文件,并解析得到对应的挂载点配置信息;基于解析得到的挂载点配置信息,创建对应的工作进程;采用所创建的对应的工作进程从所述配置服务器中获取对应的挂载点配置信息;当确定从所述配置服务器中获取的挂载点配置信息与解析得到的挂载点配置信息不一致时,采用所创建的对应的工作进程从所述配置服务器中获取的挂载点配置信息对本地存储的挂载点配置文件中的挂载点配置信息进行更新。
可选地,当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,所述方法还包括:采用所创建的对应的工作进程继续保持与所述配置服务器之间的连接,直至达到预设的第二时间阈值。
可选地,当确定从所述配置服务器中获取对应的挂载点配置信息失败时,所述方法还包括:采用所创建的对应的工作进程从所述挂载点列表中获取对应的挂载点配置信息,对本地存储的对应的挂载点配置文件中的挂载点配置信息进行更新。
本发明实施例还提供了一种服务器,所述服务器包括存储单元和多个工作进程;所述存储单元,适于存储挂载点配置信息;所述工作进程,包括判断子单元、更新子单元和服务子单元;所述判断子单元,适于判断是否需要对相应的挂载点配置信息进行更新;所述更新子单元,适于当判断需要对相应的挂载点配置信息进行更新时,对所述挂载点配置信息进行更新;所述服务子单元,适于在更新过程中,继续提供配置信息未发生变化的挂载点上所承载的流媒体服务。
可选地,所述服务子单元,还适于当对应的挂载点配置信息更新完毕时,所述工作进程继续向用户提供配置信息为发送变化的挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务。
可选地,所述更新子单元,适于从预设的配置服务器中获取对应的挂载点配置信息;将所获取的挂载点配置信息与本地存储的对应的挂载点配置信息进行比较;当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息不一致时,采用从所述配置服务器中获取的对应的挂载点配置信息对本地存储的对应的挂载点配置信息进行更新。
可选地,所述更新子单元,还适于当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,继续保持与所述配置服务器之间的连接,直至达到预设的第一时间阈值。
可选地,所述工作进程还包括存储子单元;存储子单元,适于当采用所获取的挂载点配置信息对本地所存储的对应的挂载点配置信息进行更新完毕时,将从所述配置服务器中获取的挂载点配置信息存储至预设的挂载点列表中。
可选地,还包括重启单元,适于当重启时,获取本地存储的对应的挂载点配置文件,并解析得到对应的挂载点配置信息;基于解析得到的挂载点配置信息,创建对应的工作进程;
所创建的对应的工作进程,适于从所述配置服务器中获取对应的挂载点配置信息;当确定从所述配置服务器中获取的挂载点配置信息与解析得到的挂载点配置信息不一致时,采用从所述配置服务器中获取的挂载点配置信息对本地存储的挂载点配置文件中的挂载点配置信息进行更新。
可选地,所创建的对应的工作进程,适于当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,还适于继续保持与所述配置服务器之间的连接,直至达到预设的第二时间阈值。
可选地,所创建的对应的工作进程,还适于当确定从所述配置服务器中获取对应的挂载点配置信息失败时,采用所创建的对应的工作进程从所述挂载点列表中获取对应的挂载点配置信息,对本地存储的对应的挂载点配置文件中的挂载点配置信息进行更新。
可选地,所述服务器为Nginx服务器。
与现有技术相比,本发明的技术方案具有以下的优点:
上述的方案,采用动态更新挂载点配置信息的方式对挂载点配置信息进行更新,当确定需要对对应的挂载点配置信息进行更新时,采用对应的工作进程对相应客户的挂载点配置信息进行更新,并在对相应客户的挂载点配置信息进行更新时,采用所述工作进程继续向用户提供已有挂载点对应的流媒体服务,可以避免因服务重启所导致的流媒体服务中断情形的发生,因而可以提高流媒体文件的播放质量,提升用户的使用体验。
进一步地,在相应客户的挂载点配置信息更新完毕时,采用所述工作进程继续向用户提供配置信息未更新的挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务,由于在对应的挂载点配置信息更新完毕时,采用所述工作进程继续向用户提供已有挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务,可以避免配置信息未更新的挂载点对应的流媒体文件的多次回源,因而可以节约资源。
进一步地,当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,对应的工作进程继续保持与所述配置服务器之间的连接,直至达到预设的第一时间阈值,可以节约由于每次获取挂载点配置信息均需要与配置服务器建立连接所产生的开销,因而可以减轻配置服务器的负载,节约资源。
进一步地,在对当采用所获取的挂载点配置信息对本地所存储的相应的挂载点配置信息进行更新完毕时,通过对应的工作进程将从所述配置服务器中获取的对应的挂载点配置信息进行存储,可以在重启时采用本次下载的挂载点配置信息对相应客户的挂载点配置信息进行更新,可以降低对于配置服务器的依赖,提升挂载点配置信息更新的灵活性。
附图说明
图1是本发明实施例中一种的服务器直播服务提供方法的流程图;
图2是本发明实施例中另一种的服务器直播服务提供方法的流程图;
图3是本发明实施例中服务器重启时对挂载点配置信息进行更新的方法的流程图;
图4是本发明实施例中的一种流媒体文件的传输装置的结构示意图;
图5是本发明实施例中的一种工作进程的结构示意图。
具体实施方式
如背景技术所言,流媒体服务节点在向客户提供流媒体服务时,需要根据客户的需求对相应的挂载点配置信息进行更新。
现有的挂载点配置更新方式,通过控制中心生成好新的挂载点配置对应的挂载点配置文件后,使用ansible或saltstack等运维工具向各个流媒体服务节点推送最新的挂载点配置文件,推送完后,再通过重载指令重载Nginx服务,以使得最新的挂载点配置文件配置生效。
但是,上述的挂载点配置信息更新方式存在以下问题:
其一,在流媒体服务上存在多个客户的挂载点时,每一客户每天都有可能去新增或删除一个挂载点,那么该流媒体服务将被多次重载,在流量比较高的时候,每一次重载服务都会对服务质量造成很大的波动,对用户体验造成了严重的影响。
其二,由于直播是长连接,根据Nginx的服务重载机制,旧的工作进程处理旧的长连接请求,导致工作进程不能被及时释放,越积越多,造成了资源的浪费。
其三,由于旧工作进程在处理旧的连接时有一次回源,每一次流媒体服务每次重载后,同样的流媒体文件被再次访问时,新的工作进程会再次回源,同样造成了资源的浪费。
为解决上述问题,本发明实施例中的视频文件提供方法,当确定需要对相应客户的挂载点配置信息进行更新时,采用对应的工作进程对相应客户的挂载点配置信息进行更新,并在对相应客户的挂载点配置信息进行更新时,采用所述工作进程继续向用户提供已有挂载点对应的流媒体服务;在相应客户的挂载点配置信息更新完毕时,采用所述工作进程继续向用户提供已有挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务,可以提高流媒体文件的播放质量,并可以节约资源。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例中的一种服务器流媒体服务提供方法的流程图。如图1所示的服务器流媒体服务提供方法,可以包括:
步骤S101:工作进程判断是否需要对相应的挂载点配置信息进行更新。
在具体实施中,提供流媒体服务的服务器可以根据挂载点的设置,创建对应的工作进程,也即挂载点与工作进程之间具有预设的对应关系。其中,每个工作进程可以根据需要,实时地对相应的流媒体服务对应的挂载点配置信息进行更新。
步骤S102:当确定需要对相应的挂载点配置信息进行更新时,所述工作进程对所述挂载点配置信息进行更新。
在具体实施中,每个工作进程在确定需要对相应的挂载点配置信息进行更新时,便可以采用最新获取的挂载点配置信息对服务器中本地存储的对应的挂载点配置信息进行更新。
步骤S103:当对相应的挂载点配置信息进行更新时,使用所述工作进程继续提供配置信息未发生变化的挂载点上所承载的流媒体服务。
在具体实施中,当每个工作进程在对相应的挂载点配置信息进行更新,且配置信息未发生变化的挂载点正在为用户提供相应的流媒体服务时,如配置信息未发生变化的挂载点,在对挂载点配置信息更新之前已经接收到相应挂载点的流媒体访问请求,并正在向用户提供流媒体服务的时候,对应的工作进程可以在对相应的挂载点配置信息进行更新的同时,继续向用户提供正在进行的流媒体服务。
换句话说,工作进程对应的挂载点配置信息的更新过程与配置信息未发生变化的挂载点的流媒体服务之间并行进行,从而可以避免因挂载点配置信息更新所导致的服务重载对于正在进行的配置信息未发生变化的挂载点的流媒体服务的影响,从而可以提高流媒体服务的质量,提升用户的使用体验。
上述的方案,采用动态更新挂载点配置信息的方式对挂载点配置信息进行更新,当确定需要对相应客户的挂载点配置信息进行更新时,采用对应的工作进程对相应客户的挂载点配置信息进行更新,并在对相应客户的挂载点配置信息进行更新时,采用所述工作进程继续向用户提供已有挂载点对应的流媒体服务,可以避免因服务重启所导致的流媒体服务中断情形的发生,因而可以提高流媒体文件的播放质量,提升用户的使用体验。
下面将结合图2对本发明实施例中的服务器流媒体服务提供方法进行详细的描述。
参见图2,本发明实施例中的服务器流媒体服务提供方法,适于向客户提供相应的流媒体服务,具体可以采用如下的操作实现:
步骤S201:工作进程从预设的配置服务器中获取对应的挂载点配置信息。
在具体实施中,客户的挂载点配置信息可以存储于预设的配置服务器中。该配置服务器设置有统一的对外接口,用于客户录入对应的挂载点配置信息,如对于自身所有的挂载点进行增加、删除或者修改等。对应的工作进程可以实时或者定时从配置服务器的获取对应的流媒体服务对应的挂载点配置信息。在本发明一实施例中,所述配置服务器为Consul服务器。
在具体实施中,Nginx服务器在初始化过程,根据提供流媒体服务的需要,创建有对应的多个工作进程,以在接收用户发送的流媒体访问请求时,向用户提供对应的流媒体服务,也即将用户所请求的对应的流媒体文件返回至对应的客户端。同时,对应的工作进程还采用相应的线程实时或定时从配置服务器中获取自身对应的挂载点配置信息,以在客户对挂载点配置信息进行更新时,将对应的挂载点配置信息同步至自身所属的Nginx服务器中,从而根据最新的挂载点配置信息向用户提供最新的流媒体服务。
步骤S202:判断从所述配置服务器中获取的对应的挂载点配置信息与本地存储的对应的挂载点配置信息是否一致;当判断结果为是时,可以执行步骤S205;反之,则可以执行步骤S203。
步骤S203:当对本地存储的对应的挂载点配置信息进行更新时,所述对应的工作进程继续向用户提供配置信息未发生变化的挂载点的流媒体服务。
在具体实施中,对应的工作进程在确定从预设的配置服务器中所获取的相应的挂载点配置信息,与自身所属的Nginx服务器中本地所存储的相应的挂载配置信息不一致时,便可以采用从所述配置服务器中获取的对应的挂载点配置信息对自身相应的挂载点配置信息进行更新。
与此同时,若配置信息未发生变化的挂载点正在为用户提供流媒体服务,则该工作进程继续向用户提供对应的流媒体服务,也即挂载点配置信息的更新与提供流媒体服务之间互不干扰,也即用户所使用的流媒体服务可以在配置信息更新的过程中继续正常进行,从而可以避免服务重载对正在进行的流媒体服务的影响,从而可以提高流媒体服务的质量。
步骤S204:当对本地存储的对应的挂载点配置信息更新完毕时,所述工作进程继续向用户提供配置信息未发生变化的挂载点的流媒体服务,以及向用户提供新增挂载点的流媒体服务,并将从所述配置服务器中获取的挂载点配置信息存在至预设的挂载点列表中。
在具体实施中,当对应的挂载点配置信息更新完毕时,对应的工作进程可以启用新增挂载点对应的流媒体服务,也即在接收到新增挂载点对应的流媒体访问请求时,向相应的客户端返回对应的流媒体文件。同时,对应的工作进程继续维持正在进行的配置信息未发生变化的挂载点对应的流媒体服务的正常进行。
在挂载点配置信息更新之前、过程中和之后,采用同一个工作进程向用户提供连续的流媒体服务:一方面,可以避免由于服务重载所导致的工作进程越积越多,不能及时释放;另一方面,也可以避免由于服务重载所创建的新的工作进程在接收到用户的访问请求时,对于配置信息未发生变化的挂载点对应的流媒体文件的再次回源,因而可以减轻源站服务器的负载,节约资源。
在具体实施中,为了节约开销,本发明实施例中的服务器流媒体服务提供方法,还包括:
步骤S205:所述工作进程继续保持与所述配置服务器之间的连接,直至达到预设的第一时间阈值。
在本发明一实施例中,当对应的工作进程在确定客户未对相应的挂载点配置信息进行更新时,也即从配置服务器中获取的对应的挂载点配置信息与Nginx服务器中本地所存储的相应的挂载配置信息一致时,并非直接释放与配置服务器的连接,而是继续保持与所述配置服务器之间的连接一段时间,也即保持的时间长度达到预设的第一时间阈值,以在该时间段内当客户对配置服务器中对应的挂载点配置信息进行更新时,可以不用再次与配置服务器建立连接,便可以获取对应的挂载点配置信息,从而可以减少与配置服务器之间的交互次数,以节约资源。
其中,第一时间阈值可以根据实际的需要进行设置,如设置为5分钟或者10分钟等,本发明在此不做限制。
在具体实施中,在确定从配置服务器中获取的对应的挂载点配置信息与Nginx服务器中本地所存储的相应的挂载配置信息一致,Nginx服务器中对应的工作进程可以首先将从配置服务器中获取的对应的挂载点配置信息存储在Nginx服务器中对应的挂载点列表中,以在重启且无法从配置服务器中获取对应的挂载点配置信息时,可以采用挂载点列表中存储的挂载点配置信息对自身相应的挂载点配置信息进行更新,具体请参见图3。
参见图3,在Nginx服务器重启后对相应的挂载点配置信息的更新过程,可以采用如下的步骤实现:
步骤S301:当重启时,获取本地存储的相应客户的挂载点配置文件,并解析得到对应的挂载点配置信息。
在具体实施中,Nginx服务器可能由于故障等需要进行重启。当重启时,为了确保流媒体服务的正常进行,Nginx服务器可以首先从本次所存储的挂载点配置信息中获取对应的挂载点配置文件,并对所本地所存储的挂载点配置文件进行解析,以得到的对应的挂载点配置信息。
步骤S302:基于解析得到的挂载点配置信息,创建对应的工作进程。
在具体实施中,Nginx服务器在解析得到本地所存储的挂载点配置文件中的挂载配置信息时,可以根据解析得到的挂载点配置信息创建对应的工作进程,以维护对应挂载点的配置信息并向用户提供对应的流媒体服务。
步骤S303:采用所创建的对应的工作进程从所述配置服务器中获取相应客户的挂载点配置信息。
在具体实施中,Nginx服务器在创建完成对应的至少一个的工作进程时,对应的工作进程可以首先与所述配置服务器建立连接,并获取所述配置服务器中所存储的对应的挂载点配置信息,以在重启成功后,将从所述配置服务器所获取的对应的挂载点配置信息与Nginx服务器本地所存储的对应的挂载点配置信息进行比较,以确定在后续的步骤中是否对Nginx服务器本地所存储的对应的挂载点配置信息进行更新。
步骤S304:所创建的对应的工作进程判断是否成功从配置服务器中获取相应的挂载点配置信息;当判断结果为是时,可以执行步骤S305;反之,则可以执行步骤S306。
步骤S305:所述工作进程采用本地存储的挂载点列表中相应的挂载点配置信息,对相应的挂载点配置信息进行更新。
在具体实施中,当在配置服务器出现故障,或者与配置服务器之间的拦截异常等情形出现,导致无法从配置服务器中成功获取对应的挂载点配置信息时,可以通过Nginx服务器本地存储的挂载点列表中存储的挂载点配置信息对相应的挂载点配置信息进行更新,从而可以降低对配置服务器的依赖,提高挂载点配置信息更新的灵活性。
步骤S306:判断从所述配置服务器中获取的挂载点配置信息与解析得到对应的挂载点配置信息是否一致;当判断结果为是时,可以执行步骤S308;反之,则可以执行步骤S307。
步骤S307:采用所创建的对应的工作进程从所述配置服务器中获取的挂载点配置信息对本地存储的挂载点配置文件中的挂载点配置信息进行更新。
在具体实施中,当重启成功后,Nginx服务器所创建的对应的工作进程在确定从所述配置服务器中获取的挂载点配置信息对本地存储的挂载点配置文件中的挂载点配置信息
步骤S308:采用所创建的对应的工作进程继续保持与所述配置服务器之间的连接,直至达到预设的第二时间阈值。
在具体实施中,上述的步骤S305至S307的操作过程可以参照步骤S202至S205中相应部分的介绍,不再赘述。
上述对本发明实施例中的方法进行了详细的描述,下面将对上述的方法对应的装置进行结介绍。
图4示出了本发明实施例中的一种服务器的结构。参见图4,本发明实施例中的一种服务器400,可以包括多个工作进程4011~401n(n为大于1的整数),其中:
参见图5,在具体实施中,本发明实施例中的工作进程500可以分别包括判断子单元501、更新子单元502和服务子单元503,其中:
所述判断子单元501,适于判断是否需要对相应的挂载点配置信息进行更新;
所述更新子单元502,适于当所述工作进程判断需要对相应的挂载点配置信息进行更新时,对所述挂载点配置信息进行更新。
所述服务子单元503,适于在更新过程中,继续提供配置信息未发生变化的挂载点上所承载的流媒体服务。
在具体实施中,所述服务子单元503,还适于当相应客户的挂载点配置信息更新完毕时,继续向用户提供配置信息为发送变化的挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务。
在具体实施中,所述更新子单元502,适于所述工作进程从预设的配置服务器中获取所述客户对应的挂载点配置信息;将所获取的挂载点配置信息与本地存储的所述客户的挂载点配置信息进行比较;当确定所获取的挂载点配置信息与本地存储的所述客户的挂载点配置信息不一致时,采用从所述配置服务器中获取的所述客户对应的挂载点配置信息对本地存储的相应客户的挂载点配置信息进行更新。
在具体实施中,所述工作进程500还包括存储子单元504,其中:
所述存储子单元504,适于当确定所获取的挂载点配置信息与本地存储的相应客户的挂载点配置信息一致时,继续保持与所述配置服务器之间的连接,直至达到预设的第一时间阈值。
在本发明一实施例中,所述工作进程还包括存储子,还适于当采用所获取的挂载点配置信息对本地所存储的相应客户的挂载点配置信息进行更新完毕时,所述工作进程将从所述配置服务器中获取的挂载点配置信息进行存储。
继续参见图4,在本发明一实施例中,所述服务器400还可以包括重启单元402和工作进程4021~402m,其中:
所述重启单元402,适于当重启时,获取本地存储的相应客户的挂载点配置文件,并解析得到对应的挂载点配置信息;基于解析得到的挂载点配置信息,创建对应的工作进程4021~402m;
所创建的对应的工作进程4021~402m,适于分别从所述配置服务器中获取相应客户的挂载点配置信息;当确定从所述配置服务器中获取的挂载点配置信息与解析得到的挂载点配置信息不一致时,采用从所述配置服务器中获取的挂载点配置信息对本地存储的挂载点配置文件中的挂载点配置信息进行更新。
其中,工作进程4021~402m为重启后创建的工作进程,工作进程4011~401n为重启前创建的工作进程4011~401n。
在本发明一实施例中,为了节约资源,所创建的对应的工作进程4021~402m,分别适于当确定所获取的挂载点配置信息与本地存储的所述客户的挂载点配置信息一致时,还适于继续保持与所述配置服务器之间的连接,直至达到预设的第二时间阈值。
在本发明一实施例中,为了降低对配置服务器的依赖程度,所创建的对应的工作进程4021~402m,还分别适于当确定从所述配置服务器中获取对应的挂载点配置信息失败时,采用从存储至本地所述客户对应的挂载点配置信息,对本地存储所述客户对应的挂载点配置文件中的挂载点配置信息进行更新。
采用本发明实施例中的上述方案,采用动态更新挂载点配置信息的方式对挂载点配置信息进行更新,当确定需要对相应客户的挂载点配置信息进行更新时,采用对应的工作进程对相应客户的挂载点配置信息进行更新,并在对相应客户的挂载点配置信息进行更新时,采用所述工作进程继续向用户提供已有挂载点对应的流媒体服务,可以避免因服务重启所导致的流媒体服务中断情形的发生,因而可以提高流媒体文件的播放质量,提升用户的使用体验。
进一步地,在相应客户的挂载点配置信息更新完毕时,采用所述工作进程继续向用户提供配置信息未更新的挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务,由于在相应客户的挂载点配置信息更新完毕时,采用所述工作进程继续向用户提供已有挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务,可以避免配置信息未更新的挂载点对应的流媒体文件的多次回源,因而可以节约资源。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于计算机可读存储介质中,存储介质可以包括:ROM、RAM、磁盘或光盘等。
以上对本发明实施例的方法及系统做了详细的介绍,本发明并不限于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (13)
1.一种服务器流媒体服务提供方法,其特征在于,所述服务器包括多个工作进程,所述流媒体服务提供方法包括:
工作进程判断是否需要对相应的挂载点配置信息进行更新;
当需要对相应的挂载点配置信息进行更新时,所述工作进程对所述挂载点配置信息进行更新,且在更新过程中,所述工作进程继续提供配置信息未发生变化的挂载点上所承载的流媒体服务;
其中,所述工作进程对所述挂载点配置信息进行更新,包括:
所述工作进程从预设的配置服务器中获取对应的挂载点配置信息;
所述工作进程将所获取的挂载点配置信息与本地存储的对应的挂载点配置信息进行比较;
当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息不一致时,所述工作进程采用从所述配置服务器中获取的对应的挂载点配置信息对本地存储的对应的挂载点配置信息进行更新;
当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,还包括:所述工作进程继续保持与所述配置服务器之间的连接,直至达到预设的第一时间阈值。
2.根据权利要求1所述的服务器流媒体服务提供方法,其特征在于,还包括:当对应的挂载点配置信息更新完毕时,所述工作进程继续向用户提供配置信息未发生变化的挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务。
3.根据权利要求2所述的服务器流媒体服务提供方法,其特征在于,当采用所获取的挂载点配置信息对本地所存储的对应的挂载点配置信息进行更新完毕时,还包括:
所述工作进程将从所述配置服务器中获取的挂载点配置信息存储至预设的挂载点列表中。
4.根据权利要求3所述的服务器流媒体服务提供方法,其特征在于,当重启时,还包括:
获取本地存储的对应的挂载点配置文件,并解析得到对应的挂载点配置信息;
基于解析得到的挂载点配置信息,创建对应的工作进程;
采用所创建的对应的工作进程从所述配置服务器中获取对应的挂载点配置信息;
当确定从所述配置服务器中获取的挂载点配置信息与解析得到的挂载点配置信息不一致时,采用所创建的对应的工作进程从所述配置服务器中获取的挂载点配置信息对本地存储的挂载点配置文件中的挂载点配置信息进行更新。
5.根据权利要求4所述的服务器流媒体服务提供方法,其特征在于,当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,还包括:
采用所创建的对应的工作进程继续保持与所述配置服务器之间的连接,直至达到预设的第二时间阈值。
6.根据权利要求3所述的服务器流媒体服务提供方法,其特征在于,当确定从所述配置服务器中获取对应的挂载点配置信息失败时,还包括:
采用所创建的对应的工作进程从所述挂载点列表中获取对应的挂载点配置信息,对本地存储的对应的挂载点配置文件中的挂载点配置信息进行更新。
7.一种服务器,其特征在于,所述服务器包括:存储单元和多个工作进程,所述服务器包括:
所述存储单元,适于存储挂载点配置信息;
所述工作进程包括判断子单元、更新子单元和服务子单元,其中:
所述判断子单元,适于判断是否需要对所述存储单元中相应的挂载点配置信息进行更新;
所述更新子单元,适于当所述工作进程判断需要对所述存储单元中相应的挂载点配置信息进行更新时,对所述挂载点配置信息进行更新;
所述服务子单元,适于在更新过程中,继续提供配置信息未发生变化的挂载点上所承载的流媒体服务;
其中,所述更新子单元,适于
从预设的配置服务器中获取对应的挂载点配置信息;
将所获取的挂载点配置信息与本地存储的对应的挂载点配置信息进行比较;
当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息不一致时,采用从所述配置服务器中获取的对应的挂载点配置信息对本地存储的对应的挂载点配置信息进行更新;
当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,继续保持与所述配置服务器之间的连接,直至达到预设的第一时间阈值。
8.根据权利要求7所述的服务器,其特征在于,所述服务子单元,还适于当对应的挂载点配置信息更新完毕时,继续向用户提供配置信息未发生变化的挂载点对应的流媒体服务,并向用户提供新增挂载点对应的流媒体服务。
9.根据权利要求8所述的服务器,其特征在于,所述工作进程还包括存储子单元;
所述存储子单元,适于当采用所获取的挂载点配置信息对本地所存储的对应的挂载点配置信息进行更新完毕时,将从所述配置服务器中获取的挂载点配置信息存储至预设的挂载点列表中。
10.根据权利要求9所述的服务器,其特征在于,还包括重启单元,适于当重启时,获取本地存储的对应的挂载点配置文件,并解析得到对应的挂载点配置信息;基于解析得到的挂载点配置信息,创建对应的工作进程;
所创建的对应的工作进程,适于从所述配置服务器中获取对应的挂载点配置信息;当确定从所述配置服务器中获取的挂载点配置信息与解析得到的挂载点配置信息不一致时,采用从所述配置服务器中获取的挂载点配置信息对本地存储的挂载点配置文件中的挂载点配置信息进行更新。
11.根据权利要求10所述的服务器,其特征在于,所创建的对应的工作进程,适于当确定所获取的挂载点配置信息与本地存储的对应的挂载点配置信息一致时,还适于继续保持与所述配置服务器之间的连接,直至达到预设的第二时间阈值。
12.根据权利要求9所述的服务器,其特征在于,所创建的对应的工作进程,还适于当确定从所述配置服务器中获取对应的挂载点配置信息失败时,采用所创建的对应的工作进程从所述挂载点列表中获取对应的挂载点配置信息,对本地存储的对应的挂载点配置文件中的挂载点配置信息进行更新。
13.根据权利要求7~12任一项所述的服务器,其特征在于,所述服务器为Nginx服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611269803.2A CN106850273B (zh) | 2016-12-30 | 2016-12-30 | 服务器及其流媒体服务提供方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611269803.2A CN106850273B (zh) | 2016-12-30 | 2016-12-30 | 服务器及其流媒体服务提供方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106850273A CN106850273A (zh) | 2017-06-13 |
CN106850273B true CN106850273B (zh) | 2020-01-07 |
Family
ID=59117743
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611269803.2A Active CN106850273B (zh) | 2016-12-30 | 2016-12-30 | 服务器及其流媒体服务提供方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106850273B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110134453B (zh) * | 2018-02-09 | 2022-07-08 | 网宿科技股份有限公司 | 服务器配置重载方法及服务器 |
CN108920628B (zh) * | 2018-06-29 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种适配大数据平台的分布式文件系统访问方法及装置 |
CN109254958B (zh) * | 2018-10-18 | 2021-07-16 | 上海云轴信息科技有限公司 | 分布式数据读写方法、设备及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594884A (zh) * | 2012-02-09 | 2012-07-18 | 成都三零凯天通信实业有限公司 | 基于b/s架构多级数据自动分发与同步的方法与系统 |
CN105242885A (zh) * | 2015-10-30 | 2016-01-13 | 北京奇艺世纪科技有限公司 | 一种网络存储的变更方法及装置 |
CN105871649A (zh) * | 2016-06-21 | 2016-08-17 | 上海帝联信息科技股份有限公司 | 节点服务器、服务端及其配置文件更新、更新控制方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102651861B (zh) * | 2011-02-24 | 2014-08-20 | 腾讯科技(深圳)有限公司 | 用于移动终端的下载方法、移动终端和代理下载服务器 |
-
2016
- 2016-12-30 CN CN201611269803.2A patent/CN106850273B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594884A (zh) * | 2012-02-09 | 2012-07-18 | 成都三零凯天通信实业有限公司 | 基于b/s架构多级数据自动分发与同步的方法与系统 |
CN105242885A (zh) * | 2015-10-30 | 2016-01-13 | 北京奇艺世纪科技有限公司 | 一种网络存储的变更方法及装置 |
CN105871649A (zh) * | 2016-06-21 | 2016-08-17 | 上海帝联信息科技股份有限公司 | 节点服务器、服务端及其配置文件更新、更新控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106850273A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11350139B2 (en) | Video live broadcast method and apparatus | |
US11757965B2 (en) | Low latency streaming media | |
US20180332316A1 (en) | Method and device for accelerating playback of a single-fragment video | |
US20190045242A1 (en) | Live consecutive ad insertion | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
CN110022482B (zh) | 视频起播方法、视频服务系统及存储介质 | |
CN110198495B (zh) | 一种视频下载和播放的方法、装置、设备和存储介质 | |
WO2017071566A1 (zh) | 网络视频播放方法和系统及用户终端、家庭流服务节点 | |
CN110933517B (zh) | 码率切换方法、客户端和计算机可读存储介质 | |
US20150120662A1 (en) | Synchronizing event history for multiple clients | |
CN108566370B (zh) | 一种数据回源的方法以及装置 | |
CN106850273B (zh) | 服务器及其流媒体服务提供方法 | |
JP2011170640A (ja) | キャッシュサーバ制御装置、コンテンツ配信システム、コンテンツ配信方法、及びプログラム | |
US20210194950A1 (en) | File distribution and download method, distribution server, client terminal and system | |
US11451603B2 (en) | Selective pre-caching of media streams | |
US10305955B1 (en) | Streaming decision in the cloud | |
KR102493871B1 (ko) | 세그먼터 유동성을 위한 패키저 | |
JP2011172021A (ja) | キャッシュサーバ制御装置、コンテンツ配信システム、コンテンツ配信方法、及びプログラム | |
CN107690093B (zh) | 一种视频播放方法及装置 | |
CN107302727B (zh) | 一种直播视频分片的下载方法、装置及系统 | |
US20240106891A1 (en) | Peer-to-peer network scheduling method and system | |
CN106713456B (zh) | 网络带宽统计方法及装置 | |
US20240106890A1 (en) | Peer-to-peer network scheduling method and system | |
CN112243136B (zh) | 内容播放方法、视频存储方法和设备 | |
EP3868071B1 (en) | Distributed state recovery in a system having dynamic reconfiguration of participating nodes |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |