一种微服务的服务目录生成方法及装置与流程

文档序号:32986014发布日期:2023-01-17 22:45阅读:12来源:国知局
一种微服务的服务目录生成方法及装置与流程

1.本技术涉及计算机技术领域,特别是涉及一种微服务的服务目录生成方法及装置。


背景技术:

2.微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。随着企业数字化业务的高速发展,大量的微服务应用被开发、部署在企业内部。其中部分微服务应用的可复用性高,即被多个领域重复应用,导致部分微服务应用被多个企业重复开发。现有技术中的使微服务应用实现重复利用的方法是将微服务应用封装成开发工具包,上传到工具库,用户在进行新产品开发时可根据需求自行引用。现有技术中的微服务应用重复利用方法存在两个方面的技术问题:首先,使用方法复杂,服务提供者不仅需要打包封装功能代码,还需要提供完整的接口文档,用户复用前需要查看大量的工具包接口文档,才能获取想要的信息;其次,不同的开发语言和开发框架之间很难进行功能的复用。即现有技术中的微服务应用重复利用的方法存在使用方法复杂和不同的开发语言和开发框架之间难以复用的技术问题,而本技术提供了一种微服务的服务目录生成方法及装置在实现微服务应用重复利用的同时,使用方法便捷且不存在不同开发语言与开发框架之间的隔离。


技术实现要素:

