一种基于服务目录代理服务化和计分板方法的服务治理方法技术

技术编号:31789717 阅读:12 留言:0更新日期:2022-01-08 10:47
本发明专利技术公开了一种基于服务目录代理服务化和计分板方法的服务治理方法,包括:在每个机器内部署能够被访问使用的服务目录代理服务,利用服务目录代理服务建立机器与服务目录的访问连接;基于建立的访问连接,进行服务注册、应用注册和服务寻址;基于建立的访问连接,采用计分板方法进行服务信息变更通知,其中,采用计分板方法进行服务信息变更通知包括:在应用或服务访问其他服务时,利用应用或服务所在机器内的服务目录代理服务记录访问信息,并将访问信息发送至服务目录进行存储,基于服务目录存储的访问信息,结合可靠通知机制,进行服务信息可靠变更通知。本发明专利技术能避免需要与服务目录建立大量的查询连接,降低服务目录的查询和变更推送压力。询和变更推送压力。询和变更推送压力。

【技术实现步骤摘要】
一种基于服务目录代理服务化和计分板方法的服务治理方法


[0001]本专利技术涉及计算机
,具体涉及机动环境下大型软件系统可靠性和可用性设计,更具体地涉及一种基于服务目录代理服务化和计分板方法的服务治理方法。

技术介绍

[0002]当前各个领域的软件朝着服务化的方向发展,尤其是对于机动环境下大型的军事信息系统来说,软件服务化面临的各方面的挑战更多。在软件服务化下,应用对服务的访问,以及服务和服务之间的访问是一个研究重点,对于大型软件系统来说,往往需要先将服务地址等元数据注册到服务目录上,应用或者其他服务通过嵌入服务目录代理发起对服务目录的访问从而获取需要访问的服务地址等元数据。同时,由于在机动环境下,存在大量连接、网络抖动等情况,对整个软件系统的可用性和可靠性造成了较大影响。
[0003]现有的大型软件系统中,每个应用和每个服务中均嵌入一个服务目录代理,服务目录代理会建立一个对服务目录的访问连接,每个应用和每个服务中嵌入的服务目录代理通常采用长轮询或者长连接的方法查询服务目录上的地址变更,无论地址是否变更,该长轮询或者长连接会一直存在,若有变更则返回变更信息,若无变更则定时返回无变更信号并发起新的查询,此时会对机动环境下的大型软件系统中的服务目录造成极大的查询压力,影响软件系统的性能。除了长连接/长轮询外,目前也存在通过服务目录广播服务实例变更通知的方法,此时无论应用和服务是否需要访问变更的服务实例,均会收到变更通知,这对网络的要求较高,不适用于网络不稳定的机动环境下的大型软件系统。并且,每个应用和每个服务中嵌入的服务目录代理均需具有客户端负载均衡功能,导致应用和服务的规模和支持成本增加。
[0004]此外,在机动环境下,极易发生网络抖动甚至中断的情况,若每一个服务中均嵌入服务目录代理,并通过长连接或者长轮询的方式和服务目录之间建立联系,在机动环境下服务目录所在的服务器网络异常并恢复后,极易发生所有客户端同时重新连接服务目录的情况,造成连接风暴,直接导致服务目录服务端异常。

技术实现思路

