MonetDB分布式计算存储方法技术

技术编号:11326967 阅读:130 留言:0更新日期:2015-04-22 16:39
本发明专利技术涉及一种MonetDB分布式计算存储方法。解决了不能实现MonetDB分布式计算存储,也无法解决数据路由算法和可用的问题,技术方案为:包括基于P2P通讯的glusterfs节点以及HA的部署步骤、monetdbd节点以及HA部署步骤、m-funnel节点以及HA部署步骤和分布式计算存储的部署步骤。本发明专利技术同样可以应用在负载均衡场景和数据复制场景,还可以应用在大数据分布式存储的场景,并行计算场景,利用路由选择算法,将数据分布存储,实现线性的性能提升。

【技术实现步骤摘要】

本专利技术是一种数据存储方法,特别是涉及一种。
技术介绍
MonetDB是一种专用于数据统计分析的开源数据库,支持mult1-funnel,用于代理客户端的请求,代理的请求转发到底层的数据节点执行,但是代理功能非常单一,使用场景受限,并且存在如下缺点:1.限于将数据转发到所有的底层数据节点执行并返回所有节点运行的结果。也即是没有路由选择算法,选择哪个节点运行,因此目前的技术只能用作负载均衡和数据复制场景。2.-funnel节点和monetdbd节点没有HA机制。存在单点故障。如果能解决现有技术的问题,在MonetDB中实现数据节点的选择,则可以实现分布式计算存储,增强MonetDB的功能。在实现MonetDB分布式计算存储的同时,除了需要解决数据路由算法的问题,还需要解决高可用的问题。对比技术:CN102591978A,开日期2012年7月18日,公开内容:本专利技术属于电子文本拷贝检测
,具体为一种针对大规模文档集中两两文档间进行拷贝检测的分布式索引建立以及分发方法和一种分布式文本拷贝检测系统。所述方法是将整个文档集上的拷贝检测分割成个若干的子任务,每个子任务中只用到单个计算机节点中保存的文档和整个文档集所有文档集的一部分文档组成的索引,从而使得每个子任务可以在单独的节点上运行,减小了网络开销。系统基于Map-Reduce技术,使用Apache的开源软件项目Hadoop提供的分布式计算存储框架,具有良好的可扩展性,适合处理大规模文本集上的拷贝检测,电子文本数据集通过磁盘等介质作为输入进入到拷贝检测系统,系统由多台计算机组成的集群对电子文本数据进行处理,将互为拷贝的文档对结果以文件形式输出到磁盘上。此技术方案不能实现MonetDB分布式计算存储,也无法解决数据路由算法和可用的问题。
技术实现思路
本专利技术的目的是为解决目前的技术方案存在不能实现MonetDB分布式计算存储,也无法解决数据路由算法和可用的问题,提供一种。本专利技术解决其技术问题所采用的技术方案是:一种,其特征在于:包括基于P2P通讯的glusterfs节点以及HA的部署步骤、monetdbd节点以及HA部署步骤、m-funnel节点以及HA部署步骤和分布式计算存储的部署步骤,所述glusterfs节点以及HA的部署步骤包括以下子步骤:glusterfs节点子步骤一,分布式系统添加glusterfs节点peer,glusterfs节点子步骤二:创建文件系统,仓Il建目录用作brick,所有节点的brick组成大的存储池,glusterfs节点子步骤三:设置glusterfs的复制份数、条带和权限,glusterfs节点子步骤四:挑选2个或2个以上的glusterfs节点作为nfs的服务端节点,完成HA布置 glusterf s节点子步骤五:配置这几个节点的虚拟IP,并配置虚拟IP的failover,确定主节点和备节点,glusterf s节点子步骤六:monetdbd节点使用这些虚拟IP存储HA,挂载glusterfsnfs 存储;所述monetdbd节点以及HA部署步骤包括以下子步骤:monetdbd节点子步骤一:monetdbd节点使用glusterfs的虚拟IP挂载glusterfsnfs 存储,monetdbd节点子步骤二:在nfs上初始化数据库集群,monetdbd节点子步骤三:主节点启动数据库集群,并创建数据库,monetdbd 节点子步骤四:配置 discovery,sharedtag ;monetdbd节点子步骤五:配置HA,多台主机共享数据库集群文件,在同一时间点,只有主节点启动monetdbd进程和虚拟IP,当主节点故障时,切换到备节点,由备节点启动monetdbd进程,并启动虚拟IP,monetdbd节点子步骤六:虚拟IP被用于m-funnel连接;所述m-funnel节点以及HA部署步骤包括以下子步骤:m-funnel节点子步骤一:初始化数据库集群m-funnel节点子步骤二:启动数据库集群,仓Il建m-funnel代理数据库m-funnel节点子步骤三:配置HA,在若干台主机上创建对应的若干个m-funnel代理数据库,m-funnel节点子步骤四:配置haproxy,代理客户端请求,将客户端分发到各个m-funnel 节点,m-funnel节点子步骤五:配置haproxy的后端探测,当m-funnel节点探测失败时,不与这个节点建立新的会话,知道m-funnel节点重新探测成功才允许继续向这个节点建立会话,配置负载均衡算法,m-funnel节点子步骤六:配置haproxyHA,当haproxy主节点故障时,虚拟IP切换到haproxy备节点;所述分布式计算存储的实现步骤包括以下步骤:分布式计算存储子步骤一:在所有的monetdbd节点创建元数据表,插入元数据,元数据包含当前节点号,节点列表,节点个数,节点列表和节点个数一致,分布式计算存储子步骤二:在所有的monetdbd节点创建动态接口函数,动态接口函数由人工设定,分布式计算存储子步骤三:在所有的monetdbd节点创建静态接口函数,静态接口函数由人工设定,分布式计算存储子步骤四:客户端连接到haproxy代理端口,测试接口函数。本专利技术主要的创新点为1.在MonetDB的数据节点实现数据选择路由算法,让MonetDB支持分布式计算存储,2.路由算法支持静态选择和动态选择,可用支持更多的应用场景,静态路由算法指用户在调用接口函数时指定运行节点,动态路由算法指根据传入的变量值和路由选择函数决定运行的节点,3.为了提高MonetDB分布式计算存储系统的可用性,为各个组件提供HA功能,解决了 MonetDB分布式计算存储系统单点故障的问题,与传统的MonetDBm-funnel相比带来的效果为传统的m-funnel技术,只能实现所有数据节点执行,不能选择数据节点执行,应用场景比较单一,只能应用于例如负载均衡和数据复制的场景,不能用于大数据场景,本专利技术解决了数据节点路由选择的问题,扩展了 m-funnel的应用场景。作为优选,在glusterfs节点子步骤一中,分布式系统添加glusterfs节点peer后,为了提高1PS能力,使用fIashcache或bcache技术,将SSD设备作为读写缓存设备。作为优选,所述配置负载均衡算法为随机算法和权重算法。作为优选,所述元数据表中必须选择一个静态字段作为哈希函数接收的变量。作为优选,所述monetdbd的路由功能主要包含以下组件:组件一:哈希函数,用于接收一个变量,输出一个哈希值,组件二:节点选择函数,用于接收哈希值,计算并返回节点号,组件三:动态接口函数,用于接收用户传入值,负责具体的逻辑,并返回用户传入值,此组件的用户传入值包含节点选择函数名、节点选择函数变量和其他设定的变量,组件四:静态接口函数,用于接收用户传入值,负责具体的逻辑,组件五:元数据表、存储当前节点号、节点列表和节点个数。本专利技术的实质性效果是:1.同样可以应用在负载均衡场景和数据复制场景,2.还可以应用在大数据分布式存储的场景,并行计算场景,3.利用路由选择算法,将数据分布存储,实现线性的性能提升。【附图说明】图1为本专利技术中的整体架构图;图本文档来自技高网
...

