CN113312322A - Stdf文件的读写方法、介质、设备及装置 - Google Patents
Stdf文件的读写方法、介质、设备及装置 Download PDFInfo
- Publication number
- CN113312322A CN113312322A CN202110429868.3A CN202110429868A CN113312322A CN 113312322 A CN113312322 A CN 113312322A CN 202110429868 A CN202110429868 A CN 202110429868A CN 113312322 A CN113312322 A CN 113312322A
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- memory block
- writing
- reading
- 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
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/172—Caching, prefetching or hoarding of files
-
- 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
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
本发明公开了一种STDF文件的读写方法及装置,其中方法包括:根据预设的存储大小在内存中定义多个内存块及对应的内存块信息;获取文件中的数据信息;根据数据信息获取每个数据对应的部分数据标识,并依次判断每个数据对应的部分数据标识是否存在内存中;如果否,则将部分数据标识写入内存中的内存块;并将内存块信息写入内存中的第一存储空间,以及将内存块信息对应的内存块写入内存中的第二存储空间;获取用户指令以获取对应的部分数据标识,以便根据部分数据标识从内存块中读取数据以得到可读文件;通过对文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种STDF文件的读写方法、介质、设备及装置。
背景技术
相关技术中,在芯片研发生产到封装的过程中,芯片测试都是不可或缺的一环,而STDF文件采用了统一格式保存所有测试数据,所以通常情况下只需要解析一个STDF文件就可以对芯片测试结果作360度全方位的分析,但是,由于STDF文件具有规范复杂、文件大等特点,所以现有的STDF文件解析工具普遍存在读取数据慢且占用内存大等问题;由于解析STDF文件耗时耗力、占用内存大影响系统其他进程,进而导致后续利用STDF文件做数据分析的难度也大大增加。
发明内容
本发明旨在至少在一定程度上解决上述技术中的技术问题之一。为此,本发明的一个目的在于提出一种STDF文件的读写方法,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
本发明的第二个目的在于提出一种计算机可读存储介质。
本发明的第三个目的在于提出一种计算机设备。
本发明的第四个目的在于提出一种STDF文件的读写装置。
为达到上述目的,本发明第一方面实施例提出了一种STDF文件的读写方法,包括以下步骤:根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中所述内存包括第一存储空间和第二存储空间;获取用户指令,并根据所述用户指令得到对应STDF文件的路径信息,以便根据所述路径信息获取所述STDF文件中的数据信息;根据所述数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断所述每个数据对应的数据类型的标识和数据长度是否存在内存中;如果否,则将所述数据对应的数据类型的标识和数据长度写入所述内存中的内存块;并将所述内存块信息写入所述内存中的第一存储空间,以及将所述内存块信息对应的内存块写入所述内存中的第二存储空间;获取用户指令,并根据所述用户指令获取对应的数据类型的标识和数据长度,以便根据所述数据类型的标识和数据长度从所述内存块中读取数据以得到可读文件。
根据本发明实施例的STDF文件的读写方法,首先,根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中内存包括第一存储空间和第二存储空间;接着,获取用户指令,并根据用户指令得到对应STDF文件的路径信息,以便根据路径信息获取STDF文件中的数据信息;再接着,根据数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断每个数据对应的数据类型的标识和数据长度是否存在内存中;如果否,则将数据对应的数据类型的标识和数据长度写入内存中的内存块;并将内存块信息写入所述内存中的第一存储空间,以及将内存块信息对应的内存块写入内存中的第二存储空间;最后,获取用户指令,并根据用户指令获取对应的数据类型的标识和数据长度,以便根据数据类型的标识和数据长度从内存块中读取数据以得到可读文件;由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
另外,根据本发明上述实施例提出的STDF文件的读写方法还可以具有如下附加的技术特征:
可选地,所述第一存储空间为set容器,所述第二存储空间为map容器。
可选地,在将所述STDF文件中的每个数据对应的数据类型的标识和数据长度写入所述内存中的内存块后,还将每个数据在STDF文件中的偏移量写入所述内存块,以便在根据所述用户指令获取对应的数据类型的标识和数据长度后,根据所述偏移量获取对应的内存块信息,以及根据所述内存块信息读取对应的数据。
可选地,在每次将内存块写入所述map容器时,还判断所述map容器中的内存块数量是否超过预先设定的最大数量;如果是,则根据set容器中的排序释放最久未被访问的内存块及其对应的内存块信息。
为达到上述目的,本发明第二方面实施例提出了一种计算机可读存储介质,其上存储有STDF文件的读写程序,该STDF文件的读写程序被处理器执行时实现如上述的STDF文件的读写方法。
根据本发明实施例的计算机可读存储介质,通过存储STDF文件的读写程序,这样STDF文件的读写程序在被处理器执行时实现如上述的STDF文件的读写方法,由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
为达到上述目的,本发明第三方面实施例提出了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如上述的STDF文件的读写方法。
根据本发明实施例的计算机设备,通过处理器执行上述STDF文件的读写程序,由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
为达到上述目的,本发明实施例第四方面实施例提出了一种STDF文件的读写装置,包括:定义模块,用于根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中所述内存包括第一存储空间和第二存储空间;获取模块,用于获取用户指令,并根据所述用户指令得到对应STDF文件的路径信息,以便根据所述路径信息获取所述STDF文件中的数据信息;判断模块,用于根据所述数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断所述每个数据对应的数据类型的标识和数据长度是否存在内存中;写入模块,用于如果否,则将所述数据对应的数据类型的标识和数据长度写入所述内存中的内存块;并将所述内存块信息写入所述内存中的第一存储空间,以及将所述内存块信息对应的内存块写入所述内存中的第二存储空间;读取模块,用于获取用户指令,并根据所述用户指令获取对应的数据类型的标识和数据长度,以便根据所述数据类型的标识和数据长度从所述内存块中读取数据以得到可读文件。
根据本发明实施例的STDF文件的读写装置,设置定义模块根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中内存包括第一存储空间和第二存储空间;设置获取模块获取用户指令,并根据用户指令得到对应STDF文件的路径信息,以便根据路径信息获取STDF文件中的数据信息;设置判断模块根据数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断每个数据对应的数据类型的标识和数据长度是否存在内存中;设置写入模块在如果不存在内存中,则将数据对应的数据类型的标识和数据长度写入内存中的内存块;并将内存块信息写入内存中的第一存储空间,以及将内存块信息对应的内存块写入内存中的第二存储空间;设置读取模块获取用户指令,并根据用户指令获取对应的数据类型的标识和数据长度,以便根据数据类型的标识和数据长度从内存块中读取数据以得到可读文件;由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
另外,根据本发明上述实施例提出的STDF文件的读写装置还可以具有如下附加的技术特征:
可选地,所述第一存储空间为set容器,所述第二存储空间为map容器。
可选地,所述写入模块还用于,在将所述STDF文件中的每个数据对应的数据类型的标识和数据长度写入所述内存中的内存块后,还将每个数据在STDF文件中的偏移量写入所述内存块,以便在根据所述用户指令获取对应的数据类型的标识和数据长度后,根据所述偏移量获取对应的内存块信息,以及根据所述内存块信息读取对应的数据。
可选地,所述判断模块还用于,在每次将内存块写入所述map容器时,还判断所述map容器中的内存块数量是否超过预先设定的最大数量;如果是,则根据set容器中的排序释放最久未被访问的内存块及其对应的内存块信息。
附图说明
图1为根据本发明实施例的STDF文件的读写方法的流程示意图;
图2为根据本发明实施例的STDF文件的读写装置的方框示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
为了更好的理解上述技术方案,下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
为了更好的理解上述技术方案,下面将结合说明书附图以及具体的实施方式对上述技术方案进行详细的说明。
图1为根据本发明实施例的STDF文件的读写方法的流程示意图,如图1所示,该STDF文件的读写方法包括以下步骤:
S101,根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中内存包括第一存储空间和第二存储空间。
作为一个示例,上述第一存储空间可为set容器,第二存储空间可为map容器。
需要说明的是,包括第一存储空间和第二存储空间构成的数据检索数据结构可采用一个关键字进行检索,另一个关键字进行排序,完成单次的数据插入、删除、检索操作时间复杂度为O(log_N),空间复杂度为O(Nlog_N);其中,插入操作步骤为:将数据插入set容器,将数据按第一关键字插入map容器;删除操作步骤为:拿到一个set容器的迭代器并取出数据的第一关键字;在map容器中按取到的第一关键字进行查找并删除数据;使用第一步中的迭代器在set容器中删除数据;检索操作步骤为:给出第一关键字使用map容器检索得到数据。
也就是说,set容器为已排序对象的关联容器,存储的是键(key)的集合,通过键(key)来读取和修改元素,且每一个键(key)只能对应一个元素;map容器存储的是键值对,提供一对一的数据处理能力。
需要说明的是,上述内存块信息可包括内存块块号、内存块地址和长度等信息。
S102,获取用户指令,并根据用户指令得到对应STDF文件的路径信息,以便根据路径信息获取STDF文件中的数据信息。
作为一个实施例,可通过用户点击读取STDF文件按钮从而获取到该指令后得到用户点击的该文件的路径,进而调用操作系统以及调用接口打开该STDF文件。
S103,根据数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断每个数据对应的数据类型的标识和数据长度是否存在内存中。
也就是说,在将STDF文件写入内存前,先判断内存中是否已经存在对应的数据类型的标识和数据长度,如果存在则无需写入。
S104,如果否,则将数据对应的数据类型的标识和数据长度写入内存中的内存块;并将内存块信息写入内存中的第一存储空间,以及将内存块信息对应的内存块写入内存中的第二存储空间。
作为一个实施例,计算机从STDF文件中读取第一个数据类型的标识和数据长度,判断该第一个数据类型的标识和数据长度在不在内存中,如果不在则从STDF文件中写入该数据所在的内存块以存入内存,并将内存块地址和长度存入内存中的set和map数据结构中;按照数据长度将数据指针指向第二个数据类型,以此类推。
优选地,作为一个示例,在每次将内存块写入map容器时,还判断map容器中的内存块数量是否超过预先设定的最大数量;如果是,则根据set容器中的排序释放最久未被访问的内存块及其对应的内存块信息。
也就是说,在每次从STDF文件中读入内存块时检查内存池是否超过限定大小,若超过则根据set容器中的排序释放第一个内存块,并在set容器和map容器中删除。
需要说明的是,通过定义一种简易内存分配器,该内存分配器使用上述数据检索数据结构管理内存块;内存块号作为第一关键字进行检索,内存块最近被访问时间作为第二关键字进行排序;每次访问或插入内存块更新其最近被访问时间,当内存块数量超过设定的最大数量时根据LRU算法替换最久未使用的内存块;在内存中只保存最近使用的数块内存,从而在兼顾速度的同时达到降低内存占用的目的。
S105,获取用户指令,并根据用户指令获取对应的数据类型的标识和数据长度,以便根据数据类型的标识和数据长度从内存块中读取数据以得到可读文件。
需要说明的是,在读取文件时,采用读取部分数据的方式加快STDF文件的读取速度,即加载STDF文件时只读取每种数据类型的头部即类型和长度,从而减少大量内存读取;在用户点击某个类型查看详细信息时再定位该类型的位置,利用内存分配器读取详细信息;对于属于一个内存块内的数据从内存分配器的内存块中读取,对于属于多块内存块间的数据直接从STDF文件中读取;写入文件时,从已取得的数据类型中逐个顺序加载并写入二进制STDF文件,写入后立即释放该数据类型的内存空间。
优选地,作为一个示例,在将STDF文件中的每个数据对应的数据类型的标识和数据长度写入内存中的内存块后,还将每个数据在STDF文件中的偏移量写入内存块,以便在根据用户指令获取对应的数据类型的标识和数据长度后,根据偏移量获取对应的内存块信息,以及根据内存块信息读取对应的数据。
作为一个具体实施例,写入完成后将所有数据类型的类型名和数据在STDF文件中的偏移量存入内存中的数组中;在table1中填入前20个数据类型的类型名和偏移量,当用户滑动滚轮或按下方向上下键时或用户点击某个数据类型时,计算机根据滑动条位置确定该类型基本信息的数组下标,从内存中取得其偏移量;通过偏移量获得内存块块号,在map容器中检索该内存块是否已写入内存中,若不在内存中则从STDF文件中读入该内存块;计算机继续从该内存块中解析该数据类型的详细信息,转义成字符串后填入table2。
作为一个实施例,解析过程可为取得数据类型和内存地址后,计算机根据其数据类型建立对应的对象,调用其read()虚函数,根据不同数据类型的具体属性顺序解析。
由此,为实现对STDF文件的读写,本实施例以继承的方式定义多种数据类型,并实现在STDF文件中任意位置自动识别数据类型并读取数据,读取文件利用内存分配器大量节省内存并减少读文件次数,写入文件则为按数据类型顺序写入;每个数据类型实现初始化、清除、取数据和读写函数,函数均定义为虚函数,可在向上造型后被正确调用。
综上所述,根据本发明实施例的STDF文件的读写方法,首先,根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中内存包括第一存储空间和第二存储空间;接着,获取用户指令,并根据用户指令得到对应STDF文件的路径信息,以便根据路径信息获取STDF文件中的数据信息;再接着,根据数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断每个数据对应的数据类型的标识和数据长度是否存在内存中;如果否,则将数据对应的数据类型的标识和数据长度写入内存中的内存块;并将内存块信息写入所述内存中的第一存储空间,以及将内存块信息对应的内存块写入内存中的第二存储空间;最后,获取用户指令,并根据用户指令获取对应的数据类型的标识和数据长度,以便根据数据类型的标识和数据长度从内存块中读取数据以得到可读文件;由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
为了实现上述实施例,本发明实施例还提出一种计算机可读存储介质,其上存储有STDF文件的读写程序,该STDF文件的读写程序被处理器执行时实现如上述的STDF文件的读写方法。
根据本发明实施例的计算机可读存储介质,通过存储STDF文件的读写程序,这样STDF文件的读写程序在被处理器执行时实现如上述的STDF文件的读写方法,由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
为了实现上述实施例,本发明实施例还提出一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,实现如上述的STDF文件的读写方法。
根据本发明实施例的计算机设备,通过处理器执行上述STDF文件的读写程序,由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
为了实现上述实施例,本发明实施例还提出一种STDF文件的读写装置,如图2所示,该STDF文件的读写装置包括:定义模块10、获取模块20、判断模块30、写入模块40和读取模块50。
其中,定义模块10用于根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中内存包括第一存储空间和第二存储空间;
获取模块20用于获取用户指令,并根据用户指令得到对应STDF文件的路径信息,以便根据路径信息获取所述STDF文件中的数据信息;
判断模块30用于根据数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断每个数据对应的数据类型的标识和数据长度是否存在内存中;
写入模块40如果否,则将数据对应的数据类型的标识和数据长度写入内存中的内存块;并将内存块信息写入所述内存中的第一存储空间,以及将内存块信息对应的内存块写入内存中的第二存储空间;
读取模块50用于获取用户指令,并根据用户指令获取对应的数据类型的标识和数据长度,以便根据数据类型的标识和数据长度从内存块中读取数据以得到可读文件。
在一些实施例中,第一存储空间为set容器,第二存储空间为map容器。
在一些实施例中,写入模块40还用于在将STDF文件中的每个数据对应的数据类型的标识和数据长度写入内存中的内存块后,还将每个数据在STDF文件中的偏移量写入内存块,以便在根据用户指令获取对应的数据类型的标识和数据长度后,根据偏移量获取对应的内存块信息,以及根据内存块信息读取对应的数据。
在一些实施例中,判断模块30还用于在每次将内存块写入map容器时,还判断map容器中的内存块数量是否超过预先设定的最大数量;如果是,则根据set容器中的排序释放最久未被访问的内存块及其对应的内存块信息。
需要说明的是,上述关于图1中STDF文件的读写方法的描述同样适用于该STDF文件的读写装置,在此不做赘述。
综上所述,根据本发明实施例的STDF文件的读写装置,设置定义模块根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中内存包括第一存储空间和第二存储空间;设置获取模块获取用户指令,并根据用户指令得到对应STDF文件的路径信息,以便根据路径信息获取STDF文件中的数据信息;设置判断模块根据数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断每个数据对应的数据类型的标识和数据长度是否存在内存中;设置写入模块在如果不存在内存中,则将数据对应的数据类型的标识和数据长度写入内存中的内存块;并将内存块信息写入内存中的第一存储空间,以及将内存块信息对应的内存块写入内存中的第二存储空间;设置读取模块获取用户指令,并根据用户指令获取对应的数据类型的标识和数据长度,以便根据数据类型的标识和数据长度从内存块中读取数据以得到可读文件;由此,通过对STDF文件进行分块存储,从而大大节省了内存占用,并且通过采取读取部分数据以加快读取速度,从而节省用户时间成本进而加速后续的数据分析。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (10)
1.一种STDF文件的读写方法,其特征在于,包括以下步骤:
根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中所述内存包括第一存储空间和第二存储空间;
获取用户指令,并根据所述用户指令得到对应STDF文件的路径信息,以便根据所述路径信息获取所述STDF文件中的数据信息;
根据所述数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断所述每个数据对应的数据类型的标识和数据长度是否存在内存中;
如果否,则将所述数据对应的数据类型的标识和数据长度写入所述内存中的内存块;并将所述内存块信息写入所述内存中的第一存储空间,以及将所述内存块信息对应的内存块写入所述内存中的第二存储空间;
获取用户指令,并根据所述用户指令获取对应的数据类型的标识和数据长度,以便根据所述数据类型的标识和数据长度从所述内存块中读取数据以得到可读文件。
2.如权利要求1所述的STDF文件的读写方法,其特征在于,所述第一存储空间为set容器,所述第二存储空间为map容器。
3.如权利要求2所述的STDF文件的读写方法,其特征在于,在将所述STDF文件中的每个数据对应的数据类型的标识和数据长度写入所述内存中的内存块后,还将每个数据在STDF文件中的偏移量写入所述内存块,以便在根据所述用户指令获取对应的数据类型的标识和数据长度后,根据所述偏移量获取对应的内存块信息,以及根据所述内存块信息读取对应的数据。
4.如权利要求1所述的STDF文件的读写方法,其特征在于,在每次将内存块写入所述map容器时,还判断所述map容器中的内存块数量是否超过预先设定的最大数量;如果是,则根据set容器中的排序释放最久未被访问的内存块及其对应的内存块信息。
5.一种计算机可读存储介质,其特征在于,其上存储有STDF文件的读写程序,该STDF文件的读写程序被处理器执行时实现如权利要求1-4中任一项所述的STDF文件的读写方法。
6.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求1-4中任一项所述的STDF文件的读写方法。
7.一种STDF文件的读写装置,其特征在于,包括:
定义模块,用于根据预先设置的存储大小在内存中定义多个内存块及每个内存块对应的内存块信息,其中所述内存包括第一存储空间和第二存储空间;
获取模块,用于获取用户指令,并根据所述用户指令得到对应STDF文件的路径信息,以便根据所述路径信息获取所述STDF文件中的数据信息;
判断模块,用于根据所述数据信息获取每个数据对应的数据类型的标识和数据长度,并依次判断所述每个数据对应的数据类型的标识和数据长度是否存在内存中;
写入模块,用于如果否,则将所述数据对应的数据类型的标识和数据长度写入所述内存中的内存块;并将所述内存块信息写入所述内存中的第一存储空间,以及将所述内存块信息对应的内存块写入所述内存中的第二存储空间;
读取模块,用于获取用户指令,并根据所述用户指令获取对应的数据类型的标识和数据长度,以便根据所述数据类型的标识和数据长度从所述内存块中读取数据以得到可读文件。
8.如权利要求7所述的STDF文件的读写装置,其特征在于,所述第一存储空间为set容器,所述第二存储空间为map容器。
9.如权利要求8所述的STDF文件的读写装置,其特征在于,所述写入模块还用于,在将所述STDF文件中的每个数据对应的数据类型的标识和数据长度写入所述内存中的内存块后,还将每个数据在STDF文件中的偏移量写入所述内存块,以便在根据所述用户指令获取对应的数据类型的标识和数据长度后,根据所述偏移量获取对应的内存块信息,以及根据所述内存块信息读取对应的数据。
10.如权利要求9所述的STDF文件的读写装置,其特征在于,所述判断模块还用于,在每次将内存块写入所述map容器时,还判断所述map容器中的内存块数量是否超过预先设定的最大数量;如果是,则根据set容器中的排序释放最久未被访问的内存块及其对应的内存块信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110429868.3A CN113312322B (zh) | 2021-04-21 | 2021-04-21 | Stdf文件的读写方法、介质、设备及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110429868.3A CN113312322B (zh) | 2021-04-21 | 2021-04-21 | Stdf文件的读写方法、介质、设备及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113312322A true CN113312322A (zh) | 2021-08-27 |
CN113312322B CN113312322B (zh) | 2022-04-01 |
Family
ID=77372637
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110429868.3A Active CN113312322B (zh) | 2021-04-21 | 2021-04-21 | Stdf文件的读写方法、介质、设备及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113312322B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114326674A (zh) * | 2021-12-29 | 2022-04-12 | 深圳市元征科技股份有限公司 | Ecu刷写的方法、装置、电子设备及存储介质 |
CN114928605A (zh) * | 2022-07-15 | 2022-08-19 | 江苏泰治科技股份有限公司 | 一种芯片测试机大数据动态调度方法及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149697A (zh) * | 2006-09-20 | 2008-03-26 | 英业达股份有限公司 | 按键测试系统及方法 |
CN101221577A (zh) * | 2008-01-24 | 2008-07-16 | 中兴通讯股份有限公司 | 一种实现内存数据库表存盘和加载的方法 |
CN102819497A (zh) * | 2012-05-31 | 2012-12-12 | 华为技术有限公司 | 一种内存分配方法、装置及系统 |
CN103440203A (zh) * | 2013-08-26 | 2013-12-11 | 上海斐讯数据通信技术有限公司 | 一种共享内存分配方法 |
CN106708443A (zh) * | 2017-01-03 | 2017-05-24 | 北京百度网讯科技有限公司 | 数据读写方法及装置 |
US20180137139A1 (en) * | 2016-11-16 | 2018-05-17 | Commvault Systems, Inc. | Dynamically configuring a proxy server using containerization for concurrent and/or overlapping backup, restore, and/or test operations |
CN108702692A (zh) * | 2016-02-19 | 2018-10-23 | 华为技术有限公司 | 移动网络中的功能选择 |
CN109613412A (zh) * | 2018-12-19 | 2019-04-12 | 上海哥瑞利软件有限公司 | 实时分析stdf检测数据的方法 |
US20190294744A1 (en) * | 2016-11-30 | 2019-09-26 | Numem Inc. | Resistance-based memory compiler |
CN112600737A (zh) * | 2020-12-15 | 2021-04-02 | 厦门芯泰达集成电路有限公司 | 通讯测试方法、介质、设备及系统 |
-
2021
- 2021-04-21 CN CN202110429868.3A patent/CN113312322B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149697A (zh) * | 2006-09-20 | 2008-03-26 | 英业达股份有限公司 | 按键测试系统及方法 |
CN101221577A (zh) * | 2008-01-24 | 2008-07-16 | 中兴通讯股份有限公司 | 一种实现内存数据库表存盘和加载的方法 |
CN102819497A (zh) * | 2012-05-31 | 2012-12-12 | 华为技术有限公司 | 一种内存分配方法、装置及系统 |
CN103440203A (zh) * | 2013-08-26 | 2013-12-11 | 上海斐讯数据通信技术有限公司 | 一种共享内存分配方法 |
CN108702692A (zh) * | 2016-02-19 | 2018-10-23 | 华为技术有限公司 | 移动网络中的功能选择 |
US20180137139A1 (en) * | 2016-11-16 | 2018-05-17 | Commvault Systems, Inc. | Dynamically configuring a proxy server using containerization for concurrent and/or overlapping backup, restore, and/or test operations |
US20190294744A1 (en) * | 2016-11-30 | 2019-09-26 | Numem Inc. | Resistance-based memory compiler |
CN106708443A (zh) * | 2017-01-03 | 2017-05-24 | 北京百度网讯科技有限公司 | 数据读写方法及装置 |
CN109613412A (zh) * | 2018-12-19 | 2019-04-12 | 上海哥瑞利软件有限公司 | 实时分析stdf检测数据的方法 |
CN112600737A (zh) * | 2020-12-15 | 2021-04-02 | 厦门芯泰达集成电路有限公司 | 通讯测试方法、介质、设备及系统 |
Non-Patent Citations (2)
Title |
---|
CHEN-KUN TSUNG,等: "An Implementation of Scalable High Throughput Data Platform for Logging Semiconductor Testing Results", 《IEEE ACCESS》 * |
王玉龙: "基于ATE的ATDF测试数据的研究", 《创新应用》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114326674A (zh) * | 2021-12-29 | 2022-04-12 | 深圳市元征科技股份有限公司 | Ecu刷写的方法、装置、电子设备及存储介质 |
CN114928605A (zh) * | 2022-07-15 | 2022-08-19 | 江苏泰治科技股份有限公司 | 一种芯片测试机大数据动态调度方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113312322B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113312322B (zh) | Stdf文件的读写方法、介质、设备及装置 | |
EP2737406B1 (en) | A system and method for identifying fault prone computer code files | |
CN108399130A (zh) | 自动生成测试案例的方法、装置、设备及可读存储介质 | |
CN108319711B (zh) | 数据库的事务一致性测试方法、装置、存储介质及设备 | |
CN110718264A (zh) | 测试固态硬盘信息的方法、装置、计算机设备及存储介质 | |
CN107656871B (zh) | 一种基于Postmark的后端存储性能自动化测试方法 | |
CN101034402B (zh) | 对器件测试中生成的自定义事件进行处理的方法和装置 | |
CN112185453A (zh) | 读干扰测试方法、装置、计算机可读存储介质及电子设备 | |
CN111459764A (zh) | 一种日志管理方法及终端 | |
CN106407123A (zh) | 一种服务器接口的自动化测试方法及装置 | |
CN110969000B (zh) | 数据合并的处理方法及装置 | |
CN111221721A (zh) | 一种单元测试案例自动化录制和执行方法及装置 | |
CN110990207B (zh) | 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质 | |
CN113778890A (zh) | 代码测试方法、装置、电子设备及存储介质 | |
CN111124894B (zh) | 代码覆盖率的处理方法、装置和计算机设备 | |
US20060005088A1 (en) | System and method for testing artificial memory | |
US20040024954A1 (en) | Time stamp management system for disk arrays | |
CN113434596A (zh) | 一种分布式数据库测试数据的生成方法及装置 | |
CN114330278A (zh) | 一种判断返回数据一致性的方法及设备 | |
CN112948281A (zh) | 数据处理方法、装置、设备及存储介质 | |
CN112035308A (zh) | 系统接口测试表格的生成方法及装置 | |
CN112732640A (zh) | 一种文件描述符泄漏检测的方法及装置 | |
CN112765170B (zh) | 一种嵌入式时间序列数据管理方法及设备 | |
CN116955223B (zh) | 一种数据预取方法、系统、电子设备及计算机存储介质 | |
CN117216123A (zh) | 一种dflash结构性存储的有效数据提取分析方法及装置 |
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 |