CN116680450A - 树形数据结构及其分页加载方法 - Google Patents

树形数据结构及其分页加载方法 Download PDF

Info

Publication number
CN116680450A
CN116680450A CN202310664432.1A CN202310664432A CN116680450A CN 116680450 A CN116680450 A CN 116680450A CN 202310664432 A CN202310664432 A CN 202310664432A CN 116680450 A CN116680450 A CN 116680450A
Authority
CN
China
Prior art keywords
node
data
tree
data structure
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.)
Pending
Application number
CN202310664432.1A
Other languages
English (en)
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.)
Zhiyan Gongsoft (Hangzhou) Technology Co.,Ltd.
Zhiyanhui Shanghai Technology Co ltd
Original Assignee
Zhiyanhui Hangzhou Technology Co ltd
Zhiyanhui Shanghai Technology Co ltd
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 Zhiyanhui Hangzhou Technology Co ltd, Zhiyanhui Shanghai Technology Co ltd filed Critical Zhiyanhui Hangzhou Technology Co ltd
Priority to CN202310664432.1A priority Critical patent/CN116680450A/zh
Publication of CN116680450A publication Critical patent/CN116680450A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • 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)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (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

本发明属于数据处理技术领域,具体涉及一种树形数据结构及分页加载方法。其中,树形数据结构,包括若干节点,节点包括节点ID字段、节点名称字段、父节点ID字段,节点还包括:节点级别字段,表示当前节点相对于根节点的层级关系;排序值字段,表示当前节点在树形数据结构中的位置。本发明的树形数据结构,与传统的树形数据结构相比,数据的大小不再受限制。无论是数据量大还是小,只要能够确保平级数据的加载性能,都可以轻松加载任意大小的数据。这使得在处理大规模数据时不会出现性能问题,而且还能够轻松地进行数据的快速检索和处理。

Description

树形数据结构及其分页加载方法
技术领域
本发明属于数据处理技术领域,具体涉及一种树形数据结构及分页加载方法。
背景技术
现有的树形数据结构其节点通常如图1所示,包括节点ID字段、节点名称字段、父节点ID字段等的数据结构。当前端加载数据时,一般会根据数据量的多少,采用如下不同的方式:
1)在数据量较少的情况下,前端发起数据请求;后端程序检索符合条件的数据;前端收到数据,处理数据,把数据转换成如图2所示的树形数据结构模型,以用于数据渲染;前端根据完整的树形数据结构进行渲染。
2)在数据量较多的情况下,前端请求后端加载第一层数据;前端依次判断返回的第一层数据是否有下级数据,有下级数据的话,以该层数据的节点id作为查询数据的父节点,进行检索下层数据;递归执行第2步直到数据全部加载完成。
在大数据量加载模式下,存在以下问题:
首先,在层级较多的情况下,频繁递归调用可能会导致性能问题,尤其是在请求后端数据接口的情况下。这种情况下,需要经过多次网络请求和数据处理才能获取到全部数据,对系统性能和用户体验都会产生不良影响。
其次,当某一层的数据量很大时,一次性返回所有数据会给调用接口产生很大的压力。例如,某一层数据有上万条,需要一次性返回所有数据,这会对后端应用的查询和网络传输都产生很大的压力,导致系统性能下降。
发明内容
本发明针对上述技术问题,目的在于提供一种树形数据结构及分页加载方法。
为了解决上述问题,根据本发明的一个方面,提供了一种树形数据结构,包括若干节点,所述节点包括节点ID字段、节点名称字段、父节点ID字段,所述节点还包括:
节点级别字段,表示当前节点相对于根节点的层级关系;
排序值字段,表示当前节点在所述树形数据结构中的位置。
可选的,所述节点级别字段的数据类型为整数。
可选的,所述节点级别字段是以根节点开始排序,所述树形数据结构中父节点的节点级别字段比其下级节点的节点级别字段小1或大1。
可选的,所述排序值字段的数据类型为整数或字符串。
可选的,所述排序值字段是以根节点开始排序,且当前节点的排序值字段的ASCII码比上一节点的排序值字段的ASCII码大1或小1。
为了解决上述问题,根据本发明的另一个方面,提供了一种基于本发明上述所述树形数据结构的前端分页加载方法,包括:
S11,向后端发起分页数据请求,所述分页数据请求中包含有树参和分页参数;
S12,接收后端返回的反馈数据及符合所述树参对应的树形数据结构的总记录数;
S13,以排序值字段进行排序,对所述反馈数据内的每条数据对应一个树形节点的UI节点对象,进行页面渲染;
S14,根据所述总记录数及当前分页参数判断是否还有未加载完成的数据,若有,则修改当前分页参数,返回步骤S11。
可选的,步骤S13中,在进行页面渲染时:
根据节点级别字段对所述UI节点对象进行渲染。
可选的,步骤S13之后,还包括:
根据所述反馈数据构建前端的树形数据模型,进行缓存。
可选的,还包括S15,对树形数据结构的折叠:
S151,响应鼠标数据,获取所述鼠标数据对应的当前页面元素所在的节点的节点级别字段;
S152,从当前页面元素所在的节点向下查找节点级别字段小于等于步骤S151获取的节点级别字段的第一个节点;
S153,隐藏从当前页面元素所在的节点至所述第一个节点之间的其他节点。
可选的,还包括S16,对树形数据结构的展开:
S161,响应鼠标数据,获取所述鼠标数据对应的当前页面元素所在的节点的节点级别字段;
S162,从当前页面元素所在的节点向下查找节点级别字段小于等于步骤S161获取的节点级别字段的第一个节点;
S163,显示从当前页面元素所在的节点至所述第一个节点之间的其他节点。
为了解决上述问题,根据本发明的另一个方面,提供了一种基于本发明上述所述树形数据结构的后端分页加载方法,包括:
S21,接收前端的分页数据请求,所述分页数据请求中包含有树参和分页参数,根据所述分页数据请求进行数据检索;
S22,将所述树参对应的树形数据结构以排序值字段进行排序,根据所述树形数据结构中最小的排序值字段及最大的排序值字段,得到所述树形数据结构的总记录数,将所述分页参数对应的若干条数据作为反馈数据;
S23,将所述反馈数据及所述总记录数反馈给前端。
有益效果:本发明具有如下至少一项或多项优点:
1、本发明的树形数据结构,与传统的树形数据结构相比,数据的大小不再受限制。无论是数据量大还是小,只要能够确保平级数据的加载性能,都可以轻松加载任意大小的数据。这使得在处理大规模数据时不会出现性能问题,而且还能够轻松地进行数据的快速检索和处理。
2、本发明支持任意加载渲染树中的任意一段内容,因此用户可以根据自己的需求灵活选择要加载和渲染的数据部分。这项功能可以大大提高用户的工作效率和数据处理速度,同时还能够降低系统的资源占用率,提高整个系统的稳定性和可靠性。本发明为处理大规模数据和优化数据处理提供了强有力的支持。
附图说明
图1为现有技术中树形数据结构的一种节点示意图;
图2为图1的树形数据结构对应的数据结构模型;
图3为本发明树形数据结构的一种节点示意图;
图4为图3的树形数据结构对应的数据结构模型;
图5为本发明的一种实施例树形数据结构。
实施方式
以下将结合附图对本发明的较佳实施例进行详细说明,以便更清楚理解本发明的目的、特点和优点。应理解的是,附图所示的实施例并不是对本发明范围的限制,而只是为了说明本发明技术方案的实质精神。
在下文的描述中,出于说明各种公开的实施例的目的阐述了某些具体细节以提供对各种公开实施例的透彻理解。但是,相关领域技术人员将认识到可在无这些具体细节中的一个或多个细节的情况下来实践实施例。在其它情形下,与本申请相关联的熟知的装置、结构和技术可能并未详细地示出或描述从而避免不必要地混淆实施例的描述。
在整个说明书中对“一个实施例”或“一实施例”的提及表示结合实施例所描述的特定特点、结构或特征包括于至少一个实施例中。因此,在整个说明书的各个位置“在一个实施例中”或“在一实施例”中的出现无需全都指相同实施例。另外,特定特点、结构或特征可在一个或多个实施例中以任何方式组合。
在以下描述中,为了清楚展示本发明的结构及工作方式,将借助诸多方向性词语进行描述,但是应当将“前”、“后”、“左”、“右”、“外”、“内”、“向外”、“向内”、“上”、“下”等词语理解为方便用语,而不应当理解为限定性词语。
树形数据结构是一类重要的非线性数据结构,树形数据结构可以表示数据表素之间一对多的关系,直观看来,树是以分支关系定义的层次结构。在计算机科学中,树是用来模拟具有树状结构性质的数据集合。它是由n(n>0)个有限节点组成一个具有层次关系的集合。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。
本发明的实施例一种树形数据结构,具有若干节点,包括根节点和其他节点。参照图1,节点包括现有技术中含有的节点ID字段(ID)、节点名称字段(name)、父节点ID字段(pid)。
其中,节点ID字段和父节点ID字段通常采用长整数数据类型,节点名称字段通常采用字符串数据类型。当然也有可能采用其他数据类型。
本发明的树形数据结构除了包括上述各字段外,为了解决树形数据结构在大数据量下加载问题,对树形数据结构进行了如图3所示的调整,增加了两条字段的定义,即:节点级别字段(level)和排序值字段(rank)。节点级别字段表示当前节点相对于根节点的层级关系。排序值字段表示当前节点在树形数据结构中的位置,该位置跟层级结构无关,是当前节点在整颗树上的绝对位置。
在一实施例中,节点级别字段的数据类型为整数。
在一实施例中,节点级别字段是以根节点开始排序,树形数据结构中父节点的节点级别字段比其下级节点的节点级别字段小1或大1。
根据习惯,通常采用父节点的节点级别字段比其下级节点的节点级别字段小1的方式,但是父节点的节点级别字段比其下级节点的节点级别字段大1的方式也是可以的。只要是按预设规律进行层级排序即可。
例如,根节点的节点级别字段为0,根节点的下级节点的节点级别字段为1,依此类推。
在一实施例中,排序值字段的数据类型为整数或字符串。排序值字段的数据类型要能实现对两个排序值字段内的排序值进行ASCII码大小的比较即可。例如可以为0,1,2……的整数,也可以为AAAAA,AAAAB,AAAAC……的字符串。
在一实施例中,为了便于确定树形数据结构的字节数量,排序值字段是从根节点开始从小到大或从大到小进行排序,且当前节点的排序值字段的ASCII码比上一节点(在树形数据结构中绝对位置的上一节点)的排序值字段的ASCII码大1或小1。
因此,相邻位置的两个节点的排序值字段的ASCII码相减的绝对值为1,则,若根节点的排序值字段是从例如0开始从小到大排序,则可直接以最大的排序值作为节点数量。若根节点的排序值字段不是从0开始排序,则可根据排序规则计算节点数量。例如,最后一个节点的排序值字段的ASCII码减去根节点的排序值字段的ASCII码,再加1并取绝对值,即为整个树形数据结构的节点数量。
本发明的实施例提供一种基于上述各实施例树形数据结构的前端分页加载方法,前端分页加载方法是前端进行的操作,包括如下步骤:
S11,向后端发起分页数据请求,分页数据请求中包含有树参和分页参数。
本步骤中的树参代表需要加载哪颗树,即告知后端数名,以便于后端通过树参查询到对应的树形数据结构。分页参数代表当前页需要加载多少条数据,一条数据对应一个UI节点对象,一条数据是指一个节点对应的若干节点字段。初始分页参数可根据树参对应的树形数据结构所在的根节点的排序值字段确定。
S12,接收后端返回的反馈数据及符合树参对应的树形数据结构的总记录数。
本步骤中的反馈数据是分页参数对应的若干条数据,而不是树形数据结构整个的数据集。总记录数是指树形数据结构的节点数量。
S13,以排序值字段进行排序,对反馈数据内的每条数据对应一个树形节点的UI节点对象,进行页面渲染。
在接收到反馈数据后,首先对每条数据以排序值进行ASCII从小到大或从大到小的规则进行排序,按排序后的数据进行逐条数据的页面渲染。排序的规则可以根据树形数据结构中排序值字段的排序规则对应一致。例如树形数据结构中的排序值字段是以根节点开始排序,当前节点的排序值字段的ASCII码比上一节点的排序值字段的ASCII码大1,则以排序后的排序值字段从小到大进行逐条数据的页面渲染。
在一实施例中,在进行页面渲染时根据节点级别字段对UI节点对象进行渲染。
在一实施例中,根据节点级别字段的level值渲染UI节点对象的缩进。
例如,level=0不进行缩进,level=1缩进2个空格,level=2缩进4个空格,依次类推,使前端页面呈现的数据展示成树形结构,并且对当前页面元素(DOM元素)添加level树形。
在一实施例中,步骤S13之后,还包括:
根据反馈数据构建前端的树形数据模型,进行缓存。
本实施例中,如图4所示,可根据节点的父节点ID字段的pid值,建立当前节点与上级节点的关系,构建树形数据模型,作为前端数据的缓存。这种树形数据模型也用于适应特定的前端框架,如vue,react等。
S14,根据总记录数及当前分页参数判断是否还有未加载完成的数据,若有,则修改当前分页参数,返回步骤S11。
由于分页参数通常只包含若干条数据,而整个树形数据结构的数据集内通常包含大于或等于分页参数对应的数据,因此,需要进行判断,当前分页参数对应的数据是否已经到达树形数据结构的最末数据了,即树形数据结构对应的数据是否全部已经加载完毕。
本步骤的判断,可以直接将当前分页参数与总记录数进行比较,当前分页参数内的数据是否大于等于总记录数,若大于或等于,则认为已加载完毕,若没有,则可根据预设的分页加载阈值修改当前分页参数,继续进行数据加载。此处的分页加载阈值可以根据前端页面的情况预先设置每次加载的数据条数,在当前分页参数上增加分页加载阈值,即为下一循环的当前分页参数。
例如,在使用mysql作为后端存储场景下,可以采用limit语法,该语法是limit(offset,size);offset表示当前数据相对于整个数据集的偏移量;size表示每次在数据集中提取数据的大小,也是指分页加载阈值或每页条数。
当size即分页加载阈值为3时,则初始分页参数需表示加载第0条至第2条的数据,可表示为limit0,3;而树形数据结构的节点数量为10,因此需要修改初始分页参数进行下一循环,此时可将初始分页参数修改为加载第3条至第5条数据,即offset =offset+size=0+3=3,可表示为limit3,3,以此类推。
在一实施例中,在修改当前分页参数时,会存在请求的数据超出总记录数的情况,此时针对超出部分,后端会返回空数据,可通过前端进行判断。判断方法为:
在每次向后端发起请求之前,前端还判断当前offset是否小于total(总记录数),若offset<total,则认为还有数据,向后端发起分页数据请求。
接收后端返回的反馈数据时,若反馈数据的数据条数m小于size,则判断offse+m是否小于total,若不是,则认为数据已经加载完成。若是,则认为还有数据,再次向后端发起分页数据请求。
在一实施例中,在反馈数据的数据条数m小于size且offse+m小于total情况下,若在预设请求次数内依然未收到对应的全部反馈数据,则可进行异常报警处理。
在一实施例中,在前端进行了页面渲染及显示后,前端还进行S15,对树形数据结构的折叠过程,以实现对前端页面展示的树形结构的折叠:
S151,响应鼠标数据,获取鼠标数据对应的当前页面元素的所在的节点的节点级别字段;
S152,从当前页面元素所在的节点向下查找节点级别字段小于等于步骤S151获取的节点级别字段的第一个节点;
S153,隐藏从当前页面元素所在的节点至第一个节点之间的其他节点。
在一实施例中,对前端页面展示的树形结构的折叠具体过程为:
1、用户点击鼠标,前端响应对应的鼠标数据,获取当前DOM元素的level值,比如获取到的level值为2。
2、从当前DOM元素对应的节点1开始往下查找level值小于等于2的第一个节点,标记为节点2。
3、隐藏从节点1到节点2之间的其他节点。
在一实施例中,在前端进行了页面渲染及显示后,前端还进行S16,对树形数据结构的展开,以实现对前端页面展示的树形结构的展开:
S161,响应鼠标数据,获取鼠标数据对应的当前页面元素所在的节点的节点级别字段;
S162,从当前页面元素所在的节点向下查找节点级别字段小于等于步骤S161获取的节点级别字段的第一个节点;
S163,显示从当前页面元素所在的节点至第一个节点之间的其他节点。
在一实施例中,对前端页面展示的树形结构的展开具体过程为:
1、用户点击鼠标,前端响应对应的鼠标数据,获取当前DOM元素的level值,比如获取到的level值为2。
2、从当前DOM元素对应的节点3开始往下查找level值小于等于2的第一个节点,标记为节点4。
3、显示从节点3到节点4之间的其他节点。
本发明的实施例提供一种基于上述各实施例树形数据结构的后端分页加载方法,后端分页加载方法是后端进行的操作,包括如下步骤:
S21,接收前端的分页数据请求,分页数据请求中包含有树参和分页参数,根据分页数据请求进行数据检索。
在进行数据检索时,可采用分页SQL进行数据查询,例如树参为“tree_node”,分页参数为limit 0,5,则认为查询第0条到第5条数据,则检索式为:SQL(select * from tree_node where [条件] limit 0,5)。
S22,将树参对应的树形数据结构以排序值字段进行排序,根据树形数据结构中最小的排序值字段及最大的排序值字段,得到树形数据结构的总记录数,将分页参数对应的若干条数据作为反馈数据。
在排序时与步骤S13相似的,可根据树形数据结构中排序值字段的排序规则对应一致。例如树形数据结构中的排序值字段是以根节点开始排序,当前节点的排序值字段的ASCII码比上一节点的排序值字段的ASCII码大1,则将树参对应的树形数据结构以排序值字段从小到大进行排序,最大的排序值字段减去最小的排序值字段再加1,得到总记录数。
S23,将反馈数据及总记录数反馈给前端。
实施例
以图5为例的树形数据结构,假设以阿拉伯数字作为排序值字段的排序值算法。首先确定根节点(Root)的rank值和level值,假定:
“Root”节点的rank值为0、level值为0;则:
“A”节点的rank值为1,level值为1;
“B”节点的rank值为2,level值为1;
“BA”节点的rank值为3,level值为2;
“BB”节点的rank值为4,level值为2;
“C”节点的rank值为5,level值为1。
汇总成如下表所示:
节点名称字段的name 排序值字段的rank 节点级别字段的level 父节点ID字段的pid
Root 0 0
A 1 1 Root
B 2 1 Root
BA 3 2 B
BB 4 2 B
C 5 1 Root
基于该树形数据结构的分页加载方法,如下步骤:
1、前端向后端发起分页数据请求,分页数据请求中包含有树参和分页参数,其中树参为“tree_node”,初始分页参数为limit 0,4。
2、后端接收前端的分页数据请求,根据分页数据请求,创建检索式进行数据检索;后端检索到对应的树形数据结构,以排序值字典进行从小到大排序,将最大的排序值字段减去最小的排序值字段得到总记录数为6,后端将检索得到的第0条到第3条数据作为反馈数据;后端将反馈数据连同总记录数一起返回给前端。
4、前端接收后端返回的反馈数据和总记录数;前端对反馈数据内的每条数据以排序值字段从小到大进行排序后,进行逐条数据的页面渲染,渲染时,一条数据对应一个UI节点对象,且采用节点级别字段的level值渲染UI节点对象的缩进,形成前端页面树形结构;根据初始分页参数的特征,前端判断 “0+4”是否小于总记录数“6”,小于则认为还有未加载完成的数据,则将分页参数修改为“limit 4,4”后,继续返回第1步。
在下一个循环时,步骤4中,由于总记录数是6,因此,前端接收到后端返回的反馈数据只有2条,第6至7条数据是空数据。因此,前端还判断4+2是否小于6,由于 4+2=6,所以表示数据已经记载完成。
以上已详细描述了本发明的较佳实施例,但应理解到,在阅读了本发明的上述讲授内容之后,本领域技术人员可以对本发明作各种改动或修改。这些等价形式同样落于本申请所附权利要求书所限定的范围。

