服务调用方法、流量调度方法及装置

文档序号:1538031 发布日期:2020-02-14 浏览:16次 >En<

阅读说明:本技术 服务调用方法、流量调度方法及装置 (Service calling method, traffic scheduling method and device ) 是由 王建伟 邢学超 许真恩 朱鹏飞 郭平 于 2018-08-03 设计创作,主要内容包括:本说明书一个或多个实施例提供一种服务调用方法、流量调度方法及装置,该服务调用方法可以包括:根据服务调用方发起的服务调用请求,确定被调用服务对应的服务提供方;根据所述服务调用方的属性标签和服务提供方的属性标签,选取目标服务提供方,以由所述目标服务提供方向所述服务调用方提供服务。(One or more embodiments of the present specification provide a service invocation method, a traffic scheduling method, and an apparatus, where the service invocation method may include: determining a service provider corresponding to the called service according to a service calling request initiated by a service calling party; and selecting a target service provider according to the attribute label of the service caller and the attribute label of the service provider so that the target service provider provides service to the service caller.)

服务调用方法、流量调度方法及装置

技术领域

本说明书一个或多个实施例涉及网络技术领域,尤其涉及一种服务调用方法、流量调度方法及装置。

背景技术

随着业务的不断发展,用户量的不断增加,系统功能越来越复杂,单纯提升服务器性能已经无法满足实际需求。因此,相关技术中通过分布式技术将不同服务进行分离,由不同的服务提供方分别提供相应的服务,而服务发现(Service Discovery)就是服务调用方找到相应的服务提供方的过程。

发明内容

有鉴于此,本说明书一个或多个实施例提供一种服务调用方法、流量调度方法及装置。

为实现上述目的,本说明书一个或多个实施例提供技术方案如下:

根据本说明书一个或多个实施例的第一方面,提出了一种服务调用方法,包括:

根据服务调用方发起的服务调用请求,确定被调用服务对应的服务提供方;

根据所述服务调用方的属性标签和服务提供方的属性标签,选取目标服务提供方,以由所述目标服务提供方向所述服务调用方提供服务。

根据本说明书一个或多个实施例的第二方面,提出了一种流量调度方法,包括:

根据流量来源方发起的流量调度请求,确定被调度流量对应的流量处理方;

根据所述流量来源方的属性标签和流量处理方的属性标签,选取目标流量处理方,以由所述目标流量处理方对所述流量来源方进行流量处理。

根据本说明书一个或多个实施例的第三方面,提出了一种服务调用装置,包括:

确定单元,根据服务调用方发起的服务调用请求,确定被调用服务对应的服务提供方;

选取单元,根据所述服务调用方的属性标签和服务提供方的属性标签,选取目标服务提供方,以由所述目标服务提供方向所述服务调用方提供服务。

根据本说明书一个或多个实施例的第四方面,提出了一种流量调度装置,包括:

确定单元,根据流量来源方发起的流量调度请求,确定被调度流量对应的流量处理方;

选取单元,根据所述流量来源方的属性标签和流量处理方的属性标签,选取目标流量处理方,以由所述目标流量处理方对所述流量来源方进行流量处理。

附图说明

图1是一示例性实施例提供的一种服务调用系统的架构示意图。

图2是一示例性实施例提供的一种服务调用方法的流程图。

图3是一示例性实施例提供的一种服务调用系统的示意图。

图4是一示例性实施例提供的一种服务发现过程的示意图。

图5是一示例性实施例提供的一种服务发现过程的交互流程图。

图6是一示例性实施例提供的一种设备的结构示意图。

图7是一示例性实施例提供的一种服务调用装置的框图。

图8是一示例性实施例提供的一种流量调度系统的架构示意图。

图9是一示例性实施例提供的一种流量调度方法的流程图。

图10是一示例性实施例提供的另一种设备的结构示意图。

图11是一示例性实施例提供的一种流量调度装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。

需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。

图1是一示例性实施例提供的一种服务调用系统的架构示意图。如图1所示,该系统可以包括服务中介设备11、网络12、若干服务方设备13~16。

服务中介设备11可以为包含一独立主机的物理服务器,或者该服务中介设备11可以为主机集群承载的虚拟服务器。在运行过程中,服务中介设备11可以运行某一应用的服务端侧的程序,以实现为服务调用系统的服务中介,从而协助服务调用系统中的服务调用方找到相应的服务提供方。

服务方设备13可以为包含一独立主机的物理服务器,或者该服务方设备11可以为主机集群承载的虚拟服务器;服务方设备14~16与服务方设备13相似,此处不再一一赘述。在运行过程中,服务方设备14~16可以分别运行某一应用的客户端侧的程序,以实现为服务调用系统的服务调用方或服务提供方;其中,同一服务方设备在一些场景下可以作为服务调用方而对服务提供方进行调用,而在另一些场景下可以作为服务提供方而被服务调用方进行调用。

而对于服务方设备13~16与服务中介设备11之间进行交互的网络12,可以包括多种类型的有线或无线网络。在一实施例中,该网络12可以包括公共交换电话网络(PublicSwitched Telephone Network,PSTN)和因特网。

图2是一示例性实施例提供的一种服务调用方法的流程图。如图2所示,该方法应用于服务中介,可以包括以下步骤:

步骤202,根据服务调用方发起的服务调用请求,确定被调用服务对应的服务提供方。

在一实施例中,服务中介可以根据服务调用方发起的服务调用请求,确定相应的服务提供方;其中,服务调用请求中可以包含被调用服务的信息,而服务中介预先记录有各个服务提供方的信息与其所能够提供的服务的信息之间的映射关系,并据此确定被调用服务对应的服务提供方。

在一实施例中,服务中介预先记录的映射关系中的服务提供方的信息可以包括服务提供方的地址信息(如IP地址等),该映射关系中记录的服务的信息可以包括服务名称,而映射关系可以采用键值对的形式对“地址信息-服务名称”进行记录。

步骤204,根据所述服务调用方的属性标签和服务提供方的属性标签,选取目标服务提供方,以由所述目标服务提供方向所述服务调用方提供服务。

在一实施例中,如果仅存在一个服务提供方,可以直接将其选取为目标服务提供方。

在一实施例中,同一被调用服务往往存在多个服务提供方,以通过冗余配置确保服务的可靠性。基于本说明书的技术方案可以作为服务中介所能够实现的一项功能,而服务中介可以根据管理员的手动开关指令或者预先配置的控制策略,对该功能进行开关控制。其中,当该功能被关闭时,服务中介将被调用服务对应的所有服务提供方的信息均返回至服务调用方(即均被作为目标服务提供方);或者,服务中介可以按照相关技术中的处理方案对这些服务提供方进行筛选,本说明书并不对此进行限制。当该功能被开启时,服务中介可以根据属性标签来选取目标服务提供方。

在一实施例中,当服务中介将地址信息作为分辨不同服务提供方的标识时,一方面服务中介可以记录地址信息与相应的服务提供方所能提供的服务的信息之间的映射关系,譬如上述的“地址信息-服务名称”,另一方面服务中介可以记录地址信息与相应的服务提供方的属性标签之间的映射关系。那么,当服务中介收到服务调用方发起的服务调用请求时,可以根据服务调用请求包含的被调用服务的信息以及上述的第一种映射关系,确定出被调用服务对应的服务提供方的信息,并进一步根据上述的第二种映射关系,确定出被调用服务对应的服务提供方的属性标签。同时,服务中介还可以记录服务调用方的地址信息与该服务调用方的属性标签之间的映射关系,使得服务中介可以根据服务调用方发起的服务调用请求,确定出服务调用方的地址信息,并进一步结合上述映射关系而确定出该服务调用方的属性标签。综上,服务中介可以分别获取所述服务调用方和所述服务提供方的地址信息,并根据预先配置的地址信息与属性标签之间的映射关系,分别确定出所述服务调用方和所述服务提供方的属性标签,以根据所述服务调用方的属性标签和各个服务提供方的属性标签来选取目标服务提供方。

在一实施例中,服务中介可以将所述服务调用方的属性标签分别与各个服务提供方的属性标签进行比较,当服务调用方的属性标签与某一服务提供方的属性标签相匹配时,可以将该服务提供方选取为目标服务提供方。

在一实施例中,可以根据历史服务调用数据,通过机器学习等方式对该历史服务调用数据所包含的历史服务调用方的属性标签、历史目标服务提供方的属性标签等进行模型训练,得到相应的预测模型。那么,通过将所述服务调用方的属性标签和各个服务提供方的属性标签输入该预测模型,即可由该预测模型输出相应的目标服务提供方。

在一实施例中,属性标签可以包括:能够对服务提供方向服务调用方提供的服务造成质量影响的属性维度,比如地理位置、运行环境等。例如,对于地理位置而言,当服务提供方与服务调用方处于同一地域时,服务质量往往相对更优,当服务提供方与服务调用方处于不同地域时,服务质量往往相对更劣,譬如延迟相对更高。又例如,对于运行环境而言,当服务提供方与服务调用方处于相同的运行环境时,服务质量往往相对更优,当服务提供方与服务调用方处于不同的运行环境时,服务质量往往相对更劣,譬如运行过程相对更加卡顿。

