CN112231399A - 一种应用于图数据库的方法和装置 - Google Patents

一种应用于图数据库的方法和装置 Download PDF

Info

Publication number
CN112231399A
CN112231399A CN202011025835.4A CN202011025835A CN112231399A CN 112231399 A CN112231399 A CN 112231399A CN 202011025835 A CN202011025835 A CN 202011025835A CN 112231399 A CN112231399 A CN 112231399A
Authority
CN
China
Prior art keywords
data
graph database
node
service
cluster
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
Application number
CN202011025835.4A
Other languages
English (en)
Inventor
蔡淑莲
吕文栋
洪毅清
钟文杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Construction Bank Corp
Original Assignee
China Construction Bank Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Construction Bank Corp filed Critical China Construction Bank Corp
Priority to CN202011025835.4A priority Critical patent/CN112231399A/zh
Publication of CN112231399A publication Critical patent/CN112231399A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

本发明公开了一种应用于图数据库的方法和装置,涉及计算机技术领域。该方法包括:接收来自用户的服务请求;基于用户的服务请求,调取图数据库中的数据;以及将调取的数据发送给用户,其中数据被分布式存储在图数据库中。当同一份数据配置多个副本时,配置跨集群模式以支持同城双集群和异地集群。在用户请求发送到集群中的节点之前,自动检测集群中的每个节点的服务是否正常,如果检测到一个或多个节点的服务出现故障,则与用户请求相关的任务不发送至出现故障的节点。本发明具备同城和异地容灾功能,能够将集群中发生故障的节点自动隔离,提升了维护图数据库集群的效率,降低了图数据库集群的管理成本。

Description

