CN105933420A - 利用http协议实现客户端向服务端文件上传的方法及系统 - Google Patents
利用http协议实现客户端向服务端文件上传的方法及系统 Download PDFInfo
- Publication number
- CN105933420A CN105933420A CN201610269505.7A CN201610269505A CN105933420A CN 105933420 A CN105933420 A CN 105933420A CN 201610269505 A CN201610269505 A CN 201610269505A CN 105933420 A CN105933420 A CN 105933420A
- Authority
- CN
- China
- Prior art keywords
- service end
- client
- data file
- http
- sends
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明涉及一种利用http协议实现客户端向服务端文件上传的方法及系统,其包括客户端以及能与所述客户端进行http连接的服务端;所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer‑Encoding属性字段,且将Transfer‑Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。本发明不用指定Content‑Length字段,可以实现健康数据边产生边上传,而不用等待获得所有健康数据。从而可以减少网络传输时延,节省服务端处理健康数据的等待时间,为设计实时的web应用提供便利。
Description
技术领域
本发明涉及一种方法及系统,尤其是一种利用http协议实现客户端向服务端文件上传的方法及系统,属于文件传输的技术领域。
背景技术
随着物联网技术以及居家医疗行业的发展,智能移动终端可以用来获得个人健康数据。但是终端设备的资源有限,需要将健康数据发送到服务端进行分析处理,从而对个人的健康状态做出评估,对个人生活习惯做出指导。http协议属于应用层协议,贴近web应用,使用其传输健康数据,开发更有效率。
http协议的请求方法有GET,POST,HEAD,PUT,DELETE,TRACE,CONNECT,OPTIONS等八种,由于POST把数据放在消息体里面,使得对用户不可见,安全性提高,另外从理论上讲,POST是没有大小限制的,HTTP协议规范也没有进行大小限制POST方式,传送数据最大限制,取决于服务器设置和内存大小。
在移动健康系统领域,由于客户端要上传的数据是不断产生的,不能事先确定消息体的长度,因此无法得到Content-Length的值,就不能在header中指定Content-Length了,造成的最直接的影响就是:只能等待数据测量结束,没有新数据产生,文件完全形成后才能进行文件的上传。
发明内容
本发明的目的是克服现有技术中存在的不足,提供一种利用http协议实现客户端向服务端文件上传的方法及系统,其不用指定Content-Length字段,可以实现健康数据边产生边上传,而不用等待获得所有健康数据。从而可以减少网络传输时延,节省服务端处理健康数据的等待时间,为设计实时的web应用提供便利。
按照本发明提供的技术方案,所述利用http协议实现客户端向服务端文件上传的方法,包括客户端以及能与所述客户端进行http连接的服务端;所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer-Encoding属性字段,且将Transfer-Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。
客户端将待发送的数据文件保存并进行base64编码,且在编码后封装chunk块,所述chunk块包括块数据长度以及块数据内容。
客户端接收服务端的响应消息,若数据文件发送失败时,则客户端进行发送失败标记,并在结束数据采集时,读取发送失败标记重新将对应的数据文件进行上传。
客户端上传服务端的数据文件的大小超过服务端的限制时,客户端向服务端发送超限标记,并在发送超限标记后向服务端发送当前post连接请求的结束符;
在结束当前的post连接请求后,客户端重新向服务端发送http的post连接请求,在与服务端建立连接后,客户端重新发送上述的数据文件;服务端将已上传的数据文件进行保存,并根据数据文件的超限标记来识别数据文件间的关联;在客户端的数据文件上传结束后,客户端向服务端发送上传结束请求,服务端根据上传结束请求进行数据文件合并。
一种利用http协议实现客户端向服务端文件上传的系统,包括客户端以及能与所述客户端进行http连接的服务端;所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer-Encoding属性字段,且将Transfer-Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。
客户端将待发送的数据文件保存并进行base64编码,且在编码后封装chunk块,所述chunk块包括块数据长度以及块数据内容。
客户端接收服务端的响应消息,若数据文件发送失败时,则客户端进行发送失败标记,并在结束数据采集时,读取发送失败标记重新将对应的数据文件进行上传。
客户端上传服务端的数据文件的大小超过服务端的限制时,客户端向服务端发送超限标记,并在发送超限标记后向服务端发送当前post连接请求的结束符;
在结束当前的post连接请求后,客户端重新向服务端发送http的post连接请求,在与服务端建立连接后,客户端重新发送上述的数据文件;服务端将已上传的数据文件进行保存,并根据数据文件的超限标记来识别数据文件间的关联;在客户端的数据文件上传结束后,客户端向服务端发送上传结束请求,服务端根据上传结束请求进行数据文件合并。
本发明的优点:不用指定Content-Length字段,可以实现健康数据边产生边上传,而不用等待获得所有健康数据。从而可以减少网络传输时延,节省服务端处理健康数据的等待时间,为设计实时的web应用提供便利。
附图说明
图1为本发明的结构框图。
图2为本发明服务端接收数据文件的流程图。
图3为本发明客户端进行数据文件上传的流程图。
具体实施方式
下面结合具体附图和实施例对本发明作进一步说明。
如图1所示:为了能减少网络传输时延,节省服务端处理健康数据的等待时间,为设计实时的web应用提供便利,本发明包括客户端以及能与所述客户端进行http连接的服务端;所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer-Encoding属性字段,且将Transfer-Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。
具体地,在http请求头添加Transfer-Encoding属性字段,并将Transfer-Encoding的值设为chunked,以使得客户端在产生数据的同时能向服务端上传数据,从而不用指定Content-Length字段,可以实现健康数据的边产生边上传,减少网络传输试验,节省服务端处理健康数据的等待时间。
如图2和图3所示,客户端将待发送的数据文件保存并进行base64编码,且在编码后封装chunk块,所述chunk块包括块数据长度以及块数据内容。
本发明实施例中,客户端对产生的数据文件保存在客户端内,进行base64编码以及封装chunk块的具体过程为本技术领域人员所熟知,此处不再赘述。具体实施时,客户端接收服务端的响应消息,若数据文件发送失败时,则客户端进行发送失败标记,并在结束数据采集时,读取发送失败标记重新将对应的数据文件进行上传。
客户端上传服务端的数据文件的大小超过服务端的限制时,客户端向服务端发送超限标记,并在发送超限标记后向服务端发送当前post连接请求的结束符;
在结束当前的post连接请求后,客户端重新向服务端发送http的post连接请求,在与服务端建立连接后,客户端重新发送上述的数据文件;服务端将已上传的数据文件进行保存,并根据数据文件的超限标记来识别数据文件间的关联;在客户端的数据文件上传结束后,客户端向服务端发送上传结束请求,服务端根据上传结束请求进行数据文件合并。
本发明实施例中,由于服务端内存等设置的影响,对客户端一次上传数据文件的大小受到限制,当数据文件的大小超过服务端的限制时,客户端向服务端发送超限标记。在服务端,接收到http的post连接请求后,对所述post连接请求进行解析、base64解码,以获取文件内容。在获取数据文件内容后,服务端检查数据文件的结尾是否有超限标记,若无,则进行存储或其他设定的操作,若有,则去除超限标记,文件名进行处理,作为一个文件片进行存储或其他操作;服务端在接收到上传结束请求时,对属于同一个数据文件的文件片进行合并处理,从而实现超过服务端限制的数据文件的传输。
Claims (8)
1.一种利用http协议实现客户端向服务端文件上传的方法,包括客户端以及能与所述客户端进行http连接的服务端;其特征是:所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer-Encoding属性字段,且将Transfer-Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。
2.根据权利要求1所述利用http协议实现客户端向服务端文件上传的方法,其特征是:客户端将待发送的数据文件保存并进行base64编码,且在编码后封装chunk块,所述chunk块包括块数据长度以及块数据内容。
3.根据权利要求1所述利用http协议实现客户端向服务端文件上传的方法,其特征是:客户端接收服务端的响应消息,若数据文件发送失败时,则客户端进行发送失败标记,并在结束数据采集时,读取发送失败标记重新将对应的数据文件进行上传。
4.根据权利要求1所述利用http协议实现客户端向服务端文件上传的方法,其特征是:客户端上传服务端的数据文件的大小超过服务端的限制时,客户端向服务端发送超限标记,并在发送超限标记后向服务端发送当前post连接请求的结束符;
在结束当前的post连接请求后,客户端重新向服务端发送http的post连接请求,在与服务端建立连接后,客户端重新发送上述的数据文件;服务端将已上传的数据文件进行保存,并根据数据文件的超限标记来识别数据文件间的关联;在客户端的数据文件上传结束后,客户端向服务端发送上传结束请求,服务端根据上传结束请求进行数据文件合并。
5.一种利用http协议实现客户端向服务端文件上传的系统,包括客户端以及能与所述客户端进行http连接的服务端;其特征是:所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer-Encoding属性字段,且将Transfer-Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。
6.根据权利要求5所述利用http协议实现客户端向服务端文件上传的系统,其特征是:客户端将待发送的数据文件保存并进行base64编码,且在编码后封装chunk块,所述chunk块包括块数据长度以及块数据内容。
7.根据权利要求5所述利用http协议实现客户端向服务端文件上传的系统,其特征是:客户端接收服务端的响应消息,若数据文件发送失败时,则客户端进行发送失败标记,并在结束数据采集时,读取发送失败标记重新将对应的数据文件进行上传。
8.根据权利要求5所述利用http协议实现客户端向服务端文件上传的系统,其特征是:客户端上传服务端的数据文件的大小超过服务端的限制时,客户端向服务端发送超限标记,并在发送超限标记后向服务端发送当前post连接请求的结束符;
在结束当前的post连接请求后,客户端重新向服务端发送http的post连接请求,在与服务端建立连接后,客户端重新发送上述的数据文件;服务端将已上传的数据文件进行保存,并根据数据文件的超限标记来识别数据文件间的关联;在客户端的数据文件上传结束后,客户端向服务端发送上传结束请求,服务端根据上传结束请求进行数据文件合并。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610269505.7A CN105933420A (zh) | 2016-04-27 | 2016-04-27 | 利用http协议实现客户端向服务端文件上传的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610269505.7A CN105933420A (zh) | 2016-04-27 | 2016-04-27 | 利用http协议实现客户端向服务端文件上传的方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105933420A true CN105933420A (zh) | 2016-09-07 |
Family
ID=56836405
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610269505.7A Pending CN105933420A (zh) | 2016-04-27 | 2016-04-27 | 利用http协议实现客户端向服务端文件上传的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105933420A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270740A (zh) * | 2016-12-30 | 2018-07-10 | 上海华讯网络系统有限公司 | 对含有多路视频流的视频会议的直播系统和方法 |
CN108512710A (zh) * | 2017-02-24 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 基于测试工具的测试方法和测试工具 |
CN109413179A (zh) * | 2018-10-24 | 2019-03-01 | 中国银行股份有限公司 | 一种基于http请求的多文件异步重传的方法及装置 |
CN111193780A (zh) * | 2019-12-17 | 2020-05-22 | 国电南瑞科技股份有限公司 | 一种组件化的物联网平台数据传输系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291340A (zh) * | 2007-04-19 | 2008-10-22 | 株式会社日立制作所 | 通信装置以及客户端装置 |
CN101453479A (zh) * | 2007-11-28 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 一种快速的文件传输系统 |
CN101867617A (zh) * | 2010-06-13 | 2010-10-20 | 优视科技有限公司 | 一种基于移动终端的文件上传方法、系统和上传服务器 |
CN102694864A (zh) * | 2012-05-30 | 2012-09-26 | 安科智慧城市技术(中国)有限公司 | 利用http协议实现流媒体功能的方法、流媒体服务器及系统 |
CN103825772A (zh) * | 2012-11-16 | 2014-05-28 | 华为技术有限公司 | 识别用户点击行为的方法及网关设备 |
CN104615597A (zh) * | 2013-11-04 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 浏览器中清除缓存文件的方法、装置和系统 |
WO2015101152A1 (zh) * | 2014-01-02 | 2015-07-09 | 中国科学院声学研究所 | 基于dfa的http分块传输编码的传输载荷提取方法 |
-
2016
- 2016-04-27 CN CN201610269505.7A patent/CN105933420A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101291340A (zh) * | 2007-04-19 | 2008-10-22 | 株式会社日立制作所 | 通信装置以及客户端装置 |
CN101453479A (zh) * | 2007-11-28 | 2009-06-10 | 新奥特(北京)视频技术有限公司 | 一种快速的文件传输系统 |
CN101867617A (zh) * | 2010-06-13 | 2010-10-20 | 优视科技有限公司 | 一种基于移动终端的文件上传方法、系统和上传服务器 |
CN102694864A (zh) * | 2012-05-30 | 2012-09-26 | 安科智慧城市技术(中国)有限公司 | 利用http协议实现流媒体功能的方法、流媒体服务器及系统 |
CN103825772A (zh) * | 2012-11-16 | 2014-05-28 | 华为技术有限公司 | 识别用户点击行为的方法及网关设备 |
CN104615597A (zh) * | 2013-11-04 | 2015-05-13 | 腾讯科技(深圳)有限公司 | 浏览器中清除缓存文件的方法、装置和系统 |
WO2015101152A1 (zh) * | 2014-01-02 | 2015-07-09 | 中国科学院声学研究所 | 基于dfa的http分块传输编码的传输载荷提取方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108270740A (zh) * | 2016-12-30 | 2018-07-10 | 上海华讯网络系统有限公司 | 对含有多路视频流的视频会议的直播系统和方法 |
CN108512710A (zh) * | 2017-02-24 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 基于测试工具的测试方法和测试工具 |
CN109413179A (zh) * | 2018-10-24 | 2019-03-01 | 中国银行股份有限公司 | 一种基于http请求的多文件异步重传的方法及装置 |
CN111193780A (zh) * | 2019-12-17 | 2020-05-22 | 国电南瑞科技股份有限公司 | 一种组件化的物联网平台数据传输系统 |
CN111193780B (zh) * | 2019-12-17 | 2021-11-30 | 国电南瑞科技股份有限公司 | 一种组件化的物联网平台数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040144B (zh) | 物联网网关数据处理方法、装置、存储介质及网关设备 | |
CN105933420A (zh) | 利用http协议实现客户端向服务端文件上传的方法及系统 | |
CN109525661B (zh) | 数据传输方法及装置 | |
CN107070990B (zh) | 数据资源传输的方法和设备 | |
CN106817341B (zh) | 一种面向移动互联网的sip协议节流传输系统及方法 | |
US9866356B2 (en) | Data distribution method and device | |
TW201244432A (en) | Graphics sharing method, system and terminal | |
CN103108037B (zh) | 一种通信方法,Web服务器及Web通信系统 | |
CN106603579B (zh) | 一种无线终端的远程控制系统和方法及其无线终端 | |
CN102752320B (zh) | 一种代理服务器主动压缩方法及代理服务器 | |
CN111787399A (zh) | 一种视频播放方法、装置和系统 | |
WO2013189394A2 (zh) | 一种物联网终端设备的资源信息获取方法、系统及设备 | |
KR20170085090A (ko) | 데이터 프로세싱 디바이스로부터 원격 리소스에 액세스하는 방법들 | |
US8918516B2 (en) | Symbiotic client and server for embedded network system | |
EP3292678B1 (en) | System, terminal, server, and method for data transmission | |
CN109327435B (zh) | 媒体资源获取方法、装置及网关设备 | |
WO2015101152A1 (zh) | 基于dfa的http分块传输编码的传输载荷提取方法 | |
CN102724133A (zh) | 一种ip报文传输的方法及装置 | |
CN110324302B (zh) | 一种iot设备通信方法 | |
US11363101B2 (en) | Using existing servers in a wellbore environment as data sources for streaming servers | |
CN104618305A (zh) | Soap传输大数据的通信传输方法 | |
CN109818955B (zh) | 一种双向传输控制编码方法及其系统 | |
CN104348877A (zh) | 一种发送Http请求消息的方法及装置 | |
CN115208959B (zh) | 一种物联网安全通信系统 | |
Sandeep et al. | IoT’s Communication Technologies, Data Formats, and Protocols-A survey |
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: 20160907 |
|
RJ01 | Rejection of invention patent application after publication |