一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

微服务日志检索方法、系统、控制装置及存储介质与流程

2022-11-16 08:42:49 来源:中国专利 TAG:


1.本发明涉及数据处理技术领域,尤其涉及一种微服务日志检索方法、系统、控制装置及存储介质。


背景技术:

2.随着智能系统业务的逐渐复杂化以及微服务技术的发展,越来越多的企业使用微服务架构来开展业务,以降低智能系统的全局性故障风险。在分布式的微服务架构下,一个任务通常被拆分为多个微服务,通常会部署多个服务器执行各微服务,完整任务流会经过很多个微服务的处理和传递,因此微服务之间调用链路会比较复杂,在对任务日志进行问题分析时,需要获取该任务的全链路日志。
3.传统的全链路日志检索方案,需要为增加一系列组件完成整个日志检索过程。其中,一般通过使用第三中间件(如kafka、logstash、beats)采集微服务架构中各个服务器的日志数据,并集中存储在第三方查询数据库(如elasticsearch、mysql),然后使前端查询界面(kibana,grafana)进行日志检索,整体日志查询过程涉及众多组件、日志流转链条复杂,导致运维成本高、检索效率低。


技术实现要素:

4.本发明提供一种微服务日志检索方法、系统、控制装置及存储介质,以解决传统全链路日志检索方案中,日志查询过程涉及众多组件、日志流转链条复杂,导致运维成本高、检索效率低问题。
5.提供一种微服务日志检索方法,包括:
6.获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识;
7.根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序;
8.向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息;
9.根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。
10.进一步地,获取目标任务的日志检索请求之前,方法还包括:
11.确定执行目标任务所需的多个微服务,并为各微服务分配对应的执行服务器;
12.确定目标任务的追踪标识,并根据微服务生成包含追踪标识的服务请求;
13.向各执行服务器发送对应的服务请求,以使执行各服务器响应服务请求执行对应微服务,并记录执行微服务的过程形成日志信息,日志信息携带追踪标识。
14.进一步地,获取目标任务的日志检索请求之前,该方法还包括:
15.确定目标任务的追踪标识,并根据目标任务和追踪标识生成目标任务的任务请求;
16.向第一执行服务器发送任务请求,以使第一执行服务器响应服务请求执行目标任务,并记录执行目标任务的过程形成日志信息,日志信息携带追踪标识。
17.进一步地,根据目标任务的服务调用链确定各微服务对应的执行服务器之前,该方法还包括:
18.确定能否获得目标任务的服务调用链;
19.若能够获得服务调用链,则获取服务调用链,并根据目标任务的服务调用链确定各微服务对应的执行服务器。
20.进一步地,确定能否获得目标任务的服务调用链之后,该方法还包括:
21.若不能获得服务调用链,则确定接收微服务控制装置发送的,目标任务的任务请求的第一执行服务器;
22.向第一执行服务器发送日志检索请求,以使第一执行服务器根据追踪标识提取存储在第一执行服务器上的目标日志信息,并接收第一执行服务器反馈的目标日志信息。
23.提供一种微服务系统,包括微服务控制装置和多个执行服务器,微服务控制装置具体用于:
24.获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识;
25.根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序;
26.向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息;
27.根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。
28.进一步地,执行服务器具体用于:
29.接收微服务控制装置发送的日志检索请求,并在日志检索请求中提取出追踪标识;
30.在执行服务器的数据库中获取服务器运行日志数据,服务器运行日志数据包括多组任务日志数据,每组任务日志数据包括各任务的追踪标识和执行服务器执行任务的日志信息;
31.对多组任务日志数据进行追踪标识匹配,匹配得到追踪标识对应的日志信息,作为目标日志信息。
32.进一步地,根据目标任务的服务调用链确定各微服务对应的执行服务器之前,微服务控制装置具体还用于:
33.确定能否获得目标任务的服务调用链;
34.若能够获得服务调用链,则获取服务调用链,并根据目标任务的服务调用链确定各微服务对应的执行服务器。
35.提供一种微服务控制装置,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述微服务日志检索方法的步骤。
36.提供一个或多个可读存储介质,可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述微服务日志检索方法的步骤。
37.上述微服务日志检索方法、系统、控制装置及存储介质所提供的一个方案中,通过
获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识,然后根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序,再向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,最后根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志;本发明中,通过服务调用链确定各微服务的执行节点,然后将对所有微服务的节点日志检索工作分发至各个节点,在各个节点进行并行独立的处理,最终汇总排序便可得到全链路日志信息,相对于传统全链路日志检索方案,检索过程简单、无需引入其他组件,降低了运维成本并提高了检索效率。
附图说明
38.为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明一实施例中微服务日志检索方法的一应用环境示意图;
40.图2是本发明一实施例中微服务日志检索方法的一流程示意图;
41.图3是图2中步骤s40的实现流程示意图;
42.图4是图2中步骤s10之前的一流程示意图;
43.图5是图2中步骤s10之前的另一流程示意图;
44.图6是本发明一实施例中微服务日志检索方法的另一流程示意图;
45.图7是图6中步骤s61之后的一流程示意图;
46.图8是图7中步骤s65之后的一流程示意图;
47.图9是本发明一实施例中微服务控制装置的一结构示意图;
48.图10是本发明一实施例中计算机设备的一结构示意图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.本发明实施例提供的微服务日志检索方法,可应用在如图1的应用环境中,其中,客户端通过网络与微服务控制装置(服务端)进行通信。
51.在用户需要进行日志检索时,用户通过客户端向微服务控制装置发送日志检索请求,微服务控制装置(服务端)获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识,然后根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序,再向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,最后根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全
链路日志;本实施例中,微服务控制装置通过服务调用链确定各微服务的执行节点,然后将对所有微服务的节点日志检索工作分发至各个节点,在各个节点进行并行独立的处理,最终汇总排序便可得到全链路日志信息,相对于传统全链路日志检索方案,检索过程简单、无需引入其他组件,降低了运维成本并提高了检索效率,从而提高了微服务系统的日志检索智能化。
52.同时,传统全链路日志减少方案往往需采集所有执行服务器的日志数据并转储服后,才能进行检索,本实施例中的微服务日志检索方案直接检索执行服务器本身的日志信息,减少了日志转储管理的成本,更加轻量简洁,无需引入其他组件对整体的微服务架构无侵入,且检索时效性更高。总体而言,本实施例中的微服务日志检索方案,在基于微服务架构的轻量级业务场景下进行全链路日志追溯、问题定位等方面有更高的适用性,以及更低的使用成本。
53.其中,目标任务的追踪标识和服务调用链等数据存储在微服务控制装置的数据库中,各执行服务器上的目标日志信息存储在各执行服务器自身的数据库中,以便后续执行日志检索任务时,直接根据日志检索需求获取相关数据,以减少数据处理时间,从而提高日志检索效率。
54.本实施例中的数据库存储于区块链网络中,用于存储微服务日志检索方法中用到、生成的数据,如目标任务的追踪标识和服务调用链,以及目标日志信息等相关数据。本技术所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。将数据库部署于区块链可提高数据存储的安全性。
55.其中,客户端可以但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备。微服务控制装置(服务端)可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
56.在一实施例中,提供一种微服务系统,包括微服务控制装置和多个执行服务器,微服务控制装置和多个执行服务器用于实现微服务日志检索方法的步骤。
57.其中,微服务控制装置具体用于:获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识;根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序;向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息;根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。通过将对所有微服务的节点日志检索工作分发至各个节点,在各个节点进行并行独立的处理,最终汇总排序便可得到全链路日志信息,相对于传统全链路日志检索方案,检索过程简单、无需引入其他组件,降低了运维成本并提高了检索效率。
58.其中,微服务控制装置具体用于:获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识;根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序;向各执行服务器发送日志检索请
求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息;根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。
59.在一实施例中,如图2所示,提供一种微服务日志检索方法,以该方法应用在上述微服务系统为例进行说明,包括如下步骤:
60.s10:微服务控制装置获取目标任务的日志检索请求。
61.在用户需要进行日志检索时,用户通过客户端向微服务控制装置发送日志检索请求,微服务控制装置获取客户端发送的目标任务的日志检索请求,其中,目标任务的日志检索请求包括目标任务的追踪标识。
62.s20:微服务控制装置根据目标任务的服务调用链确定各微服务对应的执行服务器。
63.其中,服务调用链为执行目标任务所需的多个微服务的执行顺序,服务调用链包括各微服务的执行服务器。该服务调用链可以存储在微服务控制装置的数据库中;在执行目标任务的过程中,随着目标任务的任务请求在执行服务器间的转发,记录执行目标任务各微服务的调用顺序和执行服务器,得到目标任务的服务调用链,并将服务调用链保存在微服务控制装置的数据库中,以便后续进行日志查询;该服务调用链还可以是根据用户配置的得到的目标任务的微服务调用顺序,在目标任务执行过程中,用户为目标任务配置好多个微服务调用,并确定各微服务的调用顺序和执行服务器,从而得到服务调用链并保存在微服务控制装置中。在其他实施例中,该服务调用链还可以是目标任务的日志检索请求中携带的目标任务各微服务的调用链,在日志检索请求中,该服务调用链以参数的形式表示,例如,服务调用链可以是:getlog?service names=servicea,serviceb,表示指定查询执行服务器servicea与执行服务器serviceb的日志信息。本实施例中,提供了服务调用链的多种获取方式,在日志检索过程汇总,可以根据实际情况灵活选择对应的检索的服务调用链,使得日志检索过程更轻量快捷。
64.在微服务控制装置获取目标任务的日志检索请求之后,微服务控制装置在数据库或者日志检索请求提取出目标任务的服务调用链,然后根据目标任务的服务调用链确定各微服务对应的执行服务器。
65.s30:微服务控制装置向各执行服务器发送日志检索请求。
66.在根据目标任务的服务调用链确定各微服务对应的执行服务器之后,微服务控制装置向各执行服务器发送日志检索请求。
67.s40:执行服务器根据日志检索请求的追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息。
68.在微服务控制装置向各执行服务器发送日志检索请求之后,各执行服务器接收日志检索请求,并在接收送日志检索请求后根据日志检索请求中的追踪标识,提取存储在执行服务器上追踪标识对应的日志信息,作为目标日志信息并向微服务控制装置反馈目标日志信息。其中,日志信息在生成并存储时携带有时间戳,即日志信息的记录时间。
69.s50:微服务控制装置根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。
70.微服务控制装置接收各执行服务器反馈的目标日志信息,然后根据各执行服务器
反馈的目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务中完整的微服务调用链路日志,即目标任务的全链路日志。
71.在用户需要进行日志检索时,用户通过客户端向微服务控制装置发送日志检索请求,微服务控制装置(服务端)获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识,然后根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序,再向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,最后根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志;本实施例中,微服务控制装置通过服务调用链确定各微服务的执行节点,然后将对所有微服务的节点日志检索工作分发至各个节点,在各个节点进行并行独立的处理,最终汇总排序便可得到全链路日志信息,相对于传统全链路日志检索方案,检索过程简单、无需引入其他组件,降低了运维成本并提高了检索效率,从而提高了微服务系统的日志检索智能化。
72.同时,传统全链路日志减少方案往往需采集所有执行服务器的日志数据并转储服后,才能进行检索,本实施例中的微服务日志检索方案直接检索执行服务器本身的日志信息,减少了日志转储管理的成本,更加轻量简洁,无需引入其他组件对整体的微服务架构无侵入,且检索时效性更高。总体而言,本实施例中的微服务日志检索方案,在基于微服务架构的轻量级业务场景下进行全链路日志追溯、问题定位等方面有更高的适用性,以及更低的使用成本。
73.在其他实施例中,微服务控制装置获取目标任务的服务调用链之后,无需确定所有的执行服务器并将日志检索请求发送给所有服务器,微服务控制装置仅需确定服务调用链中的第一个执行服务器,即第一执行服务器,然后将日志检索请求发送给第一执行服务器,第一执行服务器接收到日志检索请求之后,根据日志检索请求的追踪标识在自身的数据库中,提取该追踪标识对应的日志信息作为目标日志信息,同时还会依据该追踪标识提取自身对应微服务的服务调用链,若发现自身执行对应微服务过程中还调用了其他服务器,则向调用的其他服务器(第二执行服务器)下发日志检索请求,以使调用的其他服务器依据日志检索请求进行目标日志信息提取,并确定自身执行对应微服务过程中还调用了其他服务器,直至检索玩目标任务的整个服务调用链,即直至遍历完该目标任务的所有执行服务器。在该检索过程中,每一执行服务器提取到目标日志信息并获取下一节点(即下一执行服务器)反馈的目标日志信息之后,向上一节点(即上一执行服务器)反馈提取的目标日志信息,层层反馈,直至根节点(即第一执行服务器)接收到所有执行服务器反馈的目标日志信息,并将接收到的所有执行服务器反馈的目标日志信息发送给微服务控制装置,以使微服务控制装置根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。本实施例中,微服务控制装置进行需要确定一个执行服务器发送日志检索请求,并接收该执行服务器反馈的所有目标日志信息,各执行服务器执行各自节点的日志检索任务,减少了微服务控制装置与其他服务器的通信过程,减少了微服务控制装置的负载。
74.在一实施例中,如图3所示,步骤s40中,即根据追踪标识提取存储在执行服务器上的目标日志信息,具体包括如下步骤:
75.s41:执行服务器接收微服务控制装置发送的日志检索请求,并在日志检索请求中提取出追踪标识。
76.在微服务控制装置向各执行服务器发送日志检索请求之后,各执行服务器接收微服务控制装置发送的日志检索请求,并在接收送日志检索请求后从日志检索请求中提取出追踪标识,以便后续依据追踪标识提取执行服务器数据库中存储的目标日志信息。其中,日志信息在生成并存储时携带有时间戳,即日志信息的记录时间。
77.s42:执行服务器在执行服务器的数据库中获取服务器运行日志数据。
78.执行服务器在日志检索请求中提取出追踪标识之后,在执行服务器的数据库中获取该执行服务器的服务器运行日志数据。其中,该执行服务器可以运行不同的任务,执行不同任务对应有不同的任务日志信息,因此为便于后续查询管理,需要将每一任务的追踪标识与该任务对应的任务日志信息进行绑定,形成一组任务日志数据,即服务器运行日志数据包括多组任务日志数据,每组任务日志数据包括各任务的追踪标识和执行服务器执行该任务的日志信息。
79.s43:执行服务器对多组任务日志数据进行追踪标识匹配,匹配得到追踪标识对应的日志信息,作为目标日志信息。
80.在获取包括多组任务日志数据的服务器运行日志数据之后,执行服务器对多组任务日志数据进行追踪标识匹配,匹配得到追踪标识对应的日志信息,作为目标日志信息,然后向微服务控制装置反馈目标日志信息。
81.在其他实施例中,每一执行服务器执行完任务对应的微服务后,生成该任务的日志信息,并将该任务的日志信息存储在以该任务的追踪标识为名称的文件夹中,在后续在日志检索请求中提取出目标任务的追踪标识之后,将目标任务的追踪标识与各文件夹名称进行匹配,匹配得到目标文件夹,然后提取目标文件夹内的数据作为目标日志信息,简单方便,提高了目标日志信息提取效率。
82.本实施例中,执行服务器接收微服务控制装置发送的日志检索请求,并在日志检索请求中提取出追踪标识,然后在执行服务器的数据库中获取服务器运行日志数据,服务器运行日志数据包括多组任务日志数据,每组任务日志数据包括各任务的追踪标识和执行服务器执行任务的日志信息,最后对多组任务日志数据进行追踪标识匹配,匹配得到追踪标识对应的日志信息,作为目标日志信息,明确了根据追踪标识提取存储在执行服务器上的目标日志信息的具体步骤,对多组任务日志数据进行追踪标识匹配,匹配得到追踪标识对应的日志信息作为目标日志信息,在简单快速的基础上,执行服务器无需对不同日志信息进行汇总重新存储,减少了执行服务器的负载。
83.在一实施例中,步骤s10之前,即获取目标任务的日志检索请求之前,微服务控制装置还需要向目标任务的执行服务器发送服务请求,以使各执行服务执行对应的微服务,从而完成整个目标任务,明确了目标任务的执行过程,确保用户的需求得到满足,也为后续目标任务的日志查询提供了基础。
84.在一实施例中,如图4所示,步骤s00中,即微服务控制装置还需要向目标任务的执行服务器发送服务请求,以使各执行服务执行对应的微服务,完成整个目标任务,具体包括如下步骤:
85.sa01:微服务控制装置确定执行目标任务所需的多个微服务,并为各微服务分配
对应的执行服务器。
86.微服务控制装置在接收到用户提供客户端发送的目标任务请求之后,微服务控制装置需要确定执行目标任务所需的多个微服务,并为各微服务分配对应的执行服务器。即根据目标任务具体内容将目标任务拆分为多个微服务,然后确定执行每一微服务的服务器。
87.sa02:微服务控制装置确定目标任务的追踪标识,并根据微服务生成包含追踪标识的服务请求。
88.在为各微服务分配对应的执行服务器之后,微服务控制装置确定目标任务的追踪标识,该追踪标识为微服务控制装置为目标任务自动生成的用于追踪该目标任务的唯一标识号,在确定目标任务的追踪标识之后,微服务控制装置根据微服务生成包含追踪标识的服务请求,即每一微服务对应有一个服务请求,大门每个服务请求具有相同的追踪标识。
89.sa03:微服务控制装置向各执行服务器发送对应的服务请求,以使各执行服务器响应服务请求执行对应微服务,并记录执行微服务的过程形成日志信息。
90.在根据微服务生成包含追踪标识的服务请求之后,微服务控制装置向各个执行服务器发送对应的服务请求,以使各执行服务器响应服务请求执行对应微服务,并记录执行微服务的过程形成日志信息,其中,日志信息携带追踪标识。
91.即,微服务控制装置向各个执行服务器发送对应的服务请求之后,各执行服务器接收微服务控制装置发送的服务请求,并根据接收到的服务请求执行对应的微服务,并记录自身执行微服务的过程形成日志信息,并将该日志信息与服务请求中的追踪标识绑定,使得日志信息携带追踪标识,便于后续进行日志检索追溯。
92.本实施例中,在获取目标任务的日志检索请求之前,微服务控制装置通过确定执行目标任务所需的多个微服务,并为各微服务分配对应的执行服务器,然后确定目标任务的追踪标识,并根据微服务生成包含追踪标识的服务请求;
93.微服务控制装置向执行服务器发送对应的服务请求,以使执行服务器响应服务请求执行对应微服务,并记录执行微服务的过程形成日志信息,日志信息携带追踪标识;明确了目标任务的执行过程,确保用户的需求得到满足,也为后续目标任务的日志查询提供了基础。
94.在一实施例中,如图5所示,步骤s00中,即微服务控制装置还需要向目标任务的执行服务器发送服务请求,以使各执行服务执行对应的微服务,完成整个目标任务,具体包括如下步骤:
95.sb01:微服务控制装置确定目标任务的追踪标识,并根据目标任务和追踪标识生成目标任务的任务请求。
96.本实施例中,在接收到用户提供客户端发送的目标任务请求之后,微服务控制装置无需确定执行目标任务所需的多个微服务,并为各微服务分配对应的执行服务器,而是直接确定目标任务的追踪标识,然后根据目标任务和追踪标识生成目标任务的任务请求。
97.sb02:微服务控制装置向第一执行服务器发送任务请求,以使第一执行服务器响应服务请求执行目标任务,并记录执行目标任务的过程形成日志信息。
98.在确定目标任务的追踪标识,并根据目标任务和追踪标识生成目标任务的任务请求之后,微服务控制装置需要选定一个服务器执行该目标任务,该选定的服务器即为第一
执行服务器,然后微服务控制装置向第一执行服务器发送任务请求,以使第一执行服务器响应服务请求执行目标任务,并记录执行目标任务的过程形成日志信息,日志信息携带追踪标识。即,微服务控制装置向第一执行服务器发送任务请求之后,第一执行服务器接收微服务控制装置发送的任务请求,根据接收到的任务请求执行目标任务,并记录自身执行目标任务的过程形成日志信息,并将该日志信息与任务请求中的追踪标识绑定,使得日志信息携带追踪标识,便于后续进行日志检索追溯。
99.sb03:在第一执行服务器执行目标任务的过程中,若第一执行服务器确定需要调用其他服务器参与执行目标任务,则第一执行服务器确定调用的服务器所需执行的服务,并根据服务和追踪标识生成服务请求。
100.sb04:第一执行服务器向调用的服务器发送服务请求,以使调用的服务器响应服务请求执行对应的服务,直至整个目标任务完成。
101.其中,在第一执行服务器执行目标任务的过程中,第一执行服务器需确定是否需要调用其他服务器参与执行目标任务,若需要调用其他服务器参与执行目标任务,则确定该调用的服务器所需执行的服务,并根据该确定的服务和追踪标识生成服务请求,将该服务请求发送给调用的服务器(可以记为第二执行服务器),以使该调用的服务器响应该服务请求执行该服务请求对应的服务,并生成对应的日志信息。在调用的服务器(第二执行服务器)响应该服务请求执行该服务的过程中,该执行该分服务也需要确定是否调用其他服务器参与执行该目标任务,若需要则生成新的服务请求发送给需要调用的服务器(记为第三执行服务器),直至整个目标任务完成。
102.本实施例中,在获取目标任务的日志检索请求之前,微服务控制装置通过确定目标任务的追踪标识,并根据目标任务和追踪标识生成目标任务的任务请求,并向第一执行服务器发送任务请求,以使第一执行服务器响应服务请求执行目标任务,并记录执行目标任务的过程形成日志信息,在第一执行服务器执行目标任务的过程中,若第一执行服务器确定需要调用其他服务器参与执行目标任务,则第一执行服务器确定调用的服务器所需执行的服务,并根据服务和追踪标识生成服务请求,第一执行服务器向调用的服务器发送服务请求,以使调用的服务器响应服务请求执行对应的服务,直至整个目标任务完成;明确了目标任务的执行过程,确保用户的需求得到满足,也为后续目标任务的日志查询提供了基础,并减少了微服务控制装置在目标任务执行过程中工作量。
103.在一实施例中,如图6所示,步骤s20之前,即根据目标任务的服务调用链确定各微服务对应的执行服务器之前,该方法还具体包括如下步骤:
104.s61:微服务控制装置确定能否获得目标任务的服务调用链。
105.s62:若能够获得服务调用链,则微服务控制装置获取服务调用链,并根据目标任务的服务调用链确定各微服务对应的执行服务器。
106.在根据目标任务的服务调用链确定各微服务对应的执行服务器之前,微服务控制装置需要确定能否获得目标任务的服务调用链,若微服务控制装置能够获得服务调用链,则微服务控制装置直接从数据库或日志检索请求中获取服务调用链,并执行步骤s20,即根据目标任务的服务调用链确定各微服务对应的执行服务器。
107.本实施例中,微服务控制装置通过确定能否获得目标任务的服务调用链,若能够获得服务调用链,则微服务控制装置获取服务调用链,并根据目标任务的服务调用链确定
各微服务对应的执行服务器,在根据目标任务的服务调用链确定各微服务对应的执行服务器之前,需要确定能否获得目标任务的服务调用链,在确定能够获得服务调用链后才获取服务调用链,并根据目标任务的服务调用链确定各微服务对应的执行服务器,确保日志检索任务能够正常执行,以减少因无法获取到服务调用链所导致的无法执行步骤20造成的系统紊乱。
108.在一实施例中,如图7所示,步骤s61之后,即确定能否获得目标任务的服务调用链之后,该方法还具体包括如下步骤:
109.s63:若不能获得服务调用链,则微服务控制装置确定接收微服务控制装置发送的,目标任务的任务请求的第一执行服务器,并向第一执行服务器发送日志检索请求。
110.在确定能否获得目标任务的服务调用链,若微服务控制装置不能获得服务调用链,表示微服务控制装置为因故未保存有目标任务的服务调用链,且日志检索请求也未指定目标任务的服务调用链,此时微服务控制装置可以确定微服务控制装置发送目标任务的任务请求的服务器,即目标任务的第一执行服务器,然后,微服务控制装置向第一执行服务器发送包括追踪标识的日志检索请求。
111.s64:第一执行服务器根据日志检索请求中的追踪标识,提取存储在第一执行服务器上的目标日志信息。
112.在微服务控制装置向第一执行服务器发送包括追踪标识的日志检索请求之后,第一执行服务器接收微服务控制装置发送的日志检索请求后,根据日志检索请求中的追踪标识,提取存储在第一执行服务器上的目标日志信息。
113.s65:第一执行服务器确定第一执行服务器是否调用其他服务器执行目标任务。
114.在根据日志检索请求中的追踪标识,提取存储在第一执行服务器上的目标日志信息的同时,第一执行服务器确定第一执行服务器是否调用其他服务器执行目标任务。
115.s66:若第一执行服务器未调用其他服务器执行目标任务,则第一执行服务器将目标日志信息反馈至微服务控制装置。
116.在确定第一执行服务器是否调用其他服务器执行目标任务之后,若第一执行服务器未调用其他服务器执行目标任务,表示整个目标任务完全由第一服务器执行完成,第一执行服务器上存储的目标日志信息即为目标任务的全链路日志信息,因此,当第一执行服务器未调用其他服务器执行目标任务时,第一执行服务器将目标日志信息反馈至微服务控制装置,控制在将第一执行服务器反馈的目标日志信息作为目标任务的全链路日志信息。
117.本实施例中,在确定能否获得目标任务的服务调用链之后,若微服务控制装置不能获得服务调用链,则微服务控制装置确定接收微服务控制装置发送的目标任务的任务请求的第一执行服务器,微服务控制装置向第一执行服务器发送日志检索请求,以使第一执行服务器根据追踪标识提取存储在第一执行服务器上的目标日志信息,并确定第一执行服务器是否调用其他服务器执行目标任务,若第一执行服务器未调用其他服务器执行目标任务,则第一执行服务器将目标日志信息反馈至微服务控制装置。明确了在微服务控制装置不能获得服务调用链时,目标任务的全链路日志信息的具体获取方式,为目标任务的全链路日志信息获取提供准确基础。
118.在一实施例中,如图8所示,步骤s65之后,即确定第一执行服务器是否调用其他服务器执行目标任务之后,该方法还具体包括如下步骤:
119.s67:若第一执行服务器调用其他服务器执行目标任务,则第一执行服务器向调用的服务器发送日志检索请求,并接收调用的服务器响应日志检索请求反馈的目标日志信息。
120.在确定第一执行服务器是否调用其他服务器执行目标任务之后,若确定第一执行服务器调用其他服务器执行目标任务,表示目标任务的执行还调用了其他服务器,需要获取其他服务器对执行目标任务的日志信息,则第一执行服务器向调用的服务器发送日志检索请求,并接收调用的服务器响应日志检索请求反馈的目标日志信息。即,第一执行服务器向调用的服务器发送日志检索请求,调用的服务器接收日志检索请求后,依据日志检索请求的追踪标识提取存储在自身数据库中针对目标任务的日志信息,得到目标日志信息,然后将提取出的目标日志信息反馈给第一执行服务器。
121.其中,调用的服务器响应日志检索请求反馈的目标日志信息的过程中,调用的服务器也需要是否调用其他服务器执行目标任务,若该调用的服务器也调用了其他服务器执行目标任务,则向其调用的服务器发送日志检索请求,并接收其调用的服务器响应日志检索请求反馈的目标日志信息,将日志检索请求层层下发,直至遍历完目标任务的整个调用链路。
122.s68:第一执行服务器向微服务控制装置发送第一执行服务器的目标日志信息,并发送调用的服务器反馈的目标日志信息。
123.第一执行服务器接收调用的服务器反馈的目标日志信息之后,第一执行服务器向微服务控制装置发送第一执行服务器上的目标日志信息,并向微服务控制装置发送调用的服务器反馈的目标日志信息,以使微服务控制装置对第一执行服务器反馈的所有目标日志信息进行记录时间排序,得到目标任务的全链路日志信息。
124.其中,第一执行服务器向调用的服务器发送日志检索请求,并接收调用的服务器响应日志检索请求反馈的目标日志信息,包括:第一执行服务器还确定第一执行服务器调用的服务器为第二执行服务器,并向第二执行服务器发送日志检索请求;第二执行服务器接收日志检索请求后,根据追踪标识提取存储在第二执行服务器上的目标日志信息,并确定是否调用其他服务器执行目标任务,若第二执行服务器未调用其他服务器执行目标任务,则将目标日志信息反馈至接收的日志检索请求的发送方即(第一执行服务器);若第二执行服务器调用其他服务器执行目标任务,则第二执行服务器向调用的第三执行服务器发送日志检索请求,直至调用的执行服务器确定未调用其他服务器。
125.例如,目标任务的整个调用链路包括四个执行服务器:第一执行服务器、第二执行服务器、第三执行服务器和第四执行服务器,其中,第一执行服务器调用的第二执行服务器执行目标任务,第二执行服务器调用了第三执行服务器执行目标任务,第三执行服务器调用了第四执行服务器执行目标任务;则,第一执行服务器根据追踪标识提取存储在第一执行服务器上的目标日志信息的同时,第一执行服务器还向第二执行服务器发送日志检索请求;第二执行服务器接收日志检索请求后,根据追踪标识提取存储在第二执行服务器上的目标日志信息,并向调用的第三执行服务器发送日志检索请求;第三执行服务器接收日志检索请求后,根据追踪标识提取存储在第三执行服务器上的目标日志信息,并向调用的第四执行服务器发送日志检索请求;第四执行服务器接收日志检索请求后,根据追踪标识提取存储在第四执行服务器上的目标日志信息;第一执行服务器、第二执行服务器、第三执行
服务器和第四执行服务器在获得的目标日志信息后,均向上一节点(即接收到的日志检索请求的发送方)反馈获得的目标日志信息,层层上传,直至微服务控制装置接收到所有执行服务器的目标日志信息。
126.本实施例中,在确定第一执行服务器是否调用其他服务器执行目标任务之后,若第一执行服务器调用其他服务器执行目标任务,则第一执行服务器向调用的服务器发送日志检索请求,并接收调用的服务器响应日志检索请求反馈的目标日志信息,第一执行服务器向微服务控制装置发送第一执行服务器上的目标日志信息,并发送调用的服务器反馈的目标日志信息,明确了在微服务控制装置不能获得服务调用链时,目标任务的全链路日志信息的具体获取方式,为目标任务的全链路日志信息获取提供准确基础,并在此基础上,检索微服务控制装置的指令传输,所有微服务节点日志的检索工作由各节点独立执行,并减少了微服务控制装置的负载。
127.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
128.在一实施例中,提供一种微服务日志检索装置,该微服务控制装置和与上述实施例中微服务日志检索方法一一对应。如图9所示,该微服务控制装置包括获取模块901、确定模块902、发送模块903和排序模块904。各功能模块详细说明如下:
129.获取模块901,用于获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识;
130.确定模块902,用于根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序;
131.发送模块903,用于向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息;
132.排序模块904,用于根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。
133.进一步地,执行服务器具体用于通过如下方式在执行服务器上的目标日志信息,包括:
134.接收微服务控制装置发送的日志检索请求,并在日志检索请求中提取出追踪标识;
135.在执行服务器的数据库中获取服务器运行日志数据,服务器运行日志数据包括多组任务日志数据,每组任务日志数据包括各任务的追踪标识和执行服务器执行任务的日志信息;
136.对多组任务日志数据进行追踪标识匹配,匹配得到追踪标识对应的日志信息,作为目标日志信息。
137.进一步地,该微服务控制装置还包括任务执行模块905,获取目标任务的日志检索请求之前,任务执行模块905用于:
138.确定执行目标任务所需的多个微服务,并为各微服务分配对应的执行服务器;
139.确定目标任务的追踪标识,并根据微服务生成包含追踪标识的服务请求;
140.向执行服务器发送对应的服务请求,以使执行服务器响应服务请求执行对应微服务,并记录执行微服务的过程形成日志信息,日志信息携带追踪标识。
141.进一步地,获取目标任务的日志检索请求之前,任务执行模块905还用于:
142.确定目标任务的追踪标识,并根据目标任务和追踪标识生成目标任务的任务请求;
143.向第一执行服务器发送任务请求,以使第一执行服务器响应服务请求执行目标任务,并记录执行目标任务的过程形成日志信息,日志信息携带追踪标识。
144.进一步地,根据目标任务的服务调用链确定各微服务对应的执行服务器之前,获取模块901还具体用于:
145.确定能否获得目标任务的服务调用链;
146.若能够获得服务调用链,则获取服务调用链,并根据目标任务的服务调用链确定各微服务对应的执行服务器。
147.进一步地,确定能否获得目标任务的服务调用链之后,获取模块901还具体用于:
148.若不能获得服务调用链,则确定接收微服务控制装置发送的,目标任务的任务请求的第一执行服务器;
149.向第一执行服务器发送日志检索请求,以使第一执行服务器根据追踪标识提取存储在第一执行服务器上的目标日志信息,并接收第一执行服务器反馈的目标日志信息。
150.关于微服务控制装置的具体限定可以参见上文中对于微服务日志检索方法的限定,在此不再赘述。上述微服务控制装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
151.在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储上述微服务日志检索方法用到、生成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种微服务日志检索方法。
152.在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:
153.获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识;
154.根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序;
155.向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息;
156.根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。
157.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
158.获取目标任务的日志检索请求,日志检索请求包括目标任务的追踪标识;
159.根据目标任务的服务调用链确定各微服务对应的执行服务器,服务调用链为执行目标任务所需的多个微服务的执行顺序;
160.向各执行服务器发送日志检索请求,以使各执行服务器根据追踪标识提取存储在执行服务器上的目标日志信息,并向微服务控制装置反馈目标日志信息;
161.根据各目标日志信息的记录时间,对各执行服务器上的目标日志信息进行排序,得到目标任务的全链路日志。
162.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。
163.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
164.以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献