CN111343266B - 路由决策方法及装置 - Google Patents
路由决策方法及装置 Download PDFInfo
- Publication number
- CN111343266B CN111343266B CN202010110996.7A CN202010110996A CN111343266B CN 111343266 B CN111343266 B CN 111343266B CN 202010110996 A CN202010110996 A CN 202010110996A CN 111343266 B CN111343266 B CN 111343266B
- Authority
- CN
- China
- Prior art keywords
- target node
- node
- weight
- index
- determining
- 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
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
-
- 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
- H04L67/63—Routing a service request depending on the request content or context
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Finance (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- Technology Law (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种路由决策方法及装置,应用于互相通信的多个目标节点Wn和至少一个请求节点,n为大于等于1的正整数,该方法包括:获取目标节点Wi在预定周期内的性能指标,性能指标包括:交易量、交易平均响应时间、交易异常量,其中,1≦i≦n,i为正整数;根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重;获取请求节点的交易指标,根据请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点;根据最终目标节点确定路由决策。通过本发明,可以获知目标节点的状态,从而可以避开故障目标节点,提升系统运行的稳定性。
Description
技术领域
本发明涉及通信领域,具体涉及一种路由决策方法及装置。
背景技术
业务系统为了支撑高容量高并发的业务请求,一般会采用多节点部署,通过多个物理设备或虚拟设备支撑业务并发请求。实现的业务场景一般比较复杂,一个业务请求会涉及两个或多个业务系统,比如个人账户转对账账户,涉及个人账户系统和对公账户系统,多个业务系统之间的通信关系,形成了多对多的网状通信结构。常用的负载均衡产品有F5硬件负载均衡和Nginx(engine x,一种负载均衡服务)软件负载,这两个产品的负载均衡主要体现在创建连接时的连接个数均衡。两个业务系统如果是高频通信的,一般采用长连接设计,以减少创建通信连接的消耗。在长连接的系统设计中,两个系统之间的流量负载均衡常见的算法有轮询、加权轮询、负载最低优前、性能最优、HASH(哈希)随机等等方法,这几种算法大多是基于本机器与目标服务器的负载作出路由选择,在网状结构的系统连接中,涉及到多个请求节点向同一目标节点发送请求,每个请求节点无法知道目标节点的全局负载,从而无法得出最优的负载选择。同时,目标节点可能出现大量异常而请求节点无法感知,从而导致请求节点大量请求到故障的目标节点,引起两个业务系统之间的大面积堵塞。
发明内容
有鉴于此,本发明提供一种路由决策方法及装置,以解决上述提及的至少一个问题。
根据本发明的第一方面,提供一种路由决策方法,应用于互相通信的多个目标节点Wn和至少一个请求节点,n为大于等于1的正整数,所述方法包括:获取目标节点Wi在预定周期内的性能指标,所述性能指标包括:交易量、交易平均响应时间、交易异常量,其中,1≦i≦n,i为正整数;根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重;获取请求节点的交易指标,根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点;根据所述最终目标节点确定路由决策。
具体地,上述根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重包括:根据目标节点Wi的性能指标以及各指标权重确定各指标周期权重;将各指标周期权重执行加操作确定目标节点Wi的路由权重。
上述请求节点的交易指标包括:发送至目标节点Wi的交易量、以及与该目标节点Wi的通信失败率。根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点包括:根据所述请求节点的交易指标和各目标节点的路由权重确定各目标节点的全局路由权重;根据各目标节点的全局路由权重为该请求节点确定最终目标节点。
具体地,根据所述请求节点的交易指标和各目标节点的路由权重确定各目标节点的全局路由权重包括:根据所述请求节点的交易指标及其各指标权重确定该请求节点的交易指标权重;将该请求节点的交易指标权重与所述目标节点Wi的路由权重执行加操作来确定所述目标节点Wi的全局路由权重。
进一步地,根据各目标节点的全局路由权重为该请求节点确定最终目标节点包括:根据各目标节点的全局路由权重、基于预定分类规则对所述多个目标节点进行分组操作,得到最优目标节点组、次优目标节点组以及故障目标节点组;从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点。
进一步地,从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点包括:基于预定概率为所述请求节点选择所述最优目标节点组或者所述次优目标节点组;基于哈希算法从选择的所述最优目标节点组或者所述次优目标节点组中确定所述最终目标节点。
根据本发明的第二方面,提供一种路由决策装置,应用于互相通信的多个目标节点Wn和至少一个请求节点,n为大于等于1的正整数,该装置包括:目标节点指标获取单元,用于获取目标节点Wi在预定周期内的性能指标,所述性能指标包括:交易量、交易平均响应时间、交易异常量,其中,1≦i≦n,i为正整数;目标节点路由权重确定单元,用于根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重;请求节点指标获取单元,用于获取请求节点的交易指标;最终目标节点确定单元,用于根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点;路由决策确定单元,用于根据所述最终目标节点确定路由决策。
所述目标节点路由权重确定单元包括:指标周期权重确定模块,用于根据目标节点Wi的性能指标以及各指标权重确定各指标周期权重;目标节点路由权重确定模块,用于将各指标周期权重执行加操作确定目标节点Wi的路由权重。
所述请求节点的交易指标包括:发送至目标节点Wi的交易量、以及与该目标节点Wi的通信失败率,所述最终目标节点确定单元包括:目标节点全局路由权重确定模块,用于根据所述请求节点的交易指标和各目标节点的路由权重确定各目标节点的全局路由权重;最终目标节点确定模块,用于根据各目标节点的全局路由权重为该请求节点确定最终目标节点。
所述目标节点全局路由权重确定模块包括:请求节点交易指标权重确定子模块,用于根据所述请求节点的交易指标及其各指标权重确定该请求节点的交易指标权重;目标节点全局路由权重确定子模块,用于将该请求节点的交易指标权重与所述目标节点Wi的路由权重执行加操作来确定所述目标节点Wi的全局路由权重。
所述最终目标节点确定模块包括:分组子模块,用于根据各目标节点的全局路由权重、基于预定分类规则对所述多个目标节点进行分组操作,得到最优目标节点组、次优目标节点组以及故障目标节点组;最终目标节点确定子模块,用于从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点。
所述最终目标节点确定子模块具体用于:基于预定概率为所述请求节点选择所述最优目标节点组或者所述次优目标节点组;以及基于哈希算法从选择的所述最优目标节点组或者所述次优目标节点组中确定所述最终目标节点。
根据本发明的第三方面,提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述路由决策方法的步骤。
根据本发明的第四方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述路由决策方法的步骤。
由上述技术方案可知,通过根据获取的各目标节点的周期性能指标确定各目标节点的路由权重,并结合获取的请求节点的交易指标来为请求节点确定最终目标节点,从而确定路由决策,由于本方案考虑了目标节点的路由权重,因而可以获知目标节点的状态,从而可以避开故障目标节点,提升系统运行的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的路由决策方法的流程图;
图2是根据本发明实施例的路由决策装置的结构框图;
图3是根据本发明实施例的目标节点路由权重确定单元22的结构框图;
图4是根据本发明实施例的最终目标节点确定单元24的结构框图;
图5是业务系统结构示意图;
图6是根据本发明实施例的智能流量负载均衡系统的示例结构图;
图7是基于图6所示系统的智能流量负载均衡流程图;
图8是根据本发明实施例的电子设备的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,两个业务系统之间的流量负载均衡算法大多是基于请求服务器与目标服务器的负载作出路由选择,而不是基于目标服务器的全局负载来决策,在网状结构的系统连接中,涉及到多个请求节点向同一目标节点发送请求,每个请求节点无法知道目标节点的全局负载,目标节点可能出现大量异常而请求节点无法感知,从而导致请求节点大量请求到故障的目标节点,引起两个业务系统之间的大面积堵塞。基于此,本发明实施例提供一种路由决策方案,通过获取各目标节点的负载状态和健康状态来选择合适的目标节点,避开不健康的目标节点,可以提升业务系统的可用性。以下结合附图来详细描述本发明实施例。
图1是根据本发明实施例的路由决策方法的流程图,应用于互相通信的多个目标节点(W1,W2,……,Wn,n为大于等于1的正整数)和至少一个请求节点,如图1所示,该方法包括:
步骤101,获取目标节点Wi在预定周期内的性能指标,所述性能指标包括:交易量、交易平均响应时间、交易异常量,其中,1≦i≦n,i为正整数。
在实际操作中,性能指标具体可以包括:一个时间周期内目标节点的交易量,一个时间周期内目标节点长交易的笔数,一个时间周期内目标节点的交易平均响应时间,一个时间周期内目标节点发生异常次数等。
步骤102,根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重。
具体地,可以根据目标节点Wi的性能指标以及各指标权重确定各指标周期权重;之后将各指标周期权重执行加操作确定目标节点Wi的路由权重。
例如,可以根据如下公式来计算各目标节点的路由权重W:
W=nA+mB+pC+qD
其中,n是一个时间周期内目标节点的交易量,A是交易量权重;
m是一个时间周期内目标节点的交易平均响应时间,B是平均响应时间权重;
p是一个时间周期内目标节点长交易的笔数,C是长交易的权重;
q是一个时间周期内目标节点发生异常次数,D是交易异常的权重。
步骤103,获取请求节点的交易指标,根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点。这里的请求节点的交易指标包括:发送至各目标节点的交易量、以及与各目标节点的通信失败率。
具体而言,可以根据请求节点的交易指标和各目标节点的路由权重分别确定各目标节点的全局路由权重;之后,根据各目标节点的全局路由权重为该请求节点确定最终目标节点。
目标节点的全局路由权重可以通过如下方式来确定:根据所述请求节点的交易指标及其各指标权重确定该请求节点的交易指标权重;之后,将该请求节点的交易指标权重与各目标节点的路由权重分别执行加操作来确定各目标节点的全局路由权重。
例如,可以通过如下公式来确定各目标节点的全局路由权重G:
G=W+xE+yF
其中,x为一个时间周期内请求节点发往某一目标节点(例如,Wi)的交易量,E为请求节点交易量权重;
y为一个时间周期内请求节点与某一目标节点(例如,Wi)的通信失败率,F为通信失败率的权重;
W为某一目标节点(例如,Wi)的路由权重。
在实际操作中,上述目标节点的全局路由权重也可以称为请求节点针对该目标节点的路由权重。
在确定各目标节点的全局路由权重之后,根据各目标节点的全局路由权重、基于预定分类规则(例如,对各目标节点的全局路由权重进行排序来分组)对多个目标节点进行分组操作,得到最优目标节点组、次优目标节点组以及故障目标节点组;之后,从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点。
具体而言,在最优目标节点组和次优目标节点组中,首先基于预定概率为所述请求节点选择所述最优目标节点组或者所述次优目标节点组,例如,选择最优目标节点组的预定概率为80%,选择次优目标节点组的预定概率为20%。之后,基于哈希算法从选择的所述最优目标节点组或者所述次优目标节点组中确定所述最终目标节点。
步骤104,根据所述最终目标节点确定路由决策。即,根据请求节点与确定的最终目标节点来确定路由,进行数据的通信。
通过根据获取的各目标节点的周期性能指标确定各目标节点的路由权重,并结合获取的请求节点的交易指标来为请求节点确定最终目标节点,从而确定路由决策,由于本发明实施例考虑了目标节点的路由权重,因而可以获知目标节点的状态,从而可以避开故障目标节点,提升系统运行的稳定性。
基于相似的发明构思,本发明实施例还提供一种路由决策装置,该装置可应用于互相通信的多个目标节点和至少一个请求节点中,优选地,该装置可以用于实现上述方法实施例中的流程。
图2是路由决策装置的结构框图,如图2所示,该装置包括:目标节点指标获取单元21、目标节点路由权重确定单元22、请求节点指标获取单元23、最终目标节点确定单元24和路由决策确定单元25,其中:
目标节点指标获取单元21,用于获取各目标节点在预定周期内的性能指标,所述性能指标包括:交易量、交易平均响应时间、交易异常量。
目标节点路由权重确定单元22,用于根据目标节点(例如,Wi)的性能指标以及各指标权重确定目标节点Wi的路由权重,其中,1≦i≦n,i为正整数。
请求节点指标获取单元23,用于获取请求节点的交易指标,这里的交易指标包括:发送至目标节点例如Wi的交易量、以及与该目标节点Wi的通信失败率。
最终目标节点确定单元24,用于根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点。
路由决策确定单元25,用于根据所述最终目标节点确定路由决策。
通过目标节点路由权重确定单元22根据目标节点指标获取单元21获取的各目标节点的周期性能指标确定各目标节点的路由权重,最终目标节点确定单元24根据确定的各目标节点的路由权重和请求节点指标获取单元23获取的请求节点的交易指标来为请求节点确定最终目标节点,从而路由决策确定单元25可以根据最终目标节点确定路由决策,由于本发明实施例考虑了目标节点的路由权重,因而可以获知目标节点的状态,从而可以避开故障目标节点,提升系统运行的稳定性。
图3是上述目标节点路由权重确定单元22的结构框图,如图3所示,该目标节点路由权重确定单元22包括:指标周期权重确定模块221和目标节点路由权重确定模块222,其中:
指标周期权重确定模块221,用于根据目标节点Wi的性能指标以及各指标权重确定各指标周期权重;
目标节点路由权重确定模块222,用于将各指标周期权重执行加操作确定目标节点Wi的路由权重。
图4是上述最终目标节点确定单元24的结构框图,如图4所示,该最终目标节点确定单元24包括:目标节点全局路由权重确定模块241和最终目标节点确定模块242,其中:
目标节点全局路由权重确定模块241,用于根据所述请求节点的交易指标和各目标节点的路由权重确定各目标节点的全局路由权重。
该目标节点全局路由权重确定模块241具体包括:请求节点交易指标权重确定子模块2411和目标节点全局路由权重确定子模块2412,其中:请求节点交易指标权重确定子模块2411,用于根据所述请求节点的交易指标及其各指标权重确定该请求节点的交易指标权重;目标节点全局路由权重确定子模块2412,用于将该请求节点的交易指标权重与所述目标节点Wi的路由权重执行加操作来确定所述目标节点Wi的全局路由权重。
最终目标节点确定模块242,用于根据各目标节点的全局路由权重为该请求节点确定最终目标节点。该最终目标节点确定模块242具体包括:分组子模块2421和最终目标节点确定子模块2422,其中:
分组子模块2421,用于根据各目标节点的全局路由权重、基于预定分类规则对所述多个目标节点进行分组操作,得到最优目标节点组、次优目标节点组以及故障目标节点组;
最终目标节点确定子模块2422,用于从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点。具体地,基于预定概率为所述请求节点选择所述最优目标节点组或者所述次优目标节点组;以及基于哈希算法从选择的所述最优目标节点组或者所述次优目标节点组中确定所述最终目标节点。
上述各单元、各模块、各子模块的具体执行过程,可以参见上述方法实施例中的描述,此处不再赘述。
在实际操作中,上述各单元、各模块、各子模块可以组合设置、也可以单一设置,本发明不限于此。
为了更好地理解本发明实施例,以下基于图5所示的系统来详细描述。
参见图5,业务系统A是发起业务请求的系统,包含多个请求节点,图中示出3个节点,分别是请求节点111、请求节点112和请求节点113;业务系统B是接受业务请求的目标系统,包含多个目标节点,图中示出3个节点,分别是目标节点121、目标节点122和目标节点123。
在实际操作中,请求节点和目标节点的个数与支撑的业务量相关,节点的具体个数不会影响本发明实施例的负载均衡方案,只是为了描述方便假定为请求节点和目标节点各3个。业务系统A与业务系统B是高频通信的两个系统,因此采用长连接实现通信。在相关技术中,以常见的轮询算法、业务系统A请求节点111的业务请求为例,请求节点111第一次把业务请求发往目标节点121,第二次把业务请求发往目标节点122,第3次把业务请求发往目标节点123,第4次把业务请求发往目标节点121,以此往复循环选择。
在实际的系统设计中,除轮循方式外,还可以使用加权轮询、负载最低优先、性能最优、HASH(哈希)随机等方式,这些方式均是根据单一指标来作为路由决策,并且是以请求节点的统计结果来决策,而对于目标节点来说,每个请求节点的信息是局部信息,并非全局的负载信息,为了使请求节点的路由决策达到最优,需要对所有目标节点的全局负载情况及健康状态进行综合评估,决策最优目标节点。
图6是根据本发明实施例的智能流量负载均衡系统的示例结构图,如图6所示,该系统包含:控制(Master)系统231、master节点232、路由决策器233,性能采集器234。其中,Master系统包含多个master节点232,采用一主多备的策略,实现master节点的高可用。master节点分别与路由决策器233、性能采集器234连接。路由决策器233可以部署在请求节点211中,性能采集器234可以部署在目标节点221上。该智能流量负载均衡系统优选的对应于上述的路由决策装置,用于为请求节点选择合适的目标节点,实现请求节点的路由决策。
该智能流量负载均衡系统的工作原理是,性能采集器234根据设定的采集间隔采集本节点的性能指标,采集间隔可使用参数化管理,采集内容包括:这个时间间隔内本目标节点221(也可以是其他目标节点)的交易量、交易平均响应时间、长交易的交易量以及交易发生异常的次数,并根据预定周期向主master节点232报送采集内容(即,性能数据)。主master节点接收到性能数据之后,向副master节点同步性能数据。如此,Master节点232根据如下公式计算每个目标节点的路由权重:
W=nA+mB+pC+qD
其中,n是一个时间周期内目标节点的交易量,A是交易量权重;
m是一个时间周期内目标节点的交易平均响应时间,B是平均响应时间权重;
p是一个时间周期内目标节点长交易的笔数,C是长交易的权重;
q是一个时间周期内目标节点发生异常次数,D是交易异常的权重;
n、m、x、y是性能采集器234采集的数据,A、B、C、D是各数据相应的权重,具体数值可以根据实际情况确定。
master节点232把所有目标节点的路由权重推送给路由决策器233,路由决策器把这多个目标节点划分为最优节点组PG、次优节点组SG以及故障节点组FG。
以请求节点211为例,上述划分可以根据请求节点211针对每个目标节点的路由权重G来实现,G的具体计算过程参见如下公式:
G=W+xE+yF
其中,x为一个时间周期内请求节点211发往某一目标节点(例如,目标节点221)的交易量,E为请求节点交易量权重;
y为一个时间周期内请求节点211与某一目标节点(例如,目标节点221)的通信失败率,F为通信失败率的权重;
W为由master节点232推送的目标节点221的路由权重。
请求节点211计算出每个目标节点的路由权重G之后,进行从小到大排序,路由权重G值在预定范围内的目标节点,归类到故障节点组,对于其余节点,根据路由权重G值,例如路由权重值前50%的目标节点归到最优节点组,后50%的目标节点归到次优节点组。
之后,路由决策器根据如下路由策略公式来选择最终目标节点:
路由决策公式:iPG+jSG
其中,i+j=1,i表示选择最优节点组PG的概率,j表示选择到次优节点组SG的概率。例如,i设定为80%,j设定为20%,即,表示80%的概率选择最优节点组中的目标节点,20%的概率选取次优节点组的目标节点。在确定节点组之后,在节点组内采用HASH(哈希)算法随机选择一个节点作为最终目标节点,此时,路由决策器完成整个路由决策。
图7是基于图6所示系统的智能流量负载均衡流程图,如图7所示,该流程包括:
步骤701,性能采集器234部署到目标节点221中,目标节点221启动时,通过性能采集器234与Master系统231建立连接,Master系统231包括一主多备master节点,并把目标节点注册到master系统231中。
步骤702,路由决策器233部署到请求节点211中,请求节点211启动时,通过路由决策器233与Master系统231建立连接,并向Master系统231订阅与之通信的目标节点(例如,目标节点221)的性能数据。
步骤703,性能采集器234按一定周期采集目标节点221的性能数据,包括:当前目标节点221的交易量、交易响应时间、交易异常次数、长交易交易量等性能数据。
步骤704,根据采集周期配置,性能采集器234定期向master节点报送本目标节点221的性能数据。
步骤705,主master节点232接收到性能采集器234采集的目标节点221的性能数据后,并根据路由权重计算公式,更新目标节点221的路由权重值,并向副节点同步性能数据。
步骤706,主master节点232向副节点同步完成后,向请求节点211推送目标节点221的路由权重值。
步骤707,请求节点211刷新目标节点的路由权重值。
步骤708,在master节点推送周期内,统计本周期内请求节点的交易量和通信失败率,动态刷新针对目标节点221的全局路由权重,根据全局路由权重,动态调整目标节点221的归属路由组,路由组分为最优节点组、次优节点组、故障节点组,其中路由权重达到一定阀值则归为故障节点组,其余节点,路由权重前50%的节点归到最优节点组,权重后50%的节点归到次优节点组。
步骤709,根据路由决策公式,确定目标节点221作为本次交易路由的目标节点,完成本次路由决策任务。
本发明实施例的智能流量负载均衡系统,整个路由决策过程,采用综合指标评价目标节点的状态,覆盖目标节点的交易量、交易响应时间、交易异常、长交易交易量等目标节点的全局性能情况,也覆盖请求节点到目标节点的通信异常和请求节点动态的交易量。如,请求节点211的通信异常信息和动态交易量,使请求节点211在接收到master节点232的目标节点路由权重后到下一次刷新前,请求节点211能够根据当前请求情况,动态调整路由选择,使路由决策过程更加合理。通过路由决策公式,可以避免请求节点集中路由到路由权重最优的目标节点,通过在最优节点组内实现负载均衡,并且少量流量导流到次优节点组,使得整个路由决策相对于单一决策指标的方式更优。
图8是根据本发明实施例的电子设备的示意图。图8所示的电子设备为通用数据处理装置,其包括通用的计算机硬件结构,其至少包括处理器801和存储器802。处理器801和存储器802通过总线803连接。存储器802适于存储处理器801可执行的一条或多条指令或程序。该一条或多条指令或程序被处理器801执行以实现上述路由决策方法中的步骤。
上述处理器801可以是独立的微处理器,也可以是一个或者多个微处理器集合。由此,处理器801通过执行存储器802所存储的命令,从而执行如上所述的本发明实施例的方法流程实现对于数据的处理和对于其他装置的控制。总线803将上述多个组件连接在一起,同时将上述组件连接到显示控制器804和显示装置以及输入/输出(I/O)装置805。输入/输出(I/O)装置805可以是鼠标、键盘、调制解调器、网络接口、触控输入装置、体感输入装置、打印机以及本领域公知的其他装置。典型地,输入/输出(I/O)装置805通过输入/输出(I/O)控制器806与系统相连。
其中,存储器802可以存储软件组件,例如操作系统、通信模块、交互模块以及应用程序。以上所述的每个模块和应用程序都对应于完成一个或多个功能和在发明实施例中描述的方法的一组可执行程序指令。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时以实现上述路由决策方法的步骤。
综上所述,本发明实施例提供的路由决策方案,能够综合评估目标节点和请求节点的负载状态和健康状态,一方面可以使目标节点的负载更加均衡,另一方面也可以避免把交易路由到故障的目标节点中,使请求节点快速感知目标节点的状态,使目标节点以相同的资源投入的情况下,可以发挥最大的并发支撑性能,节省资源的投入,从而提升业务系统运行的稳定性。
以上参照附图描述了本发明的优选实施方式。这些实施方式的许多特征和优点根据该详细的说明书是清楚的,因此权利要求旨在覆盖这些实施方式的落入其真实精神和范围内的所有这些特征和优点。此外,由于本领域的技术人员容易想到很多修改和改变,因此不是要将本发明的实施方式限于所例示和描述的精确结构和操作,而是可以涵盖落入其范围内的所有合适修改和等同物。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种路由决策方法,应用于Master节点、互相通信的多个目标节点Wn和至少一个请求节点,n为大于等于1的正整数,其特征在于,所述方法包括:
获取目标节点Wi在预定周期内的性能指标,所述性能指标包括:交易量、交易平均响应时间、交易异常量,其中,1≦i≦n,i为正整数;
根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重;
获取请求节点的交易指标,根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点;
根据所述最终目标节点确定路由决策。
2.根据权利要求1所述的方法,其特征在于,根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重包括:
根据目标节点Wi的性能指标以及各指标权重确定各指标周期权重;
将各指标周期权重执行加操作确定目标节点Wi的路由权重。
3.根据权利要求1所述的方法,其特征在于,所述请求节点的交易指标包括:发送至目标节点Wi的交易量、以及与该目标节点Wi的通信失败率,
根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点包括:
根据所述请求节点的交易指标和各目标节点的路由权重确定各目标节点的全局路由权重;
根据各目标节点的全局路由权重为该请求节点确定最终目标节点。
4.根据权利要求3所述的方法,其特征在于,根据所述请求节点的交易指标和各目标节点的路由权重确定各目标节点的全局路由权重包括:
根据所述请求节点的交易指标及其各指标权重确定该请求节点的交易指标权重;
将该请求节点的交易指标权重与所述目标节点Wi的路由权重执行加操作来确定所述目标节点Wi的全局路由权重。
5.根据权利要求4所述的方法,其特征在于,根据各目标节点的全局路由权重为该请求节点确定最终目标节点包括:
根据各目标节点的全局路由权重、基于预定分类规则对所述多个目标节点进行分组操作,得到最优目标节点组、次优目标节点组以及故障目标节点组;
从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点。
6.根据权利要求5所述的方法,其特征在于,从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点包括:
基于预定概率为所述请求节点选择所述最优目标节点组或者所述次优目标节点组;
基于哈希算法从选择的所述最优目标节点组或者所述次优目标节点组中确定所述最终目标节点。
7.一种路由决策装置,应用于Master节点、互相通信的多个目标节点Wn和至少一个请求节点,n为大于等于1的正整数,其特征在于,所述装置包括:
目标节点指标获取单元,用于获取目标节点Wi在预定周期内的性能指标,所述性能指标包括:交易量、交易平均响应时间、交易异常量,其中,1≦i≦n,i为正整数;
目标节点路由权重确定单元,用于根据目标节点Wi的性能指标以及各指标权重确定目标节点Wi的路由权重;
请求节点指标获取单元,用于获取请求节点的交易指标;
最终目标节点确定单元,用于根据所述请求节点的交易指标和各目标节点的路由权重为该请求节点确定最终目标节点;
路由决策确定单元,用于根据所述最终目标节点确定路由决策。
8.根据权利要求7所述的装置,其特征在于,所述目标节点路由权重确定单元包括:
指标周期权重确定模块,用于根据目标节点Wi的性能指标以及各指标权重确定各指标周期权重;
目标节点路由权重确定模块,用于将各指标周期权重执行加操作确定目标节点Wi的路由权重。
9.根据权利要求7所述的装置,其特征在于,所述请求节点的交易指标包括:发送至目标节点Wi的交易量、以及与该目标节点Wi的通信失败率,
所述最终目标节点确定单元包括:
目标节点全局路由权重确定模块,用于根据所述请求节点的交易指标和各目标节点的路由权重确定各目标节点的全局路由权重;
最终目标节点确定模块,用于根据各目标节点的全局路由权重为该请求节点确定最终目标节点。
10.根据权利要求9所述的装置,其特征在于,所述目标节点全局路由权重确定模块包括:
请求节点交易指标权重确定子模块,用于根据所述请求节点的交易指标及其各指标权重确定该请求节点的交易指标权重;
目标节点全局路由权重确定子模块,用于将该请求节点的交易指标权重与所述目标节点Wi的路由权重执行加操作来确定所述目标节点Wi的全局路由权重。
11.根据权利要求10所述的装置,其特征在于,所述最终目标节点确定模块包括:
分组子模块,用于根据各目标节点的全局路由权重、基于预定分类规则对所述多个目标节点进行分组操作,得到最优目标节点组、次优目标节点组以及故障目标节点组;
最终目标节点确定子模块,用于从所述最优目标节点组和所述次优目标节点组中为该请求节点确定最终目标节点。
12.根据权利要求11所述的装置,其特征在于,所述最终目标节点确定子模块具体用于:
基于预定概率为所述请求节点选择所述最优目标节点组或者所述次优目标节点组;以及基于哈希算法从选择的所述最优目标节点组或者所述次优目标节点组中确定所述最终目标节点。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求1至6中任一项所述路由决策方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至6中任一项所述路由决策方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110996.7A CN111343266B (zh) | 2020-02-24 | 2020-02-24 | 路由决策方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010110996.7A CN111343266B (zh) | 2020-02-24 | 2020-02-24 | 路由决策方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111343266A CN111343266A (zh) | 2020-06-26 |
CN111343266B true CN111343266B (zh) | 2022-10-11 |
Family
ID=71181971
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010110996.7A Active CN111343266B (zh) | 2020-02-24 | 2020-02-24 | 路由决策方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343266B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2534793A2 (en) * | 2010-02-12 | 2012-12-19 | Tekelec, Inc. | Methods, systems and computer readable media for providing priority routing at a diameter node |
CN104080112A (zh) * | 2014-07-17 | 2014-10-01 | 重庆邮电大学 | 一种提高无线自组织网络业务可靠性的方法 |
CN105959219A (zh) * | 2016-06-14 | 2016-09-21 | 乐视控股(北京)有限公司 | 数据处理方法和装置 |
CN109831524A (zh) * | 2019-03-11 | 2019-05-31 | 平安科技(深圳)有限公司 | 一种负载均衡处理方法及装置 |
CN110119963A (zh) * | 2019-05-09 | 2019-08-13 | 湘潭大学 | 一种基于主从智能合约的微电网电能交易方法 |
CN110503551A (zh) * | 2019-08-02 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种网络资金交易渠道维护方法、装置和设备 |
CN110602156A (zh) * | 2019-03-11 | 2019-12-20 | 平安科技(深圳)有限公司 | 一种负载均衡调度方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6940832B2 (en) * | 2003-01-17 | 2005-09-06 | The Research Foundation Of The City University Of New York | Routing method for mobile infrastructureless network |
-
2020
- 2020-02-24 CN CN202010110996.7A patent/CN111343266B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2534793A2 (en) * | 2010-02-12 | 2012-12-19 | Tekelec, Inc. | Methods, systems and computer readable media for providing priority routing at a diameter node |
CN104080112A (zh) * | 2014-07-17 | 2014-10-01 | 重庆邮电大学 | 一种提高无线自组织网络业务可靠性的方法 |
CN105959219A (zh) * | 2016-06-14 | 2016-09-21 | 乐视控股(北京)有限公司 | 数据处理方法和装置 |
CN109831524A (zh) * | 2019-03-11 | 2019-05-31 | 平安科技(深圳)有限公司 | 一种负载均衡处理方法及装置 |
CN110602156A (zh) * | 2019-03-11 | 2019-12-20 | 平安科技(深圳)有限公司 | 一种负载均衡调度方法及装置 |
CN110119963A (zh) * | 2019-05-09 | 2019-08-13 | 湘潭大学 | 一种基于主从智能合约的微电网电能交易方法 |
CN110503551A (zh) * | 2019-08-02 | 2019-11-26 | 阿里巴巴集团控股有限公司 | 一种网络资金交易渠道维护方法、装置和设备 |
Non-Patent Citations (1)
Title |
---|
对等云中基于信任的多属性抉择资源定位算法;李文娟等;《系统工程理论与实践》;20160425(第04期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111343266A (zh) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sahoo et al. | ESMLB: Efficient switch migration-based load balancing for multicontroller SDN in IoT | |
US20230093389A1 (en) | Service request allocation method and apparatus, computer device, and storage medium | |
US7610425B2 (en) | Approach for managing interrupt load distribution | |
US10909018B2 (en) | System and method for end-to-end application root cause recommendation | |
CN105933408B (zh) | 一种Redis通用中间件的实现方法及装置 | |
EP2913756B1 (en) | Operation management apparatus and operation management method | |
CN108810115B (zh) | 一种适用于分布式数据库的负载均衡方法、装置及服务器 | |
US20120084788A1 (en) | Complex event distributing apparatus, complex event distributing method, and complex event distributing program | |
CN105515977B (zh) | 获取网络中传输路径的方法、装置和系统 | |
CN111698235B (zh) | 一种拟态dns防御系统控制单元中的异构体调度方法 | |
CN106681839B (zh) | 弹性计算动态分配方法 | |
Hou et al. | Dynamic workload balancing for hadoop mapreduce | |
CN113835823A (zh) | 资源调度方法和装置、电子设备、计算机可读存储介质 | |
CN111245924A (zh) | 负载均衡方法及装置、计算机存储介质 | |
CN111580959B (zh) | 一种数据写入方法、数据写入装置、服务器及存储介质 | |
CN106502790A (zh) | 一种基于数据分布的任务分配优化方法 | |
JP5957965B2 (ja) | 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム | |
JP7368143B2 (ja) | サービス配備制御システム、サービス配備制御方法及び記憶媒体 | |
Zhang et al. | Txallo: Dynamic transaction allocation in sharded blockchain systems | |
CN111343266B (zh) | 路由决策方法及装置 | |
Lakshmanan et al. | Placement of replicated tasks for distributed stream processing systems | |
CN107888517B (zh) | 一种为主机划域的方法及设备 | |
CN113342526A (zh) | 云计算移动网络资源动态管控方法、系统、终端及介质 | |
TW201627873A (zh) | 用於在分散式計算中處理重發請求的方法與設備 | |
CN117369941A (zh) | Pod调度方法和系统 |
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 |