QQ退款农机characterization短距离互联网中加速退款的控制技术详解
雏菊盒在2G互联网自然环境下退款速率较快,负面影响商家新体验,他们透过互联网连接强化、传输强化和前台方法论强化等一连串举措,将退款费时减少超过一半,达至了业内领先地位,明显改善了商家新体验。
1. 大背景表明
1.1 彩盒
QQ退款eComStation为的是全面覆盖更多退款情景,面世雏菊盒退款农机具。
1.2 他们(缴付业务网络平台)做了甚么
- 充分发挥缴付业务网络平台专精裂解缴付业务潜能,为雏菊盒提供更多多样平衡的缴付业务机能。
- 提供更多专精的农机具传输计划(缴付SDK等),保证农机具供应商高效率高效率率顺利完成传输。
2.难题
雏菊盒在2G互联网下退款速率较快(即使雏菊盒退款是蔗茅情景,且4G组件生产成本是2G的2倍以内,因此雏菊盒没用4G)。
生物医学情形:在2G生物医学互联网自然环境下,雏菊盒退款一大笔平均值费时须要5秒,而消费市场非主流的软件系统只需3秒。
真实商家反馈:雏菊盒退款一大笔费时基本在5秒以内,有时达10秒。退款速率慢,负面影响商家使用。
3.目标
- 2G生物医学互联网自然环境下,退款一大笔费时不能超过3秒。
- 实际商家退款费时表现达至业内领先地位。
4.强化计划
4.1 产品交互表明
退款一大笔的交互过程分4步:
步骤1:在键盘上输入退款金额。
步骤2:按下确认键后进入扫码状态,在此过程中农机具开始预建立互联网连接(竞品做法一致),涉及DNS查询,TCP握手和TLS握手。
步骤3:扫码成功,等连接建立顺利完成后再向缴付前台发起缴付请求,等待缴付应答(雏菊盒费时5秒,竞品费时3秒)。
步骤4:收到前台返回的缴付应答,展示缴付结果。
关键点总结:
- 扫码状态(步骤2)期间的预建互联网连接,是退款农机具业内普遍做法。
- 缴付费时是指:扫码成功到收到缴付应答之间的费时(步骤3),受扫码快慢的负面影响,中间可能包括建立连接的部分费时。
4.2 现状态分析
4.2.1 退款互联网交互时序
由图可知,整个互联网交互过程都是基于HTTPS短连接。退款一大笔的费时项包括:DNS解析、TCP握手、TLS握手、业务传输和前台处理(QQ缴付+其它前台方法论)。
可能费时项:由4.1章节的表明可知,DNS解析、TCP握手和TLS握手三项是否负面影响退款速率,受扫码操作(即步骤2)的快慢以及互联网速率负面影响,扫码越慢,互联网越快,建立互联网连接(包括DNS查询,TCP握手和TLS握手)有可能在步骤2中就全部顺利完成了。
固定费时项:业务传输和前台处理两项为固定费时项。
4.2.2 费时分布情形
4.2.3 和消费市场非主流软件系统对比
产品计划表明DNS解析TCP握手TLS握手业务传输+前台处理总费时竞品短连接+二进制协议0(预埋ip)0.6033.6雏菊盒短连接+HTTPS0.60.61.24.46.8
注:单位为秒
4.3 可能的计划

