一种分布式的图数据库与图计算系统间的数据传输方法技术方案

技术编号:34609940 阅读:16 留言:0更新日期:2022-08-20 09:15
本申请涉及一种分布式的图数据库与图计算系统间的数据传输方法,其中,该方法包括:通过图数据库系统获取图数据和数据读写请求;设置多种数据传输方式,通过多种数据传输方式将图数据和数据读写请求传输到图计算系统中。通过本申请,解决了关于如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题。进行实时的读写和计算的问题。进行实时的读写和计算的问题。

【技术实现步骤摘要】
一种分布式的图数据库与图计算系统间的数据传输方法


[0001]本申请涉及图数据库领域,特别是涉及一种分布式的图数据库与图计算系统间的数据传输方法。

技术介绍

[0002]随着大数据和人工智能的迅猛发展,超大规模关系网络逐步在社交推荐、风险控制、物联网、区块链、安全防控领域被广泛使用,而作为这些应用的技术基石之一,大规模分布式关系网络的存储和计算平台越来越受到学术界和工业界的关注。其中,主要涉及到的包括图数据库和图计算,两者均用于处理图数据。然而,由于图数据系统和图计算系统的设计目标和模式有很大的不同,因此,传统上都采用各自独立部署的方式。直到最近,有些产品才开始尝试提供一站式的集成服务。例如,Neo4j可以在单机上提供图数据库和图计算系统,两者之间可通过一个ETL过程,将图数据库中的数据抽取到内存中,然后进行图计算。
[0003]然而,在相关技术中,现有的一些方案,如Neo4j,只能用于实现分布式的图数据库系统和单机的图计算系统的联合,而如果采用这种联合方式,图计算系统只能处理远比其图数据库系统小很多的数据量,处理能力比较局限。另一些方案,如Oracle、TigerGraph和GalaxyBase,图数据库系统采用的是在RDBMS系统上建立Graph View(图结构的视图),而由于视图更新有着极高的成本,因此,这种方案只适合对图数据进行批量更新和批量计算的场景,在大并发的实时读写场景下会存在较多的性能问题。
[0004]因此,目前针对相关技术中,如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题,尚未提出有效的解决方案。

技术实现思路

[0005]本申请实施例提供了一种分布式的图数据库与图计算系统间的数据传输方法,以至少解决相关技术中,如何结合分布式图数据库与分布式图计算,使得用户能在同一个大规模数据集上,进行实时的读写和计算的问题。
[0006]第一方面,本申请实施例提供了一种分布式的图数据库与图计算系统间的数据传输方法,所述方法包括:
[0007]通过图数据库系统获取图数据和数据读写请求;
[0008]设置多种数据传输方式,通过所述多种数据传输方式将所述图数据和所述数据读写请求传输到图计算系统中。
[0009]在其中一些实施例中,所述设置多种数据传输方式包括:
[0010]第一传输:通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据,将数据传输到对应的图计算系统中;
[0011]第二传输:通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理,过滤后的数据传输到图计算系统中;
[0012]第三传输:通过Nebula Graph的listener或job的方式,将增量数据传输到图计算
系统中;
[0013]第四传输:获取Nebula Graph的查询层接口,通过所述接口向查询层发送查询语句,在Nebula Graph的计算层通过所述查询语句对数据进行过滤处理,过滤后的数据传输到图计算系统中;
[0014]在其中一些实施例中,所述通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据包括:
[0015]获取查询请求,根据底层存储节点的权重将不同的查询任务发送到对应的节点上,并在节点上扫描多个分片和副本;
[0016]扫描时通过scan接口获取key

value值,并在对应分片上读取查询结果。
[0017]在其中一些实施例中,所述通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理包括:
[0018]通过SparkConnector的接口,设置过滤参数,对传输数据的图属性进行限定,并将全量数据导出并转换,通过filter函数筛选过滤数据;
[0019]或者根据Nebula Graph中的job方式,在数据接口中加入filter函数,设置过滤属性和过滤条件,筛选数据。
[0020]在其中一些实施例中,在多种数据传输方式中,
[0021]以请求发起的时间作为当前合法快照隔离的时间,进行图数据库系统数据与图计算系统数据的快照隔离。
[0022]在其中一些实施例中,在将所述图数据和所述数据读写请求传输到图计算系统中之后,所述方法还包括:
[0023]通过所述图计算系统对数据进行图计算,缓存相应的图数据,并返回计算结果。
[0024]第二方面,本申请实施例提供了一种分布式的图数据库与图计算系统间的数据传输系统,所述系统包括:
[0025]获取模块,用于通过图数据库系统获取图数据和数据读写请求;
[0026]传输模块,用于设置多种数据传输方式,通过所述多种数据传输方式将所述图数据和所述数据读写请求传输到图计算系统中。
[0027]在其中一些实施例中,所述传输模块包括:
[0028]第一传输单元,用于通过查询Nebula Graph存储层的多个分片和副本,扫描获取数据,将数据传输到对应的图计算系统中;
[0029]第二传输单元,用于通过预设方式设置过滤参数,在Nebula Graph的存储层对数据的图属性进行过滤处理,过滤后的数据传输到图计算系统中;
[0030]第三传输单元,用于通过Nebula Graph的listener或job的方式,将增量数据传输到图计算系统中;
[0031]第四传输单元,用于获取Nebula Graph的查询层接口,通过所述接口向查询层发送查询语句,在Nebula Graph的计算层通过所述查询语句对数据进行过滤处理,过滤后的数据传输到图计算系统中;
[0032]第三方面,本申请实施例提供了一种电子装置,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的分布式的图数据库与图计算系统间的数据传输方法。
等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
[0044]本申请提供的分布式的图数据库与图计算系统间的数据传输方法,可以应用于如图1所示的应用环境本文档来自技高网
...

【技术保护点】

【技术特征摘要】
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任...

【专利技术属性】
技术研发人员:吴敏梁振亚周瑶王辰光岳通叶小萌
申请(专利权)人:杭州悦数科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1