在一实施例中,属性标签可以包括:能够满足服务调用过程中的管理需求的属性维度,比如是否灰度、权重值等,以实现相应的流量管理、容灾管理等需求。例如,对于是否灰度而言,当服务调用方属于灰度发布对象时,选取的服务提供方(即目标服务提供方)可以适用于灰度发布场景,或者当服务调用方不属于灰度发布对象时,选取的服务提供方可以适用于非灰度发布场景,从而实现针对灰度发布的流量管理。又例如,对于权重值而言,根据服务调用方和服务提供方的权重值,可以选取具有恰当权重值的服务提供方,而对其他权重值的服务提供方实现隔离;譬如,当服务提供方的主机设备存在大量失效、仅剩部分主机设备正常运行时,出于对该服务提供方的保护,可以为其设定恰当的权重值,使得该服务提供方不会被服务中介反馈给服务调用方,以避免影响该服务提供方的正常运行,使其能够提供基础服务或紧急服务。

在一实施例中,通过将服务调用方与服务提供方的属性标签进行匹配,以确定服务提供方,可以提升服务质量,并通过对属性标签的配置操作灵活地实现对服务流量的管控操作,从而精准地实现流量控制需求。

在一实施例中,基于属性标签的比较结果或者预测模型的预测结果,可能同时存在多个相匹配的服务提供方,服务中介可以选取匹配度最高的服务提供方,以将其作为上述被选取的目标服务提供方。

在一实施例中,基于属性标签的比较结果或者预测模型的预测结果,可能同时存在多个相匹配的服务提供方,服务中介可以选取所有相匹配的服务提供方,以将其作为上述被选取的目标服务提供方,使得服务调用方可以根据预设策略进行筛选。

在一实施例中,服务中介可以针对目标服务提供方进行健康检查(healthcheck);当检查结果表明目标服务提供方存在异常时,可以通过容灾处理规则确定相应的容灾服务提供方,以由所述容灾服务提供方替换所述目标服务提供方。例如,当服务中介基于属性标签的匹配结果而选取某一服务提供方时,如果该服务提供方的健康度不满足需求,服务中介可以基于容灾处理规则选取容灾服务提供方,比如属性标签的匹配度相似或相对较低的其他服务提供方,这样虽然服务质量可能略有差异,但是能够确保对服务调用方的正常响应,使得服务调用方能够正常调用相关服务。

在一实施例中,当根据所述服务调用方的属性标签和服务提供方的属性标签未能确定出目标服务提供方时,服务中介可以确定容灾处理规则是否被触发;如果被触发则表明存在相匹配的服务提供方,但该服务提供方处于异常状态,可以通过所述容灾处理规则确定相应的容灾服务提供方,该容灾服务提供方可以承担上述服务提供方在异常状态下的服务流量,则服务中介可以将所述容灾服务提供方作为所述目标服务提供方,由该容灾服务提供方向服务调用方提供服务。

在一实施例中,服务中介可以将所述服务调到请求路由至所述目标服务提供方,由目标服务提供方向该服务调用请求进行响应,即向服务调用方提供相关服务。

在一实施例中,服务中介可以将被选取的服务提供方的信息返回所述服务调用方,由服务调用方根据自身需求选择恰当的时刻或场景下向目标服务提供方进行访问,以实现相应的服务调用。

图3是一示例性实施例提供的一种服务调用系统的示意图。如图3所示,假定该服务调用系统包括服务中介和服务方1、服务方2、服务方3……服务方n等若干服务方。在服务调用过程中,服务方1~服务方n可以实现两种角色:服务调用方和服务提供方;其中,服务调用方向服务中介发起服务调用请求,而服务中介向服务调用方返回服务提供方的信息,使得服务调用方可以向该服务提供方调用相关服务。其中,服务方1~服务方n中的每个服务方既可以作为服务调用方,也可以作为服务提供方,这取决于实际场景的需求;当然,并不排除部分服务方可能仅作为服务调用方或服务提供方,本说明书并不对此进行限制。

服务方1~服务方n可以通过各自配置的端口1~端口n提供API服务,该端口1~端口n的IP地址为服务方1~服务方n的服务地址,譬如服务方1的IP地址为IP地址1、服务方2的IP地址为IP地址2、服务方3的IP地址为IP地址3、服务方n的IP地址为IP地址n等,可以基于IP地址1~IP地址n对相应的服务方1~服务方n进行调用。

