一种电子文档传递和分享的方法和系统的制作方法

文档序号:7651289阅读:204来源:国知局
专利名称:一种电子文档传递和分享的方法和系统的制作方法
技术领域
本发明涉及一种电子文档传递和分享的方法和系统,属于计算机网络技术领域。
背景技术
随着互联网的发展,电子文档越来越多,内容也越来越丰富。人们逐渐从电话、短 信为主的沟通方式,转变为关注如何快捷地将媒体内容如照片、视频等分享给亲朋好友。当 前,人们分享电子文档的主要途径是通过如下方法通过即时通讯软件给好友传递文档。此类方法有较好的及时性,但是因为一般即 时通讯软件的协议是私有的,所以要求好友双方都安装相同的即时通讯软件;另外它不便 于同时向多个好友分享相同的文档。通过电子邮件附件的方式发送文档给好友。电子邮件协议属于公开的互联网标准 协议之一,此方法在分享上有较大的自由度。然而此类方法的缺点在于缺乏及时性,且通常 不能传递大型的文件。通过将文档放到网络空间(如相册网站),然后共享给好友。此类方法同样缺乏及 时性,且操作步骤较多,使用繁复。

发明内容
本发明的目的在于,为了解决现有技术中存在的问题,本发明提供了一种快速便 捷的电子文档传递和分享方法和系统,可以做到即时分享,即发送方传送电子文档的同时 接收方就可进行接收,几乎为同步。本发明的一个方面,提供了一种电子文档传递和分享的方法,包括以下步骤-发送方选择至少一个要分享的电子文档,然后激活文件速递客户端的文件速递 功能;或者先激活文件速递功能,再选择至少一个要分享的电子文档;-文件速递客户端向文件速递服务器发送创建URL请求;-文件速递服务器响应文件速递客户端的请求,生成至少一个URL并将生成的URL 返回给文件速递客户端;-文件速递客户端得到URL后,将要分享的一个或多个电子文档一次或分多次上 传到文件速递服务器;-文件速递服务器接收并存储文件速递客户端上传的数据,并对已上传的数据通 过任何标准协议进行分享;-发送方将文件速递服务器生成的至少一个URL通过任何方式分发给至少一个接 收方;-接收方得到URL后,通过浏览器/其他下载工具,向文件速递服务器请求并下载 至少一个要分享的电子文档的至少一部分数据,从而实现电子文档一边上传一边分享。根据本发明的一个具体但非限制性的实施方案,其中发送方在文件速递客户端上 传数据之前或同时,将URL分发给至少一个接收方。
根据本发明的一个具体但非限制性的实施方案,其中文件速递客户端与文件速递 服务器之间通过私有协议进行通讯;接收方的浏览器/其他下载工具与文件速递服务器之 间通过任何标准协议进行通讯。根据本发明的一个具体但非限制性的实施方案,其中文件速递服务器生成的URL 是基于http协议的URL,以便接收方用Web浏览器或其他支持HTTP下载的软件进行下载。根据本发明的一个具体但非限制性的实施方案,其中文件速递服务器生成至少两 种URL 上传URL和下载URL ;其中上传URL用以上传数据,在文件速递客户端内部使用,而 下载URL用于分发给接收方下载电子文档的内容。根据本发明的一个具体但非限制性的实施方案,可选择性的包括以下一个或多个 步骤-在文件速递客户端向文件速递服务器请求创建URL时,进行用户身份验证;-在文件速递客户端向文件速递服务器请求创建URL的同时,附带上传一部分要 分享的电子文档内容。-在电子文档向服务器上传之前,检查待上传的电子文档在服务器是否已经存 在;-将电子文档发送到文件速递服务器时,如果电子文档比较大,将电子文档分为多 个块,执行多次上传文件数据的操作来上传数据;-在电子文档上传和下载过程,分别对数据加密。本发明的一个方面,提供了一种电子文档传递和分享系统,包括-文件速递客户端,用于与文件速递服务器通讯,请求创建URL并接收服务端返回 的至少一个URL,以及一次或分多次上传数据;-文件速递服务器,用于生成至少一个URL并将生成的URL返回给文件速递客户 端,接收并存储文件速递客户端上传的数据,并对已上传的数据通过任何标准协议进行分 享;其中,文件速递服务器包括-数据接收模块,用于接收文件速递客户端的创建URL请求并返回至少一个URL以及接收文件速递客户端上传的数据;-数据存储模块,用于存储已上传的数据;-数据分享模块,用于将已上传的数据,通过任何标准协议进行分享;-接收方的浏览器/其他下载工具,用于和文件速递服务器通讯,通过从发送方得 到的至少一个URL来获取已上传的数据。根据本发明的一个具体但非限制性的实施方案,其中文件速递客户端与文件速递 服务器之间通过私有协议进行通讯;接收方的浏览器/其他下载工具与文件速递服务器之 间通过任何标准协议进行通讯。根据本发明的一个具体但非限制性的实施方案,其中文件速递服务器生成的URL 是基于HTTP协议的URL,接收方的浏览器/其他下载工具为Web浏览器或其他支持HTTP下 载的工具软件。根据本发明的一个具体但非限制性的实施方案,其中数据接收模块接受文件速递 客户端对待上传的电子文档是否已经存在的查询。本发明具有如下的有益效果
1.本发明不要求电子文档的发送方和接收方安装相同的客户端软件,这就降低了 分享的门槛。2.本发明可以做到即时分享,即发送方传送电子文档的同时接收方就可进行接 收,几乎为同步。根据本发明的方法,在文件内容尚未传递时,已经获得文件下载的URL。数 据上传过程和分享URL给接收方、接收方下载文件内容是完全并行的。这不是像传统的文 件分享那样,要等到将文件上传完毕后,才可以获得文件URL分享给接收方。3.可以同时给多个接收方分享。4.本发明对支持诸如视频等大型文件的传送和分享,效果尤其显著。例如将一 个2GB大小的DVD光碟的内容分享给接收方,上传到网络存储服务器上,再由接收方从网络 存储服务器下载下来可能需要8小时(上传、下载是串行的);运用本发明的方法和系统, 在同等带宽条件下只需要4小时(上传、下载是并行的),提高1倍的工作效率。5.分享快速便捷并具广泛性。本发明采用一套半公开半私有(数据发送端的协 议私有,数据接收端的协议公开)的电子文档传递协议。数据发送端的协议私有并采用专 用软件,可最大程度保证分享的便捷性和发送数据的性能。例如,在网络异常的中断的情形 下,软件可以记录之前哪些数据已经传输成功,从而避免反复去上传已经成功传输的数据; 又如,软件可以检测之前有其他用户已经上传过该文件,从而直接完成数据上传过程。数据 接受端的协议公开,则保证了分享的便捷性和广泛性。只要接收方机器上安装有Web浏览 器,就可以查看分享的文档,这就保证了接收方无论操作系统是Windows还是Linux,无论 他用的是台式机还是手机,均可以便捷地获得所分享的文档。


