说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202211038992.8 (22)申请日 2022.08.29 (71)申请人 浪潮软件集团有限公司 地址 250100 山东省济南市高新区科航路 2877号 (72)发明人 魏力 贾德星 李盟  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 潘悦梅 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/54(2006.01) (54)发明名称 时序引擎内存管理方法及系统 (57)摘要 本发明公开了时序引擎内存管理方法及系 统, 属于分布式数据库技术领域, 要解决的技术 问题为如何提升时序引擎内存申请和释放的效 率, 避免内存碎片和内存泄漏。 包括如下步骤: 通 过Apache  Arrow为ObjectTable分配 数据缓存区 Buffer; 将数据缓存区Buffer强转为不同类 型的 ArrayData; 基于指针右移动的方式向数据缓存 区Buffer写入数据, 写入数据时执行如下: 当前 的存储空间写满后, 将当前的存储空间生成 Block添加到ObjectBlock容器中; 当MemTable中 写满数据后, 将MemTable生成ImmuMemTable, 等 待刷盘持久化, 待写入进程结束, 创建新的 MemTable。 权利要求书2页 说明书5页 附图1页 CN 115437787 A 2022.12.06 CN 115437787 A 1.一种时序引擎内存管理方法, 其特征在于, 基于Apache  Arrow对时序引擎的内存进 行管理, 包括如下步骤: 在时序引擎的内存模块中, 通过Apache  Arrow为Obj ectTable分配数据缓存区Buffer, 所述ObjectTable用于存 储对象的时序数据; 在向所述数据缓存区Buffer写入数据时, 将所述数据缓存区Buffer 强转为不同类型的 ArrayData; 所述数据缓存区Buffer内划分有多个存储空间, 基于指针右移动的方式向所述数据缓 存区Buffer写入数据, 写入数据时执 行如下: 当前的存储空间写满后, 将当前的存储空间生成Block添加到ObjectBlock容器中, Block是构成M emTable的基本 单元, 写入数据过程中, 所述 ObjectTable标记为M emTable, 为 可写状态; 当MemTable中写满数据后, 将MemTable生成ImmuMemTable, 所述ImmuMemTable为不可 写状态, 并将ImmuMemTable写到vector内, 等待刷盘持久化, 待写入进程结束, 创建新的 MemTable。 2.根据权利要求1所述的时序引擎内存管理方法, 其特征在于, 通过第一分配方法为 ObjectTable分配数据缓存区Buf fer, 所述第一分配方法为: 使用Apac he Arrow申请整片内存区域; 通过Allocate()切分所述内存区域给不同Sc hema的ObjectTable使用。 3.根据权利要求1所述的时序引擎内存管理方法, 其特征在于, 通过第二分配方法为 ObjectTable分配数据缓存区Buf fer, 所述第二分配方法为: 通过Arrow.Allocate()申请内存, 在MemTable中记录已经分配的A rrow的内存数量。 4.根据权利要求3所述的时序引擎内存管理方法, 其特征在于, 通过第 二分配方法为为 ObjectTable分配数据缓存区Buffer后, 向所述数据缓存区Buffer内写入 数据时, 构建数据 的索引并将索引作为头指针写入所述数据缓存区Buf fer内。 5.一种时序引擎内存管理系统, 其特征在于, 执行如权利要求1 ‑4任一项所述的时序引 擎内存管理方法, 所述系统包括: 内存分配模块, 所述内存分配模块用于通过Apache  Arrow、 在时序引擎的内存模块中 为ObjectTable分配数据缓存区Buf fer, 所述ObjectTable用于存 储对象的时序数据; 类型转换模块, 所述类型转换模块用于在向所述数据缓存区Buffer写入数据时, 将所 述数据缓存区Buf fer强转为不同类型的A rrayData; 数据写入模块, 所述数据写入模块用于在所述数据缓存区Buffer内划分有多个存储空 间, 用于基于指针右移动的方式向所述数据缓存 区Buffer写入数据, 写入数据时用于执行 如下: 当前的存储空间写满后, 将当前的存储空间生成Block添加到ObjectBlock容器中, Block是构成M emTable的基本 单元, 写入数据过程中, 所述 ObjectTable标记为M emTable, 为 可写状态; 当MemTable中写满数据后, 将MemTable生成ImmuMemTable, 所述ImmuMemTable为不可 写状态, 并将ImmuMemTable写到vector内, 等待刷盘持久化, 待写入进程结束, 创建新的 MemTable。权 利 要 求 书 1/2 页 2 CN 115437787 A 26.根据权利要求5所述的时序引擎内存管理系统, 其特征在于, 所述内存分配模块用于 通过第一分配方法为ObjectTable分配数据缓存区Buf fer, 所述第一分配方法为: 使用Apac he Arrow申请整片内存区域; 通过Allocate()切分所述内存区域给不同Sc hema的ObjectTable使用。 7.根据权利要求5所述的时序引擎内存管理系统, 其特征在于, 所述内存分配模块用于 通过第二分配方法为ObjectTable分配数据缓存区Buf fer, 所述第二分配方法为: 通过Arrow.Allocate()申请内存, 在MemTable中记录已经分配的A rrow的内存数量。 8.根据权利要求5所述的时序引擎内存管理系统, 其特征在于, 对于通过第 二分配方法 为ObjectTable分配的数据缓存区Buffer, 向所述数据缓存区Buffer内写入数据时, 所述写 入模块用于构建数据的索引并将索引作为头指针写入所述数据缓存区Buf fer内。权 利 要 求 书 2/2 页 3 CN 115437787 A 3

.PDF文档 专利 时序引擎内存管理方法及系统

文档预览
中文文档 9 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共9页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 时序引擎内存管理方法及系统 第 1 页 专利 时序引擎内存管理方法及系统 第 2 页 专利 时序引擎内存管理方法及系统 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:14:23上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。