[发明专利]基于分布式文件系统的数据传递方法、系统及设备在审
| 申请号: | 202110654032.3 | 申请日: | 2021-06-11 |
| 公开(公告)号: | CN113553311A | 公开(公告)日: | 2021-10-26 |
| 发明(设计)人: | 王帅阳;李文鹏;李旭东 | 申请(专利权)人: | 济南浪潮数据技术有限公司 |
| 主分类号: | G06F16/182 | 分类号: | G06F16/182;G06F16/17;G06F16/16 |
| 代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王敏 |
| 地址: | 250000 山东省济南市中国(山东)自由贸易*** | 国省代码: | 山东;37 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 基于 分布式 文件系统 数据 传递 方法 系统 设备 | ||
本申请公开了一种基于分布式文件系统的数据传递方法,所述方法包括:首先在源数据端和目标数据端分别构建数据结构;然后在源数据端封装源数据端和目标数据端可以共同访问的数据类型;接下来基于内存映射传递方法,将封装的数据类型传递到目标数据端,进行目标数据端的数据读写。本申请方法实现思路简单方便,通过采用映射传递技术实现了JNA数据传递的零拷贝,有效减少了数据传递过程中的内存及CPU消耗,特别是对于高负载场景,可有效减少近一半的内存及CPU消耗,避免了数据传递过程中资源的严重浪费。本申请还公开了一种基于分布式文件系统的数据传递系统、设备及存储介质,具有以上有益效果。
技术领域
本发明涉及计算机技术领域,具体来说涉及一种基于分布式文件系统的数据传递方法、系统及设备。
背景技术
在大数据时代背景下,人们需要获取的数据成指数倍增长,通过增加硬盘数量来扩展计算机文件系统的存储方式已经不能满足需求。分布式文件系统将固定于某地点的某个文件系统,扩展到任意多个地点及多个文件系统,众多的节点组成一个文件系统网络,每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输,解决了本地文件系统在文件大小、文件数量及打开文件数等方面的限制问题,分布式文件系统把大量数据分散到不同的节点上存储,同时大大减小了数据丢失的风险。
在数据传递过程中,分布式文件系统对接HDFS协议访问经常涉及到java到c/c++的数据传递,而对于分布式文件系统来说,无效的内存拷贝不仅浪费CPU资源,而且占用内存带宽,使得分布式文件性能大打折扣。例如图1中所示,byte[]a数组要进行k位置的数据传递,对于java的一般做法是:首先使用arraycopy方法把key位置以后的空间进行拷贝,然后利用JNA把新申请的内存空间传递给c空间,c空间拿到内存后对内存进行读写操作。该种处理方法存在着消耗CPU和内存资源的问题,特别是对于高负载场景,容易造成CPU及内存资源的严重浪费。
发明内容
本发明提供一种基于分布式文件系统的数据传递方法、系统及设备,针对HDFS协议读写、JNA数据传递过程,采用内存映射传递技术,实现JNA数据传递的零拷贝。
为实现上述目的,本发明公开了如下技术方案:
本发明一方面提供一种基于分布式文件系统的数据传递方法,所述方法包括以下步骤:
在源数据端和目标数据端分别构建数据结构;
在源数据端封装源数据端和目标数据端可以共同访问的数据类型;
基于内存映射传递方法,将封装的数据类型传递到目标数据端,进行目标数据端的数据读写。
基于上述方案,进一步的,所述在源数据端和目标数据端所构建的数据结构,包括:
数组内存地址;
将要使用的数组内存的偏移量。
进一步的,所述封装源数据端和目标数据端可以共同访问的数据类型,包括:
将数组指针和待传递数据在数组内存中的偏移量封装到数据结构中。
进一步的,所述将封装的数据类型传递到目标数据端,进行目标数据端的数据读写,包括:
将源数据端封装的数据类型传递到目标数据端;
在目标数据端构造提取转换函数进行数据类型的地址转换映射;
在目标数据端对提取转换函数进行读写数据操作。
本发明另一方面提供一种基于分布式文件系统的数据传递系统,所述系统包括:
数据结构构建单元,用于在源数据端和目标数据端分别构建数据结构;
数据类型封装单元,用于在源数据端封装源数据端和目标数据端可以共同访问的数据类型;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于济南浪潮数据技术有限公司,未经济南浪潮数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110654032.3/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置





