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

文档序号:16880985发布日期:2019-02-15 22:08阅读:209来源:国知局
图形数据库写入的方法、电子设备及计算机可读存储介质与流程

本申请涉及图形数据库技术领域,具体而言,本申请涉及一种图形数据库写入的方法、电子设备及计算机可读存储介质。



背景技术:

随着信息技术的发展,数据库存储技术应运而生,在数据库中通过数据结构的方式存储数据,在数据结构中,图是顶点与边的集合,顶点与边可以有各自的属性。在互联网的个性化推荐、知识图谱、社交网络等场景下,用图来存储数据是直观而高效的,图的规模可以很大,例如百亿个节点,千亿个关系,为了存储与查询这些节点数据以及节点与节点之间的关系,图形数据库随之产生。

图数据库是一种非关系型数据库,它应用图形理论存储实体之间的关系信息。为了更加直观以及高效的查询某些数据,需要将这些数据写入图形数据库,但是通常待写入图形数据库中的数据为亿级别的数据,因此如何将海量的数据写入图形数据库成为一个关键问题。



技术实现要素:

本申请提供了一种图形数据库写入的方法、电子设备及计算机可读存储介质,可以解决将大量数据写入图形数据库的问题。该技术方案如下:

第一方面,提供了一种图形数据库写入的方法,包括:

获取各个顶点数据以及各个边数据;

获取顶点与顶点标识之间的映射关系,并基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。

具体地,获取顶点与顶点标识之间的映射关系,包括:

从外置顶点标识生成器中获取顶点与顶点标识之间的映射关系,顶点与顶点标识之间的映射关系是由外置顶点标识生成器预先生成的。

具体地,基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中,包括:

基于顶点与顶点标识之间的映射关系,并通过多节点并行模式,将各个顶点数据以及各个边数据写入图形数据库,多节点并行模式为通过多台服务器进行数据并行写入的模式。

具体地,基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库,包括:

将各个顶点数据写入图形数据库,顶点数据中携带顶点标识;

基于顶点与顶点标识之间的映射关系,将各个边数据写入图形数据库。

进一步地,若通过多节点并行模式写入数据,则顶点标识是由顶点身份标识以及预设标识进行编码获得的;预设标识包括以下至少一项:节点编号;时间戳。

具体地,顶点数据为该顶点的属性信息;边数据包括顶点与顶点之间的关系属性信息。

第二方面,提供了一种图形数据库写入的装置,包括:

获取模块,用于获取各个顶点数据以及各个边数据;

获取模块,还用于获取顶点与顶点标识之间的映射关系;

写入模块,用于基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。

具体地,获取模块,具体用于从外置顶点标识生成器中获取顶点与顶点标识之间的映射关系,顶点与顶点标识之间的映射关系是由外置顶点标识生成器预先生成的。

具体地,写入模块,具体用于基于顶点与顶点标识之间的映射关系,并通过多节点并行模式,将各个顶点数据以及各个边数据写入图形数据库,多节点并行模式为通过多台服务器进行数据并行写入的模式。

具体地,写入模块,具体还用于将各个顶点数据写入图形数据库,顶点数据中携带顶点标识;

写入模块,具体还用于基于顶点与顶点标识之间的映射关系,将各个边数据写入图形数据库。

进一步地,当通过多节点并行模式写入数据时,顶点标识是由顶点身份标识以及预设标识进行编码获得的;预设标识包括以下至少一项:节点编号;时间戳。

具体地,顶点数据为该顶点的属性信息;边数据包括顶点与顶点之间的关系属性信息。

第三方面,提供了一种电子设备,其包括:

一个或多个处理器;

存储器;

一个或多个应用程序,其中所述一个或多个应用程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序配置用于:执行根据第一方面所示的图形数据库写入的方法。

第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现第一方面所示的图形数据库写入的方法。

本申请实施例提供了一种图形数据库写入的方法、电子设备及计算机可读存储介质,与现有技术相比,本申请实施例获取各个顶点数据以及各个边数据,然后获取顶点与顶点标识之间的映射关系,并基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。即本申请实施例基于预先生成的顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中,从而可以实现将海量的数据写入图形数据库。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种图形数据库写入的方法的流程示意图;

图2为本申请实施例提供的一种图形数据库写入的装置结构示意图;

图3为本申请实施例提供的一种图形数据库写入的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

