一种面向服务网络的服务交换机及服务网络系统的制作方法

文档序号:17071400发布日期:2019-03-08 23:21阅读:173来源:国知局
一种面向服务网络的服务交换机及服务网络系统的制作方法

本发明应用于服务计算领域,具体涉及一种面向服务网络的服务交换机,还涉及一种包括该服务交换机的服务网络系统。



背景技术:

面向服务的架构(service-orientedarchitecture,soa)的提出是在企业计算领域,就是要将紧耦合的系统,划分为面向业务的,粗粒度,松耦合,无状态的服务。服务发布出来供其他服务调用,一组互相依赖的服务就构成了soa系统。

soa所提供的服务着眼于完整的业务,服务的粒度虽然相对粗放但是更加重视可重用性,由soa架构中的原子服务集成可以形成具备各种功能的服务,用于提高服务效率,而在屏蔽了技术细节的同时保证了soa下的各系统之间相对松散的联系,系统之间通过服务这个概念来相互交流。

在企业的实际场景中,则有着esb总线的架构来保证企业内部各系统之间的相互交互。但是以企业为主体,由于企业内部的并发量一般不会很大,因此服务基本会运行在一个单一的系统之中,这给企业之间的服务开放和相互交流带来了很大的难度。尤其是在跨界服务融合运行时面临的高维异构、复杂动态、开放分布等挑战的时候,各个企业连接成为一个庞大的服务网络,这其中的网络流量和并发量以及复杂度都将大大提高,这给单一系统的运行带来了极大的阻力,即单一系统已经完全不能满足当下的需求。

而微服务框架则提出将系统分割成为更细化的小系统,每个系统有自己独立的架构,那么各个服务运行自己的web容器中,当需要增加计算能力的时候,只需要增加这个子系统或服务的实例就好了,当升级的时候,可以不影响别的子系统。这种组织方式大体上就被称作微服务架构,存储方式也由集中存储转变成为分布式的存储方式。

但是微服务框架下对单个子系统并没有明确的定义方式,各个单个系统之间异构性很高,子系统接入到服务总线的时候也会带来接口不统一,接入方式不同等各个问题。

传统的服务运行与管理环境主要针对同构和共域的服务,可以通过soa和微服务来解决,但是针对于分布于整个网络的跨界服务的治理和聚合还没有解决方案。



技术实现要素:

针对高维异构、复杂动态、开放分布的跨界服务,本发明提出了一种面向服务网络的服务交换机,目的在于实现企业内部高异构化服务的统一接入服务网络,提供服务注册和调用统一流程,实现服务开放和服务发现等功能,并为服务提供身份认证,保证服务调用和通信的安全性。为整个服务网络实现服务统一管理、服务交互提供基础。

为实现上述发明的,本发明提供以下技术方案:

一种面向服务网络的服务交换机,包括:

服务注册和查询中心,用于向服务路由器提交注册信息,将与服务交换机连接的企业内部服务对外开放,还用于服务调用,即向服务路由器提交调用请求,并接受服务路由器基于调用请求反馈的相关服务信息;

服务管控中心,用于处理服务调用、服务注册、服务申请以及服务之间的信息交互事件,并给出相应反馈;

安全把控中心,用于提供服务交换机和服务路由器之间通信的角色控制,还用于提供服务交换机之间代理的通信加密和通信拦截;

服务映射表,用于提供服务的映射关系,以保证异构服务的统一使用和管理分布式异构服务。

针对跨界服务运行时呈现高维异构、复杂动态、开放分布的特点,本发明提出了一种服务网络的概念,将分布式环境下的复杂服务集成形成一个网络。本发明提出的服务交换机就是服务网络中一个重要节点,突破性地解决了以企业为主体,以服务为载体的复杂网络环境下的服务集成与交互问题。服务交换机作为服务网络中的重要节点,承载了服务注册、服务调用的统一流程,实现服务开放和服务发现等相关功能,同时为服务提供统一的身份认证流程,为保证服务调用和通信的安全性。

