树形结构通讯录存储方法及装置制造方法及图纸

技术编号:32228458 阅读:15 留言:0更新日期:2022-02-09 17:33
本发明专利技术实施例提供了一种树形结构通讯录存储方法及装置。该方法包括:将树形结构通讯录的数据按深度优先搜索进行排序并设置深度优先搜索顺序值,为所述深度优先搜索顺序值建立索引并存储至部门表中;建立所述树形结构通讯录中父节点与子节点集合表,以存储每个父节点到所有子节点的关系数据,并对父节点字段和子节点字段建立索引。通过本发明专利技术,由于将树形结构通讯录按树的深度优先遍历的方式进行存储,并且增加了父节点与子节点间的关系数据,从而可以高效率的获取节点数据。解决了相关技术中存储树形数据的代码复杂、维护成本高,以及查询数据步骤繁琐的问题,达到可简单、灵活并且高效的存储树形结构数据的效果。并且高效的存储树形结构数据的效果。并且高效的存储树形结构数据的效果。

【技术实现步骤摘要】
树形结构通讯录存储方法及装置


[0001]本专利技术实施例涉及数据存储
,具体而言,涉及一种树形结构通讯录存储方法及装置。

技术介绍

[0002]在相关技术中,树形结构数据存储解决方案包括以下两种:
[0003]第一种采用父节点编号关联的方式来存储树形结构。该方式存储树形结构的方式采用节点间的继承方式,通过显示地描述某个节点的父节点,从而能够建立二维关系表。但在这种方式中,为得到树形结构结果,需要进行递归查询,这就导致存在的计算效率低、逻辑复杂、维护成本较大、树形结构数据展示不直观等技术问题,并且也无法应用于包含用户数据的通讯录组织结构中。
[0004]第二种采用基于左右值编码的方式存储树形结构。该方式采用一种全新的无递归查询,利用左右值编码,可以进行无限级树的编码,该编码方式在消除递归的前提下实现了无限分级,而且查询条件是基于整形数字比较的,因而查询效率较高。
[0005]但采用该方式编写相关存储程序的过程中以及新增、删除、同层平移节点,需要对整个树进行查询修改,由此导致的代码复杂度,耦合度较高,修改维护的风险较高,也无法应用于包含用户数据的通讯录组织结构中。

技术实现思路

