[发明专利]一种支持SQL语法的消息系统在审
申请号: | 201811063709.0 | 申请日: | 2018-09-12 |
公开(公告)号: | CN109446216A | 公开(公告)日: | 2019-03-08 |
发明(设计)人: | 曾博远;罗文辉;陶瑞甫;胡冠睿;景富香;王轮樟;齐秋灝;郭智;梁宏韬 | 申请(专利权)人: | 珠海凡泰极客科技有限责任公司 |
主分类号: | G06F16/242 | 分类号: | G06F16/242 |
代理公司: | 广州越华专利代理事务所(普通合伙) 44523 | 代理人: | 陈岑 |
地址: | 518064 广东省珠海市*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 消息中间件 消息系统 中间件层 屏蔽 使用者提供 数据完整性 处理消息 底层服务 解耦特性 配置消息 冗余备份 差异化 中间件 可用 过滤 收发 外部 支撑 保证 统一 | ||
本发明公开了一种支持SQL语法的消息系统。所谓消息系统就是消息中间件,消息中间件作为中间件的一种,具有屏蔽底层服务差异化的特点,对外部使用者提供了统一的易用的接口来实现收发消息从而屏蔽了底层细节。通常来说消息的消费者和消息发送者具备处理消息的能力,而支持SQL语法的消息中间件,则将额外具备中间件层的对消息本身的处理能力,结合中间件层高性能和强大的解耦特性,基于SQL语法的消息系统将会具备对消息的即时过滤和可针对配置消息的增删改查,可以用作冗余备份保证数据完整性也可以支定制更强更强大的api以支撑消息中间件的高可用扩展。
技术领域
本发明涉及支持SQL语法的消息系统(下文也称消息中间件)的客户端,和相对应的中间件配套技术,易参考数据处理整合领域,特别是涉及DQL(数据查询语言)的相关配套技术。
背景技术
消息中间件的作用是通过对消息的路由和派发,达到支持水平扩容和服务的解耦合的底层技术。基于消息中间件技术开发的客户端,时常需要考虑如何将重要消息缓存和消息的落地等一些列围绕消息的可靠性展开的问题,而这些往往使得服务构建冗繁,消息使用者需要订阅很多消息,并自己进行消息的过滤,再围绕需要落地的消息进行数据存储,消息订阅和发布往往是按照主题(也称为Topic或者Subject)来完成的。
在消息的过滤上,一个典型场景就是订阅的消息仅有部分是需要的,因为往往订阅者是没有直接和数据发布者的有提前约定的,比如数据源发布的数据是十月份的天气情况,并没有提供按日的接口,但是如果需要了解十月中某一天的天气数据,就需要订阅十月消息这个数据源,并且根据返回的数据结构解析后去除不需要的30天的数据。首先这样的操作比较复杂,其次对中间件的负载比较大,假如很多人订阅这一主题,那么将产生很多的重复的冗余的消息,这样对消息源和中间件产生了双重的压力。
基于sql的中间件的发明的目的之一就是为了解决这一问题,回到这个例子中,改进后的中间件的客户端可以使用sql进行以某一天为查询条件的精准查询,而这个查询不需要建立在消息发布源,只需要进行一些基础的配置,中间件本身会将筛选后的消息以需要订阅的主题发布,而查询在中间件内变成轻负担和快速高效的, 使得中间件整体性能有了很大程度的提升。
发明内容
为了解决现有中间件的这些问题,本发明给出一种更加简易和高效的基于中间件的支持SQL(SQL语法)的消息系统,在现有的具有中间节点和设施的中间件(现有流行中间件按照有无中间节点分为两类,有节点的例如:RabbitMQ、RocketMQ等,无节点的例如:ZeroMQ等)基础上增加2个特性:
增加以可配置的基于内存的缓存备份模块作为中间件内部的一部分,这个缓存备份模块将所有配置过的主题之下的消息按照消息协议(例如JSON格式、PROTOBUF格式等)解析后进行缓存,并能够支持消息落地和启动后的重新加载。
增加用于SQL语法操作的特殊的内置主题消息,并确定消息的格式和协议,不同主题具有不同功能。例如设置一个名为“Weather”的主题,这个主题的内容将会被应用到缓存备份模块向其他模块提供SQL操作服务,该主题的消息本身是一条关于两个字段的内容,例如以JSON格式约定后定义的消息:
{“DATE”:“2018/03/14”,“CONTENT”:“RAINY”}
当消息源发布这个主题的消息时,缓存备份模块就会订阅并将这个消息按照约定的消息格式进行解码,之后按照DATE和CONTENT进行键-值存储到关系型内存数据库中例如Hazelcast(一款基于Java的关系型内存数据库),当接入总线的各个客户端需要这个消息的时候,可以约定发送名为“QUERY”的主题消息,缓存备份模块会事先订阅这个主题的消息,这个消息是从客户端发出的,内容为一句SQL语句的消息,例如:
SELECT * FROM Weather WHERE DATE=“2018/03/14”
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于珠海凡泰极客科技有限责任公司,未经珠海凡泰极客科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811063709.0/2.html,转载请声明来源钻瓜专利网。