基于共享内存的消息传输方法、系统和装置制造方法及图纸

技术编号:19486950 阅读:24 留言:0更新日期:2018-11-17 11:33
本申请实施例公开了基于共享内存的消息传输方法、系统和装置。基于共享内存的消息传输方法的一实施例包括:响应于发送节点将待写入消息写入共享内存单元,对待写入消息进行校验;若校验成功,则向监听待写入消息的接收节点发送用于提示待写入消息写入成功的第一信息以及待写入消息的存储位置信息;以及响应于接收节点读取完成,将用于指示读取完成的读取完成信息向发送节点发送。该实施方式有利于提升通信链路的传输效率并相应地减少通信层占用的系统资源。

【技术实现步骤摘要】
基于共享内存的消息传输方法、系统和装置
本申请实施例涉及通信
,具体涉及基于共享内存的通信
,尤其涉及基于共享内存的消息传输方法、系统和装置。
技术介绍
共享内存(sharedmemory),是指在多处理器的计算机系统中,可以被不同中央处理器(CPU)访问的大容量内存。在基于共享内存的通信方式中,系统中各节点之间采用点对点共享内存通信机制。具体地,发送节点可以将待发送的消息写入共享内存中;相应地,接收节点可以在指定的共享内存区的内存块中读取目标消息,读取消息后将内存块清空并且将消息标志位重置。与传统socket(套接字)通信方式相比,采用共享内存的方式实现的通信,有着传输时延低、网络吞吐量大、CPU占用率低等特点。
技术实现思路
本申请实施例提出了基于共享内存的消息传输方法、系统和装置。第一方面,本申请实施例提供了一种共享内存的消息传输方法,响应于发送节点将待写入消息写入共享内存单元,对待写入消息进行校验;若校验成功,则向监听待写入消息的接收节点发送用于提示待写入消息写入成功的第一信息以及待写入消息的存储位置信息;以及响应于接收节点读取完成,将用于指示读取完成的读取完成信息向发送节点发送。在一些实施例中,在响应于发送节点将待写入消息写入共享内存单元,对待写入消息进行校验之前,方法还包括:响应于接收到发送节点发送的消息写入请求,在共享内存单元中,为待写入消息分配存储空间,其中,消息写入请求包括待写入消息所占存储空间信息;以及向发送节点发送用于指示创建内存空间成功的第二信息和存储位置信息。在一些实施例中,响应于接收到发送节点发送的消息写入请求,在共享内存单元中,为待写入消息分配存储空间,包括:基于待写入消息所占存储空间信息所指示的存储空间,在共享内存单元中,为待写入消息分配与待写入消息所占存储空间相匹配的存储空间。在一些实施例中,在响应于接收节点读取完成,将用于指示读取完成的读取完成信息向发送节点发送之后,方法还包括:删除共享内存单元中的待写入消息,并对存储待写入消息的存储位置进行标志位重置。在一些实施例中,消息写入请求还包括待写入消息的消息类型以及数字签名信息;对待写入消息进行校验,包括:基于消息类型以及数字签名信息对待写入消息进行校验。第二方面,本申请实施例还提供了一种基于共享内存的消息传输系统,包括共享内存单元、共享内存管理器、至少一个发送节点和至少一个接收节点;其中:发送节点,用于将待写入消息写入共享内存单元中;共享内存管理器,用于响应于发送节点将待写入消息写入共享内存单元,对待写入消息进行校验,若校验成功,则向监听待写入消息的接收节点发送用于提示待写入消息写入成功的第一信息以及待写入消息的存储位置信息;接收节点,用于监听共享内存管理器,并响应于监听到第一消息和待写入消息的存储位置信息,从共享内存单元中读取待写入消息;接收节点,还用于完成待写入消息的读取之后,向共享内存管理器发送读取完成信息,共享内存管理器还用于将读取完成信息向发送节点转发。在一些实施例中,在发送节点将待写入消息写入共享内存单元中之前,发送节点还用于向共享内存管理器发送消息写入请求,其中,消息写入请求包括待写入消息所占存储空间信息;共享内存管理器还用于基于待写入消息所占存储空间信息,在共享内存单元中创建与待写入消息对应的内存空间,响应于内存空间创建成功,向发送节点发送用于指示创建内存空间成功的第二信息和存储位置信息。在一些实施例中,共享内存管理器还用于:在接收到接收节点发送的读取完成信息,并将读取完成信息向发送节点转发之后,删除共享内存单元中的待写入消息,并对存储待写入消息的存储位置进行标志位重置。在一些实施例中,消息写入请求还包括待写入消息的消息类型以及数字签名信息;共享内存管理器还用于基于消息类型以及数字签名信息对待写入消息进行校验。第三方面,本申请实施例还提供了一种基于共享内存的消息传输装置,包括:校验单元,配置用于响应于发送节点将待写入消息写入共享内存单元,对待写入消息进行校验;第一发送单元,配置用于若校验成功,则向监听待写入消息的接收节点发送用于提示待写入消息写入成功的第一信息以及待写入消息的存储位置信息;以及第二发送单元,配置用于响应于接收节点读取完成,将用于指示读取完成的读取完成信息向发送节点发送。在一些实施例中,装置还包括:分配单元,配置用于在校验单元响应于发送节点将待写入消息写入共享内存单元,对待写入消息进行校验之前,响应于接收到发送节点发送的消息写入请求,在共享内存单元中,为待写入消息分配存储空间,其中,消息写入请求包括待写入消息所占存储空间信息;以及第一发送单元进一步配置用于向发送节点发送用于指示创建内存空间成功的第二信息和存储位置信息。在一些实施例中,分配单元进一步配置用于:基于待写入消息所占存储空间信息所指示的存储空间,在共享内存单元中,为待写入消息分配与待写入消息所占存储空间相匹配的存储空间。在一些实施例中,装置还包括:重置单元,配置用于在第二发送单元响应于接收节点读取完成,将用于指示读取完成的读取完成信息向发送节点发送之后,删除共享内存单元中的待写入消息,并对存储待写入消息的存储位置进行标志位重置。在一些实施例中,消息写入请求还包括待写入消息的消息类型以及数字签名信息;校验单元进一步配置用于:基于消息类型以及数字签名信息对待写入消息进行校验。第四方面,本申请实施例还提供了一种设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面任一的方法。第五方面,本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其中,程序被处理器执行时实现如第一方面任一的方法。本申请实施例提供的基于共享内存的消息传输方法、系统和装置,通过响应于发送节点将待写入消息写入共享内存单元,对待写入消息进行校验;若校验成功,则向监听待写入消息的接收节点发送用于提示待写入消息写入成功的第一信息以及待写入消息的存储位置信息;以及响应于接收节点读取完成,将用于指示读取完成的读取完成信息向发送节点转发。可以使得发送节点和接收节点能够及时获知对端对消息的读写状态,有利于提升通信链路的传输效率并相应地减少通信层占用的系统资源。附图说明通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:图1是本申请可以应用于其中的示例性系统架构图;图2是根据本申请的基于共享内存的消息传输方法的一个实施例的流程图;图3是根据本申请的基于共享内存的消息传输方法的另一个实施例的流程图;图4是根据本申请的基于共享内存的消息传输方法的一个应用场景的示意图;图5是根据本申请的基于共享内存的消息传输装置的一个实施例的结构图;图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。具体实施方式下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关专利技术,而非对该专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关专利技术相关的部分。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。图1示本文档来自技高网...

【技术保护点】
1.一种基于共享内存的消息传输方法,包括:响应于发送节点将待写入消息写入共享内存单元,对所述待写入消息进行校验;若校验成功,则向监听所述待写入消息的接收节点发送用于提示所述待写入消息写入成功的第一信息以及所述待写入消息的存储位置信息;以及响应于所述接收节点读取完成,将用于指示读取完成的读取完成信息向所述发送节点发送。

【技术特征摘要】
1.一种基于共享内存的消息传输方法,包括:响应于发送节点将待写入消息写入共享内存单元,对所述待写入消息进行校验;若校验成功,则向监听所述待写入消息的接收节点发送用于提示所述待写入消息写入成功的第一信息以及所述待写入消息的存储位置信息;以及响应于所述接收节点读取完成,将用于指示读取完成的读取完成信息向所述发送节点发送。2.根据权利要求1所述的方法,其中,在所述响应于发送节点将待写入消息写入共享内存单元,对所述待写入消息进行校验之前,所述方法还包括:响应于接收到所述发送节点发送的消息写入请求,在所述共享内存单元中,为待写入消息分配存储空间,其中,所述消息写入请求包括待写入消息所占存储空间信息;以及向所述发送节点发送用于指示创建内存空间成功的第二信息和存储位置信息。3.根据权利要求2所述的方法,其中,所述响应于接收到所述发送节点发送的消息写入请求,在共享内存单元中,为待写入消息分配存储空间,包括:基于所述待写入消息所占存储空间信息所指示的存储空间,在所述共享内存单元中,为所述待写入消息分配与所述待写入消息所占存储空间相匹配的存储空间。4.根据权利要求1所述的方法,其中,在所述响应于所述接收节点读取完成,将用于指示读取完成的读取完成信息向所述发送节点发送之后,所述方法还包括:删除所述共享内存单元中的所述待写入消息,并对存储所述待写入消息的存储位置进行标志位重置。5.根据权利要求2所述的方法,其中,所述消息写入请求还包括所述待写入消息的消息类型以及数字签名信息;所述对所述待写入消息进行校验,包括:基于所述消息类型以及所述数字签名信息对所述待写入消息进行校验。6.一种基于共享内存的消息传输系统,包括共享内存单元、共享内存管理器、至少一个发送节点和至少一个接收节点;其中:所述发送节点,用于将待写入消息写入所述共享内存单元中;所述共享内存管理器,用于响应于发送节点将待写入消息写入所述共享内存单元,对所述待写入消息进行校验,若校验成功,则向监听所述待写入消息的接收节点发送用于提示所述待写入消息写入成功的第一信息以及所述待写入消息的存储位置信息;所述接收节点,用于监听所述共享内存管理器,并响应于监听到所述第一消息和所述待写入消息的存储位置信息,从所述共享内存单元中读取所述待写入消息;所述接收节点,还用于完成所述待写入消息的读取之后,向所述共享内存管理器发送读取完成信息,所述共享内存管理器还用于将所述读取完成信息向所述发送节点转发。7.根据权利要求6所述的系统,在所述发送节点将待写入消息写入共享内存单元中之前,所述发送节点还用于向所述共享内存管理器发送消息写入请求,其中,所述消息写入请求包括待写入消息所占存储空间信息;所述共享内存管理器还用于基于所述待写入消息所占存储空间信息,在所述共享内存单元...

【专利技术属性】
技术研发人员:冯靖超夏黎明陈卓
申请(专利权)人:百度在线网络技术北京有限公司
类型:发明
国别省市:北京,11

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

1