数据接收的方法及装置制造方法及图纸

技术编号:15791769 阅读:224 留言:0更新日期:2017-07-09 22:01
本发明专利技术提供一种数据接收的方法及装置;一种数据接收的方法,包括:第一应用进程确定需要接收来自第二应用进程的数据;其中,所述第一应用进程运行在第一设备,所述第二应用进程运行在第二设备;所述第一应用进程向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述内核为所述第一设备的操作系统的内核;所述第一应用进程接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;所述第一应用进程对接收到的所述第一数据进行处理。本发明专利技术减小了内核的负载。

【技术实现步骤摘要】
数据接收的方法及装置
本专利技术涉及信息技术,尤其涉及一种数据接收的方法及装置。
技术介绍
远程过程调用(RPC,RemoteProcedureCall)可以实现部署在一台设备上的应用进程调用部署在另一台设备上的应用进程。现有技术中,两个应用进程之间进行通信时,相互之间需要发送数据;例如,第二应用进程向第二应用进程发送数据。第一应用进程在获知第二应用向其发送数据后,每隔一段时间会向内核确认数据是否接收完毕;内核将确认结果返回给第一应用进程。因此,现有技术中,存在内核的负载较重的问题。
技术实现思路
本专利技术提供一种数据接收的方法及装置,用以解决现有技术中内核的负载较重的问题。本专利技术提供一种数据接收的方法,包括:第一应用进程确定需要接收来自第二应用进程的数据;其中,所述第一应用进程运行在第一设备,所述第二应用进程运行在第二设备;所述第一应用进程向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述内核为所述第一设备的操作系统的内核;所述第一应用进程接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;所述第一应用进程对接收到的所述第一数据进行处理。可选的,在本专利技术一实施例中,所述第二消息具体用于指示来自所述第二应用进程的第一数据已拷贝至内核。可选的,在本专利技术一实施例中,所述第一应用进程对接收到的所述第一数据进行处理之前,还包括:所述第一应用进程向所述内核发送第三消息,所述第三消息用于通知所述内核将所述第一数据拷贝至用户空间;所述第一应用进程接收所述内核发送的第四消息,所述第四消息用于指示来自所述第二应用进程的第一数据已拷贝至所述用户空间。可选的,在本专利技术一实施例中,所述第二消息具体用于指示来自所述第二应用进程的第一数据已拷贝至用户空间。可选的,在本专利技术一实施例中,所述第一数据为所述第二应用进程对第二数据进行Thrift序列化后获得的数据;相应的,所述第一应用进程对接收到的所述第一数据进行处理,包括:所述第一应用进程对接收到的所述第一数据进行Thrift反序列化,获得所述第二数据。本专利技术还提供一种数据接收的装置,包括:第一应用进程确定模块,用于确定需要接收来自第二应用进程的数据;其中,所述第一应用进程运行在第一设备,所述第二应用进程运行在第二设备;第一应用进程发送模块,用于向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述内核为所述第一设备的操作系统的内核;第一应用进程接收模块,用于接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;第一应用进程处理模块,用于对接收到的所述第一数据进行处理。可选的,在本专利技术一实施例中,所述第二消息具体用于指示来自所述第二应用进程的第一数据已拷贝至内核。可选的,在本专利技术一实施例中,所述应用进程发送模块,还用于向所述内核发送第三消息,所述第三消息用于通知所述内核将所述第一数据拷贝至用户空间;所述应用进程接收模块,还用于接收所述内核发送的第四消息,所述第四消息用于指示来自所述第二应用进程的第一数据已拷贝至所述用户空间。可选的,在本专利技术一实施例中,所述第二消息具体用于指示来自所述第二应用进程的第一数据已拷贝至用户空间。可选的,在本专利技术一实施例中,所述第一数据为所述第二应用进程对第二数据进行Thrift序列化后获得的数据;相应的,所述第一应用进程处理模块,具体用于:对接收到的所述第一数据进行Thrift反序列化,获得所述第二数据。本专利技术提供的数据接收的方法及装置,通过第一应用进程在确定需要接收来自第二应用进程的数据时,向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述第一应用进程接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;实现了第一应用进程在获知第二应用向其发送数据后,通过接收内核发送的用于指示来自第二应用进程的第一数据已接收完成的第二消息确认来自第二应用进程的数据已接收完毕;第一应用进程不再需要每隔一段时间向内核确认数据是否接收完毕;因此,内核不再需要处理来自第一应用进程的确认数据是否接收完毕的相关消息,减小了内核的负载。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术数据接收的方法的应用场景示意图;图2为本专利技术数据接收的方法实施例一的流程图;图3为本专利技术数据接收的方法实施例二的流程图;图4为本专利技术数据接收的方法实施例三的流程图;图5为本专利技术数据接收的装置实施例一的结构示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。图1为本专利技术数据接收的方法的应用场景示意图;如图1所示,本专利技术的应用场景可以包括:第一设备和第二设备;第一应用进程运行在第一设备,第二应用进程运行在第二设备;第一应用进程可以调用第二应用进程。当第一应用进程调用第二应用进程时,第一应用进程与第二应用进程之间需要进行通信。其中,第一设备与第二设备之间可以通过通信网络进行通信。其中,该通信网络中所使用的协议可以使用用可扩展标记语言XML(ExteileMarkuLaguage)描述的协议,或使用轻量级的数据交换格式JSON(JavaScriptObjectNotation)描述的协议等。需要说明的是,以下主要描述了第一应用进程如何接收第二应用进程发送数据的过程;第二应用进程接收第一应用进程发送数据的过程,与第一应用进程接收第二应用进程发送数据的过程类似。图2为本专利技术数据接收的方法实施例一的流程图;如图2所示,本实施例的方法可以包括:步骤201、第一应用进程确定需要接收来自第二应用进程的数据;其中,所述第一应用进程运行在第一设备,所述第二应用进程运行在第二设备;步骤202、所述第一应用进程向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述内核为所述第一设备的操作系统的内核;步骤203、所述第一应用进程接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;步骤204、所述第一应用进程对接收到的所述第一数据进行处理。本实施例中,通过第一应用进程在确定需要接收来自第二应用进程的数据时,向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述第一应用进程接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;实现了第一应用进程在获知第二应用向其发送数据后,通过接收内核发送的用于指示来自第二应用进程的第一数据已接收完成的第二消息确认来自第二应用进程的数据已接收完毕;第一应用进程不再需要每隔一段时间向内本文档来自技高网...
数据接收的方法及装置

