基于云存储的文件处理方法、系统及服务器集群系统的制作方法

文档序号:7698007阅读:119来源:国知局
专利名称:基于云存储的文件处理方法、系统及服务器集群系统的制作方法
技术领域
本发明涉及数据处理技术领域,特别涉及一种基于云存储的文件处理方法、系统及服务器集群系统。
背景技术
云计算(CloudComputing)是分布式处理(Distributed Computing)、并行处理(Parallel Computing)和网格计算(Grid Computing)的发展,通过网络将庞大的计算处理程序拆分成若干较小的子程序,将这些小程序分别交由多台服务器所组成的系统进行计算,并输出计算结果。云存储是在云计算概念上延伸出来的,指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量不同类型的存储设备通过应用软件集合在一起,实现协同工作,共同对外提供数据存储和业务访问功能。即当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统就需要配置大量的存储设备,此时的云计算系统就转变为一个云存储系统,所以云存储系统就是一个以数据存储和管理为核心的云计算系 统。这个存储系统由多个存储设备组成,通过集群功能、分布式文件系统或类似网格计算等功能联合起来协同工作,并通过一定的应用软件或应用接口,为用户提供一定类型的存储服务和访问服务。现有的云存储方案都是基于整个文件进行存储,即应用软件或者用户将整个文件上传,由于以文件为单位进行存储,这容易造成资源的浪费。例如,当用户上传了一个较大的文件后,如果只修改了该文件的一小部分,此时仍需要重传整个文件;又例如,当用户增加了一个文件版本,即使新增加的文件版本与之前的文件版本差别非常小,用户同样需要将整个新的文件版本上传。由此可知,现有技术的云存储方式,使得用户需要在每一次对文件的局部修改后,都重传整个文件,这不但浪费了系统的存储空间和网络带宽,而且容易导致文件系统的访问速度下降。

发明内容
本发明实施例的目的在于提供一种基于云存储的文件处理方法、系统及服务器集群系统,以解决现有云存储方式浪费系统的存储空间和网络带宽,容易导致文件系统的访问速度下降的问题。为解决上述技术问题,本申请实施例提供一种基于云存储的文件处理方法,是这样实现的一种基于云存储的文件处理方法,包括WEB服务器接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件;WEB服务器向所述客户端返回所述服务器集群为所述新文件生成的文件ID ;所述客户端对所述新文件进行切片,并为每个切片文件生成唯一的切片ID ;所述客户端将切片文件数据包上传给WEB服务器,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据;WEB服务器将所述切片文件数据包中的每个切片文件的切片数据发送到所述服务器集群中的对应服务终端上进行存储,其中,所述服务器集群保存所述文件ID与所述切片ID的对应关系。为解决上述技术问题,本申请实施例还提供一种基于云存储的文件处理系统,是这样实现的一种基于云存储的文件处理系统,包括客户端、WEB服务器和服务器集群,所述WEB服务器,用于接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件,并向所述客户端返回所述服务器集群为所述新文件生成的文件ID ;所述客户端,用于对所述新文件进行切片,并为每个切片文件生成唯一的切片ID, 将切片文件数据包上传给WEB服务器,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据;所述WEB服务器,还用于将所述切片文件数据包中的每个切片文件的切片数据发送到所述服务器集群;所述服务器集群,用于将所述每个切片文件的切片数据存储到对应的服务终端上,以及保存所述文件ID与所述切片ID的对应关系。为解决上述技术问题,本申请实施例还提供一种基于云存储的服务器集群系统,是这样实现的一种基于云存储的服务器集群系统,包括WEB服务器和服务器集群,所述服务器集群中包含若干服务终端,所述WEB服务器,用于接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件,向所述客户端返回所述服务器集群为所述新文件生成的文件ID,接收所述客户端上传的切片文件数据包,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据;所述服务器集群,用于接收所述WEB服务器发送的所述切片文件数据包中的每个切片文件的切片数据,并将每个切片文件的切片数据发送到所述服务器集群中的对应服务终端上进行存储,以及保存所述文件ID与所述切片ID的对应关系。由以上本发明实施例提供的技术方案可见,本申请实施例中WEB服务器接收客户端发送的文件上传请求后,向客户端返回服务器集群为新文件生成的文件ID,客户端对新文件进行切片,并为每个切片文件生成唯一的切片ID,将切片文件数据包上传给WEB服务器,切片文件数据包中的每个切片文件包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据,WEB服务器将切片文件数据包中的每个切片文件的切片数据发送到服务器集群中的对应服务终端上进行存储。本申请实施例通过对文件进行分片处理并在服务器集群中对切片文件进行分布式存储,从而使得基于服务器集群的云存储性能更加优化;应用本申请实施例上传修改后的文件时,由于只需上传用户修改的文件切片,而无需重传整个文件,因此减少了服务器集群中的冗余数据,节省了存储空间,减少了客户端上传文件的时间。


