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

技术编号:13674124 阅读:113 留言:0更新日期:2016-09-07 23:15
本发明专利技术涉及一种利用http协议实现客户端向服务端文件上传的方法及系统,其包括客户端以及能与所述客户端进行http连接的服务端;所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer‑Encoding属性字段,且将Transfer‑Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。本发明专利技术不用指定Content‑Length字段,可以实现健康数据边产生边上传,而不用等待获得所有健康数据。从而可以减少网络传输时延,节省服务端处理健康数据的等待时间,为设计实时的web应用提供便利。

【技术实现步骤摘要】

本专利技术涉及一种方法及系统,尤其是一种利用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解码,以获取文件内容。在获取数据文件内容后,服务端检查数据文件的结尾是否有超限标记,若无,则进行存储或其他设定的操作,若有,则去除超限标记,文件名进行处理,作为一个文件片进行存储或其他操作;服务端在接收到上传结束请求时,对属于同一个数据文件的文件片进行合并处理,从而实现超过服务端限制的数据本文档来自技高网
...

【技术保护点】
一种利用http协议实现客户端向服务端文件上传的方法,包括客户端以及能与所述客户端进行http连接的服务端;其特征是:所述客户端向服务端发送http的post连接请求,并在http请求头添加Transfer‑Encoding属性字段,且将Transfer‑Encoding的值设为chunked,在与服务端建立连接后,客户端将数据文件封装后传输至服务端。

【技术特征摘要】
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连接请求,在与服务端建立连接后,客户端重新发送上述的数据文件;服务端将已上传的数据文件进行保存,并根据数据文件的超限标记来识别数据文件间的关联;在客户端的数据文件上传结束后,客户端向服务端发送上传结束请求,服务端根据上传结束请求进行数据文件合并。...

【专利技术属性】
技术研发人员:冯帅刘昱杨连军胡冰
申请(专利权)人:江苏物联网研究发展中心
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1