全局流量调度的方法、装置及电子设备与流程

文档序号:14072396阅读:165来源:国知局

本发明涉及互联网技术领域,特别是涉及全局流量调度的方法、装置及电子设备。



背景技术:

随着互联网技术的发展,互联网覆盖的范围越发广泛,在web(worldwideweb,万维网)服务中,为了满足不同区域用户的接入要求,一般采取分布式部署方式,建立多个数据中心/机房。

在现有的web服务中,用户进行接入时,会根据用户的ip地址将用户接入对应的机房。随着用户数量的上涨,服务数量也急剧攀升,服务对机房设施、硬件设备、专线等的依赖也越来越强、越来越多。而这些依赖项难免会发生故障,从而引起某些机器、某些机房的服务不可用。另一方面,由于机房是分布式部署的,对不同地区用户来说仅根据ip地址判断接入的机房,可能会存在服务延时高的情况。

现有技术中,当服务出现上述问题时,会采用人工调度的方法进行流量调度切换。

然而,发明人在实现本发明的过程中发现,现有技术至少存在如下问题:

采用人工调度的方法处理过程流程长,响应慢,流量调度存在较长的滞后性。



技术实现要素:

本发明实施例的目的在于提供一种全局流量调度的方法、装置及电子设备,以实现减少流量调度的滞后性。具体技术方案如下:

第一方面,本发明实施例提供了一种全局流量调度的方法,所述方法包括:

获取当前服务资源中各服务的指标数据,其中,所述指标数据包括所述服务对应的cpu状态、网络状态、应用负载状态、访问请求错误率中至少一种;

根据各所述服务的指标数据,通过预设第一算法,计算所述当前服务资源的负载指标;

判断所述当前服务资源的负载指标是否大于或等于预设阈值;

在所述当前服务资源的负载指标大于或等于所述预设阈值时,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,其中,所述其他服务资源为除所述当前服务资源外的服务资源;

更新与所述流量调度方案对应的服务资源的服务配置。

可选的,所述根据各所述服务的指标数据,通过预设第一算法,计算所述当前服务资源的负载指标,包括:

将各所述指标数据按照预设规则进行组装,并加入到消息队列中;

对所述消息队列中组装后的指标数据进行处理,得到所述当前服务资源对应的指标数据组;

根据所述指标数据组,计算所述当前服务资源的负载指标。

可选的,所述根据所述指标数据组,计算所述当前服务资源的负载指标,包括:

将所述指标数据组存储到预设位置;

按照预设的启动时间,定时读取所述预设位置中存储的所述指标数据组,并计算所述当前服务资源的负载指标。

可选的,所述判断所述当前服务资源的负载指标是否大于或等于预设阈值,包括:

分别判断所述负载指标中各子项的数值是否大于或等于所述预设阈值中对应的参考项的数值,其中,所述负载指标中的各子项包括cpu占用率及网络丢包率;

若所述负载指标中任一子项的数值大于或等于所述预设阈值中对应的参考项的数值,则判定所述负载指标大于或等于所述预设阈值。

可选的,所述在所述当前服务资源的负载指标大于或等于所述预设阈值时,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,包括:

在所述当前服务资源的负载指标大于或等于所述预设阈值时,获取所述其他服务资源的负载指标;

在所述当前服务资源中选取符合预设业务规则的服务,作为待迁移服务;

根据所述其他服务资源的负载指标,分别计算将所述待迁移服务迁移到各所述其他服务资源中的迁移代价;

选取迁移代价符合预设迁移规则的服务资源,作为目标服务资源;

相应的,所述更新与所述流量调度方案对应的服务资源的服务配置,包括:

向所述当前服务资源发送第一迁移信息,以使所述当前服务资源删除所述待迁移服务对应的服务配置;

向所述目标服务资源发送第二迁移信息,以使所述目标服务资源建立所述待迁移服务对应的服务配置。

可选的,所述当前服务资源和所述其他服务资源为不同的机房或数据中心。

第二方面,本发明实施例提供了一种全局流量调度的装置,所述装置包括:

