CN105207793A - 一种树状拓扑结构中节点信息的获取方法和系统 - Google Patents
一种树状拓扑结构中节点信息的获取方法和系统 Download PDFInfo
- Publication number
- CN105207793A CN105207793A CN201410238734.3A CN201410238734A CN105207793A CN 105207793 A CN105207793 A CN 105207793A CN 201410238734 A CN201410238734 A CN 201410238734A CN 105207793 A CN105207793 A CN 105207793A
- Authority
- CN
- China
- Prior art keywords
- nodes
- node
- nodes encoding
- encoding
- coverage
- 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.)
- Granted
Links
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开一种树状拓扑结构中节点信息的获取方法,根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述树状拓扑结构中的各节点进行编码;分别存储所述各节点编码和各节点编码覆盖范围;存储所述树状拓扑结构中各节点的信息,根据所述各节点编码确定所述各节点信息的存储位置;获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述相应的存储位置中获取这些节点的信息。通过本发明可实现节点信息高速获取。本发明还公开一种树状拓扑结构中节点信息的获取装置。
Description
技术领域
本发明涉及网络信息获取领域,具体涉及一种拓扑节点信息的获取方法和系统。
背景技术
在互联网络拓扑结构中,树状拓扑结构是常用的典型的拓扑结构,树状拓扑结构中会涉及大量的节点,这些节点的地理位置相对分散,为了对大量的节点进行管理,可根据需要将节点分片和分层。比如全国节点按省划分,省内节点按市划分、市内节点按照设备类型划分、某种设备类型的节点按照商家划分,其划分方法多种多样。这种对节点的划分称为拓扑结构,由于划分方法的多样性决定了拓扑结构是多种多样,由于业务的变化,会有新的节点被加入到拓扑结构中,导致拓扑结构发生变化。这种变化的频度一般以天为粒度,不会分分钟都在变化,因此拓扑结构和节点间是相对动态的。
有了树状拓扑结构就可以按照树状拓扑结构来管理和监控这些节点,管理和监控是从上向下来层层查看,每次查看当前层和下一层节点,最后定位到具体的节点。以网元为例,告警是发生在网元上,需要一层层向上汇聚,最终汇聚到根节点。如果需要获取全国的网元告警信息,则需要从最底层开始进行每层网元的告警信息获取,然后层层汇聚,最终获取全国网元的告警信息;若获取各省网元的告警信息,则仍需要从该省所包含的最底层开始进行每层网元的告警信息获取。查看这些获取的信息时,则先查看最高层级的节点,如全国的网元告警信息,若某省的网元告警较多,可进一步查看该省内各个市告警情况,对于告警比较多的市可以查看是哪个BSC下的告警较多,最后定位到具体某个BTS。
这种由下向上层层汇聚信息最终完成某个节点或某层级节点的信息获取是当前普遍的获取方法,对于接收到的任一条节点信息,需先根据信息包含的节点标识找到相应的节点,对这个节点上的信息进行获取,然后找到其父节点,对相应的父节点信息进行获取,然后再找到父节点的父节点再进行获取。在此依旧以获取网元告警数量为例,当要对某节点的信息进行获取时,需要从底层节点开始层层向上汇总,任何一条告警都需要从叶子节点开始之上的每一层进行计数,如果拓扑层级很多,告警数量庞大,计数的次数随着层级的增长呈乘积状增长,并且为了保证各层级之间数据的一致性,每一条告警在每一个层级上进行计数操作必须是原子操作(即如果为九个层级,九个层级都计数或九个层级都不计数,不允许从中间层级开始计数),单条告警在每一个层级上的计数操作不能被打断,信息获取的效率是非常低的。
由于拓扑结构和节点间是相对动态的关系,当节点发生增加和删除时,拓扑结构会随之发生变化,辖区内相同的节点按照不同的需求进行管理,也会产生不同的拓扑结构。当拓扑结构发生变化时,为反映新的拓扑结构,所有的节点信息均需要重新进行获取,不但消耗资源,而且非常耗时。
对于节点中的信息获取在网络管理过程中有着非凡的意义,基于信息获取的结果,可对各节点的各种信息进行统计,这些统计数据对网络的管理和监控起着至关重要的作用。提高信息获取的效率也意味着提高节点信息统计的效率,从而提高网络管理和监控的水平。
因此一种高效快速对树状拓扑结构中的节点信息进行获取的方法亟待出现。
发明内容
本发明提供一种树状拓扑结构中节点信息的获取方法,其特征在于,所述方法包括:
根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述拓扑结构中的各节点进行编码;
分别存储所述各节点编码和各节点编码覆盖范围;
存储所述树状拓扑结构中各节点的信息,根据所述各节点编码确定所述各节点信息的存储位置;
根据信息获取需求,获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述各节点信息相应的存储位置中获取这些节点的信息。
优选的,在根据树状拓扑结构中各子树节点间的包含、交叠关系,对所述拓扑结构中的各节点进行编码的步骤之前,所述方法还包括:
将单向图拓扑结构转化为树状拓扑结构;
对所述转换后的树状拓扑结构进行节点排重。
优选的,所述方法还包括:
保存所述树状拓扑结构中间层级所有节点的节点编码覆盖范围获取结果和所述中间层级的节点信息获取结果;
根据所述中间层级所有节点的节点编码覆盖范围获取结果和节点信息获取结果对比中间层级高的层级节点信息进行获取。
优选的,
当所述树状拓扑结构发生改变时,根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对新拓扑结构中的各节点重新编码和存储;
重新获取并保存所述中间层级所有节点的节点编码覆盖范围获取结果和节点信息获取结果。
详细的,根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述树状拓扑结构中的各节点进行编码的方法具体为:
依照所述树状拓扑结构中父节点包含子节点、父节点与其所有子节点之和等于所述父节点代表树的节点总数、兄弟子树节点无交叠的原则,对所述树状拓扑结构中的各节点进行编码;根据所述父节点包含子节点关系确定各节点的节点编码覆盖范围。
进一步的,
创建节点编码数组存储所述各节点编码,所述节点编码数组下标为各节点编码,每个存储位置存储与其节点编码对应的节点名称;
创建节点编码覆盖范围存储表存储所述节点编码覆盖范围,以所述节点编码作为关键字,每行存储该节点编码覆盖范围的头部节点编码和尾部节点编码;
创建信息存储数组,所述数组下标为所述各节点编码,每个存储位置存储该节点的信息。
更进一步的,
所述获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述相应的存储位置中获取这些节点的信息的方法为:
根据所述目标节点名称获取所述目标节点编码,并在所述节点编码覆盖范围数组中的相应位置获得该节点编码覆盖范围;
根据所述节点编码覆盖范围在所述节点编码数组中获得落在该节点编码覆盖范围中的所有节点编码;
根据所述获得的所有节点编码,在所述信息存储数组的相应位置获得各节点的信息。
本发明还公开一种树状拓扑结构中节点信息的获取装置,所述装置包括:
编码规则设置单元,用于根据树状拓扑结构中各子树节点间的包含关系和交叠关系设定所述各节点的编码规则;
节点编码存储单元,用于根据所述编码规则设置单元设置的编码规则对所述树状拓扑结构中的各节点进行编码,并存储所述各节点编码和各节点编码覆盖范围;
节点信息存储单元,用于存储所述树状拓扑结构中各节点的信息,根据所述节点编码存储单元中的各节点编码确定所述各节点信息的存储位置;
节点信息获取单元,用于根据信息获取需求,在节点编码存储单元中获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述节点信息存储单元相应的存储位置中获取这些节点的信息。
优选的,所述装置还包括:
拓扑结构转换单元,用于将单向图拓扑结构转化为树状拓扑结构;对所述转换后的树状拓扑结构进行节点排重。
优选的,所述装置还包括:
中间层结果保存单元,保存所述节点信息获取单元获取的所述树状拓扑结构中间层级所有节点的节点编码覆盖范围和所述中间层级的节点信息获取结果;
所述节点信息获取单元可根据所述中间层结果保存单元保存的中间层级所有节点编码覆盖范围获取结果和中间层级的节点信息获取结果,对比中间层级高的层级节点信息进行获取。
优选的,
当所述树状拓扑结构发生改变时,所述节点编码存储单元根据所述编码规则设置单元设置的编码规则对新树状拓扑结构中的各节点进行重新编码和存储;
所述节点信息获取单元重新获取所述树状拓扑结构中间层级所有节点的节点编码覆盖范围和节点信息获取结果,更新至所述中间层保存结果单元。
具体的,
所述编码规则设置单元设置的编码规则具体为:
所述树状拓扑结构中父节点包含子节点;
父节点与其所有子节点之和等于所述父节点代表树的节点总数;
兄弟子树节点无交叠;
根据所述父节点包含子节点关系确定各节点的节点编码覆盖范围。
详细的,
所述节点编码存储单元进一步包括:
节点编码模块,用于根据所述编码规则设置单元设置的编码规则对所述树状拓扑结构中的各节点进行编码;
节点编码存储模块,用于根据所述节点编码模块的节点编码与节点名称对所述节点编码和节点名称进行存储;
节点编码覆盖范围存储模块,用于根据所述编码规则设置单元设置的编码规则中对节点编码覆盖范围的确定方法获得各节点的编码范围并存储。
具体的:
所述节点编码存储模块以数组存储所述节点编码和节点名称,数组下标为所述节点编码,在与所述数组下标相应的位置存储该节点名称;
所述节点编码覆盖范围存储模块以表结构存储所述节点编码覆盖范围,以所述节点编码作为关键字,每行存储该节点编码覆盖范围的头部节点编码和尾部节点编码;
所述节点信息存储单元以数组存储所述节点信息,数组下标为所述各节点编码,在与所述数组下标相应的位置存储该节点的信息。
详细的,
所述节点信息获取单元进一步包括:
节点编码获取模块,用于根据所述目标节点名称,在所述节点编码存储模块中获取与该节点名称相应的节点编码;
节点编码覆盖范围获取模块,用于根据所述节点编码获取模块获取的节点编码,在所述节点编码覆盖范围存储模块中获取该节点的编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码;
节点信息获取模块,用于根据所述节点编码覆盖范围获取模块获取的该节点编码覆盖范围中的所有节点编码,在所述节点信息存储单元中获取所述所有节点的信息。
本发明通过对树状拓扑结构中的节点按照一定规则进行编码后,获得每个节点的编码覆盖范围,将树状节点结构扁平化,将层层传递汇聚节点的方式转化为一次获得目标节点编码覆盖范围内的所有节点的简单获取方式,大大减少了获取节点的次数,具有非常高的节点获取效率;其次本发明将树状拓扑结构中各节点所附带的业务信息与各节点标识进行剥离,在执行每次的获取任务时,可抛开业务信息,根据各节点编码覆盖范围,快速获取本次任务所涉及的所有节点,进而获取这些节点的业务信息,完成获取任务,由于每个节点都有节点编码和对应覆盖范围,因此获取任务所涉及的节点是非常简单迅速的,当拓扑结构发生变化时,只需要重新加载拓扑结构并重新编码即可,避免了现有技术中对所有节点的信息按照新的拓扑结构进行重新获取,进一步提高了节点信息获取的效率和灵活性;再次本发明通过将单向图拓扑结构转换为树状拓扑结构的方法,实现对单向图拓扑结构的节点获取和节点信息获取,具有更广的应用范围;更进一步的,本发明可将拓扑结构中的相同层级的所有节点作为目标节点,进行层级的节点信息获取,同时引进中间层级的概念,保存中间层级的节点获取和信息获取结果,在拓扑结构层级非常多的情况下,直接应用中间层级的获取结果对高层级进行获取,在服务于复杂拓扑结构的同时进一步的提高了信息获取的效率。
附图说明
图1为本发明实施例一提供的一种树状拓扑结构中节点信息的获取方法流程示意图;
图2为本发明实施例二提供的方法流程示意图;
图3为本发明实施例三提供的方法流程示意图;
图4为本发明实施例三提供的中间层级示意图;
图5为本发明实施例四提供的方法流程示意图;
图6为本发明实施例四提供的实际树状拓扑结构示意图;
图7为本发明实施例四提供的树状拓扑结构编码示意图;
图8为本发明实施例五提供的一种树状拓扑结构中节点信息的获取装置结构示意图;
图9为本发明实施例六提供的结构示意图。
具体实施方式
树状拓扑结构是实际应用中极为常见的一种拓扑结构,即每个子节点只有一个父节点;单向图拓扑结构允许一个子节点包含有两个或多个父节点,可通过将单向图拓扑结构转化为树状拓扑结构后,应用本发明的拓扑节点信息获取方法。
拓扑结构可以变动,拓扑结构变动后,上层节点的获取数需要相应的进行变化以反应拓扑的变化。一种拓扑中包含的节点数可以达到千万级。这些节点上所携带的业务信息也是相当庞大的。通信网络中各级网元是树状拓扑结构最直观的体现,每个网元都是树状拓扑结构中的一个节点,且每个网元上都会产生不同数量的告警,在告警风暴时,需要高速将告警进行汇聚,并且需要实时进行查看,查看要保证当前节点的告警数为所有子节点告警数的加和或当前层告警数为下层告警数的加和。告警风暴时每秒发生的告警可以达到万条/秒。对于有千万节点八九个层级的拓扑,每条告警几乎要在每一个层级上进行汇总,如果告警发生速度为10000条/秒,那么每秒进行9*10000次/秒计数,计数的次数随层级增长成乘积状增长,对信息获取的效率有着巨大的影响。由于树状拓扑结构的相似性,本发明可以适用任何需要层层传递汇总获取信息的场景。
以下将配合图式及实施例来详细说明本发明的实施方式,藉此对本发明如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
下面如图1所示,给出本发明的实施例一阐述一种树状拓扑结构中节点信息的获取方法,如所述方法包括:
步骤S101:根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述树状拓扑结构中的各节点进行编码。
树状拓扑结构最顶层的节点称为根节点,树状拓扑结构可分为多个子树,每个节点代表自己和以自己为根节点的子树,子树中包含有很多节点,根节点可作为父节点,包含多个子节点,其子节点亦可作为父节点,也包含多个子节点。一个父节点可包含多个子节点,一个子节点只有一个父节点。各子树间的节点无交叠。
对拓扑结构中的各节点进行编码,其目的是将复杂的树状拓扑结构进行扁平化和简单化,对简单的结构进行的操作,其效率将提高。
步骤S102:分别存储所述各节点编码和各节点编码覆盖范围。
对所有节点均编码之后,各节点编码覆盖范围即标识了节点间的包含关系。节点为根节点,落在该节点编码覆盖范围内的节点即为以根节点为子树上的所有节点。
步骤S103:存储所述树状拓扑结构中各节点的信息,根据所述各节点编码确定所述各节点信息的存储位置。
将各节点信息进行提取,实现业务数据信息与拓扑结构的分离,对简单的通过编码描述的拓扑结构进行操作时就可以不附加数据信息,能够进一步提高效率。
步骤S104:根据信息获取需求,获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述各节点信息相应的存储位置中获取这些节点的信息。
信息获取需求,即需要对哪个节点或哪些节点进行信息获取,则将这个节点或这些节点确定为目标节点进行信息获取。通过节点编码覆盖范围获取目标节点所包含的所有节点编码,再去这些节点信息的存储位置中获得这些节点的信息。
为了扩大本发明的应用范围,将单线图拓扑结构转化为树状拓扑结构进行节点获取,并更好的说明本发明如何对节点进行信息获取,下面结合实例给出本发明的实施例二,如图2所示:
步骤S201:将单向图拓扑结构转化为树状拓扑结构。
单向图允许一个子节点有多个父节点,将单向图按照树状拓扑结构一个子节点仅有一个父节点的规则将其转换为树状拓扑结构。因此拆分为树状拓扑结构时会出现多个父节点包含相同的子节点的情况。
步骤S202:对所述转换后的树状拓扑结构进行节点排重。
针对步骤S201中出现的相同子节点的情况,对这些相同子节点进行排重,识别并记录相同的节点即可。
将单向图转化为树状拓扑结构后,扩大了本发明的应用范围。
步骤S203:根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述拓扑结构中的各节点进行编码。
树状拓扑结构中,每个节点代表自己和以自己为根节点的子树,对树状拓扑结构的编码需要体现节点间原有的关系,按照以下规则对节点进行编码。
一)、树状拓扑结构中父节点包含子节点;
二)、父节点与其所有子节点之和等于所述父节点代表树的节点总数;
三)、兄弟子树节点无交叠。
根据所述父节点包含子节点关系确定各节点的节点编码覆盖范围。
步骤S204:创建节点编码数组存储所述各节点编码,创建节点编码覆盖范围存储表存储所述节点编码覆盖范围。
所述节点编码数组下标为各节点编码,每个存储位置存储与其节点编码对应的节点名称。
所述节点编码覆盖范围存储表以所述节点编码作为关键字,每行存储该节点编码覆盖范围的头部节点编码和尾部节点编码。
步骤S205:创建信息存储数组,所述数组下标为所述各节点编码,每个存储位置存储该节点的信息。
信息存储数组实现了节点和业务信息的分离,在执行拓扑查找节点的过程中,仅对编码查找即可,当找到目标节点后,再取其业务信息。由于数组下标与为各节点编码一致,数组中每个位置存储着节点编码与其下标一致的节点信息,在获取信息时根据节点编码就可以简便快捷获取相应节点的信息。
步骤S206:根据信息获取需求,由目标节点名称获取所述目标节点编码,并在所述节点编码覆盖范围存储表中的获得该节点编码覆盖范围。
节点编码数组中存储了节点编码和节点名称,节点编码即为数组下标。因此根据节点名称可获取该节点的节点编码。
步骤S207:根据所述节点编码覆盖范围获得落在该节点编码覆盖范围中的所有节点编码。
步骤S208:根据所述获得的所有节点编码,在所述信息存储数组的相应位置获得各节点的信息,对信息进行获取。
对节点进行编码在一定程度上简化了树形结构,在此基础上采用数组进行存储可以获得更快的查找速度,由于数组下标与节点编码一致,可快速的获得相应位置的节点编码,进而快速获得这些节点的信息,与传统的层层获取信息相比效率大大提高。
在树形拓扑结构包含有众多层级且具有庞大的节点数量时,为了提高获取效率,在本发明的实施例二的基础上,增加中间层级的节点信息获取结果的保存,当获取高层级的节点信息时,直接通过中间层级节点信息获取结果获取即可,能大大提高效率,下面给出本发明的实施例三,如图3所示,所述方法包括:
步骤S301:根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述拓扑结构中的各节点进行编码。
步骤S302:分别存储所述各节点编码和各节点编码覆盖范围。
步骤S303:存储所述树状拓扑结构中各节点的信息,根据所述各节点编码确定所述各节点信息的存储位置。
步骤S304:获取树状拓扑结构中间层级所有节点的节点编码覆盖范围。
步骤S305:根据中间层级所有节点的节点编码覆盖范围获取所有落在编码覆盖范围中的节点编码,并保存这些节点编码覆盖范围。
中间层级指树状拓扑结构中位于中间的层级,如树状拓扑结构有3个层级,则第二层为中间层级,如树状拓扑结构有9个层级则第五层为中间层级,如树状结构中有10个层级,则第五层、第六层为中间层级,在这两个中间层级中任选一进行保存即可。
步骤S306:根据获取的所有节点编码,在所述信息存储数组中获得这些节点的信息,并保存这些节点和节点信息。
保存节点和节点信息,即存储中间层级节点编码覆盖范围和信息的获取结果,当树状拓扑结构过于庞大时,为了进一步提高效率,存储中间层级的相关信息,当对高层级进行信息获取时,就可以直接应用中间层级的结果,减少了运算量,提高运算速度。当然,如果获取低层级的节点信息,就直接根据低层级的节点编码覆盖范围进行获取即可。
中间层级示意图如图4所示。
步骤S307:获取高层级某个节点的节点编码覆盖范围,进而获得落在其范围内的中间层级节点编码。
步骤S308:直接获得与步骤307中件层级节点编码对应的已保存中间层级节点信息。
当所述树状拓扑结构发生改变时,根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对新拓扑结构中的各节点重新编码和存储。
重新获取并保存所述中间层级所有节点的节点编码覆盖范围获取结果和节点信息获取结果。
为了更好的阐述本发明,下面结合应用实例给出本发明的实施例四,如图5所示,以网元的树状拓扑结构为例,树状拓扑结构示意如图6所示。
步骤S401:根据上文中所述的编码规则,对树状拓扑结构中的所有节点进行编码。
编码规则为:
一)、树状拓扑结构中父节点包含子节点;
二)、父节点与其所有子节点之和等于所述父节点代表树的节点总数;
三)、兄弟子树节点无交叠。
根节点为“全省”,其作为父节点时,所属的一级子节点为“武汉”、“宜昌”、“襄樊”、“荆州”,每个一级子节点作为父节点时,又分别包含有四个二级子节点,该树状拓扑结构一共有四个兄弟子树。
在编码时,“全省”编码为11,包含1-21的编码,编码个数为21个,“全省”加上其包含的所有子节点总数为21个。“武汉”编码为3,包含1-5的编码,“宜昌”编码为8,包含6-10的编码,“襄樊”编码为14,包含12-16的编码,“荆州”编码为19,包含17-21的编码,各兄弟子树的编码均无交叠。
编码后的树状拓扑结构示意如图7所述。
步骤S402:将节点编码和节点名称存储入节点编码数组。
数组下标为节点编码,每个存储位置保存与该位置数组下标一致的节点名称。如表1所示:
表1节点编码数组示意
步骤S403:将每个节点编码所对应的节点编码覆盖范围存入节点编码覆盖范围存储表。
以节点编码作为节点编码覆盖范围存储表的关键字,每行存储该节点的节点编码、节点编码覆盖范围的起始节点、节点编码覆盖范围的终止节点。如表2所示:
表2节点编码覆盖范围存储示意
步骤S404:将每个节点的节点信息存入节点信息数组。
节点编码与数组下标相对应,每个存储位置存储该节点的相关信息。可存储简单节点的告警数量,也可以存储该节点的其他信息。
这里我们假设根据实际信息获取需求,获取“全省”的告警数量信息。
步骤405:根据“全省”的节点名称,在节点编码数组中获取该节点的节点编码为11。
步骤S406:在节点编码覆盖范围存储表中获得节点编码为11的节点覆盖范围。
节点编码为11的节点,覆盖了1至21号节点。
步骤S407:在节点信息数组中获取编号为1至21号每个节点的节点信息。
在节点信息数组中分别获取1至21号节点中每个节点上的告警数量,将这些告警数量进行加和得到统计数据。
需要说明的是,当拓扑结构发生变化时,只需要对节点进行重新编码存储后,按照同样的方式进行获取即可,处理方式也非常的灵活。
通过本发明提供的方法,对节点信息进行获取时,只需要最后一个步骤的一次计算即可获得结果,这就大大减少了计算和搜索的次数;其次,在对节点进行编码后,树状拓扑结构已经被扁平化,复杂的名称也转换为简单的数字,采用简单的数组进行存储,搜索和比较都是对简单数字进行操作,进一步的提高了搜索和计算的效率;再次,通过将节点和节点信息的分离,搜索步骤不涉及节点信息,大大提高了搜索计算的灵活性,可自如应对拥有庞大节点数量树状拓扑结构的信息获取工作。当树状拓扑结构的节点数非常庞大时,为了进一步的提高效率,本发明提出了保存中间层级获取结果的方式,可应用中间层级获取结果对高层级上的节点进行信息获取。
综上所述本发明具有高效快速获取树状拓扑结构中节点信息的能力。
本发明还提供一种树状拓扑结构中节点信息的获取装置用以实现一种树状拓扑结构中节点信息的获取方法,下面给出本发明的实施例五用以说明所述装置的具体结构,如图8所示。
一种树状拓扑结构中节点信息的获取装置包括:
编码规则设置单元101,用于根据树状拓扑结构中各子树节点间的包含关系和交叠关系设定所述各节点的编码规则。
节点编码存储单元102,用于根据所述编码规则设置单元101设置的编码规则对所述树状拓扑结构中的各节点进行编码,并存储所述各节点编码和各节点编码覆盖范围。
节点信息存储单元103,用于存储所述树状拓扑结构中各节点的信息,根据所述节点编码存储单元102中的各节点编码确定所述各节点信息的存储位置。
节点信息获取单元104,用于根据业务获取需求,在节点编码存储单元102中获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述节点信息存储单元103相应的存储位置中获取这些节点的信息,对所述获得的信息进行获取。
为了扩大本发明的应用范围,使得单向图拓扑结构也可以应用本发明,同时在拓扑结构中节点数量庞大的情况下提高装置的获取速度,优选的,本发明装置还可以包括:
拓扑结构转换单元105,用于将单向图拓扑结构转化为树状拓扑结构;对所述转换后的树状拓扑结构进行节点排重。
中间层结果保存单元106,保存所述获取节点信息获取单元104获取的所述树状拓扑结构中间层级所有节点的节点编码覆盖范围和所述中间层级的节点信息获取结果。
所述获取节点信息获取单元104可根据所述中间层结果保存单元106保存的中间层级所有节点编码覆盖范围获取结果和中间层级的节点信息获取结果,对比中间层级较高的层级节点信息进行获取。
对于本装置各部分的工作原理在上文方法描述中已有详细介绍,不再赘述。
下面给出本发明的实施例六,详细的说明本装置各模块的结构,如图9所示。
编码规则设置单元101,用于根据树状拓扑结构中各子树节点间的包含关系和交叠关系设定所述各节点的编码规则。
所述树状拓扑结构中父节点包含子节点;
父节点与其所有子节点之和等于所述父节点代表树的节点总数;
兄弟子树节点无交叠;
根据所述父节点包含子节点关系确定各节点的节点编码覆盖范围。
节点编码存储单元102进一步包括:
节点编码模块1021,用于根据所述编码规则设置单元设置的编码规则对所述树状拓扑结构中的各节点进行编码。
节点编码存储模块1022,用于根据所述节点编码模块的节点编码与节点名称对所述节点编码和节点名称进行存储。
节点编码覆盖范围存储模块1023,用于根据所述编码规则设置单元设置的编码规则中对节点编码覆盖范围的确定方法获得各节点的编码范围并存储。
节点编码覆盖范围存储模块以存储表存储所述节点编码覆盖范围,存储表以所述节点编码作为关键字,每行存储该节点编码覆盖范围的头部节点编码和尾部节点编码。
节点信息存储单元103,用于存储所述树状拓扑结构中各节点的信息,根据所述节点编码存储单元102中的各节点编码确定所述各节点信息的存储位置。
获取节点信息获取单元104进一步包括:
节点编码获取模块1041,用于根据所述目标节点名称,在所述节点编码存储模块中获取与该节点名称相应的节点编码。
节点编码覆盖范围获取模块1042,用于根据所述节点编码获取模块获取的节点编码,在所述节点编码覆盖范围存储模块中获取该节点的编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码。
节点信息获取模块1043,用于根据所述节点编码覆盖范围获取模块获取的该节点编码覆盖范围中的所有节点编码,在所述节点信息存储单元中获取所述所有节点的信息。
拓扑结构转换单元105,用于将单向图拓扑结构转化为树状拓扑结构;对所述转换后的树状拓扑结构进行节点排重。
中间层结果保存单元106,保存所述获取节点信息获取单元104获取的所述树状拓扑结构中间层级所有节点的节点编码覆盖范围和所述中间层级的节点信息获取结果。
本装置的工作原理为:
通过拓扑结构转换单元105将单向图拓扑结构转换为树形拓扑结构之后,节点编码模块1021根据编码规则设置单元101设置的编码规则,对树形拓扑结构中的各节点进行编码,节点编码存储模块1022存储这些节点编码,节点编码覆盖范围存储模块1023存储各节点的编码覆盖范围,节点信息存储单元103依照节点编码存储各节点信息。进行节点信息获取工作时,节点编码获取模块1041从节点编码存储模块1022中获取目标节点的节点编码,根据获取的节点编码,节点编码覆盖范围获取模块1042从节点编码覆盖范围存储模块1023中获取目标节点的节点编码覆盖范围,再由节点信息获取模块1043根据节点编码覆盖范围中的节点编码在节点信息存储单元103中获取节点信息。最后将节点信息发给统计数据使用者。当树状拓扑结构过于庞大时,可利用中间层结果保存单元保存中间层级的获取结果,对高层级进行信息获取时直接应用即可。
所述各部分的相关描述和各模块的工作原理参见本发明方法部分实施例的描述,在此不再赘述。
虽然本发明所揭露的实施方式如上,然而所述的内容并非用以直接限定本发明的保护范围。任何本发明所属技术领域中技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作些许的更动。本发明的保护范围,仍须以所附的权利要求书所界定的范围为准。
Claims (15)
1.一种树状拓扑结构中节点信息的获取方法,其特征在于,所述方法包括:
根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述树状拓扑结构中的各节点进行编码;
分别存储所述各节点编码和各节点编码覆盖范围;
存储所述树状拓扑结构中各节点的信息,根据所述各节点编码确定所述各节点信息的存储位置;
根据信息获取需求,获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述各节点信息相应的存储位置中获取这些节点的信息。
2.根据权利要求1所述的方法,其特征在于,在根据树状拓扑结构中各子树节点间的包含、交叠关系,对所述树状拓扑结构中的各节点进行编码的步骤之前,所述方法还包括:
将单向图拓扑结构转化为树状拓扑结构;
对所述转换后的树状拓扑结构进行节点排重。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
保存所述树状拓扑结构中间层级所有节点的节点编码覆盖范围获取结果和所述中间层级的节点信息获取结果;
根据所述中间层级所有节点的节点编码覆盖范围获取结果和节点信息获取结果对比中间层级高的层级节点信息进行获取。
4.根据权利要求3所述的方法,其特征在于:
当所述树状拓扑结构发生改变时,根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对新拓扑结构中的各节点重新编码和存储;
重新获取并保存所述中间层级所有节点的节点编码覆盖范围获取结果和节点信息获取结果。
5.根据权利要求1~4中任一所述的方法,其特征在于,根据树状拓扑结构中各子树节点间的包含关系和交叠关系,对所述树状拓扑结构中的各节点进行编码的方法具体为:
依照所述树状拓扑结构中父节点包含子节点、父节点与其所有子节点之和等于所述父节点代表树的节点总数、兄弟子树节点无交叠的原则,对所述树状拓扑结构中的各节点进行编码;根据所述父节点包含子节点关系确定各节点的节点编码覆盖范围。
6.根据权利要求5所述的方法,其特征在于:
创建节点编码数组存储所述各节点编码,所述节点编码数组下标为各节点编码,每个存储位置存储与其节点编码对应的节点名称;
创建节点编码覆盖范围存储表存储所述节点编码覆盖范围,以所述节点编码作为关键字,每行存储该节点编码覆盖范围的头部节点编码和尾部节点编码;
创建信息存储数组,所述数组下标为所述各节点编码,每个存储位置存储该节点的信息。
7.根据权利要求5所述的方法,其特征在于,所述获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述相应的存储位置中获取这些节点的信息的方法为:
根据所述目标节点名称获取所述目标节点编码,并在所述节点编码覆盖范围数组中的相应位置获得该节点编码覆盖范围;
根据所述节点编码覆盖范围在所述节点编码数组中获得落在该节点编码覆盖范围中的所有节点编码;
根据所述获得的所有节点编码,在所述信息存储数组的相应位置获得各节点的信息。
8.一种树状拓扑结构中节点信息的获取装置,其特征在于,所述装置包括:
编码规则设置单元,用于根据树状拓扑结构中各子树节点间的包含关系和交叠关系设定所述各节点的编码规则;
节点编码存储单元,用于根据所述编码规则设置单元设置的编码规则对所述树状拓扑结构中的各节点进行编码,并存储所述各节点编码和各节点编码覆盖范围;
节点信息存储单元,用于存储所述树状拓扑结构中各节点的信息,根据所述节点编码存储单元中的各节点编码确定所述各节点信息的存储位置;
节点信息获取单元,用于根据信息获取需求,在节点编码存储单元中获取目标节点的节点编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码,根据获得的所述所有节点编码,在所述节点信息存储单元相应的存储位置中获取这些节点的信息。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
拓扑结构转换单元,用于将单向图拓扑结构转化为树状拓扑结构;对所述转换后的树状拓扑结构进行节点排重。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
中间层结果保存单元,保存所述节点信息获取单元获取的所述树状拓扑结构中间层级所有节点的节点编码覆盖范围和所述中间层级的节点信息获取结果;
所述节点信息获取单元可根据所述中间层结果保存单元保存的中间层级所有节点编码覆盖范围获取结果和中间层级的节点信息获取结果,对比中间层级高的层级节点信息进行获取。
11.根据权利要求10所述装置,其特征在于:
当所述树状拓扑结构发生改变时,所述节点编码存储单元根据所述编码规则设置单元设置的编码规则对新树状拓扑结构中的各节点进行重新编码和存储;
所述节点信息获取单元重新获取所述树状拓扑结构中间层级所有节点的节点编码覆盖范围和节点信息获取结果,更新至所述中间层保存结果单元。
12.根据权利要求8~11中任一所述的装置,其特征在于,所述编码规则设置单元设置的编码规则具体为:
所述树状拓扑结构中父节点包含子节点;
父节点与其所有子节点之和等于所述父节点代表树的节点总数;
兄弟子树节点无交叠;
根据所述父节点包含子节点关系确定各节点的节点编码覆盖范围。
13.根据权利要求12所述的装置,其特征在于,所述节点编码存储单元进一步包括:
节点编码模块,用于根据所述编码规则设置单元设置的编码规则对所述树状拓扑结构中的各节点进行编码;
节点编码存储模块,用于根据所述节点编码模块的节点编码与节点名称对所述节点编码和节点名称进行存储;
节点编码覆盖范围存储模块,用于根据所述编码规则设置单元设置的编码规则中对节点编码覆盖范围的确定方法获得各节点编码覆盖范围并存储。
14.根据权利要求13所述的装置,其特征在于:
所述节点编码存储模块以数组存储所述节点编码和节点名称,数组下标为所述节点编码,在与所述数组下标相应的位置存储该节点名称;
所述节点编码覆盖范围存储模块以表结构存储所述节点编码覆盖范围,以所述节点编码作为关键字,每行存储该节点编码覆盖范围的头部节点编码和尾部节点编码;
所述节点信息存储单元以数组存储所述节点信息,数组下标为所述各节点编码,在与所述数组下标相应的位置存储该节点的信息。
15.根据权利要求14所述的装置,其特征在于,所述节点信息获取单元进一步包括:
节点编码获取模块,用于根据所述目标节点名称,在所述节点编码存储模块中获取与该节点名称相应的节点编码;
节点编码覆盖范围获取模块,用于根据所述节点编码获取模块获取的节点编码,在所述节点编码覆盖范围存储模块中获取该节点的编码覆盖范围,进而获得落在该节点编码覆盖范围中的所有节点编码;
节点信息获取模块,用于根据所述节点编码覆盖范围获取模块获取的该节点编码覆盖范围中的所有节点编码,在所述节点信息存储单元中获取所述所有节点的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410238734.3A CN105207793B (zh) | 2014-05-30 | 2014-05-30 | 一种树状拓扑结构中节点信息的获取方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410238734.3A CN105207793B (zh) | 2014-05-30 | 2014-05-30 | 一种树状拓扑结构中节点信息的获取方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105207793A true CN105207793A (zh) | 2015-12-30 |
CN105207793B CN105207793B (zh) | 2018-10-26 |
Family
ID=54955249
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410238734.3A Active CN105207793B (zh) | 2014-05-30 | 2014-05-30 | 一种树状拓扑结构中节点信息的获取方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105207793B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106599218A (zh) * | 2016-12-16 | 2017-04-26 | 北京奇虎科技有限公司 | 一种树形结构的处理方法和装置 |
WO2018045901A1 (zh) * | 2016-09-06 | 2018-03-15 | 中兴通讯股份有限公司 | 界面生成系统、钻取服务层装置、数据发送方法 |
CN111581215A (zh) * | 2020-05-07 | 2020-08-25 | 钟士平 | 数组树数据储存方法、快速查找方法及可读储存介质 |
WO2021012486A1 (zh) * | 2019-07-19 | 2021-01-28 | 平安科技(深圳)有限公司 | 数据结构图的展示方法、装置、计算机设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064463A1 (en) * | 2002-09-30 | 2004-04-01 | Rao Raghavendra J. | Memory-efficient metadata organization in a storage array |
CN102508866A (zh) * | 2011-10-09 | 2012-06-20 | 中国电子科技集团公司第二十八研究所 | 基于数字寻址的指挥关系树结构化存储与快速处理方法 |
CN102819536A (zh) * | 2011-09-27 | 2012-12-12 | 金蝶软件(中国)有限公司 | 树型数据处理方法及装置 |
CN102841891A (zh) * | 2011-06-21 | 2012-12-26 | 金蝶软件(中国)有限公司 | 一种树状结构节点的排序方法、装置及查询系统 |
CN102867059A (zh) * | 2012-09-19 | 2013-01-09 | 浪潮(北京)电子信息产业有限公司 | 一种树形结构中数据的处理方法和系统 |
-
2014
- 2014-05-30 CN CN201410238734.3A patent/CN105207793B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040064463A1 (en) * | 2002-09-30 | 2004-04-01 | Rao Raghavendra J. | Memory-efficient metadata organization in a storage array |
CN102841891A (zh) * | 2011-06-21 | 2012-12-26 | 金蝶软件(中国)有限公司 | 一种树状结构节点的排序方法、装置及查询系统 |
CN102819536A (zh) * | 2011-09-27 | 2012-12-12 | 金蝶软件(中国)有限公司 | 树型数据处理方法及装置 |
CN102508866A (zh) * | 2011-10-09 | 2012-06-20 | 中国电子科技集团公司第二十八研究所 | 基于数字寻址的指挥关系树结构化存储与快速处理方法 |
CN102867059A (zh) * | 2012-09-19 | 2013-01-09 | 浪潮(北京)电子信息产业有限公司 | 一种树形结构中数据的处理方法和系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018045901A1 (zh) * | 2016-09-06 | 2018-03-15 | 中兴通讯股份有限公司 | 界面生成系统、钻取服务层装置、数据发送方法 |
CN106599218A (zh) * | 2016-12-16 | 2017-04-26 | 北京奇虎科技有限公司 | 一种树形结构的处理方法和装置 |
WO2021012486A1 (zh) * | 2019-07-19 | 2021-01-28 | 平安科技(深圳)有限公司 | 数据结构图的展示方法、装置、计算机设备及存储介质 |
CN111581215A (zh) * | 2020-05-07 | 2020-08-25 | 钟士平 | 数组树数据储存方法、快速查找方法及可读储存介质 |
CN111581215B (zh) * | 2020-05-07 | 2020-12-15 | 钟士平 | 数组树数据储存方法、快速查找方法及可读储存介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105207793B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109992636B (zh) | 时空编码方法、时空索引及查询方法及装置 | |
CN105684316B (zh) | 一种Polar码编码方法、装置 | |
CN103336772B (zh) | 一种单景影像瓦片数据组织方法 | |
CN107565973B (zh) | 一种结点可扩展的哈夫曼编码的实现方法及电路结构 | |
CN105207793A (zh) | 一种树状拓扑结构中节点信息的获取方法和系统 | |
CN107203532A (zh) | 索引系统的构建方法、搜索的实现方法及装置 | |
CN105451061A (zh) | 屏幕共享方法和装置 | |
CN112667860A (zh) | 一种子图匹配方法、装置、设备及存储介质 | |
CN103778203B (zh) | 一种网络管理数据无损压缩存储与检索的方法与系统 | |
CN110569972A (zh) | 超网络的搜索空间构建方法、装置以及电子设备 | |
CN108259908A (zh) | 用于编码和解码像素列表的方法和装置 | |
CN108305258A (zh) | 一种基于最小生成树的超像素分割方法、系统及存储设备 | |
CN110766089A (zh) | 超网络的模型结构采样方法、装置以及电子设备 | |
CN103607395A (zh) | 一种传输触觉数据的方法及装置 | |
CN107679127A (zh) | 基于地理位置的点云信息并行提取方法及其系统 | |
CN104951442A (zh) | 一种确定结果向量的方法和装置 | |
CN113835823A (zh) | 资源调度方法和装置、电子设备、计算机可读存储介质 | |
CN101937455B (zh) | 基于无限分层和信息遗传实现多维分类集群的创建方法 | |
CN110536087A (zh) | 电子设备及其运动轨迹照片合成方法、装置和嵌入式装置 | |
CN101917282B (zh) | 一种告警屏蔽规则的处理方法、装置及系统 | |
EP1598941A1 (en) | Encoding device and method, decoding device and method, program, and recording medium | |
WO2022141453A1 (zh) | 点云编解码方法、装置及系统 | |
CN107463462B (zh) | 数据修复方法及数据修复装置 | |
CN104360879B (zh) | 一种数据处理方法及装置 | |
CN104243201B (zh) | 网络设备测试用例对应拓扑图的存储方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180704 Address after: 510095 Dongshan Plaza, 69 martyrs Road, Yuexiu District, Guangzhou, Guangdong 2512 Applicant after: Guangzhou Yiyang Information Technology Co., Ltd. Address before: 150090 1 building, hi tech Development Zone, Songshan Road, Nangang District, Harbin, Heilongjiang. Applicant before: Yiyang Xintong Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |