CN111488314B - 一种基于Python的仿真日志分析方法 - Google Patents
一种基于Python的仿真日志分析方法 Download PDFInfo
- Publication number
- CN111488314B CN111488314B CN202010236025.7A CN202010236025A CN111488314B CN 111488314 B CN111488314 B CN 111488314B CN 202010236025 A CN202010236025 A CN 202010236025A CN 111488314 B CN111488314 B CN 111488314B
- Authority
- CN
- China
- Prior art keywords
- log
- simulation
- dictionary
- information
- analysis
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明公开了一种基于Python的仿真日志分析方法,其特征在于只需给出仿真日志的存放路径,即可自动完成对日志文件的分析和有效信息的提取,生成结果统计报告。验证人员通过查看结果统计报告,就可以迅速定位各个激励在不同验证条件下存在的问题,大大缩短了仿真日志的分析时间。与传统的人工逐一确认方法相比,该方法增强了验证人员对不同代码版本仿真结果之间的整体把握和对比,统计性的结果避免了验证人员对相同错误信息的多次确认和处理,既从根本上解决了回归阶段,仿真日志分析耗时长的问题,又在一定程度上提升了验证质量。
Description
技术领域
本发明涉及芯片仿真验证技术,具体涉及一种基于Python的仿真日志分析方法。
背景技术
随着应用需求的不断升级,芯片的功能也在不断增加,各种应用场景下的配置,使得所需仿真激励的数量呈指数级增长。
验证人员需要对每一个日志内容进行处理,查找和筛选出错误、报警等信息进行确认,以保证整个回归的仿真正确无误,日趋庞大的仿真日志内容给验证资源和验证进度带来了挑战。
发明内容
本发明解决的技术问题是:提供一种基于Python的仿真日志分析方法,只需要给出仿真日志的存放路径,即可自动完成对日志文件的分析和有效信息的提取,生成结果统计报告,提高验证人员分析仿真日志的效率。
本发明采用的技术方案是:一种基于Python的仿真日志分析方法,其特征在于,包括如下步骤:
S1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;
S2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;
S3)分析组件一对步骤S2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果等信息的嵌套字典[D1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[D2];
S4)分析组件二根据步骤S3)生成的字典[D2]和步骤S1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[D3];
S5)概要报告统计组件根据步骤S3)生成的字典[D1],格式化生成概要报告的第一部分,根据步骤S4)生成的字典[D3],格式化生成概要报告的第二部分;
S6)详细报告统计组件根据步骤S3)生成的字典[D2],以及步骤S4)生成的字典[D3],格式化生成各模块仿真日志的详细报告;
所述步骤S3)分析组件一对仿真日志的分析处理具体包括如下步骤:
S301)遍历权利要求1里步骤S2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件等信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[D1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[D2];
S302)检索步骤S301)里子项所指向仿真日志的内容,将仿真结果更新到步骤S301)中创建的字典[D1],根据不同的仿真结果将日志的路径信息更新到步骤S301)中创建的字典[D2],如果出现权利要求1中步骤S1)所配置的关键信息,将该日志的路径更新到步骤S301)中创建的字典[D2];
所述步骤S4)分析组件二对仿真日志的分析处理具体包括如下步骤:
S401)创建用于保存包含有关键字的各类型日志信息和日志路径详细信息的字典[D3],对权利要求1中步骤S3)生成的字典[D2]作进一步分析,对字典[D2]中各模块包含有权利要求1中步骤S1)所配置关键信息的结果类别中的所有日志,进行遍历检索;
S402)检索时,权利要求1中步骤S1)设置的日志内容中无需分析的屏蔽区间不做分析,其余的日志内容进行分析,将包含有权利要求1中步骤S1)所配置的关键信息的行内容进行处理后,查询步骤S401)创建的字典[D3]的键中是否有该类型信息,更新相应信息到字典[D3];
本发明的优点在于:
1)只需要给出仿真日志的存放路径,即可自动完成对仿真日志的分析和有效信息的提取,并生成预期格式的仿真报告,供验证人员分析,提高了验证人员分析仿真日志的效率,有效的缩短了项目开发周期;
2)关键信息列表及日志内容中无需分析的屏蔽区间利用了Python的列表和字典的特性,可扩展性强;
3)对仿真日志的分析采用层次化、过滤式分析,既提高了日志分析的效率,又增加了分析的可扩展性,可以根据技术的发展和项目的不同,增加更多的分析组件;
附图说明
图1是本发明的系统流程示意图。
图2是本发明权利要求1里步骤S3)的流程示意图。
图3是本发明权利要求1里步骤S4)的流程示意图。
具体实施方式
下面结合附图和具体实施对本发明作进一步说明。
随着应用需求的不断升级,芯片的功能也在不断增加,各种应用场景下的配置,使得所需验证激励的数量呈指数级增长,仿真结束后,庞大数据量的仿真日志分析,给验证人员带来了挑战,本发明提出一种基于Python的仿真日志分析方法,解决了这一问题,提高了验证的效率。
如图1所示,该分析方法包括文件列表组件、分析组件一、分析组件二、概要报告统计组件、详细报告统计组件,具体步骤如下:
S1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;
S2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;
S3)分析组件一对步骤S2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果等信息的嵌套字典[D1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[D2],如图2,具体步骤如下;
S301)遍历步骤S2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件等信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[D1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[D2];
S302)检索步骤S301)里子项所指向仿真日志的内容,将仿真结果更新到步骤S301)中创建的字典[D1],根据不同的仿真结果将日志的路径信息更新到步骤S301)中创建的字典[D2],如果出现步骤S1)所配置的关键信息,将该日志的路径更新到步骤S301)中创建的字典[D2];
S4)分析组件二根据步骤S3)生成的字典[D2]和步骤S1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[D3],如图3,具体步骤如下:
S401)创建用于保存包含有关键字的各类型日志信息和日志路径详细信息的字典[D3],对步骤S3)生成的字典[D2]作进一步分析,对字典[D2]中各模块包含有步骤S1)所配置关键信息的结果类别中的所有日志,进行遍历检索;
S402)检索时,步骤S1)设置的日志内容中无需分析的屏蔽区间不做分析,其余的日志内容进行分析,将包含有步骤S1)所配置的关键信息的行内容进行处理后,查询步骤S401)创建的字典[D3]的键中是否有该类型信息,如果没有,更新该类型信息及日志路径到字典[D3],如果有,只更新日志路径到字典[D3];
S5)概要报告统计组件根据步骤S3)生成的字典[D1],格式化生成概要报告的第一部分,该部分主要呈现仿真的结果的数据,如仿真总数、仿真通过的占比、仿真失败的占比、仿真超时的占比、不同仿真条件下各仿真结果的占比等。根据步骤S4)生成的字典[D3],格式化生成概要报告的第二部分,该部分主要呈现仿真日志出现步骤S1)所设置关键信息的总数和分类处理后类型的总数,以及全部类型的具体信息。该报告可以让验证人员对待分析的仿真日志快速的有一个整体的判断。
S6)详细报告统计组件根据步骤S3)生成的字典[D2],以及步骤S4)生成的字典[D3],格式化生成各模块仿真日志的详细报告,给部分主要呈现具体模块下,仿真结果的情况,以及在该模块出现步骤S1)所设置关键信息的具体信息所在哪些日志的具体位置的情况。该报告便于验证人员快速的定位待确认仿真日志的问题所在。
以上所述仅是本发明的优选实现方式,应当指出在不脱离本发明构思的前提下,可以做出的若干改进和扩展,这些改进和扩展也应视为本发明保护范围内。
Claims (4)
1.一种基于Python的仿真日志分析方法,其特征在于,包括:
S1)配置待分析日志中要关注的关键字列表,以及日志内容中无需分析的屏蔽区间;
S2)文件列表组件根据仿真日志的存放路径,生成该路径下所有仿真激励的日志列表文件;
S3)分析组件一对步骤S2)生成的日志列表文件中的所有日志文件进行分析,生成包含各模块仿真激励数以及仿真结果信息的嵌套字典[D1],生成包含各模块不同仿真结果下的日志路径信息的嵌套字典[D2];
S4)分析组件二根据步骤S3)生成的字典[D2]和步骤S1)的配置信息进一步分析,生成包含有关键字的各类型日志信息和日志路径详细信息的字典[D3];
S5)概要报告统计组件根据步骤S3)生成的字典[D1],格式化生成概要报告的第一部分,根据步骤S4)生成的字典[D3],格式化生成概要报告的第二部分;
S6)详细报告统计组件根据步骤S3)生成的字典[D2],以及步骤S4)生成的字典[D3],格式化生成各模块仿真日志的详细报告,
其中,所述概要报告的第一部分呈现仿真的结果的数据;所述概要报告的第二部分呈现仿真日志出现步骤S1)所设置关键信息的总数和分类处理后类型的总数,以及全部类型的具体信息。
2.根据权利要求1所述的一种基于Python的仿真日志分析方法,其特征在于,所述步骤S1)中待分析日志中的关键字列表和日志内容中的无需分析的屏蔽区间分别利用了Python的列表和字典的特性,具有可扩展性,在扩展时,不影响步骤S2)到S6)中的结构。
3.根据权利要求1所述的一种基于Python的仿真日志分析方法,其特征在于,所述步骤S3)分析组件一对仿真日志的分析处理具体包括如下步骤:
S301)遍历步骤S2)生成的日志列表中各子项指向的仿真日志,从中提取仿真模块、仿真条件、仿真结果类别和日志路径信息,创建包含仿真模块、仿真条件、仿真结果类别的嵌套字典[D1],创建包含仿真模块、仿真结果类别、日志路径信息的嵌套字典[D2];
S302)检索步骤S301)里子项所指向仿真日志的内容,将仿真结果更新到步骤S301)中创建的字典[D1],根据不同的仿真结果将日志的路径信息更新到步骤S301)中创建的字典[D2],如果出现步骤S1)所配置的关键信息,将该日志的路径更新到步骤S301)中创建的字典[D2]。
4.根据权利要求1所述的一种基于Python的仿真日志分析方法,其特征在于,所述步骤S4)分析组件二对仿真日志的分析处理具体包括如下步骤:
S401)创建用于保存有关键字的各类型日志信息和日志路径详细信息的字典[D3],对步骤S3)生成的字典[D2]作进一步分析,对字典[D2]中各模块包含有
步骤S1)所配置关键信息的结果类别中的所有日志,进行遍历检索;
S402)检索时,步骤S1)设置的日志内容中无需分析的屏蔽区间不做分析,
其余的日志内容进行分析,将包含有步骤S1)所配置的关键信息的行内容进行处理后,查询步骤S401)创建的字典[D3]的键中是否有对应的类型日志信息,更新相应信息到字典[D3]。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010236025.7A CN111488314B (zh) | 2020-03-30 | 2020-03-30 | 一种基于Python的仿真日志分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010236025.7A CN111488314B (zh) | 2020-03-30 | 2020-03-30 | 一种基于Python的仿真日志分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111488314A CN111488314A (zh) | 2020-08-04 |
CN111488314B true CN111488314B (zh) | 2023-06-30 |
Family
ID=71791567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010236025.7A Active CN111488314B (zh) | 2020-03-30 | 2020-03-30 | 一种基于Python的仿真日志分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111488314B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433897B (zh) * | 2020-11-06 | 2023-01-20 | 北京中电华大电子设计有限责任公司 | 一种由寄存器规格文档自动生成仿真验证激励的方法 |
CN112906344B (zh) * | 2020-11-24 | 2022-02-01 | 芯和半导体科技(上海)有限公司 | 一种片上仿真信息实时提取方法 |
CN112329273B (zh) * | 2020-12-17 | 2023-10-24 | 芯天下技术股份有限公司 | 一种提升芯片验证效率的方法、装置、存储介质和终端 |
CN113343438A (zh) * | 2021-05-20 | 2021-09-03 | 北京中电华大电子设计有限责任公司 | 一种基于Python的自动化功耗仿真方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106202511A (zh) * | 2016-07-21 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种基于日志分析的告警方法和系统 |
CN106412061A (zh) * | 2016-09-28 | 2017-02-15 | 上海爱数信息技术股份有限公司 | 一种基于Linux的日志文件夹远程传输系统 |
CN107015901A (zh) * | 2016-01-28 | 2017-08-04 | 苏宁云商集团股份有限公司 | 一种日志分析方法及装置 |
CN107894940A (zh) * | 2017-11-09 | 2018-04-10 | 郑州云海信息技术有限公司 | 一种日志分析装置及方法 |
CN109062774A (zh) * | 2018-06-21 | 2018-12-21 | 平安科技(深圳)有限公司 | 日志处理方法、装置及存储介质、服务器 |
CN109597733A (zh) * | 2018-12-04 | 2019-04-09 | 航天恒星科技有限公司 | 一种多功能高效动态芯片验证仿真方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190108112A1 (en) * | 2017-10-05 | 2019-04-11 | Hcl Technologies Limited | System and method for generating a log analysis report from a set of data sources |
-
2020
- 2020-03-30 CN CN202010236025.7A patent/CN111488314B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107015901A (zh) * | 2016-01-28 | 2017-08-04 | 苏宁云商集团股份有限公司 | 一种日志分析方法及装置 |
CN106202511A (zh) * | 2016-07-21 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种基于日志分析的告警方法和系统 |
CN106412061A (zh) * | 2016-09-28 | 2017-02-15 | 上海爱数信息技术股份有限公司 | 一种基于Linux的日志文件夹远程传输系统 |
CN107894940A (zh) * | 2017-11-09 | 2018-04-10 | 郑州云海信息技术有限公司 | 一种日志分析装置及方法 |
CN109062774A (zh) * | 2018-06-21 | 2018-12-21 | 平安科技(深圳)有限公司 | 日志处理方法、装置及存储介质、服务器 |
CN109597733A (zh) * | 2018-12-04 | 2019-04-09 | 航天恒星科技有限公司 | 一种多功能高效动态芯片验证仿真方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111488314A (zh) | 2020-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111488314B (zh) | 一种基于Python的仿真日志分析方法 | |
US20090006283A1 (en) | Using a data mining algorithm to generate format rules used to validate data sets | |
CN106055618B (zh) | 一种基于网络爬虫与结构化存储的数据处理方法 | |
WO2021159834A1 (zh) | 异常信息处理节点分析方法、装置、介质及电子设备 | |
CN112416806B (zh) | 一种基于标准文档分析的js引擎模糊测试方法 | |
CN109857641A (zh) | 对程序源文件进行缺陷检测的方法及装置 | |
CN108694108B (zh) | 一种iOS崩溃数据分类与统计的方法和装置 | |
CN107797916A (zh) | Ddl语句审核方法和装置 | |
CN114722746B (zh) | 一种芯片辅助设计方法、装置、设备及可读介质 | |
Zhou et al. | Confmapper: Automated variable finding for configuration items in source code | |
CN112433948A (zh) | 一种基于网络数据分析的仿真测试系统及方法 | |
CN114818643A (zh) | 一种保留特定业务信息的日志模板提取方法 | |
CN114896248A (zh) | 实现基于关联池数据表自动拼接生成sql的方法及装置 | |
CN114911820A (zh) | 一种sql语句判别模型构建方法、sql语句判别方法 | |
CN117436440A (zh) | 一种日志识别方法、系统、终端设备及存储介质 | |
CN107291749B (zh) | 一种数据指标关联关系的确定方法及装置 | |
CN111581299A (zh) | 基于大数据的多源数据仓库的库间数据转换系统及方法 | |
CN109408378B (zh) | 一种在大数据量下快速定位sql解析错误的测试方法及系统 | |
CN116578700A (zh) | 日志分类方法、日志分类装置、设备及介质 | |
CN114969115A (zh) | 基于标准化元数据体系的数据管理方法和系统 | |
CN114722960A (zh) | 一种业务过程事件日志不完整轨迹检测方法与系统 | |
CN115454702A (zh) | 日志故障分析方法、装置、存储介质及电子设备 | |
CN115292347A (zh) | 一种基于规则的主动式sql算法性能检查装置及方法 | |
CN114297074A (zh) | 一种基于动态配置实现功能、接口、性能自动测试方法 | |
CN114860872A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |