一种传输控制协议TCP代理方法、装置及基站转让专利

申请号 : CN202010844766.3

文献号 : CN114172977B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 李凡

申请人 : 大唐移动通信设备有限公司

摘要 :

本发明公开了一种传输控制协议TCP代理方法、装置及基站,用于提供一种灵活调整TCP连接的代理数据量的TCP代理方法。该方法包括:确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量;根据所述内存池数据量和所述与基站已建立TCP代理会话的数据量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量。

权利要求 :

1.一种传输控制协议TCP代理方法,其特征在于,所述方法包括:确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数量;

根据所述内存池数据量和所述与基站已建立TCP代理会话的数量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;

根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量;

其中,所述根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量,包括:确定与所述基站新建立TCP代理会话的终端的数量信息,将所述可创建TCP代理连接请求的数据量平均分配给所述终端,以确定所述终端对应的代理数据量;或者,确定与所述基站新建立TCP代理会话的终端的业务信息;根据所述可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定所述终端对应的代理数据量;

所述根据所述内存池数据量和所述与基站已建立TCP代理会话的数量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量,包括:将所述内存池数据量和所述与基站已建立TCP代理会话的数量代入以下公式:m=M/2(n+1);

其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征所述基站分配用于TCP代理的内存池数据量,n用于表征所述与基站已建立TCP代理会话的数量。

2.如权利要求1所述的方法,其特征在于,在确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数量之前,所述方法还包括:确定启动基于所述基站负荷的差异化TCP代理功能;

其中,若确定接收与所述基站对应的终端发送的报文的端口为预设端口;以及,确定所述基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定所述基站的内存负荷值小于第二阈值,则确定启动所述基于所述基站负荷的差异化TCP代理功能。

3.如权利要求2所述的方法,其特征在于,所述方法还包括:确定是否接收到终端发送的预设结束信息;

若接收到所述终端发送的预设结束信息,则确定结束所述基于基站负荷的差异化TCP代理功能。

4.如权利要求3所述的方法,其特征在于,所述预设结束信息为复位链接RST信息或关闭链接FIN信息。

5.如权利要求2所述的方法,其特征在于,所述方法还包括:确定从与所述基站对应的服务器获取的第一数据量,所述第一数据量用于表征所述服务器基于所述基站传输给终端的数据量;

将所述第一数据量与所述可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束所述基于基站负荷的差异化TCP代理功能。

6.如权利要求2所述的方法,其特征在于,所述方法还包括:确定与所述基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,所述第一消息为所述基站发送给所述服务器的消息;

若是,则结束所述基于基站负荷的差异化TCP代理功能。

7.一种传输控制协议TCP代理装置,其特征在于,所述装置包括:第一确定单元,用于确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量;

第一处理单元,用于根据所述内存池数据量和所述与基站已建立TCP代理会话的数量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;

第二处理单元,用于根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量;

其中,所述第二处理单元,具体用于:

确定与所述基站新建立TCP代理会话的终端的数量信息,将所述可创建TCP代理连接请求的数据量平均分配给所述终端,以确定所述终端对应的代理数据量;或者,确定与所述基站新建立TCP代理会话的终端的业务信息;

根据所述可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定所述终端对应的代理数据量;

所述第一处理单元,具体用于:

将所述内存池数据量和所述与基站已建立TCP代理会话的数量代入以下公式:m=M/2(n+1);

其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征所述基站分配用于TCP代理的内存池数据量,n用于表征所述与基站已建立TCP代理会话的数量。

8.如权利要求7所述的装置,其特征在于,所述装置还包括预判单元,用于:确定启动基于所述基站负荷的差异化TCP代理功能;

其中,若确定接收与所述基站对应的终端发送的报文的端口为预设端口;以及,确定所述基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定所述基站的内存负荷值小于第二阈值,则确定启动所述基于所述基站负荷的差异化TCP代理功能。

9.如权利要求8所述的装置,其特征在于,所述装置还包括第二确定单元,所述第二确定单元用于:确定是否接收到终端发送的预设结束信息;

若接收到所述终端发送的预设结束信息,则确定结束所述基于基站负荷的差异化TCP代理功能。

10.如权利要求9所述的装置,其特征在于,所述预设结束信息为复位链接RST信息或关闭链接FIN信息。

11.如权利要求8所述的装置,其特征在于,所述装置还包括第三确定单元,所述第三确定单元用于:确定从与所述基站对应的服务器获取的第一数据量,所述第一数据量用于表征所述服务器基于所述基站传输给终端的数据量;

将所述第一数据量与所述可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束所述基于基站负荷的差异化TCP代理功能。