优选地,所述服务管控中心invoker还用于为服务之间的信息交互提供流量控制。具体地,所述流量控制的策略为:

采用轮询的方式进行服务负载均衡管理和流量控制,即定时对服务负载均衡池中的服务进行查询,删除无用服务,更新负载均衡池。

其中,所述安全把控中心包括:

超级管理员角色,控制整个服务交换机,浏览服务交换机的服务任务,申请服务,申请外部应用以及配置服务管理策略;

企业用户角色,受超级管理员控制实现服务申请和服务调用。

服务交换机中的提供服务交换的访问控制和角色控制保障服务交换过程中的网络安全。

具体地,所述服务交换机的服务调度过程为:

服务交换机对服务调用请求的响应分为高优先级响应队列qupper和低优先级响应队列qlower;

对于服务请求队列r={r1,r2,…,rn},若判断当前请求ri所对应的服务存在于当前交换机的服务缓存m中,则将ri置入高优先级响应队列qupper,如果对应服务不存在于服务缓存m中,则置入低优先级响应队列qlower;

服务的优先级通过服务优先级函数f确定,具体形式如下:

f=v*β+u*(1-β)

其中,β为权重因子,β∈[0,1],v为服务的预期收益,u为服务的紧急程度,具体地,

其中,w为服务调用价格,tsuccess为服务平均成功响应时间,terror为服务平均失败响应时间,wave为服务的平均收益;

其中,twait为服务已经等待的时间,tave为服务预期响应时间,可由历史记录得到,p为人工特权级别,∝为权重因子,∝∈[0,1]。

上述服务交换机的标准化的服务调度优化了服务交换机内部的服务管理方案,提高服务交换效率。

上述服务交换机能够实现异构服务的统一化,以统一底层高异构化的服务以及实现服务动态更新和服务版本控制,具体过程为:

服务通过事件的方式挂载到服务映射表,由服务管控中心提供映射策略,将异构化的服务映射到服务映射表,而多个版本的服务细节被隐藏,对外部提供统一的调用接口,可以由用户自主配置策略或由服务管控中心提供智能策略,实现服务的无缝更新与高度统一的调用方式。

一种服务网络系统,包括服务消费者、与服务消费者通信的服务路由器,还包括上述的服务交换机,该服务交换机与服务路由器和/或服务消费者通信。

具体地,服务交换机、服务路由器以及服务消费者三者的服务交互流程为:

服务交换机通过同步提交请求和异步反馈的方式将服务注册到服务路由器,以将服务开放到服务网络中,具体地,服务交换机向服务路由器提交服务注册请求,包括服务描述信息、服务接口地址、服务开放能力,将企业内部的服务注册到服务路由器,以向整个服务网络开放。

服务消费者通过同步请求和异步反馈的方式接收服务路由器反馈的服务调用地址,具体地,服务消费者向服务路由器提交服务调用请求,可以通过直接请求特定服务的方式,也可以通过模糊提出服务需求的方式,由服务路由器进行自主选择最优服务,服务路由器向服务消费者反馈服务接口地址;

服务消费者根据接收的服务调用地址以异步请求的方式接收服务调用地址对应的服务交换机反馈的服务信息。

上述的服务消费者可以是服务交换机或与服务交换机连接的企业,且服务网络系统提供了一种标准化的服务流程,以快速地解决跨界服务异构化问题。

本发明的有益效果为:

服务交换机作为企业节点,接入到服务网路中,为企业用户提供统一化的服务开放、服务注册、服务管理平台,且通过服务交换机和服务路由器的共同协作,实时选取服务的最优路径,提高整个服务网络的运作效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动前提下,还可以根据这些附图获得其他附图。

图1是实施例提供的服务交换机的结构示意图;

图2是图1所示服务交换机的务交互流程图;

图3是图1所示安全把控中心的结构示意图;

图4是图1所示服务交换机的异构服务核心方法说明图;

图5是图1所示服务交换机的服务调度流程图;

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。

