一种基于树状结构资源分布的实时状态数快速统计方法技术

技术编号:25439014 阅读:16 留言:0更新日期:2020-08-28 22:27
本发明专利技术涉及业务系统领域,具体公开了一种基于树状结构资源分布的实时状态数快速统计方法,包括,本发明专利技术在业务系统或视频监控系统中构造一个n叉树结构的组织树或区域树,用于资源数据的存储和展示分布;把各类资源数据挂在这个n叉树的各个结点上,作为树的叶子结点;在初始化树时,从树的最深一层非叶子节点开始,自下而上,按层统计每一层的每个非叶子结点下的所有叶子结点资源的状态,并把统计集保存在结点下;当某个结点资源状态发生变化时,则向上到根结点寻找最短路径,对该路径下的结点进行重新统计即可,并更新结点下的统计集。从而实现对树状分布的资源,其状态的快速且实时的统计目的。

【技术实现步骤摘要】
一种基于树状结构资源分布的实时状态数快速统计方法
本专利技术涉及业务系统
,尤其涉及一种基于树状结构资源分布的实时状态数快速统计方法。
技术介绍
传统的业务系统特别是安防业务应用系统,对各类业务资源通常是呈树状结构分布和渲染展示的。当需要对各类资源的各类状态进行实时统计的时候,往往采用把所有资源的分布和所有状态保存在关系型数据库中,比如mysql,oracle,sqlserver等,然后通过sql语句检索统计的方式来得到每个组织或区域的资源状态统计结果;还有一种惯用方法是直接基于树状渲染和展示的资源进行遍历统计,是一种对树的所有结点进行按周期或按需实时遍历和统计的方式,每一次遍历和统计都会对子结点进行多次访问。以上两种常规统计方法在树状分布层次深和资源数多的时候,比如树的深度5、6层以上,且资源数有几万-几十万以上,这时这种方法的统计性能就非常低下,实时性也很差。
技术实现思路
本专利技术的目的是为了解决现有技术中存在的缺点,而提出的一种基于树状结构资源分布的实时状态数快速统计方法。为了实现上述目的,本专利技术采用了如下技术方案:一种基于树状结构资源分布的实时状态数快速统计方法,包括以下步骤:步骤S1、构造一个存储资源数据和展示资源分布的n叉树结构的组织树或区域树,其中各类业务资源作为树的叶子结点;步骤S2、自下而上,按层统计树中每个非叶子结点下的所有叶子结点资源的状态;步骤S3、向根结点寻找最短路径,对该路径下的非叶子结点触发一次资源状态统计。>优选的,所述n叉树包括表示组织或区域的结点,作为树的非叶子结点。优选的,所述n叉树包括表示业务资源的结点,作为树的叶子结点。优选的,所述n叉树中,每个非叶子结点保存了该组织或区域的关键属性,以及该结点的所有叶子结点资源状态统计数据集。优选的,所述n叉树中,每个树结点可以准确访问父结点,也可以准确访问所有子结点。优选的,所述步骤S2包括以下步骤:步骤S21、初始化业务资源数据并构造n叉树时,按组织或区域结点对资源状态进行首次统计,并作为各自非叶子结点的资源状态统计数据集的初始值;步骤S22、对树结点的资源状态统计集数据进行初始化或校验时,触发的按层统计;步骤S23、每一层的每个结点的资源状态统计数据集的计算,都要依赖于该结点的所有子结点的资源状态统计数据集以及该结点下的叶子结点资源状态集;步骤S24、每个叶子结点的资源状态只会遍历和统计一次。优选的,所述步骤S3中,所述向根结点寻找最短路径并进行结点资源的状态统计的情况,出现在当某个叶子结点资源的状态发生变化时,以该结点的父结点为起点,向上到根结点寻找到最短路径,对该最短路径下的所有结点触发一次资源状态统计集的重新计算。优选的,所述对最短路径中的结点统计,采用自下而上的方式,子结点先进行统计,使得父结点的资源状态统计数据集需要依赖于子结点的资源状态统计数据集来计算得到。优选的,所述资源状态统计数据集按资源类型分类,按资源状态分类,对同类型的相同状态进行求和而得到的一个数据集合。本专利技术的有益效果是:本专利技术所提供的方案中采用按层统计以及按最短路径进行统计的方法:对初始状态的统计按层方式,每个结点至多访问一次;对资源状态的变化采用最短路径的方式,对关联结点才触发统计和更新,达到精确和快速统计的目的,有效解决了业务系统中对树状分布资源的状态统计性能低下和实时性不高的问题。附图说明图1为本专利技术提出的一种基于树状结构资源分布的实时状态数快速统计方法的逻辑示意图。具体实施方式为了便于理解本专利技术,下面将参照相关附图对本专利技术进行更全面的描述。附图中给出了本专利技术的较佳实施方式。但是,本专利技术可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本专利技术的公开内容理解的更加透彻全面。需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。除非另有定义,本文所使用的所有的技术和科学术语与属于本专利技术的
的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本专利技术。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。实施例请参照图1,本实施例提供一种基于树状结构资源分布的实时状态数快速统计方法,包括以下步骤:步骤S1、构造一个存储资源数据和展示资源分布的n叉树结构的组织树或区域树,其中各类业务资源作为树的叶子结点;步骤S2、自下而上,按层统计树中每个非叶子结点下的所有叶子结点资源的状态;步骤S3、向根结点寻找最短路径,对该路径下的非叶子结点触发一次资源状态统计。进一步的,所述n叉树包括表示组织或区域的结点,作为树的非叶子结点。进一步的,所述n叉树包括表示业务资源的结点,作为树的叶子结点。进一步的,所述n叉树中,每个非叶子结点保存了该组织或区域的关键属性,以及该结点的所有叶子结点资源状态统计数据集。进一步的,所述n叉树中,每个树结点可以准确访问父结点,也可以准确访问所有子结点。进一步的,所述步骤S2包括以下步骤:步骤S21、初始化业务资源数据并构造n叉树时,按组织或区域结点对资源状态进行首次统计,并作为各自非叶子结点的资源状态统计数据集的初始值;步骤S22、对树结点的资源状态统计集数据进行初始化或校验时,触发的按层统计;步骤S23、每一层的每个结点的资源状态统计数据集的计算,都要依赖于该结点的所有子结点的资源状态统计数据集以及该结点下的叶子结点资源状态集;步骤S24、每个叶子结点的资源状态只会遍历和统计一次。进一步的,所述步骤S3中,所述向根结点寻找最短路径并进行结点资源的状态统计的情况,出现在当某个叶子结点资源的状态发生变化时,以该结点的父结点为起点,向上到根结点寻找到最短路径,对该最短路径下的所有结点触发一次资源状态统计集的重新计算。进一步的,所述对最短路径中的结点统计,采用自下而上的方式,子结点先进行统计,使得父结点的资源状态统计数据集需要依赖于子结点的资源状态统计数据集来计算得到。进一步的,所述资源状态统计数据集按资源类型分类,按资源状态分类,对同类型的相同状态进行求和而得到的一个数据集合。具体的,本实施方式中,以双链表的方式构建一个n叉树结构的组织树,组织结点按层次自上而下,分为xxx省、xxx市公安局、xxx区(县)分局、xxx派出所、xxx街道,其中xxx省作为树的根结点;把省、市、区(县)、派出所、街道下的摄像头、解码器、NVR等设备资源挂到相应的结本文档来自技高网...

