CN113496358A - 基于智能绩效运营平台的指标分解树布局算法 - Google Patents
基于智能绩效运营平台的指标分解树布局算法 Download PDFInfo
- Publication number
- CN113496358A CN113496358A CN202110789500.8A CN202110789500A CN113496358A CN 113496358 A CN113496358 A CN 113496358A CN 202110789500 A CN202110789500 A CN 202110789500A CN 113496358 A CN113496358 A CN 113496358A
- Authority
- CN
- China
- Prior art keywords
- node
- nodes
- axis coordinate
- index decomposition
- decomposition tree
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0639—Performance analysis of employees; Performance analysis of enterprise or organisation operations
- G06Q10/06393—Score-carding, benchmarking or key performance indicator [KPI] analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/901—Indexing; Data structures therefor; Storage structures
- G06F16/9027—Trees
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Databases & Information Systems (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- Educational Administration (AREA)
- Marketing (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Quality & Reliability (AREA)
- Operations Research (AREA)
- Software Systems (AREA)
- Game Theory and Decision Science (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种基于智能绩效运营平台的指标分解树布局算法,包括:S1、将指标分解树转换为hashTree;S2、从最低层开始从下往上按层遍历hashTree,获取某一层级中的相邻节点n1和n2,判断n1和n2是否重叠,若是,则计算需要移动的距离,获取n1和n2的共同祖先节点A1,将A1的兄弟节点A2往右平移;进入S3,否则,进入S4;S3、每移动完一个节点,其父节点都会失去对称性,以父节点为锚点,向左移动所有子节点以恢复对称性;返回S2;S4、判断hashTree是否遍历完成,若是,进入S5,否则,返回S2;S5、指标分解树布局完成。该布局算法空间利用率较高,且不限制子节点的数量,做到了在节点与节点尽可能地紧凑,而且始终保持对称性和任意子节点数目,清晰美观,自由度高。
Description
技术领域
本发明涉及数据智能绩效运营平台管理技术领域,具体涉及一种基于智能绩效运营平台的指标分解树布局算法。
背景技术
在智能绩效运营平台中,指标分解树通过拆解核心指标,可以定位影响指标的关键节点。指标分解树可以方便的添加和查看多个维度中的各个节点对整体的贡献。传统的树形布局通常将子节点按照兄弟节点的最大宽度分开(一个节点的最大宽度即以该节点为根的树所占的最大宽度)。这样做虽然代码上容易实现,只要在每个节点保存该子树的最大宽度即可,但是视觉上不够美观,比较浪费空间,某些传统布局甚至限制子节点的数目。
发明内容
旨在解决指标分解树的传统布局方法在视觉上不够美观,比较浪费空间,甚至限制子节点的数目的技术问题,本发明提供了一种基于智能绩效运营平台的指标分解树布局算法,包括以下步骤:
S1、将基于智能绩效运营平台的的指标分解树转换为hashTree;
S2、从最低层开始从下往上按层遍历所述hashTree,获取某一层级中的相邻节点n1和n2,判断n1和n2是否重叠,若是,则进入步骤S3;否则,进入步骤S5;
S3、计算需要移动的距离,获取n1和n2的共同祖先节点A1,将所述共同祖先节点A1的兄弟节点A2往右平移;
S4、每移动完一个节点,其父节点都会失去对称性,以父节点为锚点,向左移动所有子节点以恢复对称性;并返回步骤S2;
S5、判断所述hashTree是否遍历完成,若是,则进入步骤S6,否则,返回步骤S2;
S6、所述指标分解树布局完成。
优选地,在步骤S1之前,还包括:
S01、对智能绩效运营平台中的指标进行分解,生成某一指标向下的指标分解树;
S02、对所述指标分解树进行初步布局,得到布局后的指标分解树。
优选地,步骤S02具体包括:
S021、从根节点从往下遍历,判断某一根节点是否有子节点,若有,进入步骤S022;否则,进入步骤S026;
S022、计算得到该层级的Y轴坐标和最左位置的X轴坐标,根据所述Y轴坐标垂直移动以该节点为根的树;
S023、遍历该层级所有节点;
S024、根据所述该层级的最左位置的X轴坐标,获得当前子节点的X轴坐标;
S025、根据所述当前子节点的X轴坐标水平移动以该节点为根的树;返回S021继续往下遍历;
S026、初步布局完成。
优选地,所述该层级的最左位置的X轴坐标的计算公式为:
其中,Xleft为该层级的最左位置的X轴坐标,XF为该层级父节点的X轴坐标,m为该层级所有节点数量,nodeInterval为预设的节点间的最小间距。
优选地,所述该层级的Y轴坐标的计算公式为:
Yc=YF+yInterval;
其中,Yc为该层级的Y轴坐标,YF为该层级父节点的Y轴坐标,yInterval为设定的父子节点间的间距。
优选地,节点n1和节点n2重叠分为两种情况:
节点直接重叠;
节点间距离小于节点间的最小间距nodeInterval。
优选地,所述hashTree为一个按层次区分的线性表。
本发明提供的技术方案带来的有益效果是:
本发明提供的一种基于智能绩效运营平台的指标分解树布局算法,子节点相对于父节点成等腰排列,即根节点位于叶子节点两端距离上方正中间。在所有节点不重叠的情况下相邻节点间距相等,所有节点均不能重叠。其次,算法应适应于任意宽度,任意深度的树。该布局较为美观,而且空间利用率较高,且不限制子节点的数量。做到了在布局上节点与节点尽可能地紧凑,而且始终保持对称性和任意子节点数目。清晰美观,自由度高。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图:
图1是本发明一种基于智能绩效运营平台的指标分解树布局算法的主要执行流程图;
图2是本发明局部布局的执行流程图;
图3是本发明恢复父节点对称性的原理图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
本实施例中,提供了一种基于智能绩效运营平台的指标分解树布局算法,包括以下步骤:
步骤1、对智能绩效运营平台中的指标进行分解,生成某一指标向下的指标分解树。
具体地,指标分解树中节点的属性为:
class Node{
//存放指标数据
public data:any;
//父节点
public parent:Node;
//孩子节点
public child:Node[];
//节点所在的层级
public layer:number;
//节点在层级的位置
public index:number;
//横坐标
public x:number;
//纵坐标
public y:number;
//节点的宽度
private nodeWidth:number;
//节点的高度
private nodeHeight:number;
}
步骤2、对指标分解树进行初步布局,得到布局后的指标分解树。
参考图2,步骤2具体包括:
步骤21、从根节点往下遍历,判断某一根节点是否有子节点,若有,进入步骤22;否则,进入步骤26;
步骤22、计算得到该层级的Y轴坐标和最左位置的X轴坐标,根据Y轴坐标垂直移动以该节点为根的树;
步骤23、遍历该层级所有节点;
步骤24、根据该层级的最左位置的X轴坐标,获得当前子节点的X轴坐标;
步骤25、根据当前子节点的X轴坐标水平移动以该节点为根的树;返回S21继续往下遍历;
步骤26、初步布局完成。
在本实施例中,该层级的最左位置的X轴坐标的计算公式为:
其中,Xleft为该层级的最左位置的X轴坐标,XF为该层级父节点的X轴坐标,m为该层级所有节点数量,nodeInterval为预设的节点间的最小间距。
在本实施例中,该层级的Y轴坐标的计算公式为:
Yc=YF+yInterval;
其中,Yc为该层级的Y轴坐标,YF为该层级父节点的Y轴坐标,yInterval为设定的父子节点间的间距。
综上,步骤2中,首先,从根节点开始往下,先根据相邻节点间的最小间距nodeInterval和父子节点间的间距yInterval对树进行第一次布局(初步布局)。由于初始状态所有节点的坐标都是未知的,把所有节点的坐标先都设置为(0,0)。从根节点开始。人为设定好根节点的坐标,然后将根节点的子节点挂在根节点下,且子节点分布在根节点的yInterval高度下方,子节点彼此间距为nodeInterval且相对于根节点对称分布。递归进行此步骤,直到所有的节点都布局好。
步骤3、将布局后的指标分解树转换为hashTree。
本实施例的步骤3中,建立一个哈希树hashTree,用作将树保存到一个按层次区分的线性表中。将指标分解树转换到hashTree。大致结构如下:
/**
*layer[
*0[node(0)],
*1[node(1),node(2),node(3),node(4),node(5)],
*2[node(6),node(7),node(8),node(9),node(10),node(11),node(12),node(13),node(14),node(15),node(16),node(17),node(18),node(19),node(20)],
*3[node(21),node(22),node(23),node(24),node(25),node(26),node(27),node(28)]
*]
*/
其中,0代表根节点,1代表所有根节点的子节点,以此类推。
步骤4、参考图1,从最低层开始从下往上按层遍历hashTree,获取某一层级中的相邻节点n1和n2,判断n1和n2是否重叠,若是,则计算需要移动的距离,获取n1和n2的共同祖先节点A1,将共同祖先节点A1的兄弟节点A2往右移;进入步骤5,否则,进入步骤6。
具体地,从最低层开始从下往上按层遍历hashTree,检测相邻的节点。假设n1,n2为相邻的一对节点,n1的在线性表的下标(即顺序,index)小于n2。检测n1,n2是否重叠。如果发生重叠,则左边不动,整体往右进行调整。调整与n1的祖先节点为兄弟节点的n2的祖先节点。
步骤5、每移动完一个节点,其父节点都会失去对称性,以父节点为锚点,向左移动所有子节点以恢复对称性;返回步骤4。
具体地,在本实施例的步骤5中,每移动完一个节点,其父节点都会失去对称性,所以要进行调整。但不能移动父节点,只通过往左移动子节点,即以父节点为锚点,居中下面所有子节点来恢复对称性。恢复对称性的原理参考图3。
步骤6、判断hashTree是否遍历完成,若是,进入步骤7,否则,返回步骤4;
步骤7、指标分解树布局完成。
在本文中,所涉及的前、后、上、下等方位词是以附图中零部件位于图中以及零部件相互之间的位置来定义的,只是为了表达技术方案的清楚及方便。应当理解,所述方位词的使用不应限制本申请请求保护的范围。
在不冲突的情况下,本文中上述实施例及实施例中的特征可以相互结合。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种基于智能绩效运营平台的指标分解树布局算法,其特征在于,包括以下步骤:
S1、将基于智能绩效运营平台的的指标分解树转换为hashTree;
S2、从最低层开始从下往上按层遍历所述hashTree,获取某一层级中的相邻节点n1和n2,判断n1和n2是否重叠,若是,则进入步骤S3;否则,进入步骤S5;
S3、计算需要移动的距离,获取n1和n2的共同祖先节点A1,将所述共同祖先节点A1的兄弟节点A2往右平移;
S4、每移动完一个节点,其父节点都会失去对称性,以父节点为锚点,向左移动所有子节点以恢复对称性;并返回步骤S2;
S5、判断所述hashTree是否遍历完成,若是,则进入步骤S6,否则,返回步骤S2;
S6、所述指标分解树布局完成。
2.如权利要求1所述的一种基于智能绩效运营平台的指标分解树布局算法,其特征在于,在步骤S1之前,还包括:
S01、对智能绩效运营平台中的指标进行分解,生成某一指标向下的指标分解树;
S02、对所述指标分解树进行初步布局,得到布局后的指标分解树。
3.如权利要求2所述的基于智能绩效运营平台的指标分解树布局算法,其特征在于,步骤S02具体包括:
S021、从根节点往下遍历,判断某一根节点是否有子节点,若有,则进入步骤S022;否则,进入步骤S026;
S022、计算得到该层级的Y轴坐标和最左位置的X轴坐标,根据所述Y轴坐标垂直移动以该节点为根的树;
S023、遍历该层级所有节点;
S024、根据所述该层级的最左位置的X轴坐标,获得当前子节点的X轴坐标;
S025、根据所述当前子节点的X轴坐标水平移动以该节点为根的树;返回S021继续往下遍历;
S026、初步布局完成。
5.如权利要求3所述的基于智能绩效运营平台的指标分解树布局算法,其特征在于,所述该层级的Y轴坐标的计算公式为:
Yc=YF+yInterval;
其中,Yc为该层级的Y轴坐标,YF为该层级父节点的Y轴坐标,yInterval为设定的父子节点间的间距。
6.如权利要求4所述的基于智能绩效运营平台的指标分解树布局算法,其特征在于,节点n1和节点n2重叠分为两种情况:
节点直接重叠;
节点间距离小于节点间的最小间距nodeInterval。
7.如权利要求1所述的基于智能绩效运营平台的指标分解树布局算法,其特征在于,所述hashTree为一个按层次区分的线性表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110789500.8A CN113496358A (zh) | 2021-07-13 | 2021-07-13 | 基于智能绩效运营平台的指标分解树布局算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110789500.8A CN113496358A (zh) | 2021-07-13 | 2021-07-13 | 基于智能绩效运营平台的指标分解树布局算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113496358A true CN113496358A (zh) | 2021-10-12 |
Family
ID=77995893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110789500.8A Pending CN113496358A (zh) | 2021-07-13 | 2021-07-13 | 基于智能绩效运营平台的指标分解树布局算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113496358A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491305A (zh) * | 2017-08-10 | 2017-12-19 | 深圳市华傲数据技术有限公司 | 数据分析及可视化处理方法、装置 |
CN110162577A (zh) * | 2019-05-09 | 2019-08-23 | 中国工商银行股份有限公司 | 企业族谱的可视化展现方法、设备以及系统 |
CN110362854A (zh) * | 2019-05-22 | 2019-10-22 | 北京航天发射技术研究所 | 一种故障树图形化建模节点布局的自动处理方法、装置 |
CN111241348A (zh) * | 2019-12-31 | 2020-06-05 | 浙江华云信息科技有限公司 | 一种基于Walker’s Tree 动态调整树间距的方法 |
-
2021
- 2021-07-13 CN CN202110789500.8A patent/CN113496358A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107491305A (zh) * | 2017-08-10 | 2017-12-19 | 深圳市华傲数据技术有限公司 | 数据分析及可视化处理方法、装置 |
CN110162577A (zh) * | 2019-05-09 | 2019-08-23 | 中国工商银行股份有限公司 | 企业族谱的可视化展现方法、设备以及系统 |
CN110362854A (zh) * | 2019-05-22 | 2019-10-22 | 北京航天发射技术研究所 | 一种故障树图形化建模节点布局的自动处理方法、装置 |
CN111241348A (zh) * | 2019-12-31 | 2020-06-05 | 浙江华云信息科技有限公司 | 一种基于Walker’s Tree 动态调整树间距的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8237716B2 (en) | Algorithm for drawing directed acyclic graphs | |
US11030243B2 (en) | Structure based storage, query, update and transfer of tree-based documents | |
US8744770B2 (en) | Path oracles for spatial networks | |
CN103092992B (zh) | 基于Key/Value型NoSQL数据库的矢量数据先序四叉树编码和索引方法 | |
CN103678550B (zh) | 一种基于动态索引结构的海量数据实时查询方法 | |
US9892532B2 (en) | Apparatus and method for generating a shortest-path tree in a graph | |
US20090138503A1 (en) | Structure Based Storage, Query, Update and Transfer of Tree-Based Documents | |
US9317529B2 (en) | Memory-efficient spatial histogram construction | |
CN110427471B (zh) | 一种基于知识图谱的自然语言问答方法及系统 | |
CN107239492A (zh) | Xml文档转换为对象、对象转换为xml文档的方法及装置 | |
CN111241348B (zh) | 一种基于Walker’s Tree动态调整树间距的方法 | |
Yi et al. | Incremental maintenance of XML structural indexes | |
CN102325161B (zh) | 一种基于查询工作量估算的xml分片方法 | |
Holm et al. | Planar reachability in linear space and constant time | |
CN112395288A (zh) | 基于希尔伯特曲线的r树索引合并更新方法、装置及介质 | |
Shao et al. | Efficiently processing spatial and keyword queries in indoor venues | |
CN113496358A (zh) | 基于智能绩效运营平台的指标分解树布局算法 | |
CN114168591A (zh) | 寻找树形结构数据路径节点的方法 | |
CN110597805A (zh) | 一种高效的新型内存索引结构处理方法 | |
CN111612686A (zh) | 一种ebom到pbom的结构映射方法 | |
CN104391964A (zh) | 一种将源代码存入图数据库的方法 | |
KR100948659B1 (ko) | 동적 xml의 노드 번호 부여방법 | |
CN111767285A (zh) | 一种快速判断节点关系的方法 | |
WO2016187313A1 (en) | Road distance systems and methods | |
KR100959815B1 (ko) | 트리 기반 네트워크의 주소 할당 방법 및 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20211012 |
|
RJ01 | Rejection of invention patent application after publication |