CN101408895A - 一种根据节点集合构造节点关系树的方法、装置及系统 - Google Patents

一种根据节点集合构造节点关系树的方法、装置及系统 Download PDF

Info

Publication number
CN101408895A
CN101408895A CNA2008102172242A CN200810217224A CN101408895A CN 101408895 A CN101408895 A CN 101408895A CN A2008102172242 A CNA2008102172242 A CN A2008102172242A CN 200810217224 A CN200810217224 A CN 200810217224A CN 101408895 A CN101408895 A CN 101408895A
Authority
CN
China
Prior art keywords
node
tree
superior
root
long codes
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
CNA2008102172242A
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.)
Kingdee Software China Co Ltd
Original Assignee
Kingdee Software China 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 Kingdee Software China Co Ltd filed Critical Kingdee Software China Co Ltd
Priority to CNA2008102172242A priority Critical patent/CN101408895A/zh
Publication of CN101408895A publication Critical patent/CN101408895A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于数据处理领域,提供了一种根据节点集合构造节点关系树的方法、装置、系统及设备,所述方法包括下述步骤:在存储的节点关系中查找离节点集合中各节点最近的共有上级节点;以查找到的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。在本发明中,通过以离节点集合中各节点最近的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树,实现了一种根据节点集合构造节点关系树的方法,通过所构造的树,可以快速查找节点集合中各节点及其上级节点的关系,速度快、效率高。

Description

