图形数据库写入的方法、电子设备及计算机可读存储介质技术

技术编号:20363294 阅读:32 留言:0更新日期:2019-02-16 16:42
本申请实施例提供了一种图形数据库写入的方法、电子设备及计算机可读存储介质。涉及图形数据库技术领域,该方法包括:通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识,然后通过分布式计算平台将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。本申请实施例实现了将海量的数据写入图形数据库。

【技术实现步骤摘要】
图形数据库写入的方法、电子设备及计算机可读存储介质
本申请涉及图形数据库
,具体而言,本申请涉及一种图形数据库写入的方法、电子设备及计算机可读存储介质。
技术介绍
随着信息技术的发展,数据库存储技术应运而生,在数据库中通过数据结构的方式存储数据,在数据结构中,图是顶点与边的集合,顶点与边可以有各自的属性。在互联网的个性化推荐、知识图谱、社交网络等场景下,用图来存储数据是直观而高效的,图的规模可以很大,例如百亿个节点,千亿个关系,为了存储与查询这些节点数据以及节点与节点之间的关系,图形数据库随之产生。图数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。为了更加直观以及高效的查询某些数据,需要将这些数据写入图形数据库,但是通常待写入图形数据库中的数据为亿级别的数据,因此如何将海量的数据写入图形数据库成为一个关键问题。
技术实现思路
本申请提供了一种图形数据库写入的方法、电子设备及计算机可读存储介质,可以解决将海量的数据写入图形数据库的问题。该技术方案如下:第一方面,提供了一种图形数据库写入的方法,包括:通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识;通过分布式计算平台将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。其中,若外置顶点标识生成器通过多节点模式生成顶点与顶点标识之间的映射关系,则顶点标识是由顶点身份标识与预设标识进行编码获得的,预设标识包括以下至少一项:节点编号;时间戳。在一个可能的实现方式中,通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,之前还包括:基于顶点与顶点标识之间的映射关系将从源数据库中获取到的数据生成各个携带顶点标识的顶点数据以及各个边数据,并将各个携带顶点标识的顶点数据以及各个边数据存储至分布式文件系统中,生成的任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识。在一个可能的实现方式中,基于顶点与顶点标识之间的映射关系将从源数据库中获取到的数据生成各个携带顶点标识的顶点数据以及各个边数据,之前还包括:从内存数据库中获取顶点与顶点标识之间的映射关系。在一个可能的实现方式中,基于顶点与顶点标识之间的映射关系将从源数据库中获取到的数据生成各个携带顶点标识的顶点数据以及各个边数据,之前还包括:从内存数据库中获取顶点与顶点标识之间的映射关系。在一个可能的实现方式中,从内存数据库中获取顶点与顶点标识之间的映射关系,之前还包括:从外置顶点标识生成器中获取预先生成的顶点与顶点标识之间的映射关系;将获取到的顶点与顶点标识之间的映射关系,存储至内存数据库中。具体地,通过分布式计算平台将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中,包括:通过分布式计算平台,并利用多节点并行模式,将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。在一个可能的实现方式中,分布式计算平台为Spark分布式计算平台。具体地,若分布式计算平台为Spark分布式计算平台,则通过分布式计算平台,并利用多节点并行模式,将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中,包括:根据Sparkexecutor数量,确定当前多节点并行处理的并发度;通过Spark分布式计算平台,并基于当前多节点并行处理的并发度,将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。第二方面,提供了一种图形数据库写入的装置,包括:获取模块,用于通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识;写入模块,用于通过分布式计算平台将获取模块获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。其中,当外置顶点标识生成器通过多节点模式生成顶点与顶点标识之间的映射关系时,顶点标识是由顶点身份标识与预设标识进行编码获得的,预设标识包括以下至少一项:节点编号;时间戳。在一个可能的实现方式中,装置还包括:生成模块、存储模块;生成模块,用于基于顶点与顶点标识之间的映射关系将从源数据库中获取到的数据生成各个携带顶点标识的顶点数据以及各个边数据,生成的任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识;存储模块,用于将生成模块生成的各个携带顶点标识的顶点数据以及各个边数据存储至分布式文件系统中;在一个可能的实现方式中,获取模块,还用于从内存数据库中获取顶点与顶点标识之间的映射关系。在一个可能的实现方式中,获取模块,还用于从外置顶点标识生成器中获取预先生成的顶点与顶点标识之间的映射关系;存储模块,还用于将所述获取模块获取到的顶点与顶点标识之间的映射关系,存储至内存数据库中。具体地,写入模块,具体用于通过分布式计算平台,并利用多节点并行模式,将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。在一个可能的实现方式中,分布式计算平台为Spark分布式计算平台。具体地,当分布式计算平台为Spark分布式计算平台时,写入模块包括:确定单元、写入单元;确定单元,用于根据Sparkexecutor数量,确定当前多节点并行处理的并发度;写入单元,用于通过Spark分布式计算平台,并基于确定单元确定的当前多节点并行处理的并发度,将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。第三方面,提供了一种电子设备,包括:一个或多个处理器;存储器;一个或多个应用程序,其中一个或多个应用程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序配置用于:执行根据第一方面所示的图形数据库写入的方法。第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面所示的图形数据库写入的方法。本申请提供了一种图形数据库写入的方法、装置、电子设备及计算机可读存储介质,与现有技术相比,本申请通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识,然后通过分布式计算平台将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。即本申请获取到的顶点数据中携带该顶点标识,并且获取到的边数据中携带与其相对应的两个顶点分别对应的标识,通过分布式计算平台将顶点数据写入图形数据库,并根据顶点数据中携带的顶点标识以及边数据中携带的标识信息,将边数据对应写入图形数据库,从而可以实现将海量的数据写入图形数据库。附图说明为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。图1为本申请实施例提供的一种图形数据库写入的方法流程示意图;图2为本申请实施例提供的一种图形数据库写入的装置结构示意图;图3为本申请实施例提供的另一种图形数据库写入的装置结构示意图;图4为本申请实施例提供的一种图形数据库写入的电子设备的结构示意图。具体实施方式下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过本文档来自技高网...

