一种IS/DFS-Image分布式文件存储查询系统的制作方法

文档序号:7892076阅读:340来源:国知局
专利名称:一种IS/DFS-Image分布式文件存储查询系统的制作方法
技术领域
本发明涉及分布式文件存储查询,尤其涉及一种IS/DFS-Image分布式文件存储查询系统。
背景技术
分布式文件系统可以将同一网络中的不同计算机上的共享文件夹组织起来,形成一个单独的、逻辑的、层次式的共享文件系统,使用户更加容易访问和管理物理上跨网络分布的文件。目前对于文件的存储及管理一般采用以下几种方式I、集中存储设备如NetApp、NAS,是一种将分布、独立的数据整合为大型、集中化管理的数据中心,以便于对不同主机和应用服务器进行访问的技术。按字面简单说就是连接 在网络上,具备资料存储功能的装置,因此也称为“网络存储器”。它是一种专用数据存储服务器,NAS集中存储指建立一个庞大的数据库,把各种信息存入其中,各种功能模块围绕信息库的周围并对信息库进行录入、修改、查询、删除等操作的组织方式。通俗地讲,NAS是一个具有很大存储容量的设备,它通过集线器或交换机直接连在网络上,使磁盘空间的扩展如同在网络上添加打印机一样简单方便。其缺陷为线性扩容性差;文件高并发访问性能一般;由于采用集中存储方式,所以不支持相同内容的文件只保存一份,比如当有两个文本文件,它里面的内容完全一样,但是文件名称不一样,一个是A,一个是B时,如果采用集中存储方式,存储的时候就会存储两份,A 一份,B 一份,这样就会浪费一定的存储空间。2、NFS网络文件系统,NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件。NFS至少包括两个主要的部分一台服务器,以及至少一台客户机,客户机远程地访问保存在服务器上的数据。其缺点是其线性扩容性能很差;文件高并发访问性能很差;硬件成本中等;不支持相同内容文件只保存一份。3、Mogilefs文件存储系统,Mogilefs是一个分布式文件系统,用于组建分布式文件集群,MogileFS启动的三个组件(存储节点、跟踪器、跟踪用的数据库)。Mogilefs不支持对一个文件内部的随机或顺序读写,因此只适合做一部分应用,如图片存储,静态HTML服务等,这些应用在在文件写入后基本上不需要对文件进行修改,但是可以生成一个新的文件覆盖原有文件。其缺陷为系统简洁性一般,有三个角色tracker、storage和存储文件信息的mysql db ;系统稳定性一般(由于米用Perl语言开发,因此高并发和高负载支持一般);技术文档较少;不支持文件附加属性(meta data);不支持相同内容文件只保存一份;下载文件时不支持文件偏移量;且系统部署繁琐。

发明内容
本发明所要解决的技术问题是提供一种IS/DFS-Image分布式文件存储查询系统,实现了大容量的文件存储和高并发访问时的负载均衡以及软件方式的RAID。本发明解决上述技术问题的技术方案如下一种IS/DFS-Image分布式文件存储查询系统,包括用于存储文件的存储服务器端、用于调度和负载均衡的跟踪服务器端以及客户端,所述客户端通过连接跟踪服务器端,由跟踪服务器端为其分配可用的存储服务器节点,所述存储服务器端通过跟踪服务器端分配的可用的存储服务器节点与客户端之间进行直接通信。进一步,所述存储服务器端包括一个或多个存储服务器组,各存储服务器组之间
相互独立。进一步,所述每个存储服务器组由一台或多台存储服务器组成,每个存储服务器组组内的各存储服务器上存储的文件内容相同。进一步,所述跟踪服务器端包括一台或多台跟踪服务器,每个跟踪服务器之间互不通信,相互独立。采用上述本发明技术方案的有益效果是本发明主要解决了大容量的文件存储 和高并发访问的问题,文件存取时实现了负载均衡以及实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储,支持存储服务器在线扩容,可以支持相同内容的文件只保存一份,节约磁盘空间,也可以保存多份以防止文件丢失。ImDFS尤其适合用来存储小资源文件(如图片、文档、音频、视频等文件)。


