CN110928998B - 一种基于等价类代表元索引和存储的拉丁方搜索引擎 - Google Patents
一种基于等价类代表元索引和存储的拉丁方搜索引擎 Download PDFInfo
- Publication number
- CN110928998B CN110928998B CN201911248310.4A CN201911248310A CN110928998B CN 110928998 B CN110928998 B CN 110928998B CN 201911248310 A CN201911248310 A CN 201911248310A CN 110928998 B CN110928998 B CN 110928998B
- Authority
- CN
- China
- Prior art keywords
- module
- latin
- data
- equivalence class
- user
- 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
- 238000013500 data storage Methods 0.000 claims abstract description 58
- 238000004364 calculation method Methods 0.000 claims abstract description 31
- 238000013506 data mapping Methods 0.000 claims abstract description 25
- 230000003993 interaction Effects 0.000 claims abstract description 25
- 230000009466 transformation Effects 0.000 claims description 16
- 238000013507 mapping Methods 0.000 claims description 6
- 230000001174 ascending effect Effects 0.000 claims description 5
- 238000000034 method Methods 0.000 abstract description 11
- 230000006835 compression Effects 0.000 abstract description 5
- 238000007906 compression Methods 0.000 abstract description 5
- 230000008901 benefit Effects 0.000 abstract description 3
- 238000004880 explosion Methods 0.000 abstract description 3
- 238000013461 design Methods 0.000 abstract description 2
- 230000004044 response Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000013401 experimental design Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3335—Syntactic pre-processing, e.g. stopword elimination, stemming
-
- 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/319—Inverted lists
-
- 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于等价类代表元索引和存储的拉丁方搜索引擎。包括:用户交互模块、语法解析模块、等价类代表元计算模块、数据索引模块、数据映射模块和数据存储模块。本发明设计了三种索引结合的索引方式来响应用户的不同查询需求;设计的等价类代表元的计算方法(PLS)能快速地计算代表元,从而提高搜索引擎的响应速度,这种计算方法较Nauty也更便于理解,PLS计算出的等价类代表元拥有相同的前缀和相同的元素组合,这种数据特点可以在很大程度上提高压缩率;设计的基于等价类的树状存储结构(LS‑tree)能有效地缓解拉丁方数量的指数爆炸带来的存储压力,也避免了数据的重复存储,在时间和空间上都有很大收益,适用于在线搜索引擎。
Description
【技术领域】
本发明属于信息检索和组合数学交叉领域,特别涉及一种基于等价类代表元索引和存储的拉丁方的搜索引擎。
【背景技术】
拉丁方是一种nxn的方阵,这种方阵包括n种元素且每种元素在每一行和每一列都只出现一次。它被广泛应用于多种领域,例如编码、加密、软件测试、实验设计和数学研究。现有的获取拉丁方的方法是通过学术网站批量下载。但是,要使用这些数据,通常需要花费时间来编写专门用于处理这些数据集的代码,而且一些非计算机专业的人员只能通过花费更多的时间去手动计算拉丁方的等价类及属性等数学信息。
拉丁方有三种等价关系分别对应三种等价的类别,即paratopism类、isotopism类和isomorphism类,参照图4,对于一个特定的拉丁方,它的isomorphism类是它的isotopism类的子集,它的isotopism类是它的paratopism类的子集,每种等价的类别都对应特定的矩阵变换方式(例如,交换拉丁方阵里的行、交换拉丁方阵里的列、或是交换拉丁方阵里的元素的符号),且每种等价类别下都存在多个等价类。如果两个拉丁方经过特定的矩阵变换得到相同的等价类代表元,则称这两个拉丁方等价。相互等价的拉丁方构成一个等价类,每一个等价类选择一个特殊的拉丁方作为代表元。
现有的计算拉丁方等价类代表元的方法是通过Nauty(http:// users.cecs.anu.edu.au/~bdm/nauty/)这个软件,Nauty的计算机制是先将拉丁方转化为有向图,再将有向图转换回拉丁方。显然,Nauty在拉丁方和图之间的转换会带来大量的计算开销,Nauty内部的图转换机制也是令人难以理解的,而且Nauty计算出的等价类代表元之间的相似度很低,这对压缩是很不利的。
关于数学信息的搜索引擎受到越来来越多的学者的重视,比如OEIS(http:// oeis.org/)这个关于整数序列的在线百科全书,允许用户添加整数序列、参考文献、公式等信息,学者们通过为序列添加参考文献来增加论文的查询量和引用量。
【发明内容】
本发明是针对呈超指数增长的拉丁方数量和其复杂的计算,为相关学者设计的一种高效地搜索和存储拉丁方的搜索引擎,能有效地对拉丁方进行矩阵变换、获取等价类的属性及与之相关的数学信息,从而节省编码和计算的时间。
为实现上述目的,本发明提供了一种基于等价类代表元索引和存储的拉丁方搜索引擎,该搜索引擎基于拉丁方的等价类设计而成,能够高效地搜索和存储拉丁方及其数学信息。由于拉丁方的数量随n呈超指数增长,所以,为了缓解存储压力,并基于属于同一等价类的拉丁方具有相同的属性这一特点,本发明选择等价类代表元来代表属于该类的所有拉丁方。本发明为每一个小于等于9阶的拉丁方的等价类存储代表元和数学信息以供用户查询。并且,当用户输入的要查询的拉丁方的阶数大于9时,为该拉丁方添加等价类代表元和数学信息,并自动更新数据索引。
参照图1,本发明提供的基于等价类代表元索引和存储的拉丁方搜索引擎包括:用户交互模块、语法解析模块、等价类代表元计算模块、数据索引模块、数据映射模块和数据存储模块;其中,
用户交互模块(101),分别连接语法解析模块和数据存储模块,用于接收用户输入的查询,并将查询传递给语法解析模块,还接收用户对拉丁方的评论内容,并将评论内容传递给数据存储模块,该模块还用于将查询结果返回给用户;
语法解析模块(102),再分别连接等价类代表元计算模块和数据索引模块,用于解析用户输入的查询类别,并将解析结果传递给等价类代表元计算模块或数据索引模块;
等价类代表元计算模块(103),再与数据索引模块连接,用于根据语法解析模块解析的结果将拉丁方转化为其所在等价类的代表元,并将该代表元传递给数据索引模块;
数据索引模块(104),再连接数据映射模块和数据存储模块,用于搜索等价类代表元计算模块转化后的等价类代表元的位置,并将该位置传递给数据存储模块,还用于根据语法解析模块解析的属性搜索相应的拉丁方ID或根据语法解析模块解析的评论内容搜索对应的评论ID,并将拉丁方ID或评论ID传递给数据映射模块;
数据映射模块(105),再连接数据存储模块,用于将数据索引模块搜索的拉丁方ID或评论ID映射到数据存储模块中的相应存储位置,并将该位置传递给数据存储模块;
据存储模块(106),用于存储原生的拉丁方等价类的代表元、属性和评论内容,和来自用户交互模块的由用户输入的拉丁方的等价类代表元和评论内容,该模块还用于辅助数据索引模块和数据映射模块为来自用户交互模块的数据添加索引和映射。
可选地,所述用户交互模块接收用户查询和用户对特定拉丁方做出的评论内容比如标记、参考文献等,并将评论内容存入到数据存储模块,该模块还用于将查询结果返回给用户。
可选地,所述查询类别包括三种查询,分别为拉丁方、属性和评论内容。
可选地,所述数据索引模块包括三种索引,分别为:由等价类代表元构成节点的B+树索引、以拉丁方的属性为属性值的倒排索引和以普通查询词项为属性值的倒排索引。
可选地,所述代表元选取为每个等价类中的所有拉丁方中字典序最小的拉丁方。所述字典序最小拉丁方通过比较偏拉丁方得到。
可选地,所述数据存储模块的数据存储结构为以paratopism等价类为单位的五层树状结构(LS-tree),该结构基于属于同一等价类的拉丁方具有相同属性的特点,存储内容为等价类的代表元、该等价类中拉丁方的属性以及用户对于该等价类的拉丁方做出的评论内容。同时,基于三种等价类的包含关系,该树状结构的前三层节点设计为isotopism等价类节点是paratopism等价类节点的子节点、isomorphism等价类节点是isotopism等价类节点的子节点;其他两层节点分别为属于该paratopism类的历史查询拉丁方和该历史查询拉丁方的标准型。
为了实现等价类代表元的高效计算,本发明还提供了一种高效的isotopism等价类代表元的计算方法即PLS,参照图3,其主要步骤包括:
步骤1(201):给定一个n阶拉丁方L,对于L的每一行和每一列元素寻找能使L的第一列元素升序排列的且最好的行变换α和列y,从而也得到了元素变换γ,即{(α(i),0,γ(L[i,y])):i∈{0,1,...,n-1}}={(i,0,i):i∈{0,1,...,n-1}}。
步骤2(202):对于步骤1中的列y,计算能使第一行元素升序的列变换β,即{(0,β(j),γ(L[x,j])):j∈{0,1,...,n-1}}={(0,j,j):j∈{0,1,...,n-1}}。
步骤3(203):根据由步骤1得到的行变换α和元素变换γ、由步骤2得到的列变换β,得到变换θ=(ɑ,β,γ),并计算出L所在的等价类的代表元,即θ(L)。
可选地,等价类代表元为该等价类拉丁方中字典序最小的拉丁方。
可选地,等价类代表元的计算方法为基于偏拉丁方的比较方法,该方法可以舍弃不必要的分支计算从而减少迭代次数。
可选地,paratopism等价类代表元选取L的六个共轭拉丁方的isotopism等价类代表元中的字典序最小者。
为了实现一个在时间和空间上都有效的数据存储模块,本发明还提供了一种以paratopism类为单位的树状存储结构(LS-tree),参照图5。该结构基于三种等价类别的包含关系,参照图4。
可选地,数据存储模块的树状存储结构存储五种拉丁方,即paratopism等价类代表元、isotopism等价类代表元、isomorphism等价类代表元、历史查询拉丁方和该历史查询拉丁方的标准型。
可选地,paratopism层存储该类的代表元和属性即子拉丁方的个数和截态的个数,isotopism层存储该类的代表元和属性即行哈密尔顿性和子矩阵的个数,isomorphism层存储该类的代表元和属性即幂等性,历史输入拉丁方层存储历史用户输入的属于该类的拉丁方和该拉丁方的特有属性,标准型层存储历史输入拉丁方的标准型和属性即其行完备性。
可选地,LS-tree的每一层都可添加用户输入的评论内容。
本发明的优点和有益效果:
本发明设计了三种索引结合的索引方式来响应用户的不同查询需求;设计的等价类代表元的计算方法PLS能快速地计算代表元,从而提高搜索引擎的响应速度,这种计算方法较Nauty也更便于理解,PLS选取字典序最小拉丁方为代表元,从而使类间的代表元有很大的相似度,可以在很大程度上提高压缩率;设计的基于等价类的树状存储结构能有效地缓解拉丁方数量的指数爆炸带来的存储压力,也避免了数据的重复存储,在时间和空间上都有很大收益,适用于在线搜索引擎。
【附图说明】
图1是本发明的搜索引擎模块示意图;
图2是本发明的查询和搜索方法流程图;
图3是基于偏拉丁方的等价类代表元的矩阵变换示意图;
图4是等价类(paratopism、isotopism和isomorphism)的集合关系示意图;
图5是本发明的数据存储模块的五层树状数据结构,即LS-tree示意图。图的左侧列出了每一层的数据的可能应用领域,右侧列出了为每一层的拉丁方存储的属性。
【具体实施方式】
下面结合附图和具体实施例对本发明做进一步的详细说明,以使本领域的技术人员可以更好的理解本发明并给予实施。
实施例1、
本发明提供的基于等价类代表元索引和存储的拉丁方搜索引擎,查询和搜索流程参考图2。该搜索引擎包括:用户交互模块、语法解析模块、等价类代表元计算模块、数据索引模块、数据映射模块和数据存储模块,参考图1,其中,
[101]用户交互模块,分别连接语法解析模块和数据存储模块,用于接收用户输入的查询,并将查询传递给语法解析模块,还接收用户对拉丁方的评论内容,并将评论内容传递给数据存储模块,该模块还用于将查询结果返回给用户。
用户交互模块将接收到的用户查询传到语法解析模块,所述评论内容为用户的可选输入,若用户有输入评论,则将其内容添加到数据存储模块的相应的位置,以供后来的用户搜索。
特别地,由于本发明并未存储阶数大于9的拉丁方,所以若用户输入了未储存的拉丁方,该搜索引擎将该拉丁方对应的信息存入到数据存储模块,相应地,数据索引模块和数据映射模块也随着新数据的加入而自动扩增。
[102]语法解析模块,再分别连接等价类代表元计算模块和数据索引模块,用于解析用户输入的查询类别,并将解析结果传递给等价类代表元计算模块或数据索引模块。
所述查询类别分别为拉丁方、属性和评论。所以,本发明可供用户搜索的查询和返回的查询结果分别为如下三种类型:
类型1:用户输入一个拉丁方,系统返回与输入的拉丁方相关的属性,参考图5;
类型2:用户输入一个或多个属性,系统返回符合输入的属性的拉丁方,参考图5;
类型3:用户输入与评论有关的查询语句,系统返回与该查询的关键词项相匹配的历史评论内容。
具体地,若用户输入的是一个拉丁方,则语法解析模块将其传到等价类代表元计算模块进行代表元的计算,若用户输入的是属性或者评论,则语法解析模块直接将其传到数据索引模块。
[103]等价类代表元计算模块,再与数据索引模块连接,用于根据语法解析模块解析的结果将拉丁方转化为其所在等价类的代表元,并将该代表元传递给数据索引模块。
具体方法可参考实施例2。
[104]数据索引模块,再连接数据映射模块和数据存储模块,用于搜索等价类代表元计算模块转化后的等价类代表元的位置,并将该位置传递给数据存储模块,还用于根据语法解析模块解析的属性搜索相应的拉丁方ID和根据语法解析模块解析的评论内容搜索对应的评论ID,并将拉丁方ID和评论ID传递给数据映射模块。
具体地,根据[102]中的三种查询,本发明包括如下三种索引:
索引1:针对[102]中的类型1设计的一个六层的B+树索引,非叶子节点的数据是101个用MD5哈希编码的paratopism类代表元和102个指向子节点的指针,叶子节点的数据是101个paratopism类代表元和101个代表元在数据存储模块中的存储位置及一个指向兄弟节点的指针。
特别地,索引1中原生B+树只针对于阶数小于等于9的拉丁方进行索引,对于用户输入的阶数大于9的拉丁方,本发明会自动扩增索引。
索引2:针对[102]中的类型2设计的一组倒排索引,该倒排索引的属性值为拉丁方的属性值,该倒排索引的记录为具有该属性值的拉丁方的ID;
特别地,若用户输入的[102]中的类型2包括多种属性,则索引2逐一获取每个属性对应的索引,并进行索引求交,得到同时拥有用户输入的所有属性的拉丁方的ID。
索引3:针对[102]中的类型3设计的一组倒排索引,该倒排索引的属性值为评论内容中的词项,该倒排索引的记录为含有该词项的历史评论的ID;
特别地,若用户输入[102]中的类型3包括多个查询词项,则索引3逐一获取每个查询词项对应的索引,并进行索引求交,得到与该查询相关的多个历史评论的ID。
[105]数据映射模块,再连接数据存储模块,用于将数据索引模块搜索的拉丁方ID或评论ID映射到数据存储模块中的相应存储位置,并将该位置传递给数据存储模块。
所述存储位置为数据存储模块中的文件编号和文件内的偏移量,以便于根据ID迅速地找到该拉丁方或该评论在数据存储模块中的位置。所述文件为数据存储模块的存储方式,数据以文件的形式存储在存储设备上。
[106]数据存储模块,用于存储原生的拉丁方等价类的代表元、属性和评论内容,和来自用户交互模块的由用户输入的拉丁方的等价类代表元和评论内容,该模块还用于辅助数据索引模块和数据映射模块为来自用户交互模块的数据添加索引和映射。该模块的数据结构是针对拉丁方的性质而专门设计,具体实施方法可参考实施例3。
实施性地,若用户输入的查询为:0123410342234013412042013。用户交互模块接收用户的查询,并将其传送到语法解析模块,语法解析模块解析该查询种类为“拉丁方”,所以调用拉丁方代表元计算模块。拉丁方代表元计算模块计算该拉丁方的paratopism等价类代表元为0123410342240133240143120,并将该代表元传输到数据索引模块。数据索引模块通过索引1找到该等价类代表元在数据存储模块中的位置,数据存储模块根据数据索引模块传输来的位置信息找到查询结果,即属性信息:2阶子拉丁方数=1、截态数=15。数据存储模块将查询结果传输给用户交互模块。最终,用户交互模块将查询结果返回给用户。
实施性地,若用户输入的查询为:阶数=7和子拉丁矩数=3。用户交互模块接收用户的查询,并将其传输到语法解析模。语法解析模块解析该查询种类为“属性”,所以将解析后的查询传输到数据索引模块。数据索引模块中的索引2进行索引求交得到符合所有查询属性的拉丁方ID,并将拉丁方ID传输到数据映射模块。数据映射模块根据拉丁方ID找到数据存储模块中拉丁方的位置并传输给数据存储模块,数据存储模块根据数据映射模块传输来的位置信息找到查询结果,即符合查询属性的拉丁方有:0123456601234556012344560123345601223456011234560、0123456120634520156343450162456201356342016341520,数据存储模块将查询结果传输给用户交互模块。最终,用户交互模块将查询结果返回给用户。
实施性地,若用户输入的查询为:截态的定义。用户交互模块接收用户输入的查询,并将其传输到语法解析模块。语法解析模块解析该查询种类为“评论”,所以提取关键词“截态”和“定义”并将关键词传输到数据索引模块。数据索引模块通过索引3进行索引求交后得到与该查询相关的多条评论ID,并将其传输到数据映射模块。数据映射模块根据评论ID找到数据存储模块中评论的位置并传输给数据存储模块,数据存储模块根据数据映射模块传输来的位置信息找到查询结果,例如:截态的定义如下:若一个n阶拉丁方的n个位置分布在不同行及不同列且含不同的元素,则称这n个位置构成该拉丁方的一个截态,更多相关信息可以参考百度百科对“正交对角拉丁方”的解释。数据存储模块将查询结果传输给用户交互模块。最终,用户交互模块将查询结果返回给用户。
实施例2、
为了实现等价类代表元的高效计算,本发明还提供了一种基于偏拉丁方的isotopism等价类代表元的计算方法即PLS,参照图3,其主要步骤包括:
[201]步骤1:给定一个n阶拉丁方L,对于L的每一行和每一列元素寻找能使L的第一列元素升序排列的且最好的行变换α和和列y,从而也得到了元素变换γ,即{(α(i),0,γ(L[i,y])):i∈{0,1,...,n-1}}={(i,0,i):i∈{0,1,...,n-1}}。
[202]步骤2:对于步骤1中的列y,计算能使第一行元素升序的列变换β,即{(0,β(j),γ(L[x,j])):j∈{0,1,...,n-1}}={(0,j,j):j∈{0,1,...,n-1}}。
[203]步骤3:根据由步骤1得到的行变换α和元素变换γ、由步骤2得到的列变换β,得到变换θ=(ɑ,β,γ),并计算出L所在的等价类的代表元,即θ(L)。
特别地,paratopism等价类代表元选取L的六个共轭拉丁方的isotopism等价类代表元中的字典序最小者。
所述等价类代表元为互为等价的拉丁方中字典序最小的拉丁方,这个最小的拉丁方肯定是一个简约拉丁方,即第一行和第一列元素都是按升序排列的拉丁方,不但可以增大类与类之间的代表元的相似性从而提高压缩率,而且可以采用不存储第一行和第一列元素而是在线恢复的方式来缓解存储压力。
实例性地,9x9的拉丁方有19270853541个,在每个元素4比特的存储方式下仍需780GB的存储空间,所以任何系统完全存储拉丁方都是不现实的。以下是由本发明提供的PLS计算方法得到的四个拉丁方代表元:
0123456710325476230167453210765445670123547610326745230176543210
0123456710325476230167453210765445670123547610326745231076543201
0123456710325476230167453210765445670123547623016745321076541032
0123456710325476230167453210765445670123547623106754103276453201它们不但有相同的前缀还有大量的相同元素组合,这种现象极其有利于压缩。由于第一行的元素为(0,1,…,n-1)、第一列的元素为(0,1,…,n-1)T,所以可以选择在线恢复第一行和第一列的方式来缓解存储压力,PLS的方法大大缓解了拉丁方数量指数爆炸的压力。
实施例3、
为了实现一个在时间和空间上都有效的数据存储模块,本发明还提供了一种以paratopism类为单位的树状存储结构(LS-tree)。该结构基于三种等价类的包含关系,参照图4。
所述LS-tree参照图5,对于每一个拉丁方,本发明的数据存储模块的树状存储结构存储五种拉丁方,即它的paratopism等价类代表元、isotopism等价类代表元、isomorphism等价类代表元、历史查询拉丁方和其标准型。由于互为等价的拉丁方的属性相同,所以只需为一个等价类的代表元存储该类的属性。且对于这五种拉丁方来说,某些属性在某一种拉丁方下具有不变性,所以我们只需为这一种拉丁方存储属性。
所述标准型为第一行元素是按升序顺序排列的拉丁方,本发明选择存储拉丁方的标准型是由于它在实验设计等领域的广泛应用。
实例性地,很多属性在paratopism类中是不变的,比如子拉丁方的个数和截态的个数,所以没有必要为LS-tree中的这五种拉丁方都存储这些属性,只需为paratopism类代表元存储这些属性。然而一些属性在paratopism类中是不相同的,比如行哈密尔顿性、子矩阵的个数,但这些属性是在isotopism类中是相同的,所以需要为isotopism类代表元存储这些属性。Isomorphism类、历史查询拉丁方和标准型拉丁方的属性存储也遵循这种不重复存储的规则。
以上对本发明的基于等价类代表元索引和存储的拉丁方搜索引擎进行了详细介绍,本发明中应用了具体个例对本发明的原理及实施方式进行阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (3)
1.一种基于等价类代表元索引和存储的拉丁方搜索引擎系统,其特征在于,包括:用户交互模块、语法解析模块、等价类代表元计算模块、数据索引模块、数据映射模块和数据存储模块;其中,
用户交互模块,分别连接语法解析模块和数据存储模块,用于接收用户输入的查询,并将查询传递给语法解析模块,还接收用户对拉丁方的评论内容,并将评论内容传递给数据存储模块,该模块还用于将查询结果返回给用户;
语法解析模块,再分别连接等价类代表元计算模块和数据索引模块,用于解析用户输入的查询类别,并将解析结果传递给等价类代表元计算模块或数据索引模块;
等价类代表元计算模块,再与数据索引模块连接,用于根据语法解析模块解析的结果将拉丁方转化为其所在等价类的代表元,并将该代表元传递给数据索引模块;所述模块中包括一种高效的isotopism等价类代表元的计算方法即PLS,步骤包括:
步骤1:给定一个n阶拉丁方L,对于L的每一行和每一列元素寻找能使L的第一列元素升序排列的且最好的行变换α和列y,从而也得到了元素变换γ,即{(α(i),0,γ(L[i,y])):i∈{0,1,...,n-1}}={(i,0,i):i∈{0,1,...,n-1}};
所述最好的变换为使变换后的拉丁方为字典序最小拉丁方的变换;
步骤2:对于步骤1中的列y,计算能使第一行元素升序的列变换β,即{(0,β(j),γ(L[x,j])):j∈{0,1,...,n-1}}={(0,j,j):j∈{0,1,...,n-1}};
步骤3:根据由步骤1得到的行变换α和元素变换γ、由步骤2得到的列变换β,得到变换θ=(ɑ,β,γ),并计算出L所在的等价类的代表元,即θ(L);
数据索引模块,所述数据索引模块包括三种索引,分别为由等价类代表元构成节点的B+树索引、以拉丁方的属性为属性值的倒排索引和以普通查询词项为属性值的倒排索引;再连接数据映射模块和数据存储模块,用于搜索等价类代表元计算模块转化后的等价类代表元的位置,并将该位置传递给数据存储模块,还用于根据语法解析模块解析的属性搜索相应的拉丁方ID或根据语法解析模块解析的评论内容搜索对应的评论ID,并将拉丁方ID或评论ID传递给数据映射模块;所述代表元为每个等价类中的所有拉丁方中字典序最小的拉丁方,所述字典序最小拉丁方通过比较偏拉丁方得到;
数据映射模块,再连接数据存储模块,用于将数据索引模块搜索的拉丁方ID或评论ID映射到数据存储模块中的相应存储位置,并将该位置传递给数据存储模块;
数据存储模块,用于存储原生的拉丁方等价类的代表元、属性和评论内容,和来自用户交互模块的由用户输入的拉丁方的等价类代表元和评论内容,该模块还用于辅助数据索引模块和数据映射模块为来自用户交互模块的数据添加索引和映射;所述数据存储模块的数据存储结构为以paratopism等价类为单位的五层树状结构LS-tree,该结构根据同一个等价类的拉丁方具有相同的属性这一特点,存储等价类的代表元、该等价类中拉丁方的属性以及用户对于该等价类的拉丁方做出的评论内容;同时,基于三种等价类的包含关系,该树状结构的前三层节点设计为isotopism等价类节点是paratopism等价类节点的子节点、isomorphism等价类节点是isotopism等价类节点的子节点;其他两层节点分别为属于该paratopism类的历史查询拉丁方和该历史查询拉丁方的标准型。
2.如权利要求1所述的基于等价类代表元索引和存储的拉丁方搜索引擎系统,其特征在于,所述用户交互模块接收用户查询和用户对特定拉丁方做出的评论内容,并将该评论内容存入到数据存储模块,该模块还用于将查询结果返回给用户。
3.如权利要求1所述的基于等价类代表元索引和存储的拉丁方搜索引擎系统,其特征在于,所述查询类别分为:拉丁方、属性和评论内容。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911248310.4A CN110928998B (zh) | 2019-12-09 | 2019-12-09 | 一种基于等价类代表元索引和存储的拉丁方搜索引擎 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911248310.4A CN110928998B (zh) | 2019-12-09 | 2019-12-09 | 一种基于等价类代表元索引和存储的拉丁方搜索引擎 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110928998A CN110928998A (zh) | 2020-03-27 |
CN110928998B true CN110928998B (zh) | 2023-04-14 |
Family
ID=69857640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911248310.4A Active CN110928998B (zh) | 2019-12-09 | 2019-12-09 | 一种基于等价类代表元索引和存储的拉丁方搜索引擎 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110928998B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604091A (zh) * | 2004-11-04 | 2005-04-06 | 上海交通大学 | 基于数值仿真与粗糙集算法的塑性成形工艺规则获取方法 |
CN101047402A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 扩展拉丁方族序列产生方法/装置和通信控制方法/系统 |
CN101937444A (zh) * | 2010-04-30 | 2011-01-05 | 绍兴易企信息科技有限公司 | 一种面向纺织原料基于语义的数据搜索引擎 |
CN102420616A (zh) * | 2011-11-16 | 2012-04-18 | 西安电子科技大学 | 基于拉丁方阵的准循环ldpc码纠错方法 |
CN103902610A (zh) * | 2012-12-28 | 2014-07-02 | 北大方正集团有限公司 | 搜索方法和装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2356540A1 (en) * | 2001-08-30 | 2003-02-28 | Emory University | Expressed dna sequences involved in mitochondrial functions |
-
2019
- 2019-12-09 CN CN201911248310.4A patent/CN110928998B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1604091A (zh) * | 2004-11-04 | 2005-04-06 | 上海交通大学 | 基于数值仿真与粗糙集算法的塑性成形工艺规则获取方法 |
CN101047402A (zh) * | 2006-03-28 | 2007-10-03 | 华为技术有限公司 | 扩展拉丁方族序列产生方法/装置和通信控制方法/系统 |
CN101937444A (zh) * | 2010-04-30 | 2011-01-05 | 绍兴易企信息科技有限公司 | 一种面向纺织原料基于语义的数据搜索引擎 |
CN102420616A (zh) * | 2011-11-16 | 2012-04-18 | 西安电子科技大学 | 基于拉丁方阵的准循环ldpc码纠错方法 |
CN103902610A (zh) * | 2012-12-28 | 2014-07-02 | 北大方正集团有限公司 | 搜索方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110928998A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhang et al. | Bed-tree: an all-purpose index structure for string similarity search based on edit distance | |
Li et al. | Efficient merging and filtering algorithms for approximate string searches | |
Kaushik et al. | Exploiting local similarity for indexing paths in graph-structured data | |
US9171065B2 (en) | Mechanisms for searching enterprise data graphs | |
US7412444B2 (en) | Efficient indexing of hierarchical relational database records | |
CN102915381B (zh) | 基于多维语义的可视化网络检索呈现系统及呈现控制方法 | |
CN107169033A (zh) | 基于数据模式转换和并行框架的关系数据查询优化方法 | |
US10417208B2 (en) | Constant range minimum query | |
CN104391908B (zh) | 一种图上基于局部敏感哈希的多关键字索引方法 | |
Zhou et al. | Efficient query processing for XML keyword queries based on the IDList index | |
CN110795526A (zh) | 一种用于检索系统的数学公式索引创建方法与系统 | |
Jansson et al. | Linked dynamic tries with applications to LZ-compression in sublinear time and space | |
Zhou et al. | Top-down XML keyword query processing | |
Alghamdi et al. | Semantic-based Structural and Content indexing for the efficient retrieval of queries over large XML data repositories | |
Qin et al. | Efficient XML query and update processing using a novel prime-based middle fraction labeling scheme | |
CN110928998B (zh) | 一种基于等价类代表元索引和存储的拉丁方搜索引擎 | |
Abburu et al. | Effective partitioning and multiple RDF indexing for database triple store | |
Zhan et al. | ITREKS: Keyword search over relational database by indexing tuple relationship | |
Zhou et al. | Fast result enumeration for keyword queries on XML data | |
Kumar et al. | A comprehensive analysis of wavelet tree based indexing schemes in GIR systems | |
Cheng et al. | PathGuide: an efficient clustering based indexing method for XML path expressions | |
Saissi et al. | Towards XML schema extraction from deep web | |
Zaky et al. | Full-Text Search on data with access control using generalized suffix tree | |
Deng et al. | LAF: a new XML encoding and indexing strategy for keyword‐based XML search | |
Peng et al. | Using partial evaluation in holistic subgraph search |
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 | ||
OL01 | Intention to license declared | ||
OL01 | Intention to license declared |