一种基于NUMA架构的连接表管理的方法及装置与流程
- 国知局
- 2024-09-11 14:25:10
本发明属于计算机,具体为一种基于numa架构的连接表管理的方法及装置。
背景技术:
1、非一致性内存访问架构由于其高内存带宽和良好的可扩展性成为了现代多核服务器的主流架构,基于numa架构的服务器广泛部署于现有的大数据中心,在numa架构下,cpu和内存等被划分成多个numa节点,每个cpu都可以访问全部的内存,但是cpu访问本numa节点的内存时延迟最小,访问远程numa节点的内存的延迟随着距离的增大而增大,目前的主流的连接表管理方法基本都是采用缓存、连接池或连接链表的方式,来进行连接表管理,目前主流的连接表管理方法没有考虑到numa架构下,cpu访问不同节点内存的速率不同,没有根据cpu访问速率设计对应的连接表管理方法,对此,我们提出了一种基于numa架构的连接表管理的方法及装置。
技术实现思路
1、针对现有技术的不足,本发明提供了一种基于numa架构的连接表管理的方法及装置,以解决以上技术问题。
2、为实现上述目的,本发明提供如下技术方案:一种基于numa架构的连接表管理的方法,管理步骤为:
3、s1、网络设备启动后先根据配置把内存划分为n个numa节点,并与处理器进行关联;
4、s2、根据网络设备的连接表规格session_quota和单个连接表大小session_size计算出每个numa节点需要预申请的连接表内存大小,在每个numa节点上申请连接表内存;
5、s3、设备启动初始化完成后,网络设备的连接表资源和连接表资源的起始地址也初始化完成;
6、s4、在有流量进入设备后通过根据流量的五元组信息进行哈希,然后取哈希值与对应numa节点的链接规格数取于的数作为获取连接表项的内存,建立连接表项,获取链接表项的内存在各自的numa节点预申请的连接表;
7、s5、在流量获取到连接表项的内存地址后立马判断对应的连接表的状态flag,若状态flag有效就重新执行s4步骤,选择一个新的连接表项,若状态flag为无效则连接表项的age加1,同时状态flag置为有效,并记录对应的node信息;
8、s6、连接表项获取后根据连接表项信息建立连接句柄,使用连接句柄存储的age字段去确定连接的有效性,连接有效则通过连接句柄中存储的node_id和session_id字段转换获得连接表项的指针,获取连接信息。
9、优选的,s1步骤中划分步骤根据硬件配置,确定出创建numa节点的数量,通过系统启动时的内核参数与bios设置来完成,去为每个节点分配内存量。
10、优选的,s2步骤中连接表内存大小为:numa_session_size=session_size*session_quota/n,计算每个numa节点需要预申请的连接表内存大小方法通过分析确定连接表的数据结构,将每个连接项的大小乘以同时需要跟踪的连接数量,得到总连接表内存需求,考虑numa架构,确定将连接表分布在numa节点上,对进行内存的分配;其中申请内存起始地址为numa_session_address,并记录每块内存的起始地址memory_area[i]=numa_session_address[i],其中i表示为第i个numa的节点。
11、优选的,s3步骤中连接表结构中包括连接年龄age、连接状态标记flag与连接所属的numa节点信息node。
12、优选的,s4步骤中五元组信息进行哈希步骤预先定义五元组,五元组包括源ip地址、目的ip地址、源端口号、目的端口号与传输层协议,选择md5哈希函数,将五元信息组合成二进制表示,进行哈希,将其连接成长整数,组合完成;md5哈希函数用以生成128位哈希值,为32个十六进制数字。
13、优选的,s6步骤中连接句柄是获取连接的另一种方式,句柄对应着连接表项,连接句柄包括连接表项的年龄age与连接的session_id,其中session_id的部分信息记录numa的node信息部分记录session在对应numa中的预申请连接表的偏移量。
14、优选的,s6步骤中确定连接的有效性步骤先根据连接句柄中记录session_id信息去知道对应连接所在的numa节点信息与偏移量,根据初始化时记录的memory_area[i]地址信息找到对应的连接指针,去获取连接表项中记录的age年龄信息,若连接表项中记录age年龄信息与连接句柄记录的age年龄信息相等且连接状态有效,则表示连接有效,得到连接表项的指针。
15、优选的,s5步骤中判断连接表状态flag方法通过预先定义变量flag,在程序不同部分中,根据连接表的实际状态去设定flag值,使用if语句判断flag的值,执行相应操作。
16、优选的,s6步骤中预先分配出一个环境句柄,使用已经分配的环境句柄去创建一个连接句柄,使用该句柄分配一个或多个语句句柄,去执行sql语句,在执行sql语句后,检查返回的状态码去确定操作是否成功。
17、优选的,网络设备启动中,每个numa节点会预申请一块大内存用作连接表。
18、与现有技术相比,本发明的有益效果如下:
19、本发明相较于现有技术,能够有效解决在内存紧张的情况下可能导致连接表规格未用完而新建连接表失败的问题和有效缓解因连接表新建和老化对内存频繁的申请和释放导致严重影响系统性能的问题,同时解决在新技术中因为连接表指针失效而引发的一些安全问题。
技术特征:1.一种基于numa架构的连接表管理的方法,其特征在于,管理步骤为:
2.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:s1步骤中划分步骤根据硬件配置,确定出创建numa节点的数量,通过系统启动时的内核参数与bios设置来完成,去为每个节点分配内存量。
3.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于,s2步骤中连接表内存大小为:numa_session_size=session_size*session_quota/n,计算每个numa节点需要预申请的连接表内存大小方法通过分析确定连接表的数据结构,将每个连接项的大小乘以同时需要跟踪的连接数量,得到总连接表内存需求,考虑numa架构,确定将连接表分布在numa节点上,对进行内存的分配;其中申请内存起始地址为numa_session_address,并记录每块内存的起始地址memory_area[i]=numa_session_address[i],其中i表示为第i个numa的节点。
4.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:s3步骤中连接表结构中包括连接年龄age、连接状态标记flag与连接所属的numa节点信息node。
5.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:s4步骤中五元组信息进行哈希步骤预先定义五元组,五元组包括源ip地址、目的ip地址、源端口号、目的端口号与传输层协议,选择md5哈希函数,将五元信息组合成二进制表示,进行哈希,将其连接成长整数,组合完成;md5哈希函数用以生成128位哈希值,为32个十六进制数字。
6.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:s6步骤中连接句柄是获取连接的另一种方式,句柄对应着连接表项,连接句柄包括连接表项的年龄age与连接的session_id,其中session_id的部分信息记录numa的node信息部分记录session在对应numa中的预申请连接表的偏移量。
7.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:s6步骤中确定连接的有效性步骤先根据连接句柄中记录session_id信息去知道对应连接所在的numa节点信息与偏移量,根据初始化时记录的memory_area[i]地址信息找到对应的连接指针,去获取连接表项中记录的age年龄信息,若连接表项中记录age年龄信息与连接句柄记录的age年龄信息相等且连接状态有效,则表示连接有效,得到连接表项的指针。
8.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:s5步骤中判断连接表状态flag方法通过预先定义变量flag,在程序不同部分中,根据连接表的实际状态去设定flag值,使用if语句判断flag的值,执行相应操作。
9.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:s6步骤中预先分配出一个环境句柄,使用已经分配的环境句柄去创建一个连接句柄,使用该句柄分配一个或多个语句句柄,去执行sql语句,在执行sql语句后,检查返回的状态码去确定操作是否成功。
10.根据权利要求1所述的基于numa架构的连接表管理的方法及装置,其特征在于:网络设备启动中,每个numa节点会预申请一块大内存用作连接表。
技术总结本发明涉及计算机技术领域,具体涉及一种基于NUMA架构的连接表管理的方法,管理步骤为:S1、网络设备启动后先根据配置把内存划分为N个NUMA节点,并与处理器进行关联;S2、根据网络设备的连接表规格session_quota和单个连接表大小session_size计算出每个NUMA节点需要预申请的连接表内存大小,在每个NUMA节点上申请连接表内存;S3、设备启动初始化完成后,网络设备的连接表资源和连接表资源的起始地址也初始化完成。本发明相较于现有技术,能够有效解决在内存紧张的情况下可能导致连接表规格未用完而新建连接表失败的问题和有效缓解因连接表新建和老化对内存频繁的申请和释放导致严重影响系统性能的问题,同时解决在新技术中因为连接表指针失效而引发的一些安全问题。技术研发人员:唐卫民,马瑞武,章锁柱受保护的技术使用者:北京国御网络安全技术有限公司技术研发日:技术公布日:2024/9/9本文地址:https://www.jishuxx.com/zhuanli/20240911/290670.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表