【技术实现步骤摘要】
通信方法及装置
[0001]本申请涉及通信
,特别涉及一种通信方法及装置。
技术介绍
[0002]计算设备中的不同进程之间可以通过共享内存实现通信。例如,进程1需要向进程2传输数据时,进程1可将需要向进程2传输的数据写到计算设备的共享内存中,进程2在该共享内存中读取数据后,即可完成进程1与进程2之间的数据传输。
[0003]目前,计算设备通常会配置一块共享内存,以供需要通过共享内存实现通信的所有进程共同使用。
[0004]但是,当使用该共享内存的任一进程因故障退出时,共享内存会出现数据不一致的情况,导致共享内存不可用,影响所有进程的通信。
技术实现思路
[0005]本申请提供了一种通信方法及装置。本申请实现了不同通信过程之间的故障隔离,有效地减小了故障的影响范围。本申请提供的技术方案如下:
[0006]第一方面,本申请提供了一种通信方法。该方法应用于计算设备。计算设备运行有内存管理组件、第一进程和与第一进程通信的至少一个第二进程。该方法包括:内存管理组件从计算设备的内存中分配通信内存,并配置第一进程和至少一个第二进程具有通信内存的访问权限,通信内存用于存储第一进程与至少一个第二进程之间的通信数据;内存管理组件向第一进程和至少一个第二进程通知通信内存的分配结果;第一进程与至少一个第二进程通过在通信内存中读和/或写数据进行通信。
[0007]由于内存管理组件会为通信过程分配通信内存,并为通信内存配置访问权限,使得为任一通信过程分配的通信内存仅能被参与该通信过程的进程访 ...
【技术保护点】
【技术特征摘要】
1.一种通信方法,其特征在于,所述方法应用于计算设备,所述计算设备运行有内存管理组件、第一进程和与所述第一进程通信的至少一个第二进程,所述方法包括:所述内存管理组件从所述计算设备的内存中分配通信内存,并配置所述第一进程和所述至少一个第二进程具有所述通信内存的访问权限,所述通信内存用于存储所述第一进程与所述至少一个第二进程之间的通信数据;所述内存管理组件向所述第一进程和所述至少一个第二进程通知所述通信内存的分配结果;所述第一进程与所述至少一个第二进程通过在所述通信内存中读和/或写数据进行通信。2.如权利要求1所述的方法,其特征在于,在所述内存管理组件从所述计算设备的内存中分配通信内存之前,所述方法还包括:所述第一进程向所述内存管理组件发送内存申请,所述内存申请请求所述内存管理组件为所述第一进程和所述至少一个第二进程分配内存,以存储所述第一进程与所述至少一个第二进程之间的通信数据;所述内存管理组件从所述计算设备的内存中分配通信内存,包括:所述内存管理组件基于所述内存申请,从所述计算设备的内存中分配所述通信内存。3.如权利要求2所述的方法,其特征在于,所述第一进程和所述至少一个第二进程中至少一个能够同时参与多个通信过程,所述多个通信过程用于存储通信数据的内存不同,所述第一进程为所述第一进程和所述至少一个第二进程中能够同时参与通信过程最少的进程。4.如权利要求1至3任一所述的方法,其特征在于,在所述内存管理组件向所述第一进程和所述至少一个第二进程通知所述通信内存的分配结果之后,所述方法还包括:所述内存管理组件监控所述通信内存的实际使用量;所述内存管理组件当所述实际使用量满足预设条件时,调整所述通信内存的大小。5.如权利要求4所述的方法,其特征在于,所述当所述实际使用量满足预设条件时,调整所述通信内存的大小,包括以下一个或多个:当所述实际使用量在指定时长内持续小于第一阈值时,减小所述通信内存的大小;当所述实际使用量达到第二阈值时,增大所述通信内存的大小。6.如权利要求1至5任一所述的方法,其特征在于,在所述内存管理组件向所述第一进程和所述至少一个第二进程通知所述通信内存的分配结果之后,所述方法还包括:所述内存管理组件调整所述通信内存的访问权限,并向访问权限发生变化的进程通知调整结果。7.如权利要求6所述的方法,其特征在于,在所述内存管理组件调整所述通信内存的访问权限之前,所述方法还包括:所述第一进程向所述内存管理组件发送访问权限变更请求,所述访问权限变更请求用于请求调整所述通信内存的访问权限;所述内存管理组件调整所述通信内存的访问权限,包括:所述内存管理组件基于所述访问权限变更请求,调整所述通信内存的访问权限。8.如权利要求7所述的方法,其特征在于,所述第一进程向所述内存管理组件发送访问
权限变更请求,包括:当与所述第一进程进行通信的进程相对于所述至少一个第二进程发生变化时,所述第一进程向所述内存管理组件发送所述访问权限变更请求。9.如权利要求1至8任一所述的方法,其特征在于,在所述内存管理组件向所述第一进程和所述至少一个第二进程通知所述通信内存的分配结果之后,所述方法还包括:所述内存管理组件在具有所述通信内存的访问权限的任一进程发生故障后,通知具有所述通信内存的访问权限的所有进程停止使用所述通信内存。10.如权利要求1至9任一所述的方法,其特征在于,在所述内存管理组件向所述第一进程和所述至少一个第二进程通知所述通信内存的分配结果之后,所述方法还包括:所述内存管理组件在具有所述通信内存的访问权限的任一进程发生故障后,重新分配通信内存,并通知具有所述通信内存的访问权限的所有进程使用重新分配的通信内存;所述第一进程与所述至少一个第二进程基于所述通知,通过在重新分配的通信内存中读和/或写数据进行通信。11.如权利要求1至10任一所述的方法,其特征在于,在所述内存管理组件向所述第一进程和所述至少一个第二进程通知所述通信内存的分配结果之后,所述方法还包括:所述内存管理组件回收所述通信内存。12.如权利要求11所述的方法,其特征在于,在所述内存管理组件回收所述通信内存之前,所述方法还包括:所述内存管理组件接收所述第一进程...
【专利技术属性】
技术研发人员:鹿智婷,
申请(专利权)人:深圳华为云计算技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。