CN104317661A - 嵌入式双***的***间通信方法及装置 - Google Patents

嵌入式双***的***间通信方法及装置 Download PDF

Info

Publication number
CN104317661A
CN104317661A CN201410612949.7A CN201410612949A CN104317661A CN 104317661 A CN104317661 A CN 104317661A CN 201410612949 A CN201410612949 A CN 201410612949A CN 104317661 A CN104317661 A CN 104317661A
Authority
CN
China
Prior art keywords
message
linux
android
socket
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201410612949.7A
Other languages
English (en)
Inventor
刘云峰
杨磊磊
付保林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Feixun Data Communication Technology Co Ltd
Original Assignee
Shanghai Feixun Data Communication Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201410612949.7A priority Critical patent/CN104317661A/zh
Publication of CN104317661A publication Critical patent/CN104317661A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

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

Description

嵌入式双***的***间通信方法及装置
技术领域
本发明属于计算机技术领域,涉及一种***间的通信方法,特别是涉及一种嵌入式双***的***间通信方法及装置。
背景技术
现在的android是一种开放的开发平台,在各种纷繁复杂的APP应用中,android备享赞誉,美名远播。但实际android的底层核心是linux的,实际应用中android本身需要和linux通信,这就带来了android与linux共存协同合作的问题。
现有的解决android程序和linux程序通信的技术方案有如下几种:
1、Solinuxket通信方式
Solinuxket是建立在传输协议(主要是TlinuxP和UDP)上的一种套接字规范。套接字屏蔽了底层通信软件和具体操作***的差异,使得任何两台安装了TlinuxP协议软件和实现了要节制规范的计算机之间的通信成为可能。利用标准的Solinuxket通信的方法,可以实现任何平台任何进程之间的Solinuxket通信,从而实现信息的传递。Solinuxket通信是基于TlinuxP和UDP的套接字规范,这种实现方案只能运行在任何两台安装了TlinuxP协议的机器之间,利用网络套接字通信,其他环境则无法运行及通信。
2、文件共享方式
通信双方将需要传递的参数等信息,通过文件进行传递。这种方法需要注意线程同步和安全等问题,其效率相对比较低下。采用文件共享的方式进行通信,方式较为简单易用,但是对文件的操作,访问,安全,则成了通信的最大障碍。考虑到对效率要求比较高且对数据安全要求比较高的场合,这种方式便不可取了。
3、通过JNI方式
android本机接口(即android Native Interfalinuxe,JNI)是编写android本机方法和把android虚拟机(JVM)嵌入到本机应用程序中的标准接口。通过JNI编写程序,可以很方便的做到跨平台移植。采用JNI是目前为止较为流行的android通信方式,单独使用JNI给android与linux之间的通信带来了较大的灵活性。但是JNI本身只是一系列通用接口,其实现依赖于设计者本身的技术解决方案,因此带来不确定性。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种嵌入式双***的***间通信方法及装置,用于解决运行中的Android环境下的任务和休眠中的linux环境下的任务能够互相通信的问题。
为实现上述目的及其他相关目的,本发明提供一种嵌入式双***的***间通信方法,所述嵌入式双***的***间通信方法包括:利用第一发送进程将android用户的消息通过消息服务转化为流数据后发送给linux中转任务;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;或利用第一接收进程接收来自linux中转任务的消息;通过所述消息服务产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。
可选地,所述消息服务包括:发送消息;注册消息ID,返回一个提供有读取消息方法的接收消息对象实例。
可选地,所述嵌入式双***的***间通信方法由OSGi环境下的android中转任务实现;所述android中转任务采用Unix域套接字与所述linux中转任务通信。
本发明还提供一种嵌入式双***的***间通信方法,所述嵌入式双***的***间通信方法包括:利用第二接收进程监听接收连接请求,在接收连接建立后,通过Unix域套接字接收来自android中转任务的流数据,并将所述流数据转换为消息发送至linux用户任务;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;或利用第二发送进程接收来自linux用户任务的消息,并在发送连接建立后,调用Unix域套接字将所述接收到的消息发送至android中转任务。
可选地,所述接收连接的建立过程包括:创建接收套接字规范solinuxket,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile,侦听所述套接字规范solinuxket,判断接收连接是否建立成功,若成功则接收所述流数据;若不成功则继续判断;所述发送连接的建立过程包括:创建发送套接字规范solinuxket,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile,侦听所述套接字规范solinuxket,判断发送连接是否建立成功,若成功则获取所述套接字规范文件solinuxketfd;若不成功则继续判断。
可选地,所述嵌入式双***的***间通信方法由linux环境下的linux中转任务实现;所述linux中转任务采用Unix域套接字与所述android中转任务通信。
本发明还提供一种嵌入式双***的***间通信装置,所述嵌入式双***的***间通信装置包括android中转任务模块;所述android中转任务模块包括:第一发送进程子模块,将android用户的消息通过一消息服务子模块转化为流数据后发送给linux中转任务模块;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;或第一接收进程子模块,接收来自linux中转任务模块的消息;通过所述消息服务子模块产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。
可选地,所述消息服务子模块包括:发送单元,发送消息;注册单元,注册消息ID,返回一个提供有读取消息方法的接收消息对象实例。
可选地,所述android中转任务模块采用Unix域套接字与所述linux中转任务模块通信。
本发明还提供一种嵌入式双***的***间通信装置,所述嵌入式双***的***间通信装置包括linux中转任务模块;所述linux中转任务模块包括第二接收进程子模块,或第二发送进程子模块;所述第二接收进程子模块包括:监听单元,监听接收连接请求;接收连接建立单元,与所述监听单元相连,建立接收连接;第一接收单元,在接收连接建立后,通过Unix域套接字接收来自android中转任务模块的流数据;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;转换单元,与所述接收单元相连,将所述流数据转换为消息发送至linux用户任务模块;所述第二发送进程子模块包括:第二接收单元,接收来自linux用户任务模块的消息;发送连接建立单元,建立发送连接;发送单元,与所述第二接收单元和发送连接建立单元分别相连,在发送连接建立后,调用Unix域套接字将所述接收到的消息发送至android中转任务模块。
可选地,所述接收连接建立单元进一步包括:第一创建子单元,创建接收套接字规范solinuxket;第一绑定子单元,与所述第一创建子单元相连,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile;第一侦听子单元,与所述第一创建子单元相连,侦听所述套接字规范solinuxket;第一判定子单元,与所述第一侦听子单元相连,判断接收连接是否建立成功;第一执行子单元,与所述第一判定子单元相连,若成功则接收所述流数据;若不成功则继续判断;所述发送连接建立单元进一步包括:第二创建子单元,创建发送套接字规范solinuxket;第二绑定子单元,与所述第二创建子单元相连,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile;第二侦听子单元,与所述第二创建子单元相连,侦听所述套接字规范solinuxket;第二判定子单元,与所述第二侦听子单元相连,判断发送连接是否建立成功;第二执行子单元,与所述第二判定子单元相连,若成功则获取所述套接字规范文件solinuxketfd;若不成功则继续判断。
可选地,所述linux中转任务模块采用Unix域套接字与所述android中转任务模块通信。
如上所述,本发明所述的嵌入式双***的***间通信方法及装置,具有以下有益效果:
本发明定义了android与linux通信的协议,实现了可变数据传递;提供了对通信协议的解析,包括android端以及linux端的数据包处理流程,合法性校验,错误报文处理等等;实现了在嵌入式linux环境下android与linux的通信。
附图说明
图1为本发明实施例一所述的嵌入式双***的***间通信方法的一种具体实现流程示意图。
图2为本发明实施例二所述的嵌入式双***的***间通信方法的一种具体实现流程示意图。
图3为本发明实施例二所述的接收连接的建立过程的一种具体实现流程示意图。
图4为本发明实施例二所述的发送连接的建立过程的一种具体实现流程示意图。
图5为本发明实施例三所述的嵌入式双***的***间通信装置的一种具体实现结构示意图。
图6为本发明实施例三所述的消息服务子模块的一种具体实现结构示意图。
图7为本发明实施例四所述的嵌入式双***的***间通信装置的一种具体实现结构示意图。
图8为本发明实施例四所述的第二接收进程子模块的一种具体实现结构示意图。
图9为本发明实施例四所述的接收连接建立单元的一种具体实现结构示意图。
图10为本发明实施例四所述的第二发送进程子模块的一种具体实现结构示意图。
图11为本发明实施例四所述的发送连接建立单元的一种具体实现结构示意图。
元件标号说明
500         android中转任务模块
510         第一发送进程子模块
520         第一接收进程子模块
530         消息服务子模块
531         发送单元
532         注册单元
600         linux中转任务模块
610         第二接收进程子模块
611         监听单元
612         接收连接建立单元
6121        第一创建子单元
6122        第一绑定子单元
6123        第一侦听子单元
6124        第一判定子单元
6125        第一执行子单元
613         第一接收单元
614         转换单元
620         第二发送进程子模块
621         第二接收单元
622         发送连接建立单元
6221        第二创建子单元
6222        第二绑定子单元
6223        第二侦听子单元
6224        第二判定子单元
6225        第二执行子单元
623         发送单元
700         linux用户任务模块
800         android用户任务模块
S101~S102  步骤
S201~S202  步骤
S301~S305  步骤
S401~S405  步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅附图。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
现有的方案运行环境各异,有的运行于不同主机,有的运行于JVM。Unix DomainSolinuxket即Uinx域套接字,用于同一台机器上运行的进程之间的通信。Unix域套接字的执行效率比因特网域的套接字更高,它是实现android与linux通信的桥梁。OSGi(JSR 291)亦称做android语言的动态模块***,它为模块化应用的开发定义了一个基础架构。简单的说,通过OSGi可以在后台对设备组件进行安装、升级或卸载而无需打断该设备的正常运行。OSGi作为android模块化的载体,运行在JVM(android Virtual Malinuxhine)之上。OSGi是近年来新提出的标准,android模块化是目前比较热门的发展趋势,因此在嵌入式平台下,OSGi环境中,提出一套android与linux的通信解决方案,同时解决通信安全,通信效率等问题则显得非常有必要。android的创造者们在开发之初就已经考虑到了这一点,在android中提供了与linux/++的编程接口,这就是JNI(android Native Interfalinuxe)。在本发明中采用的开源的JUDS(android Unix Domain Solinuxket)类库部分就是源自于对JNI的调用。本发明描述的便是在OSGi环境下android的任务与linux环境下linux任务的通信机制。
下面结合实施例和附图对本发明进行详细说明。
实施例一
本实施例提供一种嵌入式双***的***间通信方法,如图1所示,所述嵌入式双***的***间通信方法包括:
S101,利用第一发送进程将android用户的消息通过消息服务转化为流数据后发送给linux中转任务;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容。
表1:消息的结构定义表
32bit 32bit 32bit 32bit Maxlen=512bit
msgSrlinux msgDst msgType msgDataLen msgData
所述数据结构即消息的结构定义参见表1所示,msgSrlinux表示源消息ID,即发送进程的ID;msgDst表示目的消息ID,即接收进程的ID;msgType表示消息的类型,该项可以根据具体的通信需求详细定义;msgDataLen表示msgData字段的长度;msgData表示消息的内容。整个消息的结构体采用字节流进行发送接收,这样做,可以很方便的进行消息解析。考虑到消息的校验机制,本发明可以先检查消息头字段,如果不符合消息头定义的,则将其视为非法消息,进行丢弃处理,并继续进行消息侦听。本实施例对消息的结构定义采用了消息头加消息数据的组织形式来完成通信需求。设计消息头部分能完成消息目的地址,消息类型,消息长度等解析,完成消息校验,保证消息能够正确地被linux和android两端解析。该消息结构定义了基本的通信框架,可以很方便的扩展到不同的通信需求上。
S102,利用第一接收进程接收来自linux中转任务的消息;通过所述消息服务产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。
进一步,所述消息服务包括:发送消息;注册消息ID,返回一个提供有读取消息方法的接收消息对象实例。其中,注册消息ID是声明本任务的消息ID,返回一个接收消息对象实例,接收消息对象实例提供了读取该消息的方法。发送消息是传入一个消息类的子类的实例,该消息类提供接口实现:1)得到消息目的ID;2)得到消息源ID;3)得到消息类型;4)得到消息数据在solinuxket上传递的字节流;5)得到此消息的各个数据成员。
本实施例所述的嵌入式双***的***间通信方法由OSGi环境下的android中转任务实现;所述android中转任务采用Unix域套接字与所述linux中转任务通信。OSGi最原始的目标就是针对嵌入式和家庭网关应用,但是他对于模块化,组件导向以及服务导向也具有较完美的支持。比较著名的OSGi的框架有Equinox和Apalinuxhe Felix等等。本实施例可以选用android库环境支持较好的Felix,Felix是一个OSGi版本4规范的Apalinuxhe实现。Felix的操作简易,人性化的linuxLI命令接口,可以方便的对OSGi环境下的Bundle(用于Android的Activity之间传递数据的类)进行组织管理,同时,OSGi本身也定义了Bundle之间的通信,这样,为可以为消息中转带来方便,无需另外定义中转消息机制。android中转任务发送消息的机制类似linux中发送进程,将用户的消息转化为流数据后发送给linux中转任务。此方法调用完全在用户线程内进行,可能有多个用户线程同时使用,因此此方法被定义为同步方法。android用户任务调用注册方法后,android中转任务将产生一个接收消息对象实例,并且绑定此实例与消息ID的对应关系。android中转任务在激活时还将产生一个接收线程,用于接收来自linux中转任务的消息。如果提取出一条完整的消息,产生一个消息对象实例,根据消息的目的ID找到对应的接收消息对象实例,调用它的写入消息方法,将此消息对象实例传递给此接收消息对象实例。android用户任务注册消息ID后,获得一个接收消息对象实例,调用它的读取消息方法,即可获得消息。android中转任务的接收线程和android用户任务需要操作同一个接收消息对象实例,因此必须引入同步机制。接收对象的消息写入和读取方法都是同步方法,消息读取方法发现当前消息为空时,使用wait()函数,消息写入方法中需要调用notifyall()函数。
本实施例中,第一发送进程和第一接收进程是两个独立的进程,因此二者可以同时工作,互不影响。但本发明的保护范围不限于第一发送进程和第一接收进程同时存在的情况,只有第一发送进程存在或只有第一接收进程存在的情况也包括在本发明的保护范围内。本发明的保护范围不限于本实施例列举的步骤执行顺序。
实施例二
本实施例提供另一种嵌入式双***的***间通信方法,其与实施例一的区别在于,实施例一在android***端实现,而本实施例在linux***端实现。
如图2所示,所述嵌入式双***的***间通信方法包括:
S201,利用第二接收进程监听接收连接请求,在接收连接建立后,通过Unix域套接字接收来自android中转任务的流数据,并将所述流数据转换为消息发送至linux用户任务。所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容。所述数据结构即消息的结构定义参见表1所示,msgSrlinux表示源消息ID,即发送进程的ID;msgDst表示目的消息ID,即接收进程的ID;msgType表示消息的类型,该项可以根据具体的通信需求详细定义;msgDataLen表示msgData字段的长度;msgData表示消息的内容。整个消息的结构体采用字节流进行发送接收,这样做,可以很方便的进行消息解析。考虑到消息的校验机制,本发明可以先检查消息头字段,如果不符合消息头定义的,则将其视为非法消息,进行丢弃处理,并继续进行消息侦听。本实施例对消息的结构定义采用了消息头加消息数据的组织形式来完成通信需求。设计消息头部分能完成消息目的地址,消息类型,消息长度等解析,完成消息校验,保证消息能够正确地被linux和android两端解析。该消息结构定义了基本的通信框架,可以很方便的扩展到不同的通信需求上。
S202,利用第二发送进程接收来自linux用户任务的消息,并在发送连接建立后,调用Unix域套接字将所述接收到的消息发送至android中转任务。
进一步,参见图3所示,所述接收连接的建立过程的一种具体实现方式包括:
S301,创建接收套接字规范solinuxket;
S302,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile;
S303,侦听所述套接字规范solinuxket;
S304,判断接收连接是否建立成功?
S305,若成功则接收所述流数据;若不成功则继续判断。
进一步,参见图4所示,所述发送连接的建立过程的一种具体实现方式包括:
S401,创建发送套接字规范solinuxket;
S402,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile;
S403,侦听所述套接字规范solinuxket;
S404,判断发送连接是否建立成功;
S405,若成功则获取所述套接字规范文件solinuxketfd;若不成功则继续判断。
本实施例所述的嵌入式双***的***间通信方法由linux环境下的linux中转任务实现;所述linux中转任务采用Unix域套接字与所述android中转任务通信。本实施例在linux环境下采用单进程,双线程的方式(即第二发送进程和第二接收进程是两个单进程,二者结合又构成了双线程)来完成消息的收发。每个进程单独负责发送消息和接收消息,即第二发送进程只负责发送消息,第二接收进程只负责接收消息(即流数据)。采用这样的半双工方式通信,可以很方便的组织代码,且不易产生错误。linux环境的消息接收进程处于运行(running)状态时,一旦侦听到消息,就会将其放到linux的消息队列之中,linux***进程会根据消息的目的地址以及消息类型进行转发。
本实施例中,消息接收和发送都是利用Unix域套接字实现,Unix域套接字仅仅复制数据,不负责协议处理,不需要添加删除网络头,因此,linux代码下必须完成自定义的协议解析。本实施例定义的协议解析参见图3所示的linux环境下消息接收流程和图4所示的linux环境下消息发送流程。
本实施例中,第二发送进程和第二接收进程是两个独立的进程,因此二者可以同时工作,互不影响。但本发明的保护范围不限于第二发送进程和第二接收进程同时存在的情况,只有第二发送进程存在或只有第二接收进程存在的情况也包括在本发明的保护范围内。本发明的保护范围不限于本实施例列举的步骤执行顺序。
实施例一与实施例二配合工作,才能实现实际应用中完整的嵌入式双***的***间通信过程,即实现android***与linux***间的通信过程。本发明可以基于嵌入式的linux环境,搭载自研开发的VOS(Virtual OS)平台,在linux下运行JVM,并植入OSGi运行框架。linux环境下不同任务之间的通信利用linux的消息队列实现,android环境下不同任务之间的通信利用OSGi框架提供的服务注册机制实现通信。linux环境和android环境都有各种的消息中转进程,负责消息的解析转发,所有linux环境下的任务如果想与android环境下的任务通信,必须经过中转任务(即linux中转任务和android中转任务)完成。linux中转任务和android中转任务之间采用Unix域套接字通信。
本实施例为了简化设计,linux中转任务和android中转任务之间使用了两条连接,均为单向传输。为了保证效率并且保证健壮性,使用了UNIX域(AF_UNIX)的流连接(SOlinuxK_STREAM))。android为大端模式(即高字节放入低地址),而linux的模式随***不同有差异,因此在实际应用中需要在连接上传递时始终使用大端模式。linux环境中的结构数据可能会出现对齐的空隙,为保证一致性,需要在连接上传递时保证数据之间无间隙。因为使用了流连接,可能会出现读取数据时在缓存区内出现多条消息或者最后一条不完整等情况,可使用如下机制进行处理:首先读取数据;然后判断缓存区数据长度是否小于消息头长度,若是则继续读取数据,若否则判断缓存区数据长度是否小于消息头长度和消息数据长度之和,若是则继续读取数据,若否则提取一条消息,然后将缓存区剩余数据移至缓存区头部,最后返回消息。
实施例三
本实施例提供一种嵌入式双***的***间通信装置,该装置可以实现实施例一所述的嵌入式双***的***间通信方法,但实施例一所述的嵌入式双***的***间通信方法的实现装置包括但不限于本实施例列举的嵌入式双***的***间通信装置的具体结构。
如图5所示,所述嵌入式双***的***间通信装置包括android中转任务模块500;所述android中转任务模块500包括:第一发送进程子模块510,或/和第一接收进程子模块520,消息服务子模块530。
所述第一发送进程子模块510将android用户的消息通过消息服务子模块530转化为流数据后发送给linux中转任务模块600。所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容。所述数据结构即消息的结构定义参见表1所示,msgSrlinux表示源消息ID,即发送进程的ID;msgDst表示目的消息ID,即接收进程的ID;msgType表示消息的类型,该项可以根据具体的通信需求详细定义;msgDataLen表示msgData字段的长度;msgData表示消息的内容。整个消息的结构体采用字节流进行发送接收,这样做,可以很方便的进行消息解析。考虑到消息的校验机制,本发明可以先检查消息头字段,如果不符合消息头定义的,则将其视为非法消息,进行丢弃处理,并继续进行消息侦听。
本实施例对消息的结构定义采用了消息头加消息数据的组织形式来完成通信需求。设计消息头部分能完成消息目的地址,消息类型,消息长度等解析,完成消息校验,保证消息能够正确地被linux和android两端解析。该消息结构定义了基本的通信框架,可以很方便的扩展到不同的通信需求上。
所述第一接收进程子模块520接收来自linux中转任务模块600的消息;通过所述消息服务子模块530产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。
进一步,如图6所示,所述消息服务子模块530的一种实现结构包括:发送单元531,注册单元532。所述发送单元531发送消息。所述注册单元532注册消息ID,返回一个提供有读取消息方法的接收消息对象实例。其中,注册消息ID是声明本任务的消息ID,返回一个接收消息对象实例,接收消息对象实例提供了读取该消息的方法。发送消息是传入一个消息类的子类的实例,该消息类提供接口实现:1)得到消息目的ID;2)得到消息源ID;3)得到消息类型;4)得到消息数据在solinuxket上传递的字节流;5)得到此消息的各个数据成员。
本实施例中,所述android中转任务模块500在OSGi环境下实现。所述android中转任务模块500采用Unix域套接字与所述linux中转任务模块600通信。OSGi最原始的目标就是针对嵌入式和家庭网关应用,但是他对于模块化,组件导向以及服务导向也具有较完美的支持。比较著名的OSGi的框架有Equinox和Apalinuxhe Felix等等。本实施例可以选用android库环境支持较好的Felix,Felix是一个OSGi版本4规范的Apalinuxhe实现。Felix的操作简易,人性化的linuxLI命令接口,可以方便的对OSGi环境下的Bundle(用于Android的Activity之间传递数据的类)进行组织管理,同时,OSGi本身也定义了Bundle之间的通信,这样,为可以为消息中转带来方便,无需另外定义中转消息机制。android中转任务模块发送消息的机制类似linux中发送进程,将用户的消息转化为流数据后发送给linux中转任务模块。此方法调用完全在用户线程内进行,可能有多个用户线程同时使用,因此此方法被定义为同步方法。android用户任务模块800调用注册方法后,android中转任务模块将产生一个接收消息对象实例,并且绑定此实例与消息ID的对应关系。android中转任务模块在激活时还将产生一个接收线程,用于接收来自linux中转任务模块的消息。如果提取出一条完整的消息,产生一个消息对象实例,根据消息的目的ID找到对应的接收消息对象实例,调用它的写入消息方法,将此消息对象实例传递给此接收消息对象实例。android用户任务注册消息ID后,获得一个接收消息对象实例,调用它的读取消息方法,即可获得消息。android中转任务模块的接收线程和android用户任务模块需要操作同一个接收消息对象实例,因此必须引入同步机制。接收对象的消息写入和读取方法都是同步方法,消息读取方法发现当前消息为空时,使用wait()函数,消息写入方法中需要调用notifyall()函数。
本实施例中,第一发送进程子模块和第一接收进程子模块是两个独立的结构模块,因此二者可以同时工作,互不影响。但本发明的保护范围不限于第一发送进程子模块和第一接收进程子模块同时存在的情况,只有第一发送进程子模块存在或只有第一接收进程子模块存在的情况也包括在本发明的保护范围内。
实施例四
本实施例提供一种嵌入式双***的***间通信装置,该装置可以实现实施例二所述的嵌入式双***的***间通信方法,但实施例二所述的嵌入式双***的***间通信方法的实现装置包括但不限于本实施例列举的嵌入式双***的***间通信装置的具体结构。
如图7所示,所述嵌入式双***的***间通信装置包括linux中转任务模块600;所述linux中转任务模块600包括第二接收进程子模块610,或/和第二发送进程子模块620。所述第二接收进程子模块610负责接收线程监听连接请求,建立连接后,将接收到的数据转换为消息发送至linux用户任务模块700。所述第二发送进程子模块620负责接收来自linux用户任务模块700的消息,转化后通过发送连接发送至android中转任务模块500。若发送连接不存在,则建立发送连接。
进一步,如图8所示,所述第二接收进程子模块610的一种实现结构包括:监听单元611,接收连接建立单元612,第一接收单元613,转换单元614。所述监听单元611监听接收连接请求。所述接收连接建立单元612与所述监听单元611相连,建立接收连接。所述第一接收单元613在接收连接建立后,通过Unix域套接字接收来自android中转任务模块的流数据。所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容。所述数据结构即消息的结构定义参见表1所示,msgSrlinux表示源消息ID,即发送进程的ID;msgDst表示目的消息ID,即接收进程的ID;msgType表示消息的类型,该项可以根据具体的通信需求详细定义;msgDataLen表示msgData字段的长度;msgData表示消息的内容。整个消息的结构体采用字节流进行发送接收,这样做,可以很方便的进行消息解析。考虑到消息的校验机制,本发明可以先检查消息头字段,如果不符合消息头定义的,则将其视为非法消息,进行丢弃处理,并继续进行消息侦听。本实施例对消息的结构定义采用了消息头加消息数据的组织形式来完成通信需求。设计消息头部分能完成消息目的地址,消息类型,消息长度等解析,完成消息校验,保证消息能够正确地被linux和android两端解析。该消息结构定义了基本的通信框架,可以很方便的扩展到不同的通信需求上。所述转换单元614与所述第一接收单元613相连,将所述流数据转换为消息发送至linux用户任务模块700。
更进一步,如图9所示,所述接收连接建立单元612的一种实现结构包括:第一创建子单元6121,第一绑定子单元6122,第一侦听子单元6123,第一判定子单元6124,第一执行子单元6125。所述第一创建子单元6121创建接收套接字规范solinuxket。所述第一绑定子单元6122与所述第一创建子单元6121相连,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile。所述第一侦听子单元6123与所述第一创建子单元6121相连,侦听所述套接字规范solinuxket。所述第一判定子单元6124与所述第一侦听子单元6123相连,判断接收连接是否建立成功。所述第一执行子单元6125与所述第一判定子单元6124相连,若成功则接收所述流数据;若不成功则继续判断。
进一步,如图10所示,所述第二发送进程子模块620的一种实现结构包括:第二接收单元621,发送连接建立单元622,发送单元623。所述第二接收单元621接收来自linux用户任务模块700的消息。所述发送连接建立单元622建立发送连接。所述发送单元623与所述第二接收单元621和发送连接建立单元622分别相连,在发送连接建立后,调用Unix域套接字将所述接收到的消息发送至android中转任务模块500。
更进一步,如图11所示,所述发送连接建立单元622的一种实现结构包括:第二创建子单元6221,第二绑定子单元6222,第二侦听子单元6223,第二判定子单元6224,第二执行子单元6225。所述第二创建子单元6221创建发送套接字规范solinuxket。所述第二绑定子单元6222与所述第二创建子单元6221相连,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile。所述第二侦听子单元6223与所述第二创建子单元6221相连,侦听所述套接字规范solinuxket。所述第二判定子单元6224与所述第二侦听子单元6223相连,判断发送连接是否建立成功。所述第二执行子单元6225与所述第二判定子单元6224相连,若成功则获取所述套接字规范文件solinuxketfd;若不成功则继续判断。
本实施例中,所述linux中转任务模块600在linux环境下实现。所述linux中转任务模块600采用Unix域套接字与所述android中转任务模块500通信。本实施例在linux环境下采用单进程,双线程的方式(即第二发送进程子模块和第二接收进程子模块是两个单进程,二者结合又构成了双线程)来完成消息的收发。每个进程单独负责发送消息和接收消息,即第二发送进程子模块只负责发送消息,第二接收进程子模块只负责接收消息(即流数据)。采用这样的半双工方式通信,可以很方便的组织代码,且不易产生错误。linux环境的消息接收进程处于运行(running)状态时,一旦侦听到消息,就会将其放到linux的消息队列之中,linux***进程会根据消息的目的地址以及消息类型进行转发。
本实施例中,消息接收和发送都是利用Unix域套接字实现,Unix域套接字仅仅复制数据,不负责协议处理,不需要添加删除网络头,因此,linux代码下必须完成自定义的协议解析。本实施例定义的协议解析参见图9所示的linux环境下接收连接建立单元的结构和图11所示的linux环境下发送连接建立单元的结构。
本实施例中,第二发送进程子模块和第二接收进程子模块是两个独立的进程模块,因此二者可以同时工作,互不影响。但本发明的保护范围不限于第二发送进程子模块和第二接收进程子模块同时存在的情况,只有第二发送进程子模块存在或只有第二接收进程子模块存在的情况也包括在本发明的保护范围内。
本发明解决了一个手机有两个***的情况,一个***激活另一个***就处于休眠状态。本发明涉及到android***任务与linux任务的交互,在当今主流的Android平台下,主要运行在android虚拟机的环境中,要让运行***和休眠***实现通讯,就必须提供一套消息机制,使得运行中的Android环境下的任务和休眠中的linux环境下的任务能够互相通信,解决了android***与linux***通信存在局限性的问题。
本发明实现了在嵌入式linux环境下android与linux的通信,其关键点在于:1)定义了android与linux通信的协议,实现了可变数据传递,因为协议是基于字节流的传递,因此,理论上并不限制数据流的大小,为大量数据传递带来可能性。2)对通信协议的解析,包括android端以及linux端的数据包处理流程,合法性校验,错误报文处理等等。3)针对OSGi框架,提出了一套在OSGi环境下,android与linux环境的通信解决方案。而现有方案中对OSGi环境下的android与linux通信机制并未提出。
本发明采用了Unix域套接字,其本身也作为solinuxket通信的一种方式,但又是进程间通信的一种方式,因此兼有通信的高效率和安全性。JNI的框架实现利用开源的JUDS库直接进行操作,从而省去了开发JNI的大量时间,同时又为android与linux通信提供了可靠的库支持。OSGi环境下的android与linux通信实现,是现有技术方案所不具备的,利用开源的Apalinuxhe Felix可以很好的实现OSGi框架下,各模块的交互管理,为linux与android通信环境搭建了很好的桥梁。简易安全的通信协议是所有android与linux通信的基础保障,采用本发明提出的通信协议,可以实现可变数据,大批量字节流数据传递,其高效率源自协议本身并不复杂,且编码简单。
综上所述,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (12)

