本申请涉及数据处理技术领域,公开了一种快速读取gzip压缩的stdf文件MIR信息的方法及装置,该方法包括:先筛选出stdf文件列表,然后读取前面部分字节,并判断是否为合法的压缩文件,然后对合法的压缩文件进行解压并判断解压后的文件是否为非法文件,若不是非法文件,则识别出MIR记录并解析出详细内容,最后根据详细内容判断是否是需要完整解析的目标文件,本申请只需读取文件部分信息,然后根据特征码识别压缩算法,在内存中解压缩,并快速的解析文件头部的MIR信息,从而获取程序版本号,并把原来的识别耗时,从分钟级别降低到毫秒级,资源占用也大大的降低,从而能够有效的提高处理效率。率。率。
【技术实现步骤摘要】
一种快速读取gzip压缩的stdf文件MIR信息的方法及装置
[0001]本申请涉及数据处理
,尤其是一种快速读取gzip压缩的stdf文件MIR信息的方法及装置。
技术介绍
[0002]半导体测试在良率监控时,一般只监测PTR(参数测试记录)和FTR(功能测试记录)记录,不会监测DTR(数据日志文本记录),因为它仅仅记录一些日志信息。但有时人为错误和非标操作,把关键的PTR或FTR数据写入到DTR记录中,从而导致RTM系统(实时监控系统)无法监测产品的良率。
[0003]本专利技术因客户的测试程序把FTR的数据写在DTR中,导致RTM系统无法监测。但只有版本号为8的程序产生的数据会受到此影响,最终这些数据未被解析直接压缩后存储在某处。因此需要开发一个软件识别出哪些是版本号为8的程序生成的STDF文件(程序版本信息保存在MIR记录中),然后把这些文件转换为正常的数据结构(把DTR中的数据解析后写入FTR)再解析并导入到系统,做离线的良率分析。由于stdf文件非常的多,就会存在两个问题:
[0004]1.解析前必须解压缩全部文件,而300M的文件解压后就是3G,巡检的效率非常低,且非常的占用资源;
[0005]2.开源的解析库默认需要把整个文件解析完之后才返回解析结果,导致解析过程非常漫长且占用内存。
[0006]而现有的技术方案为:人工筛选出版本为8的程序生成的stdf文件,然后手动解压缩,再根据客户提供的转换规则,把数据导入到系统中。人工筛选不仅工作量大效率低,而且可能出现遗漏。
技术实现思路
[0007]本申请的目的在于克服现有技术不足之处,提供一种快速读取gzip压缩的stdf文件MIR信息的方法及装置。
[0008]第一方面,提供了一种快速读取gzip压缩的stdf文件MIR信息的方法,包括:
[0009]根据通配符初步筛选出经过压缩的stdf文件列表;
[0010]读取压缩的stdf文件的前N个字节,其中,N为1024的正整数倍;
[0011]根据压缩的stdf文件中文件头的前两个字节判断是否是合法的压缩文件;
[0012]响应于压缩的stdf文件是合法的,则根据gzip的算法对前N个字节进行解压缩;
[0013]根据解压后文件的前6个字节判断是否是非法文件;
[0014]响应于解压后的文件不是非法文件,则从解压后文件中识别出MIR记录;
[0015]按长度读取完整的MIR记录字节流,并跳过前4个字节解析MIR记录的详细内容;
[0016]根据解析结果判断当前MIR记录是否是需要完整解析的目标文件。
[0017]进一步的,所述通配符为*.stdf.gz或*.gz中的任意一种。
[0018]进一步的,读取压缩的stef文件的前2048个字节,若未读取到完整的MIR记录,则读取前2048*n个字节,其中,n为读取压缩的stdf文件的次数,直至读取到完整的MIR记录停止循环。
[0019]进一步的,根据压缩的stdf文件中文件头的前两个字节判断是否是合法的压缩文件,包括:
[0020]读取压缩的stdf文件中文件头的前两个字节;
[0021]判断压缩的stdf文件中文件头的前两个字节是否为31和139;
[0022]响应于压缩的stdf文件中文件头的前两个字节是31和139,则判断当前压缩的stdf文件是合法的压缩文件;
[0023]响应于压缩的stdf文件中文件头的前两个字节不是31和139,则判断当前压缩的stdf文件不是合法的压缩文件。
[0024]进一步的,根据解压后文件的前6个字节判断是否是非法文件,包括:
[0025]根据解压后文件的第五个字节判断字节序是高位还是低位,若第五个字节小于2说明,则判断字节序为高位,并从第二个字节读取FAR的长度,若第五个字节大于等于2,则判断字节序为低位,并从第一个字节读取FAR的长度;
[0026]响应于FAR的长度不是2,则判断解压后文件为非法文件;
[0027]响应于FAR的长度是2,则判断第三个字节和第四个字节是否为0和10,若第三个字节不是0或第四个字节不是10,则判断解压后文件为非法文件,若第三个字节是0且第四个字节是10,则判断解压后文件不是非法文件。
[0028]进一步的,从解压后文件中识别出MIR记录,包括:
[0029]从解压后文件的第七个字节开始读取四个字节,其中,在读取的四个字节中:前两个字节是记录的总长度,第三个字节记录的是记录的主类型,第四个字节记录的是记录的子类型;
[0030]响应于记录的主类型为1,且子类型为10,则判断当前记录为MIR记录;
[0031]响应于记录的主类型不是1,或子类型不是10,则判断当前记录不是MIR记录,并跳过当前记录往后读取四个字节继续识别MIR记录,直至识别出MIR记录。
[0032]进一步的,根据解析结果判断当前MIR记录是否是需要完整解析的目标文件,包括:
[0033]根据EXEC_TYP判断解析结果的字符串是否包含8.的关键字,FAMLY_ID是否为目标客户;
[0034]响应于解析结果的字符串包含8.的关键字,且FAMLY_ID为目标客户,则当前MIR记录为需要解析的目标文件。
[0035]第二方面,提供了一种快速读取gzip压缩的stdf文件MIR信息的装置,包括:
[0036]初步筛选模块,用于根据通配符初步筛选出经过压缩的stdf文件列表;
[0037]读取模块,用于读取压缩的stdf文件的前N个字节,其中,N为1024的正整数倍;
[0038]第一判断模块,用于根据压缩的stdf文件中文件头的前两个字节判断是否是合法的压缩文件;
[0039]解压缩模块,用于响应于压缩的stdf文件是合法的,则根据gzip的算法对前N个字节进行解压缩;
[0040]第二判断模块,用于根据解压后文件的前6个字节判断是否是非法文件;
[0041]识别模块,用于响应于解压后的文件不是非法文件,则从解压后文件中识别出MIR记录;
[0042]解析模块,用于按长度读取完整的MIR记录字节流,并跳过前4个字节解析MIR记录的详细内容;
[0043]第三判断模块,用于根据解析结果判断当前MIR记录是否是需要完整解析的目标文件。
[0044]第三方面,提供了一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行如第一方面中的任意一种实现方式中方法的步骤。
[0045]第四方面,提供了一种电子设备,所述电子设备包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面中的任意一种实现方式中的方法的步骤。
[0046]本申请具有如下有益效果:本申请只需读取文件部分信息,然后根据特征码识别压缩算法,在内存中解压本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种快速读取gzip压缩的stdf文件MIR信息的方法,其特征在于,包括:根据通配符初步筛选出经过压缩的stdf文件列表;读取压缩的stdf文件的前N个字节,其中,N为1024的正整数倍;根据压缩的stdf文件中文件头的前两个字节判断是否是合法的压缩文件;响应于压缩的stdf文件是合法的,则根据gzip的算法对前N个字节进行解压缩;根据解压后文件的前6个字节判断是否是非法文件;响应于解压后的文件不是非法文件,则从解压后文件中识别出MIR记录;按长度读取完整的MIR记录字节流,并跳过前4个字节解析MIR记录的详细内容;根据解析结果判断当前MIR记录是否是需要完整解析的目标文件。2.根据权利要求1所述的快速读取gzip压缩的stdf文件MIR信息的方法,其特征在于,所述通配符为*.stdf.gz或*.gz中的任意一种。3.根据权利要求1所述的快速读取gzip压缩的stdf文件MIR信息的方法,其特征在于,读取压缩的stdf文件的前2048个字节,若未读取到完整的MIR记录,则读取前2048*n个字节,其中,n为读取压缩的stdf文件的次数,直至读取到完整的MIR记录停止循环。4.根据权利要求1所述的快速读取gzip压缩的stdf文件MIR信息的方法,其特征在于,根据压缩的stdf文件中文件头的前两个字节判断是否是合法的压缩文件,包括:读取压缩的stdf文件中文件头的前两个字节;判断压缩的stdf文件中文件头的前两个字节是否为31和139;响应于压缩的stdf文件中文件头的前两个字节是31和139,则判断当前压缩的stdf文件是合法的压缩文件;响应于压缩的stdf文件中文件头的前两个字节不是31和139,则判断当前压缩的stdf文件不是合法的压缩文件。5.根据权利要求1所述的快速读取gzip压缩的stdf文件MIR信息的方法,其特征在于,根据解压后文件的前6个字节判断是否是非法文件,包括:根据解压后文件的第五个字节判断字节序是高位还是低位,若第五个字节小于2说明,则判断字节序为高位,并从第二个字节读取FAR的长度,若第五个字节大于等于2,则判断字节序为低位,并从第一个字节读取FAR的长度;响应于FAR的长度不是2,则判断解压后文件为非法文件;响应于FAR的长度是2,则判断第三个字节和第四个字节是否为0和10,若第三个字节不是0或第四个字节不是10,则判断解压后文件为非法文件,若第三个字节是0且第四个字节是10,则判断解压后...
【专利技术属性】
技术研发人员:任雨涛,张超,邱元海,杨连东,
申请(专利权)人:甬矽电子宁波股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。