[发明专利]树形节点排序方法和树形节点排序装置有效
申请号: | 201410289591.9 | 申请日: | 2014-06-24 |
公开(公告)号: | CN104102694B | 公开(公告)日: | 2018-11-20 |
发明(设计)人: | 张隽永;杨庆峰 | 申请(专利权)人: | 用友优普信息技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京友联知识产权代理事务所(普通合伙) 11343 | 代理人: | 尚志峰;汪海屏 |
地址: | 100094 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 树形 节点 排序 方法 装置 | ||
本发明提出了一种树形节点排序方法和树形节点排序装置,其中,树形节点排序方法包括:根据菜单列表数据中菜单的编号对所述菜单列表数据进行排序;根据所述菜单列表数据中菜单的父标识与菜单的所述编号对排序后的所述菜单列表数据进行重新排序;将重新排序后的所述菜单列表数据转化为树形结构数据,以根据所述树形结构数据检索对应的父节点和子节点;根据所述父节点与所述子节点对所述树形结构数据逐层展开,并将展开后的数据转化为目标菜单列表数据。通过发明的本技术方案,可以大大地缩短树形结构数据的排序时间,同时减少了递归程序的应用,极大地加快了排序速度,并有效地提高用户的排序体验。
技术领域
本发明涉及排序技术领域,具体而言,涉及一种树形节点排序方法和一种树形节点排序装置。
背景技术
在实际应用中,树形数据结构的使用是十分广泛的。例如,中国军队的三三编制就是一种典型的树形数据结构:三个连为一个团,三个团为一个师。又例如,大多数公司的组织结构也是树形数据结构:一个项目经理带领若干项目成员,一个项目主管又带领若干个项目经理。
目前,在使用数据库进行数据存储时,对于具有树形存储结构的数据,通常多采用父子节点的存储方法即每一个节点都存在一ID标识及父标识SupID,而目前对具有树形存储结构的数据的排序很慢。下面将以菜单为例,说明目前的树形存储结构的数据排序方法,目前常用的排序方法是将列表式数据结构通过递归变化成树形数据结构,再通过递归遍历此树中同一个父菜单,同时,同一层菜单下的数据还要通过其iOrder(菜单编号)来排序。总体看来,这种排序方式导致花费大量时间对同一父菜单下的子菜单进行排序,进一步造成递归程序的大量使用,极大地降低了排序速度,例如,一个拥有3500+的菜单的排序时间会在15秒以上,这大大地降低了用户的使用体验。
因此,如何加快菜单等树形存储结构的数据的排序速度,减短排序时间,提高用户体验成为亟待解决的问题。
发明内容
本发明正是基于上述问题,提出了一种新的技术方案,可以提高菜单等树形存储结构的数据的排序速度,减短排序时间,提高用户体验。
有鉴于此,本发明的一方面提出了一种树形节点排序方法,包括:根据菜单列表数据中菜单的编号对所述菜单列表数据进行排序;根据所述菜单列表数据中菜单的父标识与菜单的所述编号对排序后的所述菜单列表数据进行重新排序;将重新排序后的所述菜单列表数据转化为树形结构数据,以根据所述树形结构数据检索对应的父节点和子节点;根据所述父节点与所述子节点对所述树形结构数据逐层展开,并将展开后的数据转化为目标菜单列表数据。
在该技术方案中,通过对排序后的菜单列表数据进行重新排序,这样菜单列表数据被组装成树形结构数据时,就可以按顺序从菜单列表数据取数据,不需要再递归遍历树形结构数据中同一个父菜单,这大大地缩短了组装树形结构数据的时间,同时减少了递归程序的应用,极大地加快了排序速度,缩短了排序时间,可以有效地提高用户的排序体验。
在上述技术方案中,优选地,还包括:将重新排序后的所述菜单列表数据转化为树形结构数据,具体包括:根据重新排序后的所述菜单列表数据,建立字典表,并向所述字典表中添加所述菜单列表数据中的菜单,以及在所述字典表添加完成时,根据字典表标识逐层获取所述字典表中的所述菜单列表数据,并将所述菜单列表数据转化为所述树形结构数据。
在该技术方案中,由于从字典表中取数据时间是递归减半的,且字典表中有索引(字典表标识),这样在利用字典表逐层返回的菜单建立树形数据结构时,可以加快索引字典表菜单列表数据中数据的速度,进一步地加快了菜单列表数据转化为树形结构数据速度,最终可以达到提高排序速率的目的。
在上述技术方案中,优选地,还包括:每一所述字典表都对应一所述字典表标识,且每一所述字典表都由父标识相同的菜单组成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于用友优普信息技术有限公司,未经用友优普信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410289591.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:推荐结果的展现方法和装置
- 下一篇:一种对网站用户进行分级的方法和装置