【技术保护点】
1.一种图形数据库写入的方法,其特征在于,包括:通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识;通过分布式计算平台将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。

【技术特征摘要】
1.一种图形数据库写入的方法,其特征在于,包括:通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识;通过分布式计算平台将获取到的各个携带顶点标识的顶点数据以及各个边数据写入图形数据库中。2.根据权利要求1所述的方法,其特征在于,通过分布式计算平台从分布式文件系统中获取各个携带顶点标识的顶点数据以及各个边数据,之前还包括:基于顶点与顶点标识之间的映射关系将从源数据库中获取到的数据生成各个携带顶点标识的顶点数据以及各个边数据,并将所述各个携带顶点标识的顶点数据以及各个边数据存储至所述分布式文件系统中,生成的任一边数据中携带该边数据对应的两个顶点分别对应的顶点标识。3.根据权利要求2所述的方法,其特征在于,基于顶点与顶点标识之间的映射关系将从源数据库中获取到的数据生成各个携带顶点标识的顶点数据以及各个边数据,之前还包括:从内存数据库中获取顶点与顶点标识之间的映射关系。4.根据权利要求3所述的方法,其特征在于,从内存数据库中获取顶点与顶点标识之间的映射关系,之前还包括:从外置顶点标识生成器中获取预先生成的顶点与顶点标识之间的映射关系;将获取到的顶点与顶点标识之间的映射关系,存储至所述内存数据库中。5.根据权利要求4所述的方法,其特征在于,若所述外置顶点标识生成器通过多节点模式生成...

【专利技术属性】
技术研发人员:何任天
申请(专利权)人:北京奇虎科技有限公司
类型:发明
国别省市:北京,11

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

1