CN111597184A - 一种基于树形结构数据的消息发布与订阅的方法和装置 - Google Patents

一种基于树形结构数据的消息发布与订阅的方法和装置 Download PDF

Info

Publication number
CN111597184A
CN111597184A CN202010252099.XA CN202010252099A CN111597184A CN 111597184 A CN111597184 A CN 111597184A CN 202010252099 A CN202010252099 A CN 202010252099A CN 111597184 A CN111597184 A CN 111597184A
Authority
CN
China
Prior art keywords
tree
resource
node
subscribing
messages
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
Application number
CN202010252099.XA
Other languages
English (en)
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.)
Shenzhen Infineon Information Co ltd
Original Assignee
Shenzhen Infinova Intelligent 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 Shenzhen Infinova Intelligent Technology Co Ltd filed Critical Shenzhen Infinova Intelligent Technology Co Ltd
Priority to CN202010252099.XA priority Critical patent/CN111597184A/zh
Publication of CN111597184A publication Critical patent/CN111597184A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/548Queue

Abstract

本发明涉及业务系统技术领域,具体公开了一种基于树形结构数据的消息发布与订阅的方法和装置,该方法包括在业务系统或视频监控系统的客户端中构造一个n叉树,树结点用于各类资源数据的渲染和展示;引入开源消息队列MQ,对每个树结点资源的消息进行发布;客户端或展示端通过对显示屏的有效显示区域的监测,并对树结点资源的渲染与隐藏进行动态控制,从而实现向MQ请求相应树结点消息订阅与取消操作。本发明通过动态控制订阅或取消订阅少数树结点资源消息的机制,以及利用MQ的消息发布与订阅特性,实现了对树状分布的资源消息的有效限流,从而解决了客户端或展示端下的树状资源分布的消息消费不实时的问题。

Description

