服务承载网中服务定位和服务质量路由的集成方法

文档序号:7647264阅读:307来源:国知局
专利名称:服务承载网中服务定位和服务质量路由的集成方法
技术领域
服务承载网中服务定位和服务质量路由的集成方法属于互联网技术领域,尤其涉及服务定位和服务质量路由领域。
背景技术
当前Internet上有很多应用分散在Internet中不同地理位置的多个服务器副本上,这些服务器的副本能够提供相同的服务,或者含有同一类资源。典型的如分布式镜像系统,内容分发网络,域名服务系统,分布式文件系统/数据库等等,之所以设置同一个服务的多个服务器副本是出于提高服务的质量,增强容错性和负载平衡的考虑。但这同时给选择服务的用户提出了一个难题。
因此我们期望网络可以自己承担发现“最好”的服务这一任务,而不是由对网络没有太多认识的端系统在一系列服务列表中去无意识的选择;与此同时,特别地对于很多“数据提供型“的服务,用户希望服务发现后的服务提供也是有服务质量保证的。有关服务质量路由和服务发现的研究已经有很多,但是对如何将二者集成在一起的实践还很少。
因此本发明基于服务承载网络的架构,(它位于传输层和应用层之间,向下和底层网络融合;向上可以为应用提供支持服务质量路由,流量负载均衡等服务的接口。)关注于如何将服务定位引入服务承载网络中,并与服务质量路由集成的方法。

发明内容
本发明的目的在于提供一种服务承载网中服务定位和服务质量路由的集成方法。本发明的特征在于,所述的方法是在服务承载网络中进行的,服务承载网由网络管理员部署节点,节点间运行同一套协议交互节点及链路信息,最终形成一个位于传输网络之上的覆盖网络,服务器和客户机通过距离自己最近的服务承载网节点接入服务承载网。
依次含有以下步骤步骤1.服务器注册步骤1.1.服务器向本地的服务承载网节点(记作UNodeS)提出注册服务的申请,格式为(Service,Server_Load);步骤1.2.由UNodeS节点将此注册请求的源服务器IP地址和Service字段(Server_IP,Service)放入本地的服务信息表中;步骤1.3.对此本地的注册表项产生一个可在服务承载网络中唯一标识的注册消息(Service_ID,Server_Load),其中Service_ID由步骤1.2中表项的Service字段和本地服务承载网节点的节点号UNode_ID和Server_IP字段共同组成;步骤1.4.UNodeS根据hash(Service)得出服务承载网中负责此类服务的集中节点号(在服务承载网络中,每一类服务由一个集中节点管理);并向此集中节点发送步骤1.3中产生的(Service_ID,Server_Load)注册消息;步骤1.5.集中节点收到(Service_ID,Server_Load)的注册消息后,向其维护的服务器副本信息表中添加此注册消息;步骤2.服务的本地维护服务器周期性地(默认设置为60s)向本地UNodeS节点发送如步骤1.1中的注册消息,从而使本地节点得知接入服务器的活跃情况,若在连续的3个周期内没收到,则向此类服务的集中节点报告服务器不活跃,转至步骤3.3处理;步骤3.服务信息在集中节点的更新步骤3.1.服务器仅在检测到负载低于80%的情况下,才向服务覆盖网络汇报自己的负载信息,此信息由本地UNodeS节点转发至该服务的集中节点维护;步骤3.2.若集中节点收到负载变化的消息,则更新服务器副本信息表中的相应表项;步骤3.3.若集中节点收到服务器不活跃的消息,则删除服务器副本信息表中的相应表项;步骤4.客户端的请求和处理步骤4.1.客户端首先向接入的服务承载网络节点提出服务请求消息,格式为(Service,QoS);步骤4.2.收到请求的服务承载网络节点(记作UNodeC)同样根据hash(Service)得出服务承载网中负责此类服务的集中节点号,并向此集中节点发送(Service,QoS)请求;步骤4.3.收到请求的集中节点执行如下操作步骤4.3.1.查询服务器副本信息表各个表项中的UNodeS节点及其对应的Server_Load信息,记作l;步骤4.3.2.查询服务承载网的虚链路度量数据库,得到服务器副本信息表中各个表项中的UNodeS节点到UNodeC节点的延迟,记作d;步骤4.3.3.计算各UNodeS节点的 值,此值综合反映了服务器与客户端距离以及服务器处理能力,并得到按此值从大到小排列的UNodeS节点号的序列;步骤4.3.4.计算序列中第一个UNodeS节点到UNodeC节点之间是否有满足步骤4.2所述QoS约束的可行路径;步骤4.3.5.若计算存在可行路径,则向转发客户端申请的UNodeC节点发送请求成功的消息,并后续转发给客户端;并向此UNodeS节点发送此服务的可行路径消息,后续服务器的服务数据沿此路径发送给客户端;步骤4.3.6.若本次计算失败,则继续对序列中的后续节点执行步骤4.3.4.中的计算;步骤4.3.7.若对该序列前50%的节点计算都没有可行路径,则向转发用户申请的UNodeC节点发送请求失败的消息,并后续转发给客户端。
本发明所提出的服务承载网中服务定位和服务质量路由的集成方法解决了服务承载网中如何在服务发现的同时,找到多约束的服务路径的问题,这在以往的服务发现及服务质量路由的研究和实践中是没有涉及的。本发明的优点在于不需要对物理网络的现有设备作更改,可同时支持多种服务,客户端只需简单提出所需服务和服务质量需求即可,以优化用户的服务相应时间为目的,服务选择时兼顾网络延迟和服务器负载,模拟试验也证明了此服务器选择方法的高效性。