服务方1~服务方n分别向服务中介进行注册,使得服务中介对每一服务方的服务地址及其所能够提供的服务进行记录。例如,服务中介可以采用key-value键值对的形式进行记录;其中,key为各个服务方的服务地址,即上述的IP地址1~IP地址n,value为各个服务方所能够提供的服务对应的服务名称,比如服务方1对应的记录信息可以为“IP地址1-服务A”、服务方2对应的记录信息可以为“IP地址2-服务B”等。

服务中介还用于对各个服务方的属性标签进行记录。属性标签可以包括一个或多个属性维度,比如地理位置、运行环境、是否灰度、权重值等,本说明书并不对此进行限制。每一IP地址被分配至相应的服务方时,即可确定下该服务方的属性标签,当然也可以在后续对属性标签进行更改,本说明书并不对此进行限制。服务中介可以采用key-value键值对的形式,对各个服务方的属性标签进行记录;其中,key为各个服务方的服务地址,即上述的IP地址1~IP地址n,value为各个服务方的属性标签,以“地理位置+运行环境”的情况为例,譬如服务方1对应的记录信息可以为“IP地址1-北京-生产环境”、服务方2对应的记录信息可以为“IP地址2-上海-开发环境”等。

基于图3所示的服务调用系统,图4是一示例性实施例提供的一种服务发现过程的示意图,图5是一示例性实施例提供的一种服务发现过程的交互流程图;如图4-5所示,服务发现过程可以包括以下步骤:

步骤501,服务方1接收到用户设备40发起的网页浏览请求。

在一实施例中,假定用户希望在用户设备40上浏览某一网站的网页,该用户设备40可以向服务方1发起网页浏览请求,以获取该网页中包含的图片、视频等内容。

在一实施例中,用户设备40可以包括任意类型的电子设备,比如手机、PC、笔记本电脑、平板电脑、智能眼镜等,本说明书并不对此进行限制。

在一实施例中,假定由服务方1对上述的网页浏览请求进行响应;在其他实施例中,对于其他用户设备或者该用户设备40发起的其他请求,可能由其他的服务方进行响应,本说明书并不对此进行限制。

步骤502,服务方1向服务中介请求调用图片服务和视频服务。

在一实施例中,假定服务方1并不能够提供图片服务和视频服务,因而对于上述网页中的图片和视频等内容,需要由服务方1向服务中介发起服务调用请求,以使得服务中介将能够提供相关服务的服务方的信息告知服务方1,即实现服务发现。

在一实施例中,当服务方1向服务中介请求调用图片服务和视频服务时,服务方1相当于扮演了服务调用方的角色,其他服务方相当于扮演了服务提供方的角色,而由服务中介确定出能够对服务方1做出响应的服务提供方,使其向服务方1提供相关服务,譬如上述的图片服务、视频服务等。

步骤503,服务中介确定源IP和目的IP。

在一实施例中,服务方1向服务中介发起服务调用请求后,服务中介可以获取该服务方1的IP地址,以作为本次服务调用的源IP;譬如,当服务方1的端口被配置为IP地址1时,即源IP为IP地址1。

在一实施例中,服务方1向服务中介发起的服务调用请求包含被调用服务的服务名称,而服务中介可以根据上文所述的预先记录的“IP地址-服务名称”映射关系,确定出对应于该服务名称的IP地址,以作为目的IP。例如,当服务名称为图片服务时,如果记录的映射关系为“IP地址i-图片服务”,表明由IP地址为IP地址i的服务方i提供图片服务;又例如,当服务名称为视频服务时,如果记录的映射关系为“IP地址j-视频服务”,表明由IP地址为IP地址j的服务方j提供视频服务。因此,对应于图片服务的目的IP为IP地址i、对应于视频服务的目的IP为IP地址j。

步骤504,服务中介分别获取源IP和目的IP对应的属性标签,并对属性标签进行比较。

在一实施例中,对于服务方1所请求调用的每一项服务,服务中介往往会搜索到多个对应的IP地址,这些IP地址对应的服务方均能够提供相应的服务,则服务中介可以从能够提供相同服务的多个服务方中进行筛选,最终确定出用于向服务方1提供相关服务的服务方。

在一实施例中,服务中介可以根据上文所述的预先记录的“IP地址-属性标签”映射关系,分别确定出对应于源IP、每个目的IP的属性标签;然后,针对服务方1请求调用的每项服务,分别将源IP的属性标签与各个目的IP的属性标签进行比较,根据属性标签之间的匹配情况,确定出用于向服务方1提供相关服务的服务方。

以属性标签为“地理位置+运行环境”为例。假定针对图片服务,服务中介确定出的源IP为IP地址1,目的IP为IP地址2、IP地址3和IP地址4;根据服务中介预先记录的“IP地址-属性标签”映射关系,确定出源IP对应的映射关系为“IP地址1-北京-生产环境”,即源IP的属性标签为“北京+生产环境”,而确定出目的IP对应的映射关系分别为“IP地址2-北京-开发环境”、“IP地址3-北京-生产环境”、“IP地址4-上海-生产环境”,即目的IP的属性标签分别为“北京+开发环境”、“北京+生产环境”、“上海+生产环境”。因此,通过将上述属性标签进行比较,可以确定IP地址1与IP地址3的属性标签相匹配,而IP地址1与IP地址2、IP地址4的属性标签不匹配,因此可以选取IP地址3,使得相应的服务方3向服务方1提供图片服务。

对于视频服务或其他类型的服务,属性标签的匹配过程与上述图片服务的匹配过程类似,此处不再一一赘述。

在一实施例中,当针对某一服务仅存在一个目的IP时,服务中介可以略去步骤504,直接选取该目的IP,无需实施属性标签的匹配操作。

步骤505,服务中介对选取的目的IP对应的服务方进行健康检查。

在一实施例中,假定服务中介通过步骤504分别选取图片服务对应的IP地址i、视频服务对应的IP地址j,即选取服务方i为服务方1提供图片服务、选取服务方j为服务方1提供视频服务。作为一可选步骤,服务中介可以分别对服务方i和服务方j进行健康检查。

步骤506,服务中介确定服务提供方。

在一实施例中,当针对某一服务仅存在一个目的IP时,如果该目的IP对应的服务方通过了健康检查,服务中介可以将其确定为该服务的服务提供方。

在一实施例中,当针对某一服务存在多个目的IP匹配于源IP(即目的IP对应的属性标签匹配于源IP对应的属性标签)时,服务中介可以在步骤504中按照预设策略(如随机选取、选取IP地址最小者、选取IP地址最大者等)选取一个目的IP,并针对选取的目的IP进行健康检查。

在一实施例中,当针对某一服务存在多个目的IP匹配于源IP时,服务中介可以选取这些目的IP,并分别对相应的服务方进行健康检查,从而选取健康程度最优的服务方,以作为服务提供方。

在一实施例中,当针对某一服务存在多个目的IP匹配于源IP时,服务中介可以选取这些目的IP,并分别对相应的服务方进行健康检查,从而选取所有通过了健康检查的服务方,以作为服务提供方,由服务调用方后续选取希望采用的服务提供方。

在一实施例中,如果服务中介选取的目的IP对应的服务方均未通过健康检查,可以触发针对健康检查的容灾处理逻辑,确定该服务方对应的容灾服务方,并将该容灾服务方作为服务提供方。

需要指出的是:服务中介在步骤503中可能并未查询到某一服务对应的目的IP,那么服务中介可以确定是否触发容灾处理逻辑,即未查询到目的IP的原因是否由于相关服务方发生异常,还是确实不存在能够提供该服务的服务方;如果确定为相关服务方发生异常,可以基于容灾处理逻辑确定相应的容灾服务方,并转入步骤505;如果确定为不存在能够提供该服务的服务方,可以直接向服务方1返回调用失败信息。

步骤507,服务中介向服务方1分别返回图片服务对应的IP列表1、视频服务对应的IP列表2。

在一实施例中,服务中介可以确定出用于提供图片服务的服务方,而IP列表1中包含该服务方的IP地址;如果仅确定出一个用于提供图片服务的服务方,IP列表1包含该服务方的IP地址,譬如服务方i对应的IP地址i;如果确定出多个用于提供图片服务的服务方,IP列表1可以包含这些服务方分别对应的多个IP地址。类似地,IP列表2中包含一个或多个用于提供视频服务的服务方的IP地址,譬如服务方j对应的IP地址j等。

步骤508A,服务方1向服务方i调用图片服务。

步骤509A,服务方1接收服务方i返回的图片数据,并返回至用户设备40。

在一实施例中,假定IP列表1包含服务方i的IP地址i,该服务方1可以基于该IP地址i向服务方i调用图片服务,从而获得相应的图片数据,这一过程可以参考相关技术中的服务调用过程,此处不再赘述。

步骤508B,服务方1向服务方j调用视频服务。

步骤509B,服务方1接收服务方j返回的视频数据,并返回至用户设备40。

在一实施例中,假定IP列表1包含服务方j的IP地址j,该服务方1可以基于该IP地址j向服务方j调用视频服务,从而获得相应的视频数据,这一过程可以参考相关技术中的服务调用过程,此处不再赘述。