Claims (10)

1.一种树形数据结构,包括若干节点,所述节点包括节点ID字段、节点名称字段、父节点ID字段,其特征在于,所述节点还包括:
节点级别字段,表示当前节点相对于根节点的层级关系;
排序值字段,表示当前节点在所述树形数据结构中的位置。
2.如权利要求1所述的树形数据结构,其特征在于,所述节点级别字段的数据类型为整数。
3.如权利要求2所述的树形数据结构,其特征在于,所述节点级别字段是以根节点开始排序,所述树形数据结构中父节点的节点级别字段比其下级节点的节点级别字段小1或大1。
4.如权利要求1所述的树形数据结构,其特征在于,所述排序值字段的数据类型为整数或字符串。
5.如权利要求4所述的树形数据结构,其特征在于,所述排序值字段是以根节点开始排序,且当前节点的排序值字段的ASCII码比上一节点的排序值字段的ASCII码大1或小1。
6.一种基于权利要求1至5中任意一项所述树形数据结构的前端分页加载方法,包括:
S11,向后端发起分页数据请求,所述分页数据请求中包含有树参和分页参数;
S12,接收后端返回的反馈数据及符合所述树参对应的树形数据结构的总记录数;
S13,以排序值字段进行排序,对所述反馈数据内的每条数据对应一个树形节点的UI节点对象,进行页面渲染;
S14,根据所述总记录数及当前分页参数判断是否还有未加载完成的数据,若有,则修改当前分页参数,返回步骤S11。
7.如权利要求6所述的前端分页加载方法,其特征在于,步骤S13中,在进行页面渲染时:
根据节点级别字段对所述UI节点对象进行渲染。
8.如权利要求6所述的前端分页加载方法,其特征在于,步骤S13之后,还包括:
根据所述反馈数据构建前端的树形数据模型,进行缓存。
9.如权利要求6所述的前端分页加载方法,其特征在于,还包括S15,对树形数据结构的折叠:
S151,响应鼠标数据,获取所述鼠标数据对应的当前页面元素所在的节点的节点级别字段;
S152,从当前页面元素所在的节点向下查找节点级别字段小于等于步骤S151获取的节点级别字段的第一个节点;
S153,隐藏从当前页面元素所在的节点至所述第一个节点之间的其他节点;或,
还包括S16,对树形数据结构的展开:
S161,响应鼠标数据,获取所述鼠标数据对应的当前页面元素所在的节点的节点级别字段;
S162,从当前页面元素所在的节点向下查找节点级别字段小于等于步骤S161获取的节点级别字段的第一个节点;
S163,显示从当前页面元素所在的节点至所述第一个节点之间的其他节点。
10.一种基于权利要求1至5中任意一项所述树形数据结构的后端分页加载方法,包括:
S21,接收前端的分页数据请求,所述分页数据请求中包含有树参和分页参数,根据所述分页数据请求进行数据检索;
S22,将所述树参对应的树形数据结构以排序值字段进行排序,根据所述树形数据结构中最小的排序值字段及最大的排序值字段,得到所述树形数据结构的总记录数,将所述分页参数对应的若干条数据作为反馈数据;
S23,将所述反馈数据及所述总记录数反馈给前端。
CN202310664432.1A 2023-06-06 2023-06-06 树形数据结构及其分页加载方法 Pending CN116680450A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310664432.1A CN116680450A (zh) 2023-06-06 2023-06-06 树形数据结构及其分页加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310664432.1A CN116680450A (zh) 2023-06-06 2023-06-06 树形数据结构及其分页加载方法

