服务控制方法、系统、计算机设备及存储介质技术方案

技术编号:38925238 阅读:15 留言:0更新日期:2023-09-25 09:33
本发明专利技术涉及服务管理领域,公开了一种服务控制方法、系统、计算机设备及存储介质,该方法包括:当业务服务上线时,通过通信协议和所述业务服务连接,并接受所述业务服务上传的服务信息;根据淘汰时间,为所述业务服务添加时间戳,并将所述业务服务依赖的其他服务的服务信息返回给所述业务服务;周期性监控所有上线的业务服务的心跳信息,根据所述时间戳确定所述业务服务是否在线,若在所述时间戳的时间内没有接收到所述业务服务的心跳信息,则确定所述业务服务离线。减少了服务控制所需的模块规模,使得服务控制更加简单,轻量化,部署简单且灵活高效。灵活高效。灵活高效。

【技术实现步骤摘要】
服务控制方法、系统、计算机设备及存储介质


[0001]本专利技术涉及服务管理领域,尤其涉及一种服务控制方法、系统、计算机设备及存储介质。

技术介绍

[0002]目前市场上的微服务系统如Dubbo、SpringCloud等都是大型的微服务系统,原理复杂臃肿组件众多,配置复杂,学习、应用、跨语言开发和应用部署难度高,对于拥有大量资源的大型公司互联网公司是合适的。但对于一些中小型公司,现有的微服务系统使用起来就非常的麻烦,需要维护众多组件,系统的开发以及运行和维护成本都居高,得不偿失。

技术实现思路

