[发明专利]基于键值模型、文档模型和图模型的分布式高速存储方法有效
| 申请号: | 202011467318.2 | 申请日: | 2020-12-11 |
| 公开(公告)号: | CN112507026B | 公开(公告)日: | 2022-12-30 |
| 发明(设计)人: | 王冲;牛中盈;胡琦;李龙鸣;舒红章;赵子路;胡占尧 | 申请(专利权)人: | 北京计算机技术及应用研究所;航天科工网络信息发展有限公司 |
| 主分类号: | G06F16/27 | 分类号: | G06F16/27;G06F16/22;G06F16/28;G06F16/31;G06F16/901 |
| 代理公司: | 中国兵器工业集团公司专利中心 11011 | 代理人: | 张然 |
| 地址: | 100854*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 键值 模型 文档 分布式 高速 存储 方法 | ||
1.一种基于键值、文档和图数据的分布式高速存储方法,其特征在于,包括:
从数据库或其它数据源获取键值、文档和图数据;对于数据进行分布式管理和数据分区,包括:
数据存储到内存中,若收到查询和计算请求,应用程序从内存中查询数据,并在内存中进行计算;若原有管理节点离开集群,将在原有管理节点之前加入集群后最先加入集群的节点设为新的管理节点,新的管理节点再广播,进行数据迁移和分区表更新,若有普通节点新加入或离开集群,管理节点广播,再进行数据迁移和分区表更新;
键值数据来自Redis和RocksDB数据库,文档数据来自MongoDB和Couchbase数据库,图数据来自Neo4j和Giraph数据库;
数据存储包括:
使用Class类、Vector类和Edge类存储三种模型的数据;
Class、Vector和Edge是存储键值模型、文档模型和图模型的基础单元;
分布式高速存储使用map和multimap结构存储基础单元数据满足高速读取数据的需求;
map结构存储方法中,使用map存储一组k/v键值对,每个条目是一个key/value,其中key必须是唯一不重复的;value是多模型数据类型,应用程序根据需求场景设计key,将多模型数据value存储在map中,根据key值快速查找到value;
multimap结构存储方法中,使用multimap存储一组k/v键值对,每个条目是一个key/value,支持重复key的value保存,value是一个set或list容器,set不允许重复值和空值,不支持排序,list允许重复值和空值,支持排序,set或list是多模型数据类型,根据需求场景设计key,将多模型数据value存储在multimap中,根据key值快速查找到容器,根据set和list提供的方法查找到容器中的值。
2.如权利要求1所述的基于键值、文档和图数据的分布式高速存储方法,其特征在于,对于数据存储步骤包括:
键值数据存储:键值模型的键为key,键唯一不重复时,用map结构存储键值模型中的key和value,key存在重复值时,用multimap结构存储键值模型中的key和value,用multimap存储时,若键值模型value存在重复值或空值,且需排序,则用multimap中的list存储该value,若value不存在重复或空值,且不需排序,则用multimap中的set存储该value;
文档数据存储:
给文档数据设计key,key不存在重复值时,用map结构存储key和key对应的文档模型中的value,key存在重复值时,用multimap存储key和key对应的文档模型中的value,用multimap存储时,若文档模型中的value存在重复值或空值,且需要排序,则用multimap中的list存储该value,若value不存在重复或空值时,且不需排序,则用multimap中的set存储该value;
图中顶点与边关系的存储:给图数据设计key,key不存在重复值时,用map结构存储key和key对应的图模型中的顶点或边数据,key存在重复值时,用multimap存储key和key对应的图模型中的顶点或边数据,用multimap存储时,若图模型的顶点或边数据存在重复值或空值,且需要排序,则用multimap中的list存储该顶点或边数据,若顶点或边数据不存在重复值或空值,且不需排序,则用multimap中的set存储该顶点或边数据。
3.如权利要求2所述的基于键值、文档和图数据的分布式高速存储方法,其特征在于,在内存中进行计算包括:
键值数据查询和计算,对应map和multimap结构的键值数据,实现数据查询,并在内存中实现对键值数据的计算;
文档数据查询和计算,对于文档数据,保存在class、vector和edge中,直接根据key值调用map和multimap的get方法实现对文档数据的查询。
4.如权利要求3所述的基于键值、文档和图数据的分布式高速存储方法,其特征在于,对简单应用场景,在内存中直接实现文档数据的计算、匹配以及筛选。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京计算机技术及应用研究所;航天科工网络信息发展有限公司,未经北京计算机技术及应用研究所;航天科工网络信息发展有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011467318.2/1.html,转载请声明来源钻瓜专利网。





