CN114925123A - 一种分布式的图数据库与图计算系统间的数据传输方法 - Google Patents
一种分布式的图数据库与图计算系统间的数据传输方法 Download PDFInfo
- Publication number
- CN114925123A CN114925123A CN202210460305.5A CN202210460305A CN114925123A CN 114925123 A CN114925123 A CN 114925123A CN 202210460305 A CN202210460305 A CN 202210460305A CN 114925123 A CN114925123 A CN 114925123A
- Authority
- CN
- China
- Prior art keywords
- graph
- data
- computing system
- nebula
- transmission
- 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.)
- Granted
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 101
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004364 calculation method Methods 0.000 claims abstract description 37
- 241000475481 Nebula Species 0.000 claims description 52
- 238000001914 filtration Methods 0.000 claims description 31
- 238000004590 computer program Methods 0.000 claims description 18
- 239000012634 fragment Substances 0.000 claims description 13
- 230000006870 function Effects 0.000 claims description 10
- 238000002955 isolation Methods 0.000 claims description 8
- 238000012216 screening Methods 0.000 claims description 7
- 238000012545 processing Methods 0.000 claims description 6
- 230000000670 limiting effect Effects 0.000 claims description 5
- 238000012546 transfer Methods 0.000 claims description 5
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 8
- 238000013461 design Methods 0.000 description 3
- 238000000926 separation method Methods 0.000 description 3
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 241000282376 Panthera tigris Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000002265 prevention Effects 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000012954 risk control 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/25—Integrating or interfacing systems involving database management systems
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种分布式的图数据库与图计算系统间的数据传输方法,其中,该方法包括:通过图数据库系统获取图数据和数据读写请求;设置多种数据传输方式,通过多种数据传输方式将图数据和数据读写请求传输到图计算系统中。通过本申请,解决了关于如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题。
Description
技术领域
本申请涉及图数据库领域,特别是涉及一种分布式的图数据库与图计算系统间的数据传输方法。
背景技术
随着大数据和人工智能的迅猛发展,超大规模关系网络逐步在社交推荐、风险控制、物联网、区块链、安全防控领域被广泛使用,而作为这些应用的技术基石之一,大规模分布式关系网络的存储和计算平台越来越受到学术界和工业界的关注。其中,主要涉及到的包括图数据库和图计算,两者均用于处理图数据。然而,由于图数据系统和图计算系统的设计目标和模式有很大的不同,因此,传统上都采用各自独立部署的方式。直到最近,有些产品才开始尝试提供一站式的集成服务。例如,Neo4j可以在单机上提供图数据库和图计算系统,两者之间可通过一个ETL过程,将图数据库中的数据抽取到内存中,然后进行图计算。
然而,在相关技术中,现有的一些方案,如Neo4j,只能用于实现分布式的图数据库系统和单机的图计算系统的联合,而如果采用这种联合方式,图计算系统只能处理远比其图数据库系统小很多的数据量,处理能力比较局限。另一些方案,如Oracle、TigerGraph和GalaxyBase,图数据库系统采用的是在RDBMS系统上建立Graph View(图结构的视图),而由于视图更新有着极高的成本,因此,这种方案只适合对图数据进行批量更新和批量计算的场景,在大并发的实时读写场景下会存在较多的性能问题。
因此,目前针对相关技术中,如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题,尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种分布式的图数据库与图计算系统间的数据传输方法,以至少解决相关技术中,如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题。
第一方面,本申请实施例提供了一种分布式的图数据库与图计算系统间的数据传输方法,所述方法包括:
通过图数据库系统获取图数据和数据读写请求;
设置多种数据传输方式,通过所述多种数据传输方式将所述图数据和所述数据读写请求传输到图计算系统中。
在其中一些实施例中,所述设置多种数据传输方式包括:
第一传输:通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据,将数据传输到对应的图计算系统中;
第二传输:通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理,过滤后的数据传输到图计算系统中;
第三传输:通过Nebula Graph的listener或job的方式,将增量数据传输到图计算系统中;
第四传输:获取Nebula Graph的查询层接口,通过所述接口向查询层发送查询语句,在Nebula Graph的计算层通过所述查询语句对数据进行过滤处理,过滤后的数据传输到图计算系统中;
在其中一些实施例中,所述通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据包括:
获取查询请求,根据底层存储节点的权重将不同的查询任务发送到对应的节点上,并在节点上扫描多个分片和副本;
扫描时通过scan接口获取key-value值,并在对应分片上读取查询结果。
在其中一些实施例中,所述通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理包括:
通过SparkConnector的接口,设置过滤参数,对传输数据的图属性进行限定,并将全量数据导出并转换,通过filter函数筛选过滤数据;
或者根据Nebula Graph中的job方式,在数据接口中加入filter函数,设置过滤属性和过滤条件,筛选数据。
在其中一些实施例中,在多种数据传输方式中,
以请求发起的时间作为当前合法快照隔离的时间,进行图数据库系统数据与图计算系统数据的快照隔离。
在其中一些实施例中,在将所述图数据和所述数据读写请求传输到图计算系统中之后,所述方法还包括:
通过所述图计算系统对数据进行图计算,缓存相应的图数据,并返回计算结果。
第二方面,本申请实施例提供了一种分布式的图数据库与图计算系统间的数据传输系统,所述系统包括:
获取模块,用于通过图数据库系统获取图数据和数据读写请求;
传输模块,用于设置多种数据传输方式,通过所述多种数据传输方式将所述图数据和所述数据读写请求传输到图计算系统中。
在其中一些实施例中,所述传输模块包括:
第一传输单元,用于通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据,将数据传输到对应的图计算系统中;
第二传输单元,用于通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理,过滤后的数据传输到图计算系统中;
第三传输单元,用于通过Nebula Graph的listener或job的方式,将增量数据传输到图计算系统中;
第四传输单元,用于获取Nebula Graph的查询层接口,通过所述接口向查询层发送查询语句,在Nebula Graph的计算层通过所述查询语句对数据进行过滤处理,过滤后的数据传输到图计算系统中;
第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的分布式的图数据库与图计算系统间的数据传输方法。
第四方面,本申请实施例提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面所述的分布式的图数据库与图计算系统间的数据传输方法。
相比于相关技术,本申请实施例提供的分布式的图数据库与图计算系统间的数据传输方法,通过图数据库系统获取图数据和数据读写请求;设置多种数据传输方式,通过多种数据传输方式,将图数据和数据读写请求传输到图计算系统中。
本申请基于Nebula Graph存储计算分离的架构特点,设计了多种类型的数据传输方案,优化了图数据库系统与图计算系统之间的数据传输过程,解决了关于如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题。带来的有益效果包括:1、数据吞吐量大,时延低;2、不仅可以全量数据传输,还能增量数据传输;3、实现了数据的过滤和筛选,减少数据计算量;4、多种传输方式灵活搭配使用,提高了系统的灵活性和数据处理能力。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的分布式的图数据库与图计算系统间的数据传输方法的应用环境示意图;
图2是根据本申请实施例的分布式的图数据库与图计算系统间的数据传输方法的流程图;
图3是根据本申请实施例的分布式的图数据库与图计算系统间的数据传输系统的结构框图;
图4是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
本申请提供的分布式的图数据库与图计算系统间的数据传输方法,可以应用于如图1所示的应用环境中,图1是根据本申请实施例的分布式的图数据库与图计算系统间的数据传输方法的应用环境示意图,如图1所示。其中,终端11与服务器10通过网络进行通信。服务器10通过图数据库系统获取图数据和数据读写请求;设置多种数据传输方式,通过多种数据传输方式将图数据和数据读写请求传输到图计算系统中;最后通过图计算系统的计算,将计算结果返回到终端11中。其中,终端11可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器10可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
本实施例提供了一种分布式的图数据库与图计算系统间的数据传输方法,图2是根据本申请实施例的分布式的图数据库与图计算系统间的数据传输方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,通过图数据库系统获取图数据和数据读写请求;
本实施例中用户采用Nebula Graph分布式的图数据库系统写入数据读写请求,并获取相关图数据;
步骤S202,设置多种数据传输方式,通过多种数据传输方式将图数据和数据读写请求传输到图计算系统中。
优选的,本实施例中,设置的多种数据传输方式包括如下:
第一传输方式:通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据,将数据传输到对应的图计算系统中;
第二传输方式:通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理,过滤后的数据传输到图计算系统中;
第三传输方式:通过Nebula Graph的listener或job的方式,将增量数据传输到图计算系统中;
第四传输方式:预设Nebula Graph的查询层接口,通过所述接口向查询层发送查询语句,在Nebula Graph的计算层通过所述查询语句对数据进行过滤处理,过滤后的数据传输到图计算系统中;
在其中一些实施例中,第一传输方式的数据传输过程具体包括:
S1、获取查询请求,在本地根据Nebula Graph底层存储节点分布情况进行分析计算,然后根据计算得出的底层存储节点权重,将不同的查询任务发送到对应的节点上,从而不仅可以在节点上扫描leader分片,还可以根据副本数分配扫描任务,大幅提高了扫描效率;
S2、扫描时通过scan接口获取key-value值;具体可通过下述代码获取:
std::vector<std::string>keys;
for(auto&pair:pairs)
{
keys.emplace_back(pair.first);
}//Get接口
auto future=storageClient->get(spaceId,std::move(keys));//通过StorageClient发送请求,相应的参数为spaceId,以及要获取的keys
auto resp=std::move(future).get()//获取结果;
通过S2步骤,可以解析出Timestamp字段,从而实现快照隔离性要求。此外,需要说明的是,本步骤中设置了Rocksdb自定义的比较器,使得时间戳逆序排列,从而实现读取最近的Timestamp字段的目的。
S3、在对应分片上读取查询结果。具体可通过下述代码实现:
bool found=false;
std::string value;//查找key对应的value是否在返回结果中,如果存在,则保存在value中
//resp.responses()中是多个storage server返回的结果
for(const auto&result:resp.responses()){
auto iter=result.values.find(key);
if(iter!=result.values.end()){
value=iter->second;
found=true;
break;//result.values即为某个storage server返回的key-value pairs,即为查询结果
}
}
需要说明的是,以上代码可以通过下述两种方式实现:
1.以Spark任务的方式实现:该方式基于Spark提供的编程接口,通常以scala或者java实现编码,且运行在执行GraphX计算的的Spark集群中。
2.通过Nebula Graph的job方式实现:该方式基于Nebula Graph提供的job编程接口,以C++编码。主要由Nebula Graph Meta管理并运行在Nebula Graph本集群中。
通过上述步骤可知,第一传输方式的优点包括:1.可以合理设置批处理的数据大小,并分批将数据发送至图计算系统,再在图计算节点上拼凑出完整数据集后进行图计算。避免了在存储节点进行数据拼凑,有效减少存储节点的内存消耗;2.由于Nebula Graph系统的KV存储格式的限定,当查询任务的并发数量等于Nebula Graph的Storaged进程数量乘以space数量时,吞吐量最高。当需要全图扫描时,通过本方式可以提高扫描吞吐率。
第一传输方式实现了全量数据的分布式传输,但在多数情况下,图计算过程只需要部分的图数据,例如仅仅统计某个省的人员信息,这意味着需要对图数据进行过滤。此时可采用第二或第四传输方式。
优选的,第二传输方式的数据传输过程具体包括:
一种是以Spark任务的方式实现:通过SparkConnector的接口,设置过滤参数,对传输数据的图属性进行限定,并将全量数据导出并转换Spark中的DataFrame后,通过filter函数筛选过滤数据。例如:df.filter(df("label")==="player"&&df("property")==="name").show(false)。通过这种方式可以进一步限定图数据中点的类型和数量。
或者,另一种是以Nebula Graph的job的方式实现:在数据接口中加入filter函数,设置过滤属性和过滤条件,例如,定义要过滤的属性prop_name,设置数据需要满足的过滤条件(大于或小于某特定值等),从而实现数据的筛选。本方式中可以通过在属性上建立二级索引来提高对该属性的扫描效率。本方式可实现分片传输的功能,提高效率。
优选的,第四传输方式的数据传输过程具体包括:
获取Nebula Graph的查询层接口,客户端通过该接口向查询层发送查询语句,例如:'MATCH(s)-[r:MY_RELATIONSHIP_TYPE]->(t)RETURN id(s)AS source,id(t)AStarget';抽取出需要的子图。在Nebula Graph的计算层通过查询语句对数据进行过滤处理之后,将过滤后的数据传输到图计算系统中。
需要说明的是,1、第二传输方式中的数据过滤主要是进行简单的数学运算比较,而第四传输方式中数据的过滤处理则可以进行各种复杂的SQL运算,例如抽取子图、过滤属性、聚合(SUM)、逻辑运算(AND、OR)等。2、第二传输方式适用于需要对图数据进行带属性过滤的扫描场景下,第四传输方式适用于需要复杂的聚合逻辑扫描场景下。3、第二传输方式在Nebula Graph的存储层进行,第四传输方式在Nebula Graph的计算层进行,因此第二传输方式的单位数据处理能力更强,但是灵活性没有第四传输方式高。此外,还可以根据实际场景中所需的图数据,对着两种传输方式进行灵活选择,提高传输效率。
在其中一些实施例中,第三传输方式实现了增量传输数据,其数据传输过程具体包括:通过Nebula Graph的listener或job的方式,将增量数据传输到图计算系统中。其中,job方式依赖于scan接口,其内的点和边已经按给定顺序排布好。而通过listener方式读取到的点和边是无序的,只能实时将数据写入图计算系统后,再在图计算系统中进行一次预排序及过滤计算。
通过上述四种传输方式可知,并发任务可以运行在多个分布式执行框架上,如Spark、Nebula Graph中的job、Nebula中的Listerer或者应用程序中自行分片并发执行。本申请可以将多种执行方式进行灵活组合选取,提高了系统的灵活性。
通过上述步骤S201至步骤S202,本实施例基于Nebula Graph存储计算分离的架构特点,设计了多种类型的数据传输方案,优化了图数据库系统与图计算系统之间的数据传输过程,解决了关于如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题。
在其中一些实施例中,在多种数据传输方式之中,以请求发起的时间作为当前合法快照隔离性的时间,进行图数据库系统数据与图计算系统数据的快照隔离。其中,具体的实现方式有如下两种:1、完全依赖于Nebula Graph本身的快照功能,即指定读取某个快照下的完整图数据。2、依赖于Nebula Graph存储点和边Key中的MVCC字段功能。实现了图数据库中的数据以快照隔离性的要求传输给图计算系统,保持了应用层面的并发一致性。
在其中一些实施例中,在将图数据和数据读写请求传输到图计算系统中之后,通过图计算系统对数据进行图计算,缓存相应的图数据,并返回计算结果到客户终端。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种分布式的图数据库与图计算系统间的数据传输系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3是根据本申请实施例的分布式的图数据库与图计算系统间的数据传输系统的结构框图,如图3所示,该系统包括获取模块31和传输模块32:
获取模块31,用于通过图数据库系统获取图数据和数据读写请求;传输模块32,用于设置多种数据传输方式,通过多种数据传输方式将图数据和数据读写请求传输到图计算系统中。
通过上述系统,本实施例基于Nebula Graph存储计算分离的架构特点,设计了多种类型的数据传输方案,优化了图数据库系统与图计算系统之间的数据传输过程,解决了关于如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
此外,需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照给定组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
另外,结合上述实施例中的分布式的图数据库与图计算系统间的数据传输方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种分布式的图数据库与图计算系统间的数据传输方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种分布式的图数据库与图计算系统间的数据传输方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图4是根据本申请实施例的电子设备的内部结构示意图,如图4所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图4所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作系统、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作系统和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种分布式的图数据库与图计算系统间的数据传输方法,数据库用于存储数据。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(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.一种分布式的图数据库与图计算系统间的数据传输方法,其特征在于,所述方法包括:
通过图数据库系统获取图数据和数据读写请求;
设置多种数据传输方式,通过所述多种数据传输方式将所述图数据和所述数据读写请求传输到图计算系统中。
2.根据权利要求1所述的方法,其特征在于,所述设置多种数据传输方式包括:
第一传输:通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据,将数据传输到对应的图计算系统中;
第二传输:通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理,过滤后的数据传输到图计算系统中;
第三传输:通过Nebula Graph的listener或job的方式,将增量数据传输到图计算系统中;
第四传输:获取Nebula Graph的查询层接口,通过所述接口向查询层发送查询语句,在Nebula Graph的计算层通过所述查询语句对数据进行过滤处理,过滤后的数据传输到图计算系统中。
3.根据权利要求2所述的方法,其特征在于,所述通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据包括:
获取查询请求,根据底层存储节点的权重将不同的查询任务发送到对应的节点上,并在节点上扫描多个分片和副本;
扫描时通过scan接口获取key-value值,并在对应分片上读取查询结果。
4.根据权利要求2所述的方法,其特征在于,所述通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理包括:
通过SparkConnector的接口,设置过滤参数,对传输数据的图属性进行限定,并将全量数据导出并转换,通过filter函数筛选过滤数据;
或者根据Nebula Graph中的job方式,在数据接口中加入filter函数,设置过滤属性和过滤条件,筛选数据。
5.根据权利要求1-4任一项所述的方法,其特征在于,在多种数据传输方式中,
以请求发起的时间作为当前合法快照隔离的时间,进行图数据库系统数据与图计算系统数据的快照隔离。
6.根据权利要求1所述的方法,其特征在于,在将所述图数据和所述数据读写请求传输到图计算系统中之后,所述方法还包括:
通过所述图计算系统对数据进行图计算,缓存相应的图数据,并返回计算结果。
7.一种分布式的图数据库与图计算系统间的数据传输系统,其特征在于,所述系统包括:
获取模块,用于通过图数据库系统获取图数据和数据读写请求;
传输模块,用于设置多种数据传输方式,通过所述多种数据传输方式将所述图数据和所述数据读写请求传输到图计算系统中。
8.根据权利要求7所述的系统,其特征在于,所述传输模块包括:
第一传输单元,用于通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据,将数据传输到对应的图计算系统中;
第二传输单元,用于通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理,过滤后的数据传输到图计算系统中;
第三传输单元,用于通过Nebula Graph的listener或job的方式,将增量数据传输到图计算系统中;
第四传输单元,用于获取Nebula Graph的查询层接口,通过所述接口向查询层发送查询语句,在Nebula Graph的计算层通过所述查询语句对数据进行过滤处理,过滤后的数据传输到图计算系统中。
9.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至6中任一项所述的分布式的图数据库与图计算系统间的数据传输方法。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行权利要求1至6中任一项所述的分布式的图数据库与图计算系统间的数据传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210460305.5A CN114925123B (zh) | 2022-04-24 | 2022-04-24 | 一种分布式的图数据库与图计算系统间的数据传输方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210460305.5A CN114925123B (zh) | 2022-04-24 | 2022-04-24 | 一种分布式的图数据库与图计算系统间的数据传输方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114925123A true CN114925123A (zh) | 2022-08-19 |
CN114925123B CN114925123B (zh) | 2024-06-07 |
Family
ID=82806385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210460305.5A Active CN114925123B (zh) | 2022-04-24 | 2022-04-24 | 一种分布式的图数据库与图计算系统间的数据传输方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114925123B (zh) |
Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088315A1 (en) * | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale filtering and/or sorting for querying of column based data encoded structures |
US20140095518A1 (en) * | 2012-09-28 | 2014-04-03 | Sap Ag | Calculated measures as attribute filters |
US20150134637A1 (en) * | 2013-11-12 | 2015-05-14 | Inmobi Pte. Ltd. | System and Method for Sharding a Graph Database |
WO2018045753A1 (zh) * | 2016-09-12 | 2018-03-15 | 星环信息科技(上海)有限公司 | 用于分布式图计算的方法与设备 |
CN108683738A (zh) * | 2018-05-16 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 图数据处理方法和图数据的计算任务发布方法 |
US20200167355A1 (en) * | 2018-11-23 | 2020-05-28 | Amazon Technologies, Inc. | Edge processing in a distributed time-series database |
CN111966739A (zh) * | 2020-08-21 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种图数据处理的方法和设备 |
CN112015820A (zh) * | 2020-09-01 | 2020-12-01 | 杭州欧若数网科技有限公司 | 分布式图数据库实现的方法、系统、电子装置和存储介质 |
CN112269887A (zh) * | 2020-11-09 | 2021-01-26 | 安徽华典大数据科技有限公司 | 一种基于图数据库的分布式系统 |
CN112637067A (zh) * | 2020-12-28 | 2021-04-09 | 北京明略软件系统有限公司 | 基于模拟网络广播的图并行计算系统和方法 |
CN112632035A (zh) * | 2020-12-24 | 2021-04-09 | 广州辰创科技发展有限公司 | 面向自主可控数据库迁移方法及存储介质 |
WO2021068351A1 (zh) * | 2019-10-12 | 2021-04-15 | 平安科技(深圳)有限公司 | 基于云存储的数据传输方法、装置及计算机设备 |
CN112685178A (zh) * | 2020-12-24 | 2021-04-20 | 北京浪潮数据技术有限公司 | 一种图数据处理方法、装置、设备及可读存储介质 |
CN112905854A (zh) * | 2021-03-05 | 2021-06-04 | 北京中经惠众科技有限公司 | 数据处理方法、装置、计算设备及存储介质 |
CN112925954A (zh) * | 2021-03-05 | 2021-06-08 | 北京中经惠众科技有限公司 | 用于在图数据库中查询数据的方法和装置 |
CN113297320A (zh) * | 2020-07-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 分布式数据库系统及数据处理方法 |
CN113900810A (zh) * | 2021-10-11 | 2022-01-07 | 国网电子商务有限公司 | 分布式图处理方法、系统及存储介质 |
CN113986846A (zh) * | 2021-09-16 | 2022-01-28 | 阿里云计算有限公司 | 数据处理方法、系统、设备及存储介质 |
CN114138776A (zh) * | 2021-11-01 | 2022-03-04 | 杭州欧若数网科技有限公司 | 图结构和图属性分离设计的方法、系统、装置和介质 |
CN114329096A (zh) * | 2022-03-03 | 2022-04-12 | 深圳市一号互联科技有限公司 | 一种原生图数据库处理方法及系统 |
-
2022
- 2022-04-24 CN CN202210460305.5A patent/CN114925123B/zh active Active
Patent Citations (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100088315A1 (en) * | 2008-10-05 | 2010-04-08 | Microsoft Corporation | Efficient large-scale filtering and/or sorting for querying of column based data encoded structures |
US20140095518A1 (en) * | 2012-09-28 | 2014-04-03 | Sap Ag | Calculated measures as attribute filters |
US20150134637A1 (en) * | 2013-11-12 | 2015-05-14 | Inmobi Pte. Ltd. | System and Method for Sharding a Graph Database |
WO2018045753A1 (zh) * | 2016-09-12 | 2018-03-15 | 星环信息科技(上海)有限公司 | 用于分布式图计算的方法与设备 |
CN108683738A (zh) * | 2018-05-16 | 2018-10-19 | 腾讯科技(深圳)有限公司 | 图数据处理方法和图数据的计算任务发布方法 |
US20200167355A1 (en) * | 2018-11-23 | 2020-05-28 | Amazon Technologies, Inc. | Edge processing in a distributed time-series database |
WO2021068351A1 (zh) * | 2019-10-12 | 2021-04-15 | 平安科技(深圳)有限公司 | 基于云存储的数据传输方法、装置及计算机设备 |
CN113297320A (zh) * | 2020-07-24 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 分布式数据库系统及数据处理方法 |
CN111966739A (zh) * | 2020-08-21 | 2020-11-20 | 苏州浪潮智能科技有限公司 | 一种图数据处理的方法和设备 |
CN112015820A (zh) * | 2020-09-01 | 2020-12-01 | 杭州欧若数网科技有限公司 | 分布式图数据库实现的方法、系统、电子装置和存储介质 |
CN112269887A (zh) * | 2020-11-09 | 2021-01-26 | 安徽华典大数据科技有限公司 | 一种基于图数据库的分布式系统 |
CN112632035A (zh) * | 2020-12-24 | 2021-04-09 | 广州辰创科技发展有限公司 | 面向自主可控数据库迁移方法及存储介质 |
CN112685178A (zh) * | 2020-12-24 | 2021-04-20 | 北京浪潮数据技术有限公司 | 一种图数据处理方法、装置、设备及可读存储介质 |
CN112637067A (zh) * | 2020-12-28 | 2021-04-09 | 北京明略软件系统有限公司 | 基于模拟网络广播的图并行计算系统和方法 |
CN112905854A (zh) * | 2021-03-05 | 2021-06-04 | 北京中经惠众科技有限公司 | 数据处理方法、装置、计算设备及存储介质 |
CN112925954A (zh) * | 2021-03-05 | 2021-06-08 | 北京中经惠众科技有限公司 | 用于在图数据库中查询数据的方法和装置 |
CN113986846A (zh) * | 2021-09-16 | 2022-01-28 | 阿里云计算有限公司 | 数据处理方法、系统、设备及存储介质 |
CN113900810A (zh) * | 2021-10-11 | 2022-01-07 | 国网电子商务有限公司 | 分布式图处理方法、系统及存储介质 |
CN114138776A (zh) * | 2021-11-01 | 2022-03-04 | 杭州欧若数网科技有限公司 | 图结构和图属性分离设计的方法、系统、装置和介质 |
CN114329096A (zh) * | 2022-03-03 | 2022-04-12 | 深圳市一号互联科技有限公司 | 一种原生图数据库处理方法及系统 |
Non-Patent Citations (4)
Title |
---|
宋宝燕;张永普;单晓欢;: "Spark-GraphX框架下的大规模加权图最短路径查询", 辽宁大学学报(自然科学版), no. 04, 15 November 2017 (2017-11-15), pages 7 - 11 * |
曹洁: "Spark大数据分析技术", vol. 1, 31 January 2021, 北京航空航天大学出版社, pages: 137 - 157 * |
李丽萍: "大数据时代云计算技术的发展应用", vol. 1, 31 December 2021, 西北工业大学出版社, pages: 75 - 91 * |
王智铎: "基于数据库集群的数据报送系统设计", 中国优秀硕士学位论文全文数据库 (信息科技辑), no. 03, 15 March 2022 (2022-03-15), pages 138 - 786 * |
Also Published As
Publication number | Publication date |
---|---|
CN114925123B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9934260B2 (en) | Streamlined analytic model training and scoring system | |
Baig et al. | Sparkgis: Resource aware efficient in-memory spatial query processing | |
Lakshminarasimhan et al. | Scalable in situ scientific data encoding for analytical query processing | |
CN112800095B (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN112256662B (zh) | 农产品信息区块链的存储与溯源方法、装置、设备及存储介质 | |
US20090006468A1 (en) | Efficient updates for distributed file systems | |
CN108182213A (zh) | 一种基于分布式系统的数据处理优化装置及方法 | |
CN110019267A (zh) | 一种元数据更新方法、装置、系统、电子设备及存储介质 | |
CN110727727B (zh) | 一种数据库的统计方法及装置 | |
Su et al. | Taming massive distributed datasets: data sampling using bitmap indices | |
US20200142674A1 (en) | Extracting web api endpoint data from source code | |
CN112035471B (zh) | 一种事务处理方法及计算机设备 | |
CN111723148A (zh) | 数据存储方法及装置、存储介质、电子装置 | |
Mehmood et al. | Distributed real-time ETL architecture for unstructured big data | |
CN111858467A (zh) | 基于人工智能的文件数据处理方法、装置、设备和介质 | |
CN113220659A (zh) | 一种数据迁移的方法、系统、电子装置和存储介质 | |
CN114138776A (zh) | 图结构和图属性分离设计的方法、系统、装置和介质 | |
CN111104406A (zh) | 层级型业务数据存储方法、装置、计算机设备和存储介质 | |
CN111400578B (zh) | 货物数据查询方法、装置、计算机设备和存储介质 | |
Phan et al. | A theoretical and experimental comparison of filter-based equijoins in MapReduce | |
CN114925123A (zh) | 一种分布式的图数据库与图计算系统间的数据传输方法 | |
CN115544172A (zh) | 一种一主多从的集群间数据实时同步的方法和系统 | |
CN115809304A (zh) | 字段级血缘解析方法、装置、计算机设备、存储介质 | |
CN114510525A (zh) | 数据格式转换方法、装置、计算机设备和存储介质 | |
CN114661818A (zh) | 图数据库中集群间数据实时同步的方法、系统和介质 |
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 | ||
GR01 | Patent grant |