在一实施例中,服务方1可以分别向用户设备40返回图片数据和视频数据,譬如服务方1首先接收到服务方i返回的图片数据,则将该图片数据先返回至用户设备40,然后在后续收到视频数据后,再将视频数据返回至用户设备40。在另一实施例中,服务方1可以在分别收到图片数据和视频数据后,将图片数据和视频数据一并返回至用户设备40,本说明书并不对此进行限制。

图6是一示例性实施例提供的一种设备的示意结构图。请参考图6,在硬件层面,该设备包括处理器602、内部总线604、网络接口606、内存608以及非易失性存储器610,当然还可能包括其他业务所需要的硬件。处理器602从非易失性存储器610中读取对应的计算机程序到内存608中然后运行,在逻辑层面上形成服务调用装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图7,在软件实施方式中,该服务调用装置可以包括:

确定单元71,根据服务调用方发起的服务调用请求,确定被调用服务对应的服务提供方;

选取单元72,根据所述服务调用方的属性标签和服务提供方的属性标签,选取目标服务提供方,以由所述目标服务提供方向所述服务调用方提供服务。

可选的,所述选取单元72具体用于:

分别获取所述服务调用方和所述服务提供方的地址信息;

根据预先配置的地址信息与属性标签之间的映射关系,分别确定出所述服务调用方和所述服务提供方的属性标签,以使所述服务调用方的属性标签与所述服务提供方的属性标签进行比较。

可选的,所述属性标签包括在下述至少一种属性维度上的取值:地理位置、运行环境、是否灰度、权重值。

可选的,

当存在多个与所述服务调用方相匹配的服务提供方时,所述目标服务提供方为匹配度最高的服务提供方;

或者,所述目标服务提供方包括所有相匹配的服务提供方,以由所述服务调用方进行筛选,使被筛选出的目标服务提供方向所述服务调用方提供服务。

可选的,还包括:

检查单元73,针对所述目标服务提供方进行健康检查;

第一容灾处理单元74,当检查结果表明所述目标服务提供方存在异常时,通过容灾处理规则确定相应的容灾服务提供方,以由所述容灾服务提供方替换所述目标服务提供方。

可选的,还包括:

第二容灾处理单元75,当根据所述服务调用方的属性标签和服务提供方的属性标签未能确定出目标服务提供方时,通过所述容灾处理规则确定相应的容灾服务提供方,以将所述容灾服务提供方作为所述目标服务提供方。

可选的,还包括:

响应单元76,将所述服务调到请求路由至所述目标服务提供方;或者,将被选取的服务提供方的信息返回所述服务调用方。

图8是一示例性实施例提供的一种流量调度系统的架构示意图。如图8所示,该系统可以包括调度中介设备81、网络82、若干服务方设备83~86。

调度中介设备81可以为包含一独立主机的物理服务器,或者该调度中介设备81可以为主机集群承载的虚拟服务器。在运行过程中,调度中介设备81可以运行某一应用的服务端侧的程序,以实现为流量调度系统的调度中介,从而协助流量调度系统中的流量来源方找到相应的流量处理方。

服务方设备83可以为包含一独立主机的物理服务器,或者该服务方设备81可以为主机集群承载的虚拟服务器;服务方设备84~86与服务方设备83相似,此处不再一一赘述。在运行过程中,服务方设备84~86可以分别运行某一应用的客户端侧的程序,以实现为流量调度系统的流量来源方或流量处理方;其中,同一服务方设备在一些场景下可以作为流量来源方而对流量处理方进行调用,而在另一些场景下可以作为流量处理方而被流量来源方进行调用。

而对于服务方设备83~86与调度中介设备81之间进行交互的网络82,可以包括多种类型的有线或无线网络。在一实施例中,该网络82可以包括公共交换电话网络(PublicSwitched Telephone Network,PSTN)和因特网。

图9是一示例性实施例提供的一种流量调度方法的流程图。如图9所示,该方法应用于调度中介,可以包括以下步骤:

步骤902,根据流量来源方发起的流量调度请求,确定被调度流量对应的流量处理方。

在一实施例中,调度中介可以根据流量来源方发起的流量调度请求,确定相应的流量处理方;其中,流量调度请求中可以包含被调度流量的信息,而调度中介预先记录有各个流量处理方的信息与其所能够调度的流量的信息之间的映射关系,并据此确定被调度流量对应的流量处理方。

在一实施例中,调度中介预先记录的映射关系中的流量处理方的信息可以包括流量处理方的地址信息(如IP地址等),该映射关系中记录的流量的信息可以包括流量对应的服务名称,而映射关系可以采用键值对的形式对“地址信息-服务名称”进行记录。