现有技术中存在两种将海量的数据写入图形数据库的方式,分别为方式一以及方式二,其中在方式一中是通过单进程的模式将图数据写入图形数据库中;在方式二中通过多节点并行导入的方式,将图数据写入至图形数据库,并在写入的同时,在图形数据库中生成顶点与顶点标识之间的映射关系。

但是现有技术中这两种图形数据库写入的方式,存在一定的技术问题,其中方式一中通过单进程模式,进行图形数据库写入的方式,将图数据写入图形数据库的效率特别低,而且不具备失败重传机制,无法在生产环境中大规模应用;方式二中的多节点并行模式进行图形数据库写入的方式,受限于图形数据库本身顶点身份标识号码(identity,id)的生成规则,虽然可以勉强能用于生产环境中,但其图数据录入效率还是特别低,不符合现有的业务需求。

本申请提供的图形数据库写入的方法、电子设备和计算机可读存储介质,旨在解决在图数据到达亿级别的场景下,如何高效的将图数据写入图形数据库,如何将顶点id生成过程从图形数据库内部剥离出来,并且还保证其顶点id的唯一的特性,以及解决在亿级别图数据情况下,将图数据写入图形数据库的问题。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

实施例一

本申请实施例提供了一种图形数据库写入的方法,如图1所示,该方法包括:

步骤s101、获取各个顶点数据以及各个边数据。

其中,顶点数据为该顶点的属性信息;边数据包括顶点与顶点之间的关系属性信息。

对于本申请实施例,将源数据库中获取待写入图形数据库中的数据,该数据包括待写入图形数据库中的各个顶点数据以及各个边数据。在本申请实施例中,该源数据库可以为关系型数据库,也可以为非关系型数据库,该图形数据库可以为非关系型数据。

对于本申请实施例,图形数据库中的顶点可以表征一个人、一个部门或者一个公司等。在本申请实施例中不做限定。在本申请实施例中,顶点数据为该顶点的属性信息,包括:性别、年龄、身份信息、电话号码等,边数据包括顶点与顶点之间的关系属性信息,即表征两个顶点之间的关系,其中,顶点与顶点之间的关系属性信息可以包括:朋友、夫妻、同事等。

步骤s102、获取顶点与顶点标识之间的映射关系。

例如,顶点与顶点标识之间的映射关系可以为顶点a对应的顶点标识为001、顶点2对应的顶点标识为002。

对于本申请实施例,步骤s102可以在步骤s101之前执行,也可以在步骤s101之后执行,还可以与步骤s101同时执行。在本申请实施例中不做限定。

对于本申请实施例,顶点与顶点标识之间的映射关系是在将顶点数据以及边数据写入图形数据库之前获取到的。

步骤s103、基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。

对于本申请实施例,图形数据库是nosql数据库的一种类型,它应用图形理论存储实体之间的关系信息,是一种非关系型数据库。

对于本申请实施例,在一个图形数据库中,最主要的组成有两种,结点集和连接结点的关系(有的也称泡泡和箭头)。在本申请实施例中,任一结点对应的数据可以称之为顶点数据,连接结点的关系对应的数据可以称之为边数据。

对于本申请实施例,在图形数据库中通过顶点标识来标识对应的顶点,因此在将边数据写入图形数据库时,需要预先确定待写入的边数据对应的两个顶点分别对应的顶点标识。在本申请实施例中,通过预先获取到的顶点与顶点标识之间的映射关系,将待写入图形数据库的顶点数据以及边数据写入该图形数据库。

本申请实施例提供了一种图形数据库写入的方法,与现有技术相比,本申请实施例获取各个顶点数据以及各个边数据,然后获取顶点与顶点标识之间的映射关系,并基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。即本申请实施例基于预先生成的顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中,从而可以实现将海量的数据写入图形数据库。

实施例二

本申请实施例的另一种可能的实现方式,在实施例一的基础上,还包括实施例二所示的操作,其中,

步骤s102包括:步骤s1021(图中未标注),其中,

步骤s1021、从外置顶点标识生成器中获取顶点与顶点标识之间的映射关系。

其中,顶点与顶点标识之间的映射关系是由外置顶点标识生成器预先生成的。

对于本申请实施例,在将各个顶点数据以及各个边数据写入图形数据库之前,通过外置顶点标识生成器生成顶点与顶点标识之间的映射关系。在本申请实施例,在将各个顶点数据以及各个边数据写入图形数据库时,从外置顶点生成器中获取预先生成的顶点与顶点标识之间的映射关系。

对于本申请实施例,顶点与顶点标识之间的映射关系可以是外置顶点标识生成器生成的,也可以是外置设备生成,该外置顶点标识生成器从该外置设备中获取到的。在本申请实施例中不做限定。

