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
- read
- clip
- crc
- calculating
- 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
- 238000000034 method Methods 0.000 title claims abstract description 33
- 239000012634 fragment Substances 0.000 claims abstract description 57
- 238000001514 detection method Methods 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims 1
- 125000004122 cyclic group Chemical group 0.000 abstract description 57
- 238000012795 verification Methods 0.000 abstract description 5
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
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 |
---|---|---|
KR101711882B1 (ko) | 악성 취약점 파일을 검출하기 위한 방법, 장치 및 단말기 | |
CN111124305B (zh) | 固态硬盘磨损均衡方法、装置及计算机可读存储介质 | |
WO2017032265A1 (zh) | 一种应用推送方法、装置及服务设备 | |
US11461411B2 (en) | System and method for parsing visual information to extract data elements from randomly formatted digital documents | |
US20150279070A1 (en) | Automatically Fixing Inaccessible Widgets During Mobile Application Execution | |
CN109445861A (zh) | 系统启动方法、装置、计算机装置及存储介质 | |
CN115129679A (zh) | 通过日志文件的关键区域的基于机器学习的识别进行服务请求补救 | |
CN105446964A (zh) | 用于文件的重复数据删除的方法及装置 | |
CN103617260A (zh) | 重复数据删除的索引生成方法及装置 | |
US20190129646A1 (en) | Method, system, and computer program product for managing storage system | |
CN110704226B (zh) | 数据校验方法、装置及存储介质 | |
CN111159167A (zh) | 标注质量检测装置和方法 | |
CN105204968A (zh) | 一种故障内存检测方法和装置 | |
CN106897116A (zh) | 一种虚拟机迁移方法及装置 | |
US10423495B1 (en) | Deduplication grouping | |
CN105302924A (zh) | 一种文件管理方法及装置 | |
CN106648953A (zh) | 一种文件完整性检查方法及装置 | |
US20200133860A1 (en) | Method, device and computer program product for validating cache file | |
CN110647931A (zh) | 物体检测方法、电子设备、系统及介质 | |
CN102497597A (zh) | 高清视频文件的完整性校验方法 | |
US20140337301A1 (en) | Big data extraction system and method | |
CN104853061B (zh) | 一种基于Hadoop的视频处理方法及系统 | |
CN106599320A (zh) | 一种文件信息摘要值计算方法及装置 | |
CN118335267B (zh) | 一种基于化学表面处理的橡胶塑形强度优化方法及装置 | |
CN114731410B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170510 |