【技术实现步骤摘要】
一种共享内存管理方法及共享内存管理设备
本专利技术涉及通信领域,具体涉及一种共享内存管理方法及共享内存管理设备。
技术介绍
网络功能虚拟化(英文:NetworkFunctionVirtualization,NFV)系统通过软硬件解耦及功能抽象,使网络设备功能不再依赖于专用硬件,资源可以充分灵活共享,实现新业务的快速开发和部署。NFV技术的基础包含云计算技术和虚拟化技术,通用的计算、存储、网络等硬件设备通过虚拟化技术可以分解为多种虚拟资源,以供上层各种应用程序使用。当在NFV系统上运行多个应用程序(英文:Application,APP)时,为了实现在不同的应用进程之间进行报文转发,可以采用共享内存机制的零拷贝技术,也即不同的应用程序共享同一包缓存(英文:packetbuffer,pbuf)内存,从而可以避免在不同应用程序之间进行拷贝操作,提升系统的性能。但同时使用共享内存机制时,由于各应用程序共享同一pbuf内存,所以破坏了应用程序间的隔离性,导致当出现pbuf内存误操作问题时,无法准确定位内存问题现场。
技术实现思路
本专利技术实施例提供了一种共享内存管理方法及共享内 ...
【技术保护点】
一种共享内存管理方法,其特征在于,所述方法应用于报文零拷贝系统中,所述报文零拷贝系统运行于操作系统上,所述报文零拷贝系统包括至少两个应用程序APPs,所述APPs的共享内存包括第一包缓存pbuf内存,所述方法包括:所述APPs中的任一应用程序APP设置所述APP对所述第一pbuf内存的读写操作属性在当前时刻为只读;在所述APP接收到所述操作系统发送的pbuf内存误操作通知消息的情况下,获取所述pbuf内存误操作通知消息中的pbuf内存误操作现场信息,所述pbuf内存误操作通知消息用于提醒所述APP对所述第一pbuf内存进行写操作以及所述写操作的具体位置;基于所述pbuf内存 ...
【技术特征摘要】
1.一种共享内存管理方法,其特征在于,所述方法应用于报文零拷贝系统中,所述报文零拷贝系统运行于操作系统上,所述报文零拷贝系统包括至少两个应用程序APPs,所述APPs的共享内存包括第一包缓存pbuf内存,所述方法包括:所述APPs中的任一应用程序APP设置所述APP对所述第一pbuf内存的读写操作属性在当前时刻为只读;在所述APP接收到所述操作系统发送的pbuf内存误操作通知消息的情况下,获取所述pbuf内存误操作通知消息中的pbuf内存误操作现场信息,所述pbuf内存误操作通知消息用于提醒所述APP对所述第一pbuf内存进行写操作以及所述写操作的具体位置;基于所述pbuf内存误操作现场信息确定所述APP对所述第一pbuf内存进行写操作的内存误操作现场。2.根据权利要求1所述的方法,其特征在于,所述操作系统包括Linux操作系统,所述Linux操作系统包括mprotect内存管理接口,所述mprotect内存管理接口用于被调用以设置所述第一pbuf内存的读写操作属性;所述APPs中的任一应用程序APP设置所述APP对所述第一pbuf内存的读写操作属性在当前时刻为只读,包括:所述APP通过调用所述mprotect内存管理接口设置所述APP对所述第一pbuf内存的读写操作属性在当前时刻为只读。3.根据权利要求2所述的方法,其特征在于,所述mprotect内存管理接口用于被所述APP调用以基于一个或多个页表设置所述APP对所述第一pbuf内存的读写操作属性。4.根据权利要求3所述的方法,其特征在于,所述报文零拷贝系统还包括第二pbuf内存,所述APPs的共享内存包括所述第二pbuf内存,在所述APPs中的任一应用程序APP设置所述APP对所述第一pbuf内存的读写操作属性在当前时刻为只读之前,所述方法还包括:所述APP在预设时刻确定所述第一pbuf内存为所述APPs的所述共享内存,所述APP在预设时刻之外确定所述第二pbuf内存为所述APPs的共享内存,所述第一pbuf内存为小页内存,所述第二pbuf内存为大页内存,所述第一pbuf内存与所述一个或多个页表存在唯一对应关系。5.根据权利要求1至4任一项所述的方法,其特征在于,所述第一pbuf内存还用于缓存轨迹标识,所述方法还包括:所述APP通过所述轨迹标识记录所述第一pbuf内存的轨迹点信息,所述轨迹点信息包括所述应用程序标识、所述应用程序当前进程标识以及所述当前时刻。6.一种共享内存管理方法,其特征在于,所述方法应用于操作系统,所述操作系统上运行有报文零拷贝系统,所述报文零拷贝系统包括至少两个应用程序APPs,所述APPs的共享内存包括第一包缓存pbuf内存,所述方法包括:所述操作系统根据所述APPs中的任一应用程序APP对所述第一pbuf内存的读写操作属性设置指示记录所述APP对所述第一pbuf内存的读写操作属性为只读;在所述操作系统监控到所述APP对所述第一pbuf内存进行写操作的情况下,所述操作系统向所述APP发送pbuf内存误操作通知消息,所述pbuf内存误操作通知消息用于提醒所述APP对所述第一pbuf内存进行写操作以及所述写操作的具体位置。7.根据权利要求6所述的方法,其特征在于,所述操作系统包括Linux操作系统,所述Linux操作系统包括mprotect内存管理接口,所述mprotect内存管理接口用于被所述APP调用以设置所述APP对所述第一pbuf内存的读写操作属性。8.根据权利要求7所述的方法,其特征在于,所述mprotect内存管理接口用于被所述APP调用以基于一个或多个页表设置所述APP对所述第一pbuf内存的读写操作属性。9.根据权利要求8所述的方法,其特征在于,所述页表包括读写操作属性标识,所述操作系统记录所述APP对所述第一pbuf内存的读写操作属性为只读包括:所述操作系统通过所述读写操作属性标识记录所述APP对所述第一pbuf内存的读写操作属性为只读。10.一种共享内存管理装置,其特征在于,所述设备包括:存储有可执行程序代码的存储器;与所述存储器耦合的处理器;所述处理器上运行有应用程序APP与操作系统,所述操作系统上运行有报文零拷贝系统,所述报文零拷贝系统包括至少两个应用程序APPs,所述APPs共享第一包缓存pbuf...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。