进程间通信方法及装置制造方法及图纸

技术编号:12883012 阅读:62 留言:0更新日期:2016-02-17 15:28
本发明专利技术公开了一种进程间通信方法及装置,属于操作系统领域。所述方法包括:接收方进程创建回调接口;接收方进程向所述发送方进程发送数据获取请求;接收方进程向所述发送方进程提供所述回调接口;接收方进程接收所述发送方进程对所述回调接口提供的传输方法的n次回调。本发明专利技术达到了由接收方进程向发送方进程提供支持多次回调的回调接口,发送方进程通过该回调接口实现了一次进程间通信过程中将大数据分批进行传输的效果,即不需要多次重建进程间通信,也不会因单次传输的数据量太大而导致传输异常。

【技术实现步骤摘要】

本专利技术涉及操作系统领域,特别涉及一种进程间通信方法及装置
技术介绍
在操作系统中,每一个应用程序都运行在独立的进程中,不同的进程之间相互独立,从而保证了当其中一个应用程序出现异常时不会影响另一个应用程序的正常运转。但是当两个进程之间需要合作时,就需要使用进程间通信。安卓(英文:Android)系统中基于Binder机制来实现两个进程之间的通信。以两个进程之间传递数据为例,参考图1,接收方进程12和发送方进程14均运行在用户空间,而Binder驱动16运行在内核空间。接收方进程12和发送方进程14两者要实现通信需要遵循相同的协议,该协议在代码上的体现即为两者之间需要实现在Binder驱动16中的接口。在需要进程间通信时,接收方进程12创建一次性的IDemo接口,将该IDemo接口在Binder驱动16中封装为接口对象18,发送方进程14可以调用该接口对象18向接收方进程12传输数据。在实现本专利技术的过程中,专利技术人发现现有技术至少存在以下问题:由于一次性的IDemo接口单次能够传输的数据不能超过预定阈值,所以两个进程之间在一次进程间通信过程中只能传输很小的数据。
技术实现思路
为了解决现有技术的问题,本专利技术实施例提供了一种进程间通信方法及装置。所述技术方案如下:根据本专利技术实施例的第一方面,提供一种进程间通信方法,用于接收方进程,所述方法包括:创建回调接口,所述回调接口用于实现数据传输且支持发送方进程的多次回调;向所述发送方进程发送数据获取请求;向所述发送方进程提供所述回调接口 ;接收所述发送方进程对所述回调接口提供的传输方法的η次回调,每次回调用于传输η个数据块中的一块,所述η个数据块是所述发送方进程根据所述数据获取请求将目标数据切割得到的,η >2。根据本专利技术实施例的第二方面,提供一种进程间通信方法,用于发送方进程,所述方法包括:接收接收方进程发送的数据获取请求;获取所述接收方进程提供的回调接口,所述回调接口是所述接收方进程创建的用于实现数据传输且支持多次回调的接口;根据所述数据获取请求将目标数据切割为η个数据块,η^2;对所述回调接口提供的传输方法进行η次回调,每次回调用于传输所述η个数据块中的一个。根据本专利技术实施例的第三方面,提供一种进程间通信装置,用于接受方进程,所述装置包括:回调接口创建模块,用于创建回调接口,所述回调接口用于实现数据传输且支持发送方进程的多次回调;请求发送模块,用于向所述发送方进程发送数据获取请求;回调接口发送模块,用于向所述发送方进程提供所述回调接口 ;数据接收模块,用于接收所述发送方进程对所述回调接口提供的传输方法的η次回调,每次回调用于传输η个数据块中的一块,所述η个数据块是所述发送方进程根据所述数据获取请求将目标数据切割得到的,η > 2。根据本专利技术实施例的第四方面,提供一种进程间通信装置,用于发送方进程,所述装置包括:请求接收模块,用于接收接收方进程发送的数据获取请求;回调接口获取模块,用于获取所述接收方进程提供的回调接口,所述回调接口是所述接收方进程创建的用于实现数据传输且支持多次回调的接口;数据切割模块,用于根据所述数据获取请求将目标数据切割为η个数据块,η彡2 ;数据回调模块,用于对所述回调接口提供的传输方法进行η次回调,每次回调用于传输所述η个数据块中的一个。本专利技术实施例提供的技术方案带来的有益效果是:通过接收方进程创建回调接口 ;接收方进程向发送方进程发送数据获取请求;接收方进程向发送方进程提供回调接口 ;接收方进程接收发送方进程对回调接口提供的传输方法的η次回调,每次回调用于传输目标数据中η个数据块中的一个;解决了由于一次性的IDemo接口单次能够传输的数据不能超过预定阈值,所以两个进程之间在一次进程间通信过程中只能传输很小的数据的问题,达到了由接收方进程向发送方进程提供支持多次回调的回调接口,发送方进程通过该回调接口实现了一次进程间通信过程中将大数据分批进行传输的效果,即不需要多次重建进程间通信,也不会因单次传输的数据量太大而导致传输异常。【附图说明】为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是现有技术实现进程间通信的方法流程图;图2是本专利技术一个实施例提供的进程间通信方法的方法流程图;图3是本专利技术另一实施例提供的进程间通信方法的方法流程图;图4是本专利技术再一实施例提供的进程间通信方法的方法流程图;图5是本专利技术一个实施例提供的进程间通信装置的结构方框图;图6是本专利技术另一实施例提供的进程间通信装置的结构方框图;图7是本专利技术再一实施例提供的进程间通信装置的结构方框图;图8是本专利技术又一实施例提供的进程间通信装置的结构方框图;图9是本专利技术一个实施例提供的电子设备的结构方框图。【具体实施方式】为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。请参考图2,其示出了本专利技术一个实施例提供的进程间通信方法的方法流程图。本实施例以该进程间通信方法用于接收方进程来举例说明,该方法包括:步骤202,创建回调接口,该回调接口用于实现数据传输且支持发送方进程的多次回调;步骤204,向发送方进程发送数据获取请求;步骤206,向发送方进程提供回调接口 ;步骤208,接收发送方进程对回调接口提供的传输方法的η次回调,每次回调用于传输η个数据块中的一块,该η个数据块是发送方进程根据数据获取请求将目标数据切割得到的,η彡2。综上所述,本实施例提供的进程间通信方法,通过接收方进程向发送方进程提供回调接口 ;接收方进程接收发送方进程对回调接口提供的传输方法的η次回调,每次回调用于传输目标数据中η个数据块中的一个;解决了由于一次性的IDemo接口单次能够传输的数据不能超过预定阈值,所以两个进程之间在一次进程间通信过程中只能传输很小的数据的问题,达到了由接收方进程向发送方进程提供支持多次回调的回调接口,发送方进程通过该回调接口实现了一次进程间通信过程中将大数据分批进行传输的效果,即不需要多次重建进程间通信,也不会因单次传输的数据量太大而导致传输异常。请参考图3,其示出了本专利技术另一实施例提供的进程间通信方法的方法流程图。本实施例以该进程间通信方法用于发送方进程来举例说明,该方法包括:步骤302,接收接收方进程发送的数据获取请求;步骤304,获取接收方进程提供的回调接口,该回调接口是接收方进程创建的用于实现数据传输且支持多次回调的接口;步骤306,根据数据获取请求将目标数据切割为η个数据块,η^2;步骤308,对回调接口提供的传输方法进行η次回调,每次回调用于传输η个数据块中的一个。综上所述,本实施例提供的进程间通信方法,通过发送方进程接收接收方进程发送的数据获取请求;发送方进程获取接收方进程提供的回调接口 ;发送方进程根据数据获取请求将目标数据切割为η个数据块,η ^ 2 ;发送方进程对回调接口提供的传输方法进行η次回调,每次回调用于传输η个数据块中的一个;解决了由于一次性的IDemo接口单次能够传输的数据不能超过预定阈值,所以两个进本文档来自技高网...

【技术保护点】
一种进程间通信方法,其特征在于,所述方法包括:创建回调接口,所述回调接口用于实现数据传输且支持发送方进程的多次回调;向所述发送方进程发送数据获取请求;向所述发送方进程提供所述回调接口;接收所述发送方进程对所述回调接口提供的传输方法的n次回调,每次回调用于传输n个数据块中的一块,所述n个数据块是所述发送方进程根据所述数据获取请求将目标数据切割得到的,n≥2。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄伟聪
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

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

1