一种报文流处理方法、装置、电子设备、介质与流程
- 国知局
- 2024-10-15 10:17:51
本公开涉及核心网领域,尤其涉及一种报文流处理方法、装置、电子设备、介质。
背景技术:
1、云计算领域中,基于dpdk开发的软负载均衡器采用多核独立、轮询驱动的业务模式,收包网卡的rss机制会根据报文的五元组属性进行哈希从而将报文散列到多个队列上,五元组完全相同的大象流会被分配到同一个收包队列上,由于大象流流量占比非常大,通常能够达到服务总流量的80%以上,会造成单核处理80%流量而剩下20%分散给其余核心的现象,由于没有对大象流做出特殊处理,将压力全部交给一个工作核心,无法利用其余核心的性能,大象流会超过单核心的处理能力,进而导致后续发往该核心的报文发生丢包现象,影响软负载均衡器服务的质量。
技术实现思路
1、为了解决相关技术中存在的问题,本公开提出一种报文流处理方法,通过使用训练好的预测模型对少量报文流样本进行预测,判断是否为大象流,若是则将该报文流交由额外的核心进行打散重组处理,提高了处理的效率,并实现将大象流均衡到多核上处理从而避免单核性能瓶颈。
2、本公开的第一方面实施例提出了一种报文流处理方法,该方法包括:获取目标预测模型,目标预测模型为使用训练数据对初始预测模型进行训练得到的;使用目标预测模型对多个第一报文进行预测,确定多个第一报文对应的第一报文流是否为大象流,多个第一报文为对第一报文流进行采样和筛选后得到的;将预测结果为大象流的第一报文流确定为第二报文流,并将第二报文流经过采样和筛选后得到的第二报文加入哈希表中;在第一报文流中的当前报文与哈希表中的报文匹配时,对当前报文进行打散重组处理。
3、在本公开的一些实施例中,该方法还包括:对第一报文流中的报文进行采样,将采样后的报文的描述符存入第一队列中;轮询第一队列,将符合第一条件的报文确定为第一报文,第一条件为:五元组相同的报文的数量超过第一数量、且报文的长度大于第一长度。
4、在本公开的一些实施例中,将第二报文流经过采样和筛选后得到的第二报文加入哈希表中包括:标记第二报文的五元组特征;将五元组特征作为键,第二报文的标识作为值存入哈希表中。
5、在本公开的一些实施例中,在第一报文流中的当前报文与哈希表中的报文匹配时,对当前报文进行打散重组处理包括:将当前报文重定向至大象流处理线程;从大象流处理线程中依次取出第三报文,根据第三报文的五元组特征和tcp序列号选择对应的处理线程,并将第三报文加入处理线程的第二队列中;基于第三报文的tcp序列号,对第二队列中的多个报文进行排序,确定第一排序号;当处理线程处理完第三报文,将第三报文的标识加入全局发包队列中;对全局发包队列中的多个报文进行重组处理。
6、在本公开的一些实施例中,对全局发包队列中的多个报文进行重组处理包括:从全局发包队列中依次取出第三报文;基于第三报文的五元组特征选择对应报文流的红黑树,以第三报文的tcp序列号作为键,将第三报文的描述符加入红黑树中;当红黑树中最小节点的tcp序列号与第一排序号相同,从第二队列中取出最小节点对应的报文至对应的发包端口。
7、本公开的一些实施例中,该方法还包括:设置第一定时器,按照第一定时器对哈希表中的无用表项进行清理。
8、本公开的第二方面实施例提出了一种报文流处理装置,该装置包括:获取模块,用于获取目标预测模型,目标预测模型为使用训练数据对初始预测模型进行训练得到的;预测模块,用于使用目标预测模型对多个第一报文进行预测,确定多个第一报文对应的第一报文流是否为大象流,多个第一报文为对第一报文流进行采样和筛选后得到的;确定模块,用于将预测结果为大象流的第一报文流确定为第二报文流,并将第二报文流经过采样和筛选后得到的第二报文加入哈希表中;处理模块,用于在第一报文流中的当前报文与哈希表中的报文匹配时,对当前报文进行打散重组处理。
9、本公开的第三方面实施例提出了一种电子设备,包括:一个或多个处理器;与一个或多个处理器通信连接的存储装置,其上存储有一个或多个程序;当一个或多个程序被一个或多个处理器执行时,使得一个或多个处理器实现本公开第一方面实施例中描述的方法。
10、本公开的第四方面实施例提出了一种存储有计算机指令的非瞬时计算机可读存储介质,其中,计算机指令用于使计算机执行本公开第一方面实施例中描述的方法。
11、本公开的第五方面实施例提出了一种计算机程序产品,包括计算机程序,计算机程序在被执行后实现本公开第一方面实施例中描述的方法。
12、综上,根据本公开提出的报文流处理方法,通过获取目标预测模型;使用目标预测模型对多个第一报文进行预测,确定多个第一报文对应的第一报文流是否为大象流,多个第一报文为对第一报文流进行采样和筛选后得到的;将预测结果为大象流的第一报文流确定为第二报文流,并将第二报文流经过采样和筛选后得到的第二报文加入哈希表中;在第一报文流中的当前报文与哈希表中的报文匹配时,对当前报文进行打散重组处理。通过使用训练好的预测模型对少量报文流样本进行预测,判断是否为大象流,若是则将该报文流交由额外的核心进行打散后分发给所有可用的工作线程处理,并在进行重组处理后发往发包端口,提高了处理的效率,并实现将大象流均衡到多核上处理从而避免单核性能瓶颈。
13、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
技术特征:1.一种报文流处理方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求1所述的方法,其特征在于,所述将所述第二报文流经过采样和筛选后得到的第二报文加入哈希表中包括:
4.根据权利要求1所述的方法,其特征在于,所述在所述第一报文流中的当前报文与所述哈希表中的报文匹配时,对所述当前报文进行打散重组处理包括:
5.根据权利要求4所述的方法,其特征在于,所述对所述全局发包队列中的多个报文进行重组处理包括:
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
7.一种报文流处理装置,其特征在于,所述装置包括:
8.一种电子设备,其特征在于,包括:
9.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,所述计算机指令用于使所述计算机执行如权利要求1-6中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,所述计算机程序在被执行后实现如权利要求1-6中任一项所述的方法。
技术总结本公开提供一种报文流处理方法、装置、电子设备、介质,通过获取目标预测模型;使用目标预测模型对多个第一报文进行预测,确定多个第一报文对应的第一报文流是否为大象流,多个第一报文为对第一报文流进行采样和筛选后得到的;将预测结果为大象流的第一报文流确定为第二报文流,并将第二报文流经过采样和筛选后得到的第二报文加入哈希表中;在第一报文流中的当前报文与哈希表中的报文匹配时,对当前报文进行打散重组处理。通过使用训练好的预测模型对少量报文样本进行预测,判断当前报文流是否为大象流,若是则将该报文流交由额外的核心进行打散重组处理,提高了处理效率,并实现将大象流均衡到多核上处理从而避免单核性能瓶颈。技术研发人员:魏旭受保护的技术使用者:中移(苏州)软件技术有限公司技术研发日:技术公布日:2024/10/10本文地址:https://www.jishuxx.com/zhuanli/20241014/317155.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表