一种根据节点集合构造节点关系树的方法、装置及系统
技术领域
本发明属于数据处理领域,尤其涉及一种根据节点集合构造节点关系树的方法、装置、系统及设备。
背景技术
行政组织关系,可以用树来表示,全部的组织构成一颗组织树,组织树上的节点代表整个组织下的一个组织,组织树的根代表整个组织最高的行政组织。但是有些时候只需要考虑整个组织中部分组织的结构、层级关系,例如只关心某集团下几个不同部门和组的结构关系,现有做法需要先分别从组织树的根开始向下遍历各节点,直至找到代表相应各组织的节点,才能得到所需要考虑的这部分组织的结构、层级关系。这样,每次用的时候都要遍历一次,速度慢、效率低。当组织有几千个,而关心的只是最下面的两个叶子节点时,采用现有方法每次都遍历一次树的代价就非常大。
综上所述,现有技术没有提供根据节点集合构造节点关系树的方法,而是在每次需要节点集合中节点的关系时都要遍历一次树,速度慢、效率低。
发明内容
本发明实施例的目的在于提供一种根据节点集合构造节点关系树的方法,旨在解决现有技术没有提供根据节点集合构造节点关系树的方法,而是在每次需要节点集合中节点的关系时都要遍历一次树,速度慢、效率低的问题。
本发明实施例是这样实现的,一种根据节点集合构造节点关系树的方法,所述方法包括下述步骤:
在存储的节点关系中查找离节点集合中各节点最近的共有上级节点;
以查找到的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。
本发明实施例的另一目的在于提供一种根据节点集合构造节点关系树的装置,所述装置包括:
节点查找单元,用于在存储的节点关系中查找离节点集合中各节点最近的共有上级节点;以及
树构造单元,用于以查找到的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。
本发明实施例的另一目的在于提供包含上述根据节点集合构造节点关系树的装置的数据处理系统。
本发明实施例的另一目的在于提供包含上述数据处理系统的电子设备。
在本发明实施例中,通过以离节点集合中各节点最近的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树,实现了一种根据节点集合构造节点关系树的方法,通过所构造的树,可以快速查找节点集合中各节点及其上级节点的关系,速度快、效率高。
附图说明
图1是本发明实施例提供的根据节点集合构造节点关系树的方法的实现流程图;
图2是本发明实施例提供的树的结构示意图;
图3是本发明实施例提供的根据节点集合构造的节点关系树的结构示意图;
图4是本发明实施例提供的根据节点集合构造节点关系树的装置的结构图;
图5是本发明实施例提供的树构造单元的结构图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,通过以离节点集合中各节点最近的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。
图1示出了本发明实施例提供的根据节点集合构造节点关系树的方法的实现流程,详述如下:
在步骤S101中,在存储的节点关系中查找离节点集合中各节点最近的共有上级节点;
在步骤S102中,以查找到的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。
其中,构造以节点集合中节点为叶子节点的树的步骤具体为;
步骤1.判断节点集合中的各节点或节点集合中各节点的上级节点是否是根节点的下级节点;
步骤2.如果节点集合中的节点或节点集合中节点的上级节点是根节点的下级节点,则将相应节点添加到根节点下的相应位置,否则不做任何操作。
下面具体说明本发明实施例提供的根据节点集合构造节点关系树的方法的处理流程,假如存在图2所示的树,节点集合为{F、E、K、G}。
其中,步骤S101,在存储的节点关系中查找离节点集合中各节点最近的共有上级节点的步骤具体为:
步骤1.获取节点集合中各节点的长编码;
步骤2.比较节点集合中各节点长编码,得到长编码交集,以所述长编码交集对应的节点为节点集合中各节点的共有上级节点。
在本发明实施例中,树中各节点的节点编码都是唯一的。如图2中所示的树,A、B、C等字母即为树中各节点的节点编码。由父节点的长编码和本节点的节点编码构成本节点的长编码,树中各节点的长编码都是唯一的,如图2中所示的树,A的长编码就是A,B的长编码就是A!B,依次类推得F的长编码是A!B!D!F,H的长编码就是A!B!H。这样,由节点的长编码就可以知道该节点有多少个上级节点等信息,一颗树中只有根节点的长编码与节点编码是相同的。节点集合{F、E、K、G}中,F的长编码是A!B!D!F,E的长编码是A!C!E,K的长编码是A!C!K,G的长编码是A!G。当然,各节点长编码的表现形式可以根据需要进行调整,中间的“!”可以用其他符号或形式等表示。
这里,存储的节点关系可以为各节点的长编码,比较节点集合{F、E、K、G}中各节点的长编码即可得到其交集为A,那么A节点即为离该节点集合中各节点最近的共有上级节点。
接着,以A节点为根,根据节点集合{F、E、K、G}中各节点的长编码将相应节点添加到树中。这里F的长编码为A!B!D!F,判断得到A下面是B,则将相应的B节点添加为A节点的下级节点。接着判断得到B下面是D,则将D节点添加为B节点的下级节点。继续判断得到D下面是F,则将F节点添加为D节点的下级节点。完成后,继续判断其他E、K、G节点的长编码,根据判断结果将相应节点添加到树中。完成后,得到的树即为根据节点集合{F、E、K、G}构造的节点关系的树,如图3所示。
当然,如果存储的节点关系不是各节点的长编码,则先根据存储的节点关系为各节点添加长编码,然后再进行处理。
进一步地,节点编码可以只是在树中同一级别的节点中唯一,例如,根节点下各子节点的编码在根节点下所有子节点的编码中唯一,这样得到的树中各节点的长编码也在整颗树中唯一。此时,就必需从各节点长编码的第一位开始比较,得到长编码交集。
当然,除了使用节点的长编码,还可以采用其他方法查找离节点集合中各节点最近的共有上级节点,例如,根据存储的节点关系,从下向上查找节点集合中各节点的上级节点,找到的第一个上级节点即为所需的离节点集合中各节点最近的共有上级节点。
有些时候需要从根节点开始一层层向下构造与所选节点相关的树,为了满足该需要、节约处理操作、提高效率,过滤树中暂时不需要添加的节点,作为本发明的一个优选实施例,上述构造以节点集合中节点为叶子节点的树的步骤具体为:
步骤1.接收所构造的树中当前拥有节点的节点选择信息;
在一开始,所构造的树中只有根节点,接收的节点选择信息只能是根节点选择信息。
步骤2.在节点集合中的节点或节点集合中节点的上级节点中查找所选节点的子节点,并将查找到的子节点添加到所选节点下。
在本发明实施例中,假设节点集合是{B、C},找到的离B、C节点最近的共有上级节点是A节点,那么所构造的树以A节点为根节点,当用户选择A节点时,在节点集合{B、C}中的节点或其上级节点中查找A节点的子节点就是B、C节点,则将B、C节点添加到A节点下。这里,虽然G节点也是A节点的子节点,但是因为G节点即不存在于节点集合{B、C}中的节点,也不是B、C节点的上级节点,所以不会将G节点添加到A节点下,此时所构造的树只包含A、B、C节点。
图4示出了本发明实施例提供的根据节点集合构造节点关系树的装置的结构,为了便于说明仅示出了与本发明实施例相关的部分。
该根据节点集合构造节点关系树的装置可以用于数据处理系统,例如行政组织管理系统、组织权限管理系统等,这些数据处理系统可以装载于电子设备,例如计算机、移动电话、个人数码助理(Personal Digital Assistant,PDA)等电子设备等。该根据节点集合构造节点关系树的装置可以是运行于这些数据处理系统内的软件单元、硬件单元或者软硬件相结合的单元,也可以作为独立的挂件集成到这些电子设备中或者运行于这些电子设备的应用系统中,其中:
节点查找单元401,在存储的节点关系中查找离节点集合中各节点最近的共有上级节点。
树构造单元402,以查找到的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。
其中,节点查找单元401包括:
长编码获取模块4011,获取节点集合中各节点的长编码,其实现方式如上所述,不再赘述。
节点确认模块4012,比较节点集合中各节点长编码,得到长编码交集,以所述长编码交集对应的节点为节点集合中各节点的共有上级节点。
树构造单元402包括:
判断模块4021,以查找单元401查找到的共有上级节点为根节点,根据存储的节点关系,判断节点集合中的各节点或节点集合中各节点的上级节点是否是根节点的下级节点。
第一节点添加模块4022,在节点集合中的节点或节点集合中节点的上级节点是根节点的下级节点时,将相应节点添加到根节点下的相应位置;否则,不做任何操作,其实现方式如上所述,不再赘述。
有些时候需要从根节点开始一层层向下构造与所选节点相关的树,为了满足该需要、节约操作、提高效率,过滤树中暂时不需要添加的节点,作为本发明的一个优选实施例,如图5所示,树构造单元402包括:
接收模块4023,接收所构造的树中当前拥有节点的节点选择信息。
第二节点添加模块4024,在节点集合中的节点或节点集合中节点的上级节点中查找所选节点的子节点,并将得到的子节点添加到所选节点下。
在本发明实施例中,通过以离节点集合中各节点最近的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树,实现了一种根据节点集合构造节点关系树的方法,通过所构造的树,可以快速查找节点集合中各节点及其上级节点的关系,速度快、效率高。
本领域普通技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1、一种根据节点集合构造节点关系树的方法,其特征在于,所述方法包括下述步骤:
在存储的节点关系中查找离节点集合中各节点最近的共有上级节点;
以查找到的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。
2、如权利要求1所述的方法,其特征在于,所述构造以节点集合中节点为叶子节点的树的步骤具体为:
判断节点集合中的各节点或节点集合中各节点的上级节点是否是根节点的下级节点;
如果节点集合中的节点或节点集合中节点的上级节点是根节点的下级节点,则将相应节点添加到根节点下的相应位置。
3、如权利要求1所述的方法,其特征在于,所述在存储的节点关系中查找离节点集合中各节点最近的共有上级节点的步骤具体为:
获取节点集合中各节点的长编码;
比较节点集合中各节点长编码,得到长编码交集,以所述长编码交集对应的节点为节点集合中各节点的共有上级节点。
4、如权利要求1所述的方法,其特征在于,所述构造以节点集合中节点为叶子节点的树的步骤具体为:
接收所构造的树中当前拥有节点的节点选择信息;
在节点集合中的节点或节点集合中节点的上级节点中查找所选节点的子节点,并将查找到的子节点添加到所选节点下。
5、一种根据节点集合构造节点关系树的装置,其特征在于,所述装置包括:
节点查找单元,用于在存储的节点关系中查找离节点集合中各节点最近的共有上级节点;以及
树构造单元,用于以查找到的共有上级节点为根节点,根据存储的节点关系,构造以节点集合中节点为叶子节点的树。
6、如权利要求5所述的装置,其特征在于,所述节点查找单元包括:
长编码获取模块,用于获取节点集合中各节点的长编码;以及
节点确认模块,用于比较节点集合中各节点长编码,得到长编码交集,以所述长编码交集对应的节点为节点集合中各节点的共有上级节点。
7、如权利要求5所述的装置,其特征在于,所述树构造单元包括:
判断模块,用于以所述查找单元查找到的共有上级节点为根节点,根据存储的节点关系,判断节点集合中的各节点或节点集合中各节点的上级节点是否是根节点的下级节点;以及
第一节点添加模块,用于在节点集合中的节点或节点集合中节点的上级节点是根节点的下级节点时,将相应节点添加到根节点下的相应位置。
8、如权利要求5所述的装置,其特征在于,所述树构造单元包括:
接收模块,用于接收所构造的树中当前拥有节点的节点选择信息;以及
第二节点添加模块,用于在节点集合中的节点或节点集合中节点的上级节点中查找所选节点的子节点,并将得到的子节点添加到所选节点下。
9、一种包含权利要求5至8任一权利要求所述根据节点集合构造节点关系树的装置的数据处理系统。
10、一种包含权利要求9所述数据处理系统的电子设备。
CNA2008102172242A 2008-11-03 2008-11-03 一种根据节点集合构造节点关系树的方法、装置及系统 Pending CN101408895A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2008102172242A CN101408895A (zh) 2008-11-03 2008-11-03 一种根据节点集合构造节点关系树的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2008102172242A CN101408895A (zh) 2008-11-03 2008-11-03 一种根据节点集合构造节点关系树的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN101408895A true CN101408895A (zh) 2009-04-15

Family

ID=40571907

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008102172242A Pending CN101408895A (zh) 2008-11-03 2008-11-03 一种根据节点集合构造节点关系树的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN101408895A (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101847002A (zh) * 2010-05-20 2010-09-29 浙江中控软件技术有限公司 实现权限项动态调整的方法、装置及系统
CN102262526A (zh) * 2010-05-31 2011-11-30 迈普通信技术股份有限公司 有序树表分段遍历方法以及软件处理系统
CN102402652A (zh) * 2010-09-16 2012-04-04 金蝶软件(中国)有限公司 一种权限控制的方法、系统及终端
CN102571381A (zh) * 2010-12-15 2012-07-11 中国移动通信集团吉林有限公司 一种信息存储方法以及信息存储装置
CN103106198A (zh) * 2011-11-09 2013-05-15 金蝶软件(中国)有限公司 树型结构实现方法和装置
CN104063413A (zh) * 2013-11-11 2014-09-24 国云科技股份有限公司 一种mysql数据库树状结构及其快速检索方法
CN104408067A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种多树结构的数据库设计方法及装置
WO2016086547A1 (zh) * 2014-12-03 2016-06-09 中国科学院声学研究所 一种树结构网络的管理结构分裂方法
CN105721527A (zh) * 2014-12-04 2016-06-29 金蝶软件(中国)有限公司 一种数据处理方法以及服务器

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101847002A (zh) * 2010-05-20 2010-09-29 浙江中控软件技术有限公司 实现权限项动态调整的方法、装置及系统
CN102262526A (zh) * 2010-05-31 2011-11-30 迈普通信技术股份有限公司 有序树表分段遍历方法以及软件处理系统
CN102262526B (zh) * 2010-05-31 2014-12-17 迈普通信技术股份有限公司 有序树表分段遍历方法及系统
CN102402652B (zh) * 2010-09-16 2014-12-10 金蝶软件(中国)有限公司 一种权限控制的方法、系统及终端
CN102402652A (zh) * 2010-09-16 2012-04-04 金蝶软件(中国)有限公司 一种权限控制的方法、系统及终端
CN102571381A (zh) * 2010-12-15 2012-07-11 中国移动通信集团吉林有限公司 一种信息存储方法以及信息存储装置
CN102571381B (zh) * 2010-12-15 2015-08-19 中国移动通信集团吉林有限公司 一种信息存储方法以及信息存储装置
CN103106198A (zh) * 2011-11-09 2013-05-15 金蝶软件(中国)有限公司 树型结构实现方法和装置
CN104063413A (zh) * 2013-11-11 2014-09-24 国云科技股份有限公司 一种mysql数据库树状结构及其快速检索方法
CN104408067A (zh) * 2014-10-29 2015-03-11 中国建设银行股份有限公司 一种多树结构的数据库设计方法及装置
CN104408067B (zh) * 2014-10-29 2019-08-13 中国建设银行股份有限公司 一种多树结构的数据库设计方法及装置
WO2016086547A1 (zh) * 2014-12-03 2016-06-09 中国科学院声学研究所 一种树结构网络的管理结构分裂方法
CN105721182A (zh) * 2014-12-03 2016-06-29 中国科学院声学研究所 一种树结构网络的管理结构分裂方法
CN105721182B (zh) * 2014-12-03 2018-11-13 中国科学院声学研究所 一种树结构网络的管理结构分裂方法
CN105721527A (zh) * 2014-12-04 2016-06-29 金蝶软件(中国)有限公司 一种数据处理方法以及服务器

Similar Documents

Publication Publication Date Title
CN101408895A (zh) 一种根据节点集合构造节点关系树的方法、装置及系统
CN101409748B (zh) 一种移动终端的信息收集、索引、订阅发布系统和方法
CN107291785A (zh) 一种数据查找方法及装置
CN100399325C (zh) 一种嵌入式数据库的数据备份和恢复方法
CN102541995A (zh) 对散列序列矩阵的索引和查询
CN103605758A (zh) 一种移动终端文件查找的方法及装置
CN105208622B (zh) 一种高效动态自动维护的路由表结构的路由选择方法及路由表管理方法
CN103186568A (zh) 树型结构数据的访问方法及系统
CN102890714A (zh) 数据索引方法及装置
CN108829880B (zh) 一种光网络终端设备的配置管理的方法
CN102890719B (zh) 一种对车牌号进行模糊搜索的方法及装置
CN107203532A (zh) 索引系统的构建方法、搜索的实现方法及装置
CN103354576B (zh) 手机及其手机号归属信息的存储及查找方法
CN101916259B (zh) 确定自动机状态转换表的空间压缩方法
CN104346347A (zh) 数据存储方法、装置、服务器及系统
CN101572647A (zh) 一种数据查找的方法及装置
CN101645062B (zh) 一种报表生成方法、系统
CN101320376A (zh) 一种数据库搜索方法、系统及移动通信终端
CN105138527A (zh) 一种数据分类回归方法及装置
CN101650734A (zh) 一种表单过滤方法、装置、表单处理系统及信息处理设备
CN104050251A (zh) 一种文件管理方法及管理系统
CN104123357A (zh) 一种查询卡口的方法和装置
Jin et al. The throughput of irreducible closed Markovian queueing networks: Functional bounds, asymptotic loss, efficiency, and the Harrison-Wein conjectures
CN116301656A (zh) 基于日志结构合并树的数据存储方法、系统及设备
CN116701405A (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Open date: 20090415