分布式文件存储系统及其实现方法技术方案

技术编号:8682771 阅读:152 留言:0更新日期:2013-05-09 02:43
本发明专利技术提供了分布式文件存储系统及其实现方法。其中,该方法包括:文件存储服务器在执行分布式文件读操作或分布式文件写操作时,如果自身未开启分布式文件存储服务,则以广播方式在整个网络中查找是否有其他文件存储服务器启动了分布式文件存储服务,如果是,则在自身满足分布式文件存储服务需求时,从启动了分布式文件存储服务的任一文件存储服务器上同步分布式文件存储服务可运行信息,利用该同步的可运行信息启动分布式文件存储服务,与其他启动了分布式文件存储服务的文件存储服务器构成分布式文件系统,并执行分布式文件读操作或分布式文件写操作。

【技术实现步骤摘要】

本专利技术涉及网络通信技术,特别涉及。
技术介绍
随着数据存储量的增加,分布式文件存储系统得到了广泛发展,但是,目前的分布式文件存储系统都是预先被启动的,与文件存储服务是否启动无关,这样会导致没有文件存储服务时,分布式文件存储系统一直启动,会对文件存储服务的扩展性有影响,提高分布式文件存储系统管理成本,并影响分布式文件存储系统的应用。
技术实现思路
本专利技术提供了,用于动态实现分布式文件存储系统随需启动,避免由于事先启动分布式文件存储服务所带来的诸多问题。本专利技术提供的技术方案包括:一种分布式文件存储系统实现方法,包括:文件存储服务器在执行分布式文件读操作或分布式文件写操作时,如果自身未开启分布式文件存储服务,则以广播方式在整个网络中查找是否有其他文件存储服务器启动了分布式文件存储服务,如果是,则在自身满足分布式文件存储服务需求时,从启动了分布式文件存储服务的任一文件存储服务器上同步分布式文件存储服务可运行信息,利用该同步的可运行信息启动分布式文件存储服务,与其他启动了分布式文件存储服务的文件存储服务器构成分布式文件系统,并执行分布式文件读操作或分布式文件写操作。—种分布式文件存储系统,包括:至少一个文件存储服务器;其中,每一文件存储服务器包括:查找单元、同步单元、启动单元、写操作执行单元、和读操作执行单元;查找单元,用于在所述写操作执行单元执行分布式文件写操作或所述读操作执行单元执行分布式文件读操作时,如果所述文件存储服务器未开启分布式文件存储服务,则以广播方式在整个网络中查找是否有其他文件存储服务器启动了分布式文件存储服务;同步单元,用于在所述查找单元的查找结果为是时,在所述文件存储服务器满足分布式文件存储服务需求时,从启动了分布式文件存储服务的任一文件存储服务器上同步分布式文件存储服务可运行信息;启动单元,用于所述同步单元同步的可运行信息启动分布式文件存储服务,与其他启动了分布式文件存储服务的文件存储服务器构成分布式文件系统,并触发所述写操作执行单元执行分布式文件写操作或所述读操作执行单元执行分布式文件读操作。由以上技术方案可以看出,本专利技术中,文件存储服务器并非事先启动分布式文件存储服务,而是在执行分布式文件读操作或分布式文件写操作时启动分布式文件存储服务,即具有随需启动服务的特性,这完全避免现有技术由于事先启动分布式文件存储服务所带来的诸多问题,节约管理成本。附图说明图1为本专利技术实施例提供的基本流程图;图2为本专利技术实施例提供的图1流程举例示意图;图3为本专利技术实施例提供的写操作流程图;图4为本专利技术实施例提供的步骤301查找写请求需要写入数据的文件是否存在的操作实现流程图;图5为本专利技术实施例提供的文件数据存储结构示意图;图6为本专利技术实施例提供的读操作流程图;图7为本专利技术实施例提供的利用原子查找实现读操作流程图;图8为本专利技术实施例提供的局数据动态同步示意图;图9为本专利技术实施例提供的局数据动态同步实现流程图;图10为本专利技术实施例提供的分布式文件存储系统的结构图。具体实施例方式为了使本专利技术的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本专利技术进行详细描述。参见图1,图1为本专利技术实施例提供的方法流程图。如图1所示,该流程可包括以下步骤:步骤101,文件存储服务器在执行分布式文件读操作或分布式文件写操作时,如果自身未开启分布式文件存储服务,则以广播方式在整个网络中查找是否有其他文件存储服务器启动了分布式文件存储服务,如果是,执行步骤102。优选地,作为本专利技术实施例的一种扩展,步骤101中,当查找结果为否时,则可定期执行上述广播,或者静默,本专利技术并不具体限定。步骤102,在自身满足分布式文件存储服务需求时,从启动了分布式文件存储服务的任一文件存储服务器上同步分布式文件存储服务可运行信息,利用该同步的可运行信息启动分布式文件存储服务,与其他启动了分布式文件存储服务的文件存储服务器构成分布式文件系统,并执行分布式文件读操作或分布式文件写操作。至此,完成图1所示的流程。需要说明的是,在图1所示的流程中,步骤101中,文件存储服务器执行分布式文件读操作或分布式文件写操作是由该文件存储服务器上的应用程序(APP)触发的。下面通过图2举例描述:如图2所示,假设在一个网络中有三台文件存储服务器:serverl至server3。其中,只有serverf启动了分布式文件存储服务,即能够随时执行分布式文件读操作或分布式文件写操作。而当serverl上面启动了应用程序Appl,而Appl需要执行分布式文件读操作或分布式文件写操作时,Appl会调用serverl上的分布式文件存储服务接口,由该服务接口以广播的方式在网络上寻找是否有分布式文件存储服务,此时会找到server2上的分布式文件存储服务,然后Appl会判断serverl是否满足分布式文件存储服务的需求比如硬件需求等,如果满足,则会将serverf上面的分布式文件存储服务可运行信息比如可运行程序以及策略同步到serverl,然后启动serverl上面的分布式文件存储服务,执行分布式文件读操作或分布式文件写操作。这样,serverl和server2采用互为备份的方式构成了分布式文件存储系统。依次类推,则当server3上面运行APP2时,会启动server3上面的分布式文件存储服务,这样就会构成一个serverl至server3组成的分布式文件存储系统。需要说明的是,本专利技术中,当某些server上的应用程序停止时不影响该serve上的分布式文件存储服务。从上面描述可以看出,本专利技术中,文件存储服务器并非事先启动分布式文件存储服务,而是在执行分布式文件读操作或分布式文件写操作时启动分布式文件存储服务,即具有随需启动服务的特性。这完全避免现有技术由于事先启动分布式文件存储服务所带来的诸多问题。另外,在上述步骤101中,文件存储服务器(也即文件存储服务器上的APP,下面为描述简便,均简称为文件存储服务器)执行分布式文件写操作可包括图3所示的流程:参见图3,图3为本专利技术实施例提供的写操作流程图。如图3所示,该流程可包括以下步骤:步骤301,文件存储服务器接收客户端发送的写请求时,查找该写请求需要写入数据的文件是否存在,如果是,返回查找到的文件给客户端,之后执行步骤302,如果否,执行步骤303 ;步骤302,在客户端选择允许文件多版本时,执行步骤303 ;在客户端选择允许文件覆盖时,将所述写请求携带的数据覆盖查找到的其中一个文件中的数据;步骤303,在本地创建新的文件版本号,并将所述写请求携带的数据写入所述文件版本号对应的文件。其中,文件存储服务器创建的文件版本号是依据该文件存储服务器启动文件存储服务的时间点、该文件存储服务器的IP地址以及该文件存储服务器创建该文件版本号的时间点决定。并且,该文件版本号只在写请求时发生改变,而在读请求时不会变化。本专利技术中,之所以为文件创建文件版本号,主要目的是用于区分分布式文件存储系统中不同文件存储服务器上可能出现的同名文件,另外,其也能有助于文件存储服务器对自己管理的相关文件进行命名。至此,完成图3所示的流程。其中,上述步骤301中,查找写请求需要写入数据的文件是否存在的操作具体实现时可包括图4所示的流程。在描述图4所示的流程之前,先描述本文档来自技高网...

【技术保护点】
一种分布式文件存储系统实现方法,其特征在于,该方法包括:文件存储服务器在执行分布式文件读操作或分布式文件写操作时,如果自身未开启分布式文件存储服务,则以广播方式在整个网络中查找是否有其他文件存储服务器启动了分布式文件存储服务,如果是,则在自身满足分布式文件存储服务需求时,从启动了分布式文件存储服务的任一文件存储服务器上同步分布式文件存储服务可运行信息,利用该同步的可运行信息启动分布式文件存储服务,与其他启动了分布式文件存储服务的文件存储服务器构成分布式文件系统,并执行分布式文件读操作或分布式文件写操作。

【技术特征摘要】
1.一种分布式文件存储系统实现方法,其特征在于,该方法包括: 文件存储服务器在执行分布式文件读操作或分布式文件写操作时,如果自身未开启分布式文件存储服务,则以广播方式在整个网络中查找是否有其他文件存储服务器启动了分布式文件存储服务,如果是,则在自身满足分布式文件存储服务需求时,从启动了分布式文件存储服务的任一文件存储服务器上同步分布式文件存储服务可运行信息,利用该同步的可运行信息启动分布式文件存储服务,与其他启动了分布式文件存储服务的文件存储服务器构成分布式文件系统,并执行分布式文件读操作或分布式文件写操作。2.根据权利要求1所述的方法,其特征在于,所述文件存储服务器执行分布式文件写操作包括: Al,所述文件存储服务器接收客户端发送的写请求时,查找该写请求需要写入数据的文件是否存在,如果是,返回查找到的文件给客户端,之后执行步骤A2,如果否,执行步骤A3 ; A2,在客户端选择允许文件多版本时,执行步骤A3 ;在客户端选择允许文件覆盖时,将所述写请求携带的 数据覆盖查找到的其中一个文件中的数据; A3,在本地创建新的文件版本号,并将所述写请求携带的数据写入所述文件版本号对应的文件。3.根据权利要求2所述的方法,其特征在于,步骤A3中,所述文件存储服务器创建的文件版本号是依据该文件存储服务器启动文件存储服务的时间点、该文件存储服务器的IP地址以及该文件存储服务器创建该文件版本号的时间点决定。4.根据权利要求2所述的方法,其特征在于,步骤Al中,查找写请求需要写入数据的文件是否存在包括: All,在本地存储的本地局数据列表中查找所述写请求需要写入数据的文件对应的局数据,如果查找到,提供查找到的局数据给客户端,并执行步骤A12,如果未查找到,执行步骤A12 ;所述文件对应的局数据至少包括:文件的文件版本号、文件的本地路径、以及文件的名称; A12,在本地存储的与所述本地局数据列表对应的本地备份局数据列表中查找所述写请求需要写入数据的文件的备份所对应的局数据,如果查找到,提供查找到的局数据给客户端,并执行步骤A13,如果未查找到,执行步骤A13 ;所述文件的备份对应的局数据至少包括:该文件的文件版本号、该文件的本地路径、该文件的名称、以及该文件的备份所在的位置信息; A13,在本地存储的与所述本地局数据列表对应的外地关联数据列表中查找与所述写请求需要写入数据的文件相关联的关联文件所在的位置信息,如果查找到,则利用所述位置信息查找到所述关联文件对应的局数据,提供查找到的局数据给客户端。5.根据权利要求4所述的方法,其特征在于,步骤A3之后进一步包括: A4,文件存储服务器将自身存储的文件备份至启动了分布式文件存储服务、且经过协商确定出的用于备份自身文件的至少一个文件存储服务器,并将自身存储的文件的备份对应的局数据放入本地备份局数据列表中; A5,所述文件存储服务器将存储了与自身存储的文件相关联的文件、且启动了分布式文件存储服务的文件存储器的位置放入本地存储的外地关联数据列表中。6.根据权利要求4所述的方法,其特征在于,所述文件存储服务器执行分布式文件读操作包括: B1,在本地存 储的本地局数据列表中查找读请求需要读数据的文件对应的局数据,如果查找到,提供查找到的局数据给客户端,并执行步骤B2,如果未查找到,执行步骤B2 ; B2,在本地存储的与所述本地局数据列表对应的本地备份数据列表中查找所述读请求需要读数据的文件的备份所对应的局数据,如果查找到,提供查找到的局数据给客户端,并执行步骤B3,如果未查找到,执行步骤B3 ; B3,在本地存储的与所述本地局数据列表对应的外地关联数据列表中查找与所述读请求需要读数据的文件相关联的关联文件所在的位置信息,如果查找到,则利用所述位置信息查找到所述关联文件对应的局数据,提供查找到的局数据给客户端。7.根据权利要求6所述的方法,其特征在于,步骤All、步骤A12、步骤A13、步骤B1、步骤B2、以及步骤B3中的查找为原子查找或者多结果查找; 所述原子查找为使用文件名称、以及文件被创建文件版本号的时间查找;所述多结果查找为仅使用文件名称查找。8.根据权利要求6所述的方法,其特征在于,该方法进一步包括: 在从本地备份数据列表中查找到局数据时,将该查找到的局数据放入与所述本地备份数据列表对应的本地局数据列表中; 在本地存储的外地关联数据列表中查找到关联文件所在的位置信息,且利用该位置信息查找到所述关联文件对应的局数据后,将该查找到的局数据放入与所述外地关联数据列表对应的本地局数据列表中。9.根据权利要求6所述的方法,其特征在于,该方法进一步包括: 在步骤AU、步骤A12、步骤B1、以及步骤B2中查找到局数据时,将该局数据的访问次数加上第一设定值,将得到的结果作为该局数据的当前访问次数;以及在步骤A13、以及步骤B3中查找到位置信息时,将该位置信息的访问次数加上第二设定值,将得到的结果作为该位置信息的当前访问次数; 扫描本地备份数据列表中每一局数据的当前访问次数,如果该当前访问次数达到第一设定阈值、且与所述本地备份数据列表对应的本地局数据列表中存在空闲的存储空间,则将该局数据放入该存储空间中; 扫描本地存储的外地关联数据列表中每一位置信息的当前访问次数,如果该当前访问次数达到第二设定阈值、且与所述本地备份数据列表对应...

【专利技术属性】
技术研发人员:简勤郭正平王全礼曾东廖勤耘柳刘
申请(专利权)人:中国移动通信集团四川有限公司
类型:发明
国别省市:

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

1