太阳城集团

  • / 13
  • 下载费用:30 金币  

用于互联网文件的存储方法和系统.pdf

摘要
申请专利号:

CN201310652258.5

申请日:

2013.12.05

公开号:

CN103685493A

公开日:

2014.03.26

当前法律状态:

撤回

有效性:

无权

法律详情: 发明专利申请公布后的视为撤回IPC(主分类):H04L 29/08申请公布日:20140326|||实质审查的生效IPC(主分类):H04L 29/08申请日:20131205|||公开
IPC分类号: H04L29/08; G06F17/30; G06F21/62(2013.01)I 主分类号: H04L29/08
申请人: 北京飞流九天科技有限公司
发明人: 王江
地址: 100013 北京市东城区和平里东街11号院2号楼三层
优先权:
专利代理机构: 中科专利商标代理有限责任公司 11021 代理人: 唐文静
PDF完整版下载: PDF下载
法律状态
申请(专利)号:

CN201310652258.5

授权太阳城集团号:

||||||

法律状态太阳城集团日:

2018.03.27|||2014.04.23|||2014.03.26

法律状态类型:

发明专利申请公布后的视为撤回|||实质审查的生效|||公开

摘要

太阳城集团本发明提供了一种用于互联网文件的存储方法。所述存储方法可以包括:由客户端读取本地文件,并且将所述文件的文件数据发送给服务器;由服务器对接收到的所述文件数据进行加密,然后将加密后的文件数据存储到Mongo数据库以作为所述文件的加密版本;以及由服务器向所述文件分配唯一ID,并且向客户端返回所述唯一ID供以后远程操作所述文件。本发明实施例提高了文件存储系统的安全性和便利性。

权利要求书

权利要求书
1.  一种用于互联网文件的存储方法,包括:
由客户端读取本地文件,并且将所述文件的文件数据发送给服务器;
由服务器对接收到的所述文件数据进行加密,然后将加密后的文件数据存储到Mongo数据库以作为所述文件的加密版本;以及
由服务器向所述文件分配唯一ID,并且向客户端返回所述唯一ID供以后远程操作所述文件。

2.  根据权利要求1所述的方法,其中将文件数据发送给服务器是通过套接字方式实现的。

3.  根据权利要求2所述的方法,其中将文件数据发送给服务器包括:将所述文件数据分成多个数据包,采用多线程将所述多个数据包发送给服务器。

4.  根据权利要求1或2所述的方法,其中将加密后的文件数据存储到Mongo数据库包括:将所述加密后的文件数据分布式地存储到不止一个物理设备上。

5.  根据权利要求1或2所述的方法,还包括:
由服务器对接收到的所述文件数据进行解析,并且记录解析出的所述文件的属性太阳城集团以供检索使用。

6.  一种用于互联网文件的存储系统,包括:
客户端,包括:
读取模块,配置为读取本地文件;以及,
通信模块,配置为将所述文件的文件数据发送给服务器;服务器,包括:
通信模块,配置为从客户端接收文件数据;
加密模块,配置为对接收到的文件数据进行加密;
数据库操作模块,配置为将加密后的文件数据存储到Mongo数据库;以及
文件ID分配模块,配置为向所存储的文件分配唯一ID,
其中所述服务器的通信模块还配置为向客户端返回所述唯一ID;以及所述客户端的通信模块还配置为接收所述唯一ID供以后远程操作所述文件。

7.  根据权利要求6所述的系统,其中所述客户端的通信模块进一步配置为:通过套接字方式将文件数据发送给服务器。

8.  根据权利要求7所述的系统,其中所述客户端的通信模块进一步配置为:将所述文件数据分成多个数据包,采用多线程将所述多个数据包发送给服务器。

9.  根据权利要求6或7所述的系统,其中所述服务器的数据库操作模块进一步配置为:将所述加密后的文件数据分布式地存储到不止一个物理设备上。

10.  根据权利要求6或7所述的系统,其中所述服务器还包括:
处理模块,配置为对接收到的所述文件数据进行解析,并且记录解析出的所述文件的属性太阳城集团以供检索使用。

说明书