12.如权利要求8所述的装置,其特征在于,所述装置还包括第四确定单元,所述第四确定单元用于:确定与所述基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,所述第一消息为所述基站发送给所述服务器的消息;

若是,则结束所述基于基站负荷的差异化TCP代理功能。

13.一种基站,其特征在于,存储器,收发机,处理器:

存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行权利要求1至6任一项所述方法。

14.一种处理器可读存储介质,其特征在于,所述处理器可读存储介质存储有执行权利要求1至6任一项所述方法的处理器可执行的计算机程序。

说明书 :

一种传输控制协议TCP代理方法、装置及基站

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种传输控制协议TCP代理方法、装置及基站。

背景技术

[0002] 目前,在TCP(Transmission Control Protocol,传输控制协议)环境下,为了实现TCP网络通信的可靠性,增加校验和、序号标识、滑动窗口、确认应答、拥塞控制等复杂的机制,建立了繁琐的握手过程,增加了TCP对系统资源的消耗且TCP的重传机制、顺序控制机制等对数据传输有一定延时影响,降低了传输效率。现有技术中针对上述TCP协议存在的问题,提出了TCP代理功能。
[0003] 然而,现有技术中TCP代理作为提升端到端时延的策略,由于对基站内存限制且设置单个TCP连接的代理数据量为固定值,因而对于小包业务比如即时通信、页面打开等业务处理的效果很明显,但是对于大包业务比如图片浏览、视频流媒体等业务,提升端到端的时延效果有限。
[0004] 可见,现有技术中亟需灵活调整TCP连接的代理数据量的TCP代理方法,以在保证基站运行稳定的基础上,提升对业务的处理效果。

发明内容

