首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种实现可持久化消息队列的方法 

申请/专利权人:北京海量数据技术股份有限公司

申请日:2023-11-24

公开(公告)日:2024-06-25

公开(公告)号:CN117520018B

主分类号:G06F9/54

分类号:G06F9/54;G06F16/21

优先权:

专利状态码:有效-授权

法律状态:2024.06.25#授权;2024.02.27#实质审查的生效;2024.02.06#公开

摘要:本发明涉及一种实现可持久化消息队列的方法。本方法包括:准备持久化队列,用户创建自定义消息类型,通过调用openGauss数据库DBMS_AQADM内置包中的接口创建队列表、内部表all_dequeue_queues、内部表vb_queue_triggers、持久化队列监控器;使用持久化队列,进行消息进入持久化队列和消息离开持久化队列操作;销毁持久化队列,通过接口进行队列消息删除、队列删除、队列表删除。本方法能够实现同一数据库不同业务系统间的消息通信,并且提供了丰富的消息队列管理功能以及消息出入队控制参数,使得消息可以持久化存储且能针对消息指定各种回调功能,操作非常便捷。

主权项:1.一种实现可持久化消息队列的方法,其特征在于,所述方法利用openGauss数据库中的模式表vb_queue_table、内部表all_dequeue_queues、内部表vb_queue_triggers和持久化队列监控器来实现持久化消息队列;利用plsql实现的存储过程来管理消息队列以及消息的出队和入队;其中:模式表vb_queue_table用于存储所有队列的消息,其表结构信息固定,表名通过调用接口dbms_aqadm.create_queue_table来确定;内部表all_dequeue_queues用于维护所有队列的基本信息,其表名及表结构固定;内部表vb_queue_triggers用于维护队列上注册的回调函数信息,其表名及表结构固定;所述方法包括:S1.准备持久化队列,用户创建自定义消息类型,然后通过调用openGauss数据库DBMS_AQADM内置包中的dbms_aqadm.create_queue_table接口创建队列表、内部表all_dequeue_queues、内部表vb_queue_triggers、持久化队列监控器;S2.使用持久化队列,通过接口dbms_aq.enqueue进行消息进入持久化队列和接口dbms_aq.dequeue进行消息离开持久化队列的操作;S3.销毁持久化队列,通过接口dbms_aqadm.drop_queue_table进行队列消息删除、队列删除、队列表删除、队列监控器删除;所述方法步骤S1中包括以下过程:S11.在DBMS_AQADM内置包初始化时,创建内部表all_dequeue_queues、内部表vb_queue_triggers以及持久化队列监控器aq$_queue_monitor;S12.用户创建自定义消息类型,接口dbms_aqadm.create_queue_table接收自定义队列表名称及消息类型名称,内部基于模式表vb_queue_table创建队列表;S13.接口dbms_aqadm.create_queue接收队列名称及所属队列表名称,生成all_dequeue_queues表字段相关信息,并向其中写入一条记录来表明当前队列已创建;S14.接口dbms_aqadm.start_queue接收队列名称并启动队列,即更新all_dequeue_queues表中enqueue_enabled及dequeue_enabled字段值为true;S15.接口dbms_aq.register接收队列名称及回调函数名称,然后把回调函数注册到此队列上,同时把队列信息及回调函数名称信息写入到vb_queue_triggers表中,完成队列与回调函数的关联;所述方法步骤S3中包括以下过程:S31.在正常操作模式下,通过接口dbms_aqadm.stop_queue停止队列,即把all_dequeue_queues表中enqueue_enabled及dequeue_enabled字段值改为false;通过接口dbms_aqadm.drop_queue删除队列,即把all_dequeue_queues表中当前队列记录删除并联动删除回调函数信息;通过接口dbms_aqadm.drop_queue_table删除队列表消息,即删除队列表中的记录并删除队列表、队列监控器;S32.在强制操作模式下,接口dbms_aqadm.drop_queue_table设置强制删除标记为true,直接删除队列消息、回调函数信息、队列、队列表、队列监控器。

全文数据:

权利要求:

百度查询: 北京海量数据技术股份有限公司 一种实现可持久化消息队列的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。