CN110928998A - 一种基于等价类代表元索引和存储的拉丁方搜索引擎 - Google Patents

一种基于等价类代表元索引和存储的拉丁方搜索引擎 Download PDF

Info

Publication number
CN110928998A
CN110928998A CN201911248310.4A CN201911248310A CN110928998A CN 110928998 A CN110928998 A CN 110928998A CN 201911248310 A CN201911248310 A CN 201911248310A CN 110928998 A CN110928998 A CN 110928998A
Authority
CN
China
Prior art keywords
module
latin
data
class
representative
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
Application number
CN201911248310.4A
Other languages
English (en)
Other versions
CN110928998B (zh
Inventor
刘晓光
方文秀
李蓓
王刚
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nankai University
Original Assignee
Nankai University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nankai University filed Critical Nankai University
Priority to CN201911248310.4A priority Critical patent/CN110928998B/zh
Publication of CN110928998A publication Critical patent/CN110928998A/zh
Application granted granted Critical
Publication of CN110928998B publication Critical patent/CN110928998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3335Syntactic pre-processing, e.g. stopword elimination, stemming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/319Inverted lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/31Indexing; Data structures therefor; Storage structures
    • G06F16/316Indexing structures
    • G06F16/322Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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计算方法得到的四个拉丁方代表元:
01234567 10325476 23016745 32107654 45670123 5476 1032 67452301 76543210
01234567 10325476 23016745 32107654 45670123 5476 1032 67452310 76543201
01234567 10325476 23016745 32107654 45670123 5476 2301 67453210 76541032
01234567 10325476 23016745 32107654 45670123 5476 2310 67541032 76453201它们不但有相同的前缀还有大量的相同元素组合,这种现象极其有利于压缩。由于第一行的元素为(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 (9)

1.一种基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,包括:用户交互模块、语法解析模块、等价类代表元计算模块、数据索引模块、数据映射模块和数据存储模块;其中,
用户交互模块,分别连接语法解析模块和数据存储模块,用于接收用户输入的查询,并将查询传递给语法解析模块,还接收用户对拉丁方的评论内容,并将评论内容传递给数据存储模块,该模块还用于将查询结果返回给用户;
语法解析模块,再分别连接等价类代表元计算模块和数据索引模块,用于解析用户输入的查询类别,并将解析结果传递给等价类代表元计算模块或数据索引模块;
等价类代表元计算模块,再与数据索引模块连接,用于根据语法解析模块解析的结果将拉丁方转化为其所在等价类的代表元,并将该代表元传递给数据索引模块;
数据索引模块,再连接数据映射模块和数据存储模块,用于搜索等价类代表元计算模块转化后的等价类代表元的位置,并将该位置传递给数据存储模块,还用于根据语法解析模块解析的属性搜索相应的拉丁方ID或根据语法解析模块解析的评论内容搜索对应的评论ID,并将拉丁方ID或评论ID传递给数据映射模块;
数据映射模块,再连接数据存储模块,用于将数据索引模块搜索的拉丁方ID或评论ID映射到数据存储模块中的相应存储位置,并将该位置传递给数据存储模块;
数据存储模块,用于存储原生的拉丁方等价类的代表元、属性和评论内容,和来自用户交互模块的由用户输入的拉丁方的等价类代表元和评论内容,该模块还用于辅助数据索引模块和数据映射模块为来自用户交互模块的数据添加索引和映射。
2.如权利要求1所述的基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,所述用户交互模块接收用户查询和用户对特定拉丁方做出的评论内容,并将该评论内容存入到数据存储模块,该模块还用于将查询结果返回给用户。
3.如权利要求1所述的基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,所述查询类别分为:拉丁方、属性和评论内容。
4.如权利要求1所述的基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,所述数据索引模块包括三种索引,分别为由等价类代表元构成节点的B+树索引、以拉丁方的属性为属性值的倒排索引和以普通查询词项为属性值的倒排索引。
5.如权利要求1所述的基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,所述代表元为每个等价类中的所有拉丁方中字典序最小的拉丁方。
6.如权利要求5所述的基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,所述字典序最小拉丁方通过比较偏拉丁方得到。
7.如权利要求1所述的基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,所述数据存储模块的数据存储结构为以paratopism等价类为单位的五层树状结构(LS-tree),该结构根据同一个等价类的拉丁方具有相同的属性这一特点,存储等价类的代表元、该等价类中拉丁方的属性以及用户对于该等价类的拉丁方做出的评论内容;同时,基于三种等价类的包含关系,该树状结构的前三层节点设计为isotopism等价类节点是paratopism等价类节点的子节点、isomorphism等价类节点是isotopism等价类节点的子节点;其他两层节点分别为属于该paratopism类的历史查询拉丁方和该历史查询拉丁方的标准型。
8.如权利要求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)。
9.如权利要求8所述的基于等价类代表元索引和存储的拉丁方搜索引擎,其特征在于,所述最好的变换为使变换后的拉丁方为字典序最小拉丁方的变换。
CN201911248310.4A 2019-12-09 2019-12-09 一种基于等价类代表元索引和存储的拉丁方搜索引擎 Active CN110928998B (zh)

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 true CN110928998A (zh) 2020-03-27
CN110928998B 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1604091A (zh) * 2004-11-04 2005-04-06 上海交通大学 基于数值仿真与粗糙集算法的塑性成形工艺规则获取方法
US20060099578A1 (en) * 2001-08-30 2006-05-11 Wallace Douglas C Mitochondrial biology expression arrays
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 北大方正集团有限公司 搜索方法和装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060099578A1 (en) * 2001-08-30 2006-05-11 Wallace Douglas C Mitochondrial biology expression arrays
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
CN110928998B (zh) 2023-04-14

Similar Documents

Publication Publication Date Title
Zhang et al. Bed-tree: an all-purpose index structure for string similarity search based on edit distance
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
CN103164507B (zh) 行与列数据库表在原生方向上的混合联接
CN103530415A (zh) 一种兼容关键词搜索的自然语言搜索方法及***
Luo et al. Storing and indexing massive RDF datasets
CN103646032A (zh) 一种基于本体和受限自然语言处理的数据库查询方法
US10417208B2 (en) Constant range minimum query
CN110795526B (zh) 一种用于检索***的数学公式索引创建方法与***
CN104391908B (zh) 一种图上基于局部敏感哈希的多关键字索引方法
CN102915381B (zh) 基于多维语义的可视化网络检索呈现***及呈现控制方法
Alghamdi et al. Semantic-based Structural and Content indexing for the efficient retrieval of queries over large XML data repositories
CN108804580B (zh) 一种在联邦型rdf数据库中查询关键字的方法
Zheng et al. INSPIRE: A framework for incremental spatial prefix query relaxation
CN110928998B (zh) 一种基于等价类代表元索引和存储的拉丁方搜索引擎
Qin et al. Efficient XML query and update processing using a novel prime-based middle fraction labeling scheme
Lu An Introduction to XML Query Processing and Keyword Search
Barioni et al. Querying complex objects by similarity in SQL.
Zhou et al. Fast result enumeration for keyword queries on XML data
Cheng et al. PathGuide: an efficient clustering based indexing method for XML path expressions
Saissi et al. Towards XML schema extraction from deep web
Raut et al. A survey of indexing techniques for XML database
Thi-To-Quyen et al. Optimization for large-scale fuzzy joins using fuzzy filters in mapreduce
Li A human-machine method for web table understanding

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