Publications (1)

Publication Number Publication Date
CN116680450A true CN116680450A (zh) 2023-09-01

Family

ID=87783242

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310664432.1A Pending CN116680450A (zh) 2023-06-06 2023-06-06 树形数据结构及其分页加载方法

Country Status (1)

Country Link
CN (1) CN116680450A (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699648A (zh) * 2013-12-26 2014-04-02 成都市卓睿科技有限公司 用于快速检索的树形数据结构及其实现方法
CN103853773A (zh) * 2012-12-04 2014-06-11 厦门亿联网络技术股份有限公司 一种Mysql数据库下树形数据结构的检索方法
CN106657174A (zh) * 2015-10-28 2017-05-10 阿里巴巴集团控股有限公司 一种数据同步方法、更新方法及装置
CN109388632A (zh) * 2018-10-11 2019-02-26 山东浪潮通软信息科技有限公司 一种分页加载分级数据的实现方法
CN115017158A (zh) * 2022-05-31 2022-09-06 武汉联影医疗科技有限公司 节点信息查询方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103853773A (zh) * 2012-12-04 2014-06-11 厦门亿联网络技术股份有限公司 一种Mysql数据库下树形数据结构的检索方法
CN103699648A (zh) * 2013-12-26 2014-04-02 成都市卓睿科技有限公司 用于快速检索的树形数据结构及其实现方法
CN106657174A (zh) * 2015-10-28 2017-05-10 阿里巴巴集团控股有限公司 一种数据同步方法、更新方法及装置
CN109388632A (zh) * 2018-10-11 2019-02-26 山东浪潮通软信息科技有限公司 一种分页加载分级数据的实现方法
CN115017158A (zh) * 2022-05-31 2022-09-06 武汉联影医疗科技有限公司 节点信息查询方法

Similar Documents

Publication Publication Date Title
US7725498B2 (en) Techniques for identifying mergeable data
JP5373846B2 (ja) リレーショナルシステムにおける階層的に編成された情報にアクセスするための階層的インデックス付け
US8078652B2 (en) Virtual columns
US20080215579A1 (en) Including annotation data with disparate relational data
CA2667774C (en) Apparatus and method for categorical filtering of data
CN106991141B (zh) 一种基于深度剪枝策略的关联规则挖掘方法
US20140344218A1 (en) Paging hierarchical data
US8046352B2 (en) Expression replacement in virtual columns
CN111581215B (zh) 数组树数据储存方法、快速查找方法及可读储存介质
WO2006113644A2 (en) System and method for efficiently tracking and dating content in very large dynamic document spaces
CN110442584B (zh) 一种基于异步加载的树形结构资源检索的方法
EP0827091B1 (en) A method for presenting information on display devices of varying sizes
CN111562920A (zh) 小程序代码相似度确定方法、装置、服务器及存储介质
JP3235660B2 (ja) 情報検索装置及びその方法ならびに情報検索プログラムを格納した記憶媒体
CN110060740A (zh) 一种非冗余基因集聚类方法、系统及电子设备
CN111831684B (zh) 数据的查询方法、装置和计算机可读存储介质
WO2019048879A1 (en) SYSTEM FOR DETECTING DATA RELATIONS FROM SAMPLE DATA
CN110928900B (zh) 多表数据的查询方法、装置、终端以及计算机存储介质
CN116680450A (zh) 树形数据结构及其分页加载方法
EP1555609A1 (en) Data processing method and data processing program
US8341153B2 (en) Apparatus and method for heap sorting with collapsed values and selective value expansion
CN113536058A (zh) 一种空间索引修改方法、装置、设备及存储介质
CN109614542B (zh) 公众号推荐方法、装置、计算机设备及存储介质
CN113626446B (zh) 数据存储和查找方法、装置、电子设备及介质
CN109241098A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231207

Address after: Area a, 1 / F, building 104, No. 1-30, Lane 88, Minbei Road, Minhang District, Shanghai, 201107

Applicant after: Zhiyanhui (Shanghai) Technology Co.,Ltd.

Applicant after: Zhiyan Gongsoft (Hangzhou) Technology Co.,Ltd.

Address before: Area a, 1 / F, building 104, No. 1-30, Lane 88, Minbei Road, Minhang District, Shanghai, 201107

Applicant before: Zhiyanhui (Shanghai) Technology Co.,Ltd.

Applicant before: Zhiyanhui (Hangzhou) Technology Co.,Ltd.