数据获取模块,用于获取当前服务资源中各服务的指标数据,其中,所述指标数据包括所述服务对应的cpu状态、网络状态、应用负载状态、访问请求错误率中至少一种;

第一计算模块,用于根据各所述服务的指标数据,通过预设第一算法,计算所述当前服务资源的负载指标;

判断模块,用于判断所述当前服务资源的负载指标是否大于或等于预设阈值;

第二计算模块,用于在所述当前服务资源的负载指标大于或等于所述预设阈值时,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,其中,所述其他服务资源为除所述当前服务资源外的服务资源;

配置更新模块,用于更新与所述流量调度方案对应的服务资源的服务配置。

可选的,所述第一计算模块,包括:

组装子模块,用于将各所述指标数据按照预设规则进行组装,并加入到消息队列中;

处理子模块,用于对所述消息队列中组装后的指标数据进行处理,得到所述当前服务资源对应的指标数据组;

计算子模块,用于根据所述指标数据组,计算所述当前服务资源的负载指标。

可选的,所述计算子模块,包括:

存储单元,用于将所述指标数据组存储到预设位置;

定时计算单元,用于按照预设的启动时间,定时读取所述预设位置中存储的所述指标数据组,并计算所述当前服务资源的负载指标。

可选的,所述判断模块,包括:

子项比较子模块,用于分别判断所述负载指标中各子项的数值是否大于或等于所述预设阈值中对应的参考项的数值,其中,所述负载指标中的各子项包括cpu占用率及网络丢包率;

结果判定子模块,用于若所述负载指标中任一子项的数值大于或等于所述预设阈值中对应的参考项的数值,则判定所述负载指标大于或等于所述预设阈值。

可选的,所述第二计算模块,包括:

指标获取子模块,用于在所述当前服务资源的负载指标大于或等于所述预设阈值时,获取所述其他服务资源的负载指标;

服务选取子模块,用于在所述当前服务资源中选取符合预设业务规则的服务,作为待迁移服务;

代价计算子模块,用于根据所述其他服务资源的负载指标,分别计算将所述待迁移服务迁移到各所述其他服务资源中的迁移代价;

目标选取子模块,用于选取迁移代价符合预设迁移规则的服务资源,作为目标服务资源;

相应的,所述配置更新模块,包括:

配置删除子模块,用于向所述当前服务资源发送第一迁移信息,以使所述当前服务资源删除所述待迁移服务对应的服务配置;

配置建立子模块,用于向所述目标服务资源发送第二迁移信息,以使所述目标服务资源建立所述待迁移服务对应的服务配置。

可选的,所述当前服务资源和所述其他服务资源为不同的机房或数据中心。

第三方面,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,所述处理器,所述通信接口,所述存储器通过所述通信总线完成相互间的通信;

所述存储器,用于存放计算机程序;

所述处理器,用于执行存储器上所存放的程序时,实现上述第一方面任一所述的全局流量调度的方法。

第四方面,本发明实施提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的全局流量调度的方法。

第五方面,本发明实施例提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面任一所述的全局流量调度的方法。

本发明实施例提供的全局流量调度的方法、装置及电子设备,获取当前服务资源中各服务的指标数据;根据各所述服务的指标数据,通过预设第一算法,计算所述当前服务资源的负载指标;判断所述当前服务资源的负载指标是否大于或等于预设阈值;在所述当前服务资源的负载指标大于或等于所述预设阈值时,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,其中,所述其他服务资源为除所述当前服务资源外的服务资源;更新与所述流量调度方案对应的服务资源的服务配置。采用自动调度的方法,可以实现减少流量调度的滞后性,并且减少了人工的工作量。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例的全局流量调度的方法的一种流程示意图;

图2为本发明实施例的全局流量调度的方法的另一种流程示意图;

图3为本发明实施例的全局流量调度的装置的示意图;

图4为本发明实施例的电子设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

在web应用服务中,由于用户数量较多,且用户地域覆盖范围广,服务端一般采取多个数据中心/机房的方式进行分布式部署。用户进行接入时,服务端会根据用户的ip地址将用户接入对应的机房。一方面,随着服务数量的增长,服务资源可能会由于硬件及网络等原因造成服务短时不可用;另一方面,仅根据ip地址判断接入的服务资源,可能会存在服务延时高的情况。

