[发明专利]一种访问共享内存的方法和装置有效
申请号: | 201310529433.1 | 申请日: | 2013-10-30 |
公开(公告)号: | CN103607428B | 公开(公告)日: | 2017-11-17 |
发明(设计)人: | 杨帅;袁学文 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;G06F12/02 |
代理公司: | 北京三高永信知识产权代理有限责任公司11138 | 代理人: | 黄厚刚 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 访问 共享 内存 方法 装置 | ||
技术领域
本发明涉及计算机领域,特别涉及一种访问共享内存的方法和装置。
背景技术
在服务器集群中,共享内存是指可以被服务器集群中的不同节点服务器访问的大容量内存,当节点服务器本地内存不足时,节点服务器可以访问共享内存,对共享内存进行读写操作。
现有技术中提供了一种访问共享内存的方法,可以为:在计算机集群中,选取一个代理服务器,代理服务器对集群中的共享内存进行管理。当集群中某个节点服务器的内存不足时,节点服务器发送调用请求给代理服务器,该调用请求携带节点服务器的标识;代理服务器接收节点服务器发送的调用请求,并根据该调用请求为节点服务器分配共享内存,发送分配的共享内存的标识给节点服务器。节点服务器根据共享内存的标识远程调用共享内存;并根据读写算法对该调用的共享内存进行读写操作。
在实现本发明的过程中,发明人发现现有技术至少存在以下问题:
当节点服务器本地内存不足时,需要发送请求给代理服务器,由代理服务器分配共享内存,操作复杂;并且,节点服务器远程调用共享内存的过程消耗大量系统资源,降低系统性能。
发明内容
为了解决现有技术的问题,本发明提供了一种访问共享内存的方法和装置。所述技术方案如下:
第一方面,本发明提供了一种访问共享内存的方法,所述方法包括:
获取目的节点和所述目的节点对应的共享内存的标识,所述目的节点为共享内存映射表中的一个节点的标识对应的节点,所述共享内存映射表用于存储节点的标识与共享内存的标识的对应关系;
调用远程直接内存访问RDMA的应用程序编程接口API;
通过所述API对所述目的节点上的所述共享内存的标识对应的共享内存进行读写操作。
结合第一方面,在第一方面的第一种可能的实现方式中,所述通过所述API对所述目的节点上的所述共享内存的标识对应的共享内存进行读写操作,包括:
通过所述API发送所述共享内存的标识和待写入的数据给所述目的节点,使所述目的节点根据所述共享内存的标识将所述待写入的数据写入所述共享内存的标识对应的共享内存中。
结合第一方面,在第一方面的第二种可能的实现方式中,所述通过所述API对所述目的节点上的所述共享内存的标识对应的共享内存进行读写操作,包括:
通过所述API发送所述共享内存的标识和待读出的数据的标识给所述目的节点,使所述目的节点根据所述共享内存的标识和所述待读出的数据的标识从所述共享内存的标识对应的共享内存中获取所述待读出的数据;
接收所述目的节点发送的所述待读出的数据。
结合第一方面,在第一方面的第三种可能的实现方式中,所述获取目的节点和所述目的节点对应的共享内存的标识,包括:
获取所述共享内存映射表;
从所述共享内存映射表中选择一个节点的标识作为所述目的节点的标识;
根据所述目的节点的标识获取所述目的节点;
根据所述目的节点的标识从所述共享内存映射表中获取与所述目的节点的标识对应的所述共享内存的标识。
结合第一方面,在第一方面的第四种可能的实现方式中,所述获取目的节点和所述目的节点对应的共享内存的标识之前,所述方法还包括:
将自身节点的标识和所述自身节点的标识对应的共享内存的标识的对应关系保存在所述共享内存映射表中。
结合第一方面,在第一方面的第五种可能的实现方式中,所述获取目的节点和所述目的节点对应的共享内存的标识之前,所述方法还包括:
发送注册请求给代理节点,所述注册请求携带自身节点的标识和所述自身节点的标识对应的共享内存的标识,使所述代理节点将所述自身节点的标识和所述自身节点的标识对应的共享内存的标识的对应关系保存在所述共享内存映射表中。
结合第一方面的第三种可能,在第一方面的第六种可能的实现方式中,所述获取所述共享内存映射表,包括:
从本地已存储的数据库中获取所述共享内存映射表;或者,
发送第一获取请求给代理节点,所述第一获取请求携带自身节点的标识;接收所述代理节点根据所述自身节点的标识发送的所述共享内存映射表。
结合第一方面的第六种可能,在第一方面的第七种可能的实现方式中,所述发送第一获取请求给代理节点之后,所述方法还包括:
判断在第一预设时间内是否接收到所述代理节点发送的所述共享内存映射表;
如果否,发送第二获取请求给备份代理节点,所述第二获取请求携带所述自身节点的标识,所述备份代理节点为所述代理节点的备份节点;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310529433.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种无线通信终端
- 下一篇:一种新型复合肥添加剂