[0005] 本发明公开了一种传输控制协议TCP代理方法、装置及基站,用于提供一种灵活调整TCP连接的代理数据量的TCP代理方法。
[0006] 第一方面,本发明实施例提供一种传输控制协议TCP代理方法,所述方法包括:
[0007] 确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量;
[0008] 根据所述内存池数据量和所述与基站已建立TCP代理会话的数据量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;
[0009] 根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量。
[0010] 在一种可能的实施方式中,在确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量之前,所述方法还包括:
[0011] 确定启动基于所述基站负荷的差异化TCP代理功能;
[0012] 其中,若确定接收与所述基站对应的终端发送的报文的端口为预设端口;以及,确定所述基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定所述基站的内存负荷值小于第二阈值,则确定启动所述基于所述基站负荷的差异化TCP代理功能。
[0013] 在一种可能的实施方式中,根据所述内存池数据量和所述与基站已建立TCP代理会话的数据量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量,包括:
[0014] 将所述内存池数据量和所述与基站已建立TCP代理会话的数据量代入以下公式:
[0015] m=M/2(n+1);
[0016] 其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征所述基站分配用于TCP代理的内存池数据量,n用于表征所述与基站已建立TCP代理会话的数据量。
[0017] 在一种可能的实施方式中,根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量,包括:
[0018] 确定与所述基站新建立TCP代理会话的终端的数量信息,将所述可创建TCP代理连接请求的数据量平均分配给所述终端,以确定所述终端对应的代理数据量;或者,[0019] 确定与所述基站新建立TCP代理会话的终端的业务信息;
[0020] 根据所述可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定所述终端对应的代理数据量。
[0021] 在一种可能的实施方式中,所述方法还包括:
[0022] 确定是否接收到终端发送的预设结束信息;
[0023] 若接收到所述终端发送的预设结束信息,则确定结束所述基于基站负荷的差异化TCP代理功能。
[0024] 在一种可能的实施方式中,所述预设结束信息为复位链接RST信息或关闭链接FIN信息。
[0025] 在一种可能的实施方式中,所述方法还包括:
[0026] 确定从与所述基站对应的服务器获取的第一数据量,所述第一数据量用于表征所述服务器基于所述基站传输给终端的数据量;
[0027] 将所述第一数据量与所述可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束所述基于基站负荷的差异化TCP代理功能。
[0028] 在一种可能的实施方式中,所述方法还包括:
[0029] 确定与所述基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,所述第一消息为所述基站发送给所述服务器的消息;
[0030] 若是,则结束所述基于基站负荷的差异化TCP代理功能。
[0031] 第二方面,本发明实施例提供一种传输控制协议TCP代理装置,所述装置包括:
[0032] 第一确定单元,用于确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量;
[0033] 第一处理单元,用于根据所述内存池数据量和所述与基站已建立TCP代理会话的数据量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;
[0034] 第二处理单元,用于根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量。
[0035] 在一种可能的实施方式中,所述装置还包括预判单元,用于:
[0036] 确定启动基于所述基站负荷的差异化TCP代理功能;
[0037] 其中,若确定接收与所述基站对应的终端发送的报文的端口为预设端口;以及,确定所述基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定所述基站的内存负荷值小于第二阈值,则确定启动所述基于所述基站负荷的差异化TCP代理功能。
[0038] 在一种可能的实施方式中,所述第一处理单元,用于:
[0039] 将所述内存池数据量和所述与基站已建立TCP代理会话的数据量代入以下公式:
[0040] m=M/2(n+1);
[0041] 其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征所述基站分配用于TCP代理的内存池数据量,n用于表征所述与基站已建立TCP代理会话的数据量。
[0042] 在一种可能的实施方式中,所述第二处理单元,用于:
[0043] 确定与所述基站新建立TCP代理会话的终端的数量信息,将所述可创建TCP代理连接请求的数据量平均分配给所述终端,以确定所述终端对应的代理数据量;或者,[0044] 确定与所述基站新建立TCP代理会话的终端的业务信息;
[0045] 根据所述可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定所述终端对应的代理数据量。
[0046] 在一种可能的实施方式中,所述装置还包括第二确定单元,所述第二确定单元用于:
[0047] 确定是否接收到终端发送的预设结束信息;
[0048] 若接收到所述终端发送的预设结束信息,则确定结束所述基于基站负荷的差异化TCP代理功能。
[0049] 在一种可能的实施方式中,所述预设结束信息为复位链接RST信息或关闭链接FIN信息。
[0050] 在一种可能的实施方式中,所述装置还包括第三确定单元,所述第三确定单元用于:
[0051] 确定从与所述基站对应的服务器获取的第一数据量,所述第一数据量用于表征所述服务器基于所述基站传输给终端的数据量;
[0052] 将所述第一数据量与所述可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束所述基于基站负荷的差异化TCP代理功能。
[0053] 在一种可能的实施方式中,所述装置还包括第四确定单元,所述第四确定单元用于:
[0054] 确定与所述基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,所述第一消息为所述基站发送给所述服务器的消息;
[0055] 若是,则结束所述基于基站负荷的差异化TCP代理功能。
[0056] 第三方面,本发明实施例提供一种基站,所述基站包括存储器,收发机,处理器:
[0057] 存储器,用于存储计算机程序;收发机,用于在所述处理器的控制下收发数据;处理器,用于读取所述存储器中的计算机程序并执行以下操作:
[0058] 确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量;
[0059] 根据所述内存池数据量和所述与基站已建立TCP代理会话的数据量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;
[0060] 根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量。
[0061] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0062] 确定启动基于所述基站负荷的差异化TCP代理功能;
[0063] 其中,若确定接收与所述基站对应的终端发送的报文的端口为预设端口;以及,确定所述基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定所述基站的内存负荷值小于第二阈值,则确定启动所述基于所述基站负荷的差异化TCP代理功能。
[0064] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0065] 将所述内存池数据量和所述与基站已建立TCP代理会话的数据量代入以下公式:
[0066] m=M/2(n+1);
[0067] 其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征所述基站分配用于TCP代理的内存池数据量,n用于表征所述与基站已建立TCP代理会话的数据量。
[0068] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0069] 确定与所述基站新建立TCP代理会话的终端的数量信息,将所述可创建TCP代理连接请求的数据量平均分配给所述终端,以确定所述终端对应的代理数据量;或者,[0070] 确定与所述基站新建立TCP代理会话的终端的业务信息;
[0071] 根据所述可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定所述终端对应的代理数据量。
[0072] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0073] 确定是否接收到终端发送的预设结束信息;
[0074] 若接收到所述终端发送的预设结束信息,则确定结束所述基于基站负荷的差异化TCP代理功能。
[0075] 在一种可能的实施方式中,所述预设结束信息为复位链接RST信息或关闭链接FIN信息。
[0076] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0077] 确定从与所述基站对应的服务器获取的第一数据量,所述第一数据量用于表征所述服务器基于所述基站传输给终端的数据量;
[0078] 将所述第一数据量与所述可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束所述基于基站负荷的差异化TCP代理功能。
[0079] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0080] 确定与所述基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,所述第一消息为所述基站发送给所述服务器的消息;
[0081] 若是,则结束所述基于基站负荷的差异化TCP代理功能。
[0082] 第四方面,本发明实施例提一种处理器可读存储介质,所述处理器可读存储介质存储有执行上述第一方面中任一项的方法的处理器可执行的计算机程序。
[0083] 本发明实施例至少包括以下有益效果:
[0084] 在本发明实施例中,可以确定基站分配用于TCP代理的内存池数据量以及与基站已建立TCP代理会话的数据量,然后根据内存池数据量和与基站已建立TCP代理会话的数据量,确定基站的内存负荷,并基于基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量。进一步地,可以根据可创建传输控制协议TCP代理连接请求的数据量和与基站新建立TCP代理会话的终端的信息,确定终端对应的代理数据量。可见,本发明实施例可以基于基站的负荷情况自动配置终端对应的代理数据量,在保证基站稳定运行的基础上,最大程度保证端对端业务的TCP代理功能,提升用户的时延感知体验。

