全网唯一标准王
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210721394.4 (22)申请日 2022.06.24 (71)申请人 上交所技 术有限责任公司 地址 200131 上海市浦东 新区中国 (上海) 自由贸易试验区台 中北路8号 (72)发明人 林琨 汪鑫 顾辰飞 陈清睿  王泊  (74)专利代理 机构 上海三方专利事务所(普通 合伙) 31127 专利代理师 吴玮 (51)Int.Cl. G06F 16/22(2019.01) G06F 16/25(2019.01) G06F 9/455(2006.01) (54)发明名称 一种基于侵入式容器和代码生成技术的数 据表生成方法 (57)摘要 本发明公开了一种基于侵入式容器和代码 生成技术的数据表生成方法, 所述方法包括内存 数据表定义、 golang  template模板定义和 golang template模板生成, 其中所述内存数据 表定义包括定义内存数据表数据结构和定义内 存数据表类, 所述的golang  temple模板定义包 括定义内存数据表元素结构和定义内存数据表 类模板; 本发 明采用侵入式容器作为内存数据引 擎, 结合对象池, 简化内存管理、 提高执行效率, 同时能够 避免共享内存带来的开销和风险, 同时 支持嵌套的变长数据类型, 通过代码生成技术, 为内存数据表定义多种侵入式容器类型, 实现对 单张内存数据表的多维索引。 权利要求书2页 说明书10页 CN 115129714 A 2022.09.30 CN 115129714 A 1.一种基于侵入式容器和代码生成技术的数据表生成方法, 其特征在于所述内存数据 表T包括内存 数据表的字段F、 在内存 数据表上建立的索引I, 索引I具有索引字段、 有序性和 唯一性属性, 所述方法包括内存数据表定义方法, 具体步骤如下: S1. 定义内存数据表数据结构, 根据内存数据表T1的字段和索引, 定义内存数据表元素 结构T1Data; S11. 根据内存数据表T1的字段, 定义元 素字段; S12. 根据内存数据表T1的索引, 定义侵入式容器ho ok类型; S2. 定义内存数据表类; S21. 根据内存数据表T1内存数据表元素结构中定义的hook类型, 定义侵入式容器 HookOpt类型; S22. 根据内存数据表T1的索引, 定义由索引字 段组成的索引键 结构体以及用于获取索 引键结构体的KeyOfValue结构体, KeyOfValue结构体通过重载 实现内存数据库数据到索引 键结构体的转换; S23. 根据内存数据表T1的索引, 定义侵入式容器类型, 为侵入式容器类型指定hook   option和索引字段; S24. 定义用于存放内存数据表数据的存储类型, 采用标准容器, 以唯一指针的方式存 储; S25. 无序的侵入式容器通过hash进行 数据的组织, 因此需定义hash桶; S26. 定义内存数据表类型的构造函数, 在构造函数中初始化定义的侵入式容器类型, 即被无序侵入式容器 类型使用的hash桶; S27. 定义内存数据表的添加数据接口, 将内存数据表T1的数据以唯一指针封装存储至 datas中, 并通过根据索引定义的侵入式容器的接口添加数据索引信息; S28. 定义内存数据表的删除数据接口; S29. 根据内存数据表T1的索引, 定义内存数据表查找数据接口,从侵入式容器中查找 数据, 若数据存在则返回数据对象指针, 若数据不存在返回空指针。 2.如权利要求1所述的一种基于侵入式容器和代码生成技术的数据表生成方法, 其特 征在于所述方法还 包括模板 定义方法, 所述定义方法具体步骤如下: D1.定义内存数据表元 素结构模板; D11.根据内存数据表名定义内存数据表元 素结构体名; D12.遍历内存数据表字段集合, 根据字段类型和字段名定义字段变量, 字段名转化为 下划线格式; D13.遍历内存数据表索引集合,根据索引字段集合和索引名定义用于侵入式容器的 hook变量; D2.定义内存数据表类模板; D21.根据内存数据表名定义内存数据表类名; D22.遍历内存数据表索引集合, 根据索引字段集合定义索引键结构体, 其中索引键结 构体的构造函数需遍历索引字段集 合; D23.遍历内存数据表索引集 合, 根据索引名, 索引有序性定义侵入式容器的Ho okOpt; D24.遍历内存数据表索引集合, 根据索引名, 索引有序性定义侵入式容器的类型及变权 利 要 求 书 1/2 页 2 CN 115129714 A 2量; D25.定义存 储内存数据表数据的存 储器; D26.定义内存数据表类的构造函数; D27.定义内存数据表类的析构函数, 遍历内存数据表索引集合,根据索引名清理侵入 式容器和内存数据表数据存 储器; D28.定义内存数据表类的添加数据接口, 遍历内存数据表索引集合,根据索引名将数 据添加进侵入式容器, 并通过唯一指针封装 存储至数据存 储器; D29.定义内存数据表类的删除数据接口, 遍历内存数据表索引集合, 根据索引名将数 据从所有侵入式容器和数据存 储器中删除; D210.遍历内存数据表索引集合, 为所有侵入式容器定义与之对应的内存数据表类的 查询数据接口, 从根据相应的索引键结构从侵入式容器中查询数据, 若存在返回数据指 针, 否则返回空指针。 3.如权利要求1所述的一种基于侵入式容器和代码生成技术的数据表生成方法, 其特 征在于所述方法还包括模板生成方法, 所述模板生成方法是通过提供 的接口, 将 内存数据 表T的属性传入模板, 即可生成正确可用的在内存数据表定义中定义的内存数据表结构及 内存数据表类。权 利 要 求 书 2/2 页 3 CN 115129714 A 3

PDF文档 专利 一种基于侵入式容器和代码生成技术的数据表生成方法

文档预览
中文文档 13 页 50 下载 1000 浏览 0 评论 0 收藏 3.0分
温馨提示:本文档共13页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 一种基于侵入式容器和代码生成技术的数据表生成方法 第 1 页 专利 一种基于侵入式容器和代码生成技术的数据表生成方法 第 2 页 专利 一种基于侵入式容器和代码生成技术的数据表生成方法 第 3 页
下载文档到电脑,方便使用
本文档由 SC 于 2024-02-24 01:02:22上传分享
友情链接
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。