在不同网络环境组成的服务网络中,某服务企业通过服务交换机与多个服务路由器进行信息交互,再通过服务路由器实现与服务消费者的通信。因此,服务交换机是企业服务的入口,一个企业使用一个交换机,其作用是开放企业内部服务和申请外部企业服务,服务交换机代表企业成为服务网络中的节点。

为实现上述功能,本实施例提供了如图1所示的服务交换机,其具体包括服务注册和查询中心registry、服务管控中心invoker、安全把控中心auth、服务映射表mapping。其中:

服务注册和查询中心registry主要包括两部分功能,一部分用于向服务路由器提交注册信息,将企业内部的服务对外开放;另一部分用于服务调用,即向服务路由器提交调用请求,并接受服务路由器反馈的相关服务信息。

具体的服务交互流程如图2所示,服务交换机与服务路由器以及服务消费者的交互过程为:

a,服务交换机通过提供服务描述信息、服务开放能力、服务接口具体地址的形式向服务路由器节点注册当前服务交换机的服务,该操作是同步进行的,服务交换机必须接收到服务路由器节点显示的回复才代表着服务注册成功,拥有向服务网络开放服务的权利。

b,服务消费者通过显示地请求特定服务或者模糊地提出服务需求,来向服务路由器节点发送服务请求,该操作是同步进行的,这里的同步进行的具体解释为:服务网络中存在以服务路由器节点为中心节点的众多网络结构,服务交换机节点围绕服务交换机节点进行组织,服务交换机在向服务路由器节点发送请求的操作是同步的,即多个服务交换机节点发送服务请求的操作是并行进行的。

但是由于分布式环境下的环境复杂度较高,服务调用请求并发量很大,因此服务路由器节点对服务消费者的反馈是异步进行的,这里的异步进行的具体解释为:服务消费者向服务路由器节点发送服务请求,但是由于网络拥堵或当前服务调用请求过多,服务路由器节点无法实时地对服务请求进行反馈,而是将服务请求放入当前服务路由器节点中的服务请求队列,同时向服务消费者即服务交换机节点发送服务请求正在处理过程中的实时反馈,待服务请求处理完毕,服务路由器节点向服务消费者反馈服务调用地址。服务路由器节点同时配置服务调用的路由信息,但是这个信息是隐藏的,即对服务消费者是透明的,服务消费者通过服务调用地址发起服务调用,服务调用的路由信息由服务路由器保存。

当服务消费者发送服务请求时,意味着服务消费者对该服务进行了订阅操作,服务路由器节点接受服务交换机节点的更新信息,可以对服务路由器节点的服务信息进行实时更新,同时通过推送消息的方式通知服务消费者。

c,服务消费者通过服务路由器节点反馈的服务调用地址向服务交换机节点发送服务调用请求,由于网络并发度极高,为保证负载均衡,该请求是异步进行的,服务交换机节点接收到服务调用请求之后,通过服务路由器节点提供的智能路由信息反馈服务信息到服务消费者。

所谓服务路由器节点的智能路由信息指的是:在服务网络高异构化的环境下,某一个服务的路由信息不是一成不变的,而是由服务路由器根据当前网络环境进行动态配置,选择最佳路由进行服务调用。在服务节点a和服务节点b产生服务调用关系时,会发生两种不同的情况:

(1)节点a和节点b处在同一服务路由器节点管理下,此时,服务路由器节点承担双方信息发送的控制方,即控制节点信息何时发送,以何种形式进行交互,由于节点a和节点b处在同一网络环境下,可以直接通过服务路由器进行消息转发,从而完成服务调用。

(2)节点a和节点b处在不同网络下,即由不同的服务路由器节点控制,此时两个服务路由器节点不仅承担控制方的作用,同时也承担服务代理的作用,节点a的服务请求经过节点a所处的服务路由器的服务代理发送往节点b所处的服务路由器节点,其中的路由相关信息,由节点a、b所处的服务路由器进行调度和配置,经过代理之后的服务调用在节点a所处的网络和节点b所处的网络中发生。

d,服务交换机节点作为企业主体,也可以向服务路由器节点发送服务请求,希望调用服务网络中其他服务交换机节点开放的服务,经过同步发送服务请求之后,服务路由器节点异步反馈服务地址和服务信息,由于这一步骤是由服务路由器节点主导的,因此服务交换机节点无需知晓服务网络中的路由情况和路由方法。

服务管控中心invoker负责处理服务调用、服务注册、服务申请、服务之间的信息交互等异步发生的事件,并给出相应的反馈,同时,还为服务注册、服务调用、服务申请、服务之间的信息交互提供服务策略支持。

服务管控中心invoker提供的具体的服务策略支持包括:

(1)服务注册策略配置,当服务注册到服务路由器节点时,由invoker进行统一管理,用户可支持的策略配置为服务注册到服务路由器节点的对外开放方式,是否允许服务路由器节点进行代理,以及在本服务交换机节点的映射表中服务被映射到哪个表项中,服务管控中心invoker进行合理性检查并将相关信息发送至服务路由器节点。

(2)服务调用策略,当当前服务交换机节点进行服务调用的时候,可配置的策略为服务调用是否允许服务路由器进行代理,服务调用是否有版本需求,服务调用是否优先选取本网络内的服务等。配置信息同样通过invoker打包发送至服务路由器节点。

其中,服务管控中心invoker可以感知整个服务交换机内部的所有服务,并提供手动和自动两种方式实现策略配置。

服务管控中心invoker还可以为服务之间的信息交互提供流量控制。这样做的目的是为了解耦流量管理和服务的基础设置管理。由于异构的服务以及服务的不同版本被挂载在映射表的同一表项下,在进行服务调用的时候使用统一的接口去调用服务,而不需要知道服务底层的具体差异。通过服务管控中心invoker进行策略配置,可以感知服务的不同版本,从而实现流量管理。

流量管理指服务交换机节点中的服务管控中心invoker会维护一个当前整个网络的负载均衡信息,检查网络中的负载均衡池,定期进行负载均衡检查,即时删除不健康的服务实例,如当前服务调用发生多次服务调用超时情况,在这种情况下,服务调用请求将被终止,并从当前服务调用队列删除,同时更新服务调用的负载均衡池。对于本实施例服务交换机节点,采用轮询的方式进行服务负载均衡管理和流量控制,即定时对服务负载均衡池中的服务进行查询,删除无用服务,更新负载均衡池。

安全把控中心auth主要负责实现服务之间通信的安全性,主要包括提供服务交换机和服务路由器之间通信的角色控制、提供服务交换机之间代理的通信加密和通信拦截,以保证服务网络的安全性和协调性。具体地,如图3所示:

针对服务交换机和服务路由器之间通信的角色控制具体包括:

(1)超级管理员:超级管理员可以控制整个服务交换机,浏览本机上的各项服务,同时可以进行申请服务、申请外部应用以及配置服务管理策略等,拥有最高权限;

(2)企业用户:由超级管理员赋予特定权限,可以拥有一定的权限,如服务的调用和申请;

角色控制通过安全把控中心auth的服务注册策略配置和服务交换机外层的拦截器实现,拦截器可以拦截和转发特定通信消息。安全把控中心auth全权控制拦截器,针对拦截器进行策略配置,包括对消息来源身份验证,对消息的准确性进行验证,对消息数据包的包头信息进行安全监测。

针对服务交换机之间代理的通信加密和通信拦截,服务交换机在实现服务代理以及和服务路由器进行交互的过程中,安全把控中心auth提供一对互相认证的证书以实现双向加密。安全把控中心auth负责证书的发放和回收,当服务交换机执行代理或者和服务路由器进行数据交换时,需要请求把控中心auth发放证书,安全把控中心auth经过验证发放证书,只有持有证书的通信过程才被允许,通信结束之后,由安全把控中心auth负责回收证书。

服务映射表mapping主要负责在分布式松散存储的环境下实现服务的映射关系,保证异构服务的统一使用和管理分布式异构服务。

