调度方法、装置、电子设备及存储介质与流程

文档序号:25490453发布日期:2021-06-15 21:55阅读:100来源:国知局
调度方法、装置、电子设备及存储介质与流程

本公开涉及云计算技术领域,本公开尤其涉及云网络技术及私有云等技术领域。



背景技术:

网络通信中,由于ip地址是一串数字,对于用户来说不容易记录,可以采用域名来登录网址以实现网络通信。域名是由一串用“点”来分隔的名字组成的互联网上某台计算机或某组计算机的标识,可以通过域名服务系统(dns,domainnamesystem)将域名转化为服务器的ip地址,方便人们更简单便捷地访问互联网上的服务,便于通过ip地址进行寻址及网络通信。

dns还可以对部署于虚拟私有云(vpc,virtualprivatecloud)中的虚拟机(vm,virtualmachine)所发送的请求报文进行解析,然而,目前无法实现针对该请求报文解析的智能化调度。



技术实现要素:

本公开提供了一种调度方法、装置、电子设备及存储介质。

根据本公开的一方面,提供了一种调度方法,包括:

获取权重值,所述权重值用于表征地址调度优先级信息;

接收部署于虚拟私有云vpc中的多个虚拟机vm所发送的请求报文;

根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm;

对所述目标vm发送的请求报文进行解析,并针对性的反馈解析记录给所述目标vm。

根据本公开的另一方面,提供了一种调度装置,包括:

获取模块,用于获取权重值,所述权重值用于表征地址调度优先级信息;

接收模块,用于接收部署于虚拟私有云vpc中的多个虚拟机vm所发送的请求报文;

调度模块,用于根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm;

反馈模块,用于对所述目标vm发送的请求报文进行解析,并针对性的反馈解析记录给所述目标vm。

根据本公开的另一方面,提供了一种电子设备,包括:

至少一个处理器;以及

与该至少一个处理器通信连接的存储器;其中,

该存储器存储有可被该至少一个处理器执行的指令,该指令被该至少一个处理器执行,以使该至少一个处理器能够执行本公开任意一实施例所提供的方法。

根据本公开的另一方面,提供了一种存储有计算机指令的非瞬时计算机可读存储介质,该计算机指令用于使该计算机执行本公开任意一项实施例所提供的方法。

根据本公开的另一方面,提供了一种计算机程序产品,包括计算机指令,该计算机指令被处理器执行时实现本公开任意一项实施例所提供的方法。

采用本公开,可以获取权重值,所述权重值用于表征地址调度优先级信息;接收部署于vpc中的多个vm所发送的请求报文;根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm;对所述目标vm发送的请求报文进行解析,并针对性的反馈解析记录给所述目标vm,从而可以实现对所述请求报文解析的智能化调度及针对性的反馈。

应当理解,本部分所描述的内容并非旨在标识本公开的实施例的关键或重要特征,也不用于限制本公开的范围。本公开的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本公开的限定。其中:

图1是根据本公开实施例的调度方法的流程示意图;

图2是应用本公开实施例的调度方法的系统框架示意图;

图3是应用本公开实施例的调度方法的系统框架示意图;

图4是应用本公开实施例的调度方法的一应用示例的流程图;

图5是根据本公开实施例的调度装置的组成结构示意图;

图6是用来实现本公开实施例的调度方法的电子设备的框图。

具体实施方式

以下结合附图对本公开的示范性实施例做出说明,其中包括本公开实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本公开的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括a、b、c中的至少一种,可以表示包括从a、b和c构成的集合中选择的任意一个或多个元素。本文中术语“第一”、“第二”表示指代多个类似的技术用语并对其进行区分,并不是限定顺序的意思,或者限定只有两个的意思,例如,第一特征和第二特征,是指代有两类/两个特征,第一特征可以为一个或多个,第二特征也可以为一个或多个。

另外,为了更好的说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。

根据本公开的实施例,提供了一种调度方法,图1是根据本公开实施例的调度方法的流程示意图,该方法可以应用于调度装置,例如,该装置可以部署于服务器或其它处理设备执行的情况下,可以执行域名解析规则的配置、请求报文针对性解析的调度等等。在一些可能的实现方式中,该方法还可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。如图1所示,包括:

s101、获取权重值,所述权重值用于表征地址调度优先级信息。

s102、接收部署于vpc中的多个vm所发送的请求报文。

s103、根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm。

s104、对所述目标vm发送的请求报文进行解析,并针对性的反馈解析记录给所述目标vm。

