一种共享内存的处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:38677312 阅读:11 留言:0更新日期:2023-09-02 22:51
本发明专利技术实施例提供了一种共享内存的处理方法、装置、电子设备及存储介质。属于通信技术领域,该方法包括:在第一对象申请共享内存的情况下,通过组播方式或者服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象;其中,所述对象为操作系统中的程序运行单元。因此,本发明专利技术的一个实施例,可以解决现有技术中共享内存的相关信息的同步方法,无法满足多进程或多任务并行处理的场景的问题。法满足多进程或多任务并行处理的场景的问题。法满足多进程或多任务并行处理的场景的问题。

【技术实现步骤摘要】
一种共享内存的处理方法、装置、电子设备及存储介质


[0001]本专利技术涉及通信
,尤其涉及一种共享内存的处理方法、装置、电子设备及存储介质。

技术介绍

[0002]随着技术的发展,自动驾驶技术逐渐成熟。在自动驾驶系统中,通常会配备多种传感器,比如雷达,摄像头等,传感器的数据被采集后,数据会在自动驾驶系统内部的各个模块组成的多条流水线上流转并加工处理。
[0003]目前,自动驾驶系统中一般采用多核处理器,从而使得多任务处理能力更强。并且,在多核处理器的基础上,自动驾驶系统,还可以结合大数据量通信时采用的共享内存技术,从而达到低延时、高带宽的效果。
[0004]然而,在实现本专利技术过程中,专利技术人发现:目前一般的共享内存技术只适用于串行使用的场景,比如基于开源操作系统(Linux)的多进程共享内存机制,在使用时,一端进程必须点到点地显式通过进程间通信将共享内存的相关信息发送给对端进程,对端进程收到共享内存信息后再映射到本进程的虚拟地址空间。例如存在A、B、C、D 四个进程,其中,A进程申请成功共享内存之后,发送给B进程共享内存的相关信息之后,才能再发送给C进程和D进程。
[0005]可见,目前多进程间必须要进行同步通信,而且要串行使用共享内存 ,无法满足多进程或多任务并行处理的场景。

技术实现思路

