[发明专利]一种基于RESTFUL的数据流控制方法有效
申请号: | 201410244385.6 | 申请日: | 2014-06-04 |
公开(公告)号: | CN103986785B | 公开(公告)日: | 2017-04-19 |
发明(设计)人: | 张鹏;程方;张瑞;史涛;蒋明浪;朱建虎 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | H04L29/08 | 分类号: | H04L29/08 |
代理公司: | 重庆华科专利事务所50123 | 代理人: | 康海燕 |
地址: | 400065 *** | 国省代码: | 重庆;85 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 restful 数据流 控制 方法 | ||
技术领域
本发明属于数据传输控制领域,是基于RESTFUL服务的传输方法。
背景技术
在分布式系统中,大量的并发访问如果超出了服务器的承受能力,轻则导致服务器抛弃一部分请求,重则导致服务器资源耗尽。如果能够得知服务器当前的负载状态,在数据发送时就能与服务器负载动态的匹配。在Web环境下,基于REST设计的面向服务的体系结构(Service-oriented Architecture,SOA)称为RESTFUL服务,相比于Ws*-Web服务强调远程方法调用远程过程调用(Remote Procedure Call,RPC),RESTFUL服务强调的是资源及标识,因此在面向资源整合的集成系统中可以发挥其优势。由于REST使用http协议,继承了其无状态,即在Client/Server交互过程中,服务器端不保留操作状态维护,而是由调用者进行维护,服务器不再对历史状态保存,仅负责对资源操作的服务。这使得进行一次事务处理,往往需要多次调用同一服务。
发明内容
本发明针对现有技术中存在的上述技术问题,提出一种基于RESTFUL的数据传输方法,进行大型数据文件的传输,同时提出了基于响应报文时延的动态传输技术,减小服务对资源的消耗。
本发明解决技术问题的技术方案为,提出一种基于RESTFUL的数据流控制方法,客服端向RESTFUL服务器发送请求报文,服务器端检查请求报文,如请求报文中数据字段正确性,且数据分片序号前后连续,返回响应报文,否则重传;当建立新的连接时,将待请求发送数据分片初始化为一个数据包大小;客户端查看响应报文中的返回状态,若返回状态为确认信号ACK,则文件分片序号加1,进入慢启动阶段,准备发送待请求发送数据分片;如响应时间戳f(t)满足公式则增大下一发送数据分片的数据量;当待发送数据分片大小增加到达慢启动阈值时慢启动阶段结束,进入拥塞避免阶段;客户端在预定时间后没有收到响应报文,则数据包超时重传;直至客服端发送完最后一个数据分片。
服务器端检查请求报文具体包括:提取并检查请求报文字段中的存储路径字段、设备名、文件名、数据分片序号的合法性,如果合法,待发送数据分片序号加1。进入慢启动阶段后,设置控制因子μ=0.5,当响应时间f(t)满足公式:待发送数据分片增加一个数据包大小的发送量,并记录当前增长次数等于上一次增长次数加1。当拥塞避免阶段,设置控制因子μ=0.1,当每收到一个ACK且时间戳f(t)满足公式当前数据分片大小以1/cwt的速率增加,并记录当前增长次数等于上一次增长次数加1,如时间戳f(t)不满足公式则待发送数据分片大小减少为当前发送数据分片的一半。
在整个过程中,当检测到有数据包丢失的时候,慢启动阈值被设为当前数据包大小的一半,增长次数cwt置为1,并重新进入慢启动阶段,被丢失的包会被重传一遍。经过这种控制,本发明能够基于响应报文的响应时延,客户端动态的调整数据的发送量,服务器的负载动态的匹配当前服务器状态,减小了数据传输过程中的丢包率,提高了传输效率。
附图说明
图1为本发明实现流程图。
具体实施方式
使用HTTP进行数据传输时,HTTP协议并非为传输大量数据所设计的,所以当大量数据与服务器进行交互时,大数据文件就必须进行分片。在上传的时候,系统自动根据大小判断是否需要分割文件,如果超过单个文件上传大小,则将文件分割成几个小文件陆续上传,传完之后再合并成一个文件。
结合自适应调整要求,本发明设置一种基于REST的自适应降载的大数据传输技术的报文字段。以下结合附图具体实例对本发明的实施作进一步具体描述,图1为本发明实现流程图。
1.客服端向RESTFUL服务器发送请求报文,服务器端在收到请求报文后,检查请求报文中数据字段的正确性,若数据字段正确,按照报文中的存储路径存储数据,比较文件分片序号前后是否连续,如连续返回响应报文。如数据字段不正确或文件分片序号前后不连续,返回错误响应,要求重传。如在收到请求报文后,分别提取请求报文字段中的存储路径字段SavePath、设备名DeviceID、文件名FileName、分片序号Segment,如果数据字段合法,期望数据分片序号加1,生成并向客服端返回响应报文。如果分片序号Segment与期望数据分片序号不同,则返回错误状态码NAK。
本实施例具体报文字段如表1、表2所示定义请求报文字段和响应报文字段。
表1:请求报文字段
表2:响应报文字段
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410244385.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:焊枪调位机构
- 下一篇:基于PLL和DDS的同步扫描电路系统