1.一种嵌入式双***的***间通信方法,其特征在于,所述嵌入式双***的***间通信方法包括:
利用第一发送进程将android用户的消息通过消息服务转化为流数据后发送给linux中转任务;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;或
利用第一接收进程接收来自linux中转任务的消息;通过所述消息服务产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。
2.根据权利要求1所述的嵌入式双***的***间通信方法,其特征在于,所述消息服务包括:
发送消息;
注册消息ID,返回一个提供有读取消息方法的接收消息对象实例。
3.根据权利要求1所述的嵌入式双***的***间通信方法,其特征在于:所述嵌入式双***的***间通信方法由OSGi环境下的android中转任务实现;所述android中转任务采用Unix域套接字与所述linux中转任务通信。
4.一种嵌入式双***的***间通信方法,其特征在于,所述嵌入式双***的***间通信方法包括:
利用第二接收进程监听接收连接请求,在接收连接建立后,通过Unix域套接字接收来自android中转任务的流数据,并将所述流数据转换为消息发送至linux用户任务;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;或
利用第二发送进程接收来自linux用户任务的消息,并在发送连接建立后,调用Unix域套接字将所述接收到的消息发送至android中转任务。
5.根据权利要求4所述的嵌入式双***的***间通信方法,其特征在于:
所述接收连接的建立过程包括:创建接收套接字规范solinuxket,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile,侦听所述套接字规范solinuxket,判断接收连接是否建立成功,若成功则接收所述流数据;若不成功则继续判断;
所述发送连接的建立过程包括:创建发送套接字规范solinuxket,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile,侦听所述套接字规范solinuxket,判断发送连接是否建立成功,若成功则获取所述套接字规范文件solinuxketfd;若不成功则继续判断。
6.根据权利要求4所述的嵌入式双***的***间通信方法,其特征在于:所述嵌入式双***的***间通信方法由linux环境下的linux中转任务实现;所述linux中转任务采用Unix域套接字与所述android中转任务通信。
7.一种嵌入式双***的***间通信装置,其特征在于,所述嵌入式双***的***间通信装置包括android中转任务模块;所述android中转任务模块包括:
第一发送进程子模块,将android用户的消息通过一消息服务子模块转化为流数据后发送给linux中转任务模块;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;或
第一接收进程子模块,接收来自linux中转任务模块的消息;通过所述消息服务子模块产生所接收到的消息的消息对象实例,根据所述消息对象实例中的目的消息ID找到对应的接收消息对象实例,调用所述接收消息对象实例的读取消息方法,获得所接收到的消息的内容。
8.根据权利要求7所述的嵌入式双***的***间通信装置,其特征在于:所述消息服务子模块包括:
发送单元,发送消息;
注册单元,注册消息ID,返回一个提供有读取消息方法的接收消息对象实例。
9.根据权利要求7所述的嵌入式双***的***间通信装置,其特征在于:所述android中转任务模块采用Unix域套接字与所述linux中转任务模块通信。
10.一种嵌入式双***的***间通信装置,其特征在于,所述嵌入式双***的***间通信装置包括linux中转任务模块;所述linux中转任务模块包括第二接收进程子模块,或第二发送进程子模块;
所述第二接收进程子模块包括:
监听单元,监听接收连接请求;
接收连接建立单元,与所述监听单元相连,建立接收连接;
第一接收单元,在接收连接建立后,通过Unix域套接字接收来自android中转任务模块的流数据;所述流数据的数据结构包括消息头和消息数据;所述消息头包括源消息ID、目的消息ID、消息的类型、和消息数据的长度;所述源消息ID为发送消息进程的ID,所述目的消息ID为接收消息进程的ID;所述消息数据表达了消息的内容;
转换单元,与所述接收单元相连,将所述流数据转换为消息发送至linux用户任务模块;
所述第二发送进程子模块包括:
第二接收单元,接收来自linux用户任务模块的消息;
发送连接建立单元,建立发送连接;
发送单元,与所述第二接收单元和发送连接建立单元分别相连,在发送连接建立后,调用Unix域套接字将所述接收到的消息发送至android中转任务模块。
11.根据权利要求10所述的嵌入式双***的***间通信装置,其特征在于:
所述接收连接建立单元进一步包括:
第一创建子单元,创建接收套接字规范solinuxket;
第一绑定子单元,与所述第一创建子单元相连,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile;
第一侦听子单元,与所述第一创建子单元相连,侦听所述套接字规范solinuxket;
第一判定子单元,与所述第一侦听子单元相连,判断接收连接是否建立成功;
第一执行子单元,与所述第一判定子单元相连,若成功则接收所述流数据;若不成功则继续判断;
所述发送连接建立单元进一步包括:
第二创建子单元,创建发送套接字规范solinuxket;
第二绑定子单元,与所述第二创建子单元相连,将所述套接字规范solinuxket绑定到套接字规范文件solinuxketfile;
第二侦听子单元,与所述第二创建子单元相连,侦听所述套接字规范solinuxket;
第二判定子单元,与所述第二侦听子单元相连,判断发送连接是否建立成功;
第二执行子单元,与所述第二判定子单元相连,若成功则获取所述套接字规范文件solinuxketfd;若不成功则继续判断。
12.根据权利要求10所述的嵌入式双***的***间通信装置,其特征在于:所述linux中转任务模块采用Unix域套接字与所述android中转任务模块通信。
CN201410612949.7A 2014-11-04 2014-11-04 嵌入式双***的***间通信方法及装置 Pending CN104317661A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410612949.7A CN104317661A (zh) 2014-11-04 2014-11-04 嵌入式双***的***间通信方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410612949.7A CN104317661A (zh) 2014-11-04 2014-11-04 嵌入式双***的***间通信方法及装置

Publications (1)

Publication Number Publication Date
CN104317661A true CN104317661A (zh) 2015-01-28

Family

ID=52372896

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410612949.7A Pending CN104317661A (zh) 2014-11-04 2014-11-04 嵌入式双***的***间通信方法及装置

Country Status (1)

Country Link
CN (1) CN104317661A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260250A (zh) * 2015-09-10 2016-01-20 烽火通信科技股份有限公司 一种Linux***与Android***的双***通信装置
CN105808364A (zh) * 2016-03-15 2016-07-27 广州视睿电子科技有限公司 融合PC***和android***的双***通信方法和***
CN106776398A (zh) * 2016-12-20 2017-05-31 广州视源电子科技股份有限公司 双***双向控制的方法和装置
CN106850554A (zh) * 2016-12-22 2017-06-13 广州视源电子科技股份有限公司 双***定向连接的方法和装置
CN107707489A (zh) * 2017-09-27 2018-02-16 南京南瑞继保电气有限公司 一种基于流数据的嵌入式装置数据交换方法
CN110928700A (zh) * 2018-09-20 2020-03-27 北京君正集成电路股份有限公司 多进程通讯方法和装置
CN112911407A (zh) * 2019-11-19 2021-06-04 海信视像科技股份有限公司 显示设备及广播交互透传方法
CN112995733A (zh) * 2019-12-17 2021-06-18 海信视像科技股份有限公司 一种显示设备、设备发现方法及存储介质
CN113778280A (zh) * 2021-09-13 2021-12-10 北京技德***技术有限公司 一种Linux兼容Android的显示消息通知方法及装置
CN113806117A (zh) * 2021-11-18 2021-12-17 北京鲸鲮信息***技术有限公司 双***广播方法、装置、电子设备及计算机可读存储介质
CN117093533A (zh) * 2023-08-18 2023-11-21 江苏新质信息科技有限公司 基于ubus框架实现多CPU架构的通信方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120192100A1 (en) * 2011-01-25 2012-07-26 Motorola-Mobility, Inc. Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
CN102880498A (zh) * 2012-09-13 2013-01-16 深圳市佳创软件有限公司 在安卓***的装置上虚拟sd卡的方法
CN103634707A (zh) * 2012-08-23 2014-03-12 上海斐讯数据通信技术有限公司 通信方法
CN103746959A (zh) * 2013-11-27 2014-04-23 上海斐讯数据通信技术有限公司 OSGi环境下Java和C的通信机制的实现方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120192100A1 (en) * 2011-01-25 2012-07-26 Motorola-Mobility, Inc. Method and apparatus for locking and unlocking multiple operating system environments with a single gesture input
CN103634707A (zh) * 2012-08-23 2014-03-12 上海斐讯数据通信技术有限公司 通信方法
CN102880498A (zh) * 2012-09-13 2013-01-16 深圳市佳创软件有限公司 在安卓***的装置上虚拟sd卡的方法
CN103746959A (zh) * 2013-11-27 2014-04-23 上海斐讯数据通信技术有限公司 OSGi环境下Java和C的通信机制的实现方法

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105260250B (zh) * 2015-09-10 2018-08-03 烽火通信科技股份有限公司 一种Linux***与Android***的双***通信装置
CN105260250A (zh) * 2015-09-10 2016-01-20 烽火通信科技股份有限公司 一种Linux***与Android***的双***通信装置
CN105808364A (zh) * 2016-03-15 2016-07-27 广州视睿电子科技有限公司 融合PC***和android***的双***通信方法和***
CN105808364B (zh) * 2016-03-15 2019-08-02 广州视睿电子科技有限公司 融合PC***和android***的双***通信方法和***
CN106776398A (zh) * 2016-12-20 2017-05-31 广州视源电子科技股份有限公司 双***双向控制的方法和装置
WO2018113112A1 (zh) * 2016-12-20 2018-06-28 广州视源电子科技股份有限公司 双***双向控制的方法和装置
CN106850554A (zh) * 2016-12-22 2017-06-13 广州视源电子科技股份有限公司 双***定向连接的方法和装置
WO2018113114A1 (zh) * 2016-12-22 2018-06-28 广州视源电子科技股份有限公司 双***定向连接的方法和装置
CN106850554B (zh) * 2016-12-22 2019-12-17 广州视源电子科技股份有限公司 双***定向连接的方法和装置
CN107707489B (zh) * 2017-09-27 2021-03-26 南京南瑞继保电气有限公司 一种基于流数据的嵌入式装置数据交换方法
CN107707489A (zh) * 2017-09-27 2018-02-16 南京南瑞继保电气有限公司 一种基于流数据的嵌入式装置数据交换方法
CN110928700A (zh) * 2018-09-20 2020-03-27 北京君正集成电路股份有限公司 多进程通讯方法和装置
CN110928700B (zh) * 2018-09-20 2023-04-07 北京君正集成电路股份有限公司 多进程通讯方法和装置
CN112911407A (zh) * 2019-11-19 2021-06-04 海信视像科技股份有限公司 显示设备及广播交互透传方法
CN112995733A (zh) * 2019-12-17 2021-06-18 海信视像科技股份有限公司 一种显示设备、设备发现方法及存储介质
CN113778280A (zh) * 2021-09-13 2021-12-10 北京技德***技术有限公司 一种Linux兼容Android的显示消息通知方法及装置
CN113778280B (zh) * 2021-09-13 2023-11-14 北京技德***技术有限公司 一种Linux兼容Android的显示消息通知方法及装置
CN113806117A (zh) * 2021-11-18 2021-12-17 北京鲸鲮信息***技术有限公司 双***广播方法、装置、电子设备及计算机可读存储介质
CN113806117B (zh) * 2021-11-18 2022-10-18 抖音视界有限公司 双***广播方法、装置、电子设备及计算机可读存储介质
WO2023087772A1 (zh) * 2021-11-18 2023-05-25 北京字节跳动网络技术有限公司 双***广播方法、装置、电子设备及计算机可读存储介质
CN117093533A (zh) * 2023-08-18 2023-11-21 江苏新质信息科技有限公司 基于ubus框架实现多CPU架构的通信方法及装置
CN117093533B (zh) * 2023-08-18 2024-05-07 江苏新质信息科技有限公司 基于ubus框架实现多CPU架构的通信方法及装置

Similar Documents

Publication Publication Date Title
CN104317661A (zh) 嵌入式双***的***间通信方法及装置
CN103746959A (zh) OSGi环境下Java和C的通信机制的实现方法
CN102694866B (zh) 一种分布式网络环境中的服务请求代理***
CN102855143B (zh) 一种scada***中通用通信框架
CN101923485B (zh) Corba***中的java远程调用方法
CN106534178B (zh) RapidIO网络通用套接字的实现***及方法
CN105429858A (zh) 一种多机器人间实时消息传递方法
EP2429150A1 (en) Apparatus, web service component and method based on web service
CN102810069A (zh) 一种java对象的请求和响应方法、装置、***和终端
CN102546839B (zh) 面向大规模网络的高效、可靠的软件分发方法
CN107133109B (zh) 一种模块间通信的方法、装置及计算设备
US20180262560A1 (en) Method and system for transmitting communication data
CN101909061A (zh) 基于远程显示协议的动态虚拟通道的创建和应用方法
CN108829529A (zh) 虚拟机内存共享方法、装置、计算机设备及存储介质
CN105190530A (zh) 传输硬件渲染的图形数据
CN109995875A (zh) 虚拟化数据分发弹性网络***
MXPA05010962A (es) Metodo de administrar memorias temporales de comunicaciones que emplean una estructura de aplicaciones para una pluralidad de capas de comunicaciones y nodo que emplea el mismo.
CN103780674A (zh) 一种基于硬件模拟的虚拟机通信方法和装置
CN101631134A (zh) 用于分布式计算环境的网络消息交换服务管理器
CN102662772A (zh) 多语言开发***中实现不同语言间数据通信的方法
CN106550026B (zh) 一种网络通信装置及方法
CN101030927B (zh) 基于通信中间件的电信oss子***间的接口通信方法
CN104636206A (zh) 一种***性能的优化方法和装置
CN110442442B (zh) 核电厂dcs平台工程师站软件维护网络通讯方法
CN103281322B (zh) 一种用于卫星测试数据采集与控制的中间件***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150128