应用的上线部署方法及其装置与系统
技术领域
本发明涉及通信技术领域,具体涉及一种应用的上线部署方法及其装置与系统。
背景技术
随着传统模拟电视的数字化改造深度推进,网络电视(IPTV,InternetProtocol Television)作为数字电视技术的重要手段,在全球范围内得到了广泛地应用。在IPTV系统中,电视(TV,Television)视音频数据流在与Internet同源的IP网络上传输。终端和系统侧设备都采用了开放架构,为其带来了有别于传统电视的业务体验。各类新业务还在不断被挖掘出来占领电视屏幕,帮助运营商获得更多的利润。撇开游戏、信息浏览、电子交易等各种已经在互联网上大行其道的业务不说。就视音频媒体业务本身来说,IPTV系统可以有更灵活的经营方式,运营商可以自营,也可以以“店铺”的形式由第三方经营;可以包装为视频新闻业务、网上视频教育、视频分享网站等各类应用向用户提供服务。
电视屏幕上提供丰富多彩的视频增值业务,满足了各类人群的个性化需要同时,也让运营商通过电视屏幕获得了更多的盈利机会。同时,IPTV视频增值业务对IPTV系统提出了一项架构需求:IPTV系统可以支撑大量的小众化视频应用,此类应用会引入海量级的视频节目。如图5所示,在目前常用的IPTV视频应用的部署方式下,服务提供商(SP,Service Provider)按照要求开发了新的视频增值应用并打包后,通过业务管理设备进行新应用包的上线部署申请,业务管理设备对新应用包进行内部审批后,通知应用后台进行新应用包的上线部署,应用后台将新应用包无差别地分发到每个应用服务器上,应用服务器对该新应用包对应的应用进行上线部署,以向终端用户呈现该应用。
在对现有技术的研究和实践过程中,本发明的发明人发现,由于应用包被部署到每个应用服务器上,若应用包的数量迅速增大,应用服务器将迅速遭遇性能瓶颈问题(如:内存不足)。
发明内容
本发明实施例提供一种应用的上线部署方法及其装置与系统,能够有效减缓应用服务器遭遇性能瓶颈问题的速度。
本发明实施例提供了一种应用的上线部署方法,包括:
接收需要上线部署的应用包,该应用包携带预置的热度等级;
选择所述热度等级对应的数量的应用服务器;
向选择的应用服务器分发所述应用包,以使该应用服务器对该应用包对应的应用进行上线部署。
本发明实施例提供了一种应用的上线部署装置,包括:
接收模块,用于接收需要上线部署的应用包,该应用包携带预置的热度等级;
选择模块,用于选择所述热度等级对应的数量的应用服务器;
发送模块,用于向选择的应用服务器分发所述应用包,以使该应用服务器对该应用包对应的应用进行上线部署。
本发明实施例提供了一种应用的上线部署系统,包括:
应用后台,用于接收需要上线部署的应用包,该应用包携带预置的热度等级,选择所述热度等级对应的数量的应用服务器;向选择的应用服务器分发所述应用包,以使该应用服务器对该应用包对应的应用进行上线部署;
至少一个应用服务器,用于接收应用后台发送的所述应用包,并对所述应用包进行上线部署。
从以上技术方案可以看出,与现有技术相比,本发明实施例包括如下有益效果:
本发明实施例中,为每一应用包预置一热度等级,每一应用包被部署到其热度等级对应的数量的应用服务器上,例如,系统中共100台应用服务器,而应用包A的热度等级对应的数量为5,那么,应用包A对应的应用只会被部署到5台应用服务器上,而现有技术中,应用包A对应的应用会被部署到100台应用服务器上。由此可见,相对于现有技术,本发明实施例将应用包对应的应用部署到与其热度等级相适应的数量的应用服务器上,应用服务器资源的利用更为有效,能够有效减缓应用服务器遭遇性能瓶颈问题的速度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中应用的上线部署方法的一个实施例的基本流程示意图;
图2是本发明实施例中应用的上线部署方法的另一实施例的基本流程示意图;
图3是本发明实施例中应用的上线部署装置的一个实施例的示意图;
图4是本发明实施例中应用的上线部署系统的一个实施例的示意图;
图5是现有技术中常用的IPTV视频应用的部署方式的示意图。
具体实施方式
本发明实施例提供一种应用的上线部署方法及其装置与系统。以下分别进行详细说明。
实施例一、
请参阅图1,本发明实施例中应用的上线部署方法的一个实施例,包括:
101、接收需要上线部署的应用包,该应用包携带预置的热度等级;
SP按照要求开发了新应用并打包后,可以通过业务管理设备进行新应用包的上线部署申请,业务管理设备为该新应用包预置热度等级后,通知应用后台进行新应用包的上线部署。这种情况下,步骤101可以为应用后台从业务管理设备接收需要上线部署的应用包。
本发明实施例中,应用包的热度等级表示该应用包对应的应用受用户欢迎的程度,应用包的热度等级越高,表示该应用包对应的应用越受用户欢迎。可以为每一个新应用包都预置相同的热度等级,也可以根据管理人员对新应用包对应的应用受用户欢迎度的预期估计预置其热度等级。
102、选择应用包的热度等级对应的数量的应用服务器;
每个热度等级对应一定数量的应用服务器,应用包的热度等级越高,需要越多的应用服务器上线部署该应用包,反之,需要越少的应用服务器上线部署该应用包,例如,热度等级1对应的数量为5,热度等级2对应的数量为6。
在所有应用服务器中,可以按照一定策略,例如,按照低负载优先的原则,选择应用包的热度等级对应的数量的应用服务器。举例来说,若需要上线部署的应用包的热度等级为1,则先确定热度等级1对应的数量(如:5),并获取所有应用服务器的负载情况,按照负载从低到高为所有应用服务器排序,选择排在前5名的5台应用服务器。
103、向选择的应用服务器分发应用包,以使该应用服务器对该应用包对应的应用进行上线部署。
步骤103中向步骤102中选择的应用服务器无差别地分发应用包,以使这些应用服务器对该应用包对应的应用进行上线部署,向终端用户呈现该应用。
进一步地,在执行步骤102之后,还可以保存应用包与所述选择的应用服务器的对应关系;这种情况下,在向应用服务器发送应用包之后,可以根据需求增加或改变该应用包的内容元数据,内容元数据为应用包的描述信息,如:应用包名称、节目海报、演职人员等。在向应用服务器发送应用包之后,可以通过如下方式发布该应用包的内容元数据:
(1)、接收需要发布的应用包的内容元数据;
(2)、查询应用包对应的应用服务器的信息;
(3)、向查询到的应用服务器发送内容元数据,以使该应用服务器发布该内容元数据。
从以上可知,本实施例中,为每一应用包预置一热度等级,每一应用包被部署到其热度等级对应的数量的应用服务器上,例如,系统中共100台应用服务器,而应用包A的热度等级对应的数量为5,那么,应用包A对应的应用只会被部署到5台应用服务器上,而现有技术中,应用包A对应的应用会被部署到100台应用服务器上。由此可见,相对于现有技术,本实施例将应用包对应的应用部署到与其热度等级相适应的数量的应用服务器上,应用服务器资源的利用更为有效,能够有效减缓应用服务器遭遇性能瓶颈问题的速度。
实施例二、
为更加有效利用应用服务器资源,本发明实施例还提供向选择的应用服务器分发应用包之后,根据应用包对应的应用的在线用户总数以及在线用户总数的变化情况,调整部署该应用的应用服务器的数量的实施例。
请参阅图2,本发明实施例中应用的上线部署方法的另一实施例包括:
201、接收需要上线部署的应用包,该应用包携带预置的热度等级;
步骤201请参照对步骤101的说明。
202、按照低负载优先的原则,选择应用包的热度等级对应的数量的应用服务器;
步骤202请参照对步骤102的说明。
进一步地,可以将所有应用服务器分配给不同区域,例如,所有应用服务器共100台,其中,为上海分配10台指定的应用服务器,这种情况下,步骤101中携带的应用包还可以携带预置的区域信息(如:上海),步骤102可以在该区域信息关联的10台应用服务器中,选择应用包的热度等级对应的数量(如:5台)的应用服务器。
可以理解的是,每个热度等级也可以对应的数量也可以为一个数值范围,这种情况下,可以按照预定策略从该数值范围中选择数量。例如,热度等级1对应的数量为6至10,可以随机选择6至10中任一数值作为数量,也可以选择最大值,即10作为数量。
203、向选择的应用服务器分发应用包,以使该应用服务器对该应用包对应的应用进行上线部署;
204、获取应用包对应的应用的在线用户总数;
应用后台可以在接收到步骤202中选择的应用服务器返回的上线部署响应消息之后,获取应用包对应的应用的在线用户总数,以了解该应用包的实际热度,即该应用包对应的应用实际受用户欢迎的程度。
可以由应用包所在的各个应用服务器定期向应用后台上报应用包对应的应用的在线用户数,由应用后台计算应用包对应的应用的在线用户总数。
205、判断在线用户总数是否在应用包的热度等级对应的用户数量范围之内,若否,则执行步骤206,否则执行步骤208;
在判定在线用户总数在应用包的热度等级对应的用户数量范围之内时,也可以结束操作。
本实施例中,为每一个热度等级配置对应的用户数量范围。
206、将应用包的热度等级调整为在线用户总数对应的热度等级;
当应用包对应的应用的在线用户总数不在其热度等级对应的用户数量范围之内时,则将应用包的热度等级调整为其在线用户总数对应的热度等级。
举例来说,若共3个热度等级,热度等级1对应的用户数量范围为0-1000,热度等级2对应的用户数量范围为1001-6000,热度等级3对应的用户数量范围为大于6000,若步骤204中获取的应用包对应的应用的在线用户总数大于6000,而应用包的热度等级为2,则将应用包的热度等级调整为3。
可以周期性地获取应用包对应的应用的在线用户总数,可以要求连续预定次数(如:3次)获取的在线用户总数都大于应用包的热度等级(如:2)对应的最大用户数(如:6000)时,执行步骤206;或者,要求连续预定次数获取的在线用户总数都小于应用包的热度等级对应的最小用户数(如:1001)时,执行步骤206,以减少调整热度等级的频率。
207、选择调整后的应用包的热度等级对应的数量的应用服务器,并将应用包调整到所选择的应用服务器上,以使该应用服务器对该应用包对应的应用进行上线部署;
在执行步骤206之后,执行步骤207。
承接于步骤206中的举例,假设热度等级2对应的数量为4台,热度等级3对应的数量为5台,那么,在将应用包的热度等级由2调整为3之后,需使用5台应用服务器部署该应用包对应的应用,可以在已使用的4台应用服务器的基础上,通知另一台应用服务器用以部署该应用。同理,在将应用包的热度等级由3调整为2之后,需使用4台应用服务器部署该应用包对应的应用,可以指示已使用的5台应用服务器中的一台删除该应用。
由于本实施例中的删除应用包并非SP要求的,因此,可以要求通知应用服务器删除应用之后,该应用至少还部署于一个应用服务器上。
208、判断应用包对应的应用的在线用户总数是否上升,且上升速度达到预置的阈值,若是,则执行步骤209,否则结束操作;
进一步地,在判定在线用户总数在应用包的热度等级对应的用户数量范围之内之后,还可以根据在线用户总数的变化趋势来确定是否要调整应用包的热度等级。例如,可以定期获取应用包对应的应用的在线用户总数,当获取的在线用户总数持续上升,且每次的上升速度均达到预置的阈值时,增加该应用包的热度等级,例如,将该应用包的热度等级增加一级。
承接于步骤206中的举例,若应用包的当前的在线用户总数为4000,而一个小时前的在线用户总数为3000,两个小时前的在线用户总数为2000,那么,虽然应用包的当前的在线用户总数未超过6000,但可以认为应用包的实际热度有快速上升趋势,可以提前将应用包的热度等级增加一级。
209、将应用包的热度等级增加一级;
210、选择增加后的应用包的热度等级对应的数量的应用服务器,将应用包调整到所选择的应用服务器上,以使该应用服务器对该应用包对应的应用进行上线部署。
步骤210请参照对步骤207的说明。
同理,在判定在线用户总数在应用包的热度等级对应的用户数量范围之内时,也可以判断应用包对应的应用的在线用户总数是否下降,且下降速度达到预置的阈值;若是,则降低该应用包的热度等级,例如,将应用包的热度等级降低一级;选择降低后的应用包的热度等级对应的数量的应用服务器;将应用包调整到所选择的应用服务器上,以使该应用服务器对该应用包进行上线部署。
从以上可知,相对于图1所示实施例,本实施例中,在应用包上线部署之后,根据应用包对应的应用的在线用户总数以及在线用户总数的变化趋势,调整应用包部署的应用服务器的数量,更加有效利用了应用服务器资源。
下面对本发明实施例中的相关设备与系统进行详细说明。
实施例三、
请参阅图3,本发明实施例中应用的上线部署装置的一个实施例包括:
接收模块301,用于接收需要上线部署的应用包,该应用包携带预置的热度等级;
选择模块302,用于选择应用包的热度等级对应的数量的应用服务器;
发送模块303,用于向选择的应用服务器分发应用包,以使该应用服务器对该应用包对应的应用进行上线部署。
应用的上线部署装置可以集中于应用后台上,也可以为独立于应用后台的新增设备。
可选地,选择模块302包括:
获取单元,用于获取每个应用服务器的负载情况;
选择单元,用于按照低负载优先的原则,选择应用包的热度等级对应的数量的应用服务器。
可选地,应用的上线部署装置还包括:
保存模块304,用于在选择模块302执行相关操作之后,保存应用包与所述选择的应用服务器的对应关系;
发布模块305,用于在发送模块303向选择的应用服务器分发应用包之后,接收需要发布的该应用包的内容元数据,该内容元数据携带该应用包的标记;查询该应用包所在的应用服务器的信息;向查询到的应用服务器发送该内容元数据,以使该应用服务器发布该内容元数据。
可选地,应用的上线部署装置还可以包括:
调整模块,用于在发送模块执行相关操作之后,获取应用包对应的应用的在线用户总数;判断该在线用户总数是否在应用包的热度等级对应的用户数量范围之内;若否,则将应用包的热度等级调整为在线用户总数对应的热度等级;选择调整后的应用包的热度等级对应的数量的应用服务器;将应用包调整到所选择的应用服务器上,以使该应用服务器对该应用包对应的应用进行上线部署。
可选地,调整模块还可以用于在判定应用包对应的应用的在线用户总数在应用包的热度等级对应的用户数量范围之内时,判断应用包对应的应用的在线用户总数是否上升,且上升速度达到预置的阈值;若是,则增加该应用包的热度等级;选择增加后的应用包的热度等级对应的数量的应用服务器;将应用包调整到所选择的应用服务器上,以使该应用服务器对该应用包对应的应用进行上线部署。
可选地,调整模块还可以用于在判定应用包对应的应用的在线用户总数在应用包的热度等级对应的用户数量范围之内时,判断应用包对应的应用的在线用户总数是否下降,且下降速度达到预置的阈值;若是,则降低应用包的热度等级;选择降低后的应用包的热度等级对应的数量的应用服务器;将应用包调整到所选择的应用服务器上,以使该应用服务器对该应用包对应的应用进行上线部署。
实施例四、
请参阅图4,本发明实施例中应用的上线部署系统的一个实施例包括:
应用后台401,用于接收需要上线部署的应用包,该应用包携带预置的热度等级,选择该热度等级对应的数量的应用服务器;向选择的应用服务器分发应用包,以使该应用服务器对该应用包对应的应用进行上线部署;
至少一个应用服务器402,用于接收应用后台发送的应用包,并对该应用包对应的应用进行上线部署。
进一步地,应用服务器还用于向应用后台上报应用包对应的应用的在线用户数;应用后台还用于根据应用服务器上报的应用包对应的应用的在线用户数,获取应用包对应的应用的在线用户总数,判断在线用户总数是否在应用包的热度等级对应的用户数量范围之内,若否,则将应用包的热度等级调整为用户总数对应的热度等级,选择调整后的应用包的热度等级对应的数量的应用服务器,将应用包调整到所选择的应用服务器上,以使该应用服务器对该应用包对应的应用进行上线部署。
为便于理解,下面以一具体应用包场景对图4所示实施例进行说明。
假设系统包括1台应用后台,3台应用服务器,共设置3个热度等级,热度等级1对应的数量为1、用户数量范围为1至100,热度等级2对应的数量为2、用户数量范围为101至200,热度等级3对应的数量为3、用户数量范围为201至300。
SP按照要求开发了新应用(如“店铺”)并打包后,可以通过业务管理设备进行新应用包的上线部署申请,业务管理设备为该新应用包预置热度等级2后,通知应用后台进行新应用包的上线部署。
应用后台接收到携带热度等级2的应用包后,选择系统中负载较低的2台应用服务器(为便于描述,下面将这2台称为应用服务器A、B,另一台称为应用服务器C),并向应用服务器A、B发送该应用包,应用服务器A、B对该应用包对应的应用,即“店铺”,进行上线部署,使得“店铺”可以从应用服务器A或B呈现给用户。
在应用包上线部署之后,应用后台可以接收该应用包的内容元数据,并通过该应用包对应的应用所在的应用服务器发布该内容元数据。例如,某个内容提供商要购买一个“店铺”来销售它制作的节目,他将提供节目的相关信息、店铺名称等内容元数据,由管理员将这些内容元数据发送给应用后台,再由应用后台将这些内容元数据发送给有“店铺”这个应用的应用服务器,由该应用服务器发布该内容元数据,使得用户可以购买“店铺”里的节目。
并且,在应用包上线部署之后,应用服务器A、B每1小时上报一次该应用包对应的应用的在线用户数,假设在第1小时,应用服务器A、B上报的在线用户数分别为100和120;在第2小时,应用服务器A、B上报的在线用户数分别为120和130;在第3小时,应用服务器A、B上报的在线用户数分别为120和140;那么,应用后台计算得到第1、2、3小时的在线用户总数分别为220、250和260,判定连续3次获得的在线用户总数均大于200,将应用包的热度等级调整为3,并向应用服务器C发送应用包,应用服务器C对该应用包对应的应用进行上线部署。
从以上可知,本实施例中,为每一应用包预置一热度等级,每一应用包被部署到其热度等级对应的数量的应用服务器上,例如,系统中共100台应用服务器,而应用包A的热度等级对应的数量为5,那么,应用包A对应的应用只会被部署到5台应用服务器上,而现有技术中,应用包A对应的应用会被部署到100台应用服务器上。由此可见,相对于现有技术,本实施例将应用包对应的应用部署到与其热度等级相适应的数量的应用服务器上,应用服务器资源的利用更为有效,能够有效减缓应用服务器遭遇性能瓶颈问题的速度。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读内存(ROM,Read-Only Memory)、随机存储器(RAM,Random Access Memory)、磁盘或光盘等。
以上对本发明实施例所提供的应用的上线部署方法及其装置与系统进行了详细介绍,本文中应用包了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用包范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。