对于本申请实施例,通过预先在外置顶点标识生成器中生成顶点与顶点标识之间的映射关系,能够在写入图形数据库时从外置顶点标识生成器中获取预先生成的映射关系,避免在将各个顶点数据以及各个边数据写入图形数据库的过程中,在图形数据库中生成顶点与顶点标识之间的映射关系,从而可以减少图形数据库的计算压力,进而可以提高将数据写入图形数据库的效率。

其中,若通过多节点并行模式写入数据,则顶点标识是由顶点身份标识以及预设标识进行编码获得的;预设标识包括以下至少一项:节点编号;时间戳。

对于本申请实施例,为了进一步地提高将数据写入图形数据库的效率,可以通过多节点并行模式生成顶点与顶点标识之间的映射关系。在本申请实施例中,在通过多节点并行模式生成顶点与顶点标识之间的映射关系时,生成的顶点标识可以包括生成该顶点标识的节点编号以及时间戳中的至少一项以及顶点身份标识。在本申请实施例中,可以将节点编号以及时间戳中的至少一项与顶点身份标识进行编码,生成该顶点标识。

对于本申请实施例,在通过多节点并行模式生成顶点与顶点标识之间的映射关系时,通过在顶点身份标识中添加节点标号或者时间戳,以生成对应的顶点标识,能够避免多个顶点对应一个顶点标识的情况,从而可以保证生成的顶点标识的唯一性。

实施例三

本申请实施例的另一种可能的实现方式,在实施例一或实施例二的基础上还包括实施例三所示的操作,其中,

步骤s103包括步骤s1031(图中未标注),其中,

步骤s1031、基于顶点与顶点标识之间的映射关系,并通过多节点并行模式,将各个顶点数据以及各个边数据写入图形数据库。

其中,多节点并行模式为通过多台服务器进行数据并行写入的模式。

对于本申请实施例,通过多节点并行模式,将各个顶点数据以及各个边数据写入图形数据库即通过多个节点,并行将待写入图形数据库中的数据写入图形数据库中。在本申请实施例中,节点可以为服务器。

例如,通过节点1将一部分待写入图形数据库中的顶点数据以及边数据写入图形数据库,同时并行通过节点2将另一部分待写入图形数据库中的顶点数据以及边数据写入图形数据库。

对于本申请实施例,通过多节点并行模式,将各个顶点数据以及各个边数据写入图形数据库中,即通过多台服务器同时将待写入图形数据库中的各个顶点数据以及各个边数据写入图形数据库中,从而可以提高将数据写入图形数据库的效率,再者可以降低每台服务器的数据写入压力,进一步地实现将海量数据写入图像数据库。

实施例四

本申请实施例的另一种可能的实现方式,在实施例一至实施例三任一实施例所示的基础上,还包括实施例四所示的操作,其中,

基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库,包括:步骤s103包括步骤s1032(图中未标注)以及步骤s1033(图中未标注),其中,

步骤s1031、将各个顶点数据写入图形数据库。

其中,顶点数据中携带顶点标识。

步骤s1032、基于顶点与顶点标识之间的映射关系,将各个边数据写入图形数据库。

对于本申请实施例,边数据为两个顶点之间对应的边数据,用于表征该两个顶点之间的关联属性信息。

对于本申请实施例,由于预先获得边数据对应的顶点,但是写入图像数据库中的顶点数据中仅包含顶点标识以及相应的属性信息,因此,通过顶点与顶点标识之间的映射关系,确定任一边数据分别对应的顶点数据,从而可以将各个边数据写入图形数据库中。

例如,边数据b1为顶点a1与顶点a2对应的边数据,顶点a1对应的顶点标识为001、顶点a2对应的顶点标识为002,并且顶点数据中携带顶点标识,因此可以确定边数据b1对应的顶点数据,从而可以将边数据写入图像数据库中。

实施例五

本申请实施例提供的一种图形数据库写入的装置的结构示意图,如图2所示,在本申请实施例中,图形数据库写入的装置20可以包括:获取模块201、写入模块202,其中,

获取模块201,用于获取各个顶点数据以及各个边数据。

其中,顶点数据为该顶点的属性信息;边数据包括顶点与顶点之间的关系属性信息。

获取模块201,还用于获取顶点与顶点标识之间的映射关系。

其中,当通过多节点并行模式写入数据时,顶点标识是由顶点身份标识以及预设标识进行编码获得的;预设标识包括以下至少一项:节点编号;时间戳。

