一种服务提供方法、装置及系统制造方法及图纸

技术编号:28723015 阅读:29 留言:0更新日期:2021-06-06 04:39
本申请实施例提供一种服务提供方法、装置及系统,实现对服务接口组的注册,避免对不同服务提供实例提供的相同服务接口组的重复注册,减少注册实例的注册负载。该方案包括:注册实例接收第一服务提供实例发送的第一注册请求,该第一注册请求携带服务接口组的第一信息,服务接口组的第一信息用来代表所述多个服务接口;注册实例根据服务接口组的第一信息确定服务接口组是否注册;在服务接口组未注册情况下,注册实例根据服务接口组的第一信息,注册服务接口组以及第一服务提供实例。册服务接口组以及第一服务提供实例。册服务接口组以及第一服务提供实例。

【技术实现步骤摘要】
一种服务提供方法、装置及系统
[0001]本申请要求于2019年12月04日提交国家知识产权局、申请号为201911229983.5、专利技术名称为“一种服务注册的方法和系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。


[0002]本申请实施例涉及计算机领域,尤其涉及一种服务提供方法、装置及系统。

技术介绍

[0003]随着计算机技术的飞速发展,面向服务的框架应用而生。面向服务的框架从传统的垂直架构发展到了现在的分布式服务框架。分布式服务框架通常可以包含以下角色:提供服务的服务提供者、调用服务的服务消费者、以及注册中心。
[0004]当前,分布式服务框架的工作流程为:服务提供者在启动时向注册中心注册自己提供的服务;服务消费者在启动时向注册中心订阅自己所需的服务,注册中心向服务消费者返回可以提供其所需服务的服务提供者的服务地址列表,由服务消费者从服务地址列表中选一个服务地址对应的服务提供者进行服务调用。从该流程可知,注册中心是服务框架核心模块,它的性能也影响着整个服务框架的可用性以及稳定性。
[0005]当前,即使多个服务提供者提供相同的多个服务,每个服务提供者都需要向注册中心注册自己提供的每个服务。例如,假设有500个服务提供者提供相同的100个服务,每个服务提供者配置100个服务接口来提供各自的100个服务。这500个服务提供者的实例同时启动时会分别将各自的100个服务接口向注册中心进行注册,即注册中心需要同时处理5万个服务接口的注册。

技术实现思路

