本发明专利技术公开了一种基于文件式存储服务高可用架构,该高可用架构包括:心跳检查模块,采用主控模块主动检查的方式实现心跳机制,脚本中通过telnet所配置的工作服务组件的端口,来判定服务组件的工作状态,并将心跳结果反馈到主控模块,再由主控模块做相应事件处理,并且心跳机制还负责各节点间集群状态同步、命令执行模块、数据同步模块,文件式存储服务在提供服务时,会将图数据发生的更改实时的写入到文件中虚拟IP映射模块和主控模块。本发明专利技术,全部使用开源框架且无任何其他成本,能为企业节省大量资金成本。
A high availability architecture based on file storage service
【技术实现步骤摘要】
一种基于文件式存储服务高可用架构
本专利技术涉及产品软件和应用软件
,具体为一种基于文件式存储服务高可用架构。
技术介绍
知识图谱是一个新兴技术方向,为互联网网金融风控,保险,社交行业的数据挖掘提供了一个新的方向和思路。与此同时,工业界开发出了很多与知识图谱相关的分析工具和存储工具,其中大部分框架数据存储都是以文件形式,比如:neo4j(社区版),tigergraph(社区版)。这些图数据库提供了知识图谱相分析、存储、查询等相关功能。其中,使用最为广泛的neo4j,分为商业版和社区版两个分支。商业版本功能最为完善,同时收费高昂。社区版完全免费,但是功能简单。大部分中小企业使用neo4j(社区版)或者tigergraph(社区版)作为图数据库。当前,类似于neo4j等开源版文件式存储服务无法搭建集群模式,且不支持主备模式。对于生产环境,无法实现高可用。一旦这些服务出现节点故障,基于此类服务的相关应用将全部不可用。这对工业级7*24小时全天候服务产生极大的挑战。若采用商业版图数据库,会极大提高整个产品的运营成本,分流大部分研发资源。如果采用JanusGraph或者DBGraph等其他开源框架,对于已经上线的产品需要二次开发,非常不利于产品的稳定和发展。
技术实现思路
本专利技术的目的在于提供一种基于文件式存储服务高可用架构,以解决上述
技术介绍
中提出的问题。为实现上述目的,本专利技术提供如下技术方案:一种基于文件式存储服务高可用架构,该高可用架构包括:心跳检查模块:采用主控模块主动检查的方式实现心跳机制,脚本中通过telnet所配置的工作服务组件的端口,来判定服务组件的工作状态,并将心跳结果反馈到主控模块,再由主控模块做相应事件处理,并且心跳机制还负责各节点间集群状态同步;命令执行模块:封装了集群中的各个服务组件的操作,负责各个服务组件的管理和调度的实现;数据同步模块:文件式存储服务在提供服务时,会将图数据发生的更改实时的写入到文件中;虚拟IP映射模块:集群中的故障转移通过虚拟IP来实现,通过心跳检查集群中节点状态,按照一定策略将虚拟IP映射到不同的物理IP上;主控模块:负责控制调度各级模块工作流程,按照默认策略处理各种线上各种事件。优选的,所述命令执行模块分为本地命令模块和远程命令模块,所述本地命令模块封装了本地服务管理的命令集合,负责调度管理本地服务的实现和事件日志的输出,所述远程命令模块封装了操作远程节点服务组件的命令集合,需要主从节点实现免密码登陆,所述远程命令模块负责根据当前节点角色判断远程节点IP和服务端口。优选的,所述远程命令模块的判断逻辑为当前节点角色是文件式存储服务主节点,远程节点就是文件式存储服务从节点,当前节点角色是文件式存储服务从节点,远程节点就是文件式存储服务主节点,并根据当前角色不同,使用不同逻辑的命令集合操作远程节点。并根据配置将远程ip和端口拼接到命令中,实现远程服务的的调度和管理。优选的,所述数据同步模块采用Sersync+Rsync架构,所述数据同步模块监听文件夹中文件变化并实时同步到备用服务文件夹中。优选的,所述Sersync+Rsync架构的Sersync采用性能强劲的C++语言编写,自带crontab功能,可自定义同步时间间隔,所述Sersync会过滤掉Linux系统文件产生临时文件和重复文件的操作,再结合Rsync同步数据,所述Sersync支持多线程同步,此外,所述Sersync自带出错处理机制,所述Sersync+Rsync架构的Rsync组件是一个开源的,可实现全量及增量的本地或远程数据同步备份工具,所述Rsync组件拥有其独特的“quickcheck算法”,检查两个文件的不同部分,对本地和远程两个主机之间的文件不同部分进行同步,所述Rsync组件通过LAN/WAN快速同步多台主机间的文件。优选的,所述虚拟IP映射模块由keepalived服务实现。优选的,所述主控模块基于事件驱动开发。优选的,所述虚拟IP映射模块的故障转移需要多种通讯协议。优选的,所述多种通讯协议包括http通讯协议和blot/jdbc通讯协议。优选的,所述该高可用架构独立于工作组件。与现有技术相比,本专利技术的有益效果是:1、本专利技术,全部使用开源框架且无任何其他成本,能为企业节省大量资金成本。2、本专利技术能够快速高效的实现主备节点数据实时热备和故障节点切换,为企业服务稳定性和数据安全提供了可靠的支撑。附图说明图1为本专利技术的架构解析图;图2为本专利技术的事件处理流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。请参阅图1-2,本专利技术提供一种技术方案:一种基于文件式存储服务高可用架构,该高可用架构包括:心跳检查模块:采用主控模块主动检查的方式实现心跳机制,脚本中通过telnet所配置的工作服务组件的端口,来判定服务组件的工作状态,并将心跳结果反馈到主控模块,再由主控模块做相应事件处理,并且心跳机制还负责各节点间集群状态同步;命令执行模块:封装了集群中的各个服务组件的操作,负责各个服务组件的管理和调度的实现;数据同步模块:文件式存储服务在提供服务时,会将图数据发生的更改实时的写入到文件中;虚拟IP映射模块:集群中的故障转移通过虚拟IP来实现,通过心跳检查集群中节点状态,按照一定策略将虚拟IP映射到不同的物理IP上;主控模块:负责控制调度各级模块工作流程,按照默认策略处理各种线上各种事件。具体的,命令执行模块分为本地命令模块和远程命令模块,本地命令模块封装了本地服务管理的命令集合,负责调度管理本地服务的实现和事件日志的输出,远程命令模块封装了操作远程节点服务组件的命令集合,需要主从节点实现免密码登陆,远程命令模块负责根据当前节点角色判断远程节点IP和服务端口。具体的,远程命令模块的判断逻辑为当前节点角色是文件式存储服务主节点,远程节点就是文件式存储服务从节点,当前节点角色是文件式存储服务从节点,远程节点就是文件式存储服务主节点,并根据当前角色不同,使用不同逻辑的命令集合操作远程节点。并根据配置将远程ip和端口拼接到命令中,实现远程服务的的调度和管理。具体的,数据同步模块采用Sersync+Rsync架构,数据同步模块监听文件夹中文件变化并实时同步到备用服务文件夹中。具体的,Sersync+Rsync架构的Sersync采用性能强劲的C++语言编写,自带crontab功能,可自定义同步时间间隔,Sersync会过滤掉Linux系统文件产生临时文件和重复文件的操作,再结合Rsync同步数据,Sersync支持多线程同步,此外,Sers本文档来自技高网...
【技术保护点】
1.一种基于文件式存储服务高可用架构,其特征在于该高可用架构包括:/n心跳检查模块:采用主控模块主动检查的方式实现心跳机制,脚本中通过telnet所配置的工作服务组件的端口,来判定服务组件的工作状态,并将心跳结果反馈到主控模块,再由主控模块做相应事件处理,并且心跳机制还负责各节点间集群状态同步;/n命令执行模块:封装了集群中的各个服务组件的操作,负责各个服务组件的管理和调度的实现;/n数据同步模块:文件式存储服务在提供服务时,会将图数据发生的更改实时的写入到文件中;/n虚拟IP映射模块:集群中的故障转移通过虚拟IP来实现,通过心跳检查集群中节点状态,按照一定策略将虚拟IP映射到不同的物理IP上;/n主控模块:负责控制调度各级模块工作流程,按照默认策略处理各种线上各种事件。/n
【技术特征摘要】
1.一种基于文件式存储服务高可用架构,其特征在于该高可用架构包括:
心跳检查模块:采用主控模块主动检查的方式实现心跳机制,脚本中通过telnet所配置的工作服务组件的端口,来判定服务组件的工作状态,并将心跳结果反馈到主控模块,再由主控模块做相应事件处理,并且心跳机制还负责各节点间集群状态同步;
命令执行模块:封装了集群中的各个服务组件的操作,负责各个服务组件的管理和调度的实现;
数据同步模块:文件式存储服务在提供服务时,会将图数据发生的更改实时的写入到文件中;
虚拟IP映射模块:集群中的故障转移通过虚拟IP来实现,通过心跳检查集群中节点状态,按照一定策略将虚拟IP映射到不同的物理IP上;
主控模块:负责控制调度各级模块工作流程,按照默认策略处理各种线上各种事件。
2.根据权利要求1所述的一种基于文件式存储服务高可用架构,其特征在于:所述命令执行模块分为本地命令模块和远程命令模块,所述本地命令模块封装了本地服务管理的命令集合,负责调度管理本地服务的实现和事件日志的输出,所述远程命令模块封装了操作远程节点服务组件的命令集合,需要主从节点实现免密码登陆,所述远程命令模块负责根据当前节点角色判断远程节点IP和服务端口。
3.根据权利要求2所述的一种基于文件式存储服务高可用架构,其特征在于:所述远程命令模块的判断逻辑为当前节点角色是文件式存储服务主节点,远程节点就是文件式存储服务从节点,当前节点角色是文件式存储服务从节点,远程节点就是文件式存储服务主节点,并根据当前角色不同,使用不同逻辑的命令集合操作远程节点,并根据配置将远程ip和端口拼接到命令中。
4.根据权利要求1所述的一种基于文件式存储服务高可用架构,其特征...
【专利技术属性】
技术研发人员:沈佳伟,孙昆仑,
申请(专利权)人:上海凯岸信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。