一种基于树形结构数据的消息发布与订阅的方法和装置
技术领域
本发明涉及业务系统技术领域,尤其涉及一种基于树形结构数据的消息发布与订阅的方法和装置。
背景技术
传统的业务系统特别是安防业务应用系统,对各类业务资源通常是呈树状结构分布和渲染展示的,但是这些业务资源通常会因增删改的操作而发生变化,以及资源本身会有一些状态变化,如在线、离线、报警、锁定等,业务系统希望对资源的这些变化能在树结点中实时体现和展示出来。业务系统之前比较常用的处理方式是:通过后台服务把所有资源的变化及状态消息都推到客户端或展示端,供客户端或展示端渲染和展示;另一种方式是客户端或展示端通过周期性向后台服务获取所有资源状态的方式,定时更新结点状态。以上两种方法在树结点特别多的时候,比如树的结点有几万甚至几十万以上,且资源的变化又比较频繁时,这时客户端或展示端需要消费或处理的消息就会非常多,很容易因消息消费不过来,形成消息积压拥塞,最终导致客户端操作卡顿和状态显示不实时的情况。
发明内容
本发明的目的是为了解决现有技术中存在的缺点,而提出的一种基于树形结构数据的消息发布与订阅的方法和装置。
为了实现上述目的,本发明采用了如下技术方案:
一种基于树形结构数据的消息发布与订阅的方法,包括以下步骤:
步骤S1、构造一个用于渲染和展示资源数据分布的n叉树,将资源数据作为n叉树的各结点;
步骤S2、基于屏幕的有限显示区域,通过对树结点的展开与收缩操作实现相应结点的动态渲染和隐藏控制;
步骤S3、引入开源的消息队列MQ,并围绕树中每个结点的渲染和展示实现结点资源消息的动态发布与订阅。
优选的,所述步骤S1中的资源数据为组织或区域或业务资源。
优选的,所述步骤S1中的资源数据在客户端或展示端以树状分布和渲染展示。
优选的,所述树结点的数据内容包括唯一的标识信息和所述资源数据的信息。
优选的,所述树结点渲染和展示出来的资源数据是动态变化的。
优选的,所述树结点的展开与收缩由用户触发。
优选的,所述树结点在客户端或展示端的屏幕上能有像素区域渲染出来即为结点是渲染或展示状态,否则隐藏状态。
优选的,所述步骤S3中MQ具备消息发布与订阅的功能和机制。
优选的,所述步骤S3中结点资源消息的发布与订阅包括以下步骤:
步骤S31、所述MQ对所有的树结点资源的消息进行发布;
步骤S32、所述MQ对删除的树结点资源的消息进行取消发布;
步骤S33、所述客户端或展示端对树结点资源的消息按每个结点的唯一标识进行订阅;
步骤S34、客户端和展示端对隐藏或删除的结点进行动态取消订阅控制。
还公开了一种基于树形结构数据的消息发布与订阅的装置,包括n叉树,所述n叉树用于渲染和展示资源数据分布,将资源数据作为n叉树的各结点,基于屏幕的有限显示区域,通过对树结点的展开与收缩操作实现相应结点的动态渲染和隐藏控制,能够引入开源的消息队列MQ,并围绕树中每个结点的渲染和展示实现结点资源消息的动态发布与订阅。
本发明的有益效果是:
本发明通过对屏幕和资源树的渲染与展示进行监测,筛选出实际渲染出来的资源结点,并依赖MQ的消息发布与订阅机制,动态控制订阅或取消订阅特定的结点资源消息,有效解决了业务系统中对树状分布资源的消息拥塞和资源状态展示不实时的问题,特别是在资源特别多的时候,提升了在交互体验和消息实时性的效果。
附图说明
图1为本发明提出的一种基于树形结构数据的消息发布与订阅的方法的逻辑示意图。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更加透彻全面。
需要说明的是,当元件被称为“固定于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的,并不表示是唯一的实施方式。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参照图1,一种基于树形结构数据的消息发布与订阅的方法包括以下步骤:
步骤S1、构造一个用于渲染和展示资源数据分布的n叉树,将资源数据作为n叉树的各结点;
步骤S2、基于屏幕的有限显示区域,通过对树结点的展开与收缩操作实现相应结点的动态渲染和隐藏控制;
步骤S3、引入开源的消息队列MQ,并围绕树中每个结点的渲染和展示实现结点资源消息的动态发布与订阅。
进一步的,所述步骤S1中的资源数据为组织或区域或业务资源。
进一步的,所述步骤S1中的资源数据在客户端或展示端以树状分布和渲染展示。
进一步的,所述树结点的数据内容包括唯一的标识信息和所述资源数据的信息。
进一步的,所述树结点渲染和展示出来的资源数据是动态变化的。
进一步的,所述树结点的展开与收缩由用户触发。
进一步的,所述树结点在客户端或展示端的屏幕上能有像素区域渲染出来即为结点是渲染或展示状态,否则隐藏状态。
进一步的,所述步骤S3中MQ具备消息发布与订阅的功能和机制。
进一步的,所述步骤S3中结点资源消息的发布与订阅包括以下步骤:
步骤S31、所述MQ对所有的树结点资源的消息进行发布;
步骤S32、所述MQ对删除的树结点资源的消息进行取消发布;
步骤S33、所述客户端或展示端对树结点资源的消息按每个结点的唯一标识进行订阅;
步骤S34、客户端和展示端对隐藏或删除的结点进行动态取消订阅控制。
本实施方式中还公开了一种基于树形结构数据的消息发布与订阅的装置,包括n叉树,所述n叉树用于渲染和展示资源数据分布,将资源数据作为n叉树的各结点,基于屏幕的有限显示区域,通过对树结点的展开与收缩操作实现相应结点的动态渲染和隐藏控制,能够引入开源的消息队列MQ,并围绕树中每个结点的渲染和展示实现结点资源消息的动态发布与订阅。
具体的,在B/S结构的省级视频监控系统中,在web客户端构建一个n叉树结构的组织树,组织结点用于渲染和展示组织资源信息。组织资源按行政区域分为xxx省、xxx市公安局、xxx区(县)分局、xxx派出所、xxx街道等。其中,xxx省作为树的根结点。优选地,组织结点中展示的组织资源信息包含组织名称。
进一步地,把省、市、区(县)、派出所、街道下的摄像头、解码器、NVR等设备资源挂到相应的组织结点上,用于渲染和展示设备资源信息。设备结点中展示的设备资源信息包含设备名称、在线、离线、故障。在后端服务器引入消息队列RabbitMQ。RabbitMQ采用路由模式(Fanout Exchange),对组织和设备资源的“新增”和“删除”消息进行发布。
需要说明的是,上述“新增”是指向监控系统添加一个新的组织或设备。上述“删除”是指从监控系统删除一个已存在的组织或设备。
进一步地,给每个新增的组织和设备分配一个全局唯一的ID。
进一步地,RabbitMQ对所有组织和设备的状态消息进行发布。
优选地,对组织和设备的状态消息进行发布时,RabbitMQ采用路由模式(DirectExchange),并以每个组织和设备ID为routing key。
优选地,引入websocket通信技术,实现web客户端与后端服务器的双向通信。
进一步地,web客户端通过websocket订阅所有组织和设备资源的“新增”和“删除”消息,当有“新增”或“删除”的组织或设备资源时,所有web客户端都能接收到,并对树结点进行相应的“新增”和“删除”操作。
进一步地,web客户端根据用户对组织树的展开和收缩操作行为,以及对展示屏的展示区域的监测和控制,筛选出实际渲染出来的组织结点和设备资源结点。
上述结点筛选过程是指:如果树结点在展示屏有像素区域可展示则渲染,并提取出结点ID,没有则隐藏该结点。
进一步地,对筛选出的结点以ID列表为参数向后台服务器请求订阅该结点的消息。
上述订阅请求可以订阅和消费各组织和设备资源结点的名称更新消息,以及各设备资源结点的在线、离线、故障等实时状态变化的消息。
上述订阅请求中,后台服务器需保存每一个web客户端最近一次请求订阅消息的ID列表。
进一步地,后台服务器根据web客户端上一次请求订阅的ID列表和这次请求订阅的ID列表,得到需要取消订阅的ID,进行取消订阅操作。
进一步地,后台服务器对“删除”的结点进行取消发布操作。
本实施方式中,利用n叉树的资源结构展示特点,客户端和展示端通过动态控制订阅或取消订阅少数树结点资源消息的机制,以及利用MQ的消息发布与订阅特性,实现了对树状分布的资源消息的有效限流,从而有效解决了客户端或展示端下的树状资源消息拥塞和资源状态展示不实时的问题。
假设设备资源1万个以上,本方法在客户端或展示端下的树状资源消息消费性能上和资源状态展示的实时性上有很大提升,体验非常好。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种基于树形结构数据的消息发布与订阅的方法,其特征在于,包括以下步骤:
步骤S1、构造一个用于渲染和展示资源数据分布的n叉树,将资源数据作为n叉树的各结点;
步骤S2、基于屏幕的有限显示区域,通过对树结点的展开与收缩操作实现相应结点的动态渲染和隐藏控制;
步骤S3、引入开源的消息队列MQ,并围绕树中每个结点的渲染和展示实现结点资源消息的动态发布与订阅。
2.根据权利要求1所述的基于树形结构数据的消息发布与订阅的方法,其特征在于,所述步骤S1中的资源数据为组织或区域或业务资源。
3.根据权利要求1所述的基于树形结构数据的消息发布与订阅的方法,其特征在于,所述步骤S1中的资源数据在客户端或展示端以树状分布和渲染展示。
4.根据权利要求1所述的基于树形结构数据的消息发布与订阅的方法,其特征在于,所述树结点的数据内容包括唯一的标识信息和所述资源数据的信息。
5.根据权利要求4所述的基于树形结构数据下的消息发布与订阅的方法,其特征在于,所述树结点渲染和展示出来的资源数据是动态变化的。
6.根据权利要求1所述的基于树形结构数据的消息发布与订阅的方法,其特征在于,所述树结点的展开与收缩由用户触发。
7.根据权利要求1所述的基于树形结构数据的消息发布与订阅的方法,其特征在于,所述树结点在客户端或展示端的屏幕上能有像素区域渲染出来即为结点是渲染或展示状态,否则隐藏状态。
8.根据权利要求1所述的基于树形结构数据的消息发布与订阅的方法,其特征在于,所述步骤S3中MQ具备消息发布与订阅的功能和机制。
9.根据权利要求1所述的基于树形结构数据的消息发布与订阅的方法,其特征在于,所述步骤S3中结点资源消息的发布与订阅包括以下步骤:
步骤S31、所述MQ对所有的树结点资源的消息进行发布;
步骤S32、所述MQ对删除的树结点资源的消息进行取消发布;
步骤S33、所述客户端或展示端对树结点资源的消息按每个结点的唯一标识进行订阅;
步骤S34、客户端和展示端对隐藏或删除的结点进行动态取消订阅控制。
10.一种基于树形结构数据下的消息发布与订阅的装置,其特征在于,包括n叉树,所述n叉树用于渲染和展示资源数据分布,将资源数据作为n叉树的各结点,基于屏幕的有限显示区域,通过对树结点的展开与收缩操作实现相应结点的动态渲染和隐藏控制,能够引入开源的消息队列MQ,并围绕树中每个结点的渲染和展示实现结点资源消息的动态发布与订阅。
CN202010252099.XA 2020-04-01 2020-04-01 一种基于树形结构数据的消息发布与订阅的方法和装置 Pending CN111597184A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010252099.XA CN111597184A (zh) 2020-04-01 2020-04-01 一种基于树形结构数据的消息发布与订阅的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010252099.XA CN111597184A (zh) 2020-04-01 2020-04-01 一种基于树形结构数据的消息发布与订阅的方法和装置

