一种存储系统数据一致性验证方法、系统、设备以及介质技术方案

技术编号:30688998 阅读:20 留言:0更新日期:2021-11-06 09:22
本发明专利技术公开了一种存储系统数据一致性验证方法,包括以下步骤:响应于接收到获取存储位置的指令,确定存储系统的引擎的类型;响应于引擎的类型为第一类型,根据指令中携带的对象的标识获取对象对应的元数据;基于元数据获取对象对应的逻辑地址和物理地址;将逻辑地址和物理地址返回发送指令的客户端以使客户端根据逻辑地址和物理地址直接在存储设备上获取对象对应的第一数据;通过存储系统读取对象对应的第二数据并将第一数据与第二数据进行对比,以对存储系统的数据一致性进行验证。本发明专利技术还公开了一种系统、计算机设备以及可读存储介质。本发明专利技术提出的方案能够快速定界不一致数据是写入硬盘时失败还是磁盘数据正确但在系统读取过程中出现错误。系统读取过程中出现错误。系统读取过程中出现错误。

【技术实现步骤摘要】
一种存储系统数据一致性验证方法、系统、设备以及介质


[0001]本专利技术涉及存储领域,具体涉及一种存储系统数据一致性验证方法、系统、设备以及存储介质。

技术介绍

[0002]分布式存储系统会定义一种抽象的对象存储引擎称为ObjectStore,该存储引擎会针对不同类型的存储介质提供无差异、符合事务语义的本地对象存储服务,FileStore、BluesStore都是ObjectStore的一种具体实现。
[0003]在分布式存储系统开发及实际应用过程中经常有需要知道对象数据写入到磁盘上的实际位置以及获取对象在磁盘上的数据的需求,比如定位数据不一致问题时检查通过存储系统读取的对象数据与直接从磁盘上获取的对象数据是否一致以快速定界不一致数据是写入时失败还是磁盘数据正确但在系统读取过程中出现错误;查看对象数据在磁盘上的碎片化程度来对系统性能优化提供参考。
[0004]由于FileStore是通过操作系统自带的本地文件系统间接管理磁盘,所以通过FileStore写入的对象在操作系统级可以直接在写入目录下看到,能够比较方便的查看对象在磁盘上的数据。BlueStore是由自身接管裸设备从而可以绕过本地文件系统,不再需要执行对象与文件直接的转换,而是直接操作对象,这使得BlueStore的I/O路径大大缩短,I/O时延也随之得到改善,但是对获取对象在磁盘位置来查看对象在磁盘上数据产生了障碍。目前没有一种能够获取BlueStore下的对象数据在磁盘具体位置的方法。

技术实现思路

[0005]有鉴于此,为了克服上述问题的至少一个方面,本专利技术实施例提出一种存储系统数据一致性验证方法,包括以下步骤:
[0006]响应于接收到获取存储位置的指令,确定存储系统的引擎的类型;
[0007]响应于所述引擎的类型为第一类型,根据所述指令中携带的对象的标识获取所述对象对应的元数据;
[0008]基于所述元数据获取所述对象对应的逻辑地址和物理地址;
[0009]将所述逻辑地址和所述物理地址返回发送所述指令的客户端以使所述客户端根据所述逻辑地址和所述物理地址直接在存储设备上获取所述对象对应的第一数据;
[0010]通过所述存储系统读取所述对象对应的第二数据并将所述第一数据与所述第二数据进行对比,以对所述存储系统的数据一致性进行验证。
[0011]在一些实施例中,根据所述指令中携带的对象的标识获取所述对象对应的元数据,进一步包括:
[0012]在用于接收客户端的指令的线程中启动套接字线程;
[0013]利用所述套接字线程解析所述指令以得到待获取存储位置的对象的标识。
[0014]在一些实施例中,还包括:
[0015]根据所述对象对应的逻辑地址和物理地址确定所述第一数据在存储设备上的碎片化程度。
[0016]在一些实施例中,还包括:
[0017]响应于所述引擎的类型为第二类型,直接返回不支持。
[0018]在一些实施例中,还包括:
[0019]响应于所述引擎的类型为第二类型,返回所述对象在存储设备上的文件路径。
[0020]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种存储系统数据一致性验证系统,包括:
[0021]确定模块,配置为响应于接收到获取存储位置的指令,确定存储系统的引擎的类型;
[0022]第一获取模块,配置为响应于所述引擎的类型为第一类型,根据所述指令中携带的对象的标识获取所述对象对应的元数据;
[0023]第二获取模块,配置为基于所述元数据获取所述对象对应的逻辑地址和物理地址;
[0024]返回模块,配置为将所述逻辑地址和所述物理地址返回发送所述指令的客户端以使所述客户端根据所述逻辑地址和所述物理地址直接在存储设备上获取所述对象对应的第一数据;
[0025]对比模块,配置为通过所述存储系统读取所述对象对应的第二数据并将所述第一数据与所述第二数据进行对比,以对所述存储系统的数据一致性进行验证。
[0026]在一些实施例中,第一获取模块还配置为:
[0027]在用于接收客户端的指令的线程中启动套接字线程;
[0028]利用所述套接字线程解析所述指令以得到待获取存储位置的对象的标识。
[0029]在一些实施例中,确定模块还配置为:
[0030]根据所述对象对应的逻辑地址和物理地址确定所述第一数据在存储设备上的碎片化程度。
[0031]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机设备,包括:
[0032]至少一个处理器;以及
[0033]存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行以下步骤:
[0034]响应于接收到获取存储位置的指令,确定存储系统的引擎的类型;
[0035]响应于所述引擎的类型为第一类型,根据所述指令中携带的对象的标识获取所述对象对应的元数据;
[0036]基于所述元数据获取所述对象对应的逻辑地址和物理地址;
[0037]将所述逻辑地址和所述物理地址返回发送所述指令的客户端以使所述客户端根据所述逻辑地址和所述物理地址直接在存储设备上获取所述对象对应的第一数据;
[0038]通过所述存储系统读取所述对象对应的第二数据并将所述第一数据与所述第二数据进行对比,以对所述存储系统的数据一致性进行验证。
[0039]在一些实施例中,根据所述指令中携带的对象的标识获取所述对象对应的元数
据,进一步包括:
[0040]在用于接收客户端的指令的线程中启动套接字线程;
[0041]利用所述套接字线程解析所述指令以得到待获取存储位置的对象的标识。
[0042]在一些实施例中,还包括:
[0043]根据所述对象对应的逻辑地址和物理地址确定所述第一数据在存储设备上的碎片化程度。
[0044]在一些实施例中,还包括:
[0045]响应于所述引擎的类型为第二类型,直接返回不支持。
[0046]在一些实施例中,还包括:
[0047]响应于所述引擎的类型为第二类型,返回所述对象在存储设备上的文件路径。
[0048]基于同一专利技术构思,根据本专利技术的另一个方面,本专利技术的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行以下步骤:
[0049]响应于接收到获取存储位置的指令,确定存储系统的引擎的类型;
[0050]响应于所述引擎的类型为第一类型,根据所述指令中携带的对象的标识获取所述对象对应的元数据;
[0051]基于所述元数据获取所述对象对应的逻辑地址和物理地址;
[0052]将所述逻辑地址和所述物理地址返回发送所述指令的客户端以使所述客户端根据所述逻辑地址和所述物理地址直接在存储设备上获取所述对象对应的第一数据;
[0053]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储系统数据一致性验证方法,其特征在于,包括以下步骤:响应于接收到获取存储位置的指令,确定存储系统的引擎的类型;响应于所述引擎的类型为第一类型,根据所述指令中携带的对象的标识获取所述对象对应的元数据;基于所述元数据获取所述对象对应的逻辑地址和物理地址;将所述逻辑地址和所述物理地址返回发送所述指令的客户端以使所述客户端根据所述逻辑地址和所述物理地址直接在存储设备上获取所述对象对应的第一数据;通过所述存储系统读取所述对象对应的第二数据并将所述第一数据与所述第二数据进行对比,以对所述存储系统的数据一致性进行验证。2.如权利要求1所述的方法,其特征在于,根据所述指令中携带的对象的标识获取所述对象对应的元数据,进一步包括:在用于接收客户端的指令的线程中启动套接字线程;利用所述套接字线程解析所述指令以得到待获取存储位置的对象的标识。3.如权利要求1所述的方法,其特征在于,还包括:根据所述对象对应的逻辑地址和物理地址确定所述第一数据在存储设备上的碎片化程度。4.如权利要求1所述的方法,其特征在于,还包括:响应于所述引擎的类型为第二类型,直接返回不支持。5.如权利要求1所述的方法,其特征在于,还包括:响应于所述引擎的类型为第二类型,返回所述对象在存储设备上的文件路径。6.一种存储系统数据一致性验证系统,其特征在于,包括:确定模块,配置为响应于接收到获取存储位置的指令,确定存储系统的引擎的类型;...

【专利技术属性】
技术研发人员:张洪鑫孟祥瑞
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1