【技术实现步骤摘要】
一种Socket数据转发方法、装置、电子设备和存储介质
本申请涉及计算机领域,特别是涉及一种Socket数据转发的方法、装置、电子设备和存储介质。
技术介绍
代理服务程序的主要功能是在两个TCP连接之间转发数据,在网关或网络代理等业务场景下,代理服务程序的使用频率十分高。但是代理服务程序在进行转发的过程中,要将传输的数据进行多次拷贝,降低了数据转发的效率。在传统技术中,Linux操作系统的标准I/O接口是基于数据拷贝操作的,在这一过程中,会进行用户态和内核态的切换,且发生四次数据拷贝,而传输过程中的数据拷贝,导致了极大的CPU(CentralProcessingUnit,中央处理器)开销,造成了限制操作系统数据传输速度的问题。目前针对传统技术中造成了限制操作系统数据传输速度的问题,尚未提出有效的解决方案。
技术实现思路
本申请实施例提供了一种socket数据转发方法、装置、电子设备和存储介质,以至少解决相关技术中限制操作系统数据传输速度的问题。第一方面,本申请实施例提供了一种socket数 ...
【技术保护点】
1.一种socket数据转发方法,其特征在于,所述方法包括:/n接收到socket数据后,调用eBPF程序;/n利用所述eBPF程序对所述socket数据进行分配并转发。/n
【技术特征摘要】
1.一种socket数据转发方法,其特征在于,所述方法包括:
接收到socket数据后,调用eBPF程序;
利用所述eBPF程序对所述socket数据进行分配并转发。
2.根据权利要求1所述的方法,其特征在于,所述接收到socket数据后,调用eBPF包括:Linux操作系统的内核接收到所述socket数据后,通过触发eBPF程序中的钩子函数,调用所述eBPF程序。
3.根据权利要求1所述的方法,其特征在于,所述eBPF程序是根据共享内存中配置的过滤条件对所述socket数据进行分配的。
4.根据权利要求3所述的方法,其特征在于,所述利用所述eBPF程序对所述socket数据进行分配并转发,包括:
在所述socket数据符合所述过滤条件的情况下,将所述socket数据分配给socket数据出口,通过socket数据出口转发所述socket数据;
在所述socket数据不符合所述过滤条件的情况下,将所述socket数据分配给协议栈,通过所述协议栈对所述socket数据处理并转发。
5.一种socket数据转发装置,其特征在于,所述装置包括接收调用模块和分配转发模块;
所述接收调用模块,用于接收到socket数据后,调用eBPF程序;
所述分配转发模块,用于利用所述eBPF程序对所述socket...
【专利技术属性】
技术研发人员:葛汉斌,范渊,
申请(专利权)人:杭州安恒信息技术股份有限公司,
类型:发明
国别省市:浙江;33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。