CN111382284A - Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置 - Google Patents
Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置 Download PDFInfo
- Publication number
- CN111382284A CN111382284A CN202010155904.7A CN202010155904A CN111382284A CN 111382284 A CN111382284 A CN 111382284A CN 202010155904 A CN202010155904 A CN 202010155904A CN 111382284 A CN111382284 A CN 111382284A
- Authority
- CN
- China
- Prior art keywords
- neo4j
- graphic
- load balancing
- database
- graphic database
- 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 61
- 238000005516 engineering process Methods 0.000 claims abstract description 15
- 238000003860 storage Methods 0.000 claims description 27
- 238000004590 computer program Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 11
- 238000009826 distribution Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 13
- 238000007792 addition Methods 0.000 description 5
- 238000012217 deletion Methods 0.000 description 5
- 230000037430 deletion Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000036541 health Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 238000004519 manufacturing process Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 125000004122 cyclic group Chemical group 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置,Neo4j图形数据库系统访问方法包括:负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。本发明实现了Neo4j图形数据库的高可用与负载均衡,实施成本低,且最大化利用了现有系统资源。
Description
技术领域
本发明涉及数据库信息技术领域,特别涉及图形数据库的构建方法技术领域,具体涉及一种Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置。
背景技术
在生产应用中,为保证生产数据存储的安全性、数据服务提供的稳定性,通常会搭建高可用的负载均衡集群,在部分机器或服务部署出现故障时,保证服务的可用性,防止单点失效,同时负载均衡也可平衡集群内各机器的工作负载,防止因高并发导致服务器负载过重而宕机,最大限度地利用集群资源。Neo4j是一种应用较为广泛的图形数据库,其3.5版本之前为开源版本,自身不支持高可用与集群使用,若用于生产系统,需搭建高可用集群。现有解决方案为使用Neo4j 3.5以后的商业版本,需支付高额授权费用。现有技术方案中,商业版本的Neo4j图形数据库使用成本高,由于闭源,后续运维都需依赖于厂商人员。
发明内容
针对现有技术中的问题,本发明所提供的Neo4j图形数据库系统及Neo4j图形数据库系统访问方法,实现了Neo4j图形数据库的高可用与负载均衡,实施成本低,且最大化利用了现有系统资源。
为解决上述技术问题,本发明提供以下技术方案:
第一方面,本发明提供一种Neo4j图形数据库系统,包括:
包括:多个Neo4j图形数据库,多个负载均衡服务器以及至少一个NAS共享存储器,其中:
所述多个负载均衡服务器之间相互心跳连接,用于互相检测是否出现故障;
所述多个Neo4j图形数据库用于存储相同的图形数据,并与所述NAS共享存储器连接。
一实施例中,Neo4j图形数据库系统还包括:批量调度组件,用于对所述多个Neo4j图形数据库进行新增、修改以及删除。
第二方面,本发明还提供一种Neo4j图形数据库系统访问方法,包括:
负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;
多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
一实施例中,Neo4j图形数据库系统访问方法,包括:多个负载均衡服务器之间采用反向代理机制,并对所述用户展现为唯一IP地址。
一实施例中,所述访问服务为T-1日访问服务。
一实施例中,Neo4j图形数据库系统访问方法还包括:根据批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作。
一实施例中,所述根据批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作,包括:
在预设时间段,分批调度预设比例的Neo4j图形数据库进行以下循环操作:
使预设数量的Neo4j图形数据库停机;
使停机后的Neo4j图形数据库删除以及修改自身的所述图形数据,并读取NAS共享存储器中的所述图形数据;
将读取所述图形数据完毕的Neo4j图形数据库重新接入Neo4j图形数据库系统,以恢复访问服务,直至所有Neo4j图形数据库全部读取所述图形数据完毕。
第三方面,本发明提供一种Neo4j图形数据库系统访问装置,该装置包括:
图形数据库选定单元,用于负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;
访问请求分配单元,用于多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
一实施例中,Neo4j图形数据库系统访问装置还包括:
操作单元,用于根据批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作。
一实施例中,操作单元包括:
循环模块,用于在预设时间段,分批调度预设比例的Neo4j图形数据库进行以下循环操作:
停机模块,用于使预设数量的Neo4j图形数据库停机;
读取模块,用于使停机后的Neo4j图形数据库删除以及修改自身的所述图形数据,并读取NAS共享存储器中的所述图形数据;
恢复模块,用于将读取所述图形数据完毕的Neo4j图形数据库重新接入Neo4j图形数据库系统,以恢复访问服务,直至所有Neo4j图形数据库全部读取所述图形数据完毕。
第四方面,本发明提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现Neo4j图形数据库系统访问方法的步骤。
第五方面,本发明提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现Neo4j图形数据库系统访问方法的步骤。
从上述描述可知,本发明实施例提供的Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置,通过在多个Neo4j图形数据库的基础上,设置多个负载均衡服务器,负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
本发明基于HAProxy、Keepalived等开源软件提供了组建Neo4j高可用负载均衡集群的方法,该方法可以基于Neo4j的任意版本进行搭建,支持多个异构的Neo4j服务同时对外提供服务,当某台服务器宕机时,高可用将会保证该服务器不会出现在提供服务的服务器列表中,避免业务访问失败,服务器恢复后,将该服务器重新加入服务提供列表。同时,为最大限度保证高可用,还对HAProxy部署实施了高可用机制。该方法实现了Neo4j的高可用与负载均衡,成本低,且最大化利用了现有系统资源。本Neo4j图形数据库系统具有以下优点:部分Neo4j服务不可用时,仍能对外正常提供服务;部分HAProxy机器不可用时,仍能对外提供正常服务;图形数据库提供服务时,每台机器负载相对平均。
Neo4j图形数据库系统访问方法具有以下优势:
1、配置简单,成本低
使用开源软件,没有购置成本,且使用配置简单。
2、高可用
实现了Neo4j服务的高可用,避免单点时效。
3、负载均衡
实现了Neo4j集群的负载均衡。
4、热部署
可随时新增HAProxy集群、Neo4j集群机器,实现实时扩展。
5、较短的数据不一致时间
由批量调度组件统一调度数据加载、启停时间,缩短数据不一致的时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的实施例中的Neo4j图形数据库系统的结构示意图;
图2为本发明的实施例中的Neo4j图形数据库系统访问方法的流程示意图一;
图3为本发明的实施例中的Neo4j图形数据库系统访问方法的流程示意图二;
图4为本发明的实施例中的Neo4j图形数据库系统访问方法步骤300的流程示意图;
图5为本发明的具体应用实例中Neo4j图形数据库系统访问方法的流程示意图;
图6为本发明的实施例中的Neo4j图形数据库系统访问装置的结构框图一;
图7为本发明的实施例中的Neo4j图形数据库系统访问装置的结构框图二;
图8为本发明的实施例中的操作单元结构框图;
图9为本发明的实施例中的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于现有技术的缺点,本发明的实施例提供了一种Neo4j图形数据库系统的具体实施方式,参见图1,具体包括如下内容:
多个Neo4j图形数据库,多个负载均衡服务器以及至少一个NAS共享存储器,其中:
所述多个负载均衡服务器之间相互心跳连接,用于互相检测是否出现故障;
所述多个Neo4j图形数据库用于存储相同的图形数据,并与所述NAS共享存储器连接。
可以理解的是,Neo4j图形数据库是指一个高性能的NoSQL图数据库,且Neo4j 3.5版本前为开源版本。Neo4j图形数据库集群提供图形数据的存储与查询,是主要的服务提供组件,可使用任意开源版本的Neo4j进行部署。在对外提供服务时,图形数据库的查询请求经过负载均衡服务器,其根据预设的配置权重,均衡的转发到多个Neo4j图形数据库的机器上,避免单台机器成为热点。
一实施例中,Neo4j图形数据库系统还包括批量调度组件,用于对所述多个Neo4j图形数据库进行新增、修改以及删除。
可以理解的是,Neo4j图形数据库系统中的每台Neo4j图形数据库存储的图形数据相同,所有Neo4j图形数据库通过每日的日终批量统一进行数据的新增、修改与删除。需加载的数据由外部组件加工完成后,推送至NAS共享存储中,该共享存储的数据可以被所有Neo4j图形数据库访问。
本Neo4j图形数据库系统具有以下优点:部分Neo4j服务不可用时,仍能对外正常提供服务;部分HAProxy机器不可用时,仍能对外提供正常服务;图形数据库提供服务时,每台机器负载相对平均。
基于现有技术的缺点,本发明的实施例还提供了一种Neo4j图形数据库系统访问方法的具体实施方式,参见图2,该方法具体包括如下内容:
步骤100:负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务。
具体地,在对外提供服务时,图形数据库的查询请求经过负载均衡服务器,会根据配置权重,均衡的转发到Neo4j图形数据库集群的各台机器上,避免单台机器成为热点。
步骤200:多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
具体地,负载均衡服务器使用反向代理机制,为Neo4j图形数据库集群提供高可用与负载均衡支撑。所有查询请求都将会经过负载均衡服务器进行路由与转发,负载均衡服务器自身也需具备高可用能力。因此,该方法对负载均衡服务器以主-备的方式组建集群,形成一主多备的服务模式。该模式中,当主负载均衡服务器正常工作时,其承担所有的请求转发与节点管理,当主服务器出现故障时,请求将会被分配到备用负载均衡服务器进行转发。
一实施例中,多个负载均衡服务器之间采用反向代理机制,并对所述用户展现为唯一IP地址。
具体地,多个负载均衡服务器集群存在多台机器,拥有多个IP,可通过控制VIP(虚拟IP)的漂移,实现多个负载均衡服务器集群对外只暴露一个IP以提供服务,同时向所有负载均衡服务器发送心跳检测来获取健康状况,并根据其健康状况来切换主备。
一实施例中,所述访问服务为T-1日访问服务。
因存在多个Neo4j图形数据库,从而存在各Neo4j图形数据库之间的数据同步问题。可以理解的是,在大多数业务场景中,客户对图形数据的实时性要求不高,且绝大部分为查询需求,因此Neo4j图形数据库集群对外提供T-1日的查询服务,可大大避免避开实时数据同步的复杂操作。
一实施例中,参见图3,Neo4j图形数据库系统访问方法还包括:
步骤300:根据批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作。
参见图1,在步骤300中,每个Neo4j图形数据库存储的数据相同,所有Neo4j图形数据库通过每日的日终批量统一进行数据的新增、修改与删除。需加载的数据由外部组件加工完成后,推送至NAS共享存储中,该共享存储的数据可以被所有Neo4j图形数据库访问。
一实施例中,参见图4,步骤300具体包括:
步骤301:在预设时间段,分批调度预设比例的Neo4j图形数据库进行以下循环操作。
步骤302:使预设数量的Neo4j图形数据库停机。
步骤303:使停机后的Neo4j图形数据库删除以及修改自身的所述图形数据,并读取NAS共享存储器中的所述图形数据。
步骤304:将读取所述图形数据完毕的Neo4j图形数据库重新接入Neo4j图形数据库系统,以恢复访问服务,直至所有Neo4j图形数据库全部读取所述图形数据完毕。
在步骤301至步骤304中,为保证对外服务数据一致性,批量调度组件将会根据服务访问较少时间段,依次分批调度预设数量的Neo4j图形数据库(服务器)停机,使其脱离服务后读取共享存储中的数据进行加载,若加载失败会将作业加入重试列表,重试完成后,若加载成功率超过预设数值,则将该批次加载成功的服务器同时启动以恢复服务,同时将停止其余的Neo4j图形数据库(服务器)进行数据加载,如此便将Neo4j图形数据库间的数据不一致时间控制在了服务重启期间(约数分钟),有效减少了Neo4j图形数据库间数据不一致的持续时间。
从上述描述可知,本发明实施例提供的Neo4j图形数据库系统访问方法,通过在多个Neo4j图形数据库的基础上,设置多个负载均衡服务器,负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
本发明基于HAProxy、Keepalived等开源软件提供了组建Neo4j高可用负载均衡集群的方法,该方法可以基于Neo4j的任意版本进行搭建,支持多个异构的Neo4j服务同时对外提供服务,当某台服务器宕机时,高可用将会保证该服务器不会出现在提供服务的服务器列表中,避免业务访问失败,服务器恢复后,将该服务器重新加入服务提供列表。同时,为最大限度保证高可用,还对HAProxy部署实施了高可用机制。该方法实现了Neo4j的高可用与负载均衡,成本低,且最大化利用了现有系统资源。具体地,Neo4j图形数据库系统访问方法具有以下优势:
1、配置简单,成本低
使用开源软件,没有购置成本,且使用配置简单。
2、高可用
实现了Neo4j服务的高可用,避免单点时效。
3、负载均衡
实现了Neo4j集群的负载均衡。
4、热部署
可随时新增HAProxy集群、Neo4j集群机器,实现实时扩展。
5、较短的数据不一致时间
由批量调度组件统一调度数据加载、启停时间,缩短数据不一致的时间。
为进一步地说明本方案,本发明以3台机器作为HAProxy服务器集群,并使用Keepalived开源软件控制VIP(虚拟IP)的漂移,以此提供Neo4j图形数据库系统及其访问方法的具体应用实例,该具体应用实例具体包括如下内容,参见图1以及图5。
在本具体应用实例中,Neo4j图形数据库系统由Neo4j图形数据库集群、HAProxy集群、NAS共享存储、批量调度组件构成。所述多个负载均衡服务器之间相互心跳连接,用于互相检测是否出现故障;所述多个Neo4j图形数据库用于存储相同的图形数据,并与所述NAS共享存储器连接。
S0:设置HAProxy服务器集群(负载均衡服务器集群)。
HAProxy:一个高性能的TCP和HTTP负载均衡器。该软件为开源软件,支持高并发连接,通过反向代理方式实现均衡负载,为应用提供高可用性支撑。HAProxy提供服务器健康检查机制,有服务监控界面,若应用服务宕机,会将宕机服务器从服务列表中剔除,服务器恢复后再加入到服务列表。
在步骤S0中,使用了3台机器作为HAProxy服务器集群,其IP分别为128.160.155.1、128.160.155.2、128.160.155.3。
S1:设置HAProxy服务器集群的虚拟IP地址。
这里采用Keepalived软件实现步骤S1(Keepalived:一个基于VRRP协议的支持服务器集群高可用的软件,提供心跳检测,防止服务器单点失效。)HAProxy服务器集群存在多台机器,拥有多个IP,使用了Keepalived开源软件,Keepalived可通过控制VIP(虚拟IP)的漂移,实现HAProxy服务器集群对外只暴露一个IP以提供服务,同时Keepalived负责向所有HAProxy服务器发送心跳检测来获取健康状况,并根据其健康状况来切换主备。
这里对外统一暴露的虚拟IP为128.160.188.188,所有Neo4j的服务请求都可以通过该IP访问。其中第二台机器作为主HAProxy服务器,其余两台作为备用服务器。Keepalived通过心跳监测三台机器的活动情况,若出现主服务器宕机,会将VIP漂移到备用机上,以HAProxy备用服务器提供服务。同时,在所有HAProxy服务器上,监听了Neo4j集群的所有IP地址与占用端口,为Neo4j集群提供了高可用和负载均衡支撑。
S2:利用批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作。
具体地,每台Neo4j服务器存储的数据相同,所有Neo4j服务器通过每日的日终批量统一进行数据的新增、修改与删除。需加载的数据由外部组件加工完成后,推送至NAS共享存储中,该共享存储的数据可以被所有Neo4j服务器访问。
为保证对外服务数据一致性,批量调度组件将会根据服务访问较少时间段,依次分批调度约1/2的Neo4j服务器停机,使其脱离服务后读取共享存储中的数据进行加载,若加载失败会将作业加入重试列表,重试完成后,若加载成功率超过80%,则将该批次加载成功的服务器同时启动以恢复服务,同时将停止另外1/2的Neo4j服务器进行数据加载,如此便将服务器间的数据不一致时间控制在了服务重启期间(约数分钟),有效减少了Neo4j服务器间数据不一致的持续时间。
另外需要说明的是,因存在多台数据库机器,便存在各台图形数据库服务器之间的数据同步问题。在大多数业务场景中,图形数据的实时性要求不高,且绝大部分为查询需求,因此Neo4j集群对外提供T-1日的查询服务,避开实时数据同步的复杂操作。
从上述描述可知,本发明实施例提供的Neo4j图形数据库系统访问方法,通过在多个Neo4j图形数据库的基础上,设置多个负载均衡服务器,负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
本发明基于HAProxy、Keepalived等开源软件提供了组建Neo4j高可用负载均衡集群的方法,该方法可以基于Neo4j的任意版本进行搭建,支持多个异构的Neo4j服务同时对外提供服务,当某台服务器宕机时,高可用将会保证该服务器不会出现在提供服务的服务器列表中,避免业务访问失败,服务器恢复后,将该服务器重新加入服务提供列表。同时,为最大限度保证高可用,还对HAProxy部署实施了高可用机制。该方法实现了Neo4j的高可用与负载均衡,成本低,且最大化利用了现有系统资源。具体地,Neo4j图形数据库系统访问方法具有以下优势:
1、配置简单,成本低
使用开源软件,没有购置成本,且使用配置简单。
2、高可用
实现了Neo4j服务的高可用,避免单点时效。
3、负载均衡
实现了Neo4j集群的负载均衡。
4、热部署
可随时新增HAProxy集群、Neo4j集群机器,实现实时扩展。
5、较短的数据不一致时间
由批量调度组件统一调度数据加载、启停时间,缩短数据不一致的时间。
基于同一发明构思,本申请实施例还提供了Neo4j图形数据库系统访问装置,可以用于实现上述实施例所描述的方法,如下面的实施例所述。由于Neo4j图形数据库系统访问装置解决问题的原理与Neo4j图形数据库系统访问方法相似,因此Neo4j图形数据库系统访问装置的实施可以参见Neo4j图形数据库系统访问方法实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本发明的实施例提供一种能够实现Neo4j图形数据库系统访问方法的Neo4j图形数据库系统访问装置的具体实施方式,参见图6,Neo4j图形数据库系统访问装置具体包括如下内容:
图形数据库选定单元10,用于负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务。
访问请求分配单元20,用于多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
一实施例中,参见图7,Neo4j图形数据库系统访问装置还包括:
操作单元30,用于根据批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作。
一实施例中,参见图8,操作单元30包括:
循环模模块301,用于在预设时间段,分批调度预设比例的Neo4j图形数据库进行以下循环操作:
停机模块302,用于使预设数量的Neo4j图形数据库停机;
读取模块303,用于使停机后的Neo4j图形数据库删除以及修改自身的所述图形数据,并读取NAS共享存储器中的所述图形数据;
恢复模块304,用于将读取所述图形数据完毕的Neo4j图形数据库重新接入Neo4j图形数据库系统,以恢复访问服务,直至所有Neo4j图形数据库全部读取所述图形数据完毕。
从上述描述可知,本发明实施例提供的Neo4j图形数据库系统访问装置,通过在多个Neo4j图形数据库的基础上,设置多个负载均衡服务器,负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
本发明基于HAProxy、Keepalived等开源软件提供了组建Neo4j高可用负载均衡集群的方法,该方法可以基于Neo4j的任意版本进行搭建,支持多个异构的Neo4j服务同时对外提供服务,当某台服务器宕机时,高可用将会保证该服务器不会出现在提供服务的服务器列表中,避免业务访问失败,服务器恢复后,将该服务器重新加入服务提供列表。同时,为最大限度保证高可用,还对HAProxy部署实施了高可用机制。
本申请的实施例还提供能够实现上述实施例中的Neo4j图形数据库系统访问方法中全部步骤的一种电子设备的具体实施方式,参见图9,电子设备具体包括如下内容:
处理器(processor)1201、存储器(memory)1202、通信接口(CommunicationsInterface)1203和总线1204;
其中,处理器1201、存储器1202、通信接口1203通过总线1204完成相互间的通信;通信接口1203用于实现服务器端设备、存储设备、扫描装置以及用户端设备等相关设备之间的信息传输。
处理器1201用于调用存储器1202中的计算机程序,处理器执行计算机程序时实现上述实施例中的Neo4j图形数据库系统访问方法中的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务。
步骤200:多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
从上述描述可知,本申请实施例中的电子设备,通过在多个Neo4j图形数据库的基础上,设置多个负载均衡服务器,负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
本发明基于HAProxy、Keepalived等开源软件提供了组建Neo4j高可用负载均衡集群的方法,该方法可以基于Neo4j的任意版本进行搭建,支持多个异构的Neo4j服务同时对外提供服务,当某台服务器宕机时,高可用将会保证该服务器不会出现在提供服务的服务器列表中,避免业务访问失败,服务器恢复后,将该服务器重新加入服务提供列表。同时,为最大限度保证高可用,还对HAProxy部署实施了高可用机制。
本申请的实施例还提供能够实现上述实施例中的Neo4j图形数据库系统访问方法中全部步骤的一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中的Neo4j图形数据库系统访问方法的全部步骤,例如,处理器执行计算机程序时实现下述步骤:
步骤100:负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务。
步骤200:多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
从上述描述可知,本申请实施例中的计算机可读存储介质,通过在多个Neo4j图形数据库的基础上,设置多个负载均衡服务器,负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
本发明基于HAProxy、Keepalived等开源软件提供了组建Neo4j高可用负载均衡集群的方法,该方法可以基于Neo4j的任意版本进行搭建,支持多个异构的Neo4j服务同时对外提供服务,当某台服务器宕机时,高可用将会保证该服务器不会出现在提供服务的服务器列表中,避免业务访问失败,服务器恢复后,将该服务器重新加入服务提供列表。同时,为最大限度保证高可用,还对HAProxy部署实施了高可用机制。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种Neo4j图形数据库系统,其特征在于,包括:多个Neo4j图形数据库,多个负载均衡服务器以及至少一个NAS共享存储器,其中:
所述多个负载均衡服务器之间相互心跳连接,用于互相检测是否出现故障;
所述多个Neo4j图形数据库用于存储相同的图形数据,并与所述NAS共享存储器连接。
2.如权利要求1所述的Neo4j图形数据库系统,其特征在于,还包括:批量调度组件,用于对所述多个Neo4j图形数据库进行新增、修改以及删除。
3.一种利用权利要求1-2任一项所述的一种Neo4j图形数据库系统进行访问的方法,其特征在于,包括:
负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;
多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
4.根据权利要求3所述的访问的方法,其特征在于,包括:
多个负载均衡服务器之间采用反向代理机制,并对所述用户展现为唯一IP地址。
5.根据权利要求3所述的访问的方法,其特征在于,所述访问服务为T-1日访问服务。
6.根据权利要求3所述的访问的方法,其特征在于,还包括:根据批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作。
7.根据权利要求6所述的访问的方法,其特征在于,所述根据批量调度组件对所述多个Neo4j图形数据库进行新增、修改以及删除操作,包括:
在预设时间段,分批调度预设比例的Neo4j图形数据库进行以下循环操作:
使预设数量的Neo4j图形数据库停机;
使停机后的Neo4j图形数据库删除以及修改自身的所述图形数据,并读取NAS共享存储器中的所述图形数据;
将读取所述图形数据完毕的Neo4j图形数据库重新接入Neo4j图形数据库系统,以恢复访问服务,直至所有Neo4j图形数据库全部读取所述图形数据完毕。
8.一种Neo4j图形数据库系统访问装置,其特征在于,包括:
图形数据库选定单元,用于负载均衡服务器接受用户的Neo4j图形数据库访问请求,并根据所述Neo4j图形数据库访问请求以及预设的多个Neo4j图形数据库的配置权重,选定Neo4j图形数据库以对所述用户提供访问服务;
访问请求分配单元,用于多个负载均衡服务器之间采用心跳技术相互连接,当其中一负载均衡服务器发生故障时,所述Neo4j图形数据库访问请求分配至其他负载均衡服务器。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现权利要求3至7任一项所述Neo4j图形数据库系统访问方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求3至7任一项所述Neo4j图形数据库系统访问方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010155904.7A CN111382284A (zh) | 2020-03-09 | 2020-03-09 | Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010155904.7A CN111382284A (zh) | 2020-03-09 | 2020-03-09 | Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111382284A true CN111382284A (zh) | 2020-07-07 |
Family
ID=71218739
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010155904.7A Pending CN111382284A (zh) | 2020-03-09 | 2020-03-09 | Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111382284A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523158A (zh) * | 2011-12-15 | 2012-06-27 | 杭州电子科技大学 | 一种基于权重的元数据服务器集群负载均衡方法 |
CN108255929A (zh) * | 2017-11-30 | 2018-07-06 | 杭州博世数据网络有限公司 | 用于数据库neo4j的处理方法 |
CN108564467A (zh) * | 2018-05-09 | 2018-09-21 | 平安普惠企业管理有限公司 | 一种用户风险等级的确定方法及设备 |
CN108762992A (zh) * | 2018-04-20 | 2018-11-06 | 平安科技(深圳)有限公司 | 主备切换方法、装置、计算机设备和存储介质 |
CN109788062A (zh) * | 2019-01-24 | 2019-05-21 | 王晨明 | 输电系统服务器负载均衡方法 |
CN110825962A (zh) * | 2019-10-17 | 2020-02-21 | 上海易点时空网络有限公司 | 信息推荐方法以及装置 |
-
2020
- 2020-03-09 CN CN202010155904.7A patent/CN111382284A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102523158A (zh) * | 2011-12-15 | 2012-06-27 | 杭州电子科技大学 | 一种基于权重的元数据服务器集群负载均衡方法 |
CN108255929A (zh) * | 2017-11-30 | 2018-07-06 | 杭州博世数据网络有限公司 | 用于数据库neo4j的处理方法 |
CN108762992A (zh) * | 2018-04-20 | 2018-11-06 | 平安科技(深圳)有限公司 | 主备切换方法、装置、计算机设备和存储介质 |
CN108564467A (zh) * | 2018-05-09 | 2018-09-21 | 平安普惠企业管理有限公司 | 一种用户风险等级的确定方法及设备 |
CN109788062A (zh) * | 2019-01-24 | 2019-05-21 | 王晨明 | 输电系统服务器负载均衡方法 |
CN110825962A (zh) * | 2019-10-17 | 2020-02-21 | 上海易点时空网络有限公司 | 信息推荐方法以及装置 |
Non-Patent Citations (3)
Title |
---|
彭东稳: "Neo4j+DRBD+Keepalived高可用架构", pages 1 - 5, Retrieved from the Internet <URL:www.ywnds.com/?p=12199> * |
思快奇: "基于keepalived高可用的应用实战", pages 1 - 10, Retrieved from the Internet <URL:https://blog.csdn.net/jiangzhuwanshi2008/article/details/103307182> * |
陈林 等: ""互联网+"智慧校园技术与工程实施", 30 September 2017, 电子科技大学出版社, pages: 159 - 160 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831500B (zh) | Kubernetes集群中配置文件与Pod的同步方法 | |
US8296267B2 (en) | Upgrade of highly available farm server groups | |
KR101970839B1 (ko) | 서비스의 2차 위치에서의 작업의 재생 기법 | |
JP6307159B2 (ja) | コンピューティングセッションの管理 | |
KR101828338B1 (ko) | 컴퓨팅 세션 관리 | |
JP2019008809A (ja) | コンピューティングセッションの管理 | |
US20090248870A1 (en) | Server system and control method for same | |
CN107544783B (zh) | 一种数据更新方法、装置及系统 | |
JP6251390B2 (ja) | コンピューティングセッションの管理 | |
US20080077657A1 (en) | Transaction takeover system | |
JP5948933B2 (ja) | ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム | |
CN112948063B (zh) | 云平台的创建方法、装置、云平台以及云平台实现系统 | |
CN110442610A (zh) | 负载均衡的方法、装置、计算设备以及介质 | |
CN106790403B (zh) | 实现移动云计算中间平台的方法及实现分布式的方法 | |
CN111935244B (zh) | 一种业务请求处理系统及超融合一体机 | |
CN114363154A (zh) | 节点选举方法、装置、电子设备及存储介质 | |
CN112477919A (zh) | 一种适用于列车控制系统平台的动态冗余备份方法及系统 | |
CN113467873A (zh) | 虚拟机的调度方法、装置、电子设备及存储介质 | |
JP6577901B2 (ja) | 計算機システムおよびシステム状態再現方法 | |
CN111382284A (zh) | Neo4j图形数据库系统、Neo4j图形数据库系统访问方法及装置 | |
CN116346834A (zh) | 一种会话同步方法、装置、计算设备及计算机存储介质 | |
CN112351098B (zh) | 拷机服务集群系统、控制方法、装置及介质 | |
CN110113192B (zh) | 虚拟桌面的选路方法、选路设备、系统、存储介质及装置 | |
US10686646B1 (en) | Management of computing sessions | |
US7801966B2 (en) | Object duplication |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220913 Address after: 25 Financial Street, Xicheng District, Beijing 100033 Applicant after: CHINA CONSTRUCTION BANK Corp. Address before: 25 Financial Street, Xicheng District, Beijing 100033 Applicant before: CHINA CONSTRUCTION BANK Corp. Applicant before: Jianxin Financial Science and Technology Co.,Ltd. |
|
TA01 | Transfer of patent application right |