在映射过程中,如图4所示,多个异构的同类服务被挂载在映射表的一个表项下,在服务调用过程中使用统一的接口进行调用管理,由服务管控中心invoker提供策略支持。

在服务发生版本更新或者增删改查的情况下,无需修改调用服务的接口,只需要将新增的服务挂载到已有的服务映射表内,或根据规则创建新的映射关系。而服务版本发生更新的时候只需要将服务的新版本挂载在原有版本的映射表项下,并通过事件event的形式通知服务管控中心invoker,使服务管控中心invoker感知到服务并配置策略。而服务在删除的过程中,需要服务管控中心invoker的配合,如果现有表项下还挂载有其他服务,则不需要对服务映射表做出增删,只需要在服务管控中心invoker做出配置策略的更改,如果现有表项下仅有该服务挂载,在进行服务删除的时候需要同时删除映射表项和告知服务管控中心invoker。

基于上述服务交换机,服务调度的具体方法为:

定义r为服务请求队列,rn为服务队列中的服务调用请求,即

r={r1,r2,...,rn}

定义c为服务交换机处理的最大容量,即服务交换机支持的服务请求最大数量;

定义m为服务缓存单元,即当前服务交换机中的服务缓存;

还定义了一系列调度函数所需的参数:v表示服务的预期收益,u表示服务的紧急程度;

服务交换机对服务调用请求的响应分为高优先级响应队列qupper和低优先级响应队列qlower;

对于服务请求队列,若判断当前请求ri所对应的服务存在于当前交换机的服务缓存m中,则将ri置入高优先级响应队列qupper,如果对应服务不存在于服务缓存m中,则置入低优先级响应队列qlower;

服务的优先级通过服务优先级函数f确定,f是一个与服务的预期收益v和服务的紧急程度u相关的函数表达,具体形式如下:

f=v*β+u*(1-β)

其中,β为权重因子,β∈[0,1];

服务的预期收益v即为服务交换机响应该服务预期得到的收益。服务的预期收益v与服务调用价格w、服务成功响应时间、服务失败响应时间相关。由于在服务调用发生前无法得知服务成功和失败的响应时间,因此需要通过历史服务调用信息,来获取服务平均成功响应时间tsuccess、服务平均失败响应时间terror、以及服务的平均收益wave,则服务的预期收益v可以定义如下:

u表示服务的紧迫程度,服务紧迫程度代表了用户对于当前服务的渴望程度,并可以通过人工特权级别p进行调节,设置服务紧迫程度这一参数的目的是为了在服务自动调度机制的基础上加强一定的人工管理,如某个服务在用户眼中的重要程度非常之高,就可以通过人工特权级别p对服务队列进行改动,以达到优先响应的目的。在这里我们使用高响应比的计算方法同时添加人工特权级别的影响,其定义为:

其中,twait为服务已经等待的时间,tave为服务预期响应时间,可由历史记录得到,p为人工特权级别,∝为权重因子,∝∈[0,1]。

应用时,根据服务的优先级在高优先级队列中依次执行服务调动,然后再在低优先级队列中依次执行服务调动。

由于使用缓存,服务调度总是从高优先级队列中优先级别最高的服务开始调用,这样很容易发生低优先级队列中的服务调用请求发生饥饿现象,因此需要一个从低优先级队列到高优先级队列进行转移的过程,保证服务调用请求不会发生饥饿现象。因此本实施例规定,当低优先级队列中服务优先级别最高服务所对应的优先级大于缓存中最近最长时间未被使用的服务时间时,将低优先级队列中的服务调用请求转移进入高优先级队列,同时替换缓存。整个服务调度流程如图5所示。

本实施例提供的服务交换机作为企业节点,接入到服务网路中,为企业用户提供统一化的服务开放、服务注册、服务管理平台,且通过服务交换机和服务路由器的共同协作,实时选取服务的最优路径,提高整个服务网络的运作效率。

以上所述的具体实施方式对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的最优选实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1