首页 / 专利库 / 信号处理 / 信号 / 一种实时高并发长连接超时快速处理方法

一种实时高并发长连接超时快速处理方法

阅读:1发布:2023-01-10

专利汇可以提供一种实时高并发长连接超时快速处理方法专利检索,专利查询,专利分析的服务。并且本 发明 实时高并发长连接超时快速处理方法,包括以下步骤:S1:构建一个长度为L,地址下标为i=0,1,2,……,L-1的数组P,该数组中的每个元素P(i)包括车辆标识集合,所述数组P的长度L为时间 阀 值,构建交叉关系表S2:启动系统;S3:初始化数组;S4:开启线程,初始化 指针 值T;S5:单位指针时间内,系统内所有车辆的 信号 数据采集 ;S6:判断单位指针时间内,是否有车辆发出信号S7:判断是否接到结束指令。上述技术方案采用缓存中预设数组P(所述数组P的长度L为时间阀值)、交叉关系表、设立指针的方式,在处理过程中,数组在循环时间周期内,删除系统内未响应车辆的信息,只保留响应车辆在时间周期的信息,数组的整体数据量小,遍历时间周期短。,下面是一种实时高并发长连接超时快速处理方法专利的具体信息内容。

1.一种实时高并发长连接超时快速处理方法,其特征在于,包括以下步骤:
S1:构建一个长度为L,地址下标为i=0,1,2,……,L-1的数组P,该数组中的每个元素P(i)包括车辆标识集合,
构建交叉关系表,交叉关系表包括信号车辆标识和该车辆最近一次写入数组P的地址下标;
构建指针
S2:启动系统;
S3:初始化数组P,令该数组中的每个元素P(i)中包括系统内所有车辆标识集合;
S4:开启线程,初始化指针值T;
S5:单位指针时间内,系统内所有车辆的信号数据采集
S6:判断单位指针时间内,是否有车辆发出信号;如果有则更新交叉关系表和数组P,如果没有,则数组P删除P(i)在i=T数据单元中的车辆标识集合;
S7:判断是否结束接到结束指令,如果是,结束信号采集和数据处理,否则另T=T+1,则返回步骤S5。
2.根据权利要求1所述的处理方法,其特征在于,所述数组P的长度L为时间值的秒数值。
3.根据权利要求1所述的处理方法,其特征在于,所述S4步骤中,初始化指针值的计算方法为启动系统的时间取分秒后,将分秒值转化为秒数值,并将秒数值与L整除后取余数。
4.根据权利要求1所述的处理方法,其特征在于,所述单位指针时间为1s。
5.根据权利要求1所述的处理方法,其特征在于,所述车辆信号为车辆终端上报的心跳包信号。
6.根据权利要求5所述的处理方法,其特征在于,所述时间阀值为120。
7.根据权利要求1所述的处理方法,其特征在于,所述车辆标识为车载终端标识。
8.根据权利要求1所述的处理方法,其特征在于,所述S6步骤中的交叉关系表和数组的处理方法为:如果交叉关系表中,不存在该车载终端标识,则将发出信号的车辆标识和i值,i=T,写入该交叉关系表中,数组P删除P(i)在i=T数据单元中的车辆标识集合,写入发出信号的车载终端标识;如果交叉关系表中,存在该车载终端标识,则更新i值,使i=T,数组P删除P(i)在i=T数据单元中的车辆标识集合,写入发出信号的车载终端标识。

说明书全文

一种实时高并发长连接超时快速处理方法

技术领域

[0001] 本发明涉及车联网领域,特别涉及一种实时高并发长连接超时快速处理方法。

背景技术

[0002] 在车联网行业,终端车辆与服务端之间都是采用TCP长连接方式,且数据实时性要求很高,在车辆达到数十万后,对于服务器维护链路的资源要求越来越高,在车辆停用状态下,按照自我保护、节省资源等的设计模式,终端车辆会进入休眠状态,此时会产生链路断开的需求,在链路断开后,服务端如何实时高效准确的释放资源,也是提高终端并发接入量的一个重要影响因素。
[0003] 目前普遍的做法是将车辆唯一标识、链路id和最后一次上报数据时间存储在Map中,开启一个单独的线程通过定时轮询该Map,比对时间是否超过超时值,来进行判断链路是否超时需要断开回收资源等。在数据达到一定量的时候,遍历的时间周期较长,无法达到实时高效准确的作用效果。

发明内容

[0004] 为此,需要提供一种实时高并发长连接超时快速处理方法,能形成原超时阀值时间区段短循环,实时删除未响应车辆数据,使得数组的整体数据量较小,遍历的时间周期较短,并在循环内对较短预设时间内响应的对应的链路进行关闭断开处理,回收资源。
[0005] 为实现上述目的,发明人提供了一种实时高并发长连接超时快速处理方法,包括以下步骤:
[0006] S1:构建一个长度为L,地址下标为i=0,1,2,……,L-1的数组P,该数组中的每个元素P(i)包括车辆标识集合,
[0007] 构建交叉关系表,交叉关系表包括响应车辆标识和该车辆最近一次写入数组P的对应地址下标i;
[0008] 构建指针
[0009] S2:启动系统;
[0010] S3:初始化数组P,令该数组中的每个元素P(i)中包括系统内所有车辆标识集合;
[0011] S4:开启线程,初始化指针值T;
[0012] S5:单位指针时间内,系统内所有车辆的信号数据采集
[0013] S6:判断单位指针时间内,是否有车辆发出信号;如果有则更新交叉关系表和数组P,如果没有,则数组P删除P(i)在i=T数据单元中的车辆标识集合;
[0014] S7:判断是否结束接到结束指令,如果是,结束信号采集和数据处理,否则另T=T+1,则返回步骤S5。
[0015] 进一步地,所述数组P的长度L为时间阀值的秒数值。
[0016] 进一步地,所述初始化指针值为启动系统的时间取分秒后,将分秒值转化为秒数值,并将秒数值与L整除后取余数。
[0017] 进一步地,所述单位指针时间为1s。
[0018] 进一步地,所述车辆信号为车辆终端上报的心跳包信号。
[0019] 进一步地,所述时间阀值为120s。
[0020] 进一步地,所述车辆标识为车载终端标识。
[0021] 进一步地,所述S6步骤中的交叉关系表和数组的处理方法为:如果交叉关系表中,不存在该车载终端标识,则将发出信号的车辆标识和i值,i=T,写入该交叉关系表中,数组P删除P(i)在i=T数据单元中的车辆标识集合,写入发出信号的车载终端标识;如果交叉关系表中,存在该车载终端标识,则更新i值,使i=T,数组P删除P(i)在i=T数据单元中的车辆标识集合,写入发出信号的车载终端标识。
[0022] 区别于现有技术,上述技术方案采用缓存中预设数组P(、交叉关系表、设立指针的方式,设置了数组的长度,用时间定义指针值,指针和数组地址下标关联,形成时间周期短循环,并在1个循环周期内对未在预设时间阀值内响应的对应的链路进行关闭断开处理,系统可进行快速回收资源。在处理过程中,数组在循环时间周期内,实时删除无响应车辆的标识,保留响应车辆在时间周期的信息,使得数组的整体数据量较小,遍历的时间周期较短,可以达到实时高效准确的效果。附图说明
[0023] 图1为本发明一实施例涉及的一种实时高并发长连接超时快速处理方法的流程图。

具体实施方式

[0024] 为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
[0025] 本实施方式中车载终端连接平台采用TCP长连接,通过心跳方式确保终端状态是在线并活跃,参考国标协议定义,将上报心跳间隔设定为60秒,平台处理原则是验证120秒内未收到心跳数据,则视为超时,同时断开链路并回收资源。因此本实施例将数组长度L设定为时间阀值120,地址下标包括(0、1、2、3……119)120个值。数组中每个车载终端识别码有对应的链路,当数组中每个车载终端识别码值存在时,该链路保持连接,而数组中每个车载终端识别码值不存在时,链路则断开。
[0026] 参阅图1,本发明一实施例涉及的一种实时高并发长连接快速处理方法的流程图
[0027] S1:先在缓存中预设一个数组P,数组长度为120;该数组中的每个元素P(i)的地址下标分别为i=0,1,2,……,119;数组中的每个元素P(i)包括一个车辆标识集合List,vin为车载终端唯一标识;
[0028] 同时,在缓存中预设一个交叉关系表Map,包括信号车辆标识和该车辆最近一次写入数组P的对应地址下标i;
[0029] 预设一个全局指针,设置初始值为当前时间的分秒(转成秒)与120取余;
[0030] S2:启动系统,
[0031] S3:初始化数组P,令该数组中的每个元素P(i)中包括系统内所有车辆标识集合;
[0032] S4,开启线程,计算指针值T;
[0033] 在本实施例中,系统中有vin(a)、vin(b)、vin(c)、vin(d)、vin(e),5辆车。因此在P(i)中,包括vin(a)、vin(b)、vin(c)、vin(d)、vin(e)。
[0034] 计算初始指针值T,所述初始指针值为启动系统的时间取分秒后,将分秒值转化为秒数值,并将秒数值与L整除后取余数。
[0035] 本实施例中,启动系统的时间为12点2分0秒,取分秒为:2分0秒,换算为120s与120取余,为0。因此本实施例初始指针值为T=0。
[0036] S5:以1s为单位指针时间,指针值T=0,系统内所有车辆vin(a)、vin(b)、vin(c)、vin(d)、vin(e)的车载终端心跳包信号数据采集;
[0037] S6:判断单位指针时间1S内,是否有车辆发出信号;服务端在收到了车载终端vin(a)上报的心跳包,将i=T=0、vin(a)写入交叉关系表,为MAP(vin(a),0);同时清空数组P(0)里储存的vin(a)、vin(b)、vin(c)、vin(d)、vin(e),然后写入vin(a)。
[0038] S7:没有收集到结束指令,T=0+1=1,返回步骤S5:
[0039] S5:以1s为单位指针时间,指针值T=1,系统内所有车辆vin(a)、vin(b)、vin(c)、vin(d)、vin(e)的车载终端心跳包信号数据采集;
[0040] S6:判断单位指针时间1S内,是否有车辆发出信号;服务端在未收到了车载终端上报的心跳包,同时清空数组P(1)里储存的vin(a)、vin(b)、vin(c)、vin(d)、vin(e),[0041] S7:没有收集到结束指令,T=1+1=2,返回步骤S5:
[0042] S5:以1s为单位指针时间,指针值T=2,系统内所有车辆vin(a)、vin(b)、vin(c)、vin(d)、vin(e)的车载终端心跳包信号数据采集;
[0043] S6:判断单位指针时间1S内,是否有车辆发出信号;服务端在未收到了车载终端上报的心跳包,同时清空数组P(2)里储存的vin(a)、vin(b)、vin(c)、vin(d)、vin(e),[0044] S7:没有收集到结束指令,T=2+1=3,返回步骤S5:
[0045] S5:以1s为单位指针时间,指针值T=2,系统内所有车辆vin(a)、vin(b)、vin(c)、vin(d)、vin(e)的车载终端心跳包信号数据采集;
[0046] S6:判断单位指针时间1S内,是否有车辆发出信号;服务端在未收到了车载终端上报的心跳包,同时清空数组P(2)里储存的vin(a)、vin(b)、vin(c)、vin(d)、vin(e),[0047] S7:没有收集到结束指令,T=2+1=3,返回步骤S5:
[0048] S5:以1s为单位指针时间,指针值T=3,系统内所有车辆vin(a)、vin(b)、vin(c)、vin(d)、vin(e)的车载终端心跳包信号数据采集;
[0049] S6:判断单位指针时间1S内,是否有车辆发出信号;服务端收到车载终端vin(a)、vin(b)、vin(d)上报的心跳包,更新为MAP(vin(a),3)、MAP(vin(b),3)、MAP(vin(d),3),,同时清空数组P(3)里储存的vin(a)、vin(b)、vin(c)、vin(d)、vin(e),写入vin(a)、vin(b)、vin(d)。
[0050] S7:没有收集到结束指令,T=2+1=3,返回步骤S5:
[0051] ……
[0052] 服务端在T=4s-119均没有收到车载终端上报的心跳包,清空数组P(4)-P(119)里储存的vin(a)、vin(b)、vin(c)、vin(d)、vin(e)。
[0053] S6:没有收集到结束指令,T=119+1=120,返回步骤S4:
[0054] S5:以1s为单位指针时间,指针值T=120-120=0,系统内所有车辆vin(a)、vin(b)、vin(c)、vin(d)、vin(e)的车载终端心跳包信号数据采集;
[0055] S6:判断单位指针时间1S内,是否有车辆发出信号;服务端收到车载终端vin(a)、vin(b)、vin(d)上报的心跳包,交叉关系表更新为MAP(vin(a),0)、MAP(vin(b),0)、MAP(vin(d),0),同时清空数组P(0)里储存的vin(a),写入vin(a)、vin(b)、vin(d)。
[0056] S7:收到结束指令,结束采集和数据处理。
[0057] 在T=119S时,在整个数组的缓存数据中,没有了车载终端e的数据,e对应的链路自动断开,回收资源。按照本技术方案,车e因为服务器在时间阀值120s内中没收到对应车载终端的心跳包数据,链路断开的效果。
[0058] 在处理过程中,数组在循环时间周期内,不断的删除系统内车辆的标识,最后只保留响应车辆在时间周期的信息,使得数组的整体数据量较小,遍历的时间周期较短,可以达到实时高效准确的效果。
[0059] 需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。
[0060] 需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