(19)国家知识产权局
(12)发明 专利申请
(10)申请公布号
(43)申请公布日
(21)申请 号 202211019608.X
(22)申请日 2022.08.24
(71)申请人 四川蜀天梦图数据科技有限公司
地址 610000 四川省成 都市天府新区兴隆
街道湖畔路西路99 号B7栋天府英才中
心6层
(72)发明人 程萍 唐俊 冷建琴
(74)专利代理 机构 深圳市六加知识产权代理有
限公司 4 4372
专利代理师 向彬
(51)Int.Cl.
G06F 16/25(2019.01)
G06F 16/22(2019.01)
G06F 16/23(2019.01)
G06F 16/28(2019.01)G06F 16/901(2019.01)
G06F 9/50(2006.01)
(54)发明名称
面向图-关系混合存储 数据库的数据快速装
载方法及系统
(57)摘要
本发明涉及一种面向图 ‑关系混合存储数据
库的数据快速装 载方法及系统。 其方法部分主要
包括: 读取装载配置文件, 将装载配置文件中的
配置信息转换为内存表对象; 根据表对象的类
型, 对需要进行装载的表对象进行优先级的分
级, 优先级 为关系型表>图表>标签表>关系表; 根
据优先级的分级, 进行数据源文件的解析、 数据
处理、 图数据处理以及数据合并。 本发明的数据
装载可以兼容完成多个关系型表和多个图表的
数据装载, 适用范围广。 本发明不用单独指定起
始顶点、 终止顶点, 可以直接指定数据中的固定
列的属性, 就能自动解析获取起始顶点、 终止顶
点的信息, 简化了数据装载流程。 本发明各资源
块独立处理, 减少了不必要的资源竞争, 提升了
数据装载的性能。
权利要求书2页 说明书20页 附图8页
CN 115510134 A
2022.12.23
CN 115510134 A
1.一种面向图 ‑关系混合存 储数据库的数据快速装载 方法, 其特 征在于, 包括:
读取装载配置文件, 将装载配置文件中的配置信息转换为内存表对象;
根据表对象的类型, 对需要进行装载的表对象进行优先级的分级, 优先级为关系型表>
图表>标签表>关系表;
根据优先级的分级, 进行 数据源文件的解析、 数据处 理、 图数据处 理以及数据合并。
2.根据权利要求1所述的面向图 ‑关系混合存储数据库的数据快速装载方法, 其特征在
于, 所述根据优先级的分级, 进行数据源文件的解析、 数据 处理、 图数据处理以及数据合并
时, 当且仅当 当前优先级的表处 理完成之后才能开始处 理下一优先级的表。
3.根据权利要求2所述的面向图 ‑关系混合存储数据库的数据快速装载方法, 其特征在
于, 所述进行 数据源文件的解析、 数据处 理、 图数据处 理以及数据合并具体包括:
读取数据源文件, 解析生成图 ‑关系混合存 储的内存记录;
将内存记录写入到VLO G和索引中;
将图表的数据转换到原生图数组, 进行邻接信息的更新;
将数据处 理时生成的多个索引文件合成一个大的全局索引文件。
4.根据权利要求3所述的面向图 ‑关系混合存储数据库的数据快速装载方法, 其特征在
于, 所述将内存记录写入到VLO G和索引中具体包括:
将内存记录写入VLOG: 将内存记录按字节编码成二进制流; 将二进制流增加到VLOG文
件中, 得到这条内存记录在VLOG中的偏移位置; 在内存记录中保存记录在VLOG中的偏移位
置;
将内存记录写入索引: 将内存记录写入索引的内存缓存中; 索引的内存缓存数量到达
一定阈值后, 进行索引的持久化; 从索引缓存中取出一条内存记录, 将内存记录的键和记录
在VLOG中的偏移位置按字节编码成二进制流, 写入索引文件; 重复内存记录的取出写入过
程, 直到遍历完所有的索引缓存。
5.根据权利要求3所述的面向图 ‑关系混合存储数据库的数据快速装载方法, 其特征在
于, 所述将图表的数据转换到原生图数组, 进行邻接信息的更新具体包括标签表的图数据
处理以及关系表的图数据处 理, 其中:
所述标签表 的图数据处理包括: 对于标签表的顶点数据, 为其每一条记录分配一个顶
点ID; 根据顶点 ID, 访问原生图数组, 更新顶点数组ID对应记录的信息;
所述关系表的图数据处理包括: 对于关系表的边数据, 为其每一条数据分配一个边ID;
从边的值中解析获得顶点的键, 查询标签表得到起始顶点、 终止顶点的ID; 根据边ID, 访问
原生图数组, 更新边数组ID对应记录的信息; 根据起始顶点ID, 访问原生图数组, 更新起始
顶点数组ID对应记录的边信息; 同时在点边邻接数组中新增记录, 记录起始顶点与边的关
联关系; 根据终止顶点ID, 访问原生图数组, 更新终止顶点数组ID对应记录的边信息, 同时
在点边邻接数组中新增记录, 记录终止顶点与边的关联关系。
6.根据权利要求1 ‑5任一所述的面向图 ‑关系混合存储数据库的数据 快速装载方法, 其
特征在于, 还包括多线程处理机制, 所述多线程处理机制配置解析线程组、 数据处理线程
组、 图数据处理线程组、 合并线程组, 每个线程组内存在 多个处理线程, 各线程并发执行, 具
体的:
通过参数 ” ‑B”配置数据文件分段大小, 通过参数 ” ‑p”配置解析线程个数, 通过参数 ” ‑权 利 要 求 书 1/2 页
2
CN 115510134 A
2d”配置数据处 理线程个数;
从数据文件中获取指定分段大小 的数据, 生成Seg, 将Seg分发给从解析线程组中获取
的空闲线程, 重复该 过程直到遍历完数据文件所有内容;
解析线程收到并处理Seg, 生成Records, 将Records分发给从数据处理线程组中获取的
空闲线程;
数据处理线程收到并处理Records, 生成VLOG和索引记录, 将Records分发给从图数据
处理线程组中获取 的空闲线程; 对于非 图数据, 将索引记录分发给从数据合并线程组中获
取的空闲线程;
图数据处理线程收到并处理Records, 将索引记录分发给从数据合并线程组中获取的
空闲线程。
7.根据权利要求6所述的面向图 ‑关系混合存储数据库的数据快速装载方法, 其特征在
于, 还包括资源预留机制, 所述资源预留机制具体包括:
通过参数 ” ‑m”, 配置预留资源限额;
解析线程处 理时, 根据配置一次性申请内存资源;
解析线程解析数据分段时, 将数据转换为内存记录后, 直接顺序写入预留资源; 当预留
的内存资源已经被使用完时, 将当前资源提交给后续流程进行处理, 再重新申请资源继续
处理。
8.根据权利要求7所述的面向图 ‑关系混合存储数据库的数据快速装载方法, 其特征在
于, 还包括资源独立处 理机制: 每 个预留资源在同一时间, 只能被一个线程处 理。
9.根据权利要求6所述的面向图 ‑关系混合存储数据库的数据快速装载方法, 其特征在
于, 还包括负载均衡机制, 所述负载均衡机制将数据处理、 图数据处理、 数据合并流程中部
分处理过程提前到解析处 理线程中进行处 理, 提前的部分处 理过程包括:
查找HASH表: 在图数据处 理流程中, 找到顶点的HASH表;
顶点的HASH生成: 在图数据处 理流程中, 计算顶点的HASH值。
顶点的HASH的维护: 在图数据处 理流程中, 将顶点添加到对应的HASH表中;
顶点ID、 边ID的分配: 在图数据处 理流程中, 分配顶点 ID、 边ID;
确定边的起始顶点ID、 终止顶点ID: 在图数据处理流程中, 根据HASH表、 HASH值进行查
找得到边的起始 顶点ID、 终止顶点 ID。
10.一种面向图 ‑关系混合存储数据库的数据快速装载系统, 其特征在于, 包括配置文
件解析模块、 表对象管理模块、 数据源文件解析模块、 数据 处理模块、 图数据处理模块以及
数据合并模块, 其中:
所述配置文件解析模块用于读取装载配置文件, 生成需要装载的表列表;
所述表对象管理模块用于根据表的类型, 对需要 进行装载的表进行分级;
所述数据源文件解析模块用于读取数据源文件, 解析生成图 ‑关系混合存储的具体记
录;
所述数据处 理模块用于将具体记录进行索引和VLO G的持久化;
所述图数据处理模块用于根据 标签、 关系的数据, 进行原生图数组的维护, 进行原生图
数组的持久化;
所述数据合并模块用于清理中间数据, 完成最终数据的持久化。权 利 要 求 书 2/2 页
3
CN 115510134 A
3
专利 面向图-关系混合存储数据库的数据快速装载方法及系统
文档预览
中文文档
31 页
50 下载
1000 浏览
0 评论
309 收藏
3.0分
温馨提示:本文档共31页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
本文档由 思考人生 于 2024-02-07 20:38:15上传分享