对于本申请实施例,在通过多节点并行模式生成顶点与顶点标识之间的映射关系时,通过在顶点身份标识中添加节点标号或者时间戳,以生成对应的顶点标识,能够避免多个顶点对应一个顶点标识的情况,从而可以保证生成的顶点标识的唯一性。

写入模块202,用于基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。

具体地,获取模块201,具体用于从外置顶点标识生成器中获取顶点与顶点标识之间的映射关系。

其中,顶点与顶点标识之间的映射关系是由外置顶点标识生成器预先生成的。

对于本申请实施例,通过预先在外置顶点标识生成器中生成顶点与顶点标识之间的映射关系,能够在写入图形数据库时从外置顶点标识生成器中获取预先生成的映射关系,避免在将各个顶点数据以及各个边数据写入图形数据库的过程中,在图形数据库中生成顶点与顶点标识之间的映射关系,从而可以减少图形数据库的计算压力,进而可以提高将数据写入图形数据库的效率。

具体地,写入模块202,具体用于基于顶点与顶点标识之间的映射关系,并通过多节点并行模式,将各个顶点数据以及各个边数据写入图形数据库。

其中,多节点并行模式为通过多台服务器进行数据并行写入的模式。

对于本申请实施例,通过多节点并行模式,将各个顶点数据以及各个边数据写入图形数据库中,即通过多台服务器同时将待写入图形数据库中的各个顶点数据以及各个边数据写入图形数据库中,从而可以提高将数据写入图形数据库的效率,再者可以降低每台服务器的数据写入压力,进一步地实现将海量数据写入图像数据库。

具体地,写入模块202,具体还用于将各个顶点数据写入图形数据库。

其中,顶点数据中携带顶点标识;

写入模块202,具体还用于基于顶点与顶点标识之间的映射关系,将各个边数据写入图形数据库。

本申请实施例提供了一种图形数据库写入的装置,与现有技术相比,本申请实施例获取各个顶点数据以及各个边数据,然后获取顶点与顶点标识之间的映射关系,并基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。即本申请实施例基于预先生成的顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中,从而可以实现将海量的数据写入图形数据库。

本实施例的图形数据库写入的装置可执行本申请实施例一至实施例四任一实施例提供的一种图形数据库写入的方法,其实现原理相类似,此处不再赘述。

实施例六

本申请实施例提供了一种电子设备,如图3所示,图3所示的电子设备3000包括:处理器3001和存储器3003。其中,处理器3001和存储器3003相连,如通过总线3002相连。可选地,电子设备3000还可以包括收发器3004。需要说明的是,实际应用中收发器3004不限于一个,该电子设备3000的结构并不构成对本申请实施例的限定。

其中,处理器3001应用于本申请实施例中,用于实现图2所示的获取模块以及写入模块的功能。收发器3004包括接收机和发射机。

处理器3001可以是cpu,通用处理器,dsp,asic,fpga或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器3001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,dsp和微处理器的组合等。

总线3002可包括一通路,在上述组件之间传送信息。总线3002可以是pci总线或eisa总线等。总线3002可以分为地址总线、数据总线、控制总线等。为便于表示,图3中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器3003可以是rom或可存储静态信息和指令的其他类型的静态存储设备,ram或者可存储信息和指令的其他类型的动态存储设备,也可以是eeprom、cd-rom或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器3003用于存储执行本申请方案的应用程序代码,并由处理器3001来控制执行。处理器3001用于执行存储器3003中存储的应用程序代码,以实现图2所示实施例提供的图形数据库写入的装置的动作。

本申请实施例提供了一种电子设备,与现有技术相比,本申请实施例获取各个顶点数据以及各个边数据,然后获取顶点与顶点标识之间的映射关系,并基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。即本申请实施例基于预先生成的顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中,从而可以实现将海量的数据写入图形数据库。

实施例七

本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现实施例一至实施例四任一项所示的图形数据库写入的方法。

本申请实施例提供了一种计算机可读存储介质,与现有技术相比,本申请实施例获取各个顶点数据以及各个边数据,然后获取顶点与顶点标识之间的映射关系,并基于顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中。即本申请实施例基于预先生成的顶点与顶点标识之间的映射关系,将各个顶点数据以及各个边数据写入图形数据库中,从而可以实现将海量的数据写入图形数据库。

本申请实施例提供了一种计算机可读存储介质适用于上述方法任一实施例。在此不再赘述。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1