图1.服务承载网络模型图2.系统流程图;图3.不同服务器选择方法的性能比较△三角形线u=1/l○圆形线u=1/d*星形线u=1/(d+l)。
具体实施例方式
在本发明所述系统中,除了服务承载网络的每个节点都需要运行同一套基本的服务承载网络协议之外,服务器还需要运行服务注册和更新协议;客户端无需运行任何额外的协议,只需通过Web方式向服务承载网的接入节点提出服务申请即可。
将服务承载网络中的服务大体上分成两种“数据提供型”和“服务提供型”,其中对于前者,从服务器到客户端的数据传输量较大,对应于下载和在线播放等服务;后者的数据传输量较轻,对应于DNS解析等服务。不论对于这两大类服务中的哪种具体服务,服务的提供者可通过网站,电子邮件等方式使用户得知服务名称,以便用户提出服务请求。
服务承载网络对每一类服务设置有一个集中节点进行服务器的选择和服务路由的计算。一个服务器副本只有注册到该类服务的集中节点上,才可在服务承载网络中提供服务,具体有两个步骤(1)本地注册在此步骤中,服务承载网络的服务接入节点需要维护所有服务器(与服务类型无关)的接入信息,保存在下面的表中,在本地不保存服务器的负载信息,而将此信息转发给集中节点维护。因此承载网络中,服务的接入节点只需维护本地有那些服务器,各自能提供什么服务即可。在本地注册后,本地节点需要继续将信息注册到集中节点,因为在服务承载网络内部的通信是以每个服务承载网络节点的全局唯一的节点号为标识的,本地节点须将自己的节点号信息附加在注册信息中,发至集中节点;又考虑到本地可能存在多个能提供相同服务的服务器同时接入,因此还需要服务器的IP来标识;因此最终产生的在服务承载网络中标识服务的Service_ID由服务名称,提供此服务接入的服务承载网络的节点号UNodeS和服务器的IP地址共同构成。在本地节点和服务器的交互中,仅区分服务名称和服务器IP地址即可;而在本地节点和集中节点的交互中,仅区分服务名称和UNodeS节点号即可。
服务器本地的服务信息表中各列的含义

(2)向集中节点的注册在此步骤中,一类服务的唯一集中节点维护此类服务所有服务器副本的信息,根据服务承载网络自身提供的节点间的虚链路度量信息以及下表中的各个服务器副本的性能,来综合决定服务器副本的选择。这样作的目的是对用户请求服务的响应时间的综合考虑。如步骤4.3.3中,d刻画了服务承载网络内部的通信延迟;l刻画了服务器的处理延迟及其到接入节点之间的延迟,(这里认为客户端的接入节点到客户端的下行带宽不成为系统的瓶颈),如果仅以服务器的负载为依据,那么可能最终会选择一个负载较轻但是实际上距客户端很远的服务器,这不是我们想看到的。
特定服务集中节点所维护的服务器副本信息表中各列的含义