为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本申请实施例所应用的云存储架构的示意图;图2为本申请基于云存储的文件处理方法的第一实施例流程图;图3为本申请基于云存储的文件处理方法的第二实施例流程图;图4为本申请基于云存储的文件处理方法的第三实施例流程图;图5为本申请基于云存储的文件处理方法的第四实施例流程图;图6为本申请基于云存储的文件处理方法的第五实施例流程图; 图7为本申请基于云存储的文件处理方法的第六实施例流程图;图8为本申请基于云存储的文件处理系统的实施例框图;图9为本申请基于云存储的服务器集群系统的实施例框图。
具体实施例方式在如下本发明的多个实施例中提供了一种基于云存储的文件处理方法、系统及服务器集群系统。为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明实施例中技术方案作进一步详细的说明。参见图I,为本申请实施例所应用的云存储架构示意图该云存储架构包括客户端、WEB服务器(Webserver)和服务器集群,其中,服务器集群进一步包括至少一个服务集群整合端(Service Manager)、每个集群服务整合端下可以连接若干服务分配端(Service Master)、每个服务分配端下可以连接若干服务终端(Service Worker)。需要说明的是,图I中示出的服务器集群由多集群系统组成,多系统集群中包括若干单集群系统,每个单集群系统为一个服务分配端和其下连接的若干服务终端,在实际应用时,本申请实施例根据所存储文件的容量大小可以选择采用由多集群系统组成的服务器集群,也可以选择采用由单集群系统组成的服务器集群;另外,图I中仅示出了一台WEB服务器,实际应用中与客户端交互的也可以是WEB服务器集群,此时在接收到某个客户端上传的文件处理请求时,可以通过负载均衡调度将该处理请求分配到某一台WEB服务器上进行处理。综上,图I所示出的云存储架构不应视为对本申请实施例存储架构的限制。图I中,当用户通过客户端软件对文件进行上传、下载或者删除操作时,这些操作命令可以转化为http请求,通过WEB服务器上传到服务器集群进行处理。下面将结合图I示出的系统架构对本申请基于云存储的文件处理实施例进行描述。参见图2,为本申请基于云存储的文件处理方法的第一实施例流程图步骤201 =WEB服务器接收客户端发送的文件上传请求,该文件上传请求用于请求向服务器集群上传新文件。步骤202 =WEB服务器向客户端返回服务器集群为新文件生成的文件ID。
具体的,WEB服务器向服务器集群发送获取新文件的文件ID的请求,服务器集群根据该请求为新文件分配文件ID,服务器集群将文件ID返回给WEB服务器,WEB服务器将文件ID发送给客户端。其中,服务器集群中存储了海量的文件,并且服务器集群为每个文件分配唯一的文件ID,例如,以数字进行顺序编号的文件ID。当为上传请求中的文件分配了唯一文件ID后,服务器集群可以进一步记录该文件ID与上传请求中所包含的信息之间的对应关系,上传请求中所包含的信息可以包括用户ID、文件名称、文件路径等,通过上述对应关系服务器集群可以对文件进行管理维护。步骤203 :客户端对新文件进行切片,并为每个切片文件生成唯一的切片ID。具体的,客户端可对新文件按照预设长度进行分块,生成若干切片文件,其中,当分块后的剩余文件块的长度小于预设长度时,将该剩余文件块作为一个切片文件,根据每个切片文件的文件数据,通过MD5哈希函数等计算每个切片文件的切片ID,该切片ID可以唯一标识一个切片文件。 步骤204 :客户端将切片文件数据包上传给WEB服务器,切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据。步骤205 =WEB服务器将切片文件数据包中的每个切片文件的切片数据发送到服务器集群中的对应服务终端上进行存储,其中,服务器集群保存文件ID与切片ID的对应关系O假设客户端首次向服务器集群上传当前文件,则客户端可首先将当前文件的文件ID和该文件所有切片文件的切片ID上传给WEB服务器,WEB服务器将包含该当前文件的文件ID和所有切片文件的切片ID的查询请求发送到服务器集群,该查询请求用于请求获取存储每个切片文件的服务终端的地址。服务器集群接收到查询请求后,可以保存该文件ID与切片ID之间的对应关系(即相当于保存了组成每个文件的切片文件的信息),服务器集群根据每个切片ID通过一致性哈希算法计算存储每个切片文件的服务终端的地址;服务器集群将服务终端的地址返回给WEB服务器,WEB服务器将切片文件数据包中的每个切片文件的切片数据按照对应的服务终端的地址发送到服务终端上进行存储,其中,服务终端可以存储每个切片文件的切片ID和切片数据的对应关系。下面简单描述一下采用一致性哈希算法计算服务终端地址的过程假设服务器集群中有N台服务器,将这N台服务器在逻辑上排列成一个环,环上的每一台服务器按照顺时针方向编号(编号可以取O至N-1),在计算存储某个切片文件的服务器地址时,可以用该切片文件的切片ID对N取模,假设取模后得到的余数值为K,则从上述哈希环中编号为O的服务器开始顺时针获取哈希环上的第K个服务器,则该第K个服务器即为用于存储该切片文件的服务器。进一步,客户端在上传文件之前,可以先将重复统计请求发送给WEB服务器,以便请求统计服务器集群中是否已经存在了该文件中的切片数据,避免重复上传。即客户端首先对文件进行切片,并通过MD5哈希函数等计算每个切片文件的切片ID,然后将包含了每个切片文件的切片ID的重复统计请求上传给WEB服务器,WEB服务器将重复统计请求转发到服务器集群,服务器集群根据保存的切片ID信息查找是否已经保存过该重复统计请求中所包含的切片ID,对于已经保存的切片ID,说明服务器集群中已经保存了对应的切片文件,无需再进行重复上传,因此服务器集群将切片文件是否重复的信息发送给WEB服务器,WEB服务器将切片文件是否重复的信息发送给客户端,客户端根据切片文件是否重复的信息,将包含不重复切片文件的切片文件数据包上传给WEB服务器;后续,WEB服务器只需要向服务器集群请求存储不重复切片文件的服务终端地址,并依据该地址将不重复切片文件发送到对应服务终端上进行存储即可。在对上传文件进行重复统计时,WEB服务器可以进一步保存用户ID和文件ID之间的对应关系,当不同用户上传同样的文件时,则WEB服务器中可以保存一个文件ID与多个用户ID之间的对应关系;同时,述服务器集群为每个切片ID设置引用计数器,每个引用计数器的计数值初始化为零,根据重复统计结果,当某个切片ID重复时,则将该切片ID的引用计数器的计数值加一。参见图3,为本申请基于云存储的文件处理的第二实施例流程图,该实施例示出了客户端请求上传新文件的过程步骤301 :客户端向WEBServer发送创建新文件的文件上传请求。 当用户想要上传一个新文件时,客户端生成创建新文件的文件上传请求,并将该文件上传请求发送到网络中用于处理该文件上传请求的WEBServer上。该文件上传请求中可以包括用户ID、文件名称和文件存储路径等。步骤302 WEBServer 向 ServiceManager 转发文件上传请求。当本申请实施例中的服务器集群架构为图I中所示的架构时,WEBServer需要将文件上传请求发送到服务器集群中的ServiceManager。步骤303 ServiceManager为该新文件进行统一编码,生成文件ID。服务器集群中包括了海量的文件,并且服务器集群中的ServiceManager可以为每个文件分配唯一的文件ID,例如,以数字进行顺序编号的文件ID。当为上传请求中的文件分配了唯一文件ID后,ServiceManager可以进一步记录该文件ID与上传请求中所包含的信息之间的对应关系,上传请求中所包含的信息可以包括用户ID、文件名称、文件路径等,通过上述对应关系服务器集群可以对文件进行管理维护。步骤304 ServiceManager将该新文件的文件ID返回给WEBServer。步骤305 =WEBServer将新文件的文件ID返回给客户端。参见图4,为本申请基于云存储的文件处理的第三实施例流程图,由于客户端请求上传的新文件可能是与原存储文件相比,仅修改了部分内容的新文件,因此本实施例示出了客户端上传新文件前,获取切片文件重复信息的过程步骤401 :客户端对新文件按照预设长度进行切片,生成若干切片文件。预设长度可以是经过试验计算得到的一个符合系统最优长度的数值,例如,优选的为128k,将新文件顺序分割成若干长度为128K的切片文件,由于新文件的长度可能不为128的整数倍,因此对于分割后剩余的不足128K的数据块,可以将其作为一个切片文件。步骤402 :客户端根据切片文件的切片数据,可通过MD5哈希函数等计算每个切片文件的切片ID。对于分割后生成的每个切片文件,可以使用MD5哈希函数根据切片文件的切片数据生成唯一标识该切片文件的切片ID。步骤403 :客户端向WEBServer发送重复统计请求,该重复统计请求中包含每个切片文件的切片ID。
由于客户端上传的新文件可能是修改了部分数据的某个已有文件,因此如果重传所有文件数据将导致服务器集群中产生冗余数据,因此本申请实施例可以向服务器集群查询新文件中的每个切片文件是否重复。客户端向WEBServer发送重复统计请求,该重复统计请求中包含每个切片文件的切片ID。步骤404 WEBServer 向 ServiceManager 转发重复统计请求。步骤405 ServiceManager获取用于存储切片文件的ServiceMaster。由于本申请实施例釆用了如图I所示的云存储服务器集群架构,因此在服务器集群内部,处于上层的ServiceManager可以通过一致性哈希算法获取用于存储切片文件的ServiceMaster,同理,处于上层的ServiceManager可以通过一致性哈希算法获取用于存储切片文件的ServiceWorker。其中,ServiceManager和ServiceMaster根据切片ID,分别通过一致性哈希算法获取下层的ServiceMaster和ServiceWorker时的过程与步骤205中的描述一致,在此不 再赘述。ServiceManager在向某个ServiceMaster转发重复统计请求时,该重复统计请求中包含了通过一致性哈希算法计算的由该ServiceMaster存储的切片数据的对应的切片ID0步骤406 ServiceManager将重复统计请求转发给获取的ServiceMaster。步骤407 !ServiceMaster通过一致性哈希算法计算存储切片文件的ServiceWorker 的地址。ServiceMaster在向某个ServiceWorker转发重复统计请求时,该重复统计请求中包含了通过一致性哈希算法计算的由该ServiceWorker存储的切片数据的对应的切片ID0步骤408 !ServiceMaster按照ServiceWorker的地址将重复统计请求转发给相应的 ServiceWorker0步骤409 =ServiceWorker查找是否已保存重复统计请求中的切片ID。如果从ServiceWorker中查找到重复统计请求中的切片ID,则说明该ServiceWOTker中已经保存了与该切片ID对应的切片数据,即该切片ID对应的切片数据已
经重复,无需再上传。步骤410 =ServiceWorker将切片文件是否重复的信息发送给ServiceMaster。ServiceWorker可以仅将统计出的不重复的切片文件的切片ID返回给ServiceMaster,同时返回用于存储该切片文件的ServiceWorker的地址。步骤411 !ServiceMaster将切片文件是否重复的信息转发给ServiceManager。步骤412 =ServiceManager将切片文件是否重复的信息转发给WEBServer。WEBServer保存了需要上传的不重复的切片文件的切片ID和对应的ServiceWorker 的地址。步骤413 WEBServer将切片文件是否重复的信息发送给客户端。最终,客户端接收到的切片文件是否重复的信息中可以只包括经过重复统计后的不重复的切片文件的切片ID。需要说明的是,如果每一次上传新文件时,ServiceManager中都保存已上传切片文件的切片ID,则每一次判断待上传切片文件是否重复的时候,可以直接将切片ID发送到ServiceManager中进行查询,如果存在该切片ID,则对应的切片文件重复,如果不存在该切片ID,则对应的切片文件不重复。参见图5,为本申请基于云存储的文件处理的第四实施例流程图,该实施例示出了根据获取的切片文件是否重复的信息上传切片文件的过程步骤501 :客户端向WEBServer上传不重复的切片文件的切片ID和切片数据。在图4示出的第三实施例中,客户端已经获得了待上传新文件中不重复的切片文件信息,因此本实施例中客户端只需要向WEBServer上传不重复的切片文件的切片ID和切片数据即可。步骤502 =WEBServer根据接收到的切片文件的切片ID查找用于存储该切片文件的 ServiceWorker 的地址。根据前述第三实施例可知,在WEBServer中保存了服务器集群中的 Servicefforker返回的待上传的不重复的切片文件的切片ID和对应的ServiceWorker的地址,因此根据客户端上传的切片文件的切片ID查找存储该切片文件的切片数据的Servicefforker 的地址。 步骤503 WEBServer按照ServiceWorker的地址将切片文件发送到对应的Servicefforker 上。步骤504 :ServiceWorker保存接收到的切片文件。进一步地,在步骤504之后,还可以包括步骤505 Servicefforker向WEBServer返回存储完成的应答消息。步骤506 =WEBServer向客户端转发存储文成的应答消息。参见图6,为本申请基于云存储的文件处理的第五实施例流程图,该实施例示出了客户端请求下载文件的过程步骤601 :客户端向WEBServer发送下载文件的下载请求,该下载请求中包含所要下载文件的文件ID。步骤602 WEBServer 向 ServiceManager 转发该下载请求。该下载请求用于从服务器集群中请求获取组成该下载文件的所有切片文件的信
肩、O步骤603 =ServiceManager根据一致性哈希算法获取用于存储切片文件的ServiceMaster。在服务器集群内部,处于上层的ServiceManager可以通过一致性哈希算法获取用于存储该新文件的切片文件的ServiceMaster,同理,处于上层的ServiceMaster可以通过一致性哈希算法获取用于存储切片文件的ServiceWorker。具体的,ServiceManager根据文件上传时保存的文件ID与切片ID的对应关系,获取与该下载请求中的文件ID对应的所有切片ID。本申请实施例按照切片文件上传时遵循的一致性哈希算法即可根据切片ID获取保存该切片文件的ServiceMaster,以及该ServiceMaster 下的 ServiceWorker0其中,在获取ServiceMaster时,假设服务器集群中ServiceManager下有N台ServiceMaster,将这N台ServiceMaster在逻辑上排列成一个环,环上的每一台ServiceMaster按照顺时针方向编号(编号可以取O至N_l),在计算存储某个切片文件的切片数据的ServiceMaster地址时,可以用该切片文件的切片ID对N取模,假设取模后得到的余数值为K,则从上述哈希环中编号为O的ServiceMaster开始顺时针获取哈希环上的第K个ServiceMaster,则该第K个ServiceMaster即为用于存储该切片文件的切片数据的ServiceMaster。步骤604 ServiceManager将文件的下载请求转发给获取的ServiceMaster。步骤605 ServiceMaster通过一致性哈希算法计算存储该文件的每个切片文件的 ServiceWorker 的地址。本步骤中通过一致性哈希算法计算ServiceMaster下的ServiceWorker的地址的过程与步骤603中计算ServiceManager下的ServiceMaster的过程一致,在此不再赘述。步骤606 !ServiceMaster将存储每个切片文件的ServiceWorker的地址发送给ServiceManager0·
步骤607 ServiceManager将存储每个切片文件的ServiceWorker的地址转发给WEBServer0步骤608 :WEBServer 根据 ServiceWorker 的地址向相应的 ServiceWorker 请求读取切片文件。对于服务器集群中的每个ServiceWorker,其可能需要并行处理多个切片文件的下载请求。因此Servicefforker可以将每个切片文件的下载请求封装成任务加入下载队列中,并启动多线程对任务进行处理。步骤609 :ServiceWorker 将切片文件返回给 WEBServer。步骤610 =WEBServer将接收到的切片文件按照切片顺序组成请求下载的文件。Servicefforker向WEBServer返回的切片文件中包含了每个切片文件的切片数据、切片ID、切片文件在整个文件的切片顺序以及文件ID,WEBSerVer将属于具有同一个文件ID的切片文件按照其切片顺序组成下载文件。步骤611 :WEBServer将请求下载的文件发送给客户端。客户端向WEBServer发送下载请求时,WEBServer可以记录该客户端的用户ID,当组成了下载文件后,按照用户ID将下载文件转发到相应的客户端上。上述实施例中,服务器集群在完成下载文件操作时,可以采用顺序下载每个切片文件的方式进行,例如,ServiceManager顺序获取待下载文件的第一个切片文件,并计算存储该切片文件的ServiceMaster,然后由该ServiceMaster计算存储该切片文件的Servicefforker,向该ServiceWorker发送下载第一个切片文件的请求,以此类推,直到按照切片顺序下载完所有切片文件。参见图7,为本申请基于云存储的文件处理的第六实施例流程图,该实施例示出了客户端请求删除文件的过程步骤701 :客户端向WEBServer发送删除文件的删除请求,该删除请求中包含所要删除文件的文件ID和用户ID。在前述实施例中,对于首次上传的切片文件,ServiceManager中可以保存该切片ID与相应切片文件所属文件的文件ID之间的对应关系,同时为每个切片ID设置一个引用计数器,该引用计数器的计数值初始化为0,后续该切片文件每当被重复上传一次,则该计数器的计数值相应加一。
步骤702 =WEBServer判断保存了删除请求中的文件ID与用户ID的对应关系。如果WEBServer中保存了文件ID与用户ID之间的对应关系,说明客户端用户上传过与文件ID对应的文件,则用于该客户端用户执行删除操作。步骤703 WEBServer 向 ServiceManager 转发该删除请求。该删除请求用于从服务器集群中请求删除组成该删除文件的所有切片文件的信肩、O步骤704 =ServiceManager获取与文件ID对应的所有切片ID。步骤705 =ServiceManager判断每个切片ID的计数器的计数值是否为零,如果不为零,则执行步骤706 ;否则,执行步骤707。 步骤706 :将切片ID的计数器的计数值减一。如果切片ID的计数器的计数值不为零,则说明该切片ID对应的切片数据由客户端用户进行过重复上传,因此相应的将切片ID的计数器的计数值减一即可,表示系统中对于该计数器的计数值的修改少一。将该计数器的计数值将所述步骤707 =ServiceManager根据一致性哈希算法获取用于存储切片文件的ServiceMaster。如果切片ID的计数器的计数值为零,则说明该切片ID对应的切片数据在系统中仅有一份,没有其它客户端用户对其进行操作,因此可以删除该切片ID对应的切片数据本身。在服务器集群内部,处于上层的ServiceManager可以通过一致性哈希算法获取用于存储该文件的切片文件的ServiceMaster,同理,处于上层的ServiceMaster可以通过一致性哈希算法获取用于存储切片文件的Servicefforker。步骤708 ServiceManager将文件的删除请求转发给获取的ServiceMaster。步骤709 ServiceMaster通过一致性哈希算法计算存储该文件的每个切片文件的 ServiceWorker 的地址。本实施例中通过一致性哈希算法计算用于存储每个切片文件的ServiceWorker的地址的过程与前述第六实施例中的描述一致,在此不再赘述。步骤710 !ServiceMaster 根据 ServiceWorker 的地址向相应的 ServiceWorker 发送删除切片文件的请求,该请求中包含了待删除切片文件的切片ID。步骤711 :ServiceWorker根据切片ID删除其上存储的相应切片文件。上述实施例中,服务器集群在完成删除文件操作时,可以采用顺序删除每个切片文件的方式进行,例如,ServiceManager顺序获取待删除文件的第一个切片文件,并计算存储该切片文件的ServiceMaster,然后由该ServiceMaster计算存储该切片文件的ServiceWorker,向该ServiceWorker发送删除第一个切片文件的请求,此时可以ServiceWorker可以判断该切片文件是否处于被读写的状态,如果未处于被读写的状态,则可以执行删除该切片文件的操作,以此类推,直到按照切片顺序删除完所有切片文件。与本申请基于云存储的文件处理方法的实施例相对应,本发明还提供了基于云存储的文件处理系统及服务器集群系统的实施例。参见图8,为本申请基于云存储的文件处理系统的实施例框图该系统包括客户端810、WEB服务器820和服务器集群830。
其中,所述WEB服务器820,用于接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件,并向所述客户端返回所述服务器集群为所述新文件生成的文件ID ;所述客户端810,用于对所述新文件进行切片,并为每个切片文件生成唯一的切片ID,将切片文件数据包上传给WEB服务器820,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据;所述WEB服务器820,还用于将所述切片文件数据包中的每个切片文件的切片数据发送到所述服务器集群830 ;所述服务器集群830,用于将所述每个切片文件的切片数据存储到对应的服务终端上,以及保存所述文件ID与所述切片ID的对应关系。进一步,所述客户端810,还用于将重复统计请求发送给所述WEB服务器,所述重 复统计请求中包含每个切片文件的切片ID ;所述WEB服务器820,还用于将所述重复统计请求转发到所述服务器集群;所述服务器集群830,还用于根据所述重复统计请求中的切片ID查找已保存的切片ID,如果查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件重复,如果未查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件不重复,并将每个切片文件是否重复的信息发送给所述WEB服务器;所述WEB服务器820,还用于将所述切片文件是否重复的信息发送给所述客户端;所述客户端810,具体用于根据所述切片文件是否重复的信息,将包含不重复切片文件的切片ID和切片数据的切片文件数据包上传给所述WEB服务器。进一步,所述WEB服务器820,还用于向所述服务器集群发送获取存储切片文件地址的查询请求;所述服务器集群830,还用于根据每个切片文件的切片ID,通过一致性哈希算法计算存储每个切片文件的服务终端的地址;所述WEB服务器820,具体用于将所述切片文件数据包中的每个切片文件按照对应的服务终端的地址发送到服务终端上进行存储。进一步,所述客户端810,还用于向所述WEB服务器发送文件下载请求,所述文件下载请求中包含客户端请求下载文件的文件ID ;所述WEB服务器820,还用于将所述文件下载请求发送给所述服务器集群;所述服务器集群830,还用于向所述WEB服务器发送存储与所述文件ID对应的文件的每个切片文件的服务终端的地址;所述WEB服务器820,还用于根据所述服务终端的地址从对应的服务终端上获取每个切片文件,并将所述切片文件按照切片顺序组成所述请求下载的文件,并将所述文件发送给所述客户端。进一步,所述WEB服务器820,还用于当所述文件上传请求中还包含所述客户端的用户ID时,保存所述文件ID与所述用户ID之间的对应关系;所述服务器集群830,还用于为每个切片ID设置引用计数器,所述引用计数器的计数值初始化为零,当确定与切片ID对应的切片文件重复时,将所述切片ID的引用计数器的计数值加一。
进一步,所述客户端810,还用于向所述WEB服务器发送文件删除请求,所述文件删除请求中包含所述客户端请求删除文件的文件ID和用户ID ;所述WEB服务器820,还用于当保存了所述删除请求中保存的文件ID和用户ID的对应关系时,将所述文件删除请求发送给所述服务器集群;所述服务器集群830,还用于根据所述文件ID获取对应的切片ID,并判断所述切片ID的引用计数器的计数值是否为零;当切片ID的计数器的计数值为零,所述服务器集群获取存储所述请求删除文件的每个切片文件的服务终端,服务器集群向对应的服务终端转发所述文件删除请求,接收到所述文件删除请求的服务终端删除组成所述请求删除文件的切片文件;当切片ID的计数器的计数值不为零,则将所述切片ID的计数器的计数值减一。其中,服务器集群830可以包括(图8中未示出) 至少一个服务集群整合端、与每个服务集群整合端相连的若干服务分配端、以及与每个服务分配端相连的若干服务终端;所述服务集群整合端用于与WEB服务器进行交互,并将交互数据向下依次传输到对应的服务分配端,并由服务分配端将交互数据传输到对应的服务终端。参见图9,为本申请基于云存储的服务器集群系统的实施例框图该服务器集群系统包括WEB服务器910和服务器集群920,其中服务器集群920包含若干服务终端921,为了示例方便,图9中仅示出了三个服务终端921。其中,所述WEB服务器910,用于接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件,向所述客户端返回所述服务器集群为所述新文件生成的文件ID,接收所述客户端上传的切片文件数据包,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据;所述服务器集群920,用于接收所述WEB服务器发送的所述切片文件数据包中的每个切片文件的切片数据,并将每个切片文件的切片数据发送到所述服务器集群中的对应服务终端上进行存储,以及保存所述文件ID与所述切片ID的对应关系。进一步,所述WEB服务器910,还用于接收客户端发送的重复统计请求,所述重复统计请求中包含每个切片文件的切片ID,并将所述重复统计请求转发到所述服务器集群;所述服务器集群920,还用于根据所述重复统计请求中的切片ID查找已保存的切片ID,如果查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件重复,如果未查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件不重复,以及将每个切片文件是否重复的信息发送给所述WEB服务器;所述WEB服务器910,还用于将所述切片文件是否重复的信息发送给所述客户端,以使所述客户端根据所述切片文件是否重复的信息,将包含不重复切片文件的切片ID和切片数据的切片文件数据包上传给所述WEB服务器。进一步,所述WEB服务器910,还用于向所述服务器集群发送获取存储切片文件地址的查询请求;所述服务器集群920,还用于根据每个切片文件的切片ID,通过一致性哈希算法计算存储每个切片文件的服务终端的地址,并将所述服务终端的地址返回给所述WEB服务器;所述WEB服务器910具体用于将所述切片文件数据包中的每个切片文件按照对应的服务终端的地址发送到服务终端上进行存储。进一步,所述WEB服务器910,还用于接收客户端发送的文件下载请求,所述文件下载请求中包含客户端请求下载文件的文件ID,并将所述文件下载请求发送给所述服务器集群;所述服务器集群920,还用于向所述WEB服务器发送存储与所述文件ID对应的文件的每个切片文件的服务终端的地址;所述WEB服务器910,还用于根据所述服务终端的地址从对应的服务终端上获取每个切片文件,并将所述切片文件按照切片顺序组成所述请求下载的文件,并将所述文件发送给所述客户端。进一步,所述WEB服务器910,还用于当所述文件上传请求中还包含所述客户端的用户ID时,保存所述文件ID与所述用户ID之间的对应关系;
所述服务器集群920,还用于为每个切片ID设置引用计数器,所述引用计数器的计数值初始化为零,当确定与切片ID对应的切片文件重复时,将所述切片ID的引用计数器的计数值加一。进一步,所述WEB服务器910,还用于接收所述客户端发送的文件删除请求,所述文件删除请求中包含所述客户端请求删除文件的文件ID和用户ID,并保存了所述删除请求中保存的文件ID和用户ID的对应关系时,将所述文件删除请求发送给所述服务器集群;所述服务器集群920,还用于根据所述文件ID获取对应的切片ID,并判断所述切片ID的引用计数器的计数值是否为零;当切片ID的计数器的计数值为零,所述服务器集群获取存储所述请求删除文件的每个切片文件的服务终端,服务器集群向对应的服务终端转 发所述文件删除请求;当切片ID的计数器的计数值不为零,则将所述切片ID的计数器的计
数值减一;所述服务终端921,用于接收到所述文件删除请求后,删除组成所述请求删除文件的切片文件。其中,服务器集群920可以包括(图9中未示出)至少一个服务集群整合端、与每个服务集群整合端相连的若干服务分配端、以及与每个服务分配端相连的若干所述服务终端;所述服务集群整合端用于与WEB服务器进行交互,并将交互数据向下依次传输到对应的服务分配端,并由服务分配端将交互数据传输到对应的服务终端。通过以上的实施方式的描述可知,本申请实施例中WEB服务器接收客户端发送的文件上传请求后,向客户端返回服务器集群为新文件生成的文件ID,客户端对新文件进行切片,并为每个切片文件生成唯一的切片ID,将切片文件数据包上传给WEB服务器,切片文件数据包中的每个切片文件包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据,WEB服务器将切片文件数据包中的每个切片文件的切片数据发送到服务器集群中的对应服务终端上进行存储。本申请实施例通过对文件进行分片处理并在服务器集群中对切片文件进行分布式存储,从而使得基于服务器集群的云存储性能更加优化;应用本申请实施例上传修改后的文件时,由于只需上传用户修改的文件切片,而无需重传整个文件,因此减少了服务器集群中的冗余数据,节省了存储空间,减少了客户端上传文件的时间。
本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。以上所述的本发明实施方式,并不构成对本发明保护范围的限定。任何在本发明 的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于云存储的文件处理方法,其特征在于,包括 WEB服务器接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件; WEB服务器向所述客户端返回所述服务器集群为所述新文件生成的文件ID ; 所述客户端对所述新文件进行切片,并为每个切片文件生成唯一的切片ID ; 所述客户端将切片文件数据包上传给WEB服务器,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据; WEB服务器将所述切片文件数据包中的每个切片文件的切片数据发送到所述服务器集群中的对应服务终端上进行存储,其中,所述服务器集群保存所述文件ID与所述切片ID的对应关系。
2.根据权利要求I所述的方法,其特征在于,所述WEB服务器向所述客户端返回所述服务器集群为所述新文件生成的文件ID包括 WEB服务器向所述服务器集群发送获取所述新文件的文件ID的请求; 所述服务器集群根据所述请求为所述新文件分配文件ID ; 所述服务器集群将所述文件ID返回给所述WEB服务器; 所述WEB服务器将所述文件ID发送给所述客户端。
3.根据权利要求I所述的方法,其特征在于,所述客户端对所述新文件进行切片,并为每个切片文件生成唯一的切片ID包括 所述客户端对所述新文件按照预设长度进行分块,生成若干切片文件,其中当分块后的剩余文件块的长度小于所述预设长度时,将所述剩余文件块作为一个切片文件; 根据所述每个切片文件的文件数据,通过MD5哈希函数计算每个切片文件的切片ID,所述切片ID用于唯一标识所述切片文件。
4.根据权利要求I所述的方法,其特征在于,所述客户端将切片文件数据包上传给WEB服务器之前,还包括 所述客户端将重复统计请求发送给所述WEB服务器,所述重复统计请求中包含每个切片文件的切片ID ; 所述WEB服务器将所述重复统计请求转发到所述服务器集群; 所述服务器集群根据所述重复统计请求中的切片ID查找已保存的切片ID,如果查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件重复,如果未查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件不重复; 所述服务器集群将每个切片文件是否重复的信息发送给所述WEB服务器; 所述WEB服务器将所述切片文件是否重复的信息发送给所述客户端; 所述客户端将切片文件数据包上传给WEB服务器具体为所述客户端根据所述切片文件是否重复的信息,将包含不重复切片文件的切片ID和切片数据的切片文件数据包上传给所述WEB服务器。
5.根据权利要求I所述的方法,其特征在于,所述客户端将切片文件数据包上传给WEB服务器之后,还包括 所述WEB服务器向所述服务器集群发送获取存储切片文件地址的查询请求; 所述服务器集群根据每个切片文件的切片ID,通过一致性哈希算法计算存储每个切片文件的服务终端的地址; 服务器集群将所述服务终端的地址返回给所述WEB服务器; 所述WEB服务器将所述切片文件数据包中的每个切片文件发送到所述服务器集群中的对应服务终端上进行存储具体为=WEB服务器将所述切片文件数据包中的每个切片文件按照对应的服务终端的地址发送到服务终端上进行存储。
6.根据权利要求I所述的方法,其特征在于,还包括 客户端向所述WEB服务器发送文件下载请求,所述文件下载请求中包含客户端请求下载文件的文件ID ; WEB服务器将所述文件下载请求发送给所述服务器集群; 所述服务器集群向所述WEB服务器发送存储与所述文件ID对应的文件的每个切片文件的服务终端的地址; WEB服务器根据所述服务终端的地址从对应的服务终端上获取每个切片文件; WEB服务器将所述切片文件按照切片顺序组成所述请求下载的文件,并将所述文件发送给所述客户端。
7.根据权利要求4所述的方法,其特征在于,所述文件上传请求中还包含所述客户端的用户ID,所述WEB服务器向所述客户端返回所述服务器集群为所述新文件生成的文件ID后还包括保存所述文件ID与所述用户ID之间的对应关系; 所述方法还包括 所述服务器集群为每个切片ID设置引用计数器,所述引用计数器的计数值初始化为零; 当确定与切片ID对应的切片文件重复时,将所述切片ID的引用计数器的计数值加一。
8.根据权利要求7所述的方法,其特征在于,还包括 客户端向所述WEB服务器发送文件删除请求,所述文件删除请求中包含所述客户端请求删除文件的文件ID和用户ID ; 当所述WEB服务器中保存了所述删除请求中保存的文件ID和用户ID的对应关系时,所述WEB服务器将所述文件删除请求发送给所述服务器集群; 所述服务器集群根据所述文件ID获取对应的切片ID,并判断所述切片ID的引用计数器的计数值是否为零; 当切片ID的计数器的计数值为零,所述服务器集群获取存储所述请求删除文件的每个切片文件的服务终端,服务器集群向对应的服务终端转发所述文件删除请求,接收到所述文件删除请求的服务终端删除组成所述请求删除文件的切片文件;当切片ID的计数器的计数值不为零,则将所述切片ID的计数器的计数值减一。
9.根据权利要求I至8任意一项所述的方法,其特征在于,所述服务器集群包括 至少一个服务集群整合端、与每个服务集群整合端相连的若干服务分配端、以及与每个服务分配端相连的若干服务终端; 所述服务集群整合端用于与WEB服务器进行交互,并将交互数据向下依次传输到对应的服务分配端,并由服务分配端将交互数据传输到对应的服务终端。
10.一种基于云存储的文件处理系统,其特征在于,包括客户端、WEB服务器和服务器集群,所述WEB服务器,用于接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件,并向所述客户端返回所述服务器集群为所述新文件生成的文件ID ; 所述客户端,用于对所述新文件进行切片,并为每个切片文件生成唯一的切片ID,将切片文件数据包上传给WEB服务器,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据; 所述WEB服务器,还用于将所述切片文件数据包中的每个切片文件的切片数据发送到所述服务器集群; 所述服务器集群,用于将所述每个切片文件的切片数据存储到对应的服务终端上,以及保存所述文件ID与所述切片ID的对应关系。
11.根据权利要求10所述的系统,其特征在于, 所述客户端,还用于将重复统计请求发送给所述WEB服务器,所述重复统计请求中包含每个切片文件的切片ID ; 所述WEB服务器,还用于将所述重复统计请求转发到所述服务器集群; 所述服务器集群,还用于根据所述重复统计请求中的切片ID查找已保存的切片ID,如果查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件重复,如果未查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件不重复,并将每个切片文件是否重复的信息发送给所述WEB服务器; 所述WEB服务器,还用于将所述切片文件是否重复的信息发送给所述客户端; 所述客户端,具体用于根据所述切片文件是否重复的信息,将包含不重复切片文件的切片ID和切片数据的切片文件数据包上传给所述WEB服务器。
12.根据权利要求10所述的系统,其特征在于, 所述WEB服务器,还用于向所述服务器集群发送获取存储切片文件地址的查询请求;所述服务器集群,还用于根据每个切片文件的切片ID,通过一致性哈希算法计算存储每个切片文件的服务终端的地址; 所述WEB服务器,具体用于将所述切片文件数据包中的每个切片文件按照对应的服务终端的地址发送到服务终端上进行存储。
13.根据权利要求10所述的系统,其特征在于, 所述客户端,还用于向所述WEB服务器发送文件下载请求,所述文件下载请求中包含客户端请求下载文件的文件ID ; 所述WEB服务器,还用于将所述文件下载请求发送给所述服务器集群; 所述服务器集群,还用于向所述WEB服务器发送存储与所述文件ID对应的文件的每个切片文件的服务终端的地址; 所述WEB服务器,还用于根据所述服务终端的地址从对应的服务终端上获取每个切片文件,并将所述切片文件按照切片顺序组成所述请求下载的文件,并将所述文件发送给所述客户端。
14.根据权利要求11所述的系统,其特征在于, 所述WEB服务器,还用于当所述文件上传请求中还包含所述客户端的用户ID时,保存所述文件ID与所述用户ID之间的对应关系;所述服务器集群,还用于为每个切片ID设置引用计数器,所述引用计数器的计数值初始化为零,当确定与切片ID对应的切片文件重复时,将所述切片ID的引用计数器的计数值加一。
15.根据权利要求14所述的系统,其特征在于, 所述客户端,还用于向所述WEB服务器发送文件删除请求,所述文件删除请求中包含所述客户端请求删除文件的文件ID和用户ID ; 所述WEB服务器,还用于当保存了所述删除请求中保存的文件ID和用户ID的对应关系时,将所述文件删除请求发送给所述服务器集群; 所述服务器集群,还用于根据所述文件ID获取对应的切片ID,并判断所述切片ID的引用计数器的计数值是否为零;当切片ID的计数器的计数值为零,所述服务器集群获取存储所述请求删除文件的每个切片文件的服务终端,服务器集群向对应的服务终端转发所述文件删除请求,接收到所述文件删除请求的服务终端删除组成所述请求删除文件的切片文件;当切片ID的计数器的计数值不为零,则将所述切片ID的计数器的计数值减一。
16.根据权利要求10至15任意一项所述的系统,其特征在于,所述服务器集群包括 至少一个服务集群整合端、与每个服务集群整合端相连的若干服务分配端、以及与每个服务分配端相连的若干服务终端; 所述服务集群整合端用于与WEB服务器进行交互,并将交互数据向下依次传输到对应的服务分配端,并由服务分配端将交互数据传输到对应的服务终端。
17.一种基于云存储的服务器集群系统,其特征在于,包括WEB服务器和服务器集群,所述服务器集群中包含若干服务终端, 所述WEB服务器,用于接收客户端发送的文件上传请求,所述文件上传请求用于请求向服务器集群上传新文件,向所述客户端返回所述服务器集群为所述新文件生成的文件ID,接收所述客户端上传的切片文件数据包,所述切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据; 所述服务器集群,用于接收所述WEB服务器发送的所述切片文件数据包中的每个切片文件的切片数据,并将每个切片文件的切片数据发送到所述服务器集群中的对应服务终端上进行存储,以及保存所述文件ID与所述切片ID的对应关系。
18.根据权利要求17所述的系统,其特征在于, 所述WEB服务器,还用于接收客户端发送的重复统计请求,所述重复统计请求中包含每个切片文件的切片ID,并将所述重复统计请求转发到所述服务器集群; 所述服务器集群,还用于根据所述重复统计请求中的切片ID查找已保存的切片ID,如果查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件重复,如果未查找到所述重复统计请求中的切片ID,则确定与所述切片ID对应的切片文件不重复,以及将每个切片文件是否重复的信息发送给所述WEB服务器; 所述WEB服务器,还用于将所述切片文件是否重复的信息发送给所述客户端,以使所述客户端根据所述切片文件是否重复的信息,将包含不重复切片文件的切片ID和切片数据的切片文件数据包上传给所述WEB服务器。
19.根据权利要求17所述的系统,其特征在于, 所述WEB服务器,还用于向所述服务器集群发送获取存储切片文件地址的查询请求;所述服务器集群,还用于根据每个切片文件的切片ID,通过一致性哈希算法计算存储每个切片文件的服务终端的地址,并将所述服务终端的地址返回给所述WEB服务器; 所述WEB服务器,具体用于将所述切片文件数据包中的每个切片文件按照对应的服务终端的地址发送到服务终端上进行存储。
20.根据权利要求17所述的系统,其特征在于, 所述WEB服务器,还用于接收客户端发送的文件下载请求,所述文件下载请求中包含客户端请求下载文件的文件ID,并将所述文件下载请求发送给所述服务器集群; 所述服务器集群,还用于向所述WEB服务器发送存储与所述文件ID对应的文件的每个切片文件的服务终端的地址; 所述WEB服务器,还用于根据所述服务终端的地址从对应的服务终端上获取每个切片文件,并将所述切片文件按照切片顺序组成所述请求下载的文件,并将所述文件发送给所述客户端。
21.根据权利要求18所述的系统,其特征在于, 所述WEB服务器,还用于当所述文件上传请求中还包含所述客户端的用户ID时,保存所述文件ID与所述用户ID之间的对应关系; 所述服务器集群,还用于为每个切片ID设置引用计数器,所述引用计数器的计数值初始化为零,当确定与切片ID对应的切片文件重复时,将所述切片ID的引用计数器的计数值加一。
22.根据权利要求21所述的系统,其特征在于,还包括 所述WEB服务器,还用于接收所述客户端发送的文件删除请求,所述文件删除请求中包含所述客户端请求删除文件的文件ID和用户ID,并保存了所述删除请求中保存的文件ID和用户ID的对应关系时,将所述文件删除请求发送给所述服务器集群; 所述服务器集群,还用于根据所述文件ID获取对应的切片ID,并判断所述切片ID的引用计数器的计数值是否为零;当切片ID的计数器的计数值为零,所述服务器集群获取存储所述请求删除文件的每个切片文件的服务终端,服务器集群向对应的服务终端转发所述文件删除请求;当切片ID的计数器的计数值不为零,则将所述切片ID的计数器的计数值减 所述服务终端,用于接收到所述文件删除请求后,删除组成所述请求删除文件的切片文件。
23.根据权利要求17至22任意一项所述的系统,其特征在于,所述服务器集群包括 至少一个服务集群整合端、与每个服务集群整合端相连的若干服务分配端、以及与每个服务分配端相连的若干所述服务终端; 所述服务集群整合端用于与WEB服务器进行交互,并将交互数据向下依次传输到对应的服务分配端,并由服务分配端将交互数据传输到对应的服务终端。
全文摘要
本申请公开了一种基于云存储的文件处理方法、系统及服务器集群系统,该方法包括WEB服务器接收客户端发送的文件上传请求;WEB服务器向客户端返回服务器集群为待上传新文件生成的文件ID;客户端对新文件进行切片,并为每个切片文件生成唯一的切片ID;客户端将切片文件数据包上传给WEB服务器,切片文件数据包中包含文件ID、每个切片文件的切片ID和每个切片文件的切片数据;WEB服务器将切片文件数据包中的每个切片文件的切片数据发送到服务器集群中的对应服务终端上进行存储。本申请实施例通过对文件进行分片处理并在服务器集群中对切片文件进行分布式存储,从而使得基于服务器集群的云存储性能更加优化。
文档编号H04L29/08GK102833294SQ20111016440
公开日2012年12月19日 申请日期2011年6月17日 优先权日2011年6月17日
发明者全小飞, 薛贵荣, 卓磊, 宋南, 宋万里, 程晗 申请人:阿里巴巴集团控股有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1