[0006]本专利技术实施例提供了一种树形结构通讯录存储方法及装置,以至少解决相关技术中存储树形数据的代码复杂、维护成本高,以及查询数据步骤繁琐的问题。
[0007]根据本专利技术的一个实施例,提供了一种树形结构通讯录存储方法,包括:将树形结构通讯录的数据按深度优先搜索进行排序并设置深度优先搜索顺序值,为所述深度优先搜索顺序值建立索引并存储至部门表中;建立所述树形结构通讯录中父节点与子节点集合表,以存储每个父节点到所有子节点的关系数据,并对父节点字段和子节点字段建立索引。
[0008]在一个示例性实施例中,在将树形结构通讯录的数据按深度优先搜索进行排序之前,还包括:建立用户表、部门表、子部门集合表以及用户部门表;其中,所述用户表至少包括以下字段:用户标识和用户名称;所述部门表至少包括以下字段:部门标识、用户名称、父部门标识、用户部门内排序值以及深度优先搜索排序值;所述子部门集合表至少包括以下字段:父部门标识和子部门标识;所述用户部门表至少包括以下字段:部门标识、用户标识以及用户部门内排序值。
[0009]在一个示例性实施例中,还包括:获取部门标识,根据所述部门标识到子部门集合表中查询以获取所有的子部门数据。
[0010]在一个示例性实施例中,还包括:获取部门标识,根据所述部门标识到子部门集合表中查询以获取所有的父部门数据。
[0011]在一个示例性实施例中,还包括:获取部门标识,基于所述部门标识查询用户表、
用户部门表和部门表以获取部门排序和部门内的用户排序数据。
[0012]在一个示例性实施例中,基于所述部门标识查询用户表、用户部门表和部门表以获取部门排序和部门内的用户排序数据之后,还包括:按照部门排序和部门内的用户排序数据进行数据展示。
[0013]根据本专利技术的另一个实施例,提供了一种树形结构通讯录存储装置,包括:排序模块,用于将树形结构通讯录的数据按深度优先搜索进行排序并设置深度优先搜索顺序值,为所述深度优先搜索顺序值建立索引并存储至部门表中;存储模块,用于建立所述树形结构通讯录中父节点与子节点集合表,以存储每个父节点到所有子节点的关系数据,并对父节点字段和子节点字段建立索引。
[0014]在一个示例性实施例中,还包括:建立模块,用于建立用户表、部门表、子部门集合表以及用户部门表;其中,所述用户表至少包括以下字段:用户编号和用户名称;所述部门表至少包括以下字段:部门编号、用户名称、父部门编号、用户部门内排序值以及深度优先搜索排序值;所述子部门集合表至少包括以下字段:父部门编号和子部门编号;所述用户部门表至少包括以下字段:部门编号、用户编号以及用户部门内排序值。
[0015]在一个示例性实施例中,还包括:展示模块,用于按照部门排序和部门内的用户排序数据进行数据展示。
[0016]根据本专利技术的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
[0017]根据本专利技术的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
[0018]通过本专利技术,由于将树形结构通讯录按树的深度优先遍历的方式进行存储,并且增加了父节点与子节点间的关系数据,从而可以高效率的获取节点数据。因此,可以解决相关技术中存储树形数据的代码复杂、维护成本高,以及查询数据步骤繁琐的问题,达到可简单、灵活并且高效的存储树形结构数据的效果。
附图说明
[0019]图1是本专利技术实施例的运行树形结构通讯录存储方法的计算机终端的硬件结构框图;
[0020]图2是根据本专利技术实施例的树形结构通讯录存储方法的流程图;
[0021]图3是根据本专利技术实施例的树形结构通讯录存储装置的结构框图;
[0022]图4是根据本专利技术另一实施例的树形结构通讯录存储装置的结构框图;
[0023]图5是根据本专利技术实施例的部门表中的whole_order值递增方式示意图;
[0024]图6是根据本专利技术实施例的获取所有子部门数据方法的流程图;
[0025]图7是根据本专利技术实施例的获取所有父部门数据方法的流程图;
[0026]图8是根据本专利技术实施例的获取某一部门内用户数据数的方法流程图。
具体实施方式
[0027]下文中将参考附图并结合实施例来详细说明本专利技术的实施例。
[0028]需要说明的是,本专利技术的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
[0029]本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在计算机终端上为例,图1是本专利技术实施例的运行树形结构通讯录存储方法的计算机终端的硬件结构框图。如图1所示,计算机终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器(Central Processing Unit,MCU)或可编程逻辑器件(Field Programmable Gate Array,FPGA)等的处理装置)和用于存储数据的存储器104,其中,上述计算机终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术用户可以理解,图1所示的结构仅为示意,其并不对上述计算机终端的结构造成限定。例如,计算机终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
[0030]存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本专利技术实施例中的树形结构通讯录存储方法对应的计算机程序,处理器1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种树形结构通讯录存储方法,其特征在于,包括:将树形结构通讯录的数据按深度优先搜索进行排序并设置深度优先搜索顺序值,为所述深度优先搜索顺序值建立索引并存储至部门表中;建立所述树形结构通讯录中父节点与子节点集合表,以存储每个父节点到所有子节点的关系数据,并对父节点字段和子节点字段建立索引。2.根据权利要求1所述的方法,其特征在于,在将树形结构通讯录的数据按深度优先搜索进行排序之前,还包括:建立用户表、部门表、子部门集合表以及用户部门表;其中,所述用户表至少包括以下字段:用户标识和用户名称;所述部门表至少包括以下字段:部门标识、用户名称、父部门标识、用户部门内排序值以及深度优先搜索排序值;所述子部门集合表至少包括以下字段:父部门标识和子部门标识;所述用户部门表至少包括以下字段:部门标识、用户标识以及用户部门内排序值。3.根据权利要求2所述的方法,其特征在于,还包括:获取部门标识,根据所述部门标识到子部门集合表中查询以获取所有的子部门数据。4.根据权利要求2所述的方法,其特征在于,还包括:获取部门标识,根据所述部门标识到子部门集合表中查询以获取所有的父部门数据。5.根据权利要求2所述的方法,其特征在于,还包括:获取部门标识,基于所述部门标识查询用户表、用户部门表和部门表以获取部门排序和部门内的用户排序数据。6.根据权利要求5所述的方法,其特征在于,基于所述部门标识查询用户表、用户部门表和部门表以获取部门排序和部门内的用户排序...

【专利技术属性】
技术研发人员:任国豪李如意陈华媛韩世尚李璠丁永建黄时光向小佳吴海洋赵振海
申请(专利权)人:光大科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1