一种集群环境下基于代理的动态服务调用方法

文档序号:8546220阅读:218来源:国知局
一种集群环境下基于代理的动态服务调用方法
【技术领域】
[0001]本发明涉及互联网技术领域,特别是一种集群环境下基于代理的动态服务调用方法。
【背景技术】
[0002]随着互联网技术的迅猛发展,业务需求的千变万化,特别是在集群环境下,各种类型业务服务相互交织,无形中就给开发人员增加了开发难度,给系统的维护和运营增加了成本。
[0003]中国发明专利申请CN 1870562A公开了一种动态Web服务调用方法,包括:Web服务请求者构建Web服务请求,改请求中包括了请求者定制的调用标准;Web服务请求者将所述Web服务请求发送给服务代理;以及服务代理根据所述Web服务请求,找到和调用满足该调用标准的候选Web服务实现,并将最佳的调用结果以及用于标识该次服务请求的回话标识返回给请求者。

【发明内容】

[0004]本发明需要解决的技术问题提供一种集群环境下基于代理来动态调用服务的方法。
[0005]为解决上述的技术问题,本发明一种集群环境下基于代理的动态服务调用方法,包括以下步骤,
[0006]代理服务启动,代理服务通过对外服务注册接口提供对外服务注册,同时通过服务调用接口提供服务调用;
[0007]当代理服务监听到有新服务向通过对外服务注册接口注册时,首先创建服务映射表,然后将新注册的服务信息存储到服务映射表中;
[0008]当有业务请求向代理服务请求业务服务时,代理服务接收服务请求后,解析业务请求得到请求参数,然后根据请求参数在服务映射表中查找符合相应请求参数的业务服务;
[0009]判断是否找到匹配业务服务,如果否,则进入错误处理;如果是,代理服务根据服务映射表选取的业务服务传递给相应的业务请求。
[0010]进一步的,当代理服务监听到有新服务向通过对外服务注册接口注册时,先判断注册是否成功,如果注册成功,则创建服务映射表;如果注册不成功,则进行服务注册失败处理。
[0011]进一步的,当代理服务接收服务请求后,代理服务先验证该服务请求是否合法,合法则进入代理服务,不合法则进入错误处理。
[0012]进一步的,代理服务有服务失效处理,每当有业务请求代理服务时,代理服务会过滤掉失效的服务,以轮询的方式来选取其他正常的业务服务来完成业务请求。
[0013]进一步的,代理服务负责均衡合理分配,代理服务将所有的业务请求按负载均衡的策略分配到每个活跃的服务。
[0014]采用上述方法后,它完全通过统一的代理入口来选取集群环境中服务,开发人员不再关心该调用哪个服务、如何调用,也不必知道服务内部的处理流程,对于他们也来说整个服务调用模块都是透明的,他们只要在各自的程序中设置好代理入口和所需调用服务的类型,代理就可以给他们选取有效的、稳定的、准确的服务来给他们调用,降低业务开发难度和维护成本。
【附图说明】
[0015]下面将结合附图和【具体实施方式】对本作进一步详细的说明。
[0016]图1为本发明一种集群环境下基于代理的动态服务调用方法的结构框图。
[0017]图2为本发明一种集群环境下基于代理的动态服务调用方法的流程图。
【具体实施方式】
[0018]如图1和图2所示,本发明一种集群环境下基于代理的动态服务调用方法,包括以下步骤,
[0019]代理服务启动,代理服务通过对外服务注册接口提供对外服务注册,同时通过服务调用接口提供服务调用。此步骤中代理服务提供的队伍服务注册和服务调用时同时进行的,一方面通过对外服务注册接口监听是否有新服务向他发送注册请求,一方面通过服务调用接口提供监听是否有业务请求。
[0020]当代理服务监听到有新服务向通过对外服务注册接口注册时,先判断注册是否成功,如果注册成功,则首先创建服务映射表,然后将新注册的服务信息存储到服务映射表中;如果注册不成功,则进行服务注册失败处理。
[0021]当有业务请求向代理服务请求业务服务时,代理服务接收服务请求后,代理服务先验证该服务请求是否合法,合法则进入代理服务,不合法则进入错误处理。服务模块有服务失效处理,每当有业务请求代理服务时,代理服务会过滤掉失效的服务,以轮询的方式来选取其他正常的业务服务来完成业务请求,这样可以保证代理服务可靠稳定。
[0022]当验证业务请求合法后,相关的代理服务包括解析业务请求得到请求参数,然后根据请求参数在服务映射表中查找符合相应请求参数的业务服务。负责均衡合理分配,代理服务将所有的业务请求按负载均衡的策略分配到每个活跃的服务,这样能使每个业务服务能最大化的被利用,不会造成资源浪费。最后判断是否找到匹配业务服务,如果否,则进入错误处理;如果是,代理服务根据服务映射表选取的业务服务传递给相应的业务请求。
[0023]本发明服务和业务模块分离,降低开发难度和维护成本,对于开发业务的人员来说,所有的业务服务都是透明的,他们只需知道代理服务的IP和所需调用业务服务的类型名称,而业务服务开发人员只关注自己的服务,所有的服务都统一向代理服务注册,所有的操作都由代理服务分配执行
[0024]虽然以上描述了本发明的【具体实施方式】,但是本领域熟练技术人员应当理解,这些仅是举例说明,可以对本实施方式作出多种变更或修改,而不背离发明的原理和实质,本发明的保护范围仅由所附权利要求书限定。
【主权项】
1.一种集群环境下基于代理的动态服务调用方法,其特征在于,包括以下步骤: 代理服务启动,代理服务通过对外服务注册接口提供对外服务注册,同时通过服务调用接口提供服务调用; 当代理服务监听到有新服务向通过对外服务注册接口注册时,首先创建服务映射表,然后将新注册的服务信息存储到服务映射表中; 当有业务请求向代理服务请求业务服务时,代理服务接收服务请求后,解析业务请求得到请求参数,然后根据请求参数在服务映射表中查找符合相应请求参数的业务服务; 判断是否找到匹配业务服务,如果否,则进入错误处理;如果是,代理服务根据服务映射表选取的业务服务传递给相应的业务请求。
2.按照权利要求1所述的一种集群环境下基于代理的动态服务调用方法,其特征在于,当代理服务监听到有新服务向通过对外服务注册接口注册时,先判断注册是否成功,如果注册成功,则创建服务映射表;如果注册不成功,则进行服务注册失败处理。
3.按照权利要求1所述的一种集群环境下基于代理的动态服务调用方法,其特征在于,当代理服务接收服务请求后,代理服务先验证该服务请求是否合法,合法则进入代理服务,不合法则进入错误处理。
4.按照权利要求1所述的一种集群环境下基于代理的动态服务调用方法,其特征在于,代理服务有服务失效处理,每当有业务请求代理服务时,代理服务会过滤掉失效的服务,以轮询的方式来选取其他正常的业务服务来完成业务请求。
5.按照权利要求1所述的一种集群环境下基于代理的动态服务调用方法,其特征在于,代理服务负责均衡合理分配,代理服务将所有的业务请求按负载均衡的策略分配到每个活跃的服务。
【专利摘要】本发明涉及互联网技术领域,特别是一种集群环境下基于代理的动态服务调用方法,代理服务启动,代理服务通过对外服务注册接口提供对外服务注册,同时通过服务调用接口提供服务调用;当代理服务监听到有新服务向通过对外服务注册接口注册时,首先创建服务映射表,然后将新注册的服务信息存储到服务映射表中;当有业务请求向代理服务请求业务服务时,代理服务接收服务请求后,解析业务请求得到请求参数,然后根据请求参数在服务映射表中查找符合相应请求参数的业务服务;判断是否找到匹配业务服务,如果否,则进入错误处理;如果是,代理服务根据服务映射表选取的业务服务传递给相应的业务请求。采用上述方法,降低业务开发难度和维护成本。
【IPC分类】H04L29-08
【公开号】CN104869163
【申请号】CN201510273777
【发明人】罗俭
【申请人】湖南傻蛋科技有限公司
【公开日】2015年8月26日
【申请日】2015年5月26日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1