[0006]本申请提供一种服务提供方法和装置,实现以服务接口组为粒度进行注册来减少注册中心的注册负载。
[0007]为达到上述目的,本申请的实施例采用如下技术方案:
[0008]第一方面,提供一种服务提供方法,应用于服务提供系统中的注册实例,该服务提供系统包括注册实例和多个服务提供实例,每个服务提供实例具有相同的服务接口组,服务接口组包含多个服务接口。该方法可以包括:注册实例接收第一服务提供实例发送的第一注册请求,第一注册请求携带服务接口组的第一信息,服务接口组的第一信息用来代表多个服务接口;注册实例根据服务接口组的第一信息确定服务接口组是否注册;在服务接口组未注册情况下,注册实例根据服务接口组的第一信息,注册服务接口组以及第一服务提供实例。
[0009]通过本申请提供的服务提供方法,注册实例在接收到第一服务提供实例发送的注册请求时,先判断第一服务提供实例具有的服务接口组是否注册,在其未注册的情况下才进行注册,实现了对服务接口组的注册,也避免了对不同服务提供实例提供的相同服务接
口组的重复注册,减少了注册实例的注册负载。在注册实例的注册负载减少的情况下,注册实例不再是服务框架的瓶颈,也就降低注册实例的性能对服务框架的可用性与稳定性的影响。
[0010]其中,服务提供实例具有的服务接口组可以包含服务提供实例提供的服务接口,提供相同服务接口的服务提供实例具有相同的服务接口组。第一服务提供实例为服务提供系统中包括的任一个服务提供实例。
[0011]结合第一方面,在另一种可能的实现方式中,本申请提供的服务提供方法还可以包括:在服务接口组未注册情况下,注册实例向第一服务提供实例发送请求消息;注册实例接收第一服务提供实例根据该请求消息发送的所述服务接口组的第二信息。其中,服务接口组的第二信息包括每个服务接口的接口名和/或接口版本。其中,该请求消息用于从第一服务提供实例获取服务接口组的第二信息。在第一服务提供实例具有的服务接口组未注册的情况下,注册实例通过请求消息获取服务接口组的第二信息,以实现对服务接口组的注册。
[0012]结合第一方面,在一种可能的实现方式中,服务接口组的第一信息与第二信息相同,均为服务接口组的接口信息。该服务接口组的接口信息可以包括每个服务接口的接口名和/或接口版本。将服务接口组的接口信息作为第一信息,在第一服务提供实例具有的服务接口组未注册的情况下,可以减少注册实例与第一服务提供实例的交互次数,提高系统性能。
[0013]结合第一方面,在另一种可能的实现方式中,服务接口组的第一信息与第二信息可以不同,服务接口组的第一信息可以为服务接口组的接口信息根据预设算法得到的结果值;服务接口组的第二信息可以为服务接口组的接口信息。将服务接口组的第一信息与第二信息配置为不同信息,可以精简交互内容,降低注册实例与第一服务提供实例交互时的资源占用。
[0014]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,上述注册服务接口组以及第一服务提供实例,具体可以包括:注册实例建立第一映射关系,该第一映射关系包括服务接口组的标识与服务接口组包含的多个服务接口的映射关系;注册实例建立第二映射关系,该第二映射关系包括服务接口组的标识与包含服务接口组的第一服务提供实例的映射关系。通过第一映射关系将服务接口组与其包含的服务接口关联,通过第二映射关系将服务接口组与其相关的服务提供实例关联,在后续的服务接口组注册过程或服务请求过程中,可以通过映射关系获取对应内容,提高方案可行性及便捷性。
[0015]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,服务接口组的第一信息可以是根据该服务接口组的接口信息计算得到的哈希值或关联值。例如,根据该服务接口组包含的多个服务接口的接口信息计算得到的哈希值或关联值。提供了服务接口组的第一信息的一种可能实现,提高了本申请方案的可行性。
[0016]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,第一注册请求还可以包括第一服务提供实例的服务地址信息。本申请提供的服务提供方法还可以包括:将第一服务提供实例的服务地址信息写入存储设备中来与服务接口组对应,已完成在注册实例中记录第一服务提供实例与其具有的服务接口组的关联,用来在后续的服务请求过程中查询。
[0017]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,第一注册请求还可以包括第一服务提供实例的服务地址信息。本申请提供的服务提供方法还可以包括:周期性地将第一服务提供实例的服务地址信息写入存储设备中来与服务接口组对应,进一步减少注册实例对存储设备的访问频率。
[0018]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,本申请提供的服务提供方法还可以包括:注册实例向配置中心发送该注册实例的服务地址信息,用于服务提供实例实时获取注册实例的服务地址信息,便于服务提供实例选择注册实例发起注册。
[0019]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,本申请所称服务可以包括接口服务。
[0020]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,本申请提供的服务提供方法还可以包括:注册实例向第一服务提供实例发送注册成功消息。
[0021]结合第一方面或上述任一种可能的实现方式,在另一种可能的实现方式中,注册成功消息可以包括第一服务提供实例具有的服务接口组本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务提供方法,其特征在于,服务提供系统包括注册实例和多个服务提供实例,每个服务提供实例具有相同的服务接口组,所述服务接口组包含多个服务接口;所述方法包括:所述注册实例接收第一服务提供实例发送的第一注册请求,所述第一注册请求携带所述服务接口组的第一信息,所述服务接口组的第一信息用来代表所述多个服务接口;所述注册实例根据所述服务接口组的第一信息确定所述服务接口组是否注册;在所述服务接口组未注册情况下,所述注册实例根据所述服务接口组的第一信息,注册所述服务接口组以及所述第一服务提供实例。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:在所述服务接口组未注册情况下,所述注册实例向所述第一服务提供实例发送请求消息;所述注册实例接收所述第一服务提供实例根据所述请求消息发送的所述服务接口组的第二信息,其中,所述服务接口组的第二信息包括每个服务接口的接口名和/或接口版本。3.根据权利要求1或2所述的方法,其特征在于,所述注册所述服务接口组以及所述第一服务提供实例包括:所述注册实例建立第一映射关系,所述第一映射关系包括所述服务接口组的标识与所述服务接口组包含的多个服务接口的映射关系;所述注册实例建立第二映射关系,所述第二映射关系包括所述服务接口组的标识与包含所述服务接口组的第一服务提供实例的映射关系。4.根据权利要求1至3任一项所述的方法,其特征在于,所述服务接口组的第一信息是根据所述多个服务接口的信息计算得到的哈希值或关联值。5.一种服务提供方法,其特征在于,服务提供系统包括注册实例和多个服务提供实例,每个服务提供实例具有相同的服务接口组,所述服务接口组包含多个服务接口;所述方法包括:所述注册实例接收第一服务提供实例发送的第一注册请求,所述第一注册请求携带所述服务接口组的第一信息,所述服务接口组的第一信息用来代表所述多个服务接口;所述注册实例根据所述服务接口组的第一信息确定所述服务接口组是否注册;在所述服务接口组已注册情况下,所述注册实例向所述第一服务提供实例发送注册成功消息。6.根据权利要求5所述的方法,其特征在于,在发送所述注册成功消息之前,所述方法还包括:所述注册实例将所述第一服务提供实例添加到已经建立的所述服务接口组的映射关系中。7.根据权利要求5或6所述的方法,其特征在于,所述服务接口组的第一信息根据所述多个服务接口的信息计算得到哈希值或关联值。8.一种服务提供方法,其特征在于,服务提供系统包括注册实例和多个服务提供实例,每个服务提供实例具有相同的服务接口组,所述服务接口组包含多个服务接口;所述方法包括:
第一服务提供实例向所述注册实例发送第一注册请求,所述第一注册请求携带所述服务接口组的第一信息,所述服务接口组的第一信息用来代表所述多个服务接口;所述第一服务提供实例接收所述注册实例发送的注册成功消息,所述注册成功消息指示所述服务接口组以及所述第一服务提供实例已被成功注册。9.根据权利要求8所述的方法,其特征在于,所述方法包括:所述第一服务提供实例接收所述注册实例的请求消息;所述第一服务提供实例根据所述请求消息向所述注册实例发送所述服务接口组的第二信息,其中,所述服务接口组的第二信息包括每个服务接口的接口名和/或接口版本。10.根据权利要求8或9所述的方法,其特征在于,所述服务接口组的第一信息是根据所述多个服务接口的信息计算得到的哈希值或关联值。11.根据权利要求8至10任一项所述的方法,其特征在于,所述服务提供系统包括多个注册实例;所述方法包括:所述第一服务提供实例基于所述服务接口组的信息和所述多个注册实例的数量,从所述多个注册实例选择一个注册实例来发送所述第一注册请求。12.一种服务提供系统,其特征在于,所述服务提供系统包括注册实例和多个服务提供实例,每个服务提供实例具有相同的服务接口组,所述服务接口组包含多个服务接口;其中,第一服务提供实例,用于向所述注册实例发送第一注册请求,所述第一注册请求携带所述服务接口组的第一信息,所述服务接口组的第一信息用来代表所述多个服务接口;所述注册实例,用于接收所述第一服务提供实例发送的第一注册请求,根据所述服务接口组的第一信息确定所述服务接口组是否注册,在所述服务接口组未注册情况下,所述注册实例根据所述服务接口组的第一信息,注册所述服务接口组以及所述第一服务提供实例,向所述第一服务提供实例发送注册成功消息;所述第一服务提供实例,还用于接收所述注册实例发送的注册成功消息。13.根据权利要求12所述的系统,其特征在于,所述注册实例,用于在所述服务接口组未注册情况下向所述第一服务提供实例发送请求消息,接收所述第一服务提供实例根据所述请求消息发送的所述服务接口组的第二信息,其中,所述服务接口组的第二信息包括每个服务接口的接口名和/或接口版本;所述第一服务提供实例,用于接收所述请求消息,根据所述请求消息向所述注册实例发送所述服务接口组的第二信息。14.根据权利要求12或13所述的系统,其特征在于,所述注册实例,用于建立第一映射关系,所述第一映射关系包括所述服务接口组的标识与所述服务接口组包含的多个服务接口的映射关系;或者,所述注册实例,用于建立第二映射关系,所述第二映射关系包括所述服务接口组的标识与包含所述服务接口组的第一服务提供实例的映射关系。15.根据权利要求12至14任一项所述的系统,其特征在于,所述服务接口组的第一信息是根据所述多个服务接口的信息计算得到的哈希值或关联值。16.一种服务提供系统,其特征在于,所述服务提供系统包括注册实例和多个服务提供实例,每个服务提供实例具有相同的服务接口组,所述服务接口组包含多个服务接口...

【专利技术属性】
技术研发人员:姜宇孙宏伟张伟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1