3.本技术实施例的目的在于提供一种微服务的服务目录生成方法及装置,解决了现有技术中微服务应用重复利用方法存在的使用方法复杂和不同的开发语言和开发框架之间难以复用的技术问题。具体技术方案如下:
4.在本技术实施的第一方面,首先提供了一种微服务的服务目录生成方法,所述方法包括:通过扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;基于微服务实例的地址信息,向微服务实例发送访问请求,以获取微服务实例的应用程序接口的信息;对应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息;基于标准化应用程序接口的信息生成服务目录。
5.在本技术实施的第二方面,还提供了一种微服务的服务目录生成装置,所述装置包括:第一处理模块,用于通过扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;第二处理模块,用于基于微服务实例的地址信息,向微服务实例发送访问请求,以获取微服务实例的应用程序接口的信息;第三处理模块,用于对应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息;生成模块,用于基于标准化应用程序接口的信息生成服务目录。
6.在本技术实施的第三方面,还提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;存储器,用于存放计算机程序;处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方
法步骤。
7.在本技术实施的第四方面,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的微服务的服务目录生成方法。
8.本技术实施例提供的微服务的服务目录生成方法及装置,通过通过扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;基于微服务实例的地址信息,向微服务实例发送访问请求,以获取微服务实例的应用程序接口的信息;对应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息;基于标准化应用程序接口的信息生成服务目录;也就是说,通过服务注册中心对已经开发的微服务形成服务目录,提供已有的微服务,从而解决了现有技术中微服务应用重复利用方法的使用方法复杂和不同的开发语言和开发框架之间难以复用的技术问题。
附图说明
9.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
10.图1为本技术实施例中微服务的服务目录生成方法流程图之一;
11.图2为本技术实施例中微服务的服务目录生成方法流程图之二;
12.图3为本技术实施例中微服务的服务目录生成方法流程图之三;
13.图4为本技术实施例中微服务的服务目录生成方法流程图之四;
14.图5为本技术实施例中微服务的服务目录生成方法流程图之五;
15.图6为本技术实施例中微服务的服务目录生成方法流程图之六;
16.图7为本技术实施例中微服务的服务目录生成方法一示范例流程图;
17.图8为本技术实施例中微服务的服务目录生成装置结构示意图之一;
18.图9为本技术实施例中微服务的服务目录生成装置结构示意图之二;
19.图10为本技术实施例中微服务的服务目录生成装置结构示意图之三;
20.图11为本技术实施例中微服务的服务目录生成装置结构示意图之四;
21.图12为本技术实施例中微服务的服务目录生成装置结构示意图之五;
22.图13为本技术实施例中微服务的服务目录生成装置结构示意图之六;
23.图14为本技术实施例中电子设备的结构示意图。
具体实施方式
24.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述地实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
25.在后续的描述中,使用用于表示元件的诸如“模块”、“单元”的后缀仅为了有利于本技术的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
26.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行描述。本技术实施例提供了一种微服务的服务目录生成方法,如图1所示,该方法包括以下步骤:
27.步骤102:通过扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;
28.其中,需要说明的是,集群由一组相互独立、通过高速网络互联的计算机组成,集群通过单一系统的模式对计算机加以管理;对集群进行配置的目的在于提高可用性和可缩放性;服务注册中心用于提供集群中微服务实例的地址列表;微服务是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成,一个微服务是一种小而独立的处理过程,能够自行单独启动或销毁,并具备独立的数据库;微服务实例即一个具体的微服务;集群中包括至少一个服务注册中心和一个应用程序接口(application programming interface,缩写为api)网关;在两个相互独立的局域网之间通过路由器进行通信时,中间的路由被称之为网关;在获取服务注册中心的微服务实例的地址信息之前,还包括:微服务实例在服务注册中心进行注册时,将微服务实例的地址信息发送至服务注册中心,以使服务注册中心将微服务实例的地址信息保存至数据库的地址列表。
29.步骤104:基于微服务实例的地址信息,向微服务实例发送访问请求,以获取微服务实例的应用程序接口的信息;
30.其中,需要说明的是,api网关用于获取微服务实例api的信息,微服务实例具备向api网关发送api的信息,并处理api网关发送的请求信息并进行响应的功能。
31.步骤106:对应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息;
32.其中,需要说明的是,标准化处理包括对api的信息进行筛选、分组、整理、格式化、整合。
33.步骤108:基于标准化应用程序接口的信息生成服务目录。
34.其中,需要说明的是,在一示范例中,微服务实例通过swagger组件获取api的信息,根据表现层状态转化(representational state transfer,缩写为restful)风格对api进行筛选、分组、整理和格式化;其中,swagger是一个规范和完整的框架,用于生成、描述、调用和可视化restful风格的web服务;restful是指一种网络应用程序的设计风格和开发方式,适用于移动互联网厂商作为业务接口的场景,实现第三方互联网公司越过运营商(over the top,缩写为ott)调用移动网络资源的功能,动作类型为新增、变更、删除所调用资源。
35.通过本技术实施例的上述步骤102至步骤108,通过扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;基于微服务实例的地址信息,向微服务实例发送访问请求,以获取微服务实例的应用程序接口的信息;对应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息;基于标准化应用程序接口的信息生成服务目录;也就是说,通过服务注册中心对已经开发的微服务形成服务目录,提供已有的微服务,从而解决了现有技术中微服务应用重复利用方法存在的使用方法复杂和不同的开发语言和开发框架之间难以复用的技术问题。
36.在本技术实施例的可选实施方式中,本技术步骤108中涉及到的基于标准化应用程序接口的信息生成服务目录,如图2所示,包括:
37.步骤202:将标准化应用程序接口的信息保存至应用程序接口列表;其中,标准化
应用程序接口的信息包括标准化应用程序接口的地址信息、标准化应用程序接口的接口描述信息、标准化应用程序接口的请求参数、标准化应用程序接口的响应信息;
38.步骤204:将标准化应用程序接口的地址信息输出至统一的全球广域网页面,生成服务目录。
39.其中,需要说明的是统一的全球广域网(web)页面为服务目录面向用户侧的可视化界面,用户可以通过web页面对api进行检索、调试和调用。
40.可见,本技术实施例提供的微服务的服务目录生成方法可以为用户提供一个web页面进行检索、调试和调用,使用便捷且不存在不同开发语言与开发框架之间的隔离。
41.本技术实施例提供的微服务的服务目录生成方法,如图3所示,在步骤204涉及到的将标准化应用程序接口的地址信息输出至统一的全球广域网页面,生成服务目录之后,包括:
42.步骤302:获取基于服务目录发送的检索请求;
43.其中,需要说明的是,基于服务目录进行检索的目的是快速定位目标api服务;在一示范例中,服务目录包含10个api服务,其中有9个api服务带有标签a,1个api服务带有标签b,通过检索b可以快速定位到带有标签b的api服务。
44.步骤304:响应于检索请求,从应用程序接口列表中获取检索内容,其中,检索内容包括与目标标准化应用程序接口关联的信息;
45.其中,需要说明的是,检索内容包括api服务的技术协议、api服务的属性信息,属性信息包括api的名称、api服务的功能、api服务所属的领域。
46.步骤306:将检索内容输出至服务目录。
47.可见,本技术实施例提供的微服务的服务目录生成方法基于服务目录进行检索可以快速定位目标api服务。
48.本技术实施例提供的微服务的服务目录生成方法,如图4所示,在步骤204涉及到的将标准化应用程序接口的地址信息输出至统一的全球广域网页面,生成服务目录之后,包括:
49.步骤402:获取基于服务目录发送的调试请求,其中,调试请求包括调试内容;
50.其中,需要说明的是,调试目的在于验证服务目录返回信息的能力;调试请求中的调试内容基于用户需求确定,可以是一组数据,也可以是文字信息。
51.步骤404:根据与调试请求关联的应用程序接口的地址信息确定对应的微服务实例;
52.步骤406:将调试请求发送至微服务实例;
53.步骤408:接收微服务实例响应于调试请求的响应信息,并将响应信息输入至服务目录所在的全球广域网页面以确定响应信息中所携带的内容是否与调试内容匹配。
54.其中,需要说明的是,在一示范例中,针对天气微服务实例进行调试,调试请求中的调试内容为城市名,响应信息为城市名对应的当日天气信息,在本示范例中基于服务目录发送的调试请求中的调试内容为“昆明”,响应信息为“昆明今日天气晴朗,最高温30℃,最低温25℃”则确定响应信息中所携带的内容与调试内容匹配,响应信息为“长沙今日天气阴,最高温40℃,最低温36℃”则确定响应信息中所携带的内容与调试内容不匹配。
55.可见,本技术实施例提供的微服务的服务目录生成方法通过调试可以验证服务目
录返回信息的能力。
56.本技术实施例提供的微服务的服务目录生成方法,如图5所示,在步骤204涉及到的将标准化应用程序接口的地址信息输出至统一的全球广域网页面,生成服务目录之后,包括:
57.步骤502:将与标准化应用程序接口关联的应用录入到服务目录中的全球广域网页面中;
58.其中,需要说明的是,应用是指需要借助于平台提供给用户使用的软件。
59.步骤504:将应用与标准化应用程序接口进行绑定,得到绑定信息;
60.步骤506:将绑定信息保存至绑定列表,并向应用分配身份识别密钥;其中,绑定列表中的标准化应用程序接口被授权允许应用调用。
61.其中,需要说明的是,服务目录使运行在kubernetes集群中的应用程序可以轻松使用外部托管软件产品,提供列表清单、提供(provision)和绑定(binding)来自服务代理(service brokers)的外部托管服务,而不需要关心如何创建或管理这些服务的详细情况。因此,服务目录为一种无形资产,应用只有得到身份识别密钥才可以对相应的标准化应用程序接口进行调用,在一示范例中,服务目录中有100个api服务,在绑定列表中x应用被授权允许调用服务目录中的第1个和第2个api服务,在应用调用服务目录中的第1个api服务时调用成功,在应用调用服务目录中的第3个api服务时由于未得到授权而调用失败。
62.可见,本技术实施例提供的微服务的服务目录生成方法可以对应用可以调用的api服务进行管理,从而实现对服务目录的保护。
63.本技术实施例提供的微服务的服务目录生成方法,如图6所示,在步骤506涉及到的将绑定信息保存至绑定列表,并向应用分配身份识别密钥之后,包括:
64.步骤602:在应用具备身份识别密钥的情况下,对应用进行路由转发;
65.其中,需要说明的是,应用具备身份识别密钥即应用被授权使用相应的api服务;路由转发是指对应用所要访问的目标api服务的身份标识号(identity document,缩写为id)进行转发,转达至目标api服务所在的集群中。
66.步骤604:在应用不具备身份识别密钥的情况下,向应用反馈未授权响应信息。
67.可见,本技术实施例提供的微服务的服务目录生成方法可以对应用是否具备身份识别密钥进行确认,从而实现对服务目录的保护。
68.本技术实施例提供的微服务的服务目录生成方法,在一示范例中,如图7所示,包括:
69.步骤702:扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;
70.步骤704:获取微服务实例的应用程序接口的信息;
71.步骤706:对所应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息并生成服务目录;
72.步骤708:检索服务目录;
73.步骤710:将应用与标准化应用程序接口进行绑定,向应用分配身份识别密钥;
74.步骤712:调用服务目录,对应用是否具备身份识别密钥进行确认;
75.步骤714:在应用具备身份识别密钥的情况下,路由转发至集群中的目标api服务;
76.步骤716:在应用不具备身份识别密钥的情况下,向应用反馈未授权响应信息。
77.可见,本技术实施例所提供的微服务的服务目录生成方法,可以通过服务注册中心对已经开发的微服务形成服务目录,提供已有的微服务,从而解决现有技术中存在的微服务应用重复利用方法使用方法复杂和不同的开发语言和开发框架之间难以复用的技术问题。
78.本技术实施例提供了一种微服务的服务目录生成装置,如图8所示,该装置包括:
79.第一处理模块82,用于通过扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;
80.第二处理模块84,用于基于微服务实例的地址信息,向微服务实例发送访问请求,以获取微服务实例的应用程序接口的信息;
81.第三处理模块86,用于对应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息;
82.生成模块88,用于基于标准化应用程序接口的信息生成服务目录。
83.通过本技术实施例提供的微服务的服务目录生成装置,通过第一处理模块,通过扫描集群中的服务注册中心,获取服务注册中心的微服务实例的地址信息;通过第二处理模块基于微服务实例的地址信息,向微服务实例发送访问请求,以获取微服务实例的应用程序接口的信息;通过第三处理模块,对应用程序接口的信息进行标准化处理,得到标准化应用程序接口的信息;通过生成模块,基于标准化应用程序接口的信息生成服务目录;也就是说,通过服务注册中心对已经开发的微服务形成服务目录,提供已有的微服务,从而解决了现有技术中存在的微服务应用重复利用方法使用方法复杂和不同的开发语言和开发框架之间难以复用的技术问题。
84.在本技术实施例的可选实施方式中,本技术实施例提供的生成模块88,如图9所示,进一步可以包括:
85.保存单元92,用于将标准化应用程序接口的信息保存至应用程序接口列表;其中,标准化应用程序接口的信息包括标准化应用程序接口的地址信息、标准化应用程序接口的接口描述信息、标准化应用程序接口的请求参数、标准化应用程序接口的响应信息;
86.生成单元94,用于将标准化应用程序接口的地址信息输出至统一的全球广域网页面,生成服务目录。
87.在本技术实施例的可选实施方式中,本技术实施例提供的装置,如图10所示,进一步可以包括:
88.第一获取模块1002,用于获取基于服务目录发送的检索请求;
89.第四处理模块1004,用于响应于检索请求,从应用程序接口列表中获取检索内容;其中,检索内容包括与目标标准化应用程序接口关联的信息;
90.输出模块1006,用于将检索内容输出至服务目录。
91.在本技术实施例的可选实施方式中,本技术实施例提供的装置,如图11所示,进一步可以包括:
92.第二获取模块1102,用于获取基于服务目录发送的调试请求;其中,调试请求包括调试内容;
93.确定模块1104,用于根据与调试请求关联的应用程序接口的地址信息确定对应的
微服务实例;
94.发送模块1106,用于将调试请求发送至微服务实例;
95.第五处理模块1108,用于接收微服务实例响应于调试请求的响应信息,并将响应信息输入至服务目录所在的全球广域网页面以确定响应信息中所携带的内容是否与调试内容匹配。
96.在本技术实施例的可选实施方式中,本技术实施例提供的装置,如图12所示,进一步可以包括:
97.录入模块1202,用于将与标准化应用程序接口关联的应用录入到服务目录中的全球广域网页面中;
98.第六处理模块1204,用于将应用与标准化应用程序接口进行绑定,得到绑定信息;
99.第七处理模块1206,用于将绑定信息保存至绑定列表,并向应用分配身份识别密钥;其中,绑定列表中的标准化应用程序接口被授权允许应用调用。
100.在本技术实施例的可选实施方式中,本技术实施例提供的装置,如图13所示,进一步可以包括:
101.转发模块1302,用于在应用具备身份识别密钥的情况下,对应用进行路由转发;
102.反馈模块1304,用于在应用不具备身份识别密钥的情况下,向应用反馈未授权响应信息。
103.本技术实施例还提供了一种电子设备,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,
104.存储器1403,用于存放计算机程序;
105.处理器1401,用于执行存储器1403上所存放的程序时,实现图1中的方法步骤,其所起到的作用与图1中的方法步骤一样,在此不再赘述。
106.上述终端提到的通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
107.通信接口用于上述终端与其他设备之间的通信。
108.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
109.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
110.在本技术提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的微服务的服务目录生成方法。
111.在本技术提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的微服务的服务目录生成方法。
112.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
113.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
114.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
115.以上所述仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本技术的保护范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1