一种数据读取方法、装置、介质和计算设备制造方法及图纸

技术编号:27654893 阅读:15 留言:0更新日期:2021-03-12 14:16
本申请提供一种数据读取方法、装置、介质和计算设备。其中,数据读取方法包括获取目标数据的读取请求;基于目标数据的读取请求,确定分布式存储系统中参与读取处理的N个对象存储设备OSD模块;N为大于等于1的整数;向分布式存储系统中的N个OSD模块分别发送读请求,接收N个OSD模块分别反馈的数据;基于N个OSD模块分别反馈的数据,确定目标数据。

【技术实现步骤摘要】
一种数据读取方法、装置、介质和计算设备
本专利技术的实施方式涉及分布式存储领域,更具体地,本专利技术的实施方式涉及一种数据读取方法、装置、介质和计算设备。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。分布式存储系统,例如Ceph,是将数据分散存储到多台独立的计算机存储设备上的存储系统。在客户端需要从分布式存储系统读取数据时,需要由分布式存储系统中的主对象存储设备(objectstoragedevice,OSD)进行计算并分别从多个从OSD读取数据,再将数据发送给客户端。但是,这样就会存在延时较长等问题。
技术实现思路
本专利技术期望提供一种数据读取方法、装置、介质和计算设备,以至少解决上述技术问题。本申请实施例的第一个方面,提供一种数据读取方法,包括:获取目标数据的读取请求;基于所述目标数据的读取请求,确定分布式存储系统中参与读取处理的N个对象存储设备OSD模块;N为大于等于1的整数;向所述分布式存储系统中的所述N个OSD模块分别发送读请求,接收所述N个OSD模块分别反馈的数据;基于所述N个OSD模块分别反馈的数据,确定所述目标数据。在本专利技术的一个实施例中,所述基于所述目标数据的读取请求,确定分布式存储系统中参与读取处理的N个对象存储设备OSD模块,包括:基于所述目标数据的读取请求中的所述目标数据存储起始位置、以及目标数据的数据量,确定所述分布式存储系统中参与读取处理的N个OSD模块。在本专利技术的一个实施例中,所述方法还包括:基于最小读取单位以及所述目标数据的读取请求中包含的目标数据的数据量,确定所述N个OSD模块中每一个OSD模块所对应的所述待读取数据量。在本专利技术的一个实施例中,所述向所述分布式存储系统中的所述N个OSD模块分别发送读请求之前,所述方法还包括:基于所述N个OSD模块中每一个OSD模块所对应的待读取数据量以及数据位置,生成所述N个OSD模块中所述每一个OSD模块所对应的读请求。在本专利技术的一个实施例中,所述基于所述N个OSD模块分别反馈的数据,确定所述目标数据,包括:将所述N个OSD模块分别反馈的数据进行拼接,得到拼接后的数据;基于所述目标数据的读取请求中包含的目标数据的数据量,从所述拼接后的数据中截取所述目标数据。在本专利技术的一个实施例中,所述基于所述N个OSD模块分别反馈的数据,确定所述目标数据,包括:对所述N个OSD模块分别反馈的数据进行截取,将截取后的数据进行拼接得到拼接后的数据,将所述拼接后的数据作为所述目标数据本申请实施例的第二个方面,提供一种数据读取装置,包括:获取单元,用于获取目标数据的读取请求;接口调用单元,用于基于所述目标数据的读取请求,确定分布式存储系统中参与读取处理的N个对象存储设备OSD模块;N为大于等于1的整数;收发单元,用于向所述分布式存储系统中的所述N个OSD模块分别发送读请求,接收所述N个OSD模块分别反馈的数据;处理单元,用于基于所述N个OSD模块分别反馈的数据,确定所述目标数据。在本专利技术的一个实施例中,所述接口调用单元,用于基于所述目标数据的读取请求中的所述目标数据存储起始位置、以及目标数据的数据量,确定所述分布式存储系统中参与读取处理的N个OSD模块。在本专利技术的一个实施例中,所述接口调用单元,用于基于最小读取单位以及所述目标数据的读取请求中包含的目标数据的数据量,确定所述N个OSD模块中每一个OSD模块所对应的所述待读取数据量。在本专利技术的一个实施例中,所述接口调用单元,还用于向所述分布式存储系统中的所述N个OSD模块分别发送读请求之前,基于所述N个OSD模块中每一个OSD模块所对应的待读取数据量以及数据位置,生成所述N个OSD模块中所述每一个OSD模块所对应的读请求。在本专利技术的一个实施例中,所述处理单元,用于将所述N个OSD模块分别反馈的数据进行拼接,得到拼接后的数据;基于所述目标数据的读取请求中包含的目标数据的数据量,从所述拼接后的数据中截取所述目标数据。在本专利技术的一个实施例中,所述处理单元,用于对所述N个OSD模块分别反馈的数据进行截取,将截取后的数据进行拼接得到拼接后的数据,将所述拼接后的数据作为所述目标数据。本申请实施例的第三个方面,提供一种介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现本申请任意实施例提供的方法。本申请实施例的第四个方面,提供一种计算设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现本申请任意实施例提供的方法。根据本专利技术实施方式,客户端根据目标数据的读取请求就可以确定参与读取处理的N个OSD,并向N个OSD分别发送读请求,最终将N个OSD反馈的数据进行处理就可以得到最终的目标数据。如此,本实施例的方案避免了现有技术中主OSD模块的状态影响数据获取效率的问题,提升了数据读取的速度,并且由于N个OSD模块并行处理有效降低了请求响应延时。附图说明通过参考附图阅读下文的详细描述,本专利技术示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本专利技术的若干实施方式,其中:图1示意性地示出了根据本专利技术一实施方式的数据读取方法实现流程图;图2示意性地示出了现有技术的一种数据读取处理示意图;图3示意性地示出了根据本专利技术一实施方式的数据读取处理示意图;图4示意性地示出了根据本专利技术一实施方式的介质示意图;图5示意性地示出了根据本专利技术一实施方式的数据读取装置结构示意图;图6示意性地示出了根据本专利技术一实施方式的计算设备结构示意图。在附图中,相同或对应的标号表示相同或对应的部分。具体实施方式下面将参考若干示例性实施方式来描述本专利技术的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本专利技术,而并非以任何方式限制本专利技术的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。本领域技术人员知道,本专利技术的实施方式可以实现为一种系统、装置、设备、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。根据本专利技术的实施方式,提出了一种数据读取方法、装置、介质和计算设备。在本文中,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。下面参考本专利技术的若干代表性实施方式,详细阐释本专利技术的原理和精神。专利技术概述本专利技术人发现,现有方案中,客户端若要从分布式存储系统读取数据本文档来自技高网...

