CN116483644A - 用于芯片验证测试回归的日志搜索方法、电子设备和介质 - Google Patents
用于芯片验证测试回归的日志搜索方法、电子设备和介质 Download PDFInfo
- Publication number
- CN116483644A CN116483644A CN202310745697.4A CN202310745697A CN116483644A CN 116483644 A CN116483644 A CN 116483644A CN 202310745697 A CN202310745697 A CN 202310745697A CN 116483644 A CN116483644 A CN 116483644A
- Authority
- CN
- China
- Prior art keywords
- log
- line
- matching mode
- mode information
- expr
- 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.)
- Granted
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 87
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000012795 verification Methods 0.000 title claims abstract description 17
- 230000014509 gene expression Effects 0.000 claims abstract description 26
- 238000012545 processing Methods 0.000 claims abstract description 6
- 230000011218 segmentation Effects 0.000 claims description 4
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 2
- 239000000758 substrate Substances 0.000 claims 2
- 239000000523 sample Substances 0.000 claims 1
- 230000008569 process Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2247—Verification or detection of system hardware configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明涉及计算机技术领域,尤其涉及一种用于芯片验证测试回归的日志搜索方法、电子设备和介质,方法包括步骤S1、获取全局日志匹配模式信息和待处理测试用例的自定义日志匹配模式信息;步骤S2、采用命令行形式进行合并处理,生成待处理测试用例对应的目标日志匹配模式信息集合以及合并模式匹配表达式;步骤S3、将待处理测试用例对应的日志文件切分为X个小文件;步骤S4、基于合并模式匹配表达式并发搜索X个小文件,生成每一小文件的日志搜索结果;步骤S5、基于目标日志匹配模式信息集合合并所有小文件对应的日志搜索结果,生成待处理测试用例对应的日志搜索结果。本发明提高了芯片验证测试回归的日志搜索的效率、搜索结果精确度。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种用于芯片验证测试回归的日志搜索方法、电子设备和介质。
背景技术
在芯片验证测试回归过程中,需要通过分析测试用例生成的日志来判断测试用例的状态,例如,成功,失败,超时等。不同的编译器和仿真器生成的日志格式是不同的,用户需要根据不同的编译器和仿真器定义不同的日志匹配模式,这使得芯片验证测试用例的日志匹配模式具有多样性。现有的日志搜索技术通过C++或python等语言编写的程序,为每一个测试用例分别设置对应的日志匹配模式,并逐条解析每一种日志文件的信息,来确定测试用例状态,通常需要耗费大量的时间。此外,现有的日志搜索技术所得到的测试用例状态相对粗略,不能细化具体状态,由于采用逐行匹配,不易获取匹配到的日志的前后多行的关联信息,搜索结果精确度低。且芯片验证单个测试用例生成的日志文件往往都会很大,导致日志搜索的内存占用大。由此可知,如何提高芯片验证测试回归的日志搜索的效率、搜索结果精确度,减小日志搜索所占用的内存成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种用于芯片验证测试回归的日志搜索方法、电子设备和介质,提高了芯片验证测试回归的日志搜索的效率、搜索结果精确度,减小了日志搜索所占用的内存。
根据本发明第一方面,提供了一种用于芯片验证测试回归的日志搜索方法,包括:
步骤S1、获取全局日志匹配模式信息和待处理测试用例对应的自定义日志匹配模式信息,所述全局日志匹配模式信息和自定义日志匹配模式信息均基于预设的日志匹配模式格式生成,所述预设的日志匹配模式格式包括模式标识符数据段、状态数据段、状态优先级数据段和模式表达式数据段,相邻两个数据段之间采用预设的分隔符连接;
步骤S2、采用命令行形式先依次获取所述全局日志匹配模式信息,再依次获取待处理测试用例对应的自定义日志匹配模式信息进行合并处理,生成待处理测试用例对应的目标日志匹配模式信息集合{B1,B2,…,Bm,…,BM}以及合并模式匹配表达式(expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM),其中,B1,B2,…,Bm,…,BM按照优先级从高到低的顺序排序,相同优先级的Bm按照日志匹配模式信息的获取顺序排序,Bm为第m个目标日志匹配模式,每一Bm对应的模式标识符唯一,exprm为Bm对应的模式表达式,m的取值范围为1到M,M为目标日志匹配模式总数量;
步骤S3、采用命令行形式将待处理测试用例对应的日志文件切分为X个小文件;
步骤S4、采用命令行形式基于 (expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM)并发搜索X个小文件,生成每一小文件对应的日志搜索结果;
步骤S5、基于{B1,B2,…,Bm,…,BM}合并所有小文件对应的日志搜索结果,生成待处理测试用例对应的日志搜索结果。
根据本发明第二方面,提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明第一方面所述的方法。
根据本发明第三方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机指令用于执行本发明第一方面所述的方法。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种用于芯片验证测试回归的日志搜索方法、电子设备和介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
本发明基于预设的日志匹配模式格式,直接基于命令行形式对待处理测试用例对应的日志文件进行搜索,且可基于命令行形式将待处理测试用例对应的日志文件划分为小文件并发搜索,然后基于日志匹配模式合并搜索结果,提高了芯片验证测试回归的日志搜索的效率、搜索结果精确度,减小了日志搜索所占用的内存。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的用于芯片验证测试回归的日志搜索方法流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明第一方面,提供了一种用于芯片验证测试回归的日志搜索方法,如图1所示,包括:
步骤S1、获取全局日志匹配模式信息和待处理测试用例对应的自定义日志匹配模式信息,所述全局日志匹配模式信息和自定义日志匹配模式信息均基于预设的日志匹配模式格式生成,所述预设的日志匹配模式格式包括模式标识符数据段、状态数据段、状态优先级数据段和模式表达式数据段,相邻两个数据段之间采用预设的分隔符连接。
需要说明的是,全局日志匹配模式信息中的模式标识符唯一,为默认的日志匹配模式信息,是能够供所有的待处理测试用例使用的,具有可重用性。待处理测试用例对应的自定义日志匹配模式信息可以设置个性化的自定义日志匹配模式信息,待处理测试用例对应的自定义日志匹配模式信息中的模式标识符也是唯一的。但全局日志匹配模式信息和待处理测试用例对应的自定义日志匹配模式信息可能存在相同的标识符。状态数据段设置的状态可以不局限于成功状态和失败状态,可以根据具体应用需求设置更细粒度的状态,例如成功、失败、超时、异常、警告等等。需要说明的是,同一个测试用例最终可能对应多个状态,因此,根据具体应用需求设置状态优先级可以确定待处理测试用例对应的最终该状态。所述模式表达式具体可以为关键字、文本段或正则表达式,用以匹配每一行的日志内容。预设的分隔符为能够与日志中的字符区分的符号,具体可以设置为双冒号“::”。
步骤S2、采用命令行形式先依次获取所述全局日志匹配模式信息,再依次获取待处理测试用例对应的自定义日志匹配模式信息进行合并处理,生成待处理测试用例对应的目标日志匹配模式信息集合{B1,B2,…,Bm,…,BM}以及合并模式匹配表达式(expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM),其中,B1,B2,…,Bm,…,BM按照优先级从高到低的顺序排序,相同优先级的Bm按照日志匹配模式信息的获取顺序排序,Bm为第m个目标日志匹配模式,每一Bm对应的模式标识符唯一,exprm为Bm对应的模式表达式,m的取值范围为1到M,M为目标日志匹配模式总数量。(expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM)为命令行能识别的形式。
需要说明的是,命令行形式具体为linux命令行,linux命令是系统命令,可以通过命令行执行,步骤S2中对全局日志匹配模式信息和待处理测试用例对应的自定义日志匹配模式信息存在相同的标识符对应的日志匹配模式信息进行了合并,且对合并后的日志匹配模式信息进行了排序。作为示例,Bm具体可以为:
步骤S3、采用命令行形式将待处理测试用例对应的日志文件切分为X个小文件。
作为一种实施例,可以创建线程池,采用单独的线程对每个小文件进行日志搜索操作,默认情况下,线程池中线程的数量等于2×R, 其中R为CPU内核数量。其中,线程池中线程的数量可以根据具体的运行环境,例如CPU内核数量,机器的负载情况等进行动态配置。线程池中线程的数量为可配置选项,具体可以通过指定配置文件,或者通过命令行参数修改默认的配置项属性值的形式来设置线程池中线程的数量。
需要说明的是,当待处理测试用例对应的日志文件过大时,会导致日志搜索效率过低,因此可以将日志文件切分为小文件,进行并发处理。现有技术进行文件切分时,需要将日志文件打开,然后需要在程序中设置循环,读取每一行,并进行计数,然后将一定数量的日志行存入小文件中,此过程,需要耗费大量的时间和资源,降低了日志搜索效率。本申请直接采用命令行的形式,即可快速实现日志文件的切分。
步骤S4、采用命令行形式基于 (expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM)并发搜索X个小文件,生成每一小文件对应的日志搜索结果。
需要说明的是,现有技术中,需要为每一个待处理测试用例的日志文件设置对应的搜索程序,且需设置对应的日志匹配模式,逐行读取、逐行解析、逐字节进行正则匹配,搜索效率极低。本发明实施例采用命令行的形式并发搜索小文件,具体可以采用Linux命令“grep”实现搜索查询,生成每一小文件对应的日志搜索结果,缩小了需要逐行匹配的日志量,极大地提高了日志搜索效率。
步骤S5、基于{B1,B2,…,Bm,…,BM}合并所有小文件对应的日志搜索结果,生成待处理测试用例对应的日志搜索结果。
需要说明的是,每一小文件对应的日志搜索结果为粗略的日志搜索结果,相对于待处理测试用例对应的日志文件极大减小了文件大小,步骤S5仅需在所有小文件对应的日志搜索结果中基于{B1,B2,…,Bm,…,BM}进行精细查找,确定待处理测试用例对应的日志搜索结果,极大提高了日志搜索效率。
作为一种实施例,所述步骤S2包括:
步骤S21、在命令行中设置模式表达命令行参数,所述模式表达命令行参数用于指定全局日志匹配模式信息和自定义日志匹配模式信息。
其中,模式表达命令行参数为扩展命令行参数,具体可以设置为“-p / --pattern”,表示指向模式表达式,或者设置为“-f / --pattern_file”,表示指向模式表达式文件,文件中的每一行存储一条模式表达式。此外,还可设置“-l / --log”指向日志文件路径。
步骤S22、基于所述模式表达命令行参数依次读取全局日志匹配模式信息和自定义日志匹配模式信息,依次抽取每一日志匹配模式信息对应的模式标识符,若抽取的模式标识符未在目标日志匹配模式信息集合中出现,则将对应的日志匹配模式信息存入目标日志匹配模式信息集合中,目标日志匹配模式信息集合中的日志匹配模式信息按照优先级从高到低的顺序排序,相同优先级的日志匹配模式信息按照日志匹配模式信息的获取顺序排序,否则,将对应的日志匹配模式信息存入目标日志匹配模式信息集合中,覆盖目标日志匹配模式信息集合中已存在的相同模式标识符对应的目标日志匹配模式信息,或者,跳过当前目标日志匹配模式信息,生成{B1,B2,…,Bm,…,BM}。
需要说明的是,目标日志匹配模式信息集合初始为空。当全局日志匹配模式信息和自定义日志匹配模式信息中出现模式标识符相同的目标日志匹配模式信息时,存在两种合并方式,第一种方式为将对应的日志匹配模式信息存入目标日志匹配模式信息集合中,覆盖目标日志匹配模式信息集合中已存在的相同模式标识符对应的目标日志匹配模式信息,即“overwrite”模式,使得自定义日志匹配模式信息能够更新全局默认值。另一种模式是,跳过当前目标日志匹配模式信息,即“skip”模式,可以理解的是,先读取全局日志匹配模式信息,因此,对于模式标识符相同的目标日志匹配模式信息需要以全局日志匹配模式信息为准,后续自定义日志匹配模式信息不能更改全局日志匹配模式信息,只能拓展全局日志匹配模式信息。具体合并模式根据具体应用需求确定。
步骤S23、获取{B1,B2,…,Bm,…,BM}中每一Bm对应的exprm,拼接生成(expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM)。
需要说明的是,Linux“grep”命令并不能直接识别{B1,B2,…,Bm,…,BM},因此需要将每一Bm对应的exprm提取出来,拼接生成Linux“grep”命令能够识别的(expr1)|(expr2)|,…,|(exprm)| ,…,|(exprM)。
作为一种实施例,X基于日志文件总行数和小文件行数阈值确定,小文件行数阈值为小文件的最大行数,小文件行数阈值为可配置选项,具体可以通过指定配置文件,或者通过命令行参数修改默认的配置项属性值的形式来设置小文件行数阈值。所述步骤S3包括:
步骤S31、基于获取日志文件行数的命令行参数,以命令行的形式获取待处理测试用例对应的日志文件的日志总行数L。
其中,获取日志文件行数的Linux命令具体为“wc”,基于“wc”以命令行的形式,能够快速获取待处理测试用例对应的日志文件的日志总行数L。此外,具体可以设置命令行参数“-l / --log”,表示日志文件路径,基于日志文件路径获取待处理测试用例对应的日志文件。
步骤S32、若L大于预设的行数阈值,则获取切分行数,/>表示向上取整,若L小于预设的行数阈值,则不对待处理测试用例对应的日志文件进行切分。
步骤S33、基于切分文件的命令行参数,以命令行的形式采用命令行形式将待处理测试用例对应的日志文件切分为X个小文件{F1,F2,…,Fx,…,FX},Fx为第x个小文件,x的取值范围为1到X;若x≠X,则Fx中存储的是待处理测试用例对应的日志文件中第[Y×(x-1)+1]行至第Y×x行日志信息,若x=X,则Fx中存储的是第[Y×(X-1)+1]行至第L行的日志信息。
其中,切分文件的Linux命令具体为“split”。
作为上述示例的变形,X基于日志文件大小和预设的小文件大小阈值确定,小文件大小阈值为小文件大小的最大值,小文件大小阈值为可配置选项,具体可以通过指定配置文件,或者通过命令行参数修改默认的配置项属性值的形式来设置小文件大小阈值。通过命令行参数获取待处理测试用例对应的日志文件的文件大小对日志文件进行切分。
只作为一种实施例,所述步骤S4包括:
步骤S41、基于执行文本搜索的命令行参数,以命令行的形式基于 (expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM)并发搜索每一Fx,每一Fx对应一个线程。
需要说明的是,每个线程执行一个Fx的日志搜索操作,且以命令行的形式并发执行,提高了日志搜索效率。
步骤S42、将每一Fx包含任何一个exprm的目标日志行提取出来,并提取对应的第一目标日志行号,若命令行中设置有提取上下Z行的命令行参数,则将目标日志行的前后Z行也提取出来,将从Fx所提取的目标日志行和第一目标日志行号存储至对应的目标文件Gx中。
其中,具体可以通过设置命令行参数“-c / --context_count” 指定匹配到的日志的上下文的行数,例如,第100行的日志满足匹配模式表达式,context_count取值为5,在抽取日志的时候,会把第100行的上5行和下5行(即第95行至第105行)的内容都抽取出来。此外,直接基于(expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM)进行日志搜索,实现了快速粗略搜索,极大缩小了需要精细搜索的的日志范围,提高日志搜索效率。
作为一种实施例,所述步骤S5包括:
步骤S51、基于{B1,B2,…,Bm,…,BM}匹配每一Gx中的每一目标日志行,确定每一Gx中每一目标日志行对应的状态和状态优先级。
由于Bm中的状态可以根据具体应用需求实现自定义设置,因此可以设置细粒度的状态,此外,状态优先级,可以处理状态结果冲突的情况,实现测试用例状态的精确判断。
步骤S52、根据每一Gx中的每一目标日志行的第一目标日志行号确定每一目标日志行在待处理测试用例对应的日志文件中的第二目标日志行号。
需要说明的是,第一目标日志行号为目标日志行在对应的小文件中的行号,第二目标日志行号为目标日志行在待处理测试用例对应的日志文件中的行号,Gx中目标日志行对应的第二目标日志行号=第一目标日志行号+Y×(x-1)。
步骤S53、将状态优先级最高的状态确定为待处理测试用例对应的状态,若状态优先级最高的状态对应多个,则将对应的Bm最靠后的状态确定为待处理测试用例对应的最终状态。
步骤S54、通过输出命令行参数输出待处理测试用例对应的最终状态以及对应的第二目标日志行号。
其中,具体可以设置输出命令行参数“-o / --output_dir”,用来匹配结果的输出目录。
本发明实施例不仅可以精确确定待处理测试用例对应的最终状态,还能定位到对应的日志行号。
作为一种实施例,所述步骤S5还包括:
步骤S55、基于所有Gx中所有目标日志行对应的状态得到每一状态对应的总量。
步骤S56、将每一目标日志行对应的状态、状态优先级、第二目标日志行号以及每一状态对应的总量呈现在预设的显示界面上,若Gx中存在每一目标日志行的前后Z行,则将每一目标日志行的前后Z行也呈现在所述显示界面上,目标日志行的前后Z行分别显示在目标日志行的前后,不同目标日志行以及目标日志行的前后Z行之间采用预设的分隔线分隔。
可以理解的是,本发明实施例不仅可以精确确定待处理测试用例对应的最终状态,还可以将中间信息即每一目标日志行对应的状态、状态优先级、第二目标日志行号以及每一状态对应的总量呈现在预设的显示界面上,为拥护提供分析待处理测试用例的辅助信息。
本发明实施例分割日志文件,通过grep并发查找比现有的逐行读取文件通过正则表达式匹配更加高效,性能对比实例如表1所示:
表1
通过上表可知,待处理测试用例对应的日志文件包括10000000日志,日志文件大小为690M,目标日志匹配模式对应的表达式包括3个,通过现有技术逐行正则匹配的方式进行日志搜索需要126秒,通过现有技术先分割文件再进行正则匹配需要49秒,通过本发明实施例基于命令行分割文件结合grep查询仅需1秒即可实现。当待处理测试用例对应的日志文件包括100000000,日志文件大小为6900M,目标日志匹配模式对应的表达式包括3个,通过现有技术逐行正则匹配的方式进行日志搜索需要1383秒,通过现有技术先分割文件再进行正则匹配需要836秒,通过本发明实施例基于命令行分割文件结合grep查询仅需18秒即可实现。由此可知,本发明实施例基于命令行分割文件结合grep查询能够极大缩短日志搜索时间,提高日志搜索效率,且随着日志文件大小的增大,日志搜索效率的提高程度更加明显。
需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
本发明实施例还提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明实施例所述的方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机指令用于执行本发明实施例所述的方法。
本发明实施例基于预设的日志匹配模式格式,直接基于命令行形式对待处理测试用例对应的日志文件进行搜索,且可基于命令行形式将待处理测试用例对应的日志文件划分为小文件并发搜索,然后基于日志匹配模式合并搜索结果,提高了芯片验证测试回归的日志搜索的效率、搜索结果精确度,减小了日志搜索所占用的内存。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (8)
1.一种用于芯片验证测试回归的日志搜索方法,其特征在于,包括:
步骤S1、获取全局日志匹配模式信息和待处理测试用例对应的自定义日志匹配模式信息,所述全局日志匹配模式信息和自定义日志匹配模式信息均基于预设的日志匹配模式格式生成,所述预设的日志匹配模式格式包括模式标识符数据段、状态数据段、状态优先级数据段和模式表达式数据段,相邻两个数据段之间采用预设的分隔符连接;
步骤S2、采用命令行形式先依次获取所述全局日志匹配模式信息,再依次获取待处理测试用例对应的自定义日志匹配模式信息进行合并处理,生成待处理测试用例对应的目标日志匹配模式信息集合{B1,B2,…,Bm,…,BM}以及合并模式匹配表达式(expr1)|(expr2)|,…,|(exprm)| ,…,|(exprM),其中,B1,B2,…,Bm,…,BM按照优先级从高到低的顺序排序,相同优先级的Bm按照日志匹配模式信息的获取顺序排序,Bm为第m个目标日志匹配模式,每一Bm对应的模式标识符唯一,exprm为Bm对应的模式表达式,m的取值范围为1到M,M为目标日志匹配模式总数量;
步骤S3、采用命令行形式将待处理测试用例对应的日志文件切分为X个小文件;
步骤S4、采用命令行形式基于 (expr1)|(expr2)| ,…,|(exprm)| ,…,|(exprM)并发搜索X个小文件,生成每一小文件对应的日志搜索结果;
步骤S5、基于{B1,B2,…,Bm,…,BM}合并所有小文件对应的日志搜索结果,生成待处理测试用例对应的日志搜索结果。
2.根据权利要求1所述的方法,其特征在于,
所述步骤S2包括:
步骤S21、在命令行中设置模式表达命令行参数,所述模式表达命令行参数用于指定全局日志匹配模式信息和自定义日志匹配模式信息;
步骤S22、基于所述模式表达命令行参数依次读取全局日志匹配模式信息和自定义日志匹配模式信息,依次抽取每一日志匹配模式信息对应的模式标识符,若抽取的模式标识符未在目标日志匹配模式信息集合中出现,则将对应的日志匹配模式信息存入目标日志匹配模式信息集合中,目标日志匹配模式信息集合中的日志匹配模式信息按照优先级从高到低的顺序排序,相同优先级的日志匹配模式信息按照日志匹配模式信息的获取顺序排序,否则,将对应的日志匹配模式信息存入目标日志匹配模式信息集合中,覆盖目标日志匹配模式信息集合中已存在的相同模式标识符对应的目标日志匹配模式信息,或者,跳过当前目标日志匹配模式信息,生成{B1,B2,…,Bm,…,BM};
步骤S23、获取{B1,B2,…,Bm,…,BM}中每一Bm对应的exprm,拼接生成(expr1)|(expr2)|,…,|(exprm)| ,…,|(exprM)。
3.根据权利要求2所述的方法,其特征在于,
所述步骤S3包括:
步骤S31、基于获取日志文件行数的命令行参数,以命令行的形式获取待处理测试用例对应的日志文件的日志总行数L;
步骤S32、若L大于预设的行数阈值,则获取切分行数,/>表示向上取整,若L小于预设的行数阈值,则不对待处理测试用例对应的日志文件进行切分;
步骤S33、基于切分文件的命令行参数,以命令行的形式采用命令行形式将待处理测试用例对应的日志文件切分为X个小文件{F1,F2,…,Fx,…,FX},Fx为第x个小文件,x的取值范围为1到X;若x≠X,则Fx中存储的是待处理测试用例对应的日志文件中第[Y×(x-1)+1]行至第Y×x行日志信息,若x=X,则Fx中存储的是第[Y×(X-1)+1]行至第L行的日志信息。
4.根据权利要求3所述的方法,其特征在于,
所述步骤S4包括:
步骤S41、基于执行文本搜索的命令行参数,以命令行的形式基于 (expr1)|(expr2)|,…,|(exprm)| ,…,|(exprM)并发搜索每一Fx,每一Fx对应一个线程;
步骤S42、将每一Fx包含任何一个exprm的目标日志行提取出来,并提取对应的第一目标日志行号,若命令行中设置有提取上下Z行的命令行参数,则将目标日志行的前后Z行也提取出来,将从Fx所提取的目标日志行和第一目标日志行号存储至对应的目标文件Gx中。
5.根据权利要求4所述的方法,其特征在于,
所述步骤S5包括:
步骤S51、基于{B1,B2,…,Bm,…,BM}匹配每一Gx中的每一目标日志行,确定每一Gx中每一目标日志行对应的状态和状态优先级;
步骤S52、根据每一Gx中的每一目标日志行的第一目标日志行号确定每一目标日志行在待处理测试用例对应的日志文件中的第二目标日志行号;
步骤S53、将状态优先级最高的状态确定为待处理测试用例对应的状态,若状态优先级最高的状态对应多个,则将对应的Bm最靠后的状态确定为待处理测试用例对应的最终状态;
步骤S54、通过输出命令行参数输出待处理测试用例对应的最终状态以及对应的第二目标日志行号。
6.根据权利要求5所述的方法,其特征在于,
所述步骤S5还包括:
步骤S55、基于所有Gx中所有目标日志行对应的状态得到每一状态对应的总量;
步骤S56、将每一目标日志行对应的状态、状态优先级、第二目标日志行号以及每一状态对应的总量呈现在预设的显示界面上,若Gx中存在每一目标日志行的前后Z行,则将每一目标日志行的前后Z行也呈现在所述显示界面上,目标日志行的前后Z行分别显示在目标日志行的前后,不同目标日志行以及目标日志行的前后Z行之间采用预设的分隔线分隔。
7.一种电子设备,其特征在于,包括:
至少一个处理器;
以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行前述权利要求1-6任一项所述的方法。
8.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行前述权利要求1-6中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310745697.4A CN116483644B (zh) | 2023-06-25 | 2023-06-25 | 用于芯片验证测试回归的日志搜索方法、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310745697.4A CN116483644B (zh) | 2023-06-25 | 2023-06-25 | 用于芯片验证测试回归的日志搜索方法、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116483644A true CN116483644A (zh) | 2023-07-25 |
CN116483644B CN116483644B (zh) | 2023-08-25 |
Family
ID=87223570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310745697.4A Active CN116483644B (zh) | 2023-06-25 | 2023-06-25 | 用于芯片验证测试回归的日志搜索方法、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116483644B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955415A (zh) * | 2023-09-13 | 2023-10-27 | 成都融见软件科技有限公司 | 基于设计层级的数据搜索系统 |
CN117056897A (zh) * | 2023-10-13 | 2023-11-14 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093416A1 (en) * | 2001-11-06 | 2003-05-15 | Fujitsu Limited | Searching apparatus and searching method using pattern of which sequence is considered |
CN102521316A (zh) * | 2010-12-01 | 2012-06-27 | 微软公司 | 用于日志分析的模式匹配框架 |
CN107660283A (zh) * | 2015-04-03 | 2018-02-02 | 甲骨文国际公司 | 用于在日志分析系统中实现日志解析器的方法和系统 |
US10275449B1 (en) * | 2018-02-19 | 2019-04-30 | Sas Institute Inc. | Identification and parsing of a log record in a merged log record stream |
CN115328639A (zh) * | 2022-10-13 | 2022-11-11 | 北京云枢创新软件技术有限公司 | 一种基于芯片验证回归的任务调度系统 |
-
2023
- 2023-06-25 CN CN202310745697.4A patent/CN116483644B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093416A1 (en) * | 2001-11-06 | 2003-05-15 | Fujitsu Limited | Searching apparatus and searching method using pattern of which sequence is considered |
CN102521316A (zh) * | 2010-12-01 | 2012-06-27 | 微软公司 | 用于日志分析的模式匹配框架 |
CN107660283A (zh) * | 2015-04-03 | 2018-02-02 | 甲骨文国际公司 | 用于在日志分析系统中实现日志解析器的方法和系统 |
US10275449B1 (en) * | 2018-02-19 | 2019-04-30 | Sas Institute Inc. | Identification and parsing of a log record in a merged log record stream |
CN115328639A (zh) * | 2022-10-13 | 2022-11-11 | 北京云枢创新软件技术有限公司 | 一种基于芯片验证回归的任务调度系统 |
Non-Patent Citations (1)
Title |
---|
李林广;张春华;: "基于正则表达式匹配的网络设备自动管理系统", 微计算机信息, no. 10 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116955415A (zh) * | 2023-09-13 | 2023-10-27 | 成都融见软件科技有限公司 | 基于设计层级的数据搜索系统 |
CN116955415B (zh) * | 2023-09-13 | 2024-01-23 | 成都融见软件科技有限公司 | 基于设计层级的数据搜索系统 |
CN117056897A (zh) * | 2023-10-13 | 2023-11-14 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
CN117056897B (zh) * | 2023-10-13 | 2023-12-26 | 沐曦集成电路(上海)有限公司 | 用于芯片验证的配置信息处理方法、电子设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN116483644B (zh) | 2023-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116483644B (zh) | 用于芯片验证测试回归的日志搜索方法、电子设备和介质 | |
US11900644B2 (en) | Document image analysis apparatus, document image analysis method and program thereof | |
CN110659527B (zh) | 电子表单中的表格检测 | |
JP2012123845A (ja) | 連続する記事部分の媒体資料解析 | |
CN112328489B (zh) | 测试用例生成方法、装置、终端设备和存储介质 | |
US20230237251A1 (en) | Deriving global intent from a composite document to facilitate editing of the composite document | |
Mao et al. | A dynamic feature generation system for automated metadata extraction in preservation of digital materials | |
US20100058175A1 (en) | Electronic document processing apparatus and electronic document processing method | |
JPWO2009087999A1 (ja) | 目次構造特定装置 | |
CN113553838A (zh) | 一种商品文案生成方法及装置 | |
US20160283520A1 (en) | Search device, search method, and computer program product | |
US20140082481A1 (en) | Document processing device and computer program product | |
CN115880708A (zh) | App适老模式下文字段落间距合规性检测方法 | |
WO2014170965A1 (ja) | 文書処理方法、文書処理装置および文書処理プログラム | |
US20210073258A1 (en) | Information processing apparatus and non-transitory computer readable medium | |
JP2016018279A (ja) | 文書ファイル検索プログラム、文書ファイル検索装置、文書ファイル検索方法、文書情報出力プログラム、文書情報出力装置及び文書情報出力方法 | |
JP2008146300A (ja) | 情報処理装置、情報処理方法およびプログラム | |
JP2002024761A (ja) | 画像処理装置及び画像処理方法並びに記憶媒体 | |
JP6807201B2 (ja) | 情報処理装置 | |
JP2006344053A (ja) | 特許明細書作成支援プログラム | |
JP2009048575A (ja) | クラスタリング装置、クラスタリング方法、プログラムおよび記録媒体 | |
KR102564051B1 (ko) | 강인한 학습 및 인식을 위한 다단계 딥러닝 방법 및 이를 수행하는 장치 | |
JP4189251B2 (ja) | キーワード解析方法及びそれに使用するプログラム | |
JP2007026263A (ja) | 文字認識装置及びコンピュータプログラム | |
JPH07107711B2 (ja) | 文書画像の処理装置 |
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 |