一种应用于图数据库的方法和装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用于图数据库的方法和装置。
背景技术
当前,数据量以指数爆炸增长,数据分析越来越复杂,模式更改越来越频繁,同时还要满足实时查询响应时间和更加智能的数据推送要求。关系型数据库存在一定的局限性,使得在当前情况下,关系型数据库用于存储“关系型”数据的效果不佳,查询复杂且缓慢。
图数据库是一种非关系型数据库,通过以图格式汇集数据。图数据库能够克服关系型数据库无法实现的巨大而复杂的数据挑战。为了应对快速增长的数据、复杂的数据分析、频繁的数据处理、实时高效查询、智能数据推送以及系统平稳运行等,对于图数据管理提出了更高的要求。
图数据库应用图形理论存储实体之间的关系信息,在基于图的数据结构中,由节点和边组成。例如,在知识图谱中,每个节点表示现实世界中存在的“实体”,每条边为实体与实体之间的“关系”。在现有技术中,Neo4j图形数据库结合服务高可用方案keepalived做浮动网际互连协议(IP)切换,提供Neo4j图形数据库的状态检测配置方法,采用Paxos机制防止主备选举发生脑裂情况。Paxos是基于消息传递且具有高度容错特性的一致性算法,是一种分布式一致性算法。网络文件系统(NFS)做共享存储,保证两个节点数据一致性。采用Paxos机制无法做到负载均衡,无法按照权重选择主节点。使用NFS共享存储,对于磁盘的读写性能要求高,并且数据全部存储在NFS上。如果硬件存在问题,数据将面临丢失的风险,而且还需要重新导入新数据,这将耗费大量的时间。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:
第一,高效可用的图数据库需要具备同城和异地容灾功能,然而现有技术无法实现同城双集群或异地集群的备份;
第二,当集群中的某个节点发生故障时,需要具备自动隔离技术。将有故障的数据节点自动隔离,以保证集群的稳定运行;
第三,当集群的主节点发生问题时,无法自动实现集群的主节点与备用节点之间的切换,对用户而言无法实现无感切换。
第四,数据采用分布式存储能够在一定程度上提高数据的查询效率,然而目前大部分图数据库数据无法实现分布式存储。由于系统硬件或服务问题导致数据丢失,往往需要先停止业务,然后再重新导入数据,重新导入数据需要耗费大量的时间。
发明内容
有鉴于此,本发明实施例提供一种应用于图数据库的方法和装置,能够保证业务稳定运行。本发明的图数据库集群表示在一个服务器集群中,可以通过副本的方式来确保业务的不间断运行,以防止因为集群中的一台或多台服务器宕机或某些组件损坏而导致服务不可用。本发明的图数据库配置需要在所有组件工作正常时提供负载均衡功能,在某些组件损坏时提供实时切换功能。此外,用户能够定义高可用(High Availability,HA)的副本形式(即,对于同一份数据保存两份或多份完整的副本)并将副本保存在不同的计算机节点上。高可用HA表示一整套基于高级别可用性(例如高吞吐或高在线时间)而设计的计算机系统,通常情况下其可用性级别远高于单机系统。
为实现上述目的,根据本发明实施例的一个方面,提供了一种应用于图数据库的方法,其特征在于,包括:接收来自用户的服务请求;基于用户的服务请求,调取图数据库中的数据;以及将调取的数据发送给用户,其中数据被分布式存储在图数据库中。
可选地,所述应用于图数据库的方法,其特征在于,一份数据被存储在不同数据节点的不同分区。
可选地,所述应用于图数据库的方法,其特征在于,所述数据被分布式存储在所述图数据库中包括:将一份数据存储在不同数据节点的不同分区。
可选地,所述应用于图数据库的方法,其特征在于,对于所述同一份数据,配置多个副本并且对所述数据实时更新。
可选地,所述应用于图数据库集群的方法,其特征在于,配置备份时间和队列大小。
可选地,所述应用于图数据库集群的方法,其特征在于,在对数据实时更新之前,配置多版本数据段和多服务备份,并且成功更新之前,新数据段不会取代旧数据段。
可选地,所述应用于图数据库集群的方法,其特征在于,所述数据段中的每个数据段被保持在队列,并且如果发生故障,则将回滚到最后一次正确的数据段。
可选地,所述应用于图数据库集群的方法,其特征在于,当所述同一份数据配置多个副本时,配置跨集群模式以支持同城双集群和异地集群。
可选地,所述应用于图数据库集群的方法,其特征在于,配置所述图数据库的主节点和备用节点,其中当所述主节点不可用时,切换到备用节点。
可选地,所述应用于图数据库集群的方法,其特征在于,在所述用户请求发送到集群中的节点之前,自动检测集群中的每个节点的服务是否正常,如果检测到一个或多个节点的服务出现故障,则与所述用户请求相关的任务不发送至出现故障的节点。
为实现上述目的,根据本发明实施例的第二方面,提供了一种应用于图数据库集群的装置,其特征在于,包括:图数据库数据模块,所述图数据库数据模块包括用于存储数据的分布式存储数据模块和支持数据容灾的数据容灾模块;图数据库服务模块,所述图数据库服务模块包括用于选举主节点和备用节点的选举模块和用于将故障节点隔离的自动隔离模块;以及控制器,所述控制器可耦合地连接所述图数据库数据模块和所述图数据库服务模块,其中,所述控制器被配置成:接收来自用户的服务请求;基于用户的服务请求,调取图数据库中的数据;以及将调取的数据发送给用户;以及其中,所述数据被分布式存储在所述图数据库中。
可选地,所述应用于图数据库集群的装置,其特征在于,所述数据被分布式存储在所述图数据库中包括:将一份数据存储在不同数据节点的不同分区。
可选地,所述应用于图数据库集群的装置,其特征在于,对于所述同一份数据,配置多个副本并且对所述数据实时更新。
可选地,所述应用于图数据库集群的装置,其特征在于,配置备份时间和队列大小。
可选地,所述应用于图数据库集群的装置,其特征在于,在对数据实时更新之前,配置多版本数据段和多服务备份,并且成功更新之前,新数据段不会取代旧数据段。
可选地,所述应用于图数据库集群的装置,其特征在于,所述数据段中的每个数据段被保持在队列,并且如果发生故障,则将回滚到最后一次正确的数据段。
可选地,所述应用于图数据库集群的装置,其特征在于,当所述同一份数据配置多个副本时,配置跨集群模式以支持同城双集群和异地集群。
可选地,所述应用于图数据库集群的装置,其特征在于,所述处理器进一步配置所述图数据库的主节点和备用节点,其中当所述主节点不可用时,切换到备用节点。
可选地,所述应用于图数据库集群的装置,其特征在于,在所述用户请求发送到集群中的节点之前,自动检测集群中的每个节点的服务是否正常,如果检测到一个或多个节点的服务出现故障,则与所述用户请求相关的任务不发送至出现故障的节点。
为实现上述目的,根据本发明实施例的第三方面,提供了一种应用于图数据库的电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述可选地,所述应用于图数据库的方法中任一所述的方法。
为实现上述目的,根据本发明实施例的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如上述视应用于图数据库的方法中任一所述的方法。
上述发明中的一个实施例具有如下优点或有益效果:高效可用的图数据库需要具备同城和异地容灾功能;当集群中某个节点发生故障时,能够自动隔离发生故障的节点以保证集群的稳定运行;当集群的主节点发生问题时,能够自动实现集群的主节点与备用节点之间的切换,使得能够实现用户的无感切换;数据采用分布式存储提高了数据的查询效率;即使系统硬件或服务发生问题,也不需要先停止业务和重新导入数据,从而提升了维护图数据库集群的效率,降低了图数据库集群的管理成本。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例提供的一种应用于图数据库的方法的流程示意图;
图2A是本发明实施例提供的一种应用于图数据库的数据分布式存储示意图,并且图2B是根据本发明实施例的多副本中的数据分布式存储示意图;
图3是本发明实施例提供的一种应用于图数据库的多数选举机制示意图;
图4是本发明实施例提供的一种应用于图数据库的系统的结构示意图;
图5是本发明实施例可以应用于其中的示例性系统架构图;
图6是适于用来实现本发明实施例的终端设备或服务器的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
基于本发明,能够实现高效地查询数据,系统平稳运行。本发明的主要功能是保证服务与数据的高可用。第一,保证服务高可用是使图数据库具备弹性和容错能力,具体是指即使在网络中断或者硬件故障时,图数据库仍能继续为客户提供服务的能力保证业务的连续性。第二,保证数据的高可用性,保障查询效率。
在多个主节点和备用节点的情况下,主节点相当于一个大脑,当出现多个主节点时,会产生脑裂,从而导致集群无法正常运行。本发明主要利用Zookeeper提供集群协调功能,选举主节点和备节点,防止选举过程中发生脑裂情况。同时Kafka来实时更新数据,存储多段数据,实现高可用队列,多版本数据段和多服务器备份,从而保证系统的高可用性。Zookeeper是由Apache软件基金会开发的免费开源软件,作为一个分布式、高可用性的协调服务,用于维护配置信息,分布式协作等。此处使用的Kakfa是由Apache开发的高带宽分布式消息系统,提供分布式消息协同功能。
图1是本发明实施例提供的一种应用于图数据库的方法的流程示意图。如图1所示,本发明实施例提供了一种应用于图数据库的方法,该方法可以包括以下步骤:接收来自用户的服务请求(S101);基于用户的服务请求,调取相应的数据(S102);以及将调取的数据发送给用户(S103)。
服务请求指示用户在用户界面上所发起的请求。数据是图数据库中的数据。图数据库中的数据以分布式存储。图2A是本发明实施例提供的一种应用于图数据库的数据分布式存储示意图。通过配置分布式数据存储模块,将一份数据存储在不同数据节点的不同分区上。通过设置图数据库的节点来对跨多个服务器的节点进行分区,并且使用统一的负载平衡,同时采用RESTPP充当调度器和分发器。如图2A所示,分区1、分区2和分区3中的阴影部分组成一份完整数据。数据采用分布式存储能够提高数据的查询效率。即使在系统硬件或服务出现问题时间,数据也不会丢失,保证了系统稳定运行。RESTPP是指定制化REST服务器,REST是指一种组织Web服务的架构。
图2B是根据本发明实施例的多副本中的数据分布式存储示意图。如图2B所示,副本1包括分区1、分区2和分区3,并且副本2包括分区1、分区2和分区3。对于同一份数据,使用kafka配置多个副本并且对数据实时更新。将所有实时更新的数据都保存在kafka队列中,保证其备份时间和队列大小是可配置的。同时配置多版本数据段和多服务备份,在所有的相关数据成功更新前,新数据段不会取代旧数据段。每个数据段都会保持在Kafka队列中的位置。如果发生故障,则将回滚到最后一次正确的数据段,并且从那里开始,消耗kafka队列。而且不需要停止业务,不需要重新导入数据,从而节省了大量的时间和人力,提升了维护图数据库集群的效率,降低了图数据库集群的管理成本。
多个副本是指通过配置高可用HA的副本数,例如在分区1、分区2、分区3上存储不同的数据。如果分区1、分区2和分区3组成一份完整的数据,多个副本表示多份由多个分区(例如分区1、分区2和分区3)组成的完整数据,并且多个副本分布在不同的分区上。
对于同一份数据配置多个副本时,配置跨集群模式,使得能够支持同城双集群和异地集群。采用Kafka将主要集群的更新读写到其他备份集群,以实现容灾机制。通过RESTPP接口,将每一个请求记录在kafka的队列中,对于多集群灾备的情况下,备份集群可以从主要集群的更新日志队列读取更新并应用到当前集群上。
配置图数据库的主节点和备用节点,保证集群无论在什么情况下都有一个节点保证集群能正常运行,这主要通过Zookeeper技术加以实现,防止主节点和备用节点选举过程中发生脑裂的情况。Zookeeper基本原理主要为多数投票机制。可以提供分布式独享锁、选举和队列的接口。这个机制是基于一个假设,一个集群中只有少数的节点会失败。图3示出本发明实施例的多数投票机制的示意图。假设有一个集群,有7个节点,分别是节点N1、N2、…、N7。假设节点N1、N2、N3与节点N4、N5、N6、N7断开,形成包括节点N1、N2和N3的分区A和包括节点N4、N5、N6、N7的分区B。此时分区A和分区B互相不知道对方的情况。此时分区B中的节点N4、N5、N6、N7具有多于半数的节点,由分区B中节点选举出一个主节点,保持运行正常。分区A中的节点N1、N2、N3的数目小于集群中节点的半数,不能由分区A选举出主节点,从而分区A中节点N1、N2、N3的会下线。
配置故障节点自动隔离机制,实现故障节点的自动隔离与恢复。保障某机器发生故障时不影响业务。当与用户的服务请求有关的任务发送到各个节点时,集群会提前自动启用检测各个节点服务是否正常的机制,若检测到集群中的某一节点或多个节点服务存在问题(非主备节点),任务将不会发送/分发至该节点,从而实现故障节点自动隔离,保证业务正常运行。
对于图数据库外接接口,如RESTPP接口,可通过配置负载均衡器,调配用户请求到入口。采用Keepalived和负载均衡算法Haproxy实现。Keepalived使用Linux virtualserver(LVS)技术实现负载均衡和故障转移。HAProxy技术对RESTful应用程序实现负载均衡和高可用性的服务。Linux virtual server(LVS)是指Linux虚拟服务器,主要是应用于多服务器的负载均衡。RESTful是RESTPP提供的一种对外接口服务,从定义上而言,它是一种网络应用程序的设计风格和开发方式。
图4是本发明实施例提供的一种应用于图数据库的结构示意图。如图4所示,本发明实施例提供了一种应用于图数据库的装置400,该装置400包括:图数据库数据模块410、图数据库服务模块420和控制器430。该图数据库数据模块410和图数据库服务模块420能够保证系统平稳运行。
图数据库数据模块410用于保证图数据库中数据的可用性,防止数据由于系统硬件或软件服务故障等因素而造成数据的丢失和业务终止。本发明实施例中的图数据库数据模块410能够避免数据丢失而导致重新导入数据的过程,从而节省了时间及人力,提高了效率。
进一步,图数据库数据模块410包括用于存储数据的分布式存储数据模块411和用于支持数据容灾的数据容灾模块412。数据以分布式模式存储在分布式存储数据模块411,从而极大地提高了查询效率,以保障数据不会存在单点存储故障。数据容灾模块412能够实现数据容灾功能,在集群发生重大故障时间能够快速恢复。
图数据库服务模块420用于保证图数据库的业务稳定运行。当例如网络中断或者硬件故障等的特殊情况发生时,仍能确保业务不中断。图数据库服务模块420包括选举模块421和自动隔离模块422。
进一步,选举模块421用于选举图数据的主节点和备用节点。自动隔离模块422用于自动隔离故障节点。
控制器430可耦合地连接图数据库数据模块410和图数据库服务模块420,控制器430被配置成:接收来自用户的服务请求;基于用户的服务请求,调取图数据库中的数据;将调取的数据发送给用户。所述数据被分布式存储在所述图数据库中。
服务请求指示用户在用户界面上所发起的请求。数据是图数据库中的数据。图数据库中的数据以分布式存储。经由分布式存储数据模块411将一份数据存储在不同数据节点的不同分区上。通过设置图数据库的节点来对跨多个服务器的节点进行分区,并且使用统一的负载平衡,同时采用RESTPP充当调度器和分发器。数据采用分布式存储能够提高数据的查询效率。即使在系统硬件或服务出现问题时间,数据也不会丢失,保证了系统稳定运行。
对于同一份数据,使用kafka配置多个副本并且对数据实时更新。将所有实时更新的数据都保存在kafka队列中,保证其备份时间和队列大小是可配置的。同时配置多版本数据段和多服务备份,在所有的相关数据成功更新前,新数据段不会取代旧数据段。每个数据段都会保持在Kafka队列中的位置。如果发生故障,则将回滚到最后一次正确的数据段,并且从那里开始,消耗kafka队列。而且不需要停止业务,不需要重新导入数据,从而节省了大量的时间和人力,提升了维护图数据库集群的效率,降低了图数据库集群的管理成本。
对于同一份数据配置多个副本时,经由数据容灾模块412配置跨集群模式,使得能够支持同城双集群和异地集群。采用Kafka将主要集群的更新读写到其他备份集群,以实现容灾机制。通过RESTPP接口,将每一个请求记录在kafka的队列中,对于多集群灾备的情况下,备份集群可以从主要集群的更新日志队列读取更新并应用到当前集群上。
经由图数据库服务模块420中的选举模块421配置图数据库的主节点和备用节点,保证集群无论在什么情况下都有一个节点保证集群能正常运行,这主要通过Zookeeper技术加以实现,防止主节点和备用节点选举过程中发生脑裂的情况。Zookeeper基本原理主要为多数投票机制。可以提供分布式独享锁、选举和队列的接口。这个机制是基于一个假设,一个集群中只有少数的节点会失败。
经由图数据库服务模块420的自动隔离模块422配置故障节点自动隔离机制,实现故障节点的自动隔离与恢复。保障某机器发生故障时不影响业务。当与用户的服务请求有关的任务发送到各个节点时,集群会提前自动启用检测各个节点服务是否正常的机制,若检测到集群中的不作为主节点和备用节点的某一节点或多个节点服务存在问题,任务将不会发送/分发至该节点,从而实现故障节点自动隔离,保证业务正常运行。
对于图数据库外接接口,如RESTPP接口,可通过配置负载均衡器,调配用户请求到入口。采用Keepalived和Haproxy实现。Keepalived使用Linux virtual server(LVS)技术实现负载均衡和故障转移。HAProxy技术对RESTful应用程序实现负载均衡和高可用性的服务。
本发明实施例还提供了一种应用于图数据库的电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一实施例提供的方法。
本发明实施例还提供了一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任一实施例提供的方法。
图5示出了可以应用本发明实施例的应用于图数据库的方法或应用于图数据库的装置的示例性系统架构500。
如图5所示,系统架构500可以包括终端设备501、502、503,网络504和服务器505。网络504用以在终端设备501、502、503和服务器505之间提供通信链路的介质。网络504可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备501、502、503通过网络504与服务器505交互,以接收或发送消息等。终端设备501、502、503上可以安装有各种通讯客户端应用,例如网页浏览器应用、搜索类应用、即时通信工具和邮箱客户端等。
终端设备501、502、503可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。
服务器505可以是提供各种服务的服务器,例如对用户利用终端设备501、502、503所浏览的包含图数据库集群运行指标的网站提供支持的后台管理服务器。后台管理服务器可以获取图数据库集群所包含的图数据库服务器节点的运行指标,并进行分析等处理,并将处理结果反馈给终端设备。
需要说明的是,本发明实施例所提供的应用于图数据库的方法一般由服务器505执行,相应地,应用于图数据库的装置一般设置于服务器505中。
应该理解,图5中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
下面参考图6,其示出了适于用来实现本发明实施例的终端设备的计算机系统600的结构示意图。图6示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块和/或单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元也可以设置在处理器中,例如,可以描述为:一种应用于图数据库的装置,其特征在于,包括:图数据库数据模块,所述图数据库数据模块包括用于存储数据的分布式存储数据模块和支持数据容灾的数据容灾模块;图数据库服务模块,所述图数据库服务模块包括用于选举主节点和备用节点的选举模块和用于将故障节点隔离的自动隔离模块;以及控制器。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:接收来自用户的服务请求;基于用户的服务请求,调取图数据库中的数据;以及将调取的数据发送给用户,其中数据被分布式存储在图数据库中。
根据本发明实施例的技术方案,能够使高效可用的图数据库具备同城和异地容灾功能,实现同城双集群或异地集群的备份。当集群中的某个节点发生故障时,能够将有故障的数据节点自动隔离,以保证集群的稳定运行。当集群的主节点发生问题时,能够自动实现集群的主节点与备用节点之间的切换,实现用户的无感切换。本发明的技术方案提升了维护图数据库集群的效率,降低了图数据库集群的管理成本。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (20)

