[发明专利]一种基于运行日志分析推演程序运行状态的方法及系统在审
申请号: | 201911343620.4 | 申请日: | 2019-12-24 |
公开(公告)号: | CN110968493A | 公开(公告)日: | 2020-04-07 |
发明(设计)人: | 李春锋;杜洪亮;周华;胡军擎 | 申请(专利权)人: | 上海英方软件股份有限公司 |
主分类号: | G06F11/34 | 分类号: | G06F11/34;G06F11/32 |
代理公司: | 上海国智知识产权代理事务所(普通合伙) 31274 | 代理人: | 潘建玲 |
地址: | 200011 上海市黄*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 运行 日志 分析 推演 程序 状态 方法 系统 | ||
本发明公开了一种基于运行日志分析推演程序运行状态的方法及系统,所述方法包括如下步骤:步骤S1,设定程序生成日志规则,在程序运行过程中,根据设定的程序生成日志规则记录程序运行日志,所述程序生成日志规则至少规定记录程序运行日志的关键参数;步骤S2,通过对所述程序运行日志各日志记录的关键参数进行分析,结合实际源代码,使用可视化动态推演方法,还原出程序所有线程的运行轨迹,本发明可大大提高对运维和测试的效率。
技术领域
本发明涉及程序运行日志分析技术领域,特别是涉及一种通过自动分析程序运行日志可视化动态推演程序运行状态的基于运行日志分析推演程序运行状态的方法及系统。
背景技术
在高科技时代,人们的工作、生活、娱乐都离不开系统软件,但任何系统都需要有研发,测试,上线,后期运维的过程,在这个过程中难免会遇到程序异常等问题。
若要解决这个问题,必定需要研发人员投入大量的时间经历先去定位出问题所在,然后解决问题,那么任何系统出问题后第一解决方案就是分析运行日志。
传统的日志分析方式主要是通过人工对产生的日志文件进行分析,由于日志记录的是一个多线程离散的记录,人工分析的时候很麻烦,也不是很清晰,同一时间可能有很多不同的线程产生运行日志分析难度相对较大,而且一般必须是软件系统对应的开发人员才能看懂日志记录的整个流程,不仅局限性比较大,而且效率也很低。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种基于运行日志分析推演程序运行状态的方法及系统,不仅可大大降低对日志分析人员的要求,也能快速自动地分析出最后问题出在哪里,大大提高对运维和测试的效率。
为达上述目的,本发明提出一种基于运行日志分析推演程序运行状态的方法,包括如下步骤:
步骤S1,设定程序生成日志规则,在程序运行过程中,根据设定的程序生成日志规则记录程序运行日志,所述程序生成日志规则至少规定记录程序运行日志的关键参数;
步骤S2,通过对所述程序运行日志各日志记录的关键参数进行分析,结合实际源代码,使用可视化动态推演方法,推演出程序所有线程的运行轨迹。
优选地,所述关键参数包括但不限于运行日期时间、线程号、源代码所在文件、源代码所在行以及自定义的消息。
优选地,在程序运行期间,于所述程序运行日志中记录程序运行的日期时间、线程号、源代码所在文件、源代码所在行以及自定义的消息。
优选地,于步骤S2中,通过分析所述程序运行日志各日志记录的关键参数,并结合程序实际源代码,以时间参数为时间轴,将线程号做为轨迹分支,利用源代码所在文件、源代码所在行两个参数结合实际源代码,推算出实际运行轨迹。
优选地,步骤S2进一步包括:
步骤S200,把所述程序运行日志中所有的日志记录按线程号分类,相同的线程按时间顺序排列到一起;
步骤S201,对每个线程生成相应的运行轨迹,分析每个线程,根据时间顺序记录并标在相应的运行轨迹线上。
优选地,于步骤S201中,利用不同颜色的线段表示一个程序线程的运行轨迹,线段的起点和终点位置表示线程的起始时间和结束时间。
优选地,在线段上标注日志记录的对应的线程在某一时间点上调用的代码接口或者抛出的一些异常信息。
为达到上述目的,本发明还提供一种基于运行日志分析推演程序运行状态的系统,包括:
日志规则设置单元,用于设定程序生成日志规则,所述程序生成日志规则用于规定记录程序运行日志的关键参数;
日志记录单元,用于在程序运行过程中时,根据设定的程序生成日志规则记录程序运行日志;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海英方软件股份有限公司,未经上海英方软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911343620.4/2.html,转载请声明来源钻瓜专利网。