步骤904,根据所述流量来源方的属性标签和流量处理方的属性标签,选取目标流量处理方,以由所述目标流量处理方对所述流量来源方进行流量处理。

在一实施例中,如果仅存在一个流量处理方,可以直接将其选取为目标流量处理方。

在一实施例中,同一被调度流量往往存在多个流量处理方,以通过冗余配置确保流量调度的可靠性。基于本说明书的技术方案可以作为调度中介所能够实现的一项功能,而调度中介可以根据管理员的手动开关指令或者预先配置的控制策略,对该功能进行开关控制。其中,当该功能被关闭时,调度中介将被调度流量对应的所有流量处理方的信息均返回至流量来源方(即均被作为目标流量处理方);或者,调度中介可以按照相关技术中的处理方案对这些流量处理方进行筛选,本说明书并不对此进行限制。当该功能被开启时,调度中介可以根据属性标签来选取目标流量处理方。

在一实施例中,当调度中介将地址信息作为分辨不同流量处理方的标识时,一方面调度中介可以记录地址信息与相应的流量处理方所能调度的流量的信息之间的映射关系,譬如上述的“地址信息-服务名称”,另一方面调度中介可以记录地址信息与相应的流量处理方的属性标签之间的映射关系。那么,当调度中介收到流量来源方发起的流量调度请求时,可以根据流量调度请求包含的被调度流量的信息以及上述的第一种映射关系,确定出被调度流量对应的流量处理方的信息,并进一步根据上述的第二种映射关系,确定出被调度流量对应的流量处理方的属性标签。同时,调度中介还可以记录流量来源方的地址信息与该流量来源方的属性标签之间的映射关系,使得调度中介可以根据流量来源方发起的流量调度请求,确定出流量来源方的地址信息,并进一步结合上述映射关系而确定出该流量来源方的属性标签。综上,调度中介可以分别获取所述流量来源方和所述流量处理方的地址信息,并根据预先配置的地址信息与属性标签之间的映射关系,分别确定出所述流量来源方和所述流量处理方的属性标签,以根据所述流量来源方的属性标签和各个流量处理方的属性标签来选取目标流量处理方。

在一实施例中,调度中介可以将所述流量来源方的属性标签分别与各个流量处理方的属性标签进行比较,当流量来源方的属性标签与某一流量处理方的属性标签相匹配时,可以将该流量处理方选取为目标流量处理方。

在一实施例中,可以根据历史流量调度数据,通过机器学习等方式对该历史流量调度数据所包含的历史流量来源方的属性标签、历史目标流量处理方的属性标签等进行模型训练,得到相应的预测模型。那么,通过将所述流量来源方的属性标签和各个流量处理方的属性标签输入该预测模型,即可由该预测模型输出相应的目标流量处理方。

在一实施例中,属性标签可以包括:能够对流量处理方向流量来源方调度的流量造成质量影响的属性维度,比如地理位置、运行环境等。例如,对于地理位置而言,当流量处理方与流量来源方处于同一地域时,处理质量往往相对更优,当流量处理方与流量来源方处于不同地域时,处理质量往往相对更劣,譬如延迟相对更高。又例如,对于运行环境而言,当流量处理方与流量来源方处于相同的运行环境时,处理质量往往相对更优,当流量处理方与流量来源方处于不同的运行环境时,处理质量往往相对更劣,譬如运行过程相对更加卡顿。

在一实施例中,属性标签可以包括:能够满足流量调度过程中的管理需求的属性维度,比如是否灰度、权重值等,以实现相应的流量管理、容灾管理等需求。例如,对于是否灰度而言,当流量来源方属于灰度发布对象时,选取的流量处理方(即目标流量处理方)可以适用于灰度发布场景,或者当流量来源方不属于灰度发布对象时,选取的流量处理方可以适用于非灰度发布场景,从而实现针对灰度发布的流量管理。又例如,对于权重值而言,根据流量来源方和流量处理方的权重值,可以选取具有恰当权重值的流量处理方,而对其他权重值的流量处理方实现隔离;譬如,当流量处理方的主机设备存在大量失效、仅剩部分主机设备正常运行时,出于对该流量处理方的保护,可以为其设定恰当的权重值,使得该流量处理方不会被调度中介反馈给流量来源方,以避免影响该流量处理方的正常运行,使其能够提供基础服务或紧急服务。

