一种日志调用链生成方法和装置制造方法及图纸

技术编号:27877181 阅读:17 留言:0更新日期:2021-03-31 00:57
本发明专利技术公开了一种日志调用链生成方法和装置,涉及计算机技术领域。该方法的一具体实施方式包括:根据应用所处设备的标识和当前时间戳,生成识别码;监听所述识别码在各个应用模块之间的传递顺序;提取各个应用模块中与所述识别码对应的日志,按照所述传递顺序对所提取的日志进行排列组合,得到日志调用链。该实施方式利用识别码自动对各个日志服务器中的日志进行提取,且根据识别码在应用模块之间的传递顺序进行日志排序,以此实现日志调用链的自动生成,为日志集中归档、异常日志定位提供了基础。

【技术实现步骤摘要】
一种日志调用链生成方法和装置
本专利技术涉及计算机
,尤其涉及一种日志调用链生成方法和装置。
技术介绍
日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误以及错误发生的原因,从而及时采取措施纠正错误。互联网采用分布式应用,将应用中的系统拆分为多个不同的应用模块。因此一个完整的操作流程(即调用链),会涉及到调用多个不同的应用模块,而不同应用模块输出的日志都会分散存储在不同的日志服务器中。在实现本专利技术的过程中,专利技术人发现现有技术至少存在如下问题:1、目前分布式应用场景下,各应用模块中的日志没有进行集中归档处理,导致查询日志需要去不同日志服务器中进行,且较难形成一条完整的日志调用链路,不利于对异常日志的跟踪及查询;2、当日志服务器数量较多时,若仍采用传统登录查阅日志的方式,存在操作繁琐及效率低下的问题。
技术实现思路
有鉴于此,本专利技术实施例提供一种日志调用链生成方法和装置,至少能够解决现有技术中没有有效集中式管理日志、自动生成日志调用链方案的问题。为实现上述目的,根据本专利技术实施例的一个方面,提供了一种日志调用链生成方法,包括:根据应用所处设备的标识和当前时间戳,生成识别码;监听所述识别码在各个应用模块之间的传递顺序;提取各个应用模块中与所述识别码对应的日志,按照所述传递顺序对所提取的日志进行排列组合,得到日志调用链。可选的,所述监听所述识别码在各个应用模块之间的传递顺序,还包括:当应用模块包括应用子模块时,监听对应用模块中各个应用子模块的调用顺序,以按照所述调用顺序,将所述识别码在各个应用子模块之间进行顺序传递。可选的,在所述提取各个应用模块中与所述识别码对应的日志之前,还包括:分别采集对各个应用模块的操作数据,以基于所采集的操作数据,生成日志;根据所述识别码、各个应用模块的标识和对各个应用模块的操作时间戳,得到各个日志的标识。可选的,所述分别采集对各个应用模块的操作数据,包括:利用字节码插桩技术,分别监听各个应用模块在操作过程中的性能数据;以及利用指标采集技术,分别监听各个应用模块在操作过程中的环境数据。为实现上述目的,根据本专利技术实施例的另一方面,提供了一种日志调用链生成装置,包括:识别码生成模块,用于根据应用所处设备的标识和当前时间戳,生成识别码;顺序监听模块,用于监听所述识别码在各个应用模块之间的传递顺序;调用链生成模块,用于提取各个应用模块中与所述识别码对应的日志,按照所述传递顺序对所提取的日志进行排列组合,得到日志调用链。可选的,所述顺序监听模块,还用于:当应用模块包括应用子模块时,监听对应用模块中各个应用子模块的调用顺序,以按照所述调用顺序,将所述识别码在各个应用子模块之间进行顺序传递。可选的,还包括数据采集模块,用于:分别采集对各个应用模块的操作数据,以基于所采集的操作数据,生成日志;根据所述识别码、各个应用模块的标识和对各个应用模块的操作时间戳,得到各个日志的标识。可选的,所述数据采集模块,用于:利用字节码插桩技术,分别监听各个应用模块在操作过程中的性能数据;以及利用指标采集技术,分别监听各个应用模块在操作过程中的环境数据。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种日志调用链生成电子设备。本专利技术实施例的电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一所述的日志调用链生成方法。为实现上述目的,根据本专利技术实施例的再一方面,提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一所述的日志调用链生成方法。根据本专利技术所述提供的方案,上述专利技术中的一个实施例具有如下优点或有益效果:设置识别码,用以在用户操作应用模块时,自动对日志进行标记;监听识别码在各个应用模块之间的传递顺序,用以后续对日志的排序组合,生成日志调用链,实现对日志的归档管理;通过采用字节码插桩技术进行操作数据采集,避免对应用造成侵入,保证了应用的使用安全性。上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。附图说明附图用于更好地理解本专利技术,不构成对本专利技术的不当限定。其中:图1是根据本专利技术实施例的一种日志调用链生成方法的主要流程示意图;图2是根据本专利技术实施例的一种可选的日志调用链生成方法的流程示意图;图3是根据本专利技术实施例的一种日志调用链生成装置的主要模块示意图;图4是本专利技术实施例可以应用于其中的示例性系统架构图;图5是适于用来实现本专利技术实施例的移动设备或服务器的计算机系统的结构示意图。具体实施方式以下结合附图对本专利技术的示范性实施例做出说明,其中包括本专利技术实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本专利技术的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。对于本专利技术所涉及的词语,做解释如下:安全日志:每次开关机、运行程序、系统报错时,这些信息都会被记录下来,保存在日志文件中。字节码插桩技术:使用Javaagent与Javassist动态重构Class字节已插入监控指令。需要说明的是,本专利技术实施例主要适用于分布式应用的日志监控,以将分散存储在不同日志服务器中的日志汇总到一起进行集中化管理,并对日志进行统计及检索,以此生成日志调用链,为后续提高日志查询效率、快速分析日志并定位异常日志提供了基础。参见图1,示出的是本专利技术实施例提供的一种日志调用链生成方法的主要流程图,包括如下步骤:S101:根据应用所处设备的标识和当前时间戳,生成识别码;S102:监听所述识别码在各个应用模块之间的传递顺序;S103:提取各个应用模块中与所述识别码对应的日志,按照所述传递顺序对所提取的日志进行排列组合,得到日志调用链。上述实施方式中,对于步骤S101,在用户点击进入应用后,应用会自动生成一个UUID(UniversallyUniqueIdentifier,通用唯一识别码),以使得分布式应用中的所有元素都能有唯一的辨识信息,而不需要通过中央控制端来做辨识信息的指定。如此,应用中每个操作都可以创建与其他操作不冲突的UUID,后续也无需考虑日志创建时的名称重复问题。UUID是指在一台设备上所生成的数字,用以保证对在同一时空中的所有机器都是唯一的。UUID由以下几部分组成:1)当前日期和时间,UUID的第一部分与时间有关,若系统在生成一个UUID之后,过几秒又生成一个UUID,则第一部分不同,其余部分相同;2)时钟序列或随机数字序列,例如随机四位数字本文档来自技高网...