s101-s104的一示例中,在dns服务器中实现s101-s103的处理逻辑,即:在该dns服务器中配置权重值,权重值为允许报文域名解析的配置信息中的一种,可以通过该权重值表示地址调度优先级信息;dns服务器接收部署于vpc中的多个vm所发送的dns请求报文后,dns服务器根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm,对所述目标vm发送的dns请求报文进行解析,并针对性的反馈解析记录给所述目标vm。

采用本公开,可以获取权重值,所述权重值用于表征地址调度优先级信息;接收部署于vpc中的多个vm所发送的请求报文;根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm;对所述目标vm发送的请求报文进行解析,并针对性的反馈解析记录给所述目标vm。由于在dns服务器的配置中存在权重值(即以权重值表示的地址调度优先级信息),通过对dns请求中的源ip地址与预先每个地址所配置权重值占总的权重值的占比(如采用随机算法在计算占比)进行解析处理的调度,以针对性的反馈相应解析记录给对应的vm,从而实现了对所述请求报文解析的智能化调度及针对性的反馈。

对vpc与dns服务器进行网络通信的系统架构介绍如下:

通过vpc可以实现资源的彼此隔离,即:不同vpc之间不仅实现了安全组、子网等资源的隔离,同时也实现了dns的隔离,vpc内配置的dns解析域对其他vpc不产生任何影响。由于在dns服务器中可以配置多条解析记录,因此,dns服务器收到vpc内部署vm发送的dns请求报文,对该dns请求报文进行dns解析时,会将命中的所有解析记录全部返回,且不同vm的解析可以设置不同优先级,这种解析方法不区分vm对应地址优先级的不同,尤其是在同一个vpc启动多个vm所部署的同一个用户服务的应用场景中,这种解析的调度方法效率低下且会给用户服务带来不便,图2是应用本公开实施例的调度方法的系统框架示意图,如图2所示,同一个vpc(如vpc-1)中部署2个子网(子网1和子网2),在子网1中的一个或多个物理机上可以部署多个vm(如vm1和vm2),在子网2中的一个物理机上可以部署一个vm(如vm3)。由于同一个vpc(如vpc-1)内配置了多个vm(如vm1、vm2和vm3)且可以是在多个vm上分别部署同一个用户服务,因此,在dns服务器中会配置为:与该vpc绑定,针对该用户服务,预先配置好:同名不同解析ip地址(对应多个vm的各自地址)的同类型a记录(如mirror.xxx.coma),dns服务器对该vpc内部署的多个vm解析该同名且同类型的a记录时,不区分vm对应地址优先级的不同,从而,vm1、vm2和vm3会得到同样的3条解析记录,如图2所示,也就是说,在vpc内,无法实现域名智能化解析的调度。

一实施方式中,权重值,包括:为所述多个vm分别隶属的地址段信息或地址信息对应配置的权重值。采用本实施方式,根据所述权重值,可以评估对所述多个vm进行解析调度的重要程度。

一实施方式中,所述根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm,包括:对所述权重值在权重总和的占比,取随机值;根据所述随机值对所述多个vm进行所述报文解析的调度,从所述多个vm中选取目标vm。采用本实施方式,采用兼具公平的该随机值进行调度决策,除了对多个vm更公平对待,负载也更加均衡。

一实施方式中,所述根据所述随机值对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm,包括:获取所述目标vm对应的所述随机值隶属的目标权重区间;在所述目标权重区间与预配置的权重区间对应的情况下,确定所述目标vm。采用本实施方式,通过随机值与预配置的权重区间进行匹配,以决策如何针对性的调度多个vm,可以从多个vm中选取目标vm。

一实施方式中,所述对所述目标vm发送的请求报文进行解析,并针对性的反馈解析记录给所述目标vm,包括:从预配置的至少两条解析记录中选取对应于所述目标vm的目标解析记录;将所述目标解析记录反馈给所述目标vm。采用本实施方式,从多个vm中选取目标vm后,可以从预配置的至少两条解析记录中选取对应于所述目标vm的目标解析记录,以将所述目标解析记录反馈给所述目标vm,从而,可以从多个vm中分别得到对应不同目标vm的不同解析记录,实现了解析记录的针对性反馈。

一示例中,图3是应用本公开实施例的调度方法的系统框架示意图,相比于图2中的系统框架示意图,图3所示系统架构中运行的调度方法,可以区分vm的不同,尤其是在同一个vpc启动多个vm所部署的同一个用户服务的应用场景中,采用这种解析的调度方法大大提高了效率且会给用户服务带来更多便利,如图3所示,同一个vpc(如vpc-1)中部署2个子网(子网1和子网2),在子网1中的一个或多个物理机上可以部署多个vm(如vm1和vm2),在子网2中的一个物理机上可以部署一个vm(如vm3)。由于同一个vpc(如vpc-1)内配置了多个vm(如vm1、vm2和vm3)且可以是在多个vm上分别部署同一个用户服务,因此,在dns服务器中会配置为:与该vpc绑定,针对该用户服务,预先配置好:同名不同解析ip地址(对应多个vm的各自地址)的同类型a记录(如mirror.xxx.coma),dns服务器对该vpc内部署的多个vm解析该同名且同类型的a记录时,由于可以区分vm的不同,从而,采用上述实施例及实施方式,通过vm1、vm2和vm3会通过域名解析的智能化调度,根据权重值表示的地址优先级去从多个vm中选取vm后,分别得到对应不同vm的不同解析记录。其中,各个解析记录“mirror.xxx.coma192.168.1.12weight(5)”、“mirror.xxx.coma192.168.1.13weightl(3)”、“mirror.xxx.coma192.168.1.14weightl(2)”中,“weight(5)、weightl(3)、weightl(2)”是分别为vm1、vm2、vm3配置的权重值,从而,实现了以权重值表示的地址调度优先级信息。将三条记录合为一条记录,则权重总和为10,根据不同权重值在权重总和的占比并取随机值,看随机值落到那个权重区间,以决策如何针对性的调度多个vm(vm1、vm2、vm3),从而,将解析记录针对性的反馈给相匹配的vm,还可以在上述解析记录中设置acl属性(即acl所表示的地址相关信息),比如采用az粒度、子网粒度、vm等不同划分粒度来配置该acl属性。如通过az-a,az-b可以区分不同vm分别隶属的机房,从而不会出现跨机房的解析问题。采用本示例,可以根据不同权重值在权重总和的占比并取随机值,以决策如何针对性的调度多个vm,从多个vm中选取vm后,分别得到对应不同vm的不同解析记录。还可以进一步根据匹配精度需要,采用不同划分粒度来任意设置acl所表示的地址相关信息,从而,根据不同粒度,分别实现az粒度解析的智能化调度,子网粒度解析的智能化调度,及根据vm(或称vm对应的ip)粒度进行解析的智能化调度。

一实施方式中,还包括:根据所述多个vm分别对应的存储容量、运行能耗、资源配置、支持网络带宽中的至少一种参数,对所述以权重值表示的地址调度优先级信息进行预配置。以存储容量为例,根据需求任意配置权重值的过程中,用户需求是希望走大流量的任务,那么可以配置存储容量大的vm,走大流量的任务,将该vm排第一优先级,用大的权重,比如配置权重值为5;次之配置权重值3,再次之配置权重值为2等等,结合随机值的运算,不仅考虑了各个vm的调度优先级,还能兼顾各个vm资源占比的公平性及负载均衡性。

应用示例:

应用本公开实施例一处理流程包括如下内容:

图4是应用本公开实施例的调度方法的一应用示例的流程图,包括:解析dns请求报文,从dns请求报文中提取出源ip地址;查找dns记录,得到与该dns请求报文对应的解析记录;取所有解析记录对应的权重值,根据权重值得到权重总和;取小于权重总和的随机值;取随机值所在的权重区间,以对多个vm进行解析的调度决策;返回解析记录给对应的vm。

结合图3所示的一示例中,配置vpc内子网存在az属性,且同子网不可跨az,即az可以映射为子网的网段。在创建dns记录时,还可以同时配置允许解析此记录的ip地址或地址段对应的地址调度优先级信息,并以权重值表示该地址调度优先级信息,则在dns服务器收到多个vm发送的待解析的请求报文后,提取出该请求报文的源ip地址,查找解析报文要解析的记录,根据权重值表示的地址优先级去从多个vm中选取vm后,分别得到对应不同vm的不同解析记录。其中,各个解析记录“mirror.xxx.coma192.168.1.12weight(5)”、“mirror.xxx.coma192.168.1.13weightl(3)”、“mirror.xxx.coma192.168.1.14weightl(2)”中,“weight(5)、weightl(3)、weightl(2)”是分别为vm1、vm2、vm3配置的权重值,从而,实现了以权重值表示的地址调度优先级信息。进行解析的调度过程中,如图3所示,可以将三条记录合为一条记录,则这三条记录权重总和为5+3+2=10,每次在权重值总和中取10以下的随机值,以决策如何针对性的调度多个vm(vm1、vm2、vm3),随机值落在哪个权重区间,就返回对应的哪条记录给对应vm,从而,将解析记录针对性的反馈给相应的vm。

就权重区间而言,随机值在[0,5]区间,返回192.168.1.12对应的解析记录给对应vm;随机值在[5,8]区间,返回192.168.1.13对应的解析记录给对应vm;随机值在[8,10]区间,返回192.168.1.14对应的解析记录给对应vm。而不是如图2所示的将这三条记录全部返回,即不同vm都返回相同的解析记录。