[0006]本专利技术实施例的目的是提供一种共享内存的处理方法、装置、电子设备及存储介质,以解决现有技术中共享内存的相关信息的同步方法,无法满足多进程或多任务并行处理的场景的问题。
[0007]一方面,提供了一种共享内存的处理方法,所述方法包括:在第一对象申请共享内存的情况下,通过组播方式或者服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象;其中,所述对象为操作系统中的程序运行单元。
[0008]在一种可能实施方式中,所述至少一个第二对象与所述第一对象属于同一分组;通过组播方式将所述共享内存的相关信息并行同步给至少一个第二对象,包括:通过所述第一对象发送第一组播消息,其中,所述第一组播消息携带有所述共享内存的相关信息;通过所述至少一个第二对象接收所述第一组播消息。
[0009]在一种可能实施方式中,所述至少一个第二对象包括第三对象和第四对象中的至少一个;所述第三对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操
作系统相同;所述第四对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统不同。
[0010]在一种可能实施方式中,所述方法还包括如下中至少一项:通过所述至少一个第二对象中的至少部分第二对象,响应于所述第一组播消息,根据所述共享内存的相关信息更新本地列表,其中,所述本地列表中包括不同对象申请的共享内存的相关信息;通过所述至少一个第二对象中的至少部分第二对象,响应于所述第一组播消息,将所述共享内存的相关信息映射至该第二对象的虚拟地址空间。
[0011]在一种可能实施方式中,所述至少一个第二对象与所述第一对象属于同一分组,所述至少一个第二对象包括第三对象,所述第三对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统相同;通过服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象,包括:在所述第一对象内启动服务器线程;通过所述服务器线程发送第二组播消息,其中,所述第二组播消息携带有所述共享内存的相关信息和所述服务器线程的标识信息;通过所述第三对象接收所述第二组播消息,并响应于所述第二组播消息,在所述第三对象内启动客户端线程,根据所述标识信息,将所述客户端线程与所述服务器线程连接;通过所述服务器线程,将所述共享内存的相关信息映射至所述第三对象的虚拟地址空间中得到目标信息,并将所述目标信息发送给所述客户端线程;通过所述客户端线程接收所述目标信息,并保存所述目标信息。
[0012]在一种可能实施方式中,所述至少一个第二对象还包括第四对象,所述第四对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统不同;通过服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象,还包括:通过所述第四对象接收所述第二组播消息。
[0013]在一种可能实施方式中,所述方法还包括:通过所述第四对象响应于所述第二组播消息,根据所述共享内存的相关信息更新本地列表,其中,所述本地列表中包括不同对象申请的共享内存的相关信息。
[0014]在一种可能实施方式中,所述方法还包括:将所述共享内存中的待计算数据搬至高速缓存中;对所述待计算数据进行计算处理,并将所述待计算数据的计算结果存储至所述高速缓存中;将所述计算结果从所述高速缓存搬至影子共享内存中;其中,所述高速缓存的访问速度大于所述共享内存的访问速度。
[0015]另一方面,提供了一种共享内存的处理装置,所述装置包括:同步模块,用于在第一对象申请共享内存的情况下,通过组播方式或者服务器客
户端模型将所述共享内存的相关信息并行同步给至少一个第二对象;其中,所述对象为操作系统中的程序运行单元。
[0016]在一种可能实施方式中,所述至少一个第二对象与所述第一对象属于同一分组;所述同步模块包括:第一发送子模块,用于通过所述第一对象发送第一组播消息,其中,所述第一组播消息携带有所述共享内存的相关信息;第一接收子模块,用于通过所述至少一个第二对象接收所述第一组播消息。
[0017]在一种可能实施方式中,所述至少一个第二对象包括第三对象和第四对象中的至少一个;所述第三对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统相同;所述第四对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统不同。
[0018]在一种可能实施方式中,所述装置还包括如下中至少一个模块:第一处理模块,用于通过所述至少一个第二对象中的至少部分第二对象,响应于所述第一组播消息,根据所述共享内存的相关信息更新本地列表,其中,所述本地列表中包括不同对象申请的共享内存的相关信息;第二处理模块,用于通过所述至少一个第二对象中的至少部分第二对象,响应于所述第一组播消息,将所述共享内存的相关信息映射至该第二对象的虚拟地址空间。
[0019]在一种可能实施方式中,所述至少一个第二对象与所述第一对象属于同一分组,所述至少一个第二对象包括第三对象,所述第三对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统相同;所述同步模块包括:启动子模块,用于在所述第一对象内启动服务器线程;第二发送子模块,用于通过所述服务器线程发送第二组播消息,其中,所述第二组播消息携带有所述共享内存的相关信息和所述服务器线程的标识信息;第一处理子模块,用于通过所述第三对象接收所述第二组播消息,并响应于所述第二组播消息,在所述第三对象内启动客户端线程,根据所述标识信息,将所述客户端线程与所述服务器线程连接;第二处理子模块,用于通过所述服务器线程,将所述共享内存的相关信息映射至所述第三对象的虚拟地址空间中得到目标信息,并将所述目标信息发送给所述客户端线程;本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种共享内存的处理方法,其特征在于,所述方法包括:在第一对象申请共享内存的情况下,通过组播方式或者服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象;其中,所述对象为操作系统中的程序运行单元。2.根据权利要求1所述的方法,其特征在于,所述至少一个第二对象与所述第一对象属于同一分组;通过组播方式将所述共享内存的相关信息并行同步给至少一个第二对象,包括:通过所述第一对象发送第一组播消息,其中,所述第一组播消息携带有所述共享内存的相关信息;通过所述至少一个第二对象接收所述第一组播消息。3.根据权利要求2所述的方法,其特征在于,所述至少一个第二对象包括第三对象和第四对象中的至少一个;所述第三对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统相同;所述第四对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统不同。4.根据权利要求2所述的方法,其特征在于,所述方法还包括如下中至少一项:通过所述至少一个第二对象中的至少部分第二对象,响应于所述第一组播消息,根据所述共享内存的相关信息更新本地列表,其中,所述本地列表中包括不同对象申请的共享内存的相关信息;通过所述至少一个第二对象中的至少部分第二对象,响应于所述第一组播消息,将所述共享内存的相关信息映射至该第二对象的虚拟地址空间。5.根据权利要求1所述的方法,其特征在于,所述至少一个第二对象与所述第一对象属于同一分组,所述至少一个第二对象包括第三对象,所述第三对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统相同;通过服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象,包括:在所述第一对象内启动服务器线程;通过所述服务器线程发送第二组播消息,其中,所述第二组播消息携带有所述共享内存的相关信息和所述服务器线程的标识信息;通过所述第三对象接收所述第二组播消息,并响应于所述第二组播消息,在所述第三对象内启动客户端线程,根据所述标识信息,将所述客户端线程与所述服务器线程连接;通过所述服务器线程,将所述共享内存的相关信息映射至所述第三对象的虚拟地址空间中得到目标信息,并将所述目标信息发送给所述客户端线程;通过所述客户端线程接收所述目标信息,并保存所述目标信息。6.根据权利要求5所述的方法,其特征在于,所述至少一个第二对象还包括第四对象,所述第四对象对应的核心运行的操作系统与所述第一对象对应的核心运行的操作系统不同;通过服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象,还
包括:通过所述第四对象接收所述第二组播消息。7.根据权利要求6所述的方法,其特征在于,所述方法还包括:通过所述第四对象响应于所述第二组播消息,根据所述共享内存的相关信息更新本地列表,其中,所述本地列表中包括不同对象申请的共享内存的相关信息。8.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述共享内存中的待计算数据搬至高速缓存中;对所述待计算数据进行计算处理,并将所述待计算数据的计算结果存储至所述高速缓存中;将所述计算结果从所述高速缓存搬至影子共享内存中;其中,所述高速缓存的访问速度大于所述共享内存的访问速度。9.一种共享内存的处理装置,其特征在于,所述装置包括:同步模块,用于在第一对象申请共享内存的情况下,通过组播方式或者服务器客户端模型将所述共享内存的相关信息并行同步给至少一个第二对象;其中,所述对象为操作系统中的程序运行单元。10.根据权利要求...

【专利技术属性】
技术研发人员:胡娜军
申请(专利权)人:杭州鉴智机器人科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1