说明:收录全网最新的团体标准 提供单次或批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210914023.8 (22)申请日 2022.08.01 (71)申请人 浪潮软件集团有限公司 地址 250100 山东省济南市高新区科航路 2877号 (72)发明人 张华海 梁波 张炜刚  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 姜丽洁 (51)Int.Cl. G06F 9/50(2006.01) G06F 3/06(2006.01) (54)发明名称 一种时序存储引擎内存设计及分配方法及 装置 (57)摘要 本发明涉及数据库管 理技术领域, 具体提供 了一种时序存储引擎内存设计及分配方法, 时序 数据库存储引擎对外提供的存储数据的最小单 元是ObjectTable, 一个ObejctTable在内存中有 多个block用于存储一个时间段内的时序数据, 当一个block写满或者时间跨度超过设定阈值 时, 需要改变当前block的状态为不可写, 然后创 建新的block; 创建block时, 需要根据计算得到 的block大小申请 对应的内存, 每次block需要写 入数据时, 从申请的内存中申请固定大小的 buffer, 当所述block刷盘完成后申请的内存放 到回收队列中等待回收。 与现有技术相比, 本发 明提升了时序数据库内存的利用率, 方便数据的 写入和查询, 防止出现数据写入异常的场景出 现。 权利要求书2页 说明书4页 附图1页 CN 115408149 A 2022.11.29 CN 115408149 A 1.一种时序存储引擎内存设计及分配方法, 其特征在于, 时序数据库存储引 擎对外提 供的存储数据的最小单元是ObjectTable, 一个所述ObejctTable在内存 中有多个block用 于存储一个时间段内的时序数据, 当一个所述block写满或者时间跨度超过设定阈值时, 需 要改变当前bl ock的状态为 不可写, 然后创建新的bl ock; 创建所述block时, 需要根据计算得到的block大小申请对应的内存, 每次所述block 需 要写入数据时, 从申请的内存中申请固定大小的buffer, 当所述block刷盘完成后申请的内 存放到回收队列中等待回收。 2.根据权利要求1所述的一种时序存储引擎内存设计及 分配方法, 其特征在于, 对于写 入的时序数据, 使用存储内部的编解码策略, 保持每条数据长度固定, 每条数据的头部增加 bitmap记录值 为空的列; 一条数据由多个列或属性组成, 在时序 数据场景中, 第 一个属性为 时间戳, 第 二个属性 是一个bitmap, 记录值 为空的列, 之后的属性都是value。 3.根据权利要求1或2所述的一种时序存储引擎内存设计及分配方法, 其特征在于, 所 述block的创建是在数据写入时, 首先计算得到一条数据的长度ValueLength, 根据所述 ValueLength计算出所述b lock存储数据需要的大小, 并在b lock创建时申请对应的内存空 间, 其中一条 数据的计算方式为: ValueLength=TimeStamp.Size()+BitMap.Size()+Co lumnValue.Size()。 4.根据权利要求3所述的一种时序存储引擎内存设计及 分配方法, 其特征在于, 根据 元 数据中的时间跨度阈值及 写入数据的时间间隔, 估算得到block中需要存储的数据条数, 根 据需要存 储的数据条 数和数据大小, 计算得到bl ock需要分配的内存大小。 5.根据权利要求4所述的一种时序存储引擎内存设计及 分配方法, 其特征在于, 校验所 述内存大小是否在设置的内存阈值之间, 超出时, 需要将申请的内存大小置为最大或者最 小内存阈值, 申请连续内存空间的内存。 6.根据权利要求5所述的一种时序存储引擎内存设计及 分配方法, 其特征在于, 当申请 的内存大小与需要的内存 大小不一致时, 根据写入 数据的长度, 重新计算所述block可以存 储的数据量。 7.根据权利要求6所述的一种时序存储引擎内存设计及 分配方法, 其特征在于, 申请的 内存放入链表中进 行管理, 写入数据时, 每次从申请的内存中分配一定大小的buffer, 并记 录当前数据写入的偏移量, 当前buf fer存满后, 将从申请的内存中分配一个新的buf fer。 8.根据权利 要求7所述的一种时序存储引擎 内存设计及分配方法, 其特征在于, buffer 中只用来存储顺序数据, 对于乱序数据, 当需要向所述block中插入乱序数据时, 每次申请 一个最小的pa ge页, 这个空间不 算入block空间中; 当一个block写满或者需要使用新的时间段时, 转为Immutable  Block, 此时所述block 不能写入数据, 放到刷盘队列中等待落盘; 当数据持久化完成后, block申请的内存可以回收, 将所述block申请的内存放入回收 队列中等待回收, 在回收队列中的数据在bl ock中依然可以读取。 9.一种时序存储引擎内存设计及 分配装置, 其特征在于, 包括: 至少一个存储器和至少 一个处理器; 所述至少一个存 储器, 用于存 储机器可读程序;权 利 要 求 书 1/2 页 2 CN 115408149 A 2所述至少一个处理器, 用于调用所述机器可读程序, 执行权利要求1至8中任一所述的 方法。权 利 要 求 书 2/2 页 3 CN 115408149 A 3

.PDF文档 专利 一种时序存储引擎内存设计及分配方法及装置

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