为了解决上述问题,本发明实施例提供了一种全局流量调度的方法,用于各机房/数据中心之间的流量调度,参见图1,该方法包括:

s101,获取当前服务资源中各服务的指标数据,其中,指标数据包括服务对应的cpu状态、网络状态、应用负载状态、访问请求错误率中至少一种。

本发明实施例的全局流量调度的方法可以通过全局流量调度系统实现,全局流量调度系统为任意能够执行本发明实施例的全局流量调度的方法的系统。例如:

全局流量调度系统可以为一种设备,包括:处理器、存储器、通信接口和总线;处理器、存储器和通信接口通过总线连接并完成相互间的通信;存储器存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行本发明实施例的全局流量调度的方法。

全局流量调度系统还可以为一种应用程序,用于在运行时执行本发明实施例的全局流量调度的方法。

全局流量调度系统还可以为一种存储介质,用于存储可执行代码,可执行代码用于执行本发明实施例的全局流量调度的方法。

全局流量调度系统从当前服务资源的各服务器(如负载均衡服务器、反向代理服务器、及后端应用服务器等)中采集各服务的指标数据等。指标数据标识了服务器的利用率、服务对应的访问请求的响应时间、及服务占用的负载情况等,具体的指标数据可以为服务对应的cpu状态、网络状态、应用负载状态及访问请求错误率等。服务是指运营商为用户提供的服务,如视频服务或游戏服务等。当前服务资源为机房、数据中心或负载均衡服务器等。

s102,根据各服务的指标数据,通过预设第一算法,计算当前服务资源的负载指标。

全局流量调度系统利用预设第一算法对各服务的指标数据进行分析计算,确定当前服务资源对应的负载指标。第一预设算法为任意计算服务资源运行状况的算法。例如,根据各服务对应的cpu状态,计算当前服务资源的总cpu利用率;根据各服务的网络状态,计算当前服务资源中各服务的访问请求的延时或平均延时;根据各服务占用的负载状态,计算当前服务资源的总应用负载率;根据各服务的访问请求错误率,计算当前服务资源中各服务网络丢包率或平均网络丢包率等。

s103,判断当前服务资源的负载指标是否大于或等于预设阈值。

预设阈值为任意数值,根据具体情况进行设定。例如预设阈值为服务资源的总cpu利用率为100%,服务资源中各服务的访问请求的平均延时为1000毫秒,服务资源的总应用负载率为95%,服务资源中各服务平均网络丢包率为80%等。在当前服务资源的负载指标大于或等于预设阈值时,执行s104;在当前服务资源的负载指标小于预设阈值时,等待下一检测周期返回执行s101。

s104,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,其中,其他服务资源为除当前服务资源外的服务资源。

在本发明实施例中可以通过一个全局流量调度系统控制所有的服务资源,也可以为每个机房或每个数据中心添加一个全局流量调度系统。在实际应用中,为简化系统间的交互复杂度,一般采用一个全局流量调度系统,服务资源的指标数据统一进行采集上报。预设第二算法为任意能够选取指定服务及确定指定服务的迁移目标的算法。全局流量调度系统利用预设第二算法,确定待迁移服务资源的流量调度方案,该流量调度方案中标识了待迁移的服务及待迁移的服务对应的迁移目标。

s105,更新与流量调度方案对应的服务资源的服务配置。

全局流量调度系统更新与流量调度方案对应的服务资源的服务配置,包括更新当前服务资源的服务配置及更新迁移目标的服务配置。

在本发明实施例中,在服务资源的负载指标大于或等于预设阈值时,确定流量调度方案,根据流量调度方案完成流量的调度。采用自动化的流量调度,解决人工处理流程慢、琐碎、效率低等问题。当网络或服务资源异常时,能够在用户无感知的情况下,将用户的服务自动切换到其他服务资源中。

可选的,在本发明实施例的全局流量调度的方法中,当前服务资源和其他服务资源为不同的机房或数据中心。

