CN103425771B - 一种数据正则表达式的挖掘方法及装置 - Google Patents
一种数据正则表达式的挖掘方法及装置 Download PDFInfo
- Publication number
- CN103425771B CN103425771B CN201310347701.8A CN201310347701A CN103425771B CN 103425771 B CN103425771 B CN 103425771B CN 201310347701 A CN201310347701 A CN 201310347701A CN 103425771 B CN103425771 B CN 103425771B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- branch
- rule
- upgrading
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000003860 storage Methods 0.000 claims abstract description 14
- 238000007596 consolidation process Methods 0.000 claims description 11
- 238000013500 data storage Methods 0.000 claims description 8
- 210000000352 storage cell Anatomy 0.000 claims description 7
- 238000009412 basement excavation Methods 0.000 abstract description 11
- 238000012217 deletion Methods 0.000 abstract description 8
- 230000037430 deletion Effects 0.000 abstract description 8
- 238000012545 processing Methods 0.000 description 8
- 238000007418 data mining Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004321 preservation Methods 0.000 description 3
- 238000005267 amalgamation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 210000001072 colon Anatomy 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005065 mining Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000003892 spreading Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2465—Query processing support for facilitating data mining operations in structured databases
-
- 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
- G06F16/9024—Graphs; Linked lists
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
-
- 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/2246—Trees, e.g. B+trees
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/316—Indexing structures
- G06F16/322—Trees
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种数据正则表达式的挖掘方法,该方法包括:获取存储数据,并采用字典树结构存储;根据正则表达式规则进行节点升级;根据升级后节点的子节点个数和相同字符子节点数分别进行分支合并;识别干扰分支,并进行分支删减;将规则树转换成字符串格式并输出。通过将获取到的数据存储在字典树结构中,这样可以实现对海量数据进行挖掘,通过对数据节点进行升级、分支合并、删除干扰分支,最后将生成的规则树转换成字符串格式进行输入。本发明实现了对包含错误数据的海量数据正则表达式的挖掘,该规则树可以满足对错误数据的挖掘,可以用以对数据进行检查并找出其错误数据。另外,本发明还提供一种数据正则表达式的挖掘装置。
Description
技术领域
本发明涉及数据处理领域,尤其涉及一种数据正则表达式的挖掘方法及装置。
背景技术
数据挖掘是指从大量的、不完全的、模糊的、有错误的数据中,提取人们不知道的但又对使用人有价值的信息的过程。数据挖掘流程通常包含对数据进行预处理、数据挖掘算法的实现以及对挖掘结果的展示。早期的数据挖掘流程采用单机节点上的串行方式来实现,单机节点的数据挖掘系统,其可挖掘的数据量及算法的负载度,依赖于单个执行节点的性能。由于现行数据挖掘系统都是需要针对海量数据进行处理,这种采用单机节点上的串行处理办法仅能支持少量数据,并且性能较低。后来随着数据挖掘技术的发展,现行挖掘方法有采用工作流中多个并行计算的方法来解决上述单节点串行方式处理数据挖掘所导致的处理效率低下的问题。在并行处理中,当多个并行的数据处理任务被触发时,为其中的每个数据处理任务分配执行节点,以使得上述多个并的数据处理任务在分配的执行节点上并行执行,在执行节点上通过Map/Reduce机制将数据处理任务分配给并行执行的Map任务进行处理,将该数据处理任务对应的各Map任务的结果通过相应的Reduce任务进行合并处理得到相应数据处理任务的处理结果。
正则表达式是指描述一种字符串匹配的模式,从而进行文本匹配、数据解析、数据容错和业务分析等应用,正则引擎主要可以分为两大类:一种是DFA,一种是NFA。这两种引擎都有了很久的历史(至今二十多年),当中也由这两种引擎产生了很多变体!于是POSIX的出台产生规范了不必要变体的继续产生。这样一来,主流的正则引擎又分为3类:一、DFA,二、传统型NFA,三、POSIX NFA。将正则表达式进行应用的方法和技术很多,但是对于如何生成一种更为有效的正则表达式却很少,例如Sergei Savchenko在《PRACTICAL REGULAREXPRESSION MINING AND ITS INFORMATION QUALITY APPLICATIONS》一文中提出了一种基于智能有限自动机的正则表达式挖掘方法,但是这一方法同样存在很大的局限性,例如该方法有分布要求以及数据集大小只能在30-50之间。
目前,数据处理领域都没有一种能够针对包含错误数据的海量数据进行挖掘数据本质结构,并形成一个正则表达式的挖掘方法。
发明内容
为此,本发明为了解决上述缺陷之一。
因而,本发明提供一种数据正则表达式的挖掘方法及装置,通过将获取到的数据存储在字典树结构中,这样可以实现对海量数据进行挖掘,根据预先制定的正则表达式规则表格对数据节点进行升级,然后根据升级后的子节点个数和相同字符情况进行分支合并,同时识别出干扰分支,并进行分支删除,最后将生成的规则树转换成字符串格式进行输入。本发明实现了对包含错误数据的海量数据正则表达式的挖掘,该规则树可以满足对错误数据的挖掘,可以用以对数据进行检查并找出其错误数据。
所以,本发明一个实施例提供一种数据正则表达式的挖掘方法,该方法包括以下步骤:
获取存储数据,并采用字典树结构存储;
根据正则表达式规则进行节点升级;
根据升级后节点的子节点个数和相同字符子节点数分别进行分支合并;
识别干扰分支,并进行分支删减;
将规则树转换成字符串格式并输出。
在本发明实施例中采用字典树结构存储数据,存储的数据信息包括:节点字符、所有节点、字符重复次数、进入节点的数据条数及终止节点的数据条数。
优选地,所述节点升级包括:根据正则表达式规则预先制定包含字符级别和升级关系的规则表格;根据所述规则表格进行节点升级。
优选地,所述分支合并包括:纵向合并和横向合并;所述纵向合并仅当某个节点只有一个子节点,且该子节点的字符等同于父节点时进行;所述横向合并当节点升级后某个父节点包含相同字符的子节点时进行。
优选地,所述识别干扰分支包括:预先设定一个阀值,阀值根据节点平均进入数和系数之乘积来确定;如果某分支的进入记录数小于所述阀值,则判定为干扰分支。
所述识别分支还包括:如果某节点的终止记录数小于所述阀值,则判定为干扰点,应将所述节点的终止记录数设置为0。
本发明另一个实施例提供一种数据正则表达式的挖掘装置,该装置包括:
数据存储单元,用以采用字典树结构存储获取的数据信息;
节点升级单元,用以根据正则表达式规则进行节点升级;
分支合并单元,用以根据升级后节点的子节点个数和相同字符子节点数分别进行分支合并;
分支删减单元,用以将识别出的的干扰分支删除;
规则树输出单元,用以将规则树转换成字符串格式进行输出。
所述数据存储单元包括:数据存储单元存储数据信息包含节点字符、所有节点、字符重复次数、进入节点的数据条数及终止节点的数据条数。
优选地,所述节点升级单元包括:节点升级单元根据正则表达式规则预先制定包含字符级别和升级关系的规则表格,根据所述规则表格进行节点升级。
优选地,所述分支合并单元包括:所述分支合并单元仅当某个节点只有一个子节点,且该子节点的字符等同于父节点时进行纵向合并;所述分支合并单元当节点升级后某个父节点包含相同字符的子节点时进行横向合并。本发明提供一种数据正则表达式的挖掘方法及装置,通过将获取到的数据存储在字典树结构中,这样可以实现对海量数据进行挖掘,根据预先制定的正则表达式规则表格对数据节点进行升级,然后根据升级后的子节点个数和相同字符情况进行分支合并,同时识别出干扰分支,并进行分支删除,最后将生成的规则树转换成字符串格式进行输入。本发明实现了对包含错误数据的海量数据正则表达式的挖掘,该规则树可以满足对错误数据的挖掘,可以用以对数据进行检查并找出其错误数据。
应当理解,以上总体说明和以下详细说明都是说明性和实例性的,旨在提供对所要求的本发明的进一步说明。
附图说明
图1是本发明实施例实现的一种数据正则表达式的挖掘方法的流程示意图。
图2是本发明实施例中描述了优化初始节点等级的具体流程示意图。
图3是本发明实施例中描述节点合并的效果示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施例仅仅用于解释本发明,并不用于限定本发明。
本发明提供一种数据正则表达式的挖掘方法及装置,通过将获取到的数据存储在字典树结构中,这样可以实现对海量数据进行挖掘,根据预先制定的正则表达式规则表格对数据节点进行升级,然后根据升级后的子节点个数和相同字符情况进行分支合并,同时识别出干扰分支,并进行分支删除,最后将生成的规则树转换成字符串格式进行输入。本发明实现了对包含错误数据的海量数据正则表达式的挖掘,该规则树可以满足对错误数据的挖掘,可以用以对数据进行检查并找出其错误数据。
如图1所示,是本发明实现的一种数据正则表达式的挖掘方法的流程示意图,具体包括以下详细步骤:
步骤S110:获取存储数据,并采用字典树结构存储。
首先,逐条扫描所有数据,并依次插入到字典树中,字典树中的每个节点,保存的数据除了属于该节点的字符、所有子节点外,还将保存该字符重复次数、有多少条数据进入该节点、有多少条数据终止该节点。如需要存储以下一组数据:
151;122;133;13;16c;134;123;133;151;162。
那么,这些数据保存到字典树后的结果如图2所示,其中:root节点为根节点,其它节点各数据的含义为:冒号前的字符为该节点代表的字符以及该字符重复次数(大括号内数字),冒号后的两个数字分别表示进入该节点的数据条数(进入记录数)和终止该节点的数据条数(终止记录数)。其中大括号内重复次数也可有2个数字,则其含义分别为该字符重复次数下限和上限,如2{1,3}表示字符‘2’重复了1至3次,即该节点可匹配“2”、“22”、“222”三种情况。当上下限相等时,则可简写成一个数字,如2{5,5}可简写成2{5},表示其匹配“22222”。此字典树也即我们的规则树,我们将对其进行字符升级、分支合并、分支删减等一系列操作,最后浓缩成一棵很小的字典树,并产生我们最后的正则表达式。
步骤S120:根据正则表达式规则进行节点升级。
经过步骤S110后,数据存储在字典树结构中,数据节点中保存了初始的字符,如‘1’,‘2’,‘5’,‘c’等,在这样的情形下会导致字典树结构中很多节点的子节点数量太多,即分支太多,为了缩减分支数,本步骤需要提炼多分支数据的共同特征,并剔除干扰分支,结合正则表达式通用格式,我们制定了一些特殊字符、它们对应的级别以及各字符对应的规则表格,该规则表格如下表1所示:
表1:正则表达式规则表格。
首先,本发明实施例中先定义初始字符的级别都为0,根节点是虚拟节点,不需要输出规则,也不需要升级。节点需要升级的情况为下述几种:
第一、父节点需要升级则所有子节点也需要升级;
第二、父节点包含的子节点数大于某一个给定值(如为3)则子节点需要升级;
第三、满足第二条时如果某子节点数据进入条数大于某一个阈值时,则该子节点不升级。此处的阈值可设定为父节点数据条数的50%,即认为数据占绝对多数的子节点应保持原样。
步骤S130:根据升级后节点的子节点个数和相同字符子节点数分别进行分支合并。
所述分支合并包括纵向合并和横向合并。纵向合并仅当某个节点只有一个子节点,且该子节点的字符等同于父节点时进行;横向合并当节点升级后某个父节点包含相同字符的子节点时进行,具体如下。
纵向合并:当某个节点只包含一个子节点,且该子节点的字符等同于父节点时,可将子节点向父节点合并,合并后节点的进入记录数等于父节点进入记录数,合并节点的终止记录数等于父、子节点终止记录数之和。假设父节点字符重复次数上下限分别为n1,m1,子节点重复次数上下限分别为n2,m2,合并后节点的字符重复次数上下限分别为n3,m3,其计算方式为:如果父节点终止记录数为0,则:n3 = n1 + n2;m3 = m1 + m2;如果父节点终止记录数不为0,则:n3 = n1;m3 = m1 + m2。
横向合并:当某个节点有升级时,因为两个小级别字符升级后的字符可能相同,如‘1’,‘2’升级字符都为‘\d’,会导致父节点包含相同字符的子节点,此时需要将相同字符的节点数据进行合并。假设待合并的节点1字符重复次数上下限分别为n1,m1,节点2重复次数上下限分别为n2,m2,合并后节点的字符重复次数上下限分别为n3,m3,其计算方式为:如果父节点终止记录数为0,则:n3 = min(n1,n2);m3 = max(m1,m2); 合并节点的进入记录数等于两个待合并节点的进入记录数之和,合并节点的终止记录数等于两个节点的终止记录数之和。如果节点1和节点2都没有子节点,则合并后的节点也没有子节点;如果节点1和节点2只有一个有子节点,假设节点1有子节点,则合并后的节点的子节点等同于节点1的子节点;否则需要采用的递归方式合并2个节点的相同子节点,其合并方法为本步骤描述的方法。
由于根节点下只有一个子节点“1{1}:10,0”,且父节点不需要升级,所有该节点保持原样。
节点“1{1}:10,0”下有4个子节点,超出节点最大分支数(3),且每个节点进入记录数都没有达到绝对多数,所有都需要升级,同时需将4个子节点的所有子节点都升级,并合并,其合并结果如图3所示。
另外,对节点“\d{1}:10,1”进行剪枝操作:该节点总记录数为10,分支数为3(2个子节点,另由于该节点终止记录数不为0,需加一个终止节点),子节点进入记录数阈值系数为0.5,则子节点进入记录数阈值为:10/3*0.5=1.67。由于节点“\c{1}:1,1”的进入记录数小于该阈值,故将其剪去,而节点“\d{1}:10,1”自身的终止记录数(1)也小于该阈值,故需要将其置于0。
步骤S140:识别干扰分支,并进行分支删减。
由于源数据是脏数据,因此源数据存储到规则数后会存在干扰分支,我们必须识别出干扰分支并其从规则数中删除。
假设节点X进入记录数为r0,终止记录数为z0,有k个子节点,其进入记录数分别为ri(i=1,2,…k)。如果z0=0,我们认为节点X的分支数f=k,否则分支数f=k+1;分支的平均进入记录数r=r0/f;给定一个系数a(如0.5),则判定某分支为干扰分支的方法为:如果ri<r*a,则分支i是干扰分支,并将其及其所有子节点删除。如果z0<r*a,则也认为其是个干扰点,需要将节点X的终止记录数设置为0。
步骤S150:将规则树转换成字符串格式并输出。
规则树经过一系列节点升级、分支合并、删减等操作后,最终就可得到需要的正则表达式,但它是以字典树的形式给出的,需要转化成字符串格式,生成方法如下,假设当前规则树之前节点已生成规则pr。
1. 如果当前节点只有一个子节点,则子节点信息按顺序直接添加到输出结果中,则直接输出1\d{1,5}。
2. 如果当前节点有n个子节点(n>1),则对每个子节点i递归使用规则生成方法产生子规则sri,然后子规则间取或的关系合并得最终结果pr(sr1|sr2|…srn),如例1中的数据输出结果为:1(\d{1,5}|c{3}\d{3})。
3. 如果当前节点的终止记录数不为0,则子节点递归生成子规则sr,最后合并方式为“pr(sr)”。
本步骤部分伪代码如下:
String generateRule(RuleNode node, String prefix) {
prefix += genOneNodeRule(node); //增加当前节点信息到规则中
if(node.getChildNum()==0) { //到树末端,则返回已生成的规则
return prefix;
} else if(node.getChildNum()==1) { //只有一个子节点时,顺序生成规则
RuleNode child = node.getChild(0);
String childRule = generateRule(child,"");
if(node.getEndNum()>0) { //节点终止记录数不为0时,子规则后需要添加文号
return prefix + "(" + childRule + ")}
else {
return prefix+childRule;
}
} else { //有多个子节点时,每个子节点递归生成子规则,然后子规则间用或的关系合并
prefix += "(";
boolean bFirst = true;
foreach RuleNode child (node.getChilds()) {
if(bFirst) {
bFirst = false;
prefix += generateRule(child,"");
} else {
prefix += "|";
prefix += generateRule(child,"");
}
}
prefix += ")";
if(node.getEndNum()>0) { //节点终止记录数不为0时,子规则后需要添加文号。
再进行一轮升级、合并操作,发现没有节点需要升级、合并,故终止对规则树的修改操作。将规则树结果输出得正则表达式规则:“1\d{2}”。
另外,本发明提供另一个实施例为一种数据正则表达式的挖掘装置。数据存储单元采用字典树结构存储如下一组数据:
151;122;133;13;16c;134;123;133;151;162。
数据存储单元存储上述数据保存到字典树后的结果如图2所示,保存的数据除了属于该节点的字符、所有子节点外,还将保存该字符重复次数、有多少条数据进入该节点、有多少条数据终止该节点。
节点升级单元根据正则表达式规则进行节点升级,节点需要升级的情况为下述几种:父节点需要升级则所有子节点也需要升级;父节点包含的子节点数大于某一个给定值(如为3)则子节点需要升级;满足第二条时如果某子节点数据进入条数大于某一个阈值时,则该子节点不升级。此处的阈值可设定为父节点数据条数的50%,即认为数据占绝对多数的子节点应保持原样。
分支合并单元包括纵向合并和横向合并两种方式,纵向合并仅当某个节点只有一个子节点,且该子节点的字符等同于父节点时进行;横向合并当节点升级后某个父节点包含相同字符的子节点时进行。由于根节点下只有一个子节点“1{1}:10,0”,且父节点不需要升级,所有该节点保持原样。节点“1{1}:10,0”下有4个子节点,超出节点最大分支数(3),且每个节点进入记录数都没有达到绝对多数,所有都需要升级,同时需将4个子节点的所有子节点都升级,并合并,其合并结果如图3所示。
在分支删减单元中,假设节点X进入记录数为r0,终止记录数为z0,有k个子节点,其进入记录数分别为ri(i=1,2,…k)。如果z0=0,我们认为节点X的分支数f=k,否则分支数f=k+1;分支的平均进入记录数r=r0/f;给定一个系数a(如0.5),则判定某分支为干扰分支的方法为:如果ri<r*a,则分支i是干扰分支,并将其及其所有子节点删除。如果z0<r*a,则也认为其是个干扰点,需要将节点X的终止记录数设置为0。
规则树输出单元最终将规则树结果输出得正则表达式规则:“1\d{2}”。本发明提供一种数据正则表达式的挖掘方法及装置,通过将获取到的数据存储在字典树结构中,这样可以实现对海量数据进行挖掘,根据预先制定的正则表达式规则表格对数据节点进行升级,然后根据升级后的子节点个数和相同字符情况进行分支合并,同时识别出干扰分支,并进行分支删除,最后将生成的规则树转换成字符串格式进行输入。本发明实现了对包含错误数据的海量数据正则表达式的挖掘,该规则树可以满足对错误数据的挖掘,可以用以对数据进行检查并找出其错误数据。
Claims (9)
1.一种数据正则表达式的挖掘方法,其特征在于,所述方法包括以下步骤:
获取存储数据,并采用字典树结构存储;
根据正则表达式规则进行节点升级;
根据升级后节点的子节点个数和相同字符子节点数分别进行分支合并;
识别干扰分支,并进行分支删减;其中,预先设定一个阈值,阈值根据节点平均进入数和系数之乘积来确定;如果某分支的进入记录数小于所述阈值,则判定为干扰分支;
将规则树转换成字符串格式并输出。
2.根据权利要求1所述的方法,其特征在于,所述采用字典树结构存储数据信息包括:节点字符、所有节点、字符重复次数、进入节点的数据条数及终止节点的数据条数。
3.根据权利要求1或2所述的方法,其特征在于,所述节点升级包括:
根据正则表达式规则预先制定包含字符级别和升级关系的规则表格;其中,所述规则表格是:
根据所述规则表格进行节点升级。
4.根据权利要求1所述的方法,其特征在于,所述分支合并包括:
纵向合并和横向合并;
所述纵向合并仅当某个节点只有一个子节点,且该子节点的字符等同于父节点时进行;
所述横向合并当节点升级后某个父节点包含相同字符的子节点时进行。
5.根据权利要求1所述的方法,其特征在于,所述识别干扰分支还包括:
如果某节点的终止记录数小于所述阈值,则判定为干扰点,应将所述节点的终止记录数设置为0。
6.一种数据正则表达式的挖掘装置,其特征在于,所述装置包括:
数据存储单元,用以采用字典树结构存储获取的数据信息;
节点升级单元,用以根据正则表达式规则进行节点升级;
分支合并单元,用以根据升级后节点的子节点个数和相同字符子节点数分别进行分支合并;
分支删减单元,用以将识别出的的干扰分支删除;其中,预先设定一个阈值,阈值根据节点平均进入数和系数之乘积来确定;如果某分支的进入记录数小于所述阈值,则判定为干扰分支;
规则树输出单元,用以将规则树转换成字符串格式进行输出。
7.根据权利要求6所述的装置,其特征在于,所述数据存储单元包括:
数据存储单元存储数据信息包含节点字符、所有节点、字符重复次数、进入节点的数据条数及终止节点的数据条数。
8.根据权利要求6所述的装置,其特征在于,所述节点升级单元包括:
节点升级单元根据正则表达式规则预先制定包含字符级别和升级关系的规则表格,根据所述规则表格进行节点升级;其中,所述规则表格是
。
9.根据权利要求7所述的装置,其特征在于,所述分支合并单元包括:
所述分支合并单元仅当某个节点只有一个子节点,且该子节点的字符等同于父节点时进行纵向合并;
所述分支合并单元当节点升级后某个父节点包含相同字符的子节点时进行横向合并。
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310347701.8A CN103425771B (zh) | 2013-08-12 | 2013-08-12 | 一种数据正则表达式的挖掘方法及装置 |
KR1020157018961A KR101617696B1 (ko) | 2013-08-12 | 2014-08-08 | 데이터 정규표현식의 마이닝 방법 및 장치 |
GB1511188.3A GB2523937A (en) | 2013-08-12 | 2014-08-08 | Method and device for mining data regular expression |
US14/748,625 US20160210333A1 (en) | 2013-08-12 | 2014-08-08 | Method and device for mining data regular expression |
PCT/CN2014/083934 WO2015021879A1 (zh) | 2013-08-12 | 2014-08-08 | 一种数据正则表达式的挖掘方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310347701.8A CN103425771B (zh) | 2013-08-12 | 2013-08-12 | 一种数据正则表达式的挖掘方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103425771A CN103425771A (zh) | 2013-12-04 |
CN103425771B true CN103425771B (zh) | 2016-12-28 |
Family
ID=49650510
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310347701.8A Active CN103425771B (zh) | 2013-08-12 | 2013-08-12 | 一种数据正则表达式的挖掘方法及装置 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20160210333A1 (zh) |
KR (1) | KR101617696B1 (zh) |
CN (1) | CN103425771B (zh) |
GB (1) | GB2523937A (zh) |
WO (1) | WO2015021879A1 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425771B (zh) * | 2013-08-12 | 2016-12-28 | 深圳市华傲数据技术有限公司 | 一种数据正则表达式的挖掘方法及装置 |
US10049140B2 (en) * | 2015-08-28 | 2018-08-14 | International Business Machines Corporation | Encoding system, method, and recording medium for time grams |
CN106713254B (zh) * | 2015-11-18 | 2019-08-06 | 中国科学院声学研究所 | 一种匹配正则集的生成及深度包检测方法 |
CN105897739A (zh) * | 2016-05-23 | 2016-08-24 | 西安交大捷普网络科技有限公司 | 数据包深度过滤方法 |
JP6825016B2 (ja) * | 2016-06-30 | 2021-02-03 | ファスー ドット コム カンパニー リミテッドFasoo. Com Co., Ltd | 個人情報の非識別化方法および装置 |
CN108563685B (zh) * | 2018-03-13 | 2022-03-22 | 创新先进技术有限公司 | 一种银行标识代码的查询方法、装置及设备 |
CN111046056A (zh) * | 2019-12-26 | 2020-04-21 | 成都康赛信息技术有限公司 | 基于数据模式聚类的数据一致性评估方法 |
CN111352617B (zh) * | 2020-03-16 | 2023-03-31 | 山东省物化探勘查院 | 一种基于Fortran语言的磁法数据辅助整理方法 |
CN111460170B (zh) * | 2020-03-27 | 2024-02-13 | 深圳价值在线信息科技股份有限公司 | 一种词语识别方法、装置、终端设备及存储介质 |
CN114927180A (zh) * | 2022-02-23 | 2022-08-19 | 北京爱医声科技有限公司 | 病历结构化方法、装置及存储介质 |
CN114692595B (zh) * | 2022-05-31 | 2022-08-30 | 炫彩互动网络科技有限公司 | 一种基于文本匹配的重复冲突方案检测方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963876B2 (en) * | 2000-06-05 | 2005-11-08 | International Business Machines Corporation | System and method for searching extended regular expressions |
CN101036165A (zh) * | 2004-08-02 | 2007-09-12 | 美国西门子医疗解决公司 | 用于树模型显像以检测肺栓塞的系统和方法 |
CN101369276A (zh) * | 2008-09-28 | 2009-02-18 | 杭州电子科技大学 | 一种Web浏览器缓存数据的取证方法 |
CN101604328A (zh) * | 2009-07-06 | 2009-12-16 | 深圳市汇海科技开发有限公司 | 一种互联网信息垂直搜索方法 |
CN101894236A (zh) * | 2010-07-28 | 2010-11-24 | 北京华夏信安科技有限公司 | 基于摘要语法树和语义匹配的软件同源性检测方法及装置 |
US8024802B1 (en) * | 2007-07-31 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Methods and systems for using state ranges for processing regular expressions in intrusion-prevention systems |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103425771B (zh) * | 2013-08-12 | 2016-12-28 | 深圳市华傲数据技术有限公司 | 一种数据正则表达式的挖掘方法及装置 |
-
2013
- 2013-08-12 CN CN201310347701.8A patent/CN103425771B/zh active Active
-
2014
- 2014-08-08 KR KR1020157018961A patent/KR101617696B1/ko active IP Right Grant
- 2014-08-08 GB GB1511188.3A patent/GB2523937A/en not_active Withdrawn
- 2014-08-08 US US14/748,625 patent/US20160210333A1/en not_active Abandoned
- 2014-08-08 WO PCT/CN2014/083934 patent/WO2015021879A1/zh active Application Filing
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963876B2 (en) * | 2000-06-05 | 2005-11-08 | International Business Machines Corporation | System and method for searching extended regular expressions |
CN101036165A (zh) * | 2004-08-02 | 2007-09-12 | 美国西门子医疗解决公司 | 用于树模型显像以检测肺栓塞的系统和方法 |
US8024802B1 (en) * | 2007-07-31 | 2011-09-20 | Hewlett-Packard Development Company, L.P. | Methods and systems for using state ranges for processing regular expressions in intrusion-prevention systems |
CN101369276A (zh) * | 2008-09-28 | 2009-02-18 | 杭州电子科技大学 | 一种Web浏览器缓存数据的取证方法 |
CN101604328A (zh) * | 2009-07-06 | 2009-12-16 | 深圳市汇海科技开发有限公司 | 一种互联网信息垂直搜索方法 |
CN101894236A (zh) * | 2010-07-28 | 2010-11-24 | 北京华夏信安科技有限公司 | 基于摘要语法树和语义匹配的软件同源性检测方法及装置 |
Non-Patent Citations (1)
Title |
---|
"面向网络安全的正则表达式匹配技术";张树壮等;《软件学报》;20110512;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103425771A (zh) | 2013-12-04 |
GB201511188D0 (en) | 2015-08-12 |
KR101617696B1 (ko) | 2016-05-03 |
KR20150091521A (ko) | 2015-08-11 |
US20160210333A1 (en) | 2016-07-21 |
GB2523937A (en) | 2015-09-09 |
WO2015021879A1 (zh) | 2015-02-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103425771B (zh) | 一种数据正则表达式的挖掘方法及装置 | |
CN102930023B (zh) | 基于知识的数据质量解决方案 | |
CA2743273C (en) | Method and device for intercepting junk mail | |
CN103365699B (zh) | 基于apk的系统api和运行时字符串的提取方法及系统 | |
CN105550225B (zh) | 索引构建方法、查询方法及装置 | |
CN109508334B (zh) | 针对区块链数据库的数据压缩方法、访问方法和系统 | |
AU2015347304B2 (en) | Testing insecure computing environments using random data sets generated from characterizations of real data sets | |
CN105045715B (zh) | 基于编程模式和模式匹配的漏洞聚类方法 | |
CN107315586A (zh) | 应用打包的方法、装置和系统 | |
CN105893615A (zh) | 基于手机取证数据的机主特征属性挖掘方法及其系统 | |
CN103324679B (zh) | 一种缓存服务器中数据更新的控制方法和设备 | |
CN110597821A (zh) | 数据仓库表结构变更方法及装置 | |
CN112288397A (zh) | 流程模板配置方法、流程执行方法、装置和电子设备 | |
CN105630797A (zh) | 数据处理方法及系统 | |
CN113918437B (zh) | 用户行为数据分析方法、装置、计算机设备和存储介质 | |
CN103929499B (zh) | 一种物联网异构标识识别方法和系统 | |
CN107888686B (zh) | 一种位于HBase客户端的用户数据有效性验证方法 | |
CN103778210B (zh) | 一种待分析文件的文件具体类型的判断方法及装置 | |
CN107315806B (zh) | 一种基于文件系统的嵌入式存储方法和装置 | |
CN109408505A (zh) | 一种布隆过滤器的生成方法 | |
CN109918439A (zh) | 数据同步方法及其应用的环路检测方法和相关装置 | |
CN103684942B (zh) | 一种拓扑网络的两级分块方法 | |
CN110825846B (zh) | 数据处理方法及装置 | |
CN105718801A (zh) | 一种基于编程模式和模式匹配的漏洞聚类方法 | |
CN106776607A (zh) | 搜索引擎操作行为处理方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 518000 2203/2204, Building 1, Huide Building, Beizhan Community, Minzhi Street, Longhua District, Shenzhen, Guangdong Patentee after: SHENZHEN AUDAQUE DATA TECHNOLOGY Ltd. Address before: 518057 Rooms 713, 715 and 716, 7/F, Software Building, No. 9, High-tech Middle Road, High-tech Zone, Nanshan District, Shenzhen, Guangdong Province Patentee before: SHENZHEN AUDAQUE DATA TECHNOLOGY Ltd. |