CN107729769A - 数据完整性保护方法、设备、系统及可读存储介质 - Google Patents
数据完整性保护方法、设备、系统及可读存储介质 Download PDFInfo
- Publication number
- CN107729769A CN107729769A CN201710896703.0A CN201710896703A CN107729769A CN 107729769 A CN107729769 A CN 107729769A CN 201710896703 A CN201710896703 A CN 201710896703A CN 107729769 A CN107729769 A CN 107729769A
- Authority
- CN
- China
- Prior art keywords
- data
- verification
- sampled
- write
- sample
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/64—Protecting data integrity, e.g. using checksums, certificates or signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
本发明公开了一种数据完整性保护方法,其特征在于,所述数据完整性保护包括以下步骤:读取当前采样分析系统输出的采样方式和采样率;其中,所述采样方式和采样率为所述采样分析系统基于进行校验和处理所需的计算能力和存储能力分析所确定;根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和,以供用于在读取该采样数据时进行数据完整性验证。本发明还公开了一种数据完整性保护设备、数据完整性保护系统及计算机可读存储介质。本发明在采用校验和对数据进行保护的前提下,能够有效避免消耗大量的计算能力以及减少存储空间,进而提高系统运行速度,提升用户的使用体验。
Description
技术领域
本发明涉及信息技术领域,尤其涉及一种数据完整性保护方法、设备、系统及计算机可读存储介质。
背景技术
随着科学技术的进步及信息业务量的快速增长,产生越来越多的信息数据,但数据在传输或存储过程中,由于软硬件等原因,可能存在数据发生错误或无效的情况。
目前,使用校验和对数据进行验证和保护,一旦数据出现非正常更改,在读取数据时重新计算的校验和就不等于写入数据时计算的校验和,进而可判断数据是否存在错误或无效的情况。然而,使用校验和的方式都会消耗大量的计算能力,造成性能损失,以及占用较多的存储空间,导致系统运行速度缓慢,从而降低用户的使用体验。
发明内容
本发明的主要目的在于提供一种数据完整性保护方法、数据完整性保护设备、数据完整性保护系统及计算机可读存储介质,旨在解决采用校验和对数据进行保护的前提下,避免消耗大量的计算能力和减少存储空间的技术问题。
为实现上述目的,本发明提供的一种数据完整性保护方法,所述数据完整性保护方法包括以下步骤:
读取当前采样分析系统输出的采样方式和采样率;其中,所述采样方式和采样率为所述采样分析系统基于进行校验和处理所需的计算能力和存储能力分析所确定;
根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和,以供用于在读取该采样数据时进行数据完整性验证。
优选地,所述根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和包括:
当所述采样方式为时间采样且为第n次采样时,获取本次对写入数据进行采样的初始时间t0,其中,n为正整数;
监测是否存在写IO操作;
当监测到写IO操作时,获取当前时间tn,并判断当前时间tn与初始时间t0之间的差值t差是否大于或等于所述采样率;
若是,则对当前写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和;
当本次采样完成时,将当前时间tn设置为下一次对写入数据进行采样的初始时间t0。
优选地,所述根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和包括:
当所述采样方式为IO采样时,初始化计数器,并监测是否存在写IO操作;
当监测到写IO操作时,获取计数器的当前计数值N,并对当前计数值N与所述采样率进行取模运算,得到取模运算结果;
判断所述取模运算结果是否为零;
若所述取模运算结果为零,则对当前写IO操作或者包括当前写IO操作在内的连续多个写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和,继续执行监测写IO操作。
优选地,所述根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和包括:
当所述采样方式为空间采样时,监测是否存在写IO操作;
当监测到写IO操作时,获取当前写IO操作所对应的数据存储偏移量,并对当前存储偏移量与所述采样率进行取模运算,得到取模运算结果;
判断所述取模运算结果是否为零;
若所述取模运算结果为零,则对当前写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和。
优选地,所述数据完整性保护方法还包括:
在生成采样数据的校验和时,若所述采样方式为时间采样或IO采样,则生成校验和标识,并在写入采样数据时,将该采样数据的校验和、或者校验和与校验和标识一同写入。
优选地,所述数据完整性保护方法还包括:
读取存储的数据D,或者还读取该数据D的校验数据,其中,所述校验数据至少包括该数据D的校验和C,或者还包括校验和标识F;
基于读取的数据,判断数据D是否为采样数据;
若数据D为采样数据,则计算该数据D的当前校验和C1,并判断校验和C1是否等于校验和C;
若校验和C1等于校验和C,则返回数据D,否则报错;
若数据D为非采样数据,则返回数据D。
此外,为实现上述目的,本发明还提供一种数据完整性保护设备,其特征在于,所述数据完整性保护设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据完整性保护程序,所述数据完整性保护程序被所述处理器执行时实现如上述任一项所述的数据完整性保护方法的步骤。
此外,为实现上述目的,本发明还提供一种数据完整性保护系统,所述数据完整性保护系统包括上述任一项所述的数据完整性保护设备,所述数据完整性保护系统还包括采样分析系统,所述采样分析系统包括:
输入用于进行校验和处理所需的计算能力和存储能力;
分析确定采样方式和采样率,并将所述采样方式和采样率输出到所述数据完整性保护设备,以供所述数据完整性保护设备读取。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有数据完整性保护程序,所述数据完整性保护程序被处理器执行时实现如上述任一项所述的数据完整性保护方法的步骤。
本发明中,采样分析系统基于进行校验和处理的计算能力和存储能力分析确定采样方式和采样率,通过读取该采样方式和采样率对写入数据进行采样,并生成采样数据的校验和,用以在读取该采样数据时验证数据完整性。校验和并不是由全部数据生成,而是由采样数据生成的,因此占用较少的存储空间和计算能力。同时读取到的采样方式和采样率不是固定不变的,而是基于采样分析系统分析确定的,因而能够更好的利用系统资源,进一步避免消耗大量的计算能力,占用更多的存储空间,以及性能损失,从而实现保护数据的完整性,提高系统运行速度和提升用户的使用体验。
附图说明
图1为本发明数据完整性保护方法一实施例的流程示意图;
图2为图1中步骤S20第一实施例中的细化流程示意图;
图3为图1中步骤S20第二实施例中的细化流程示意图;
图4为图1中步骤S20第三实施例中的细化流程示意图;
图5为本发明数据完整性保护方法在写入数据时一较佳实施例的流程示意图;
图6为本发明数据完整性保护方法另一实施例中读取数据的流程示意图;
图7为本发明数据完整性保护系统的模块结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明提供一种数据完整性保护方法。
参照图1,图1为本发明数据完整性保护方法一实施例的流程示意图。
本实施例中,数据完整性保护方法包括:
步骤S10,读取当前采样分析系统输出的采样方式和采样率;其中,采样方式和采样率为采样分析系统基于进行校验和处理所需的计算能力和存储能力分析所确定。
本实施例中,数据是指由字母、数字、文字、符号等排列组合构成有意义的指令、图形图像、语音等,是客观事物的属性、数量、位置及其相互关系的抽象表示。数据可以是一个表示时间、重量、距离或价格的数字集合;可以是一个代表人员、地方、商品和其它事物的名字的集合,也可以是BASIC程序或其它语言程序中语句的集合,还可以是英文、日文、中文和其它文字表示的文字集合等。通常数据可以用1GB、1MB、1KB来表示,比如该数据为1KB,1KB是1024字节,而1个英文字母或1个阿拉伯数字就是1个字符,占用1字节。数据完整性是指存储在数据库中的数据保持一致性和可靠性,是为了防止数据库中存在不符合语义规定的数据和/或因丢失部分数据而造成输入或输出的无效、错误操作。
在一组数据中按照某种方式选取其中若干个,就叫采样。而选取的数据个数和总的数据个数的比例就叫做采样率。具体来说,在一个系统中,不停的有对该系统的数据访问操作,那么根据某种方式在所有这些数据n中选取m个数据,就是一种采样,相应的m/n就是采样率。采样率高则占用较多的存储空间,同时相应消耗更多的计算能力用以生成校验和,但采样率低则有可能在某一位置上错误的数据没被选取,进而没检测出该数据出错。
采样方式有多种,可分为随机,或者按周期,属性等方式,具体地,采样方式至少包括时间采样,空间采样,IO采样。采用不同的采样方式,所产生的效果也不同,比如时间采样使采样样本更均衡,空间采样则节省存储空间,IO采样可以提高稳定性能。具体地,采样方式和采样率不是固定的,即不同的采样方式可以搭配不同的采样率,而现有技术通常都是单一分配的,这对性能不高的系统而言就很容易浪费系统资源,比如计算能力强但存储能力弱,采用空间采样和高采样率,或计算能力弱但存储能力强的,采用时间采样和低采样率等,因而单一的采样方式和采样率并不能更好的适应现今多变的系统运行环境。因而选用何种采样方式和采样率,具体根据采样分析系统提供给校验和的计算能力和存储能力所分析确定的。
步骤S20,根据采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和,以供用于在读取该采样数据时进行数据完整性验证。
本实施例中,写入数据也就是输入数据,是将数据送入到设备、终端等载体上的过程。大量数据的写入即便是机器也会因为软硬件等问题,难免在写入、存储或读取时出现数据出错的情况,所以,必须要有更严格、更有效的科学方法和手段来保护数据的完整性。当数据越来越大时,占用越来越多的存储空间,同时也面临着耗费大量的计算能力对其进行数据完整性验证,因此,最简单有效的方法就是利用采样来缩减数据的大小,即选取一个大数据中的某部分进行数据完整性验证。将采样方式和采样率用(i:j)表示,例如i=1代表采样方式为IO采样,i=2代表采样方式为时间采样,i=3代表采样方式为空间采样,j=12代表采样率为12%,通过数字和字母的组合也就构成一组数据,可被输入、输出、修改或读取等,具体根据实际需要进行设置。
本实施例中,保持数据完整性是现代存储系统最重要的职责,因此有各种各样的技术被开发和应用来改进数据完整性保护,其中最常用的就是校验和方法。从数据输入产生校验和的实际过程称为校验和算法。校验和算法通常会输出显着不同的值,即使对输入进行小的更改也是如此,即在读取数据时重新计算的校验和是否不等于存储时计算的校验和,从而用于检测数据错误并验证整体数据完整性。如果当前数据计算的校验和与先前计算的校验和的存储值相匹配,则代表数据未被意外更改或损坏的可能性非常高。数据在检出错误时,可以报错进行提示,甚至是基于特殊的校验和,可以在某些情况下恢复原始数据。具体地,校验和的计算方式有多种,比如求和校验,异或校验等。
读取到的采样方式和采样率不是固定的,因而还需进行对采样方式的判断分析,并依读取的采样方式对数据进行采样,采取多少或多大的子数据也是根据读取到的采样率进行分析计算的。采样得到的子数据与母数据相关联,记载对应的位置,序列号等,以供恢复、调用或识别。同时,写入数据所占用的存储空间、花费的时间等可根据写入环境的速度等进行预估。对写入数据进行采样,得到的采样数据应与该原始数据对应关联,即采样数据保存与原始数据相同的属性、对应位置等相关信息。具体地,用采样数据生成校验和,可以减少对数据运算的处理,并且还可以避免占用过多的存储空间,同时校验和是对若干个子数据进行分析得出结果的。
本实施例中,采样分析系统基于进行校验和处理的计算能力和存储能力分析确定采样方式和采样率,通过读取该采样方式和采样率对写入数据进行采样,并生成采样数据的校验和,用以在读取该采样数据时验证数据完整性。校验和并不是由全部数据生成,而是由采样数据生成的,因此占用较少的存储空间和计算能力。同时读取到的采样方式和采样率不是固定不变的,而是基于采样分析系统分析确定的,因而能够更好的利用系统资源,进一步避免消耗大量的计算能力,占用更多的存储空间,以及性能损失,从而实现保护数据的完整性,提高系统运行速度和提升用户的使用体验。
参照图2,图2为图1中步骤S20第一实施例中的细化流程示意图。基于上述实施例,本实施例中,实现时间采样的算法有很多种,步骤S20:根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和,包括:
步骤S211,当采样方式为时间采样且为第n次采样时,获取本次对写入数据进行采样的初始时间t0,其中,n为正整数。
对写入数据进行采样的操作,不单单只进行一次采样,还进行多次采样,同时数据在写入过程中是要花费一定时间的,因而时间采样顾名思义就是根据时间来划分数据,并进行采样。时间单位可以是秒,分钟,小时,具体根据实际需要进行设置。优选地,时间采样是每t秒采样一次。获取的初始时间t0可以是写入数据中的任一IO的时间点,优选地,用时间函数去获取时间。
步骤S212,监测是否存在写IO操作。
IO(Input/Output),即输入/输出,写IO操作就是写入数据。只有监测到写IO操作才进行采样的下一步操作。
步骤S213,若是,获取当前时间tn。
获取当前时间tn就是获取数据中某一输入数据所对应的时间,即每来一个写IO,就获取对应的时间值。
步骤S214,判断当前时间tn与初始时间t0之间的差值t差是否大于或等于采样率。
采样率用j表示,(tn-t0)≥j是判断对写入数据是否进行采样还是不采样的判断条件,采样率j是根据读取采样分析系统得到的,对写IO操作的数据按比例采样。
步骤S215,若是,则对当前写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和。
判断条件成立,即差值t差大于或等于采样率,在当前时间tn与初始时间t0之间的时间段内选取某一部分或整取该时间段内的数据,为采样数据,具体根据实际需要进行设置。进一步地,若判断条件不成立,则不对当前写IO操作所对应的写入数据进行采样。
步骤S216,当本次采样完成时,将当前时间tn设置为下一次对写入数据进行采样的初始时间t0。
例如首次采样,获取初始时间t0和当前时间t1,当(t1-t0)≥j时,对数据进行第一次采样,然后将当前时间t1设置为下一次对写入数据进行采样的初始时间t0,即第二次采样时的初始时间t0为t1的时间,并再次获取第二次采样的当前时间t2。因此当(t2-t1)≥j时,对数据进行第二次采样。当第三次采样时,则为(t3-t2),依次类推,直至采样完成。
参照图3,图3为图1中步骤S20第二实施例中的细化流程示意图。基于上述实施例,本实施例中,实现IO采样的算法有很多种,步骤S20:根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和,包括:
步骤S221,当采样方式为IO采样时,初始化计数器,并监测是否存在写IO操作。
当读取到的采样方式为IO采样时,每k个IO采样一次。只有在写IO操作的情况下,计数器对每个写IO计数,并按序进行累计。例如,一组数据200个IO,使用计数器cnt,并初始化为0,每写1个IO累计一次,写到第10个IO为十,写到第50个IO为五十。
步骤S222,当监测到写IO操作时,获取计数器的当前计数值N,并对当前计数值N与采样率进行取模运算,得到取模运算结果。
取模(%)是用来求两个整数相除的余数,判断两个整数是否能整除。例如:7/3=2...1;9/7=1...2,则等于7%3=1;9%7=2。若不存在写IO操作,则不获取计数器的计数值。
步骤S223,判断取模运算结果是否为零,即判断N%j=0。
步骤S224,若取模运算结果为零,则对当前写IO操作或者包括当前写IO操作在内的连续多个写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和,继续执行监测写IO操作。
当N%j=0时,可以是对当前的一个写IO进行采样,或是当前的一个以及连续的几个写IO进行采样,得到采样数据。由采样数据计算校验和,并执行步骤S221,形成循环操作。例如,j=10,则1-100中,每10个IO采样一次,采样的数据可以是第10个IO,第20个IO,或者是第10-12个IO,第20-22个IO,依次类推,具体根据实际需要进行设置。
参照图4,图4为图1中步骤S20第三实施例中的细化流程示意图。基于上述实施例,本实施例中,实现空间采样的算法有很多种,步骤S20:根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和,包括:
步骤S231,当所述采样方式为空间采样时,监测是否存在写IO操作。
空间采样,顾名思义就是将存储数据的空间虚拟为一个大的虚拟地址空间,然后从地址0开始每d MB采样一次,其中MB为存储单位。具体地,若存在写IO操作的情况下,则执行下一步操作,否则返回继续监测是否存在写IO操作。
步骤S232,当监测到写IO操作时,获取当前写IO操作所对应的数据存储偏移量,并对当前存储偏移量与所述采样率进行取模运算,得到取模运算结果。
优选offset函数,用以指定的单元格或相连单元格区域(地址)的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以是一个单元格,也可以是一个区域或指定行列数等。通过对偏移量与采样率进行取模运算(offset%j),得到取模运算结果。
步骤S233,判断所述取模运算结果是否为零,即判断offset%j=0是否成立。
步骤S234,若所述取模运算结果为零,则对当前写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和。
offset%j=0成立时,则执行采样并计算校验和。若取模运算结果不为零,则不采样。具体地,offset的引用可以是相对引用、绝对引用,或混合引用,具体根据实际需要进行设置。例如,偏移得到每2MB采样一次。
进一步可选地,对采用时间采样或IO采样的,在生成采样数据的校验和时,生成校验和标识,并在写入采样数据时,将该采样数据的校验和、校验和标识一同写入。校验和标识,用以区分类别,代表为时间采样或IO采样,而空间采样生成的采样数据由其空间属性即可被区分。校验和标识可用flag来表示,比如设置cksum_flag=1等,具体根据实际需要进行设置。采样数据与生成的校验和,或校验和与校验和标识在一同写入时,一一对应关联。采样数据保存与原始数据相同的属性、对应位置等相关信息。
参照图5,图5为本发明数据完整性保护方法在写入数据时一较佳实施例的流程示意图。
为了辅助理解本发明数据完整性保护方法,在此提供数据完整性保护方法一较佳实施例,是以采样方式为IO采样,使用计数器cnt,以及取模运算进行举例说明,数据完整性保护方法包括:
1.读取当前采样分析系统输出的IO采样和采样率,初始化计数器,并继续;
2.监测是否存在写IO操作,若是则继续,若否则跳转到第2步;
3.获取计数器的当前计数值N,并对当前计数值N与所述采样率进行取模运算,得到取模运算结果,并继续;
取模(%)运算,是用来求两个整数相除的余数,判断两个整数是否能整除的函数,用N%j表示。当前计数值N是计数器随着写IO的个数进行统计计算的。
4.取模运算结果是否为零,若是则继续,若否则跳转到第3步
5.对当前写IO操作或者包括当前写IO操作在内的连续多个写IO操作所对应的写入数据B进行采样,得到采样数据D,并继续;
利用采样来缩减数据的大小,即选取一个大数据中的某部分进行进一步处理。
6.生成采样数据D的校验和C与校验和标识F,并继续,及跳转到第2步;
校验和C并不是由全部数据生成,而是由采样数据D生成的,因此占用较少的存储空间和计算能力。
参照图6,图6为本发明数据完整性保护方法另一实施例中读取数据的流程示意图。
进一步可选地,数据完整性保护方法还包括:
步骤S30,读取存储的数据D,或者还读取该数据D的校验数据,其中,所述校验数据至少包括该数据D的校验和C,或者还包括校验和标识F。
本实施例中,存储的数据包括一完整数据在不同采样方式下的采样数据、校验和C,或者校验和C与校验和标识F,以及没有进行采样的非采样数据等。数据D为采样数据与非采样数据,其中,没有进行采样的数据是在写入过程中,不满足采样率、取模运算等条件而不进行采样或计算校验和。
步骤S40,基于读取的数据,判断数据D是否为采样数据。
数据在写入时,根据读取的采样方式和采样率,得到空间采样数据、时间采样数据、IO采样数据,三种采样数据均可计算生成校验和C,但只有时间采样或IO采样在生成的校验和C时还有校验和标识F。基于读取的数据,若数据D为采样数据时,可根据校验和标识F判断采样方式为非空间采样,即时间采样或IO采样,还可以读取采样数据并进一步判断是否为空间采样,具体根据实际需要进行设置。
步骤S50,若数据D为采样数据,则计算该数据D的当前校验和C1,并判断校验和C1是否等于校验和C。
同一数据在写入或读取的情况下,采用同一种方式分别进行的两次校验和计算,所得的两个结果进行对比。具体地,同一数据在采样方式与采样率相同下生成的校验和,所对应的位置、属性应相同。数据在写入或读取时虽然是指同个数据,但根据所处读取或写入的过程不同,生成的校验和也不同,即在写入时生成的校验和用“C”表示,而在读取时生成的当前校验和用“C1”。
步骤S60,若校验和C1等于校验和C,则返回数据D,否则报错。
当前数据D在读取时计算的当前校验和C1与先前写入时的校验和C是一致,即C=C1,则数据未被意外更改、损坏或删除,可被访问或执行进一步操作。若校验和C1不等于校验和C,则说明检测出的数据错误,并进行报错。报错意味着对其数据访问无意义,需要进行更正或恢复数据等,具体可根据实际需要进行设置。
步骤S70,若数据D为非采样数据,则返回数据D。
若数据D不是采样数据,即不存在与之相对应的校验和,该数据D也不做计算校验和的操作。
基于本发明上述实施例中的数据完整性保护方法,本实施例还提供一种数据完整性保护设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的数据完整性保护程序,数据完整性保护程序被处理器执行时实现上述任一实施例中数据完整性保护方法的步骤。
本实施例中,存储器存储全部信息,包括输入的原始数据、执行程序、中间运行结果和最终运行结果,其主要功能是存储程序和各种数据,并能在运行过程中高速、自动地完成程序或数据的存取。存储器存储数据完整性保护程序,包括程序运行的操作、执行条件等。处理器根据存储器提取的指令来决定其执行行为,并将指令被拆解为有意义的片段,例如,根据存储器存储的校验和计算,执行生成校验和、存储校验和等操作。
进一步地,本发明还提供一种数据完整性保护系统,包括上述实施例中的任一数据完整性保护设备,数据系统还包括采样分析系统,采样分析系统包括:
输入用于进行校验和处理所需的计算能力和存储能力;
分析确定采样方式和采样率,并将所述采样方式和采样率输出到所述数据完整性保护设备,以供所述数据完整性保护设备读取。
本实施例中,采样方式有多种,可分为随机,或者按周期,属性等方式,具体地,采样方式包括时间采样,空间采样,数据量采样。其采样方式不同,所产生的效果也不同,比如时间采样使采样样本更均衡,空间采样则节省存储空间,数据量采样可以提高稳定性能。采样率高则占用较多的存储空间,同时相应消耗更多的计算能力用以生成校验和,但采样率低则有可能在某一位置上错误的数据没被选取,进而没检测出该数据出错。
具体地,采样方式和采样率不是固定的,而现有技术通常都是单一分配的,这对性能不高的系统而言就很容易浪费系统资源,比如计算能力强但存储能力弱,采用空间采样和高采样率,或计算能力弱但存储能力强的,采用时间采样和低采样率等,因而单一的采样方式和采样率并不能更好的适应现今多变的系统运行环境。因而选用何种采样方式和采样率,具体根据采样分析系统提供的校验和的计算能力和存储能力分析确定。
参照图7,图7为本发明数据完整性保护系统的模块结构示意图。
本实施例中,数据完整性保护系统包括一个数据完整性保护设备10和一个采样分析系统20。数据完整性保护设备10读取采样分析系统20输出的采样方式和采样率,然后根据采样方式和采样率对写入数据进行采样,再将采样数据生成校验和用以读取数据时进行验证。采样分析系统20将基于进行校验和处理的计算能力和存储能力分析确定采样方式和采样率,再将采样方式和采样率输出到数据完整性保护设备10。通过这种方式能够更好的利用系统资源,避免消耗大量的计算能力,以及占用更多的存储空间,从而实现保护数据的完整性,提高系统运行速度和提升用户的使用体验。
进一步地,本发明还提供一种计算机可读存储介质,在本实施例中提出的计算机可读存储介质可以是ROM/RAM、磁碟、或光盘等,并存储有数据完整性保护程序,包括写入数据、读取数据、计算公式和最终验证处理结果等。存储的数据完整性保护程序能够被处理器读取、解读并执行,从而实现上述任一数据完整性保护方法实施例中所述的数据完整性保护方法的步骤。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (9)
1.一种数据完整性保护方法,其特征在于,所述数据完整性保护方法包括以下步骤:
读取当前采样分析系统输出的采样方式和采样率;其中,所述采样方式和采样率为所述采样分析系统基于进行校验和处理所需的计算能力和存储能力分析所确定;
根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和,以供用于在读取该采样数据时进行数据完整性验证。
2.如权利要求1所述的数据完整性保护方法,其特征在于,所述根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和包括:
当所述采样方式为时间采样且为第n次采样时,获取本次对写入数据进行采样的初始时间t0,其中,n为正整数;
监测是否存在写IO操作;
当监测到写IO操作时,获取当前时间tn,并判断当前时间tn与初始时间t0之间的差值t差是否大于或等于所述采样率;
若是,则对当前写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和;
当本次采样完成时,将当前时间tn设置为下一次对写入数据进行采样的初始时间t0。
3.如权利要求1所述的数据完整性保护方法,其特征在于,所述根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和包括:
当所述采样方式为IO采样时,初始化计数器,并监测是否存在写IO操作;
当监测到写IO操作时,获取计数器的当前计数值N,并对当前计数值N与所述采样率进行取模运算,得到取模运算结果;
判断所述取模运算结果是否为零;
若所述取模运算结果为零,则对当前写IO操作或者包括当前写IO操作在内的连续多个写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和,继续执行监测写IO操作。
4.如权利要求1所述的数据完整性保护方法,其特征在于,所述根据所述采样方式和采样率,对写入数据进行采样,并生成采样数据的校验和包括:
当所述采样方式为空间采样时,监测是否存在写IO操作;
当监测到写IO操作时,获取当前写IO操作所对应的数据存储偏移量,并对当前存储偏移量与所述采样率进行取模运算,得到取模运算结果;
判断所述取模运算结果是否为零;
若所述取模运算结果为零,则对当前写IO操作所对应的写入数据进行采样,得到采样数据,并生成采样数据的校验和。
5.如权利要求2-4中任一所述的数据完整性保护方法,其特征在于,所述数据完整性保护方法还包括:
在生成采样数据的校验和时,若所述采样方式为时间采样或IO采样,则生成校验和标识,并在写入采样数据时,将该采样数据的校验和、或者校验和与校验和标识一同写入。
6.如权利要求5所述的数据完整性保护方法,其特征在于,所述数据完整性保护方法还包括:
读取存储的数据D,或者还读取该数据D的校验数据,其中,所述校验数据至少包括该数据D的校验和C,或者还包括校验和标识F;
基于读取的数据,判断数据D是否为采样数据;
若数据D为采样数据,则计算该数据D的当前校验和C1,并判断校验和C1是否等于校验和C;
若校验和C1等于校验和C,则返回数据D,否则报错;
若数据D为非采样数据,则返回数据D。
7.一种数据完整性保护设备,其特征在于,所述数据完整性保护设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的数据完整性保护程序,所述数据完整性保护程序被所述处理器执行时实现如权利要求1至6中任一项所述的数据完整性保护方法的步骤。
8.一种数据完整性保护系统,其特征在于,所述数据完整性保护系统包括权利要求7所述的数据完整性保护设备,所述数据完整性保护系统还包括采样分析系统;
所述采样分析系统用于:接收用于进行校验和处理所需的计算能力和存储能力;分析确定与所述计算能力和存储能力匹配的采样方式和采样率,并将所述采样方式和采样率输出到所述数据完整性保护设备。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有数据完整性保护程序,所述数据完整性保护程序被处理器执行时实现如权利要求1至6中任一项所述的数据完整性保护方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710896703.0A CN107729769A (zh) | 2017-09-27 | 2017-09-27 | 数据完整性保护方法、设备、系统及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710896703.0A CN107729769A (zh) | 2017-09-27 | 2017-09-27 | 数据完整性保护方法、设备、系统及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107729769A true CN107729769A (zh) | 2018-02-23 |
Family
ID=61208234
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710896703.0A Pending CN107729769A (zh) | 2017-09-27 | 2017-09-27 | 数据完整性保护方法、设备、系统及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107729769A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955545A (zh) * | 2018-09-26 | 2020-04-03 | 深信服科技股份有限公司 | 一种数据完整性校验方法、系统及相关设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1831786A (zh) * | 2005-12-14 | 2006-09-13 | 兆日科技(深圳)有限公司 | 闪速存储器数据完整性保护方法 |
US20100281299A1 (en) * | 2009-05-04 | 2010-11-04 | Microsoft Corporation | File system recognition structure |
CN103516509A (zh) * | 2013-10-24 | 2014-01-15 | 中国科学院信息工程研究所 | 面向密码设备的侧信息泄露分段采集方法及系统 |
CN104598342A (zh) * | 2014-12-31 | 2015-05-06 | 曙光信息产业(北京)有限公司 | 内存的检测方法和装置 |
CN105069379A (zh) * | 2015-07-29 | 2015-11-18 | 哈尔滨工程大学 | 一种基于写计数器的存储器完整性保护方法 |
WO2017050479A1 (de) * | 2015-09-24 | 2017-03-30 | Siemens Aktiengesellschaft | Überwachen einer integrität eines testdatensatzes |
CN107145432A (zh) * | 2017-03-30 | 2017-09-08 | 华为技术有限公司 | 一种建立模型数据库的方法以及客户端 |
-
2017
- 2017-09-27 CN CN201710896703.0A patent/CN107729769A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1831786A (zh) * | 2005-12-14 | 2006-09-13 | 兆日科技(深圳)有限公司 | 闪速存储器数据完整性保护方法 |
US20100281299A1 (en) * | 2009-05-04 | 2010-11-04 | Microsoft Corporation | File system recognition structure |
CN103516509A (zh) * | 2013-10-24 | 2014-01-15 | 中国科学院信息工程研究所 | 面向密码设备的侧信息泄露分段采集方法及系统 |
CN104598342A (zh) * | 2014-12-31 | 2015-05-06 | 曙光信息产业(北京)有限公司 | 内存的检测方法和装置 |
CN105069379A (zh) * | 2015-07-29 | 2015-11-18 | 哈尔滨工程大学 | 一种基于写计数器的存储器完整性保护方法 |
WO2017050479A1 (de) * | 2015-09-24 | 2017-03-30 | Siemens Aktiengesellschaft | Überwachen einer integrität eines testdatensatzes |
CN107145432A (zh) * | 2017-03-30 | 2017-09-08 | 华为技术有限公司 | 一种建立模型数据库的方法以及客户端 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110955545A (zh) * | 2018-09-26 | 2020-04-03 | 深信服科技股份有限公司 | 一种数据完整性校验方法、系统及相关设备 |
CN110955545B (zh) * | 2018-09-26 | 2023-07-14 | 深信服科技股份有限公司 | 一种数据完整性校验方法、系统及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106886509A (zh) | 一种学位论文格式自动检测方法 | |
CN111881983B (zh) | 基于分类模型的数据处理方法、装置、电子设备及介质 | |
CN104756106B (zh) | 表征数据存储系统中的数据源 | |
US20120158625A1 (en) | Creating and Processing a Data Rule | |
CN112596964B (zh) | 磁盘故障的预测方法及装置 | |
CN112990294B (zh) | 行为判别模型的训练方法、装置、电子设备及存储介质 | |
CN111783999A (zh) | 数据处理方法及装置 | |
CN110098961A (zh) | 一种数据质量评估方法、装置及存储介质 | |
CN110516034A (zh) | 日志管理方法、装置、网络设备和可读存储介质 | |
CN112329460A (zh) | 文本的主题聚类方法、装置、设备及存储介质 | |
CN110471835A (zh) | 一种基于电力信息系统代码文件的相似度检测方法及系统 | |
CN105701076A (zh) | 一种论文抄袭检测方法及系统 | |
CN111177356A (zh) | 一种酸碱指标医疗大数据分析方法及系统 | |
CN110389941A (zh) | 数据库校验方法、装置、设备及存储介质 | |
CN117807481B (zh) | 故障识别方法、模型的训练方法、装置、设备以及介质 | |
CN112380534A (zh) | 一种基于电路结构分析的硬件木马检测方法 | |
CN107885628A (zh) | 一种磁盘i/o性能的测试方法、装置及设备 | |
CN107729769A (zh) | 数据完整性保护方法、设备、系统及可读存储介质 | |
CN109710773A (zh) | 事件主体的生成方法及其装置 | |
CN105701086A (zh) | 一种滑动窗口文献检测方法及系统 | |
CN107016028A (zh) | 数据处理方法及其设备 | |
CN111311201A (zh) | 一种智能化项目匹配分析工具及其实现方法 | |
CN115438129A (zh) | 结构化数据的分类方法、装置及终端设备 | |
CN114782224A (zh) | 基于用户特征的网页考评作弊监测方法、装置及电子设备 | |
CN110297989B (zh) | 异常检测的测试方法、装置、设备和介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20180223 |
|
RJ01 | Rejection of invention patent application after publication |