1.一种应用于图数据库的方法,其特征在于,包括:
接收来自用户的服务请求;
基于用户的服务请求,调取图数据库中的数据;以及
将调取的数据发送给用户,
其中,所述数据被分布式存储在所述图数据库中。
2.根据权利要求1所述的方法,其特征在于,所述数据被分布式存储在所述图数据库中包括:将一份数据存储在不同数据节点的不同分区。
3.根据权利要求2所述的方法,其特征在于,对于所述同一份数据,配置多个副本并且对所述数据实时更新。
4.根据权利要求3所述的方法,其特征在于,配置备份时间和队列大小。
5.根据权利要求3所述的方法,其特征在于,在对数据实时更新之前,配置多版本数据段和多服务备份,并且成功更新之前,新数据段不会取代旧数据段。
6.根据权利要求5所述的方法,其特征在于,所述数据段中的每个数据段被保持在队列,并且如果发生故障,则将回滚到最后一次正确的数据段。
7.根据权利要求2-6中任一项所述的方法,其特征在于,当所述同一份数据配置多个副本时,配置跨集群模式以支持同城双集群和异地集群。
8.根据权利要求1所述的方法,其特征在于,配置所述图数据库的主节点和备用节点,其中当所述主节点不可用时,切换到备用节点。
9.根据权利要求1所述的方法,其特征在于,在所述用户请求发送到集群中的节点之前,自动检测集群中的每个节点的服务是否正常,如果检测到一个或多个节点的服务出现故障,则与所述用户请求相关的任务不发送至出现故障的节点。
10.一种应用于图数据库的装置,其特征在于,包括:
图数据库数据模块,所述图数据库数据模块包括用于存储数据的分布式存储数据模块和支持数据容灾的数据容灾模块;
图数据库服务模块,所述图数据库服务模块包括用于选举主节点和备用节点的选举模块和用于将故障节点隔离的自动隔离模块;以及
控制器,所述控制器可耦合地连接所述图数据库数据模块和所述图数据库服务模块,
其中,所述控制器被配置成:
接收来自用户的服务请求;
基于用户的服务请求,调取图数据库中的数据;以及
将调取的数据发送给用户;
其中,所述数据被分布式存储在所述图数据库中。
11.根据权利要求10所述的装置,其特征在于,所述数据被分布式存储在所述图数据库中包括:将一份数据存储在不同数据节点的不同分区。
12.根据权利要求11所述的装置,其特征在于,对于所述同一份数据,配置多个副本并且对所述数据实时更新。
13.根据权利要求12所述的装置,其特征在于,配置备份时间和队列大小。
14.根据权利要求12所述的装置,其特征在于,在对数据实时更新之前,配置多版本数据段和多服务备份,并且成功更新之前,新数据段不会取代旧数据段。
15.根据权利要求14所述的装置,其特征在于,所述数据段中的每个数据段被保持在队列,并且如果发生故障,则将回滚到最后一次正确的数据段。
16.根据权利要求11-15中任一项所述的装置,其特征在于,当所述同一份数据配置多个副本时,配置跨集群模式以支持同城双集群和异地集群。
17.根据权利要求10所述的装置,其特征在于,所述处理器进一步配置所述图数据库的主节点和备用节点,其中当所述主节点不可用时,切换到备用节点。
18.根据权利要求10所述的装置,其特征在于,在所述用户请求发送到集群中的节点之前,自动检测集群中的每个节点的服务是否正常,如果检测到一个或多个节点的服务出现故障,则与所述用户请求相关的任务不发送至出现故障的节点。
19.一种电子设备,其特征在于,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的方法。
20.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-9中任一所述的方法。
CN202011025835.4A 2020-09-25 2020-09-25 一种应用于图数据库的方法和装置 Pending CN112231399A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011025835.4A CN112231399A (zh) 2020-09-25 2020-09-25 一种应用于图数据库的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011025835.4A CN112231399A (zh) 2020-09-25 2020-09-25 一种应用于图数据库的方法和装置

