CN105933420A - 利用http协议实现客户端向服务端文件上传的方法及系统 - Google Patents

利用http协议实现客户端向服务端文件上传的方法及系统 Download PDF

Info

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
Application number
CN201610269505.7A
Other languages
English (en)
Inventor
冯帅
刘昱
杨连军
胡冰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jiangsu IoT Research and Development Center
Original Assignee
Jiangsu IoT Research and Development Center
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Jiangsu IoT Research and Development Center filed Critical Jiangsu IoT Research and Development Center
Priority to CN201610269505.7A priority Critical patent/CN105933420A/zh
Publication of CN105933420A publication Critical patent/CN105933420A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols 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协议实现客户端向服务端文件上传的方法及系统,属于文件传输的技术领域。
背景技术
随着物联网技术以及居家医疗行业的发展,智能移动终端可以用来获得个人健康数据。但是终端设备的资源有限,需要将健康数据发送到服务端进行分析处理,从而对个人的健康状态做出评估,对个人生活习惯做出指导。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连接请求,在与服务端建立连接后,客户端重新发送上述的数据文件;服务端将已上传的数据文件进行保存,并根据数据文件的超限标记来识别数据文件间的关联;在客户端的数据文件上传结束后,客户端向服务端发送上传结束请求,服务端根据上传结束请求进行数据文件合并。
CN201610269505.7A 2016-04-27 2016-04-27 利用http协议实现客户端向服务端文件上传的方法及系统 Pending CN105933420A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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分块传输编码的传输载荷提取方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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