[0003]第一方面,本申请提供一种服务控制方法,包括:
[0004]当业务服务上线时,通过通信协议和所述业务服务连接,并接受所述业务服务上传的服务信息;
[0005]根据接收到的来自所述业务服务的心跳信息的时间,为所述业务服务更新时间戳,并将所述业务服务依赖的其他服务的服务信息返回给所述业务服务;
[0006]周期性监控所有上线的业务服务的心跳信息,根据所述时间戳确定所述业务服务是否在线,若在所述时间戳的时间内没有接收到所述业务服务的心跳信息,则确定所述业务服务离线。
[0007]进一步的,所述方法还包括:
[0008]当首次对任意一类业务服务进行检测时,若发现存在离线的子服务,则将所述子服务的离线信息剔除,并确认该类业务服务中的最大未过期时间,将所述最大未过期时间写入缓存;
[0009]当再次对该类业务服务进行检测时,确定所述业务服务缓存的最大未过期时间,根据所述最大未过期时间确定是否有业务服务离线。
[0010]进一步的,所述根据所述最大未过期时间确定是否有业务服务离线,包括:
[0011]若所述最大未过期时间对应业务服务未过期,则确认该类业务服务均未过期;
[0012]若所述最大未过期时间对应业务服务过期,则遍历该类业务服务,确定过期的业务服务,并更新最大未过期时间。
[0013]进一步的,所述方法还包括:
[0014]当任意业务服务发起依赖请求时,根据所述依赖请求中的请求信息,确定所述业务服务所请求的依赖服务;
[0015]检查所述依赖服务的时间戳,确定所述依赖服务是否过期,若过期则淘汰;
[0016]将所述业务服务请求的未被淘汰的所有依赖服务的实例信息发送给所述业务服务。
[0017]进一步的,所述方法还包括:
[0018]当任意业务服务被调用时,确定所述业务服务中各个子服务的权重;
[0019]生成随机数,根据各个所述子服务的权重和所述随机数,确定命中调用的子服务。
[0020]进一步的,所述方法还包括:若被调用的所述子服务失败,则重试并调用其他子服务;
[0021]将调用失败或响应时间超过预设阈值的子服务的权重降低;
[0022]若被调用的所述子服务响应速度大于所述子服务的权重所对应的响应阈值,则提高所述子服务的权重。
[0023]进一步的,所述心跳信息包括所述业务服务的IP、端口、权重、服务版本和服务名称。
[0024]第二方面,本申请还提供一种服务控制系统,包括:注册中心和业务服务端;
[0025]所述注册中心用于当所述业务服务端的业务服务上线时,通过通信协议和所述业务服务连接,并接受所述业务服务上传的服务信息;
[0026]所述业务服务上线后,所述注册中心还用于根据接收到的来自所述业务服务的心跳信息的时间,为所述业务服务更新时间戳,并将所述业务服务依赖的其他服务的服务信息返回给所述业务服务;
[0027]所述注册中心还用于周期性监控所有上线的业务服务的心跳信息,根据所述时间戳确定所述业务服务是否在线,若在所述时间戳的时间内没有接收到所述业务服务的心跳信息,则确定所述业务服务离线。
[0028]第三方面,本申请还提供一种计算机设备,包括处理器和存储器,所述存储器存储有计算机程序,所述计算机程序在所述处理器上运行时执行所述的服务控制方法。
[0029]第四方面,本申请还提供一种可读存储介质,其存储有计算机程序,所述计算机程序在处理器上运行时执行所述的服务控制方法。
[0030]本专利技术公开了一种服务控制方法、系统、计算机设备及存储介质,该方法包括:当业务服务上线时,通过通信协议和所述业务服务连接,并接受所述业务服务上传的服务信息;根据淘汰时间,为所述业务服务添加时间戳,并将所述业务服务依赖的其他服务的服务信息返回给所述业务服务;周期性监控所有上线的业务服务的心跳信息,根据所述时间戳确定所述业务服务是否在线,若在所述时间戳的时间内没有接收到所述业务服务的心跳信息,则确定所述业务服务离线。减少了服务控制所需的模块规模,使得服务控制更加简单,轻量化。在应用开发上,只需简单的部署和集成本专利技术,就可以得到一个拥有灵活高效、跨语言、部署简单、服务自适应、熔断等特性的分布式微服务系统。
附图说明
[0031]为了更清楚地说明本专利技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对本专利技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
[0032]图1示出了本申请实施例一种微服务系统结构示意图;
[0033]图2示出了本申请实施例一种服务控制方法流程示意图;
[0034]图3示出了本申请实施例一种服务控制队列示意图。
具体实施方式
[0035]下面将结合本专利技术实施例中附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。
[0036]通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0037]在下文中,可在本专利技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
[0038]此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0039]除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本专利技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关
中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本专利技术的各种实施例中被清楚地限定。
[0040]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种服务控制方法,其特征在于,包括:当业务服务上线时,通过通信协议和所述业务服务连接,并接受所述业务服务上传的服务信息;根据接收到的来自所述业务服务的心跳信息的时间,为所述业务服务更新时间戳,并将所述业务服务的依赖服务的服务信息返回给所述业务服务;周期性监控所有上线的业务服务的心跳信息,根据所述时间戳确定所述业务服务是否在线,若在所述时间戳的时间内没有接收到所述业务服务的心跳信息,则确定所述业务服务离线。2.根据权利要求1所述的服务控制方法,其特征在于,还包括:当首次对任意一类业务服务进行检测时,若发现存在离线的子服务,则将离线的所述子服务的信息剔除,并确认该类业务服务中的最大未过期时间,将所述最大未过期时间写入缓存;当再次对该类业务服务进行检测时,确定所述业务服务缓存的最大未过期时间,根据所述最大未过期时间确定是否有业务服务离线。3.根据权利要求2所述的服务控制方法,其特征在于,所述根据所述最大未过期时间确定是否有业务服务离线,包括:若所述最大未过期时间对应业务服务未过期,则确认该类业务服务均未过期;若所述最大未过期时间对应业务服务过期,则遍历该类业务服务,确定过期的业务服务,并更新最大未过期时间。4.根据权利要求1所述的服务控制方法,其特征在于,还包括:当任意业务服务发起依赖请求时,根据所述依赖请求中的请求信息,确定所述业务服务所请求的依赖服务;检查所述依赖服务的时间戳,确定所述依赖服务是否过期,若过期则淘汰;将所述业务服务请求的未被淘汰的所有依赖服务的实例信息发送给所述业务服务。5.根据权利要求1所述的服务控制方法,其特征...

【专利技术属性】
技术研发人员:刘俊熊伟
申请(专利权)人:上海三旺奇通信息科技有限公司
类型:发明
国别省市:

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

1