【技术保护点】
1.一种日志调用链生成方法,其特征在于,包括:/n根据应用所处设备的标识和当前时间戳,生成识别码;/n监听所述识别码在各个应用模块之间的传递顺序;/n提取各个应用模块中与所述识别码对应的日志,按照所述传递顺序对所提取的日志进行排列组合,得到日志调用链。/n

【技术特征摘要】
1.一种日志调用链生成方法,其特征在于,包括:
根据应用所处设备的标识和当前时间戳,生成识别码;
监听所述识别码在各个应用模块之间的传递顺序;
提取各个应用模块中与所述识别码对应的日志,按照所述传递顺序对所提取的日志进行排列组合,得到日志调用链。


2.根据权利要求1所述的方法,其特征在于,所述监听所述识别码在各个应用模块之间的传递顺序,还包括:
当应用模块包括应用子模块时,监听对应用模块中各个应用子模块的调用顺序,以按照所述调用顺序,将所述识别码在各个应用子模块之间进行顺序传递。


3.根据权利要求1所述的方法,其特征在于,在所述提取各个应用模块中与所述识别码对应的日志之前,还包括:
分别采集对各个应用模块的操作数据,以基于所采集的操作数据,生成日志;
根据所述识别码、各个应用模块的标识和对各个应用模块的操作时间戳,得到各个日志的标识。


4.根据权利要求3所述的方法,其特征在于,所述分别采集对各个应用模块的操作数据,包括:
利用字节码插桩技术,分别监听各个应用模块在操作过程中的性能数据;以及
利用指标采集技术,分别监听各个应用模块在操作过程中的环境数据。


5.一种日志调用链生成装置,其特征在于,包括:
识别码生成模块,用于根据应用所处设备的标识和当前时间戳,生成识别码;
顺序监听模块,用于监听所述识别码在各个应...

【专利技术属性】
技术研发人员:胡锋
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京;11

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

1