System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及资源调配,尤其是涉及一种资源动态调配的任务执行方法、系统、装置及存储介质。
技术介绍
1、信息化建设能够建立起高动态的作战单元应用需求与海量战场信息间的对应关系,充分发挥战场信息的应用效益,为规划战场信息提供数据保障。云计算作为一种新兴的计算模式,为推进作战信息化提供了一条新的途径。
2、云计算是指能够为用户提供资源或服务的网络或者数据中心,因此云计算也可以称为云服务系统。云服务系统的主要技术之一是虚拟化技术,如xen、vmware和hyper-v等先进的虚拟化技术使得单个宿主机可以虚拟出多台独立的虚拟机,来同时执行多个应用程序。然而,现有的云服务系统在处理实时任务方面,仍然面临巨大的挑战:
3、(1)实时任务的高动态性。云服务系统中的任务由大量用户动态提交,使得云服务系统中的任务在短时间内剧烈波动,任务量的峰值往往是平均值的几倍到几十倍,甚至上百倍。
4、(2)任务执行时间的随机性。每一个任务的执行时间是随机变量,这是因为任务是一个应用程序,应用程序由多种选择语句组成,不同的选择语句对应不同的循环或者遍历,因此,不同情况下,应用程序的计算量不同。同时,由于多台虚拟机共享一台宿主机的硬件资源,同台宿主机上不同虚拟机之间往往会出现争抢资源的情况,造成虚拟机性能不稳定,具有较高的波动。
5、(3)启动宿主机的时间开销与实时任务的高时效性要求存在严重冲突。当云服务系统的负载突然增长时,在伸展资源的过程中,启动主机和创建虚拟机都需要一定的时间开销,使得任务不能及时开始,从而延误了
6、为了适应实时任务的高动态、高时效性特征,云服务系统中基础设施的规模,需要按照其在负载顶峰时,实时任务的资源需求来配置。但是,云服务系统在长期的运行过程中,负载处于到顶峰的状态的时间很短,比如,每天中google负载达到顶峰的时间不到一个小时。当负载顶峰过后,会出现大量低资源利用率的虚拟主机,甚至出现大量闲置的主机,从而造成云服务系统的平均资源利用率很低,浪费系统资源。
技术实现思路
1、为了解决系统资源利用率低的问题,本申请提供一种资源动态调配的任务执行方法、系统、装置及存储介质。
2、在本申请的第一方面,提供了一种资源动态调配的任务执行方法。该方法包括:获取爬虫任务请求,所述爬虫任务请求包括任务内容和任务属性,所述任务属性配置了所述任务内容的任务类型和重要等级;
3、根据所述任务属性和数据记录表确定所述任务内容的任务类型,所述数据记录表中存储有爬虫任务的启动频次;
4、基于所述任务类型和所述任务内容从容器集群中确定出初始容器,根据所述初始容器数量创建新的容器作为所述初始容器或者关闭部分所述初始容器;
5、根据所述任务内容的重要等级确定出目标容器,所述目标容器为所述初始容器中的其中一个容器。
6、通过采用上述技术方案,首先,依据爬虫任务请求调取数据记录表,再根据爬虫任务请求中的任务类型和数据记录表确定出任务内容的任务类型,再根据任务类型和任务内容计算和匹配得到初始容器,并在匹配初始容器的过程中,适应性调整容器的数量,以使得当前容器既能够支持任务内容启动的情况下,还能够动态调整容器数量,从而达到提高云端的系统资源利用率的目的。
7、在一种可能的实现方式中:所述容器集群包括固定容器和动态容器,所述固定容器用于执行周期性的爬虫任务,所述动态容器用于执行实时性的爬虫任务;
8、所述基于所述任务类型和所述任务内容从容器集群中确定出初始容器,包括:
9、根据所述任务类型将所述固定容器或者所述动态容器确定为待选容器,所述待选容器包括多个容器;
10、获取所述待选容器的运行数据,所述运行数据包括所述待选容器的运行时长和可用资源量;根据所述运行数据计算所述待选容器的健康阈值;
11、根据所述任务类型计算所述任务内容被执行时的占用资源量;
12、将健康阈值高于所述占用资源量的待选容器标记为初始容器。
13、通过采用上述技术方案,通过将执行不同类型的爬虫任务的容器分隔开来,一方面是为了避免容器在执行周期性的爬虫任务的过程中,不断的积累无效数据,造成数据冗余,导致容器实际剩余资源量要小于预估可用资源量,当将其用于执行实时性的爬虫任务时,可能无法支撑实时性的爬虫任务启动。另一方面,由固定容器执行周期性的爬虫任务,也能够避免不断更换执行爬虫任务的容器,从而保障爬虫任务的稳定性。
14、在一种可能的实现方式中:所述根据所述运行数据计算所述待选容器的健康阈值,包括:
15、根据所述运行时长确定权重;
16、将所述可用资源量和所述权重相乘得到健康阈值。
17、通过采用上述技术方案,由于容器在执行周期性的爬虫任务的过程中,可能会不断的积累无效数据,造成数据冗余,导致容器实际剩余资源量要小于预估可用资源量,所以计算的健康阈值将容器的运行时长考虑进来,保障了计算所得的健康阈值的准确度。
18、在一种可能的实现方式中:当所述任务类型为周期性的爬虫任务时,所述根据所述任务类型计算所述任务内容被执行时的占用资源量,包括:计算所述爬虫任务的历史占用资源的均值,以所述均值作为所述任务内容被执行时的占用资源量。
19、在一种可能的实现方式中:当所述任务类型为实时性的爬虫任务时,所述根据所述任务类型计算所述任务内容被执行时的占用资源量,包括:采用时空复杂度函数计算所述任务内容被执行时的占用资源量,包括:
20、
21、其中,uv表示任务内容被执行过程中的资源消耗量,s0表示爬虫任务启动时的时刻时间,st表示t时刻时间,u0表示爬虫任务启动时占用资源量,u1表示爬虫任务执行1秒时占用资源量,u2表示任务执行2秒时资源占用情况,ut表示爬虫任务执行到t时刻时,爬虫任务的占用资源量。
22、在一种可能的实现方式中:所述方法还包括:
23、当所述健康阈值高于所述占用资源量的所述待选容器的数量高于数量阈值时,关闭所述健康阈值与所述占用资源量差值最大和最小的两个所述待选容器;
24、当不存在所述健康阈值高于所述占用资源量的所述待选容器时,创建新的容器作为所述初始容器。
25、通过采用上述技术方案,本申请动态调整容器的数量,使得当前容器既能够支持任务内容启动,还能够降低空闲的容器数量,从而达到提高云端的系统资源利用率的目的。
26、在一种可能的实现方式中:所述根据所述任务属性和数据记录表确定所述任务内容的任务类型,包括:
27、当所述数据记录表中,爬虫任务请求中的爬虫任务的启动频次高于频次阈值,则判定所述任务内容的任务类型为周期性的爬虫任务,否则,将所述任务内容的任务类型标记为实时性的爬虫任务;
28、判断所述任务属性中包含的任务类型与所述数据记录表的判定结果是否一致;
29本文档来自技高网...
【技术保护点】
1.一种资源动态调配的任务执行方法,其特征在于,包括:
2.根据权利要求1所述的资源动态调配的任务执行方法,其特征在于,所述容器集群包括固定容器和动态容器,所述固定容器用于执行周期性的爬虫任务,所述动态容器用于执行实时性的爬虫任务;
3.根据权利要求2所述的资源动态调配的任务执行方法,其特征在于,所述根据所述运行数据计算所述待选容器的健康阈值,包括:
4.根据权利要求2所述的资源动态调配的任务执行方法,其特征在于,当所述任务类型为周期性的爬虫任务时,所述根据所述任务类型计算所述任务内容被执行时的占用资源量,包括:计算所述爬虫任务的历史占用资源的均值,以所述均值作为所述任务内容被执行时的占用资源量。
5.根据权利要求2所述的资源动态调配的任务执行方法,其特征在于,当所述任务类型为实时性的爬虫任务时,所述根据所述任务类型计算所述任务内容被执行时的占用资源量,包括:采用时空复杂度函数计算所述任务内容被执行时的占用资源量,包括:
6.根据权利要求2所述的资源动态调配的任务执行方法,其特征在于,所述方法还包括:当所述健康阈值高于所
7.根据权利要求1所述的资源动态调配的任务执行方法,其特征在于,所述根据所述任务属性和数据记录表确定所述任务内容的任务类型,包括:
8.一种资源动态调配的任务执行系统,其特征在于,包括:
9.一种资源动态调配的任务执行装置,其特征在于,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如权利要求1-7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-7中任一项所述的方法。
...【技术特征摘要】
1.一种资源动态调配的任务执行方法,其特征在于,包括:
2.根据权利要求1所述的资源动态调配的任务执行方法,其特征在于,所述容器集群包括固定容器和动态容器,所述固定容器用于执行周期性的爬虫任务,所述动态容器用于执行实时性的爬虫任务;
3.根据权利要求2所述的资源动态调配的任务执行方法,其特征在于,所述根据所述运行数据计算所述待选容器的健康阈值,包括:
4.根据权利要求2所述的资源动态调配的任务执行方法,其特征在于,当所述任务类型为周期性的爬虫任务时,所述根据所述任务类型计算所述任务内容被执行时的占用资源量,包括:计算所述爬虫任务的历史占用资源的均值,以所述均值作为所述任务内容被执行时的占用资源量。
5.根据权利要求2所述的资源动态调配的任务执行方法,其特征在于,当所述任务类型为实时性的爬虫任务时,所述根据所述任务类型计算所述任务内容被执行时的占用资源量,包括:...
【专利技术属性】
技术研发人员:董昆,赖守建,
申请(专利权)人:江苏全链通信息科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。