CN115996240A - 基于消息队列的分布式视频云状态信息同步装置及方法 - Google Patents
基于消息队列的分布式视频云状态信息同步装置及方法 Download PDFInfo
- Publication number
- CN115996240A CN115996240A CN202211636901.0A CN202211636901A CN115996240A CN 115996240 A CN115996240 A CN 115996240A CN 202211636901 A CN202211636901 A CN 202211636901A CN 115996240 A CN115996240 A CN 115996240A
- Authority
- CN
- China
- Prior art keywords
- state information
- information
- video cloud
- service node
- message
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明涉及一种基于消息队列的分布式视频云状态信息同步装置及方法,装置中包括全局性的状态信息同步服务;当有视频云服务节点新上线时,向所述状态信息同步服务进行注册、建立控制连接通道,并根据其对状态信息的需求进行状态信息订阅,添加消息队列,建立起所述消息队列在进行消息交换时的绑定话题;当上线的视频云服务节点所管理的对象状态变化时,所述状态信息同步服务接收视频云服务节点发送的状态变化信息,解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配后,复制分发给各匹配成功的消息队列,视频云服务节点读取对应的消息队列信息实现状态同步。本发明提高了分布式视频云服务系统状态信息的同步效率,提升用户体验。
Description
技术领域
本发明属于分布式视频云技术领域,具体涉及一种基于消息队列的分布式视频云状态信息同步装置及方法。
背景技术
随着云计算技术的不断发展,视频通信系统向云化迁移趋势明显。视频云与传统视频通信系统相比组网结构简单、易扩展、建设成本低,具有明显的技术优势。由于视频通信具有实时性要求高、带宽占用高的特点,因此大型的视频云系统一般采用区域化的服务保障模式,由分布在不同地域的多个视频云服务节点组成,节点之间相互互联以实现广域视频通信。
视频云服务节点互联在技术上需要建立信令控制通道、媒体传输通道和信息同步通道,尤其是当视频云各服务节点采用不同的技术体制实现时,服务节点之间进行高效、准确的信息同步是实现视频云服务系统“广域一体、互联互通”的必要前提。另外,视频云是一个复杂系统,服务节点之间所需同步的信息多种多样,且同步需求也不尽相同,而状态信息由于具有时变的特点,对于信息同步的时效性和同步效率要求较高。
传统视频通信系统服务节点间数据同步主要采用数据库等数据存储设施提供的触发器同步机制,此种方法依赖数据表的写入或更新操作来触发完成数据同步,各服务节点在数据存储方面要求采用相同的技术体制,包括技术设施和数据结构等,难以实现异构服务节点之间的信息同步。同时,当数据更新频繁时,对数据库性能消耗较大,影响原系统的处理效率。
在分级部署的视频通信系统中常用的状态信息同步方法还包括将所需同步的信息封装在信令中,并通过信令的路由转发机制,沿服务节点的树形组网结构传递,此种方式优点是信息同步不依赖具体的实现技术,能够实现异构服务节点之间的信息同步,但由于携带信息的信令逐级转发,同步效率较低,且当某一中间节点发生故障时,信息同步路径中断,可靠性较差。
发明内容
鉴于上述的分析,本发明旨在公开了一种基于消息队列的分布式视频云状态信息同步装置及方法,以提高分布式视频云服务系统状态信息的同步效率,提升用户体验。
本发明公开了一种基于消息队列的分布式视频云状态信息同步装置,包括:全局性的状态信息同步服务;分布式的各视频云服务节点分别与状态信息同步服务通信连接;
当有视频云服务节点新上线时,向所述状态信息同步服务进行注册、建立控制连接通道,并根据其对状态信息的需求进行状态信息订阅,添加消息队列,建立起所述消息队列在进行消息交换时的绑定话题;所述绑定话题格式与状态消息的路由关键字格式相同;
当上线的视频云服务节点所管理的对象状态变化时,所述状态信息同步服务接收视频云服务节点发送的状态变化信息,解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配后,复制分发给各匹配成功的消息队列,视频云服务节点读取对应的消息队列信息实现状态同步。
进一步地,所述绑定话题中的话题格式与路由关键字格式相同;所述格式为<objID>.<objType>.<orgID>.<nodeID>;其中,objID为对象ID,objType为对象类型,orgUUID为对象所属组织机构ID,nodeID为发出消息的服务节点ID;
其中,绑定话题中不指定信息的字段,用通配符替换;在解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配时,通配符可匹配对应位置的任意关键字。
进一步地,所述状态信息同步服务还提供查询接口用于视频云服务节点通过信息查询进行行一次性同步;
所述状态信息同步服务还提供本地持久化存储,用于对状态变化消息的持久化存储,以供视频云服务节点通过查询接口进行信息查询。
进一步地,所述状态信息同步服务包括:
认证鉴权模块,用于根据配置和权限信息对视频云服务节点的连接请求进行鉴权,以保证状态信息同步服务的安全性;
控制通道连接模块,用于创建和管理状态信息同步服务与服务节点之间的连接实例,该连接实例用于消息队列的创建、绑定与销毁,以及消息的读写;
状态信息接收模块,用于接收各视频云服务节点发送的待同步状态消息;
消息交换模块,用于根据状态消息的路由关键字及消息队列的绑定关系,将状态信息接收模块接收到的待同步状态消息分发至消息队列模块;
消息队列模块,用于接收待同步状态消息,创建和管理消息队列实例;所述消息队列实例用于向视频云服务节点发送待同步状态消息,消息队列实例由各视频云服务节点根据状态信息订阅需求创建,在创建时应与消息交换模块建立绑定关系,在建立绑定关系时声明所订阅消息的绑定话题。
进一步地,所述状态信息同步服务还包括:
状态信息查询模块,用于视频云服务节点查询状态信息同步服务保存的历史状态信息;
数据存储模块,主要用于存储接收到的状态信息,进行持久化处理,所存储状态信息主要用于服务节点的查询,同时数据存储模块还用于状态信息同步服务相关配置信息的存储;
配置管理模块,用于对状态信息同步服务的配置信息进行管理,为用户提供系统的配置管理界面;
异常检测模块,用于状态信息同步服务的运行故障或状态异常进行检测,包括模块运行失效和信息同步失败。
本发明还公开了一种根据如上所述的基于消息队列的分布式视频云状态信息同步装置的同步方法,包括:
上线步骤:当有视频云服务节点新上线时,向所述状态信息同步服务进行注册、建立控制连接通道,并根据其对状态信息的需求进行状态信息订阅,添加消息队列,建立起所述消息队列在进行消息交换时的绑定话题;所述绑定话题格式与状态消息的路由关键字格式相同;
同步步骤:当上线的视频云服务节点所管理的对象状态变化时,所述状态信息同步服务接收视频云服务节点发送的状态变化信息,解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配后,复制分发给各匹配成功的消息队列,视频云服务节点读取对应的消息队列信息实现状态同步。
进一步地,所述上线步骤包括:
步骤S101、视频云服务节点上线,并向状态信息同步服务发送注册请求,状态信息同步服务通过认证鉴权模块对服务节点发送的注册请求进行鉴权;
步骤S102、注册成功后,视频云服务节点与状态信息同步服务建立控制连接通道,状态信息同步服务通过控制通道连接模块创建与服务节点之间的连接通道实例;
步骤S103、视频云服务节发送建立消息队列控制命令,状态信息同步服务的消息队列模块为该视频云服务节点建立私有临时性消息队列实例;
步骤S104、视频云服务节点根据其对于状态信息的需求,建立消息队列与消息交换模块的绑定关系,进行状态信息订阅;在建立绑定关系时,声明所订阅消息的绑定话题;
步骤S105、视频云服务节点进行历史状态信息的查询,通过状态信息查询模块,获取状态信息同步服务保存的已知历史状态信息,实现与状态信息同步服务已知状态信息的同步;
步骤S106、视频云服务节点将其维护的状态信息封装成消息发送至状态信息同步服务,由状态信息同步服务同步至其他服务节点。
进一步地,所述同步步骤包括:
步骤S201、视频云服务节点所管理的对象状态发生变化,将状态变化情况封装成消息发送给状态信息同步服务;
步骤S202、状态信息同步服务的状态信息接收模块在接收到消息后将其转发至消息交换模块;
步骤S203、消息交换模块解析状态消息的路由关键字;
步骤S204、消息交换模块将解析到的路由关键字与各消息队列的绑定话题进行匹配,若匹配成功则将消息复制分发给对应的消息队列实例;
步骤S205、消息队列实例将状态消息转发至其所对应的视频云服务节点;
步骤S206、数据存储模块对所接收到的状态信息进行持久化处理。
进一步地,所述步骤S105中,进行历史状态信息的查询包括按组织机构查询、按服务节点查询和按列表查询;
所述按组织机构查询时,查询条件包括组织机构的ID、查询对象的类型、返回分页的索引值、返回数据分页的条目数信息;当查询条件未包括组织机构ID时,则表明查询全部组织结构;按组织机构查询返回的查询结果为该组织机构及下属组织机构用户、设备的状态信息;
按服务节点查询时,查询条件包括服务节点的ID、查询对象的类型、返回分页的索引值、返回数据分页的条目数信息;当查询条件未包括服务节点ID时,则表明查询全部服务节点;按服务节点查询返回的查询结果为注册在该服务节点下用户、设备的状态信息;
按列表查询时,查询条件为待查对象列表,进一步包括待查对象ID、类型等信息,返回的查询结果为列表内用户、设备的状态信息。
进一步地,当查询成功时返回查询结果,查询结果包括数据总条目数、当前页数据条目数、当前页数据起始索引、状态信息列表等信息,状态信息列表中每条状态信息包括:对象ID、对象类型、对象状态、状态更改时间、对象所属节点ID等信息;
当查询失败时返回失败原因,具体包括异常响应码、异常响应信息和详细异常信息。本发明可实现以下有益效果之一:
本发明公开的基于消息队列的分布式视频云状态信息同步装置及方法,能够根据视频云服务节点对于状态信息的获取需求,从所属组织结构、所属服务节点、对象类型等多个维度对用户、设备等资源的状态信息进行按需分发,可极大提高视频云服务系统状态信息的同步效率,提升用户体验。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
图1为本发明实施例中的分布式视频云系统的组成框图;
图2为本发明实施例中的分布式视频云状态信息同步装置的组成框图;
图3为本发明实施例中的分布式视频云状态信息同步装置的同步方法流程图;
图4为本发明实施例中的上线步骤流程图;
图5为本发明实施例中的同步步骤流程图;
图6为本发明实施例中的信息同步的实例示意图;
图7为本发明实施例中的采用XML格式封装的按组织机构查询示例图;
图8为本发明实施例中的采用XML格式封装的按服务节点查询示例图;
图9为本发明实施例中的采用XML格式封装的按列表查询示例图;
图10为本发明实施例中的采用XML格式封装的查询结果格式示例图;
图11为本发明实施例中的采用XML格式封装的失败原因格式示例图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理。
本发明的一个实施例公开一种基于消息队列的分布式视频云状态信息同步装置。分布式视频云系统由多个视频云服务节点组成,当某一服务节点用户状态发生改变时,需要同步通知其他关注该用户状态的服务节点。基于此,本实施例通过在分布式视频云系统中设置与各视频云服务节点连接的全局性的状态信息同步服务实现该功能,如图1所示。
本实施例中的基于消息队列的分布式视频云状态信息同步装置,包括:全局性的状态信息同步服务;分布式的各视频云服务节点分别与状态信息同步服务通信连接。
状态信息同步服务可作为基础组件与视频云核心服务节点一起部署,也可独立于任一服务节点单独部署。当某一服务节点检测到注册其上的用户状态(如在线状态、忙闲状态、自定义状态等)发生改变时,可发送消息至状态信息同步服务,由状态信息同步服务根据状态订阅情况进行消息分发,将此信息同步至其他服务节点。
当有视频云服务节点新上线时,向所述状态信息同步服务进行注册、建立控制连接通道,并根据其对状态信息的需求进行状态信息订阅,添加消息队列,建立起所述消息队列在进行消息交换时的绑定话题;所述绑定话题格式与状态消息的路由关键字格式相同;
当上线的视频云服务节点所管理的对象状态变化时,所述状态信息同步服务接收视频云服务节点发送的状态变化信息,解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配后,复制分发给各匹配成功的消息队列,视频云服务节点读取对应的消息队列信息实现状态同步。
具体的,所述绑定话题中的话题格式与路由关键字格式相同;所述格式为<objID>.<objType>.<orgID>.<nodeID>;其中,objID为对象ID,objType为对象类型,orgUUID为对象所属组织机构ID,nodeID为发出消息的服务节点ID;
其中,绑定话题中不指定信息的字段,用通配符替换;在解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配时,通配符可匹配对应位置的任意关键字。
具体的,所述状态信息同步服务还提供查询接口用于视频云服务节点通过信息查询进行行一次性同步;
所述状态信息同步服务还提供本地持久化存储,用于对状态变化消息的持久化存储,以供视频云服务节点通过查询接口进行信息查询。
如图2所示,在本实施例中,所述状态信息同步服务包括认证鉴权模块、状态信息查询模块、控制通道连接模块、状态信息接收模块、消息队列模块、消息交换模块、数据存储模块、配置管理模块和异常检测模块;其中,
认证鉴权模块,用于根据配置和权限信息对视频云服务节点的连接请求进行鉴权,以保证状态信息同步服务的安全性;
控制通道连接模块,用于创建和管理状态信息同步服务与服务节点之间的连接实例,该连接实例用于消息队列的创建、绑定与销毁,以及消息的读写;
状态信息接收模块,用于接收各视频云服务节点发送的待同步状态消息;
所述待同步状态消息需包含路由关键字(routing key),用于对该信息进行按需交换,路由关键字(routing key)应包含对象ID、对象类型、对象所属组织机构、发出消息的服务节点等信息;
路由关键字格式如下:<objID>.<objType>.<orgID>.<nodeID>。其中,objID为对象ID,objType为对象类型,orgUUID为对象所属组织机构ID,nodeID为发出消息的服务节点ID。
消息交换模块,用于根据状态消息的路由关键字及消息队列的绑定关系,将状态信息接收模块接收到的待同步状态消息分发至消息队列模块;
消息队列模块,用于创建和管理消息队列实例,该消息队列实例用于向视频云服务节点发送待同步状态消息,消息队列实例由各视频云服务节点根据状态信息订阅需求创建,在创建时应与消息交换模块建立绑定关系,在建立绑定关系时声明所订阅消息的绑定话题;
更具体的,所创建消息队列实例为该服务节点的私有临时性队列,当服务节点与状态信息同步服务之间的连接断开时,该服务节点所创建的全部消息队列实例自动销毁。
状态信息查询模块,用于视频云服务节点查询状态信息同步服务保存的历史状态信息;
当视频云服务节点初次连接至状态信息同步服务时,需要首先获取当前已知的历史状态信息,后续再根据所接收到状态消息的内容进行增量同步,以保证状态的一致性。另外,视频云服务节点也可通过该模块在未订阅的情况下临时查询某一设备或用户的状态信息。
数据存储模块,主要用于存储接收到的状态信息,进行持久化处理,所存储状态信息主要用于服务节点的查询,同时数据存储模块还用于状态信息同步服务相关配置信息的存储;
更具体的,数据存储模块在初始化过程中在消息队列模块建立持久性消息队列实例,并采用“#”作为订阅话题(topic)与消息交换模块建立绑定关系,以接收全部状态消息,用以进行持久化处理。
配置管理模块,用于对状态信息同步服务的配置信息进行管理,为用户提供系统的配置管理界面;
异常检测模块,用于状态信息同步服务的运行故障或状态异常进行检测,包括模块运行失效和信息同步失败。
在本实施例中还公开了一种根据如上所述的基于消息队列的分布式视频云状态信息同步装置的同步方法,如图3所示,包括:
上线步骤:当有视频云服务节点新上线时,向所述状态信息同步服务进行注册、建立控制连接通道,并根据其对状态信息的需求进行状态信息订阅,添加消息队列,建立起所述消息队列在进行消息交换时的绑定话题;所述绑定话题格式与状态消息的路由关键字格式相同;
同步步骤:当上线的视频云服务节点所管理的对象状态变化时,所述状态信息同步服务接收视频云服务节点发送的状态变化信息,解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配后,复制分发给各匹配成功的消息队列,视频云服务节点读取对应的消息队列信息实现状态同步。
如图4所示,所述上线步骤包括:
步骤S101、视频云服务节点上线,并向状态信息同步服务发送注册请求,状态信息同步服务通过认证鉴权模块对服务节点发送的注册请求进行鉴权;
步骤S102、注册成功后,视频云服务节点与状态信息同步服务建立控制连接通道,状态信息同步服务通过控制通道连接模块创建与服务节点之间的连接通道实例;
步骤S103、视频云服务节发送建立消息队列控制命令,状态信息同步服务的消息队列模块为该视频云服务节点建立私有临时性消息队列实例;
步骤S104、视频云服务节点根据其对于状态信息的需求,建立消息队列与消息交换模块的绑定关系,进行状态信息订阅;在建立绑定关系时,声明所订阅消息的绑定话题;
在建立绑定关系是需声明所订阅消息的话题(topic),话题(topic)格式与状态的消息路由关键字(routing key)格式相同,包含对象ID、对象类型、对象所属组织机构、发出消息的服务节点等信息,格式如下:<objID>.<objType>.<orgID>.<nodeID>。其中,objID为对象ID,objType为对象类型,orgUUID为对象所属组织机构ID,nodeID为发出消息的服务节点ID。话题(topic)中信息可以使用“*”或“#”进行替换,用于模糊匹配,“*”表示匹配一个单词,“#”表示匹配一个或多个单词。
步骤S105、视频云服务节点进行历史状态信息的查询,通过状态信息查询模块,获取状态信息同步服务保存的已知历史状态信息,实现与状态信息同步服务已知状态信息的同步;
步骤S106、视频云服务节点将其维护的状态信息封装成消息发送至状态信息同步服务,由状态信息同步服务同步至其他服务节点。
如图5所示,所述同步步骤包括:
步骤S201、视频云服务节点所管理的对象状态发生变化,将状态变化情况封装成消息发送给状态信息同步服务;
步骤S202、状态信息同步服务的状态信息接收模块在接收到消息后将其转发至消息交换模块;
步骤S203、消息交换模块解析状态消息的路由关键字;
步骤S204、消息交换模块将解析到的路由关键字与各消息队列的绑定话题进行匹配,若匹配成功则将消息复制分发给对应的消息队列实例;
步骤S205、消息队列实例将状态消息转发至其所对应的视频云服务节点;
步骤S206、数据存储模块对所接收到的状态信息进行持久化处理。
如图6所示,本实施例中给出了一个具体的信息同步的实例,在实例中,视频云服务节点B订阅ID为002的对象的状态信息,建立消息队列queue1并使用“002.#”为话题(topic)与消息交换模块建立绑定关系,视频云服务节点C订阅组织机构ID为024的全部对象的状态信息,建立消息队列queue2并使用“#.024.*”为话题(topic)与消息交换模块建立绑定关系,视频云服务节点D订阅组织机构ID为031且类型为1的全部对象的状态信息,建立消息队列queue3并使用“*.1.031.*”为话题(topic)与消息交换模块建立绑定关系。当视频云服务节点A上的对象002状态发生变化时,向视频云状态信息同步发送状态消息,路由关键字(routing key)为002.1.031.024,当状态信息同步服务的消息交换模块接收到该消息后,对消息进行解析,获得路由关键字(routing key),并与各消息队列的绑定话题(topic)进行规则匹配,如果匹配成功则将该消息推送至对应的消息队列(图中queue1和queue3),进而发送至对应的视频云服务节点(图中视频云服务节点B和视频云服务节点D)。
在更具体的方案中,所述步骤S105中,进行历史状态信息的查询采用基于HTTP/HTTPS的RESTful风格接口,在HTTP请求头域中扩展增加<User-Identify>字段,表明查询请求者的身份属性。提供按组织机构查询、按服务节点查询、按列表查询等3种查询方式。查询条件和返回结果采用XML或JSON格式进行封装。
所述按组织机构查询时,查询条件包括组织机构的ID、查询对象的类型、返回分页的索引值、返回数据分页的条目数信息;当查询条件未包括组织机构ID时,则表明查询全部组织结构;按组织机构查询返回的查询结果为该组织机构及下属组织机构用户、设备的状态信息;采用XML格式封装的按组织机构查询示例如图7所示。
按服务节点查询时,查询条件包括服务节点的ID、查询对象的类型、返回分页的索引值、返回数据分页的条目数信息;当查询条件未包括服务节点ID时,则表明查询全部服务节点;按服务节点查询返回的查询结果为注册在该服务节点下用户、设备的状态信息;采用XML格式封装的按服务节点查询示例如图8所示。
按列表查询时,查询条件为待查对象列表,进一步包括待查对象ID、类型等信息,返回的查询结果为列表内用户、设备的状态信息。采用XML格式封装的按列表查询示例如图9所示。
当查询成功时返回查询结果,查询结果包括数据总条目数、当前页数据条目数、当前页数据起始索引、状态信息列表等信息,状态信息列表中每条状态信息包括:对象ID、对象类型、对象状态、状态更改时间、对象所属节点ID等信息;采用XML格式封装的查询结果格式示例如图10所示。
当查询失败时返回失败原因,具体包括异常响应码、异常响应信息和详细异常信息。异常响应码和异常响应信息遵循IETF RFC 7231。采用XML格式封装的失败原因格式示例如图11所示。
综上所述,本发明实施例公开的基于消息队列的分布式视频云状态信息同步装置及方法,能够根据视频云服务节点对于状态信息的获取需求,从所属组织结构、所属服务节点、对象类型等多个维度对用户、设备等资源的状态信息进行按需分发,可极大提高视频云服务系统状态信息的同步效率,提升用户体验。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
Claims (10)
1.一种基于消息队列的分布式视频云状态信息同步装置,其特征在于,包括:全局性的状态信息同步服务;分布式的各视频云服务节点分别与状态信息同步服务通信连接;
当有视频云服务节点新上线时,向所述状态信息同步服务进行注册、建立控制连接通道,并根据其对状态信息的需求进行状态信息订阅,添加消息队列,建立起所述消息队列在进行消息交换时的绑定话题;所述绑定话题格式与状态消息的路由关键字格式相同;
当上线的视频云服务节点所管理的对象状态变化时,所述状态信息同步服务接收视频云服务节点发送的状态变化信息,解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配后,复制分发给各匹配成功的消息队列,视频云服务节点读取对应的消息队列信息实现状态同步。
2.根据权利要求1所述的分布式视频云状态信息同步装置,其特征在于,
所述绑定话题中的话题格式与路由关键字格式相同;所述格式为<objID>.<objType>.<orgID>.<nodeID>;其中,objID为对象ID,objType为对象类型,orgUUID为对象所属组织机构ID,nodeID为发出消息的服务节点ID;
其中,绑定话题中不指定信息的字段,用通配符替换;在解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配时,通配符可匹配对应位置的任意关键字。
3.根据权利要求2所述的分布式视频云状态信息同步装置,其特征在于,
所述状态信息同步服务还提供查询接口用于视频云服务节点通过信息查询进行行一次性同步;
所述状态信息同步服务还提供本地持久化存储,用于对状态变化消息的持久化存储,以供视频云服务节点通过查询接口进行信息查询。
4.根据权利要求1-3任一项所述的分布式视频云状态信息同步装置,其特征在于,所述状态信息同步服务包括:
认证鉴权模块,用于根据配置和权限信息对视频云服务节点的连接请求进行鉴权,以保证状态信息同步服务的安全性;
控制通道连接模块,用于创建和管理状态信息同步服务与服务节点之间的连接实例,该连接实例用于消息队列的创建、绑定与销毁,以及消息的读写;
状态信息接收模块,用于接收各视频云服务节点发送的待同步状态消息;
消息交换模块,用于根据状态消息的路由关键字及消息队列的绑定关系,将状态信息接收模块接收到的待同步状态消息分发至消息队列模块;
消息队列模块,用于接收待同步状态消息,创建和管理消息队列实例;所述消息队列实例用于向视频云服务节点发送待同步状态消息,消息队列实例由各视频云服务节点根据状态信息订阅需求创建,在创建时应与消息交换模块建立绑定关系,在建立绑定关系时声明所订阅消息的绑定话题。
5.根据权利要求4所述的分布式视频云状态信息同步装置,其特征在于,所述状态信息同步服务还包括:
状态信息查询模块,用于视频云服务节点查询状态信息同步服务保存的历史状态信息;
数据存储模块,主要用于存储接收到的状态信息,进行持久化处理,所存储状态信息主要用于服务节点的查询,同时数据存储模块还用于状态信息同步服务相关配置信息的存储;
配置管理模块,用于对状态信息同步服务的配置信息进行管理,为用户提供系统的配置管理界面;
异常检测模块,用于状态信息同步服务的运行故障或状态异常进行检测,包括模块运行失效和信息同步失败。
6.一种根据权利要求1-5任一项所述的基于消息队列的分布式视频云状态信息同步装置的同步方法,其特征在于,包括:
上线步骤:当有视频云服务节点新上线时,向所述状态信息同步服务进行注册、建立控制连接通道,并根据其对状态信息的需求进行状态信息订阅,添加消息队列,建立起所述消息队列在进行消息交换时的绑定话题;所述绑定话题格式与状态消息的路由关键字格式相同;
同步步骤:当上线的视频云服务节点所管理的对象状态变化时,所述状态信息同步服务接收视频云服务节点发送的状态变化信息,解析出状态变化消息的路由关键字与信息队列中的绑定话题进行匹配后,复制分发给各匹配成功的消息队列,视频云服务节点读取对应的消息队列信息实现状态同步。
7.根据权利要求6所述的同步方法,其特征在于,所述上线步骤包括:
步骤S101、视频云服务节点上线,并向状态信息同步服务发送注册请求,状态信息同步服务通过认证鉴权模块对服务节点发送的注册请求进行鉴权;
步骤S102、注册成功后,视频云服务节点与状态信息同步服务建立控制连接通道,状态信息同步服务通过控制通道连接模块创建与服务节点之间的连接通道实例;
步骤S103、视频云服务节发送建立消息队列控制命令,状态信息同步服务的消息队列模块为该视频云服务节点建立私有临时性消息队列实例;
步骤S104、视频云服务节点根据其对于状态信息的需求,建立消息队列与消息交换模块的绑定关系,进行状态信息订阅;在建立绑定关系时,声明所订阅消息的绑定话题;
步骤S105、视频云服务节点进行历史状态信息的查询,通过状态信息查询模块,获取状态信息同步服务保存的已知历史状态信息,实现与状态信息同步服务已知状态信息的同步;
步骤S106、视频云服务节点将其维护的状态信息封装成消息发送至状态信息同步服务,由状态信息同步服务同步至其他服务节点。
8.根据权利要求6所述的同步方法,其特征在于,所述同步步骤包括:
步骤S201、视频云服务节点所管理的对象状态发生变化,将状态变化情况封装成消息发送给状态信息同步服务;
步骤S202、状态信息同步服务的状态信息接收模块在接收到消息后将其转发至消息交换模块;
步骤S203、消息交换模块解析状态消息的路由关键字;
步骤S204、消息交换模块将解析到的路由关键字与各消息队列的绑定话题进行匹配,若匹配成功则将消息复制分发给对应的消息队列实例;
步骤S205、消息队列实例将状态消息转发至其所对应的视频云服务节点;
步骤S206、数据存储模块对所接收到的状态信息进行持久化处理。
9.根据权利要求7所述的同步方法,其特征在于,所述步骤S105中,进行历史状态信息的查询包括按组织机构查询、按服务节点查询和按列表查询;
所述按组织机构查询时,查询条件包括组织机构的ID、查询对象的类型、返回分页的索引值、返回数据分页的条目数信息;当查询条件未包括组织机构ID时,则表明查询全部组织结构;按组织机构查询返回的查询结果为该组织机构及下属组织机构用户、设备的状态信息;
按服务节点查询时,查询条件包括服务节点的ID、查询对象的类型、返回分页的索引值、返回数据分页的条目数信息;当查询条件未包括服务节点ID时,则表明查询全部服务节点;按服务节点查询返回的查询结果为注册在该服务节点下用户、设备的状态信息;
按列表查询时,查询条件为待查对象列表,进一步包括待查对象ID、类型等信息,返回的查询结果为列表内用户、设备的状态信息。
10.根据权利要求9所述的同步方法,其特征在于,
当查询成功时返回查询结果,查询结果包括数据总条目数、当前页数据条目数、当前页数据起始索引、状态信息列表等信息,状态信息列表中每条状态信息包括:对象ID、对象类型、对象状态、状态更改时间、对象所属节点ID等信息;
当查询失败时返回失败原因,具体包括异常响应码、异常响应信息和详细异常信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211636901.0A CN115996240A (zh) | 2022-12-16 | 2022-12-16 | 基于消息队列的分布式视频云状态信息同步装置及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211636901.0A CN115996240A (zh) | 2022-12-16 | 2022-12-16 | 基于消息队列的分布式视频云状态信息同步装置及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115996240A true CN115996240A (zh) | 2023-04-21 |
Family
ID=85993281
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211636901.0A Pending CN115996240A (zh) | 2022-12-16 | 2022-12-16 | 基于消息队列的分布式视频云状态信息同步装置及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115996240A (zh) |
-
2022
- 2022-12-16 CN CN202211636901.0A patent/CN115996240A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111787066A (zh) | 一种基于大数据、ai的物联网数据平台 | |
CN101668031B (zh) | 一种消息处理方法及系统 | |
US20050216569A1 (en) | Method for implementing content delivery network (cdn) internetworking, respective networks and interface component | |
JPS6170654A (ja) | 分散処理システムにおける資源管理方式 | |
WO2007115477A1 (fr) | Procédé et système de synchronisation de données | |
KR930701792A (ko) | 소프트웨어 프로세스간의 고성능통신을 위한 데이타교환 디테일의 디커플링 공급장치 및 그 방법 | |
CN103064731A (zh) | 一种提高消息队列系统性能的装置及其方法 | |
CN112711635B (zh) | 一种分布式物联设备跨区域数据一致性的方法和服务集群 | |
CN111277483B (zh) | 一种多端消息的同步方法、服务器及可存储介质 | |
CN107870982A (zh) | 数据处理方法、系统和计算机可读存储介质 | |
CN101155079B (zh) | 一种监控即时通讯服务器的方法、装置和系统 | |
CN109560903B (zh) | 一种完全容灾的车载指挥通信系统 | |
CN113285894B (zh) | 基于可编程交换机的身份标识网络移动性控制方法及系统 | |
CN104270432B (zh) | 基于钻井行业实时数据服务系统及数据交互方法 | |
CN110213156A (zh) | 一种跨中心群组即时通信方法和系统 | |
CN112073212B (zh) | 参数配置方法、装置、终端设备和存储介质 | |
CN101605301A (zh) | 一种进行多节点事务处理的集群系统及请求消息分发方法 | |
CN111600929B (zh) | 传输线路探测方法、路由策略生成方法及代理服务器 | |
CN108681588A (zh) | 一种接口访问实时统计方法及系统 | |
CN115996240A (zh) | 基于消息队列的分布式视频云状态信息同步装置及方法 | |
CN104660664A (zh) | 用来管理储存系统的方法与装置 | |
CN101072156A (zh) | 一种p2p系统中查找种子的方法及系统 | |
JP5332488B2 (ja) | 複数の機能エンティティのマップ・ベース通信 | |
Prabakar et al. | Management of RFID-centric business networks using Web Services | |
CN209134427U (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 |