【技术保护点】
1.一种基于树状结构资源分布的实时状态数快速统计方法,其特征在于,包括以下步骤:/n步骤S1、构造一个存储资源数据和展示资源分布的n叉树结构的组织树或区域树,其中各类业务资源作为树的叶子结点;/n步骤S2、自下而上,按层统计树中每个非叶子结点下的所有叶子结点资源的状态;/n步骤S3、向根结点寻找最短路径,对该路径下的非叶子结点触发一次资源状态统计。/n

【技术特征摘要】
1.一种基于树状结构资源分布的实时状态数快速统计方法,其特征在于,包括以下步骤:
步骤S1、构造一个存储资源数据和展示资源分布的n叉树结构的组织树或区域树,其中各类业务资源作为树的叶子结点;
步骤S2、自下而上,按层统计树中每个非叶子结点下的所有叶子结点资源的状态;
步骤S3、向根结点寻找最短路径,对该路径下的非叶子结点触发一次资源状态统计。


2.根据权利要求1所述的基于树状结构资源分布的实时状态数快速统计方法,其特征在于,所述n叉树包括表示组织或区域的结点,作为树的非叶子结点。


3.根据权利要求1所述的基于树状结构资源分布的实时状态数快速统计方法,其特征在于,所述n叉树包括表示业务资源的结点,作为树的叶子结点。


4.根据权利要求1所述的基于树状结构资源分布的实时状态数快速统计方法,其特征在于,所述n叉树中,每个非叶子结点保存了该组织或区域的关键属性,以及该结点的所有叶子结点资源状态统计数据集。


5.根据权利要求1所述的基于树状结构资源分布的实时状态数快速统计方法,其特征在于,所述n叉树中,每个树结点可以准确访问父结点,也可以准确访问所有子结点。


6.根据权利要求1所述的基于树状结构资源分布的实时状态数快速统计方法,其特征在于,所述步骤S2包括以下步骤:
步骤S2...

【专利技术属性】
技术研发人员:马兴
申请(专利权)人:深圳英飞拓智能技术有限公司
类型:发明
国别省市:广东;44

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

1