限制网络流量的方法、装置、电子设备及存储介质转让专利
申请号 : CN202010315641.1
文献号 : CN111555929B
文献日 : 2021-03-12
发明人 : 舒超 , 田野 , 何世伟 , 罗浩 , 朱磊
申请人 : 成都安易迅科技有限公司
摘要 :
权利要求 :
1.一种限制网络流量的方法,其特征在于,应用于服务器,所述方法包括:在用户终端与所述服务器处于TCP连接状态时,接收所述用户终端基于socks5协议发送的UDP穿透请求;其中,所述穿透请求中包括所述用户终端的标识;
基于所述用户终端的标识,获取预先存储的与所述用户终端的标识对应的历史统计流量;
为所述用户终端分配处于空闲状态的第一端口;
从当前时刻开始对所述第一端口的流量进行实时统计,得到统计流量;
在确定所述对应的历史统计流量和所述统计流量之和达到所述用户终端的标识对应的购买流量时,断开与所述用户终端的TCP连接。
2.根据权利要求1所述的方法,其特征在于,在所述从当前时刻开始对所述第一端口的流量进行实时统计,得到统计流量之后,所述方法还包括:在确定所述对应的历史统计流量和所述统计流量之和小于所述对应的购买流量时,继续对所述第一端口的流量进行统计。
3.根据权利要求2所述的方法,其特征在于,所述在确定所述对应的历史统计流量和所述统计流量之和小于所述对应的购买流量时,继续对所述第一端口的流量进行统计之后,所述方法还包括:
接收所述用户终端发送的断开与所述服务器的TCP连接的请求;
断开与所述用户终端的TCP连接;
基于对所述第一端口的流量进行实时统计所得到的统计流量,更新所述对应的历史统计流量。
4.根据权利要求1所述的方法,其特征在于,在所述为所述用户终端分配处于空闲状态的第一端口之前,所述方法还包括:确定所述对应的历史统计流量小于所述对应的购买流量。
5.根据权利要求1所述的方法,其特征在于,所述从当前时刻开始对所述第一端口的流量进行实时统计,得到统计流量,包括:从当前时刻开始对所述第一端口的流量进行实时统计,得到第一统计流量;
对与所述用户终端的标识对应的TCP通道的流量进行实时统计,得到第二统计流量;
将所述第一统计流量和所述第二统计流量之和确定为所述统计流量的值。
6.根据权利要求1所述的方法,其特征在于,在所述为所述用户终端分配处于空闲状态的第一端口之后,所述方法还包括:基于预先确定的每秒经过第一端口的流量阈值,利用令牌桶算法限制每秒经过所述第一端口的流量,以使每秒经过所述第一端口的流量小于等于所述流量阈值。
7.一种限制网络流量的装置,其特征在于,应用于服务器,所述装置包括:请求接收单元,用于在用户终端与所述服务器处于TCP连接状态时,接收所述用户终端基于socks5协议发送的UDP穿透请求;其中,所述穿透请求中包括所述用户终端的标识;
历史统计流量获取单元,用于基于所述用户终端的标识,获取预先存储的与所述用户终端的标识对应的历史统计流量;
分配单元,用于为所述用户终端分配处于空闲状态的第一端口;
第一统计单元,用于从当前时刻开始对所述第一端口的流量进行实时统计,得到统计流量;
第一断开单元,用于在确定所述对应的历史统计流量和所述统计流量之和达到所述用户终端的标识对应的购买流量时,断开与所述用户终端的TCP连接。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:第二统计单元,用于在确定所述对应的历史统计流量和所述统计流量之和小于所述对应的购买流量时,继续对所述第一端口的流量进行统计。
9.一种电子设备,其特征在于,包括存储器以及处理器,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器读取并运行时,执行如权利要求1-6中任一项所述的方法。
10.一种存储介质,其特征在于,所述存储介质上存储有计算机程序指令,所述计算机程序指令被计算机读取并运行时,执行如权利要求1-6中任一项所述的方法。
说明书 :
限制网络流量的方法、装置、电子设备及存储介质
技术领域
背景技术
终端通过TCP连接通道消耗的流量甚少,因此导致统计得到的流量和用户终端实际消耗的
流量之间的误差较大,继而导致在用户终端使用的流量达到该用户购买流量时,无法及时
断开网络连接。
发明内容
端使用的流量达到该用户购买流量时,及时断开网络连接。
送的UDP穿透请求;其中,所述穿透请求中包括所述用户的标识;基于所述用户的标识,获取
预先存储的与所述用户的标识对应的历史统计流量;为所述用户终端分配处于空闲状态的
第一端口;从当前时刻开始对所述第一端口的流量进行实时统计,得到统计流量;在确定所
述对应的历史统计流量和所述统计流量之和达到所述用户的标识对应的购买流量时,断开
与所述用户终端的TCP连接。
务器处于传输控制协议(Transmission Control Protocol,TCP)连接状态时,接收所述用
户终端基于socks5协议发送的UDP穿透请求,其中,所述穿透请求中包括所述用户的标识,
为所述用户终端分配处于空闲状态的第一端口,从当前时刻开始对所述第一端口的流量进
行实时统计,得到统计流量,由于从当前时刻开始,所述第一端口为所述用户终端使用,因
此,所述统计流量为所述用户终端所消耗的流量,同时,由于该用户可能在当前时刻之前已
经消耗了部分流量(即历史流量),因此,通过在确定所述用户的标识对应的历史统计流量
和所述统计流量之和达到所述用户的标识对应的购买流量时,及时断开与所述用户终端的
TCP连接,以在用户终端使用的流量达到该用户购买流量时,及时断开网络连接。
和所述统计流量之和小于所述对应的购买流量时,继续对所述第一端口的流量进行统计。
所述方法还包括:接收所述用户终端发送的断开与所述服务器的TCP连接的请求;断开与所
述终端设备端的TCP连接;基于对所述第一端口的流量进行实时统计所得到的统计流量,更
新所述对应的历史统计流量。
计流量的准确性。
量。
配的空闲端口传输或者接收数据的情况,继而节约了端口资源。
计,得到第一统计流量;对与所述用户的标识对应的TCP通道的流量进行实时统计,得到第
二统计流量;将所述第一统计流量和所述第二统计流量之和确定为所述统计流量的值。
道的流量和确定为所述统计流量的值,进一步提高流量统计结果的准确性。
牌桶算法限制每秒经过所述第一端口的流量,以使每秒经过所述第一端口的流量小于等于
所述流量阈值。
端基于socks5协议发送的UDP穿透请求;其中,所述穿透请求中包括所述用户的标识;历史
统计流量获取单元,用于基于所述用户的标识,获取预先存储的与所述用户的标识对应的
历史统计流量;分配单元,用于为所述用户终端分配处于空闲状态的第一端口;第一统计单
元,用于从当前时刻开始对所述第一端口的流量进行实时统计,得到统计流量;第一断开单
元,用于在确定所述对应的历史统计流量和所述统计流量之和达到所述用户的标识对应的
购买流量时,断开与所述用户终端的TCP连接。
第一端口的流量进行统计。
所述终端设备端的TCP连接;更新单元,用于基于对所述第一端口的流量进行实时统计所得
到的统计流量,更新所述对应的历史统计流量。
应的TCP通道的流量进行实时统计,得到第二统计流量;将所述第一统计流量和所述第二统
计流量之和确定为所述统计流量的值。
流量,以使每秒经过所述第一端口的流量小于等于所述流量阈值。
述电子设备执行第一方面所述的方法。
明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这
些附图获得其他相关的附图。
302-存储器;303-通信接口。
具体实施方式
描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
S13、S14和S15。
(User Datagram Protocol,UDP)穿透请求;其中,所述穿透请求中包括所述用户的标识。
器处于TCP连接状态;在所述用户终端与所述服务器处于TCP连接状态时,若用户终端基于
socks5协议向服务器发送UDP穿透请求,服务器则接收所述用户终端基于socks5协议发送
的UDP穿透请求;其中,所述穿透请求中包括所述用户的标识;可以理解的是,在所述用户终
端与所述服务器处于TCP连接断开状态时,服务器则无法接收到所述用户终端基于socks5
协议发送的UDP穿透请求。
量。
端能够根据所述第一端口的端口号与所述服务器建立UDP连接。
UDP监听句柄以对所述第一端口的流量进行实时统计,得到统计流量,其中,所述统计流量
与所述用户的标识对应。
实时统计,得到第一统计流量;对与所述用户的标识对应的TCP通道的流量进行实时统计,
得到第二统计流量;将所述第一统计流量和所述第二统计流量之和确定为所述统计流量的
值。
流量;将所述第一统计流量和所述第二统计流量之和确定为所述统计流量的值。
户的标识对应的购买流量时,断开与所述用户终端的TCP连接。
值得一提的是,当用户从购买流量开始通过终端设备所消耗的流量达到购买流量时,消除
所述用户的标识和购买流量的对应关系,直到下一次重新购买流量时,再次建立所述用户
的标识和重新购买的流量的对应关系。或者,直接利用所述重新购买的流量覆盖上一次购
买的流量的数值。
户的标识对应的购买流量时,继续对所述第一端口的流量进行累加统计。
口的流量进行实时统计所得到的统计流量,更新所述对应的历史统计流量。
对所述第一端口的流量进行实时统计所得到的统计流量,替换所述用户的标识对应的历史
统计流量,以更新所述对应的历史统计流量。
接之后对所述用户的标识对应的TCP连接通道进行实时统计所述得到的统计流量之和,替
换所述用户的标识对应的历史统计流量,以更新所述对应的历史统计流量。
所述用户终端的TCP连接。
第一端口的流量小于等于所述流量阈值。
口对应的流量阈值。
找出与所述用户的标识对应的流量阈值。
过所述第一端口和所述对应的TCP通道的流量,以使每秒经过所述第一端口和所述对应的
TCP通道的流量之和小于等于所述流量阈值。
的流量阈值的对应关系中,查找出与所述用户的标识对应的流量阈值。
识;
行统计。
TCP连接;更新单元,用于基于对所述第一端口的流量进行实时统计所得到的统计流量,更
新所述对应的历史统计流量。
流量进行实时统计,得到第二统计流量;将所述第一统计流量和所述第二统计流量之和确
定为所述统计流量的值。
过所述第一端口的流量小于等于所述流量阈值。
脑、智能手机、个人数字助理(personal digital assistant,PDA)等。
Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器
(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable
Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable
Read-Only Memory,EEPROM)等。
socks5协议发送的UDP穿透请求;其中,所述穿透请求中包括所述用户的标识;基于所述用
户的标识,获取预先存储的与所述用户的标识对应的历史统计流量;为所述用户终端分配
处于空闲状态的第一端口;从当前时刻开始对所述第一端口的流量进行实时统计,得到统
计流量;在确定所述对应的历史统计流量和所述统计流量之和达到所述用户的标识对应的
购买流量时,断开与所述用户终端的TCP连接。
(Network Processor,NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场
可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组
件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以
是微处理器或者该处理器也可以是任何常规的处理器等。
的方法。
用户终端与所述服务器处于TCP连接状态时,接收所述用户终端基于socks5协议发送的UDP
穿透请求,其中,所述穿透请求中包括所述用户的标识,为所述用户终端分配处于空闲状态
的第一端口,从当前时刻开始对所述第一端口的流量进行实时统计,得到统计流量,由于从
当前时刻开始,所述第一端口为所述用户终端使用,因此,所述统计流量为所述用户终端所
消耗的流量,同时,由于该用户可能在当前时刻之前已经消耗了部分流量(即历史流量),因
此,在确定所述用户的标识对应的历史统计流量和所述统计流量之和达到所述用户的标识
对应的购买流量时,及时断开与所述用户终端的TCP连接,以在用户终端使用的流量达到该
用户购买流量时,及时断开网络连接。
了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能
和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部
分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行
指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附
图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可
以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个
方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于
硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。