CN103248701A - 存储文件的方法和装置以及系统 - Google Patents
存储文件的方法和装置以及系统 Download PDFInfo
- Publication number
- CN103248701A CN103248701A CN2013101819241A CN201310181924A CN103248701A CN 103248701 A CN103248701 A CN 103248701A CN 2013101819241 A CN2013101819241 A CN 2013101819241A CN 201310181924 A CN201310181924 A CN 201310181924A CN 103248701 A CN103248701 A CN 103248701A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- storage
- deposit
- buffer memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种存储文件的方法和装置以及系统,能够较为高效地向文件存储装置存储来自于网络客户端提供的文件,并且节省业务服务器的硬盘资源。本发明的存储文件的方法包括:步骤A:接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;步骤B:解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给文件存储装置;重复所述步骤A和步骤B,直至所述待存文件中的全部数据都已被发送给所述文件存储装置。
Description
技术领域
本发明涉及一种存储文件的方法和装置以及系统。
背景技术
随着互联网以及大数据存储技术的发展,网络存储成为很多互联网用户保存数据的重要方式。网络存储的优势在于,一是存储量大,对用户来说可以认为是无限容量;二是无需用户自行添置存储设备和安装存储管理软件,只要在能够访问到互联网的地方,都可以随时获取网络存储中的数据。
在用户进行网络存储时,目前通常是通过网页来上传数据,此时客户端设备一般基于超文本传输协议(HTTP协议),通过模拟超文本标记语言HTML中的FORM表单提交方式来上传文件。文件在上传过程中,客户端发送的HTTP请求中不仅包含FORM表单业务数据,还包含上传文件。目前常见的服务端处理上传文件的主要方式是业务服务器把客户端提交的表单业务数据和文件的数据流分开,文件的数据流被存放到业务系统配置的临时目录中(采用磁盘存储),会生成一个临时文件(如:Struts2)。在执行后续业务逻辑代码时,会把表单业务数据和文件的数据流(该文件句柄指向了本次上传生成的临时文件)传给业务代码,让业务代码处理本次上传的业务逻辑,并读取存在业务服务器中的临时上传文件,再传送到文件存储装置中。
目前的上述方式存在的主要问题是向文件存储装置存储文件的效率较低,并且需要占用业务服务器的大量硬盘资源。
发明内容
有鉴于此,本发明提供一种存储文件的方法和装置以及系统,能够较为高效地向文件存储装置存储来自于网络客户端提供的文件,并且节省业务服务器的硬盘资源。
为实现上述目的,根据本发明的一个方面,提供了一种存储文件的方法。
本发明的存储文件的方法包括:步骤A:接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;步骤B:解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给文件存储装置;重复所述步骤A和步骤B,直至所述待存文件中的全部数据都已被发送给所述文件存储装置。
可选地,在所述步骤B中,先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。
根据本发明的另一方面,提供了一种存储文件的装置。
本发明的存储文件的装置包括:接收模块,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;解析模块,用于解析所述包含待存文件的数据以获取所述待存文件中的部分数据;发送模块,用于将所述解析模块获取到的所述部分数据发送给文件存储装置。
可选地,所述发送模块还用于先将所述解析模块获取到的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。
根据本发明的又一方面,提供了一种存储文件的系统。
本发明的存储文件的系统包括业务服务器和存储服务器,其中,所述业务服务器,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据,解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给所述存储服务器,直至所述待存文件中的全部数据都已被发送给所述存储服务器;所述存储服务器,用于存储所述文件。
可选地,所述业务服务器还用于先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述存储服务器。
根据本发明的技术方案,在终端设备基于HTTP协议,以表单形式发送待存储文件时,业务服务器对收到的数据进行实时解析,在解析过程中将其中的文件数据发送给文件存储装置,这种方式避免了往业务服务器硬盘写数据,并且再从硬盘读数据,提高系统性能,降低整个文件从用户客户端到业务服务器再到文件存储装置的整个文件传输时间;而且无需将文件全部保存到业务服务器内,在终端设备上传文件的同时即向文件存储装置中存储,对于终端设备来说这是一种无阻塞式的向文件存储装置上传文件的过程,存储效率较高,而且节省了业务服务器的硬盘资源。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是根据本发明实施例的存储文件的方法的基本步骤示意图;
图2是根据本发明实施例的存储文件的装置的基本结构的示意图;
图3是根据本发明实施例的存储文件的系统的基本结构的示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
在本实施例中,用户使用终端设备以提交表单的方式发送数据,该数据中包含表单业务数据,也包含用户要存到文件存储装置中的文件。业务服务器在收到该数据后进行解析从而从中获取文件然后发送给文件存储装置。该解析是在接收终端设备发送的数据的过程中实时进行,即每次解析出的是文件中的部分数据,随即发送给文件存储装置,一边接收一边解析、发送,直至文件的全部数据都已被发送给文件存储装置。具体可以采用图1所示的步骤,图1是根据本发明实施例的存储文件的方法的基本步骤示意图。
步骤S11:接收终端设备发送的包含待存文件的数据。本步骤中,终端设备仍是基于HTTP协议,以提交表单的方式发送文件,当然也包含表单业务数据。
步骤S12:对步骤S11中收到的数据进行解析。
步骤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协议,以表单形式发送待存储文件时,业务服务器对收到的数据进行实时解析,在解析过程中将其中的文件数据发送给文件存储装置,这种方式避免了往业务服务器硬盘写数据,并且再从硬盘读数据,提高系统性能,降低整个文件从用户客户端到业务服务器再到文件存储装置的整个文件传输时间;而且无需将文件全部保存到业务服务器内,在终端设备上传文件的同时即向文件存储装置中存储,对于终端设备来说这是一种无阻塞式的向文件存储装置上传文件的过程,存储效率较高,而且节省了业务服务器的硬盘资源。
以上结合具体实施例描述了本发明的基本原理,但是,需要指出的是,对本领域的普通技术人员而言,能够理解本发明的方法和设备的全部或者任何步骤或者部件,可以在任何计算装置(包括处理器、存储介质等)或者计算装置的网络中,以硬件、固件、软件或者它们的组合加以实现,这是本领域普通技术人员在阅读了本发明的说明的情况下运用他们的基本编程技能就能实现的。
因此,本发明的目的还可以通过在任何计算装置上运行一个程序或者一组程序来实现。所述计算装置可以是公知的通用装置。因此,本发明的目的也可以仅仅通过提供包含实现所述方法或者装置的程序代码的程序产品来实现。也就是说,这样的程序产品也构成本发明,并且存储有这样的程序产品的存储介质也构成本发明。显然,所述存储介质可以是任何公知的存储介质或者将来开发出的任何存储介质。
还需要指出的是,在本发明的装置和方法中,显然,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本发明的等效方案。并且,执行上述系列处理的步骤可以自然地按照说明的顺序按时间顺序执行,但是并不需要一定按照时间顺序执行。某些步骤可以并行或彼此独立地执行。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (6)
1.一种存储文件的方法,其特征在于,包括:
步骤A:接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;
步骤B:解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给文件存储装置;
重复所述步骤A和步骤B,直至所述待存文件中的全部数据都已被发送给所述文件存储装置。
2.根据权利要求1所述的方法,其特征在于,在所述步骤B中,先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。
3.一种存储文件的装置,其特征在于,包括:
接收模块,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据;
解析模块,用于解析所述包含待存文件的数据以获取所述待存文件中的部分数据;
发送模块,用于将所述解析模块获取到的所述部分数据发送给文件存储装置。
4.根据权利要求3所述的装置,其特征在于,所述发送模块还用于先将所述解析模块获取到的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述文件存储装置。
5.一种存储文件的系统,其特征在于,包括业务服务器和存储服务器,其中,
所述业务服务器,用于接收终端设备基于超文本传输协议以提交表单的方式发送的包含待存文件的数据,解析所述包含待存文件的数据以获取所述待存文件中的部分数据然后发送给所述存储服务器,直至所述待存文件中的全部数据都已被发送给所述存储服务器;
所述存储服务器,用于存储所述文件。
6.根据权利要求5所述的系统,其特征在于,所述业务服务器还用于先将获取的所述部分数据保存在内存中的缓存中,在缓存中的数据量达到预设值时将缓存中的数据发送给所述存储服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101819241A CN103248701A (zh) | 2013-05-16 | 2013-05-16 | 存储文件的方法和装置以及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013101819241A CN103248701A (zh) | 2013-05-16 | 2013-05-16 | 存储文件的方法和装置以及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103248701A true CN103248701A (zh) | 2013-08-14 |
Family
ID=48927922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013101819241A Pending CN103248701A (zh) | 2013-05-16 | 2013-05-16 | 存储文件的方法和装置以及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103248701A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020119646A1 (zh) * | 2018-12-11 | 2020-06-18 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669263A (zh) * | 2002-09-24 | 2005-09-14 | 艾利森电话股份有限公司 | 用于容错数据传输的方法和装置,其中执行错误数据重传直到剩余错误数量可接受 |
CN1904888A (zh) * | 2006-08-04 | 2007-01-31 | 中钢集团鞍山热能研究院 | 通用无组件多文件和文本混合上传方法及接口程序 |
CN101217551A (zh) * | 2008-01-14 | 2008-07-09 | 中国科学院计算技术研究所 | 本地存储协议接口和网络存储协议接口间的数据传输方法 |
CN102377582A (zh) * | 2010-08-09 | 2012-03-14 | 大唐移动通信设备有限公司 | 数据上传方法和设备 |
CN102497436A (zh) * | 2011-12-16 | 2012-06-13 | 方正国际软件有限公司 | 一种基于http协议的网络文件存储方法及系统 |
-
2013
- 2013-05-16 CN CN2013101819241A patent/CN103248701A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1669263A (zh) * | 2002-09-24 | 2005-09-14 | 艾利森电话股份有限公司 | 用于容错数据传输的方法和装置,其中执行错误数据重传直到剩余错误数量可接受 |
CN1904888A (zh) * | 2006-08-04 | 2007-01-31 | 中钢集团鞍山热能研究院 | 通用无组件多文件和文本混合上传方法及接口程序 |
CN101217551A (zh) * | 2008-01-14 | 2008-07-09 | 中国科学院计算技术研究所 | 本地存储协议接口和网络存储协议接口间的数据传输方法 |
CN102377582A (zh) * | 2010-08-09 | 2012-03-14 | 大唐移动通信设备有限公司 | 数据上传方法和设备 |
CN102497436A (zh) * | 2011-12-16 | 2012-06-13 | 方正国际软件有限公司 | 一种基于http协议的网络文件存储方法及系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2020119646A1 (zh) * | 2018-12-11 | 2020-06-18 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
CN111314396A (zh) * | 2018-12-11 | 2020-06-19 | 杭州海康威视数字技术股份有限公司 | 数据处理方法及装置 |
US11553031B2 (en) | 2018-12-11 | 2023-01-10 | Hangzhou Hikvision Digital Technology Co., Ltd. | Method and apparatus for processing data |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107590001B (zh) | 负载均衡方法及装置、存储介质、电子设备 | |
CN112839111B (zh) | 边缘位置处的可定制的事件触发计算的系统、方法和介质 | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
CN102446222B (zh) | 一种网页内容预加载方法、装置及系统 | |
US10630758B2 (en) | Method and system for fulfilling server push directives on an edge proxy | |
US10075549B2 (en) | Optimizer module in high load client/server systems | |
US9104762B1 (en) | Universal database management | |
US20160335243A1 (en) | Webpage template generating method and server | |
CN104378399B (zh) | 一种数据推送方法、平台服务器、客户端以及系统 | |
US10218775B2 (en) | Methods for servicing web service requests using parallel agile web services and devices thereof | |
CN103209087A (zh) | 分布式日志统计处理方法和系统 | |
WO2014120467A1 (en) | Database shard arbiter | |
CN105763619A (zh) | 客户端与服务端进行通讯的方法及装置 | |
CN103634361A (zh) | 下载文件的方法和装置 | |
CN103873597A (zh) | 分布式网页下载方法和系统 | |
CN103414693A (zh) | 打点方法及打点装置 | |
CN111782692A (zh) | 一种频率控制方法及装置 | |
CN107636655B (zh) | 实时提供数据即服务(DaaS)的系统和方法 | |
CN104753922A (zh) | 用于预加载的方法、服务端、客户端及系统 | |
CN102882960B (zh) | 一种资源文件的发送方法及装置 | |
US8745245B1 (en) | System and method for offline detection | |
CN102882988A (zh) | 一种获得资源信息的地址信息的方法、装置及设备 | |
CN114116827B (zh) | 一种用户画像数据的查询系统及方法 | |
CN106570151A (zh) | 一种海量文件的数据收集处理方法及系统 | |
CN108664493B (zh) | 统计url是否有效的方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130814 |
|
RJ01 | Rejection of invention patent application after publication |