CN109684336A - 基于大数据应用实现树形数据表高效检索与排序功能的***及方法 - Google Patents
基于大数据应用实现树形数据表高效检索与排序功能的***及方法 Download PDFInfo
- Publication number
- CN109684336A CN109684336A CN201811611077.7A CN201811611077A CN109684336A CN 109684336 A CN109684336 A CN 109684336A CN 201811611077 A CN201811611077 A CN 201811611077A CN 109684336 A CN109684336 A CN 109684336A
- Authority
- CN
- China
- Prior art keywords
- data
- record
- sequential coding
- tree
- field
- 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.)
- Withdrawn
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于大数据应用实现树形数据表高效检索与排序功能的***,包括表结构设计模块,用于在业务属性字段基础上增加序列编码字段并按指定规则取值;数据维护模块,用于根据所述的序列编码字段对数据记录进行增加、修改和删除;数据检索排序模块,用于呈现按树形结构次序排列的结果集。本发明还涉及一种实现基于大数据应用的树形数据表高效检索与排序处理的方法。采用了该***及方法,能够简单高效的为应用***的用户界面端提供按照隶属关系排列的树形结构数据集,相对于采用循环递归算法,本发明具有运行高效、开发简单、减少资源消耗的优点;本发明提供的方法适用于所有关系型数据库,具有很强的适用性。
Description
技术领域
本发明涉及计算机软件领域,尤其涉及大数据应用领域,具体是指一种基于大数据应用实现树形数据表高效检索与排序功能的***及方法。
背景技术
在计算机软件的信息管理***领域,经常存在一种数据表的存储场景:一张表存储的记录中,存在着记录行的父子隶属关系,通过记录行之间的父子隶属关系构成了一个树形结构,典型的场景如机构表,除了根机构外,其他的机构都有父机构,这样所有的表记录构成了一个机构树,在应用软件中,针对这种树形结构的表,存在如下的检索排序需求:例如查询某个记录的所有子记录并按指定记录的子记录隶属关系进行排序后输出,例如查询某个机构的所有子机构,并按机构归属顺序进行排序。对于大型企业而言,机构的节点可能有几万个,机构的层级可能有5、6层甚至更多,在信息管理覆盖的应用领域越来越广泛、越来越深入的情况下,类似机构树的场景还有很多,例如地域树(如国家-省-县市-区镇-村)、行政级别树(国家、部、司、处、科)、电商平台产品分类树等,在类似此类场景的大数据应用软件环境下,快速响应数据的检索排序需求,对于提升信息***应用软件的使用体验非常重要。
针对树形结构的表,假定在表结构设计上包括2个字段:ID(本记录行的主键值),ParentID(父记录的主键值),在信息管理***中的常见检索需求是:查询某个指定记录行的所有子记录并按记录的归属关系排序。常见的实现技术有2种:
一、在程序中通过循环递归的方式进行处理,操作步骤如下:
1)根据指定的记录使用标准SQL查询所有子记录(ParentID=指定记录的ID);
2)针对子记录进行循环递归,分别查询子记录的下一级子记录,子记录结果集放到父记录后;
3)直到递归结束,输出排列好的查询结果集。
二、利用数据库软件提供的扩展SQL语言查询
部分数据库软件提供了针对树形结构数据表的级联查询的SQL语法,可以通过SQL语句直接查询出某个指定记录的所有子记录,例如在Oracle数据库中,可以用如下结构SQL语句实现:
select[要查询显示的列]from[树形结构表名]start with ID=[指定记录ID值]connect by prior ID=ParentID;
以下针对上面提到的2种方法分别分析存在的不足;
方法一:在大数据环境下,数据树的节点和层次都比较多,假如一个机构树的某个机构节点下包含4个层级,每一级的机构节点为10个,那么按照方法一提供的循环递归查询方法的查询次数为1+10+10×10+10×10×10=1111次,很显然,这个方法带来的不足为:1、处理效率低下;2、对数据库的查询次数太多,导致消耗过多数据库连接池、网络I/O和数据库服务器资源。
方法二:该方法的问题需要依赖数据库软件本身提供的能力,并不是每一个数据库软件提供了针对数据树结构的级联查询SQL,即便提供了这个能力的不同数据库的SQL语法也不一样,采用这种方法降低了信息***软件的可移植性。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种计算效率高、资源消耗小、开发简单的基于大数据应用实现树形数据表高效检索与排序功能的***及方法。
为了实现上述目的,本发明的基于大数据应用实现树形数据表高效检索与排序功能的***及方法如下:
该基于大数据应用实现树形数据表高效检索与排序功能的***,其主要特点是,所述的***包括:
表结构设计模块,用于在业务属性字段基础上增加序列编码字段,并按指定规则取值;
数据维护模块,与所述的表结构设计模块相连接,用于根据所述的序列编码字段对数据记录进行增加、修改和删除;
数据检索排序模块,与所述的表结构设计模块和数据维护模块相连接,用于呈现按树形结构次序排列的结果集。
较佳地,所述的表结构设计模块的序列编码字段采用字符串类型。
较佳地,所述的表结构设计模块的序列编码字段值的取值规则,具体为:
字段值=父记录序列编码+本记录主键值+分隔符;
较佳地,所述的数据维护模块包括:
数据增加单元,与所述的表结构设计模块相连接,用于按照序列编码字段取值规则增加新的记录;
数据修改单元,与所述的表结构设计模块相连接,用于更改数据父记录时更新其序列编码及子记录的序列编码;
数据删除单元,与所述的表结构设计模块相连接,用于根据序列编码字段作为条件项删除树形结构数据表的记录及其所有子记录。
该基于上述***实现基于大数据应用的树形数据表高效检索与排序处理的方法,其主要特点是,所述的方法包括以下步骤:
(1)所述的表结构设计模块在业务属性字段基础上增加序列编码字段;
(2)所述的数据维护模块根据所述的序列编码字段对数据记录进行增加、修改和删除;
(3)所述的数据检索排序模块呈现按树形结构次序排列的结果集。
较佳地,所述的步骤(2)中的增加数据记录具体包括以下步骤:
(1-2.1)根据业务规则生成新增记录的主键值ID;
(1-2.2)获得父记录的序列编码;
(1-2.3)设置新增记录的序列编码;
(1-2.4)根据数据库的标准实现数据记录的***。
较佳地,所述的步骤(2)中的修改数据记录具体包括以下步骤:
(2-2.1)保存修改记录的现有的序列编码;
(2-2.2)获得更改的新的父记录的序列编码;
(2-2.3)根据规则产生新的序列编码字段的值;
(2-2.4)批量更新修改记录及所有子记录的序列编码字段的值。
较佳地,所述的步骤(2-2.3)中产生新的序列编码字段的值,具体为:
根据以下公式产生新的序列编码字段的值:
序列编码字段的值=父记录序列编码字符串+本记录ID+分隔符;
较佳地,所述的步骤(3)中的删除数据记录具体包括以下步骤:
(3-2.1)获取并保存删除记录的序列编码字段的值;
(3-2.2)批量删除指定记录及所有下级记录。
采用了本发明的基于大数据应用实现树形数据表高效检索与排序功能的***及方法,通过在树形结构数据表额外增加字段序列编码字段,并按本发明提供的字段值处理规则、数据维护和数据检索方法,能够简单高效的为应用***的用户界面端提供按照隶属关系排列的树形结构数据集,相对于采用循环递归算法,本发明具有运行高效、开发简单、减少资源消耗的优点;相对于特定数据库(如Oracle数据库)提供的特定语法,本发明提供的方法适用于所有关系型数据库,具有很强的适用性。
附图说明
图1为本发明的基于大数据应用实现树形数据表高效检索与排序功能的***的标准的树形结构场景图。
图2为本发明的实现基于大数据应用的树形数据表高效检索与排序处理的方法的增加数据记录的流程图。
图3为本发明的实现基于大数据应用的树形数据表高效检索与排序处理的方法的修改数据记录的流程图。
图4为本发明的实现基于大数据应用的树形数据表高效检索与排序处理的方法的删除数据记录的流程图。
图5为本发明的实现基于大数据应用的树形数据表高效检索与排序处理的方法的实施例的数据树示意图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明的该基于大数据应用实现树形数据表高效检索与排序功能的***,其中,所述的***包括:
表结构设计模块,用于在业务属性字段基础上增加序列编码字段,并按指定规则取值;
数据维护模块,与所述的表结构设计模块相连接,用于根据所述的序列编码字段对数据记录进行增加、修改和删除;
数据检索排序模块,与所述的表结构设计模块和数据维护模块相连接,用于呈现按树形结构次序排列的结果集。
作为本发明的优选实施方式,所述的表结构设计模块的序列编码字段采用字符串类型。
作为本发明的优选实施方式,所述的表结构设计模块的序列编码字段值的取值规则,具体为:
字段值=父记录序列编码+本记录主键值+分隔符;
作为本发明的优选实施方式,所述的数据维护模块包括:
数据增加单元,与所述的表结构设计模块相连接,用于按照序列编码字段取值规则增加新的记录;
数据修改单元,与所述的表结构设计模块相连接,用于更改数据父记录时更新其序列编码及子记录的序列编码;
数据删除单元,与所述的表结构设计模块相连接,用于根据序列编码字段作为条件项删除树形结构数据表的记录及其所有子记录。
该基于上述***实现基于大数据应用的树形数据表高效检索与排序处理的方法,其中包括以下步骤:
(1)所述的表结构设计模块在业务属性字段基础上增加序列编码字段;
(2)所述的数据维护模块根据所述的序列编码字段对数据记录进行增加、修改和删除;
(1-2.1)根据业务规则生成新增记录的主键值ID;
(1-2.2)获得父记录的序列编码;
(1-2.3)设置新增记录的序列编码;
(1-2.4)根据数据库的标准实现数据记录的***;
(2-2.1)保存修改记录的现有的序列编码;
(2-2.2)获得更改的新的父记录的序列编码;
(2-2.3)根据规则产生新的序列编码字段的值;
(2-2.4)批量更新修改记录及所有子记录的序列编码字段的值;
(3-2.1)获取并保存删除记录的序列编码字段的值;
(3-2.2)批量删除指定记录及所有下级记录;
(3)所述的数据检索排序模块呈现按树形结构次序排列的结果集。
作为本发明的优选实施方式,所述的步骤(2-2.3)中产生新的序列编码字段的值,具体为:
根据以下公式产生新的序列编码字段的值:
序列编码字段的值=父记录序列编码字符串+本记录ID+分隔符;
本发明的具体实施方式中,本发明涉及一种大数据应用中树形数据表实现高效检索与排序的结构设计及方法:其原理是在树形数据表中增加一个“序列编码”(SeqNo)字段来保存记录的位置序列,通过表的增加、修改功能按本发明提供的规则维护这个序列编码,在针对不确定层级和节点数的树形数据表进行子记录查询时使用这个序列编码字段构造查询条件,可以简单、快速、高效获得查询结果的***结构设计和实现方法。另外,在满足快速响应大数据应用环境下树形结构数据级联查询需求的同时,本发明具有不依赖于特定数据库管理软件的通用性和普适性。
本发明针对大数据应用中的树形数据表检索与排序场景,主要实现以下目的:
提供高效的查询方法,能够让用户端快速获得满足需求的查询结果;
降低对应用服务器与数据库服务器资源(数据库连接、网络、计算等)的消耗;
支持不同的数据库管理软件,不依赖于特定数据库提供的特定能力。
在大数据应用环境中,当树形结构数据的节点数量很大,层级很多且层级不固定的情况下。
在大数据应用环境中,针对具有父子隶属关系的树形结构的单表数据,应用软件界面通常需要以树形方式展示数据,这就要求业务逻辑层输出到界面层的数据也是按树形结构的隶属顺序提供,当树形结构数据的节点数量很大,层级很多且层级数量不固定的情况下,通常采用的循环递归算法计算效率低,资源消耗大,无法满足界面端快速显示的需要,本发明针对这种父子隶属关系的树形结构单表,提供了一种独特的数据表结构设计和数据排序与维护的方法,可以非常明显的提高表数据按树形结构检索与排序的效率。
本发明包含三个组成部分:
一、树形结构表的表结构设计方法及取值规则
二、树形结构表数据维护方法
三、树形结构表数据检索排序方法
为了方便说明,假定一个标准的树形结构场景如图1所示。
图中的数字编号表示代表树形结构各个节点的唯一编号(主键值),每个节点可能还包含其他属性(如名称、状态等)。
图中场景只是树形结构的一个片段,树的节点数和层数均是动态的,即表示节点的个数可能会扩展更多,层次也可能不只是图中显示的5个层级。
以下结合提供的场景具体描述本发明的三个组成部分:
一、树形结构表的表结构设计方法及取值规则
针对具有父子隶属关系的数据表,在数据表包含的业务属性字段基础上,增加一个“序列编码”字段(字段名假定为SeqNo),该字段采用字符串类型,字段值的取值规则为:
父记录序列编码(SeqNo)+本记录主键值(ID)+分隔符(“.”),对于根节点的序列编码SeqNo为本记录主键值(ID)+分隔符(“.”)
例如:在上面提供的场景图(图1)中,根节点(ID=1)的序列编码为“1.”;ID为2的节点的父节点为ID为1的节点,所以序列编码为“1.2.”,以此类推。
结合树形结构场景图的表结构设计及数据记录如下表:
ID | ParentID | SeqNo | Name | Level | … |
1 | - | 1. | A | 1 | |
2 | 1 | 1.2. | B | 2 | |
3 | 1 | 1.3. | C | 2 | |
4 | 3 | 1.3.4. | D | 3 | |
5 | 2 | 1.2.5. | E | 3 | |
6 | 4 | 1.3.4.6. | F | 4 | |
7 | 6 | 1.3.4.6.7. | G | 5 | |
8 | 6 | 1.3.4.6.8. | H | 5 | |
9 | 3 | 1.3.9. | I | 3 | |
10 | 4 | 1.3.4.10. | J | 4 |
可以看到,以上这张表的字段中,包含了“序列编码”字段SeqNo,字段值按照本发明提供的规则方法生成。
二、树形结构表数据维护方法
数据的维护包括数据记录的增加、修改和删除,这是数据库表操作的常规技术手段,使用数据库提供的标准SQL可以完成,对于本发明,特殊的是在对数据进行增删改时,如何处理序列编码字段SeqNo的方法,以下分别说明:
1、数据增加:增加新的记录时,操作的步骤如图2所示
步骤说明:
步骤1:根据业务的规则,生成新增记录的主键值ID;
步骤2:由于新增记录一定隶属于某个已经存在的父记录,可以获得父记录的序列编码SeqNo;
步骤3:新增记录的序列编码SeqNo=第2步获得的父记录SeqNo+第1步获得的ID+分隔符“.”(三段字符串按次序连接成的新字符串);
步骤4:在新增记录的其他字段赋值后,采用数据库的标准SQL提供的能力实现数据记录的***。
2、数据修改:基于本发明提供的方法,在更改某一笔数据的父记录时,需要更新该记录的序列编码SeqNo以及所有子记录的SeqNo,操作步骤如图3所示:
步骤说明:
第1步:将修改记录现有的序列编码SeqNo值保存在变量SeqNo1中;
第2步:获得更改的新的父记录的序列编码SeqNo值,保存在变量SeqNo2中;
第3步:根据规则产生新的序列编码SeqNo字段的值(字符串SeqNo2+本记录ID+“.”构成的字符串),保存在变量SeqNo3中;
第4步:使用SQL的标准字符串替换函数REPLACE更新修改记录及所有子记录的序列编码SeqNo字段值,SQL语法如下:
update[表名]SET SeqNo=replace(SeqNo,SeqNo1,SeqNo3)where SeqNo likeSeqNo1+”%”;
说明:如果记录修改并不涉及修改记录的父记录隶属关系,数据更新的方式采用数据记录常规技术手段的更新方式。
3、数据删除:对于树形结构数据表记录的删除,需要判断其是否存在子记录,如果操作者确认删除,实现逻辑上需要删除指定记录及所有子记录,操作步骤如图4所示:
步骤说明:
第1步:获得被删除记录的序列编码SeqNo字段值,保存在变量SeqNo1中;
第2步:批量删除指定记录及所有下级记录,SQL语法如下:
delete[表名]where SeqNo like SeqNo1+”%”;
很显然,基于序列编码SeqNo字段,简化了树形结构表删除某个节点及所有子节点的处理方式,而传统的处理方式是采用循环递归的方式找到子节点进行逐一删除。前者无论是算法简单性以及处理效率上,均远胜于循环递归的处理方法。
三、树形结构表数据检索排序方法
对于本发明而言,采用第一部分所述的表结构设计和序列编码字段值构成规则的最为重要的意义在于提升树形结构数据的检索效率,
一般情况下,树形结构的数据在应用的场景中大部分也需要通过树形方式显示出来,这就要求存储在数据库中的二维结构的数据按照数据记录的隶属关系的顺序检索出来,形成一个按树形结构次序排列的结果集输出到界面端,提供给树形UI控件呈现,
通过本发明采用的数据表结构设计方法,即引入了序列编码字段SeqNo,使得这种按树形结构排序的数据检索需求变得非常简单,通过一段简单的标准数据库查询语言就可以实现,以下是实现检索排序需求的SQL语法:
Select[字段列表]from[表名]where SeqNo like“[指定记录的SeqNo]+’%’”order by SeqNo
技术解决方案小结:通过对本发明技术解决方案三个组成部分的介绍,本发明的关键处理在于针对树形结构数据表额外增加字段序列编码字段,看上去似乎增加了数据维护处理的复杂性,实则为树形结构数据表的数据查询和展示提供了一种高效的处理方法,一方面降低了开发的复杂性,另一方面也最大化的提高了数据查询的效率,降低了对***资源的消耗。在目前大数据应用环境下,本发明具有广泛的应用场景。
在目前的信息化***中,具有隶属关系的树形结构数据场景非常广泛,本节将选择其中一个典型的场景“组织机构树”来描述基于本发明实现高效数据检索的实施过程。
在大型企业中,组织机构数覆盖所有的子公司和部门,例如一个银行的组织机构管理层级包含了总行、区域、分行、支行、分理处,在全国范围内,每一级平行节点数量也非常多,一家大型全国性银行的机构数量通常超过1万,构成了一个庞大的组织机构数据树,如图5所示。
假定这家全国性银行分了华东、华南、华北、华西、华中五大区,每个大区包含平均6家分行,每家分行包含平均20家支行,每家支行包含平均20家分理处,那么总的机构数=1+5×6×20×20=12001家,如果按机构隶属的顺序获得华东大区的所有子机构的数据集,以便在用户界面上显示一颗类似上图的机构树,按照现有常用的循环递归查询技术,需要完成的数据库查询步骤和次数为:
1、查询华东大区的所有分行记录(获得6家分行记录),查询1次
2、基于分行记录进行循环,查询指定分行的所有子记录(每次循环获得20家支行记录,共120条支行记录),查询6次
3、基于获得的支行记录进行循环,查询各家支行的分理处(每次循环获得20个分理处记录,共120×20=2400次),查询120次
4、由于递归算法不清楚分理处下是否还有子机构,仍然需要往下递归,针对每家分理处循环,查询分理处的子机构,在假定的本场景中没有下级机构,但仍然查询了120×20次
以上总的查询次数=1+6+6×20+6×20×20=2527次,很显然,这种处理方式将对数据库服务器带来非常大的压力,同时查询的效率非常低下,将导致用户界面端的响应变得很慢,另外,以上的三个步骤实现在一段相对复杂的循环递归的逻辑程序中,对开发者提出了较高的技术能力要求。
接下来,采用本发明提供的方法完全实现同样的检索需求,以下为实施例的实施步骤,结构如图5所示:按机构隶属的顺序获得华东大区的所有子机构的数据集。对照以上方法,将会明显感受到本发明所具有的简单高效的优势。
一、机构表的表结构设计
针对银行机构数据设计的机构表(Organization)结构如下(部分)
在这个表中,SeqNo字段为序列编码字段,存储每个机构记录对应的序列编码,按照本发明提供的规则形成的数据记录如下表:
OrgID | OrgName | ParentOrgID | SeqNo | Level | OrgCode | … |
1 | 总行 | - | 1. | 1 | … | … |
159 | 分理处113 | 101 | 1.20.52.101.159. | 5 | … | … |
20 | 华东大区 | 1 | 1.20. | 2 | … | … |
11 | 分理处133 | 124 | 1.20.52.124.181 | 5 | … | … |
3 | 华南大区 | 1 | 1.43. | 2 | … | … |
52 | 分行1 | 20 | 1.20.52. | 3 | … | … |
146 | 分理处112 | 101 | 1.20.52.101.146. | 5 | … | … |
69 | 分行2 | 20 | 1.20.69. | 3 | … | … |
199 | 分理处134 | 124 | 1.20.52.124.199 | 5 | … | … |
101 | 支行11 | 52 | 1.20.52.101. | 4 | … | … |
174 | 分理处132 | 124 | 1.20.52.124.174 | 5 | … | … |
112 | 支行12 | 52 | 1.20.52.112. | 4 | … | … |
135 | 分理处111 | 101 | 1.20.52.101.135. | 5 | … | … |
163 | 分理处131 | 124 | 1.20.52.124.163 | 5 | … | … |
31 | 华北大区 | 1 | 1.31. | 2 | … | … |
124 | 支行13 | 52 | 1.20.52.124. | 4 | … | … |
77 | 分行3 | 20 | 1.20.77. | 3 | … | … |
… | … | … | … | … | … | … |
可以看到,在这个机构表的数据中,每条记录的隶属关系符合前面提供的银行机构的场景图,但是数据表中存储的数据记录的排列顺序是无规律的,同时,每条记录的序列编码字段值遵循本发明技术方案中的规则,即序列编码=父机构的序列编码+本机构的OrgID+分隔符”.”。
二、基于序列编码字段的高效数据检索
针对上面存储的无序的机构表数据,假如需要检索华东大区的所有子机构,并按隶属关系排序,处理方法如下:
1)获得华东大区的机构编号(OrgID=20)和机构序列编码(SeqNo=”1.20.”)
2)使用本发明技术方案组成部分三的SQL语法查询,如下:
Select×from Organization where SeqNo like“1.20.%”order by SeqNo;
基于该查询获得输出的数据结果集如下表:
OrgID | OrgName | ParentOrgID | SeqNo | Level | OrgCode | … |
20 | 华东大区 | 1 | 1.20. | 2 | … | … |
52 | 分行1 | 20 | 1.20.52. | 3 | … | … |
101 | 支行11 | 52 | 1.20.52.101. | 4 | … | … |
135 | 分理处111 | 101 | 1.20.52.101.135. | 5 | … | … |
146 | 分理处112 | 101 | 1.20.52.101.146. | 5 | … | … |
159 | 分理处113 | 101 | 1.20.52.101.159. | 5 | … | … |
112 | 支行12 | 52 | 1.20.52.112. | 4 | … | … |
124 | 支行13 | 52 | 1.20.52.124. | 4 | … | … |
163 | 分理处131 | 124 | 1.20.52.124.163 | 5 | … | … |
174 | 分理处132 | 124 | 1.20.52.124.174 | 5 | … | … |
181 | 分理处133 | 124 | 1.20.52.124.181 | 5 | … | … |
199 | 分理处134 | 124 | 1.20.52.124.199 | 5 | … | … |
69 | 分行2 | 20 | 1.20.69. | 3 | … | … |
77 | 分行3 | 20 | 1.20.77. | 3 | … | … |
… | … | … | … | … | … | … |
很显然,获得的查询结果满足检索的需求:按隶属关系的顺序获得了华东大区的所有子机构记录集。整个处理只做了1次查询,程序处理上只需要构造查询SQL的字符串,相对于前面采用的循环递归算法的2427次查询,很明显的体现了本发明的优势:开发简单,处理高效,对***资源占用低。
采用了本发明的基于大数据应用实现树形数据表高效检索与排序功能的***及方法,通过在树形结构数据表额外增加字段序列编码字段,并按本发明提供的字段值处理规则、数据维护和数据检索方法,能够简单高效的为应用***的用户界面端提供按照隶属关系排列的树形结构数据集,相对于采用循环递归算法,本发明具有运行高效、开发简单、减少资源消耗的优点;相对于特定数据库(如Oracle数据库)提供的特定语法,本发明提供的方法适用于所有关系型数据库,具有很强的适用性。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (9)
1.一种基于大数据应用实现树形数据表高效检索与排序功能的***,其特征在于,所述的***包括:
表结构设计模块,用于在业务属性字段基础上增加序列编码字段,并按指定规则取值;
数据维护模块,与所述的表结构设计模块相连接,用于根据所述的序列编码字段对数据记录进行增加、修改和删除;
数据检索排序模块,与所述的表结构设计模块和数据维护模块相连接,用于呈现按树形结构次序排列的结果集。
2.根据权利要求1所述的基于大数据应用实现树形数据表高效检索与排序功能的***,其特征在于,所述的表结构设计模块的序列编码字段采用字符串类型。
3.根据权利要求1所述的基于大数据应用实现树形数据表高效检索与排序功能的***,其特征在于,所述的表结构设计模块的序列编码字段值的取值规则,具体为:
字段值=父记录序列编码+本记录主键值+分隔符。
4.根据权利要求1所述的基于大数据应用实现树形数据表高效检索与排序功能的***,其特征在于,所述的数据维护模块包括:
数据增加单元,与所述的表结构设计模块相连接,用于按照序列编码字段取值规则增加新的记录;
数据修改单元,与所述的表结构设计模块相连接,用于更改数据父记录时更新其序列编码及子记录的序列编码;
数据删除单元,与所述的表结构设计模块相连接,用于根据序列编码字段作为条件项删除树形结构数据表的记录及其所有子记录。
5.一种利用权利要求1至4中任一项所述的***实现基于大数据应用的树形数据表高效检索与排序处理的方法,其特征在于,所述的方法包括以下步骤:
(1)所述的表结构设计模块在业务属性字段基础上增加序列编码字段;
(2)所述的数据维护模块根据所述的序列编码字段对数据记录进行增加、修改和删除;
(3)所述的数据检索排序模块呈现按树形结构次序排列的结果集。
6.根据权利要求5所述的实现基于大数据应用的树形数据表高效检索与排序处理的方法,其特征在于,所述的步骤(2)中的增加数据记录具体包括以下步骤:
(1-2.1)根据业务规则生成新增记录的主键值ID;
(1-2.2)获得父记录的序列编码;
(1-2.3)设置新增记录的序列编码;
(1-2.4)根据数据库的标准实现数据记录的***。
7.根据权利要求5所述的实现基于大数据应用的树形数据表高效检索与排序处理的方法,其特征在于,所述的步骤(2)中的修改数据记录具体包括以下步骤:
(2-2.1)保存修改记录的现有的序列编码;
(2-2.2)获得更改的新的父记录的序列编码;
(2-2.3)根据规则产生新的序列编码字段的值;
(2-2.4)批量更新修改记录及所有子记录的序列编码字段的值。
8.根据权利要求7所述的实现基于大数据应用的树形数据表高效检索与排序处理的方法,其特征在于,所述的步骤(2-2.3)中产生新的序列编码字段的值,具体为:
根据以下公式产生新的序列编码字段的值:
序列编码字段的值=父记录序列编码字符串+本记录ID+分隔符。
9.根据权利要求5所述的实现基于大数据应用的树形数据表高效检索与排序处理的方法,其特征在于,所述的步骤(3)中的删除数据记录具体包括以下步骤:
(3-2.1)获取并保存删除记录的序列编码字段的值;
(3-2.2)批量删除指定记录及所有下级记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811611077.7A CN109684336A (zh) | 2018-12-27 | 2018-12-27 | 基于大数据应用实现树形数据表高效检索与排序功能的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811611077.7A CN109684336A (zh) | 2018-12-27 | 2018-12-27 | 基于大数据应用实现树形数据表高效检索与排序功能的***及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109684336A true CN109684336A (zh) | 2019-04-26 |
Family
ID=66190522
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811611077.7A Withdrawn CN109684336A (zh) | 2018-12-27 | 2018-12-27 | 基于大数据应用实现树形数据表高效检索与排序功能的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109684336A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309369A (zh) * | 2019-06-06 | 2019-10-08 | 福建天泉教育科技有限公司 | 一种树形结构数据的实现方法及终端 |
CN112000667A (zh) * | 2020-08-10 | 2020-11-27 | 多点(深圳)数字科技有限公司 | 用于检索树形数据的方法、装置、服务器和介质 |
CN112241412A (zh) * | 2020-10-28 | 2021-01-19 | 天津中新智冠信息技术有限公司 | 树形结构表的生成方法、装置和电子设备 |
CN112612845A (zh) * | 2020-12-22 | 2021-04-06 | 中国建设银行股份有限公司 | 一种组织机构视图实现方法、装置、电子设备及可读存储介质 |
CN113656400A (zh) * | 2021-07-08 | 2021-11-16 | 上海二三四五网络科技有限公司 | 一种特征数据的编码方法及装置 |
CN113886433A (zh) * | 2021-10-01 | 2022-01-04 | 浙江大学 | 一种层次结构区域检索方法 |
CN115840751A (zh) * | 2023-02-21 | 2023-03-24 | 山东经伟晟睿数据技术有限公司 | 一种新型树状数据的编码方法 |
CN117575004A (zh) * | 2024-01-16 | 2024-02-20 | 北京壁仞科技开发有限公司 | 基于双层决策树的核函数确定方法、计算设备和介质 |
-
2018
- 2018-12-27 CN CN201811611077.7A patent/CN109684336A/zh not_active Withdrawn
Non-Patent Citations (1)
Title |
---|
邢海燕: "一种通用的树形结构编码设计方法", 《万方学术会议数据库》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309369A (zh) * | 2019-06-06 | 2019-10-08 | 福建天泉教育科技有限公司 | 一种树形结构数据的实现方法及终端 |
CN112000667A (zh) * | 2020-08-10 | 2020-11-27 | 多点(深圳)数字科技有限公司 | 用于检索树形数据的方法、装置、服务器和介质 |
CN112000667B (zh) * | 2020-08-10 | 2024-04-12 | 多点(深圳)数字科技有限公司 | 用于检索树形数据的方法、装置、服务器和介质 |
CN112241412A (zh) * | 2020-10-28 | 2021-01-19 | 天津中新智冠信息技术有限公司 | 树形结构表的生成方法、装置和电子设备 |
CN112241412B (zh) * | 2020-10-28 | 2023-10-13 | 天津中新智冠信息技术有限公司 | 树形结构表的生成方法、装置和电子设备 |
CN112612845A (zh) * | 2020-12-22 | 2021-04-06 | 中国建设银行股份有限公司 | 一种组织机构视图实现方法、装置、电子设备及可读存储介质 |
CN113656400A (zh) * | 2021-07-08 | 2021-11-16 | 上海二三四五网络科技有限公司 | 一种特征数据的编码方法及装置 |
CN113656400B (zh) * | 2021-07-08 | 2024-02-27 | 上海二三四五网络科技有限公司 | 一种特征数据的编码方法及装置 |
CN113886433A (zh) * | 2021-10-01 | 2022-01-04 | 浙江大学 | 一种层次结构区域检索方法 |
CN115840751A (zh) * | 2023-02-21 | 2023-03-24 | 山东经伟晟睿数据技术有限公司 | 一种新型树状数据的编码方法 |
CN117575004A (zh) * | 2024-01-16 | 2024-02-20 | 北京壁仞科技开发有限公司 | 基于双层决策树的核函数确定方法、计算设备和介质 |
CN117575004B (zh) * | 2024-01-16 | 2024-05-10 | 北京壁仞科技开发有限公司 | 基于双层决策树的核函数确定方法、计算设备和介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109684336A (zh) | 基于大数据应用实现树形数据表高效检索与排序功能的***及方法 | |
CN112214611B (zh) | 一种企业知识图谱的构建***和方法 | |
US9009099B1 (en) | Method and system for reconstruction of object model data in a relational database | |
US6199059B1 (en) | System and method for classifying and retrieving information with virtual object hierarchy | |
US5257365A (en) | Database system with multi-dimensional summary search tree nodes for reducing the necessity to access records | |
CN103314371B (zh) | 一种检索的方法和*** | |
CN108647276B (zh) | 一种搜索方法 | |
CN102982076A (zh) | 基于语义标签库的多维度内容标注方法 | |
CA2484009A1 (en) | Managing expressions in a database system | |
JP2010039593A (ja) | テーブル分類装置、テーブル分類方法及びテーブル分類プログラム | |
CN111506621A (zh) | 一种数据统计方法及装置 | |
CN104794146A (zh) | 商品实时筛选和排序的方法和装置 | |
CN102467544B (zh) | 基于空间模糊编码的信息智能搜索方法及*** | |
CN102819600B (zh) | 面向电力生产管理***关系数据库的关键词搜索方法 | |
US20200226116A1 (en) | Fast index creation system for cloud big data database | |
CN103064841A (zh) | 检索装置和检索方法 | |
CN112270628A (zh) | 一种知识产权专题库管理方法及*** | |
CN113886397A (zh) | 一种数据资源目录*** | |
Keqin et al. | An overview of JB (Jade Bird) component library system JBCL | |
CN109063063B (zh) | 基于多源数据的数据处理方法及装置 | |
McClean et al. | A comparison of mapreduce and parallel database management systems | |
CN110399337B (zh) | 基于数据驱动的文件自动化服务方法和*** | |
CN111159285B (zh) | 一种基于分布式索引服务部署的企业跨***检索方法 | |
CN112148830A (zh) | 一种基于最大区域网格的语义数据存储与检索的方法及装置 | |
CN106372238A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20190426 |
|
WW01 | Invention patent application withdrawn after publication |