在本发明实施例中,服务资源为机房或数据中心,不用人工跨机房/数据中心调度服务,实现了跨机房/数据中心的用户服务的自动迁移,大大增加了不同机房/数据中心间服务调度的效率,能够在用户无感知的情况下,将用户的服务自动切换到其他机房/数据中心中。

可选的,s102,根据各服务的指标数据,通过预设第一算法,计算当前服务资源的负载指标,包括:

步骤一,将各指标数据按照预设规则进行组装,并加入到消息队列中。

全局流量调度系统按照固定格式,将各指标数据进行分组,例如将同一类型的服务的指标数据分为一组,如将所有视频服务的指标数据分为一组;或将同种属性的指标数据分为一组,如将各服务对应的cpu状态分为一组。然后将分组后的指标数据进行打包,并加入到消息队列中。

步骤二,对消息队列中组装后的指标数据进行处理,得到当前服务资源对应的指标数据组。

全局流量调度系统读取消息队列中组装后的指标数据,并进行处理得到指标数据组,例如,根据各服务对应的cpu状态,分别计算当前服务资源对应的每个服务器的cpu利用率;及根据各服务的应用负载状态,分别计算当前服务资源对应的每个服务器的应用负载率等。

步骤三,根据指标数据组,计算当前服务资源的负载指标。

全局流量调度系统根据当前服务资源的指标数据组,计算当前服务资源的负载指标,例如,根据当前服务资源对应的每个服务器的cpu利用率,计算当前服务资源的总cpu利用率;及根据当前服务资源对应的每个服务器的网络丢包率,计算当前服务资源的平均网络丢包率等。

在本发明实施例中给出了计算当前服务资源的负载指标的方法,为后续判断负载指标与预设阈值的大小提供了前提。

可选的,根据指标数据组,计算当前服务资源的负载指标,包括:

步骤一,将指标数据组存储到预设位置。

预设位置为任意存储位置,例如缓存或数据库等。全局流量调度系统将指标数据组存储到预设位置,方便后续对指标数据组进行计算及分析。

步骤二,按照预设的启动时间,定时读取预设位置中存储的指标数据组,并计算当前服务资源的负载指标。

预设的启动时间为任意的时间,可以根据实际情况自由设定。例如全局流量调度系统每间隔1分钟或30秒等时间,读取一次指标数据组,并计算当前服务资源的负载指标。

在本发明实施例中,按照启动时间,定时计算当前服务资源的负载指标,启动时间可以自由设定,在能够定时检测的同时,方便自由调节执行的间隔。

可选的,s103,判断当前服务资源的负载指标是否大于或等于预设阈值,包括:

步骤一,分别判断负载指标中各子项的数值是否大于或等于预设阈值中对应的参考项的数值,其中,负载指标中的各子项包括cpu占用率及网络丢包率。

负载指标可以包括多个子项,例如服务资源的总cpu占用率、服务资源的平均网络丢包率、服务资源中各服务的访问请求的平均延时及服务资源的总应用负载率等。相应的,预设阈值中包括与负载指标的子项对应的多个参考项,预设阈值中参考项的数值可以根据实际服务的种类及对服务质量的要求进行自由设定。例如,总cpu占用率为100%、95%或90%等;平均延时为3秒、1秒或500毫秒等;平均网络丢包率为90%、80%或75%等;总应用负载率为100%、95%或90%等。

步骤二,若负载指标中任一子项的数值大于或等于预设阈值中对应的参考项的数值,则判定负载指标大于或等于预设阈值。

例如,负载指标包括三个子项:总应用负载率为98%、总cpu占用率为80%及平均网络丢包率为20%;预设阈值的三个参考项为:总应用负载率为95%、总cpu占用率为95%及平均网络丢包率为80%,可以得出负载指标中的总应用负载率大于预设阈值中的总应用负载率,因此判定负载指标大于或等于预设阈值。

在本发明实施例中,负载指标包括多个子项,当任意一个子项的数值大于或等于预设阈值中对应的参考值时,判定负载指标大于或等于预设阈值,以启动服务迁移。负载指标包括cpu占用率及网络丢包率,从当前服务资源的负载及网络状况两方面考虑,来确保当前服务资源的正常工作。

