CN114168079A - 一种识别磁盘删除的tiff类型数据的方法、装置及相关组件 - Google Patents
一种识别磁盘删除的tiff类型数据的方法、装置及相关组件 Download PDFInfo
- Publication number
- CN114168079A CN114168079A CN202111498302.2A CN202111498302A CN114168079A CN 114168079 A CN114168079 A CN 114168079A CN 202111498302 A CN202111498302 A CN 202111498302A CN 114168079 A CN114168079 A CN 114168079A
- Authority
- CN
- China
- Prior art keywords
- data
- directory entry
- ifd
- file
- directory
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 201000007946 Congenital intrinsic factor deficiency Diseases 0.000 claims abstract description 114
- 208000034419 hereditary intrinsic factor deficiency Diseases 0.000 claims abstract description 114
- 238000006243 chemical reaction Methods 0.000 claims abstract description 39
- 238000004458 analytical method Methods 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 14
- 238000012217 deletion Methods 0.000 claims description 13
- 230000037430 deletion Effects 0.000 claims description 13
- 238000013500 data storage Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 3
- 230000009466 transformation Effects 0.000 claims 2
- 238000010586 diagram Methods 0.000 description 10
- 238000011084 recovery Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0652—Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0661—Format or protocol conversion arrangements
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种识别磁盘删除的tiff类型数据的方法、装置及相关组件。该方法包括解析TIFF文件的文件头部;解析第一个IFD,得到目录项数据,并执行所述目录项数据的转换;遍历每一目录项,并对每一目录项的数据值进行字节转换,得到对应的解析数据;从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将中间数据值存储至的整数数组中;继续解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。该方法在TIFF文件内部包含一个或多个JPEG文件的情况下,计算出来的文件大小信息较为准确,且查询的速度较快。
Description
技术领域
本发明涉及硬盘删除数据找回与文件恢复领域,尤其涉及一种识别磁盘删除的tiff类型数据的方法、装置及相关组件。
背景技术
目前,现有的在硬盘中识别TIFF(Tag Image File Format)类型文件大小的方案是通过查找同一个文件头部标识和文件尾部标识在硬盘位置(例如A文件头部标识在硬盘的位置是739282944,尾部标识在硬盘的位置是741439976,这两个位置值相减便能得到文件大小2157032)、或查找不同文件的文件头部标识在硬盘中的位置,进而相减得到文件大小。
例如A文件头部标识在硬盘的位置是739282944,假设这类文件没有尾部标识,但是在A文件之后找到一个B文件的头部标识,位置为741439976,则可以使用这两个位置相减得到A文件大小2157032,不过这个文件大小是不准确的。
这样的方案在遇到有多个文件尾部标识或者一个类型文件可能由多个其他类型文件组成的情况时,例如本文的TIFF文件,TIFF文件内部包含一个或多个JPEG文件,计算出来的文件大小信息不准确,而且这样的方法导致查询的速度较慢。
发明内容
本发明的目的是提供一种识别磁盘删除的tiff类型数据的方法、装置及相关组件,旨在解决在TIFF文件内部包含一个或多个JPEG文件的情况下,计算出来的文件大小信息不准确,且查询的速度较慢的问题。
为解决上述技术问题,本发明的目的是通过以下技术方案实现的:提供一种识别磁盘删除的tiff类型数据的方法,其包括:
解析TIFF文件的文件头部,得到文件字节序的数据以及第一个IFD的偏移值的数据;
利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,其中,所述目录项数据包含目录项的数量、多个目录项的数据值、下一个IFD的偏移值的数据;
目录项数据的转换:遍历每一目录项,并对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据;根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;
继续基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;
在解析完所有的IFD后,遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。
另外,本发明要解决的技术问题是还在于提供一种识别磁盘删除的tiff类型数据的装置,其包括:
获取单元,用于解析TIFF文件的文件头部,得到文件字节序的数据以及第一个IFD的偏移值的数据;
解析单元,用于利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,其中,所述目录项数据包含目录项的数量、多个目录项的数据值、下一个IFD的偏移值的数据;
转换单元,用于目录项数据的转换:遍历每一目录项,并对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据;根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;
遍历单元,用于继续基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;
选取单元,用于在解析完所有的IFD后,遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。
另外,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的识别磁盘删除的tiff类型数据的方法。
另外,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的识别磁盘删除的tiff类型数据的方法。
本发明实施例公开了一种识别磁盘删除的tiff类型数据的方法、装置及相关组件,其中,方法包括:解析TIFF文件的文件头部,得到文件字节序的数据以及第一个IFD的偏移值的数据;利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,其中,所述目录项数据包含目录项的数量、多个目录项的数据值、下一个IFD的偏移值的数据;目录项数据的转换:遍历每一目录项,并对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据;根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;继续基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;在解析完所有的IFD后,遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。
该方法在TIFF文件内部包含一个或多个JPEG文件的情况下,,能够准确且快速找到最大的中间数据值,即所要知道的TIFF文件大小,从而使得计算出来的文件大小信息较为准确,以及查询的速度较快,能够显著提高用户的体验舒适性。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的识别磁盘删除的tiff类型数据的方法的流程示意图;
图2为本发明实施例提供的TIFF文件的结构示意图;
图3为本发明实施例提供的IFD的结构示意图;
图4为本发明实施例提供的目录项的结构示意图;
图5为本发明实施例提供的识别磁盘删除的tiff类型数据的方法的结构示意图;
图6为本发明实施例提供的数据存储类型与字节长度的对应关系示意图;
图7为本发明实施例提供的识别磁盘删除的tiff类型数据的装置的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图1,图1为本发明实施例提供的识别磁盘删除的tiff类型数据的方法的流程示意图;
如图1所示,该方法包括步骤S101~S105。
S101、解析TIFF文件的文件头部,得到文件字节序的数据以及第一个IFD的偏移值的数据;
S102、利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,其中,所述目录项数据包含目录项的数量、多个目录项的数据值、下一个IFD的偏移值的数据;
S103、目录项数据的转换:遍历每一目录项,并对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据;根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;
S104、继续基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;
S105、在解析完所有的IFD后,遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。
如图2、图3、图4所示,一个TIFF的文件结构包括TIFF头部、IFD和目录项(Directory Entry);其中,TIFF头部包含三个部分字节序、魔法数(一般为42)和第一个IFD的偏移值;IFD包含三个部分:Directory Entry的数量、Directory Entry与下一个IFD偏移;目录项(Directory Entry)包含4个部分:Directory Entry类型(Tag)、数据存储类型(Type)、数据类型数量(Count)和数据或数据偏移(Value or Offset)。
结合图5,在本实施例中,先获取TIFF文件的文件头部,然后对获取的TIFF文件的文件头部进行解析,得到文件字节序的数据以及第一个IFD的偏移值的数据;然后第一个IFD的偏移值的数据,找到第一个IFD的位置,然后利用所述文件字节序的数据,获取对应的目录项数据,为了得到目录项数据的具体内容,需要对目录项数据进行字节转换,并得到各所述目录项的解析数据,然后搜索出符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;由于一个TIFF文件中可能包括有多个IFD,所以需要遍历解析每一个IFD,直到把所有的IFD中得到的中间数据值全部存储至整数数组后,筛选出整数数组中最大的一个中间数据值,并将该最大的中间数据值作为TIFF文件大小;需要说明的是,本申请的整数数组为4字节无符号整数数组。
本申请的识别磁盘删除的tiff类型数据的方法在TIFF文件内部包含一个或多个JPEG文件的情况下,能够准确且快速找到最大的中间数据值,即所要知道的TIFF文件大小,从而使得计算出来的文件大小信息较为准确,以及查询的速度较快,能够显著提高用户的体验舒适性。
具体一实施例中,所述步骤S102之前,包括以下步骤:
S10、基于所述文件字节序的数据,判断所述TIFF文件的文件头部是否正常,若所述TIFF文件的文件头部异常,则结束流程,若所述TIFF文件的文件头部正常,则继续执行下一步骤。
由于本申请的文件是删除文件,所以文件的具体数据容易被覆盖,所以需要先判断TIFF文件的文件头部是否正常,若是正常则可以继续执行步骤S102,若是异常,则说明文件的具体数据被覆盖了,也就不能通过利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析出第一个IFD,所以结束流程。
具体的,所述步骤S10包括以下步骤:
S20、检查文件字节序的数据值是否是“II”或“MM”,若所述字节序的值是“II”或“MM”,则判定所述TIFF文件的文件头部正常,若所述字节序的值不是“II”或“MM”,则判定所述TIFF文件的文件头部异常。
在本实施例中,“II”或“MM”是TIFF文件的文件头部的头2个字节,在TIFF规范文档中,字节序只能是“II”或“MM”,若字节序是其他的字节,则说明该文件是非规范的。
具体一实施例中,所述步骤S102包括以下步骤:
S30、提取第一个IFD的偏移值的数据找到第一个IFD的位置;
S31、根据所述文字字节序的数据将第一个IFD的头2个字节转换成2字节的无符号整数,将所述2字节的无符号整数作为目录项的数量;
S32、将所述第一个IFD的最后4个字节转换成4字节的无符号整数,将所述4字节的无符号整数作为下一个IFD的偏移值的数据。
在本实施例中,基于步骤S101中解析TIFF文件的文件头部,得到的文件字节序的数据,进而找到第一个IFD的位置,然后将第一个IFD的头2个字节转换成2字节的无符号整数,就可得知第一个IFD中共有多少个目录项(Directory Entry),即Directory Entry的数量,例如第一个IFD共有两个目录项,则Directory Entry数量转换后的无符号整数为2,且Directory Entry数量占据头2个字节,需要说明的是,每一目录项占据12个字节,例如假设Directory Entry数量值的位置在A,则第一个目录项的位置为X+2,第2个目录项的位置为X+14,以此类推,第B个目录项的位置为A+2+(B-1)*12;而下一个IFD的偏移量的位置为A+2+B*12。
在步骤S32中,只有先将IFD的最后4个字节转换成4字节的无符号整数,才能依据下一个IFD的偏移值的数据找到下一个IFD。
具体一实施例中,所述步骤S103中的对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据,包括以下步骤:
S40、基于所述目录项的数量,获取当前目录项的起始位置X;
S41、并将位置X和位置X+1的2个字节转换为2字节的无符号整数,作为目录项的类型;
S42、将位置X+2和位置X+3的2个字节转换为2字节的无符号整数,作为目录项的数据存储类型;
S43、将位置X+4到位置X+7的4个字节转换为4字节的无符号整数,作为目录项的数据类型数量;
S44、根据当前目录项的数据存储类型查找得到对应的字节长度,并将当前目录项的字节长度与数据类型数量相乘,得到数据量数值;
S45、判断所述数据量数值是否大于4个字节,若所述数据量数值小于4个字节,则执行步骤S46,若当前所述数据量数值大于4个字节,则执行步骤S47;
S46、将位置X+8到位置X+11的4个字节转换为4字节数据进行解析;
S47、将位置X+8到位置X+11的4个字节转换为4字节的无符号整数,获得偏移值,并根据所述偏移值对偏移位置上的数据进行解析。
需要说明的是,如图4所示,目录项的类型即Tag,目录项的数据存储类型即Type,目录项的数据类型数量即Count;在步骤S44中,利用如图6所示的数据存储类型与字节长度的对应关系表,找到对应的字节长度,并将当前目录项的字节长度与数据类型数量相乘,得到数据量数值,假设需要解析类型为273和类型为279的Directory Entry,它们的数据存储类型为4,所以在图6所示的关系表中可以找到对应的字节长度为4字节。假如它们的数据类型数量(Count)的值为1,则类型为273和类型为279的Directory Entry的数据量数值分别为4字节,刚好可以填满Directory Entry的最后4个字节;假如它们的数据类型数量的值为2,则类型为273和类型为279的Directory Entry的数据量数值分别为8字节,则要大于Directory Entry的最后4个字节,所以类型为273和类型为279的Directory Entry的数据值需要存储到文件的其他位置(即偏移量),而Directory Entry的最后4个字节存储这个位置的偏移量。
具体一实施例中,所述步骤S103中的根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中,包括:
S50、从各所述目录项中搜索类型分别为偏移位置标签和长度标签的两个目标目录项;
S51、将搜索到的两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中。
需要说明的是,每一个目录项有且只有一个类型值,这个类型值代表着这个Directory Entry包含了特定数据。例如本申请中偏移位置标签即类型值为273的图像数据的偏移位置(StripOffsets),长度标签即类型值为279的图像数据的长度(StripByteCounts),其中,一个目录项中可能有多个StripOffsets或多个StripByteCounts,也有可能一个目录项中只有StripOffsets或只有StripByteCounts的情况,若一个目录项中只有StripOffsets或只有StripByteCounts,则直接进入所述步骤S104。
具体一实施例中,所述步骤S104中基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,包括:
S60、判断下一个IFD的偏移值的数据是否等于0,若等于0,则判定没有下一IFD,若不等于0,则判定还有IFD,且继续基于所述下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换。
通过判断下一个IFD的偏移值的数据是否等于0的结果,可以清楚的识别出TIFF文件是否还有其他的IFD,若TIFF文件中还有其他的IFD,则利用所述下一个IFD的偏移值的数据找到下一个IFD的位置,然后返回步骤S102,以对找到的IFD进行解析以及目录项数据的转换。
本发明实施例还提供一种识别磁盘删除的tiff类型数据的装置,该识别磁盘删除的tiff类型数据的装置用于执行前述识别磁盘删除的tiff类型数据的方法的任一实施例。具体地,请参阅图7,图7是本发明实施例提供的识别磁盘删除的tiff类型数据的装置的示意性框图。
如图7所示,识别磁盘删除的tiff类型数据的装置500,包括:
获取单元501,用于解析TIFF文件的文件头部,得到文件字节序的数据以及第一个IFD的偏移值的数据;
解析单元502,用于利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,其中,所述目录项数据包含目录项的数量、多个目录项的数据值、下一个IFD的偏移值的数据;
转换单元503,用于目录项数据的转换:遍历每一目录项,并对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据;根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;
遍历单元504,用于继续基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;
选取单元505,用于在解析完所有的IFD后,遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。
该装置在TIFF文件内部包含一个或多个JPEG文件的情况下,,能够准确且快速找到最大的中间数据值,即所要知道的TIFF文件大小,从而使得计算出来的文件大小信息较为准确,以及查询的速度较快,能够显著提高用户的体验舒适性。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述识别磁盘删除的tiff类型数据的装置可以实现为计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本发明实施例提供的计算机设备的示意性框图。该计算机设备1100是服务器,服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图8,该计算机设备1100包括通过系统总线1101连接的处理器1102、存储器和网络接口1105,其中,存储器可以包括非易失性存储介质1103和内存储器1104。
该非易失性存储介质1103可存储操作系统11031和计算机程序11032。该计算机程序11032被执行时,可使得处理器1102执行识别磁盘删除的tiff类型数据的方法。
该处理器1102用于提供计算和控制能力,支撑整个计算机设备1100的运行。
该内存储器1104为非易失性存储介质1103中的计算机程序11032的运行提供环境,该计算机程序11032被处理器1102执行时,可使得处理器1102执行识别磁盘删除的tiff类型数据的方法。
该网络接口1105用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图8中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备1100的限定,具体的计算机设备1100可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域技术人员可以理解,图8中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图8所示实施例一致,在此不再赘述。
应当理解,在本发明实施例中,处理器1102可以是中央处理单元(CentralProcessing Unit,CPU),该处理器1102还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例的识别磁盘删除的tiff类型数据的方法。
所述存储介质为实体的、非瞬时性的存储介质,例如可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的实体存储介质。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种识别磁盘删除的TIFF类型数据的方法,其特征在于,包括:
解析TIFF文件的文件头部,得到文件字节序的数据以及第一个IFD的偏移值的数据;
利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,其中,所述目录项数据包含目录项的数量、多个目录项的数据值、下一个IFD的偏移值的数据;
目录项数据的转换:遍历每一目录项,并对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据;根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;
继续基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;
在解析完所有的IFD后,遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。
2.根据权利要求1所述的识别磁盘删除的TIFF类型数据的方法,其特征在于,所述利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据之前,包括:
基于所述文件字节序的数据,判断所述TIFF文件的文件头部是否正常,若所述TIFF文件的文件头部异常,则结束流程,若所述TIFF文件的文件头部正常,则继续执行下一步骤。
3.根据权利要求2所述的识别磁盘删除的TIFF类型数据的方法,其特征在于,所述基于所述文件字节序的数据,判断所述TIFF文件的文件头部是否正常,包括:
检查文件字节序的数据值是否是“II”或“MM”,若所述字节序的值是“II”或“MM”,则判定所述TIFF文件的文件头部正常,若所述字节序的值不是“II”或“MM”,则判定所述TIFF文件的文件头部异常。
4.根据权利要求1所述的识别磁盘删除的TIFF类型数据的方法,其特征在于,所述对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据,包括:
基于所述目录项的数量,获取当前目录项的起始位置X;
并将位置X和位置X+1的2个字节转换为2字节的无符号整数,作为目录项的类型;
将位置X+2和位置X+3的2个字节转换为2字节的无符号整数,作为目录项的数据存储类型;
将位置X+4到位置X+7的4个字节转换为4字节的无符号整数,作为目录项的数据类型数量;
根据当前目录项的数据存储类型查找得到对应的字节长度,并将当前目录项的字节长度与数据类型数量相乘,得到数据量数值;
判断所述数据量数值是否大于4个字节,若所述数据量数值小于4个字节,则将位置X+8到位置X+11的4个字节转换为4字节数据进行解析;若当前所述数据量数值大于4个字节,则将位置X+8到位置X+11的4个字节转换为4字节的无符号整数,获得偏移值,并根据所述偏移值对偏移位置上的数据进行解析。
5.根据权利要求1所述的识别磁盘删除的TIFF类型数据的方法,其特征在于,所述根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中,包括:
从各所述目录项中搜索类型分别为偏移位置标签和长度标签的两个目标目录项;
将搜索到的两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中。
6.根据权利要求1所述的识别磁盘删除的TIFF类型数据的方法,其特征在于,所述基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,包括:
判断下一个IFD的偏移值的数据是否等于0,若等于0,则判定没有下一IFD,若不等于0,则判定还有IFD,且继续基于所述下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换。
7.根据权利要求1所述的识别磁盘删除的TIFF类型数据的方法,其特征在于,所述利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,包括
提取第一个IFD的偏移值的数据找到第一个IFD的位置;
根据所述文字字节序的数据将第一个IFD的头2个字节转换成2字节的无符号整数,将所述2字节的无符号整数作为目录项的数量;
将所述第一个IFD的最后4个字节转换成4字节的无符号整数,将所述4字节的无符号整数作为下一个IFD的偏移值的数据。
8.一种识别磁盘删除的tiff类型数据的装置,其特征在于,包括:
获取单元,用于解析TIFF文件的文件头部,得到文件字节序的数据以及第一个IFD的偏移值的数据;
解析单元,用于利用所述文件字节序的数据以及第一个IFD的偏移值的数据解析第一个IFD,得到对应的目录项数据,并执行所述目录项数据的转换,其中,所述目录项数据包含目录项的数量、多个目录项的数据值、下一个IFD的偏移值的数据;
转换单元,用于目录项数据的转换:遍历每一目录项,并对每一目录项的数据值进行字节转换,得到各所述目录项的解析数据;根据所述解析数据从各所述目录项中搜索符合类型要求的两个目标目录项,将两个所述目标目录项对应的终值相加,并将相加得到的中间数据值存储至预先定义的整数数组中;
遍历单元,用于继续基于下一个IFD的偏移值的数据解析下一个IFD,得到对应的目录项数据,并执行目录项数据的转换,直至解析完所有的IFD;
选取单元,用于在解析完所有的IFD后,遍历所述整数数组中所有的中间数据值,并取最大值作为TIFF文件大小。
9.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述的识别磁盘删除的tiff类型数据的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行如权利要求1至7任一项所述的识别磁盘删除的tiff类型数据的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111498302.2A CN114168079B (zh) | 2021-12-09 | 2021-12-09 | 一种识别磁盘删除的tiff类型数据的方法、装置及相关组件 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111498302.2A CN114168079B (zh) | 2021-12-09 | 2021-12-09 | 一种识别磁盘删除的tiff类型数据的方法、装置及相关组件 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114168079A true CN114168079A (zh) | 2022-03-11 |
CN114168079B CN114168079B (zh) | 2023-08-22 |
Family
ID=80484884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111498302.2A Active CN114168079B (zh) | 2021-12-09 | 2021-12-09 | 一种识别磁盘删除的tiff类型数据的方法、装置及相关组件 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114168079B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001088730A1 (en) * | 2000-05-17 | 2001-11-22 | Heidelberg Digital L.L.C. | Method and system for enhancing the printing performance of a bitmap-containing file |
US20020165707A1 (en) * | 2001-02-26 | 2002-11-07 | Call Charles G. | Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers |
JP2006135766A (ja) * | 2004-11-08 | 2006-05-25 | Nikon Corp | 画像処理装置およびプログラム |
CN104517045A (zh) * | 2013-09-26 | 2015-04-15 | 上海中移通信技术工程有限公司 | 数字文档保护方法及系统 |
CN105979235A (zh) * | 2016-05-30 | 2016-09-28 | 努比亚技术有限公司 | 一种图像处理方法及终端 |
WO2018014801A1 (zh) * | 2016-07-19 | 2018-01-25 | 紫光华山信息技术有限公司 | 镜像文件的处理 |
CN108090168A (zh) * | 2017-12-14 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | 一种通用f2fs文件系统解析方法、终端设备及存储介质 |
JP2019029778A (ja) * | 2017-07-28 | 2019-02-21 | キヤノン株式会社 | 撮像装置、および画像処理装置、画像処理方法 |
CN111143293A (zh) * | 2019-12-22 | 2020-05-12 | 浪潮电子信息产业股份有限公司 | 一种元数据获取方法、装置、设备及计算机可读存储介质 |
CN111311716A (zh) * | 2020-02-27 | 2020-06-19 | Oppo广东移动通信有限公司 | 动画播放方法、装置、终端设备以及存储介质 |
CN112562020A (zh) * | 2020-12-23 | 2021-03-26 | 绍兴图信物联科技有限公司 | 基于最小二乘法的tiff图像和半色调图像格式转换方法 |
CN112817918A (zh) * | 2021-01-14 | 2021-05-18 | 厦门精图信息技术有限公司 | 一种高分三号数据转换方法、终端设备及存储介质 |
CN112954200A (zh) * | 2021-01-28 | 2021-06-11 | 上海微创医疗机器人(集团)股份有限公司 | 图像的处理方法、可读存储介质及手术机器人系统 |
-
2021
- 2021-12-09 CN CN202111498302.2A patent/CN114168079B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001088730A1 (en) * | 2000-05-17 | 2001-11-22 | Heidelberg Digital L.L.C. | Method and system for enhancing the printing performance of a bitmap-containing file |
US20020165707A1 (en) * | 2001-02-26 | 2002-11-07 | Call Charles G. | Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers |
JP2006135766A (ja) * | 2004-11-08 | 2006-05-25 | Nikon Corp | 画像処理装置およびプログラム |
CN104517045A (zh) * | 2013-09-26 | 2015-04-15 | 上海中移通信技术工程有限公司 | 数字文档保护方法及系统 |
CN105979235A (zh) * | 2016-05-30 | 2016-09-28 | 努比亚技术有限公司 | 一种图像处理方法及终端 |
WO2018014801A1 (zh) * | 2016-07-19 | 2018-01-25 | 紫光华山信息技术有限公司 | 镜像文件的处理 |
JP2019029778A (ja) * | 2017-07-28 | 2019-02-21 | キヤノン株式会社 | 撮像装置、および画像処理装置、画像処理方法 |
CN108090168A (zh) * | 2017-12-14 | 2018-05-29 | 厦门市美亚柏科信息股份有限公司 | 一种通用f2fs文件系统解析方法、终端设备及存储介质 |
CN111143293A (zh) * | 2019-12-22 | 2020-05-12 | 浪潮电子信息产业股份有限公司 | 一种元数据获取方法、装置、设备及计算机可读存储介质 |
CN111311716A (zh) * | 2020-02-27 | 2020-06-19 | Oppo广东移动通信有限公司 | 动画播放方法、装置、终端设备以及存储介质 |
CN112562020A (zh) * | 2020-12-23 | 2021-03-26 | 绍兴图信物联科技有限公司 | 基于最小二乘法的tiff图像和半色调图像格式转换方法 |
CN112817918A (zh) * | 2021-01-14 | 2021-05-18 | 厦门精图信息技术有限公司 | 一种高分三号数据转换方法、终端设备及存储介质 |
CN112954200A (zh) * | 2021-01-28 | 2021-06-11 | 上海微创医疗机器人(集团)股份有限公司 | 图像的处理方法、可读存储介质及手术机器人系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114168079B (zh) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109325009B (zh) | 日志解析的方法及装置 | |
US11347787B2 (en) | Image retrieval method and apparatus, system, server, and storage medium | |
CN110851209B (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN109086307B (zh) | 文件处理的方法及装置 | |
CN111859033B (zh) | Ip库查询方法、装置及ip库压缩方法、装置 | |
CN114760369A (zh) | 一种协议元数据提取方法、装置、设备及存储介质 | |
CN111881094A (zh) | 日志中关键信息提取方法、装置、终端及存储介质 | |
CN115034176A (zh) | 文本处理方法、装置、电子设备和计算机可读存储介质 | |
CN110457348B (zh) | 一种数据处理方法及装置 | |
CN107169057B (zh) | 一种重复图片的检测方法和装置 | |
CN106934066B (zh) | 一种元数据处理方法、装置和存储设备 | |
CN109213950B (zh) | Iptv智能机顶盒浏览器应用的数据处理方法及装置 | |
CN116126997B (zh) | 一种文献去重存储方法、系统、设备及存储介质 | |
CN112836124A (zh) | 一种画像数据获取方法、装置、电子设备及存储介质 | |
CN111061927B (zh) | 数据处理方法、装置及电子设备 | |
CN114168079A (zh) | 一种识别磁盘删除的tiff类型数据的方法、装置及相关组件 | |
CN112286706A (zh) | 安卓应用的应用信息远程快速获取方法及相关设备 | |
CN108073709B (zh) | 一种数据记录的操作方法、装置、设备和存储介质 | |
CN113821486B (zh) | pod库之间依赖关系的确定方法及其装置、电子设备 | |
WO2022253131A1 (zh) | 数据解析方法、装置、计算机设备和存储介质 | |
CN110175256B (zh) | 一种图像数据检索方法、装置、设备和存储介质 | |
CN113900991A (zh) | 数据交互方法、装置、设备及存储介质 | |
CN110896391B (zh) | 一种报文处理方法和装置 | |
CN112737831A (zh) | 一种固件升级包处理方法、装置、电子设备和存储介质 | |
CN111782588A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000 Patentee after: Shenzhen Ruan Niu Technology Group Co.,Ltd. Address before: 1301-1310, building 2, jinlitong financial center building, 1100 Xingye Road, Haiwang community, Xin'an street, Bao'an District, Shenzhen, Guangdong 518000 Patentee before: AFIRSTSOFT CO.,LTD. |
|
CP01 | Change in the name or title of a patent holder |