CN112015820A - 分布式图数据库实现的方法、系统、电子装置和存储介质 - Google Patents
分布式图数据库实现的方法、系统、电子装置和存储介质 Download PDFInfo
- Publication number
- CN112015820A CN112015820A CN202010903248.4A CN202010903248A CN112015820A CN 112015820 A CN112015820 A CN 112015820A CN 202010903248 A CN202010903248 A CN 202010903248A CN 112015820 A CN112015820 A CN 112015820A
- Authority
- CN
- China
- Prior art keywords
- information
- node
- storage
- query
- computing node
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 171
- 238000000034 method Methods 0.000 title claims abstract description 33
- 239000012634 fragment Substances 0.000 claims abstract description 58
- 238000004458 analytical method Methods 0.000 claims abstract description 10
- 230000015654 memory Effects 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 17
- 238000013467 fragmentation Methods 0.000 claims description 8
- 238000006062 fragmentation reaction Methods 0.000 claims description 8
- 239000000284 extract Substances 0.000 claims description 6
- 238000003672 processing method Methods 0.000 abstract description 16
- 238000010586 diagram Methods 0.000 description 17
- 238000007726 management method Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 6
- 230000006870 function Effects 0.000 description 3
- 239000005441 aurora Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000013403 standard screening design Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
Abstract
本申请涉及一种分布式图数据库的数据处理方法、系统、电子装置和存储介质,其中,该分布式图数据库的数据处理方法包括:获取用户写入请求,计算节点接收并解析写入请求,在解析完成的情况下,计算节点计算出写入请求对应的写入信息的分片ID,根据分片ID确定写入信息所在的存储节点,并生成存储命令,计算节点向存储节点发送存储命令,存储节点根据存储命令存储写入信息。通过本申请,能够满足存储数据毫秒级查询延时和高吞吐、高并发的需求,解决了现有图数据库中存在的存储数据和查询数据延时低的问题,提高了存储数据的查询效率和服务器性能。
Description
技术领域
本申请涉及计算机科学领域,特别是涉及分布式图数据库实现的方法、系统、电子装置和存储介质。
背景技术
随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了一张庞大而复杂的关系网,大数据行业需要处理的数据之间的关系随数据量呈几何级数增长,亟需一种支持海量复杂数据关系运算的数据库。
在相关技术中,关系型数据库(Relational Database Management System,简称RDBMS)存储社交网络数据的效果并不理想,难以查找和遍历大量复杂且互连接的数据,响应时间缓慢超出预期,另外,图数据库是一个使用图结构进行语义查询的数据库,它使用点、边和属性来表示和存储数据,图数据库是非关系型数据库(Not Only SQL,简称NoSQL)的一种,通过点及点间的关系信息实现数据库存储与数据处理,但是,图数据库中的Neo4j不能进行分布式存储,只能通过加大机器硬盘、内存和SSD来提高性能和容量,然而,硬件会达到资源使用瓶颈,且大量数据集无法保存在同一个存储节点,此外,图数据库中JanusGraph采用的存储格式是将某个点的所有属性以及出边和入边都保存在HBase或Cassandra等存储后端的一行中,导致查询效率不高。
目前针对相关技术中,图数据库存储数据和查询数据延时低的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了分布式图数据库的数据处理方法、系统、电子装置和存储介质,至少解决相关技术中查询延时低的问题。
第一方面,本申请实施例提供了一种分布式图数据库的数据处理方法,所述分布式图数据库包括计算节点和存储节点,所述方法包括:
获取用户写入请求,所述计算节点接收并解析所述写入请求;
在所述解析完成的情况下,所述计算节点计算出所述写入请求对应的写入信息的分片ID,根据所述分片ID确定所述写入信息所在的所述存储节点,并生成存储命令;
所述计算节点向所述存储节点发送所述存储命令,所述存储节点根据所述存储命令存储所述写入信息。
在其中一些实施例中,根据所述分片ID确定所述写入信息所在的所述存储节点包括:
所述计算节点定期与元信息节点通信,从所述元信息节点中获取与所述分片ID对应的分片信息,其中,所述分布式图数据库包括所述元信息节点;
根据所述分片信息确定所述写入信息所在的所述存储节点。
在其中一些实施例中,所述存储节点根据所述存储命令存储所述写入信息包括:
所述存储节点对所述写入信息经过分片后,采用Key-Value的格式存储到所述存储节点。
在其中一些实施例中,所述存储节点根据所述存储命令存储所述写入信息之后,所述方法包括:
获取查询指令,所述计算节点接收并解析所述查询指令;
在所述解析完成的情况下,所述计算节点计算出所述查询指令对应的查询信息的分片ID,根据所述分片ID确定所述查询信息所在的所述存储节点,并生成查询请求;
所述计算节点向所述存储节点发送所述查询请求,所述存储节点根据所述查询请求提取所述查询信息,并返回给所述计算节点;
所述计算节点获取到所述查询指令对应的所述查询信息后,返回给用户。
第二方面,本申请实施例提供了一种分布式图数据库的数据处理系统,所述系统包括计算节点和存储节点;
所述计算节点获取用户写入请求,所述计算节点接收并解析所述写入请求;
在所述解析完成的情况下,所述计算节点计算出所述写入请求对应的写入信息的分片ID,根据所述分片ID确定所述写入信息所在的所述存储节点,并生成存储命令;
所述计算节点向所述存储节点发送所述存储命令,所述存储节点根据所述存储命令存储所述写入信息。
在其中一些实施例中,所述系统还包括:元信息节点;所述计算节点根据所述分片ID确定所述写入信息所在的所述存储节点包括:
所述计算节点定期与所述元信息节点通信,从所述元信息节点中获取与所述分片ID对应的分片信息;
所述计算节点根据所述分片信息确定所述写入信息所在的所述存储节点。
在其中一些实施例中,所述存储节点根据所述存储命令存储所述写入信息包括:
所述存储节点对所述写入信息经过分片后,采用Key-Value的格式存储到所述存储节点。
在其中一些实施例中,所述存储节点,用于根据所述存储命令存储所述写入信息之后,
获取查询指令,所述计算节点接收并解析所述查询指令;
在所述解析完成的情况下,所述计算节点计算出所述查询指令对应的查询信息的分片ID,根据所述分片ID确定所述查询信息所在的所述存储节点,并生成查询请求;
所述计算节点向所述存储节点发送所述查询请求,所述存储节点根据所述查询请求提取所述查询信息,并返回给所述计算节点;
所述计算节点获取到所述查询指令对应的所述查询信息后,返回给用户。
第三方面,本申请实施例提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项所述的分布式图数据库的数据处理方法。
第四方面,本申请实施例提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项所述的分布式图数据库的数据处理方法。
相比于相关技术,本申请实施例提供的一种分布式图数据库的数据处理方法,获取用户写入请求,计算节点接收并解析写入请求,在解析完成的情况下,计算节点计算出写入请求对应的写入信息的分片ID,根据分片ID确定写入信息所在的存储节点,并生成存储命令,计算节点向存储节点发送存储命令,存储节点根据存储命令存储写入信息,这种方法能够满足存储数据毫秒级查询延时和高吞吐、高并发的需求,解决了现有图数据库中存在的存储数据和查询数据延时低的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种分布式图数据库的数据处理方法的应用环境示意图;
图2是根据本申请实施例的分布式图数据库的数据处理方法的流程图;
图3是根据本申请实施例的一个点边关系示意图;
图4是根据本申请实施例的点的Key-Value字段存储格式示意图;
图5是根据本申请实施例的边的Key-Value字段存储格式示意图;
图6是根据本申请实施例的另一种分布式图数据库的数据处理方法的流程图;
图7是根据本申请实施例的一种分布式图数据库的数据处理系统示意图;
图8是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的分布式图数据库的数据处理方法,可以应用于如图1所示的应用环境中,图1是根据本申请实施例的一种分布式图数据库的数据处理方法的应用环境示意图,如图1所示,其中,该应用环境的系统包括计算节点10(Graph Node)、存储节点11(StorageNode)和元信息节点12(Meta Node),其中,计算节点10获取用户写入请求,计算节点10接收并解析写入请求,在解析完成的情况下,计算节点10计算出写入请求对应的写入信息的分片ID,计算节点10定期与元信息节点12通信,从元信息节点12中获取与分片ID对应的分片信息,计算节点10根据分片信息确定写入信息所在的存储节点11,并生成存储命令,计算节点10向存储节点11发送存储命令,存储节点11根据存储命令存储写入信息。本实施例采用分布式图数据库的数据处理方法,将数据进行分片处理,均匀存储在各个存储节点11中,解决了大量数据无法保存在同一个存储节点11的问题,此外,通过集群负载均衡机制,存储节点11能够进行扩容缩容,从而能够满足存储数据毫秒级查询延时和高吞吐、高并发的需求,解决了现有图数据库中存在的存储数据和查询数据延时低的问题,提高了存储数据查询效率和服务器性能。
本实施例提供了一种分布式图数据库的数据处理方法,图2是根据本申请实施例的分布式图数据库的数据处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取用户写入请求,计算节点10接收并解析写入请求,其中,计算节点10是包含CPU和内存的物理计算资源,主要功能为数据管理、日志管理、配置管理、处理线程管理、进程通信管理和TCP通信管理,主要任务为接收服务器任务、转发任务与计算结果、监控计算模块是否正常等。其中,写入请求可以是写入一个点或一条边的信息和属性,图3是根据本申请实施例的一个点边关系示意图,如图3所示,张三是一个点,每个点会有不同的标签,张三作为一个人的标签,对应的属性是“年龄:28”和“性别:男”;同理,A公司有一个公司标签,对应的属性是“成立时间:2018”。另外,写入一条边,例如张三和李四有一条边是同事,对应的属性是“时间:3年”;同理,张三和欧若数网之间有一条边是工作,对应的属性是“时间:3年”。通过上述方式写入信息使数据更简洁明了,提高服务器效率,此外,由于计算节点10本身不保存任何信息,因此,具有良好的水平扩展性,可以进行无限水平扩展,能够满足存储数据高吞吐的需求;
步骤S202,在解析完成的情况下,计算节点10计算出写入请求对应的写入信息的分片ID(Part Id),根据分片ID确定写入信息所在的存储节点11,并生成存储命令,其中,存储节点11存在于存储过程中,主要功能是存储数据、复制数据、平衡数据和恢复数据,用于存储点和边的数据,并根据计算节点10发送来的请求,返回对应的数据,例如,返回某条边、某个点或是某个点上所有边的属性,另外,分片ID是通过对点的名称进行哈希函数再取模计算求得,例如,写入一个点“张三”的信息,计算节点10通过“张三”这个点的名称进行哈希再取模计算求得“张三”对应的分片ID,本实施例利用点的分片ID查找写入信息所在的存储节点11能有效提高存储数据查询效率,此外,采用分片方式存储数据提高了系统的稳定性和负载能力,解决了大量数据无法保存在同一存储节点、高并发的性能瓶颈问题;
步骤S203,计算节点10向存储节点发送存储命令,存储节点11根据存储命令存储写入信息。
通过上述步骤S201至步骤S203,相对于现有技术中,大量数据无法保存在同一个存储节点和存储数据查询延时低的问题,本实施例采用分布式图数据库的数据处理方法,计算节点10获取用户写入请求,并接收和解析写入请求,在解析完成的情况下,计算节点10计算出写入请求对应的写入信息的分片ID,根据分片ID确定写入信息所在的存储节点11,并生成存储命令,计算节点10向存储节点11发送存储命令,存储节点11根据存储命令存储写入信息,上述方法将数据进行分片处理,均匀存储在各个存储节点11中,解决了大量数据无法保存在同一个存储节点11的问题,此外,通过集群负载均衡机制,存储节点11能够进行扩容缩容,从而能够满足存储数据毫秒级查询延时和高吞吐、高并发的需求,解决了现有图数据库中存在的存储数据和查询数据延时低的问题,提高了存储数据查询效率和服务器性能。
在其中一些实施例中,计算节点10会定期与元信息节点12通信,从元信息节点12中获取分片ID对应的分片信息,并根据分片信息确定写入信息所在的存储节点11,其中,元信息节点12以集群的形式向整个系统提供元信息的维护、存储和管理,可选的,元信息分为集中式管理和分布式管理,集中式管理是指在系统中有一个元信息节点12专门司职元信息管理,所有元信息都存储在该节点的存储设备上,所有客户端对文件的请求前,都要先对该元信息节点12请求元信息。分布式管理是指将元信息存放在系统的任意节点并且能动态迁移,对元信息管理的职责也分布到各个不同的节点上。此外,元信息节点12保存了集群的相关信息,如:分片信息,集群状态等,还保存了点和边的模式信息,例如,标签对应的ID和属性信息。可选的,计算节点10和存储节点11都会定期与元信息节点12通信,获取最新的集群状态和模式信息。通过计算节点10与元信息节点12交互通信获取分片信息的方式,可以提高数据查询效率,准确定位数据信息。
在其中一些实施例中,存储节点11根据存储命令存储写入信息包括:存储节点11对写入信息经过分片后,采用Key-Value的格式存储到存储节点11中。其中,Key-Value存储是以键值对存储数据的一种数据库,每个键都会对应一个唯一的值,图4是根据本申请实施例的点的Key-Value字段存储格式示意图,如图4所示,例如,写入一个点“张三”的信息,Key中存储的4个字段分别为:分片ID(Part Id)、点的名称(Vertex Id)、标签ID(Tag Id)以及保存本条记录的写入时间(Version),其中,点的名称即为“张三”,根据点的名称不同,占用字节数会有所不同;标签ID是一个整形数,占用4个字节,指“张三”作为“人”这个标签对应的ID,这种映射关系会保存在元信息节点12上;保存这条记录的写入时间,占用8个字节;Value用于存储相应的属性,对于“张三”的“人”这条记录,会保存年龄和性别这两个属性。图5是根据本申请实施例的边的Key-Value字段存储格式示意图,如图5所示,例如,写入一条边“李四”工作于“A公司”,Key中存储的6个字段分别为:分片ID(Part Id)、起点的名称(Src Id)、边类型(edgetype)、列(Rank)、终点名称(Dst Id)以及保存本条记录的写入时间(Version),其中,起点的名称即为“李四”,终点名称即为“A公司”,根据点的名称不同,占用字节数会有所不同;边类型是一个整形数,占用4个字节,指“工作于”这个边类型对应的ID,这种映射关系会保存在元信息节点12上;列字段记录的是一个时间点,即“李四”入职“A公司”的时间点,占用4个字节;保存这条记录的写入时间,占用8个字节;Value用于存储相应的属性,对于“李四”工作于“A公司”这条记录,会保存时间这个属性。采用Key-Value的存储格式,保证了一个实体的所有信息都保存在同一个存储节点11上,由此可以快速根据分片ID计算出对应的存储节点11,然后存储节点11从存储引擎中可以获取对应的属性。另外,对于一个点的不同标签和边,都对应了不同的key,从而避免了现有技术的Janus Graph中所有记录保存在一条记录上的问题。此外,采用Key-Value的存储格式查询速度快、存放数据量大、支持高并发、支持集群方式水平扩展以及支持哈希、列表、集合、有序集合等复杂的数据结构。
在其中一些实施例中,考虑到分布式图数据库的数据处理流程不仅包括写入信息还包括用户查询信息,因此,图5是根据本申请实施例的另一种分布式图数据库的数据处理方法的流程图,如图5所示,存储节点11根据存储命令存储写入信息之后,计算节点10获取查询指令,并接收和解析查询指令,在解析完成的情况下,计算节点10计算出查询指令对应的查询信息的分片ID,根据分片ID确定查询信息所在的存储节点11,并生成查询请求,计算节点10向存储节点11发送查询请求,存储节点11根据查询请求提取查询信息,并返回给计算节点10,计算节点10获取到查询指令对应的查询信息后,返回给用户。可选的,在存储节点11根据查询请求提取查询信息并返回给计算节点10时,需要判断存储引擎中是否存在查询信息相应的记录,如果存在则返回相应查询信息,如果不存在则返回不存在,例如,查询“张三”工作于“欧若数网”这条边上的“时间”属性,然后判断存储引擎中是否存在相应的记录,如果存在则返回这条边上的时间属性,如果不存在则返回不存在。可选的,在计算节点10将获取到的查询指令对应的查询信息返回给用户时,计算节点10可能需要向存储节点11发送多次请求,才能获取完整的结果。例如,查询“张三”好友的好友,即查询二度好友关系时,计算节点10需要先向保存“张三”的存储节点11发出请求,要求获取其所有好友的ID,即一度好友;计算节点10收到结果后,由于“张三”的一度好友可能有多个,因此会保存在多个存储节点11上,计算节点10会向保存这些一度好友对应的存储节点11再发出一次获取这些一度好友的好友的请求,最后经过汇总,计算节点10得到了“张三”的所有好友的好友,并返回给用户。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
下面结合应用场景对本发明进行详细的说明。
本发明的目的是提供一种分布式图数据库的数据处理系统,图6是根据本申请实施例的一种分布式图数据库的数据处理系统示意图,如图6所示,以查询“张三”和“李四”在“欧若数网”的工作年限为例,本实施例中的分布式图数据库的数据处理技术方案的流程步骤包括:
用户向计算节点10发出查询命令后,计算节点10解析出对应的命令,然后根据要查询的这两条边的起点,即分别计算出“张三”和“李四”的Part Id。由于计算节点10会定期从元信息节点12获取分片信息,根据PartId即可获取出在哪个存储节点11保存了“张三”和“李四”的相关记录。计算节点10根据Part Id,可能向一个或多个存储节点11同时发起请求,根据用户的查询命令,要求存储节点11取出其工作这条边上的时间属性。
存储节点11接收到对应的请求后,存储节点11将解析出需要查询的key,例如解析出需要查询“张三”工作于“欧若数网”这条边上的“时间”属性,然后在存储引擎中是否存在相应的记录,如果存在则返回这条边上的时间属性,如果不存在则返回不存在。
当计算节点10获取到之前发出请求对应的所有结果后,计算节点10将汇总结果,并返回给用户。
需要说明的是,计算节点10可能需要向存储节点11发送多次请求,才能获取完整的结果。例如,需要查询“张三”好友的好友(即查询二度好友关系),那么计算节点10需要先向保存“张三”的存储节点11发出请求,要求获取其所有好友的Id(称为一度好友)。计算节点10收到结果后,由于“张三”的一度好友可能有多个,因此会保存在多个存储节点11上。计算节点10会向保存这些一度好友对应的存储节点11再发出一次获取这些一度好友的好友的请求,最后经过汇总,计算节点10得到了“张三”的所有好友的好友,并返回给用户。
通过上述系统,满足了存储数据毫秒级查询延时和高吞吐、高并发的需求,解决了现有图数据库中存在的存储数据和查询数据延时低的问题,提高了存储数据查询效率和服务器性能。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
另外,结合上述实施例中的分布式图数据库的数据处理方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种分布式图数据库的数据处理方法。
在一个实施例中,图7是根据本申请实施例的电子设备的内部结构示意图,如图7所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图7所示。该电子设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该电子设备的处理器用于提供计算和控制能力。该电子设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该电子设备的数据库用于存储数据。该电子设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式图数据库的数据处理方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种分布式图数据库的数据处理方法,其特征在于,所述分布式图数据库包括计算节点和存储节点,所述方法包括:
获取用户写入请求,所述计算节点接收并解析所述写入请求;
在所述解析完成的情况下,所述计算节点计算出所述写入请求对应的写入信息的分片ID,根据所述分片ID确定所述写入信息所在的所述存储节点,并生成存储命令;
所述计算节点向所述存储节点发送所述存储命令,所述存储节点根据所述存储命令存储所述写入信息。
2.根据权利要求1所述的方法,其特征在于,根据所述分片ID确定所述写入信息所在的所述存储节点包括:
所述计算节点定期与元信息节点通信,从所述元信息节点中获取与所述分片ID对应的分片信息,其中,所述分布式图数据库包括所述元信息节点;
根据所述分片信息确定所述写入信息所在的所述存储节点。
3.根据权利要求1至2任一项所述的方法,其特征在于,所述存储节点根据所述存储命令存储所述写入信息包括:
所述存储节点对所述写入信息经过分片后,采用Key-Value的格式存储到所述存储节点。
4.根据权利要求1所述的方法,其特征在于,所述存储节点根据所述存储命令存储所述写入信息之后,所述方法包括:
获取查询指令,所述计算节点接收并解析所述查询指令;
在所述解析完成的情况下,所述计算节点计算出所述查询指令对应的查询信息的分片ID,根据所述分片ID确定所述查询信息所在的所述存储节点,并生成查询请求;
所述计算节点向所述存储节点发送所述查询请求,所述存储节点根据所述查询请求提取所述查询信息,并返回给所述计算节点;
所述计算节点获取到所述查询指令对应的所述查询信息后,返回给用户。
5.一种分布式图数据库的数据处理系统,其特征在于,所述系统包括计算节点和存储节点;
所述计算节点获取用户写入请求,所述计算节点接收并解析所述写入请求;
在所述解析完成的情况下,所述计算节点计算出所述写入请求对应的写入信息的分片ID,根据所述分片ID确定所述写入信息所在的所述存储节点,并生成存储命令;
所述计算节点向所述存储节点发送所述存储命令,所述存储节点根据所述存储命令存储所述写入信息。
6.根据权利要求5所述的系统,其特征在于,所述系统还包括:元信息节点;所述计算节点根据所述分片ID确定所述写入信息所在的所述存储节点包括:
所述计算节点定期与所述元信息节点通信,从所述元信息节点中获取与所述分片ID对应的分片信息;
所述计算节点根据所述分片信息确定所述写入信息所在的所述存储节点。
7.根据权利要求5至6任一项所述的系统,其特征在于,所述存储节点根据所述存储命令存储所述写入信息包括:
所述存储节点对所述写入信息经过分片后,采用Key-Value的格式存储到所述存储节点。
8.根据权利要求5所述的系统,其特征在于,所述存储节点,用于根据所述存储命令存储所述写入信息之后,
获取查询指令,所述计算节点接收并解析所述查询指令;
在所述解析完成的情况下,所述计算节点计算出所述查询指令对应的查询信息的分片ID,根据所述分片ID确定所述查询信息所在的所述存储节点,并生成查询请求;
所述计算节点向所述存储节点发送所述查询请求,所述存储节点根据所述查询请求提取所述查询信息,并返回给所述计算节点;
所述计算节点获取到所述查询指令对应的所述查询信息后,返回给用户。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至4中任一项所述的分布式图数据库的数据处理方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至4中任一项所述的分布式图数据库的数据处理方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903248.4A CN112015820A (zh) | 2020-09-01 | 2020-09-01 | 分布式图数据库实现的方法、系统、电子装置和存储介质 |
US17/363,028 US11526516B2 (en) | 2020-08-31 | 2021-06-30 | Method, apparatus, device and storage medium for generating and processing a distributed graph database |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010903248.4A CN112015820A (zh) | 2020-09-01 | 2020-09-01 | 分布式图数据库实现的方法、系统、电子装置和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112015820A true CN112015820A (zh) | 2020-12-01 |
Family
ID=73516622
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010903248.4A Pending CN112015820A (zh) | 2020-08-31 | 2020-09-01 | 分布式图数据库实现的方法、系统、电子装置和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112015820A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112559631A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN112685419A (zh) * | 2020-12-31 | 2021-04-20 | 北京赛思信安技术股份有限公司 | 一种可保持janusGraph数据一致性的分布式高效并行加载方法 |
CN113076311A (zh) * | 2020-01-03 | 2021-07-06 | 上海亲平信息科技股份有限公司 | 一种分布式数据库 |
CN113254476A (zh) * | 2021-05-28 | 2021-08-13 | 北京金山云网络技术有限公司 | 请求的处理方法和装置、电子设备和存储介质 |
CN113656683A (zh) * | 2021-07-12 | 2021-11-16 | 北京旷视科技有限公司 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
CN113761246A (zh) * | 2021-09-06 | 2021-12-07 | 北京金山云网络技术有限公司 | 数据获取方法、装置、电子设备和存储介质 |
CN114925123A (zh) * | 2022-04-24 | 2022-08-19 | 杭州悦数科技有限公司 | 一种分布式的图数据库与图计算系统间的数据传输方法 |
CN115544321A (zh) * | 2022-11-28 | 2022-12-30 | 厦门渊亭信息科技有限公司 | 一种图数据库存储的实现方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储系统 |
CN107959695A (zh) * | 2016-10-14 | 2018-04-24 | 北京国双科技有限公司 | 一种数据传输方法及装置 |
CN109407975A (zh) * | 2018-09-19 | 2019-03-01 | 华为技术有限公司 | 写数据方法与计算节点以及分布式存储系统 |
CN111026747A (zh) * | 2019-10-25 | 2020-04-17 | 广东数果科技有限公司 | 一种分布式的图数据管理系统、方法及存储介质 |
CN111435943A (zh) * | 2019-01-14 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备、系统及存储介质 |
-
2020
- 2020-09-01 CN CN202010903248.4A patent/CN112015820A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储系统 |
CN107959695A (zh) * | 2016-10-14 | 2018-04-24 | 北京国双科技有限公司 | 一种数据传输方法及装置 |
CN109407975A (zh) * | 2018-09-19 | 2019-03-01 | 华为技术有限公司 | 写数据方法与计算节点以及分布式存储系统 |
CN111435943A (zh) * | 2019-01-14 | 2020-07-21 | 阿里巴巴集团控股有限公司 | 数据处理方法、设备、系统及存储介质 |
CN111026747A (zh) * | 2019-10-25 | 2020-04-17 | 广东数果科技有限公司 | 一种分布式的图数据管理系统、方法及存储介质 |
Non-Patent Citations (1)
Title |
---|
舒红平,魏培阳等: "软件需求工程", 西南交通大学出版社, pages: 149 - 150 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076311A (zh) * | 2020-01-03 | 2021-07-06 | 上海亲平信息科技股份有限公司 | 一种分布式数据库 |
CN113076311B (zh) * | 2020-01-03 | 2023-04-11 | 上海亲平信息科技股份有限公司 | 一种分布式数据库 |
CN112559631A (zh) * | 2020-12-15 | 2021-03-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN112559631B (zh) * | 2020-12-15 | 2023-09-26 | 北京百度网讯科技有限公司 | 分布式图数据库的数据处理方法、装置以及电子设备 |
CN112685419A (zh) * | 2020-12-31 | 2021-04-20 | 北京赛思信安技术股份有限公司 | 一种可保持janusGraph数据一致性的分布式高效并行加载方法 |
CN113254476A (zh) * | 2021-05-28 | 2021-08-13 | 北京金山云网络技术有限公司 | 请求的处理方法和装置、电子设备和存储介质 |
CN113656683A (zh) * | 2021-07-12 | 2021-11-16 | 北京旷视科技有限公司 | 订阅数据推送方法、装置、系统、电子设备及存储介质 |
CN113761246A (zh) * | 2021-09-06 | 2021-12-07 | 北京金山云网络技术有限公司 | 数据获取方法、装置、电子设备和存储介质 |
CN114925123A (zh) * | 2022-04-24 | 2022-08-19 | 杭州悦数科技有限公司 | 一种分布式的图数据库与图计算系统间的数据传输方法 |
CN115544321A (zh) * | 2022-11-28 | 2022-12-30 | 厦门渊亭信息科技有限公司 | 一种图数据库存储的实现方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112015820A (zh) | 分布式图数据库实现的方法、系统、电子装置和存储介质 | |
US11288282B2 (en) | Distributed database systems and methods with pluggable storage engines | |
US10467245B2 (en) | System and methods for mapping and searching objects in multidimensional space | |
CN112287182B (zh) | 图数据存储、处理方法、装置及计算机存储介质 | |
US9563426B1 (en) | Partitioned key-value store with atomic memory operations | |
US9619503B2 (en) | Method, server, and system for accessing metadata | |
US20140344287A1 (en) | Database controller, method, and program for managing a distributed data store | |
WO2017161540A1 (zh) | 数据查询的方法、数据对象的存储方法和数据系统 | |
US10496645B1 (en) | System and method for analysis of a database proxy | |
US20220188340A1 (en) | Tracking granularity levels for accessing a spatial index | |
CN112800287A (zh) | 基于图数据库的全文索引方法和系统 | |
CN113220659A (zh) | 一种数据迁移的方法、系统、电子装置和存储介质 | |
US10776368B1 (en) | Deriving cardinality values from approximate quantile summaries | |
CN114969061A (zh) | 一种工业时序数据分布式存储方法、装置 | |
CN113779084A (zh) | 基于分布式的时序数据查询方法、设备、介质及产品 | |
CN105574010B (zh) | 数据查询方法及装置 | |
WO2022206170A1 (zh) | 一种数据处理方法、服务端及系统 | |
CN115114289A (zh) | 一种数据查询方法、装置及电子设备 | |
US11526516B2 (en) | Method, apparatus, device and storage medium for generating and processing a distributed graph database | |
US9442948B2 (en) | Resource-specific control blocks for database cache | |
Anitha et al. | ‘MaaS’: fast retrieval of E-file in cloud using metadata as a service | |
EP2565801A1 (en) | Control block linkage for database converter handling | |
Mosharraf et al. | Improving query execution performance in big data using cuckoo filter | |
CN110309101B (zh) | 一种数据管理方法及Hadoop分布式文件系统 | |
US20240152520A1 (en) | Data query and data storage methods and apparatuses for relation network |
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 |