可选的,s104,在当前服务资源的负载指标大于或等于预设阈值时,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,包括:

步骤一,在当前服务资源的负载指标大于或等于预设阈值时,获取其他服务资源的负载指标。

步骤二,在当前服务资源中选取符合预设业务规则的服务,作为待迁移服务。

全局流量调度系统在当前服务资源中选取符合预设业务规则的待迁移的服务,可以为随机选取待迁移的服务,还可以为根据当前服务资源中各服务的指标数据,相应选取待迁移的服务,例如在当前服务资源的平均网络丢包率大于预设阈值中的平均网络丢包率时,首先选取网络丢包率高的服务进行迁移。

在选取符合预设业务规则的服务时,还可以优先选取即时性要求低的服务。例如对于在线网络游戏服务和视频服务,可以选取视频服务进行迁移。以减少服务迁移的延时对服务的影响,从而提高用户体验。

步骤三,根据其他服务资源的负载指标,分别计算将待迁移服务迁移到各其他服务资源中的迁移代价。

迁移代价与待迁移服务对服务资源负载造成的影响正相关。

例如,首先计算延时系数x、负载系数y及丢包系数z:

其中,actualdelay是服务资源提供待迁移服务时,用户享受到的服务的时延,thresholddelay为预设的时延阈值;actualload为待迁移服务迁移完成后服务资源的总负载,thresholdload为预设的应用负载阈值;actuallost为服务资源提供待迁移服务时的网络丢包率,thresholdlost为预设的网络丢包率。

actualload是一个预测值,为服务资源的当前负载与待迁移服务产生的负载的和,是计算出的接收待迁移服务后服务资源的总负载。thresholdload根据服务资源的最大负载值进行设定,例如thresholdload为服务资源最大负载值的100%、95%、90%或更小。y标识了服务资源的剩余负载能力,y越小服务资源的剩余负载能力越大。

若在x、y及z中,任一数值大于1,则令迁移代价cost无限大。

在x、y及z数值均小于1时,计算迁移代价cost:cost=ax+yb+cz,其中,a、b、c为预设的数值,根据实际情况自由设定,例如,对于延时要求高的服务,a的数值可以设置的较大;对于负载要求高的服务,b的数值可以设置的较大;对于丢包要求高的服务,c的数值可以设置的较大等。

步骤四,选取迁移代价符合预设迁移规则的服务资源,作为目标服务资源。

全局流量调度系统在其他服务资源中,选取迁移代价符合预设迁移规则的服务资源,例如,选取迁移代价最小的服务资源,作为目标服务资源。

相应的,s105,更新与流量调度方案对应的服务资源的服务配置,包括:

步骤一,向当前服务资源发送第一迁移信息,以使当前服务资源删除待迁移服务对应的服务配置。

全局流量调度系统向当前服务资源发送第一迁移信息,第一迁移信息中标识了待迁移服务。当前服务资源在接收到第一迁移信息后,根据第一迁移信息中标识的待迁移服务,相应的删除与待迁移服务对应的服务配置。

步骤二,向目标服务资源发送第二迁移信息,以使目标服务资源建立待迁移服务对应的服务配置。

全局流量调度系统向目标服务资源发送第二迁移信息,第二迁移信息中标识了待迁移服务。目标服务资源在接收到第二迁移信息后,根据第二迁移信息中标识的待迁移服务,相应的建立与待迁移服务对应的服务配置。

在本发明实施例中,根据迁移代价确定目标服务资源,确保了目标服务资源的正常工作,且目标服务资源能够为待迁移服务提供更优质的服务质量。向当前服务资源发送第一迁移信息,向目标服务资源发送第二迁移信息,完成将待迁移服务有当前服务资源迁移到目标服务资源中。

参见图2,图2为本发明实施例的全局流量调度的方法的另一种流程示意图,包括:

s201,采集服务资源中各服务的指标数据。

用户通过客户端根据服务资源的域名或ip地址访问服务资源,服务资源相应的为用户提供对应的服务。数据采集服务从线上的负载均衡服务器、反向代理服务器及后端应用服务器等服务器中采集指标数据,指标数据可以包括服务对应的cpu状态、网络状态、应用负载状态、访问请求错误率等。

s202,将指标数据组装并投递到消息队列集群中。

数据采集服务将采集到的指标数据按固定格式进行简单的组装,并投递到消息队列集群,如kafka(一种高吞吐量的分布式发布订阅消息系统)集群中。

s203,对消息队列集群中的指标数据进行处理及存储。

消费者服务对消息队列集群上的消息进行消费,加工过滤处理,并存入缓存或者数据库等各类存储介质中。

s204,计算服务资源的负载指标。

定时计算服务根据存储的数据进行定时计算,得出服务资源的负载指标。若负载指标中某子项超过预设阈值中对应的参考项的数值,则触发流量调度。

s205,生成流量调度方案。

调度服务按照预设第二算法,综合各服务资源的负载指标及预设的临界值,计算出合适的流量调度方案。

s206,更新服务资源的服务配置。

调度执行单元按照流量调度方案,更新流量调度方案对应的服务资源中负载均衡服务器配置、反向代理服务器配置、dns(domainnamesystem,域名系统)服务配置及httpdns服务(基于http协议(hypertexttransferprotocol,超文本传输协议)的dns服务)配置等。调度执行单元的执行结果最终会反映在线上服务的各项指标中,如某个机房或某个数据中心用户访问流量降了,另外的机房或数据中心用户访问流量升了。

本发明实施例的全局流量调度的方法,能够实现流量调度的智能化,无需人工干预,不会对用户造成延时感,能够及时解决网络异常造成的服务异常。实时监控服务的整体状态,从全局层面进行流量调度,可以大大提高服务的可靠性和可用性。可以预置多样化的流量调度方案,能够有效规避用户流量被劫持,机房或服务器宕机引起的大量访问失败问题。

本发明实施例还提供了一种全局流量调度的装置,参见图3,该装置包括:

数据获取模块301,用于获取当前服务资源中各服务的指标数据,其中,指标数据包括服务对应的cpu状态、网络状态、应用负载状态、访问请求错误率中至少一种;

第一计算模块302,用于根据各服务的指标数据,通过预设第一算法,计算当前服务资源的负载指标;

判断模块303,用于判断当前服务资源的负载指标是否大于或等于预设阈值;

第二计算模块304,用于在当前服务资源的负载指标大于或等于预设阈值时,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,其中,其他服务资源为除当前服务资源外的服务资源;

配置更新模块305,用于更新与流量调度方案对应的服务资源的服务配置。

在本发明实施例中,在服务资源的负载指标大于或等于预设阈值时,确定流量调度方案,根据流量调度方案完成流量的调度。采用自动化的流量调度,解决人工处理流程慢、琐碎、效率低等问题。当网络或服务资源异常时,能够在用户无感知的情况下,将用户的服务自动切换到其他服务资源中。

可选的,第一计算模块302,包括:

组装子模块,用于将各指标数据按照预设规则进行组装,并加入到消息队列中;

处理子模块,用于对消息队列中组装后的指标数据进行处理,得到当前服务资源对应的指标数据组;

计算子模块,用于根据指标数据组,计算当前服务资源的负载指标。

在本发明实施例中给出了计算当前服务资源的负载指标的方法,为后续判断负载指标与预设阈值的大小提供了前提。

可选的,计算子模块,包括:

存储单元,用于将指标数据组存储到预设位置;

定时计算单元,用于按照预设的启动时间,定时读取预设位置中存储的指标数据组,并计算当前服务资源的负载指标。

在本发明实施例中,按照启动时间,定时计算当前服务资源的负载指标,启动时间可以自由设定,在能够定时检测的同时,方便自由调节执行的间隔。

可选的,判断模块303,包括:

子项比较子模块,用于分别判断负载指标中各子项的数值是否大于或等于预设阈值中对应的参考项的数值,其中,负载指标中的各子项包括cpu占用率及网络丢包率;

结果判定子模块,用于若负载指标中任一子项的数值大于或等于预设阈值中对应的参考项的数值,则判定负载指标大于或等于预设阈值。

