存储文件的方法和装置以及系统的制作方法

文档序号:7556169阅读:165来源:国知局
专利名称:存储文件的方法和装置以及系统的制作方法
技术领域
本发明涉及一种存储文件的方法和装置以及系统。
背景技术
随着互联网以及大数据存储技术的发展,网络存储成为很多互联网用户保存数据的重要方式。网络存储的优势在于,一是存储量大,对用户来说可以认为是无限容量;二是无需用户自行添置存储设备和安装存储管理软件,只要在能够访问到互联网的地方,都可以随时获取网络存储中的数据。在用户进行网络存储时,目前通常是通过网页来上传数据,此时客户端设备一般基于超文本传输协议(HTTP协议),通过模拟超文本标记语言HTML中的FORM表单提交方式来上传文件。文件在上传过程中,客户端发送的HTTP请求中不仅包含FORM表单业务数据,还包含上传文件。目前常见的服务端处理上传文件的主要方式是业务服务器把客户端提交的表单业务数据和文件的数据流分开,文件的数据流被存放到业务系统配置的临时目录中(采用磁盘存储),会生成一个临时文件(如:Struts2)。在执行后续业务逻辑代码时,会把表单业务数据和文件的数据流(该文件句柄指向了本次上传生成的临时文件)传给业务代码,让业务代码处理本次上传的业务逻辑,并读取存在业务服务器中的临时上传文件,再传送到文件存储装置中。目前的上述方式存在的主要问题是向文件存储装置存储文件的效率较低,并且需要占用业务服务器的大量硬盘资源。

发明内容
有鉴于此,本发明提供一种存储文件的方法和装置以及系统,能够较为高效地向文件存储装置存储来 自于网络客户端提供的文件,并且节省业务服务器的硬盘资源。为实现上述目的,根据本发明的一个方面,提供了一种存储文件的方法。本发明的存储文件的方法包括:步骤A:接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;步骤B:解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给文件存储装置;重复所述步骤A和步骤B,直至所述待存文件中的全部数据都已被发送给所述文件存储装置。可选地,在所述步骤B中,先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。根据本发明的另一方面,提供了一种存储文件的装置。本发明的存储文件的装置包括:接收模块,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;解析模块,用于解析所述包含待存文件的数据以获取所述待存文件中的部分数据;发送模块,用于将所述解析模块获取到的所述部分数据发送给文件存储装置。可选地,所述发送模块还用于先将所述解析模块获取到的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。根据本发明的又一方面,提供了一种存储文件的系统。本发明的存储文件的系统包括业务服务器和存储服务器,其中,所述业务服务器,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据,解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给所述存储服务器,直至所述待存文件中的全部数据都已被发送给所述存储服务器;所述存储服务器,用于存储所述文件。可选地,所述业务服务器还用于先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述存储服务器。根据本发明的技术方案,在终端设备基于HTTP协议,以表单形式发送待存储文件时,业务服务器对收到的数据进行实时解析,在解析过程中将其中的文件数据发送给文件存储装置,这种方式避免了 往业务服务器硬盘写数据,并且再从硬盘读数据,提高系统性能,降低整个文件从用户客户端到业务服务器再到文件存储装置的整个文件传输时间;而且无需将文件全部保存到业务服务器内,在终端设备上传文件的同时即向文件存储装置中存储,对于终端设备来说这是一种无阻塞式的向文件存储装置上传文件的过程,存储效率较高,而且节省了业务服务器的硬盘资源。