[0005]为解决上述现有技术中存在的部分或全部技术问题,本专利技术提供一种基于服务目录代理服务化和计分板方法的服务治理方法。
[0006]本专利技术的技术方案如下:
[0007]提供了一种基于服务目录代理服务化和计分板方法的服务治理方法,所述方法包括:
[0008]在每个机器内部署服务目录代理服务,利用服务目录代理服务建立每个机器与服务目录的访问连接,基于建立的访问连接,进行服务注册、应用注册和服务寻址,其中,服务目录代理服务被配置为能够被同一机器内的所有应用和所有服务访问使用,服务目录代理服务配置有对外访问端口,服务目录能够通过对外访问端口与服务目录代理服务互相访
问,其中,机器包括物理机和/或虚拟机;
[0009]基于建立的访问连接,采用计分板方法进行服务信息变更通知,其中,采用计分板方法进行服务信息变更通知包括:在应用或服务访问其他服务时,利用应用或服务所在机器内的服务目录代理服务记录访问信息,并将访问信息发送至服务目录进行存储,基于服务目录存储的访问信息,结合可靠通知机制,进行服务信息可靠变更通知,其中,访问信息包括进行访问的应用名或服务名、以及被访问的服务名。
[0010]在一些可能的实现方式中,所述进行服务注册,包括:
[0011]将待注册服务的服务名和端口信息发送至同一机器内的服务目录代理服务;
[0012]利用服务目录代理服务将接收到的服务名和端口信息、以及本机IP地址发送至服务目录;
[0013]利用服务目录接收并记录服务目录代理服务发送的服务名、端口信息和本机IP地址。
[0014]在一些可能的实现方式中,所述进行应用注册,包括:
[0015]将待注册应用的应用名发送至同一机器内的服务目录代理服务;
[0016]利用服务目录代理服务将接收到的应用名、以及本机IP地址发送至服务目录;
[0017]利用服务目录接收并记录服务目录代理服务发送的应用名和本机IP地址。
[0018]在一些可能的实现方式中,所述进行服务寻址,包括:
[0019]利用访问者向同一机器内的服务目录代理服务发送寻址请求,其中,访问者为需要访问服务的应用或服务,寻址请求包括被访问服务的服务名和负载均衡方法;
[0020]若服务目录代理服务存储有被访问服务的服务实例地址,则利用服务目录代理服务以寻址请求中指定的负载均衡方法从被访问服务的所有服务实例地址中选择出一个服务实例地址返回至访问者;
[0021]若服务目录代理服务未存储被访问服务的服务实例地址,则利用服务目录代理服务访问服务目录,获取并存储被访问服务的所有服务实例地址,利用服务目录代理服务以寻址请求中指定的负载均衡方法从被访问服务的所有服务实例地址中选择出一个服务实例地址返回至访问者;
[0022]根据访问者接收到的服务实例地址,利用访问者对服务发送访问并获取访问结果。
[0023]在一些可能的实现方式中,所述进行服务寻址,还包括:
[0024]在访问者向服务目录代理服务发送寻址请求的同时,利用访问者向服务目录代理服务发送自身的服务名或应用名。
[0025]在一些可能的实现方式中,所述方法还包括:基于建立的每个机器与服务目录的访问连接,进行服务目录代理服务和服务实例的心跳状态控制。
[0026]在一些可能的实现方式中,所述进行服务目录代理服务和服务实例的心跳状态控制,包括:
[0027]利用服务目录代理服务以第一预设时间间隔向服务目录发送心跳状态信息;
[0028]利用服务实例以第二预设时间间隔向同一机器内的服务目录代理服务发送心跳状态信息;
[0029]若服务目录代理服务在第三预设时间内没有接收到同一机器内的服务实例发送
的心跳状态信息,则利用服务目录代理服务通知服务目录将对应的服务实例设置为假删除状态,其中,假删除状态表示服务实例地址仍存储于服务目录,但无法被其他应用和服务访问;
[0030]若服务目录在第四预设时间内没有接收到服务目录代理服务发送的心跳状态信息,则将服务目录上对应的服务目录代理服务设置为假删除状态;
[0031]在服务目录将服务实例设置为假删除状态后,若服务目录代理服务再次接收到对应的服务实例发送的心跳状态信息,则利用服务目录代理服务通知服务目录将对应的服务实例由假删除状态设置为正常状态,其中,正常状态表示服务实例地址存储于服务目录,且允许其他应用和服务访问;
[0032]在服务目录将服务目录代理服务设置为假删除状态后,若服务目录再次接收到对应的服务目录代理服务发送的心跳状态信息,则将服务目录上对应的服务目录代理服务由假删除状态设置为正常状态。
[0033]在一些可能的实现方式中,基于建立的访问连接,采用计分板方法进行服务信息变更通知,还包括:
[0034]在利用服务目录代理服务记录访问信息时,若服务目录代理服务已存储有相同的访问信息本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于服务目录代理服务化和计分板方法的服务治理方法,其特征在于,所述方法包括:在每个机器内部署服务目录代理服务,利用服务目录代理服务建立每个机器与服务目录的访问连接,基于建立的访问连接,进行服务注册、应用注册和服务寻址,其中,服务目录代理服务被配置为能够被同一机器内的所有应用和所有服务访问使用,服务目录代理服务配置有对外访问端口,服务目录能够通过对外访问端口与服务目录代理服务互相访问,其中,机器包括物理机和/或虚拟机;基于建立的访问连接,采用计分板方法进行服务信息变更通知,其中,采用计分板方法进行服务信息变更通知包括:在应用或服务访问其他服务时,利用应用或服务所在机器内的服务目录代理服务记录访问信息,并将访问信息发送至服务目录进行存储,基于服务目录存储的访问信息,结合可靠通知机制,进行服务信息可靠变更通知,其中,访问信息包括进行访问的应用名或服务名、以及被访问的服务名。2.根据权利要求1所述的基于服务目录代理服务化和计分板方法的服务治理方法,其特征在于,所述进行服务注册,包括:将待注册服务的服务名和端口信息发送至同一机器内的服务目录代理服务;利用服务目录代理服务将接收到的服务名和端口信息、以及本机IP地址发送至服务目录;利用服务目录接收并记录服务目录代理服务发送的服务名、端口信息和本机IP地址。3.根据权利要求2所述的基于服务目录代理服务化和计分板方法的服务治理方法,其特征在于,所述进行应用注册,包括:将待注册应用的应用名发送至同一机器内的服务目录代理服务;利用服务目录代理服务将接收到的应用名、以及本机IP地址发送至服务目录;利用服务目录接收并记录服务目录代理服务发送的应用名和本机IP地址。4.根据权利要求3所述的基于服务目录代理服务化和计分板方法的服务治理方法,其特征在于,所述进行服务寻址,包括:利用访问者向同一机器内的服务目录代理服务发送寻址请求,其中,访问者为需要访问服务的应用或服务,寻址请求包括被访问服务的服务名和负载均衡方法;若服务目录代理服务存储有被访问服务的服务实例地址,则利用服务目录代理服务以寻址请求中指定的负载均衡方法从被访问服务的所有服务实例地址中选择出一个服务实例地址返回至访问者;若服务目录代理服务未存储被访问服务的服务实例地址,则利用服务目录代理服务访问服务目录,获取并存储被访问服务的所有服务实例地址,利用服务目录代理服务以寻址请求中指定的负载均衡方法从被访问服务的所有服务实例地址中选择出一个服务实例地址返回至访问者;根据访问者接收到的服务实例地址,利用访问者对服务发送访问并获取访问结果。5.根据权利要求4所述的基于服务目录代理服务化和计分板方法的服务治理方法,其特征在于,所述进行服务寻址,还包括:在访问者向服务目录代理服务发送寻址请求的同时,利用访问者向服务目录代理服务发送自身的服务名或应用名。
6.根据权利要求1至5中任一项所述的基于服务目录代理服务化和计分板方法的服务治理方法,其特征在于,还包括:基于建立的每个机器与服务目录的访问连接,进行服务目录代理服务和服务实例的心跳状态控制。7.根据权利要求6所述的基于服务目录代理服务化和计分板方法的服务治理方法,其特征在于,所述进行服务目录代理服务和服务实例的心跳状态控制,包括:利用服务目录代理服务以第一预设时间间隔向服务目录发送心跳状态信息;利用服务实例以第二预设时间间隔向同一机器内的服务目录代理服务发送心跳状态信息;若服务...

【专利技术属性】
技术研发人员:杨超刘必欣刘丽刘巍李华莹张旭锋
申请(专利权)人:中国人民解放军军事科学院战争研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1