下载服务分离方法、装置、电子设备和可读存储介质与流程

文档序号:23710871发布日期:2021-01-23 19:42阅读:115来源:国知局
下载服务分离方法、装置、电子设备和可读存储介质与流程

[0001]
本发明涉及大数据领域,尤其涉及一种下载服务分离方法、装置、电子设备和可读存储介质。


背景技术:

[0002]
媒资系统是将不同子系统的内容资产进行汇聚的平台,以避免要分别在不同子系统的系统中管理和访问内容资产。此时,需要通过下载服务将内容资产从各子系统各自的平台下载到媒资系统中,方便统一管理。
[0003]
然而,媒资系统中所有子系统内容资产的下载,都在使用同一个服务器的硬件资源,并基于同一个消费者群组共享同一个下载服务,各子系统间争抢资源现象较为严重,下载资源的负载均衡容易出现异常。当一个子系统有大量下载任务时,其它子系统的下载任务将出现滞后现象,从而影响内容汇聚进度,甚至导致汇聚失败。


技术实现要素:

[0004]
针对现有技术存在的上述至少一个技术问题,本发明实施例提供一种下载服务分离方法、装置、电子设备和可读存储介质。
[0005]
第一方面,本发明实施例提供一种下载服务分离方法,包括:
[0006]
对媒资系统的原始下载服务进行监听;其中,所述原始下载服务是所述媒资系统的各个子系统共用的下载服务;
[0007]
若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,在第一服务器上为所述目标子系统部署专用下载服务;所述第一服务器是与所述原始下载服务对应的第二服务器不同的服务器;
[0008]
使用所述专用下载服务处理所述目标子系统的下载任务。
[0009]
可选的,所述若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,包括:
[0010]
若所述原始下载服务中第一子系统对应的下载任务堆积量超过第一阈值,则确定所述第一子系统为目标子系统;其中,所述第一子系统为所述媒资系统的任一子系统。
[0011]
可选的,所述若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,包括:
[0012]
若所述原始下载服务中第二子系统存在紧急下载任务,且所述原始下载服务的当前下载任务堆积总量超过第二阈值,则确定所述第二子系统为目标子系统;其中,所述第二子系统为所述媒资系统的任一子系统。
[0013]
可选的,所述若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,包括:
[0014]
若所述原始下载服务的下载速度已经达到所述第二服务器宽带的预设下载速度,或者,若所述第二服务器的cpu占用率已经达到第三阈值,则确定下载任务最紧急的子系统
为目标子系统。
[0015]
可选的,所述第一阈值通过如下方式计算得到:
[0016]
根据预设时间段内所述原始下载服务中每一下载任务的执行时间,以及所述原始下载服务的实例数量,确定所述原始下载服务的标准下载任务堆积量;其中,所述标准下载任务堆积量为所述原始下载服务在预设的时间段内消费的消息的最大数量;
[0017]
根据所述标准下载任务堆积量,确定所述第一阈值。
[0018]
可选的,所述在第一服务器上为所述目标子系统部署专用下载服务,包括:
[0019]
在专用下载服务中配置所述专用下载服务对应的输入主题和消费者群组;
[0020]
在媒资系统的汇聚服务中配置所述专用下载服务对应的输出主题;其中,
[0021]
所述输入主题用于标识消息的输入通道;所述输出主题用于标识所述消息的输出通道;所述消息被所述原始下载服务和/或所述专用下载服务所消费;
[0022]
所述汇聚服务用于生产下载任务并提供给所述原始下载服务和所述专用下载服务。
[0023]
可选的,所述在专用下载服务中配置所述专用下载服务对应的输入主题和消费者群组,包括:
[0024]
在专用下载服务的yml文件中配置所述专用下载服务对应的输入主题和消费者群组;
[0025]
对应地,所述在媒资系统的汇聚服务中配置所述专用下载服务对应的输出主题,具体包括:
[0026]
在汇聚服务的yml文件中配置所述专用下载服务对应的输出主题,且所述输出主题与所述输入主题一致。
[0027]
第二方面,本发明实施例提供一种下载服务分离装置,包括:
[0028]
监听模块,用于对媒资系统的原始下载服务进行监听;其中,所述原始下载服务是所述媒资系统的各个子系统共用的下载服务;
[0029]
服务分离模块,用于若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,在第一服务器上为所述目标子系统部署专用下载服务;所述第一服务器是与所述原始下载服务对应的第二服务器不同的服务器;
[0030]
专用下载模块,用于使用所述专用下载服务处理所述目标子系统的下载任务。
[0031]
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的下载服务分离方法的步骤。
[0032]
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所述的下载服务分离方法的步骤。
[0033]
本发明实施例提供的下载服务分离方法、装置、电子设备和可读存储介质,在判断原始下载服务出现负载均衡异常的情况下,将可能导致异常的子系统的内容资产的下载服务从原始下载服务中分离出来,并部署到新的专用服务器上,缓解了媒资系统中因下载服务资源争抢所导致的负载均衡异常。
附图说明
[0034]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0035]
图1为本发明实施例中下载服务分离方法的流程示意图;
[0036]
图2为本发明实施例中专用下载服务部署方法的流程示意图;
[0037]
图3为本发明实施例中下载服务分离方法的时序图;
[0038]
图4为本发明实施例中专用下载服务部署方法的另一流程示意图;
[0039]
图5为本发明实施例中专用下载服务部署方法的又一流程示意图;
[0040]
图6为本发明实施例中阈值计算方法的流程示意图;
[0041]
图7为本发明实施例中下载服务配置方法的流程示意图;
[0042]
图8为本发明实施例中下载服务分离装置的结构示意图;
[0043]
图9本发明实施例中电子设备的结构示意图。
具体实施方式
[0044]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0045]
媒资系统是将不同子系统的内容资产进行汇聚的平台,需要通过下载服务将内容资产从各子系统各自的平台下载到媒资系统中。
[0046]
然而,媒资系统中所有子系统内容资产的下载,都在使用同一个服务器的硬件资源,并基于同一个消费者群组共享同一个下载服务,各子系统间争抢资源现象较为严重,即下载资源的负载均衡出现异常的现象。当一家子系统有大量下载任务时,其它子系统的下载任务将出现滞后现象,影响内容汇聚进度,甚至汇聚失败。
[0047]
对此,本发明实施例提供了一种下载服务分离方法。图1为本发明实施例提供的下载服务分离方法的流程示意图,如图1所示,该方法包括:
[0048]
s110,对媒资系统的原始下载服务进行监听。
[0049]
现有的媒资系统可以是基于spring cloud微服务框架、kafka消息系统、docker容器等互联网技术实现。其中spring cloud微服务框架用于构建媒资系统的分布式系统基础设施;kafka消息系统作为一种高吞吐量的分布式发布订阅消息系统,可以用于处理下载服务在媒资系统中的所有动作流数据;docker容器可以用于将媒资系统中的下载任务和资源放置在一个可移植的容器中,并可以将其移植到分布式系统中的任意位置。
[0050]
具体地,本发明实施例中的原始下载服务,是指媒资系统中处于默认运行状态且未经过下载服务分离的下载服务,该下载服务为媒资系统中各子系统所共用。对媒资系统的原始下载服务进行监听,可以是指通过对媒资系统中的kafka消息系统进行监听,因为kafka消息系统中包含与下载服务相关的所有消息的流数据。本步骤对媒资系统的原始下载服务进行监听,用于确定原始下载服务的实时运行状况,其具体可以通过kafka消息系统
的相关接口实现。
[0051]
进一步地,对原始下载服务监听的内容是各子系统的下载任务,例如下载任务的对象、下载任务的执行时间、下载任务所占用的带宽等。本发明实施例中,该监听的主要对象是原始下载服务的负载均衡是否出现异常。
[0052]
s120,若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,在第一服务器上为所述目标子系统部署专用下载服务。
[0053]
在本发明实施例中,第一服务器是与所述原始下载服务对应的第二服务器不同的服务器
[0054]
在媒资系统中,各子系统的内容资产汇聚到媒资系统中,是通过内容资产的下载任务来实现的。对于下载任务而言,媒资系统中的汇聚服务是下载任务的生产者,用于创建针对不同子系统内容资产的下载任务;而媒资系统中的下载服务是下载任务的消费者,用于执行和完成所创建的下载任务。
[0055]
本发明实施例中的原始下载服务运行在同一个服务器,即针对每一个子系统的内容资产的下载任务都处于同一个消费者群组中。通常状态下,原始下载服务所能提供的下载速度、下载带宽以及服务器的硬件资源都是有限的,而有限的资源可能会在下载任务频发的时候导致资源争抢的问题,即本发明实施例中提到的负载均衡出现异常的现象。
[0056]
举例说明,当某一家或若干家子系统的内容资产出现大量下载任务时,会导致整个原始下载服务处于数据流量、网络负荷重、硬件资源紧张的状态,此时,其它子系统的内容资产对应的下载任务将滞后消费,从而影响其汇聚进度,甚至会导致这些子系统的内容资产汇聚失败。
[0057]
在此情况下,为了缓解资源争抢所导致的负载均衡异常,本发明实施例可以将最有可能引起负载均衡异常的子系统作为目标子系统,并为该目标子系统的内容资产的下载,在专用服务器上部署专用下载服务。可以看出,该专用服务器与原始下载服务对应的服务器是不同的服务器,因此在本发明实施例中,将部署专用下载服务的所述专用服务器记为第一服务器,将部署原始下载服务的服务器记为第二服务器。相应地,该专用下载服务与原始下载服务也属于不同的下载服务。
[0058]
根据引起负载均衡异常的情形不同,本发明实施例确定哪家子系统为目标子系统的方法也有所不同,其目的均为将该目标子系统的内容资产的下载从原始下载服务中分离出来后,预期能够缓解原始下载服务的负载均衡异常。
[0059]
s130,使用所述专用下载服务处理所述目标子系统的下载任务。
[0060]
在将目标子系统的内容资产的下载从原始下载服务中分离出来后,媒资系统中的汇聚服务所生产出的下载任务将由两部分下载服务进行消费:新部署的专用下载服务用于处理目标子系统的内容资产对应的下载任务,而原始下载服务用于处理除目标子系统以外的其他子系统的内容资产对应的下载任务。
[0061]
可以理解的是,在对原始下载服务进行过下载服务分离的处理后,如果处理后的原始下载服务仍存在负载均衡异常的问题,可以进一步实施下载服务分离处理,即从原始下载服务中再分离出另一目标子系统的内容资产的下载任务,并在另一专用服务器上为该目标子系统部署另一专用下载服务。
[0062]
本发明实施例提供的下载服务分离方法,在判断原始下载服务出现负载均衡异常的情况下,将可能导致异常的子系统的内容资产的下载服务从原始下载服务中分离出来,并部署到新的专用服务器上,缓解了媒资系统中因下载服务资源争抢所导致的负载均衡异常。
[0063]
基于上述实施例,图2为本发明实施例提供的专用下载服务部署方法的流程示意图,如图2所示,步骤s120具体包括:
[0064]
s121,若所述原始下载服务中媒资系统的任一子系统对应的下载任务堆积量超过第一阈值,则确定所述子系统为目标子系统。
[0065]
原始下载服务的负载均衡出现异常的一种典型情况为,原始下载服务的整体下载速度已经接近峰值,但原始下载服务中所执行的下载任务集中于一家子系统的内容资产,此时会形成一家子系统对应的下载任务堆积过多的现象,不利于其他子系统内容资产的汇聚。
[0066]
因此,为了避免上述一家子系统对应的下载任务堆积量明显高于其他子系统的情况,本发明实施例需要对原始下载服务中媒资系统的任一子系统对应的下载任务堆积量进行监控。若所述原始下载服务中任一子系统对应的下载任务堆积量超过第一阈值,则确定所述子系统为目标子系统,即需要进行下载服务分离处理的子系统。
[0067]
图3示出了本发明实施例提供的下载服务分离方法的时序图。如图3所示,子系统a代表媒资系统的多家子系统中的任一子系统,媒资系统中的汇聚服务中也包括为子系统a生产下载任务的服务,并由原始下载服务下载文件进行消费。初始状态下,汇聚服务与原始下载服务之间会通过kafka消息系统传递发送下载任务、接收下载任务、发送下载完成、通知下载完成等常规的消息。
[0068]
在此过程中,媒资系统可以通过kafka监听子系统a的下载任务堆积量,如果该堆积量大于第一阈值,子系统a就会被确定为目标子系统,然后图3中的流程图就会进入关于子系统a的下载服务分离阶段。
[0069]
s122,在专用服务器上为所述目标子系统部署专用下载服务。
[0070]
本发明实施例中的在专用服务器上为所述目标子系统部署专用下载服务,是下载服务分离方法的关键步骤。如图3所示,当媒资系统确定子系统a对应的下载任务堆积量超过第一阈值后,会启动子系统a的下载服务分离操作,即在专用服务器上为子系统a部署专用下载服务。该步骤的实施是通过docker容器另选服务器,将子系统a的下载任务和资源移植到选择出的专用服务器上。
[0071]
在部署完成后,通过重启子系统a对应的汇聚服务,即可使得的生产者汇聚服务与新的消费者子系统a的专用下载服务之间进行关联。如图3所示,子系统a后续的下载服务的执行过程为:汇聚服务与子系统a专用下载服务之间会通过kafka消息系统传递发送下载任务、接收下载任务、发送下载完成、通知下载完成等常规的消息。
[0072]
在一个更具体地例子中,可以简单地计算出上述下载服务分离方法会对整个媒资系统的下载服务的性能提升比例。假设原始下载服务有10个实例,媒资系统需要汇聚10个子系统的内容资产,每个子系统的汇聚服务有5个实例。同时,假设每条下载消息的处理时间相同,比如1秒/条,则计算出kafka每小时消费1*60*60*10=36000条下载任务,假设第一阈值为18000条。当子系统a下载任务的堆积量达到18000条,触发下载服务分离操作,此时
假设其它9家子系统的下载任务堆积量均为(36000-18000)/9=2000条。
[0073]
通过下表可以对比出下载服务分离前后的下载任务的消费耗时情况的对比。可以看出,在子系统a所占据的50%下载服务资源被分离出去后,整个媒资系统的下载耗时也仅为分离前的50%。
[0074][0075]
本发明实施例提供的专用下载服务部署方法,通过监控原始下载服务中任一子系统对应的下载任务堆积量是否超过第一阈值,从而将可能导致异常的子系统的内容资产的下载服务从原始下载服务中分离出来,并部署到新的专用服务器上,缓解了媒资系统中因下载服务资源争抢所导致的负载均衡异常。
[0076]
基于上述任一实施例,图4为本发明实施例提供的专用下载服务部署方法的流程示意图,如图4所示,步骤s120具体包括:
[0077]
s123,若所述原始下载服务中媒资系统的任一子系统存在紧急下载任务,且所述原始下载服务的当前下载任务堆积总量超过第二阈值,则确定所述子系统为目标子系统。
[0078]
原始下载服务的负载均衡出现异常的另一种典型情况为,原始下载服务中任一子系统存在紧急下载任务,但由于原始下载服务的当前下载任务堆积总量过大,无法为紧急任务分配下载服务资源,影响了紧急下载任务对应的内容资产的汇聚进度,甚至导致该内容资产汇聚失败。其中,紧急下载任务是指执行时间小于或等于一预设阈值的下载任务。
[0079]
本发明实施例中的当前下载任务堆积总量是指每一家子系统的下载任务堆积量之和,反映的是整个下载服务中下载任务的饱和程度,该指标也可以通过kafka消息系统进行监控得到。
[0080]
本发明实施例中的第二阈值,可以通过评估原始下载服务对于下载任务的消费能力进行确定,例如原始下载服务每小时可以消费36000条下载任务,则第二阈值可以根据实际需求,设置为一个接近36000条/小时的值。
[0081]
此时,在一家子系统明显存在紧急下载任务且原始下载服务无法为该紧急任务分配相应的资源时,本发明实施例需要将紧急下载任务对应的子系统确定为目标子系统,即需要进行下载服务分离处理的子系统。
[0082]
s122,在专用服务器上为所述目标子系统部署专用下载服务。
[0083]
当媒资系统确定任一子系统存在紧急下载任务,且所述原始下载服务的当前下载任务堆积总量超过第二阈值后,会启动该子系统的下载服务分离操作,即在专用服务器上
为该子系统部署专用下载服务。该步骤的实施是通过docker容器另选服务器,将该子系统的下载任务和资源移植到选择出的专用服务器上。
[0084]
在部署完成后,通过重启该子系统对应的汇聚服务,即可使得的生产者汇聚服务与新的消费者该子系统的专用下载服务之间进行关联。因此,该子系统后续的下载服务的执行过程为:汇聚服务与该子系统专用下载服务之间会通过kafka消息系统传递发送下载任务、接收下载任务、发送下载完成、通知下载完成等常规的消息。
[0085]
本发明实施例提供的专用下载服务部署方法,通过监控任一子系统存在紧急下载任务,且所述原始下载服务的当前下载任务堆积总量超过第二阈值,从而将可能导致异常的子系统的内容资产的下载服务从原始下载服务中分离出来,并部署到新的专用服务器上,缓解了媒资系统中因下载服务资源争抢所导致的负载均衡异常。
[0086]
基于上述任一实施例,图5为本发明实施例提供的专用下载服务部署方法的流程示意图,如图5所示,步骤s120具体包括:
[0087]
s124,若所述原始下载服务的下载速度已经达到第二服务器宽带的预设下载速度,或者,若所述第二服务器的cpu占用率已经达到第三阈值,则确定下载任务最紧急的子系统为目标子系统。
[0088]
原始下载服务的负载均衡出现异常的另一种典型情况为,原始下载服务的下载速度已经达到第二服务器宽带的预设下载速度,或者,第二服务器的cpu占用率已经达到第三阈值。上述情况属于服务器的网络资源或硬件资源达到瓶颈所引起的负载均衡异常现象,此时的原始下载服务同样属于非健康的状态,难以处理任何特殊的下载需求,例如较为紧急下载需求。在第二服务器的cpu占用率较高的情况下,甚至会导致服务器的宕机或故障。具体而言,第三阈值可以根据媒资系统的应用场景、服务器的性能进行设置,可以设置为80%或90%等参数。
[0089]
此时,为防止下载任务中较为紧急的任务得到及时处理,本发明实施例需要将下载任务相对而言最紧急的子系统确定为目标子系统,即需要进行下载服务分离处理的子系统。其中,所述下载任务最紧急是指下载任务的紧急程度最高,而下载任务的紧急程度可以根据下载任务中相应的参数字段来自动识别,也可以依靠人工对任务紧急程度进行判断。
[0090]
s122,在专用服务器上为所述目标子系统部署专用下载服务。
[0091]
当媒资系统确定原始下载服务的下载速度已经达到对应服务器宽带的预设下载速度,或者,原始下载服务器对应服务器的cpu占用率已经达到第三阈值,并确定了下载任务相对而言最紧急的子系统为目标子系统后,会启动该子系统的下载服务分离操作,即在专用服务器上为该子系统部署专用下载服务。该步骤的实施是通过docker容器另选服务器,将该子系统的下载任务和资源移植到选择出的专用服务器上。
[0092]
在部署完成后,通过重启该子系统对应的汇聚服务,即可使得的生产者汇聚服务与新的消费者该子系统的专用下载服务之间进行关联。因此,该子系统后续的下载服务的执行过程为:汇聚服务与该子系统专用下载服务之间会通过kafka消息系统传递发送下载任务、接收下载任务、发送下载完成、通知下载完成等常规的消息。
[0093]
本发明实施例提供的专用下载服务部署方法,通过监控服务器的网络资源和硬件资源的饱和程度,从而将可能导致异常的子系统的内容资产的下载服务从原始下载服务中分离出来,并部署到新的专用服务器上,缓解了媒资系统中因下载服务资源争抢所导致的
负载均衡异常。
[0094]
基于上述任一实施例,图6为本发明实施例提供的阈值计算方法的流程示意图,如图6所示,步骤s121具体包括:
[0095]
s1211,根据预设时间段内所述原始下载服务中每一下载任务的执行时间,以及所述原始下载服务的实例数量,确定所述原始下载服务的标准下载任务堆积量。
[0096]
本发明实施例中的第一阈值,可以通过评估原始下载服务对于下载任务的消费能力进行确定。举例说明,首先在原始下载服务中,记录一小时内消费每个下载任务的执行时间。例如,第i个下载任务的处理时间为t
i
秒。这样连续记录一小时内执行的n个下载任务。
[0097]
下载服务通常会指定多个实例,以提高下载任务的消费能力,尽量达到负载均衡。假设原始下载服务的实例数量为d个。运用以下方法得出一个小时内kafka能够消费多少消息的数量m,作为原始下载服务的标准下载任务堆积量。具体计算公式如下:
[0098][0099]
s1212,根据所述标准下载任务堆积量,确定所述第一阈值。
[0100]
在确定了原始下载服务的标准下载任务堆积量,也就确定了原始下载服务对于下载任务的消费能力,也可以理解为下载服务资源的总量。对应地,第一阈值则是允许任一子系统的下载任务所占用的资源的数量。例如标准下载任务堆积量为36000条/小时,第一阈值可以设置为18000条/小时。
[0101]
本领域技术人员可以根据实际需求根据所述标准下载任务堆积量确定所述第一阈值。第一阈值占标准下载任务堆积量的比例越低,越容易触发下载服务分离,下载任务整体上的消费速度也会越高,相应地可能占用的服务器资源就越多;第一阈值占标准下载任务堆积量的比例越高,越难以触发下载服务分离,下载任务整体上的消费速度也会相对较低,相应地可能占用的服务器资源也会较少。
[0102]
本发明实施例提供的阈值计算方法,通过评估原始下载服务对于下载任务的消费能力来确定第一阈值的大小,从而将可能导致异常的子系统的内容资产的下载服务从原始下载服务中分离出来。
[0103]
基于上述任一实施例,图7为本发明实施例提供的下载服务配置方法的流程示意图,如图7所示,步骤s122具体包括:
[0104]
s1221,在专用下载服务中配置所述专用下载服务对应的输入主题和消费者群组。
[0105]
本发明实施例要在专用服务器上为所述目标子系统部署专用下载服务,需要为该目标子系统的下载任务设置新的kafka主题和消费者群组。其中主题是kafka消息系统中用于标识消息的通道,相应的,输入主题用于标识消息的输入通道;输出主题用于标识消息的输出通道。消费者群组是指在服务器中一个或多个下载任务消费者所共同组成的下载资源共享的群组。
[0106]
具体地,新的kafka主题和消费者群组需要同时配置在汇聚服务和专用下载服务中,以便于进行完下载服务分离操作后,汇聚服务可以与专用下载服务通过kafka消息系统进行消息传递。
[0107]
专用下载服务作为下载任务的消费者,可以在其yml文件里重新设置下载任务的输入主题,具体可以对yml文件中的new_download_service字段进行设置。另外,专用下载服务作为消费者需要用一个消费者群组的名称标记自己,设置一个新的消费者组,具体可以对yml文件中的new_download_group字段进行设置。具体配置参考如下方式:
[0108][0109]
s1222,在汇聚服务中配置所述专用下载服务对应的输出主题。
[0110]
汇聚服务作为下载任务的生产者,需要在其yml文件里重新设置下载任务的输出主题,具体可以对yml文件中的new_download_service字段进行设置,其中汇聚服务中的输出主题要与专用下载服务中的输入主题保持一致,使得相应的消息通道可以经由kafka消息系统识别并连接。具体配置参考如下方式:
[0111][0112]
本发明实施例提供的下载服务配置方法,通过对汇聚服务和专用下载服务的yml文件进行同步地配置,实现了下载服务分离方法中的消息对接。
[0113]
基于上述任一实施例,图8为本发明实施例提供的下载服务分离装置,如图8所示,该装置具体包括:
[0114]
监听模块810,用于对媒资系统的原始下载服务进行监听;其中,所述原始下载服务是所述媒资系统的各个子系统共用的下载服务;
[0115]
服务分离模块820,用于若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,在第一服务器上为所述目标子系统部署专用下载服务;所述第一服务器是与所述原始下载服务对应的第二服务器不同的服务器;
[0116]
专用下载模块830,用于使用所述专用下载服务处理所述目标子系统的下载任务。
[0117]
本发明实施例提供的下载服务分离装置,在判断原始下载服务出现负载均衡异常
的情况下,将可能导致异常的子系统的内容资产的下载服务从原始下载服务中分离出来,并部署到新的专用服务器上,缓解了媒资系统中因下载服务资源争抢所导致的负载均衡异常。
[0118]
基于上述任一实施例,服务分离模块820进一步用于:
[0119]
若所述原始下载服务中第一子系统对应的下载任务堆积量超过第一阈值,则确定所述第一子系统为目标子系统;其中,所述第一子系统为所述媒资系统的任一子系统;
[0120]
在专用服务器上为所述目标子系统部署专用下载服务。
[0121]
基于上述任一实施例,服务分离模块820进一步用于:
[0122]
若所述原始下载服务中第二子系统存在紧急下载任务,且所述原始下载服务的当前下载任务堆积总量超过第二阈值,则确定所述第二子系统为目标子系统;其中,所述第二子系统为所述媒资系统的任一子系统;
[0123]
在专用服务器上为所述目标子系统部署专用下载服务。
[0124]
基于上述任一实施例,服务分离模块820进一步用于:
[0125]
若所述原始下载服务的下载速度已经达到所述第二服务器宽带的预设下载速度,或者,若所述第二服务器的cpu占用率已经达到第三阈值,则确定下载任务最紧急的子系统为目标子系统;
[0126]
在专用服务器上为所述目标子系统部署专用下载服务。
[0127]
基于上述任一实施例,服务分离模块820进一步用于:
[0128]
根据预设时间段内所述原始下载服务中每一下载任务的执行时间,以及所述原始下载服务的实例数量,确定所述原始下载服务的标准下载任务堆积量;
[0129]
根据所述标准下载任务堆积量,确定所述第一阈值。
[0130]
基于上述任一实施例,服务分离模块820进一步用于:
[0131]
在专用下载服务中配置所述专用下载服务对应的输入主题和消费者群组;
[0132]
在媒资系统的汇聚服务中配置所述专用下载服务对应的输出主题;其中,
[0133]
所述输入主题用于标识消息的输入通道;所述输出主题用于标识消息的输出通道;所述汇聚服务用于生产下载任务并提供给所述原始下载服务和所述专用下载服务。
[0134]
基于上述任一实施例,服务分离模块820进一步用于:
[0135]
在专用下载服务的yml文件中配置所述专用下载服务对应的输入主题和消费者群组;
[0136]
对应地,所述在媒资系统的汇聚服务中配置所述专用下载服务对应的输出主题,具体包括:
[0137]
在汇聚服务的yml文件中配置所述专用下载服务对应的输出主题,且所述输出主题与所述输入主题一致。
[0138]
图9示例了一种电子设备的实体结构示意图,如图9所示,该电子设备可以包括:处理器(processor)910、通信接口(communications interface)920、存储器(memory)930和通信总线940,其中,处理器910,通信接口920,存储器930通过通信总线940完成相互间的通信。处理器910可以调用存储器930中的逻辑指令,以执行如下方法:
[0139]
对媒资系统的原始下载服务进行监听;其中,所述原始下载服务是所述媒资系统的各个子系统共用的下载服务;
[0140]
若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,在第一服务器上为所述目标子系统部署专用下载服务;所述第一服务器是与所述原始下载服务对应的第二服务器不同的服务器;
[0141]
使用所述专用下载服务处理所述目标子系统的下载任务。
[0142]
此外,上述的存储器930中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0143]
另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的方法,例如包括:
[0144]
对媒资系统的原始下载服务进行监听;其中,所述原始下载服务是所述媒资系统的各个子系统共用的下载服务;
[0145]
若所述原始下载服务的负载均衡出现异常,根据所述媒资系统的各个子系统对负载均衡异常的影响程度确定目标子系统,在第一服务器上为所述目标子系统部署专用下载服务;所述第一服务器是与所述原始下载服务对应的第二服务器不同的服务器;
[0146]
使用所述专用下载服务处理所述目标子系统的下载任务。
[0147]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0148]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0149]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1