CN112527757B - 基于大规模芯片测试结果的快速检索方法 - Google Patents
基于大规模芯片测试结果的快速检索方法 Download PDFInfo
- Publication number
- CN112527757B CN112527757B CN201910879802.7A CN201910879802A CN112527757B CN 112527757 B CN112527757 B CN 112527757B CN 201910879802 A CN201910879802 A CN 201910879802A CN 112527757 B CN112527757 B CN 112527757B
- Authority
- CN
- China
- Prior art keywords
- file
- directory
- files
- checklist
- check
- 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/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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/14—Details of searching files based on file metadata
- G06F16/148—File search processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Library & Information Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种基于大规模芯片测试结果的快速检索方法,包括以下步骤:对目录进行检查,将目录中的日志文件按照文件名进行升序排序,检查是否存在校验文件.checksum,如果是,执行下一步,否则对目录下的所有文件进行顺序入库,并将数据列表写入.checksum文件;将之前从该目录中获取的数据列表写入.checksum_new文件;读入该目录中的校验文件.checksum;对该目录中的校验文件.checksum和.checksum_new进行MD5值比对,判断这两个文件MD5值是否相同,如果是,结束操作;该方法通过对目录中的文件分层级并检索,达到快速定位更新目录或者更新文件的目的,提升检测效率。
Description
技术领域
本发明属于计算机处理器测试技术领域,尤其涉及一种基于大规模芯片测试结果的快速检索方法。
背景技术
在大规模芯片测试验证过程中,会产生大量的日志文件,为保证测试进度的顺利进行,必须快速高效地对日志进行检索分析并进行摘要日志入库的问题。在处理大量的日志过程中,要提升速度即必须快速的定位出新出的日志名称,仅对新日志进行处理。而现有的测试结果往往根据资源信息或者日期创建目录,将某一类或者某一天产生的结果日志存入对应的目录下,随着时间的推移,将必然产生数量巨大的测试目录,测试目录下也存放着大量的测试结果日志。
测试结果的回收和扫描通常是滞后的,通常测试人员会在当前资源测试完成之后会才进行。为避免重复,每次入库时前都要判断:每个目录下是否有新的日志生成,目录是否是新生成的日志目录,这个日志的内容是否存在更新。由于测试过程中结果目录多,数量庞大,如果采用逐个检查目录与文件变化,那么在检查对比这一项工作上也将会花费大量的时间,给测试用户带来一种需要很长时间延时的感觉,严重影响使用,所以亟需一种技术手段能够快速的对结果目录进行检查,读取出目录中需要处理的日志文件。
发明内容
本发明目的在于提供一种基于大规模芯片测试结果的快速检索方法,该方法通过对目录中的文件分层级并检索列表中临时文件的MD5值,达到快速定位更新目录或者更新文件的目的,提升检测效率。
为达到上述目的,本发明采用的技术方案是:一种基于大规模芯片测试结果的快速检索方法,采用MD5值校验<文件名称,文件字节大小>格式的文件,检查是否存在更新,其特征在于:包括以下步骤:
S1、对测试目录进行检查,检查当前测试目录下是否存在校验文件.checksum,如果存在,跳转至S3执行,否则,执行S2;
S2、将当前测试目录中的日志文件按照文件名进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入临时文件,.checksum文件,跳转至S5继续;
S3、对当前测试目录下的所有日志文件进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checksum_new文件,并将.checksum_new文件放置于当前测试目录下;
S4、对当前测试目录下的.checksum文件和.checksum_new文件进行MD5值校验,比较两个文件的MD5值是否相同,如果相同,结束操作,否则,继续执行下一步;
S5、进入当前测试目录的子目录,检查当前子目录下是否存在校验文件.checklist,如果存在,跳转至S7执行,否则跳转至S6继续;
S6、将当前子目录中的日志文件按照文件名进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checklist文件,同时将文件名列表缓存到临时文件中,用作结果处理的依据,然后跳转至S9;
S7、对当前子目录下的所有日志文件进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checklist_new文件,并将.checklist_new文件放置于当前子目录下;
S8、对当前子目录下的.checklist文件和.checklist_new文件进行比较,检查两个文件的MD5值是否相同,如果相同,继续执行下一步,否则,获取.checklist文件与.checklist_new文件中的文件名称列表,排序并去重,循环检查两个文件中存在差异的文件名列表:如果.checklist文件和.checklist_new文件都存在该文件的大小和字节数内容且相同,则认为文件不存在更新;否则认为存在更新,将文件名列表缓存到临时文件中,用作结果处理的依据;
S9、判断当前子目录下是否还存在未处理的下一级子目录,如果存在,跳转执行S5,否则,结束操作。
上述技术方案中进一步改进的技术方案如下:
1. 上述方案中,所述数据列表信息的格式为<文件名,相应日志文件的字节大小>。
2. 上述方案中,在S8中,对目录下的.checklist文件和.checklist_new文件进行排序去重,检查文件中格式为<文件名,相应日志文件的字节大小>的数据列表信息,根据目录、文件两级进行分级检索,如果目录一级发现不存在更新则不进行文件检索。
由于上述技术方案的运用,本发明与现有技术相比具有下列优点:
1. 本发明基于大规模芯片测试结果的快速检索方法,提出一种分层级、检索文件大小列表临时文件的MD5值的检查技术,采用MD5值校验日志文件与文件大小形成的列表信息,对目录以及目录中结果日志的大小进行检索实现更新检查,以达到快速定位更新目录或者更新文件的目的;可以有效的避免大量的文件读取开销,实现快速回收扫描,及时定位到需要入库处理的日志文件列表,节约了时间,提升了管理效率;同时可以规避已入库结果日志重复入库,识别出人工误操作导致的日志文件信息发生变化,准确获取到具体更新的日志信息,检索准确性高。
2. 本发明基于大规模芯片测试结果的快速检索方法,没有环境相关的依赖性,不需要安装任何依赖的软件或框架,使用方便、简洁,适用性高。
附图说明
附图1为本发明基本模块流程示意图
具体实施方式
下面结合实施例对本发明作进一步描述:
实施例:一种基于大规模芯片测试结果的快速检索方法,采用MD5值校验<文件名称,文件字节大小>格式的文件,检查是否存在更新,其特征在于:包括以下步骤:
S1、对测试目录进行检查,检查当前测试目录下是否存在校验文件.checksum,如果存在,跳转至S3执行,否则,执行S2;
S2、将当前测试目录中的日志文件按照文件名进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入临时文件,.checksum文件,跳转至S5继续;
S3、对当前测试目录下的所有日志文件进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checksum_new文件,并将.checksum_new文件放置于当前测试目录下;
S4、对当前测试目录下的.checksum文件和.checksum_new文件进行MD5值校验,比较两个文件的MD5值是否相同,如果相同,结束操作,否则,继续执行下一步;
S5、进入当前测试目录的子目录,检查当前子目录下是否存在校验文件.checklist,如果存在,跳转至S7执行,否则跳转至S6继续;
S6、将当前子目录中的日志文件按照文件名进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checklist文件,同时将文件名列表缓存到临时文件中,用作结果处理的依据,然后跳转至S9;
S7、对当前子目录下的所有日志文件进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checklist_new文件,并将.checklist_new文件放置于当前子目录下;
S8、对当前子目录下的.checklist文件和.checklist_new文件进行比较,检查两个文件的MD5值是否相同,如果相同,继续执行下一步,否则,获取.checklist文件与.checklist_new文件中的文件名称列表,排序并去重,循环检查两个文件中存在差异的文件名列表:如果.checklist文件和.checklist_new文件都存在该文件的大小和字节数内容且相同,则认为文件不存在更新;否则认为存在更新,将文件名列表缓存到临时文件中,用作结果处理的依据;
S9、判断当前子目录下是否还存在未处理的下一级子目录,如果存在,跳转执行S5,否则,结束操作。
上述数据列表信息的格式为<文件名,相应日志文件的字节大小>。
在S8中,对目录下的.checklist文件和.checklist_new文件进行排序去重,检查文件中格式为<文件名,相应日志文件的字节大小>的数据列表信息,根据目录、文件两级进行分级检索,如果目录一级发现不存在更新则不进行文件检索。
本发明上述内容进一步解释如下:
本发明面向的是存在大量的目录并且目录中存在大量的日志文件的现实问题,当文件数量庞大时,采用MD5值校验的方式对文件进行校验将花费大量的时间。
基于以上问题,本发明通过使用MD5值的特性,绕过日志内容的检查,仅检查日志文件的字节数,获取目录以及子目录下日志文件字节数的方式,形成临时文件,通过对该文件进行检索,并比较上一次检索形成的临时文件,比较两个文件的MD5值是否存在差值,判断是否有内容的更新。
为了提升检索速度,同时保证检索质量,对目录中日志文件按照名字进行升序排序,同时顺序获取文件的字节数;获取一组具有<文件名,相应的字节大小>这样一种格式的列表信息,并将这些信息放置在文件中,对该文件的进行MD5校验,并放置在当前目录下,命名为.checksum。
需要说明的是,之所以采用MD5校验文件列表的字符大小,是基于这样一种考虑:当日志发生变化时,结果文件的大小绝大多数情况下会发生变化,因为日志通常是以追加的方式进行更新的。当字符不发生变化,而文件内容发生变化时,通常是由于测试管理员误操作修改文件导致,不影响文件的日志结果分析,这时候无需重复入库。而当发生管理员误操作修改更多的信息的时候,日志文件信息必然发生变化,也将有可能影响日志中测试结果的正确性,该方式也能够识别出来并重复入库。
如果该目录从未被检索过,那么将直接对该目录下的所有文件进行顺序入库,同时将上述形成的信息放置在当前目录下,命名为.checksum;如果该目录被检索过,那么在此形成的信息将放置在.checksum_new中,比较目录中的日志是否相同,如果不同则进入该目录进行检索文件是否存在更新;否则,结束检索,无需更新。
当发现目录存在更新的文件时,同样采用对目录中文件进行排序并获取文件大小的方式,比对仅比对文件的字符大小是够一致,不一致则返回将文件名缓存到临时文件中,一致则跳过;直到目录中所有文件检查结束,获取目录下的更新文件列表,返回给用户做后续处理,以此作为需要入库更新的凭证。
通过对目录的分级处理,减少检索时间,仅需通过一次MD5校验就能发现当前目录的子目录是否存在更新;如果没有更新,则无需进入目录进行处理;同理,仅需一次MD5值校验就能确定本目录中所有的子目录、子目录的下一级目录是否存在更新;如果没有更新,则无需进行处理;通过目录来进行分级处理的方式,减少的不必要检索,提升检索效率。
采用上述基于大规模芯片测试结果的快速检索方法时,其提出一种分层级、检索文件大小列表临时文件的MD5值的检查技术,采用MD5值校验日志文件与文件大小形成的列表信息,对目录以及目录中结果日志的大小进行检索实现更新检查,以达到快速定位更新目录或者更新文件的目的;
可以有效的避免大量的文件读取开销,实现快速回收扫描,及时定位到需要入库处理的日志文件列表,节约了时间,提升了管理效率;
同时可以规避已入库结果日志重复入库,识别出人工误操作导致的日志文件信息发生变化,准确获取到具体更新的日志信息,检索准确性高;
没有环境相关的依赖性,不需要安装任何依赖的软件或框架,使用方便、简洁,适用性高。
为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:
MD5值:是一种文件的信息摘要值,该值能够保证两个为不同内容的文件对应的摘要值必然不同的特征。
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
Claims (3)
1.一种基于大规模芯片测试结果的快速检索方法,采用MD5值校验<文件名称,文件字节大小>格式的文件,检查是否存在更新,其特征在于:包括以下步骤:
S1、对测试目录进行检查,检查当前测试目录下是否存在校验文件.checksum,如果存在,跳转至S3执行,否则,执行S2;
S2、将当前测试目录中的日志文件按照文件名进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入临时文件,.checksum文件,跳转至S5继续;
S3、对当前测试目录下的所有日志文件进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checksum_new文件,并将.checksum_new文件放置于当前测试目录下;
S4、对当前测试目录下的.checksum文件和.checksum_new文件进行MD5值校验,比较两个文件的MD5值是否相同,如果相同,结束操作,否则,继续执行下一步;
S5、进入当前测试目录的子目录,检查当前子目录下是否存在校验文件.checklist,如果存在,跳转至S7执行,否则跳转至S6继续;
S6、将当前子目录中的日志文件按照文件名进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checklist文件,同时将文件名列表缓存到临时文件中,用作结果处理的依据,然后跳转至S9;
S7、对当前子目录下的所有日志文件进行升序排序,同时获取日志文件的字节数,形成一组数据列表信息,并将此数据列表信息写入.checklist_new文件,并将.checklist_new文件放置于当前子目录下;
S8、对当前子目录下的.checklist文件和.checklist_new文件进行比较,检查两个文件的MD5值是否相同,如果相同,继续执行下一步,否则,获取.checklist文件与.checklist_new文件中的文件名称列表,排序并去重,循环检查两个文件中存在差异的文件名列表:如果.checklist文件和.checklist_new文件都存在该文件的大小和字节数内容且相同,则认为文件不存在更新;否则认为存在更新,将文件名列表缓存到临时文件中,用作结果处理的依据;
S9、判断当前子目录下是否还存在未处理的下一级子目录,如果存在,跳转执行S5,否则,结束操作。
2.根据权利要求1所述的基于大规模芯片测试结果的快速检索方法,其特征在于:所述数据列表信息的格式为<文件名,相应日志文件的字节大小>。
3.根据权利要求1所述的基于大规模芯片测试结果的快速检索方法,其特征在于:在S8中,对目录下的.checklist文件和.checklist_new文件进行排序去重,检查文件中格式为<文件名,相应日志文件的字节大小>的数据列表信息,根据目录、文件两级进行分级检索,如果目录一级发现不存在更新则不进行文件检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879802.7A CN112527757B (zh) | 2019-09-18 | 2019-09-18 | 基于大规模芯片测试结果的快速检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910879802.7A CN112527757B (zh) | 2019-09-18 | 2019-09-18 | 基于大规模芯片测试结果的快速检索方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112527757A CN112527757A (zh) | 2021-03-19 |
CN112527757B true CN112527757B (zh) | 2022-11-15 |
Family
ID=74974973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910879802.7A Active CN112527757B (zh) | 2019-09-18 | 2019-09-18 | 基于大规模芯片测试结果的快速检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112527757B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115695504B (zh) * | 2023-01-03 | 2023-04-11 | 东方合智数据科技(广东)有限责任公司 | 物联网平台通信方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100174690A1 (en) * | 2009-01-08 | 2010-07-08 | International Business Machines Corporation | Method, Apparatus and Computer Program Product for Maintaining File System Client Directory Caches with Parallel Directory Writes |
CN109933570A (zh) * | 2019-03-15 | 2019-06-25 | 中山大学 | 一种元数据管理方法、***及介质 |
-
2019
- 2019-09-18 CN CN201910879802.7A patent/CN112527757B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100174690A1 (en) * | 2009-01-08 | 2010-07-08 | International Business Machines Corporation | Method, Apparatus and Computer Program Product for Maintaining File System Client Directory Caches with Parallel Directory Writes |
CN109933570A (zh) * | 2019-03-15 | 2019-06-25 | 中山大学 | 一种元数据管理方法、***及介质 |
Non-Patent Citations (2)
Title |
---|
《Integrated test data decompression and core wrapper design for low-cost system-on-a-chip testing》;P.T. Gonciari 等;《Proceedings. International Test Conference》;20021231;全文 * |
《高性能计算机芯片测试技术概述》;梁斌 等;《现代交际》;20161031;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN112527757A (zh) | 2021-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569214B (zh) | 用于日志文件的索引构建方法、装置及电子设备 | |
RU2565109C2 (ru) | Способ и устройство для восстановления резервной базы данных | |
US9015214B2 (en) | Process of generating a list of files added, changed, or deleted of a file server | |
CN111459799B (zh) | 一种基于Github的软件缺陷检测模型建立、检测方法及*** | |
CN111400724B (zh) | 基于代码相似性分析的操作***脆弱性检测方法、***及介质 | |
CN110855748B (zh) | 基于ftp的遥感影像数据自动规范化处理方法、装置及介质 | |
CN105335246B (zh) | 一种基于问答网站分析的程序崩溃缺陷自动修复方法 | |
CN110489701A (zh) | 提取cms识别特征的方法、装置及cms识别方法 | |
CN111881455A (zh) | 一种固件安全分析的方法及装置 | |
CN112328499A (zh) | 一种测试数据生成方法、装置、设备及介质 | |
CN110795614A (zh) | 一种索引自动优化方法及装置 | |
CN112445997A (zh) | 一种提取cms多版本识别特征规则的方法及装置 | |
CN103177022A (zh) | 一种恶意文件搜索方法及装置 | |
CN112527757B (zh) | 基于大规模芯片测试结果的快速检索方法 | |
CN107590233B (zh) | 一种文件管理方法及装置 | |
CN105117462A (zh) | 一种敏感词检查方法和装置 | |
CN112328379A (zh) | 一种应用迁移方法、装置、设备及介质 | |
CN112698861A (zh) | 源代码克隆识别方法及*** | |
CN117453646A (zh) | 融合语义与深度神经网络的内核日志联合压缩与查询方法 | |
CN112363904A (zh) | log数据分析定位方法、装置及计算机可读存储介质 | |
KR101688629B1 (ko) | 메타데이터 및 데이터 클러스터를 이용하는 파일 시스템 복구 방법 및 장치 | |
CN112068981A (zh) | Linux操作***中基于知识库的故障扫描恢复方法及*** | |
CN115080114B (zh) | 应用程序的移植处理方法、装置和介质 | |
CN104714956A (zh) | 一种异构记录集对比方法及装置 | |
CN113792026A (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 |