在本发明实施例中,负载指标包括多个子项,当任意一个子项的数值大于或等于预设阈值中对应的参考值时,判定负载指标大于或等于预设阈值,以启动服务迁移。负载指标包括cpu占用率及网络丢包率,从当前服务资源的负载及网络状况两方面考虑,来确保当前服务资源的正常工作。

可选的,第二计算模块304,包括:

指标获取子模块,用于在当前服务资源的负载指标大于或等于预设阈值时,获取其他服务资源的负载指标;

服务选取子模块,用于在当前服务资源中选取符合预设业务规则的服务,作为待迁移服务;

代价计算子模块,用于根据其他服务资源的负载指标,分别计算将待迁移服务迁移到各其他服务资源中的迁移代价;

目标选取子模块,用于选取迁移代价符合预设迁移规则的服务资源,作为目标服务资源;

相应的,配置更新模块305,包括:

配置删除子模块,用于向当前服务资源发送第一迁移信息,以使当前服务资源删除待迁移服务对应的服务配置;

配置建立子模块,用于向目标服务资源发送第二迁移信息,以使目标服务资源建立待迁移服务对应的服务配置。

在本发明实施例中,根据迁移代价确定目标服务资源,确保了目标服务资源的正常工作,且目标服务资源能够为待迁移服务提供更优质的服务质量。向当前服务资源发送第一迁移信息,向目标服务资源发送第二迁移信息,完成将待迁移服务有当前服务资源迁移到目标服务资源中。

可选的,在本发明实施例的全局流量调度的方法中,当前服务资源和其他服务资源为不同的机房或数据中心。

在本发明实施例中,服务资源为机房或数据中心,可以避免人工跨机房/数据中心调度服务的过程,实现跨机房/数据中心的用户服务的自动迁移,进而可以大大增加不同机房/数据中心间服务调度的效率,能够在用户无感知的情况下,将用户的服务自动切换到其他机房/数据中心中。

本发明实施例还提供了一种电子设备,如图4所示,包括处理器401、通信接口402、存储器403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信,

存储器403,用于存放计算机程序;

处理器401,用于执行存储器403上所存放的程序时,实现如下步骤:

获取当前服务资源中各服务的指标数据,其中,指标数据包括服务对应的cpu状态、网络状态、应用负载状态、访问请求错误率中至少一种;

根据各服务的指标数据,通过预设第一算法,计算当前服务资源的负载指标;

判断当前服务资源的负载指标是否大于或等于预设阈值;

在当前服务资源的负载指标大于或等于预设阈值时,获取其他服务资源的负载指标,通过预设第二算法,确定流量调度方案,其中,其他服务资源为除当前服务资源外的服务资源;

更新与流量调度方案对应的服务资源的服务配置。

在本发明实施例中,在服务资源的负载指标大于或等于预设阈值时,确定流量调度方案,根据流量调度方案完成流量的调度。采用自动化的流量调度,解决人工处理流程慢、琐碎、效率低等问题。当网络或服务资源异常时,能够在用户无感知的情况下,将用户的服务自动切换到其他服务资源中。

可选的,处理器401用于执行存储器403上所存放的程序时,还能够实现上述任一所述的全局流量调度的方法。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的全局流量调度的方法。

在本发明实施例中,在服务资源的负载指标大于或等于预设阈值时,确定流量调度方案,根据流量调度方案完成流量的调度。采用自动化的流量调度,解决人工处理流程慢、琐碎、效率低等问题。当网络或服务资源异常时,能够在用户无感知的情况下,将用户的服务自动切换到其他服务资源中。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的全局流量调度的方法。

在本发明实施例中,在服务资源的负载指标大于或等于预设阈值时,确定流量调度方案,根据流量调度方案完成流量的调度。采用自动化的流量调度,解决人工处理流程慢、琐碎、效率低等问题。当网络或服务资源异常时,能够在用户无感知的情况下,将用户的服务自动切换到其他服务资源中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

对于全局流量调度的装置/电子设备/计算机可读存储介质/计算机程序产品的实施例而言,由于其基本相似于全局流量调度的方法实施例,所以描述的比较简单,相关之处参见全局流量调度的方法实施例的说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1