本发明涉及仿真,特别涉及一种服务器的网络端口管理方法、装置、服务器及计算机可读存储介质。
背景技术:
1、在仿真系统的开发调测过程中,为了方便维护开发环境、减少开发成本和提升仿真效率,往往会在服务器上完成开发环境部署,以便后续开发人员在该服务器上同时拉起运行多个仿真系统。在这个过程中,虽然有相应的管理工具或平台协调各个仿真系统之间的资源调度,保持各个仿真系统的正常启动和后续运行;但对于一些复杂系统,其要求在启动阶段绑定十几个甚至数十个网络端口。例如,在芯片虚拟原型仿真过程中,不仅有多个cpu(central processing unit,中央处理器)核、芯片固件以及其他子系统的gdb(gnudebugger,一种源代码级调试工具)调试端口,还有众多的模拟串口、图形化接口和通信接口等。
2、目前,当在同一台服务器上拉起运行多个(如数百个)仿真系统时,面对有限的端口资源(如65536个网络端口)和庞大的端口需求,相关技术中的解决方案主要有两种,一种是为一个网络接口配置多个ip地址,但这种方式会增加网络管理的复杂度,导致网络性能下降和网络冲突风险增加;另一种是通过基于报文校验的端口复用,这种方式为复用同一网络端口的多个socket分配不同的报文头,实现同一端口的多路使用,但这种方式需要对每个数据包进行额外的处理和解析,增加了处理器和内存开销,直接影响了通信及时性。因此,如何能够提供一种便捷的网络端口复用方式,降低网络端口管理的复杂度和资源消耗,保证通信的及时性,是现今急需解决的问题。
技术实现思路
1、本发明的目的是提供一种服务器的网络端口管理方法、装置、服务器及计算机可读存储介质,以降低网络端口管理的复杂度和资源消耗,保证通信的及时性。
2、为解决上述技术问题,本发明提供一种服务器的网络端口管理方法,包括:
3、在仿真系统启动过程中,识别所述仿真系统的套接字接口中的核心接口;
4、将所述核心接口绑定的本地文件转发至服务器中空闲的网络端口;
5、配置所述仿真系统对应的端口结构信息,以利用所述端口结构信息,使所述核心接口通过对应的网络端口与相应的客户端设备进行套接字通信连接;其中,所述端口结构信息包括所述仿真系统的身份标识和接口状态;所述接口状态包括所述仿真系统中各套接字接口各自对应的接口身份标识、接口种类标识、接口绑定本地文件信息和接口转发网络端口信息;所述接口种类标识包括核心接口标识和非核心接口标识。
6、在另一方面,所述识别所述仿真系统的套接字接口中的核心接口,包括:
7、确定所述仿真系统对应的目标规则;其中,所述目标规则为任一预设网络端口分配规则;
8、根据所述目标规则,识别所述仿真系统的套接字接口中的核心接口。
9、在另一方面,所述预设网络端口分配规则包括预设核心接口类型信息。
10、在另一方面,该方法还包括:
11、所述仿真系统启动完成后,获取第一客户端设备发送的所述仿真系统的接口通信请求;其中,所述接口通信请求包括指定套接字接口的接口身份标识;
12、根据所述接口通信请求,查询所述仿真系统对应的端口结构信息,判断所述指定套接字接口是否为所述核心接口;
13、若为所述核心接口,则将所述端口结构信息中的目标端口信息发送到所述第一客户端设备,以使所述第一客户端设备利用所述目标端口信息,与所述指定套接字接口建立通信连接;其中,所述目标端口信息为所述指定套接字接口对应的接口转发网络端口信息;
14、若为非核心接口,则将所述指定套接字接口绑定的本地文件转发至所述服务器中空闲的网络端口;
15、更新所述端口结构信息,并所述目标端口信息发送到所述第一客户端设备,以使所述第一客户端设备利用所述目标端口信息,与所述指定套接字接口建立通信连接;其中,更新后的所述端口结构信息中所述指定套接字接口对应的接口种类标识为所述核心接口标识且接口转发网络端口信息为所述指定套接字接口绑定的本地文件转发到的网络端口的标识信息。
16、在另一方面,所述识别所述仿真系统的套接字接口中的核心接口之前,还包括:
17、根据第二客户端设备发送的所述仿真系统的启动请求,启动所述仿真系统;
18、对应的,所述配置所述仿真系统对应的端口结构信息之后,还包括:
19、在所述仿真系统启动完成后,向所述第二客户端发送所述仿真系统的启动成功信息。
20、在另一方面,所述配置所述仿真系统对应的端口结构信息之后,还包括:
21、根据第三客户端设备发送的所述仿真系统的关闭请求,断开所述仿真系统的全部核心接口的套接字通信连接,并删除所述仿真系统的全部套接字接口绑定的本地文件。
22、在另一方面,所述接口状态还包括所述仿真系统中各套接字接口各自对应的单次使用时长,所述配置所述仿真系统对应的端口结构信息之后,还包括:
23、判断当前核心接口绑定的本地文件转发到相应的网络端口的持续时间是否大于当前核心接口对应的单次使用时长;其中,当前核心接口为任一所述核心接口;
24、若大于当前核心接口对应的单次使用时长,则断开当前核心接口的套接字通信连接,并更新所述端口结构信息;其中,更新后的所述端口结构信息中所述指定套接字接口对应的接口种类标识为所述非核心接口标识且接口转发网络端口信息为预设空标识。
25、本发明还提供了一种服务器的网络端口管理装置,包括:
26、识别模块,用于在仿真系统启动过程中,识别所述仿真系统的套接字接口中的核心接口;
27、转发模块,用于将所述核心接口绑定的本地文件转发至服务器中空闲的网络端口;
28、配置模块,用于配置所述仿真系统对应的端口结构信息,以利用所述端口结构信息,使所述核心接口通过对应的网络端口与相应的客户端设备进行套接字通信连接;其中,所述端口结构信息包括所述仿真系统的身份标识和接口状态;所述接口状态包括所述仿真系统中各套接字接口各自对应的接口身份标识、接口种类标识、接口绑定本地文件信息和接口转发网络端口信息;所述接口种类标识包括核心接口标识和非核心接口标识。
29、本发明还提供了一种服务器,包括:
30、存储器,用于存储计算机程序;
31、处理器,用于执行所述计算机程序时实现如上述所述的服务器的网络端口管理方法的步骤。
32、本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的服务器的网络端口管理方法的步骤。
33、本发明所提供的一种服务器的网络端口管理方法,包括:在仿真系统启动过程中,识别仿真系统的套接字接口中的核心接口;将核心接口绑定的本地文件转发至服务器中空闲的网络端口;配置仿真系统对应的端口结构信息,以利用端口结构信息,使核心接口通过对应的网络端口与相应的客户端设备进行套接字通信连接;其中,端口结构信息包括仿真系统的身份标识和接口状态;接口状态包括仿真系统中各套接字接口各自对应的接口身份标识、接口种类标识、接口绑定本地文件信息和接口转发网络端口信息;接口种类标识包括核心接口标识和非核心接口标识;
34、可见,本发明在仿真系统启动阶段,将仿真系统的套接字接口划分核心与非核心接口,只有核心接口绑定的本地文件会转发至服务器中空闲的网络端口,在保证仿真系统正常启动的同时,极大地减少了对网络端口的需求消耗,从而能够通过各仿真系统内的核心与非核心接口的配置,实现服务器中网络端口的分时复用,降低网络端口管理的复杂度和资源消耗,保证通信的及时性。此外,本发明还提供了一种服务器的网络端口管理装置、服务器及计算机可读存储介质,同样具有上述有益效果。
1.一种服务器的网络端口管理方法,其特征在于,包括:
2.根据权利要求1所述的网络端口管理方法,其特征在于,所述识别所述仿真系统的套接字接口中的核心接口,包括:
3.根据权利要求2所述的网络端口管理方法,其特征在于,所述预设网络端口分配规则包括预设核心接口类型信息。
4.根据权利要求1所述的网络端口管理方法,其特征在于,还包括:
5.根据权利要求1所述的服务器的网络端口管理方法,其特征在于,所述识别所述仿真系统的套接字接口中的核心接口之前,还包括:
6.根据权利要求1所述的服务器的网络端口管理方法,其特征在于,所述配置所述仿真系统对应的端口结构信息之后,还包括:
7.根据权利要求1至6任一项所述的服务器的网络端口管理方法,其特征在于,所述接口状态还包括所述仿真系统中各套接字接口各自对应的单次使用时长,所述配置所述仿真系统对应的端口结构信息之后,还包括:
8.一种服务器的网络端口管理装置,其特征在于,包括:
9.一种服务器,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的服务器的网络端口管理方法的步骤。
