CN103020273B - 树形结构数据的展示及相关索引表生成的方法与装置 - Google Patents
树形结构数据的展示及相关索引表生成的方法与装置 Download PDFInfo
- Publication number
- CN103020273B CN103020273B CN201210578288.1A CN201210578288A CN103020273B CN 103020273 B CN103020273 B CN 103020273B CN 201210578288 A CN201210578288 A CN 201210578288A CN 103020273 B CN103020273 B CN 103020273B
- Authority
- CN
- China
- Prior art keywords
- node
- root node
- user
- seen
- visible
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
为解决现有技术中,多用户权限下图形化展示树形结构数据中根节点的技术难题,本发明提供了一种具有权限控制,快速展示树状数据结构根节点的实现方法,及其配套的索引表的生成方法,以及上述方法所配套的装置。包括以下步骤:接受用户展示根节点的请求;加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;根据用户的可见域,在索引表中检索该用户可见节点所对应的根节点编号;根据检索结果,显示该用户可见节点所对应的根节点。本发明减少了检索、排序、排重的工作量,有效减少了加载和等待的时间,实现了不同可见域的用户快速检索、显示其相关的根节点。
Description
技术领域
本发明涉及计算机数据结构领域,尤其涉及树形结构数据的图形化展示。
背景技术
树形结构是数据结构的一种。数据结构是指同一数据元素类中各数据元素之间存在的关系。广义的数据结构分为逻辑结构、存储结构(物理结构)和数据的运算。数据的逻辑结构是对数据之间关系的描述,本说明书中所称数据结构即数据的逻辑结构。
数据结构有四类基本结构:集合、线性结构、树形结构、图状结构(网状结构)。树形结构和图形结构全称为非线性结构。集合结构中的数据元素除了同属于一种类型外,别无其它关系。线性结构中元素之间存在一对一关系,树形结构中元素之间存在一对多关系,图形结构中元素之间存在多对多关系。在图形结构中每个结点的前驱结点数和后续结点数可以任意多个。
由于树形结构层次关系清楚,便于管理,因此在计算机、网络领域广泛应用,例如很多OA(Office Automation即办公自动化)软件中对任务数据的存储方式就是以树形数据结构进行存储,并以树形显示界面展示的,因为在树形显示界面中,各任务之间的逻辑关系一目了然,而且便于添加、删除等管理维护。
此外树形数据结构的展示方法不一定通过树形显示界面,采用类似文件夹方式也可以进行展示,例如windows系统中的文件共享,各个被共享的文件夹之间的数据关系也是根目录—子目录(称之为母文件夹—子文件夹)的树形数据结构。
如果对于共享的数据库,不同的帐号查看时,其享有的查看权限也是不相同的。
对于获取有权限控制的树状结构根节点并展示,首先需要根据权限的不同来获取数据,并根据已获取的数据层次关系,遍历数据路径,对相同的数据路径的根节点进行排重,最后找到唯一的根节点,将其罗列显示。例如图1所示在win7系统中访问有权限控制的树或文件夹。使用现有技术的方式,检索的数据量大,占用资源,展示不佳。为了展示图1中所示的5个根文件:根文件夹1-5,需要在数据中检索全部的共享文件夹,并逐个记录文件夹的路径,再逐个取根路径文件夹的信息,对根路径文件夹信息进行排重,最后显示上述5个根文件夹。一旦检索的数据量非常大,不仅占用大量资源,而且无法快速展示,检索效率低下,增加重复工作量。根据权限的每次展示,都需要对海量的数据进行重新检索、记录、排重等操作,检索效率低下,同时增加了重复工作量。
发明内容
为解决现有技术中,多用户权限下图形化展示树形结构数据中根节点的技术难题,本发明提供了一种具有权限控制,快速展示树状数据结构根节点的实现方法,及其配套的索引表的生成方法,以及上述方法所配套的装置。
为实现本发明的目的,本发明提供了一种树形结构数据的展示方法,包括以下步骤:
接受用户展示根节点的请求;
加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;这里的根节点系指最高级别的根节点,也就是根节点是不存在父节点的最高级的节点。
根据用户的可见域,在索引表中检索该用户可见节点所对应的根节点编号;
根据检索结果,显示该用户可见节点所对应的根节点。
优选地,上述方法,包括以下步骤:
接受用户展示根节点的请求;
加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;
根据用户的可见域,在索引表中检索该用户可见节点编号及该用户可见节点所对应的根节点编号;
对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对,根据比对结果将该用户可见节点所对应的根节点区分为可见根节点与虚拟根节点,所述可见根节点为:该用户对该根节点及其全部子节点具有可见权限的根节点,所述虚拟根节点为:除可见根节点外,其余的该用户可见节点所对应的根节点;
对可见根节点与虚拟根节点用不同的方式进行显示。
优选地,对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对的方式具体为:逐一将该用户可见节点所对应的根节点编号与全部该用户可见节点编号进行比对,如果这一根节点编号在全部该用户可见节点编号构成的集合中,则该根节点为可见根节点,相反,则该根节点为虚拟根节点。
优选地,所述对可见根节点与虚拟根节点用不同的方式进行显示具体为:用不同的颜色、灰度或图标对可见根节点与虚拟根节点进行显示。
相对应地,本发明还提供了一种树形结构数据的展示装置,包括以下模块:
响应模块,用于接受用户展示根节点的请求;
加载模块,用于加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;
检索模块,用于根据用户的可见域,在索引表中检索该用户可见节点所对应的根节点编号;
显示模块,用于根据检索结果,显示该用户可见节点所对应的根节点。
其中,所述的树形结构数据的展示装置,包括以下模块:
响应模块,用于接受用户展示根节点的请求;
加载模块,用于加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;
检索模块,用于根据用户的可见域,在索引表中检索该用户可见节点编号及该用户可见节点所对应的根节点编号;
比对模块,用于对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对,根据比对结果将该用户可见节点所对应的根节点区分为可见根节点与虚拟根节点,所述可见根节点为:该用户对该根节点及其全部子节点具有可见权限的根节点,所述虚拟根节点为:除可见根节点外,其余该用户可见节点所对应的根节点;
显示模块,用于对可见根节点与虚拟根节点用不同的方式进行显示。
其中,在比对模块中对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对的方式具体为:逐一将该用户可见节点所对应的根节点编号与全部该用户可见节点编号进行比对,如果这一根节点编号在全部该用户可见节点编号构成的集合中,则该根节点为可见根节点,相反,则该根节点为虚拟根节点。
其中,在显示模块中所述对可见根节点与虚拟根节点用不同的方式进行显示具体为:用不同的颜色、灰度或图标对可见根节点与虚拟根节点进行显示。
本发明还提供了一种树形结构数据展示用索引表的生成方法,包括以下步骤:
根据树形结构数据生成索引表,所述树形结构数据包括节点数据、路径与可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号。
对应地,本发明提供了一种树形结构数据展示用索引表的生成装置,包括以下模块:
生成模块,用于根据树形结构数据生成索引表,所述树形结构数据包括节点数据、路径与可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号。
区别于现有技术,本发明通过记录有树形结构数据的用户可见域、节点编号与每个节点所对应的根节点编号的索引表,减少了检索、排序、排重的工作量,有效减少了加载和等待的时间,实现了不同可见域的用户快速检索、显示其相关的根节点。
同时本发明提供的树形结构数据展示用索引表的生成方法与装置,可以为上述方法提供快速展示根目录的索引表。
附图说明
图1为背景技术所述现有技术展示根文件夹的界面示意图;
图2为具体实施方式所述实施例项目分解的树状结构示意图;
图3为具体实施方式所述实施例用户所见根节点数据视图;
图4为具体实施方式所述方法流程示意图一;
图5为具体实施方式所述方法流程示意图二。
具体实施方式
为详细说明本发明的技术内容、构造特征、所实现目的及效果,以下结合实施方式并配合附图详予说明。
实施例提供了树形结构数据的展示方法,在一个实施例中,涉及一个信息化建设的项目,项目分解如图2所示,其数据格式如表1所示。
表1:
编号 | 名称 | 上级编号 | 路径 | 可见域 |
01 | 协同办公系统建设 | /01 | USER-A | |
02 | 需求调研工作 | 01 | /01/02 | USER-A,USER-B |
03 | 系统开发工作 | 01 | /01/03 | USER-A,USER-C |
04 | 系统培训工作 | 01 | /01/04 | USER-A,USER-B,USER-C |
05 | 领导培训工作 | 04 | /01/04/05 | USER-A,USER-B,USER-C |
06 | 全员培训工作 | 04 | /01/04/06 | USER-A,USER-B,USER-C |
07 | 企业门户网站建设 | /07 | USER-B | |
08 | 网站建设方案规划 | 07 | /07/08 | USER-B,USER-A |
09 | 功能栏目界面规划 | 07 | /07/09 | USER-B,USER-C |
10 | 电子邮件系统建设 | /10 | USER-C | |
11 | 邮件域名信息申报 | 10 | /10/11 | USER-C,USER-A |
12 | 邮箱搭建实施工作 | 10 | /10/12 | USER-C,USER-B |
本实施例的步骤如下:
S401:构建树结构,在树结构数据中添加节点路径数据记录用户能看到的所有节点数据及路径。
S402:生成索引表,存放可见域、可见节点编号、根节点编号,为可见域和节点编号及可见域和根节点编号分别添加联合索引。
生成的索引表可以供快速查阅用户权限所涉及的根节点提供便利条件。
在某些实施例中,对于由服务器与终端构成的网络系统,可以由服务器生成索引表,以充分利用服务器的资源,同时便于各终端获取索引表。
如果数据库内容更新,那么可以根据更新后的数据库内容重新生成索引表。
对应于实施例中表1的内容,其索引表内容如表2所示。
表2:
可见域 | 节点编号 | 根节点编号 |
USER-A | 01 | 01 |
USER-A | 02 | 01 |
USER-B | 02 | 01 |
USER-A | 03 | 01 |
USER-C | 03 | 01 |
USER-A | 04 | 01 |
USER-B | 04 | 01 |
USER-C | 04 | 01 |
USER-A | 05 | 01 |
USER-B | 05 | 01 |
USER-C | 05 | 01 |
USER-A | 06 | 01 |
USER-B | 06 | 01 |
USER-C | 06 | 01 |
USER-B | 07 | 07 |
USER-B | 08 | 07 |
USER-A | 08 | 07 |
USER-B | 09 | 07 |
USER-C | 09 | 07 |
USER-C | 10 | 10 |
USER-C | 11 | 10 |
USER-A | 11 | 10 |
USER-C | 12 | 10 |
USER-B | 12 | 10 |
S403:接受用户USER-A展示根节点的请求;
S404:加载索引表并查找该用户可见域,在由服务器与终端构成的网络系统实施例中,终端从服务器下载索引表于本地存储器中。
在上述步骤之后,根据可见域搜索根节点编号,并排重,具体进行步骤S405a与S405b。
S405a:根据可见域搜索根节点编号,例如根据可见域USER-A搜索到根节点编号:
协同办公系统建设 01
企业门户网站建设 07
电子邮件系统建设 10
以及S405b:根据可见域搜索节点编号。例如根据可见域USER-A搜索到其可见节点编号:
01,
02,
03,
04,
05,
06,
08,
11,
上述步骤S405a、S405b并无次序先后要求。
S406:根据S405a、S405b的搜索结果,判断出USER-A的可见根节点和虚拟根节点,并进行步骤S407a、S407b:分别获取可见根节点与虚拟根节点。
S406中:用户USER-A可见节点编号及该用户可见节点所对应的根节点编号进行比对,根据比对结果将该用户可见节点所对应的根节点区分为可见根节点与虚拟根节点,所述可见根节点为:该用户对该根节点及其全部子节点具有可见权限的根节点,所述虚拟根节点为:除可见根节点外,其余该用户可见节点所对应的根节点;
某些实施例中,对用户可见节点编号及用户可见节点所对应的根节点编号进行比对的方式具体为:逐一将该用户可见节点所对应的根节点编号与全部该用户可见节点编号进行比对,如果这一根节点编号在全部该用户可见节点编号构成的集合中,则该根节点为可见根节点,相反,则该根节点为虚拟根节点。
在另外一些实施例中,也可以采用逐一将该用户可见节点编号与根节点编号进行比对的方式,判断用户可见节点是否属于根节点,进而筛选出可见根节点。
在表2对应的实施例中:
比对后得到,根节点系统办公系统建设的编号01,位于USER-A可见节点编号构成的集合{01,02,03,04,05,06,08,11}中,因此,协同办公系统建设01为可见根节点。
分析可知,用户USER-A对该根节点协同办公系统建设01及其全部子节点(包括一级子节点及一级子节点之下的其他子节点):
需求调研工作 02
系统开发工作 03
系统培训工作 04
领导培训工作 05
全员培训工作 06
具有可见权限;
同时,比对后发现根节点企业门户网站建设编号07及根节点电子邮件系统建设编号10不位于USER-A可见节点编号构成的集合{01,02,03,04,05,06,08,11}中,因此:
企业门户网站建设 07 为虚拟根节点
电子邮件系统建设 10 为虚拟根节点
分析可知,用户USER-A对企业门户网站建设 07下的子节点:功能栏目界面规划 09;
电子邮件系统建设 10的子节点:邮箱搭建实施工作 11;
为不可见节点
S408:对可见根节点与虚拟根节点用不同的方式进行显示。
得到完整根节点数据视图,在图形界面上展示如图3所示。其中仅线条勾勒的图标表示可见根节点,填充有阴影的图标表示为虚拟根节点。在其他实施例中,还可以用不同的颜色、灰度或图标对可见根节点与虚拟根节点进行显示。便于直观显示不同权限的根节点。
实施例中索引表记录可见域及根节点编号,实现了用户可见根节点的快速检索。
索引表记录可见域及节点编号,不仅实现了用户可见节点的权限过滤,还为根节点的快速判断(可见节点或虚拟节点)提供了保障。
通过索引表检索的方式,减少了检索、排序、排重的工作量,有效减少了加载和等待的时间。
在另外的实施例中,可以仅显示当前用户可以可见节点所对应的全部根节点,而不需对这些根节点做可见根节点与虚拟根节点的区分。那么可以按图5所示步骤进行:
S501:接受用户展示根节点的请求;
S502:加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;
S503:根据用户的可见域,在索引表中检索该用户可见节点所对应的根节点编号;
S504:根据检索结果,显示该用户可见节点所对应的根节点。
以上所述仅为本发明的实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (6)
1.一种树形结构数据的展示方法,包括以下步骤:
接受用户展示根节点的请求;
加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;
根据用户的可见域,在索引表中检索该用户可见节点编号及该用户可见节点所对应的根节点编号;
对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对,根据比对结果将该用户可见节点所对应的根节点区分为可见根节点与虚拟根节点,所述可见根节点为:该用户对该根节点及其全部子节点具有可见权限的根节点,所述虚拟根节点为:除可见根节点外,其余该用户可见节点所对应的根节点;
对可见根节点与虚拟根节点用不同的方式进行显示;
根据检索结果,显示该用户可见节点所对应的根节点。
2.根据权利要求1所述的树形结构数据的展示方法,其特征在于,对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对的方式具体为:逐一将该用户可见节点所对应的根节点编号与全部该用户可见节点编号进行比对,如果这一根节点编号在全部该用户可见节点编号构成的集合中,则该根节点为可见根节点,相反,则该根节点为虚拟根节点。
3.根据权利要求1所述的树形结构数据的展示方法,其特征在于,所述对可见根节点与虚拟根节点用不同的方式进行显示具体为:用不同的颜色、灰度或图标对可见根节点与虚拟根节点进行显示。
4.一种树形结构数据的展示装置,包括以下模块:
响应模块,用于接受用户展示根节点的请求;
加载模块,用于加载索引表并查找该用户可见域,所述索引表记录有用户可见域、节点编号与每个节点所对应的根节点编号;
检索模块,用于根据用户的可见域,在索引表中检索该用户可见节点编号及该用户可见节点所对应的根节点编号;
比对模块,用于对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对,根据比对结果将该用户可见节点所对应的根节点区分为可见根节点与虚拟根节点,所述可见根节点为:该用户对该根节点及其全部子节点具有可见权限的根节点,所述虚拟根节点为:除可见根节点外,其余该用户可见节点所对应的根节点;
显示模块用于对可见根节点与虚拟根节点用不同的方式进行显示;
显示模块,还用于根据检索结果,显示该用户可见节点所对应的根节点。
5.根据权利要求4所述的树形结构数据的展示装置,其特征在于,在比对模块中对该用户可见节点编号及该用户可见节点所对应的根节点编号进行比对的方式具体为:逐一将该用户可见节点所对应的根节点编号与全部该用户可见节点编号进行比对,如果这一根节点编号在全部该用户可见节点编号构成的集合中,则该根节点为可见根节点,相反,则该根节点为虚拟根节点。
6.根据权利要求4所述的树形结构数据的展示装置,其特征在于,在显示模块中所述对可见根节点与虚拟根节点用不同的方式进行显示具体为:用不同的颜色、灰度或图标对可见根节点与虚拟根节点进行显示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210578288.1A CN103020273B (zh) | 2012-12-27 | 2012-12-27 | 树形结构数据的展示及相关索引表生成的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210578288.1A CN103020273B (zh) | 2012-12-27 | 2012-12-27 | 树形结构数据的展示及相关索引表生成的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103020273A CN103020273A (zh) | 2013-04-03 |
CN103020273B true CN103020273B (zh) | 2016-08-17 |
Family
ID=47968876
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210578288.1A Active CN103020273B (zh) | 2012-12-27 | 2012-12-27 | 树形结构数据的展示及相关索引表生成的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103020273B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103366008A (zh) * | 2013-07-22 | 2013-10-23 | 天津汉柏信息技术有限公司 | 一种查找资源的方法和装置 |
CN106503026A (zh) * | 2015-09-08 | 2017-03-15 | 华为技术有限公司 | 一种显示数据的方法和装置 |
CN114491172B (zh) * | 2022-04-07 | 2022-08-05 | 深圳竹云科技股份有限公司 | 树形结构节点的快速检索方法、装置、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402652A (zh) * | 2010-09-16 | 2012-04-04 | 金蝶软件(中国)有限公司 | 一种权限控制的方法、系统及终端 |
CN102662939A (zh) * | 2011-11-17 | 2012-09-12 | 福建榕基软件股份有限公司 | 树形数据结构的展示方法与系统 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4109874B2 (ja) * | 2002-02-05 | 2008-07-02 | キヤノン株式会社 | 情報処理装置、その制御方法、プログラム及び記録媒体 |
CN1307584C (zh) * | 2003-11-17 | 2007-03-28 | 中兴通讯股份有限公司 | 一种用二维表实现的树的存储、访问的方法 |
JP4653157B2 (ja) * | 2005-01-25 | 2011-03-16 | 株式会社ターボデータラボラトリー | ツリーの検索、集計、ソート方法、情報処理装置、および、ツリーの検索、集計、ソートプログラム |
JP4445509B2 (ja) * | 2007-03-20 | 2010-04-07 | 株式会社東芝 | 構造化文書検索システム及びプログラム |
-
2012
- 2012-12-27 CN CN201210578288.1A patent/CN103020273B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102402652A (zh) * | 2010-09-16 | 2012-04-04 | 金蝶软件(中国)有限公司 | 一种权限控制的方法、系统及终端 |
CN102662939A (zh) * | 2011-11-17 | 2012-09-12 | 福建榕基软件股份有限公司 | 树形数据结构的展示方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103020273A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5721911A (en) | Mechanism for metadata for an information catalog system | |
EP2580691B1 (en) | Scalable rendering of large spatial databases | |
EP2718854B1 (en) | Role-based security for an object-oriented database system | |
US9495557B2 (en) | Methods and systems for managing access to data in an on-demand system | |
WO2020243317A1 (en) | Data sharing and materialized views in databases | |
US9703834B2 (en) | Topological query in multi-tenancy environment | |
US20200134081A1 (en) | Database systems and applications for assigning records to chunks of a partition in a non-relational database system with auto-balancing | |
US10621372B2 (en) | Method and system for generating database access objects | |
CN107315776A (zh) | 一种基于云计算的数据管理系统 | |
CA2901738C (en) | Versatile data model | |
CN111680041B (zh) | 面向异构数据的安全高效存取方法 | |
WO2020243184A1 (en) | Sharing materialized views in database systems | |
US20120303399A1 (en) | Enterprise rendering platform | |
US9195841B2 (en) | Automated and delegated model-based row level security | |
US20160217202A1 (en) | Attribute Value Derivation | |
CN103020273B (zh) | 树形结构数据的展示及相关索引表生成的方法与装置 | |
James et al. | Hybrid database system for big data storage and management | |
WO2023011140A1 (zh) | 森林资源一张图质检逻辑规则更新方法、系统及云平台 | |
US20170180476A1 (en) | Managing collaboration of shared content using collaborator indexing | |
Asaad et al. | NoSQL databases–seek for a design methodology | |
Simmhan et al. | Analysis of approaches for supporting the open provenance model: A case study of the trident workflow workbench | |
Chullipparambil | Big data analytics using Hadoop tools | |
US11086844B2 (en) | Unified instance authorizations with application owned hierarchies | |
WO2013147736A1 (en) | Topological query in multi-tenancy environment | |
CN109446168B (zh) | 一种基于InData-Kudu对象存储进行配置文件共享的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |