本发明实施例涉及互联网技术领域,尤其涉及一种资源调度方法及资源调度系统。
背景技术:
随着CDN技术的越来越普及,CDN的业务越来越复杂和庞大,客户对于质量的要求越来越高,当前CDN流量调度平台通过单台机器的调度控制CDN全网的流量且考虑的数据维度较少已经没有办法满足客户的质量要求,当出现服务质量问题的时候对于问题处理的效率和精准度都比较差,因此很容易对于客户访问造成波动,导致客户的投诉。
具体来说,现有调度平台的服务器是单机部署,要进行扩展的时候只能对于单机的硬件配置进行升级,且机器故障的时候调度服务要全部都进行迁移,因此调度系统的可扩展性、稳定性和安全性就相对比较薄弱。
调度平台由于服务器是单机部署,因此单机可以实现的处理量会存在一定的瓶颈,随着业务量越来越庞大,业务形式越来越复杂,此时单机处理效率已经逐渐的不能满足客户的需求。
进行调度的时候计算业务的时候没有考虑太过于复杂的业务且采集的实时数据的时效性都要只能传到这台调度服务器,处理量和网络问题都比较突显,从而调度的精准度和时效性都比较差。
技术实现要素:
本发明要解决的技术问题是为了克服现有技术中CDN资源的调度平台可扩展性、稳定性和安全性差的缺陷,提供一种提高CDN平台的可用性和可扩展性,并且能够高效、准确运行的资源调度方法及资源调度系统。
本发明是通过下述技术方案来解决上述技术问题:
一种资源调度方法,用于资源调度系统,所述资源调度系统包括至少两个决策机以及一个分配机,每一决策机控制至少一个CDN资源,所述资源调度方法包括:
所述分配机根据采集的配置参数生成调度任务;
分配机发送调度任务至每一决策机;
每一决策机根据所述调度任务对决策机控制的CDN资源进行牵引。
本申请的方法利用资源调度系统来对CDN资源进行牵引。资源调度系统总体架构分为分配机和决策机两个主要模块,分配机监控分配各台决策机的任务,而决策机对于实际CDN资源进行调度控制决策,该方案大大的降低了单机部署的风险,当某台决策机有问题的时候,分配会快速的将该决策机的任务分配到另外一台决策机。由于决策机采用分布式的方式部署多台,且可以按需来进行划分部署,因此系统的整体可用性和扩展的灵活性有很大的提高。
原本单台机器调度决策的任务被划分到多台决策机上面,因此各台调度决策上的任务量了较大的减少,并且各台决策机是并行对于分配的任务进行调度决策,大大的减少了调度决策的时间,提高了整个系统的吞吐量。并且由于其架构可扩展性好,当业务发展到一定程度,可以通过堆叠机器满足发展。
由于决策机器进行了分布式的部署,不同的决策机控制不同的CDN资源且部署的时候原则上会根据决策机和资源就近同网络部署,不同的CDN资源只需要将其相关的质量、带宽等数据上传到控制其使用的决策机,因此对于数据的实效性和精准度会有比较大的提高。
较佳地,所述资源调度系统还包括数据采集机,决策机与数据采集机一一对应,每一决策机根据所述调度任务对决策机控制的CDN资源进行牵引包括:
所述数据采集机采集对应的决策机所连接CDN资源的服务能力数据;
所述决策机接收所述服务能力数据,并根据所述服务能力数据及调度任务生成用于牵引CDN资源的调度数据。
本发明中,分配机采集配置数据以及决策机反馈的工作状态数据生成调度任务,决策机接收到调度任务后进行执行。
进一步地,本申请的决策机不仅仅只是用来执行调度任务,决策机采集CDN资源的数据,包括CDN资源的数据还有CDN服务器的运行数据,利用这些数据在自身分配的调度任务的大框架下做出相应的调整和资源牵引的进一步优化。决策机具有一定的调度能力不仅能够减轻分配机的负担,还能够加快决策机对突发情况的相应速度。而且决策机只需要反馈自身调度后的工作状态给分配机,省去分配机对每一个CDN资源的具体调度的步骤,进一步提高了系统的实效性。
较佳地,所述服务能力数据包括CDN资源节点服务能力数据及CDN服务器服务能力数据,所述资源调度方法包括:
所述决策机发送决策机服务能力数据至所述分配机。
较佳地,所述资源调度方法包括:
所述决策机通过数据采集机采集控制的CDN资源的网络质量、带宽数据,计算所述网络质量、带宽数据及CDN资源配置参数生成CDN资源节点服务能力数据,所述决策机还通过数据采集机采集CDN服务器的硬件指标、软件运行数据,通过所述硬件指标及软件运行数据生成CDN服务器服务能力数据。
较佳地,所述分配机包括输入界面,所述分配机根据采集的配置参数生成调度任务包括:
通过所述输入界面提供每一决策机的运营商信息、地理位置信息及硬件配置信息;
分配机通过所述输入界面采集所述配置参数并生成调度任务。
较佳地,分配机通过所述输入界面采集所述配置参数并生成调度任务包括:
根据决策机的运营商信息、地理位置信息与CDN资源的匹配程度生成调度任务;
当两个决策机的匹配程度相同时,根据所述硬件配置信息生成调度任务。
较佳地,所述分配机根据采集的配置参数生成调度任务包括:
所述分配机采集决策机服务能力数据;
将所述决策机服务能力数据通过预设算法计算决策机得分,并根据所述得分生成调度任务。
较佳地,所述决策机服务能力数据包括负载及机器的硬件配置数据、任务数量及总任务数量、数据完整度、网络状态数据,
决策机得分等于运营商及物理位置得分、机器服务能力得分、机器任务得分、机器数据完整度得分及网络状态得分的总和;
其中,
运营商及物理位置得分等于运营商信息、地理位置信息与CDN资源的匹配程度乘以运营商及物理位置权重;
机器服务能力得分等于负载及机器的硬件配置数据乘以机器服务能力权重;
机器任务得分等于任务数量及总任务数量乘以机器任务权重;
机器数据完整度得分等于数据完整度乘以机器数据完整度权重;
网络状态得分等于网络状态数据乘以网络状态权重。
较佳地,数据完整度权重大于机器服务能力权重大于网络状态权重大于机器任务权重大于运营商及物理位置权重。
较佳地,所述决策机之间相互备份,所述资源调度方法包括:
所述分配机监控全部决策机的工作状态;
当决策机工作异常时,将含有异常决策机备份的决策机代替异常决策机工作。
较佳地,所述决策机之间相互备份包括:
将决策机编号,对于任意决策机,备份所述决策机编号的相邻编号的决策机内容。
本发明还包括一种资源调度系统,其特点在于,所述资源调度系统包括至少两个决策机以及一个分配机,每一决策机控制至少一个CDN资源,所述分配机包括计算模块、发送模块,所述决策机包括控制模块,
所述计算模块用于根据分配机采集的配置参数生成调度任务;
所述发送模块用于发送调度任务至每一决策机;
所述控制模块用于根据所述调度任务对决策机控制的CDN资源进行牵引。
较佳地,所述资源调度系统还包括数据采集机,决策机与数据采集机一一对应,
所述数据采集机用于采集对应的决策机所连接CDN资源的服务能力数据;
所述控制模块用于根据所述服务能力数据及调度任务生成用于牵引CDN资源的调度数据。
较佳地,所述服务能力数据包括CDN资源节点服务能力数据及CDN服务器服务能力数据;
CDN资源节点服务能力数据通过所述网络质量、带宽数据及CDN资源配置参数计算生成,其中,网络质量及带宽数据由数据采集机从决策机控制的CDN资源采集;
CDN服务器服务能力数据通过CDN服务器的硬件指标、软件运行数据计算生成,其中,硬件指标、软件运行数据由数据采集机从决策机控制的CDN资源采集。
较佳地,所述分配机还包括采集模块,
所述采集模块用于采集决策机服务能力数据;
所述计算模块还用于将所述决策机服务能力数据通过预设算法计算决策机得分,并根据所述得分生成调度任务;
所述决策机服务能力数据包括负载及机器的硬件配置数据、任务数量及总任务数量、数据完整度、网络状态数据,
决策机得分等于运营商及物理位置得分、机器服务能力得分、机器任务得分、机器数据完整度得分及网络状态得分的总和;
其中,
运营商及物理位置得分等于运营商信息、地理位置信息与CDN资源的匹配程度乘以运营商及物理位置权重;
机器服务能力得分等于负载及机器的硬件配置数据乘以机器服务能力权重;
机器任务得分等于任务数量及总任务数量乘以机器任务权重;
机器数据完整度得分等于数据完整度乘以机器数据完整度权重;
网络状态得分等于网络状态数据乘以网络状态权重。
较佳地,决策机设有编号,对于任意决策机,所述任意决策机用于备份相邻编号的决策机内容,所述分配机还包括监控模块,
所述监控模块用于监控全部决策机的工作状态,当决策机工作异常时,将含有异常决策机备份的决策机代替异常决策机工作。
在符合本领域常识的基础上,上述各优选条件,可任意组合,即得本发明各较佳实例。
本发明的积极进步效果在于:
调度资源进行分层次控制,分配机控制决策机,决策机来控制所有的CDN资源;不同的决策机控制不同的CDN资源;该方案可以大大的减少单机部署的风险以及提高调度决策的效率。
决策机之间可以互相备份,上层的分配机发现某台决策机服务有问题的时候会根据各台决策机之间的物理地理位置,基础数据的完整度、决策机所处网络环境的网络状况以及当前已经分配的调度任务量进行智能判断后将该决策机的任务转移到其它台决策机进行处理,整体的系统的具有较高的高可用性。
决策机对于CDN资源进行调度切换时会结合多维度的数据:机器的带宽,节点的带宽,机器的服务能力,节点的网络状况、客户的覆盖要求等进行综合的调度,并且使用的数据都是进行分布式的采集和传输,因此大大的提高了调度的精准度和实效性。
通过此方案将大大的提高CDN平台的可用性和可扩展性,并且提高调度效率和精准度,客户服务有问题的时候能够进行精准快速调度保证客户的质量。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图为本发明的一些实施例,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1的资源调度系统的结构示意图。
图2为本发明实施例1的资源调度方法的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例为本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
参见图1,本实施例提供一种资源调度系统,其包括5个决策机11、一个分配机12、5个数据采集机13以及10个CDN资源14,每一决策机控制至少一个CDN资源,决策机与数据采集机一一对应。
所述分配机还包括输入模块、计算模块以及发送模块,所述决策机包括控制模块。
所述输入模块包括输入界面,通过所述输入界面采集每一决策机的运营商信息、地理位置信息及硬件配置信息,其中运营商信息、地理位置信息及硬件配置信息可以通过用户手动输入,并且可以人为的进行自动调整,从而生成各台决策机的静态控制任务。
所述计算模块用于根据分配机采集的配置参数生成调度任务。
所述发送模块用于发送调度任务至每一决策机。
数据采集机会定期的采集CDN资源节点上面的网络质量以及带宽数据,然后根据该节点的配置数据进行统计分析,计算出该节点的CDN资源节点服务能力数据,即CDN资源节点服务能力数据通过所述网络质量、带宽数据及CDN资源配置参数计算生成,其中,网络质量及带宽数据由数据采集机从决策机控制的CDN资源采集。
此外,数据采集机还会定期的采集CDN服务器上面的硬件指标(CPU、内存、IO等)、带宽数据以及软件的运行数据后结合机器的配置数据进行统计分析,计算出该CDN服务器服务能力数据,即CDN服务器服务能力数据通过CDN服务器的硬件指标、软件运行数据计算生成,其中,硬件指标、软件运行数据由数据采集机从决策机控制的CDN资源采集。
CDN资源节点服务能力数据及CDN服务器服务能力数据均为所述服务能力数据。
所述控制模块用于根据所述服务能力数据及调度任务生成用于牵引CDN资源的调度数据,所述服务能力数据包括CDN资源节点服务能力数据及CDN服务器服务能力数据。
所述决策机根据调度数据生成调度决策后的DNS配置数据,然后将该DNS配置数据部署到DNS服务器进行最终流量的牵引。
本实施例的决策机不仅仅只是用来执行调度任务,决策机采集CDN资源的数据,包括CDN资源的数据还有CDN服务器的运行数据,利用这些数据在自身分配的调度任务的大框架下做出相应的调整和资源牵引的进一步优化。决策机具有一定的调度能力不仅能够减轻分配机的负担,还能够加快决策机对突发情况的相应速度。而且决策机只需要反馈自身调度后的工作状态给分配机,省去分配机对每一个CDN资源的具体调度的步骤,进一步提高了系统的实效性。
参见图2,利用上述资源调度系统,本实施例还提供一种资源调度方法,所述资源调度方法包括:
步骤100、所述分配机采集的配置参数。
所述配置参数包括每一决策机的运营商信息、地理位置信息及硬件配置信息。
步骤101、所述分配机生成调度任务。
步骤102、分配机发送调度任务至每一决策机。
步骤103、数据采集机采集CDN资源节点服务能力数据及CDN服务器服务能力数据。
CDN资源节点服务能力数据及CDN服务器服务能力数据均为所述服务能力数据。
在上述步骤中,决策机获取调度任务后,在调度任务的框架下进行进一步的调度优化。调度任务的框架是一个总体的规则,指定决策机控制的CDN资源是哪些,即一个决策机来处理几个CDN资源节点以及处理那几个资源节点等。在具体控制时,决策机会根据数据采集机反馈回来服务能力数据生成具体的DNS配置数据,决策机不仅仅只是用来执行调度任务,决策机采集CDN资源的数据,包括CDN资源的数据还有CDN服务器的运行数据,利用这些数据在自身分配的调度任务的大框架下做出相应的调整和资源牵引的进一步优化。决策机具有一定的调度能力不仅能够减轻分配机的负担,还能够加快决策机对突发情况的相应速度。而且决策机只需要反馈自身调度后的工作状态给分配机,省去分配机对每一个CDN资源的具体调度的步骤,进一步提高了系统的实效性。
步骤104、决策机根据所述调度任务以及服务能力数据生成用于牵引CDN资源的调度数据。
步骤105、决策机利用所述调度数据对CDN资源进行牵引,且决策机发送决策机服务能力数据至所述分配机。
本实施例中,分配机分配决策任务后,虽然给出了决策机的一个总的资源分配规则,具体的牵引策略是由决策机制定的,也就是调度数据。所述决策机直接运行所述调度数据并把运行结果以及当前运行状态反馈给分配机。分配机可以根据需要再次调整调度任务。
另外,本实施例的分配机在生成调度任务时,具体通过所述输入界面提供每一决策机的运营商信息、地理位置信息及硬件配置信息生成调度任务。进一步地,根据决策机的运营商信息、地理位置信息与CDN资源的匹配程度生成调度任务,当两个决策机的匹配程度相同时,根据所述硬件配置信息生成调度任务。
决策机定期的更新CDN资源基础配置数据。决策机会实时的接收从agent数据采集机上传的CDN资源量化后的实时数据。对于控制的CDN资源会结合其平台基础配置数据以及量化后的实时数据,对于服务有问题或者质量较差的CDN服务器资源根据服务质量调度方式挑选可用的资源进行替换,保证客户的高质量。对于根据客户的服务特性做特殊化调度,保证其需求和质量最终生成此次调度决策的数据。
本实施例的资源调度方法及资源调度系统可以实现资源调度的分层次控制,分配机控制决策机,决策机来控制所有的CDN资源;不同的决策机控制不同的CDN资源;该方案可以大大的减少单机部署的风险以及提高调度决策的效率。
实施例2
本实施例与实施例1基本相同,不同之处仅在于:
所述分配机还包括采集模块,所述采集模块用于采集决策机服务能力数据。
所述计算模块还用于将所述决策机服务能力数据通过预设算法计算决策机得分,并根据所述得分生成调度任务。
所述决策机服务能力数据包括负载及机器的硬件配置数据、任务数量及总任务数量、数据完整度、网络状态数据。
决策机得分通过下述公式获取,
N=A+B+C+D+E。
其中,N为决策机得分,A为运营商及物理位置得分,B为机器服务能力得分,C为机器任务得分,D为机器数据完整度得分,E为网络状态得分。
具体地,A=a*r,其中a为运营商信息、地理位置信息与CDN资源的匹配程度,r为a的权重,即运营商及物理位置权重。
B=b*s,其中b为负载及机器的硬件配置数据,s为b的权重,即机器服务能力权重。
C=c*t,其中c为任务数量及总任务数量,t为c的权重,即机器任务权重。
D=d*u,其中d为数据完整度,u为d的权重,即机器数据完整度权重。
E=e*v,其中e为网络状态数据,v为e的权重,即网络状态权重。
数据完整度权重大于机器服务能力权重大于网络状态权重大于机器任务权重大于运营商及物理位置权重。
分配机会从外部获取决策机基础平台配置数据,该数据包含了决策机的物理位置、运营商、服务可用状态以及相关硬件配置信息。人为通过UI配置界面根据决策机的基础平台配置数据以及业务上的需求将CDN的资源进行分配形成决策机静态分配任务。决策机静态任务通过内存结构传输给动态分配处理环节。分配机实时的接收从决策机上传的运行实时数据。分配机结合静态分配任务以及决策机运行的实时数据,生成最终各台决策机的调度任务。
本实施例提供了一种具体的生成调度任务的算法,利用所述算法能够智能、自动的生成调度任务,提高了系统的工作效率。决策机对于CDN资源进行调度切换时会结合多维度的数据:机器的带宽,节点的带宽,机器的服务能力,节点的网络状况、客户的覆盖要求等进行综合的调度,并且使用的数据都是进行分布式的采集和传输,因此大大的提高了调度的精准度和实效性。
利用上述资源调度系统,本实施例提供的资源调度方法中包括生成调度任务的具体算法如下,
采集决策机服务能力数据。将所述决策机服务能力数据通过预设算法计算决策机得分,并根据所述得分生成调度任务。
所述决策机服务能力数据包括负载及机器的硬件配置数据、任务数量及总任务数量、数据完整度、网络状态数据。
决策机得分通过下述公式获取,
N=A+B+C+D+E。
其中,N为决策机得分,A为运营商及物理位置得分,B为机器服务能力得分,C为机器任务得分,D为机器数据完整度得分,E为网络状态得分。
具体地,A=a*r,其中a为运营商信息、地理位置信息与CDN资源的匹配程度,r为a的权重,即运营商及物理位置权重。
B=b*s,其中b为负载及机器的硬件配置数据,s为b的权重,即机器服务能力权重。
C=c*t,其中c为任务数量及总任务数量,t为c的权重,即机器任务权重。
D=d*u,其中d为数据完整度,u为d的权重,即机器数据完整度权重。
E=e*v,其中e为网络状态数据,v为e的权重,即网络状态权重。
本实施例的资源调度方法及资源调度系统可以更加高效地实现资源调度的分层次控制,分配机控制决策机,决策机来控制所有的CDN资源;不同的决策机控制不同的CDN资源;该方案可以大大的减少单机部署的风险以及提高调度决策的效率。
实施例3
本实施例与实施例1基本相同,不同之处仅在于:
决策机设有编号,对于任意决策机,所述任意决策机用于备份相邻编号的决策机内容,所述分配机还包括监控模块,
所述监控模块用于监控全部决策机的工作状态,当决策机工作异常时,将含有异常决策机备份的决策机代替异常决策机工作。
利用上述资源调度系统,本实施例的资源调度方法包括:
所述决策机之间相互备份;且决策机包括编号,对于任意决策机,备份所述决策机编号的相邻编号的决策机内容。
所述分配机监控全部决策机的工作状态。
当决策机工作异常时,将含有异常决策机备份的决策机代替异常决策机工作。
实施例4
本实施例与实施例1基本相同,不同之处仅在于:
所述资源调度系统还包括一与分配机实时进行数据同步的备份机,当分配机出现状况后,利用所述备份机生成调度任务。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。