【技术保护点】
1.一种数据读取方法,包括:/n获取目标数据的读取请求;/n基于所述目标数据的读取请求,确定分布式存储系统中参与读取处理的N个对象存储设备OSD模块;N为大于等于1的整数;/n向所述分布式存储系统中的所述N个OSD模块分别发送读请求,接收所述N个OSD模块分别反馈的数据;/n基于所述N个OSD模块分别反馈的数据,确定所述目标数据。/n

【技术特征摘要】
1.一种数据读取方法,包括:
获取目标数据的读取请求;
基于所述目标数据的读取请求,确定分布式存储系统中参与读取处理的N个对象存储设备OSD模块;N为大于等于1的整数;
向所述分布式存储系统中的所述N个OSD模块分别发送读请求,接收所述N个OSD模块分别反馈的数据;
基于所述N个OSD模块分别反馈的数据,确定所述目标数据。


2.根据权利要求1所述的方法,其特征在于,所述基于所述目标数据的读取请求,确定分布式存储系统中参与读取处理的N个对象存储设备OSD模块,包括:
基于所述目标数据的读取请求中的所述目标数据存储起始位置、以及目标数据的数据量,确定所述分布式存储系统中参与读取处理的N个OSD模块。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
基于最小读取单位以及所述目标数据的读取请求中包含的目标数据的数据量,确定所述N个OSD模块中每一个OSD模块所对应的所述待读取数据量。


4.根据权利要求2所述的方法,其特征在于,所述向所述分布式存储系统中的所述N个OSD模块分别发送读请求之前,所述方法还包括:
基于所述N个OSD模块中每一个OSD模块所对应的待读取数据量以及数据位置,生成所述N个OSD模块中所述每一个OSD模块所对应的读请求。


5.根据权利要求1-4任一项所述的方法,其特征在于,所述基于所述N个OSD模块分别反馈的数据,确定所述目标数据,包括:
将所述N个OSD模块分别反馈的数据进行拼接,得到拼接后的数据;

【专利技术属性】
技术研发人员:俞乐勤王盼陈谔
申请(专利权)人:杭州朗和科技有限公司
类型:发明
国别省市:浙江;33

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

1