CN117667688A - 一种软件调用链路提取方法及装置 - Google Patents
一种软件调用链路提取方法及装置 Download PDFInfo
- Publication number
- CN117667688A CN117667688A CN202311631185.1A CN202311631185A CN117667688A CN 117667688 A CN117667688 A CN 117667688A CN 202311631185 A CN202311631185 A CN 202311631185A CN 117667688 A CN117667688 A CN 117667688A
- Authority
- CN
- China
- Prior art keywords
- software
- log
- user operation
- operation behavior
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000605 extraction Methods 0.000 title claims description 38
- 238000000034 method Methods 0.000 claims abstract description 37
- 230000004044 response Effects 0.000 claims abstract description 30
- 238000012163 sequencing technique Methods 0.000 claims abstract description 10
- 230000004931 aggregating effect Effects 0.000 claims abstract description 7
- 230000006399 behavior Effects 0.000 claims description 180
- 230000002776 aggregation Effects 0.000 claims description 12
- 238000004220 aggregation Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 12
- 238000012216 screening Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 description 16
- 238000012545 processing Methods 0.000 description 16
- 238000012423 maintenance Methods 0.000 description 9
- 230000002159 abnormal effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000003111 delayed effect Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 5
- 238000011084 recovery Methods 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本申请提供一种软件调用链路提取方法及装置,方法包括:获取前端软件日志,前端软件日志包括前端软件请求日志和前端软件响应日志;从前端软件请求日志中读取用户操作行为标识和事务标识,根据事务标识,从前端软件响应日志中读取请求标识;获取携带请求标识的服务接口软件日志和后台服务软件日志;根据用户操作行为标识,对获取的所有前端软件日志、所有服务接口软件日志和所有后台服务软件日志进行分类聚合,得到日志分类集合;按照日志分类集合中各日志的调用发生时间,对各日志进行排序,以生成用户操作行为标识的软件调用链路。
Description
技术领域
本申请属于数据处理技术领域,尤其涉及一种软件调用链路提取方法及装置。
背景技术
日志分析是发现问题,解决系统故障的手段之一。在通过日志发现问题过程中,运维人员可以登录少量机器,通过对这些机器记录的日志进行分析即可快速发现异常问题。但是在分布式架构环境中,一个请求可能涉及多个不同的软件,运维人员难以从海量日志中快速识别出存在问题的日志,也很难将存在问题的多个日志关联,从而降低了运维工作效率,减缓了异常恢复时效。
发明内容
有鉴于此,本申请的目的在于提供一种软件调用链路提取方法及装置,用于提高运维工作效率,加快异常恢复时效。
第一方面,本申请提供一种软件调用链路提取方法,所述软件调用链路提取方法包括:获取前端软件日志,所述前端软件日志包括前端软件请求日志和前端软件响应日志;从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识;获取携带所述请求标识的服务接口软件日志和后台服务软件日志;根据所述用户操作行为标识,对获取的所有所述前端软件日志、所有所述服务接口软件日志和所有所述后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的所述事务标识和所述请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照所述用户操作行为标识聚合到同一个所述日志分类集合中;按照所述日志分类集合中各日志的调用发生时间,对所述各日志进行排序,以生成所述用户操作行为标识的软件调用链路。
第二方面,本申请提供一种软件调用链路提取装置,所述软件调用链路提取装置包括:第一获取单元,用于获取前端软件日志,所述前端软件日志包括前端软件请求日志和前端软件响应日志;读取单元,用于从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识;第二获取单元,用于获取携带所述请求标识的服务接口软件日志和后台服务软件日志;聚合单元,用于根据所述用户操作行为标识,对获取的所有所述前端软件日志、所有所述服务接口软件日志和所有所述后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的所述事务标识和所述请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照所述用户操作行为标识聚合到同一个所述日志分类集合中;生成单元,用于按照所述日志分类集合中各日志的调用发生时间,对所述各日志进行排序,以生成所述用户操作行为标识的软件调用链路。
第三方面,本申请提供一种软件调用链路提取设备,所述软件调用链路提取设备包括存储器和处理器;所述存储器中存储有程序,所述处理器运行所述程序以实现上述软件调用链路提取方法。
第四方面,本申请提供一种计算机可读介质,所述计算机可读介质中存储有计算机程序,所述计算机程序被处理器运行时实现上述软件调用链路提取方法。
与现有技术相比,本申请提供的上述技术方案具有如下优点:
上述方案可以以用户操作行为作为切入点,利用日志中的事务标识和请求标识提取出不同用户操作行为的软件调用链路,以通过软件调用链路指示出在处理用户操作行为对应的请求时涉及的所有软件,得到不同用户操作行为的请求处理全过程,这样在发生异常时可以通过软件调用链路进行追踪,以通过软件调用链路追踪导致该异常的日志,提高了运维工作效率,加快了异常恢复时效。
此处以简要的形式介绍本申请的构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1是本申请实施例提供的事务标识和请求标识传递的示意图;
图2是本申请实施例提供的软件调用链路提取方法的一种流程图;
图3是本申请实施例提供的软件调用链路提取方法的另一种流程图;
图4是本申请实施例提供的软件调用链路提取方法的再一种流程图;
图5是本申请实施例提供的软件调用链路提取装置的一种结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
在分布式架构环境中,一个请求可能涉及多个不同的软件,运维人员难以从海量日志中快速识别出存在问题的日志,也很难将存在问题的多个日志关联,从而降低了运维工作效率,减缓了异常恢复时效。
申请人通过研究分布式架构环境中的软件调用过程发现,在分布式架构环境中,一个请求可能涉及多个前端软件、多个服务接口软件和多个后台服务软件。通常情况下,一个请求最先调用前端软件,前端软件可以调用服务接口软件,再由服务接口软件调用后台服务软件,因此在处理一个请求过程中,服务接口软件是前端软件和后台服务软件进行数据交互和通信的“窗口”。
在同一个请求中,前端软件会生成一个事务标识(如事务ID),服务接口软件会生成相对应的请求标识(如请求ID),事务ID记录在此请求涉及的前端软件的前端软件请求日志中,同时也记录在服务接口软件的服务接口软件日志中。服务接口软件作为前端软件和后台服务软件进行数据交互和通信的“窗口”,服务接口软件的请求ID会传递到请求涉及的所有后台服务软件,后台服务软件之间的相互调用也会将请求ID传递下去,同时请求ID会记录在此请求涉及的前端软件的前端软件响应日志中。如图1所示,其示出了事务ID和请求ID在前端软件、服务接口软件和后台服务软件传递过程,由此,通过事务ID和请求ID可以串联同一个请求涉及的前端软件、服务接口软件和后台服务软件。
在前端软件请求日志中还可以记录用户操作行为,不同的用户操作行为具有不同用户操作行为标识,因此,在前端软件请求日志中记录用户操作行为标识,以通过该用户操作行为标识指示前端软件请求日志是在发生何种用户操作行为时产生。而用户操作行为可以触发一个请求,在不同时间下可能发生相同的用户操作行为,相同的用户操作行为在发生时间不同的情况下,其对应的事务ID和请求ID也不同,从而可以通过事务ID和请求ID串联不同发生时间下任一用户操作行为涉及的前端软件、服务接口软件和后台服务软件,以得到不同发生时间下任一用户操作行为的软件调用链路,由此以用户操作行为作为切入点,利用日志中的事务ID和请求ID提取出不同用户操作行为的软件调用链路,以通过软件调用链路指示出在处理用户操作行为对应的请求时涉及的所有软件,得到不同用户操作行为的请求处理全过程,这样在发生异常时可以通过软件调用链路进行追踪,以通过软件调用链路追踪导致该异常的日志,提高了运维工作效率,加快了异常恢复时效。
下面结合流程图,对本申请实施例提供的软件调用链路提取方法进行说明。图2示出了软件调用链路提取方法的一种可选流程,可以包括以下步骤:
S101、获取前端软件日志,前端软件日志包括前端软件请求日志和前端软件响应日志。可以理解的是:一个用户操作行为在触发一个请求后,该请求最先调用的是前端软件,由前端软件触发服务接口软件的调用,再由服务接口软件触发后台服务软件的调用,且这些软件之间可通过事务标识和请求标识串联,因此为了得到一个用户操作行为的软件调用链路,首先获取前端软件日志。
在本实施例中,获取前端软件日志的方式可以是:一、获取与预先指定的用户操作行为匹配的前端软件日志;二、获取预先指定的调用时间下的前端软件日志;三、获取预先指定的前端软件名称对应的前端软件日志。其中,预先指定的用户操作行为、调用时间和前端软件名称可以是由用户指定,具体指定内容,本实施例不进行限定。
此外,用户还可以指定其他参数来获取前端软件日志,如用户指定事务标识来获取前端软件日志,但是用户指定事务标识存在一定难度且指定的事务标识不一定被使用,因此通过事务标识来获取前端软件日志存在一定难度。而用户操作行为、调用时间和前端软件名称这些参数的获取难度以及准确度相对较高,因此通过这些参数可以较为准确地获取到前端软件日志。
在一些示例中,预先指定的用户操作行为、调用时间和前端软件名称可以相互结合,如获取与预先指定的用户操作行为对应、且在预先指定的调用时间下的前端软件日志。
S102、从前端软件请求日志中读取用户操作行为标识和事务标识,根据事务标识,从前端软件响应日志中读取请求标识。
在本实施例中,用户操作行为标识指向一个用户操作行为,用户操作行为标识可以是用户操作行为编号。一个前端软件日志包括一个前端软件请求日志和一个前端软件响应日志,这两个日志中记录的内容不同,本实施例按照这两个日志记录的内容分别获取到用户操作行为标识、事务标识和请求标识。不同用户操作行为可能调用相同软件,不同时间下发生的相同用户操作行为也可能调用相同软件,那么为了能够得到任一次发生的用户操作行为的软件调用链路,事务标识和请求标识可以具有一对一的对应关系,由此以用户操作行为作为切入点,以事务标识和请求标识区分,以得到任一次发生的用户操作行为的软件调用链路。
S103、获取携带请求标识的服务接口软件日志和后台服务软件日志。携带请求标识的服务接口软件日志和后台服务软件日志可以是:记录了请求标识的服务接口软件日志和后台服务软件日志。
S104、根据用户操作行为标识,对获取的所有前端软件日志、所有服务接口软件日志和所有后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的事务标识和请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照用户操作行为标识聚合到同一个日志分类集合中,由此以用户操作行为标识指向的用户操作行为作为切入点,利用具有一对一对应关系的事务标识和请求标识,将一个用户操作行为涉及的所有日志划分至同一个日志分类集合中。
其中,分类聚合可以是对各软件日志进行分类并聚合到一个日志分类集合中,分类聚合的过程可以是:获取每个用户操作行为标识对应的前端软件日志,以按照用户操作行为标识分类前端软件日志,将具有相同用户操作行为标识的前端软件日志划分到一起;然后查找每个用户操作行为标识对应的事务标识,其中,同一个前端软件请求日志中的用户操作行为标识和事务标识是具有对应关系的;针对任一用户操作行为标识对应的事务标识:查找与该事务标识具有一对一对应关系的请求标识,将具有一对一对应关系的事务标识和请求标识的前端软件日志、服务接口软件日志和后台服务软件日志划分到一起。
因为前端软件日志已经通过用户操作行为标识划分,相同用户操作行为标识下的前端软件日志又通过事务标识再次划分,通过事务标识和请求标识的一对一对应关系,对服务接口软件日志和后台服务软件日志完成划分,从而实现将一个用户操作行为下携带一对一对应关系的事务标识和请求标识的所有日志划分至同一个日志分类集合中。
S105、按照日志分类集合中各日志的调用发生时间,对各日志进行排序,以生成用户操作行为标识的软件调用链路。
在本实施例中,将日志分类集合中各日志作为软件调用链路中的一个日志节点,通过各日志的调用发生时间串联日志节点,从而得到表示用户操作行为对应的请求处理全过程的软件调用链路,且该软件调用链路也可以指示出各软件之间的调用关系。
由此,上述软件调用链路提取方法可以以用户操作行为作为切入点,利用日志中的事务标识和请求标识提取出不同用户操作行为的软件调用链路,以通过软件调用链路指示出在处理用户操作行为对应的请求时涉及的所有软件,得到不同用户操作行为的请求处理全过程,这样在发生异常时可以通过软件调用链路进行追踪,以通过软件调用链路追踪导致该异常的日志,提高了运维工作效率,加快了异常恢复时效。
图3示出了本申请实施例提供的软件调用链路提取方法的另一种可选流程,可以包括以下步骤:
S201、获取用户指定的前端软件名称和用户指定的调用时间。
S202、在识别到待处理软件日志携带前端软件名称、且待处理软件日志的调用发生时间与用户指定的调用时间匹配的情况下,确定待处理软件日志为前端软件日志。
步骤S201和步骤S202是步骤S101获取前端软件日志的一种可行方式,通过用户指定的前端软件名称和用户指定的调用时间来减少要获取的前端软件日志的数量,加快处理速度。并且用户指定的前端软件名称和用户指定的调用时间一般是用户较为关心的,以获取用户较为关心的前端软件日志,进而提取到用户较为关心的软件调用链路。
其中,用户指定的调用时间可以是一个时间点,也可以是一个时间段。调用发生时间可以表示待处理前端软件被调用的时间,若用户指定的调用时间是一个时间点,则一个待处理软件日志的调用发生时间与用户指定的时间点相同,或调用发生时间与用户指定的时间点之间的时间差较小(如通过一个阈值来限定两者的时间差),则确定待处理软件日志的调用发生时间与用户指定的调用时间匹配。若用户指定的调用时间是一个时间段,则一个待处理软件日志的调用发生时间位于该时间段中,则确定待处理软件日志的调用发生时间与用户指定的调用时间匹配。而一个待处理软件日志携带前端软件名称,说明该待处理软件日志是调用前端软件时生成,即该待处理软件日志是该前端软件的日志,由此在待处理软件日志的调用发生时间与用户指定的调用时间匹配的情况下,确定待处理软件日志可以为前端软件日志。
分布式架构环境中软件日志数量众多且软件日志的类型也众多,分布式架构环境可以按照软件类型对软件日志进行划分,以将前端软件日志、服务接口软件日志和后台服务软件日志划分至不同存储空间或集合中,以便于快速获取前端软件日志、服务接口软件日志和后台服务软件日志。
S203、从前端软件请求日志中读取用户操作行为标识和事务标识,根据事务标识,从前端软件响应日志中读取请求标识。
S204、获取携带请求标识且调用发生时间在预设时间段的服务接口软件日志和后台服务软件日志,预设时间段以用户指定的调用时间为开始时间,以用户指定的调用时间延后预设时间为结束时间。
若用户指定的调用时间为一个时间点,则预设时间段可以是以该时间点为开始时间,以该时间点向后延后预设时间为结束时间;若用户指定的调用时间为一个时间段,则将该时间段的开始时间和结束时间中的至少一个时间延后预设时间,得到预设时间段。在一些示例中,若用户指定的调用时间为一个时间段,该时间段的开始时间和结束时间所延后的预设时间可以相同也可以不同。
例如,预设时间可以根据历史请求涉及的多个软件之间的调用发生时间而定,以通过预设时间段尽可能获取到一个请求(即一个用户操作行为)涉及的所有软件的日志。例如预设时间可以在用户指定的调用时间上延后一分钟,获取携带请求标识且调用发生时间在用户指定的调用时间上延后一分钟的服务接口软件日志和后台服务软件日志,对于预设时间的取值本实施例不进行限定。
在本实施例中,通过预设时间段限制服务接口软件日志和后台服务软件日志的获取,可以在一定程度上减少获取的日志数量,提高效率。虽然日志数量减少,但是预设时间段的设置可以尽可能地获取到一个用户操作行为涉及到的所有日志,以保证得到的软件调用链路的完整性。
S205、根据用户操作行为标识,对获取的所有前端软件日志、所有服务接口软件日志和所有后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的事务标识和请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照用户操作行为标识聚合到同一个日志分类集合中。
S206、按照日志分类集合中各日志的调用发生时间,对各日志进行排序,以生成用户操作行为标识的软件调用链路。
在本实施例中,通过用户指定的前端软件名称和用户指定的调用时间来减少要获取的前端软件日志的数量,加快处理速度。并且用户指定的前端软件名称和用户指定的调用时间一般是用户较为关心的,以获取用户较为关心的前端软件日志,进而提取到用户较为关心的软件调用链路。
图4示出了本申请实施例提供的软件调用链路提取方法的再一种可选流程,可以包括以下步骤:
S101、获取前端软件日志,前端软件日志包括前端软件请求日志和前端软件响应日志。
S102、从前端软件请求日志中读取用户操作行为标识和事务标识,根据事务标识,从前端软件响应日志中读取请求标识。
S103、获取携带请求标识的服务接口软件日志和后台服务软件日志。
S104、根据用户操作行为标识,对获取的所有前端软件日志、所有服务接口软件日志和所有后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的事务标识和请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照用户操作行为标识聚合到同一个日志分类集合中。
S105、按照日志分类集合中各日志的调用发生时间,对各日志进行排序,以生成用户操作行为标识的软件调用链路。
S106、根据软件集群部署与交换机的对应关系,确定软件调用链路中与交换机具有对应关系的日志节点,在日志节点中写入交换机的信息。
其中,日志节点是软件调用链路中一个节点,在日志节点中写入日志对应的软件信息和运行软件的服务器信息,例如在日志节点中写入软件名称、调用发生时间和运行该软件的服务器的属性,服务器的属性包括服务器的名称、服务器的位置、服务器的型号等等。
软件集群部署用于记录前端软件、服务接口软件和后台服务软件的部署,通过软件集群部署与交换机的对应关系,可以确定出该软件集群部署中记录的软件对应的交换机,从而根据该软件确定该交换机对应的日志节点,以将交换机的信息添加到软件调用链路中,得到具有交换机的信息的软件调用链路。交换机的信息可以包括交换机的属性,如包括交换机的名称、交换机的位置、交换机的配置以及交换机与其他交换机之间的关系。
分布式集群系统包括多个交换机,通过多个交换机构成一个分布式架构环境,在交换机故障时分布式集群系统的网络故障。而软件调用链路中写入了交换机的信息,在交换机故障时可以从软件调用链路中确定出发生故障的交换机所在日志节点,通过该日志节点中写入的软件信息和服务器信息确定出受网络故障影响的软件和服务器,由此在网络故障时,可以利用软件调用链路迅速排查出受影响的软件和服务器,缩小排查范围。
S107、从所有用户操作行为标识中确定高频用户操作行为标识,高频用户操作行为标识是所有用户操作行为标识中出现最多的用户操作行为标识。
可以理解的是:一个软件调用链路与一个用户操作行为标识对应,相同用户操作行为标识可能对应多个软件调用链路,本实施例可以统计每个用户操作行为标识在所有用户操作行为标识中出现的次数或频率,根据用户操作行为标志在所有用户操作行为标识中出现的次数或频率,确定高频用户操作行为标识。
S108、从所有软件调用链路中确定高频软件调用链路,高频软件调用链路是所有软件调用链路中占比最大的软件调用链路。一种方式是:统计每个软件调用链路在所有软件调用链路中的占比,根据每个软件调用链路在所有软件调用链路中的占比,确定高频软件调用链路。例如根据每个软件调用链路在所有软件调用链路中的占比,对所有软件调用链路按照占比由大到小进行排序,排序最前的软件调用链路为高频软件调用链路。
可以理解的是:高频用户操作行为标识是所有用户操作行为标识中经常出现的,意味着高频用户操作行为标识指向的用户操作行为经常发生,那么该高频用户操作行为标识的软件调用链路中各软件也是经常被调用,由此高频用户操作行为标识的软件调用链路可以是需要重点关注的,相对应的这些软件调用链路记录的软件和服务器也是需要重点关注的。同样的高频软件调用链路是所有软件调用链路中经常出现的,意味着高频软件调用链路记录的软件和服务器也是需要重点关注的,由此通过高频用户操作行为标识和高频软件调用链路可以筛选出重点关注的软件与服务器。
在一些示例中,高频用户操作行为标识可以应用到高频软件调用链路确定过程中,如在确定出高频用户操作行为标识后,从高频用户操作行为标识的所有软件调用链路中筛选出高频软件调用链路。
在一些示例中,将软件调用链路导入图数据库,直观地展示出用户操作行为与各软件、服务器之间的关联关系。
在本实施例中,软件日志为半结构化形式,每个软件日志包括:控制头、扩展区、内容区。控制头和扩展区为固定字段的内容组合,主要记录软件名称、时间信息、标识信息等,内容区为传输的数据流,主要记录操作内容及返回的信息等。
基于软件日志的结构,本实施例从前端软件请求日志中读取用户操作行为标识和事务标识,根据事务标识,从前端软件响应日志中读取请求标识的过程可以是:从前端软件请求日志的扩展区读取用户操作行为标识、以及从前端软件请求日志的内容区读取事务标识,根据事务标识,从前端软件响应日志的内容区读取请求标识。相对应的,获取携带请求标识的服务接口软件日志和后台服务软件日志的过程可以是:获取控制头中携带请求标识的服务接口软件日志和后台服务软件日志。
前端软件请求日志的扩展区还携带前端软件名称,前端软件请求日志的控制头携带前端软件的调用发生时间和运行前端软件的服务器信息,服务接口软件日志的控制头还携带服务接口软件的调用发生时间、运行服务接口软件的服务器信息,后台服务软件日志的控制头还携带后台服务软件的调用发生时间、运行后台服务软件的服务器信息,由此在读取每个软件日志时还可以读取到调用发生时间、运行后台服务软件的服务器信息,以及从前端软件请求日志中读取到前端软件名称。若服务接口软件日志和后台服务软件日志中携带有软件名称,也可以读取到软件名称,在一些示例中,服务接口软件日志和后台服务软件日志的扩展区可以携带软件名称。其中,调用发生时间在生成软件调用链路时使用,服务器信息记录在软件调用链路中。
在本实施例中,通过对各软件日志进行解析,得到用于生成软件调用链路的用户操作行为标识、事务标识、请求标识、调用发生时间等,通过这些信息自动来自动生成软件调用链路,并在软件调用链路中写入与软件相关的信息,如软件名称和服务器信息,以利用软件调用链路进行性能分析,方便运维人员筛选出重点关注的软件与服务器,提升运维保障能力。
附图中的流程图和框图,图示了按照本公开(申请)各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
虽然流程图或框图采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
此外,可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
图5示出了本申请实施例提供的软件调用链路装置的一种可选结构,该软件调用链路提取装置可以包括:第一获取单元10、读取单元20、第二获取单元30、聚合单元40和生成单元50。
第一获取单元10,用于获取前端软件日志,前端软件日志包括前端软件请求日志和前端软件响应日志。
在一些示例中,第一获取单元10获取用户指定的前端软件名称和用户指定的调用时间;在识别到待处理软件日志携带前端软件名称、且待处理软件日志的调用发生时间与用户指定的调用时间匹配的情况下,确定待处理软件日志为前端软件日志。以通过用户指定的前端软件名称和用户指定的调用时间来减少要获取的前端软件日志的数量,加快处理速度。并且用户指定的前端软件名称和用户指定的调用时间一般是用户较为关心的,以获取用户较为关心的前端软件日志,进而提取到用户较为关心的软件调用链路。
读取单元20,用于从前端软件请求日志中读取用户操作行为标识和事务标识,根据事务标识,从前端软件响应日志中读取请求标识。
第二获取单元30,用于获取携带请求标识的服务接口软件日志和后台服务软件日志。
在一些示例中,第二获取单元30获取携带请求标识且调用发生时间在预设时间段的服务接口软件日志和后台服务软件日志,预设时间段以用户指定的调用时间为开始时间,以用户指定的调用时间延后预设时间为结束时间。在本实施例中,通过预设时间段限制服务接口软件日志和后台服务软件日志的获取,可以在一定程度上减少获取的日志数量,提高效率。虽然日志数量减少,但是预设时间段的设置可以尽可能地获取到一个用户操作行为涉及到的所有日志,以保证得到的软件调用链路的完整性。
在本实施例中,软件日志为半结构化形式,每个软件日志包括:控制头、扩展区、内容区。控制头和扩展区为固定字段的内容组合,主要记录软件名称、时间信息、标识信息等,内容区为传输的数据流,主要记录操作内容及返回的信息等。
基于软件日志的结构,读取单元20和第二获取单元30按照如下方式实施:
读取单元20从前端软件请求日志的扩展区读取用户操作行为标识、以及从前端软件请求日志的内容区读取事务标识,根据事务标识,从前端软件响应日志的内容区读取请求标识,前端软件请求日志的扩展区还携带前端软件名称、前端软件请求日志的控制头携带前端软件的调用发生时间和运行前端软件的服务器信息;
第二获取单元30获取控制头中携带请求标识的服务接口软件日志和后台服务软件日志,服务接口软件日志的控制头还携带服务接口软件的调用发生时间、运行服务接口软件的服务器信息,后台服务软件日志的控制头还携带后台服务软件的调用发生时间、运行后台服务软件的服务器信息;
其中,调用发生时间在生成软件调用链路时使用,服务器信息记录在软件调用链路中。
聚合单元40,用于根据用户操作行为标识,对获取的所有前端软件日志、所有服务接口软件日志和所有后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的事务标识和请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照用户操作行为标识聚合到同一个日志分类集合中.
其中,分类聚合可以是对各软件日志进行分类并聚合到一个日志分类集合中,分类聚合的过程可以是:获取每个用户操作行为标识对应的前端软件日志,以按照用户操作行为标识分类前端软件日志,将具有相同用户操作行为标识的前端软件日志划分到一起;然后查找每个用户操作行为标识对应的事务标识,其中,同一个前端软件请求日志中的用户操作行为标识和事务标识是具有对应关系的;针对任一用户操作行为标识对应的事务标识:查找与该事务标识具有一对一对应关系的请求标识,将具有一对一对应关系的事务标识和请求标识的前端软件日志、服务接口软件日志和后台服务软件日志划分到一起。
因为前端软件日志已经通过用户操作行为标识划分,相同用户操作行为标识下的前端软件日志又通过事务标识再次划分,通过事务标识和请求标识的一对一对应关系,对服务接口软件日志和后台服务软件日志完成划分,从而实现将一个用户操作行为下携带一对一对应关系的事务标识和请求标识的所有日志划分至同一个日志分类集合中。
生成单元50,用于按照日志分类集合中各日志的调用发生时间,对各日志进行排序,以生成用户操作行为标识的软件调用链路。在本实施例中,将日志分类集合中各日志作为软件调用链路中的一个日志节点,通过各日志的调用发生时间串联日志节点,从而得到表示用户操作行为对应的请求处理全过程的软件调用链路,且该软件调用链路也可以指示出各软件之间的调用关系。
由此,上述软件调用链路提取装置可以以用户操作行为作为切入点,利用日志中的事务标识和请求标识提取出不同用户操作行为的软件调用链路,以通过软件调用链路指示出在处理用户操作行为对应的请求时涉及的所有软件,得到不同用户操作行为的请求处理全过程,这样在发生异常时可以通过软件调用链路进行追踪,以通过软件调用链路追踪导致该异常的日志,提高了运维工作效率,加快了异常恢复时效。
在一些示例中,软件调用链路提取装置还包括:确定单元。在一些示例中,确定单元,用于根据软件集群部署与交换机的对应关系,确定软件调用链路中与交换机具有对应关系的日志节点,在日志节点中写入交换机的信息,日志节点是软件调用链路中一个节点,在日志节点中写入日志对应的软件信息和运行软件的服务器信息,软件集群部署用于记录前端软件、服务接口软件和后台服务软件的部署;交换机的信息用于在分布式集群系统因交换机故障导致网络故障时,通过交换机的信息确定受网络故障影响的软件和服务器,由此在网络故障时,可以利用软件调用链路迅速排查出受影响的软件和服务器,缩小排查范围。
在一些示例中,确定单元,用于从所有用户操作行为标识中确定高频用户操作行为标识,高频用户操作行为标识是所有用户操作行为标识中出现最多的用户操作行为标识,以及用于从所有软件调用链路中确定高频软件调用链路,高频软件调用链路是所有软件调用链路中占比最大的软件调用链路,高频用户操作行为标识和高频软件调用链路用于筛选需关注的软件和服务器。
可以理解的是:高频用户操作行为标识是所有用户操作行为标识中经常出现的,意味着高频用户操作行为标识指向的用户操作行为经常发生,那么该高频用户操作行为标识的软件调用链路中各软件也是经常被调用,由此高频用户操作行为标识的软件调用链路可以是需要重点关注的,相对应的这些软件调用链路记录的软件和服务器也是需要重点关注的。同样的高频软件调用链路是所有软件调用链路中经常出现的,意味着高频软件调用链路记录的软件和服务器也是需要重点关注的,由此通过高频用户操作行为标识和高频软件调用链路可以筛选出重点关注的软件与服务器。
在一些示例中,高频用户操作行为标识可以应用到高频软件调用链路确定过程中,如在确定出高频用户操作行为标识后,从高频用户操作行为标识的所有软件调用链路中筛选出高频软件调用链路。
在一些示例中,软件调用链路提取装置可以将软件调用链路导入图数据库,直观地展示出用户操作行为与各软件、服务器之间的关联关系。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
本申请实施例还提供一种计算机可读介质,计算机可读介质中存储有计算机程序,计算机程序被处理器运行时实现上述软件调用链路提取方法。
在本公开的上下文中,计算机可读介质可以是一种机器可读介质,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置从网络上被下载和安装,或者从存储装置被安装,或者从ROM被安装。在该计算机程序被处理装置执行时,执行本公开实施例的方法中限定的上述功能。
根据本公开的一个或多个实施例,示例一提供了一种软件调用链路提取方法,包括:获取前端软件日志,所述前端软件日志包括前端软件请求日志和前端软件响应日志;从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识;获取携带所述请求标识的服务接口软件日志和后台服务软件日志;根据所述用户操作行为标识,对获取的所有所述前端软件日志、所有所述服务接口软件日志和所有所述后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的所述事务标识和所述请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照所述用户操作行为标识聚合到同一个所述日志分类集合中;按照所述日志分类集合中各日志的调用发生时间,对所述各日志进行排序,以生成所述用户操作行为标识的软件调用链路。
根据本公开的一个或多个实施例,示例二提供了示例一的方法中所述获取前端软件日志的一种可行方式,获取前端软件日志包括:获取用户指定的前端软件名称和用户指定的调用时间;在识别到待处理软件日志携带所述前端软件名称、且所述待处理软件日志的调用发生时间与所述用户指定的调用时间匹配的情况下,确定所述待处理软件日志为所述前端软件日志。
根据本公开的一个或多个实施例,示例三提供了示例一的方法中获取携带所述请求标识的服务接口软件日志和后台服务软件日志的一种可行方式,所述获取携带所述请求标识的服务接口软件日志和后台服务软件日志包括:获取携带所述请求标识且调用发生时间在预设时间段的服务接口软件日志和后台服务软件日志,所述预设时间段以所述用户指定的调用时间为开始时间,以所述用户指定的调用时间延后预设时间为结束时间。
根据本公开的一个或多个实施例,示例三提供了示例一的方法中读取用户操作行为标识、事务标识和请求标识的一种可行方式,所述从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识包括:从所述前端软件请求日志的扩展区读取所述用户操作行为标识、以及从所述前端软件请求日志的内容区读取所述事务标识,根据所述事务标识,从所述前端软件响应日志的内容区读取所述请求标识,所述前端软件请求日志的扩展区还携带所述前端软件名称、所述前端软件请求日志的控制头携带所述前端软件的调用发生时间和运行所述前端软件的服务器信息;
示例三还提供了示例一的方法中获取服务接口软件日志和后台服务软件日志的一种可行方式,获取携带所述请求标识的服务接口软件日志和后台服务软件日志包括:获取控制头中携带所述请求标识的服务接口软件日志和后台服务软件日志,所述服务接口软件日志的控制头还携带服务接口软件的调用发生时间、运行所述服务接口软件的服务器信息,所述后台服务软件日志的控制头还携带后台服务软件的调用发生时间、运行所述后台服务软件的服务器信息;其中,所述调用发生时间在生成所述软件调用链路时使用,所述服务器信息记录在所述软件调用链路中。
根据本公开的一个或多个实施例,示例四提供了示例一的方法还包括:根据所述软件集群部署与交换机的对应关系,确定所述软件调用链路中与所述交换机具有对应关系的日志节点,在所述日志节点中写入所述交换机的信息,所述日志节点是所述软件调用链路中一个节点,在所述日志节点中写入日志对应的软件信息和运行所述软件的服务器信息,所述软件集群部署用于记录前端软件、服务接口软件和后台服务软件的部署;所述交换机的信息用于在分布式集群系统因交换机故障导致网络故障时,通过所述交换机的信息确定受所述网络故障影响的软件和服务器。
根据本公开的一个或多个实施例,示例五提供了示例一的方法还包括:从所有所述用户操作行为标识中确定高频用户操作行为标识,所述高频用户操作行为标识是所有所述用户操作行为标识中出现最多的用户操作行为标识;从所有软件调用链路中确定高频软件调用链路,所述高频软件调用链路是所有软件调用链路中占比最大的软件调用链路,所述高频用户操作行为标识和所述高频软件调用链路用于筛选需关注的软件和服务器。
根据本公开的一个或多个实施例,示例六提供了一种软件调用链路提取装置,包括:第一获取单元,用于获取前端软件日志,所述前端软件日志包括前端软件请求日志和前端软件响应日志;读取单元,用于从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识;第二获取单元,用于获取携带所述请求标识的服务接口软件日志和后台服务软件日志;聚合单元,用于根据所述用户操作行为标识,对获取的所有所述前端软件日志、所有所述服务接口软件日志和所有所述后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的所述事务标识和所述请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照所述用户操作行为标识聚合到同一个所述日志分类集合中;生成单元,用于按照所述日志分类集合中各日志的调用发生时间,对所述各日志进行排序,以生成所述用户操作行为标识的软件调用链路。
根据本公开的一个或多个实施例,示例七提供了示例六的装置还包括:确定单元,用于根据所述软件集群部署与交换机的对应关系,确定所述软件调用链路中与所述交换机具有对应关系的日志节点,在所述日志节点中写入所述交换机的信息,所述日志节点是所述软件调用链路中一个节点,在所述日志节点中写入日志对应的软件信息和运行所述软件的服务器信息,所述软件集群部署用于记录前端软件、服务接口软件和后台服务软件的部署;所述交换机的信息用于在分布式集群系统因交换机故障导致网络故障时,通过所述交换机的信息确定受所述网络故障影响的软件和服务器;或者,所述确定单元,用于从所有所述用户操作行为标识中确定高频用户操作行为标识,所述高频用户操作行为标识是所有所述用户操作行为标识中出现最多的用户操作行为标识,以及用于从所有软件调用链路中确定高频软件调用链路,所述高频软件调用链路是所有软件调用链路中占比最大的软件调用链路,所述高频用户操作行为标识和所述高频软件调用链路用于筛选需关注的软件和服务器。
根据本公开的一个或多个实施例,示例八提供了一种软件调用链路提取设备,包括:存储器和处理器;所述存储器中存储有程序,所述处理器运行所述程序以实现上述软件调用链路提取方法。
根据本公开的一个或多个实施例,示例九提供了一种计算机可读介质,所述计算机可读介质中存储有计算机程序,所述计算机程序被处理器运行时实现上述软件调用链路提取方法。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种软件调用链路提取方法,其特征在于,所述软件调用链路提取方法包括:
获取前端软件日志,所述前端软件日志包括前端软件请求日志和前端软件响应日志;
从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识;
获取携带所述请求标识的服务接口软件日志和后台服务软件日志;
根据所述用户操作行为标识,对获取的所有所述前端软件日志、所有所述服务接口软件日志和所有所述后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的所述事务标识和所述请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照所述用户操作行为标识聚合到同一个所述日志分类集合中;
按照所述日志分类集合中各日志的调用发生时间,对所述各日志进行排序,以生成所述用户操作行为标识的软件调用链路。
2.根据权利要求1所述的软件调用链路提取方法,其特征在于,所述获取前端软件日志包括:获取用户指定的前端软件名称和用户指定的调用时间;
在识别到待处理软件日志携带所述前端软件名称、且所述待处理软件日志的调用发生时间与所述用户指定的调用时间匹配的情况下,确定所述待处理软件日志为所述前端软件日志。
3.根据权利要求2所述的软件调用链路提取方法,其特征在于,所述获取携带所述请求标识的服务接口软件日志和后台服务软件日志包括:获取携带所述请求标识且调用发生时间在预设时间段的服务接口软件日志和后台服务软件日志,所述预设时间段以所述用户指定的调用时间为开始时间,以所述用户指定的调用时间延后预设时间为结束时间。
4.根据权利要求1所述的软件调用链路提取方法,其特征在于,所述从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识包括:
从所述前端软件请求日志的扩展区读取所述用户操作行为标识、以及从所述前端软件请求日志的内容区读取所述事务标识,根据所述事务标识,从所述前端软件响应日志的内容区读取所述请求标识,所述前端软件请求日志的扩展区还携带所述前端软件名称、所述前端软件请求日志的控制头携带所述前端软件的调用发生时间和运行所述前端软件的服务器信息;
获取携带所述请求标识的服务接口软件日志和后台服务软件日志包括:获取控制头中携带所述请求标识的服务接口软件日志和后台服务软件日志,所述服务接口软件日志的控制头还携带服务接口软件的调用发生时间、运行所述服务接口软件的服务器信息,所述后台服务软件日志的控制头还携带后台服务软件的调用发生时间、运行所述后台服务软件的服务器信息;
其中,所述调用发生时间在生成所述软件调用链路时使用,所述服务器信息记录在所述软件调用链路中。
5.根据权利要求1至4中任意一项所述的软件调用链路提取方法,其特征在于,所述软件调用链路提取方法还包括:根据所述软件集群部署与交换机的对应关系,确定所述软件调用链路中与所述交换机具有对应关系的日志节点,在所述日志节点中写入所述交换机的信息,所述日志节点是所述软件调用链路中一个节点,在所述日志节点中写入日志对应的软件信息和运行所述软件的服务器信息,所述软件集群部署用于记录前端软件、服务接口软件和后台服务软件的部署;
所述交换机的信息用于在分布式集群系统因交换机故障导致网络故障时,通过所述交换机的信息确定受所述网络故障影响的软件和服务器。
6.根据权利要求1至4中任意一项所述的软件调用链路提取方法,其特征在于,所述软件调用链路提取方法还包括:
从所有所述用户操作行为标识中确定高频用户操作行为标识,所述高频用户操作行为标识是所有所述用户操作行为标识中出现最多的用户操作行为标识;
从所有软件调用链路中确定高频软件调用链路,所述高频软件调用链路是所有软件调用链路中占比最大的软件调用链路,所述高频用户操作行为标识和所述高频软件调用链路用于筛选需关注的软件和服务器。
7.一种软件调用链路提取装置,其特征在于,所述软件调用链路提取装置包括:
第一获取单元,用于获取前端软件日志,所述前端软件日志包括前端软件请求日志和前端软件响应日志;
读取单元,用于从所述前端软件请求日志中读取用户操作行为标识和事务标识,根据所述事务标识,从所述前端软件响应日志中读取请求标识;
第二获取单元,用于获取携带所述请求标识的服务接口软件日志和后台服务软件日志;
聚合单元,用于根据所述用户操作行为标识,对获取的所有所述前端软件日志、所有所述服务接口软件日志和所有所述后台服务软件日志进行分类聚合,得到日志分类集合,以将具有一对一对应关系的所述事务标识和所述请求标识的前端软件日志、服务接口软件日志和后台服务软件日志按照所述用户操作行为标识聚合到同一个所述日志分类集合中;
生成单元,用于按照所述日志分类集合中各日志的调用发生时间,对所述各日志进行排序,以生成所述用户操作行为标识的软件调用链路。
8.根据权利要求7所述的软件调用链路提取装置,其特征在于,所述软件调用链路提取装置还包括:
确定单元,用于根据所述软件集群部署与交换机的对应关系,确定所述软件调用链路中与所述交换机具有对应关系的日志节点,在所述日志节点中写入所述交换机的信息,所述日志节点是所述软件调用链路中一个节点,在所述日志节点中写入日志对应的软件信息和运行所述软件的服务器信息,所述软件集群部署用于记录前端软件、服务接口软件和后台服务软件的部署;所述交换机的信息用于在分布式集群系统因交换机故障导致网络故障时,通过所述交换机的信息确定受所述网络故障影响的软件和服务器;
或者,
所述确定单元,用于从所有所述用户操作行为标识中确定高频用户操作行为标识,所述高频用户操作行为标识是所有所述用户操作行为标识中出现最多的用户操作行为标识,以及用于从所有软件调用链路中确定高频软件调用链路,所述高频软件调用链路是所有软件调用链路中占比最大的软件调用链路,所述高频用户操作行为标识和所述高频软件调用链路用于筛选需关注的软件和服务器。
9.一种软件调用链路提取设备,其特征在于,所述软件调用链路提取设备包括存储器和处理器;所述存储器中存储有程序,所述处理器运行所述程序以实现如权利要求1至6中任意一项所述的软件调用链路提取方法。
10.一种计算机可读介质,其特征在于,所述计算机可读介质中存储有计算机程序,所述计算机程序被处理器运行时实现如权利要求1至6中任意一项所述的软件调用链路提取方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311631185.1A CN117667688A (zh) | 2023-11-30 | 2023-11-30 | 一种软件调用链路提取方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311631185.1A CN117667688A (zh) | 2023-11-30 | 2023-11-30 | 一种软件调用链路提取方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117667688A true CN117667688A (zh) | 2024-03-08 |
Family
ID=90063457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311631185.1A Pending CN117667688A (zh) | 2023-11-30 | 2023-11-30 | 一种软件调用链路提取方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117667688A (zh) |
-
2023
- 2023-11-30 CN CN202311631185.1A patent/CN117667688A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112612675B (zh) | 微服务架构下的分布式大数据日志链路跟踪方法及系统 | |
CN107577588B (zh) | 一种海量日志数据智能运维系统 | |
CN106656536B (zh) | 一种用于处理服务调用信息的方法与设备 | |
CN111158977A (zh) | 一种异常事件根因定位方法及装置 | |
US10769160B2 (en) | Efficient storage and querying of time series metrics | |
CN107870849B (zh) | 测试日志的处理方法和装置 | |
CN111078513A (zh) | 日志处理方法、装置、设备、存储介质及日志告警系统 | |
CN110764980A (zh) | 日志处理方法和装置 | |
CN111614483A (zh) | 链路监控方法、装置、存储介质及计算机设备 | |
CN111294233A (zh) | 网络告警统计分析方法、系统及计算机可读存储介质 | |
CN109542786A (zh) | 可视化测试方法及装置 | |
CN112600719A (zh) | 告警聚类方法、装置及存储介质 | |
CN114143369A (zh) | 一种云平台的服务监控系统 | |
CN111966339B (zh) | 埋点参数的录入方法、装置、计算机设备和存储介质 | |
CN116760571A (zh) | 资产识别方法、装置、电子设备及存储介质 | |
CN117667688A (zh) | 一种软件调用链路提取方法及装置 | |
CN114116811B (zh) | 日志处理方法、装置、设备及存储介质 | |
CN115687406A (zh) | 一种调用链数据的采样方法、装置、设备及存储介质 | |
CN113572628B (zh) | 数据关联方法、装置、计算设备及计算机存储介质 | |
CN114996080A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN108737522B (zh) | 一种消息的处理方法、装置和系统 | |
CN104516916A (zh) | 网络报表关联关系的分析方法和装置 | |
CN113064791A (zh) | 基于海量日志数据实时监控的分散标签特征提取方法 | |
CN111427858A (zh) | 日志处理系统及其处理方法 | |
CN112181816A (zh) | 一种基于场景的接口测试方法、装置、计算机设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |