一种s0a负载均衡装置及应用该装置的路由算法

文档序号:7815092阅读:476来源:国知局
一种s0a负载均衡装置及应用该装置的路由算法
【专利摘要】一种S0A负载均衡装置及应用该装置的路由算法,该装置由客户端、负载均衡器,接入服务器依序连接组成,负载均衡器有若干数量的节点服务器两两相互连接组成,接入服务器由若干数量的接入服务器组成,接入服务器彼此之间不相连,每个节点服务器都与所有的接入服务器连接。本发明能够保证当前请求能被转发到最优的节点服务器上,使得客户端获得最快的结果响应。
【专利说明】-种SOA负载均衡装置及应用该装置的路由算法

【技术领域】
[0001] 本发明针对面向服务的架构(Service-Oriented Architecture, S0A),解决节点 间服务查找的负载均衡问题,提出了的S0A负载均衡装置及应用该装置的路由算法。

【背景技术】
[0002] 面向服务的体系结构(S0A架构),是一个组件模型,它将应用程序的不同功能单元 (称为服务)通过这些服务之间定义良好的接口和契约联系起来。接口是采用中立的方式进 行定义的,它应该独立于实现服务的硬件平台、操作系统和编程语言。这使得构建在各种这 样的系统中的服务可以以一种统一和通用的方式进行交互。
[0003] 对S0A的需要来源于需要使业务IT系统变得更加灵活,以适应业务中的改变。 通过允许强定义的关系和依然灵活的特定实现,IT系统既可以利用现有系统的功能,又可 以准备在以后做一些改变来满足它们之间交互的需要。
[0004] 在面向服务架构大规模、高频率服务消费的环境中(如图1),服务查找变得很频 繁,如果只采用单一的服务查找服务器,显然已经不能满足查找效率上的需求。因此,在实 际运用中,服务查找功能单元需要由若干个服务器组成的分布式系统来实现,为了维护服 务注册表的数据一致性,服务查找服务器之间需要进行数据同步,而且这种同步应该是原 子性的,即每次对注册表的更改,要么同时被所有服务器所执行,要么都不执行。分布式服 务注册中心本质上是一个服务冗余的分布式环境,在该环境下也会衍生出对单一服务节点 请求过多的负载失衡的新问题,这不利于资源的优化利用和对业务的高效负载。


【发明内容】

[0005] 在S0A负载均衡设备中,提出了一种新的服务查找请求路由算法,该算法在查找 请求前期采用静态的哈希散列函数对请求进行定向,当客户的服务查找请求到达节点服务 器时,接收请求的节点服务器向其他节点服务器进行广播,获取每个节点服务器的当前负 载度进行综合度量,保证当前请求能被转发到最优的节点服务器(即负载度最小的节点服 务器)上,使得客户端获得最快的结果响应。
[0006] -种S0A负载均衡装置,该装置由客户端、负载均衡器,接入服务器依序连接组 成,负载均衡器有若干数量的节点服务器两两相互连接组成,接入服务器由若干数量的接 入服务器组成,接入服务器彼此之间不相连,每个节点服务器都与所有的接入服务器连接。
[0007] -种使用权利要求所述的一种S0A负载均衡装置的路由算法,步骤为: 1) 针对目标节点服务器集合,服务查找请求客户端采用散列函数选取节点服务器A, 然后向节点服务器A发出查找请求; 2) 如果节点服务器A上的等待作业队列长度为0,节点服务器A直接处理该服务查找 请求,把客户端的请求转移到接入服务器,并更新自身属性,算法结束,否则转到3); 3) 节点服务器A向其他节点服务器发出获取负载度的请求,并计算自身的负载度值, 最终节点服务器A得到整个装置中各个节点服务器当前负载度; 4) 节点服务器A如果是节点服务器负载度集合中的最小值,则节点服务器A处理查找 请求,把客户端的请求转移到接入服务器,并更新自身属性,算法结束,否则跳到5); 5) 节点服务器A将查找请求转发至当前负载度最小的节点服务器B,节点服务器B接 受请求并插入查找请求至自身的作业队列中,把客户端的请求转移到接入服务器,更新自 身属性,算法结束。
[0008] 本方法能够保证当前请求能被转发到最优的节点服务器(即负载度最小的节点服 务器)上,使得客户端获得最快的结果响应。

【专利附图】

【附图说明】
[0009] 图1是面向服务架构大规模、高频率服务消费的环境示意图; 图2是本系统的结构不意图; 图3是本发明算法模型示意图。