上面提到选择服务器时综合考虑了延迟和服务器负载的因素,在本系统中,服务器的负载是由服务承载网络中服务器的接入节点协助服务器来度量的,具体方法是将实时测量的服务器到其接入节点的己占用带宽Bused与此段链路的容量C相比,作为服务器的负载的衡量标准,取值在
之间。C是定值,而Bused=C-BAvailable得到,BAvailable是可用带宽,可通过PathChirp等工具测量得出。
集中节点的选择在对一类服务选择集中节点时,采取SHA-1散列算法,任意长度的服务名称经哈希函数计算得到固定长度(32比特)的散列值,即服务承载网络的节点号,将此节点作为此服务的集中节点。如对于服务名称为”ProviderA_CDN”,hash(‘ProviderA_CDN’)=111,则由服务承载网中节点号为’111’的节点作为此类服务的集中节点。
用户请求的QoS作为本发明背景的服务承载网络支持延迟,可用带宽,丢包率这三种度量的虚链路测量,因此这里限定用户的提出的服务质量约束限制在这三种以内,多约束的路由由集中节点计算,本系统采用源路由的策略,由集中节点根据本地维护的全网虚链路信息,计算一条从服务器接入节点到客户端接入节点的路径;并计算所得路径发送给服务器接入节点,按照此路径发送服务数据。
实验实验过程中服务承载网络同时承载5种服务,在不同的服务器选择方法下,考察每种方法的平均响应时间与用户请求到达的速率之间的关系。三种服务器的选择方法如下,分别选择u最大的服务器1)服务器的接入节点与客户端接入节点之间的延迟d,u=1/d;2)服务器的负载l,u=1/l;3)综合考虑服务器负载和网络延迟则,u=1/(d+l);
从图3可以看出,当请求的到达速率在网络所能承载的范围内时,平均响应时间的变化较缓和,而方法3)的性能明显高于以上两种方法;方案1)稍优于方案2),这也说明了为何不能选择距离上较远而负载较轻的服务器;当请求到达速率趋近于1时,导致网络的流量急剧上升,响应时间均趋于无群。
本方案采取了方法3)中的服务器选择方法,在选择最近的服务器的同时,兼顾服务器的负载平衡,使得系统对用户的响应时间保持在比较优的水平。
由此可见,本发明达到了预期目的。
权利要求
1.服务承载网中服务定位和服务质量路由的集成方法,其特征在于,所述的方法是在服务承载网络中依次按以下步骤进行的步骤1.初始化网络管理员在该服务承载网络中部署多个节点,使节点间运行同一套服务承载网协议,以交互节点及链路信息,形成一个位于传输网络和上层应用网络之间的服务承载网络,在所述各节点组成的服务承载网络中,服务器和客户机已各自通过距离自己最近的本地服务承载网络节点接入服务承载网络,各服务器运行服务注册和更新协议与本地承载网络节点交互;步骤2.服务器注册,依次含有以下步骤步骤2.1.服务器向本地的服务承载网节点UNodeS以(Service,Server_Load)的格式提出注册服务的申请,其中Service为该服务器所能提供的服务名称,Server_Load为该服务器的负载,同时提供该源服务器的IP地址Server_IP;步骤2.2.该UNodeS节点把收到的注册请求的源服务器IP地址和Service字段(Server_IP,Service)放入本地的服务信息表中;步骤2.3.该UNodeS节点对本地的注册表项中产生一个可在服务承载网络中唯一标识的注册消息(Service_ID,Server_Load),其中Service_ID由所述本地服务信息表项中的Service字段,本地服务承载网节点的节点号UNode_ID和Server_IP字段共同组成;服务器的负载Server_Load,记作l,是由服务承载网络中该服务器的接入节点UNodeS协助该服务器来度量的,即Server_Load的衡量标准为实时测量得到的该服务器到其接入节点的已占用带宽Bused与此段链路的容量C之比,取值在
之间;步骤2.4.该UNodeS根据hash(Service)得出服务承载网中负责此类服务的一个集中节点号,并向此集中节点发送步骤2.3中产生的(Service_ID,Server_Load)注册消息,其中所述的hash(Service)算法是SHA-1散列算法,利用该算法将任意长度的服务名称变换为32比特的散列值,即得到服务承载网络中该集中节点的节点号;步骤2.5.该集中节点收到步骤2.4中由UNodeS节点发出的注册消息后,向其维护的服务器副本信息表中添加此注册消息;步骤3.客户端的请求和处理,依次按下述步骤进行步骤3.1.客户端首先向接入的服务承载网络节点UNodeC提出服务请求消息,格式为(Service,QoS),其中QoS为客户提出的服务质量要求,至少应包含延迟,可用带宽和丢包率三种度量;步骤3.2.该UNodeC节点在收到步骤3.1中服务请求消息后,按步骤2.4所述的方法,同样根据hash(Service)得出服务承载网中负责此类服务的集中节点号,并向此集中节点发送(Service,QoS)请求;步骤3.3.步骤3.2中所述的集中节点收到所述(Service,QoS)请求后,按下述步骤执行步骤3.3.1.查询步骤2.5中所述的其所维护的服务器副本信息表中各个表项中的UNodeS节点及其对应的Server_Load信息;步骤3.3.2.查询服务承载网的虚链路度量数据库,得到步骤3.3.1中所述各UNodeS节点到客户端接入节点UNodeC之间的延迟,记作d;步骤3.3.3.计算各UNodeS节点的 值,此值综合反映了服务器与客户端距离以及服务器处理能力,并得到按此值从大到小排列的UNodeS节点号的序列;步骤3.3.4.计算步骤3.3.3所述节点序列中的第一个节点到UNodeC节点的路径,判断是否满足QoS约束的条件;步骤3.3.5.若步骤3.3.4计算出的是一条可行路径,则向转发客户端申请的UNodeC节点发送请求成功的消息,并后续转发给客户端;并向此UNodeS节点发送此服务的可行路径消息,后续服务器的服务数据沿此路径发送给客户端;步骤3.3.6.若步骤3.3.4计算失败,对步骤3.3.3所述的节点序列中的后续节点依次进行如步骤3.3.4的计算;步骤3.3.7.若步骤3.3.6中对步骤3.3.3所述序列的前50%的节点计算都没有可行路径,则向转发用户申请的UNodeC节点发送请求失败的消息,并后续转发给客户端。
2.根据权利要求1所述的服务承载网络中服务定位和服务质量路由的集成方法,其特征在于所述服务器周期性地向本地UNodeS节点发送注册消息,若本地UNodeS节点在连续3个周期内未收到注册消息,则向相应的此服务的集中节点报告服务器不活跃信息,该集中节点删除服务器副本信息表中的相应表项。
3.根据权利要求1所述,服务承载网络中服务定位和服务质量路由的集成方法,其特征在于服务器在检测到负载低于80%的情况下,才向服务承载网络汇报自己的负载信息,同时,本地UNodeS节点把此信息转发到相应的该服务的集中节点,集中节点收到负载更新消息后,根据负载信息的变化修改其所维护的服务器副本信息表中的相应表项。
全文摘要
本发明属于服务定位和服务质量路由技术领域,其特征在于,依次含有以下步骤服务器向最近的服务承载网络节点注册服务,提供服务器负载信息;服务器把本地注册信息递交此类服务的集中节点;用户向最近的服务承载网络节点提出某种服务的服务质量路由请求;集中节点根据用户请求查找服务器副本信息表;集中节点使用服务器选择算法计算最优的服务器副本,再利用QoS路由算法计算该副本到用户的路径。本发明可在服务发现的同时找到多约束下的服务路径,同时,服务选择兼顾了网络延迟和服务器负载,使系统对用户的响应时间保持在较优的水平。
文档编号H04L12/28GK101014046SQ20071006349
公开日2007年8月8日 申请日期2007年2月2日 优先权日2007年2月2日
发明者徐恪, 崔勇, 王青青 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1