图I为本发明实施例中的系统结构示意图;图2为本发明实施例中系统的存储服务器端的结构示意图;图3为本发明实施例中系统的跟踪服务器端的结构示意图。
具体实施例方式以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。本发明实施例提供了一种IS/DFS-Image分布式文件存储查询系统,如图I、图2、图3所示,所述系统包括用于存储文件的存储服务器端101、用于调度和负载均衡的跟踪服务器端102以及客户端103,所述客户端103通过连接跟踪服务器端102,由跟踪服务器端102为其分配可用的存储服务器节点,所述存储服务器端101通过跟踪服务器端102分配的可用的存储服务器节点与客户端之间进行直接通信。在本发明实施例中,所述存储服务器端(storage server)包括一个或多个存储服务器组(storage group),每个storage group之间是完全独立的,不相互通信,但是每个storage group和跟踪服务器端(Tracker server)是会相互通信的。storage server主要负责存储文件,每一个storage group里面又包括一台或多台存储服务器,每个storagegroup组内的各存储服务器上存储的文件内容相同,数据同步只在同组的存储服务器之间进行;组内各个存储服务器是对等的,即各存储服务器节点之间是互备的关系,对数据进行存取时,可以根据key的hash值来决定使用哪台存储服务器。因此任意一个存储服务器节点坏掉都不影响查询使用。Storage server包括多个storage group,每个storage group又包括任意个storage,每个group里的storage是互备关系,每个group里storage之间会进行文件的同步。
所述跟踪服务器端(Tracker server)包括一台或多台跟踪服务器(Tracker),每个tracker之间不通信它只和客户端和storage进行通信。Tracker server作为中心结点,其主要作用是负载均衡和调度,每个tracker之间是互备关系,因此任意一台坏掉都不影响整个查询服务。当客户端连接时首先连接的是Tracker, Tracker这时就会去找存储服务器 端(storage server)可用的storage节点,并把客户端的连接直接转到storage上面,此时tracker的工作就完成了,这时storage节点就可以直接和客户端进行通信。当进行文件上传时,首先连接上tracker,由tracker指定上传的storage group,当tracker指定好storage group后,客户端就会直接把文件上传到指定好的storagegroup,这时文件只需要上传到storage group中的任意一台storage即可,当上传文件成功后,storage就会把上传后生成新的文件ID返回给客户端,同时上传完的文件在storage中会自动同步到这个storage group中的其它的storage中。在IS/DFS-Image分布式文件存储查询系统中,客户端上传文件时,文件ID不是由客户端指定,而是由Storage server生成后返回给客户端的。文件ID中包含了组名、文件相对路径和文件名,Storage server可以根据文件ID直接定位到文件,因此IS/DFS-Image集群中根本不需要存储文件索引信息,这是ImDFS比较轻量级的一个例证。同时,IS/DFS-Image不对文件进行分块存储,与支持文件分块存储的DFS相比,更加简洁高效,并且完全能满足绝大多数互联网应用的实际需要。IS/DFS-Image分布式文件存储查询系统采用了分组存储方式,集群由一个或多个组构成,集群存储总容量为集群中所有组的存储容量之和。一个组由一台或多台存储服务器组成,所有组的文件容量累加就是整个存储系统中的文件容量。一个组可以由一台或多台存储服务器组成,一个组下的存储服务器中的文件都是相同的,组中的多台存储服务器起到了冗余备份和负载均衡的作用。同组内的多台Storage server之间是互备关系,同组存储服务器上的文件是完全一致的。文件上传、下载、删除等操作可以在组内任意一台Storage server上进行。类似木桶短板效应,一个组的存储容量为该组内存储服务器容量最小的那个,由此可见组内存储服务器的软硬件配置最好是一致的。采用分组存储方式的好处是灵活、可控性较强。比如上传文件时,可以由客户端直接指定上传到的组。一个分组的存储服务器访问压力较大时,可以在该组增加存储服务器来扩充服务能力(纵向扩容);当系统容量不足时,可以增加组来扩充存储容量(横向扩各)。在组中增加存储服务器时,冋步已有的文件由系统自动完成,冋步完成后,系统自动将新增服务器切换到线上提供服务。当存储空间不足或即将耗尽时,可以动态添加组。只需要增加一台或多台存储服务器,并将它们配置为一个新的组,这样就扩大了存储系统的容量,所以对大容量文件存储的支持可以通过增加新的storage group使用存储容量线性增长完全满足实际业务需求。IS/DFS-Image分布式文件存储查询系统中的Tracker server也可以有多台,Tracker server和Storage server均不存在单点问题。Tracker server之间是对等关系,组内的Storage server之间也是对等关系。传统的Master-Slave结构中的Master是单点,写操作仅针对Master。如果Master失效,需要将Slave提升为Master,实现逻辑会比较复杂。和Master-Slave结构相比,对等结构中所有结点的地位是相同的,每个结点都是Master,不存在单点问题。
本发明提供的IS/DFS-Image采用Iibevent取代传统的网络通信模型,支持大并发访问,磁盘IO由专门的线程处理,系统负载和连接数之间不存在线性关系,系统负载基本上不受连接数影响,因此磁学适合大中型网站使用,用来存储资源文件(如图片、文档、音频、视频等文件),对于高并发访问并且存储文件数量很大的一些业务需求非常适合。由于IS/DFS-Image对服务器,存储、网络设备要求不高,所以对于那些期望前期投入成本低而又想满足高并发大容量存储的业务需求,IS/DFS-Image可以实现客户的需求。S/DFS-Image可以在不用停止任何现在服务的情况下,通过增加storage group来扩充存储容量(横向扩容)对于线上的应用,如上传、下载文件没有任何影响,只需要修改新增存储组的配置文件并启动新增存储节点的服务即可加入到IS/DFS-Image集群中,对于一些7*24小时的业务环境IS/DFS-Image可以轻松快捷进行存储容量扩展。当存储组里存储服务器访问压力很大或需要增加文件冗余份数时,IS/DFS-Image也可以在不停止任何现在服务的情况下,增加新的服务器到原有组中来减轻存储服务器的压力和提高文件存储冗余份数。对于文件的存储支持多份冗余以防止文件损坏或丢失,文件冗余的份数就是文 件所在组的存储服务器数,文件在同组所有服务器都会有一份拷贝,只要组里有任意一台服务器能对外提供服务就能下载文件。当然如果考虑存储成本或不考虑文件冗余IS/DFS-Image也支持文件上传后只有一份,即组里只有一个存储节点。本发明采用binlog文件记录文件上传、删除等操作,根据binlog进行文件同步。binlog中只记录文件名,不记录文件内容,系统复杂性较低。不需要支持若干标准的文件操作,如目录结构、文件读写权限、文件锁等,系统比较简洁。系统整体性能较高,因为无需支持POSIX标准,可以省去支持POSIX引入的环节,比如采用FUSE来实现mount等,系统更加闻效。IS/DFS-Image在体系架构方面,实现了去中心化,无单点故障,大大提高系统可靠性,能够方便灵活进行系统升级,纵向横向扩展,并且可针对集团企业组合和扩展迅速做出相应的系统调整和变化,极大的适应了用户在不同环境和条件下的需求。对于大量文件的存储,IS/DFS-Image由于采用的分组存储,可以无限制的增加存储组来满足对存储空间的需求,并且都是线性增长。在底层架构设计方面,采用了 Iibevent网络通信模型,支持大并发访问。同时,IS/DFS-Image可以部署在廉价的PC上,存储设备可以是廉价的IDE硬盘,在硬件投入成本方面大大降低,节约了企业成本。随着业务增长,对系统性能和存储容量要求也不断提高,而IS/DFS-Image自身的架构体系也适应这业务的快速增长,对于性能和容量方面的提高,可以通过快速在线增加tracker节点和storage节点实现升级,系统升级方便快捷。IS/DFS-Image集群中所有角色的节点都没有单点故障,tracker节点之间完全对等没有依赖关系,storage节点之间也是对等关联,没有中心节点的概念,集群是任意一个节点坏掉不会影响整个集群,这和其它一些分布式文件系统有本质的区别。IS/DFS-Image内部存储服务器和跟踪服务器可以自动实现负载均衡,同时也可以结合HTTP和反向代理服务器实现负载均衡下载文件。IS/DFS-Image默认是轮询策略,对于后端服务器集群,形成一个环队列的形式,对于每个到达的请求按时间顺序顺次分配给这些后端服务器,在前端调度器与后端服务器之间采用“心跳”方式进行状态检查,如果发现后端服务器宕机,则将其删除;也可以引入权值的概念,能够解决后端服务器性能不均的情况,可以指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况;另一种是基于客户端ip的hash分配策略,对于每个到达的客户请求,直接通过其请求IP进行哈希的映射,通过映射结果获得那一台后端服务器要处理这个请求,这种方式有一个明显的好处是能够保证session的唯一丨丨生;对客户机请求的URL进行哈希操作,这种方式与IP 的哈希方式类似,这样的方式有一个明显的好处是,能够便于内容缓存的实现,对于经常性的资源访问,采用这样的方式会获得非常好的质量;基于服务响应式,按后端服务器的响应时间来分配请求,响应时间短的优先分配。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种IS/DFS-Image分布式文件存储查询系统,其特征在于,包括用于存储文件的存储服务器端、用于调度和负载均衡的跟踪服务器端以及客户端,所述客户端通过连接跟踪服务器端,由跟踪服务器端为其分配可用的存储服务器节点,所述存储服务器端通过跟踪服务器端分配的可用的存储服务器节点与客户端之间进行直接通信。
2.根据权利要求I所述的系统,其特征在于,所述存储服务器端包括一个或多个存储服务器组,各存储服务器组之间相互独立。
3.根据权利要求2所述的系统,其特征在于,所述每个存储服务器组由一台或多台存储服务器组成,每个存储服务器组组内的各存储服务器上存储的文件内容相同。
4.根据权利要求I所述的系统,其特征在于,所述跟踪服务器端包括一台或多台跟踪服务器,每个跟踪服务器之间互不通信,相互独立。
全文摘要
本发明涉及一种IS/DFS-Image分布式文件存储查询系统,包括用于存储文件的存储服务器端、用于调度和负载均衡的跟踪服务器端以及客户端,所述客户端通过连接跟踪服务器端,由跟踪服务器端为其分配可用的存储服务器节点,所述存储服务器端通过跟踪服务器端分配的可用的存储服务器节点与客户端之间进行直接通信。本发明主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡以及实现了软件方式的RAID,可以使用廉价的IDE硬盘进行存储,支持存储服务器在线扩容,可以支持相同内容的文件只保存一份,节约磁盘空间,也可以保存多份以防止文件丢失。ImDFS尤其适合用来存储小资源文件(如图片、文档、音频、视频等文件)。
文档编号H04L29/08GK102664914SQ20121007860
公开日2012年9月12日 申请日期2012年3月22日 优先权日2012年3月22日
发明者冯志强, 官辉, 文彦峰, 李俊 申请人:北京英孚斯迈特信息技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1