数据一致性验证方法、装置、电子设备及可读存储介质制造方法及图纸

技术编号:37308455 阅读:28 留言:0更新日期:2023-04-21 22:52
本申请公开了一种数据一致性验证方法、装置、电子设备及可读存储介质,涉及数据存储技术领域,方法包括:接收主机端发送的数据写入请求;根据所述数据写入请求确定目标数据块;对所述目标数据块进行字段解析,获得各字段内容;其中,所述字段内容包括存储地址字段、版本号字段、其他字段,所述其他字段基于所述存储地址字段和所述版本号字段按照预设字段生成规则生成;判断各所述字段内容是否满足预设字段格式;若否,则输出验证失败提示。应用本申请所提供的技术方案,可以实现存储系统内实时的数据一致性验证,保证存储系统的稳定运行。保证存储系统的稳定运行。保证存储系统的稳定运行。

【技术实现步骤摘要】
数据一致性验证方法、装置、电子设备及可读存储介质


[0001]本申请涉及数据存储
,特别涉及一种数据一致性验证方法、装置、电子设备及可读存储介质。

技术介绍

[0002]SAN(Storage Area Network,一种集中式管理的高速存储网络)存储系统提供多种块存储协议服务,广泛应用于企业级数据存储,其连接拓扑包括主机、IP(Internet Protocol,网络协议)/FC(Fiber Channel,光纤通道)适配卡、IP/FC交换机、SAN存储系统,其中,SAN存储系统又包括前端IP/FC适配卡、SAN协议服务层、缓存层、存储池层、RAID(Redundant Arrays of Independent Disks,磁盘阵列)层、硬盘接口层、后端硬盘等。
[0003]SAN存储系统需要保证数据一致性,即每个扇区读出的数据是上一次写到该扇区的数据,包括不写错数据和位置、不读错、不漏写、不写乱序等。但是,由于SAN存储系统及其应用拓扑包含较多软件、硬件模块,在开发过程数据一致性的测试分析难度较大。传统技术中,如基于数据一致性字段的验证技术、vdbench和fio等主机端测试工具,均存在无法实时发现的问题,即无法实现实时的数据一致性验证,异常问题发现太晚,给存储系统的稳定运行带来了不好的影响。
[0004]因此,如何实现存储系统内实时的数据一致性验证,保证存储系统的稳定运行是本领域技术人员亟待解决的问题。

技术实现思路

