嵌入式双系统的系统间通信方法及装置制造方法及图纸

技术编号:10979626 阅读:127 留言:0更新日期:2015-01-30 16:23
本发明专利技术提供一种嵌入式双系统的系统间通信方法及装置,该方法包括:利用第一发送进程将android用户的消息通过消息服务转化为流数据后发送给linux中转任务;流数据的数据结构包括消息头和消息数据;消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;消息数据表达了消息的内容;或利用第一接收进程接收来自linux中转任务的消息;通过消息服务产生所接收到的消息的消息对象实例,根据消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用接收消息对象实例的读取消息方法,获得所接收到的消息的内容。本发明专利技术定义了android与linux通信的协议,实现了可变数据传递;提供了对通信协议的解析;实现了在嵌入式linux环境下android与linux的通信。

【技术实现步骤摘要】
【专利摘要】本专利技术提供一种嵌入式双系统的系统间通信方法及装置,该方法包括:利用第一发送进程将android用户的消息通过消息服务转化为流数据后发送给linux中转任务;流数据的数据结构包括消息头和消息数据;消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;消息数据表达了消息的内容;或利用第一接收进程接收来自linux中转任务的消息;通过消息服务产生所接收到的消息的消息对象实例,根据消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用接收消息对象实例的读取消息方法,获得所接收到的消息的内容。本专利技术定义了android与linux通信的协议,实现了可变数据传递;提供了对通信协议的解析;实现了在嵌入式linux环境下android与linux的通信。【专利说明】嵌入式双系统的系统间通信方法及装置
本专利技术属于计算机
,涉及一种系统间的通信方法,特别是涉及一种嵌入 式双系统的系统间通信方法及装置。
技术介绍
现在的android是一种开放的开发平台,在各种纷繁复杂的APP应用中,android 备享赞誉,美名远播。但实际android的底层核心是Iinux的,实际应用中android本身需 要和Iinux通信,这就带来了 android与Iinux共存协同合作的问题。 现有的解决android程序和Iinux程序通信的技术方案有如下几种: 1、Solinuxket 通信方式 Solinuxket是建立在传输协议(主要是HinuxP和UDP)上的一种套接字规范。套 接字屏蔽了底层通信软件和具体操作系统的差异,使得任何两台安装了 TlinuxP协议软件 和实现了要节制规范的计算机之间的通信成为可能。利用标准的Solinuxket通信的方法, 可以实现任何平台任何进程之间的Solinuxket通信,从而实现信息的传递。Solinuxket通 信是基于HinuxP和UDP的套接字规范,这种实现方案只能运行在任何两台安装了 HinuxP 协议的机器之间,利用网络套接字通信,其他环境则无法运行及通信。 2、文件共享方式 通信双方将需要传递的参数等信息,通过文件进行传递。这种方法需要注意线程 同步和安全等问题,其效率相对比较低下。采用文件共享的方式进行通信,方式较为简单易 用,但是对文件的操作,访问,安全,则成了通信的最大障碍。考虑到对效率要求比较高且对 数据安全要求比较高的场合,这种方式便不可取了。 3、通过JNI方式 android 本机接口(即 android Native Interfalinuxe,JNI)是编写 android 本 机方法和把android虚拟机(JVM)嵌入到本机应用程序中的标准接口。通过JNI编写程序, 可以很方便的做到跨平台移植。采用JNI是目前为止较为流行的android通信方式,单独 使用JNI给android与Iinux之间的通信带来了较大的灵活性。但是JNI本身只是一系列 通用接口,其实现依赖于设计者本身的技术解决方案,因此带来不确定性。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种嵌入式双系统的系统 间通信方法及装置,用于解决运行中的Android环境下的任务和休眠中的Iinux环境下的 任务能够互相通信的问题。 为实现上述目的及其他相关目的,本专利技术提供一种嵌入式双系统的系统间通信方 法,所述嵌入式双系统的系统间通信方法包括:利用第一发送进程将android用户的消息 通过消息服务转化为流数据后发送给Iinux中转任务;所述流数据的数据结构包括消息头 和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所 述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID ;所述消息数据 表达了消息的内容;或利用第一接收进程接收来自Iinux中转任务的消息;通过所述消息 服务产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到 对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的 消息的内容。 可选地,所述消息服务包括:发送消息;注册消息ID,返回一个提供有读取消息方 法的接收消息对象实例。 可选地,所述嵌入式双系统的系统间通信方法由OSGi环境下的android中转任务 实现;所述android中转任务采用Unix域套接字与所述Iinux中转任务通信。 本专利技术还提供一种嵌入式双系统的系统间通信方法,所述嵌入式双系统的系统间 通信方法包括:利用第二接收进程监听接收连接请求,在接收连接建立后,通过Unix域套 接字接收来自android中转任务的流数据,并将所述流数据转换为消息发送至Iinux用户 任务;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消 息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息 ID为接收消息进程的ID ;所述消息数据表达了消息的内容;或利用第二发送进程接收来自 Iinux用户任务的消息,并在发送连接建立后,调用Unix域套接字将所述接收到的消息发 送至android中转任务。 可选地,所述接收连接的建立过程包括:仓Il建接收套接字规范solinuxket,将所 述套接字规范solinuxket绑定到套接字规范文件solinuxketfile,侦听所述套接字规范 solinuxket,判断接收连接是否建立成功,若成功则接收所述流数据;若不成功则继续判 断;所述发送连接的建立过程包括:创建发送套接字规范solinuxket,将所述套接字规范 solinuxket绑定到套接字规范文件solinuxketfile,侦听所述套接字规范solinuxket,判 断发送连接是否建立成功,若成功则获取所述套接字规范文件solinuxketfd ;若不成功则 继续判断。 可选地,所述嵌入式双系统的系统间通信方法由Iinux环境下的Iinux中转任务 实现;所述Iinux中转任务采用Unix域套接字与所述android中转任务通信。 本专利技术还提供一种嵌入式双系统的系统间通信装置,所述嵌入式双系统的系统间 通信装置包括android中转任务模块;所述android中转任务模块包括:第一发送进程子 模块,将android用户的消息通过一消息服务子模块转化为流数据后发送给Iinux中转任 务模块;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的 消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消 息ID为接收消息进程的ID ;所述消息数据表达了消息的内容;或第一接收进程子模块,接 收来自Iinux中转任务模块的消息;通过所述消息服务子模块产生所接收到的消息的消息 对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所 述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。 可选地,所述消息服务子模块包括:发送单元,发送消息;注册单元,注册消息ID, 返回一个提供有读取消息方法的接收消息本文档来自技高网
...

【技术保护点】
一种嵌入式双系统的系统间通信方法,其特征在于,所述嵌入式双系统的系统间通信方法包括:利用第一发送进程将android用户的消息通过消息服务转化为流数据后发送给linux中转任务;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;或利用第一接收进程接收来自linux中转任务的消息;通过所述消息服务产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。

【技术特征摘要】

【专利技术属性】
技术研发人员:刘云峰杨磊磊付保林
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

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

1