【技术保护点】
一种MonetDB分布式计算存储方法,其特征在于:包括基于P2P通讯的glusterfs节点以及HA的部署步骤、monetdbd节点以及HA部署步骤、m‑funnel节点以及HA部署步骤和分布式计算存储的部署步骤,所述glusterfs节点以及HA的部署步骤包括以下子步骤:glusterfs节点子步骤一,分布式系统添加glusterfs节点peer,glusterfs节点子步骤二:创建文件系统,创建目录用作brick,所有节点的brick组成大的存储池,glusterfs节点子步骤三:设置glusterfs的复制份数、条带和权限,glusterfs节点子步骤四:挑选2个或2个以上的glusterfs节点作为nfs的服务端节点,完成HA布置glusterfs节点子步骤五:配置这几个节点的虚拟IP,并配置虚拟IP的failover,确定主节点和备节点,glusterfs节点子步骤六:monetdbd节点使用这些虚拟IP存储HA,挂载glusterfsnfs存储;所述monetdbd节点以及HA部署步骤包括以下子步骤:monetdbd节点子步骤一:monetdbd节点使用glusterfs的虚拟IP挂载glusterfsnfs存储,monetdbd节点子步骤二:在nfs上初始化数据库集群,monetdbd节点子步骤三:主节点启动数据库集群,并创建数据库,monetdbd节点子步骤四:配置discovery,sharedtag;monetdbd节点子步骤五:配置HA,多台主机共享数据库集群文件,在同一时间点,只有主节点启动monetdbd进程和虚拟IP,当主节点故障时,切换到备节点,由备节点启动monetdbd进程,并启动虚拟IP,monetdbd节点子步骤六:虚拟IP被用于m‑funnel连接;所述m‑funnel节点以及HA部署步骤包括以下子步骤:m‑funnel节点子步骤一:初始化数据库集群m‑funnel节点子步骤二:启动数据库集群,创建m‑funnel代理数据库m‑funnel节点子步骤三:配置HA,在若干台主机上创建对应的若干个m‑funnel代理数据库,m‑funnel节点子步骤四:配置haproxy,代理客户端请求,将客户端分发到各个m‑funnel节点,m‑funnel节点子步骤五:配置haproxy的后端探测,当m‑funnel节点探测失败时,不与这个节点建立新的会话,知道m‑funnel节点重新探测成功才允许继续向这个节点建立会话,配置负载均衡算法,m‑funnel节点子步骤六:配置haproxyHA,当haproxy主节点故障时,虚拟IP切换到haproxy备节点;所述分布式计算存储的实现步骤包括以下步骤:分布式计算存储子步骤一:在所有的monetdbd节点创建元数据表,插入元数据,元数据包含当前节点号,节点列表,节点个数,节点列表和节点个数一致,分布式计算存储子步骤二:在所有的monetdbd节点创建动态接口函数,动态接口函数由人工设定,分布式计算存储子步骤三:在所有的monetdbd节点创建静态接口函数,静态接口函数由人工设定,分布式计算存储子步骤四:客户端连接到haproxy代理端口,测试接口函数。...

【技术特征摘要】

【专利技术属性】
技术研发人员:周正中
申请(专利权)人:杭州斯凯网络科技有限公司
类型:发明
国别省市:浙江;33

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

1