说明书用于互联网文件的存储方法和系统
技术领域
本发明一般地涉及计算机领域,具体地涉及用于互联网文件的存储方法和系统。
背景技术
随着互联网的发展,出于备份、共享或者节省本地空间的目的,越来越多的用户选择将文件存储到网络端。传统的文件网络存储是使用HTTP、FTP等通信协议通过互联网把文件传输给服务器,然后直接存储在服务器端的物理磁盘上。这种存储方式的优点在于操作简单。然而,如果服务器上没有Web服务,则文件只能以FTP、SCP等其他方式提供外部访问,不便于对文件的操作。
此外,传统的文件存储方式通常不提供分布式存储、加密存储等存储方式,也不提供检索功能,已经不能满足用户日益丰富的需求。如果需要这些功能,则需要增加其他系统支持才能实现。特别地,检索几乎只能依靠第三方解决方案来实现,例如另外使用关系型数据库存储文件的属性等。这增大了成本和出错概率。
发明内容
本发明的目的在于提供一种改进的用于互联网文件的存储方法和系统,其能够克服上述传统的文件存储方式的缺陷中的至少一部分。本发明的实施例提出使用诸如Mongo数据库之类的非关系型数据库方式来存储互联网文件,提高了所得文件系统的存储和检索性能。本发明的实施例还提出在服务器端对文件数据进行加密后再存储到数据库,提高了安全性。此外,本发明的实施例还提出可以使用套接字(Socket)的方式实现客户端与服务器之间的通信,提高文件数据的传输效率和用户操作的便利性。
根据本发明的第一方面,提供了一种用于互联网文件的存储方法。所述存储方法可以包括:由客户端读取本地文件,并且将所述文件的文件数据发送给服务器;由服务器对接收到的所述文件数据进行加密,然后将加密后的文件数据存储到Mongo数据库以作为所述文件的加密版本;以及由服务器向所述文件分配唯一ID,并且向客户端返回所述唯一ID供以后远程操作所述文件。
在本发明的一些实施例中,将文件数据发送给服务器可以通过套接字方式来实现。
在本发明的一些实施例中,将文件数据发送给服务器可以包括:将所述文件数据分成多个数据包,采用多线程将所述多个数据包发送给服务器。
在本发明的一些实施例中,将加密后的文件数据存储到Mongo数据库可以包括:将所述加密后的文件数据分布式地存储到不止一个物理设备上。
在本发明的一些实施例中,还可以包括:由服务器对接收到的文件数据进行解析,并且记录解析出的文件的属性太阳城集团以供检索使用。
根据本发明的第二方面,提供了一种用于互联网文件的存储系统。所述存储系统可以包括:客户端和服务器。所述客户端可以包括:读取模块,配置为读取本地文件;以及,通信模块,配置为将所述文件的文件数据发送给服务器。所述服务器可以包括:通信模块,配置为从客户端接收文件数据;加密模块,配置为对接收到的文件数据进行加密;数据库操作模块,配置为将加密后的文件数据存储到Mongo数据库;以及文件ID分配模块,配置为向所存储的文件分配唯一ID。所述服务器的通信模块还可以配置为向客户端返回所述唯一ID。所述客户端的通信模块还可以配置为从服务器接收文件的唯一ID供以后远程操作所述文件。
在本发明的一些实施例中,所述客户端的通信模块可以进一步配置为:通过套接字方式将文件数据发送给服务器。
在本发明的一些实施例中,所述客户端的通信模块可以进一步配置为:将所述文件数据分成多个数据包,采用多线程将所述多个数据包发送给服务器。
在本发明的一些实施例中,所述服务器的数据库操作模块可以进一步配置为:将所述加密后的文件数据分布式地存储到不止一个物理设备上。
在本发明的一些实施例中,其中所述服务器还可以包括:处理模块,配置为对接收到的所述文件数据进行解析,并且记录解析出的所述文件的属性太阳城集团以供检索使用。
附图说明
通过下面结合附图说明本发明的优选实施例,将使本发明的上述及其它目的、特征和优点更加清楚,其中:
图1示出了适于实施本发明实施例的通信系统的示意图;
图2示出了根据本发明的一个实施例的用于互联网文件的存储系统的框图;
图3示出了根据本发明的另一个实施例的用于互联网文件的存储系统的框图;以及
图4示出了根据本发明的一个实施例的用于互联网文件的存储方法的流程图。
在附图中,相似的标号表示相似的单元。
具体实施方式
现在将参考附图来详细描述本发明,附图中示出了本发明的说明性实施例,以使得本领域技术人员能够实现本发明。应该注意:以下附图和示例不意味着将本发明的范围限制为单一实施例,相反通过互换和组合不同实施例的一些或全部所述或所示元素形成其他实施例也是可能的。此外,在可以使用已知组件来部分或完全实现本发明的特定元素的情况下,将仅描述这些已知组件中为了理解本发明所必需的那部分组件,且将省略对这些已知组件中其他部分的详细描述,以使得本发明更突出。除非本文中另行指出,否则本领域技术人员应该理解:尽管本发明的一些实施例描述为用软件实形式现,但是本发明不受限于此,而是也可以用硬件、软件和硬件的组合来实现,且反之亦然。除非本文中另行明确 声明,否则在本说明书中,不应将示出了单一组件的实施例视为是限制性的,而是本发明意在包含包括多个相同组件在内的其他实施例,且反之亦然。此外,本发明包含本文中作为示意所引用的已知组件的当前和将来开发的等价物。
总体而言,本发明实施例提供一种用于向客户端提供互联网文件存储的方法和系统,所述客户端可以是各种用户终端,例如但不限于:无线通信设备、手持电子设备、膝上型计算机或个人计算机。在本发明的实施例中,在网络侧(即服务器端)不再是简单地将文件直接存储到物理磁盘上,而是利用Mongo数据库(MongoDB)来存储文件。Mongo数据库是一个基于分布式文件存储的数据库,由C++语言编写,其为WEB应用提供可扩展的高性能数据存储解决方案。Mongo可以支持诸如c/c++、python、php、java、ruby等众多语言的众多操作,如存储、读取、删除、检索、加密等等。理论上,支持Mongo数据库的所有语言均可很方便地在本发明中使用。依靠Mongo数据库的一些特性,在本发明实施例中可以容易地实现分布式部署、内容分发以及文件检索等等。
图1示出了适于实施本发明实施例的通信系统1000的示意图。系统1000包括服务器200-1、200-2和客户端100-1、100-2、100-3。
服务器200-1、200-2可以是与互联网相连的各种提供文件存储功能的服务器。服务器200-1、200-2中的每一个可以包括Mongo数据库,或者与一个或多个Mongo数据库相连。如图所示,服务器200-1可以与Mongo数据库300-1、300-2相连。服务器200-2可以与Mongo数据库300-3相连。尽管图中仅示出了两个服务器200-1、200-2,但是应该理解,可以存在更多或更少的服务器,并且在下文中由附图标记200来统一指代服务器。而且,应该理解,每个服务器200可以包括或耦合更多或更少的Mongo数据库,并且在下文中由附图标记300来统一指代Mongo数据库。此外,不同的服务器200可以与同一Mongo数据库耦合。
客户端100例如可以是:无线手持设备,如蜂窝电话120-1、智能电话、个人数字助理(PDA);具有安装在其中的(无线)网卡、网络适配器和/或网络接口控制器(NIC)的计算机,如笔记本计算机120-2和台式计算机120-3;等等。尽管在图1中示出了三个客户端100-1,120-2 和12-3,但是本领域技术人员应该理解可以包括更多或者更少的用户终端,并且在下文中由附图标记120来统一指代用户终端。
客户端100通过网络400与服务器200通信。可以用任何已知的网络架构拓扑结构来实施网络400。网络400可以是有线网络,如互联网或有线电视网等等。可选地,网络400可以是无线网络,包括但不限于:码分多址(CDMA)网络、通用分组无线服务(GPRS)网络、以及第三代(3G)网络,比如全球演进的增强数据速率(EDGE)、通用移动通信系统(UMTS)和长期演进(LTE)等。可以部署的其它网络通信技术包括例如超移动宽带(UMB)、演进数据优化(EV-DO)、高速分组接入(HSPA)、演进的高速分组接入(HSPA+)等等。本发明在网络400的具体实现方面不受。
图2示出了根据本发明的一个实施例的用于互联网文件的存储系统2000的框图。如图所示,系统2000包括:客户端100和服务器200。
客户端100可以向服务器200上传文件以进行互联网文件存储。客户端100可以包括:读取模块110和通信模块120等等。读取模块110可以配置为读取本地文件。通信模块120负责与服务器200的通信,可以配置为将所读取的文件的文件数据发送给服务器。具体地,通信模块120可以根据客户端与服务器之间的通信协议将读取的文件数据转换成合适格式的二进制数据流,以传输给服务器。
优选地,通信模块120可以配置为通过套接字方式来实现客户端100与服务器200之间的文件传输。此外,为了提高文件传输速度,通信模块120还可以配置为将采用多线程方式实现文件传输。例如,通信模块120可以通过分包的方式,将一个文件的文件数据分批提交至服务器。
应该理解,客户端与服务器之间的通信不限于套接字的方式。在其他实施例中,通信模块120可以通过http或者ftp等方式来与服务器200通信。
服务器200可以接收客户端100上传的文件,并且将该文件存储到Mongo数据库中。服务器200可以包括通信模块210、加密模块220、数据库操作模块230、和文件ID分配模块240。
通信模块210负责与客户端100通信,可以配置为从客户端100接 收文件数据。
加密模块220可以配置为对接收到的文件数据进行加密,以确保用户的隐私。优选地,加密模块220可以配置为对接收到的文件数据的二进制数据直接进行加密。加密模块220可以使用DES、AES、或者定制的加密算法来进行加密,本发明在这方面不受限制。在客户端通过分包的方式向服务器提交数据文件的情况下,加密模块220可以对各个二进制数据包分别进行加密,形成加密后的数据包。
数据库操作模块230可以配置为将加密后的文件数据存储到Mongo数据库300。如上所述,Mongo数据库300可以集成在服务器200内部,也可以位于与服务器200通信耦合的一个或多个其他物理设备上。数据库操作模块230可以将加密后的文件数据存储在单个MongoDB中,或者可以将加密后的文件数据分发给多个物理设备(其中,每个物理设备都必须安装了MongoDB)进行分布式存储。如图所示,数据库操作模块230可以将加密后的各个数据包分发给物理设备1、物理设备2和物理设备3进行存储,甚至可以加密后的数据包分成多个部分,存储到不止一个物理设备上。数据库操作模块230还可以将文件数据提供给Web服务(可以使用任何编程语言)使用。
文件ID分配模块240可以配置为向所存储的文件分配唯一ID。于是,通信模块210可以向客户端100返回该唯一ID。客户端通过通信模块120接收到服务器返回的文件的唯一ID后,可以在以后的太阳城集团根据该唯一ID来远程操作所述文件。例如,可以利用Mongo数据库的检索功能方便地检索文件,更改或者删除文件等等。
可选地,在本发明的一些实施例中,服务器200还可以包括处理模块。该处理模块可以配置为对通信模块210接收到的文件数据进行解析,并且记录解析出的所述文件的属性太阳城集团以供检索使用。例如,处理模块可以对文件数据进行解析处理,获取并记录文件的大小、名称、格式、日期、以及描述文件的其他属性(如上传者)的附属太阳城集团。
可选地,系统2000还包括服务器200’。服务器200’可以从客户端100接收读取文件的请求,并且根据该请求中包含的文件的唯一ID从Mongo数据库中检索出该文件,然后将该文件发送给客户端100。在该 情况下,客户端100的通信模块120也配置为负责与服务器200’进行通信,包括向服务器200’发送读取文件的请求,以及接收服务器200’响应于该请求返回的文件数据。
如图所示,服务器200’可以包括通信模块210’、解密模块220’、数据库操作模块230’。
通信模块210’负责与客户端100(具体地,通信模块120)的通信,可以配置为从客户端100接收读取文件的请求,该请求中包含文件的唯一ID。
数据库操作模块230’可以利用Mongo数据库的检索功能方便地利用读取文件请求中包含的ID来检索文件,根据检索结果获取文件数据。当文件是分布式存储的情况下,数据库操作模块230’可以从多个物理设备上的Mongo数据库中获取该文件的多个加密的数据包。
解密模块220’可以配置为对从Mongo数据获取的加密的文件数据包进行加密。如果所存储的文件包括多个加密的数据包,则解密模块220’可以先对各个加密的文件数据包分别进行解密,并且合成整个文件。
然后,通信模块210’可以将解密模块220’生成的解密后的文件发送给客户端100。与客户端100与服务器200之间的通信类似,可以通过套接字方式来实现客户端100与服务器200’之间的文件传输。此外,为了提高文件传输速度,通信模块210’还可以采用多线程方式实现文件传输。例如,通信模块210’可以通过分包的方式,将该文件的文件数据分批发送给客户端100。
应该理解,客户端与服务器之间的通信不限于套接字的方式。在其他实施例中,通信模块120可以通过http或者ftp等方式来与服务器200通信。
图3示出了根据本发明的一个实施例的用于互联网文件的存储系统3000的框图。如图所示,系统3000包括:客户端100和服务器202。系统3000与系统2000的区别在于:由一个服务器202实现了图2中的服务器200与服务器200’二者的功能。
系统3000中的客户端与系统2000中的客户端类似。如图所示,客户端100包括读取模块110和通信模块120。该客户端100可以通过通 信模块120向服务器202上传文件以进行互联网文件存储,以及向服务器202请求读取文件。
服务器202可以接收客户端100上传的文件,并且将该文件存储到Mongo数据库中。服务器202还可以从客户端100接收读取文件的请求,并且根据该请求中包含的文件的唯一ID从Mongo数据库中检索出该文件,然后将该文件发送给客户端100。
如图所示,服务器202包括:通信模块212、加密解密模块222、数据库操作模块232、和文件ID分配模块242。
通信模块212负责与客户端100通信。通信模块212可以配置为从客户端100接收文件数据或读取文件的请求,以及向客户端100发送文件数据。
加密解密模块222可以配置为对客户端上传的文件数据进行加密,以确保用户的隐私。加密解密模块222还配置为对从Mongo数据库中检索出的加密存储的文件数据进行解密。如果所存储的文件包括多个加密的数据包,则加密解密模块222可以先对各个加密的文件数据包分别进行解密,然后合成整个文件。
数据库操作模块232负责对Mongo数据库进行操作,其可以将加密后的文件数据存储到Mongo数据库300,以及从Mongo数据库300中检索数据。与系统2000类似,Mongo数据库300可以集成在服务器202内部,也可以位于与服务器202通信耦合的一个或多个其他物理设备上。数据库操作模块232可以将加密后的文件数据存储在单个MongoDB中,或者可以将加密后的文件数据分发给多个物理设备(其中,每个物理设备都必须安装了MongoDB)进行分布式存储。同样,数据库操作模块232可以从单个MongoDB中获取特定文件的加密后的文件数据,或者从多个物理设备获取特定文件的加密存储的不同的数据包。
通信模块212集成了图2中的通信模块210和210’的功能。加密解密模块222集成了图2中的加密模块220和加密模块220’的功能。数据库操作模块232集成了图2中的数据库操作模块230和230’的功能。文件ID分配模块242与图2中的文件ID分配模块240相同。为了简洁起见,在此不再对服务器202的各个模块进行进一步详述。
可选地,在本发明的一些实施例中,服务器202还可以包括处理模块。该处理模块可以配置为对通信模块212从客户端接收到的文件数据进行解析,并且记录解析出的所述文件的属性太阳城集团以供检索使用。例如,处理模块可以对文件数据进行解析处理,获取并记录文件的大小、名称、格式、日期、以及描述文件的其他属性(如上传者)的附属太阳城集团。
图4示出了根据本发明的一个实施例的用于互联网文件的存储方法的流程图。方法400可以由图2中的系统2000或者图3中的系统3000来执行。
如图所示,方法400开始于步骤S410。在步骤S410中,客户端读取本地文件,并且将该文件的文件数据发送给服务器。客户端可以根据与服务器之间的通信协议将读取的文件数据转换成合适格式的二进制数据流,以传输给服务器。通过套接字方式来实现客户端100与服务器200之间的文件传输。此外,为了提高文件传输速度,通信模块120还可以配置为将采用多线程方式实现文件传输。例如,通信模块120可以通过分包的方式,将一个文件的文件数据分批提交至服务器。
如上文提到的,客户端与服务器之间的通信不限于套接字的方式。在其他实施例中,可以通过http或者ftp等方式来实现客户端与服务器之间的文件传输。
在步骤S420中,由服务器对客户端上传的文件数据进行加密,再将加密后的文件数据存储到Mongo数据库以作为该文件的加密存储版本。对于给定文件,加密后的文件数据可以存储在单个MongoDB中,或者可以将加密后的文件数据分发给不止一个物理设备(其中,每个物理设备都必须安装了MongoDB)进行分布式存储。
在步骤S430中,服务器向该文件分配唯一ID,并且向客户端返回该唯一ID供以后远程操作所述文件。然后方法400可以结束。
应该理解,步骤S420和步骤S430可以顺序执行也可以并行的执行。在一些实施例中,服务器可以为文件分配唯一ID,然后再对文件数据进行加密存储。
可选地,方法400还可以包括更多的步骤。例如,方法400可以包括解析步骤。在解析步骤中,可以对客户端长传的文件数据进行解析, 并且记录解析出的文件的属性太阳城集团以供检索使用。例如,可以对文件数据进行解析处理,获取并记录文件的大小、名称、格式、日期、以及描述文件的其他属性(如上传者)的附属太阳城集团。
可选地,方法400还可以包括客户端向服务器请求文件的步骤。在存储了文件之后,如果客户端需要远程操作文件(如更改、删除等等),则客户端可以向服务器发送读取文件的请求,该请求包括所请求的文件的唯一ID。应该理解,如图2和图3中所示,存储文件的服务器和请求文件的服务器可以是同一服务器(如服务器202),也可以是不同的服务器(如200和200’)。该服务器可以响应于客户端的请求,根据该请求中包含的文件ID从Mongo数据库中检索出该文件,然后将该文件发送给客户端100。同样,该文件传输可以使用套接字的方式,或者ftp、http等方式。而且,该文件传输可以使用分包的方式,以多线程来实现。
上文已经结合优选实施例对本发明进行了描述。本领域技术人员可以理解,上面示出的方法和设备仅是示例性的。本发明的方法并不局限于上面示出的步骤和顺序。本发明的移动终端和服务器可以包括比示出的部件更多或更少的部件。本领域技术人员根据所示实施例的教导可以进行许多变化和修改。
本发明可以实现诸多优点。本发明提供了一种更加方便和强大的文件存储系统和方法。本发明实施例使用数据库存储文件内容,提高了文件系统的灵活性,增强了文件存储能力。特别地,本发明实施例可以提供加密存储方式,确保了用户隐私安全。而且,依靠MongoDB提供的丰富的API,可以支持各种编程语言快捷地访问存储的文件。作为示例,本发明实施例至少具有下述优点:
1.利用MongoDB已经建立的复制或分片机制,对于文件存储而言,便于执行故障恢复和扩展。与传统的将文件直接存储在服务器端的物理磁盘上的机制而言,本发明的使用Mongo数据库的方案更加鲁棒。
2.因为MongoDB分配数据文件空间是以2GB为单位,所以本发明实施例可以减少磁盘碎片的产生,提高了磁盘利用率。
3.用户可以使用任何一台安装了本发明的客户端程序的、与互联网相连的设备来直接访问文件,而无需部署其他文件访问程序(如FTP等)。
5.利用MongoDB的复制、分片等性能,在本发明实施例中文件的备份、分发等变得安全而方便。
6.通过在存储时对文件的二进制数据进行加密,本发明实施例确保了文件数据的安全,因此确保了用户隐私安全。
本领域技术人员应该理解,尽管通过具体实施例描述了本发明,但是本发明的范围不限于这些具体实施例。本发明的范围由所附权利要求及其任何等同含义限定。

关 键 词:
用于 互联网 文件 存储 方法 系统
  专利查询网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
太阳城集团本文
本文标题:用于互联网文件的存储方法和系统.pdf
链接地址:http://zh228.com/p-6180751.html
太阳城集团我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们

copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备17046363号-1 
 


收起
展开
葡京赌场|welcome document.write ('');