[发明专利]一种文件上传方法及系统有效
申请号: | 201310754693.9 | 申请日: | 2013-12-31 |
公开(公告)号: | CN103747080B | 公开(公告)日: | 2017-06-16 |
发明(设计)人: | 叶耀荣;孙子文 | 申请(专利权)人: | 广州亦云信息技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 广州市越秀区哲力专利商标事务所(普通合伙)44288 | 代理人: | 汤喜友 |
地址: | 510260 广东省广州市海珠区新港*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 上传 方法 系统 | ||
技术领域
本发明涉及文件上传方法及系统。
背景技术
如图1所示,目前的分布式文件系统包括主控服务器和数据服务器。主控服务器用于管理文件属性,所述文件属性包括文件在数据服务器中存储的位置。数据服务器用于存储文件,即存储具体的文件内容。客户端是作为上传文件的请求者。例如,步骤1中,客户端向主控服务器申请创建文件,主控服务器检查所管理的文件信息,如果要创建的文件已存在,则返回文件内容所在的存储地址,否则,分配一个新的数据服务器上的存储地址,创建文件信息,并返回。输入:文件名,输出:文件存储所在数据服务器中的位置。步骤2中,客户端向步骤1中返回的数据服务器发送文件内容数据,数据服务器返回写入数据的大小。输入:文件名,文件内容,输出:文件大小。步骤3中,客户端更新主控服务器内文件大小为步骤2中实际写入的大小,主控服务器返回成功或者失败的标志。输入:文件名,文件大小,输出:成功或者失败。
如果多个客户端同时写一个文件,较后执行更新操作的客户端会覆盖之前的更新操作。导致之前的数据更新丢失。针对该问题,现有的解决方案主要是通过对文件加锁来实现,也就是在创建文件时,申请加锁,写完文件后,再释放锁。这种方案需要在服务器上管理大量的锁,消耗服务器的资源,而且为了管理这些锁的创建,回收,系统实现比较复杂,客户端异常崩溃后,这些锁无法正常释放,导致文件无法更新。
发明内容
本发明的目的在于提出一种文件上传方法及系统,其能解决并发更新时,文件内容被覆盖的问题。
为了达到上述目的,本发明所采用的技术方案如下:
一种文件上传方法,其包括以下步骤:
步骤1、客户端向主控服务器发送创建文件请求,所述创建文件请求具有文件名信息;
步骤2、主控服务器将创建文件请求的文件名与其预存的所有文件名进行比对,若没有预存的文件名与所述创建文件请求的文件名匹配,则执行步骤3-7,否则,执行步骤8-12;
步骤3、主控服务器向客户端发送一第一响应创建文件请求数据包,所述第一响应创建文件请求数据包包括新分配的数据服务器的文件存储地址和初始化的文件版本号,并对文件存储地址、初始化的文件版本号和文件名进行关联及保存;
步骤4、客户端根据预设的规则对所述初始化的文件版本号进行更新形成第一变更文件版本号,并向数据服务器发送保存文件请求,所述保存文件请求包括文件名、文件内容、文件存储地址、第一变更文件版本号和所述客户端的唯一识别号信息;
步骤5、数据服务器根据保存文件请求,创建并保存对应的文件,计算所述文件的数据大小,并将所述文件的数据大小信息发送给客户端;所述文件具有文件标识,所述文件标识由文件名、第一变更文件版本号和唯一识别号构成;
步骤6、客户端向主控服务器发送更新文件请求,所述更新文件请求具有数据大小信息和文件标识;
步骤7、主控服务器接收更新文件请求,将文件标识的文件名与其预存的文件名进行匹配得到与所述文件名关联的初始化的文件版本号,根据预设规则对关联的初始化的文件版本号进行更新形成第二变更文件版本号,将第一变更文件版本号与第二变更文件版本号进行比对,若相同,则接受所述第二变更文件版本号的更新以及将更新文件请求的数据大小与第二变更文件版本号进行关联,并向客户端发送操作成功信息,否则,拒绝所述第二变更文件版本号的更新,并向客户端发送操作失败信息,流程结束;
步骤8、主控服务器向客户端发送一第二响应创建文件请求数据包,所述第二响应创建文件请求数据包包括与创建文件请求的文件名对应的数据服务器的文件存储地址和当前的文件版本号;所述主控服务器存储有与创建文件请求的文件名对应的文件存储地址、当前的文件版本号、唯一识别号、数据大小的关联信息;
步骤9、客户端根据预设的规则对所述当前的文件版本号进行更新形成第三变更文件版本号,并向数据服务器发送保存文件请求,所述保存文件请求包括文件名、文件内容、文件存储地址、第三变更文件版本号和所述客户端的唯一识别号信息;
步骤10、数据服务器根据保存文件请求,将文件存储地址指向的文件进行更新形成变更文件,计算变更文件的数据大小,并将变更文件的数据大小信息发送给客户端;变更文件的文件标识由文件名、第三变更文件版本号和唯一识别号构成;
步骤11、客户端向主控服务器发送更新文件请求,所述更新文件请求具有变更文件的数据大小信息和文件标识;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广州亦云信息技术有限公司,未经广州亦云信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310754693.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种解决侧键腐蚀无法开机的方法及移动终端
- 下一篇:移动终端设备