附图说明

[0085] 为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所介绍的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0086] 图1示例性示出了对现有技术中TCP代理方法效果分析的示意图;
[0087] 图2示例性示出了TCP代理原理的示意图;
[0088] 图3示例性示出了本发明实施例提供的在基站侧实现定位TCP代理方法的流程示意图;
[0089] 图4示例性示出了本发明实施例提供的TCP代理方法的流程示意图;
[0090] 图5示例性示出了本发明实施例提供的基站的结构示意图;
[0091] 图6示例性示出了本发明实施例提供的基站的又一结构示意图。

具体实施方式

[0092] 为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
[0093] 以下对本发明实施例中的部分用语进行解释说明,以便于本领域技术人员理解。
[0094] 1、终端,又称为用户设备(user equipment,UE)、移动台(mobile station,MS)、移动终端(mobile terminal,MT)等,是一种向用户提供语音和/或数据连通性的设备,例如,具有无线连接功能的手持式设备、车载设备等。目前,一些终端的举例为:手机(mobile phone)、平板电脑、笔记本电脑、掌上电脑、移动互联网设备(mobile internet device,MID)、可穿戴设备,虚拟现实(virtual reality,VR)设备、增强现实(augmented reality,AR)设备、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程手术(remote medical surgery)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等。
[0095] 2、网络侧设备,是一种为终端提供无线通信功能的设备,包括但不限于:5G中的gNB、无线网络控制器(radio network controller,RNC)、节点B(node B,NB)、基站控制器(base station controller,BSC)、基站收发台(base transceiver station,BTS)、家庭基站(例如,home evolved nodeB,或home node B,HNB)、基带单元(BaseBand Unit,BBU)、传输点(transmitting and receiving point,TRP)、发射点(transmitting point,TP)、移动交换中心等。本发明中的基站还可以是未来可能出现的其他通信系统中为终端提供无线通信功能的设备。后文中以“基站”为例进行说明。
[0096] 目前,现有技术中,传输控制协议(Transmission Control Protocol,TCP)代理方法作为提升终端端到服务器端时延的策略,对于小包业务比如即时通信、页面打开的效果很明显,但是对于大包比如图片浏览、视频流媒体等来说提升效果有限。
[0097] 具体的,请参见图1,图1为基于Wireshark软件实现的基站抓包日志分析,具体的横坐标表示的是时间且单位为秒,纵坐标表示的是往返时间(round‑trip‑time,rtt),且单位为毫秒。目前,基站设置单个TCP连接的代理数据量为200K,在代理有效期间,下行rtt几乎为零,说明TCP代理的开启对于缩减端到端时延有明显效果,但是因为代理数据量有限,所以这种低时延的状态在230ms左右就结束了,对于下行数据量较大的TCP会话提升效果不明显。
[0098] 鉴于此,本发明实施例提供一种TCP代理方法,通过该方法可以根据基站的负荷的情况自动配置代理数据量,从而可以实现保证基站稳定,且针对不同TCP会话业务分配不同的代理数据量。
[0099] 在本发明实施例中,在介绍完本发明实施例的设计思想之后,下面对本发明实施例中的技术方案适用的场景做一些简单介绍,需要说明的是,本发明实施例描述的应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域普通技术人员可知,随着新网络架构和应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
[0100] 本发明实施例提供的技术方案对于基于TCP协议的数据业务均有初始加速的效果,例如,对于大部分终端例如手机的应用程序(Application,APP)的多种业务,多种业务例如是即时类通信业务、页面类数据业务、或者是各种基于TCP未加密的视频业务。
[0101] 可见,本发明实施例提供的TCP代理方法适合于传输效率要求较低,但准确率要求较高的各种应用场景,例如基于超文本传输协议(Hypertext transfer protocol,HTTP)的应用场景,如浏览器与万维网之间的通信场景、基于文件传输协议(File Transfer Protocol,FTP)的应用场景、基于简单邮件传输协议(simpleMail Transfer Protocol),SMTP的应用场景等。
[0102] 为了更好的对本发明实施例提供的TCP代理方案的理解,下面先介绍TCP代理原理。请参见图2,图2为TCP代理原理的示意图。
[0103] 在具体的实施过程中,基站可以在收到服务器下发的TCP数据包后对数据进行缓存,并且代替终端进行应答,服务器收到基站的应答后,会继续发数据给终端,基站代替终端继续缓存,若基站确定基站对该终端对应的代理数据量达到门限值,则停止代理。
[0104] 同时,基站会根据终端应答进行数据发下,并丢弃掉终端应答,即不发送终端应答给服务器。若确定将代理的数据已经全部发给UE并收到终端的应答,基站可以删除数据,开始对终端的应答和请求进行透传。
[0105] 可见,在基站的TCP代理功能生效时,对于服务器来讲,基站就是其对应发送数据的终端。且相应的,对于终端来讲,基站就是其对应的服务器。也就是说,基站起到了数据缓存,代理服务器的数据下发功能,并替代终端进行应答的功能,从而可以达到降低两侧时延,提升数据传输速率的目的。
[0106] 下面结合说明书附图介绍本发明实施例提供的技术方案。请参见图3,图3为本发明实施例提供的TCP代理方法的流程示意图。
[0107] 步骤301:确定基站分配用于TCP代理的内存池数据量以及与基站已建立TCP代理会话的数据量。
[0108] 步骤302:根据内存池数据量和与基站已建立TCP代理会话的数据量,确定基站的内存负荷,并基于基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量。
[0109] 步骤303:根据可创建TCP代理连接请求的数据量和与基站新建立TCP代理会话的终端的信息,确定终端对应的代理数据量。
[0110] 在本发明实施例中,可以基于基站的负荷情况,确定可创建TCP代理连接请求的数据量,并且可以根据可创建TCP代理连接请求的数据量和与基站新建立TCP代理会话的终端的信息,确定终端对应的代理数据量。可见,本发明实施例可以基于基站的负荷情况自动配置对应的终端对应代理数据量,在保证基站稳定运行的基础上,最大程度保证端对端业务的TCP代理功能,提升用户的时延感知体验。
[0111] 为了更好的理解本发明实施例提供的技术方案,在本发明实施例中结合技术方案实现所涉及的各设备交互的过程进行说明,请参见图4,图4为本发明实施例提供的TCP代理方法的流程示意图。
[0112] 步骤401:基站接收终端发送的TCP同步序列编号。
[0113] 步骤402:判断是否启动基于基站负荷的差异化TCP代理功能;若不是,则执行步骤403,若是,则执行步骤404。
[0114] 在本发明实施例中,当基站接收到终端发送的TCP同步序列编号(Synchronize Sequence Numbers,SYN)时,则可以判断是否启动基于基站负荷的差异化TCP代理功能。
[0115] 在本发明实施例中,将前述图3所示的实施例所提供的TCP代理方法,作为一个独立的功能模块集成中网络侧设备中,在满足设定条件的情况下则可以开启该功能实现与现有技术的有效融合。即前述步骤402中判断是否启动基于基站负荷的差异化TCP代理功能的具体实现可以是:在满足以下三个条件的情况下,则可以确定启动基于基站负荷的差异化TCP代理功能,其中:
[0116] 第一个条件为:判断接收与基站对应的终端发送的报文的端口是否为预设端口,其中,该预设端口可以是服务器端口号为80的端口,即预设端口为TCP传输协议规定的服务器端口号对应的端口。
[0117] 第二个条件为:判断基站的主控板和基带板中央处理器(central processing unit,CPU)的负荷值小于第一阈值,其中,第一阈值可以为85%,当然,也可以是80%,本发明实施例中不做限制。
[0118] 第三个条件为:判断基站的内存负荷值是否小于第二阈值。其中,第二阈值可以为85%,当然,也可以是87%,本发明实施例中不做限制。需要说明的是,第一阈值和第二阈值的大小可以相同,也可以不相同。
[0119] 在本发明实施例中,当确定接收与基站对应的终端发送的报文的端口为预设端口;以及,确定基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定基站的内存负荷值小于第二阈值,则可以确定启动基于基站负荷的差异化TCP代理功能。也就是说,当确定终端发送的报文的端口号为80,且内存符负荷以及内存占用量较小时,则启动基于基站负荷的差异化TCP代理功能。这样的方式,可以在尽量确定基站可以稳定运行的基础上,实现对端与端的TCP代理功能。
[0120] 在本发明实施例中,基于基站负荷的差异化TCP代理功能可以理解为基于基站的负荷,对应确定可创建连接的TCP代理数据量,从而对应确定终端对应的业务的代理数据量的代理功能。
[0121] 步骤403:不执行基于基站负荷的差异化TCP代理功能。
[0122] 步骤404:执行基于基站负荷的差异化TCP代理功能。
[0123] 在本发明实施例中,若确定启动基于基站负荷的差异化TCP代理功能之后,则可以确定基站分配用于TCP代理的内存池数据量以及与基站已建立TCP代理会话的数据量,然后根据内存池数据量和与基站已建立TCP代理会话的数据量,确定基站的内存负荷,并基于基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量。
[0124] 在本发明实施例中,可以将内存池数据量和与基站已建立TCP代理会话的数据量代入以下公式:
[0125] m=M/2(n+1);其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征基站分配用于TCP代理的内存池数据量,n用于表征与基站已建立TCP代理会话的数据量,然后可以确定出可创建传输控制协议TCP连接请求的数据量。
[0126] 在本发明实施例中,考虑跨基站数据倒换时,可能会存在突发大量TCP建链请求,导致内存溢出的情况,因而可以将可创建的TCP连接请求的数据量设置为m≤10Mb,即第三阈值可以为10Mb。此外,考虑到可能会出现突发的大TCP数据业务例如页面组合业务,即可能会请求多个TCP链接,因而将可以将n设置为不小于1的数量且新建TCP代理的代理数据量不能大于内存的1/2。
[0127] 在本发明实施例中,当确定出可创建TCP代理连接请求的数据量之后,可以根据可创建TCP代理连接请求的数据量和与基站新建立TCP代理会话的终端的信息,确定终端对应的代理数据量。具体可以采用以下两种方式确定终端对应的代理数据量:
[0128] 方式一:可以确定与基站新建立TCP代理会话的终端的数量信息,然后可以将可创建TCP代理连接请求的数据量平均分配给终端,从而可以确定终端对应的代理数据量。
[0129] 在具体的实施过程中,可以在确定可创建的TCP代理连接请求的数据量的预定时间段内,确定与基站新建立TCP代理会话的终端,从而确定终端的数量信息。需要说明的是,在预定时间段内,基站中存在的TCP代理会话包括已建立的TCP代理会话的数据量和已经确定与基站新建立TCP代理会话。也就是说,在预定时间段内,基站中的TCP代理会话的状态不会再发生变化,即基站确定的可创建的TCP代理连接请求的数据量以及与基站新建立TCP代理会话的终端对应的代理数据量是稳定可靠的。
[0130] 具体的,预定时间段可以是根据历史经验确定的,预定时间段也可以是根据实际情况综合确定的,本发明实施例中不做限定。当确定与基站新建立TCP代理会话的终端的数量信息之后,可以将可创建TCP代理连接请求的数据量平均分配给终端。具体的,在进行数据量分配时,可以保留预定数据量不做分配,然后将可创建TCP代理连接请求的数据量中除保留预定数据量外的数据量,按照终端的数量平均分配,这样的方式,可以在保证基站稳定运行的基础上,实现对终端对应的代理数据量的动态划分。
[0131] 方式二:可以确定与基站新建立TCP代理会话的终端的业务信息,然后可以根据可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定终端对应的代理数据量。
[0132] 在具体的实施过程中,确定与基站新建立TCP代理会话的终端的方式可以参见前述的确定方式,这里不再赘述。当确定与基站新建立TCP代理会话的终端的之后,可以确定该终端的业务信息,然后可以确定预存的数据量与业务的对应关系,并根据可创建TCP代理连接请求的数据量、预存的数据量与业务的对应关系以及终端的业务信息,确定终端对应的代理数据量。
[0133] 具体的,预存的数据量与业务的对应关系可以是基于历史经验确定的,该对应关系例如是:大包业务(例如视频业务)对应一个值的代理数据量,小包业务(例如页面打开、即时通信类业务等)对应一个值的代理数据量,从而根据终端的业务信息判断属于大包业务还是小包业务,进而可以确定具体的代理数据量,当然,还可以是根据其它灵活配置的方式,本发明实施例中不做限制。
[0134] 在本发明实施例中,在执行基于基站负荷的差异化TCP代理功能时,还可以判断是否结束基于基站负荷的差异化TCP代理功能,具体的,当以下步骤4051、步骤4052以及步骤4053中任意一个步骤的判断结果为是时,则可以执行结束基于基站负荷的差异化TCP代理功能,否则,则可以继续执行基于基站负荷的差异化TCP代理功能。
[0135] 具体的,步骤4051:确定是否接收到终端发送的预设结束信息,若是,则执行步骤406;若不是,则步骤404。
[0136] 在本发明实施例中,当基站接收到终端发送的预设结束信息时,则确定结束基于基站负荷的差异化TCP代理功能,其中,预设结束信息为复位链接RST信息或关闭链接FIN信息。
[0137] 具体的,当基站收到终端发送的RST(Reset,复位链接)信息时,则表示重置TCP链接,即基站可以结束基于基站负荷的差异化TCP代理功能。此外,当基站收到终端发送的FIN(Finish,关闭链接)信息时,则表示四次挥手开始,即TCP链接拆链,结束基于基站负荷的差异化TCP代理功能。
[0138] 步骤4052:确定从与基站对应的服务器获取的第一数据量与可创建TCP代理连接请求的数据量的比较结果是否属于预设范围,若是,则执行步骤406;若不是,则执行步骤404。
[0139] 在本发明实施例中,可以确定从与基站对应的服务器获取的第一数据量,第一数据量用于表征服务器基于基站传输给终端的数据量,然后将第一数据量与可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束基于基站负荷的差异化TCP代理功能。具体的,该预设范围可以是0‑5%,即从与基站对应的服务器获取的第一数据量达到或临近可创建传输控制协议TCP代理连接请求的数据量,则可以结束基于基站负荷的差异化TCP代理功能。
[0140] 步骤4053:确定与基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,若是,则执行步骤406,若不是,则执行步骤404。
[0141] 在本发明实施例中,确定与基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,第一消息为基站发送给服务器的消息;若是,则结束基于基站负荷的差异化TCP代理功能。具体的,预设TCP代理保留时长可以是根据历史经验确定的最大TCP代理保留时长。
[0142] 在本发明实施例中,当服务器异常或者链路异常,即长时间未接收到上下行数据,为了避免异常用户设备对应的代理数据占用资源导致基站资源耗尽或者影响正常链接的TCP代理功能,可以触发结束TCP代理功能。
[0143] 步骤406:结束基于基站负荷的差异化TCP代理功能。
[0144] 可见,本发明实施例中提供的TCP代理方法,在保证基站安全稳定运行的基础上,通过基于基站负荷的差异化TCP代理功能可以确定可创建连接TCP代理的代理数据量,然后对应确定终端对应业务的代理数据量,提升了低负荷场景下的TCP代理数据量,提升了端到端的时延效果。
[0145] 基于同一发明构思,本发明实施例还提供了一种基站,可实现前述实施例中基站侧的功能。
[0146] 图5示例性示出了本发明实施例中的基站的结构,如图5所示该基站包括第一确定单元501、第一处理单元502以及第二处理单元503。其中:
[0147] 第一确定单元501,用于确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量;
[0148] 第一处理单元502,用于根据所述内存池数据量和所述与基站已建立TCP代理会话的数据量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;
[0149] 第二处理单元503,用于根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量。
[0150] 在一种可能的实施方式中,所述装置还包括预判单元,用于:
[0151] 确定启动基于所述基站负荷的差异化TCP代理功能;
[0152] 其中,若确定接收与所述基站对应的终端发送的报文的端口为预设端口;以及,确定所述基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定所述基站的内存负荷值小于第二阈值,则确定启动所述基于所述基站负荷的差异化TCP代理功能。
[0153] 在一种可能的实施方式中,所述第一处理单元502,用于:
[0154] 将所述内存池数据量和所述与基站已建立TCP代理会话的数据量代入以下公式:
[0155] m=M/2(n+1);
[0156] 其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征所述基站分配用于TCP代理的内存池数据量,n用于表征所述与基站已建立TCP代理会话的数据量。
[0157] 在一种可能的实施方式中,所述第二处理单元503,用于:
[0158] 确定与所述基站新建立TCP代理会话的终端的数量信息,将所述可创建TCP代理连接请求的数据量平均分配给所述终端,以确定所述终端对应的代理数据量;或者,[0159] 确定与所述基站新建立TCP代理会话的终端的业务信息;
[0160] 根据所述可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定所述终端对应的代理数据量。
[0161] 在一种可能的实施方式中,,所述装置还包括第二确定单元,所述第二确定单元用于:
[0162] 确定是否接收到终端发送的预设结束信息;
[0163] 若接收到所述终端发送的预设结束信息,则确定结束所述基于基站负荷的差异化TCP代理功能。
[0164] 在一种可能的实施方式中,所述预设结束信息为复位链接RST信息或关闭链接FIN信息。
[0165] 在一种可能的实施方式中,所述装置还包括第三确定单元,所述第三确定单元用于:
[0166] 确定从与所述基站对应的服务器获取的第一数据量,所述第一数据量用于表征所述服务器基于所述基站传输给终端的数据量;
[0167] 将所述第一数据量与所述可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束所述基于基站负荷的差异化TCP代理功能。
[0168] 在一种可能的实施方式中,所述装置还包括第四确定单元,所述第四确定单元用于:
[0169] 确定与所述基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,所述第一消息为所述基站发送给所述服务器的消息;
[0170] 若是,则结束所述基于基站负荷的差异化TCP代理功能。
[0171] 在此需要说明的是,本发明实施例提供的上述基站,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本发明实施例中与方法实施例相同的部分及有益效果进行具体赘述。
[0172] 基于同一发明构思,本发明实施例还提供了一种基站,可以实现前述实施例中基站侧的功能。
[0173] 图6示例性示出了本发明实施例中的基站的结构示意图。如图所示,该基站可包括:处理器601、存储器602、收发机603以及总线接口604。
[0174] 处理器601负责管理总线架构和通常的处理,存储器602可以存储处理器601在执行操作时所使用的数据。收发机603用于在处理器601的控制下接收和发送数据。
[0175] 总线架构可以包括任意数量的互联的总线和桥,具体由处理器601代表的一个或多个处理器和存储器602代表的存储器的各种电路链接在一起。总线架构还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路链接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口提供接口。处理器601负责管理总线架构和通常的处理,存储器602可以存储处理器601在执行操作时所使用的数据。
[0176] 本发明实施例揭示的流程,可以应用于处理器601中,或者由处理器601实现。在实现过程中,信号处理流程的各步骤可以通过处理器601中的硬件的集成逻辑电路或者软件形式的指令完成。处理器601可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器602,处理器601读取存储器602中的信息,结合其硬件完成信号处理流程的步骤。
[0177] 具体地,处理器601,用于读取存储器602中的计算机指令并执行图3所示的流程中基站侧实现的功能。
[0178] 具体地,处理器601可以读取存储器602中的计算机指令,执行以下操作:
[0179] 确定基站分配用于TCP代理的内存池数据量以及与所述基站已建立TCP代理会话的数据量;
[0180] 根据所述内存池数据量和所述与基站已建立TCP代理会话的数据量,确定所述基站的内存负荷,并基于所述基站的内存负荷确定可创建传输控制协议TCP代理连接请求的数据量;
[0181] 根据所述可创建TCP代理连接请求的数据量和与所述基站新建立TCP代理会话的终端的信息,确定所述终端对应的代理数据量。
[0182] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0183] 确定启动基于所述基站负荷的差异化TCP代理功能;
[0184] 其中,若确定接收与所述基站对应的终端发送的报文的端口为预设端口;以及,确定所述基站的主控板和基带板中央处理器CPU的负荷值小于第一阈值;以及确定所述基站的内存负荷值小于第二阈值,则确定启动所述基于所述基站负荷的差异化TCP代理功能。
[0185] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0186] 将所述内存池数据量和所述与基站已建立TCP代理会话的数据量代入以下公式:
[0187] m=M/2(n+1);
[0188] 其中,m用于表征可创建传输控制协议TCP连接请求的数据量,且m小于或等于第三阈值,M用于表征所述基站分配用于TCP代理的内存池数据量,n用于表征所述与基站已建立TCP代理会话的数据量。
[0189] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0190] 确定与所述基站新建立TCP代理会话的终端的数量信息,将所述可创建TCP代理连接请求的数据量平均分配给所述终端,以确定所述终端对应的代理数据量;或者,[0191] 确定与所述基站新建立TCP代理会话的终端的业务信息;
[0192] 根据所述可创建TCP代理连接请求的数据量和预存的数据量与业务的对应关系,确定所述终端对应的代理数据量。
[0193] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0194] 确定是否接收到终端发送的预设结束信息;
[0195] 若接收到所述终端发送的预设结束信息,则确定结束所述基于基站负荷的差异化TCP代理功能。
[0196] 在一种可能的实施方式中,所述预设结束信息为复位链接RST信息或关闭链接FIN信息。
[0197] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0198] 确定从与所述基站对应的服务器获取的第一数据量,所述第一数据量用于表征所述服务器基于所述基站传输给终端的数据量;
[0199] 将所述第一数据量与所述可创建传输控制协议TCP代理连接请求的数据量进行比较,若比较结果属于预设范围,则结束所述基于基站负荷的差异化TCP代理功能。
[0200] 在一种可能的实施方式中,所述处理器还用于读取所述存储器中的计算机程序并执行以下操作:
[0201] 确定与所述基站对应的服务器对第一消息响应时长是否小于预设TCP代理保留时长,所述第一消息为所述基站发送给所述服务器的消息;
[0202] 若是,则结束所述基于基站负荷的差异化TCP代理功能。
[0203] 本发明实施例还提供了一种处理器可读存储介质,所述处理器可读存储介质存储有执行上述实施例中基站侧实现的TCP代理方法的处理器可执行的计算机程序。
[0204] 本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD‑ROM、光学存储器等)上实施的计算机程序产品的形式。
[0205] 本发明是参照根据本发明的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0206] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0207] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0208] 显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。