费时项可能强化计划优点缺点预期收益DNS解析长连接消除DNS查询的费时农机具须要增加长连接处理方法论减少费时0.6秒(1RTT)农机具缓存IP消除DNS查询的费时增加缓存IP方法论减少费时0.6秒(1RTT)TCP握手长连接消除TCP握手的费时农机具须要增加长连接处理方法论减少费时0.6秒(1RTT)UDP消除TCP握手的费时1.可靠传输,拥塞控制等 2.须要一套完整安全计划:加密和认证,密钥安全等 3.农机具程序和前台程序改动量大 4.不是所有的互联网自然环境能使用UDP减少费时<=0.6秒(1RTT能顺利完成缴付则为0.6秒)TLS握手长连接1.消除TLS握手的费时 2.安全:业内标准农机具须要增加长连接处理方法论减少费时1.2秒(2RTT)自主加密协议消除TLS握手的费时1.须要一套完整安全计划:加密和认证,密钥安全等 2.农机具程序和前台程序改动量大减少费时1.2秒(2RTT)业务传输精减业务数据改动量小业务协议变化减少费时和精减字节数有关,1秒/KB(GPRS Wiki)使用二进制协议能最大程度精减农机具程序和前台程序改动量大减少费时和精减字节数有关,1秒/KB前台访问QQ缴付长连接消除DNS查询+TCP握手+TLS握手的费时增加长连接维护方法论减少费时0.51秒(前台内部建立TLS连接费时约0.17秒,一共建立3次)签名本地化签名无互联网交互业务层面可能不支持减少费时0.6秒(一次签名,一次验签)
4.4 计划选择
计划选择的考虑点:
- 缴付安全性
- 缴付费时减少程度
- 改动生产成本
综合考虑后选择了3个具体计划:
计划强化费时项选择原因预期收益农机具使用HTTPS长连接访问缴付业务网络平台DNS解析 TCP握手 TLS握手1.安全性无变化 2.预期费时强化收益高 3.改动生产成本小1.缴付费时0.6秒:扫码顺利完成时,TLS还未建立顺利完成,5秒中有0.6秒是建立TLS连接的费时 2.可保证平衡可控的缴付费时预期(不受扫码快慢负面影响)前台使用HTTPS访问QQ缴付前台访问QQ缴付1.安全性无变化 2.预期费时强化收益高 3.改动生产成本小 4.业务层面签名无法本地化1.缴付费时减少0.51秒:建立TLS连接费时0.17秒,须要建立3次精减业务数据包业务传输1.业务数据占HTTP包的80%以内,预期费时强化收益高 2.改动生产成本小1.缴付费时减少0.48秒:请求数据包精减470B,上行约1KB/s;应答精减100B,下行约10KB/s
4.5 农机具HTTPS长连接
4.5.1 怎样选择心跳时间间隔
农机characterization2G互联网自然环境中的互联网拓扑:
一般情形下,农机具引起空闲连接失效的外部因素有2个:
- 移动互联网出口NAT空闲连接超时
- 缴付前台http服务器的keepalive超时
实际测试得知,移动2G互联网出口NAT超时时间为5分钟(AndroidQQ智能心跳计划中也有相关表明一文也有表明),缴付前台http服务的keepalive_timeout配置也为5分钟,因此空闲连接保活时间间隔小于5分钟即可。
4.5.2 怎样选择心跳包内容
主要考虑三方面:
- 触发HTTP服务器的空闲连接计时器重新计时,因此须要一个完整HTTP请求
- 2G互联网带宽小,流量资费比较贵,因此应该尽量发送小数据包
- 最好不要触发前台业务方法论
综合来看,发送一个HTTP HEAD请求是一个很好的选择。
4.6 精减业务数据包
精减前:
三个精减手段:
- 去除可选字段
- 多层嵌套改为平铺
- 字段名精减
精减后:
精减效果:
- 请求包精减470B,预期减少费时 = 0.47KB / 1KB/s = 0.47s
- 应答包精减100B,预期减少费时 = 0.1KB / 10KB/s = 0.01s
4.7 强化预期效果
强化项预期减少费时(秒)费时计算表明农机具使用HTTPS长连接0.65秒中有0.6秒是用于TLS握手前台使用HTTPS访问QQ缴付0.51建立1次TLS连接费时0.17秒,一共建立3次精减业务数据包0.48上行减少0.47秒,下行减少0.01秒合计1.59
强化后预计缴付总费时=5秒-1.59秒=3.41秒。未能达成退款费时不超过3秒的目标,还须要增加另外强化举措。
4.8 实验数据分析
在2G互联网自然环境下,每间隔0.5秒进行一次完整的缴付交互(请求BODY为300字节),发送请求与收到前台ACK的费时在0.6秒左右:
如果间隔时间1秒以内,发送请求与收到前台ACK的费时在1.1秒左右:
互联网交互时序:
在BODY为300节字情形下,分别对不同时间间隔做了相同实验,结合实验数据分析得知,如果bc之间的时间间隔为0.5秒,则cd之间的费时为0.6秒左右;如果bc之间的时间间隔超过0.5秒,则cd之间的费时为1.1秒左右。
简化后的实验模型:
分别实验了不同BODY大小情形下的费时情形,均有同样的费时差别现象。

