一种基于车载设备的进程间通讯方法和相关设备技术

技术编号:38045644 阅读:13 留言:0更新日期:2023-06-30 11:11
本发明专利技术公开了一种基于车载设备的进程间通讯方法和相关设备,方法包括:获取待发送的消息及服务名称;根据所述服务名称,确定与所述服务名称对应的服务端和所述服务端对应的服务地址;根据所述服务地址,判断所述服务端是否位于本机;若位于本机,则针对每一个所述服务端,根据所述消息和所述服务地址,生成第一socket文件和第二socket文件,并与该服务端建立第一数据连接;将所述第一socket文件和所述第二socket文件关联,并基于所述第一数据连接,将所述第二socket文件加入与该服务端的接收队列中,以实现消息的传输。本发明专利技术能够适应车载设备实现一对多、多对多等多种通讯场景,提高信息传输效率。提高信息传输效率。提高信息传输效率。

【技术实现步骤摘要】
一种基于车载设备的进程间通讯方法和相关设备


[0001]本专利技术涉及数据传输
,特别涉及一种基于车载设备的进程间通讯方法和相关设备。

技术介绍

[0002]IPC(Inter

Process Communication,进程间通信),是指两个进程的数据之间产生交互。在车载设备上,多个APP之间常常需要相互交互,传统的IPC方式包括Binder、广播、Socket等,但是在车载设备芯片性能难以像手机等高尖端设备一样性能卓越的情形下,这些IPC方案都存在一定的局限性。
[0003]针对Binder,其为高性能的IPC通讯方式,但是其构架为C/S构架,因此只能实现一对多通讯,即个服务端+N个客户端,在多对多的通信或者跨设备通信的情境下,Binder难以实现。而采用广播的方式,可以全局发送数据或单独向某个应用发送数据,但是对于全局的特定几个app发送数据这一点难以实现,例如图2中,A发出的广播,要么通过全局,B、C和D全部收到,要么仅通知A、B或C中的一个,无法实现对A和B的发送。Socket是非常常见的通信方式,常用于客户端和服务器的通信,若直接在App中使用Socket,对整个车载设备造成巨大的负担。每一个App都作为一个服务端,虽然能够实现数据的传输,但是车载设备中IO的Cpu占用可能较高,对于造价成本有限的车载设备而言,难以负荷,因此Socket实现只能作为次选方案。
[0004]因此在车载设备中,构建灵活、有效、高性能且价格低廉的IPC方案就极为重要。
专利技术内
[0005]本专利技术要解决的技术问题在于基于车载设备的IPC方案存在局限性,针对现有技术的不足,提供一种基于车载设备的进程间通讯方法和相关设备。
[0006]为了解决上述技术问题,本专利技术所采用的技术方案如下:
[0007]一种基于车载设备的进程间通讯方法,所述方法包括:
[0008]获取待发送的消息及服务名称;
[0009]根据所述服务名称,确定与所述服务名称对应的服务端和所述服务端对应的服务地址;
[0010]根据所述服务地址,判断所述服务端是否位于本机;
[0011]若位于本机,则针对每一个所述服务端,根据所述消息和所述服务地址,生成第一socket文件和第二socket文件,并与该服务端建立第一数据连接;
[0012]将所述第一socket文件和所述第二socket文件关联,并基于所述第一数据连接,将所述第二socket文件加入与该服务端的接收队列中,以实现消息的传输。
[0013]所述基于车载设备的进程间通讯方法,其中,所述根据所述服务名称,确定与所述服务名称对应的服务端和所述服务端对应的服务地址包括:
[0014]根据预设的路由表,确定与所述服务名称对应的服务端和与所述服务端对应的服
务地址,其中,当所述服务端位于本机时,所述服务地址为socket文件地址。
[0015]所述基于车载设备的进程间通讯方法,其中,所述方法还包括:
[0016]当检测到地址变更指令时,根据所述地址变更指定对应的更新前地址,确定所述路由表中对应的服务地址;
[0017]根据所述地址变更指令中的更新后地址,对所述服务地址进行更新。
[0018]所述基于车载设备的进程间通讯方法,其中,所述根据预设的路由表,确定与所述服务名称对应的服务端和与所述服务端对应的服务地址包括:
[0019]根据所述服务名称,计算与所述服务名称对应的标记序号;
[0020]根据所述标记序号,对所述路由表进行检索,得到与所述服务名称对应的服务端和与所述服务端对应的服务地址。
[0021]所述基于车载设备的进程间通讯方法,其中,所述若位于本机,则根据所述消息和所述服务地址,生成第一socket文件和第二socket文件包括:
[0022]若位于本机,则对所述消息进行序列化,得到序列信息;
[0023]根据所述序列信息和所述服务地址,生成第一socket文件和第二socket文件。
[0024]所述基于车载设备的进程间通讯方法,其中,所述根据所述序列信息,生成第一socket文件和第二socket文件包括:
[0025]获取预设的sock模板文件;
[0026]将所述序列信息加载至所述sock模板文件的缓存区,得到第一socket文件;
[0027]根据所述服务地址,创建与所述服务端对应的第二socket文件。
[0028]所述基于车载设备的进程间通讯方法,其中,所述方法还包括:
[0029]若非位于本机,则根据所述服务地址,与所述服务端建立第二数据连接;
[0030]根据与所述服务名称对应的第三socket文件和所述消息,生成传输数据;
[0031]基于所述第二数据连接,将所述传输数据传输至服务端的接收队列中,以实现消息的传输。
[0032]一种基于车载设备的进程间通讯装置,包括:
[0033]获取模块,用于获取待发送的消息及服务名称;
[0034]确定模块,用于根据所述服务名称,确定与所述服务名称对应的服务端和所述服务端对应的服务地址;
[0035]判断模块,用于根据所述服务地址,判断所述服务端是否位于本机;
[0036]生成模块,用于若位于本机,则针对每一个所述服务端,根据所述消息和所述服务地址,生成第一socket文件和第二socket文件,并与该服务端建立第一数据连接;
[0037]传输模块,用于将所述第一socket文件和所述第二socket文件关联,并基于所述第一数据连接,将所述第二socket文件加入与该服务端的接收队列中,以实现消息的传输。
[0038]一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于车载设备的进程间通讯方法中的步骤。
[0039]一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
[0040]所述通信总线实现处理器和存储器之间的连接通信;
[0041]所述处理器执行所述计算机可读程序时实现如上任一所述的基于车载设备的进程间通讯方法中的步骤。
[0042]有益效果:本方案首先通过服务名称,能够确定若干个对应的服务端及其地址,在传输时,能够针对每一个服务端,创建其对应的数据连接、socket文件,从而实现基于socket和数据的消息传输。因此,在本方案中,可实现一对多,甚至多对多的进程间通讯,并且不需要对芯片有高性能要求,适合应用于车载设备中。
附图说明
[0043]图1为基于Binder的IPC方案示意图。
[0044]图2为基于广播的IPC方案示意图。
[0045]图3本专利技术提供一种基于车载设备的进程间通讯方法的流程图。
[0046]图4专利技术提供一种基于车载设备的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于车载设备的进程间通讯方法,其特征在于,所述方法包括:获取待发送的消息及服务名称;根据所述服务名称,确定与所述服务名称对应的服务端和所述服务端对应的服务地址;根据所述服务地址,判断所述服务端是否位于本机;若位于本机,则针对每一个所述服务端,根据所述消息和所述服务地址,生成第一socket文件和第二socket文件,并与该服务端建立第一数据连接;将所述第一socket文件和所述第二socket文件关联,并基于所述第一数据连接,将所述第二socket文件加入与该服务端的接收队列中,以实现消息的传输。2.根据权利要求1所述基于车载设备的进程间通讯方法,其特征在于,所述根据所述服务名称,确定与所述服务名称对应的服务端和所述服务端对应的服务地址包括:根据预设的路由表,确定与所述服务名称对应的服务端和与所述服务端对应的服务地址,其中,当所述服务端位于本机时,所述服务地址为socket文件地址。3.根据权利要求2所述基于车载设备的进程间通讯方法,其特征在于,所述方法还包括:当检测到地址变更指令时,根据所述地址变更指定对应的更新前地址,确定所述路由表中对应的服务地址;根据所述地址变更指令中的更新后地址,对所述服务地址进行更新。4.根据权利要求2所述基于车载设备的进程间通讯方法,其特征在于,所述根据预设的路由表,确定与所述服务名称对应的服务端和与所述服务端对应的服务地址包括:根据所述服务名称,计算与所述服务名称对应的标记序号;根据所述标记序号,对所述路由表进行检索,得到与所述服务名称对应的服务端和与所述服务端对应的服务地址。5.根据权利要求4所述基于车载设备的进程间通讯方法,其特征在于,所述若位于本机,则根据所述消息和所述服务地址,生成第一socket文件和第二socket文件包括:若位于本机,则对所述消息进行序列化,得到序列信息;根据所述序列信息和所述服务地址,生成第一socket文件和第二socket文件。6.根据权利要求5所述基于车载设备的进...

【专利技术属性】
技术研发人员:张博威杨德文皮碧虹龙丁奋
申请(专利权)人:深圳市同行者科技有限公司
类型:发明
国别省市:

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

1