【具体实施方式】
[0010] 如图2,一种S0A负载均衡装置,该装置由客户端、负载均衡器,接入服务器依序连 接组成,负载均衡器有若干数量的节点服务器两两相互连接组成,接入服务器由若干数量 的接入服务器组成,接入服务器彼此之间不相连,每个节点服务器都与所有的接入服务器 连接。
[0011] 客户端随机选择一个节点服务器,由这个节点服务器负责计算,由哪个节点服务 器提供服务,被选择的节点服务器负责把客户端的请求转移到接入服务器,调用相关服务。
[0012] 二、S0A接入层完善 2. 1算法策略 在由若干个服务器组成的服务查找分布式系统中,每个服务器都可以看成是一个服务 节点,每个服务节点提供相同的服务,即接收来自客户端众多的服务查找请求,并希望该请 求被尽快地处理。从系统的整体查找结果吞吐率来讲,需要引入负载均衡机制去平均分配 众多的请求到每个节点服务器上。传统的负载均衡算法有静态调度和动态调度之分,静态 调度算法包括轮询算法、随机算法、加权轮询、加权随机等算法,一般采用哈希散列函数,以 每个请求的IP地址或其他头信息标志字段作为输入参数,并输出请求重定向的服务器信 息。该方法能保证每个服务节点的作业队列长度大致平均相等,即调度策略仅仅能在任务 数量的负载属性上进行均衡,而实际的节点服务器处理能力,不仅与自身承担的任务数相 关,还由自身硬件配置、网络带宽和时延等其他因素决定,因此静态调度策略不能保证每个 请求都被分配到当前最理想的节点上去。动态调度策略能实现对各服务器节点性能的实时 度量,传统的动态调度策略多采用集中式的决策节点对请求进行分流,决策节点负责收集 各服务节点的负载状况,并计算负载结果,把请求动态地分布到当前负载最轻的节点上去。 其不足是一旦决策节点崩溃,将导致整个系统的瘫痪,因此,请求分流决策应该分散在各 服务节点进行,并基于统一的模拟机制计算和搜集其他节点的负载度,以降低负载度量给 自身性能带来的压力。
[0013] 结合静态调度策略和动态调度策略,提出了一种新的服务查找请求路由算法,该 算法在查找请求前期采用静态的哈希散列函数对请求进行定向,当客户的服务查找请求到 达节点服务器时,接收请求的节点服务器向其他节点服务器进行广播,获取每个节点服务 器的负载度进行综合度量,保证当前请求能被转发到最优的节点服务器上,使得客户端获 得最快的结果响应。
[0014] 服务查找请求客户端在发出一个查找请求时,并不知道节点服务器集合的动态实 时信息,因此无法从一开始就基于负载对目标节点服务器进行决策,而只能采用静态算法 把请求散列到一个目标节点服务器,如果被散列到的目标节点服务器当前作业队列为空, 则直接执行该查找请求,并把结果反馈给客户端,否则需要在集合中进行广播获取各节点 服务器负载信息进行度量,并把请求转发到当前最优的节点服务器。散列函数的选择余地 较大,比较常用的有随机散列映射和轮询散列映射,本文采取随机散列映射,算法模型如图 3所示。
[0015] 2. 2算法步骤 在某个时刻,来自客户端的一个服务查找请求到达节点服务器集合,以当前服务请求 为输入,并把请求转发至当前系统中负载度最小的节点服务器,算法步骤如下: 1) 针对目标节点服务器集合,服务查找请求客户端采用散列函数选取节点服务器A, 然后向节点服务器A发出查找请求; 2) 如果节点服务器A上的等待作业队列长度为0,节点服务器A直接处理该服务查找 请求,把客户端的请求转移到接入服务器,并更新自身属性,算法结束,否则转到3); 3) 节点服务器A向其他节点服务器发出获取负载度的请求,并计算自身的负载度值, 最终节点服务器A得到整个装置中各个节点服务器当前负载度; 4) 节点服务器A如果是节点服务器负载度集合中的最小值,则节点服务器A处理查找 请求,把客户端的请求转移到接入服务器,并更新自身属性,算法结束,否则跳到5); 5) 节点服务器A将查找请求转发至当前负载度最小的节点服务器B,节点服务器B接 受请求并插入查找请求至自身的作业队列中,把客户端的请求转移到接入服务器,更新自 身属性,算法结束。
[0016] 2.3影响负载度因素 计算负载度的因素有自身承担的任务数,自身硬件配置、网络带宽和时延等。我们根据 这些条件,得出公式,采用模拟方法,得出公式中常量以及系数的值。通过多次模拟试验,构 建出尽量反应实际的适应当前条件的公式。
【权利要求】
1. 一种SOA负载均衡装置,其特征在于,该装置由客户端、负载均衡器,接入服务器依 序连接组成,负载均衡器有若干数量的节点服务器两两相互连接组成,接入服务器由若干 数量的接入服务器组成,接入服务器彼此之间不相连,每个节点服务器都与所有的接入服 务器连接。
2. -种使用权利要求1所述的一种S0A负载均衡装置的路由算法,其特征在于,步骤 为: 1) 针对目标节点服务器集合,服务查找请求客户端采用散列函数选取节点服务器A, 然后向节点服务器A发出查找请求; 2) 如果节点服务器A上的等待作业队列长度为0,节点服务器A直接处理该服务查找 请求,把客户端的请求转移到接入服务器,并更新自身属性,算法结束,否则转到3); 3) 节点服务器A向其他节点服务器发出获取负载度的请求,并计算自身的负载度值, 最终节点服务器A得到整个装置中各个节点服务器当前负载度; 4) 节点服务器A如果是节点服务器负载度集合中的最小值,则节点服务器A处理查找 请求,把客户端的请求转移到接入服务器,并更新自身属性,算法结束,否则跳到5); 5) 节点服务器A将查找请求转发至当前负载度最小的节点服务器B,节点服务器B接 受请求并插入查找请求至自身的作业队列中,把客户端的请求转移到接入服务器,更新自 身属性,算法结束。
【文档编号】H04L29/08GK104219325SQ201410489210
【公开日】2014年12月17日 申请日期:2014年9月23日 优先权日:2014年9月23日
【发明者】詹卫许, 于晓义, 董灿, 吴方权, 陈彬, 胡俊杨, 陈晓洪, 王乐东 申请人:中国南方电网有限责任公司, 云南云电同方科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1