附图用于更好地理解本发明,不构成对本发明的不当限定。其中:图1是根据本发明实施例的存储文件的方法的基本步骤示意图;图2是根据本发明实施例的存储文件的装置的基本结构的示意图;图3是根据本发明实施例的存储文件的系统的基本结构的示意图。
具体实施例方式以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识至IJ,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。在本实施例中,用户使用终端设备以提交表单的方式发送数据,该数据中包含表单业务数据,也包含用户要存到文件存储装置中的文件。业务服务器在收到该数据后进行解析从而从中获取文件然后发送给文件存储装置。该解析是在接收终端设备发送的数据的过程中实时进行,即每次解析出的是文件中的部分数据,随即发送给文件存储装置,一边接收一边解析、发送,直至文件的全部数据都已被发送给文件存储装置。具体可以采用图1所示的步骤,图1是根据本发明实施例的存储文件的方法的基本步骤示意图。步骤Sll:接收终端设备发送的包含待存文件的数据。本步骤中,终端设备仍是基于HTTP协议,以提交表单的方式发送文件,当然也包含表单业务数据。步骤S12:对步骤Sll中收到的数据进行解析。步骤S13:判断是否解析到待存文件。若是,进入步骤S14 ;否则返回步骤S12。
步骤S14:与文件存储装置建立连接。本步骤中,可以基于HTTP协议建立该连接。步骤S15:将当前解析出的待存文件的数据发送给文件存储装置。在本步骤中,可以先将解析出的待存文件的数据存储在本地,例如缓存在硬盘或内存中开辟的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给文件存储装置。这里的预设值可以是缓存总体的容量。本实施例中,缓存中的数据很快将被发送到文件存储装置中,所以该缓存空间不需太大,这样可以在内存中开辟缓存,以获得较快的读写速度。步骤S16:判断待存文件的数据是否全部被解析出。若是,则结束流程;否则返回步骤S15。图2是根据本发明实施例的存储文件的装置的基本结构的示意图。如图2所示,存储文件的装置20主要包括接收模块21、解析模块22、发送模块23。接收模块21用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;解析模块22用于解析接收模块21接收的数据以获取待存文件中的部分数据;发送模块23用于将解析模块22获取到的所述部分数据发送给文件存储装置。发送模块23还可用于先将解析模块22获取到的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给文件存储装置。图3是根据本发明实施例的存储文件的系统的基本结构的示意图。如图3所示,存储文件的系统30主要包括业务服务器31和存储服务器32。存储服务器32用于存储文件,例如存储图中所示的多个与业务服务器31连接的终端设备33提供的文件。业务服务器31和存储服务器32都可以采用服务器集群来实现。业务服务器31用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据,解析包含待存文件的数据以获取待存文件中的部分数据然后发送给存储服务器32,直至待存文件中的全部数据都已被发送给存储服务器32。业务服务器31还可用于先将获取的部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给存储服务器32。根据本发明实施例的技术方案,在终端设备基于HTTP协议,以表单形式发送待存储文件时,业务服务器对收到的数据进行实时解析,在解析过程中将其中的文件数据发送给文件存储装置,这种方式避免了往业务服务器硬盘写数据,并且再从硬盘读数据,提高系统性能,降低整个文件从用户客户端到业务服务器再到文件存储装置的整个文件传输时间;而且无需将文件全部保存到业务服务器内,在终端设备上传文件的同时即向文件存储装置中存储,对于终端设备来说这是一种无阻塞式的向文件存储装置上传文件的过程,存储效率较高,而且节省了业务服务器的硬盘资源。以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代 码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来开发出的任何存储介质。还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。上述具体实施方式
,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。`
权利要求
1.一种存储文件的方法,其特征在于,包括: 步骤A:接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据; 步骤B:解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给文件存储装直; 重复所述步骤A和步骤B,直至所述待存文件中的全部数据都已被发送给所述文件存储装置。
2.根据权利要求1所述的方法,其特征在于,在所述步骤B中,先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。
3.一种存储文件的装置,其特征在于,包括: 接收模块,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据; 解析模块,用于解析所述包含待存文件的数据以获取所述待存文件中的部分数据; 发送模块,用于将所述解析模块获取到的所述部分数据发送给文件存储装置。
4.根据权利要求3所述的装置,其特征在于,所述发送模块还用于先将所述解析模块获取到的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。
5.一种存储文件的系统 ,其特征在于,包括业务服务器和存储服务器,其中, 所述业务服务器,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据,解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给所述存储服务器,直至所述待存文件中的全部数据都已被发送给所述存储服务器; 所述存储服务器,用于存储所述文件。
6.根据权利要求5所述的系统,其特征在于,所述业务服务器还用于先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述存储服务器。
全文摘要
本发明提供一种存储文件的方法和装置以及系统,能够较为高效地向文件存储装置存储来自于网络客户端提供的文件,并且节省业务服务器的硬盘资源。本发明的存储文件的方法包括步骤A接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;步骤B解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给文件存储装置;重复所述步骤A和步骤B,直至所述待存文件中的全部数据都已被发送给所述文件存储装置。
文档编号H04L29/08GK103248701SQ20131018192
公开日2013年8月14日 申请日期2013年5月16日 优先权日2013年5月16日
发明者刘吉, 魏大安 申请人:北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1