CN106648953A - 一种文件完整性检查方法及装置 - Google Patents
一种文件完整性检查方法及装置 Download PDFInfo
- Publication number
- CN106648953A CN106648953A CN201611265022.6A CN201611265022A CN106648953A CN 106648953 A CN106648953 A CN 106648953A CN 201611265022 A CN201611265022 A CN 201611265022A CN 106648953 A CN106648953 A CN 106648953A
- Authority
- CN
- China
- Prior art keywords
- file
- clip
- crc
- read
- clip file
- 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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/085—Error detection or correction by redundancy in data representation, e.g. by using checking codes using codes with inherent redundancy, e.g. n-out-of-m codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件完整性检查方法及装置,方法包括:将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码;根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。本发明文件完整性检查方法及装置中,将文件分成多个片段,以并行方式分别读取各片段文件进行校验码计算,与现有计算整个文件的循环冗余校验码方法相比,以并行方式计算片段文件校验码的耗时少,减少了计算时间,可减少文件完整性检查的耗时。
Description
技术领域
本发明涉及云存储技术领域,特别是涉及一种文件完整性检查方法及装置。
背景技术
在虚拟化管理平台,会大量地创建虚拟机,在创建完虚拟机后需要为虚拟机安装系统,而安装系统需要不同系统的镜像文件,一般会将镜像文件上传到服务端进行管理。由于镜像文件都比较大,而且存放时间长,在管理中需要周期性的对文件进行完整性检查,以保证为用户提供镜像可用性的信息。
现有技术中,对文件进行完整性检查,是通过计算文件的循环冗余校验码,将当前计算出的校验码与文件原始的校验码比对,判断是否相同,来检查当前文件是否完整。然而,对于容量较大的文件计算校验码耗时长,导致文件的完整性检查非常耗时。
发明内容
本发明的目的是提供一种文件完整性检查方法及装置,可减少文件完整性检查的耗时。
为实现上述目的,本发明提供如下技术方案:
一种文件完整性检查方法,包括:
将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码;
根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。
可选地,将所述文件分成容量相等的多个片段。
可选地,所述以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:
创建分别与各片段文件对应的多个线程,每一所述线程以文件流方式读取对应的片段文件,计算所读取片段文件的循环冗余校验码。
可选地,所述根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整包括:
分别将计算得到的各片段文件的循环冗余校验码,与对应片段文件的原始循环冗余校验码进行比对,检查各片段文件是否完整。
可选地,还包括:检测文件的容量大小;
所述将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:当所述文件的容量大于阈值时,将所述文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
一种文件完整性检查装置,包括:
计算模块,用于将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码;
检查模块,用于根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。
可选地,所述计算模块用于将文件分成多个片段包括:
所述计算模块具体用于将所述文件分成容量相等的多个片段。
可选地,所述计算模块用于以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:
所述计算模块具体用于创建分别与各片段文件对应的多个线程,每一所述线程以文件流方式读取对应的片段文件,计算所读取片段文件的循环冗余校验码。
可选地,所述检查模块用于根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整包括:
所述检查模块具体用于分别将计算得到的各片段文件的循环冗余校验码,与对应片段文件的原始循环冗余校验码进行比对,检查各片段文件是否完整。
可选地,还包括检测模块,用于检测文件的容量大小;
所述计算模块用于将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:
所述计算模块具体用于当所述文件的容量大于阈值时,将所述文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
由上述技术方案可知,本发明所提供的文件完整性检查方法及装置,将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码,根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。本文件完整性检查方法及装置中,将文件分成多个片段,以并行方式分别读取各片段文件进行校验码计算,与现有计算整个文件的循环冗余校验码方法相比,以并行方式计算片段文件校验码的耗时少,减少了计算时间,可减少文件完整性检查的耗时。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种文件完整性检查方法的流程图;
图2为本发明实施例提供的一种文件完整性检查装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
请参考图1,本发明实施例提供的一种文件完整性检查方法,包括步骤:
S10:将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
对文件数据进行逻辑分段,分段是连续的,分成多个片段文件。
以并行方式同时分别读取各片段文件,在读取中计算片段文件的循环冗余校验码,可获得各片段文件的循环冗余校验码。
S11:根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。
可以看出,本实施例文件完整性检查方法,将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码,根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。本实施例文件完整性检查方法中,将文件分成多个片段,以并行方式分别读取各片段文件进行校验码计算,与现有计算整个文件的循环冗余校验码方法相比,以并行方式计算片段文件校验码的耗时少,减少了计算时间,可减少文件完整性检查的耗时。
下面对本实施例文件完整性检查方法作进一步说明。本实施例文件完整性检查方法包括步骤:
S10:将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
对文件数据进行逻辑分段,分段是连续的,分成多个片段文件。
分成的各片段文件的容量大小可以相等,也可以不同。优选的,文件分成的各片段文件容量相等,这样有助于计算校验码时计算时间具有一致性。例如,大小为1G的文件可以分为四段,每片段为250M。
具体的,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码的方法包括:创建分别与各片段文件对应的多个线程,每一所述线程以文件流方式读取对应的片段文件,计算所读取片段文件的循环冗余校验码。
创建多个线程,各线程分别对应各片段文件,每一线程读取对应的片段文件,各线程同时进行读取。具体的,每一线程创建一个文件流,以文件流方式读取片段文件,在读取中计算片段文件的循环冗余校验码。
S11:根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。
由于文件的循环冗余校验码是分段计算的,每一片段文件对应一个循环冗余校验码,因此在检查文件完整性时相应需要分别对每片段文件进行完整性检查,从而检查整个文件是否完整。
具体方法为:分别将计算得到的各片段文件的循环冗余校验码,与对应片段文件的原始循环冗余校验码进行比对,检查各片段文件是否完整。若计算得到的片段文件的校验码与该片段文件的原始校验码一致,则表明该片段文件当前完整,若不一致则表明该片段文件当前不完整。若各个片段文件均完整,则表明整个文件完整。
进一步的,本实施例文件完整性检查方法还包括:检测文件的容量大小。
所述步骤S10将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:当所述文件的容量大于阈值时,将所述文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
因此,本实施例文件完整性检查方法,将文件分成多个片段,以并行方式分别读取各片段文件进行校验码计算,与现有计算整个文件的循环冗余校验码方法相比,以并行方式计算片段文件校验码的耗时少,减少了计算时间,提高了计算效率,可减少文件完整性检查的耗时。
相应的,请参考图2,本发明实施例还提供一种文件完整性检查装置,包括:
计算模块20,用于将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码;
检查模块21,用于根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。
可以看出,本实施例文件完整性检查装置包括计算模块和检查模块,计算模块将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码,检查模块根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。本实施例文件完整性检查装置中,将文件分成多个片段,以并行方式分别读取各片段文件进行校验码计算,与现有计算整个文件的循环冗余校验码方法相比,以并行方式计算片段文件校验码的耗时少,减少了计算时间,可减少文件完整性检查的耗时。
本实施例中,计算模块20将文件分成多个片段,分成的各片段文件的容量大小可以相等,也可以不同。优选的,所述计算模块20具体用于将所述文件分成容量相等的多个片段,这样有助于计算校验码时计算时间具有一致性。
所述计算模块20以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码,具体为:所述计算模块20具体用于创建分别与各片段文件对应的多个线程,每一所述线程以文件流方式读取对应的片段文件,计算所读取片段文件的循环冗余校验码。
计算模块创建多个线程,各线程分别对应各片段文件,每一线程读取对应的片段文件,各线程同时进行读取。具体的,每一线程创建一个文件流,以文件流方式读取片段文件,在读取中计算片段文件的循环冗余校验码。
由于文件的循环冗余校验码是分段计算的,每一片段文件对应一个循环冗余校验码,因此在检查文件完整性时相应需要分别对每片段文件进行完整性检查,从而检查整个文件是否完整。具体的,所述检查模块21具体用于分别将计算得到的各片段文件的循环冗余校验码,与对应片段文件的原始循环冗余校验码进行比对,检查各片段文件是否完整。若计算得到的片段文件的校验码与该片段文件的原始校验码一致,则表明该片段文件当前完整,若不一致则表明该片段文件当前不完整。若各个片段文件均完整,则表明整个文件完整。
进一步的,本实施例文件完整性检查装置还包括检测模块,用于检测文件的容量大小;所述计算模块20具体用于当所述文件的容量大于阈值时,将所述文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
以上对本发明所提供的一种文件完整性检查方法及装置进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (10)
1.一种文件完整性检查方法,其特征在于,包括:
将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码;
根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。
2.根据权利要求1所述的文件完整性检查方法,其特征在于,将所述文件分成容量相等的多个片段。
3.根据权利要求1所述的文件完整性检查方法,其特征在于,所述以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:
创建分别与各片段文件对应的多个线程,每一所述线程以文件流方式读取对应的片段文件,计算所读取片段文件的循环冗余校验码。
4.根据权利要求1所述的文件完整性检查方法,其特征在于,所述根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整包括:
分别将计算得到的各片段文件的循环冗余校验码,与对应片段文件的原始循环冗余校验码进行比对,检查各片段文件是否完整。
5.根据权利要求1-4任一项所述的文件完整性检查方法,其特征在于,还包括:检测文件的容量大小;
所述将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:当所述文件的容量大于阈值时,将所述文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
6.一种文件完整性检查装置,其特征在于,包括:
计算模块,用于将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码;
检查模块,用于根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整。
7.根据权利要求6所述的文件完整性检查装置,其特征在于,所述计算模块用于将文件分成多个片段包括:
所述计算模块具体用于将所述文件分成容量相等的多个片段。
8.根据权利要求6所述的文件完整性检查装置,其特征在于,所述计算模块用于以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:
所述计算模块具体用于创建分别与各片段文件对应的多个线程,每一所述线程以文件流方式读取对应的片段文件,计算所读取片段文件的循环冗余校验码。
9.根据权利要求6所述的文件完整性检查装置,其特征在于,所述检查模块用于根据计算得到的各片段文件的循环冗余校验码,检查文件是否完整包括:
所述检查模块具体用于分别将计算得到的各片段文件的循环冗余校验码,与对应片段文件的原始循环冗余校验码进行比对,检查各片段文件是否完整。
10.根据权利要求6-9任一项所述的文件完整性检查装置,其特征在于,还包括检测模块,用于检测文件的容量大小;
所述计算模块用于将文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码包括:
所述计算模块具体用于当所述文件的容量大于阈值时,将所述文件分成多个片段,以并行方式分别读取各片段文件,计算所读取片段文件的循环冗余校验码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265022.6A CN106648953A (zh) | 2016-12-30 | 2016-12-30 | 一种文件完整性检查方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611265022.6A CN106648953A (zh) | 2016-12-30 | 2016-12-30 | 一种文件完整性检查方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106648953A true CN106648953A (zh) | 2017-05-10 |
Family
ID=58837311
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611265022.6A Pending CN106648953A (zh) | 2016-12-30 | 2016-12-30 | 一种文件完整性检查方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106648953A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324497A (zh) * | 2020-02-20 | 2020-06-23 | 杭州涂鸦信息技术有限公司 | 一种linux系统分区自检方法及系统 |
CN113536309A (zh) * | 2021-07-07 | 2021-10-22 | 浙江中控技术股份有限公司 | 软件完整性的检测方法、装置、电子装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137089A (zh) * | 2010-11-01 | 2011-07-27 | 华为技术有限公司 | 验证流媒体内容完整性的方法、设备以及系统 |
US20130173968A1 (en) * | 2011-12-28 | 2013-07-04 | Roche Diagnostics Operations, Inc. | Dynamic link library integrity checking for handheld medical devices |
CN104580441A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 局域网内的数据分发方法、服务器及终端设备 |
-
2016
- 2016-12-30 CN CN201611265022.6A patent/CN106648953A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137089A (zh) * | 2010-11-01 | 2011-07-27 | 华为技术有限公司 | 验证流媒体内容完整性的方法、设备以及系统 |
US20130173968A1 (en) * | 2011-12-28 | 2013-07-04 | Roche Diagnostics Operations, Inc. | Dynamic link library integrity checking for handheld medical devices |
CN104580441A (zh) * | 2014-12-30 | 2015-04-29 | 北京奇虎科技有限公司 | 局域网内的数据分发方法、服务器及终端设备 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111324497A (zh) * | 2020-02-20 | 2020-06-23 | 杭州涂鸦信息技术有限公司 | 一种linux系统分区自检方法及系统 |
CN111324497B (zh) * | 2020-02-20 | 2023-10-27 | 杭州涂鸦信息技术有限公司 | 一种linux系统分区自检方法及系统 |
CN113536309A (zh) * | 2021-07-07 | 2021-10-22 | 浙江中控技术股份有限公司 | 软件完整性的检测方法、装置、电子装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9304856B2 (en) | Implementing ECC control for enhanced endurance and data retention of flash memories | |
CN109189405A (zh) | 一种验证程序Flash数据一致性的方法及系统 | |
CN104268291A (zh) | 一种数据一致性处理方法和系统 | |
CN113642858B (zh) | 一种基于云平台数据库的智慧用电管理系统 | |
CN106648953A (zh) | 一种文件完整性检查方法及装置 | |
CN103208313B (zh) | 一种检测方法及系统 | |
CN109470918B (zh) | Ir46电能表的电量数据处理方法和ir46电能表 | |
CN105203120A (zh) | 导航路线评测方法及装置 | |
CN110058952B (zh) | 一种嵌入式设备文件的校验方法及系统 | |
CN103226505A (zh) | 一种校验基本输入输出系统bios的方法及设备 | |
CN110704226A (zh) | 数据校验方法、装置及存储介质 | |
CN102799494B (zh) | 一种校验内存中应用程序的方法和装置 | |
CN111694843A (zh) | 缺失号码检测方法、装置、电子设备及存储介质 | |
CN110796129A (zh) | 一种文本行区域检测方法及装置 | |
US20160179168A1 (en) | Electronic device and method for detecting power usage of electronic device | |
CN116974934A (zh) | 一种内存泄漏检测方法、装置、设备和存储介质 | |
CN103294606A (zh) | 一种分配内存及检测内存溢出的方法和装置 | |
CN116045906A (zh) | 最小建筑限界检测方法、装置及服务器 | |
CN110659280A (zh) | 道路阻断异常检测方法、装置、计算机设备及存储介质 | |
CN106649038B (zh) | 硬盘控制系统 | |
CN106933750A (zh) | 用于多级缓存中数据及状态的验证方法及装置 | |
CN104636279A (zh) | 地址分配识别方法和地址分配识别电路 | |
CN108846588A (zh) | 重负荷下配电网事故安全预防及恢复能力评估方法和装置 | |
CN114707601A (zh) | 基于新能源摩托车的检验信息处理方法、系统及云平台 | |
CN105607726B (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: 20170510 |
|
RJ01 | Rejection of invention patent application after publication |