CN110619066A - 一种基于目录树的信息获取方法和装置 - Google Patents

一种基于目录树的信息获取方法和装置 Download PDF

Info

Publication number
CN110619066A
CN110619066A CN201910817853.7A CN201910817853A CN110619066A CN 110619066 A CN110619066 A CN 110619066A CN 201910817853 A CN201910817853 A CN 201910817853A CN 110619066 A CN110619066 A CN 110619066A
Authority
CN
China
Prior art keywords
node
target
directory tree
dictionary
nodes
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
Application number
CN201910817853.7A
Other languages
English (en)
Other versions
CN110619066B (zh
Inventor
付林
周新海
沈军
王艳辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Visionvera Information Technology Co Ltd
Original Assignee
Visionvera Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Visionvera Information Technology Co Ltd filed Critical Visionvera Information Technology Co Ltd
Priority to CN201910817853.7A priority Critical patent/CN110619066B/zh
Publication of CN110619066A publication Critical patent/CN110619066A/zh
Application granted granted Critical
Publication of CN110619066B publication Critical patent/CN110619066B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/71Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/73Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/7867Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using information manually generated, e.g. tags, keywords, comments, title and artist information, manually generated time, location and usage information, user ratings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees

Abstract

本发明实施例提供了一种基于目录树的信息获取方法和装置,所述方法包括:根据第一字典确定目录树的根节点;将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;通过终端操作所述目标目录树以获取目录信息。上述方法可以一次性将目录树的分支节点和叶子节点加载到内存中,快速构建目标目录树,实现毫秒级搜索,毫秒级完全展开,使用户可快速获取监控信息。

Description

一种基于目录树的信息获取方法和装置
技术领域
本发明涉及视联网技术领域,特别是涉及一种基于目录树的信息获取方法和装置。
背景技术
视联网在全国各省市不同级别的组织机构中安装了大量的监控设备,监控设备和其所属的组织机构信息通过资源共享存在于数十万个网络数据包中。为了掌握这些监控设备的具体信息,可以从网络数据包中解析出监控设备和相应的组织机构信息,通过构建监控组织目录树的形式展示给用户,从而方便用户校验监控设备是否正确挂载在对应的组织之下、检验某个监控设备的信息是否包含在该目录树中等。
目前,一般都采用分级加载的方式进行目录树构建,所谓分级加载,即最开始,仅向用户展示几个根节点,当用户点击展开某个根节点的时候,程序就去数据库中寻找该根节点的直接子节点,将查找到的直接子节点即时挂载到该根节点之下。当用户继续点击子节点的时候,会继续上述步骤。上述过程需要用户一个一个点击所有节点,才能展开全部目录树,操作量较大;并且,由于程序查询数据库是需要时间的,对于查询操作,是使用数据库的sql语句操作,进行数据筛选的,这种分级加载的方式给用户的观感就是:点击一个节点,程序就要等待一会儿,直到子节点完全展开,才能进行下一步操作,非常耗时。
随着视联网监控信息和组织信息的数据量向百万级拓展,上述目录树构建的方式产生的用户操作量和所消耗的时间是非常不可接受的,从而使前端用户获取监控信息的难度加大。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于目录树的信息获取方法和装置。
为了解决上述问题,本发明实施例公开了一种基于目录树的信息获取方法,所述方法包括:
根据第一字典确定目录树的根节点;所述第一字典以每个目标组织节点对应的父组织节点作为关键词,以所述每个目标组织节点作为值;
将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;
将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;
根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;所述第二字典以每个设备对应的父组织节点作为关键词,以所述设备作为值;
通过终端操作所述目标目录树以获取目录信息。
可选地,所述根据第一字典确定目录树的根节点,包括:
确定在预设的第一集合中存在,而在预设的第二集合中不存在的目标元素;所述第一集合根据所述第一字典中的所有父组织节点为元素构建,所述第二集合根据所述第一字典中的所有目标组织节点为元素构建;
将所述目标元素作为目录树的根节点。
可选地,所述根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中,包括:
以所述当前节点作为目标关键词,在所述第一集合中检索所述目标关键词对应的所有值,得到所述目标关键词对应的所有目标组织节点;
将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中。
可选地,在将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中之后,还包括:
将检索得到的所述目标组织节点从所述第一集合中删除。
可选地,所述根据第二字典中关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,包括:
以预设的第三集合中的元素作为目标关键词,在所述第二字典中检索所述目标关键词对应的所有值;所述第三集合根据所述第二字典中的所有父组织节点作为元素构建;
若所述值存在,则将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中;所述目标子节点为所述目标关键词在所述目录树中对应的子节点;
若所述值不存在,则确定所述目标子节点下无叶子节点;
对所述第三集合中的所有元素执行上述步骤,将得到的所有叶子节点添加至所述目录树中。
可选地,在将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中之后,还包括:
将所述值对应的目标设备从所述第二字典中删除;
在对所述第三集合中的所有元素执行上述步骤之后,还包括:
确定所述第二字典中是否还有剩余的设备;
若是,则将所述剩余的设备挂载在所述根节点之下。
本发明实施例还公开一种基于目录树的信息获取装置,所述装置包括:
根节点确定模块,用于根据第一字典确定目录树的根节点;所述第一字典以每个目标组织节点对应的父组织节点作为关键词,以所述每个目标组织节点作为值;
子节点确定模块,用于将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;
分支节点确定模块,用于将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;
叶子节点确定模块,用于根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;所述第二字典以每个设备对应的父组织节点作为关键词,以所述设备作为值;
信息获取模块,用于通过终端操作所述目标目录树以获取目录信息。
可选地,所述根节点确定模块,包括:
目标元素确定子模块,用于确定在预设的第一集合中存在,而在预设的第二集合中不存在的目标元素;所述第一集合根据所述第一字典中的所有父组织节点为元素构建,所述第二集合根据所述第一字典中的所有目标组织节点为元素构建;
根节点确定子模块,用于将所述目标元素作为目录树的根节点。
可选地,所述子节点确定模块包括:
第一检索子模块,用于以所述当前节点作为目标关键词,在所述第一集合中检索所述目标关键词对应的所有值,得到所述目标关键词对应的所有目标组织节点;
第一添加子模块,用于将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中。
可选地,所述装置还包括:
第一删除模块,用于将检索得到的所述目标组织节点从所述第一集合中删除。
可选地,所述叶子节点确定模块包括:
第二检索子模块,用于以预设的第三集合中的元素作为目标关键词,在所述第二字典中检索所述目标关键词对应的所有值;所述第三集合根据所述第二字典中的所有父组织节点作为元素构建;
第二添加子模块,用于若所述值存在,则将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中;所述目标子节点为所述目标关键词在所述目录树中对应的子节点;
无叶子节点确定子模块,用于若所述值不存在,则确定所述目标子节点下无叶子节点;
第三添加子模块,用于对所述第三集合中的所有元素执行上述步骤,将得到的所有叶子节点添加至所述目录树中。
可选地,所述叶子节点确定模块还包括:
第二删除子模块,用于将所述值对应的目标设备从所述第二字典中删除;
所述装置还包括:
剩余设备确定模块,用于确定所述第二字典中是否还有剩余的设备;
挂载模块,用于若是,则将所述剩余的设备挂载在所述根节点之下。
本发明实施例包括以下优点:
本发明实施例提供的基于目录树的信息获取装置,根据第一字典确定目录树的根节点;将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;通过终端操作所述目标目录树以获取目录信息。在上述方法中,因为第一字典中所有关键词均是目录树的根节点或子节点,这样就可以查找到目录树的所有根节点或子节点对应的下一级节点,再对第二字典中的父组织节点执行同样的操作即可得到目录树的所有叶子节点。这样,就可以一次性将目录树的分支节点和叶子节点加载到内存中,快速构建目标目录树,实现毫秒级搜索,毫秒级完全展开,使用户可快速获取监控信息。
附图说明
图1是本发明的一种视联网的组网示意图;
图2是本发明的一种节点服务器的硬件结构示意图;
图3是本发明的一种接入交换机的硬件结构示意图;
图4是本发明的一种以太网协转网关的硬件结构示意图;
图5是本发明的一种基于目录树的信息获取方法实施例的步骤流程图之一;
图6是本发明的一种第一字典的示意图;
图7是本发明的一种第二字典的示意图;
图8是本发明的一种基于目录树的信息获取方法实施例的步骤流程图之二;
图9是本发明的一种第一集合的示意图;
图10是本发明的一种第二集合的示意图;
图11是本发明的一种第三集合的示意图;
图12是本发明的一种目标目录树的示意图;
图13是本发明的一种基于目录树的信息获取装置的结构框图之一;
图14是本发明的一种基于目录树的信息获取装置的结构框图之二。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
如图1所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
如图2所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
如图3所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块308是由CPU模块304来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关
如图4所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA SA Reserved Payload CRC
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA SA Reserved 标签 Payload CRC
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于视联网的上述特性,提出了本发明实施例的核心构思之一,遵循视联网的协议,根据第一字典和第二字典构建目标目录树,并通过终端操作所述目标目录树以获取目录信息。
参照图5,示出了本发明的一种基于目录树的信息获取方法实施例的步骤流程图之一,所述方法包括:
步骤501、根据第一字典确定目录树的根节点;所述第一字典以每个目标组织节点对应的父组织节点作为关键词,以所述每个目标组织节点作为值。
视联网在全国各省市不同级别的组织机构下属的区域安装了大量的监控设备。以新疆维吾尔族自治区的组织机构为例,新疆维吾尔族自治区属于中国这个根节点下的一级组织节点,新疆下属的各地市,如吐鲁番市、巴州市、伊犁市等属于新疆这个一级组织节点下的二级组织节点,而地市之下的县级组织属于三级组织节点,例如,吐鲁番市下属的托克逊县和火焰山县属于三级组织节点。在县级组织下,存在有街道、道路等四级组织节点,在四级组织节点下的公共区域里挂载有大量的视联网监控设备,例如,在托克逊街道挂载的监控设备有托克逊监控1、托克逊监控2。
在国标GBT28181(Technical requirements for information transport,switch and control in video surveillance network system for public security,公共安全视频监控联网系统信息传输、交换、控制技术要求)文档标准中:两个不同的域之间会进行资源共享,即一个域向另一个区域发送本域下所属的组织机构目录与监控设备信息,这些组织机构目录与监控设备信息是以XML格式进行存储的,且分割存在于若干个网络数据包中。为了掌握这些监控设备的设备信息和其所属的组织机构信息,可以将这些网络数据包中的XML格式信息提取出来,并将其中包含的监控设备与组织机构信息单独解析出来,根据其挂载关系,构建成一棵监控组织目录树,展示给用户,以使用户通过该目录树获取目录信息,并进一步检验监控设备是否正确挂载在对应的组织机构之下,检验某个监控的信息是否包含在该目录树中等。
其中,将监控设备的相关信息(监控设备的信息字段有:Name、DeviceID、ParentID字段)与组织机构的相关信息(组织机构的信息字段有:Name、DeviceID、ParentID字段),通过寻找其间的隶属关系,构建成一棵逻辑树结构,这样的树,就称为监控组织目录树。
在本发明实施例中,我们省略构建目录树这个工作的前半部分,即提取数据包、解析XML、提取监控设备信息的描述,仅对拿到的若干离散的监控设备与组织信息构建组织目录树的这部分工作进行描述。
首先,将组织机构中的任意一个组织节点作为目标组织节点,构建以该目标组织节点的父组织节点为关键词、该目标组织节点作为值的第一字典。具体地,目标组织节点的父组织节点,即目标组织节点的上一级组织节点,在第一字典中的存在形式为ParentID字段,目标组织节点的存在形式为Name字段、DeviceID字段。
图6为本发明的一种第一字典的示意图。参照图6,由虚线分割成两个区域,其中,左侧区域为第一字典的key(关键词),右侧区域为第一字典的value(值)。在右侧区域的value中,新疆、吐鲁番、巴州、伊犁、托克逊、火焰山、托克逊街道为各个目标组织节点,每个目标组织节点包括的字段包括Name字段,即新疆、吐鲁番、巴州等名称,DeviceID字段,即65、6501、6503等代码。每个目标组织节点对应都有父组织节点,即左侧区域的key。父组织节点是以ParentID字段的形式存在字典中。例如,新疆的ParentID为0,吐鲁番、巴州、伊犁的ParentID为6501。在第一字典中,ParentID为关键词(key),Name、DeviceID为值(value),每一个key可以对应多个value。例如,65这个ParentID可以对应6501、6503、6508三个value。
对于构建目录树来说,可以第一字典中的目标组织节点和父组织节点,作为目录树中的节点,并根据目标组织节点和父组织节点的对应关系,确定目录树中根节点和下面的分支节点。
在第一字典中,每一个目标组织节点可以成为其下一级组织节点的父组织节点,而对于目录树的根节点来说,其只存在下一级组织节点,而不存在上一级组织节点,因此,根节点在第一字典中不可能作为目标组织节点,而只能是某一个目标组织节点的父组织节点。因此,通过将第一字典中的目标组织节点的DeviceID和父组织节点的ParentID进行比较,可以从ParentID中找到目录树的根节点。
例如,在图6中,我们可以通过DeviceID和ParentID的比较,确定0为目录树的根节点。
在实际应用中,根节点的个数可以有一个或多个。在确定根节点后,将根节点逐个添加至目录树中。
步骤502、将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中。
在本发明实施例中,步骤501中从ParentID中找到目录树的根节点,因此根节点为父组织节点,父组织节点为第一字典的关键词,在第一字典中,每一个关键词对应有一个或多个值,即每一个父组织节点对应有一个或多个下一级的目标组织节点,由此可确定每一个根节点对应的一个或多个下一级节点。将根节点作为当前节点,即可以确定每一个当前节点对应的一个或多个子节点。
例如,在图6中,因为0这个ParentID对应的DeviceID为65,则我们确定0这个当前节点下面的子节点为65。
在确定根节点的子节点后,将子节点作为根节点的下一级节点添加至目录树中。
步骤503、将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点。
在本发明实施例中,将步骤502中确定的子节点作为新的当前节点,确定该新的当前节点对应的下一级节点,确定后添加至目录树中;并在确定新的当前节点对应的下一级节点后,又将该下一级节点作为当前节点,确定再下一级节点,确定后添加至目录树中,直至第一字典中的目标组织节点均被添加至目录树中,此时,除了根节点,所有当前节点及其下一级节点构成了目录树的所有分支节点。
例如,在图6中,在确定65这个子节点后,将65作为当前节点,查找第一字典中65这个关键词对应的所有值,得到6501、6503、6508,则65这个当前节点对应的子节点为6501、6503、6508,将6501、6503、6508作为65的下一级节点添加至目录树中;随后,分别以6501、6503、6508作为当前节点,分别查找6501、6503、6508这三个关键词对应的所有值,并将这些值分别作为6501、6503、6508的下一级节点添加至目录树中。例如,6501对应的值为650104、650123,则将650104、650123作为6501的下一级节点添加至目录树中;然后,再以6501、6503、6508的下一级节点作为当前节点,查找其对应的值,添加至再下一级节点。例如,650104对应的值为65010422,则将65010422作为650104的下一级节点添加至目录树中;循环进行上述步骤,直至第一字典中的所有DeviceID均被添加至所述目录树中,就得到所述目录树的所有分支节点。
当前节点作为关键词,确定以第一字典为范围,查找该范围内的关键词对应的所有值,就得到当前节点对应的所有子节点,
步骤504,根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;所述第二字典以每个设备对应的父组织节点作为关键词,以所述设备作为值。
在本发明实施例中,将在公共区域里挂载的所有视联网监控设备作为值,将监控设备对应的父组织节点作为关键词,构建第二字典。因为监控设备一般挂载在组织机构的四级组织节点下,即挂载在街道、道路等节点下,则第二字典中的父组织节点一般为街道或道路。具体地,父组织节点在第二字典中的存在形式为ParentID字段,监控设备的存在形式为Name字段。
图7是本发明的一种第二字典的示意图。参照图7,由虚线分割成两个区域,其中,左边为第二字典的key(关键词),右边为第二字典的value(值)。在右边的value中,托克逊监控1、托克逊监控2、火焰山景区1、火焰山景区2……为各个监控设备,每个监控设备的字段为Name字段,即托克逊监控1、托克逊监控2、火焰山景区1、火焰山景区2等名称。监控设备对应都有父组织节点,即左边的key,也有部分value未有对应的key,即父组织节点,例如监控A和监控B。父组织节点是以ParentID字段的形式存在字典中。例如,65010422、650123、6508。在第二字典中,每一个key可以对应多个value。例如,65010422这个ParentID可以对应托克逊监控1、托克逊监控2两个value。
对于构建目录树来说,各监控设备为最下层节点,即叶子节点。根据第二字典中每个关键词和值的对应关系,即父组织节点和监控设备的对应关系,可以确定父组织节点下对应的监控设备,得到目录树中各分支节点对应的所有叶子节点。
例如,在图7中,右边区域的所有监控设备均作为左边区域中父组织节点的下一级节点,成为目录树的叶子节点。
至此,目录树的根节点、根节点以下的分支节点、分支节点下的叶子节点均确定完毕,构建完成目标目录树。
步骤502-步骤504在具体的计算机程序实现过程中,在确定目录树的根节点之后,可以将第一字典父组织节点中的第一个节点标记为搜索关键词的开头,将最后一个节点标记为搜索关键词的结尾,从开头循环到结尾,就可以查找到所有关键词对应的值。因为第一字典中所有关键词均是目录树的根节点或子节点,这样就可以查找到目录树的所有根节点或子节点对应的下一级节点,再对第二字典中的父组织节点执行同样的操作即可得到目录树的所有叶子节点。这样,就可以一次性将目录树的分支节点和叶子节点加载到内存中,避免了现有技术中分级加载每次都要等待的弊端,快速构建目标目录树,实现毫秒级搜索,毫秒级完全展开等操作,大幅度优化了前端用户的操作体验。
步骤505,通过终端操作所述目标目录树以获取目录信息。
在本发明实施例中,通过终端将目标目录树展示给用户,用户可以获取目录信息。例如,校验某个监控设备的信息是否包含在目标目录树中,校验某个监控设备是否正确挂载在对应的组织节点之下。
综上所述,本发明实施例提供的基于目录树的信息获取方法,根据第一字典确定目录树的根节点;将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;通过终端操作所述目标目录树以获取目录信息。在上述方法中,因为第一字典中所有关键词均是目录树的根节点或子节点,这样就可以查找到目录树的所有根节点或子节点对应的下一级节点,再对第二字典中的父组织节点执行同样的操作即可得到目录树的所有叶子节点。这样,就可以一次性将目录树的分支节点和叶子节点加载到内存中,快速构建目标目录树,实现毫秒级搜索,毫秒级完全展开,使用户可快速获取监控信息。
参照图8,示出了本发明的一种基于目录树的信息获取方法实施例的步骤流程图之二,所述方法包括:
步骤601、确定在预设的第一集合中存在,而在预设的第二集合中不存在的目标元素;所述第一集合根据所述第一字典中的所有父组织节点为元素构建,所述第二集合根据所述第一字典中的所有目标组织节点为元素构建。
在本发明实施例中,将第一字典分割为第一集合和第二集合。其中,第一集合中的元素为所有的目标组织节点,第二集合中的元素为所有的父组织节点。目录树的根节点不存在父组织节点,说明目录树的根节点存在于第一集合中,而不存在于第二集合中。因此,查找在第一集合中存在,而在第二集合中不存在的目标元素。
具体地,对第一集合中的所有ParentID字段进行循环,每一个元素,都去第二集合中的DeviceID字段中去查找是否存在。若存在,则说明该ParentID对应的父组织节点具有上级组织,那么,它就不是目录树的根节点;若不存在,则说明该ParentID对应的父组织节点没有上级组织,那么它就是目录树的根节点或根节点之一。我们将使用该ParentID作为目录树的最顶级节点。
图9是本发明的一种第一集合的示意图。参照图9,第一集合中的元素为位于第一字典左侧区域的所有父组织节点,在第一集合中用父组织节点的ParentID来表示。
图10是本发明的一种第二集合的示意图。参照图10,第二集合中的元素为位于第一字典右侧区域的所有目标组织节点,在第二集合中用目标组织节点的DeviceID来表示。
通过对图9和图10中ParentID和DeviceID的对比,可以确定第一集合中的0为在第一集合中存在,而在第二集合中不存在的目标元素。
步骤602、将所述目标元素作为目录树的根节点。
目标元素为不存在父组织节点的元素,则说明其不存在上级组织,则将其作为目录树的根节点。目标元素可以存在多个,则目录树具有多个根节点。
步骤603、将所述根节点作为所述目录树的当前节点,以所述当前节点作为目标关键词,在所述第一集合中检索所述目标关键词对应的所有值,得到所述目标关键词对应的所有目标组织节点。
在本发明实施例中,将所有根节点作为目标关键词,在第一集合中检索该目标关键词对应的所有值,可以得到根节点对应的下一级节点,即所述目标关键词对应的所有目标组织节点。
步骤604,将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中。
在确定根节点的下一级节点后,将该下一级节点添加到目录树中。
步骤605,将检索得到的所述目标组织节点从所述第一集合中删除。
为了提高后续工作的操作效率,可以将已经添加到目录树中的目标组织节点从第一集合中删除,那么,在下一次检索过程中,仅检索第一集合中存在的元素即可,提高了检索效率。
步骤606,将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点。
在本发明实施例中,步骤606可以参照步骤503,此处不再赘述。
步骤607,以预设的第三集合中的元素作为目标关键词,在所述第二字典中检索所述目标关键词对应的所有值;所述第三集合根据所述第二字典中的所有父组织节点作为元素构建。
在本发明实施例中,可以根据第二字典构建第三集合,第三集合中的元素为第二字典中的所有父组织节点。以第三集合中的父组织节点作为目标关键词,从第二字典中检索该关键词对应的值,可得到父组织节点对应的监控设备。
图11是本发明的一种第三集合的示意图。参照图11,第三集合中的元素为第二字典左侧区域的所有父组织节点,在第三集合中用父组织节点的ParentID来表示。
若在第二字典中检索到所述目标关键词对应的所有值,则执行步骤608-步骤609,若未检索到所述目标关键词对应的所有值,则执行步骤610。
步骤608,若所述值存在,则将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中;所述目标子节点为所述目标关键词在所述目录树中对应的子节点。
在本发明实施例中,因监控设备及其父组织节点的信息是从网络数据包中解析出来的,而网络数据包是从一个平台向另一个平台发送的数据包,在发送时,可能会少发送,在发送过程中,可能会出现网络丢包,或者,在技术工程师对监控设备进行编码的时候,出现编码错误。因为第二字典中存储的是所有的监控设备信息,因此,可能存在编码错误的监控设备,也可能存在无对应监控设备的父组织节点。
因此,以第三集合中的元素作为目标关键词,在第二字典中检索目标关键词对应的所有值,会存在找到值和找不到值两种情况。
在目录树中,所有的根节点和分支节点均为组织机构,例如,新疆、吐鲁番、巴州等目标组织节点的ID,而位于目录树最底层的均为监控设备,监控设备的ID是目录树的叶子节点。若目标关键词对应的值在第三集合中存在,则可以确定该值对应的监控设备为目标关键词在目录树中对应的目标子节点的叶子节点。
步骤609,将所述值对应的目标设备从所述第二字典中删除。
同样的,为了提高后续工作的操作效率,可以将已经添加到目录树中的目标设备从第二字典中删除,那么,在下一次检索过程中,仅检索第二字典中存在的设备即可,提高了检索效率。
步骤610,若所述值不存在,则确定所述目标子节点下无叶子节点;
若目标关键词对应的值不存在,则说明父组织节点下无监控设备,即目标关键词对应的目标子节点下无叶子节点。造成这种情况的原因可能是设备编码被编错,或网络数据包出现丢包。
步骤611,对所述第三集合中的所有元素执行上述步骤,将得到的所有叶子节点添加至所述目录树中。
对第三集合中的所有目标关键词执行在第二字典中检索对应的值的步骤,直到第三集合中的最后一个元素。将得到的所有叶子节点添加至所述目录树中。
步骤612,确定所述第二字典中是否还有剩余的设备。
在第三集合中所有元素均执行完上述步骤后,检查第二字典中是否还有剩余的设备,若有剩余,说明剩余设备找不到父组织节点。
参照图7,监控A和监控B为找不到父组织节点的剩余设备。
步骤613,若是,则将所述剩余的设备挂载在所述根节点之下。
为了将找不到父组织节点的剩余设备也体现在目录树中,以方便前端用户对这些设备的信息进行查询、纠正、增补,可以将剩余设备直接挂载在根节点之下。
步骤614,通过终端操作所述目标目录树以获取目录信息。
在本发明实施例中,步骤614可以参照步骤505,此处不再赘述。
图12是本发明的一种目标目录树的示意图。参照图12,首先,利用第一字典构建元素为父组织节点的第一集合和元素为目标组织节点的第二集合;然后,将第一集合和第二集合进行对比,查询第一集合中存在,而第二集合中不存在的目标元素,得到目标元素0,将0作为图12中目录树的根节点;再然后,将第一集合中除根节点以外的所有父组织节点作为目标关键词,在第二集合中检索目标关键词对应的值,将检索到的值对应的目标组织节点作为父组织节点的下一级节点添加至目录树中,得到目录树的所有分支节点,见图12中目录树根节点下的第一层节点到第四层节点;再然后,构建包括父组织节点和监控设备的第二字典,利用第二字典构建元素为所有父组织节点的第三集合;再然后,以第三集合中的父组织节点作为目标关键词,在第二字典中检索目标关键词对应的值,得到值对应的监控设备,将监控设备作为叶子节点添加到目录树中,参见图12目录树中最底层的圆形节点。另外,对于第二字典中剩余的监控设备,其无对应的父组织节点,则将其挂载在根节点之下,参见图12中目录树中挂载在根节点0之下的圆形节点。这样,就构建完成了整个目录树,得到图12所示的目标目录树。
综上所述,本发明实施例提供的基于目录树的信息获取方法,除具有图8中的基于目录树的信息获取方法的有益效果外,还为了提高后续工作的操作效率,将已经添加到目录树中的目标组织节点从第一字典中删除,或已经添加到目录树中的目标设备从第二字典中删除,提高了检索效率;并且,将剩余设备直接挂载在根节点之下,方便了前端用户对这些设备的信息进行查询、纠正、增补。
参照图13,示出了本发明的一种基于目录树的信息获取装置的结构框图之一。所述装置700包括:
根节点确定模块701,用于根据第一字典确定目录树的根节点;所述第一字典以每个目标组织节点对应的父组织节点作为关键词,以所述每个目标组织节点作为值;
子节点确定模块702,用于将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;
分支节点确定模块703,用于将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;
叶子节点确定模块704,用于根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;所述第二字典以每个设备对应的父组织节点作为关键词,以所述设备作为值;
信息获取模块705,用于通过终端操作所述目标目录树以获取目录信息。
对于结构实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本发明实施例提供的基于目录树的信息获取装置,根据第一字典确定目录树的根节点;将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;通过终端操作所述目标目录树以获取目录信息。在上述方法中,因为第一字典中所有关键词均是目录树的根节点或子节点,这样就可以查找到目录树的所有根节点或子节点对应的下一级节点,再对第二字典中的父组织节点执行同样的操作即可得到目录树的所有叶子节点。这样,就可以一次性将目录树的分支节点和叶子节点加载到内存中,快速构建目标目录树,实现毫秒级搜索,毫秒级完全展开,使用户可快速获取监控信息。
参照图14,在图13的基础上,示出了本发明的一种基于目录树的信息获取装置的结构框图之二。
所述根节点确定模块701,包括:
目标元素确定子模块7011,用于确定在预设的第一集合中存在,而在预设的第二集合中不存在的目标元素;所述第一集合根据所述第一字典中的所有父组织节点为元素构建,所述第二集合根据所述第一字典中的所有目标组织节点为元素构建;
根节点确定子模块7012,用于将所述目标元素作为目录树的根节点。
所述子节点确定模块702包括:
第一检索子模块7021,用于以所述当前节点作为目标关键词,在所述第一集合中检索所述目标关键词对应的所有值,得到所述目标关键词对应的所有目标组织节点;
第一添加子模块7022,用于将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中。
所述装置700还包括:
第一删除模块706,用于将检索得到的所述目标组织节点从所述第一集合中删除。
所述叶子节点确定模块704包括:
第二检索子模块7041,用于以预设的第三集合中的元素作为目标关键词,在所述第二字典中检索所述目标关键词对应的所有值;所述第三集合根据所述第二字典中的所有父组织节点作为元素构建;
第二添加子模块7042,用于若所述值存在,则将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中;所述目标子节点为所述目标关键词在所述目录树中对应的子节点;
无叶子节点确定子模块7043,用于若所述值不存在,则确定所述目标子节点下无叶子节点;
第三添加子模块7044,用于对所述第三集合中的所有元素执行上述步骤,将得到的所有叶子节点添加至所述目录树中。
所述叶子节点确定模块704还包括:
第二删除子模块7045,用于将所述值对应的目标设备从所述第二字典中删除;
所述装置还包括:
剩余设备确定模块708,用于确定所述第二字典中是否还有剩余的设备;
挂载模块709,用于若是,则将所述剩余的设备挂载在所述根节点之下。
对于结构实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
综上所述,本发明实施例提供的基于目录树的信息获取装置,除具有图12中的基于目录树的信息获取装置的有益效果外,还为了提高后续工作的操作效率,将已经添加到目录树中的目标组织节点从第一字典中删除,或已经添加到目录树中的目标设备从第二字典中删除,提高了检索效率;并且,将剩余设备直接挂载在根节点之下,方便了前端用户对这些设备的信息进行查询、纠正、增补。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于目录树的信息获取方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (12)

1.一种基于目录树的信息获取方法,其特征在于,所述方法包括:
根据第一字典确定目录树的根节点;所述第一字典以每个目标组织节点对应的父组织节点作为关键词,以所述每个目标组织节点作为值;
将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;
将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;
根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;所述第二字典以每个设备对应的父组织节点作为关键词,以所述设备作为值;
通过终端操作所述目标目录树以获取目录信息。
2.根据权利要求1所述的方法,其特征在于,所述根据第一字典确定目录树的根节点,包括:
确定在预设的第一集合中存在,而在预设的第二集合中不存在的目标元素;所述第一集合根据所述第一字典中的所有父组织节点为元素构建,所述第二集合根据所述第一字典中的所有目标组织节点为元素构建;
将所述目标元素作为目录树的根节点。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中,包括:
以所述当前节点作为目标关键词,在所述第一集合中检索所述目标关键词对应的所有值,得到所述目标关键词对应的所有目标组织节点;
将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中。
4.根据权利要求3所述的方法,其特征在于,在将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中之后,还包括:
将检索得到的所述目标组织节点从所述第一集合中删除。
5.根据权利要求4所述的方法,其特征在于,所述根据第二字典中关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,包括:
以预设的第三集合中的元素作为目标关键词,在所述第二字典中检索所述目标关键词对应的所有值;所述第三集合根据所述第二字典中的所有父组织节点作为元素构建;
若所述值存在,则将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中;所述目标子节点为所述目标关键词在所述目录树中对应的子节点;
若所述值不存在,则确定所述目标子节点下无叶子节点;
对所述第三集合中的所有元素执行上述步骤,将得到的所有叶子节点添加至所述目录树中。
6.根据权利要求5所述的方法,其特征在于,在将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中之后,还包括:
将所述值对应的目标设备从所述第二字典中删除;
在对所述第三集合中的所有元素执行上述步骤之后,还包括:
确定所述第二字典中是否还有剩余的设备;
若是,则将所述剩余的设备挂载在所述根节点之下。
7.一种基于目录树的信息获取装置,其特征在于,所述装置包括:
根节点确定模块,用于根据第一字典确定目录树的根节点;所述第一字典以每个目标组织节点对应的父组织节点作为关键词,以所述每个目标组织节点作为值;
子节点确定模块,用于将所述根节点作为所述目录树的当前节点,根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中;
分支节点确定模块,用于将所述子节点作为新的当前节点,循环执行根据所述第一字典中所述关键词和值的对应关系确定所述当前节点对应的子节点,并添加至所述目录树中的步骤,直至所述第一字典中的目标组织节点均被添加至所述目录树中,得到所述目录树的所有分支节点;
叶子节点确定模块,用于根据第二字典中每个关键词和值的对应关系确定所述分支节点对应的叶子节点,并添加至所述目录树中,得到目标目录树;所述第二字典以每个设备对应的父组织节点作为关键词,以所述设备作为值;
信息获取模块,用于通过终端操作所述目标目录树以获取目录信息。
8.根据权利要求7所述的装置,其特征在于,所述根节点确定模块,包括:
目标元素确定子模块,用于确定在预设的第一集合中存在,而在预设的第二集合中不存在的目标元素;所述第一集合根据所述第一字典中的所有父组织节点为元素构建,所述第二集合根据所述第一字典中的所有目标组织节点为元素构建;
根节点确定子模块,用于将所述目标元素作为目录树的根节点。
9.根据权利要求8所述的装置,其特征在于,所述子节点确定模块包括:
第一检索子模块,用于以所述当前节点作为目标关键词,在所述第一集合中检索所述目标关键词对应的所有值,得到所述目标关键词对应的所有目标组织节点;
第一添加子模块,用于将所述目标组织节点作为所述当前节点对应的子节点添加至所述目录树中。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
第一删除模块,用于将检索得到的所述目标组织节点从所述第一集合中删除。
11.根据权利要求10所述的装置,其特征在于,所述叶子节点确定模块包括:
第二检索子模块,用于以预设的第三集合中的元素作为目标关键词,在所述第二字典中检索所述目标关键词对应的所有值;所述第三集合根据所述第二字典中的所有父组织节点作为元素构建;
第二添加子模块,用于若所述值存在,则将所述值对应的目标设备作为目标子节点的叶子节点添加至所述目录树中;所述目标子节点为所述目标关键词在所述目录树中对应的子节点;
无叶子节点确定子模块,用于若所述值不存在,则确定所述目标子节点下无叶子节点;
第三添加子模块,用于对所述第三集合中的所有元素执行上述步骤,将得到的所有叶子节点添加至所述目录树中。
12.根据权利要求11所述的装置,其特征在于,所述叶子节点确定模块还包括:
第二删除子模块,用于将所述值对应的目标设备从所述第二字典中删除;
所述装置还包括:
剩余设备确定模块,用于确定所述第二字典中是否还有剩余的设备;
挂载模块,用于若是,则将所述剩余的设备挂载在所述根节点之下。
CN201910817853.7A 2019-08-30 2019-08-30 一种基于目录树的信息获取方法和装置 Active CN110619066B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910817853.7A CN110619066B (zh) 2019-08-30 2019-08-30 一种基于目录树的信息获取方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910817853.7A CN110619066B (zh) 2019-08-30 2019-08-30 一种基于目录树的信息获取方法和装置

Publications (2)

Publication Number Publication Date
CN110619066A true CN110619066A (zh) 2019-12-27
CN110619066B CN110619066B (zh) 2022-03-25

Family

ID=68922848

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910817853.7A Active CN110619066B (zh) 2019-08-30 2019-08-30 一种基于目录树的信息获取方法和装置

Country Status (1)

Country Link
CN (1) CN110619066B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711788A (zh) * 2020-05-26 2020-09-25 视联动力信息技术股份有限公司 一种编码分配方法和装置
CN111940321A (zh) * 2020-08-10 2020-11-17 深圳市今天国际物流技术股份有限公司 基于模糊匹配的分拣方法、装置、计算机设备及存储介质
CN116069894A (zh) * 2022-12-20 2023-05-05 上海云砺信息科技有限公司 一种基于组织隔离数据权限的数据存储、搜索方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654895A (zh) * 2011-03-03 2012-09-05 腾讯科技(深圳)有限公司 一种生成扫描目录树的方法及装置
US20140317158A1 (en) * 2013-04-17 2014-10-23 Hon Hai Precision Industry Co., Ltd. File storage device and method for managing file system thereof
CN104699706A (zh) * 2013-12-06 2015-06-10 中国移动通信集团海南有限公司 目录树的生成方法、装置及系统
CN108632238A (zh) * 2017-09-18 2018-10-09 北京视联动力国际信息技术有限公司 一种权限控制的方法和装置
CN109286826A (zh) * 2018-08-31 2019-01-29 视联动力信息技术股份有限公司 信息显示方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102654895A (zh) * 2011-03-03 2012-09-05 腾讯科技(深圳)有限公司 一种生成扫描目录树的方法及装置
US20140317158A1 (en) * 2013-04-17 2014-10-23 Hon Hai Precision Industry Co., Ltd. File storage device and method for managing file system thereof
CN104699706A (zh) * 2013-12-06 2015-06-10 中国移动通信集团海南有限公司 目录树的生成方法、装置及系统
CN108632238A (zh) * 2017-09-18 2018-10-09 北京视联动力国际信息技术有限公司 一种权限控制的方法和装置
CN109286826A (zh) * 2018-08-31 2019-01-29 视联动力信息技术股份有限公司 信息显示方法和装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汤春丽: ""BPM系统中目录树及监控功能扩展的研究"", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111711788A (zh) * 2020-05-26 2020-09-25 视联动力信息技术股份有限公司 一种编码分配方法和装置
CN111711788B (zh) * 2020-05-26 2024-03-15 视联动力信息技术股份有限公司 一种编码分配方法和装置
CN111940321A (zh) * 2020-08-10 2020-11-17 深圳市今天国际物流技术股份有限公司 基于模糊匹配的分拣方法、装置、计算机设备及存储介质
CN111940321B (zh) * 2020-08-10 2022-01-25 深圳市今天国际物流技术股份有限公司 基于模糊匹配的分拣方法、装置、计算机设备及存储介质
CN116069894A (zh) * 2022-12-20 2023-05-05 上海云砺信息科技有限公司 一种基于组织隔离数据权限的数据存储、搜索方法及装置
CN116069894B (zh) * 2022-12-20 2024-01-26 上海云砺信息科技有限公司 一种基于组织隔离数据权限的数据存储、搜索方法及装置

Also Published As

Publication number Publication date
CN110619066B (zh) 2022-03-25

Similar Documents

Publication Publication Date Title
CN110674362B (zh) 搜索推荐方法、装置、电子设备及可读存储介质
CN109634988B (zh) 一种监控轮询方法和装置
CN110619066B (zh) 一种基于目录树的信息获取方法和装置
CN110190973B (zh) 一种在线状态检测方法及装置
CN109617956B (zh) 一种数据处理方法和装置
CN109672857B (zh) 监控资源的信息处理方法和装置
CN108965226B (zh) 一种基于视联网的数据获取方法及装置
CN109743550B (zh) 一种监控数据调流的方法和装置
CN109743555B (zh) 一种基于视联网的信息处理方法及系统
CN110609818B (zh) 一种日志处理方法及装置
CN111478791B (zh) 一种数据管理方法和装置
CN110557608B (zh) 资源监控方法、装置和计算机可读存储介质
CN110134892B (zh) 一种监控资源列表的加载方法和系统
CN110012063B (zh) 一种数据包的处理方法和系统
CN109743360B (zh) 一种信息处理方法及装置
CN108965219B (zh) 一种基于视联网的数据处理方法及装置
CN110381029B (zh) 一种监控资源同步方法及装置
CN110516141B (zh) 数据查询方法、装置、电子设备以及可读存储介质
CN110688532B (zh) 一种事务管理方法和装置
CN109756476B (zh) 一种基于视联网的自定义昵称设置方法及系统
CN110399438B (zh) 一种gis点位信息查询方法及装置
CN109714706B (zh) 一种视联网通信方法和装置
CN110768854B (zh) 一种基于视联网的数据统计方法以及装置
CN110475160B (zh) 一种跨视联网传输视频数据方法和装置
CN111031090A (zh) 数据处理方法、装置、电子设备及可读存储介质

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
GR01 Patent grant
GR01 Patent grant