[0005]本申请的目的是提供一种数据一致性验证方法,用于解决传统技术中基于测试工具无法实现实时的数据一致性验证的问题;本申请的另一目的是提供另一种数据一致性验证方法、数据一致性验证装置、电子设备及计算机可读存储介质,均具有上述有益效果。
[0006]第一方面,本申请提供了一种数据一致性验证方法,应用于存储端,所述方法包括:接收主机端发送的数据写入请求;根据所述数据写入请求确定目标数据块;对所述目标数据块进行字段解析,获得各字段内容;其中,所述字段内容包括存储地址字段、版本号字段、其他字段,所述其他字段基于所述存储地址字段和所述版本号字段按照预设字段生成规则生成;判断各所述字段内容是否满足预设字段格式;若否,则输出验证失败提示。
[0007]可选地,所述判断各所述字段内容是否满足预设字段格式,包括:根据所述数据写入请求确定命令描述块;对所述命令描述块进行解析,获得存储指示信息;根据所述存储指示信息获取所述目标数据块对应的历史数据块,并获取所述历史
数据块的版本号信息;根据所述存储指示信息按照所述预设字段生成规则生成验证信息;当所述存储地址字段与所述存储指示信息相匹配,且所述版本号字段与所述版本号信息相匹配,且所述其他字段与所述验证信息相匹配时,确定各所述字段内容满足所述预设字段格式。
[0008]可选地,所述根据所述存储指示信息获取所述目标数据块对应的历史数据块,包括:根据所述存储指示信息判断缓存中是否存在所述历史数据块;若是,则从所述缓存中读取所述历史数据块;若否,则根据所述存储指示信息确定底层存储位置,并从所述底层存储位置读取所述历史数据块。
[0009]可选地,所述预设字段生成规则包括哈希运算规则和数值递增规则,基于所述存储地址字段和所述版本号字段按照所述预设字段生成规则生成所述其他字段,包括:按照所述哈希运算规则对所述存储地址字段和所述版本号字段进行计算获得哈希值,并将所述哈希值作为所述其他字段的第一个字节;基于所述哈希值,按照所述数值递增规则对所述其他字段中除所述第一个字节之外的其他字节进行填充。
[0010]可选地,当各所述字段内容满足所述预设字段格式时,所述方法还包括:当数据写入模式为缓存下刷模式时,将所述目标数据块写入缓存,并在所述缓存的数据块存储量达到预设阈值时,将所述目标数据块从所述缓存下刷至底层存储;当所述数据写入模式为直写模式时,将所述目标数据块写入所述底层存储。
[0011]可选地,所述将所述目标数据块从所述缓存下刷至底层存储,包括:按照预设更新规则对所述目标数据块进行格式更新,获得新的目标数据块;从所述底层存储读取所述新的目标数据块对应的旧数据块;利用所述旧数据块对所述新的目标数据块进行验证;当验证通过时,将所述新的目标数据块从所述缓存下刷至所述底层存储。
[0012]可选地,所述按照预设更新规则对所述目标数据块进行格式更新,获得新的目标数据块,包括:对所述目标数据块重新进行字段划分,获得各新字段;根据所述目标数据块中的各所述字段内容确定所述目标数据块在所述底层存储的存储信息;根据各所述字段内容和所述存储信息对各所述新字段进行字段填充,获得所述新的目标数据块。
[0013]可选地,所述方法还包括:当所述旧数据块对所述新的目标数据块的验证未通过时,根据所述旧数据块和所述新的目标数据块生成异常日志。
[0014]可选地,所述方法还包括:当接收到所述主机端发送的数据读取请求时,根据所述数据读取请求确定目标读数据块;
判断缓存中是否存在所述目标读数据块;若是,则从所述缓存中获取所述目标读数据块,并将所述目标读数据块反馈至所述主机端;若否,则从底层存储中获取所述目标读数据块,并将所述目标读数据块反馈至所述主机端。
[0015]第二方面,本申请提供了另一种数据一致性验证方法,应用于主机端,所述方法包括:下发数据读取请求至存储端;接收所述存储端反馈的目标读数据块;对所述目标读数据块进行字段解析,获得各字段内容;判断各所述字段内容是否满足所述目标读数据块的生成规则;若否,则输出验证失败提示。
[0016]可选地,所述方法还包括:根据硬盘扇区大小生成目标数据块;将所述目标数据块添加至数据写入请求,并将所述数据写入请求下发至所述存储端,以使所述存储端根据所述目标数据块进行数据一致性校验。
[0017]第三方面,本申请还公开了一种数据一致性验证装置,应用于存储端,所述装置包括:接收模块,用于接收主机端发送的数据写入请求;确定模块,用于根据所述数据写入请求确定目标数据块;第一解析模块,用于对所述目标数据块进行字段解析,获得各字段内容;其中,所述字段内容包括存储地址字段、版本号字段、其他字段,所述其他字段基于所述存储地址字段和所述版本号字段按照预设字段生成规则生成;第一判断模块,用于判断各所述字段内容是否满足预设字段格式;第一输出模块,用于若各所述字段内容满足所述预设字段格式,则输出验证失败提示。
[0018]第四方面,本申请还公开了另一种数据一致性验证装置,应用于主机端,所述装置包括:下发模块,用于下发数据读取请求至存储端;反馈模块,用于接收所述存储端反馈的目标读数据块;第二解析模块,用于对所述目标读数据块进行字段解析,获得各字段内容;第二判断模块,用于判断各所述字段内容是否满足所述目标读数据块的生成规则;第二输出模块,用于若各所述字段内容满足所述目标读数据块的生成规则,则输出验证失败提示。
[0019]第五方面,本申请还公开了一种电子设备,包括:存储器,用本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据一致性验证方法,其特征在于,应用于存储端,所述方法包括:接收主机端发送的数据写入请求;根据所述数据写入请求确定目标数据块;对所述目标数据块进行字段解析,获得各字段内容;其中,所述字段内容包括存储地址字段、版本号字段、其他字段,所述其他字段基于所述存储地址字段和所述版本号字段按照预设字段生成规则生成;判断各所述字段内容是否满足预设字段格式;若否,则输出验证失败提示。2.根据权利要求1所述的方法,其特征在于,所述判断各所述字段内容是否满足预设字段格式,包括:根据所述数据写入请求确定命令描述块;对所述命令描述块进行解析,获得存储指示信息;根据所述存储指示信息获取所述目标数据块对应的历史数据块,并获取所述历史数据块的版本号信息;根据所述存储指示信息按照所述预设字段生成规则生成验证信息;当所述存储地址字段与所述存储指示信息相匹配,且所述版本号字段与所述版本号信息相匹配,且所述其他字段与所述验证信息相匹配时,确定各所述字段内容满足所述预设字段格式。3.根据权利要求2所述的方法,其特征在于,所述根据所述存储指示信息获取所述目标数据块对应的历史数据块,包括:根据所述存储指示信息判断缓存中是否存在所述历史数据块;若是,则从所述缓存中读取所述历史数据块;若否,则根据所述存储指示信息确定底层存储位置,并从所述底层存储位置读取所述历史数据块。4.根据权利要求2所述的方法,其特征在于,所述预设字段生成规则包括哈希运算规则和数值递增规则,基于所述存储地址字段和所述版本号字段按照所述预设字段生成规则生成所述其他字段,包括:按照所述哈希运算规则对所述存储地址字段和所述版本号字段进行计算获得哈希值,并将所述哈希值作为所述其他字段的第一个字节;基于所述哈希值,按照所述数值递增规则对所述其他字段中除所述第一个字节之外的其他字节进行填充。5.根据权利要求1所述的方法,其特征在于,当各所述字段内容满足所述预设字段格式时,所述方法还包括:当数据写入模式为缓存下刷模式时,将所述目标数据块写入缓存,并在所述缓存的数据块存储量达到预设阈值时,将所述目标数据块从所述缓存下刷至底层存储;当所述数据写入模式为直写模式时,将所述目标数据块写入所述底层存储。6.根据权利要求5所述的方法,其特征在于,所述将所述目标数据块从所述缓存下刷至底层存储,包括:按照预设更新规则对所述目标数据块进行格式更新,获得新的目标数据块;
从所述底层存储读取所述新的目标数据块对应的旧数据块;利用所述旧数据块对所述新的目标数据块进行验证;当验证通过时,将所述新的目标数据块从所述缓存下刷至所述底层存储。7.根据权利要求6所述的方法,其特征在于,所述按照预设更新规则对所述目标数据块进行格式更新,获得新的目标数据块,包括:对所述目标数据块重新进行字段划分,获得各新字段;根据所述目...

【专利技术属性】
技术研发人员:施培任仇锋利苑忠科周方方
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

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

1