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

操作日志生成方法及相关装置与流程

2022-03-05 04:46:17 来源:中国专利 TAG:


1.本技术属于数据处理领域,具体涉及一种操作日志生成方法及相关装置。


背景技术:

2.操作日志是记录系统运行过程中各种重要信息的文件,在系统运行过程中由各进程创建并记录。操作日志可以记录系统的运行过程及异常信息,为快速定位系统运行中出现的问题及开发过程中的程序调试问题提供详细信息。


技术实现要素:

3.本技术实施例提供了一种操作日志生成方法及相关装置,以期提高对微服务系统下的操作日志的查询的效率。
4.第一方面,本技术实施例提供了一种操作日志生成方法,应用于微服务系统的操作日志生成模块,所述微服务系统包括多个微服务模块、所述操作日志生成模块和操作日志采集模块,所述方法包括:
5.确定第一微服务模块的本地线程中是否包括第一操作编号,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系;
6.若包括所述第一操作编号,则从所述本地线程中提取所述第一操作编号;
7.根据所述第一操作编号生成所述第一微服务模块的第一操作日志;
8.向所述操作日志采集模块发送所述第一操作日志。
9.第二方面,本技术实施例提供了一种操作日志生成方法,应用于微服务系统的操作日志采集模块,所述微服务系统包括多个微服务模块、操作日志生成模块和所述操作日志采集模块,所述方法包括:
10.获取来自所述操作日志生成模块的第一微服务模块的第一操作日志,所述第一操作日志携带第一操作编号,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系,或者所述第一操作日志携带第二操作编号,所述第二操作编号为针对所述第一微服务模块的一次操作的操作编号;
11.存储所述第一操作日志包括的操作信息于数据库中。
12.第三方面,本技术实施例提供了一种操作日志生成装置,应用于微服务系统的操作日志生成模块,所述微服务系统包括多个微服务模块、所述操作日志生成模块和操作日志采集模块,所述装置包括:确定单元,用于确定第一微服务模块的本地线程中是否包括第一操作编号,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用 rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系;提取单元,用于若包括所述第一操作编号,则从所述本地线程中提取所述第一操作编号;生成单元,用于根据所述第一操作编号生成所述第一微服务
模块的第一操作日志;发送单元,用于向所述操作日志采集模块发送所述第一操作日志。
13.第四方面,本技术实施例提供了一种操作日志生成装置,应用于微服务系统的操作日志采集模块,所述微服务系统包括多个微服务模块、操作日志生成模块和所述操作日志采集模块,所述装置包括:获取单元,用于获取来自所述操作日志生成模块的第一微服务模块的第一操作日志,所述第一操作日志携带第一操作编号,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系,或者所述第一操作日志携带第二操作编号,所述第二操作编号为针对所述第一微服务模块的一次操作的操作编号;存储单元,用于存储所述第一操作日志包括的操作信息于数据库中。
14.第五方面,本技术实施例提供了一种电子设备,包括处理器、存储器、通信接口,以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置由所述处理器执行,所述程序包括用于执行本技术实施例第一方面或第二方面中的步骤的指令。
15.第六方面,本技术实施例提供了一种计算机存储介质,其特征在于,存储用于电子数据交换的计算机程序,其中,所述计算机程序使得计算机执行如本实施例第一方面或第二方面中所描述的部分或全部步骤。
16.第七方面,本技术实施例提供了一种计算机程序产品,其中,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如本技术实施例第一方面或第二方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。
17.可以看出,本技术实施例中,操作日志生成模块先确定第一微服务模块的本地线程中是否包括第一操作编号,若包括所述第一操作编号,则从所述本地线程中提取所述第一操作编号,然后根据所述第一操作编号生成所述第一微服务模块的第一操作日志,最后向所述操作日志采集模块发送所述第一操作日志。这样,用户的一个操作对应的一系列微服务的操作日志都包括有一个对应的第一操作编号,这样可以看出,由于发送给操作日志采集模块的每个微服务的操作日志中都携带有其对应的最上游微服务的操作编号,因此用户针对一个微服务的某次操作就会产生一系列具有相同操作编号的操作日志,这样可以提高后续对操作日志的查询效率,使得用户可以快速获取到一个完整的操作流程对应的操作记录。
附图说明
18.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
19.图1a是本技术实施例提供的一种微服务系统的架构示意图;
20.图1b是本技术实施例提供的一种电子设备的结构示意图;
21.图1c是本技术实施例提供的一种微服务系统的框架图;
22.图2a是本技术实施例提供的一种操作日志生成方法的流程示意图;
23.图2b是本技术实施例提供的一种操作日志采集时序示意图;
24.图2c是本技术实施例提供的一种操作日志生成方式的示意图;
25.图2d是本技术实施例提供的另一种操作日志生成方式的示意图
26.图2e是本技术实施例提供的一种操作日志存储流程示意图;
27.图3是本技术实施例提供的一种操作日志生成装置的功能单元组成框图;
28.图4是本技术实施例提供的另一种操作日志生成装置的功能单元组成框图;
29.图5是本技术实施例提供的另一种操作日志生成装置的功能单元组成框图;
30.图6是本技术实施例提供的另一种操作日志生成装置的功能单元组成框图。
具体实施方式
31.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
32.本技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
33.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本技术的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
34.当前的操作日志记录方案往往都只是在单个服务内部进行,但是随着技术的发展,微服务架构越来越流行。当前,用户点击一个按钮可能需要下游很多个微服务依次处理,每个微服务可能都对数据库进行了操作。因此,用户在查询通过当前方法采集的操作日志时,无法快速准确的确定其具体是针对的哪一次操作的日志。
35.针对上述问题,本技术实施例提供了一种操作日志生成方法及相关装置,下面结合附图对本技术实施例进行详细介绍。
36.请参阅图1a,图1a是本技术实施例提供的一种微服务系统的架构示意图。所述微服务系统10包括多个微服务模块101,操作日志生成模块102和操作日志采集模块103,该操作日志生成模块102可以分别从每个微服务模块101中获取操作信息,并根据获取的操作信息生成针对该微服务模块101的操作日志,并将生成的操作日志发送给操作日志采集模块103,操作日志采集模块103用于将采集到的操作日志存储于数据库中。
37.上述多个微服务模块101、操作日志生成模块102和操作日志采集模块103 可以位于相同的电子设备中,也可以分别位于不同的电子设备中,该电子设备的结构如图1b所示,图1b是本技术实施例提供的一种电子设备的结构示意图。所述电子设备110包括应用处理器120、存储器130、通信接口140以及一个或多个程序131,其中,所述一个或多个程序131被存储在上述存储器130中,且被配置由上述应用处理器120执行,所述一个或多个程序131包括用于执行下述方法实施例中任一步骤的指令。具体实现中,所述应用处理器120用于执行
如下述方法实施例中由电子设备执行的任一步骤,且在执行诸如发送等数据传输时,可选择的调用所述通信接口140来完成相应操作。
38.请参阅图1c,图1c是本技术实施例提供的一种微服务系统的框架图。如图所示,所述微服务系统包括接入层、服务层、中间件层和基础设施层。所述接入层包括运营前台和操作日志生成模块,所述服务层包括操作日志运营模块和操作日志采集模块,所述中间件层包括消息队列模块,所述基础设施层包括数据库和远程服务调用(remote procedure call,rpc)。在日志采集过程中,首先运营前台根据用户操作产生操作信息,操作日志生成模块可以根据在运营前台中埋点获取对应的操作信息,然后操作日志生成模块根据操作信息生成操作日志,并将操作日志通过消息队列模块发送给操作日志采集模块,由操作日志采集模块将操作日志写入数据库中。操作日志管理服务模块会从数据库中读取出操作日志,并通过rpc将其发送给业务管理后台后端,然后由业务管理后台后端发送给业务管理后台前端。可以看出,整体架构而言,对于操作日志的生成主要分为生成操作日志的操作日志生成模块,获取操作日志,并将进行参数的校验和数据结构转换后的操作日志,写入数据库的操作日志采集模块,和提供操作日志的多维度查询和差分的能力,并对外暴露出rpc接口,还提供操作日志过期处理能力,通过定时任务的形式,删除过期的日志等服务的操作日志管理模块。
39.请参阅图2a,图2a是本技术实施例提供的一种操作日志生成方法的流程示意图。如图所示,所述操作日志生成方法包括以下步骤:
40.步骤201,操作日志生成模块确定第一微服务模块的线程本地变量中是否包括第一操作编号。
41.其中,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系。当业务的运营人员在管理后台进行增删改操作时,本次操作涉及的多个微服务模块会在进行主逻辑之外,通过操作日志生成模块发送额外的操作日志。最上游的微服务模块先通过通用唯一标识符(universally unique identifier,uuid)算法生成一个操作编号,然后通过将微服务模块之间的rpc调用进行封装,使得每次调用都会将上游的操作编号传递给下游,同时下游微服务模块收到请求后,会将操作编号写入线程本地变量(threadlocal),这样发送操作日志的时候,就可以从threadlocal中取到操作编号。threadlocal中填充的变量属于当前线程,该变量对其他线程而言是隔离的,也就是说在进行对象跨层传递的时候,使用threadlocal可以避免多次传递,打破层次间的约束。因此,第二微服务模块为第一微服务模块的上游微服务模块,该第二微服务模块通过rpc请求调度第一微服务模块时,会同时将第二微服务模块的当前次操作的操作编号发送给的第一微服务模块。
42.步骤202,若包括所述第一操作编号,则操作日志生成模块从所述线程本地变量中提取所述第一操作编号。
43.其中,若第一微服务模块包括第一操作编号,即意味着第二微服务模块通过rpc请求调用了第一微服务模块。
44.步骤203,操作日志生成模块根据所述第一操作编号生成所述第一微服务模块的第一操作日志。
45.其中,第一操作日志为携带有第一操作编号的操作日志。只要是第二微服务模块的下游微服务模块,其对应的相同次的操作的操作日志中都会包括该第一操作编号。
46.步骤204,操作日志生成模块向所述操作日志采集模块发送所述第一操作日志;
47.步骤205,操作日志采集模块获取来自所述操作日志生成模块的第一微服务模块的第一操作日志。
48.其中,所述第一操作日志携带第一操作编号,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系,或者所述第一操作日志携带第二操作编号,所述第二操作编号为针对所述第一微服务模块的一次操作的操作编号。
49.步骤206,操作日志采集模块存储所述第一操作日志包括的操作信息于数据库中。
50.其中,操作日志采集模块可以对获取的参数进行校验和数据结构转换后,写入数据库,可以根据第一操作编号将第二微服务模块对应的一系列其他微服务模块的操作串连乘一个完整的操作记录,便于用户通过数据库查找操作记录。
51.可见,本实例中,操作日志生成模块先确定第一微服务模块的本地线程中是否包括第一操作编号,若包括所述第一操作编号,则从所述本地线程中提取所述第一操作编号,然后根据所述第一操作编号生成所述第一微服务模块的第一操作日志,最后向所述操作日志采集模块发送所述第一操作日志。这样,用户的一个操作对应的一系列微服务的操作日志都包括有一个对应的第一操作编号,这样可以看出,本技术实施例中,这样,由于发送给操作日志采集模块的每个微服务的操作日志中都携带有其对应的最上游微服务的操作编号,因此用户针对一个微服务的某次操作就会产生一系列具有相同操作编号的操作日志,这样可以提高后续对操作日志的查询效率,使得用户可以快速获取到一个完整的操作流程对应的操作记录。
52.在一个可能的实例中,所述方法还包括:若不包括所述第一操作编号,则生成针对所述第一微服务模块的一次操作的第二操作编号;根据所述第二操作编号生成所述第一微服务模块的所述第一操作日志;向所述操作日志采集模块发送所述第一操作日志。
53.其中,若在线程本地变量中没有发现第一操作编号,则可以确定该第一微服务模块未被其他微服务模块调用,此时第一微服务模块为最上游微服务模块,因此可以根据uuid算法生成该第一微服务模块的一次操作对应的第二操作编号,并根据该第二操作编号生成第一微服务模块对应的第一操作日志。需要说明的时,若第一微服务模块调用了其他微服务模块,则第一微服务模块会根据 rpc将第二操作编号传递给其他微服务模块。
54.可见,本实例中,若第一微服务模块没有第一操作编号,则为其生成第二操作编号,使得每个微服务模块的操作日志都携带有一个用于指示每次操作的操作编号,便于用户查询操作记录。
55.在一个可能的实例中,所述微服务系统还包括消息队列模块,所述向所述操作日志采集模块发送所述第一操作日志,包括:向所述消息队列模块发送所述第一操作日志。
56.其中,所述操作日志生成模块可以将携带有第一操作编号的第一操作日志包裹成消息队列(message queue,mq)消息发送,然后由操作日志采集模块消费消息队列模块中的操作日志。如图2b所示,此时的操作日志采集时序就为运营用户在运营平台进行业务操作,
然后由业务运营平台生成操作记录。操作日志生成模块根据业务运营平台的操作记录消息生成操作日志,然后向消息队列模块发送该操作日志。操作日志采集模块可以异步从消息队列模块中消费操作日志,并将获取到的操作日志存储于数据库中。
57.可见,本实例中,采用异步mq消息进行发送个采集操作日志,可以提高系统的灵活性和稳定性。
58.在一个可能的实例中,所述根据所述第一操作编号生成所述第一微服务模块的第一操作日志,包括:从所述第一微服务模块中获取埋点信息,得到多个操作信息,所述多个操作信息中包括用于指示操作参数的第一操作信息,和用于指示操作内容的第二操作信息;根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志。
59.其中,操作日志的操作信息可以包括两个组成部分,即第一操作信息和第二操作信息。第二操作信息可以被称为info信息,包括入参,返回值,接口地址,操作备注等次要信息,第一操作信息可以被称为body信息,包括操作前后数据的内容,数据的状态等主要信息。由于对于任意一处业务操作,可于多处埋点,生成操作记录,因此一个操作日志可由多个埋点信息生成,每个埋点信息可以对应的操作信息可以不同,例如一个埋点信息对应第一操作信息,另一个埋点信息对应第二操作信息。
60.可见,本实例中,通过多个埋点信息和第一操作编号共同生成操作日志,可以使得生成的操作日志更准确,且便于用户后续对操作日志进行查询。
61.在一个可能的实例中,所述从所述第一微服务模块中获取埋点信息,得到多个操作信息,包括:根据所述第一操作编号从所述第一微服务模块中获取一次埋点信息,得到一个所述第一操作信息和一个所述第二操作信息;所述根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志,包括:根据一个所述第一操作信息、一个所述第二操作信息和所述第一操作编号生成所述第一操作日志。
62.其中,可以通过单步获取的方式,获取一次埋点信息就同时获取到生成操作日志的所有信息,即可以根据该一次获取的埋点信息得到的多个操作信息生成一条完整的日志。
63.可见,本实例中,仅获取一次埋点信息就获取到生成一条完整的日志所需要的操作信息,可以提高操作日志的生成效率。
64.在一个可能的实例中,所述从所述第一微服务模块中获取埋点信息,得到多个操作信息,包括:根据所述第一操作编号多次从所述第一微服务模块中获取所述埋点信息,得到一个所述第一操作信息和多个第二操作子信息,所述第二操作信息包括所述第二操作子信息;所述根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志,包括:根据一个所述第一操作信息、多个所述第二操作子信息和所述第一操作编号生成所述第一操作日志。
65.其中,由于一个完整的操作日志需要同时包括有第一操作信息和第二操作信息,而获取一次埋点信息时,可以仅获取操作日志包括的一部分信息,即可以分步获取操作信息,例如可以一次或多次采集第二操作信息,另一次采集第一操作信息。例如图2c所示,图2c是本技术实施例提供的一种操作日志生成方式的示意图,可见共获取了三次埋点信息,第一次获取的埋点信息为用于指示操作参数的第二操作子信息,可以包括请求方法名、请
求值等信息,第二次获取的埋点信息为用于指示操作内容的第一操作信息,可以包括制品id、操作内容和操作人员等信息,第三次获取的埋点信息也是用于指示操作参数的第二操作子信息,可以包括返回值、执行结果等信息。获取的多个第二操作子信息可以组成完整的第二操作信息。即操作日志生成模块可以将多次获取的埋点信息汇聚成一条完整的操作日志。需要注意的是,这多次获取的埋点信息对应的操作编号都为第一操作编号,即这多次埋点信息对应的操心信息都是第一微服务模块当前次操作产生的操作信息。
66.可见,本实例中,可以多次获取埋点信息,然后在将多次获取的埋点信息汇聚成一条完整的操作日志,这样可以提高操作日志生成的灵活性。
67.在一个可能的实例中,多次从所述第一微服务模块中获取所述埋点信息,得到m个所述第一操作信息和n个第二操作子信息,所述m个所述第一操作信息均对应相同的第二操作信息,所述第二操作信息包括多个所述第二操作子信息;所述根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志,包括:根据m个所述第一操作信息、 n个所述第二操作子信息和每个所述第一操作信息对应的操作编号生成m个第二操作日志;确定所述m个所述第二操作日志中包括所述第一操作编号的第二操作日志为所述第一操作日志。
68.其中,一个微服务模块可以根据多次操作而生成多个对应共同第一操作参数的第二操作参数,即这多个第二操作参数具有共同请求值、返回值等数据。即n个第二操作子信息组成一个第二操作信息,m个第一操作信息分别是第一微服务模块的不同次操作产生的操作信息。如图2d所示,多次获取的埋点信息中可以包括有两个第二操作子信息和三个第一操作信息,这三个第一操作信息对应相同的第二操作信息,因此可以根据一个第一操作信息和两个第二操作子信息生成一个操作日志,以此类推,可以根据这三个第一操作信息生成三个完整的操作日志。即将具有共同请求值、返回值等数据的埋点信息映射成多条完整的操作日志。
69.可见,本实例中,可以批量分步的获取埋点信息,生成多条完整的操作日志,可以提高日志生成的效率和灵活性。
70.在一个可能的实例中,所述微服务系统还包括消息队列模块,所述获取来自所述操作日志生成模块的第一微服务模块的第一操作日志,包括:从所述消息队列模块中获取所述第一操作日志。
71.其中,操作日志采集模块可以从消息队列模块中异步消费操作日志。
72.可见,本实例中,操作日志采集模块从消息队列模块中获取第一操作日志,提高了操作日志采集入库的灵活性。
73.在一个可能的实例中,所述存储所述第一操作日志包括的操作信息于数据库中,包括:确定所述第一操作日志包括的操作信息的信息类型;根据所述信息类型将所述第一操作日志包括的操作信息分表存储于所述数据库中。
74.其中,操作信息的操作类型可以包括第一类型和第二类型,第一类型对应第一操作信息,第二类型对应第二操作信息,即第一类型可以是body类型,第二类型可以是info类型。在对操作日志进行存储时,可以操作类型为第一类型的操作记录一张表,操作类型为第二类型的操作记录一张表。
75.可见,本实例中,按照不同的操作类型对操作信息进行分表存储,可以便于后续查
询和对操作日志进行管理。
76.在一个可能的实例中,所述根据所述信息类型将所述第一操作日志包括的操作信息进行分表存储于数据库中,包括:确定所述操作类型为预设类型的操作信息是否为预设业务对应的操作信息;若是,则根据一个单独的数据表将所述操作信息中的预设操作信息存储于所述数据库中,所述预设操作信息的字段大于预设字段。
77.其中,还可以根据具体的操作数据对应的业务对操作信息进行分表存储。特别地,当操作信息的操作类型为第二操作类型时,还可以确定该操作信息是否是预设业务对应的操作信息,若是,则将该操作信息中对应的预设操作信息再分表存储。该预设操作信息可以是操作前后的内容字段大于预设字段的操作信息。如图2e所示,图2e是本技术实施例提供的一种操作日志存储流程示意图,操作日志采集模块从mq中消费操作日志后,可以先确定业务(bussiness,biz) 是否允许记录,若是,则确定消息类型是否是第二类型,即消息类型是否为info 类型,若是info类型,则将操作信息插入“biz_info”表中,若消息类型不是info 类型,则确定该消息类型是否为body类型,若是,则再确定biz是否是分表业务,即该操作信息对应的业务是否为预设业务,若不是分表业务,则将所有操作信息的字段都存入“biz_body”表中,若是分表业务,则将操作前后内容存入“biz_detail”表中,其他字段存入“biz_body”表中。
78.可见,本实例中,对与预设业务中存在字段内容较大的操作信息,将其单独存储于一张数据表中,可以便于后续查询和对操作日志进行管理。
79.与上述实施例一致的,请参阅图3,图3是本技术实施例提供的一种操作日志生成装置的功能单元组成框图,所述操作日志生成装置30应用于微服务系统的操作日志生成模块,所述微服务系统包括多个微服务模块、所述操作日志生成模块和操作日志采集模块,所述装置30包括:确定单元301,用于确定第一微服务模块的线程本地变量中是否包括第一操作编号,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系;提取单元302,用于若包括所述第一操作编号,则从所述线程本地变量中提取所述第一操作编号;生成单元303,用于根据所述第一操作编号生成所述第一微服务模块的第一操作日志;发送单元304,用于向所述操作日志采集模块发送所述第一操作日志。
80.在一个可能的实例中,所述装置30还用于:若不包括所述第一操作编号,则生成针对所述第一微服务模块的一次操作的第二操作编号;根据所述第二操作编号生成所述第一微服务模块的所述第一操作日志;向所述操作日志采集模块发送所述第一操作日志。
81.在一个可能的实例中,在所述微服务系统还包括消息队列模块,所述向所述操作日志采集模块发送所述第一操作日志方面,所述发送单元304具体用于:向所述消息队列模块发送所述第一操作日志
82.在一个可能的实例中,在所述根据所述第一操作编号生成所述第一微服务模块的第一操作日志方面,所述生成单元303具体用于:从所述第一微服务模块中获取埋点信息,得到多个操作信息,所述多个操作信息中包括用于指示操作内容的第一操作信息,和用于指示操作参数的第二操作信息;根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志。
83.在一个可能的实例中,在所述从所述第一微服务模块中获取埋点信息,得到多个操作信息方面,所述生成单元303具体用于:根据所述第一操作编号从所述第一微服务模块中获取一次埋点信息,得到一个所述第一操作信息和一个所述第二操作信息;所述根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志,包括:根据一个所述第一操作信息、一个所述第二操作信息和所述第一操作编号生成所述第一操作日志。
84.在一个可能的实例中,在所述从所述第一微服务模块中获取埋点信息,得到多个操作信息方面,所述生成单元303具体用于:根据所述第一操作编号多次从所述第一微服务模块中获取所述埋点信息,得到一个所述第一操作信息和多个第二操作子信息,所述第二操作信息包括所述第二操作子信息;所述根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志,包括:根据一个所述第一操作信息、多个所述第二操作子信息和所述第一操作编号生成所述第一操作日志。
85.在一个可能的实例中,在所述从所述第一微服务模块中获取埋点信息,得到多个操作信息方面,所述生成单元303具体用于:多次从所述第一微服务模块中获取所述埋点信息,得到m个所述第一操作信息和n个第二操作子信息,所述m个所述第一操作信息均对应相同的第二操作信息,所述第二操作信息包括多个所述第二操作子信息;所述根据所述第一操作信息、所述第二操作信息和所述第一操作编号生成所述第一微服务模块的第一操作日志,包括:根据m 个所述第一操作信息、n个所述第二操作子信息和每个所述第一操作信息对应的操作编号生成m个第二操作日志;确定所述m个所述第二操作日志中包括所述第一操作编号的第二操作日志为所述第一操作日志。
86.可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本技术中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
87.在采用集成的单元的情况下,如图4所示,图4是本技术实施例提供的另一种操作日志生成装置的功能单元组成框图。在图4中,操作日志生成装置400 包括:处理模块412和通信模块411。处理模块412用于对操作日志生成装置的动作进行控制管理,例如,执行确定单元301、提取单元302、生成单元303和发送单元304的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块411用于操作日志生成装置与其他设备之间的交互。如图4所示,操作日志生成装置还可以包括存储模块413,存储模块413用于存储操作日志生成装置的程序代码和数据。
88.其中,处理模块412可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,cpu),通用处理器,数字信号处理器(digital signal processor, dsp),asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块411可以是收发器、rf电路或通信接口等。存储模块413可以是存储器。
89.其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述操作日志生成装置400可执行上述图 2a所示的操作日志生成方法。
90.与上述实施例一致的,请参阅图5,图5是本技术实施例提供的一种操作日志生成装置的功能单元组成框图,所述操作日志生成装置50应用于微服务系统的操作日志采集模块,所述微服务系统包括多个微服务模块、操作日志生成模块和所述操作日志采集模块,所述装置50包括:获取单元501,用于获取来自所述操作日志生成模块的第一微服务模块的第一操作日志,所述第一操作日志携带第一操作编号,所述第一操作编号为针对第二微服务模块的一次操作的操作编号,所述第一操作编号用于指示远程服务调用rpc请求,所述rpc请求用于指示第二微服务模块针对所述第一微服务模块的调用关系,或者所述第一操作日志携带第二操作编号,所述第二操作编号为针对所述第一微服务模块的一次操作的操作编号;存储单元502,用于存储所述第一操作日志包括的操作信息于数据库中。
91.在一个可能的实例中,在所述微服务系统还包括消息队列模块,所述获取来自所述操作日志生成模块的第一微服务模块的第一操作日志方面,所述获取单元501具体用于:从所述消息队列模块中获取所述第一操作日志。
92.在一个可能的实例中,在所述存储所述第一操作日志包括的操作信息于数据库中方面,所述存储单元502具体用于:确定所述第一操作日志包括的操作信息的信息类型;根据所述信息类型将所述第一操作日志包括的操作信息分表存储于所述数据库中。
93.在一个可能的实例中,在所述根据所述信息类型将所述第一操作日志包括的操作信息进行分表存储于数据库中方面,所述存储单元502具体用于:确定所述操作类型为预设类型的操作信息是否为预设业务对应的操作信息;若是,则根据一个单独的数据表将所述操作信息中的预设操作信息存储于所述数据库中,所述预设操作信息的字段大于预设字段。
94.可以理解的是,由于方法实施例与装置实施例为相同技术构思的不同呈现形式,因此,本技术中方法实施例部分的内容应同步适配于装置实施例部分,此处不再赘述。
95.在采用集成的单元的情况下,如图6所示,图6是本技术实施例提供的另一种操作日志生成装置的功能单元组成框图。在图6中,操作日志生成装置600 包括:处理模块612和通信模块611。处理模块612用于对操作日志生成装置的动作进行控制管理,例如,执行获取单元501和存储单元502的步骤,和/或用于执行本文所描述的技术的其它过程。通信模块611用于操作日志生成装置与其他设备之间的交互。如图6所示,操作日志生成装置还可以包括存储模块613,存储模块613用于存储操作日志生成装置的程序代码和数据。
96.其中,处理模块612可以是处理器或控制器,例如可以是中央处理器(centralprocessing unit,cpu),通用处理器,数字信号处理器(digital signal processor, dsp),asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本技术公开内容所描述的各种示例性的逻辑方框,模块和电路。所述处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等等。通信模块611可以是收发器、rf电路或通信接口等。存储模块613可以是存储器。
97.其中,上述方法实施例涉及的各场景的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。上述操作日志生成装置600可执行上述图2a所示的操作日志生成方法。
98.上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当
使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质。半导体介质可以是固态硬盘。
99.本技术实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤,上述计算机包括电子设备。
100.本技术实施例还提供一种计算机程序产品,上述计算机程序产品包括存储了计算机程序的非瞬时性计算机可读存储介质,上述计算机程序可操作来使计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。该计算机程序产品可以为一个软件安装包,上述计算机包括电子设备。
101.应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
102.在本技术所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
103.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
104.另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
105.上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:u盘、移动硬盘、磁碟、光盘、易失性存储器或非易失性存储器。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除
可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,ram)可用,例如静态随机存取存储器(static ram,sram)、动态随机存取存储器(dram)、同步动态随机存取存储器(synchronous dram, sdram)、双倍数据速率同步动态随机存取存储器(double data rate sdram, ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。等各种可以存储程序代码的介质。
106.虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,可轻易想到变化或替换,均可作各种更动与修改,包含上述不同功能、实施步骤的组合,包含软件和硬件的实施方式,均在本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献