CN117234805A - 图数据的还原方法、装置及存储介质 - Google Patents
图数据的还原方法、装置及存储介质 Download PDFInfo
- Publication number
- CN117234805A CN117234805A CN202311229094.5A CN202311229094A CN117234805A CN 117234805 A CN117234805 A CN 117234805A CN 202311229094 A CN202311229094 A CN 202311229094A CN 117234805 A CN117234805 A CN 117234805A
- Authority
- CN
- China
- Prior art keywords
- data
- target
- database
- index
- graph
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 40
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 10
- 230000009467 reduction Effects 0.000 abstract description 10
- 238000005516 engineering process Methods 0.000 abstract description 4
- 230000000694 effects Effects 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000011084 recovery Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种图数据的还原方法、装置及存储介质,其中,该方法包括:在接收到通过第一界面输入的数据还原指令的情况下,确定数据还原指令对应的目标图数据库;确定备份目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库;确定目标表数据库中存储的目标图数据库的目标表数据,以及确定目标索引数据库中存储的目标图数据库的目标索引数据;将目标表数据以及目标索引数据还原到目标图数据库中。通过本发明,解决了相关技术中存在的图数据还原效率低的问题,达到提高图数据还原效率的效果。
Description
技术领域
本发明实施例涉及通信领域,具体而言,涉及一种图数据的还原方法、装置及存储介质。
背景技术
JanusGraph作为一个分布式图数据库,其自身缺少数据备份还原的能力,需要用户自行实现。实际生产环境中,JanusGraph图数据库作为知识图谱数据的存储层,库中的数据由数据仓库实时写入,知识图谱服务在重新部署后往往需要将数据再重新写一遍,浪费较多的时间。
由此可知,相关技术中存在图数据还原效率低的问题。
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种图数据的还原方法、装置及存储介质,以至少解决相关技术中存在的图数据还原效率低的问题。
根据本发明的一个实施例,提供了一种图数据的还原方法,包括:在接收到通过第一界面输入的数据还原指令的情况下,确定所述数据还原指令对应的目标图数据库;确定备份所述目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库;确定所述目标表数据库中存储的所述目标图数据库的目标表数据,以及确定所述目标索引数据库中存储的所述目标图数据库的目标索引数据;将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
根据本发明的另一个实施例,提供了一种图数据的还原装置,包括:第一确定模块,用于在接收到通过第一界面输入的数据还原指令的情况下,确定所述数据还原指令对应的目标图数据库;第二确定模块,用于确定备份所述目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库;第三确定模块,用于确定所述目标表数据库中存储的所述目标图数据库的目标表数据,以及确定所述目标索引数据库中存储的所述目标图数据库的目标索引数据;还原模块,用于将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
根据本发明的又一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,在接收到通过第一界面输入的数据还原指令的情况下,确定数据还原指令对应的目标图数据库,确定备份目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库,确定目标表数据库中存储的目标图数据库的目标表数据,确定目标索引数据库中存储的目标图数据库的目标索引数据,将目标表数据以及目标索引数据还原到目标图数据库中。由于在进行图数据还原时,可以直接将目标表数据以及目标索引数据进行还原,即通过全量还原图数据,可有效减少不必要的数据重复导入操作。因此,可以解决相关技术中存在的图数据还原效率低的问题,达到提高图数据还原效率的效果。
附图说明
图1是本发明实施例的一种图数据的还原方法的移动终端的硬件结构框图;
图2是根据本发明实施例的图数据的还原方法的流程图;
图3是根据本发明示例性实施例的图数据还原流程示意图;
图4是根据本发明示例性实施例的图数据还原具体流程示意图;
图5是根据本发明示例性实施例的数据备份流程示意图;
图6是根据本发明示例性实施例的数据备份具体流程示意图;
图7是根据本发明实施例的图数据的还原装置的结构框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明的实施例。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本申请实施例中所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的一种图数据的还原方法的移动终端的硬件结构框图。如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,其中,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的图数据的还原方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种图数据的还原方法,图2是根据本发明实施例的图数据的还原方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,在接收到通过第一界面输入的数据还原指令的情况下,确定所述数据还原指令对应的目标图数据库;
步骤S204,确定备份所述目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库;
步骤S206,确定所述目标表数据库中存储的所述目标图数据库的目标表数据,以及确定所述目标索引数据库中存储的所述目标图数据库的目标索引数据;
步骤S208,将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
在上述实施例中,第一界面可以是图控制台的输入界面,图控制台可以包括图控制台前端和图控制台后端,图控制台前端即第一界面,图控制台后端可以为图控制台服务器。图控制台服务器中可以包括备份还原模块。图控制台的前端,即第一界面中可以提供备份还原模块的对外操作按钮。第一界面中可以显示多个图数据库,不同的图数据库可以对应不同的业务图,用户可以通过第一界面选择待还原的目标图数据库,用户可以通过点击第一界面中的图标、触摸第一界面中的图标等方式选择目标图数据库。用户在选择后,即输入数据还原指令后,图控制台服务器即可确定数据还原指令所对应的目标图数据库。
在上述实施例中,图数据库是一种用来存储和处理图的数据库,是一种NoSQL数据库(非关系型的数据库)。实体对应图中的点,实体之间的关系对应图中的边,其典型的应用场景有知识图谱、推荐系统等。其中,知识图谱为图中同时包含多种静态、动态节点以及动态、静态关系,其中静态节点包含各种档案数据,比如:人员档案信息,车辆档案信息,案件档案信息等;动态节点包含各种时空事件数据,比如:违章时间、出行轨迹等,这些数据会随着时间不断增加;静态关系包括亲属关系、人车关系等,比如:父子关系,同事关系,车主关系等;动态关系包括人事件关系、车事件关系等,比如:同行关系,违章关系等,这些数据也会随着时间不断增加。目标图数据库可以为JanusGraph数据库(图数据库),JanusGraph是一个图形数据库引擎,采用属性图进行建模。JanusGraph模块化的架构使其能够与多种存储后端和索引后端进行适配。存储后端指真实存储图数据库点边数据的数据库,如Cassandra(分布式数据库)、Hbase(分布式的、面向列的开源数据库)等;索引后端指利用其自身特性支持如模糊检索、地理坐标检索、全文检索等更多检索功能场景的系统,可选的索引后端系统有ElasticSearch(搜索服务器)、Solr(企业级搜索应用服务器)、Lucene(基于Java的全文检索引擎)等。
在上述实施例中,图控制台服务器可以确定备份目标图数据库的存储服务器中包括的目标表数据库和目标索引数据库。数据备份未将当前服务器上的数据拷贝下来,放在其他的存储设备或介质中。根据不同的策略,数据备份可分为全量备份、增量备份、差异备份等。数据还原为将处于存储设备或介质中的数据,还原到服务器上,为实际的生产应用提供服务。目标表数据库可以为Cassandra、Hbase等,目标索引数据库可以为ElasticSearch、Solr、Lucene等。HBase是一种NOSQL数据库,是一个分布式的、面向列的开源数据库,在hbase中表是行的集合,行是列簇的集合,列簇是列的集合,列是键值对的集合。ElasticSearch是一个分布式、可扩展、近实时的搜索与数据分析引擎,它在内部使用Lucene做索引与搜索,通过对Lucene的封装,隐藏了Lucene的复杂性,取而代之的是提供了一套简单且一致的RESTful API(互联网应用程序的API设计理论,REST(RepresentationalState Transfer,表征状态转移))。
在上述实施例中,当目标表数据库为Hbase,目标索引数据库为ElasticSearch时,JanusGraph图数据主要存储在HBase和ElasticSearch中,所以对数据的还原主要包括对Hbase表数据和ElasticSearch索引数据的还原。
在上述实施例中,图控制台服务器可以在目标表数据库中确定出目标图数据库的目标表数据,在目标索引数据库中确定出目标图数据库的目标索引数据。并将目标表数据以及目标索引数据还原到目标图数据库中。其中,将目标表数据以及目标索引数据还原到目标图数据库中可以是将目标表数据以及目标索引数据还原到目标图数据库所在的集群中。目标图数据库所在的集群和存储服务器所在的集群可以是不同类型的集群,在进行数据还原时,实现了跨集群的数据还原。
其中,上述步骤的执行主体可以为图控制台服务器等,但不限于此。
通过本发明,在接收到通过第一界面输入的数据还原指令的情况下,确定数据还原指令对应的目标图数据库,确定备份目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库,确定目标表数据库中存储的目标图数据库的目标表数据,确定目标索引数据库中存储的目标图数据库的目标索引数据,将目标表数据以及目标索引数据还原到目标图数据库中。由于在进行图数据还原时,可以直接将目标表数据以及目标索引数据进行还原,即通过全量还原图数据,可有效减少不必要的数据重复导入操作。因此,可以解决相关技术中存在的图数据还原效率低的问题,达到提高图数据还原效率的效果。
在一个示例性实施例中,将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中包括:在所述目标图数据库所在的第一集群的存储空间满足预定条件的情况下,确定所述第一集群中是否存在与所述目标表数据相同的数据,以及确定所述第一集群中是否存在与所述目标索引数据相同的数据;在均不存在的情况下,执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中;在存在相同的数据的情况下,删除所述第一集群中与所述目标表数据和/或所述目标索引数据相同的数据,并执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。在本实施例中,在还原JanusGraph图数据前需要确保第一集群(单节点/多节点)有足够的空间,能够存放下待还原的数据,同时由于全量备份的图数据中已包含业务图的schema(模式)信息,即原始数据信息,所以为避免schema冲突,目标集群不能存在待还原的业务图。若存在,则需删除第一集群中与目标表数据和/或目标索引数据相同的数据。即当第一集群中存在与目标表数据相同的数据时,则删除与目标表数据相同的数据,当第一集群中存在与目标索引数据相同的数据,则删除与目标索引数据相同的数据。在第一集群中不存在与目标表数据和目标索引数据相同的数据时,则执行还原脚本,依次还原图数据对应的目标表数据和目标索引数据。
在上述实施例中,当目标图数据库为JanusGraph数据库,目标表数据为hbase表数据、目标索引数据为es索引数据时,可以进入图控制台服务,执行restore(还原)脚本,一次还原图数据对应的hbase表数据与es(搜索服务器)索引数据,等待还原任务执行完成后,重启janusgraph服务,重新加载业务图信息,然后业务图即可对外提供服务。
在一个示例性实施例中,执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中包括:将所述目标表数据上传至所述第一集群的第一分布式文件系统数据库中;将所述目标索引数据上传至所述第一分布式文件系统数据库中;执行所述还原脚本,将所述第一分布式文件系统数据中包括的所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。在本实施例中,可以将目标表数据和目标索引数据上传至HDFS(分布式文件系统)数据库中。
在一个示例性实施例中,将所述目标索引数据上传至所述第一分布式文件系统数据库中包括:确定所述目标索引数据对应的第一存储库以及第一索引;通过第一插件在所述第一分布式文件系统数据库中创建所述第一存储库以及所述第一索引;将所述目标索引数据中包括的索引上传至所述第一索引中,将所述目标索引数据中包括的与所述第一索引对应的索引数据上传至所述第一存储库中。在本实施例中,第一插件可以是respository-hdfs插件(备份插件),repository-hdfs插件是elasticsearch的数据备份插件,将ElasticSearch索引数据备份到hdfs。在将目标索引数据上传至HDFS(分布式文件系统)数据库中时,可以依赖respository-hdfs插件为es索引数据创建repository(存储库,对应于第一存储库)和snapshot(索引,对应于第一索引),然后将对应的备份数据分别上传到hdfs上。
在上述实施例中,图数据还原流程示意图可参见附图3,如图3所示,该流程包括:
步骤S302,从源集群将备份数据传输到目标集群(单节点或多节点)。其中,目标集群对应于上述第一集群。
步骤S304,确保目标集群不存在待还原的业务图。
步骤S306,执行restore脚本,进行图数据还原。
步骤S308,Hbase表数据与elasticsearch索引数据先后还原成功。
步骤S310,重启janusGraph服务,重新加载识别还原的业务图后,图数据库则可正常对外提供服务。
图数据还原具体流程示意图可参见附图4,如图4所示,该流程包括:
步骤S402,进入图控制台服务监控模块。
步骤S404,判断Hdfs空间与es磁盘空间是否充足,在判断结果为是的情况下,执行步骤S406,在判断结果为否的情况下,执行步骤S408。
步骤S406,磁盘空间不足,数据无法还原。
步骤S408,确保目标集群不存在待还原的业务图,若存在则删除。
步骤S410,上传hbase表备份数据到Hdfs。
步骤S412,创建es数据备份的repository与snapshot(快照)。
步骤S414,上传es索引备份数据到hdfs。
步骤S416,执行restore脚本,依次还原hbase数据(对应于上述目标表数据)与es数据(对应于上述目标索引数据)。
步骤S418,重启janusgraph服务,重新加载业务图。
步骤S420,数据还原成功。
需要说明的是,在步骤S412之前,还存在步骤S422,依据es索引备份数据,获取对应的repository与snapshot名称。
在一个示例性实施例中,在确定所述数据还原指令对应的目标图数据库之前,所述方法还包括:接收通过第二界面输入的数据备份指令,其中,所述数据备份指令用于指示对所述目标图数据库中的所述目标表数据以及目标索引数据进行备份;确定所述数据备份指令对应的存储服务器;将所述目标表数据以及所述目标索引数据备份到所述存储服务器中。在本实施例中,第二界面可以是图控制台前端界面,也可以是其他数据备份界面。即目标表数据以及目标索引数据可以是通过图控制台前端界面备份的数据,也可以是通过其他界面备份的数据。即图控制台服务器既可以还原由图控制台服务器备份的数据,还可以还原由其他服务器备份的数据。
在上述实施例中,当第二界面为图控制台前端界面时,第二界面和第一界面可以是相同的界面。第二界面中可以提供备份还原模块的对外操作按钮。第二界面中可以显示多个图数据库,不同的图数据库对应不同的业务图,用户可以通过第二界面选择待备份的目标图数据库。用户可以通过点击第二界面中的图标、触摸第二界面中的图标等方式选择目标图数据库。用户在选择后,即输入数据备份指令后,图控制台服务器即可确定数据备份指令所对应的目标图数据库。
在上述实施例中,当目标图数据库为JanusGraph数据库时,JanusGraph图数据主要存储在HBase和ElasticSearch中,所以对数据的备份主要包括对hbase表数据,即目标表数据和ElasticSearch索引数据,即目标索引数据的备份。存储服务器可以为图控制台服务器,在进行数据备份时,可以将目标表数据以及目标索引数据备份至图控制台服务器的所在的集群中,也可以将数据备份至图控制台服务器的本地磁盘中。数据备份为全量物理备份,即将图数据文件保存到本地磁盘。图控制台服务封装了数据备份与还原模块,对外提供统一的服务。
在一个示例性实施例中,将所述目标表数据以及所述目标索引数据备份到所述存储服务器中包括:在所述存储服务器的本地磁盘的第一剩余存储空间大于所述目标表数据的大小的情况下,将所述目标表数据存储到所述本地磁盘的目标表数据库中;在所述存储服务器所在的第二集群的第二分布式文件系统数据库的第二剩余存储空间大于所述目标索引数据的第二大小的情况下,将所述目标索引数据存储到所述第二分布式文件系统数据库的目标索引数据库中;在所述本地磁盘存储了所述目标表数据,且所述本地磁盘的第三剩余存储空间大于所述第二大小的情况下,将所述第二分布式文件系统数据库中存储的所述目标索引数据存储至所述本地磁盘的目标索引数据库中。在本实施例中,在进行数据备份之前,可以先确定存储服务器的本地磁盘的第一剩余存储空间是否能够存储完整目标表数据。当能够存储完整的目标表数据的情况下,将目标表数据存储到本地磁盘中。对于目标索引数据,可以确定第二集群中的第二分布式文件系统数据库的第二剩余存储空间是否能够存储完整的目标索引数据,在能够存储完整的目标索引数据的情况下,将目标索引数据存储到第二分布式文件系统数据库中。其中,第二分布式文件系统数据库可以为hdfs。在本地磁盘存储了目标表数据的之后,其磁盘空间仍能存储完成的目标索引数据的情况下,可以将目标索引数据存储到本地磁盘中。
在上述实施例中,当目标表数据为Hbase数据,目标索引数据为es数据时,Hbase数据备份任务会将业务表的文件完整的拷贝到图控制台服务上,将es磁盘上的索引数据上传到hdfs上。若本地磁盘空间充足,则会将es索引数据也拷贝到图控制台服务上。
在一个示例性实施例中,将所述目标索引数据存储到所述第二分布式文件系统数据库的目标索引数据库中包括:在第二插件存在访问所述第二分布式文件系统数据库的权限情况下,通过所述第二插件在所述第二分布式文件系统数据库中创建第二存储库以及第二索引;将所述目标索引数据中包括的索引上传至所述第二索引中,将所述目标索引数据中包括的与所述第二索引对应的索引数据上传至所述第二存储库中。在本实施例中,当目标索引数据为es索引数据时,第二插件可以为respository-hdfs。可以依赖respository-hdfs插件为es索引数据创建repository,即第二存储库和snapshot,即第二索引,然后将对应的备份数据分别上传到hdfs上。
在一个示例性实施例中,在通过第二插件在所述第二分布式文件系统数据库中创建第二存储库以及第二索引之前,所述方法还包括:确定所述存储服务器的模式信息;在所述模式信息指示所述存储服务器处于安全模式的情况下,为所述第二插件设置身份验证信息;控制所述第二分布式文件系统数据库验证所述身份验证信息,在验证通过的情况下,确定所述第二插件存在访问所述第二分布式文件系统数据库的权限。在本实施例中,数据备份任务开始前可以先校验相应的磁盘空间,若空间充足,则会继续判断当前服务是否为安全模式,若是则会为hbase与es数据备份插件repository-hdfs的客户端,设置authentication信息(验证信息),用于执行备份操作。
在前述实施例中,对图数据库业务图对应的HBase库表数据和ElasticSearch的索引数据进行备份,在图控制台上的数据备份还原模块对外提供简单的操作按钮,图库用户只需要选择想要备份的业务图,即可实现数据的备份功能,整个数据备份的进度、耗时、备份结果、操作时间等信息均可在图控制台上看到。数据还原操作首先将备份的数据传输到目标集群的图控制台服务器的指定路径下,然后执行数据restore脚本即可实现数据的还原,脚本执行完成后可进入hbase运维页面与ElasticSearch索引页面查看还原数据的状态。Hbase表的region(HBase数据存储和管理的基本单位)均为online状态(在线状态),ElasticSearch索引均为green状态(绿色状态),则表明数据还原成功。
其中,数据备份流程示意图可参见附图5,如图5所示,该流程包括:
步骤S502,进入图控制台数据备份与还原模块。
步骤S504,选择目标业务图。
步骤S506,点击备份按钮,触发数据备份任务。
步骤S508,数据备份完成。
JanusGraph图数据主要存储在HBase和ElasticSearch中,所以对数据的备份主要包括对hbase表数据和ElasticSearch索引数据的备份。其中,数据备份为全量物理备份,即将图数据文件保存到本地磁盘。图控制台服务封装了数据备份与还原模块,对外提供统一的服务。JanusGraph图数据备份任务主要包括两个子任务,分别对应hbase数据备份任务和es数据备份任务。数据备份任务开始前回先校验相应的磁盘空间,若空间充足,则会继续判断当前服务是否为安全模式,若是则会为hbase与es数据备份插件repository-hdfs的客户端,设置authentication信息,用于执行备份操作。Hbase数据备份任务会将业务表的文件完整的拷贝到控制台服务上,es数据备份任务会借助repository-hdfs插件创建repository和snapshot,创建成功后会异步的将es磁盘上的索引数据上传到hdfs上。若本地磁盘空间充足,则会将es索引数据也拷贝到控制台服务上。其中,数据备份具体流程示意图可参见附图6,如图6所示,该流程包括:
步骤S602,进入图控制台数据备份与管理模块。
步骤S604,选择业务图,触发数据备份任务。
步骤S606,判断本地磁盘空间能否存放下hbase库表数据,在判断结果为是的情况下,执行步骤S608,在判断结果为否的情况下,执行步骤S610。
步骤S608,判断hdfs空余空间是否存放下es索引数据,在判断结果为是的情况下,执行步骤S612,在判断结果为否的情况下,执行步骤S610。
步骤S610,数据备份任务终止。
步骤S612,服务若开启kerberos(网络认证协议),则为hbase与es客户端设置相应的authentication信息。
步骤S614,数据备份任务开启。
步骤S616,Hbase数据备份。
步骤S618,拷贝Hbase表数据到本地磁盘。
步骤S620,es索引数据备份。
步骤S622,通过repository-hdfs将es索引数据备份到集群。
步骤S624,判断本地磁盘空间能够放下es索引数据,在判断结果为是的情况下,执行步骤S626,在判断结果为否的情况下,执行步骤S628。
步骤S626,拷贝es索引数据到本地磁盘。
步骤S628,数据备份任务完成。
在前述实施例中,基于JanusGraph图数据的数据存储层,包括HBase数据和ElasticSearch索引数据,通过图控制台的数据备份还原模块,对不同业务图对应的HBase表与ElasticSearch索引数据进行备份和还原,从而实现图数据的备份还原。数据还原操作,支持跨集群模式的数据还原操作。本提案对于完善JanusGraph图数据库的能力,降低图库服务部署验证的使用成本,从而更好的服务于知识图谱业务具有重要意义。
在前述实施例中,为避免数据重新在线写入,减少不必要的时间损耗,同时为完善图库的能力,提出了一种JanusGraph图数据备份还原的方法,通过在源集群备份图数据到本地,再传输到目标集群还原后即可直接使用,可有效提升服务部署验证的效率,提升数据入库的效率。对备份还原的数据格式没有特定的约束,通过对hbase表数据与es索引数据的备份还原,实现JanusGraph图数据的全量备份,同时提供了数据还原restore脚本,可减少不必要的数据重复导入的操作,有效提升图库服务的开发与验证效率。完善JanusGraph图数据库的基本能力,对其他图数据库的备份还原操作具有一定的参考意义。在数据还原过程中只需要判断磁盘空间是否充足,没有数据类型等其它检查动作,同时支持跨集群、跨模式的数据还原,具有较大的灵活性。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
在本实施例中还提供了一种图数据的还原装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图7是根据本发明实施例的图数据的还原装置的结构框图,如图7所示,该装置包括:
第一确定模块72,用于在接收到通过第一界面输入的数据还原指令的情况下,确定所述数据还原指令对应的目标图数据库;
第二确定模块74,用于确定备份所述目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库;
第三确定模块76,用于确定所述目标表数据库中存储的所述目标图数据库的目标表数据,以及确定所述目标索引数据库中存储的所述目标图数据库的目标索引数据;
还原模块78,用于将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
在一个示例性实施例中,还原模块78可以通过如下方式实现将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中:在所述目标图数据库所在的第一集群的存储空间满足预定条件的情况下,确定所述第一集群中是否存在与所述目标表数据相同的数据,以及确定所述第一集群中是否存在与所述目标索引数据相同的数据;在均不存在的情况下,执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中;在存在相同的数据的情况下,删除所述第一集群中与所述目标表数据和/或所述目标索引数据相同的数据,并执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
在一个示例性实施例中,还原模块78可以通过如下方式实现执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中:将所述目标表数据上传至所述第一集群的第一分布式文件系统数据库中;将所述目标索引数据上传至所述第一分布式文件系统数据库中;执行所述还原脚本,将所述第一分布式文件系统数据中包括的所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
在一个示例性实施例中,还原模块78可以通过如下方式实现将所述目标索引数据上传至所述第一分布式文件系统数据库中:确定所述目标索引数据对应的第一存储库以及第一索引;通过第一插件在所述第一分布式文件系统数据库中创建所述第一存储库以及所述第一索引;将所述目标索引数据中包括的索引上传至所述第一索引中,将所述目标索引数据中包括的与所述第一索引对应的索引数据上传至所述第一存储库中。
在一个示例性实施例中,所述装置可以用于在确定所述数据还原指令对应的目标图数据库之前:接收通过第二界面输入的数据备份指令,其中,所述数据备份指令用于指示对所述目标图数据库中的所述目标表数据以及目标索引数据进行备份;确定所述数据备份指令对应的存储服务器;将所述目标表数据以及所述目标索引数据备份到所述存储服务器中。
在一个示例性实施例中,所述装置可以通过如下方式实现将所述目标表数据以及所述目标索引数据备份到所述存储服务器中:在所述存储服务器的本地磁盘的第一剩余存储空间大于所述目标表数据的大小的情况下,将所述目标表数据存储到所述本地磁盘的目标表数据库中;在所述存储服务器所在的第二集群的第二分布式文件系统数据库的第二剩余存储空间大于所述目标索引数据的第二大小的情况下,将所述目标索引数据存储到所述第二分布式文件系统数据库的目标索引数据库中;在所述本地磁盘存储了所述目标表数据,且所述本地磁盘的第三剩余存储空间大于所述第二大小的情况下,将所述第二分布式文件系统数据库中存储的所述目标索引数据存储至所述本地磁盘的目标索引数据库中。
在一个示例性实施例中,所述装置可以通过如下方式实现将所述目标索引数据存储到所述第二分布式文件系统数据库的目标索引数据库中:在第二插件存在访问所述第二分布式文件系统数据库的权限情况下,通过所述第二插件在所述第二分布式文件系统数据库中创建第二存储库以及第二索引;将所述目标索引数据中包括的索引上传至所述第二索引中,将所述目标索引数据中包括的与所述第二索引对应的索引数据上传至所述第二存储库中。
在一个示例性实施例中,所述装置还可以用于在通过第二插件在所述第二分布式文件系统数据库中创建第二存储库以及第二索引之前:确定所述存储服务器的模式信息;在所述模式信息指示所述存储服务器处于安全模式的情况下,为所述第二插件设置身份验证信息;控制所述第二分布式文件系统数据库验证所述身份验证信息,在验证通过的情况下,确定所述第二插件存在访问所述第二分布式文件系统数据库的权限。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
本发明的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
本实施例中的具体示例可以参考上述实施例及示例性实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种图数据的还原方法,其特征在于,包括:
在接收到通过第一界面输入的数据还原指令的情况下,确定所述数据还原指令对应的目标图数据库;
确定备份所述目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库;
确定所述目标表数据库中存储的所述目标图数据库的目标表数据,以及确定所述目标索引数据库中存储的所述目标图数据库的目标索引数据;
将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
2.根据权利要求1所述的方法,其特征在于,将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中包括:
在所述目标图数据库所在的第一集群的存储空间满足预定条件的情况下,确定所述第一集群中是否存在与所述目标表数据相同的数据,以及确定所述第一集群中是否存在与所述目标索引数据相同的数据;
在均不存在的情况下,执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中;
在存在相同的数据的情况下,删除所述第一集群中与所述目标表数据和/或所述目标索引数据相同的数据,并执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
3.根据权利要求2所述的方法,其特征在于,执行还原脚本,以将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中包括:
将所述目标表数据上传至所述第一集群的第一分布式文件系统数据库中;
将所述目标索引数据上传至所述第一分布式文件系统数据库中;
执行所述还原脚本,将所述第一分布式文件系统数据中包括的所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
4.根据权利要求3所述的方法,其特征在于,将所述目标索引数据上传至所述第一分布式文件系统数据库中包括:
确定所述目标索引数据对应的第一存储库以及第一索引;
通过第一插件在所述第一分布式文件系统数据库中创建所述第一存储库以及所述第一索引;
将所述目标索引数据中包括的索引上传至所述第一索引中,将所述目标索引数据中包括的与所述第一索引对应的索引数据上传至所述第一存储库中。
5.根据权利要求1所述的方法,其特征在于,在确定所述数据还原指令对应的目标图数据库之前,所述方法还包括:
接收通过第二界面输入的数据备份指令,其中,所述数据备份指令用于指示对所述目标图数据库中的所述目标表数据以及目标索引数据进行备份;
确定所述数据备份指令对应的存储服务器;
将所述目标表数据以及所述目标索引数据备份到所述存储服务器中。
6.根据权利要求5所述的方法,其特征在于,将所述目标表数据以及所述目标索引数据备份到所述存储服务器中包括:
在所述存储服务器的本地磁盘的第一剩余存储空间大于所述目标表数据的大小的情况下,将所述目标表数据存储到所述本地磁盘的目标表数据库中;
在所述存储服务器所在的第二集群的第二分布式文件系统数据库的第二剩余存储空间大于所述目标索引数据的第二大小的情况下,将所述目标索引数据存储到所述第二分布式文件系统数据库的目标索引数据库中;
在所述本地磁盘存储了所述目标表数据,且所述本地磁盘的第三剩余存储空间大于所述第二大小的情况下,将所述第二分布式文件系统数据库中存储的所述目标索引数据存储至所述本地磁盘的目标索引数据库中。
7.根据权利要求6所述的方法,其特征在于,将所述目标索引数据存储到所述第二分布式文件系统数据库的目标索引数据库中包括:
在第二插件存在访问所述第二分布式文件系统数据库的权限情况下,通过所述第二插件在所述第二分布式文件系统数据库中创建第二存储库以及第二索引;
将所述目标索引数据中包括的索引上传至所述第二索引中,将所述目标索引数据中包括的与所述第二索引对应的索引数据上传至所述第二存储库中。
8.根据权利要求7所述的方法,其特征在于,在通过第二插件在所述第二分布式文件系统数据库中创建第二存储库以及第二索引之前,所述方法还包括:
确定所述存储服务器的模式信息;
在所述模式信息指示所述存储服务器处于安全模式的情况下,为所述第二插件设置身份验证信息;
控制所述第二分布式文件系统数据库验证所述身份验证信息,在验证通过的情况下,确定所述第二插件存在访问所述第二分布式文件系统数据库的权限。
9.一种图数据的还原装置,其特征在于,包括:
第一确定模块,用于在接收到通过第一界面输入的数据还原指令的情况下,确定所述数据还原指令对应的目标图数据库;
第二确定模块,用于确定备份所述目标图数据库的存储服务器中包括的目标表数据库以及目标索引数据库;
第三确定模块,用于确定所述目标表数据库中存储的所述目标图数据库的目标表数据,以及确定所述目标索引数据库中存储的所述目标图数据库的目标索引数据;
还原模块,用于将所述目标表数据以及所述目标索引数据还原到所述目标图数据库中。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至8任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311229094.5A CN117234805A (zh) | 2023-09-21 | 2023-09-21 | 图数据的还原方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311229094.5A CN117234805A (zh) | 2023-09-21 | 2023-09-21 | 图数据的还原方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117234805A true CN117234805A (zh) | 2023-12-15 |
Family
ID=89096399
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311229094.5A Pending CN117234805A (zh) | 2023-09-21 | 2023-09-21 | 图数据的还原方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117234805A (zh) |
-
2023
- 2023-09-21 CN CN202311229094.5A patent/CN117234805A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11829252B2 (en) | Deduplicated data distribution techniques | |
JP6553822B2 (ja) | 分散システムにおける範囲の分割および移動 | |
CN101061467B (zh) | 远程存储数据副本 | |
US10291704B2 (en) | Networked solutions integration using a cloud business object broker | |
JP6219305B2 (ja) | アプリケーションデータを復元するためのシステム及び方法 | |
US9779153B2 (en) | Data transfer between storage systems using data fingerprints | |
US8276022B2 (en) | Efficient failure detection for long running data transfer jobs | |
CN103180842A (zh) | 云计算系统和用于该云计算系统的数据同步方法 | |
US11036590B2 (en) | Reducing granularity of backup data over time | |
CN107733662B (zh) | 群组恢复方法和装置 | |
US10515228B2 (en) | Commit and rollback of data streams provided by partially trusted entities | |
CN105900093A (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN112654978A (zh) | 分布式异构存储系统中数据一致性实时检查的方法、设备和系统 | |
US10503718B2 (en) | Parallel transfers of electronic data | |
CN109697140B (zh) | 数据备份方法及装置、数据恢复方法及装置、存储介质 | |
US9037821B1 (en) | Systems and methods for replicating snapshots across backup domains | |
US10127270B1 (en) | Transaction processing using a key-value store | |
WO2021257263A1 (en) | Techniques for generating a consistent view of an eventually consistent database | |
CN117234805A (zh) | 图数据的还原方法、装置及存储介质 | |
US20230385164A1 (en) | Systems and Methods for Disaster Recovery for Edge Devices | |
CN116401222A (zh) | 文件同步方法、装置、系统、设备和存储介质 | |
CN115185946A (zh) | 多租户系统、多租户管理方法、计算机设备和存储介质 | |
CN109766220A (zh) | 应用系统的备份恢复方法、装置及计算机可读存储介质 | |
CN115344428A (zh) | 数据处理方法、装置、计算机设备、存储介质和程序产品 | |
CN108268662B (zh) | 基于h5页面的社交图谱生成方法、电子装置及存储介质 |
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 |