【技术实现步骤摘要】
远程通信方法、装置和计算机可读存储介质
[0001]本公开涉及云计算
,特别涉及一种远程通信方法
、
装置和计算机可读存储介质
。
技术介绍
[0002]当前,分布式应用程序对其底层系统的需求日益增长推动下,支持
RDMA(Remote Direct Memory Access
,远程直接数据存取
)
的硬件正在越来越多地被云计算相关领域采用
。
目前许多基于
Java
平台的大数据框架组件,在集群之间的数据交换仍然使用普通的套接字方式
。
[0003]目前,通过
RDMA
加速
Java
领域的应用程序已有部分实现,一方面提升了性能,另一方面,这些加速方法往往都是高度定制,适合本身预期用途
。
[0004]在相关技术中,如图8所示,左侧方式是通过
verbs API(Application Programming Interface
,应用程序编程接口
)
和
endpoint(
端点
)API
两种
API
,分别实现分发消息和简化抽象
jVerbs
接口
。
如图8所示,右侧方式是使用传统
Java
套接字通信,通过快速数据路径发送数据,和慢速控制路径建立连接
。
[0005]在相关技术中,应用程序的网络通信的可靠 ...
【技术保护点】
【技术特征摘要】
1.
一种远程通信方法,包括:确定远程操作请求;和响应于所述远程操作请求,通过本地原语中的类方法和多路复用机制,利用包装类,对远程内存中的字节值执行原子操作;其中,所述包装类是通过提取器将不同类别的函数捆绑在一起而生成的
。2.
根据权利要求1所述的远程通信方法,其中,所述多路复用机制包括:利用轮询的方式,查询所述不同类别的函数中的每个线程的文件描述符;根据所述文件描述符获得当前需要执行的线程;将所述当前需要执行的线程与
Java
应用的应用程序编程接口绑定;和通过所述应用程序编程接口执行当前需要执行的线程,其中,所述当前需要执行的线程为执行所述原子操作过程中的线程
。3.
根据权利要求1或2所述的远程通信方法,还包括:通过远程直接数据存取的方式,从远程内存接收为所述远程操作请求返回的操作地址;和基于所述操作地址,利用忙轮询方式查询
Java
应用的当前操作状态
。4.
根据权利要求1所述的远程通信方法,其中,所述包装类包括:基于
C
语言库中的函数生成绑定的
Java
语言的函数
。5.
根据权利要求1所述的远程通信方法,还包括:发出第一数据读取请求;和接收来自于远程内存中的临时缓冲区的数据,其中,所述临时缓冲区为在所述远程内存中被分配的临时内存空间,所述临时缓冲区的数据是原缓冲区的数据被复制到所述临时缓冲区后的数据,所述临时缓冲区的数据是由统一通信
UCX
接口响应于所述第一数据读取请求通过数据异步传输的方式发送到
Java
应用的
。6.
根据权利要求5所述的远程通信方法,其中,所述临时缓冲区被切分成多个切片,每个切片包括被写入的数据
。7.
根据权利要求6所述的远程通信方法,还包括:发出数据写入请求,所述数据写入请求包括需要写入远程内存的数据,其中,所述需要写入远程内存...
【专利技术属性】
技术研发人员:王磊,高达,
申请(专利权)人:中国电信股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。