[发明专利]一种分布式数据库异步读取并处理批量数据的方法在审
申请号: | 202011246356.5 | 申请日: | 2020-11-10 |
公开(公告)号: | CN112269835A | 公开(公告)日: | 2021-01-26 |
发明(设计)人: | 贾德星;周恒;孙思清 | 申请(专利权)人: | 浪潮云信息技术股份公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/242;G06F16/2457 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 冯春连 |
地址: | 250100 山东省济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 数据库 异步 读取 处理 批量 数据 方法 | ||
1.一种分布式数据库异步读取并处理批量数据的方法,其特征在于,其实现内容包括:
基于GO层的SQL模块和C层的存储模块,在GO层的SQL模块创建共享内存队列;
通过共享内存队列进行SQL模块和存储模块之间的数据交互:当SQL模块接收到客户端的查询请求时,通过CGO调用通知存储模块,存储模块的线程从RocksDB异步读取批量数据并写入共享内存队列,同时,通过CGO调用通知SQL模块的读取线程,SQL模块的线程异步读取共享内存队列的数据并处理,随后返回处理结果给客户端;
交互过程中,SQL模块的线程和存储模块的线程异步并发执行,实现RocksDB数据的异步读取和批量处理。
2.根据权利要求1所述的一种分布式数据库异步读取并处理批量数据的方法,其特征在于,实现RocksDB数据的异步读取和批量处理过程中,通过CGO调用,SQL模块通知存储模块开始读取数据,存储模块通知SQL模块开始处理已读取的数据。
3.根据权利要求1所述的一种分布式数据库异步读取并处理批量数据的方法,其特征在于,异步读取并处理批量数据的具体实现流程为:
(1)在SQL模块创建一个共享内存队列;
(2)在SQL模块接收到客户端的查询请求时,通过CGO调用通知存储模块读取数据,通过CGO调用将共享内存队列的地址传送给存储模块,同时启动SQL模块的线程,异步等待读取共享内存队列的数据;
(3)存储模块接收到查询请求,随后启动存储模块的线程,异步从RocksDB批量数据读取;
(4)存储模块的线程每从RocksDB读取一批数据,即写入共享内存队列;
(5)SQL模块的线程异步读取共享内存队列的数据;
(6)存储模块的线程从RocksDB读取所有符合条件的数据后,通过CGO调用通知SQL模块的线程,SQL模块的线程收到通知后,处理已读取的数据,并返回数据处理结果给客户端。
4.根据权利要求3所述的一种分布式数据库异步读取并处理批量数据的方法,其特征在于,在SQL模块创建一个共享内存队列的具体操作为:
在SQL模块创建一片共享内存区域,并按固定大小将共享内存区域切分成多个Block,形成一个共享内存Block队列。
5.根据权利要求4所述的一种分布式数据库异步读取并处理批量数据的方法,其特征在于,所述存储模块的线程每从RocksDB读取一批Block大小的数据,即写入共享内存Block队列,在共享内存的Block队列已满时,同步等待SQL模块的线程进行异步数据消费。
6.根据权利要求5所述的一种分布式数据库异步读取并处理批量数据的方法,其特征在于,在共享内存Block队列为空时,等待存储模块的线程启动,存储模块的线程将异步读取的批量数据写入共享内存Block队列;存储模块的线程将异步读取的批量数据全部写入共享内存Block队列后,设置共享内存Block队列为空的标识。
7.根据权利要求6所述的一种分布式数据库异步读取并处理批量数据的方法,其特征在于,所述SQL模块的线程收到通知后,
如果共享内存队列的数据未消费完毕,则继续读取共享内存队列的数据,并解析共享内存队列的KeyValue数据,进行条件过滤、聚合计算,并返回数据处理结果给客户端;
如果共享内存队列的数据已经为空,则结束SQL模块的线程。
8.根据权利要求3所述的一种分布式数据库异步读取并处理批量数据的方法,其特征在于,步骤(4)中存储模块将从RocksDB读取的批量数据写入共享内存队列,步骤(5)中SQL模块读取共享内存队列的数据,这两个过程是异步并发执行的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮云信息技术股份公司,未经浪潮云信息技术股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011246356.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种桥式抓斗卸船机雷达测距防撞系统
- 下一篇:二氯甲苯硝化物中间体的制备方法