CN110059068A - 一种分布式存储系统中的数据校验方法及数据校验系统 - Google Patents

一种分布式存储系统中的数据校验方法及数据校验系统 Download PDF

Info

Publication number
CN110059068A
CN110059068A CN201910288691.2A CN201910288691A CN110059068A CN 110059068 A CN110059068 A CN 110059068A CN 201910288691 A CN201910288691 A CN 201910288691A CN 110059068 A CN110059068 A CN 110059068A
Authority
CN
China
Prior art keywords
group
verification
target
configuration information
existing object
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201910288691.2A
Other languages
English (en)
Other versions
CN110059068B (zh
Inventor
黄侨星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Wangsu Co Ltd
Original Assignee
Xiamen Wangsu Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xiamen Wangsu Co Ltd filed Critical Xiamen Wangsu Co Ltd
Priority to CN201910288691.2A priority Critical patent/CN110059068B/zh
Publication of CN110059068A publication Critical patent/CN110059068A/zh
Application granted granted Critical
Publication of CN110059068B publication Critical patent/CN110059068B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems

Abstract

本发明公开了一种分布式存储系统中的数据校验方法及数据校验系统,其中,所述方法包括:根据校验配置信息,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组;若所述目标置放群组属于待校验的置放群组,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件;若所述当前对象属于所述校验配置信息限定的文件,对所述当前对象进行数据校验;若所述当前对象不属于所述校验配置信息限定的文件,放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。本申请提供的技术方案,使得ceph系统在执行一致性校验时,减少对用户的正常使用造成的影响。

Description

一种分布式存储系统中的数据校验方法及数据校验系统
技术领域
本发明涉及互联网技术领域,特别涉及一种分布式存储系统中的数据校验方法及数据校验系统。
背景技术
随着互联网中数据的爆炸式增长,数据持久化存储系统的重要性也日益凸显。传统的单台存储服务器的存储容量有限,因此,目前可以通过将多台存储服务器组合为分布式存储系统,来对数据进行持久化存储。
Ceph系统由于具备优秀的存储性、可靠性以及可扩展性,正在被越来越多的用户使用。Ceph系统中存在多个存储池(pools),每个存储池可以具备自身独立的置放群组(Placement Group,PG),而PG可以根据ceph系统的随机算法分散到不同的对象存储设备(Object Storage Device,OSD)中。
Ceph系统在存储文件(file)时,通常会将文件划分为多个对象(object),然后这些对象可以被存储至对应的PG中。为了避免存储的数据在ceph系统中传输时发生错误,往往需要对ceph系统中存储的数据进行一致性校验。目前,在进行一致性校验时,需要对待校验的PG加锁,在校验完毕后,再解除锁定,从而使得PG能够正常被访问。
由于目前ceph系统的限制,在执行一致性校验时,通常需要所有的PG进行校验。这会导致ceph系统中的部分数据在某段时间内处于不可访问的状态,或者处于高负荷运转状态,这样会影响用户正常使用ceph系统。
发明内容
本申请的目的在于提供一种分布式存储系统中的数据校验方法及数据校验系统,使得ceph系统在执行一致性校验时,减少对用户的正常使用造成的影响。
为实现上述目的,本申请一方面提供一种分布式存储系统中的数据校验方法,所述分布式存储系统中预先创建校验配置信息,所述校验配置信息用于限定所述分布式存储系统中待校验的存储池、置放群组和文件;所述方法包括:根据所述校验配置信息,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组;若所述目标置放群组属于待校验的置放群组,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件;若所述当前对象属于所述校验配置信息限定的文件,对所述当前对象进行数据校验;若所述当前对象不属于所述校验配置信息限定的文件,放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。
为实现上述目的,本申请另一方面还提供一种分布式存储系统中的数据校验系统,所述分布式存储系统中预先创建校验配置信息,所述校验配置信息用于限定所述分布式存储系统中待校验的存储池、置放群组和文件;所述数据校验系统包括:置放群组判断单元,用于根据所述校验配置信息,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组;对象判断单元,用于若所述目标置放群组属于待校验的置放群组,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件;数据校验执行单元,用于若所述当前对象属于所述校验配置信息限定的文件,对所述当前对象进行数据校验;若所述当前对象不属于所述校验配置信息限定的文件,放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。
由上可见,本申请提供的技术方案,可以预先在分布式存储系统中创建校验配置信息,该校验配置信息可以用于限定部分待校验的存储池、置放群组和文件。这样,当分布式存储系统运行时,可以解析该校验配置信息,并可以依次判定当前的目标置放群组以及该目标置放群组内的当前对象是否处于所述校验配置信息限定的范围内。如果不处于,则放弃对当前对象进行一致性校验,如果处于,则可以对当前对象进行一致性校验。这样,通过校验配置信息限定一致性校验的范围,可以在校验过程中,仅对其中的一部分PG加锁,其它的PG依然处于能够被访问的状态。同时,本申请可以减少加锁的PG中需要校验的对象数量,从而可以减少PG的加锁时间。这样,通过本申请提供的技术方案,能够使得分布式存储系统在执行一致性校验时,减少对用户的正常使用造成的影响。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施方式中ceph系统的数据存储示意图;
图2是本发明实施方式中数据校验方法的步骤图;
图3是本发明实施方式中数据校验方法的流程图;
图4是本发明实施方式中数据校验系统的功能模块示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
本申请提供一种分布式存储系统中的数据校验方法,所述分布式存储系统可以是ceph系统。如图1所示,在所述ceph系统中,可以将待存储的文件(file)划分为多个对象(object),这些对象可以通过预设算法分散到各个PG中,而各个PG又可以分散到各个OSD中。这样,文件划分得到的对象,最终可以通过PG的组织形式,存储于OSD中。
在本申请中,为了实现对分布式存储系统中的部分存储池、置放群组和文件进行一致性校验,可以预先在分布式存储系统中创建校验配置信息,该校验配置信息可以用于限定所述分布式存储系统中待校验的存储池、置放群组和文件。需要说明的是,本申请中所述的一致性校验,可以包括普通的一致性校验,以及深度一致性校验。其中,普通的一致性校验,可以仅仅对object的元数据进行校验,并不会对object的实际数据进行校验,这样可以节省校验时间,也可以减轻分布式存储系统的负载,缺陷是无法保证object的实际数据是否准确。而深度一致性校验,则可以在对object的元数据进行校验的基础上,还会对OSD中的object的实际数据进行校验,这样可以保证一致性校验的准确性,但缺陷是校验过程较复杂,会消耗较多的系统资源。本申请提供的技术方案,可以同时适用于上述的普通的一致性校验和深度一致性校验。
在本实施方式中,预先创建的所述校验配置信息,可以存放于分布式存储系统的指定目录下。例如,对于ceph系统而言,所述校验配置信息可以在目录/etc/ceph下创建。所述校验配置信息可以是一个具备固定格式的文件,例如,所述校验配置信息可以是deep_scrub.conf文件。在实际应用中,所述校验配置信息中可以具备存储池成员、置放群组成员以及文件成员,其中,存储池成员例如可以通过pool_members来表示,置放群组成员可以通过pg_members来表示,文件成员则可以通过file_members来表示。对于待校验的存储池、置放群组和文件而言,可以将存储池名称、置放群组名称和文件名称赋值给对应的成员。例如,在一个应用示例中,待校验的存储池、置放群组和文件对应的校验配置信息可以如下所示:
[deep_scrub]
pool_members=pool_name1,pool_name2
pg_members=pg_name1,pg_name2,pg_name3
file_members=file_name1,file_name2,file_name3
上述的pool_name可以表示待检验的存储池的名称,pg_name可以表示待检验的置放群组的名称,file_name可以表示待检验的文件的名称。
此外,在实际应用中,如果某一个成员的赋值为空,那么则表示在分布式存储系统中该成员所表征的存储池、置放群组或者文件均需要进行一致性校验。例如,“pool_members=”这样的缺省状态,没有给存储池成员任何赋值,则表示在分布式系统中的所有存储池都需要进行一致性校验。
请参阅图2和图3,本申请提供的分布式存储系统中的数据校验方法,可以包括以下多个步骤。
S1:根据所述校验配置信息,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组。
在本实施方式中,分布式存储系统在初始化时,可以尝试读取上述指定目录下的校验配置信息。若所述校验配置信息不存在或者读取出错,则表示当前并未正确地创建校验配置信息,在这种情况下,分布式存储系统默认为当前不存在校验配置信息,因此,后续可以对所述分布式存储系统中存储的各个对象进行数据校验。而如果正确读取到所述校验配置信息,则表示当前可能需要对分布式存储系统中的一部分对象进行数据校验。此时,分布式存储系统可以解析所述校验配置信息,从而识别其中各个成员的赋值。由于PG是ceph系统中的最小存储单元,因此,可以依次判断每个PG是否需要进行一致性校验。
在一个实施方式中,所述分布式存储系统中各个OSD的进程,可以按照指定的时间周期,或者在指定的时间节点在OSD内调用校验任务注册函数,所述校验任务注册函数,可以为当前OSD中的PG注册校验任务。同时,所述校验任务注册函数还可以用于判断当前OSD是否具备执行数据校验的前置条件。在一个ceph系统的应用示例中,所述校验任务注册函数例如可以是voidOSD::sched_scrub()函数。在实际应用中,所述校验任务注册函数可以判断当前时刻是否处于预设时段内,和/或者判断所述当前对象存储设备的负载值是否小于预设负载阈值。其中,所述预设时段可以是智能分析得到的当前OSD比较空闲的时段,该预设时段可以是针对所述当前OSD的大量运行参数进行智能统计和分析后配置的。例如,所述预设时段可以是每天的凌晨3点至凌晨5点。此外,还可以根据所述当前OSD的CPU使用率、内存使用率、连接数等多种参数综合计算得到当前OSD的实际负载值,上述的每种参数可以具备自身的权重值,这样,通过加权的方式最终可以得到当前OSD的实际负载值。而所述预设负载阈值,也可以是针对所述当前OSD大量的运行参数统计得到的一个临界值,当达到或者超过该预设负载阈值时,则表示当前OSD目前的负载过高,不宜进行一致性校验。因此,若所述当前时刻处于所述预设时段内,和/或者所述当前对象存储设备的负载值小于所述预设负载阈值,则可以判定所述当前对象存储设备具备执行数据校验的前置条件。
在本实施方式中,若所述当前对象存储设备具备执行数据校验的前置条件,可以进一步地判断所述当前对象存储设备中的PG是否满足预设轮询条件,若满足,则可以对该当前OSD中的PG注册校验任务。具体地,位于所述当前OSD内的各个PG,可以按照一定的顺序执行一致性校验过程,并且在执行完一致性校验过程后的一定时间内,不会进行第二次一致性校验过程。因此,若所述当前OSD具备执行数据校验的前置条件,可以针对所述当前OSD内的目标置放群组,识别所述目标置放群组上一次完成数据校验的时间节点,并判断识别出所述时间节点与当前时间节点之间的时差是否大于或者等于指定轮询时长。其中,所述指定轮询时长可以是相邻两次一致性校验之间所需间隔的时长。那么,若识别出的所述时间节点与当前时间节点之间的时差大于或者等于所述指定轮询时长,则表示所述目标置放群组距离上一次一致性校验的时间已经足够长,因此,所述校验任务注册函数可以针对所述当前对象存储设备中的目标置放群组注册校验任务。
需要说明的是,为所述目标置放群组注册了校验任务,并不表示一定需要对所述目标置放群组执行一致性校验,该校验任务的作用可以是判断所述目标置放群组是否需要进行一致性校验。也就是说,在针对所述目标置放群组注册所述校验任务时,可以判断所述目标置放群组是否属于待校验的置放群组。
具体地,判断所述目标置放群组是否需要进行一致性校验的依据,是分布式存储系统对校验配置信息解析得到的结果。根据该解析的结果,可以判断所述目标置放群组是否位于所述校验配置信息限定的存储池内,或者判断所述目标置放群组是否为所述校验配置信息限定的置放群组,若所述目标置放群组位于所述校验配置信息限定的存储池内,或者所述目标置放群组为所述校验配置信息限定的置放群组,则可以判定所述目标置放群组属于待校验的置放群组。否则,所述目标置放群组便不属于待校验的置放群组。
在本实施方式中,当判定所述目标置放群组属于待校验的置放群组后,可以修改所述目标置放群组的类属性,以使得修改了类属性后的目标置放群组,能够执行一致性校验过程。具体地,所述目标置放群组的类属性中可以包含校验成员Scrubber,该校验成员可以用于记录与一致性校验相关的属性。例如,在一个应用示例中,所述校验成员可以包含如下的属性:bool active,int deep_errors,bool must_scrub,must_deep_scrub,must_repair等。其中,bool active表示所述目标置放群组是否处于数据校验中。int deep_errors表示所述目标置放群组有多少数据在深度一致性校验过程中出错。bool must_scrub表示所述目标置放群组是否需要进行普通的一致性校验过程。must_deep_scrub表示所述目标置放群组是否需要进行深度一致性校验过程。must_repair表示所述目标置放群组是否需要进行数据修复。
在本实施方式中,可以在所述目标置放群组的类属性中识别出上述的校验成员,并在所述校验成员中确定用于表征是否需要进行数据校验的标识符。其中,所述表征是否需要进行数据校验的标识符,可以是上述的bool must_scrub和must_deep_scrub,然后,根据实际需求,可以修改所述标识符的赋值,以使得修改后的赋值表示所述目标置放群组需要进行数据校验。具体地,如果需要对所述目标置放群组进行普通的一致性校验,则可以将bool must_scrub的赋值从false修改为true,而如果需要对所述目标置放群组进行深度一致性校验,则可以将must_deep_scrub的赋值从false修改为true。这样,便可以针对所述校验配置信息限定的置放群组进行数据校验,而对于所述校验配置信息中未限定的置放群组,可以不进行数据校验。
S3:若所述目标置放群组属于待校验的置放群组,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件。
S5:若所述当前对象属于所述校验配置信息限定的文件,对所述当前对象进行数据校验;若所述当前对象不属于所述校验配置信息限定的文件,放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。
在本实施方式中,在确定出所述目标置放群组属于待校验的置放群组后,便可以对所述目标置放群组中存放的对象进行数据校验。由于在所述校验配置信息中,也限定了待校验的文件,因此,在实际应用中,也只需要对所述目标置放群组中的部分对象进行数据校验。
具体地,针对所述目标置放群组中的当前对象,可以判断所述当前对象是否属于所述校验配置信息限定的文件。由文件划分得到的对象,通常可以携带该文件的文件标识。这样,针对当前对象而言,可以识别所述当前对象携带的文件标识,并可以将识别得到的文件标识与所述校验配置信息中文件成员对应的文件标识进行对比,如果识别得到的文件标识包含于所述校验配置信息中文件成员的文件标识内,则表示所述当前对象为待校验的对象。
在本实施方式中,若所述当前对象为待校验的对象,则可以对所述当前对象进行数据校验。其中,数据校验的方式可以依据上述的校验成员中限定的方式,进行普通的一致性校验,和/或进行深度一致性校验。若所述当前对象不属于所述校验配置信息限定的文件,则可以放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。这样,依次对所述目标置放群组内的各个对象进行判断,直至遍历完所述目标置放群组中的各个对象为止。
在一个实施方式中,分布式存储系统中可以具备用于执行数据校验的校验函数。例如,在ceph系统中,所述校验函数可以是PGBackend::be_scan_list()函数。在该校验函数中,可以包含用于执行数据校验的各种语句。例如,在上述的PGBackend::be_scan_list()函数中,可以包含如下的语句:
其中,calculate the CRC32on deep scrubs可以表示当前的函数用于执行CRC(Cyclic Redundancy Check,循环冗余校验)32的深度一致性校验过程。if(deep)可以用于判断当前是否执行深度一致性校验过程,如果该语句判定结果为真,则表示需要执行深度一致性校验过程。该深度一致性校验过程可以通过be_deep_scrub(*p,seed,o,handle)这个函数来实现。该函数中的*p可以是指向待校验的对象的指针。该函数中的seed可以用于表示是否对该对象的头部进行CRC校验,seed的赋值可以是-1或0。该函数中的O表示数据校验封装过程中的对象信息。Handle可以是一致性校验的处理句柄。
在本实施方式中,为了增加对当前对象的判断过程,需要在上述的校验函数中,增加用于判断当前对象是否需要进行一致性校验的判断语句。具体地,可以调用所述校验函数,并在所述校验函数中增加判断语句,所述判断语句用于判断所述目标置放群组中的当前对象是否处于所述校验配置信息限定的文件内,所述判断语句的执行参数中至少包括指向所述当前对象的指针。在一个应用示例中,增加了上述判断语句的校验函数可以如下所示:
相比于原有的校验函数,增加了if(object_need_scrub(*p))的判断语句,该判断语句中,*p可以是上述的指向所述当前对象的指针,而object_need_scrub(*p)则可以判断当前对象是否处于所述校验配置信息限定的文件内,如果处于的话,该语句的值就为真,而如果不处于,该语句的值就为假。这样,只有在该语句为真的情况下,才会执行be_deep_scrub(*p,seed,o,handle)的一致性校验的语句。因此,通过增加上述的判断语句,在当所述判断语句表征所述当前对象处于所述校验配置信息限定的文件内时,才会针对所述当前对象进行数据校验。
由上可见,本申请可以先对PG进行判定,然后针对PG中的各个object进行判断,从而可以对校验配置信息限定的文件进行一致性校验。
请参阅图4,本申请还提供一种分布式存储系统中的数据校验系统,所述分布式存储系统中预先创建校验配置信息,所述校验配置信息用于限定所述分布式存储系统中待校验的存储池、置放群组和文件;所述数据校验系统包括:
置放群组判断单元,用于根据所述校验配置信息,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组;
对象判断单元,用于若所述目标置放群组属于待校验的置放群组,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件;
数据校验执行单元,用于若所述当前对象属于所述校验配置信息限定的文件,对所述当前对象进行数据校验;若所述当前对象不属于所述校验配置信息限定的文件,放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。
在一个实施方式中,在所述置放群组判断单元之前,所述数据校验系统还包括:
校验任务注册函数调用单元,用于在所述当前对象存储设备中调用校验任务注册函数,所述校验任务注册函数用于判断所述当前对象存储设备是否具备执行数据校验的前置条件;若具备,所述校验任务注册函数针对所述当前对象存储设备中的目标置放群组注册校验任务;
相应地,所述置放群组判断单元,还用于在针对所述目标置放群组注册所述校验任务时,判断所述目标置放群组是否属于待校验的置放群组。
在一个实施方式中,所述置放群组判断单元包括:
校验配置信息判断模块,用于判断所述目标置放群组是否位于所述校验配置信息限定的存储池内,或者判断所述目标置放群组是否为所述校验配置信息限定的置放群组;
判定模块,用于若所述目标置放群组位于所述校验配置信息限定的存储池内,或者所述目标置放群组为所述校验配置信息限定的置放群组,判定所述目标置放群组属于待校验的置放群组。
由上可见,本申请提供的技术方案,可以预先在分布式存储系统中创建校验配置信息,该校验配置信息可以用于限定部分待校验的存储池、置放群组和文件。这样,当分布式存储系统运行时,可以解析该校验配置信息,并可以依次判定当前的目标置放群组以及该目标置放群组内的当前对象是否处于所述校验配置信息限定的范围内。如果不处于,则放弃对当前对象进行一致性校验,如果处于,则可以对当前对象进行一致性校验。这样,通过校验配置信息限定一致性校验的范围,可以在校验过程中,仅对其中的一部分PG加锁,其它的PG依然处于能够被访问的状态。同时,本申请可以减少加锁的PG中需要校验的对象数量,从而可以减少PG的加锁时间。这样,通过本申请提供的技术方案,能够使得分布式存储系统在执行一致性校验时,减少对用户的正常使用造成的影响。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种分布式存储系统中的数据校验方法,其特征在于,所述分布式存储系统中预先创建校验配置信息,所述校验配置信息用于限定所述分布式存储系统中待校验的存储池、置放群组和文件;所述方法包括:
根据所述校验配置信息,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组;
若所述目标置放群组属于待校验的置放群组,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件;
若所述当前对象属于所述校验配置信息限定的文件,对所述当前对象进行数据校验;若所述当前对象不属于所述校验配置信息限定的文件,放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。
2.根据权利要求1所述的方法,其特征在于,在判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组之前,所述方法还包括:
在所述当前对象存储设备中调用校验任务注册函数,所述校验任务注册函数用于判断所述当前对象存储设备是否具备执行数据校验的前置条件;若具备,所述校验任务注册函数针对所述当前对象存储设备中的目标置放群组注册校验任务;
相应地,在针对所述目标置放群组注册所述校验任务时,判断所述目标置放群组是否属于待校验的置放群组。
3.根据权利要求2所述的方法,其特征在于,判断所述当前对象存储设备是否具备执行数据校验的前置条件包括:
判断当前时刻是否处于预设时段内,和/或者判断所述当前对象存储设备的负载值是否小于预设负载阈值,若所述当前时刻处于所述预设时段内,和/或者所述当前对象存储设备的负载值小于所述预设负载阈值,判定所述当前对象存储设备具备执行数据校验的前置条件。
4.根据权利要求2所述的方法,其特征在于,所述校验任务注册函数针对所述当前对象存储设备中的目标置放群组注册校验任务之前,所述方法还包括:
识别所述目标置放群组上一次进行数据校验的时间节点,并判断识别出的所述时间节点与当前时间节点之间的时差是否大于或者等于指定轮询时长;
若识别出的所述时间节点与当前时间节点之间的时差大于或者等于所述指定轮询时长,所述校验任务注册函数针对所述当前对象存储设备中的目标置放群组注册校验任务。
5.根据权利要求1或2所述的方法,其特征在于,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组包括:
判断所述目标置放群组是否位于所述校验配置信息限定的存储池内,或者判断所述目标置放群组是否为所述校验配置信息限定的置放群组,若所述目标置放群组位于所述校验配置信息限定的存储池内,或者所述目标置放群组为所述校验配置信息限定的置放群组,判定所述目标置放群组属于待校验的置放群组。
6.根据权利要求1所述的方法,其特征在于,在判定所述目标置放群组属于待校验的置放群组之后,所述方法还包括:
在所述目标置放群组的类属性中识别校验成员,并在所述校验成员中确定用于表征是否需要进行数据校验的标识符;
修改所述标识符的赋值,以使得修改后的赋值表示所述目标置放群组需要进行数据校验。
7.根据权利要求1所述的方法,其特征在于,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件内包括:
调用所述分布式存储系统中用于执行数据校验的校验函数,所述校验函数中包含判断语句,所述判断语句用于判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件,所述判断语句的执行参数中至少包括指向所述当前对象的指针;
相应地,当所述判断语句表征所述当前对象属于所述校验配置信息限定的文件时,针对所述当前对象进行数据校验。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述分布式存储系统初始化时,尝试读取所述校验配置信息;若所述校验配置信息不存在或者读取出错,对所述分布式存储系统中的各个对象进行数据校验。
9.一种分布式存储系统中的数据校验系统,其特征在于,所述分布式存储系统中预先创建校验配置信息,所述校验配置信息用于限定所述分布式存储系统中待校验的存储池、置放群组和文件;所述数据校验系统包括:
置放群组判断单元,用于根据所述校验配置信息,判断当前对象存储设备中的目标置放群组是否属于待校验的置放群组;
对象判断单元,用于若所述目标置放群组属于待校验的置放群组,判断所述目标置放群组中的当前对象是否属于所述校验配置信息限定的文件;
数据校验执行单元,用于若所述当前对象属于所述校验配置信息限定的文件,对所述当前对象进行数据校验;若所述当前对象不属于所述校验配置信息限定的文件,放弃对所述当前对象进行数据校验,并判断所述目标置放群组中的下一个对象是否属于所述述校验配置信息限定的文件。
10.根据权利要求9所述的数据校验系统,其特征在于,在所述置放群组判断单元之前,所述数据校验系统还包括:
校验任务注册函数调用单元,用于在所述当前对象存储设备中调用校验任务注册函数,所述校验任务注册函数用于判断所述当前对象存储设备是否具备执行数据校验的前置条件;若具备,所述校验任务注册函数针对所述当前对象存储设备中的目标置放群组注册校验任务;
相应地,所述置放群组判断单元,还用于在针对所述目标置放群组注册所述校验任务时,判断所述目标置放群组是否属于待校验的置放群组。
11.根据权利要求9或10所述的数据校验系统,其特征在于,所述置放群组判断单元包括:
校验配置信息判断模块,用于判断所述目标置放群组是否位于所述校验配置信息限定的存储池内,或者判断所述目标置放群组是否为所述校验配置信息限定的置放群组;
判定模块,用于若所述目标置放群组位于所述校验配置信息限定的存储池内,或者所述目标置放群组为所述校验配置信息限定的置放群组,判定所述目标置放群组属于待校验的置放群组。
CN201910288691.2A 2019-04-11 2019-04-11 一种分布式存储系统中的数据校验方法及数据校验系统 Active CN110059068B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910288691.2A CN110059068B (zh) 2019-04-11 2019-04-11 一种分布式存储系统中的数据校验方法及数据校验系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910288691.2A CN110059068B (zh) 2019-04-11 2019-04-11 一种分布式存储系统中的数据校验方法及数据校验系统

Publications (2)

Publication Number Publication Date
CN110059068A true CN110059068A (zh) 2019-07-26
CN110059068B CN110059068B (zh) 2021-04-02

Family

ID=67318646

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910288691.2A Active CN110059068B (zh) 2019-04-11 2019-04-11 一种分布式存储系统中的数据校验方法及数据校验系统

Country Status (1)

Country Link
CN (1) CN110059068B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000487A (zh) * 2020-08-14 2020-11-27 浪潮电子信息产业股份有限公司 一种scrub压力调整方法、装置和介质
CN112134734A (zh) * 2020-09-15 2020-12-25 网宿科技股份有限公司 一种网络设备的配置方法及装置
CN113296706A (zh) * 2021-05-27 2021-08-24 上海仪电(集团)有限公司中央研究院 一种Ceph系统数据清洗方法、装置、设备及介质
CN113938269A (zh) * 2021-12-15 2022-01-14 亿次网联(杭州)科技有限公司 一种文件分片上传校验方法和系统

Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103761195A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种利用分布式数据编码的存储方法
WO2014188500A1 (ja) * 2013-05-20 2014-11-27 富士通株式会社 データストリーム処理の並列化プログラム、及びデータストリーム処理の並列化システム
CN104809407A (zh) * 2015-05-05 2015-07-29 南京信息工程大学 云存储前端数据加解密及校验方法和系统
CN105338118A (zh) * 2015-11-30 2016-02-17 上海斐讯数据通信技术有限公司 分布式存储系统
CN105447046A (zh) * 2014-09-02 2016-03-30 阿里巴巴集团控股有限公司 一种分布式系统数据一致性处理方法、装置和系统
CN105512267A (zh) * 2015-12-03 2016-04-20 北京锐安科技有限公司 一种配置文件的调整方法和装置
US20160330281A1 (en) * 2015-05-07 2016-11-10 Dell Products L.P. Systems and methods to improve read/write performance in object storage applications
CN106991118A (zh) * 2017-02-17 2017-07-28 深圳市中博睿存信息技术有限公司 基于ceph纠删除容错的读取文件方法及装置
CN107343037A (zh) * 2017-06-30 2017-11-10 郑州云海信息技术有限公司 一种分布式存储系统的数据传输方法及装置
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置
CN108121510A (zh) * 2017-12-19 2018-06-05 紫光华山信息技术有限公司 Osd选取方法、数据写入方法、装置和存储系统
CN108509157A (zh) * 2018-04-13 2018-09-07 郑州云海信息技术有限公司 一种应用于分布式文件系统的数据均衡方法及装置
US10089023B2 (en) * 2015-06-23 2018-10-02 Western Digital Technologies, Inc. Data management for object based storage
CN108875061A (zh) * 2018-06-29 2018-11-23 郑州云海信息技术有限公司 一种分布式文件系统的一致性测试方法及相关装置
US20190004888A1 (en) * 2017-06-30 2019-01-03 Intel Corporation Drive-based storage scrubbing
CN109344143A (zh) * 2018-10-25 2019-02-15 电子科技大学成都学院 一种基于Ceph的分布式集群数据迁移优化方法
CN109344186A (zh) * 2018-08-23 2019-02-15 成都四方伟业软件股份有限公司 一种bi系统多源数据库跨源跨库融合系统和融合方法

Patent Citations (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014188500A1 (ja) * 2013-05-20 2014-11-27 富士通株式会社 データストリーム処理の並列化プログラム、及びデータストリーム処理の並列化システム
CN103761195A (zh) * 2014-01-09 2014-04-30 浪潮电子信息产业股份有限公司 一种利用分布式数据编码的存储方法
CN105447046A (zh) * 2014-09-02 2016-03-30 阿里巴巴集团控股有限公司 一种分布式系统数据一致性处理方法、装置和系统
CN104809407A (zh) * 2015-05-05 2015-07-29 南京信息工程大学 云存储前端数据加解密及校验方法和系统
US20160330281A1 (en) * 2015-05-07 2016-11-10 Dell Products L.P. Systems and methods to improve read/write performance in object storage applications
US10089023B2 (en) * 2015-06-23 2018-10-02 Western Digital Technologies, Inc. Data management for object based storage
CN105338118A (zh) * 2015-11-30 2016-02-17 上海斐讯数据通信技术有限公司 分布式存储系统
CN105512267A (zh) * 2015-12-03 2016-04-20 北京锐安科技有限公司 一种配置文件的调整方法和装置
CN106991118A (zh) * 2017-02-17 2017-07-28 深圳市中博睿存信息技术有限公司 基于ceph纠删除容错的读取文件方法及装置
CN107343037A (zh) * 2017-06-30 2017-11-10 郑州云海信息技术有限公司 一种分布式存储系统的数据传输方法及装置
US20190004888A1 (en) * 2017-06-30 2019-01-03 Intel Corporation Drive-based storage scrubbing
CN107807792A (zh) * 2017-10-27 2018-03-16 郑州云海信息技术有限公司 一种基于副本存储系统的数据处理方法及相关装置
CN108121510A (zh) * 2017-12-19 2018-06-05 紫光华山信息技术有限公司 Osd选取方法、数据写入方法、装置和存储系统
CN108509157A (zh) * 2018-04-13 2018-09-07 郑州云海信息技术有限公司 一种应用于分布式文件系统的数据均衡方法及装置
CN108875061A (zh) * 2018-06-29 2018-11-23 郑州云海信息技术有限公司 一种分布式文件系统的一致性测试方法及相关装置
CN109344186A (zh) * 2018-08-23 2019-02-15 成都四方伟业软件股份有限公司 一种bi系统多源数据库跨源跨库融合系统和融合方法
CN109344143A (zh) * 2018-10-25 2019-02-15 电子科技大学成都学院 一种基于Ceph的分布式集群数据迁移优化方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112000487A (zh) * 2020-08-14 2020-11-27 浪潮电子信息产业股份有限公司 一种scrub压力调整方法、装置和介质
CN112000487B (zh) * 2020-08-14 2022-07-08 浪潮电子信息产业股份有限公司 一种scrub压力调整方法、装置和介质
CN112134734A (zh) * 2020-09-15 2020-12-25 网宿科技股份有限公司 一种网络设备的配置方法及装置
CN113296706A (zh) * 2021-05-27 2021-08-24 上海仪电(集团)有限公司中央研究院 一种Ceph系统数据清洗方法、装置、设备及介质
CN113296706B (zh) * 2021-05-27 2024-04-09 上海仪电(集团)有限公司中央研究院 一种Ceph系统数据清洗方法、装置、设备及介质
CN113938269A (zh) * 2021-12-15 2022-01-14 亿次网联(杭州)科技有限公司 一种文件分片上传校验方法和系统

Also Published As

Publication number Publication date
CN110059068B (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN110059068A (zh) 一种分布式存储系统中的数据校验方法及数据校验系统
WO2020000706A1 (zh) 基于数据库比对的接口测试方法、系统、设备和存储介质
US7272752B2 (en) Method and system for integrating test coverage measurements with model based test generation
Păsăreanu et al. Learning to divide and conquer: applying the L* algorithm to automate assume-guarantee reasoning
US6182245B1 (en) Software test case client/server system and method
US8839344B2 (en) Access policy analysis
EP2095236B1 (en) Method, system and computer program for testing software applications based on multiple data sources
US20030097650A1 (en) Method and apparatus for testing software
US20100115496A1 (en) Filter generation for load testing managed environments
US20070079189A1 (en) Method and system for generating a global test plan and identifying test requirements in a storage system environment
US7225428B1 (en) Robust software library wrapper method and apparatus
He et al. A bounded statistical approach for model checking of unbounded until properties
CN108319711A (zh) 数据库的事务一致性测试方法、装置、存储介质及设备
US6763360B2 (en) Automated language and interface independent software testing tool
Li et al. Multiple-implementation testing for XACML implementations
Blundell et al. Parameterized interfaces for open system verification of product lines
Hu et al. Property verification for generic access control models
Morasca et al. On the analytical comparison of testing techniques
Paul End-to-end integration testing
CN115248783B (zh) 软件测试方法、系统、可读存储介质及计算机设备
CN111338958A (zh) 一种测试用例的参数生成方法、装置及终端设备
Hamlen Security policy enforcement by automated program-rewriting
Totel et al. Inferring a distributed application behavior model for anomaly based intrusion detection
CN110008098B (zh) 评估业务流程中的节点的运行状况的方法和装置
WO2021106172A1 (ja) ルール生成装置およびルール生成プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant