专利名称:实现移动终端上不同应用程序的进程之间通信的装置和方法
技术领域:
本发明涉及通信技术领域,尤其涉及一种实现移动终端上不同应用程序的进程之 间通信的装置和方法。
背景技术:
目前,手机等移动终端的机型和操作系统千差万别,手机等移动终端上使用的应 用程序也多种多样,不同应用程序可能使用不同的语言来开发。比如在现在的QQ游戏大厅 的应用环境中,游戏大厅应用程序采用Symbian(信比安操作系统)语言开发,而游戏大厅 中内嵌的游戏采用J2ME (Java 2Micro Edition, Java语言2微型版)语言开发。J2ME语 言一直是作为通用跨平台的解决方案,因为J2ME的跨平台移植以及对绝大多数机型的支 持而成为众多应用程序开发的选择。但手机上不同语言写的应用程序的进程之间通信一直存在诸多不方便,比如J2ME 语言开发的应用程序与Symbian语言开发的应用程序之间通信,就缺少有效的机制,它们 之间不能像PC(个人计算机,Personal Computer)上一样有共享内存、管道、文件、数据库 等进程间通讯途径。在实现本发明过程中,发明人发现现有技术中还没有实现手机等移动终端上不同 应用程序的进程之间通信的方法。
发明内容
本发明的实施例提供了一种实现移动终端上不同应用程序的进程之间通信的方 法,以实现移动终端上不同应用程序的进程之间进行通信。一种进程间通信服务器,设置于移动终端中,所述进程间通信服务器包括接口设置模块,用于设置与移动终端中的各个应用程序的进程进行连接的接口 ;进程与服务器间的协议设置模块,用于设置与移动终端中的各个应用程序的进程 之间的通信协议;数据交互处理模块,用于在通过接口与发送端和接收端的应用程序的进程进行连 接后,接收发送端的应用程序的进程通过通信协议发送的数据,将该数据通过通信协议发 送给接收端的应用程序的进程。一种移动终端中的进程间通信的方法,在移动终端中设置进程间通信服务器,所 述方法具体包括所述进程间通信服务器通过接口与发送端的应用程序的进程进行连接,接收发送 端的应用程序的进程通过通信协议发送的数据;所述进程间通信服务器通过接口与接收端的应用程序的进程进行连接,将所述数 据通过通信协议发送给接收端的应用程序的进程。由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过在移动终端
4中设置进程间通信服务器,实现了移动终端上的不同应用程序的进程之间的通信。
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本 领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他 的附图。图1为本发明实施例一提供的一种进程间通信服务器的结构示意图;图2为本发明实施例二提供的一种移动终端中的进程间通信的方法的处理流程 图。
具体实施例方式为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步 的解释说明,且各个实施例并不构成对本发明实施例的限定。实施例一该实施例在手机等移动终端上设置进程间通信服务器,利用该进程间通信服务器 来实现不同应用程序的进程之间的通信。该实施例提供的一种进程间通信服务器的结构示 意图如图1所示,包括如下模块接口设置模块11,用于设置与移动终端中的各个应用程序的进程进行连接的接 口,通过该接口各个应用程序的进程可以和进程间通信服务器连接;进程与服务器间的协议设置模块12,用于设置与移动终端中的各个应用程序的进 程之间的通信协议,通过该通信协议和各个应用程序的进程进行数据传输。给不同应用程序的进程可以设置相同或不同的通信协议,在实际应用中,可以给 所有应用程序都设置TCP (Transmission Control Protocol,传输控制协议)协议。数据交互处理模块13,用于接收发送端的应用程序的进程通过通信协议发送的数 据,将该数据通过通信协议转发给接收端的应用程序的进程。将接收端的应用程序的进程 返回的数据再转发给发送端的应用程序的进程。所述的进程间通信服务器还可以包括进程间的协议设置模块14,用于设置不同的进程之间的通信协议,该通信协议可 以封装在进程与服务器间的通信协议之中。所述的数据交互处理模块13具体可以包括接收模块131,用于在通过接口与发送端的应用程序的进程进行连接后,接收发送 端的应用程序的进程通过预先设置的通信协议发送的数据;解封装模块132,用于利用预先设置的所述发送端的应用程序的进程与进程间通 信服务器之间的通信协议,对所述接收模块接收到的数据进行解封装;封装模块133,用于利用预先设置的所述接收端的应用程序的进程与进程间通信 服务器之间的通信协议,对所述解封装模块解封装后的数据再次进行封装;发送模块134,用于在通过接口与接收端的应用程序的进程进行连接后,通过通信 协议将所述封装模块再次封装后的数据发送给所述接收端的应用程序的进程。接收端的应用程序的进程接收到上述进程间通信服务器发送过来的数据后,利用预先设置的接收端的 应用程序的进程与进程间通信服务器之间的通信协议,对接收到的数据请求进行第一次解 封装。然后,再利用预先设置的发送端的应用程序的进程和接收端的应用程序的进程之间 的通信协议,对第一次解封装后的数据请求进行第二次解封装,获取发送端的应用程序的 进程传输过来的数据。实施例二基于上述进程间通信服务器,该实施例提供的一种移动终端中的进程间通信的方 法的处理流程如图2所示,包括如下步骤步骤21、发送端的应用程序的进程A利用预先设置的通信协议,对需要传输的数 据进行两次封装。当发送端的应用程序的进程A需要和接收端的应用程序的进程B进行数据通信 时,该进程A首先利用预先设置的进程A和进程B之间的通信协议,对需要传输的数据进行 封装,构造数据请求。在实际应用中,上述进程A可以QQ的游戏大厅中内嵌的游戏的进程,上述进程B 可以为QQ的游戏大厅的进程,进程A需要向进程B上传游戏积分。然后,再利用预先设置的进程A与进程间通信服务器之间的通信协议(比如TCP 协议),对上述数据请求再次进行封装。步骤22、进程间通信服务器对接收到的数据请求进行解封装、封装操作后,将数据 请求发送给接收端的应用程序的进程B。上述进程A通过预先设置的与进程间通信服务器之间的接口,连接进程间通信服 务器。再通过通信协议将上述两次封装后的数据请求发送给进程间通信服务器。进程间通 信服务器利用预先设置的进程A与进程间通信服务器之间的通信协议,对接收到的数据请 求进行解封装。再利用预先设置的进程B与进程间通信服务器之间的通信协议(比如TCP协议) 对上述解封装后的数据请求再次进行封装,并发送给进程B。步骤23、进程B对接收到的数据请求进行两次解封装,获取进程A传输过来的数 据。上述进程B接收到上述进程间通信服务器发送过来的数据请求后,利用预先设置 的进程A与进程间通信服务器之间的通信协议,对接收到的数据请求进行第一次解封装。 然后,再利用预先设置的进程A和进程B之间的通信协议,对第一次解封装后的数据请求进 行第二次解封装,获取进程A传输过来的数据。进程B对上述进程A传输过来的数据进行相应的处理后,可以再按照上述处理过 程,通过进程间通信服务器向进程A返回相应的处理结果。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可 以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储 介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质 可为磁碟、光盘、只读存储记忆体(Read-Only Memory, ROM)或随机存储记忆体(Random AccessMemory, RAM)等。综上所述,本发明实施例实现了移动终端上的不同应用程序的进程之间的通信,可为宿主程序与插件(第三方程序)之间的通信提供了一种途径,大大降低了移动终端的 程序开发的成本,提高了移动终端的开发效率。本发明实施例还可以将不同的功能分布在不同的应用程序中实现,而不用通过动 态链接库或者静态链接库的方式调用来实现,这有利于程序的发布,只要保持通信接口协 议不变,就不必更新动态链接库或者静态链接库,保证了各应用程序之间的相对独立性和 依赖性。再者本发明实施例为插件化开发提供了很好的解决方案,比如在手机浏览器之类 的应用中,提供通信服务器与开发的插件通信,只要插件与浏览器之间有约定的协议接口, 就能实现插件与浏览器之间的无缝结合。以上所述,仅为本发明较佳的具体实施方式
,但本发明的保护范围并不局限于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换, 都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围 为准。
权利要求
1.一种进程间通信服务器,其特征在于,设置于移动终端中,所述进程间通信服务器包括接口设置模块,用于设置与移动终端中的各个应用程序的进程进行连接的接口 ; 进程与服务器间的协议设置模块,用于设置与移动终端中的各个应用程序的进程之间 的通信协议;数据交互处理模块,用于在通过接口与发送端和接收端的应用程序的进程进行连接 后,接收发送端的应用程序的进程通过通信协议发送的数据,将该数据通过通信协议发送 给接收端的应用程序的进程。
2.根据权利要求1所述的进程间通信服务器,其特征在于,所述的进程间通信服务器 还包括进程间的协议设置模块,用于设置不同的应用程序的进程之间的通信协议。
3.根据权利要求1或2所述的进程间通信服务器,其特征在于,所述的数据交互处理模 块包括接收模块,用于在通过接口与发送端的应用程序的进程进行连接后,接收发送端的应 用程序的进程通过预先设置的通信协议发送的数据;解封装模块,用于利用预先设置的所述发送端的应用程序的进程与进程间通信服务器 之间的通信协议,对所述接收模块接收到的数据进行解封装;封装模块,用于利用预先设置的所述接收端的应用程序的进程与进程间通信服务器之 间的通信协议,对所述解封装模块解封装后的数据再次进行封装;发送模块,用于在通过接口与接收端的应用程序的进程进行连接后,通过通信协议将 所述封装模块再次封装后的数据发送给所述接收端的应用程序的进程。
4.根据权利要求1所述的进程间通信服务器,其特征在于,所述的数据交互处理模块, 还用于接收接收端的应用程序的进程通过通信协议返回的数据,将该数据通过通信协议再 返回给发送端的应用程序的进程。
5.一种移动终端中的进程间通信的方法,其特征在于,在移动终端中设置进程间通信 服务器,所述方法具体包括所述进程间通信服务器通过接口与发送端的应用程序的进程进行连接,接收发送端的 应用程序的进程通过通信协议发送的数据;所述进程间通信服务器通过接口与接收端的应用程序的进程进行连接,将所述数据通 过通信协议发送给接收端的应用程序的进程。
6.根据权利要求5所述的移动终端中的进程间通信的方法,其特征在于,所述的所述 进程间通信服务器通过接口与发送端的应用程序的进程进行连接,接收发送端的应用程序 的进程通过通信协议发送的数据包括当发送端的应用程序的第一进程需要和接收端的应用程序的第二进程进行数据通信 时,所述第一进程利用预先设置的所述第一进程和第二进程之间的通信协议,对需要传输 的数据进行封装,构造数据请求;所述第一进程再利用预先设置的所述第一进程与进程间通信服务器之间的通信协议, 对所述数据请求进行封装;所述第一进程利用预先设置的所述第一进程和进程间通信服务器之间的接口连接所述进程间通信服务器,通过通信协议将所述两次封装后的数据请求发送给所述进程间通信 服务器。
7.根据权利要求5所述的移动终端中的进程间通信的方法,其特征在于,所述的所述 进程间通信服务器通过接口与接收端的应用程序的进程进行连接,将所述数据通过通信协 议发送给接收端的应用程序的进程包括所述进程间通信服务器利用所述第一进程与进程间通信服务器之间的通信协议,对接 收到的数据请求进行解封装,再利用预先设置的所述第二进程与进程间通信服务器之间的 通信协议,对所述解封装后的数据请求再次进行封装;所述进程间通信服务器利用预先设置的所述第二进程和进程间通信服务器之间的接 口连接所述第二进程,通过通信协议将所述再次封装后的数据请求发送给所述第二进程。
8.根据权利要求5所述的进程间通信服务器,其特征在于,所述的通信协议包括传输 控制协议TCP协议。
9.根据权利要求5或6或7或8所述的移动终端中的进程间通信的方法,其特征在于, 所述的方法还包括所述第二进程接收到所述进程间通信服务器发送过来的数据请求后,利用预先设置的 所述第二进程与进程间通信服务器之间的通信协议,对接收到的数据请求进行第一次解封 装;所述第二进程再利用预先设置的所述第二进程和所述第一进程之间的通信协议,对第 一次解封装后的数据请求进行第二次解封装,获取所述第一进程传输过来的数据。
10.根据权利要求5或6或7或8所述的移动终端中的进程间通信的方法,其特征在 于,所述的方法还包括所述进程间通信服务器接收接收端的应用程序的进程通过通信协议返回的数据,将该 数据通过通信协议再返回给发送端的应用程序的进程。
全文摘要
本发明实施例提供了一种实现移动终端上不同应用程序的进程之间通信的装置和方法。该方法主要包括在移动终端中设置进程间通信服务器,所述进程间通信服务器通过接口与发送端的应用程序的进程进行连接,接收发送端的应用程序的进程通过通信协议发送的数据;所述进程间通信服务器通过接口与接收端的应用程序的进程进行连接,将所述数据通过通信协议发送给接收端的应用程序的进程。利用本发明,实现了移动终端上的不同应用程序的进程之间的通信。
文档编号H04W80/00GK102137123SQ201010100988
公开日2011年7月27日 申请日期2010年1月25日 优先权日2010年1月25日
发明者张邦华 申请人:腾讯科技(北京)有限公司