Publications (1)

Publication Number Publication Date
CN111597184A true CN111597184A (zh) 2020-08-28

Family

ID=72190411

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010252099.XA Pending CN111597184A (zh) 2020-04-01 2020-04-01 一种基于树形结构数据的消息发布与订阅的方法和装置

Country Status (1)

Country Link
CN (1) CN111597184A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579691A (zh) * 2020-12-24 2021-03-30 安徽航天信息科技有限公司 一种支持大屏展示的数据处理方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346350A (zh) * 2013-07-26 2015-02-11 南京中兴力维软件有限公司 异步树的树节点查询方法及系统
CN109428922A (zh) * 2017-08-29 2019-03-05 华为技术有限公司 一种订阅发布方法及服务器
CN110557423A (zh) * 2018-06-04 2019-12-10 珠海全志科技股份有限公司 一种消息推送方法及系统
CN110688531A (zh) * 2019-08-26 2020-01-14 北京旷视科技有限公司 树组件渲染方法和装置、数据处理设备及介质
CN110689600A (zh) * 2019-09-16 2020-01-14 贝壳技术有限公司 树形组件的渲染方法和装置、可读存储介质、电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104346350A (zh) * 2013-07-26 2015-02-11 南京中兴力维软件有限公司 异步树的树节点查询方法及系统
CN109428922A (zh) * 2017-08-29 2019-03-05 华为技术有限公司 一种订阅发布方法及服务器
CN110557423A (zh) * 2018-06-04 2019-12-10 珠海全志科技股份有限公司 一种消息推送方法及系统
CN110688531A (zh) * 2019-08-26 2020-01-14 北京旷视科技有限公司 树组件渲染方法和装置、数据处理设备及介质
CN110689600A (zh) * 2019-09-16 2020-01-14 贝壳技术有限公司 树形组件的渲染方法和装置、可读存储介质、电子设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112579691A (zh) * 2020-12-24 2021-03-30 安徽航天信息科技有限公司 一种支持大屏展示的数据处理方法及装置
CN112579691B (zh) * 2020-12-24 2022-11-08 安徽航天信息科技有限公司 一种支持大屏展示的数据处理方法及装置