图1为本发明的电子文档传递的流程示意图。图2为本发明的文件传递和分享系统的结构图。
具体实施例方式下文提供了具体的实施方式并结合附图进一步对本发明进行详细的描述,但本发 明不仅仅限于以下的实施方式。在本发明的电子文档传递过程中,主要涉及三个方面-发送方,即要分享文档的人。发送方的计算机系统要求安装有专用的文件速递客 户端软件,用于与服务器通讯;-服务器,提供文件速递服务功能;-接收方,即接收要分享的电子文档的人。接收方可以是一个或者多个。通常,接 收方只需要有标准的Web浏览器或其他支持HTTP下载的软件,不需要安装专用的文件速递 客户端软件。图1描述了本发明的电子文档传递过程的流程,主要包括以下步骤-发送方选择要分享的电子文档,电子文档可以是一个或若干文件或文件夹。然后 激活文件速递功能,包括但不限于通过菜单或快捷键完成;或者也可以反过来,先激活文件 速递功能,然后选择要分享的电子文档。-文件速递客户端,向文件速递服务器发送创建URL请求。一种可选的实施方式是,在请求创建URL的同时,可附带上传一部分要分享的电子文档内容,以减少网络请求次数。-文件速递服务器响应文件速递客户端的请求,生成至少一个URL并将生成的URL 返回给文件速递客户端。出于安全性的考虑,优选的方式是,文件速递服务器生成至少两种 URL 上传URL和下载URL ;其中上传URL用以上传数据,在文件速递客户端内部使用,而下 载URL用于分发给接收方下载电子文档的内容。-文件速递客户端得到URL后,文件速递客户端向文件速递服务器发送一次或多 次上传文件数据的请求,并将该文件对应的数据传到服务器上。如果文件比较大,文件会分 为多个块,执行多次上传文件数据的操作来上传数据。如果分享的文档不止一个,可以在客 户端通过打包格式(如TAR或者ZIP)将它们打包为单个文件然后上传。-文件速递服务器接收并存储文件速递客户端上传的数据,并对已上传的数据通 过HTTP标准协议或其它已知的标准协议进行分享。-发送方将从服务器得到的至少一个URL通过任何方式,如短信、即时通讯软件、 电子邮件、论坛、博客等进行分发,传递给一个或多个接收方。可以在文件客户端上传数据 之前或同时分发URL。-接收方得到URL后,通过浏览器/其他下载工具,通常为标准的Web浏览器或者 其他支持HTTP下载的软件,向文件速递服务器端发送请求并下载要分享的电子文档的至 少一部分数据。如图1所示,发送方上传一部分数据,接收方就可以下载一部分数据;发送方再上 传一部分数据,接收方就再下载一部分数据。通过这种传递方式,即使在要分享的电子文档 还没有完全传送完毕,接收方就可以获得已上传的数据。图2描述了文件传递和分享系统的结构图。本发明的电子文档传递和分享系统, 包括文件速递客户端1、文件速递服务器2和接收方的浏览器/其他下载工具3。文件速递客户端1负责与文件速递服务器2通讯,请求创建URL并接收服务端返 回的至少一个URL,通常为HTTP URL,以及上传数据等。文件速递服务器2负责生成至少一 个URL并将其返回给文件速递客户端1,接收并存储文件速递客户端1 一次或分多次上传的 数据,并对已上传的数据通过HTTP标准协议或其它已知的标准协议进行分享。一般地,文件速递服务器2包含三个部分数据接收模块201、数据存储模块202、 数据分享模块203。数据接收模块201负责响应文件速递客户端的创建URL请求并返回至少一个URL 以及接收文件速递客户端上传的数据;它还可以包括可选的用户身份验证功能,用以验证 用户权限。还可以包括另外一个可选的查询功能,接受客户端对文件是否已经存在的查询。 数据存储模块202用于存储已经上传的数据。数据分享模块203将已上传的数据,通过任 何标准协议供接收方下载。通常,电子文档不需要全部传送完毕,接收方就可以下载到该文 档已经上传的数据。也就是说,可以边上传边分享。通常,数据分享模块203提供HTTP协 议,以便接收方用Web浏览器下载。也可以提供FTP协议供接收方用FTP软件下载。其它 类似的文件发送的标准协议都可以应用。针对电子文档分享的特点,本发明采用一套半公开半私有的电子文档传递协议, 即数据发送端的协议私有,数据接收端的协议公开,以实现快速便捷地传递电子文档,改善
7用户分享文档的体验。文件速递客户端1与文件速递服务器2之间采用私有协议通讯,即文件速递客 户端与服务器之间自行约定通讯内容。通讯方式的选择可以有很多,比如直接基于TCP socket协议,也可以基于应用层协议如http协议。下面公开一种具体的协议-文件速递客户端向服务器发送创建URL请求。一种优选的实施方式是,该请求可 以传入一个用于身份验证的参数,用以验证用户权限。当然也可以不验证。如果服务器允许 创建URL并上传文件,则返回一系列参数。通常是至少返回2种URL 上传URL (FilePutURL) 和下载URL (FileGetURL),它们可以相同也可以不同。其中上传URL可以是一个或多个URL, 用以上传数据,属于文件速递客户端内部使用;而下载URL也可以是一个或多个URL,需要 传递给接收方以下载文件的内容,属于公开信息。在对图1的描述中,我们将上传URL和下 载URL统一以URL表示。然而考虑到安全性,上传URL和下载URL最好不同,因为将上传 URL传递给接收方是不合适的,上传URL对文件内容有修改权限,容易造成破坏性。-文件速递客户端向服务器发送一次或多次上传文件内容的请求。通常来说,文件 上传需要进行分块处理,需要传入上传URL参数,指示要上传数据的文件。还可以包含数据 偏移量和数据,偏移量表示要上传的数据在文件中的偏移,偏移量和数据一起表示了要上 传的文件内容片断。如果允许,服务端仅需返回ok以表示上传成功。-文件速递客户端向服务器发送一个查询请求,用于检查文件是否存在。作为一个 额外的可选特性,在上传文件之前,文件速递客户端通常还会向服务端询问待上传的文件 在服务端是否已经存在,如果已经存在则不必再上传数据。检查待上传的文件在服务端是 否已经存在,通用的方法是对待上传文件计算它的哈希值(摘要)如SHAl摘要或MD5或其 他的摘要算法,然后到服务器端的数据库中查询对应的摘要是否已经存在,如果有则代表 该文件已经存在于服务端。接收方使用的浏览器/其他下载工具3通常可以是Web浏览器或其他支持HTTP 下载的工具软件,是多数计算机系统的标准配备组件。它负责和文件速递服务端通讯,通过 从发送方得到的URL,通常为HTTP URL来获取分享的数据。接收方的浏览器/其他下载工具3与文件速递服务器2之间采用任何标准协议进 行通讯。通常采用标准的HTTP协议,以便接收方用Web浏览器或其他支持HTTP下载的工 具软件下载。当使用标准的HTTP协议时,数据获取方式可以采用标准的HTTP GET请求,支 持断点续传。服务端实现了如下的GET请求服务端响应一个标准的HTTP GET请求,通常包含2个参数,一个是Get请求的 URL,表示要请求的资源,它也就是之前的创建URL请求返回的下载URL (FileGetURL)。另 一个参数是Range,它是一个{Start,End}对,表示Get请求想要请求的是哪个数据片断。 Range不是必须的,仅在支持断点续传时需要。不传Range表示需要获取整个文件的数据。 如果请求可以被满足,服务器将返回要获取的数据片断。关于HTTP GET请求和断点续传详 细可参阅 RFC2616 (http //www. w3. orR/Protocols/rfc2616/rfc2616-secl4. html),在此 将其内容全部并入本发明。在本发明的具体应用中,还需要额外考虑一些文件传递的安全性问题。比如数据 传输的链路。在文件速递客户端和文件速递服务器端通讯、在浏览器/其他下载工具与文 件速递服务器端通讯,中间都有可能出现数据安全问题。这种数据传输链路上的安全性问题,有比较标准的解决方法,例如使用https协议或某种自定义的非对称加密协议。
另外还应该考虑数据访问的URL的私密性。例如,任何人只要知道URL地址,通过 标准Web浏览器就可以访问到所分享的文档。故此HTTP URL有私密性要求,这个可以通过 增加URL的长度、并让生成URL的足够随机,使得该URL具备不可枚举性。我们知道,一个 160bits的随机密码已经完全满足不可枚举的条件,而对于HTTP URL,我们完全可以生成一 个更长的随机URL (多数的计算机系统中HTTP URL可长达IOM字节甚至更多)。下面用一个具体的实施例详细公开本发明的电子文档传递和分享方法·客户端向服务器发送创建URL请求,调用CreateURL (Token) - > {ok, FilePutURL, FileGetURL}实现。服务器端进行下述步骤-检查用户合法性,如果非法,失败。此过程为网络服务标准过程,此处略过。-生成2 个唯一标识符Uuidl,Uuid2。令 FilePutURL (上传 URL)由 Uuidl+Uuid2 生成;FiIeGetURL (下载 URL)由 Uuidl 生成。-在磁盘中建立Uuidl为命名的逻辑文件(所谓逻辑文件,最简单做法是直接基于 操作系统的文件系统,为了提高效率也可以自己维护),并将Uuid2作为Uuidl逻辑文件的 附加属性(即通过Uuidl可查到Uuid2)。-返回{ok,FiIePutURL (上传 URL) ,FileGetURL (下载 URL) },结束。·客户端向服务器发送一次或多次上传文件内容的请求,通过调用 Upload(FilePutURL,Pos, Data) - > ok实现。服务器端进行下述步骤-由FilePutURL(上传URL)分解出Uuidl,Uuid2。如果Uuidl逻辑文件不存在, 或者Uuidl逻辑文件的附加属性不是这里传入的Uuid2,说明FilePutURL(上传URL)非法, 拒绝。-打开Uuidl逻辑文件,得到文件句柄File。调用pwrite(File,Pos,Data)写入 数据。如果我们直接用操作系统的文件系统,那么Pwrite是标准的系统调用。-返回ok,结束。接收方得到下载URL后,通过标准的Web浏览器或者其他支持HTTP下载的软件, 向文件速递服务器端发送请求并下载要分享的电子文档。·服务端实现Get (FileGetURL, Range) - > Data,这个标准HTTP GET请求提供数 据下载。步骤如下-由FileGetURL(下载URL)分解出Uuidl。如果Uuidl逻辑文件不存在,拒绝。-打开Uuidl逻辑文件,得到文件句柄File。如果Range对应的数据还没有上传, 拒绝。-调用pread(File,Range)-> Data。如果我们直接用操作系统的文件系统,那么 pread是标准的系统调用。-返回Data,结束。以上仅是本发明的具体应用范例,对本发明的保护范围不构成任何限制。凡采用 等同变换或者等效替换而形成的技术方案,均落在本发明权利保护范围之内。
权利要求
1.一种电子文档传递和分享的方法,包括以下步骤-发送方选择至少一个要分享的电子文档,然后激活文件速递客户端的文件速递功能; 或者先激活文件速递功能,再选择至少一个要分享的电子文档; -文件速递客户端向文件速递服务器发送创建URL请求;-文件速递服务器响应文件速递客户端的请求,生成至少一个URL并将生成的URL返回 给文件速递客户端;-文件速递客户端得到URL后,将要分享的一个或多个电子文档一次或分多次上传到 文件速递服务器;-文件速递服务器接收并存储文件速递客户端上传的数据,并对已上传的数据通过任 何标准协议进行分享;-发送方将文件速递服务器生成的至少一个URL通过任何方式分发给至少一个接收方;-接收方得到URL后,通过浏览器/其他下载工具,向文件速递服务器请求并下载至少 一个要分享的电子文档的至少一部分数据,从而实现电子文档一边上传一边分享。
2.根据权利要求1的方法,其特征在于,发送方在文件速递客户端上传数据之前或同 时,将至少一个URL分发给至少一个接收方。
3.根据权利要求1或2的方法,其特征在于,文件速递客户端与文件速递服务器之间通 过私有协议进行通讯;接收方的浏览器/其他下载工具与文件速递服务器之间通过任何标 准协议进行通讯。
4.根据权利要求1或2的方法,其特征在于,文件速递服务器生成的URL是基于http 协议的URL,以便接收方用Web浏览器或其他支持HTTP下载的软件进行下载。
5.根据权利要求1或2的方法,其特征在于,文件速递服务器生成至少两种URL上传 URL和下载URL ;其中上传URL用以上传数据,在文件速递客户端内部使用,而下载URL用于 分发给接收方下载电子文档的内容。
6.根据权利要求1或2的方法,其特征在于,可选择性的包括以下一个或多个步骤 -在文件速递客户端向文件速递服务器请求创建URL时,进行用户身份验证; -在文件速递客户端向文件速递服务器请求创建URL的同时,附带上传一部分要分享的电子文档内容;-在电子文档向服务器上传之前,检查待上传的电子文档在服务器是否已经存在; -将电子文档发送到文件速递服务器时,如果电子文档比较大,将电子文档分为多个 块,执行多次上传文件数据的操作来上传数据;-在电子文档上传和下载过程,分别对数据加密。
7.一种电子文档传递和分享系统,包括-文件速递客户端,用于与文件速递服务器通讯,请求创建URL并接收服务端返回的至 少一个URL,以及一次或分多次上传数据;-文件速递服务器,用于生成至少一个URL并将生成的URL返回给文件速递客户端,接 收并存储文件速递客户端上传的数据,并对已上传的数据通过任何标准协议进行分享;其 中,文件速递服务器包括-数据接收模块,用于接收文件速递客户端的创建URL请求并返回至少一个URL以及接收文件速递客户端上传的数据;-数据存储模块,用于存储已上传的数据;-数据分享模块,用于将已上传的数据,通过任何标准协议进行分享;-接收方的浏览器/其他下载工具,用于和文件速递服务器通讯,通过从发送方得到的 至少一个URL来获取已上传的数据。
8.根据权利要求7的系统,其特征在于,文件速递客户端与文件速递服务器之间通过 私有协议进行通讯;接收方的浏览器/其他下载工具与文件速递服务器之间通过任何标准 协议进行通讯。
9.根据权利要求7或8的方法,其特征在于,文件速递服务器生成的URL是基于HTTP 协议的URL,接收方的浏览器/其他下载工具为Web浏览器或其他支持HTTP下载的工具软 件。
10.根据权利要7或8的方法,其特征在于,数据接收模块接受文件速递客户端对待上 传的电子文档是否已经存在的查询。
全文摘要
本发明涉及一种电子文档传递和分享的方法,包括发送方选择至少一个要分享的电子文档并激活文件速递客户端的文件速递功能;文件速递客户端向文件速递服务器请求生成至少一个URL;文件速递客户端得到URL后,将要分享的电子文档内容发送到文件速递服务器;发送方将文件速递服务器生成的至少一个URL通过任何方式分发给至少一个接收方;接收方得到URL后,通过任何支持对应协议的软件向文件速递服务器请求并下载至少一个要分享的电子文档的至少一部分数据,从而实现电子文档一边上传一边分享。本发明还提供了一种实施所述方法的系统,它不要求电子文档的发送方和接收方安装相同的客户端软件,同时可以做到即时分享,还可以同时给多个好友分享。本发明对支持诸如视频、光盘镜像等大型文件的传送和分享,效果尤为突出。
文档编号H04L12/58GK102148835SQ20111010665
公开日2011年8月10日 申请日期2011年4月27日 优先权日2011年4月27日
发明者许式伟 申请人:许式伟
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1