CN111641732B - 智能调度方法及装置 - Google Patents
智能调度方法及装置 Download PDFInfo
- Publication number
- CN111641732B CN111641732B CN202010485274.XA CN202010485274A CN111641732B CN 111641732 B CN111641732 B CN 111641732B CN 202010485274 A CN202010485274 A CN 202010485274A CN 111641732 B CN111641732 B CN 111641732B
- Authority
- CN
- China
- Prior art keywords
- service
- server
- service end
- upper limit
- address
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Abstract
本发明提供了一种智能调度方法及装置,该方法包括:当接收到客户端发送的服务请求时,获取服务请求对应的域名;启用DNS解析域名,确定域名对应的第一服务端集群,并从第一服务端集群中选取第一服务端;判断第一服务端当前的服务能力是否达到上限;若服务能力达到上限,则获取第一服务端中预先设置的重定向状态码及调度器地址;基于重定向状态码,将服务请求转发至调度器地址对应的调度器,以通过调度器选取当前服务能力未达到上限的第二服务端,启用第二服务端实现所述服务请求对应的服务。应用该方法,能够在确定DNS所选取的服务端的服务能力达到上限时,通过重定向状态码和调度器重新选取服务能力未达到上限的服务端进行服务。
Description
技术领域
本发明涉及DNS调度技术领域,特别是涉及一种智能调度方法及装置。
背景技术
随着互联网技术的快速发展,当用户通过任一域名访问该域名对应的网页时,通过DNS(Domain Name System,域名系统)将域名解析到多个服务器对应的IP地址,并在各个IP地址中选取一个IP地址选取给用户,实现简单的DNS调度过程,用户可以通过DNS系统所选取的IP地址对应的服务器访问该网页。
在现有技术中,应用DNS对域名进行解析并选取IP地址时,可以根据请求调度的用户所属的地域和运营商等信息,为用户选取同一区域内的服务器的IP地址。例如,北京电信的用户在向DNS输入的域名后,DNS会从该域名配置多个IP地址中筛选出北京电信用户对应的服务IP。现有技术中,DNS不能得知该IP地址对应的服务器的服务能力的情况。当用户通过该IP地址请求访问服务器,而该服务器的当前的内存、CPU、IO等资源对应的服务能力达到上限时,会导致用户请求超时或请求失败的情况,影响用户的体验。
发明内容
有鉴于此,本发明提供一种智能调度方法,通过该方法,能够在确定DNS所选取的服务端的服务能力达到上限时,通过重定向状态码和调度器重新选取服务能力未达到上限的服务端进行服务。
本发明还提供了一种智能调度装置,用以保证上述方法在实际中的实现及应用。
一种智能调度方法,包括:
当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;
启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并从所述第一服务端集群中选取第一服务端;
判断所述第一服务端当前的服务能力是否达到上限;
若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;
基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。
上述的方法,可选的,所述从所述第一服务端集群中选取第一服务端,包括:
获取所述DNS解析所述域名后输出的所述域名对应的IP地址,从所述第一服务端集群中选取所述IP地址所属的服务端为第一服务端。
上述的方法,可选的,所述判断所述第一服务端当前的服务能力是否达到上限,包括:
向所述客户端发送所述第一服务端的IP地址;
当所述客户端依据所述第一服务端的IP地址访问所述第一服务端时,监测在预设的时间段内所述第一服务端是否向所述客户端返回超载信息;所述超载信息包含所述第一服务端预先设置的所述重定向状态码及所述调度器地址;
若在所述预设的时间段内所述第一服务端返回超载信息,则确定所述第一服务端当前的服务能力达到上限;
若在所述预设的时间段内所述第一服务端未返回超载信息,则确定所述第一服务端当前的服务能力未达到上限。
上述的方法,可选的,还包括:
当确定所述第一服务端当前的服务能力未达到上限时,将所述服务请求发送至所述第一服务端,以通过所述第一服务端实现对所述服务请求对应的服务。
上述的方法,可选的,所述通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,包括:
获取所述调度器中最近一次更新的所述第一服务端集群中每个所述服务端对应的负载信息,每个所述负载信息中包含其对应的服务端的各个负载资源的利用率,各个所述负载的利用率用于表征其对应的服务端的服务能力;
基于各个所述服务端对应的负载信息,确定所述第一服务端集群中的第二服务端集群,并通过所述调度器从所述第二服务端集群中选取第二服务端,所述第二服务端集群包含所述第一服务端集群中的各个服务能力未达到上限的服务端。
一种智能调度装置,包括:
第一获取单元,用于当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;
第一调度单元,用于启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并按照所述DNS中预先设置的选取规则,从所述第一服务端集群中选取第一服务端;
判断单元,用于判断所述第一服务端当前的服务能力是否达到上限;
第二获取单元,用于若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;
第二调度单元,用于基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。
上述的装置,可选的,所述第一调度单元,包括:
选取子单元,用于获取所述DNS解析所述域名后输出的所述域名对应的IP地址,从所述第一服务端集群中选取所述IP地址所属的服务端为第一服务端。
上述的装置,可选的,所述判断单元,包括:
第一发送子单元,用于确定所述第一服务端的IP地址,并向所述客户端发送所述第一服务端的IP地址;
监测子单元,用于当所述客户端依据所述第一服务端的IP地址访问所述第一服务端时,监测在预设的时间段内所述第一服务端是否向所述客户端返回超载信息;所述超载信息包含所述第一服务端预先设置的所述重定向状态码及所述调度器地址;
第一确定子单元,用于若在所述预设的时间段内所述第一服务端返回超载信息,则确定所述第一服务端当前的服务能力达到上限;
第二确定子单元,用于若在所述预设的时间段内所述第一服务端未返回超载信息,则确定所述第一服务端当前的服务能力未达到上限。
上述的装置,可选的,还包括:
第二发送子单元,用于当确定所述第一服务端当前的服务能力未达到上限时,将所述服务请求发送至所述第一服务端,以通过所述第一服务端实现对所述服务请求对应的服务。
上述的装置,可选的,所述第二调度单元,包括:
获取子单元,用于获取所述调度器中最近一次更新的所述第一服务端集群中每个所述服务端对应的负载信息,每个所述负载信息中包含其对应的服务端的各个负载资源的利用率,各个所述负载的利用率用于表征其对应的服务端的服务能力;
调度子单元,用于基于各个所述服务端对应的负载信息,确定所述第一服务端集群中的第二服务端集群,并通过所述调度器从所述第二服务端集群中选取第二服务端,所述第二服务端集群包含所述第一服务端集群中的各个服务能力未达到上限的服务端。
一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述的智能调度方法。
一种电子设备,包括存储器,以及一个或者一个以上的指令,其中一个或者一个以上指令存储于存储器中,且经配置以由一个或者一个以上处理器执行上述的智能调度方法。
与现有技术相比,本发明包括以下优点:
本发明提供了一种智能调度方法,包括:当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并从所述第一服务端集群中选取第一服务端;判断所述第一服务端当前的服务能力是否达到上限;若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。应用本发明提供的方法,能够在确定DNS所选取的服务端的服务能力达到上限时,通过重定向状态码和调度器重新选取服务能力未达到上限的服务端进行服务。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种智能调度方法的方法流程图;
图2为本发明实施例提供的一种智能调度方法的又一流程图;
图3为本发明实施例提供的一种智能调度系统的结构示意图;
图4为本发明实施例提供的一种智能调度方法的方法示意图;
图5为本发明实施例提供的一种智能调度装置的装置结构图;
图6为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
本发明实施例提供了一种智能调度方法,该方法可以应用在多种系统平台,其执行主体可以为客户端,或用于接收客户端消息的处理器,所述方法的方法流程图如图1所示,具体包括:
S101:当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;
在本发明实施例中,当用户需要访问任意一个页面时,可以在客户端的浏览器中输入待访问页面的的域名,由客户端发出该域名对应的服务请求。例如,用户需要通过客户端观看视频时,可以输入待观看视频的域名www.shiping.com。
S102:启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并从所述第一服务端集群中选取第一服务端;
在本发明实施例中,DNS具有对域名进行解析的作用,将该服务请求对应的域名输入至DNS中,由DNS对该域名进行解后,可以确定为该客户端提供该服务请求对应的服务的第一服务端集群。
需要说明的是,在第一服务端集群中,每个服务端均有对应的IP地址,客户端可以通过任意服务端的IP地址对该服务端进行访问。因此,通过从第一服务端集群中选取第一服务端后,客户端可以通过第一服务端的IP地址访问第一服务端,请求第一服务端提供服务。
S103:判断所述第一服务端当前的服务能力是否达到上限;
在本发明实施例中,若客户端需要请求第一服务端进行服务,需要确定第一服务端当前的服务能力是否达到上限,避免在第一服务端的服务能力达到上限时,客户端对该第一服务端的访问失败。
S104:若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;
在本发明实施例中,若该第一服务端无法为客户端提供服务请求对应的服务,则需要获取该第一服务端中预先设置的重定向状态码,以及调度器地址。
需要说明的是,重定向状态码用于指示客户端重新跳转至调度器地址指向的调度器。该重定向状态码可以包括HTTP协议规定的302状态码。
S105:基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。
在本发明实施例中,该调度器具体可以是负载均衡器,负载均衡器可以将该服务请求分散到第一服务端集群中的可用服务端上。在获得第一服务端的重定向状态码及调度器地址后,客户端可以基于该重定向状态码跳转至调度器地址对应的调度器,同时将该服务请求转发至该调度器。调度器在接收到该服务请求后,可以根据该域名重新选取第二服务端。
具体的,调度器在接收到服务请求后,基于该第一服务端集群中各个服务端的服务能力,从中选取出任意的服务能力未达到上限的服务端为第二服务端,并将该第二服务端的IP地址反馈给客户端,由客户端可根据该第二服务端的IP地址访问第二服务端进行服务。
本发明实施例提供的智能调度方法中,在客户端发送服务请求时,获取该服务请求对应的域名,应用DNS对该域名进行解析,确定该域名对应的第一服务端集群,并从该第一服务端集群中选取出第一服务端。判断该第一服务端的服务能力是否达到上限,以确定该第一服务端是否可以实现该服务请求对应的服务。若该第一服务端当前的服务能力达到上限,则可以确定该第一服务端不能为该客户端进行服务。需要通过重定向状态码及调度器地址将该服务请求转发至调度器,由调度器重新进行调度,确定服务能力未达到上限的第二服务端,由第二服务端实现该服务请求对应的服务。
本发明实施例提供的智能调度方法中,该方法可以应用于多种应用场景,例如用户需要通过客户端观看视频,客户端可以向DNS发送待观看的目标视频对应的域名,DNS在接收到域名后对该域名进行解析,确定包含该目标视频对应的视频资源的各个服务端,并在各个服务端中选取一个服务端为该客户端提供视频服务。确定当前选取的服务端的服务能力是否达到上限;若已经达到上限,则需要获取当前选取的服务端中预先设置的重定向状态码和调度器地址,通过重定向状态码和调度器地址跳转至调度器,通过调度器重新选取服务能力未达到上限的服务端,客户端根据调度器所选取的服务端的IP地址访问该服务端,以通过该服务端为客户端提供目标视频对应的视频服务。
应用本发明提供的方法,可以在确定DNS所选取的服务端的服务能力达到上限时,通过重定向状态码和调度器重新选取服务能力未达到上限的服务端进行服务。
具体的,本发明实施例提供的方法中,基于上述步骤S102,从第一服务端集群中选取第一服务端的过程具体可以包括:
获取所述DNS解析所述域名后输出的所述域名对应的IP地址,从所述第一服务端集群中选取所述IP地址所属的服务端为第一服务端。
本发明实施例提供的智能调度方法中,DNS调度的方式具有极高的稳定性,能够支持大的并发请求。因此,在客户端请求服务的时候,启用DNS对该域名进行解析。在将域名输入DNS进行解析后,DNS根据该域名进行配置IP地址,并将该IP地址返回给客户端。在第一服务端集群中选取该IP地址所属的服务端为第一服务端。该第一服务端为该DNS分配的为客户端提供服务的服务端。
需要说明的是,DNS根据域名配置IP地址时,可以通过DNS中包含多个配置信息进行配置。其中,每个配置信息中包含一个或多个地域和运营商对应配置的IP地址。每个配置信息是由技术人员预先按照就近原则等条件进行设定的为各个地域和运营商预先分配IP地址的相关信息。例如,技术人员在设置配置信息时,可以设置北京电信的用户分配北京电信的IP地址;湖南电信和广东电信的用户分配湖南电信的IP地址;上海电信和浙江电信的用户分配上海电信的IP地址。技术人员在设置好各个配置信息后,将其保存在DNS中。
可以理解的是,DNS在接收到客户端的服务请求后,通过客户端IP地址确定客户端所属的地域和运营商,并依据选择列表中的配置信息,确定该客户端所属的地域和运营商对应的已配置的IP地址,并从第一服务端集群中选取该IP地址所属的服务端为第一服务端。
应用本发明实施例提供的方法,由DNS配置IP地址,以通过该IP地址所属的第一服务端实现为该客户端的服务。
本发明实施例提供的方法中,基于上述步骤S103的内容,在通过DNS选取第一服务端后,由于DNS不具备对服务端的负载能力进行判断的条件,因此,需要对DNS所选取的第一服务端的服务能力进行判断,以确定该第一服务端是否能够为客户端进行服务,具体判断过程如图2所示,具体可以包括:
S201:向所述客户端发送所述第一服务端的IP地址;
本发明实施例中,在经过DNS选取第一服务端后,确定该第一服务端的IP地址,并将该第一服务端的IP地址发送给客户端。
其中,该IP地址可以由DNS直接发送给客户端,也可以由第三端的设备进行转发。
S202:当所述客户端依据所述第一服务端的IP地址访问所述第一服务端时,监测在预设的时间段内所述第一服务端是否向所述客户端返回超载信息;
其中,所述超载信息包含所述第一服务端预先设置的所述重定向状态码及所述调度器地址;
在本发明实施例中,客户端在接收到第一服务端的IP地址后,通过第一服务端的IP地址访问第一服务端,以请求与第一服务端进行通讯。第一服务端在检测到客户端的访问后,需要确定自身的服务能力是否还能够为客户端进行服务。客户端需要第一服务端进行服务时,需要占用第一服务端的IO、内存、CPU、带宽等负载资源。
可以理解的是,在客户端依据第一服务端的IP地址访问第一服务端后,通过监测第一服务端是否返回超载信息,以确定该第一服务端的服务能力是否达到上限。
S203:若在所述预设的时间段内所述第一服务端返回超载信息,则确定所述第一服务端当前的服务能力达到上限;
在本发明实施例中,若第一服务端返回超载信息后,表征该第一服务端当前的无法为客户端进行服务。需要重新选择一个新的服务端为客户端进行服务。
S204:若在所述预设的时间段内所述第一服务端未返回超载信息,则确定所述第一服务端当前的服务能力未达到上限。
在本发明实施例中,若第一服务端未返回超载信息,表征该第一服务端可以为客户端进行服务。
可选的,本发明实施例提供的方法中,当确定所述第一服务端当前的服务能力未达到上限时,将所述服务请求发送至所述第一服务端,以通过所述第一服务端实现对所述服务请求对应的服务。
本发明实施例提供的智能调度方法中,通过第一服务端的IP地址访问第一服务端,以使第一服务端根据自身的各个负载资源的使用情况确定当前服务能力是否达到上限。若第一服务端在确定自身的各个负载资源的使用情况已经超载,则会向客户端反馈携带有重定向状态码和调度器地址的超载信息,以使客户端可以判定该第一服务端无法为客户端提供服务。若该第一服务端服务能力未达到上限,则客户端可以根据第一服务端的IP地址访问第一服务端,与第一服务端进行通讯,并将服务请求发送到第一服务端,以请求第一服务端为客户端进行服务。
应用本发明实施例提供的方法,根据第一服务端是否返回超载信息,确定第一服务端的服务能力是否达到上限,以保证在第一服务端的服务能力达到上限时,能够通过重定向状态码和调度器地址对应的调度器,重新选取一个服务能力未达到上限的服务端进行服务。
基于上述实施例提供的方法,参考图3,本发明实施例提供了一种智能调度系统的结构示意图,具体包括:客户端10、DNS服务器20、服务端集群30、调度器40;其中,由客户端10通过有线或无线的方式与DNS服务器20进行通讯,当客户端10需要请求服务时,可以向DNS服务器20发送域名;DNS服务器20在接收到域名后对域名进行解析,确定可以为客户端10进行服务的服务端集群30中的各个服务端,并在服务端集群30中选取服务端A为客户端进行服务,DNS服务器20将选中的服务端A对应的IP地址反馈给客户端10。客户端10在接收到DNS服务器20反馈的IP地址后,需要确定该IP地址对应的服务端A的服务能力是否达到上限。在确定服务端A的服务能力达到上限后,获取服务端预先设置的重定向状态码及调度器地址,由客户端10基于该重定向状态码及调度器地址与调度器40进行通讯,并请求该调度器重新选取进行服务的服务端,调度器40在接收到客户端10的请求后,再从该服务端集群30中,重新选取一个服务能力未达到上限的服务端B为该客户端进行服务。
在上述实施例提供的系统中,DNS调度只需要根据预先配置好的策略,根据用户地域、运营商信息筛选出可用服务端IP,返回给客户端服务即可。该调度过程实现简单,效率极高,整个系统能稳定高效运行,从而DNS调度实际应用中不存在瓶颈。但DNS调度过于简单,不够智能,导致其起到的负载均衡效果有限。独立的调度器恰恰是弥补DNS的不足,可以根据服务端集群的负载能力,动态平衡各个服务端节点的负载情况,还可以根据服务端节点的服务质量、成本等因素做到更精准的调度。但是调度器本身作为一个独立系统,需要为所有用户分配合适的服务端节点,导致其系统压力特别大。调度器能否平稳、高效运行对整个系统起了决定性作用。本方案结合了DNS调度模式的稳定、高效,独立调度器的智能策略等优点,以提升整个智能调度系统的稳定性,降低用户的请求耗时。
本发明实施例提供的方法中,基于上述步骤S105的内容,在获得重定向状态码和调度器地址后,需要根据重定向状态码将服务请求转发至调度器地址对应的调度请,以通过该调度器重新选取为客户端进行服务的服务器,具体过程可以包括:
获取所述调度器中最近一次更新的所述第一服务端集群中每个所述服务端对应的负载信息,每个所述负载信息中包含其对应的服务端的各个负载的利用率,各个所述负载的利用率用于表征其对应的服务端的服务能力;
基于各个所述服务端对应的负载信息,确定所述第一服务端集群中的第二服务端集群,并通过所述调度器从所述第二服务端集群中选取第二服务端,所述第二服务端集群包含所述第一服务端集群中的各个服务能力未达到上限的服务端。
本发明实施例提供的智能调度方法中,可以理解的是,在第一服务端集群中,每个服务端会实时向调度器上传其对应的负载信息。该负载信息中包含其对应的服务端的各个负载资源的利用率。其中,各个负载资源可以包括IO、内存、CPU、带宽等。调度器实时各个服务端上传的各个负载信息进行更新,并在接收到服务请求后,依据最近一次更新的各个负载信息的各个负载资源的利用率中,确定服务能力是否达到上限的服务端。将第一服务端集群中各个服务能力未达到上限的服务端生成第二服务端集群,由调度器在第二服务端集群中选取第二服务端。
需要说明的是,调度器在第二服务端集群中选取第二服务端时,除了考虑该服务端的负载资源之外,还可以在第二服务端集群中根据性能和成本等因素选取最优的服务端为第二服务端。
具体的,调度器在第二服务集群中选取第二服务端后,将该第二服务端的IP地址反馈给客户端。客户端在接收到该第二服务端的IP地址后,通过第二服务端的IP地址访问第二服务端,由第二服务端为客户端提供该服务请求对应的服务。
参考图4,图4是本发明实施例提供的一种智能调度方法的一个示意图,具体过程包括:
(1)客户端需要请求服务时,向DNS发送服务请求;
(2)DNS对服务请求对应的域名进行解析,为客户端选取第一服务端;
(3)DNS向客户端返回第一服务端的IP地址;
(4)客户端依据第一服务端的IP地址访问第一服务端;
(5)第一服务端检验当前服务能力是否达到上限;若否,则执行(6);若是,则执行(7);
(6)当第一服务端当前服务能力未达到上限,第一服务端对客户端进行服务;
(7)当第一服务端当前服务能力已达到上限,向客户端返回状态码302和调度器地址;
(8)客户端基于302状态码和调度器地址将服务请求转发给调度器;
(9)调度器依据该服务请求及最近一次更新的各个服务端对应的负载信息,为客户端选取服务能力未达到上限的第二服务端;
(10)调度器向客户端返回第二服务端的IP地址;
(11)客户端依据第二服务端的IP地址访问第二服务端;
(12)第二服务端为客户端进行服务。
本发明实施例提供的方法,在DNS所选取的服务端的服务能力达到上限的情况下,能够通过重定向状态码及调度器地址将客户端的请求转发至调度器,由调度器为客户端重新选取新的服务端为客户端进行服务,避免客户端请求服务失败,提高用户的体验感。
上述各个实施例的具体实施过程及其衍生方式,均在本发明的保护范围之内。
与图1所述的方法相对应,本发明实施例还提供了一种智能调度装置,用于对图1中方法的具体实现,本发明实施例提供的智能调度装置可以应用计算机终端或各种移动设备中,其结构示意图如图5所示,具体包括:
第一获取单元501,用于当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;
第一调度单元502,用于启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并所述第一服务端集群中选取所述服务请求对应的第一服务端;
判断单元503,用于判断所述第一服务端当前的服务能力是否达到上限;
第二获取单元504,用于若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;
第二调度单元505,用于基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。
本发明实施例提供的智能调度装置中,在客户端需要发送服务请求时,第一获取单元获取该服务请求对应的域名,第一调度单元启用DNS对域名进行解析,并从第一服务端集群中选取第一服务端。判断单元判断第一服务端的服务能力是否达到上限,以避免服务能力达到上限的服务端无法为客户端提供服务。若第一服务端服务能力达到上限,则由第二获取单元获取第一服务端预先设置的重定向状态码和调度器地址,第二调度单元则根据重定向状态码和调度器地址,将服务请求转发至调度去,由调度器从新选取服务能力未达到上限的第二服务端,以通过第二服务端对客户端进行服务。
应用本发明实施例提供的装置,可以在确定DNS所选取的服务端的服务能力达到上限时,通过重定向状态码和调度器重新选取服务能力未达到上限的服务端进行服务。
本发明实施例提供的装置中,所述第一调度单元502,包括:
选取子单元,用于获取所述DNS解析所述域名后输出的所述域名对应的IP地址,从所述第一服务端集群中选取所述IP地址所属的服务端为第一服务端。
本发明实施例提供的装置中,所述判断单元503,包括:
第一发送子单元,用于向所述客户端发送所述第一服务端的IP地址;
监测子单元,用于当所述客户端依据所述第一服务端的IP地址访问所述第一服务端时,监测在预设的时间段内所述第一服务端是否向所述客户端返回超载信息;所述超载信息包含所述第一服务端预先设置的所述重定向状态码及所述调度器地址;
第一确定子单元,用于若在所述预设的时间段内所述第一服务端返回超载信息,则确定所述第一服务端当前的服务能力达到上限;
第二确定子单元,用于若在所述预设的时间段内所述第一服务端未返回超载信息,则确定所述第一服务端当前的服务能力未达到上限。
本发明实施例提供的装置中,还包括:
第二发送子单元,用于当确定所述第一服务端当前的服务能力未达到上限时,将所述服务请求发送至所述第一服务端,以通过所述第一服务端实现对所述服务请求对应的服务。
本发明实施例提供的装置中,所述第二调度单元505,包括:
获取子单元,用于获取所述调度器中最近一次更新的所述第一服务端集群中每个所述服务端对应的负载信息,每个所述负载信息中包含其对应的服务端的各个负载资源的利用率,各个所述负载的利用率用于表征其对应的服务端的服务能力;
调度子单元,用于基于各个所述服务端对应的负载信息,确定所述第一服务端集群中的第二服务端集群,并通过所述调度器从所述第二服务端集群中选取任一服务端为第二服务端,所述第二服务端集群包含所述第一服务端集群中的各个服务能力未达到上限的服务端。
以上本发明实施例公开的智能调度装置中各个单元及子单元的具体工作过程,可参见本发明上述实施例公开的智能调度方法中的对应内容,这里不再进行赘述。
本发明实施例还提供了一种存储介质,所述存储介质包括存储的指令,其中,在所述指令运行时控制所述存储介质所在的设备执行上述智能调度方法。
本发明实施例还提供了一种电子设备,其结构示意图如图6所示,具体包括存储器601,以及一个或者一个以上的指令602,其中一个或者一个以上指令602存储于存储器601中,且经配置以由一个或者一个以上处理器603执行所述一个或者一个以上指令602进行以下操作:
当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;
启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并从所述第一服务端集群中选取第一服务端;
判断所述第一服务端当前的服务能力是否达到上限;
若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;
基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现。
为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种智能调度方法,其特征在于,包括:
当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;
启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并从所述第一服务端集群中选取第一服务端;其中,第一服务端的DNS按照就近原则确定的、与所述客户端位置相近的服务端;
判断所述第一服务端当前的服务能力是否达到上限;
若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;
基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。
2.根据权利要求1所述的方法,其特征在于,所述从所述第一服务端集群中选取第一服务端,包括:
获取所述DNS解析所述域名后输出的所述域名对应的IP地址,从所述第一服务端集群中选取所述IP地址所属的服务端为第一服务端。
3.根据权利要求2所述的方法,其特征在于,所述判断所述第一服务端当前的服务能力是否达到上限,包括:
向所述客户端发送所述第一服务端的IP地址;
当所述客户端依据所述第一服务端的IP地址访问所述第一服务端时,监测在预设的时间段内所述第一服务端是否向所述客户端返回超载信息;所述超载信息包含所述第一服务端预先设置的所述重定向状态码及所述调度器地址;
若在所述预设的时间段内所述第一服务端返回超载信息,则确定所述第一服务端当前的服务能力达到上限;
若在所述预设的时间段内所述第一服务端未返回超载信息,则确定所述第一服务端当前的服务能力未达到上限。
4.根据权利要求3所述的方法,其特征在于,还包括:
当确定所述第一服务端当前的服务能力未达到上限时,将所述服务请求发送至所述第一服务端,以通过所述第一服务端实现对所述服务请求对应的服务。
5.根据权利要求1所述的方法,其特征在于,所述通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,包括:
获取所述调度器中最近一次更新的所述第一服务端集群中每个所述服务端对应的负载信息,每个所述负载信息中包含其对应的服务端的各个负载资源的利用率,各个所述负载的利用率用于表征其对应的服务端的服务能力;
基于各个所述服务端对应的负载信息,确定所述第一服务端集群中的第二服务端集群,并通过所述调度器从所述第二服务端集群中选取第二服务端,所述第二服务端集群包含所述第一服务端集群中的各个服务能力未达到上限的服务端。
6.一种智能调度装置,其特征在于,包括:
第一获取单元,用于当接收到客户端发送的服务请求时,获取所述服务请求对应的域名;
第一调度单元,用于启用预先设置的DNS解析所述域名,确定所述域名对应的第一服务端集群,并按照所述DNS中预先设置的选取规则,从所述第一服务端集群中选取第一服务端;其中,第一服务端的DNS按照就近原则确定的、与所述客户端位置相近的服务端;
判断单元,用于判断所述第一服务端当前的服务能力是否达到上限;
第二获取单元,用于若所述第一服务端当前的服务能力达到上限,则获取所述第一服务端中预先设置的重定向状态码及调度器地址;
第二调度单元,用于基于所述重定向状态码,将所述服务请求转发至所述调度器地址对应的调度器,以通过所述调度器从所述第一服务端集群中,选取当前服务能力未达到上限的第二服务端,启用所述第二服务端实现所述服务请求对应的服务。
7.根据权利要求6所述的装置,其特征在于,所述第一调度单元,包括:
选取子单元,用于获取所述DNS解析所述域名后输出的所述域名对应的IP地址,从所述第一服务端集群中选取所述IP地址所属的服务端为第一服务端。
8.根据权利要求6所述的装置,其特征在于,所述判断单元,包括:
第一发送子单元,用于向所述客户端发送所述第一服务端的IP地址;
监测子单元,用于当所述客户端依据所述第一服务端的IP地址访问所述第一服务端时,监测在预设的时间段内所述第一服务端是否向所述客户端返回超载信息;所述超载信息包含所述第一服务端预先设置的所述重定向状态码及所述调度器地址;
第一确定子单元,用于若在所述预设的时间段内所述第一服务端返回超载信息,则确定所述第一服务端当前的服务能力达到上限;
第二确定子单元,用于若在所述预设的时间段内所述第一服务端未返回超载信息,则确定所述第一服务端当前的服务能力未达到上限。
9.根据权利要求8所述的装置,其特征在于,还包括:
第二发送子单元,用于当确定所述第一服务端当前的服务能力未达到上限时,将所述服务请求发送至所述第一服务端,以通过所述第一服务端实现对所述服务请求对应的服务。
10.根据权利要求6所述的装置,其特征在于,所述第二调度单元,包括:
获取子单元,用于获取所述调度器中最近一次更新的所述第一服务端集群中每个所述服务端对应的负载信息,每个所述负载信息中包含其对应的服务端的各个负载资源的利用率,各个所述负载的利用率用于表征其对应的服务端的服务能力;
调度子单元,用于基于各个所述服务端对应的负载信息,确定所述第一服务端集群中的第二服务端集群,并通过所述调度器从所述第二服务端集群中选取第二服务端,所述第二服务端集群包含所述第一服务端集群中的各个服务能力未达到上限的服务端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485274.XA CN111641732B (zh) | 2020-06-01 | 2020-06-01 | 智能调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010485274.XA CN111641732B (zh) | 2020-06-01 | 2020-06-01 | 智能调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111641732A CN111641732A (zh) | 2020-09-08 |
CN111641732B true CN111641732B (zh) | 2023-01-24 |
Family
ID=72332128
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010485274.XA Active CN111641732B (zh) | 2020-06-01 | 2020-06-01 | 智能调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111641732B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112671923B (zh) * | 2020-12-29 | 2021-11-30 | 深圳一科互联有限公司 | 一种统一接口服务通讯调度方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487607A (zh) * | 2015-08-28 | 2017-03-08 | 中国电信股份有限公司 | 一种基于缓存服务器状态的重定向方法及重定向系统 |
CN107770283A (zh) * | 2017-11-08 | 2018-03-06 | 北京奇艺世纪科技有限公司 | 一种文件下载的控制方法、装置及系统 |
CN109151512A (zh) * | 2018-09-12 | 2019-01-04 | 中国联合网络通信集团有限公司 | Cdn网络中获取内容的方法及装置 |
CN109274733A (zh) * | 2018-09-05 | 2019-01-25 | 杭州领智云画科技有限公司 | 基于设备分类的多层调度系统 |
WO2019061522A1 (zh) * | 2017-09-30 | 2019-04-04 | 深圳前海达闼云端智能科技有限公司 | 域名解析方法、客户端、边缘节点及域名解析系统 |
CN110336848A (zh) * | 2019-04-23 | 2019-10-15 | 网宿科技股份有限公司 | 一种访问请求的调度方法及调度系统、设备 |
CN110933129A (zh) * | 2019-10-18 | 2020-03-27 | 网宿科技股份有限公司 | 一种数据调度方法、插件及装置和调度服务器 |
-
2020
- 2020-06-01 CN CN202010485274.XA patent/CN111641732B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106487607A (zh) * | 2015-08-28 | 2017-03-08 | 中国电信股份有限公司 | 一种基于缓存服务器状态的重定向方法及重定向系统 |
WO2019061522A1 (zh) * | 2017-09-30 | 2019-04-04 | 深圳前海达闼云端智能科技有限公司 | 域名解析方法、客户端、边缘节点及域名解析系统 |
CN107770283A (zh) * | 2017-11-08 | 2018-03-06 | 北京奇艺世纪科技有限公司 | 一种文件下载的控制方法、装置及系统 |
CN109274733A (zh) * | 2018-09-05 | 2019-01-25 | 杭州领智云画科技有限公司 | 基于设备分类的多层调度系统 |
CN109151512A (zh) * | 2018-09-12 | 2019-01-04 | 中国联合网络通信集团有限公司 | Cdn网络中获取内容的方法及装置 |
CN110336848A (zh) * | 2019-04-23 | 2019-10-15 | 网宿科技股份有限公司 | 一种访问请求的调度方法及调度系统、设备 |
CN110933129A (zh) * | 2019-10-18 | 2020-03-27 | 网宿科技股份有限公司 | 一种数据调度方法、插件及装置和调度服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN111641732A (zh) | 2020-09-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102514250B1 (ko) | 모바일 에지 컴퓨팅 노드를 선택하기 위한 방법, 장치 및 시스템 | |
CN109561141B (zh) | 一种cdn节点的选择方法及设备 | |
JP5632074B2 (ja) | データロードバランシングのためのデバイスおよび方法 | |
CN111641583A (zh) | 一种物联网资源接入系统及资源接入方法 | |
CN101156407B (zh) | 通过通信网络提供内容的方法 | |
KR20120089542A (ko) | 사용자 단말의 자원 관리를 수행하는 서비스 브로커 장치 및 그 방법 | |
US20110119388A1 (en) | Optimization of Multimedia Service Over an IMS Network | |
CN103023762A (zh) | 云计算接入网关及用于提供用户终端接入云提供商的方法 | |
US7844708B2 (en) | Method and apparatus for load sharing and data distribution in servers | |
CN102077189A (zh) | 使用网络计算组件的请求路由 | |
CN110166526B (zh) | 多cdn接入管理方法、装置、计算机设备及存储介质 | |
CN113206785B (zh) | 网络请求方法及装置、终端设备、存储介质 | |
US11638138B2 (en) | Device-to-device content providing method | |
CN112583952B (zh) | 重定向调度处理方法、装置、系统及相关设备、存储介质 | |
WO2017071669A1 (zh) | 缓存加速的方法及装置 | |
JP2005182641A (ja) | 動的負荷分散システム及び動的負荷分散方法 | |
CN105721552A (zh) | 一种基于dns实现动态负载均衡的方法及dns系统 | |
CN109756584B (zh) | 域名解析方法、域名解析装置及计算机可读存储介质 | |
CN111641732B (zh) | 智能调度方法及装置 | |
CN110769045A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN111193778B (zh) | 一种web服务负载均衡的方法及装置 | |
GB2460509A (en) | Event controller | |
CN113596119B (zh) | 边缘能力分发方法、系统、设备及计算机可读存储介质 | |
WO2022100202A1 (zh) | 数据下载方法、装置、存储介质及电子设备 | |
US9820138B2 (en) | Method and apparatus for resource management in a communication system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |