一种图数据存储方法、装置、设备及存储介质制造方法及图纸

技术编号:24010801 阅读:25 留言:0更新日期:2020-05-02 01:40
本发明专利技术公开了一种图数据存储方法、装置、设备及存储介质。该方法包括:接收对图数据库的数据操作指令;根据所述数据操作指令将待存储图数据写入客户端缓存;将所述客户端缓存的待存储图数据异步存储至HBase服务端。通过上述技术方案,提高了图数据的写入速度和存储效率。

A method, device, device and storage medium of graph data storage

【技术实现步骤摘要】
一种图数据存储方法、装置、设备及存储介质
本专利技术实施例涉及大数据
,尤其涉及一种图数据存储方法、装置、设备及存储介质。
技术介绍
图是一种数据结构,其中的节点(或称为顶点)具有零个或至少一个相邻元素,两个节点之间的连接称为边,用于表示相应两个节点之间的关系,图数据库的数据模型主要以顶点和边来体现,可支持大量用户并发执行复杂的实时图遍历和分析查询等。图数据库支持很多的数据库作为数据的存储介质,其中HBase是一个高可靠性、高性能、面向列、可伸缩的分布式数据库,对大数据提供随机、实时的读写访问功能。目前,图数据库通过插件机制支持后端存储,插件是一种遵循一定规范的应用程序接口编写的程序,只能在程序规定的系统平台下运行,不能脱离程序规定的系统平台单独运行,插件可以加载到应用程序上实现数据的动态更新。对于图数据库后端存储至HBase服务端的情况,由于默认提供的HBase存储插件通过同步接口将图数据写入HBase服务端,在大容量在线系统频繁执行操作时写入速度很慢、效率低下,导致用户无法及时检索到最新图数据,也不能充分发挥HBase超大规模数据集快速读写能力,满足不了大规模图数据快速批量写入需求。
技术实现思路
本专利技术提供了一种图数据存储方法、装置、设备及存储介质,以提高图数据的写入速度和存储效率。第一方面,本专利技术实施例提供了一种图数据存储方法,包括:接收对图数据库的数据操作指令;根据所述数据操作指令将待存储图数据写入客户端缓存;将所述客户端缓存的待存储图数据异步存储至HBase服务端。进一步的,还包括:配置所述图数据库的存储参数信息,所述存储参数信息包括后端存储类型、HBase连接信息、HBase表信息以及扩展参数;所述后端存储类型包括HBase异步写入插件的JAVA实现类;所述HBase连接信息包括所述HBase服务端的服务地址和端口号;所述HBase表信息包括用于存储所述待存储图数据的HBase表名称;所述扩展参数包括客户端缓存容量和写入数据的最大重试次数。进一步的,在接收对图数据库的数据操作指令之前,还包括:创建图工厂类;通过所述图工厂类加载并解析所述存储参数信息,获取对应的图实例;根据所述图实例创建HBase异步写入插件,其中,所述HBase异步写入插件用于解析所述存储参数信息并分配客户端缓存,还用于连接HBase服务端并通过至少一个写入线程将客户端缓存的待存储图数据异步存储至HBase服务端。进一步的,还包括:接收图数据库的关闭请求或事务提交请求;在接收图数据库的关闭请求或事务提交请求之后,通过后台监控线程检测到所述客户端缓存中还存在待存储图数据时,将所述待存储图数据存储至所述HBase服务端。进一步的,还包括:通过异常处理监听器收集存储失败的数据,所述存储失败的数据包括所述客户端缓存中在最大重试次数之内未写入HBase客户端的待存储图数据。进一步的,所述根据所述数据操作指令将待存储图数据写入客户端缓存,包括:根据所述数据操作指令将所述待存储图数据转换为HBase表支持的数据格式,所述数据格式包括添加格式和删除格式;将转换后的待存储图数据写入客户端缓存。进一步的,所述将所述客户端缓存的待存储图数据异步存储至HBase服务端,包括:按照设定周期定期将所述客户端缓存的待存储图数据异步写入HBase服务端;或者,在检测到客户端缓存的待存储图数据达到客户端缓存容量时,将所述客户端缓存的待存储图数据异步写入HBase服务端。第二方面,本专利技术实施例提供了一种图数据存储装置,包括:指令接收模块,用于接收对图数据库的数据操作指令;缓存模块,用于根据所述数据操作指令将待存储图数据写入客户端缓存;存储模块,用于将所述客户端缓存的待存储图数据异步存储至HBase服务端。第三方面,本专利技术实施例提供了一种设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的图数据存储方法。第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所述的图数据存储方法。本专利技术实施例提供了一种图数据存储方法、装置、设备及存储介质。该方法包括:接收对图数据库的数据操作指令;根据所述数据操作指令将待存储图数据写入客户端缓存;将所述客户端缓存的待存储图数据异步存储至HBase服务端。通过上述技术方案,提高了图数据的写入速度和存储效率。附图说明图1为本专利技术实施例一提供的一种图数据存储方法的流程图;图2为本专利技术实施例二提供的一种图数据存储方法的流程图;图3为本专利技术实施例三提供的一种图数据存储装置的结构示意图;图4为本专利技术实施例四提供的一种设备的硬件结构示意图;图5为本专利技术实施例四提供的一种图数据存储系统的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种图数据存储方法的流程图,本实施例可适用于将图数据库中的待存储图数据存储至Hbase客户端的情况。具体的,该图数据存储方法可以由图数据存储装置执行,该图数据存储装置可以通过软件和/或硬件的方式实现,并集成在设备中。进一步的,设备是指图数据库的客户端。如图1所示,该方法具体包括如下步骤:S110、接收对图数据库的数据操作指令。具体的,数据操作指令包括对图数据库中的数据进行增删改等指令。图数据库例如可以为JanusGraph,JanusGraph是一个开源的分布式图数据库,通过多机集群可支持存储和查询数百亿顶点和边的图数据,它是一个事务数据库,支持大量用户高并发地执行复杂的实时图遍历和分析查询。S120、根据所述数据操作指令将待存储图数据写入客户端缓存。具体的,客户端缓存是从图数据库客户端本地的物理内存划分出的空间,用于缓冲从客户端写到服务器的待存储图数据。利用客户端缓存,待存储图数据不再直接写入服务端硬盘,而是先写入本地缓存,在满足一定条件的情况下再回写至服务端,从而降低服务端对数据的读写压力和网络负载。S130、将所述客户端缓存的待存储图数据异步存储至HBase服务端。具体的,图数据库采用插件机制支持各类后端存储系统,例如,图数据库利用默认提供的HBase存储插件通过同步接口将数据写入Hbase服务端,这种情况下的存储效率低,无法满足大规模图数据快速批量写入需求。本实施例通过将待存储的图数据写入客户端本地缓存,然后通过后台异步写入线程将缓存本文档来自技高网...