Publications (1)

Publication Number Publication Date
CN112231399A true CN112231399A (zh) 2021-01-15

Family

ID=74107809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011025835.4A Pending CN112231399A (zh) 2020-09-25 2020-09-25 一种应用于图数据库的方法和装置

Country Status (1)

Country Link
CN (1) CN112231399A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277379A (zh) * 2022-07-08 2022-11-01 北京城市网邻信息技术有限公司 分布式锁容灾处理方法、装置、电子设备及存储介质
CN116992065A (zh) * 2023-09-26 2023-11-03 之江实验室 一种图数据库数据导入方法、系统、电子设备、介质

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172161A1 (en) * 2004-01-20 2005-08-04 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
US20120239616A1 (en) * 2011-03-18 2012-09-20 Microsoft Corporation Seamless upgrades in a distributed database system
CN103106286A (zh) * 2013-03-04 2013-05-15 曙光信息产业(北京)有限公司 元数据的管理方法和装置
US20160188426A1 (en) * 2014-12-31 2016-06-30 International Business Machines Corporation Scalable distributed data store
US9665443B1 (en) * 2014-01-08 2017-05-30 Pivotal Software, Inc. Filtered incremental backups
CN107730375A (zh) * 2017-11-29 2018-02-23 河北智用信息技术有限公司 一种税务地图管理的方法、系统及终端设备
CN109684412A (zh) * 2018-12-25 2019-04-26 成都虚谷伟业科技有限公司 一种分布式数据库系统
CN109918229A (zh) * 2019-02-18 2019-06-21 国家计算机网络与信息安全管理中心 非日志模式的数据库集群副本构建方法及装置
CN111190888A (zh) * 2020-01-03 2020-05-22 中国建设银行股份有限公司 一种管理图数据库集群的方法和装置
CN111400065A (zh) * 2020-03-13 2020-07-10 百融云创科技股份有限公司 一种分离全局zookeeper的pulsar消息异地多活方法及系统

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050172161A1 (en) * 2004-01-20 2005-08-04 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
US20120239616A1 (en) * 2011-03-18 2012-09-20 Microsoft Corporation Seamless upgrades in a distributed database system
CN103106286A (zh) * 2013-03-04 2013-05-15 曙光信息产业(北京)有限公司 元数据的管理方法和装置
US9665443B1 (en) * 2014-01-08 2017-05-30 Pivotal Software, Inc. Filtered incremental backups
US20160188426A1 (en) * 2014-12-31 2016-06-30 International Business Machines Corporation Scalable distributed data store
CN107730375A (zh) * 2017-11-29 2018-02-23 河北智用信息技术有限公司 一种税务地图管理的方法、系统及终端设备
CN109684412A (zh) * 2018-12-25 2019-04-26 成都虚谷伟业科技有限公司 一种分布式数据库系统
CN109918229A (zh) * 2019-02-18 2019-06-21 国家计算机网络与信息安全管理中心 非日志模式的数据库集群副本构建方法及装置
CN111190888A (zh) * 2020-01-03 2020-05-22 中国建设银行股份有限公司 一种管理图数据库集群的方法和装置
CN111400065A (zh) * 2020-03-13 2020-07-10 百融云创科技股份有限公司 一种分离全局zookeeper的pulsar消息异地多活方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115277379A (zh) * 2022-07-08 2022-11-01 北京城市网邻信息技术有限公司 分布式锁容灾处理方法、装置、电子设备及存储介质
CN115277379B (zh) * 2022-07-08 2023-08-01 北京城市网邻信息技术有限公司 分布式锁容灾处理方法、装置、电子设备及存储介质
CN116992065A (zh) * 2023-09-26 2023-11-03 之江实验室 一种图数据库数据导入方法、系统、电子设备、介质
CN116992065B (zh) * 2023-09-26 2024-01-12 之江实验室 一种图数据库数据导入方法、系统、电子设备、介质