在一实施例中,通过将流量来源方与流量处理方的属性标签进行匹配,以确定流量处理方,可以提升对流量的处理质量,并通过对属性标签的配置操作灵活地实现对流量的管控操作,从而精准地实现流量调度和处理。

在一实施例中,基于属性标签的比较结果或者预测模型的预测结果,可能同时存在多个相匹配的流量处理方,调度中介可以选取匹配度最高的流量处理方,以将其作为上述被选取的目标流量处理方。

在一实施例中,基于属性标签的比较结果或者预测模型的预测结果,可能同时存在多个相匹配的流量处理方,调度中介可以选取所有相匹配的流量处理方,以将其作为上述被选取的目标流量处理方,使得流量来源方可以根据预设策略进行筛选。

在一实施例中,调度中介可以针对目标流量处理方进行健康检查(healthcheck);当检查结果表明目标流量处理方存在异常时,可以通过容灾处理规则确定相应的容灾流量处理方,以由所述容灾流量处理方替换所述目标流量处理方。例如,当调度中介基于属性标签的匹配结果而选取某一流量处理方时,如果该流量处理方的健康度不满足需求,调度中介可以基于容灾处理规则选取容灾流量处理方,比如属性标签的匹配度相似或相对较低的其他流量处理方,这样虽然处理质量可能略有差异,但是能够确保对流量来源方的正常响应,使得流量能够被顺利地调度和处理。

在一实施例中,当根据所述流量来源方的属性标签和流量处理方的属性标签未能确定出目标流量处理方时,调度中介可以确定容灾处理规则是否被触发;如果被触发则表明存在相匹配的流量处理方,但该流量处理方处于异常状态,可以通过所述容灾处理规则确定相应的容灾流量处理方,该容灾流量处理方可以承担上述流量处理方在异常状态下的服务流量,则调度中介可以将所述容灾流量处理方作为所述目标流量处理方,由该容灾流量处理方对流量来源方提供的流量进行处理。

在一实施例中,调度中介可以将所述服务调到请求路由至所述目标流量处理方,由目标流量处理方向该流量调度请求进行响应,即对流量来源方提供的相关流量进行处理。

在一实施例中,调度中介可以将被选取的流量处理方的信息返回所述流量来源方,由流量来源方根据自身需求选择恰当的时刻或场景下,将相关流量提供至目标流量处理方,以由目标流量处理方进行处理。

图10是一示例性实施例提供的一种设备的示意结构图。请参考图10,在硬件层面,该设备包括处理器1002、内部总线1004、网络接口1006、内存1008以及非易失性存储器1010,当然还可能包括其他业务所需要的硬件。处理器1002从非易失性存储器1010中读取对应的计算机程序到内存1008中然后运行,在逻辑层面上形成流量调度装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。

请参考图11,在软件实施方式中,该流量调度装置可以包括:

确定单元1101,根据流量来源方发起的流量调度请求,确定被调度流量对应的流量处理方;

选取单元1102,根据所述流量来源方的属性标签和流量处理方的属性标签,选取目标流量处理方,以由所述目标流量处理方对所述流量来源方进行流量处理。

可选的,所述选取单元1102具体用于:

分别获取所述流量来源方和所述流量处理方的地址信息;

根据预先配置的地址信息与属性标签之间的映射关系,分别确定出所述流量来源方和所述流量处理方的属性标签,以使所述流量来源方的属性标签与所述流量处理方的属性标签进行比较。

可选的,所述属性标签包括在下述至少一种属性维度上的取值:地理位置、运行环境、是否灰度、权重值。

可选的,

当存在多个与所述流量来源方相匹配的流量处理方时,所述目标流量处理方为匹配度最高的流量处理方;

或者,所述目标流量处理方包括所有相匹配的流量处理方,以由所述流量来源方进行筛选,使被筛选出的目标流量处理方对所述流量来源方提供的流量进行处理。

可选的,还包括:

检查单元1103,针对所述目标流量处理方进行健康检查;

第一容灾处理单元1104,当检查结果表明所述目标流量处理方存在异常时,通过容灾处理规则确定相应的容灾流量处理方,以由所述容灾流量处理方替换所述目标流量处理方。

可选的,还包括:

第二容灾处理单元1105,当根据所述流量来源方的属性标签和流量处理方的属性标签未能确定出目标流量处理方时,通过所述容灾处理规则确定相应的容灾流量处理方,以将所述容灾流量处理方作为所述目标流量处理方。

可选的,还包括:

响应单元1106,将所述服务调到请求路由至所述目标流量处理方;或者,将被选取的流量处理方的信息返回所述流量来源方。

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。

在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。

在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。

应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。

以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:组播业务处理方法、装置、云平台、设备及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!