CN108600321A - 一种基于分布式内存云的图数据存储方法和系统 - Google Patents
一种基于分布式内存云的图数据存储方法和系统 Download PDFInfo
- Publication number
- CN108600321A CN108600321A CN201810253247.2A CN201810253247A CN108600321A CN 108600321 A CN108600321 A CN 108600321A CN 201810253247 A CN201810253247 A CN 201810253247A CN 108600321 A CN108600321 A CN 108600321A
- Authority
- CN
- China
- Prior art keywords
- diagram data
- node
- hash
- dummy node
- distributed memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于分布式内存云的图数据存储方法和系统,包括:图服务层,用于在分布式内存云中为每个服务器分配虚拟节点,根据虚拟节点的哈希值,将虚拟节点映射到哈希环,保存映射关系作为哈希映射表,获取每个服务器所存储的图数据,同过在哈希映射表上检索图数据的哈希值,将图数据存入对应的虚拟节点;当增加新服务器时,在分布式内存云中为新服务器分配新虚拟节点并更新哈希映射表,根据新虚拟节点的哈希值,将新虚拟节点加入哈希环中,并根据虚拟节点存储的图数据的哈希值和更新后的哈希映射表,对哈希环中每个虚拟节点进行数据迁移。通过一致性哈希算法使本发明支持动态扩容,也即能增加或删除节点,且节点发生故障时能尽量减少损失。
Description
技术领域
本发明涉及图数据存储领域,特别涉及一种基于分布式内存云的图数据存储方法和系统。
背景技术
近十几年来,随着互联网技术普及和Web2.0技术的推动,互联网社交关系数据增长迅猛,据CNNIC发布的《第36次中国互联网发展状况报告技术》显示,截止到2015年6月,微博用户数量达到1.62亿,使用率达到27.3%。爆炸式的关系网络数据的增大带来的存储和计算问题日益突出,海量数据关系网络图的存储与分析面临着巨大的挑战。
图存储系统,其中图存储是指将结构化数据(从数学角度叫做图)存储在网络,根据扩展性分为单机文件图存储系统与分布式图存储系统。
基于磁盘文件存储的单机图数据库Neo4j为代表,Neo4j是当前比较成熟的开源图数据库系统,同时也由Neo Technologies公司提供商业支持。Neo4j使用了属性图数据模型,支持OLTP应用和简单的图分析计算,提供支持ACID特性的事务和描述性查询语言Cypher,并且具有丰富的查询与访问接口。
在分布式环境下,主要分为基于磁盘文件的分布式Key-Value数据库与分布式内存云数据库为主,基于磁盘文件的分布式数据库其主要代表为HBase;分布式内存云图存储系统主要以Trinity为代表。两种数据库分布式环境为大规模图存储提供了强有力的平台与技术支撑,两种不同形态的分布式图存储系统介绍如下。
在分布式环境下,基于Apache HBase实现的Titan是基于磁盘文件分布式数据库实现的代表图数据库,可以支持上百亿的节点的存储。Titan是基于分布式数据库实现数据底层存储,支持在Apache HBase与Cassandra作分布式存储,利用Elasticsearch检索系统实现图数据检索。Titan在图数据操作上支持ACID事务操作,并且与BluePrint组件结合为用户提供图操作接口。
Trinity是分布式内存图数据库,由微软公司提供开发与维护。Trinity与Neo4j与Titan相比,是建立在内存系统之上,有着极高的数据随机访问效率,所以Trinity对低延迟的在线查询与高通量的离线分析算法都表现出极好性能,支持大量离线算法。
分布式内存云是由大量服务器的内存组成的一种数据存储系统,数据信息都存储在动态随机访问存储器RAM中,取代传统硬盘。RAMCloud适合用于快速响应的存储服务器的数据中心,其访问速度远快于传统磁盘文件。性能可以达到目前最高性能的硬盘存储系统还要高100至1000倍。在访问延迟方面,RAMCloud从内存中通过网络读取数上百字节,只需5~10微秒。而且一台多核存储服务器可以服务每秒至少100万次读取请求,而硬盘系统在随机读取中,同样的机器每秒只能服务1000到10000次请求。所以RAMCloud在对海量数据方面具有显著优势,特别针对IO算法较大的批量运算,能够极快提升效率。
一般性的分布式内存云的系统架构如图10所示,包含两个部分:主节点Master和备份Backup,Master管理了存储在内存中的数据,Backup使用本地的机械硬盘或者固态磁盘对图数据的备份信息进行保存,图10中协调器的作用包括数据存放节点分配,数据一致性管理,存储节点维护和管理等。
图计算方面现在主要是图的分布式离线计算框架,现在比较流行的分别是Pregel,Graphlab与PowerGraph,这几个框架提供了一些图划分以及基于图的机器学习算法,这也是在图数据引擎里会涉及到的内容。
现有的技术方案所存在的问题包括:
Neo4j是单机图数据存储系统,在功能上分为图数据存储,在线查询和离线分析,但其无法实现图数据动态扩容,只能应用在小的图数据集。
Titan是分布式图存储系统,使用属性图数据模型且支持ACID特性的事务,可以使用Cassandra、HBase等系统作为底层存储。在分布式图表设计方面,使用邻接表形式对大图进行压缩存储,适合海量图数据存储;但Titan不支持进行海量图数据离线分析,并且数据的存储和访问效率不佳。
MapReduce分布式计算框架,适合处理无依赖关系的数据;不适合用于多次迭代的图数据计算进行处理。
Pregel是适合图计算的并行编程框架,大部分图计算框架都采用Pregel编程模型;但是Pregel不能进行海量图数据存储。
GraphLab是采用分布式共享内存的图处理系统,即把整个图和程序状态存储在内存中,但是集群中的内存由本地计算节点管理,每个本地计算节点采用多线程并发。GraphLab对比于Pregrel具有更好的并发策略,是为图计算专门研发的程序框架,为应用者提供广泛使用接口,但GraphLab只能作为计算框架,不能作为分布式图存储系统。
Trinity在内存云架构上需要提前预估图数据规模,不支持数据的动态扩容,可能会对预估资源造成一定的浪费;其次属于微软的闭源项目,在工业界使用频率较低。
RAMCloud是一种内存云存储的技术方案,它并不是一种图数据引擎,没有提供对图数据的建模与对应的存储模式。
本发明是在分布式的环境下,利用内存云的技术来构建图数据引擎。本发明借鉴了各种现有技术的图建模,同时比起Trinity内存云图数据库增加了动态扩容等功能。几种技术的对比如下表所示:
发明人在进行分布式图数据库引擎研究时,发现基于Hbase实现的图数据库存储和访问效率不佳,并且对比图数据库Titan也存在类似的问题,发明人经过研究发现,问题的瓶颈主要发生在Hbase对文件系统的读写上,所以考虑将图数据存储在内存中实现。经过调研,发现RAMCloud是一种内存云存储技术,可以在图数据引擎中进行应用,从而解决该项缺陷。
在调研基于内存的图数据库时,发现微软有一个闭源的实现Trinity是一种将图数据存储在内存中的方案,但是使用频率不高,且该项技术不能动态扩容,经过对动态扩容的研究发现,解决该项缺陷可以通过一致性哈希算法实现。
在研究图引擎的分布式计算的时候发现,计算节点之间进行较大的网络传输,影响计算效率,但是分布式图计算中存在着局部性,为了解决这个问题,发明人调研了一些图计算框架,最终使用内存云子图划分算法来解决该问题。
发明内容
本发明的目的是提高分布式图数据库的存取以及访问性能,并且提供动态扩容能力,提出了基于内存云的图数据引擎,提供海量图数据的存储与计算功能。
具体地说,本发明公开了一种基于分布式内存云的图数据存储系统,其中该系统包括:
图服务层,用于在分布式内存云中为每个服务器分配虚拟节点,根据该虚拟节点的哈希值,将该虚拟节点映射到0~231的数值空间上,保存映射关系作为哈希映射表,同时将这个数值空间首尾相连生成哈希环,获取每个服务器所存储的图数据,同过在该哈希映射表上检索该图数据的哈希值,将该图数据存入对应的该虚拟节点;
当增加新服务器时,在分布式内存云中为该新服务器分配新虚拟节点并更新该哈希映射表,根据该新虚拟节点的哈希值,将该新虚拟节点加入该哈希环中,并根据该虚拟节点存储的图数据的哈希值和更新后的该哈希映射表,对该哈希环中每个该虚拟节点进行数据迁移。
该基于分布式内存云的图数据存储系统,其中该图服务层还包括,随机挑选一个虚拟节点作为主节点,用于监控该图数据存储系统的状态和维持该哈希映射表,其余虚拟节点作为从属节点,用于存储图数据。
该基于分布式内存云的图数据存储系统,其中该图服务层还包括:
图划分模块,根据图数据的拓扑结构,将图数据划分为多个子图,根据子图的规模,使用分布式内存云中多个虚拟节点存储该子图,并在指定的内存空间中对该子图进行拆分或合并,以节省内存空间。
该基于分布式内存云的图数据存储系统,其中还包括数据存储层,根据图数据的规模,为图数据分配邻接表和实体信息表,该邻接表用于存储图的邻接邻居与实体常用属性信息,该实体信息表用于存储图数据的多值属性与引用信息。
该基于分布式内存云的图数据存储系统,其中将该图数据形式化的定义为五元组G=<gid,V,R,T,μ>,其中G为该五元组,gid为该图数据的ID,V为该图数据中所有节点的集合,R为该图数据中所有关系的集合,T为该图数据中所有节点与关系类型的集合,μ为该图数据中所有时间信息的基本单位。
本发明还提供了一种基于分布式内存云的图数据存储方法,其中该系统包括:
步骤1、在分布式内存云中为每个服务器分配虚拟节点,根据该虚拟节点的哈希值,将该虚拟节点映射到0~231的数值空间上,保存映射关系作为哈希映射表,同时将这个数值空间首尾相连生成哈希环,获取每个服务器所存储的图数据,同过在该哈希映射表上检索该图数据的哈希值,将该图数据存入对应的该虚拟节点;
当增加新服务器时,在分布式内存云中为该新服务器分配新虚拟节点并更新该哈希映射表,根据该新虚拟节点的哈希值,将该新虚拟节点加入该哈希环中,并根据该虚拟节点存储的图数据的哈希值和更新后的该哈希映射表,对该哈希环中每个该虚拟节点进行数据迁移。
该基于分布式内存云的图数据存储方法,其中该步骤1还包括,随机挑选一个虚拟节点作为主节点,用于监控该图数据存储系统的状态和维持该哈希映射表,其余虚拟节点作为从属节点,用于存储图数据。
该基于分布式内存云的图数据存储方法,其中该步骤1还包括:
图划分步骤、根据图数据的拓扑结构,将图数据划分为多个子图,根据子图的规模,使用分布式内存云中多个虚拟节点存储该子图,并在指定的内存空间中对该子图进行拆分或合并,以节省内存空间。
该基于分布式内存云的图数据存储方法,其中还包括数据存储步骤,根据图数据的规模,为图数据分配邻接表和实体信息表,该邻接表用于存储图的邻接邻居与实体常用属性信息,该实体信息表用于存储图数据的多值属性与引用信息。
该基于分布式内存云的图数据存储方法,其中将该图数据形式化的定义为五元组G=<gid,V,R,T,μ>,其中G为该五元组,gid为该图数据的ID,V为该图数据中所有节点的集合,R为该图数据中所有关系的集合,T为该图数据中所有节点与关系类型的集合,μ为该图数据中所有时间信息的基本单位。
本发明的发明点包括:模型方面,提出了一种新的复杂属性图数据模型。该模型既为上层业务应用提供逻辑视图,为构建业务模型提供依据,又能优化底层存储,使其能适应图数据特点。该模型底层数据结构为G=<gid,V,R,T,μ>,后面章节会详细介绍;算法方面,在复杂属性图数据模型基础上,设计了分布式图数据引擎子图划分技术。该技术能利用图数据模型结构,根据图的拓扑结构将图划分为大小不同的子图,在存储系统中将团聚比较紧密的子图进行分区存储,减小在图计算过程中的网络开销,改进了基于影响系数的标签传播算法进行图划分;框架方面,基于自定义的属性图数据模型结构和子图划分算法,发明了基于分布式内存云的图数据库系统架构。该架构分为数据存储层、图服务层和基于API接口层的服务结构层。该框架使用Redis构建内存云,设置了一致性哈希算法使其支持动态扩容,也即能增加或删除节点,且节点发生故障时能尽量减少损失;不仅如此,该框架还基于Redis,重新定义和实现了引擎库表,其中Redis为软件工具名称。由此本发明通过构建可动态扩容的内存云分布式系统,使用一定图划分算法将图数据较均匀的存储在不同的集群节点上,通过对内存的高效访问实现对图的高效存取操作,更进一步加速了基于图数据库引擎的图计算的效率。
附图说明
图1为分布式内存云图存储系统设计图;
图2为分布式内存云Redis集群架构图;
图3为一致性哈希算法设计图;
图4为一致性哈希算法虚拟节点映射图;
图5为内存云子图划分形式图;
图6为子图划分结果在内存中进行二次哈希示意图;
图7为基于影响系数的标签传播算法流程图;
图8为邻接表;
图9为内存云图数据库表结构设计图;
图10为传统分布式内存云的系统架构图。
具体实施方式
具体地说,本发明公开了一种基于分布式内存云的图数据存储系统,包括:
图服务层,用于在分布式内存云中为每个服务器分配虚拟节点,根据该虚拟节点的哈希值,将该虚拟节点映射到0~231的数值空间上,保存映射关系作为哈希映射表,同时将这个数值空间首尾相连生成哈希环,获取每个服务器所存储的图数据,同过在该哈希映射表上检索该图数据的哈希值,将该图数据存入对应的该虚拟节点;
当增加新服务器时,在分布式内存云中为该新服务器分配新虚拟节点并更新该哈希映射表,根据该新虚拟节点的哈希值,将该新虚拟节点加入该哈希环中,并根据该虚拟节点存储的图数据的哈希值和更新后的该哈希映射表,对该哈希环中每个该虚拟节点进行数据迁移。
该基于分布式内存云的图数据存储系统,其中该图服务层还包括,随机挑选一个虚拟节点作为主节点,用于监控该图数据存储系统的状态和维持该哈希映射表,其余虚拟节点作为从属节点,用于存储图数据。
该基于分布式内存云的图数据存储系统,其中该图服务层还包括:
图划分模块,根据图数据的拓扑结构,将图数据划分为多个子图,根据子图的规模,使用分布式内存云中多个虚拟节点存储该子图,并在指定的内存空间中对该子图进行拆分或合并,以节省内存空间。
该基于分布式内存云的图数据存储系统,其中还包括数据存储层,根据图数据的规模,为图数据分配邻接表和实体信息表,该邻接表用于存储图的邻接邻居与实体常用属性信息,该实体信息表用于存储图数据的多值属性与引用信息。
为让本发明的上述特征和效果能阐述的更明确易懂,下文特举实施例,并配合说明书附图作详细说明如下。
1、图数据模型的定义。定义图数据模型:在本发明的图数据模型中,将图G形式化的定义为一个五元组,该五元组构成图数据模型的基础,为上层业务应用提供逻辑视图,构建业务模型提供依据,同时底层存储也需要根据图数据结构和存储系统特点构建存储结构,以实现图数据存储优化。需要注意的是,本发明适用于图数据模型所能表达的数据,存储由点和边以及边和点上的属性构成的数据。比如社交网络数据等。一般来讲,不能存储非图数据。
G=<gid,V,R,T,μ>
其中:
(1)gid是图实例的唯一ID(GraphID),由系统根据图的名字为图创建唯一自增Id,图Id与图的名字存在一一映射关系,图的名字与Id为图完整性约束条件。
(2)V是图中所有节点(Nodes)的集合,即V={node},其中每个node定义为:
node=<nid,ntype,name,{attribute},{occurance}>
每个节点中包括了节点标识nid(NodeID),节点类型ntype(NodeType),节点名称name,节点上的多值属性对(attribute)的集合{attribute},以及节点到源数据的引用集合{occurance}。
节点的唯一标示为nid与ntype,作为节点的完整性约束条件。
节点上的一个多值属性attribute是一个二元组,包括一个属性名称key和用户自定义复杂类型的value组成,定义为:
attribute=<key,value>
节点本身拥有“源数据空间”的引用ref(Occurance),其定义为:
occurance=<source,timestamp>
其中source是定位源数据的数据结构,timestamp是ref信息所在的“时间点”。
(3)R是图中所有关系(Relation)的集合,即R={relation},其中每个relation定义为:
relation=<node_1,node_2,rtype,timestamp,{attribute},{occurance}>
每个relation中包含了关系的首尾节点,分别为node_1和node_2,关系类型rtype(RelationType),关系权重weight,关系所在“时空点”occurance。
(4)T是图中允许的所有节点与关系类型的集合,是G中所有类型的结合T_N与R_N的一个超集,其中:
T_N={type|node∈V∧type=node[ntype]}
R_N={type|relation∈R∧type=relation[rtype]}
(5)μ是图中所有时间信息的基本单位(TimeUnit)。本模型中所有的时间信息是离散值,将整个连续时间轴离散化为以μ为间隔的时间点。
2、整体系统架构。图1是基于分布式图数据引擎的系统设计架构图,整个系统分为三层:数据存储层,图服务层以及服务结构层(API接口层)。三层从底向上构成一个完整的图数据系统。其中数据存储层主要提供存储功能支持海量数据(100亿节点,1000亿边)的存储能力,并为图服务层中的模型映射提供物理支持,API接口层主要是连接用户和系统接口,提供友好方便的访问接口。
数据存储层中,对每个大图(点或边大于100万)均会分配两个数据表进行图数据存储,包括邻接表和实体信息表,邻接表主要存储图的邻接邻居与实体常用属性信息,方便图数据进行计算;而实体信息表主要存储图数据的多值属性与引用信息,方便图数据对静态数据进行访问。所有的图数据共用元数据表Meta,Meta表主要作用是管理图信息、内部ID信息以及图ID与用户设定节点类型与关系类型的映射关系。
图服务层是核心,主要以服务的形式对上层API(Application ProgrammingInterface,指用户或应用程序编程接口)提供调用方式,服务层主要完成图服务的管理以及对图操作与底层对数据表操作的映射关系,并且采用核心技术使其能动态扩容,这一点在第三节着重介绍。图服务层支持图数据的增、删、改、查等功能,对每一个图的子集,也就是子图进行服务区分治理,满足用户对图数据库的操作,子图是指图的一个子集,普通图上的部分节点和边构成的图是普通图的子图。
API接口层主要对用户提供基本使用功能,包括图数据的存储、查询、检索和路径、子图、社区相关的算法调用接口。在本系统中主要包括三种形式的接口,包括RestAPI、JavaAPI和文件形式的数据录入API。RestAPI提供Restful形式的访问,支持web访问接口,为用户提供服务式的调用;JavaAPI支持用户依照程序访问形式使用图数据引擎,以面向对象方式进行接口封装,用户可以通过JavaAPI进行图数据访问和操作;而文件形式的数据录入API主要对离线文件进行入库,程序通过对离线文件的数据进行解析,完成批量数据入库,可以支持多线程和MapReduce分布式框架下的高并发数据入库。
3、图服务层的核心是分布式内存云系统架构。在Redis集群上设计一致性哈希算法:Redis可以在不同的物理机或者同一个物理机用不同的端口启动服务实例,作为一致性哈希环中的存储节点。每一个存储节点按照物理机的实际内存作设置,一般每个服务实例设置为4G,所有实例所占内存总和大小不超过物理机总内存的60%,本实施例中占用系统物理内存的30%。本设计中主要设置集群的主节点Master,管理集群的元数据,维护一致性哈希映射表,设置内容包括修改配置文件,并在一台机器上运行相应的程序,参考图2的结构,集群包括redis存储节点和管理节点(主节点),主节点和存储节点是独立的,主节点负责管理存储节点,元数据包括集群状态和一致性哈希表等数据;集群的增加与删除以及数据动态迁移;集群状态监控管理等。其他Redis启动的服务实例将作为数据存储的从属节点Slave,负责数据的管理与存储,维护本节点实例状态,对Master节点进行数据和状态交互。
其中一致性哈希是把数据和虚拟节点全部映射到0~231的数值空间上,同时将这个数值空间首尾相连,即231后面就是0,作为哈希环。任意存储节点都可以当作主节点,在启动程序之前设置好就行,不是自动选择。对虚拟节点进行哈希运算,会映射到哈希环上的一个数字,将这个数字与虚拟节点的对应关系保存下来就是哈希映射表。插入数据时,对数据哈希,数据将会存储在哈希值比数据哈希值要大的最近的节点上。一致性哈希表方便查询数据的存储节点。
当哈希环中增加新的物理节点,即服务器集群中增加了新的服务器时,需要为该物理节点分配虚拟节点,即从属节点,并计算该虚拟节点的哈希值,将虚拟节点加入哈希环中,分别针对每一个虚拟节点进行数据迁移,迁移数据的规则就是找到受感染的数据与需要迁移到的虚拟节点,完成数据转移。本系统的数据迁移主要是按照对存储节点数据进行扫描,批量进行转移,提高网络利用率。
Redis自身是单机的内存存储系统,对Redis多个存储实例的组织与管理,可以形成简单分布式环境;在最新的Redis版本中,已经开始支持分布式环境,实现集群管理,但其管理算法为简单的哈希算法,并不能对集群做到动态扩容。在分布式内存云系统中,设计一致性哈希算法,主要解决数据的平衡性和动态扩容问题。如图2将Redis作为存储节点,构成的内存云架构图,在图中每一个Redis实例都充当数据的存储节点,在系统中,Master节点作为集群的管理节点,对外提供接口服务和集群管理。在集群管理方面,Master节点会定时检测与每个节点的连接状态,检测集群的状态,当与节点的构建联系时间超出设置的阈值(10s)则认为内部节点坏掉,从而更新集群状态。系统Master节点以服务的形式对用户提供调用接口,支持用户透明形式的使用分布式Redis环境,无需知道后端Redis服务的组成形式;Master节点主要完成对系统集群的管理调度以及对数据的存储与访问,从而支持上层API接口层的内存云图数据引擎应用。
4、一致性哈希算法与动态扩容。一致性哈希算法的原理如图3所示,首先计算参与存储的存储节点的哈希值,将其空间抽象成一个环,环上每一个存储节点都有一个值n(n<N,N为节点总个数)。将数据进行哈希运算,按照顺时针方向将数据映射到环上的计算节点。当集群出现故障,受影响的数据只是故障节点沿逆时针方向到下一个计算节点之间的数据;当增加一个节点时候,受影响的数据范围是从新加入节点沿顺时针方向到下一个节点的数据对象,从而解决单调性问题。图中ABCD等实心节点表示哈希环中的虚拟节点,较小节点表示为数据,虚拟节点在圆环上按照顺时针排列,数据按照哈希算法存储在沿顺时针方向的存储节点之中。其中一致性哈希中数据和节点存在于同一个哈希空间中。哈希环是指哈希值是0~(2^32)-1的数字空间构成首尾相连的一个环,数据算出哈希值后要对应存储在环上顺时针方向上最近的一个从属节点上。
但一致性哈希算法也存在一些问题,当节点频繁增加或者删除之后,将会对数据的平衡性造成很大的影响,例如当物理节点删除之后,其节点之上的数据需要转移到相邻的邻居节点,邻居节点承载着两倍的负载压力;随着集群状态连续改变,可能造成严重数据倾斜,甚至造成集群多米诺骨牌效应。因此在改进的一致性哈希算法中加入虚拟节点,每个虚拟节点都对应着一个物理节点,而同时每个物理节点对应着系统的一个或者多个虚拟节点。由于物理节点对应的虚拟节点离散分布,对相邻节点的转移压力进行分散平摊,减少对邻近节点的负载转移压力;当新增加节点时候,其他节点的负载压力转移其上,因为其他节点的随机分配,会造成系统负载平滑过渡,并且数据倾斜影响较小,从而实现系统的平衡性与单调性。如图4实现了一致性哈希算法的虚拟映射图。
5、图划分算法。如图5所示,在Redis内存云分布式系统中,根据图的拓扑结构将图划分为大小不同的子图,在存储系统中将团聚比较紧密(例如点平均度数大于50)的子图进行分区存储,减小在图计算过程中的网络开销。在存储系统中按照关系的头节点标签,对数据按照节点标签进行重新分配。节点的标签值代表节点归属的存储节点,方便海量图数据在存储的过程中保持着图的局部性结构,方便下一步图查询和图离线计算做性能优化。其中分区指的是分块,将大图分成内部紧密的多个小图存储到不同的节点上。
图划分结果作为节点与关系在内存分区中映射哈希表的依据,决定着每个存储节点存储的子图位置。但图划分结果存在大小规模不同的子图,每个子图大小规模不整,可能有超过一个内存存储分区存储上限的较大的子图;也可能有不能占满一个内存分区的小规模子图,会对存储空间造成极大空间浪费。因此在图划分结果之后需要根据子图的规模大小选取内存中存储节点的个数,并在存空间中进行规模大子图拆分、或者规模较大子图的拆分、或者较小子图的合并。
将大图划分成子图的划分方法为基于标签传播算法的改进算法,其算法思想是:初始时将大图中每个节点随机分配一个标签,标签总个数等于预备分区个数。迭代过程中,每个节点的标签根据邻居节点标签进行投票决定,选择邻居节点中标签出现次数最多的标签作为当前计算节点的标签。迭代结束后每个标签都会确定一个标签。其中标签传播算法,总体思路是给图上的节点做个标记,然后相邻节点都会互相影响,最终内部紧密的图会打上同样的标记,这里的标签是一个虚拟的概念。
如果在个社区中,有一个节点作为社区的中心,而标签传播顺序从中心节点开始,其他节点从靠近的中心节点获取标签,最终加入以中心节点所确定的社区中。而本算法在传统标签算法中运用图中节点的影响系数确定标签传播的先后顺序。
影响系数定义:节点的影响系数是根据势能的思想进行模拟运算,假设网络中G=(N,E)组成,N代表网络图中的节点集,E代表网络图的关系集。则节点的影响系数可以表示为:
本发明计算节点的影响系数只计算到两度邻居节点,表达式中,右边各项代表距离为0,1,2跳对节点影响系数的作用,距离越近对中心节点的影响系数越大。处于社区中心的节点由于连接点稠密,其影响系数会在周围节点的影响系数中产生局部最大值。d0为常数,wit是第t跳关系的权重系数;而σ是唯一的未知参数,可以通过熵函数取得,考虑到真实网络的社区大小近似符合幂律分布,直接根据网络规模确定σ:
(n为图中节点个数)
具体算法流程下:
根据图的网络拓扑结构扫描HBase表中的关系数据,计算所有节点的影响系数。HBase是一个分布式数据库,这个HBase表是存储图数据的一个表。
根据节点的影响系数,在节点表中搜索社区中心节点,即图中的节点影响系数均大于所有邻居节点的影响系数。
对社区的中心节点进行标签赋值,其他节点均不赋值任何标签;开始算法迭代,迭代原则为上次被更新的节点在下轮更新中参与运算。
在分布式计算框架下,在map阶段,当关系中的首节点标签还未确定、或者尾节点标签已经赋值,则当前关系不参与迭代运算;只有上次状态更新的节点参与下一步迭代运算,限制单步迭代运算量。
当节点收到邻居节点传递来标签时候,其标签更新为邻接点标签个数最大节点的标签,如果节点标签被第一次赋值或者标签值有所更新,表示当前节点处于激活状态,则记录num++。
num大于阈值情况下,表明算法迭代没有结束,回归步骤4;否则算法停止。
图7表示了基于影响系数的标签传播算法的流程,在执行方式上,首先需要多扫描三次关系表,用于计算节点的影响系数;但在执行算法过程中,根据影响系数从社区中心节点进行扩展能够对传统标签算法中存在的不确定性和难收敛问题进行解决,并且在每一步骤迭代算法过程中减少参与运算的关系,减少单步迭代过程中参加运算的数据量,加快算法执行效率。
6、基于Redis集群的图存储表设计。图的一种常用的存储结构是邻接表。图的邻接表形式存储是图的一种顺序存储与链式存储结合的存储方法。就是对于图G中的每个顶点vi,将所有邻接于vi的顶点vj链成一个单链表,这个单链表就称为顶点vi的邻接表,再将所有点的邻接表表头放到数组中,就构成了图的邻接表。图8给出了一个图的邻接表表示。
通过对Redis索引结构和内存云图存储系统应用分析,对图数据存储系统的设计具体如图9所示。在分布式内存图数据系统中,将每张图表分为两张数据表进行存储;一张数据表为邻接表,将首节点ID设计为Key-Value数据表的Key,Value类型选择为Set类型,用来存储头结点的邻居节点;另一张数据表存储节点与关系的属性与引用信息。存储系统将经常参与运算的图的拓扑结构与图的静态属性和引用数据进行分开存储,有利于数据的查询与计算进行分离,优化数据的计算效率,参与运算、遍历的逻辑经常需要借助图的网络拓扑结构进行数据扩展与遍历,在图的拓扑结构上进行遍历;而经常查询的逻辑包括查询节点与关系的属性与引用等信息。
分布式内存云数据存储系统,是在分布式Redis集群中进行设计,在集群中完成图的划分分布,并通过表结构的设计,将图计算的拓扑结构与图查询的静态结构信息进行独立存储,实现图数据的高效存储与访问。
综上所述,以上的几个部分就是该发明的主要内容,通过构建可动态扩容的Redis内存云分布式系统,使用一定图划分算法将图数据较均匀的存储在不同的集群节点上,通过对内存的高效访问实现对图的高效存取操作,更进一步加速了基于图数据库引擎的图计算的效率。
以下为与上述系统实施例对应的方法实施例,本实施方法可与上述实施系统互相配合实施。上述施方式中提到的相关技术细节在本实施方法中依然有效,为了减少重复,这里不再赘述。相应地,本实施方法中提到的相关技术细节也可应用在上述实施系统中。
本发明还提供了一种基于分布式内存云的图数据存储方法,其中该系统包括:
步骤1、在分布式内存云中为每个服务器分配虚拟节点,根据该虚拟节点的哈希值,将该虚拟节点映射到0~231的数值空间上,保存映射关系作为哈希映射表,同时将这个数值空间首尾相连生成哈希环,获取每个服务器所存储的图数据,同过在该哈希映射表上检索该图数据的哈希值,将该图数据存入对应的该虚拟节点;
当增加新服务器时,在分布式内存云中为该新服务器分配新虚拟节点并更新该哈希映射表,根据该新虚拟节点的哈希值,将该新虚拟节点加入该哈希环中,并根据该虚拟节点存储的图数据的哈希值和更新后的该哈希映射表,对该哈希环中每个该虚拟节点进行数据迁移。
该基于分布式内存云的图数据存储方法,其中该步骤1还包括,随机挑选一个虚拟节点作为主节点,用于监控该图数据存储系统的状态和维持该哈希映射表,其余虚拟节点作为从属节点,用于存储图数据。
该基于分布式内存云的图数据存储方法,其中该步骤1还包括:
图划分步骤、根据图数据的拓扑结构,将图数据划分为多个子图,根据子图的规模,使用分布式内存云中多个虚拟节点存储该子图,并在指定的内存空间中对该子图进行拆分或合并,以节省内存空间。
该基于分布式内存云的图数据存储方法,其中还包括数据存储步骤,根据图数据的规模,为图数据分配邻接表和实体信息表,该邻接表用于存储图的邻接邻居与实体常用属性信息,该实体信息表用于存储图数据的多值属性与引用信息。
以下为本发明的技术效果。将分布式内存云图存储系统与现在较为流行的Titan系统(底层采用HBase存储)进行对比分析。实验集群硬件环境如下,集群规模为8个Redis实例与8个HBase数据节点。
实验集群配置表:
首先在简单写入读取操作上与Titan进行对比。
写入速度测试表:
分布式内存云图存储系统数据写入性能优于基于Titan分布式图存储系统,性能达到70倍,所以基于内存的分布式图系统能充分发挥内存与高并发优势,适合海量图数据的写入;而Titan图数据系统因为磁盘IO延迟与系统设计方面的不足不适合对海量数据进行批量写入。
读取速度测试表:
不同的图存储系统针对简单API的查询效率对比,分布式内存云图存储系统在时效性方面优于Titan图存储系统两个量级。前者简单的查询速率能达到3毫秒左右,而Titan图数据存储系统查询速率维持在1000毫秒以内。
复杂图遍历算法查询效率对比表:
两种不同的分布式图存储系统,都支持图系统以指定节点为中心的复杂图计算,在对复杂图在线计算中,图的运算效率相差40倍左右。测试效果表明,分布式内存云图存储系统支持对图进行信息查询与遍历,从而支持复杂的在线遍历计算。Titan图存储系统,因为图批量计算过程中有大量的磁盘IO开销,不适合做高效离线图计算;而分布式内存云图存储系统可以支持内存中离线图计算,大大减少海量图数据计算过程中的IO开销,提升了分布式计算计算效率。
虽然本发明以上述实施例公开,但具体实施例仅用以解释本发明,并不用于限定本发明,任何本技术领域技术人员,在不脱离本发明的构思和范围内,可作一些的变更和完善,故本发明的权利保护范围以权利要求书为准。
Claims (10)
1.一种基于分布式内存云的图数据存储系统,其特征在于,该系统包括:
图服务层,用于在分布式内存云中为每个服务器分配虚拟节点,根据该虚拟节点的哈希值,将该虚拟节点映射到0~231的数值空间上,保存映射关系作为哈希映射表,同时将这个数值空间首尾相连生成哈希环,获取每个服务器所存储的图数据,同过在该哈希映射表上检索该图数据的哈希值,将该图数据存入对应的该虚拟节点;
当增加新服务器时,在分布式内存云中为该新服务器分配新虚拟节点并更新该哈希映射表,根据该新虚拟节点的哈希值,将该新虚拟节点加入该哈希环中,并根据该虚拟节点存储的图数据的哈希值和更新后的该哈希映射表,对该哈希环中每个该虚拟节点进行数据迁移。
2.如权利要求1所述的基于分布式内存云的图数据存储系统,其特征在于,该图服务层还包括,随机挑选一个虚拟节点作为主节点,用于监控该图数据存储系统的状态和维持该哈希映射表,其余虚拟节点作为从属节点,用于存储图数据。
3.如权利要求1所述的基于分布式内存云的图数据存储系统,其特征在于,该图服务层还包括:
图划分模块,根据图数据的拓扑结构,将图数据划分为多个子图,根据子图的规模,使用分布式内存云中多个虚拟节点存储该子图,并在指定的内存空间中对该子图进行拆分或合并,以节省内存空间。
4.如权利要求1所述的基于分布式内存云的图数据存储系统,其特征在于,还包括数据存储层,根据图数据的规模,为图数据分配邻接表和实体信息表,该邻接表用于存储图的邻接邻居与实体常用属性信息,该实体信息表用于存储图数据的多值属性与引用信息。
5.如权利要求1所述的基于分布式内存云的图数据存储系统,其特征在于,将该图数据形式化的定义为五元组G=<gid,V,R,T,μ>,其中G为该五元组,gid为该图数据的ID,V为该图数据中所有节点的集合,R为该图数据中所有关系的集合,T为该图数据中所有节点与关系类型的集合,μ为该图数据中所有时间信息的基本单位。
6.一种基于分布式内存云的图数据存储方法,其特征在于,该系统包括:
步骤1、在分布式内存云中为每个服务器分配虚拟节点,根据该虚拟节点的哈希值,将该虚拟节点映射到0~231的数值空间上,保存映射关系作为哈希映射表,同时将这个数值空间首尾相连生成哈希环,获取每个服务器所存储的图数据,同过在该哈希映射表上检索该图数据的哈希值,将该图数据存入对应的该虚拟节点;
当增加新服务器时,在分布式内存云中为该新服务器分配新虚拟节点并更新该哈希映射表,根据该新虚拟节点的哈希值,将该新虚拟节点加入该哈希环中,并根据该虚拟节点存储的图数据的哈希值和更新后的该哈希映射表,对该哈希环中每个该虚拟节点进行数据迁移。
7.如权利要求6所述的基于分布式内存云的图数据存储方法,其特征在于,该步骤1还包括,随机挑选一个虚拟节点作为主节点,用于监控该图数据存储系统的状态和维持该哈希映射表,其余虚拟节点作为从属节点,用于存储图数据。
8.如权利要求6所述的基于分布式内存云的图数据存储方法,其特征在于,该步骤1还包括:
图划分步骤、根据图数据的拓扑结构,将图数据划分为多个子图,根据子图的规模,使用分布式内存云中多个虚拟节点存储该子图,并在指定的内存空间中对该子图进行拆分或合并,以节省内存空间。
9.如权利要求6所述的基于分布式内存云的图数据存储方法,其特征在于,还包括数据存储步骤,根据图数据的规模,为图数据分配邻接表和实体信息表,该邻接表用于存储图的邻接邻居与实体常用属性信息,该实体信息表用于存储图数据的多值属性与引用信息。
10.如权利要求6所述的基于分布式内存云的图数据存储方法,其特征在于,将该图数据形式化的定义为五元组G=<gid,V,R,T,μ>,其中G为该五元组,gid为该图数据的ID,V为该图数据中所有节点的集合,R为该图数据中所有关系的集合,T为该图数据中所有节点与关系类型的集合,μ为该图数据中所有时间信息的基本单位。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810253247.2A CN108600321A (zh) | 2018-03-26 | 2018-03-26 | 一种基于分布式内存云的图数据存储方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810253247.2A CN108600321A (zh) | 2018-03-26 | 2018-03-26 | 一种基于分布式内存云的图数据存储方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108600321A true CN108600321A (zh) | 2018-09-28 |
Family
ID=63623676
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810253247.2A Pending CN108600321A (zh) | 2018-03-26 | 2018-03-26 | 一种基于分布式内存云的图数据存储方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108600321A (zh) |
Cited By (33)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109246250A (zh) * | 2018-11-08 | 2019-01-18 | 程桂平 | 根据服务器数量的改变而调整虚拟节点数量的方法 |
CN109359115A (zh) * | 2018-10-25 | 2019-02-19 | 中国互联网络信息中心 | 基于图数据库的分布式存储方法、装置及系统 |
CN110059080A (zh) * | 2019-04-29 | 2019-07-26 | 珠海天燕科技有限公司 | 一种数据处理的方法和装置 |
CN110083312A (zh) * | 2019-04-28 | 2019-08-02 | 联想(北京)有限公司 | 磁盘扩容方法、装置及计算机设备 |
CN110347711A (zh) * | 2019-07-10 | 2019-10-18 | 北京百度网讯科技有限公司 | 分碎片存储的图数据库查询方法及装置 |
CN110442754A (zh) * | 2019-08-05 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 标签更新方法及装置、分布式存储系统 |
CN110543570A (zh) * | 2019-07-29 | 2019-12-06 | 北京邮电大学 | 基于哈希寻址的知识图谱存储方法 |
CN110609870A (zh) * | 2019-09-11 | 2019-12-24 | 深圳众赢维融科技有限公司 | 分布式数据处理方法、装置、电子设备及存储介质 |
CN110619055A (zh) * | 2019-09-11 | 2019-12-27 | 深圳众赢维融科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
WO2020019313A1 (zh) * | 2018-07-27 | 2020-01-30 | 浙江天猫技术有限公司 | 一种图数据的更新方法、系统、计算机可读存储介质及设备 |
CN110737658A (zh) * | 2019-09-06 | 2020-01-31 | 平安国际智慧城市科技股份有限公司 | 数据分片存储方法、装置、终端及可读存储介质 |
CN110825743A (zh) * | 2019-10-31 | 2020-02-21 | 北京百度网讯科技有限公司 | 一种图数据库的数据导入方法、装置、电子设备和介质 |
CN110880066A (zh) * | 2019-11-06 | 2020-03-13 | 深圳前海微众银行股份有限公司 | 特征数据的处理方法、终端、装置及可读存储介质 |
CN110928697A (zh) * | 2020-02-13 | 2020-03-27 | 北京一流科技有限公司 | 拓扑图转换系统及其方法 |
CN111176787A (zh) * | 2019-12-23 | 2020-05-19 | 中国建设银行股份有限公司 | 数据分析方法和装置 |
CN111274310A (zh) * | 2018-12-05 | 2020-06-12 | 中国移动通信集团山东有限公司 | 一种分布式数据缓存方法及系统 |
CN111277621A (zh) * | 2018-12-05 | 2020-06-12 | 中国移动通信集团河南有限公司 | 一种缓存动态管理方法及系统 |
CN111382319A (zh) * | 2020-03-18 | 2020-07-07 | 军事科学院系统工程研究院系统总体研究所 | 一种面向知识图谱的图数据表示和映射方法 |
CN111866041A (zh) * | 2019-04-28 | 2020-10-30 | 杭州海康威视系统技术有限公司 | 业务设备选取、云存储集群更新的方法、装置及存储介质 |
CN112000285A (zh) * | 2020-08-12 | 2020-11-27 | 广州市百果园信息技术有限公司 | 强一致存储系统、数据强一致存储方法、服务器及介质 |
CN112015561A (zh) * | 2020-09-16 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 用于流式计算服务的方法、装置和系统 |
CN112100415A (zh) * | 2020-09-14 | 2020-12-18 | 哈尔滨工业大学(威海) | 一种高可靠的异构平台的大型图数据库系统的实现方法 |
CN112115311A (zh) * | 2020-08-28 | 2020-12-22 | 苏宁金融科技(南京)有限公司 | 一种图数据库的弹性扩缩容方法、装置、设备及存储介质 |
CN112528090A (zh) * | 2020-12-11 | 2021-03-19 | 北京百度网讯科技有限公司 | 图数据的存储方法和存储装置 |
CN112558869A (zh) * | 2020-12-11 | 2021-03-26 | 北京航天世景信息技术有限公司 | 基于大数据遥感影像缓存方法 |
CN112948943A (zh) * | 2021-03-22 | 2021-06-11 | 西南交通大学 | 格栅式地下连续墙基础的OpenSees软件的前、后处理方法 |
WO2021174515A1 (en) * | 2020-03-06 | 2021-09-10 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for data storage in the expansion of object-based storage systems |
CN113761288A (zh) * | 2021-01-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 数据迁移方法、装置、系统和计算机可读存储介质 |
CN113886652A (zh) * | 2021-10-09 | 2022-01-04 | 北京欧拉认知智能科技有限公司 | 一种内存优先的多模图数据存储与计算方法及系统 |
CN114205424A (zh) * | 2021-12-01 | 2022-03-18 | 招联消费金融有限公司 | 账单文件解压方法、装置、计算机设备和存储介质 |
CN116361299A (zh) * | 2023-05-31 | 2023-06-30 | 天翼云科技有限公司 | 一种在系统扩容时无数据迁移的哈希分布方法及系统 |
CN116938753A (zh) * | 2023-09-13 | 2023-10-24 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置及电子设备 |
CN117271525A (zh) * | 2023-10-27 | 2023-12-22 | 衡阳凯新特种材料科技有限公司 | 一种特种陶瓷数据长期存储系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120078915A1 (en) * | 2010-09-29 | 2012-03-29 | Jeffrey Darcy | Systems and methods for cloud-based directory system based on hashed values of parent and child storage locations |
CN102457571A (zh) * | 2011-09-15 | 2012-05-16 | 中标软件有限公司 | 一种云存储中数据均衡分布方法 |
CN107329982A (zh) * | 2017-06-01 | 2017-11-07 | 华南理工大学 | 一种基于分布式列式存储的大数据并行计算方法及系统 |
-
2018
- 2018-03-26 CN CN201810253247.2A patent/CN108600321A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120078915A1 (en) * | 2010-09-29 | 2012-03-29 | Jeffrey Darcy | Systems and methods for cloud-based directory system based on hashed values of parent and child storage locations |
CN102457571A (zh) * | 2011-09-15 | 2012-05-16 | 中标软件有限公司 | 一种云存储中数据均衡分布方法 |
CN107329982A (zh) * | 2017-06-01 | 2017-11-07 | 华南理工大学 | 一种基于分布式列式存储的大数据并行计算方法及系统 |
Non-Patent Citations (3)
Title |
---|
左遥: "一种面向图数据的预装载缓存策略", 《计算机工程》 * |
毛红霞: "云存储的研究以及改进的分布式数据存储策略", 《电脑知识与技术》 * |
袁培森: "基于内存计算的大规模图数据管理研究", 《华东师范大学学报(自然科学版)》 * |
Cited By (51)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020019313A1 (zh) * | 2018-07-27 | 2020-01-30 | 浙江天猫技术有限公司 | 一种图数据的更新方法、系统、计算机可读存储介质及设备 |
CN109359115A (zh) * | 2018-10-25 | 2019-02-19 | 中国互联网络信息中心 | 基于图数据库的分布式存储方法、装置及系统 |
CN109359115B (zh) * | 2018-10-25 | 2020-11-13 | 中国互联网络信息中心 | 基于图数据库的分布式存储方法、装置及系统 |
CN109246250A (zh) * | 2018-11-08 | 2019-01-18 | 程桂平 | 根据服务器数量的改变而调整虚拟节点数量的方法 |
CN111277621A (zh) * | 2018-12-05 | 2020-06-12 | 中国移动通信集团河南有限公司 | 一种缓存动态管理方法及系统 |
CN111274310A (zh) * | 2018-12-05 | 2020-06-12 | 中国移动通信集团山东有限公司 | 一种分布式数据缓存方法及系统 |
CN111866041B (zh) * | 2019-04-28 | 2023-05-02 | 杭州海康威视系统技术有限公司 | 业务设备选取、云存储集群更新的方法、装置及存储介质 |
CN111866041A (zh) * | 2019-04-28 | 2020-10-30 | 杭州海康威视系统技术有限公司 | 业务设备选取、云存储集群更新的方法、装置及存储介质 |
CN110083312B (zh) * | 2019-04-28 | 2021-01-15 | 联想(北京)有限公司 | 磁盘扩容方法、装置及计算机设备 |
CN110083312A (zh) * | 2019-04-28 | 2019-08-02 | 联想(北京)有限公司 | 磁盘扩容方法、装置及计算机设备 |
CN110059080A (zh) * | 2019-04-29 | 2019-07-26 | 珠海天燕科技有限公司 | 一种数据处理的方法和装置 |
CN110059080B (zh) * | 2019-04-29 | 2021-12-14 | 珠海天燕科技有限公司 | 一种数据处理的方法和装置 |
CN110347711A (zh) * | 2019-07-10 | 2019-10-18 | 北京百度网讯科技有限公司 | 分碎片存储的图数据库查询方法及装置 |
CN110347711B (zh) * | 2019-07-10 | 2022-02-08 | 北京百度网讯科技有限公司 | 分碎片存储的图数据库查询方法及装置 |
CN110543570A (zh) * | 2019-07-29 | 2019-12-06 | 北京邮电大学 | 基于哈希寻址的知识图谱存储方法 |
CN110543570B (zh) * | 2019-07-29 | 2022-03-11 | 北京邮电大学 | 基于哈希寻址的知识图谱存储方法 |
CN110442754A (zh) * | 2019-08-05 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 标签更新方法及装置、分布式存储系统 |
CN110737658A (zh) * | 2019-09-06 | 2020-01-31 | 平安国际智慧城市科技股份有限公司 | 数据分片存储方法、装置、终端及可读存储介质 |
CN110737658B (zh) * | 2019-09-06 | 2020-12-18 | 平安国际智慧城市科技股份有限公司 | 数据分片存储方法、装置、终端及可读存储介质 |
CN110619055B (zh) * | 2019-09-11 | 2022-06-24 | 简链科技(广东)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110619055A (zh) * | 2019-09-11 | 2019-12-27 | 深圳众赢维融科技有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN110609870A (zh) * | 2019-09-11 | 2019-12-24 | 深圳众赢维融科技有限公司 | 分布式数据处理方法、装置、电子设备及存储介质 |
CN110609870B (zh) * | 2019-09-11 | 2022-08-16 | 简链科技(广东)有限公司 | 分布式数据处理方法、装置、电子设备及存储介质 |
CN110825743B (zh) * | 2019-10-31 | 2022-03-01 | 北京百度网讯科技有限公司 | 一种图数据库的数据导入方法、装置、电子设备和介质 |
CN110825743A (zh) * | 2019-10-31 | 2020-02-21 | 北京百度网讯科技有限公司 | 一种图数据库的数据导入方法、装置、电子设备和介质 |
CN110880066B (zh) * | 2019-11-06 | 2023-12-05 | 深圳前海微众银行股份有限公司 | 特征数据的处理方法、终端、装置及可读存储介质 |
CN110880066A (zh) * | 2019-11-06 | 2020-03-13 | 深圳前海微众银行股份有限公司 | 特征数据的处理方法、终端、装置及可读存储介质 |
CN111176787B (zh) * | 2019-12-23 | 2023-07-28 | 中国建设银行股份有限公司 | 数据分析方法和装置 |
CN111176787A (zh) * | 2019-12-23 | 2020-05-19 | 中国建设银行股份有限公司 | 数据分析方法和装置 |
CN110928697A (zh) * | 2020-02-13 | 2020-03-27 | 北京一流科技有限公司 | 拓扑图转换系统及其方法 |
WO2021174515A1 (en) * | 2020-03-06 | 2021-09-10 | Beijing Didi Infinity Technology And Development Co., Ltd. | Systems and methods for data storage in the expansion of object-based storage systems |
CN111382319A (zh) * | 2020-03-18 | 2020-07-07 | 军事科学院系统工程研究院系统总体研究所 | 一种面向知识图谱的图数据表示和映射方法 |
CN112000285A (zh) * | 2020-08-12 | 2020-11-27 | 广州市百果园信息技术有限公司 | 强一致存储系统、数据强一致存储方法、服务器及介质 |
CN112115311A (zh) * | 2020-08-28 | 2020-12-22 | 苏宁金融科技(南京)有限公司 | 一种图数据库的弹性扩缩容方法、装置、设备及存储介质 |
CN112100415B (zh) * | 2020-09-14 | 2023-03-17 | 哈尔滨工业大学(威海) | 一种高可靠的异构平台的大型图数据库系统的实现方法 |
CN112100415A (zh) * | 2020-09-14 | 2020-12-18 | 哈尔滨工业大学(威海) | 一种高可靠的异构平台的大型图数据库系统的实现方法 |
CN112015561A (zh) * | 2020-09-16 | 2020-12-01 | 支付宝(杭州)信息技术有限公司 | 用于流式计算服务的方法、装置和系统 |
CN112558869A (zh) * | 2020-12-11 | 2021-03-26 | 北京航天世景信息技术有限公司 | 基于大数据遥感影像缓存方法 |
CN112528090A (zh) * | 2020-12-11 | 2021-03-19 | 北京百度网讯科技有限公司 | 图数据的存储方法和存储装置 |
CN112528090B (zh) * | 2020-12-11 | 2023-08-04 | 北京百度网讯科技有限公司 | 图数据的存储方法和存储装置 |
CN113761288A (zh) * | 2021-01-29 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 数据迁移方法、装置、系统和计算机可读存储介质 |
CN112948943A (zh) * | 2021-03-22 | 2021-06-11 | 西南交通大学 | 格栅式地下连续墙基础的OpenSees软件的前、后处理方法 |
CN113886652B (zh) * | 2021-10-09 | 2022-06-17 | 北京欧拉认知智能科技有限公司 | 一种内存优先的多模图数据存储与计算方法及系统 |
CN113886652A (zh) * | 2021-10-09 | 2022-01-04 | 北京欧拉认知智能科技有限公司 | 一种内存优先的多模图数据存储与计算方法及系统 |
CN114205424A (zh) * | 2021-12-01 | 2022-03-18 | 招联消费金融有限公司 | 账单文件解压方法、装置、计算机设备和存储介质 |
CN114205424B (zh) * | 2021-12-01 | 2023-08-29 | 招联消费金融有限公司 | 账单文件解压方法、装置、计算机设备和存储介质 |
CN116361299A (zh) * | 2023-05-31 | 2023-06-30 | 天翼云科技有限公司 | 一种在系统扩容时无数据迁移的哈希分布方法及系统 |
CN116361299B (zh) * | 2023-05-31 | 2023-10-10 | 天翼云科技有限公司 | 一种在系统扩容时无数据迁移的哈希分布方法及系统 |
CN116938753A (zh) * | 2023-09-13 | 2023-10-24 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置及电子设备 |
CN116938753B (zh) * | 2023-09-13 | 2023-12-29 | 中移(苏州)软件技术有限公司 | 数据处理方法、装置及电子设备 |
CN117271525A (zh) * | 2023-10-27 | 2023-12-22 | 衡阳凯新特种材料科技有限公司 | 一种特种陶瓷数据长期存储系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108600321A (zh) | 一种基于分布式内存云的图数据存储方法和系统 | |
CN107423368B (zh) | 一种非关系数据库中的时空数据索引方法 | |
Nishimura et al. | MD-HBase: A scalable multi-dimensional data infrastructure for location aware services | |
CN104794123B (zh) | 一种为半结构化数据构建NoSQL数据库索引的方法及装置 | |
CN107423422B (zh) | 基于网格的空间数据分布式存储及检索方法和系统 | |
CN104850572A (zh) | HBase非主键索引构建与查询方法及其系统 | |
Chavan et al. | Survey paper on big data | |
CN101916261A (zh) | 一种分布式并行数据库系统的数据分区方法 | |
CN102890678A (zh) | 一种基于格雷编码的分布式数据布局方法及查询方法 | |
CN105677761A (zh) | 一种数据切分的方法及系统 | |
CN116541427B (zh) | 数据查询方法、装置、设备及存储介质 | |
CN115114294A (zh) | 数据库存储模式的自适应方法、装置、计算机设备 | |
CN103365987A (zh) | 一种基于共享磁盘架构的集群数据库系统及数据处理方法 | |
CN113127741B (zh) | 兼职岗位推荐系统中海量用户和岗位数据读写的缓存方法 | |
Tsai et al. | Scalable SaaS indexing algorithms with automated redundancy and recovery management. | |
Zhao et al. | Toward efficient and flexible metadata indexing of big data systems | |
US20230004538A1 (en) | Database gateway with machine learning model | |
Huang | [Retracted] Research on the Revolution of Multidimensional Learning Space in the Big Data Environment | |
Ho et al. | Data partition optimization for column-family NoSQL databases | |
Vokorokos et al. | Performance optimization of applications based on non-relational databases | |
Sun et al. | Handling multi-dimensional complex queries in key-value data stores | |
US11275737B2 (en) | Assignment of objects to processing engines for efficient database operations | |
Kvet | Database Block Management using Master Index | |
CN114579537A (zh) | 分布式图数据库的优化方法、装置、电子设备及存储介质 | |
Ge et al. | Cinhba: A secondary index with hotscore caching policy on key-value data store |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180928 |