Similar Documents

Publication Publication Date Title
CN109815028B (zh) 数据同步的系统、方法、装置和计算机存储介质
US8516050B1 (en) Methods and program products for communicating file modifications during a collaboration event
US8121990B1 (en) Methods, systems and program products for communicating file modification information
US8395652B1 (en) Data network collaboration systems having a shared file
US20170344748A1 (en) Intelligent Secure Social Media Based Event Management System
CA2822771C (en) Subscription based content delivery for a digital signage network
TW200935907A (en) Digital signage network
CN106464746A (zh) 用以支持事件流处理系统中的故障转移的计算机系统
JP2010533906A (ja) グループ内のトピックをソートするための方法、システム及び装置
EP2086231A1 (en) Digital signage display
US8458283B1 (en) Methods and program products for efficient communication of shared file modifications during a collaboration event
CN102724138A (zh) 即时通信中的信息共享方法及装置
US8878931B2 (en) Systems and methods for managing video data
CN108965369A (zh) 一种服务器状态的推送方法和系统
CN107249140A (zh) 榜单信息获取方法及其装置
CN103248712A (zh) 一种多媒体电子屏联播管理方法和系统
CN111597184A (zh) 一种基于树形结构数据的消息发布与订阅的方法和装置
JP2022126651A (ja) インタフェースによるユーザインタラクションに基づく動的オブジェクトアップデートサブスクリプション
CN207663435U (zh) 拼接显示关联装置和拼接显示系统
CN102572542A (zh) 酒店定向视频和广告推送系统
CN108304245B (zh) 界面处理方法及装置、计算机可读介质和电子设备
CN110913018A (zh) 一种分布式调控服务系统
CN114387940B (zh) 一种led显示屏的分区显示更新方法、播放盒及显示系统
CN104753964B (zh) 网络产品展示方法、装置及系统
CN115529433A (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
TA01 Transfer of patent application right

Effective date of registration: 20230106

Address after: 518000 Yingfei Haocheng Science Park, Guansheng 5th Road, Luhu Community, Guanhu Street, Longhua District, Shenzhen, Guangdong 1515

Applicant after: Shenzhen Infineon Information Co.,Ltd.

Address before: 518110 Room 301, Infineon Technology Co., Ltd., No. 12, Guanbao Road, Luhu community, Guanhu street, Longhua District, Shenzhen City, Guangdong Province

Applicant before: SHENZHEN INFINOVA INTELLIGENT TECHNOLOGY Co.,Ltd.

TA01 Transfer of patent application right
RJ01 Rejection of invention patent application after publication

Application publication date: 20200828

RJ01 Rejection of invention patent application after publication