通常,在网络中先创建vpc(俗称大池子),给vpc一个地址段,如0/16;之后这个地址段中创建子网,在给子网分一个段,如2.0/24(俗称小池子),之后再创建vm。dns中的解析记录与vpc绑定,而vpc有很多子网段及属性,比如az属性也可以用于子网分段等,az属性是与子网绑定的;以判断某个子网是属于哪个机房,比如,图3中子网1对应az-a;子网2对应az-b。同一个服务,可以在不同机房都部署,即:az-a对应的子网1,可以约束dns服务器只解析az-a的服务,不解析az-b(若同时解析az-b就跨机房了);而az-b对应的子网2,可以约束dns服务器只解析az-b的服务,这样约束后就避免了跨机房执行。

通过上述应用示例,除了配置权重值,还可以进一步根据用户需求进行acl配置,及根据不同粒度来配置该acl,不同vm哪怕是部署同一个服务,也能按照地址调度优先级来进行调度,并针对性的得到不同的解析记录,最终,使得整个vpc的效率大大提高。

采用本申请,在针对同name的多个记录的解析场景中,可以对每条记录设置权重值,每次进行dns解析时,在权重值总和中取随机值,随机值落在哪个记录区间,就返回哪条记录,实现了智能调度。

根据本公开的实施例,提供了一种调度装置,图5是根据本公开实施例的调度装置的组成结构示意图,如图5所示,调度装置500包括:获取模块501,用于获取权重值,所述权重值用于表征地址调度优先级信息;接收模块502,用于接收部署于vpc中的多个vm所发送的请求报文;调度模块503,用于根据所述权重值在权重总和的占比,对所述多个vm进行报文解析的调度,从所述多个vm中选取目标vm;所述反馈模块504,用于对所述目标vm发送的请求报文进行解析,并针对性的反馈解析记录给所述目标vm。

一实施方式中,所述权重值,包括:为所述多个vm分别隶属的地址段信息或地址信息对应配置的权重值。

一实施方式中,所述调度模块,包括:占比运算子模块,用于对所述权重值在权重总和的占比,取随机值;调度子模块,用于根据所述随机值对所述多个vm进行所述报文解析的调度,从所述多个vm中选取目标vm。

一实施方式中,所述调度子模块,用于:获取所述目标vm对应的所述随机值隶属的目标权重区间;在所述目标权重区间与预配置的权重区间对应的情况下,确定所述目标vm。

一实施方式中,所述反馈模块,用于从预配置的至少两条解析记录中选取对应于所述目标vm的目标解析记录;将所述目标解析记录反馈给所述目标vm。

一实施方式中,还包括权重配置模块,用于根据所述多个vm分别对应的存储容量、运行能耗、资源配置、支持网络带宽中的至少一种参数,对所述权重值进行预配置。

本公开实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。

根据本公开的实施例,本公开还提供了一种电子设备、一种可读存储介质和一种计算机程序产品。

图6是用来实现本公开实施例的调度方法的电子设备的框图。该电子设备可以为前述部署设备或代理设备。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或要求的本公开的实现。

如图6所示,电子设备600包括计算单元601,其可以根据存储在只读存储器(rom)602中的计算机程序或者从存储单元608加载到随机访问存储器(ram)603中的计算机程序来执行各种适当的动作和处理。在ram603中,还可存储电子设备600操作所需的各种程序和数据。计算单元601、rom602以及ram603通过总线604彼此相连。输入输出(i/o)接口605也连接至总线604。

电子设备600中的多个部件连接至i/o接口605,包括:输入单元606,例如键盘、鼠标等;输出单元607,例如各种类型的显示器、扬声器等;存储单元608,例如磁盘、光盘等;以及通信单元609,例如网卡、调制解调器、无线通信收发机等。通信单元609允许电子设备600通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。

计算单元601可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元601的一些示例包括但不限于中央处理单元(cpu)、图形处理单元(gpu)、各种专用的人工智能(ai)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(dsp)、以及任何适当的处理器、控制器、微控制器等。计算单元601执行上文所描述的各个方法和处理,例如调度方法。例如,在一些实施例中,调度方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元608。在一些实施例中,计算机程序的部分或者全部可以经由rom602和/或通信单元609而被载入和/或安装到电子设备600上。当计算机程序加载到ram603并由计算单元601执行时,可以执行上文描述的调度方法的一个或多个步骤。备选地,在其他实施例中,计算单元601可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行调度方法。

本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

用于实施本公开的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入、或者触觉输入来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本公开公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本公开保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本公开的精神和原则之内所作的修改、等同替换和改进等,均应包含在本公开保护范围之内。

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