CN112597345B - 一种实验室数据自动采集与匹配方法 - Google Patents
一种实验室数据自动采集与匹配方法 Download PDFInfo
- Publication number
- CN112597345B CN112597345B CN202011191114.0A CN202011191114A CN112597345B CN 112597345 B CN112597345 B CN 112597345B CN 202011191114 A CN202011191114 A CN 202011191114A CN 112597345 B CN112597345 B CN 112597345B
- Authority
- CN
- China
- Prior art keywords
- data
- target
- determining
- data block
- matching
- 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/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/40—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for data related to laboratory analysis, e.g. patient specimen analysis
-
- 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/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- 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
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H15/00—ICT specially adapted for medical reports, e.g. generation or transmission thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Medical Informatics (AREA)
- Health & Medical Sciences (AREA)
- Epidemiology (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Automatic Analysis And Handling Materials Therefor (AREA)
Abstract
本申请提供了一种实验室数据自动采集与匹配方法,包括:获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;将所述目标实验数据进行数据块分割;依据所述数据块生成数据块索引表;其中,所述数据块索引表包括数据块标识;依据所述数据块索引表从预设匹配方式中确定目标匹配方式;当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容。具有高适应性,能运用于绝大多数的检测设备中,大量减少字符串匹配次数,降低算法计算复杂度。在降低内存占用量的同时提高了字符串匹配速度,有着更佳的性能。
Description
技术领域
本申请涉及数据处理领域,特别是一种实验室数据自动采集与匹配方法。
背景技术
随着实验室检测技术的精细化,如何从大量数据中提取有用信息成为实验数据文件中数据处理的研究重点,字符串匹配主要用于文本域的数据采集。经过几十年的发展,字符串模式匹配广泛应用于计算机、敏感词检测、生物学、文本处理、统计等领域。
现今,海关实验室检测设备种类繁多,厂源多样,业务量逐年递增,仍存在人工录用数据,导致检测周期长、偶然性差错出现率高的问题突出,难以满足海关实验室业务量大、数据处理不容差错的要求。其中,字符串匹配算法作为数据处理研究的重要领域,拥有高效的字符串匹配算法能明显缩短检测周期,是实现自动采集降低差错率的重要环节。然而,由于实验室检测设备出具的实验数据文件具有固定格式,和在大篇幅实验数据文件中仅需匹配少数几组数据的原因,运用现有的字符串匹配算法可以实现实验数据文件中字符串匹配的目的,但往往计算复杂度高,匹配效率低,占用系统内存大,在实际运用中有一定的差错率,难以满足如今海关实验室的需求。
因此,为了提高实验数据文件中字符串匹配速度,减少内存最大占用量,从而在保证数据匹配准确性的前提下缩短海关实验室样品的检测时长,实现实效管理,解决实验数据文件中字符串匹配问题显得至关重要。
发明内容
鉴于所述问题,提出了本申请以便提供克服所述问题或者至少部分地解决所述问题的一种实验室数据自动采集与匹配方法,以及一种实验室数据自动采集与匹配装置,包括:
一种实验室数据自动采集与匹配方法,所述方法包括:
获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;
将所述目标实验数据进行数据块分割;
依据所述数据块生成数据块索引表;其中,所述数据块索引表包括数据块标识;
依据所述数据块索引表从预设匹配方式中确定目标匹配方式;
当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容。
进一步地,还包括:
获取所述目标实验数据的粒度参数,并依据所述粒度参数生成对应于所述目标实验数据的目标哈希值;
当所述目标哈希值与目标存储节点中的现存哈希值不同时,将所述目标哈希值存储至所述目标存储节点。
进一步地,所述将所述目标实验数据进行数据块分割的步骤包括:
确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识;
依据所述数据段落的位置和所述指纹标识确定所述目标实验数据的数据分割点;
依据所述数据分割点将所述目标实验数据分割为相应的数据块。
进一步地,所述确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识的步骤包括:
确定处于所述数据分割窗口内的对应于所述目标实验数据的数据段落的字节大小;
当所述字节大小处于预设范围内时,依据的所述数据段落生成所述指纹标识;当所述字节大小不处于预设范围内时,将所述数据分割窗口沿预设方向移动一个滑动单位。
进一步地,所述依据所述数据段落的位置和所述指纹标识确定所述目标实验数据的数据分割点的步骤,包括:
依据所述数据段落的位置从预设的期望指纹标识循序渐进表中确定期望指纹标识;
当所述指纹标识与所述期望指纹标识相匹配时,将当前所述数据分割窗口内的下边界位置确定为所述数据分割点;当所述指纹标识与所述期望指纹标识不匹配时,将所述数据分割窗口沿预设方向移动一个所述滑动单位。
进一步地,所述依据所述数据段落的位置从预设的期望指纹标识循序渐进表中确定期望指纹标识包括:
依据所述数据段落的位置确定当前进行的数据块分割的分块序号;
依据所述分块序号从所述期望指纹标识循序渐进表中确定所述期望指纹标识。
进一步地,还包括:
依据所述目标实验数据中出现频率最高的行的高度以及行间距确定所述滑动单位。
进一步地,所述依据所述数据块生成数据块索引表的步骤,包括:
确定所述数据块对应的哈希值,模式串,以及数据块位地址;
依据所述数据块标识,所述哈希值,所述模式串,以及所述数据块位地址生成所述数据块索引表。
进一步地,所述依据所述数据块索引表从预设匹配方式中确定目标匹配方式的步骤,包括:
依据所述数据块索引表确定所述模式串与所述数据块的映射关系;
依据所述映射关系从预设匹配方式中选取耗时最短的匹配方式作为所述目标匹配方式。
一种实验室数据自动采集与匹配装置,具体包括:
目标实验数据确定模块,用于获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;
数据块分割模块,用于将所述目标实验数据进行数据块分割;
数据块索引表生成模块,用于依据所述数据块生成数据块索引表;
目标匹配方式确定模块,用于依据所述数据块索引表从预设匹配方式中确定目标匹配方式;
目标实验数据调用模块,用于当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容。
本申请具有以下优点:
在本申请的实施例中,通过通过获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;将所述目标实验数据进行数据块分割;依据所述数据块生成数据块索引表;其中,所述数据块索引表包括数据块标识;依据所述数据块索引表从预设匹配方式中确定目标匹配方式;当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容。具有高适应性,能运用于绝大多数的检测设备中,大量减少字符串匹配次数,降低算法计算复杂度。在降低内存占用量的同时提高了字符串匹配速度,有着更佳的性能。
附图说明
图1是本申请一实施例提供的一种实验室数据自动采集与匹配方法的步骤流程图;
图2是本申请一实施例提供的一种实验室数据自动采集与匹配方法的物流链网示意图;
图3是本申请一实施例提供的一种实验室数据自动采集与匹配方法的第一子链网示意图;
图4是本申请一实施例提供的一种实验室数据自动采集与匹配装置的结构框图。
具体实施方式
为使本申请的所述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,字符串匹配,即为在给定一组特定的字符串集合Pn的前提下,对于任意的一个长度为m的文本串T,要求Pn的长度小于m,找出 Pn中的文本串在T中的所有出现位置。当前存在多种匹配方法时,根据模式串个数的数量可以将匹配方法分为两种:单模式匹配,以及多模式匹配。其中,最简单的多模式匹配即为进行多次的单模式匹配。
随着人们对字符串匹配的研究,期初依据常规的模式串本身前缀和后缀的特点,提高匹配中模式串或文本串的移动距离;后来提出了改进Trie树的 AC优化算法、构建各自的长短SHIFT表的优化WM法和优化了跳跃和设计了确认机制的子集WM算法等多模式匹配方法来提升匹配速度。
然而,这些字符串匹配方法都追求以一个参数适用于全部文件,不可避免地出现匹配速度低,预处理时间长和内存占用大的问题,不适用于海关实验室的数据处理中。
参照图1,示出了本申请一实施例提供的一种实验室数据自动采集与匹配方法,所述方法包括:
S110、获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;
S120、将所述目标实验数据进行数据块分割;
S130、依据所述数据块生成数据块索引表;其中,所述数据块索引表包括数据块标识;
S140、依据所述数据块索引表从预设匹配方式中确定目标匹配方式;
S150、当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容。
在本申请的实施例中,通过步骤S110-S150。使本方法具有高适应性,能运用于绝大多数的检测设备中,大量减少字符串匹配次数,降低算法计算复杂度。在降低内存占用量的同时提高了字符串匹配速度,有着更佳的性能。
下面,将对本示例性实施例中实验室数据自动采集与匹配方法作进一步地说明。
如所述步骤S110所述,获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据。
需要说明的是,针对实验数据文件当日处理的特点,以时间为栅栏因子,比较实验数据的创建时间和执行本方法时的处理系统的环境时间,以初滤掉非当日生成的实验数据;
在一可选实施例中,还包括:
获取所述目标实验数据的粒度参数,并依据所述粒度参数生成对应于所述目标实验数据的目标哈希值;
需要说明的是,可以通过WFD技术(whole file detection,完全文件检测) 以所述实验数据对应的文件为粒度计算所述实验数据的哈希值,防止读取重复文件,精滤掉已读取文件。
当所述目标哈希值与目标存储节点中的现存哈希值不同时,将所述目标哈希值存储至所述目标存储节点。
作为一种示例,对实验数据的抓取的过程可以包括:
将实验数据文件保存在A存储节点(目标存储节点)中;
在全部文件保存完毕后,记录当前的系统时间;其中,系统时间为当前存储环境的实际时间,记录的时间单位精确到天;
借助队列结构来实现广度优先遍历,先从头部取出文件打印并移除,然后把文件下的子文件添加到队列,这样在遍历的时候,文件的层级是相同的,从而实现广度优先遍历文件夹,获取文件;
通过指定路径文件所对应的文件对象,提取当前文件信息对象的创建时间,将时间转换为年月日格式;
通过文件属性的文件年月日创建时间与系统年月日时间比较判断是否为今天检测所得的实验数据文件。若时间相同,表示文件为今天检测所得的实验数据文件,计算文件的哈希值;若时间不同,表示文件为非当日实验数据文件;
将文件整体为粒度,不对文件进行分割,而是将整个文件利用MD5哈希算法(Message-Digest Algorithm 5,第五版消息摘要算法)或SHA-2哈希算法(Secure哈希Algorithm 2,第二版安全散列演算法)计算文件整体的哈希值。
将计算得到的哈希值与已储存哈希值进行比较是否有重复,其中,已储存哈希值是指每次读取文件所保存的文件哈希值。若哈希值重复,表示之前已读取过该文件,文件重复。若哈希值不重复,则读取文件内容,并存储文件对应的哈希值。
将非当日实验数据文件、重复文件和读取过的文件通过文件搬运的方法移动至B存储节点进行存储,以方便今后读取A存储节点保存的新实验数据文件。
其中,随着抓取实验数据文件的增加,储存的哈希值也会随着增多,就会使得在文件哈希值与已储存哈希值比较过程中计算时间增加,可定期清理 B文件夹中实验数据文件的同时将储存哈希值进行清理。
在本方法的文件抓取过程中建立了文件创建时间初筛和文件哈希值精筛两项栅栏因子,在初筛时便能以低计算要求和低计算量的优势过滤全部非当日实验数据文件,然后在精筛时通过计算文件整体哈希值的方法准确过滤当日实验数据已读取文件,有着应用范围广,准确性高的优点。
如所述步骤S120所述,将所述目标实验数据进行数据块分割。
在一实施例中,可以结合下列描述进一步说明步骤S120所述“将所述目标实验数据进行数据块分割”的具体过程。
需要说明的是,CDC算法(Content-Defined Chunking,内容可变长度分块算法)是应用Rabin指纹将文件分割成长度大小不一的分块策略。用一个固定大小的数据分割窗口来划分文件,当数据分割窗口的Rabin指纹标识与一个期望指纹标识相匹配时,就该位置划分一个分割点,重复这个过程,直至整个文件都被划分,这样文件都将按照预先设定的分割点进行划分成数据块。
如下列步骤所述,确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识;
需要说明的是,由于现有的CDC算法在字符串匹配领域的运用主要是利用固定大小的数据分割窗口进行分块,具有较大的局限性。因此,本方法基于检测设备出具的实验原始记录文件有着固定文件格式的特点,在字符串匹配领域设计了一种适用于文件格式固定的数据分块方法,以克服现有的技术缺陷。
在一进阶实施例中,可以结合下列描述进一步说明步骤“确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识”的具体过程。
如下列步骤所述,确定处于所述数据分割窗口内的对应于所述目标实验数据的数据段落的字节大小;
如下列步骤所述,当所述字节大小处于预设范围内时,依据的所述数据段落生成所述指纹标识;当所述字节大小不处于预设范围内时,将所述数据分割窗口沿预设方向移动一个滑动单位。
在一可选实施例中,所述滑动单位的定义方式可以如下:
依据所述目标实验数据中出现频率最高的行的高度以及行间距确定所述滑动单位。
如下列步骤所述,依据所述数据段落的位置和所述指纹标识确定所述目标实验数据的数据分割点;
在一进阶实施例中,可以结合下列描述进一步说明步骤“依据所述数据段落的位置和所述指纹标识确定所述目标实验数据的数据分割点”的具体过程。
如下列步骤所述,依据所述数据段落的位置从预设的期望指纹标识循序渐进表中确定期望指纹标识;
如下列步骤所述,当所述指纹标识与所述期望指纹标识相匹配时,将当前所述数据分割窗口内的下边界位置确定为所述数据分割点;当所述指纹标识与所述期望指纹标识不匹配时,将所述数据分割窗口沿预设方向移动一个所述滑动单位。
在一进阶实施例中,可以结合下列描述进一步说明步骤“依据所述数据段落的位置从预设的期望指纹标识循序渐进表中确定期望指纹标识”的具体过程。
依据所述数据段落的位置确定当前进行的数据块分割的分块序号;
依据所述分块序号从所述期望指纹标识循序渐进表中确定所述期望指纹标识。
需要说明的是,所述循序渐进表由分块序号、预设的期望指纹标识和对应的数据块标识构成,通过分块序号选择期望指纹标识作为所述数据分割窗口的条件,即当所述指纹标识与所述期望指纹标识相匹配时,将当前所述数据分割窗口内的下边界位置确定为所述数据分割点,并记录其数据块标识。
其中,所述期望指纹标识可以为用户根据自身查找习惯进行设定的数据块大小所对应的指纹标识范围,亦可以为通过现有人工智能算法或类人工智能算法进行预学习或预训练所得出的指纹标识范围。
如下列步骤所述,依据所述数据分割点将所述目标实验数据分割为相应的数据块。
作为一种示例,数据分割的具体实现过程可以包括:
读取抓取到的实验数据文件;
设置数据分割窗口的大小,从实验数据文件的开始处以出现频率最高的行与行间距之和的高度为一个滑动单元进行滑动,直至预设大小的数据分割窗口被数据装载完毕;
基于同种检测设备的实验原始记录文件格式一致,通过预学习确定想要进行分界的位置,以设定数据分割窗口内字节的大小范围。在数据分割窗口被数据装载完后,比较数据分割窗口字节大小是否在设定范围内,若是,计算数据分割窗口内当前包含数据的Rabin指纹标识;若否,数据分割窗口向下滑动一个滑动单位;
将数据分割窗口内当前包含数据的Rabin指纹标识与预先设定数据分割窗口期望指纹标识的循序渐进表进行比较;
例如:循序渐进表第一个期望指纹标识为A,数据分割窗口某位置D的 Rabin指纹标识为f,当数据分割窗口某位置时若fmodD=A,则以数据分割窗口的下边界作一个分割线,对文本进行分割,创建一个分块;若fmodD≠ A,则数据分割窗口向下滑动一个滑动单位,并重新计算此时数据分割窗口内数据段的Rabin指纹标识,以及将重新计算得出的Rabin指纹标识与期望指纹标识进行比较。
判断数据分割窗口是否抵达文件结尾处,即文件是否分块完毕。若否,则数据分割窗口向下滑动一个单位;若是,则文件分块完成。
在字符串匹配运用中,本方法应依据模式串匹配的文本串位置进行期望指纹标识的设定。以便在模式串与数据块在进行字符串匹配的时候,模式串可以在数据块前段完成字符串匹配,匹配成功后即停止匹配其余未匹配文本,从而在保证匹配正确性的前提下运用CDC技术提高匹配速度。
与传统的CDC算法相比,本方法有了以下改进:①设定了以出现频率最高的行与行间距之和的高度为数据分割窗口向下移动的一个滑动单位;②规定了数据分割窗口内字节大小的范围初滤大部分不符合分割条件的数据分割窗口位置;③制定了数据分割窗口期望指纹标识的循序渐进表使文件划分的数据块大小更加精准。在这样的改进下,相较于传统的CDC分块算法,本方法有着良好的性能,不仅降低了文件分块过程的计算复杂度,而且提高了实验原始记录文件的分块效率。
如所述步骤S130所述,依据所述数据块生成数据块索引表;其中,所述数据块索引表包括数据块标识。
在一实施例中,可以结合下列描述进一步说明步骤S130所述“依据所述数据块生成数据块索引表”的具体过程。
如下列步骤所述,确定所述数据块对应的哈希值,模式串,以及数据块位地址;
如下列步骤所述,依据所述数据块标识,所述哈希值,所述模式串,以及所述数据块位地址生成所述数据块索引表。
如所述步骤S140所述,依据所述数据块索引表从预设匹配方式中确定目标匹配方式。
在一实施例中,可以结合下列描述进一步说明步骤S140所述“依据所述数据块索引表从预设匹配方式中确定目标匹配方式”的具体过程。
如下列步骤所述,依据所述数据块索引表确定所述模式串与所述数据块的映射关系;
如下列步骤所述,依据所述映射关系从预设匹配方式中选取耗时最短的匹配方式作为所述目标匹配方式。
需要说明的是,根据海关实验室的实验原始记录文件文本串T大而模式串Pn少的特点,使用传统的字符串匹配方法会有模式串匹配次数多、匹配时间长和计算复杂度高的问题。因此,本文提出了基于数据块索引的字符串匹配优化算法,将文件分块后,利用CRC32(Cyclic Redundancy Check,循环冗余校验)算法,或MD5哈希算法,或SHA-2哈希算法依次计算每一个数据块的哈希值与模式串、数据块位地址组成数据块检索表。接着,模式串 Pn通过数据块索引表快速匹配到相应的数据块。最后,模式串利用最简单的单模式匹配BF算法(Brute Force,暴力匹配算法)与映射的数据块进行字符串匹配,得到字符串匹配结果。基于数据块索引的字符串匹配优化算法中的数据块索引表如表1所示。
数据块标识 | 块哈希值 | 模式串 | 数据块位地址 |
Chunk-1 | Chunk1-Hash | <![CDATA[P<sub>1</sub>]]> | 1-H |
Chunk-2 | Chunk2-Hash | <![CDATA[P<sub>2</sub>]]> | 2-H |
… | … | … | … |
Chunk-n | Chunk3-Hash | <![CDATA[P<sub>n</sub>]]> | N-H |
表1
由表1可知,数据块索引表的每条记录都以数据块标识作为主键,同时表中还保存着数据块哈希值、对应的模式串以及数据块位地址,其数据块位地址表示数据实际的物理位置。在数据块索引表区域中,根据数据块标识有序地存放记录,以此来保证查找的效率,以提高该算法的匹配效率。
其中,模式串与数据块的精准匹配算法可根据模式串的长短来选择适合的单模式匹配算法,从而提高匹配效率。当模式串匹配的文本位置较集中时,可将其文本划为一个数据块中,将单模式匹配算法转化为AC(Aho— Corasiek,多模式匹配算法)算法、sunny算法或WM(Wu-Manber,多模式匹配算法)算法进行模式串与数据块之间的精准匹配,从而减少分块数量,避免出现过小分块。模式串与数据块之间根据对应的映射关系,选用更优的匹配算法,从而构建了灵活多变的模式串匹配算法。该算法不仅提高了字符串匹配效率,还适用于不同的实验原始记录文件中,具有高适应性。
如所述步骤S150所述,当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容。
在一具体实现中,实验进行环境的相关信息情况如表2所示,引入内存占用量和匹配速度实验的方法对本方法进行测试,实验所用仪器和实验原始记录文件均由深圳海关实验室提供,实验运行时间单位为ms。
表2
本实验在相同的实验条件下比较本方法和DKR算法的内存占用量,实验选择安捷伦液相色谱仪1290Q(D030202)出具的实验原始记录文件,模式串个数分别为10、20、40、80、160,模式串长度均在2-10之间。内存占用量选取的是最大驻留集的大小来表示程序运行中内存占用量。算法运行内存占用量见图3。
由图3可知,在模式串个数小于10的实验室原始记录文件匹配中,相较于DKR算法,本方法在内存占用量上有着更佳的性能。但随着模式串个数的增加,DKR算法在内存占用量的优势越发明显,在模式串大规模匹配时会更受人们的青睐。
该实验在相同的条件下比较本方法和DKR算法的匹配速度,根据实验原始记录文件份数的不同共进行8组测试,随机选择实验原始记录文件分别为1,5,10,20和40份。为了避免由于偶然性所导致的异常结果,每组测试分别进行10次匹配,对得到的匹配时间求平均值。最终得到对比结果如图4所示。
从图4可以看出,本方法的匹配时间明显高于DKR算法,在实验原始记录文件达到十份时,该算法只需121.7ms,即算法匹配速度为12.17ms/份。而DKR算法的匹配时间为172.4ms,即算法匹配速度为17.24ms/份。由此可见,该算法比DKR算法的匹配速度提升了29.41%,取得了良好的效果。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
参照图4,示出了本申请一实施例提供的一种实验室数据自动采集与匹配装置,具体包括:
目标实验数据确定模块410,用于获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;
数据块分割模块420,用于将所述目标实验数据进行数据块分割;
数据块索引表生成模块430,用于依据所述数据块生成数据块索引表;
目标匹配方式确定模块440,用于依据所述数据块索引表从预设匹配方式中确定目标匹配方式;
目标实验数据调用模块450,用于当调用存储节点中的所述目标实验数据时,依据所述目标匹配方式对调取所述目标实验数据。
在本发明一实施例中,还包括:
目标哈希值生成模块,用于获取所述目标实验数据的粒度参数,并依据所述粒度参数生成对应于所述目标实验数据的目标哈希值;
目标哈希值存储模块,用于当所述目标哈希值与目标存储节点中的现存哈希值不同时,将所述目标哈希值存储至所述目标存储节点。
在本发明一实施例中,所述数据块分割模块420,包括:
指纹标识确定子模块,用于确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识;
数据分割点确定子模块,用于依据所述数据段落的位置和所述指纹标识确定所述目标实验数据的数据分割点;
数据块分割子模块,用于依据所述数据分割点将所述目标实验数据分割为相应的数据块。
在本发明一实施例中,所述指纹标识确定子模块,包括:
字节大小确定子模块,用于确定处于所述数据分割窗口内的对应于所述目标实验数据的数据段落的字节大小;
指纹标识生成子模块,用于所述字节大小处于预设范围内时,依据的所述数据段落生成所述指纹标识;
第一数据分割窗口移动子模块,用于当所述字节大小不处于预设范围内时,将所述数据分割窗口沿预设方向移动一个滑动单位。
在本发明一实施例中,所述数据分割点确定子模块,包括:
基于下边界位置的所述数据分割点确定子模块,用于当所述指纹标识与所述期望指纹标识相匹配时,将当前所述数据分割窗口内的下边界位置确定为所述数据分割点;
第二数据分割窗口移动子模块,用于当所述指纹标识与所述期望指纹标识不匹配时,将所述数据分割窗口沿预设方向移动一个所述滑动单位。
在本发明一实施例中,还包括:
滑动单位确定模块,用于依据所述目标实验数据中出现频率最高的行的高度以及行间距确定所述滑动单位。
在本发明一实施例中,还包括:
期望指纹标识循序渐进表确定模块,用于依据所述数据分割窗口的参数确定期望指纹标识循序渐进表;其中,所述期望指纹标识循序渐进表包含有与所述数据分割窗口对应于的所有所述期望指纹标识。
在本发明一实施例中,所述数据块索引表生成模块430,包括:
数据块参数确定子模块,用于确定所述数据块对应的哈希值,模式串,以及数据块位地址;
数据块索引表生成子模块,用于依据所述数据块标识,所述哈希值,所述模式串,以及所述数据块位地址生成所述数据块索引表。
在本发明一实施例中,所述目标匹配方式确定模块440,包括:
映射关系确定子模块,用于依据所述数据块索引表确定所述模式串与所述数据块的映射关系;
目标匹配方式选取子模块,用于依据所述映射关系从预设匹配方式中选取耗时最短的匹配方式作为所述目标匹配方式。
以上对本申请所提供的实验室数据自动采集与匹配方法,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (7)
1.一种实验室数据自动采集与匹配方法,其特征在于,所述方法包括:
获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;
将所述目标实验数据进行数据块分割;具体地,确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识;依据所述数据段落的位置和所述指纹标识确定所述目标实验数据的数据分割点;具体地,依据所述数据段落的位置从预设的期望指纹标识循序渐进表中确定期望指纹标识;当所述指纹标识与所述期望指纹标识相匹配时,将当前所述数据分割窗口内的下边界位置确定为所述数据分割点;当所述指纹标识与所述期望指纹标识不匹配时,将所述数据分割窗口沿预设方向移动一个滑动单位;依据所述数据分割点将所述目标实验数据分割为相应的数据块;
依据所述数据块生成数据块索引表;其中,所述数据块索引表包括数据块标识;
依据所述数据块索引表从预设匹配方式中确定目标匹配方式;
当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容;
获取所述目标实验数据的粒度参数,并依据所述粒度参数生成对应于所述目标实验数据的目标哈希值;
当所述目标哈希值与目标存储节点中的现存哈希值不同时,将所述目标哈希值存储至所述目标存储节点。
2.根据权利要求1所述的方法,其特征在于,所述确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识的步骤包括:
确定处于所述数据分割窗口内的对应于所述目标实验数据的数据段落的字节大小;
当所述字节大小处于预设范围内时,依据的所述数据段落生成所述指纹标识;当所述字节大小不处于预设范围内时,将所述数据分割窗口沿预设方向移动一个滑动单位。
3.根据权利要求1所述的方法,其特征在于,所述依据所述数据段落的位置从预设的期望指纹标识循序渐进表中确定期望指纹标识包括:
依据所述数据段落的位置确定当前进行的数据块分割的分块序号;
依据所述分块序号从所述期望指纹标识循序渐进表中确定所述期望指纹标识。
4.根据权利要求1或2所述的方法,其特征在于,还包括:
依据所述目标实验数据中出现频率最高的行的高度以及行间距确定所述滑动单位。
5.根据权利要求1所述的方法,其特征在于,所述依据所述数据块生成数据块索引表的步骤,包括:
确定所述数据块对应的哈希值,模式串,以及数据块位地址;
依据所述数据块标识,所述哈希值,所述模式串,以及所述数据块位地址生成所述数据块索引表。
6.根据权利要求5所述的方法,其特征在于,所述依据所述数据块索引表从预设匹配方式中确定目标匹配方式的步骤,包括:
依据所述数据块索引表确定所述模式串与所述数据块的映射关系;
依据所述映射关系从预设匹配方式中选取耗时最短的匹配方式作为所述目标匹配方式。
7.一种实验室数据自动采集与匹配装置,其特征在于,具体包括:
目标实验数据确定模块,用于获取实验数据的创建时间,并依据所述创建时间确定对应于目标时间的目标实验数据;
数据块分割模块,用于将所述目标实验数据进行数据块分割;具体地,确定被预设大小的数据分割窗口所选取的对应于所述目标实验数据的数据段落的指纹标识;依据所述数据段落的位置和所述指纹标识确定所述目标实验数据的数据分割点;具体地,依据所述数据段落的位置从预设的期望指纹标识循序渐进表中确定期望指纹标识;当所述指纹标识与所述期望指纹标识相匹配时,将当前所述数据分割窗口内的下边界位置确定为所述数据分割点;当所述指纹标识与所述期望指纹标识不匹配时,将所述数据分割窗口沿预设方向移动一个滑动单位;依据所述数据分割点将所述目标实验数据分割为相应的数据块;
数据块索引表生成模块,用于依据所述数据块生成数据块索引表;其中,所述数据块索引表包括数据块标识;
目标匹配方式确定模块,用于依据所述数据块索引表从预设匹配方式中确定目标匹配方式;
目标实验数据调用模块,用于当调用存储节点中的所述目标实验数据时,获取所述数据块标识,并依据所述目标匹配方式调取所述目标实验数据中对应于所述数据块标识的数据内容;
目标哈希值生成模块,用于获取所述目标实验数据的粒度参数,并依据所述粒度参数生成对应于所述目标实验数据的目标哈希值;
目标哈希值存储模块,用于当所述目标哈希值与目标存储节点中的现存哈希值不同时,将所述目标哈希值存储至所述目标存储节点。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011191114.0A CN112597345B (zh) | 2020-10-30 | 2020-10-30 | 一种实验室数据自动采集与匹配方法 |
US17/102,463 US11557382B2 (en) | 2020-10-30 | 2020-11-24 | Method for automatically collecting and matching of laboratory data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011191114.0A CN112597345B (zh) | 2020-10-30 | 2020-10-30 | 一种实验室数据自动采集与匹配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112597345A CN112597345A (zh) | 2021-04-02 |
CN112597345B true CN112597345B (zh) | 2023-05-12 |
Family
ID=75180457
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011191114.0A Active CN112597345B (zh) | 2020-10-30 | 2020-10-30 | 一种实验室数据自动采集与匹配方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11557382B2 (zh) |
CN (1) | CN112597345B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110674364B (zh) * | 2019-08-30 | 2021-11-23 | 北京浩瀚深度信息技术股份有限公司 | 一种利用fpga实现的滑动字符串匹配的方法 |
CN113792616A (zh) * | 2021-08-26 | 2021-12-14 | 南方电网深圳数字电网研究院有限公司 | 一种基于边缘计算的远程读表系统及其工作方法 |
CN117668925B (zh) * | 2024-01-31 | 2024-04-16 | 厦门天锐科技股份有限公司 | 一种文件指纹生成方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101297318A (zh) * | 2005-08-23 | 2008-10-29 | 株式会社理光 | 用于混合介质文档系统的数据组织和访问 |
CN105868305A (zh) * | 2016-03-25 | 2016-08-17 | 西安电子科技大学 | 一种支持模糊匹配的云存储数据去重复方法 |
CN105912268A (zh) * | 2016-04-12 | 2016-08-31 | 韶关学院 | 一种基于自匹配特征的分布式重复数据删除方法及其装置 |
US9798754B1 (en) * | 2014-06-12 | 2017-10-24 | EMC IP Holding Company LLC | Method to efficiently track I/O access history using efficient memory data structures |
CN109189995A (zh) * | 2018-07-16 | 2019-01-11 | 哈尔滨理工大学 | 基于mpi的云存储中数据消冗方法 |
CN109815234A (zh) * | 2018-12-29 | 2019-05-28 | 杭州中科先进技术研究院有限公司 | 一种流式计算模型下的多重布谷鸟过滤器 |
CN110347651A (zh) * | 2019-06-11 | 2019-10-18 | 平安科技(深圳)有限公司 | 基于云存储的数据同步方法、装置、设备及存储介质 |
CN110569245A (zh) * | 2019-09-10 | 2019-12-13 | 天津理工大学 | 重复数据删除系统中基于强化学习的指纹索引预取方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070097755A1 (en) * | 2005-10-27 | 2007-05-03 | Marndi Raj N | Method for comparing a first data set with a second data set |
US7756859B2 (en) * | 2005-12-19 | 2010-07-13 | Intentional Software Corporation | Multi-segment string search |
US8086799B2 (en) * | 2008-08-12 | 2011-12-27 | Netapp, Inc. | Scalable deduplication of stored data |
US8250016B2 (en) * | 2009-04-17 | 2012-08-21 | Alcatel Lucent | Variable-stride stream segmentation and multi-pattern matching |
US8407245B2 (en) * | 2010-11-24 | 2013-03-26 | Microsoft Corporation | Efficient string pattern matching for large pattern sets |
US9047304B2 (en) * | 2011-11-28 | 2015-06-02 | International Business Machines Corporation | Optimization of fingerprint-based deduplication |
US20190020913A9 (en) * | 2016-06-27 | 2019-01-17 | Facebook, Inc. | Systems and methods for identifying matching content |
-
2020
- 2020-10-30 CN CN202011191114.0A patent/CN112597345B/zh active Active
- 2020-11-24 US US17/102,463 patent/US11557382B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101297318A (zh) * | 2005-08-23 | 2008-10-29 | 株式会社理光 | 用于混合介质文档系统的数据组织和访问 |
US9798754B1 (en) * | 2014-06-12 | 2017-10-24 | EMC IP Holding Company LLC | Method to efficiently track I/O access history using efficient memory data structures |
CN105868305A (zh) * | 2016-03-25 | 2016-08-17 | 西安电子科技大学 | 一种支持模糊匹配的云存储数据去重复方法 |
CN105912268A (zh) * | 2016-04-12 | 2016-08-31 | 韶关学院 | 一种基于自匹配特征的分布式重复数据删除方法及其装置 |
CN109189995A (zh) * | 2018-07-16 | 2019-01-11 | 哈尔滨理工大学 | 基于mpi的云存储中数据消冗方法 |
CN109815234A (zh) * | 2018-12-29 | 2019-05-28 | 杭州中科先进技术研究院有限公司 | 一种流式计算模型下的多重布谷鸟过滤器 |
CN110347651A (zh) * | 2019-06-11 | 2019-10-18 | 平安科技(深圳)有限公司 | 基于云存储的数据同步方法、装置、设备及存储介质 |
CN110569245A (zh) * | 2019-09-10 | 2019-12-13 | 天津理工大学 | 重复数据删除系统中基于强化学习的指纹索引预取方法 |
Non-Patent Citations (2)
Title |
---|
Martin Hirzel 等. Sliding-Window Aggregation Algorithms: Tutorial.《DEBS '17: Proceedings of the 11th ACM International Conference on Distributed and Event-based 》.2017,11-14. * |
基于嵌入式的位置指纹定位系统数据采集网络的研究;方孟智;《中国优秀硕士学位论文全文数据库 (信息科技辑)》;I140-1085 * |
Also Published As
Publication number | Publication date |
---|---|
CN112597345A (zh) | 2021-04-02 |
US11557382B2 (en) | 2023-01-17 |
US20220139506A1 (en) | 2022-05-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112597345B (zh) | 一种实验室数据自动采集与匹配方法 | |
CN109684333B (zh) | 一种数据存储及裁剪方法、设备和存储介质 | |
US6185569B1 (en) | Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table | |
CN107491487B (zh) | 一种全文数据库架构及位图索引创建、数据查询方法、服务器及介质 | |
CN111316296A (zh) | 学习层级提取模型的结构 | |
CN116722876B (zh) | 一种用于版式轻阅读的用户数据智能存储方法 | |
Zhang et al. | Hashfile: An efficient index structure for multimedia data | |
CN106777130A (zh) | 一种索引生成方法、数据检索方法和装置 | |
CN114510474A (zh) | 基于时间衰减的样本删除方法及其装置、存储介质 | |
CN109325022B (zh) | 一种数据处理方法和装置 | |
CN116055559B (zh) | 数据交换格式的处理方法及装置 | |
CN113722274A (zh) | 一种高效的R-tree索引遥感数据存储模型 | |
CN109189343B (zh) | 一种元数据落盘方法、装置、设备及计算机可读存储介质 | |
CN115391355B (zh) | 数据处理方法、装置、设备及存储介质 | |
CN111782663A (zh) | 一种提升聚合查询效率的聚合索引结构及聚合索引方法 | |
CN109299106B (zh) | 数据查询方法和装置 | |
CN109388641B (zh) | 一种检索键值数据库中键的共同前缀的方法、设备、介质 | |
Zhou et al. | Adaptive subspace symbolization for content-based video detection | |
CN110659344A (zh) | 一种基于区块法的全文搜索方法 | |
CN110674142A (zh) | 一种Oracle数据库索引优化方法 | |
CN112527757A (zh) | 基于大规模芯片测试结果的快速检索方法 | |
CN115391284B (zh) | 基因数据文件快速识别方法、系统和计算机可读存储介质 | |
CN114238241B (zh) | 财务数据的元数据处理方法和计算机系统 | |
CN117729176B (zh) | 基于网络地址和响应体的应用程序接口聚合方法及装置 | |
CN111949439B (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 |