System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及通信软件领域,具体涉及一种基于多叉树结构的通信录管理方法、装置、设备、介质及程序产品。
技术介绍
1、在传统的通信录管理系统中,各个条目之间没有组织关系,且各个节点之间只能通过首字母的顺序来进行排序,并不能满足用户自定义排序的需求。但对于一个有层级关系的单位或者机构来说,通信录管理系统却需要有层级和组织关系以及能够自定义节点顺序,所以传统的通信录管理系统无法满足上述需求。在数据结构中,多叉树是指一个父节点可以拥有多个子节点,但是一个子节点遵循一个父节点的定律。并且在多叉树结构中,可以为每个节点设置前驱节点参数,使得多叉树的每一层都有顺序。这样对于同级的通信录节点,用户可以自定义节点之间的顺序。多叉树的这种结构刚好可以满足通信录管理系统对于层级和组织关系需求,改变传统通讯录管理系统扁平化的结构。
技术实现思路
1、(一)要解决的技术问题
2、鉴于上述问题,本公开提供了一种基于多叉树结构的通信录管理方法、装置、设备及介质,以至少部分解决传统通信录管理系统中存储的信息之间过于扁平化,没有考虑存储信息中的组织关系和架构以及无法满足用户自定义排序的需求等问题。
3、(二)技术方案
4、本公开一方面提供一种基于多叉树结构的通信录管理方法,包括:将通讯录中所包含的通讯信息组织为多个节点,并构建各节点的类结构,所述类结构包括所述节点的基本信息、父节点id、前驱节点id及子节点列表,所述基本信息包括标识符和节点类型;基于所述类结构中所述父节点id和所述前
5、根据本公开的实施例,还包括:将各所述节点及各所述节点对应的基本信息导入所述通信录管理系统;读取并遍历各所述节点的基本信息,基于基本信息中各所述节点之间的层级关系,确定各所述节点的父节点id和前驱节点id。
6、根据本公开的实施例,还包括:响应于接入所述通讯录管理系统的用户的删除操作,通过递归的方式将所述用户指定的所述节点进行删除;遍历指定的所述节点的子节点列表,递归删除子节点列表中的所有节点;递归地找到并删除所述子节点列表中所有节点的子节点,并继续递归地删除子节点的所有子节点,直到没有更多的子节点需要删除为止。
7、根据本公开的实施例,将所述节点类型中最高级的节点作为根节点,所述基于所述类结构中的所述父节点id和所述前驱节点id,将所述节点形成多叉树结构包括:逐个访问各所述节点,按照所述前驱节点id的编码顺序对父节点id相同的各节点进行排序;重复执行上述步骤,直至完成所述多叉树结构的最后一层节点的排序。
8、根据本公开的实施例,所述读取并遍历各所述节点的基本信息,基于基本信息中各所述节点之间的层级关系,确定各所述节点的父节点id和前驱节点id包括:根据所述节点类型的优先级,确定各所述节点的父节点id;基于同一子节点列表,使每一层的第一个节点的所述前驱节点id为对应的父节点id,使该层的后续节点的前驱节点id为前一个节点的标识符;重复执行上述步骤,直至所有节点的所述前驱节点id均被赋值。
9、根据本公开的实施例,还包括:当各所述节点确定对应的父节点id和前驱节点id后,将所述父节点id和前驱节点id存入关系型数据库中;当将各所述节点组织成多叉树结构时,遍历所述关系型数据库,逐个访问各所述节点,以形成多叉树结构。
10、本公开的第二方面提供了一种基于多叉树结构的通信录管理装置,包括:构建模块,用于将通讯录中所包含的通讯信息组织为多个节点,并构建各节点的类结构,所述类结构包括所述节点的基本信息、父节点id、前驱节点id及子节点列表,所述基本信息包括标识符和节点类型;管理模块,用于基于所述类结构中所述父节点id和所述前驱节点id,将所述节点形成多叉树结构,展示在通讯录管理系统中,其中,所述父节点id为所述节点上一级节点的标识符,所述前驱节点id为所述节点的前一个节点的标识符。
11、本公开的第三方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现所述的通信录管理方法中的各个步骤。
12、本公开的第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现所述的通信录管理方法中的各个步骤。
13、本公开的第五方面还提供了一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现所述的通信录管理方法。
14、(三)有益效果
15、本公开提供的基于多叉树结构的通信录管理方法、装置、设备及介质,通过在有层级和组织关系需求的通信录管理系统使用多叉树结构,改变了传统的通信录管理系统中存储的信息之间过于扁平化;并且在多叉树结构中,为每个节点设置前驱节点参数,使得多叉树的每一层都有顺序,这样对于同级的通信录节点,用户可以自定义节点之间的顺序,满足用户自定义排序的需求。
本文档来自技高网...【技术保护点】
1.一种基于多叉树结构的通信录管理方法,其特征在于,包括:
2.根据权利要求1所述的通信录管理方法,其特征在于,还包括:
3.根据权利要求1所述的通信录管理方法,其特征在于,还包括:
4.根据权利要求1所述的通信录管理方法,其特征在于,将所述节点类型中最高级的节点作为根节点,所述基于所述类结构中的所述父节点ID和所述前驱节点ID,将所述节点形成多叉树结构包括:
5.根据权利要求2所述的通信录管理方法,其特征在于,所述读取并遍历各所述节点的基本信息,基于基本信息中各所述节点之间的层级关系,确定各所述节点的父节点ID和前驱节点ID包括:
6.根据权利要求1所述的通信录管理方法,其特征在于,还包括:
7.一种基于多叉树结构的通信录管理装置,其特征在于,包括:
8.一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1至6中的任一项所述的通信录管理方法中的各个步骤。
9.一种计算机可读存储介质,其上存储有计算
10.一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现根据权利要求1至6中任一项所述的方法。
...【技术特征摘要】
1.一种基于多叉树结构的通信录管理方法,其特征在于,包括:
2.根据权利要求1所述的通信录管理方法,其特征在于,还包括:
3.根据权利要求1所述的通信录管理方法,其特征在于,还包括:
4.根据权利要求1所述的通信录管理方法,其特征在于,将所述节点类型中最高级的节点作为根节点,所述基于所述类结构中的所述父节点id和所述前驱节点id,将所述节点形成多叉树结构包括:
5.根据权利要求2所述的通信录管理方法,其特征在于,所述读取并遍历各所述节点的基本信息,基于基本信息中各所述节点之间的层级关系,确定各所述节点的父节点id和前驱节点id包括:
6.根据权利要求...
【专利技术属性】
技术研发人员:吴可,杨超,林道玉,赵彤宇,冯永青,马光明,武玉欣,高振峰,刘学谦,邢文涛,徐进,杨泽一,
申请(专利权)人:齐鲁空天信息研究院,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。