【技术保护点】
一种数据接收的方法,其特征在于,包括:第一应用进程确定需要接收来自第二应用进程的数据;其中,所述第一应用进程运行在第一设备,所述第二应用进程运行在第二设备;所述第一应用进程向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述内核为所述第一设备的操作系统的内核;所述第一应用进程接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;所述第一应用进程对接收到的所述第一数据进行处理。

【技术特征摘要】
1.一种数据接收的方法,其特征在于,包括:第一应用进程确定需要接收来自第二应用进程的数据;其中,所述第一应用进程运行在第一设备,所述第二应用进程运行在第二设备;所述第一应用进程向内核发送第一消息,所述第一消息用于通知内核接收来自第二应用进程的数据;所述内核为所述第一设备的操作系统的内核;所述第一应用进程接收所述内核发送的第二消息,所述第二消息用于指示来自所述第二应用进程的第一数据已接收完成;所述第一应用进程对接收到的所述第一数据进行处理。2.根据权利要求1所述的方法,其特征在于,所述第二消息具体用于指示来自所述第二应用进程的第一数据已拷贝至内核。3.根据权利要求2所述的方法,其特征在于,所述第一应用进程对接收到的所述第一数据进行处理之前,还包括:所述第一应用进程向所述内核发送第三消息,所述第三消息用于通知所述内核将所述第一数据拷贝至用户空间;所述第一应用进程接收所述内核发送的第四消息,所述第四消息用于指示来自所述第二应用进程的第一数据已拷贝至所述用户空间。4.根据权利要求1所述的方法,其特征在于,所述第二消息具体用于指示来自所述第二应用进程的第一数据已拷贝至用户空间。5.根据权利要求1-4任一项所述的方法,其特征在于,所述第一数据为所述第二应用进程对第二数据进行Thrift序列化后获得的数据;相应的,所述第一应用进程对接收到的所述第一数据进行处理,包括:所述第一应用进程对接收到的所述第一数据进行Thrift反序列化,获得所述第...

【专利技术属性】
技术研发人员:肖育前闫海
申请(专利权)人:北京城市网邻信息技术有限公司
类型:发明
国别省市:北京,11

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

1