【技术保护点】
1.一种图数据存储方法,其特征在于,包括:/n接收对图数据库的数据操作指令;/n根据所述数据操作指令将待存储图数据写入客户端缓存;/n将所述客户端缓存的待存储图数据异步存储至HBase服务端。/n

【技术特征摘要】
1.一种图数据存储方法,其特征在于,包括:
接收对图数据库的数据操作指令;
根据所述数据操作指令将待存储图数据写入客户端缓存;
将所述客户端缓存的待存储图数据异步存储至HBase服务端。


2.根据权利要求1所述的方法,其特征在于,还包括:
配置所述图数据库的存储参数信息,所述存储参数信息包括后端存储类型、HBase连接信息、HBase表信息以及扩展参数;
所述后端存储类型包括HBase异步写入插件的JAVA实现类;
所述HBase连接信息包括所述HBase服务端的服务地址和端口号;
所述HBase表信息包括用于存储所述待存储图数据的HBase表名称;
所述扩展参数包括客户端缓存容量和写入数据的最大重试次数。


3.根据权利要求2所述的方法,其特征在于,在接收对图数据库的数据操作指令之前,还包括:
创建图工厂类;
通过所述图工厂类加载并解析所述存储参数信息,获取对应的图实例;
根据所述图实例创建HBase异步写入插件,其中,所述HBase异步写入插件用于解析所述存储参数信息并分配客户端缓存,还用于连接HBase服务端并通过至少一个写入线程将客户端缓存的待存储图数据异步存储至HBase服务端。


4.根据权利要求1所述的方法,其特征在于,还包括:
接收图数据库的关闭请求或事务提交请求;
在接收图数据库的关闭请求或事务提交请求之后,通过后台监控线程检测到所述客户端缓存中还存在待存储图数据时,将所述待存储图数据存储至所述HBase服务端。


5.根据权利要求1所述的方法,其特征在于,还包括:<...

【专利技术属性】
技术研发人员:李艳红冯宇波张俊杰马涛毛勇岗
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京;11

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

1