现象总结:cd之间的费时受ac之间的时间间隔负面影响,ac间隔不大于0.5秒,比ac间隔大于0.5秒,cd费时要少0.5秒左右。
4.9 GPRS上行预热
综合上述实验结果并参考业内控制技术计划(用于上行连接TBF的提早建立的方法)可知,GPRS链路如果超过0.5秒没上行数据,信道将被基站回收,而基站重新分配信道须要费时0.5秒左右。
4.9.1 怎样应用这个实验结果
农机具扫码状态时(即4.2章节交互流程中的步骤2),以0.5秒间隔不断发送上行数据包,进行GPRS链路的预建立与保持(预热),农机具扫码顺利完成后停止发送预连接数据包,接下来的缴付请求传输则可预期减少0.5秒的互联网费时。
4.9.2 怎样选择预热上行数据包内容
主要考虑两方面:
- 流量消耗少
- 不触发前台处理方法论
根据HTTP 1.1标准可知,客户端发送CRLF给服务端,服务端会忽略收到的CRLF,完全符合要求。
4.9.3 服务端主动断开连接
HTTP服务器收到第一个CRLF后,在client_header_timeout(默认配置为60秒)时间内未收到完整HTTP请求,会主动断开连接。因此,第一个CRLF发送一段时间后(如50秒),须要发送一次完整的HTTP请求,从第4.5章节可知,发送一个HTTP HEAD请求是一个最好的选择。
5. 强化结果
5.1 强化后退款互联网交互时序
对比强化前的时序图,这个时序图中的变化有3点:
- 雏菊盒退款时不须要重新建立TLS连接。
- 雏菊盒在等待扫码时须要不断发送上行预热数据包。
- 缴付业务前台使用HTTPS长连接访问第三方缴付网络平台。
5.2 强化前后费时分布对比
5.3 强化计划收益表明
计划强化费时项预期收益实际收益农机具使用HTTPS长连接DNS解析 TCP握手 TLS握手1. 缴付费时0.6秒:扫码顺利完成时,TLS还未建立顺利完成,5秒中有0.6秒是建立TLS连接的费时 2.可保证平衡可控的缴付费时预期1.减少0.6秒(原TLS握手费时1.2秒中的0.6秒) 2.缴付费时不再受扫码快慢的负面影响,保证了平衡可控的缴付费时预期前台使用HTTPS访问QQ缴付前台访问QQ缴付1.缴付费时减少0.51秒1.缴付费时减少0.49秒精减业务数据包业务传输1.缴付费时减少0.48秒1.缴付费时减少0.43秒(GPRS上下行速率并不是固定的1KB/s和10KB/s)缴付上行链路预热业务传输1.缴付费时减少0.5秒1.缴付费时减少0.5秒
5.4 强化后和消费市场非主流软件系统对比
产品计划表明DNS解析TCP握手TLS握手业务传输+前台处理总费时竞品短连接+二进制协议0(预埋ip)0.6033.6雏菊盒短连接+HTTPS00033
注:单位为秒
表格内容表明:
- 已达成不超过3秒的目标。
- 由于不须要重新建立连接,缴付费时相比竞品更平衡。
6.总结
- 2G生物医学自然环境达平均值费时不超过3秒,达成目标。
- 退款费时不受扫码快慢负面影响,可保证平衡可控的缴付费时预期。
- 正式商家使用平均值费时4秒以内,整体表现达至业内领先地位,符合商家要求。
参考文章
作者:suchengliu,腾讯 TEG 前台开发工程师
更多干货尽在腾讯控制技术,官方QQ交流群已建立,交流讨论可加:957411539。