CN101639845A - 树节点展现方法及装置 - Google Patents
树节点展现方法及装置 Download PDFInfo
- Publication number
- CN101639845A CN101639845A CN200910013188A CN200910013188A CN101639845A CN 101639845 A CN101639845 A CN 101639845A CN 200910013188 A CN200910013188 A CN 200910013188A CN 200910013188 A CN200910013188 A CN 200910013188A CN 101639845 A CN101639845 A CN 101639845A
- Authority
- CN
- China
- Prior art keywords
- node
- data
- attribute
- authorization
- correspondence
- 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
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种树节点展现方法及装置,所述方法包括:为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,第一复选框指示本节点是否关联其所有子孙节点;第二复选框指示本节点是否与上级节点具有关联关系或者指示本节点未被上级节点关联情况下是否被选中的状态;在展现树节点时,通过懒加载方式展现被选中节点的直接下级节点,并根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有下级节点。利用本发明,可以基于懒加载展现树节点,并在提供业务展现性能的同时,实现关联所有子孙节点。
Description
技术领域
本发明涉及数据处理技术,具体涉及一种树节点展现方法及装置。
背景技术
在业务系统开发过程中,经常会遇到用树来展现数据。很多情况下,树节点的前面带有复选框,用做业务相关的数据选中与取消操作。典型的应用场景是,在业务系统中管理员对菜单进行授权操作。
一般情况下,对树节点的操作会有以下几种复选逻辑:
(1)没有复选逻辑,即对于要选择的节点,用户必须进行点击复选框的操作;
(2)关联所有子孙节点,即当用户选中一个节点时,它的所有下级节点(包括下级节点的下级节点)全部选中;
(3)关联所有父节点,即选中一个节点时,同时选中它的所有上级节点。
对于每一种复选逻辑,在业务系统开发过程中,都有对应的应用场景。在实际应用过程中,通常会根据业务上的需要做出选择。其中,没有复选逻辑和关联所有父节点都是面向已经展开的树的操作,在业务系统开发过程中通常都不会遇到技术实现上的困难。但在需要对树进行关联所有子孙节点复选逻辑的时候,由于需要实现选中父节点时关联选中所有下级节点,因此,在展现树时,需要一次将所有树节点全部加载。
由于树的展现速度与节点数目成反比,当树中节点数目较大时,展现速度会变得很慢。而且,当树节点数目达到一定的数量后,树加载需要的时间会超过一般操作人员所能忍受的临界点。
为此,通常的解决方法是,改变树的加载方式,由每次全加载改为懒加载,即每次只展开选中节点的直接下级节点。而在懒加载方式下,由于树节点没有完全加载进来,会使得关联所有子孙节点的复选逻辑无法实现。
发明内容
本发明提供一种树节点展现方法及装置,能够基于懒加载展现树节点,并在提供业务展现性能的同时,实现关联所有子孙节点。
为此,本发明提供如下技术方案:
一种树节点展现方法,包括:
为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,第一复选框指示本节点是否关联其所有子孙节点;第二复选框指示本节点是否与上级节点具有关联关系或者指示本节点未被上级节点关联情况下是否被选中的状态;
在展现树节点时,通过懒加载方式展现被选中节点的直接下级节点,并根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点。
优选地,每个树节点对应的数据分别具有关联下级节点属性和负向授权属性,所述关联下级节点属性和负向授权属性的默认值为假;
所述根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点包括:
如果所述被选中节点对应的第一复选框被选中且为非只读状态,则将所述被选中节点对应的数据添加到预设的数据库表中,并将该数据的关联下级节点属性的值设置为真;
如果所述被选中节点对应的第一复选框被取消,则删除所述数据库表中所述被选中节点对应的数据,并删除所述数据库表中所述被选中节点的所有下级节点对应的数据中负向授权属性的值为真的数据;
如果所述被选中节点对应的第二复选框被选中或被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值。
优选地,所述如果所述被选中节点对应的第二复选框被选中,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值包括:
如果所述被选中节点被上级关联,则删除所述数据库表中所述被选中节点对应的负向授权属性的值为真的数据;
如果所述被选中节点未被上级关联,则在所述被选中节点关联了下级节点时,将所述被选中节点对应的数据的负向授权属性的值设置为假,在所述被选中节点未关联下级节点时,将所述被选中节点对应的数据添加到所述数据库表中。
优选地,所述如果所述被选中节点对应的第二复选框被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值包括:
如果所述被选中节点被上级关联,则将所述被选中节点对应的数据添加到所述数据库表中,并将该数据的负向授权属性的值设置为真;
如果所述被选中节点未被上级关联,则在所述被选中节点关联了下级节点时,将所述被选中节点对应的数据的负向授权属性的值设置为真,在所述被选中节点未关联下级节点时,删除所述数据库表中所述被选中节点对应的数据。
优选地,所述方法还包括:根据所述数据库表中的数据及其对应的关联下级节点属性和负向授权属性,生成授权数据。
优选地,所述方法还包括:当用户访问所述授权数据时,根据所述用户的访问权限生成对应该用户的访问数据。
优选地,所述方法还包括:对每个树节点设置一个路径属性,用以表示该节点在树中的路径,所述路径包括该节点的所有上级节点的节点标识;
所述根据所述用户的访问权限生成对应该用户的访问数据包括:
获取对应所述用户访问权限的所有节点标识;
依次检查所述节点标识对应的数据的关联下级节点属性;
如果所述关联下级节点属性的值为真,则获取所述节点标识对应的节点的路径,并依次检查所述节点标识及该路径中各节点标识对应的数据的负向授权属性;
如果所述关联下级节点属性的值为假,则检查所述节点标识对应的数据的负向授权属性;
根据检查的各节点的负向授权属性确定所述用户拥有权限的所有节点标识;
根据所述用户拥有权限的所有节点标识生成对应该用户的访问菜单。
优选地,所述根据检查的各节点的负向授权属性确定所述用户拥有权限的所有节点标识包括:
如果所述节点对应的负向授权属性的值为真,则将该节点的节点标识添加到负向授权数据集合中,如果所述节点对应的负向授权属性的值为假,则将该节点的节点标识添加到所述正向授权数据集合中;
从所述正向授权数据集合中过滤掉所述负向授权数据集合中的节点标识,得到所述用户拥有权限的所有节点标识。
一种树节点展现装置,包括:
复选框设置单元,用于为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,第一复选框指示本节点是否关联其所有子孙节点;第二复选框指示本节点是否与上级节点具有关联关系或者指示本节点未被上级节点关联情况下是否被选中的状态;
展现单元,用于在展现树节点时,通过懒加载方式展现被选中节点的直接下级节点;
关联单元,用于根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点。
优选地,每个树节点对应的数据分别具有关联下级节点属性和负向授权属性,所述关联下级节点属性和负向授权属性的默认值为假;
所述关联单元具体用于:
如果所述被选中节点对应的第一复选框被选中且为非只读状态,则将所述被选中节点对应的数据添加到预设的数据库表中,并将该数据的关联下级节点属性的值设置为真;
如果所述被选中节点对应的第一复选框被取消,则删除所述数据库表中所述被选中节点对应的数据,并删除所述数据库表中所述被选中节点的所有下级节点对应的数据中负向授权属性的值为真的数据;
如果所述被选中节点对应的第二复选框被选中或被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值。
优选地,所述装置还包括:
授权数据生成单元,用于根据所述数据库表中的数据及其关联下级节点属性和负向授权属性,生成授权数据。
优选地,所述装置还包括:
访问数据生成单元,用于当用户访问所述授权数据时,根据所述用户的访问权限生成对应该用户的访问数据。
优选地,所述装置还包括:
路径设置单元,用于对每个树节点设置一个路径属性,用以表示该节点在树中的路径,所述路径包括该节点的所有上级节点的节点标识;
所述访问数据生成单元包括:
节点标识获取子单元,用于获取对应所述用户访问权限的所有节点标识;
检查子单元,用于依次检查所述节点标识对应的数据的关联下级节点属性,并在所述关联下级节点属性的值为真时,获取所述节点标识对应的节点的路径,并依次检查所述节点标识及该路径中各节点标识对应的数据的负向授权属性;在所述关联下级节点属性的值为假时,检查所述节点标识对应的数据的负向授权属性;
节点标识确定子单元,用根据所述检查子单元的检查结果确定所述用户拥有权限的所有节点标识;
数据生成子单元,用于根据所述用户拥有权限的所有节点标识生成对应该用户的访问数据。
优选地,所述节点标识确定子单元包括:
分类子单元,用于在所述节点对应的负向授权属性的值为真时,将该节点的节点标识添加到负向授权数据集合中,所述节点对应的负向授权属性的值为假时,将该节点的节点标识添加到所述正向授权数据集合中;
过滤子单元,用于从所述正向授权数据集合中过滤掉所述负向授权数据集合中的节点标识,得到所述用户拥有权限的所有节点标识。
本发明实施例提供的树节点展现方法及装置,对树节点数据进行逐级懒加载,从而提高了大数据量情况下的数据加载速度,同时在每个树节点前构造双复选框,用以通过一个复选框来进行是否关联下级节点的设置,实现关联所有子孙节点的复选逻辑。
附图说明
图1是本发明实施例树节点展现方法的流程图;
图2是本发明实施例中双复选框的一种展现效果示意图;
图3本发明实施例中通过双复选框实现关联所有子孙节点的一种流程图;
图4是本发明实施例中根据用户的访问权限生成对应该用户的访问菜单数据的流程图;
图5是本发明实施例中操作人员获得菜单数据权限的一种具体实现流程图;
图6是本发明实施例树节点展现装置的一种结构示意图;
图7是本发明实施例树节点展现装置的另一种结构示意图;
图8是本发明实施例中访问数据生成单元的一种结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
本发明实施例树节点展现方法及装置,在展现树节点时,对树节点数据进行逐级懒加载,以解决大数据量情况下数据加载速度慢的问题,同时,对每个树节点分别设置双复选框,通过对双复选框的选择实现关联所有子孙节点。
如图1所示,是本发明实施例树节点展现方法的流程图,包括以下步骤:
步骤101,为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,第一复选框指示本节点是否关联其所有子孙节点;第二复选框指示本节点是否与上级节点具有关联关系或者指示本节点未被上级节点关联情况下是否被选中的状态。
具体地,所述复选框可以设置在树节点前面,左边复选框作为第一复选框,右边复选框作为第二复选框,如图2所示,是本发明实施例中双复选框的一种展现效果示意图。
当然,本发明实施例中所述的双复选框不限于上述结构,也可以具有其他展现效果。
步骤102,在展现树节点时,通过懒加载方式展现被选中节点的直接下级节点,并根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点。
在本发明实施例中,在加载被选中节点时是否关联所述被选中节点的所有下级节点是通过所述双复选框的状态来确定的,而且需要说明的是,该状态不是仅是指两个复选框当前的被选中状态,还需要参照其历史状态,也就是说,需要根据双复选框的状态变化情况来确定其对应的节点对下级节点的关联。
为了使后面的描述更容易理解,下面先简单介绍通过双复选框实现关联所有下级节点的界面操作规则,主要如下:
(1)如果选中某个节点的第一复选框,则展开该节点及其下级节点时,该节点本身以及其所有子孙节点的双复选框全部是选中的,且所有子孙节点的第一复选框为只读;
(2)对于第一复选框被选中节点下级的某个节点,可以通过取消该节点的第二复选框来实现当前节点的去除操作;
(3)对于被上级节点关联、同时又被去除的节点,可以通过再次选中该节点的第二复选框将该节点与上级节点的关联关系恢复;
(4)对于没有被上级节点关联的节点,如果只选中该节点的第二复选框,则表示只有当前节点被选中,其下级节点不被关联选中。
依照上述规则,下面进一步以菜单授权为例,详细说明本发明实施例中通过双复选框实现关联所有子孙节点的过程。
菜单授权过程分为四种类型的操作,分别是选中节点第一复选框、取消节点第一复选框、选中节点第二复选框、取消节点第二复选框。
在具体实现时,可以为每个树节点对应的数据设置以下属性:关联下级节点属性和负向授权属性,所述关联下级节点属性和负向授权属性的默认值为假。这样,根据对复选框的操作来设置相应节点的属性值,实现关联所有子孙节点。具体有以下几种情况:
1.如果所述被选中节点对应的第一复选框被选中且为非只读状态,则将所述被选中节点对应的数据添加到预设的数据库表中,并将该数据的关联下级节点属性的值设置为真,同时删除该节点的所有子孙节点的授权数据;
2.如果所述被选中节点对应的第一复选框被取消,则删除所述数据库表中所述被选中节点对应的数据,并删除所述数据库表中所述被选中节点的所有下级节点对应的数据中负向授权属性的值为真的数据;
3.如果所述被选中节点对应的第二复选框被选中或被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值,具体如下:
如果所述被选中节点对应的第二复选框被选中,则包括以下两种情况:
(1)如果所述被选中节点被上级关联,则删除所述数据库表中所述被选中节点对应的负向授权属性的值为真的数据;
(2)如果所述被选中节点未被上级关联,则在所述被选中节点关联了下级节点时,将所述被选中节点的数据的负向授权属性的值设置为假,在所述被选中节点未关联下级节点时,将所述被选中节点对应的数据添加到所述数据库表中。
如果所述被选中节点对应的第二复选框被取消,则包括以下两种情况:
(1)如果所述被选中节点被上级关联,则将所述被选中节点对应的数据添加到所述数据库表中,并将该数据的负向授权属性的值设置为真;
(2)如果所述被选中节点未被上级关联,则在所述被选中节点关联了下级节点时,将所述被选中节点对应的数据的负向授权属性的值设置为真,在所述被选中节点未关联下级节点时,删除所述数据库表中所述被选中节点对应的数据。
如图3所示,是本发明实施例中通过双复选框实现关联所有子孙节点的一种流程图。
选中节点第一复选框的处理流程包括以下步骤:
步骤11,选中节点第一复选框;
步骤12,删除该节点的所有下级节点授权数据;
步骤13,在预设的数据库表中增加对应该节点的授权数据,并设置其关联下级节点属性的值为真。
取消节点第一复选框的处理流程包括以下步骤:
步骤21,取消节点第一复选框;
步骤22,删除数据库表中该节点的授权数据;
步骤23,删除该节点的所有下级节点中的负向授权数据,所述负向授权数据是指负向授权属性值为真的数据。
选中节点第二复选框的处理流程包括以下步骤:
步骤31,选中节点第二复选框;
步骤32,通过第一复选框是否选中且只读,判断该节点是否被上级关联;如果是,则执行步骤33;否则执行步骤34;
在判断该节点是否被上级关联时,可以根据该节点对应的第一复选框是否被选中来确定,如果是则表明该节点是被上级关联的;
步骤33,删除该节点负向授权数据,结束该处理流程;
步骤34,判断该节点是否关联下级节点,如果是,则执行步骤35;否则执行步骤36;
具体地,可以根据该节点对应数据的关联下级节点属性值来确定,如果其关联下级节点属性值为真,则表示该节点关联下级节点;否则表示该节点未关联下级节点;
步骤35,修改该节点授权数据,具体地,将该数据的负向授权属性值置为假;结束该处理流程;
步骤36,针对该节点在数据库表中增加一条授权数据;结束该处理流程。
取消节点第二复选框的处理流程包括以下步骤:
步骤41,取消节点第二复选框;
步骤42,通过第一复选框是否选中且只读,判断该节点是否被上级关联,如果是,则执行步骤43;否则执行步骤44;
在判断该节点是否被上级关联时,可以根据该节点对应的第一复选框是否被选中来确定,如果是则表明该节点是被上级关联的;
步骤43,增加对应节点的授权数据,并将该数据的负向授权属性的值设置为真;结束该处理流程。
步骤44,判断该节点是否关联下级节点,如果是,则执行步骤45;否则执行步骤46;
步骤45,修改该节点授权数据,具体地,将该数据的负向授权属性值置为真;结束该处理流程;
步骤46,删除该节点的授权数据;结束该处理流程。
当然,本发明实施例中通过双复选框实现关联所有子孙节点并不仅限于上述具体流程,还可以有其他方式。
本发明实施例树节点展现方法,基于懒加载方式,实现了关联所有子孙节点的复选逻辑。通过引入双复选框,可以使用户界面操作变得简单和方便,方便了用户的使用。对于某个用户来说,某个节点被授予关联所有子孙节点的权限,那么如果在该节点以及子孙节点下新增节点,则该用户对这个新增节点不需要授权便可以自动拥有权限。
在上述图1所示本发明实施例中,还可进一步包括以下步骤:根据所述数据库表中的数据及其对应的关联下级节点属性和负向授权属性,生成授权数据。
可见,本发明实施例的方法,针对每一个节点的授权,通过双复选框机制,可以不必存储所有的权限数据,而是根据所述数据库表中的数据及其对应的关联下级节点属性,即可生成授权数据,从而大大减少了权限表中的数据存储量。
另外,在本发明实施例中,还可进一步包括以下步骤:当用户访问所述授权数据时,根据所述用户的访问权限生成对应该用户的访问菜单。
为了对树节点进行更好地维护,可以对每个树节点设置一个路径属性,用以表示该节点在树中的路径,所述路径包括该节点的所有上级节点的节点标识。比如,当前节点的ID为“ID3”,它位于整棵树的第三级,那么对于“ID3”这个节点来说,它的路径的值为前两级节点ID拼装成的字符串,假如以“/”作为分隔符,则该节点的路径值为“ID1/ID2”。可以将各节点对应的路径保存到菜单维护数据库表中。
如图4所示,是本发明实施例中根据用户的访问权限生成对应该用户的访问数据的流程图,包括以下步骤:
步骤401,获取对应所述用户访问权限的所有节点标识;
步骤402,依次检查所述节点标识对应的数据的关联属性的值是否为真;如果所述关联下级节点属性的值为真,则执行步骤403;否则执行步骤404;
步骤403,获取所述节点标识对应节点路径,并依次检查所述节点标识以及包含该路径的各节点标识对应的数据的负向授权属性;然后执行步骤405;
步骤404,检查该节点标识对应的数据的负向授权属性;
步骤405,根据检查的各节点的负向授权属性,分别向正向授权数据集合和负向授权数据集合增加相应的数据;
具体地,如果所述节点对应的负向授权属性的值为真,则将该节点的节点标识添加到负向授权数据集合中,如果所述节点对应的负向授权属性的值为假,则将该节点的节点标识添加到所述正向授权数据集合中;然后,从所述正向授权数据集合中过滤掉所述负向授权数据集合中的节点标识,得到所述用户拥有权限的所有节点标识;
步骤406,从正向授权数据集合中过滤掉负向授权数据集合中的节点标识,根据过滤后的节点标识生成对应该用户的访问数据。
如图5所示,是本发明实施例中操作人员获得菜单权限的一种具体实现流程图,包括以下步骤:
步骤501,获取操作人员拥有的菜单权限;
对于不同的操作人员,可以设置不同的权限,具体地,可以是对应不同操作人员授予不同的菜单访问权限;
步骤502,获取授权节点总数count1;
步骤503,获取一个权限节点ID,也就是说,从对应该操作人员的所有授权节点ID中获取一个节点ID;
步骤504,判断该节点ID对应的数据的关联下级节点属性的值是否为真;如果是,则执行步骤505;否则执行步骤513;
步骤505,根据该节点ID到数据库表中查找路径值包含此节点ID的所有节点ID,并将该节点ID加入;
步骤506,获取节点ID总数count2;
步骤507,获取其中一个节点ID;
步骤508,判断获取的节点ID是否存在负向授权,也就是说,检测该节点ID对应的数据的负向授权属性的值是否为真;如果是,则执行步骤509;否则执行步骤510;
步骤509,向负向授权数据集合中增加该节点ID;然后执行步骤511;
步骤510,向正向授权数据集合中增加该节点ID;
步骤511,将记录的节点ID总数count2的值减1;
步骤512,判断count2的值是否为0;如果是,则执行步骤516;否则返回步骤507;
步骤513,判断该节点ID对应的数据的负向授权属性的值是否为真;如果是,则执行步骤514;否则执行步骤515;
步骤514,向负向授权数据集合中增加该节点ID;
步骤515,向正向授权数据集合中增加该节点ID;
步骤516,授权节点总数count1的值减1;
步骤517,判断count1的值是否为0;如果是,则执行步骤518;否则返回步骤503;
步骤518,从正向授权数据集合中过滤掉负向授权数据集合中的节点标识,得到该操作人员拥有权限的所有节点ID。
可见,利用本发明实施例的方法,针对每一个菜单节点的授权,通过双复选框机制,不必存储所有的权限数据,从而大大减少了权限表中的数据存储量。相应的,需要进行的权限验证也简单方便,从而提升了业务性能。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于一计算机可读取存储介质中,所述的存储介质,如:ROM/RAM、磁碟、光盘等。
相应地,本发明实施例还提供一种树节点展现装置,如图6所示,是该装置的一种结构示意图。
该装置包括:
复选框设置单元701,用于为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,第一复选框指示本节点是否关联其所有子孙节点;第二复选框指示本节点是否与上级节点具有关联关系或者指示本节点未被上级节点关联情况下是否被选中的状态;
展现单元702,用于在展现树节点时,通过懒加载方式展现被选中节点的直接下级节点;
关联单元703,用于根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点。
在具体应用时,可以为每个树节点对应的数据分别设置关联下级节点属性和负向授权属性,所述关联下级节点属性和负向授权属性的默认值为假。这样,所述关联单元703根据所述被选中节点对应的第一复选框和第二复选框的状态,关联所述被选中节点的所有下级节点时,有以下几种情况:
1.如果所述被选中节点对应的第一复选框被选中且为非只读状态,则将所述被选中节点的节点标识添加到预设的数据库表中,并将该数据的关联下级节点属性的值设置为真,同时删除该节点的所有子孙节点的授权数据;
2.如果所述被选中节点对应的第一复选框被取消,则删除所述数据库表中所述被选中节点的节点标识,并删除所述数据库表中所述被选中节点的所有下级节点对应的数据中负向授权属性的值为真的数据;
3.如果所述被选中节点对应的第二复选框被选中或被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值。
所述关联单元703实现关联被选中节点的所有子孙节点的具体过程可参照前面本发明实施例的方法中的描述,在此不再赘述。
本发明实施例树节点展现装置,基于懒加载方式,实现了关联所有子孙节点的复选逻辑。通过引入双复选框,可以使用户界面操作变得简单和方便,方便了用户的使用。对于某个用户来说,某个节点被授予关联所有子孙节点的权限,那么如果在该节点以及子孙节点下新增节点,则该用户对这个新增节点不需要授权便可以自动拥有权限。
在本发明实施例中,所述装置还可进一步包括授权数据生成单元704,用于根据所述数据库表中的节点标识及其对应的关联下级节点属性和负向授权属性,生成授权数据。授权数据的生成过程可参照前面的描述。
如图示7所示,是本发明实施例树节点展现装置的另一种结构示意图。
与图6所示实施例不同的是,在该实施例中还进一步包括访问数据生成单元705和路径设置单元706。其中,访问数据生成单元705用于当用户访问所述授权数据时,根据所述用户的访问权限生成对应该用户的访问数据;路径设置单元706用于对每个树节点设置一个路径属性,用以表示该节点在树中的路径,所述路径包括该节点的所有上级节点的节点标识。
如图8所示,是本发明实施例中访问数据生成单元的一种结构示意图。
所述访问数据生成单元包括:
节点标识获取子单元801,用于获取对应所述用户访问权限的所有节点标识;
检查子单元802,用于依次检查所述节点标识对应的数据的关联下级节点属性,并在所述关联下级节点属性的值为真时,获取所述节点标识对应的节点的路径,并依次检查所述节点标识及该路径中各节点标识对应的数据的负向授权属性;在所述关联下级节点属性的值为假时,检查所述节点标识对应的数据的负向授权属性;
节点标识确定子单元803,用根据所述检查子单元的检查结果确定所述用户拥有权限的所有节点标识;
数据生成子单元804,用于根据所述用户拥有权限的所有节点标识生成对应该用户的访问数据。
其中,所述节点标识确定子单元803的一种优选结构包括:分类子单元831和过滤子单元832。其中:
分类子单元831,用于在所述节点对应的负向授权属性的值为真时,将该节点的节点标识添加到负向授权数据集合中,所述节点对应的负向授权属性的值为假时,将该节点的节点标识添加到所述正向授权数据集合中;
过滤子单元832,用于从所述正向授权数据集合中过滤掉所述负向授权数据集合中的节点标识,得到所述用户拥有权限的所有节点标识。
可见,利用本发明实施例的装置,针对每一个菜单节点的授权,通过双复选框机制,不必存储所有的权限数据,从而大大减少了权限表中的数据存储量。相应的,需要进行的权限验证也简单方便,从而提升了业务性能。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及装置;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1、一种树节点展现方法,其特征在于,包括:
为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,第一复选框指示本节点是否关联其所有子孙节点;第二复选框指示本节点是否与上级节点具有关联关系或者指示本节点未被上级节点关联情况下是否被选中的状态;
在展现树节点时,通过懒加载方式展现被选中节点的直接下级节点,并根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点。
2、根据权利要求1所述的方法,其特征在于,每个树节点对应的数据分别具有关联下级节点属性和负向授权属性,所述关联下级节点属性和负向授权属性的默认值为假;
所述根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点包括:
如果所述被选中节点对应的第一复选框被选中且为非只读状态,则将所述被选中节点对应的数据添加到预设的数据库表中,并将该数据的关联下级节点属性的值设置为真;
如果所述被选中节点对应的第一复选框被取消,则删除所述数据库表中所述被选中节点对应的数据,并删除所述数据库表中所述被选中节点的所有下级节点对应的数据中负向授权属性的值为真的数据;
如果所述被选中节点对应的第二复选框被选中或被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值。
3、根据权利要求2所述的方法,其特征在于,所述如果所述被选中节点对应的第二复选框被选中,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值包括:
如果所述被选中节点被上级关联,则删除所述数据库表中所述被选中节点对应的负向授权属性的值为真的数据;
如果所述被选中节点未被上级关联,则在所述被选中节点关联了下级节点时,将所述被选中节点对应的数据的负向授权属性的值设置为假,在所述被选中节点未关联下级节点时,将所述被选中节点对应的数据添加到所述数据库表中。
4、根据权利要求2所述的方法,其特征在于,所述如果所述被选中节点对应的第二复选框被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值包括:
如果所述被选中节点被上级关联,则将所述被选中节点对应的数据添加到所述数据库表中,并将该数据的负向授权属性的值设置为真;
如果所述被选中节点未被上级关联,则在所述被选中节点关联了下级节点时,将所述被选中节点对应的数据的负向授权属性的值设置为真,在所述被选中节点未关联下级节点时,删除所述数据库表中所述被选中节点对应的数据。
5、根据权利要求2至4任一项所述的方法,其特征在于,所述方法还包括:
根据所述数据库表中的数据及其对应的关联下级节点属性和负向授权属性,生成授权数据。
6、根据权利要求5所述的方法,其特征在于,所述方法还包括:
当用户访问所述授权数据时,根据所述用户的访问权限生成对应该用户的访问数据。
7、根据权利要求6所述的方法,其特征在于,所述方法还包括:对每个树节点设置一个路径属性,用以表示该节点在树中的路径,所述路径包括该节点的所有上级节点的节点标识;
所述根据所述用户的访问权限生成对应该用户的访问数据包括:
获取对应所述用户访问权限的所有节点标识;
依次检查所述节点标识对应的数据的关联下级节点属性;
如果所述关联下级节点属性的值为真,则获取所述节点标识对应的节点的路径,并依次检查所述节点标识及该路径中各节点标识对应的数据的负向授权属性;
如果所述关联下级节点属性的值为假,则检查所述节点标识对应的数据的负向授权属性;
根据检查的各节点的负向授权属性确定所述用户拥有权限的所有节点标识;
根据所述用户拥有权限的所有节点标识生成对应该用户的访问菜单。
8、根据权利要求7所述的方法,其特征在于,所述根据检查的各节点的负向授权属性确定所述用户拥有权限的所有节点标识包括:
如果所述节点对应的负向授权属性的值为真,则将该节点的节点标识添加到负向授权数据集合中,如果所述节点对应的负向授权属性的值为假,则将该节点的节点标识添加到所述正向授权数据集合中;
从所述正向授权数据集合中过滤掉所述负向授权数据集合中的节点标识,得到所述用户拥有权限的所有节点标识。
9、一种树节点展现装置,其特征在于,包括:
复选框设置单元,用于为每个树节点分别设置双复选框,分别为第一复选框和第二复选框,其中,第一复选框指示本节点是否关联其所有子孙节点;第二复选框指示本节点是否与上级节点具有关联关系或者指示本节点未被上级节点关联情况下是否被选中的状态;
展现单元,用于在展现树节点时,通过懒加载方式展现被选中节点的直接下级节点;
关联单元,用于根据所述被选中节点对应的第一复选框和第二复选框的状态,确定是否关联所述被选中节点的所有子孙节点。
10、根据权利要求9所述的装置,其特征在于,每个树节点对应的数据分别具有关联下级节点属性和负向授权属性,所述关联下级节点属性和负向授权属性的默认值为假;
所述关联单元具体用于:
如果所述被选中节点对应的第一复选框被选中且为非只读状态,则将所述被选中节点对应的数据添加到预设的数据库表中,并将该数据的关联下级节点属性的值设置为真;
如果所述被选中节点对应的第一复选框被取消,则删除所述数据库表中所述被选中节点对应的数据,并删除所述数据库表中所述被选中节点的所有下级节点对应的数据中负向授权属性的值为真的数据;
如果所述被选中节点对应的第二复选框被选中或被取消,则根据所述被选中节点是否被上级关联修改所述数据库表中对应的数据及该数据的负向授权属性的值。
11、根据权利要求10所述的装置,其特征在于,所述装置还包括:
授权数据生成单元,用于根据所述数据库表中的数据及其关联下级节点属性和负向授权属性,生成授权数据。
12、根据权利要求11所述的装置,其特征在于,所述装置还包括:
访问数据生成单元,用于当用户访问所述授权数据时,根据所述用户的访问权限生成对应该用户的访问数据。
13、根据权利要求12所述的装置,其特征在于,所述装置还包括:
路径设置单元,用于对每个树节点设置一个路径属性,用以表示该节点在树中的路径,所述路径包括该节点的所有上级节点的节点标识;
所述访问数据生成单元包括:
节点标识获取子单元,用于获取对应所述用户访问权限的所有节点标识;
检查子单元,用于依次检查所述节点标识对应的数据的关联下级节点属性,并在所述关联下级节点属性的值为真时,获取所述节点标识对应的节点的路径,并依次检查所述节点标识及该路径中各节点标识对应的数据的负向授权属性;在所述关联下级节点属性的值为假时,检查所述节点标识对应的数据的负向授权属性;
节点标识确定子单元,用根据所述检查子单元的检查结果确定所述用户拥有权限的所有节点标识;
数据生成子单元,用于根据所述用户拥有权限的所有节点标识生成对应该用户的访问数据。
14、根据权利要求13所述的装置,其特征在于,所述节点标识确定子单元包括:
分类子单元,用于在所述节点对应的负向授权属性的值为真时,将该节点的节点标识添加到负向授权数据集合中,所述节点对应的负向授权属性的值为假时,将该节点的节点标识添加到所述正向授权数据集合中;
过滤子单元,用于从所述正向授权数据集合中过滤掉所述负向授权数据集合中的节点标识,得到所述用户拥有权限的所有节点标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910013188A CN101639845A (zh) | 2009-08-12 | 2009-08-12 | 树节点展现方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910013188A CN101639845A (zh) | 2009-08-12 | 2009-08-12 | 树节点展现方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101639845A true CN101639845A (zh) | 2010-02-03 |
Family
ID=41614829
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910013188A Pending CN101639845A (zh) | 2009-08-12 | 2009-08-12 | 树节点展现方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101639845A (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020092A (zh) * | 2011-09-28 | 2013-04-03 | 深圳市金蝶中间件有限公司 | 懒加载树中定位节点的方法和系统 |
CN104346350A (zh) * | 2013-07-26 | 2015-02-11 | 南京中兴力维软件有限公司 | 异步树的树节点查询方法及系统 |
CN106341469A (zh) * | 2016-08-31 | 2017-01-18 | 东软集团股份有限公司 | 树节点数据的加载方法和装置 |
CN106503026A (zh) * | 2015-09-08 | 2017-03-15 | 华为技术有限公司 | 一种显示数据的方法和装置 |
CN106682430A (zh) * | 2016-12-30 | 2017-05-17 | 中南大学 | 基于场景的测评方法及系统 |
CN108399093A (zh) * | 2018-02-28 | 2018-08-14 | 南京天溯自动化控制系统有限公司 | 节点处理方法、装置及电子设备 |
CN108804678A (zh) * | 2018-06-12 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | 一种列表节点管理方法及装置 |
CN110377203A (zh) * | 2019-06-26 | 2019-10-25 | 贵阳朗玛信息技术股份有限公司 | 一种控制复选框的方法及装置 |
CN113179391A (zh) * | 2021-04-23 | 2021-07-27 | 深圳市安软慧视科技有限公司 | 快速加载设备的方法、相关系统、相关设备及存储介质 |
-
2009
- 2009-08-12 CN CN200910013188A patent/CN101639845A/zh active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103020092A (zh) * | 2011-09-28 | 2013-04-03 | 深圳市金蝶中间件有限公司 | 懒加载树中定位节点的方法和系统 |
CN104346350A (zh) * | 2013-07-26 | 2015-02-11 | 南京中兴力维软件有限公司 | 异步树的树节点查询方法及系统 |
CN104346350B (zh) * | 2013-07-26 | 2019-09-20 | 南京中兴力维软件有限公司 | 异步树的树节点查询方法及系统 |
CN106503026A (zh) * | 2015-09-08 | 2017-03-15 | 华为技术有限公司 | 一种显示数据的方法和装置 |
CN106341469A (zh) * | 2016-08-31 | 2017-01-18 | 东软集团股份有限公司 | 树节点数据的加载方法和装置 |
CN106341469B (zh) * | 2016-08-31 | 2020-03-17 | 东软集团股份有限公司 | 树节点数据的加载方法和装置 |
CN106682430A (zh) * | 2016-12-30 | 2017-05-17 | 中南大学 | 基于场景的测评方法及系统 |
CN108399093A (zh) * | 2018-02-28 | 2018-08-14 | 南京天溯自动化控制系统有限公司 | 节点处理方法、装置及电子设备 |
CN108804678A (zh) * | 2018-06-12 | 2018-11-13 | 深圳市茁壮网络股份有限公司 | 一种列表节点管理方法及装置 |
CN110377203A (zh) * | 2019-06-26 | 2019-10-25 | 贵阳朗玛信息技术股份有限公司 | 一种控制复选框的方法及装置 |
CN110377203B (zh) * | 2019-06-26 | 2022-04-22 | 贵阳朗玛信息技术股份有限公司 | 一种控制复选框的方法及装置 |
CN113179391A (zh) * | 2021-04-23 | 2021-07-27 | 深圳市安软慧视科技有限公司 | 快速加载设备的方法、相关系统、相关设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101639845A (zh) | 树节点展现方法及装置 | |
CN100456311C (zh) | 用于实施基于内容的文件系统安全性的系统和方法 | |
CN102567489B (zh) | 搜索文件 | |
JP5452030B2 (ja) | 統合ログ生成装置及び統合ログ生成プログラム及び記録媒体 | |
CN105868340A (zh) | 日志存储方法及装置 | |
CN103119550A (zh) | 存储具有时变特性的电子内容 | |
CN102081710A (zh) | 权限设置方法和权限控制方法 | |
JPH05197734A (ja) | データ処理システム | |
CN104008441A (zh) | 一种自动提交版本库归档的任务管理系统及方法 | |
CN106098069A (zh) | 一种身份认证方法、及终端设备 | |
CN106055546A (zh) | 基于Lucene的光盘库全文检索系统 | |
CN109472656A (zh) | 一种虚拟物品的展示方法、装置和存储介质 | |
CN105069090A (zh) | 一种实现文件一写多读的方法及装置 | |
CN103443762B (zh) | 用于移动软件对象的方法和装置 | |
CN110659393B (zh) | 一种xml代码生成方法和系统 | |
KR102021018B1 (ko) | Bim 품질 체크 규칙 정의 장치 및 그의 bim 품질 체크 규칙 정의 방법 | |
CN114386920A (zh) | 基于数据共享的信息化运行系统及方法 | |
CN106354802A (zh) | 一种附件检索方法及装置 | |
Gong et al. | Enriching the expressive power of security labels | |
CN1971511A (zh) | 一种软件集成的方法及装置 | |
KR102274431B1 (ko) | 데이터베이스와 쿼리문을 이용한 데이터 필터링 장치 | |
CN106776296A (zh) | 覆盖率检测的启动方法、装置和启动设备 | |
CN105608089A (zh) | 一种文件存储方法及装置 | |
CN101944127A (zh) | 数据权限控制方法和装置 | |
CN101976180A (zh) | 本地磁盘屏蔽方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20100203 |