Similar Documents

Publication Publication Date Title
CN109729129B (zh) 存储集群系统的配置修改方法、存储集群及计算机系统
US10169163B2 (en) Managing backup operations from a client system to a primary server and secondary server
US9983957B2 (en) Failover mechanism in a distributed computing system
US9720741B2 (en) Maintaining two-site configuration for workload availability between sites at unlimited distances for products and services
US10983880B2 (en) Role designation in a high availability node
US10084858B2 (en) Managing continuous priority workload availability and general workload availability between sites at unlimited distances for products and services
EP3635558B1 (en) Service state preservation across nodes
US10127077B2 (en) Event distribution pattern for use with a distributed data grid
US8688773B2 (en) System and method for dynamically enabling an application for business continuity
US10430217B2 (en) High availability using dynamic quorum-based arbitration
EP2643771B1 (en) Real time database system
CN110795503A (zh) 分布式存储系统的多集群数据同步方法及相关装置
KR20110044858A (ko) 데이터 센터들에 걸쳐 데이터 서버들내 데이터 무결정의 유지
US20220318104A1 (en) Methods and systems for a non-disruptive automatic unplanned failover from a primary copy of data at a primary storage system to a mirror copy of the data at a cross-site secondary storage system
US20160110438A1 (en) Data cube high availability
EP3648405B1 (en) System and method to create a highly available quorum for clustered solutions
CN112231399A (zh) 一种应用于图数据库的方法和装置
CN109254873B (zh) 数据备份方法、相关装置及系统
EP4250119A1 (en) Data placement and recovery in the event of partition failures
CN111400065A (zh) 一种分离全局zookeeper的pulsar消息异地多活方法及系统
CN116389233A (zh) 容器云管理平台主备切换系统、方法、装置和计算机设备
CN111581033B (zh) 负载均衡方法、系统及装置
EP4191429A1 (en) Techniques to achieve cache coherency across distributed storage clusters
US20210096959A1 (en) Loss free long distance active-active sites configuration
CN117520050A (zh) 一种跨idc数据湖容灾方法、系统、设备及介质

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