CN112256729A - 一种基于左右值无限分类实现算法的数据查询方法 - Google Patents
一种基于左右值无限分类实现算法的数据查询方法 Download PDFInfo
- Publication number
- CN112256729A CN112256729A CN202011210525.XA CN202011210525A CN112256729A CN 112256729 A CN112256729 A CN 112256729A CN 202011210525 A CN202011210525 A CN 202011210525A CN 112256729 A CN112256729 A CN 112256729A
- Authority
- CN
- China
- Prior art keywords
- data
- value
- right value
- node data
- piece
- 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.)
- Pending
Links
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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
-
- 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
Abstract
本发明公开的基于左右值无限分类实现算法的数据查询方法,涉及数据处理技术领域,通过接收携带最小下限值及最大上限值的数据查询请求,根据数据库中各条数据预置的左值及右值,获取符合要求的数据,得到数据集合,将该数据集合发送给客户端,提高了效率,降低了服务器负载,提升了用户体验。
Description
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于左右值无限分类实现算法的数据查询方法。
背景技术
目前多层级数据的查询,主要通过遍历的方式进行。对于层级结构比较复杂的树形数据,递归时间较长,比较占用服务资源,且需要频繁与数据库进行交互,导致效率交低。
发明内容
为解决现有技术的不足,本发明实施例提供了一种基于左右值无限分类实现算法的数据查询方法,该方法包括以下步骤:
接收携带最小下限值及最大上限值的数据查询请求;
根据数据库中各条数据预置的左值及右值,获取符合要求的数据,得到数据集合;
将所述数据集合发送给客户端。
优选地,在根据数据库中各条数据预置的左值及右值,获取符合要求的数据之前,所述方法还包括:
利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值。
优选地,在将所述数据集合发送给客户端之后,所述方法还包括:
客户端根据所述各条数据的左值及右值,获取所述数据集合中各条数据之间的数据结构;
客户端根据所述数据结构,展示所述数据集合中的各条数据。
优选地,利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值包括:
S1为第一父节点数据设置第一左值及第一右值,其中,第一右值比第一左值大1;
S2判断所述第一父节点数据是否存在第一子节点数据,若是,则将所述第一右值设置为所述第一子节点数据的左值,将所述第一右值加1设置为所述第一子节点数据的右值将第一右值加2,得到第二右值并将第一左值、第二右值分别作为所述第一父节点数据当前的左值及右值;
S3继续判断所述第一父节点数据是否存在第二子节点数据,若是,则将所述第二右值设置为所述第二子节点数据的左值,将所述第二右值加1设置为所述第二子节点数据的右值;
S4将第二右值加2,得到第三右值并将第一左值、第三右值分别作为所述第一父节点数据当前的左值及右值;
S4重复上述步骤S2-S4,直至所述第一父节点数据的子节点数据遍历完毕,得到所述第一父节点数据的子节点数据的左值及右值、所述第一父节点数据最终的左值及右值。
优选地,利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值还包括:
当存在第二父节点数据时,将所述第一父节点数据最终的右值加1作为所述第二父节点数据的左值,将所述第一父节点数据最终的右值加2作为所述第二父节点数据的右值。
优选地,客户端根据所述各条数据的左值及右值,获取所述数据集合中各条数据之间的数据结构包括:
判断数据的左值及右值是否连续;
若否,则确定该条数据为父节点且处于该条数据的左值及右值范围内的数据均为该条数据的子节点。
本发明实施例提供的基于左右值无限分类实现算法的数据查询方法,具有以下有益效果:
(1)减少与数据库的频繁交互,效率较高
通过左右值无限分类实现算法,可一次性将数据全部取出,不需要频繁查询数据库;
(2)减少服务资源的占用,提高了服务器的利用率
不在进行递归遍历查询,不管是全查还是部分查询,只需传递最大上限和最小下限,即可查出对应数据,并且前端进行子节点展示,也无须在请求服务,降低了服务器负载。
(3)减少代码复杂度
只需输入最小下限值和最大上限值,就可以查出相应的数据,无需其他递归遍历,提升了用户体验。
具体实施方式
以下结合具体实施例对本发明作具体的介绍。
本发明提供的实施例提供的基于左右值无限分类实现算法的数据查询方法,包括以下步骤:
S101,接收携带最小下限值及最大上限值的数据查询请求;
S102,根据数据库中各条数据预置的左值及右值,获取符合要求的数据,得到数据集合;
S103,将该数据集合发送给客户端。
可选地,在根据数据库中各条数据预置的左值及右值,获取符合要求的数据之前,该方法还包括:
利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值。
可选地,在将所述数据集合发送给客户端之后,所述方法还包括:
客户端根据所述各条数据的左值及右值,获取所述数据集合中各条数据之间的数据结构;
客户端根据所述数据结构,展示所述数据集合中的各条数据。
可选地,利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值包括:
S1为第一父节点数据设置第一左值及第一右值,其中,第一右值比第一左值大1;
S2判断所述第一父节点数据是否存在第一子节点数据,若是,则将所述第一右值设置为所述第一子节点数据的左值,将所述第一右值加1设置为所述第一子节点数据的右值;
S3将第一右值加2,得到第二右值并将第一左值、第二右值分别作为所述第一父节点数据当前的左值及右值;
S4继续判断所述第一父节点数据是否存在第二子节点数据,若是,则将所述第二右值设置为所述第二子节点数据的左值,将所述第二右值加1设置为所述第二子节点数据的右值将第二右值加2,得到第三右值并将第一左值、第三右值分别作为所述第一父节点数据当前的左值及右值;
S5重复上述步骤S2-S4,直至所述第一父节点数据的子节点数据遍历完毕,得到所述第一父节点数据的子节点数据的左值及右值、所述第一父节点数据最终的左值及右值。
可选地,利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值还包括:
当存在第二父节点数据时,将所述第一父节点数据当前的最终加1作为所述第二父节点数据的左值,将所述第一父节点数据最终的右值加2作为所述第二父节点数据的右值。
可选地,客户端根据所述各条数据的左值及右值,获取所述数据集合中各条数据之间的数据结构包括:
判断数据的左值及右值是否连续;
若否,则确定该条数据为父节点且处于该条数据的左值及右值范围内的数据均为该条数据的子节点。
作为一个具体的实施例,条数据设置左值及右值如下表所示。
表1
编号 | 节点名称 | 左值 | 右值 |
1 | 父节点 | 1 | 2 |
1.1 | 子节点 | 2 | 3 |
1 | 父节点 | 1 | 4 |
1.2 | 子节点 | 4 | 5 |
1 | 父节点 | 1 | 6 |
2 | 父节点 | 7 | 8 |
由表1可知,当出现子节点1.1时,父节点1的左值及右值分别从1、2变为1、4,当出现子节点1.2时,父节点1的左值及右值分别从1、4变为1、6。其中,父节点1的左值始终为1。子节点1.1及子节点1.1的左值及右值均处于其父节点1的左值及右值范围内。
本发明实施例提供的基于左右值无限分类实现算法的数据查询方法,通过接收携带最小下限值及最大上限值的数据查询请求,根据数据库中各条数据预置的左值及右值,获取符合要求的数据,得到数据集合,将该数据集合发送给客户端,提高了效率,降低了服务器负载,提升了用户体验。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种基于左右值无限分类实现算法的数据查询方法,其特征在于,包括:
接收携带最小下限值及最大上限值的数据查询请求;
根据数据库中各条数据预置的左值及右值,获取符合要求的数据,得到数据集合;
将所述数据集合发送给客户端。
2.根据权利要求1所述的基于左右值无限分类实现算法的数据查询方法,其特征在于,在根据数据库中各条数据预置的左值及右值,获取符合要求的数据之前,所述方法还包括:
利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值。
3.根据权利要求1所述的基于左右值无限分类实现算法的数据查询方法,其特征在于,在将所述数据集合发送给客户端之后,所述方法还包括:
客户端根据所述各条数据的左值及右值,获取所述数据集合中各条数据之间的数据结构;
客户端根据所述数据结构,展示所述数据集合中的各条数据。
4.根据权利要求2所述的基于左右值无限分类实现算法的数据查询方法,其特征在于,利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值包括:
S1为第一父节点数据设置第一左值及第一右值,其中,第一右值比第一左值大1;
S2判断所述第一父节点数据是否存在第一子节点数据,若是,则将所述第一右值设置为所述第一子节点数据的左值,将所述第一右值加1设置为所述第一子节点数据的右值;
S3将第一右值加2,得到第二右值并将第一左值、第二右值分别作为所述第一父节点数据当前的左值及右值;
S4继续判断所述第一父节点数据是否存在第二子节点数据,若是,则将所述第二右值设置为所述第二子节点数据的左值,将所述第二右值加1设置为所述第二子节点数据的右值将第二右值加2,得到第三右值并将第一左值、第三右值分别作为所述第一父节点数据当前的左值及右值;
S5重复上述步骤S2-S4,直至所述第一父节点数据的子节点数据遍历完毕,得到所述第一父节点数据的子节点数据的左值及右值、所述第一父节点数据最终的左值及右值。
5.根据权利要求4所述的基于左右值无限分类实现算法的数据查询方法,其特征在于,利用左右值无限分类实现算法,分别为数据库中的各条数据设置左值及右值还包括:
当存在第二父节点数据时,将所述第一父节点数据最终的右值加1作为所述第二父节点数据的左值,将所述第一父节点数据最终的右值加2作为所述第二父节点数据的右值。
6.根据权利要求3所述的基于左右值无限分类实现算法的数据查询方法,其特征在于,客户端根据所述各条数据的左值及右值,获取所述数据集合中各条数据之间的数据结构包括:
判断数据的左值及右值是否连续;
若否,则确定该条数据为父节点且处于该条数据的左值及右值范围内的数据均为该条数据的子节点。
7.一种计算机程序产品,其特征在于,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行如权利要求1-6所述的方法。
8.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1-6所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011210525.XA CN112256729A (zh) | 2020-11-03 | 2020-11-03 | 一种基于左右值无限分类实现算法的数据查询方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011210525.XA CN112256729A (zh) | 2020-11-03 | 2020-11-03 | 一种基于左右值无限分类实现算法的数据查询方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112256729A true CN112256729A (zh) | 2021-01-22 |
Family
ID=74267666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011210525.XA Pending CN112256729A (zh) | 2020-11-03 | 2020-11-03 | 一种基于左右值无限分类实现算法的数据查询方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112256729A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061302A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Location influenced search results |
CN102819536A (zh) * | 2011-09-27 | 2012-12-12 | 金蝶软件(中国)有限公司 | 树型数据处理方法及装置 |
CN106294545A (zh) * | 2016-07-22 | 2017-01-04 | 中国农业银行股份有限公司 | 一种树形结构数据的访问方法及装置 |
CN110515977A (zh) * | 2019-08-26 | 2019-11-29 | 深圳追一科技有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
CN111078689A (zh) * | 2019-11-20 | 2020-04-28 | 深圳希施玛数据科技有限公司 | 一种非连续型预排序遍历树算法的数据处理方法及系统 |
-
2020
- 2020-11-03 CN CN202011210525.XA patent/CN112256729A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070061302A1 (en) * | 2005-09-14 | 2007-03-15 | Jorey Ramer | Location influenced search results |
CN102819536A (zh) * | 2011-09-27 | 2012-12-12 | 金蝶软件(中国)有限公司 | 树型数据处理方法及装置 |
CN106294545A (zh) * | 2016-07-22 | 2017-01-04 | 中国农业银行股份有限公司 | 一种树形结构数据的访问方法及装置 |
CN110515977A (zh) * | 2019-08-26 | 2019-11-29 | 深圳追一科技有限公司 | 数据查询方法、装置、计算机设备和存储介质 |
CN111078689A (zh) * | 2019-11-20 | 2020-04-28 | 深圳希施玛数据科技有限公司 | 一种非连续型预排序遍历树算法的数据处理方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106528787B (zh) | 一种基于海量数据多维分析的查询方法及装置 | |
CN107168977B (zh) | 一种数据查询的优化方法及装置 | |
CN108268476B (zh) | 数据查询方法及装置 | |
JP6928677B2 (ja) | オンライン分析処理を行うためのデータ処理方法及び装置 | |
US11301470B2 (en) | Control method for performing multi-table join operation and corresponding apparatus | |
CN106529953B (zh) | 一种对业务属性进行风险识别的方法及装置 | |
CN105096174A (zh) | 一种交易匹配方法以及系统 | |
US20180365339A1 (en) | Application classification method and apparatus | |
CN115544329A (zh) | 一种基于布隆过滤器实现数据查询的方法、设备及介质 | |
CN114490641A (zh) | 一种工业互联网数据的共享方法、设备及介质 | |
CN108241620B (zh) | 查询脚本的生成方法及装置 | |
CN106156185B (zh) | 一种业务请求执行状态的查询方法、装置及系统 | |
CN112256729A (zh) | 一种基于左右值无限分类实现算法的数据查询方法 | |
CN111444727A (zh) | 一种业务规则解析方法 | |
CN110989933A (zh) | 一种消息队列RocketMq平滑迁移方法 | |
CN111177093A (zh) | 一种科技资源的共享方法及设备、介质 | |
US9081578B1 (en) | System and method for graph conditioning with non-overlapping orderable values for efficient graph evaluation | |
CN108228604B (zh) | 基于内存对象的模型构建方法、信息查询方法及装置 | |
CN111159192B (zh) | 基于大数据的数据入库方法、装置、存储介质和处理器 | |
CN110086867B (zh) | 一种还车网点推送方法 | |
CN113282616A (zh) | 一种增量的时序数据冲突检测方法、装置和存储介质 | |
CN111291147A (zh) | 一种路径规划方法 | |
CN108073596B (zh) | 一种olap数据库的数据删除方法及装置 | |
CN111061727A (zh) | 表单数据保存方法及系统 | |
CN108062329B (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 |