CN116150092A - 电子档案文件快速校验方法、系统、设备及介质 - Google Patents
电子档案文件快速校验方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116150092A CN116150092A CN202310195749.5A CN202310195749A CN116150092A CN 116150092 A CN116150092 A CN 116150092A CN 202310195749 A CN202310195749 A CN 202310195749A CN 116150092 A CN116150092 A CN 116150092A
- Authority
- CN
- China
- Prior art keywords
- hash
- file
- files
- subfolders
- folder
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/137—Hash-based
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/90335—Query processing
- G06F16/90344—Query processing by using string matching techniques
-
- 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/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种电子档案文件快速校验方法,存证阶段将压缩文件包中子文件及子文件夹按名字字符串规则顺序排序同级文件,分配相应的线程资源从文件夹中最下层开始逐级往上计算文件HASH值,构建层HASH文件并关联相关文件保存在当前层,构建HASH目录树,打包生成存档电子档案包;待验证阶段,根据验证阶段排列方式顺序排列文件和拼接字符串,从上往下逐级计算每层子文件夹HASH值,与保存的相应层级HASH文件对比,生成异常文件的层级和位置信息,定位电子档案的变动文件和变动位置。本申请实现电子档案存证可溯源,保证存证电子档案的真实性。
Description
技术领域
本申请涉及计算机信息处理技术领域,具体涉及一种基于HASH计算的电子归档校验方法。
背景技术
随着技术的进步,数据现在已经成为了一种资产。不同行业场景下的信息化业务流程会产生大量的数据。这些数据以文件的形式存储在各种计算机操作系统的文件系统上,不同性质的数据文件保存期限有5年、10年、30年甚至永久保存的要求;数据文件的存储介质也存在机械硬盘,光盘,软盘,SD卡等不同类型。
电子档案特殊的生成和保管环境使其显现出与传统纸质档案不同的技术特性。从信息的记录形式来看,电子档案是一种纯粹的数字化信息,具有易改、易逝和对计算机系统的依赖性等特点;从载体特性来看,电子档案又具有载体与信息的可分离性、信息存储的不稳定性等特点。这些技术特性使电子档案的真实性面临巨大挑战。
电子文件的真实性可以划分为两方面:一是文件在形成过程中的真实性;二是文件形成之后是真实的,即文件从形成到归档保存的整个生命周期中未被篡改,始终保持形成时的原始状态。电子签名和电子印章虽能在一定程度上保障电子文件形成过程中的真实性,但文件形成后,是否会被技术手段篡改,电子文件在归档和移交过程中以及在未来的保存、迁移、利用中能否保持真实性,都是目前亟待解决的问题。
对电子文件进行归档要求满足:归档文件真实性、有效性、完整性、可用性,归档后的数据文件目前没有相关的工具或软件系统可周期性的巡检数据文件,无法确定数据是否被修改,归档后的海量数据验证及HASH计算需要大量的时间,较短的周期性内不能完成HASH值的校验过程,不能快速确定数据是否被修改,对于海量文件哈希异常时不能快速准确定位和确定被篡改的文件。
公开号CN113342745A,名称“一种镜像文件的校验方法、装置、电子设备及存储介质” 公开了一种镜像文件的校验方法,获取待运行镜像文件的配置文件和各个层文件;基于第一预设哈希算法计算配置文件的第一校验哈希值,并将各个层文件打包得到层文件压缩包,基于第二预设哈希算法计算层文件压缩包的第二校验哈希值;比对第一校验哈希值与本地数据库中预先存储的与目标镜像文件的配置文件对应的第一标准哈希值,并比对第二校验哈希值与本地数据库中预先存储的与目标镜像文件的层文件压缩包对应的第二标准哈希值;如果第一校验哈希值与第一标准哈希值一致,且第二校验哈希值与第二标准哈希值一致,则将待运行镜像文件作为目标镜像文件。
公开号CN106055692A,名称“比对文件或文件夹的自动化测试方法及系统”,通过哈希值的比对,判断各所述文件的内容及属性是否都为一致;通过哈希值的比对,判断各所述文件夹各对应的目录层级中的各文件及目录属性是否都为一致。通过在存储方计算机上设置XML-RPC服务器框架获得相应的哈希值,在设置有xmlrpcli模块的第三方计算机完成比对,实现判断各文件或各文件夹是否一致。
上述现有技术的方案采用单独数据库或者文件记录文件、文件夹的HASH,原始文档和HASH记录是分割的两个部分,存在文档和HASH记录无法证明关联关系的可能性,无法随文档迁移和脱离数据库校验。并且,单一文件HASH值计算档案文件夹下若干文件,需要多次计算出独立的文件HASH值,存入HASH值库存储,单一文件HASH值逐步校验,无法支撑各种类型数据包及大数据量文件快速校验,不能支撑短周期性快速巡检档案库中大量文件的校验工作。
发明内容
本发明针对现有技术中存在的,不能快速批量验证海量存储的各种类型和大小的文件,因为物理、人为或者其它因素造成数据文件产生修改、损坏时不能辅助快速定位到不同层级下产生异常的文件。
本发明提出一种电子档案文件快速校验方法,将档案包的HASH记录结果记录原始档案包的层级HASH文件中,同时层级HASH文件本身也会参与上级文件夹HASH计算,形成自我保护,能够快速批量验证海量存储的文件是否造成数据文件产生修改、损坏,快速定位到不同层级下产生异常的文件。
基于本申请一个方面,提出一种电子档案文件快速校验方法,包括,获取各业务系统归档的电子档案压缩文件包并解压,构建以文件包名字命名的一级文件夹,并将解压的全部子文件及子文件夹放入一级文件夹中;获取一级文件夹的数据访问权限,通过文件名的字符顺序排列该一级文件夹下全部子文件和子文件夹顺序;工具服务器资源判断CPU核心数,分配相应的线程资源从最下层文件夹开始逐层向上,按照顺序计算并排列所有文件及子文件夹的HASH字符串,生成每层文件夹的层级HASH文件,将层级HASH文件关联对应的子文件夹及其包含的子文件,构建HASH目录树,打包存储为电子档案文件包;获取电子档案文件包及访问路径,解压生成待验证文件夹,从下往上逐级计算待验证文件夹中全部子文件和子文件夹HASH值,与层级HASH文件中记录的HASH值比较,定位确定被篡改文件,生成被篡改文件的层级和位置信息。
进一步优选,所述构建层级HASH文件包括:以本层文件夹下级文件、文件夹名称字符串作为键,以文件HASH、文件夹HASH作为对应名称的值,将键和值对应存储构成该层的层级HASH文件。
进一步优选,所述构建HASH目录树包括:线程资源从最下层子文件开始,从下往上并行计算同级子文件HASH字符串,拼接同级子文件夹和子文件的HASH字符串,添加上级文件夹名称字符串作为该上级文件夹哈希值,逐级向上直至得到一级文件夹哈希值,将所有哈希值关联文件名字符串建立HASH目录树。
进一步优选,所述排列顺序进一步包括,将一级文件夹中的全部子文件和子文件夹中名字字符串按照UTF-8编码表中字符顺序排列,依次对比字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
进一步优选,所述排列顺序进一步包括,依次对比各子文件和子文件夹的HASH值字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
进一步优选,生成的层级HASH文件名称和对应文件夹的HASH值拼接为字符串,拼接后的字符串的HASH值作为该子文件夹的HASH值,关联本层文件名作为本层的层级HASH文件。
根据本申请的另一方面,提出一种电子档案文件快速校验系统,包括,存证单元获取各业务系统归档的电子档案压缩文件包并解压,构建以文件包名字命名的一级文件夹,并将解压的全部子文件及子文件夹放入一级文件夹中,获取一级文件夹的数据访问权限;文件排序单元根据计算单元计算的各子文件和子文件夹字符确定排列顺序;工具服务器资源根据CPU核心数分配线程资源,计算单元从最下层文件夹开始逐层向上,按照顺序计算并排列所有子文件及子文件夹的HASH字符串,生成每层文件夹的层级HASH文件,将层级HASH文件关联对应的子文件夹及其包含的子文件,构建HASH目录树,打包存储为电子档案文件包;验证单元获取电子档案文件包及访问路径,解压生成待验证文件夹;计算单元从下往上逐级计算待验证文件夹中各层子文件夹HASH值;校验单元将计算的HASH值与对应层级HASH文件中记录的HASH值比较,定位确定被篡改文件,生成被篡改文件的层级和位置信息。
进一步优选,所述构建层级HASH文件包括:以本层文件夹下级子文件、子文件夹名称字符串作为键,以文件HASH、文件夹HASH作为对应名称的值,将键和值对应存储构成该层的层级HASH文件;所述构建HASH目录树包括:线程资源从最下层子文件开始,从下往上并行计算同级子文件、子文件夹HASH字符串,拼接同级HASH字符串,添加上级文件夹名称字符串作为该上级文件夹哈希值,逐级向上直至得到一级文件夹哈希值,将所有哈希值关联文件名字符串建立HASH目录树。
进一步优选,将一级文件夹中的全部子文件和子文件夹中名字字符串按照UTF-8编码表中字符顺序排列,依次对比字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
进一步优选,依次对比各子文件和子文件夹的HASH值字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
根据本申请另一方面,提出一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上面所述的电子档案文件快速校验方法。
根据本申请另一方面,提出一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据上面所述的电子档案文件快速校验方法。
本申请对电子档案文件中全部文件根据规则进行排列,根据文件夹及文件字符确定的排列顺序,计算全部电子文件哈希值关联原始文件及其HASH,并构建层级HASH文件,校验数据随文档迁移,对电子文件存证全过程可进行溯源,实现电子档案存证可溯源,保证存证电子档案的真实性。根据构建的层级HASH文件可实现对海量数据及大量类型不同的文件的快速校验和巡检工作。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点进行详细描述,
图1本示例性实施例中的基于HASH的海量数据文件夹校验方法步骤流程图;
图2 为本示例性实施例中文件夹嵌套及哈希值表示示意图;
图3 本示例性实施例中的文件夹HASH校验方法流程示意图;
图4可以应用于本申请的各方面的硬件设备的示例。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
每个文件都可以通过哈希计算获得哈希值,得到的哈希值固定且唯一。若文件有修改则得到的哈希值一定是不同的,通过对文件及文件夹进行哈希计算和验证可以确定文件是否完整(是否有过更改)。
本发明提供一种电子档案文件快速校验方法,存证阶段将压缩文件包中子文件及子文件夹按名字字符串规则顺序排序同级文件。工具服务器资源分配CPU核心数,根据CPU核心数分配线程资源,计算单元从最下层文件夹开始逐层向上,按照顺序并行计算并按排列拼接所有子文件及子文件夹的HASH字符串,按照层级等待计算结果,生成每层文件夹的层级HASH文件,将层级HASH文件关联对应的子文件夹及其包含的子文件,构建HASH目录树,打包存储为电子档案文件包;分配相应的线程资源从文件夹中最下层开始逐级往上计算文件HASH值,构建层HASH文件并关联相关文件保存在当前层,构建HASH目录树,打包生成存档电子档案包;待验证阶段,根据验证阶段排列方式顺序排列文件和拼接字符串,从上往下逐级计算每层子文件夹HASH值,与保存的相应层级HASH文件对比,生成异常文件的层级和位置信息,定位电子档案的变动文件和变动位置。本申请实现电子档案存证可溯源,保证存证电子档案的真实性。
如图1所示为本申请示例性实施例中的海量数据文件夹HASH校验方法步骤流程图。读取操作系统上的电子档案压缩文件,解压生成文件夹,生成所有子文件和子文件夹中名字字符串,UTF-8编码可以通过屏蔽位和移位操作快速读写。字符串比较时strcmp()和wcscmp()的返回结果相同,因此使排序变得更加容易。本示例性的一种实施例中对生成的子文件和子文件夹中名字字符串按照UTF-8编码表中字符顺序排列, 优选排列文件顺序再排列文件夹顺序,若对比的两文件或文件夹中字符串中第一位字符相同则比较第二位,依次对比,直至对比完所有的字符串,如果两文件或文件夹中的字符和顺序完全相同,则按照创建时间升序排列整理文件夹中子文件,子文件夹顺序。对完成顺序整理的数据包文件夹从最下层子文件夹开始计算其中子文件和子文件夹HASH值, 在每层文件夹中生成层级HASH文件,层级HASH文件中记录每层的文件和文件夹HASH值,依次向上直到完成第一层文件夹HASH值计算并生成层级HASH文件。
以下以一具体实施例进行说明,包括:
A001, 通过移动硬盘、U盘、网络共享磁盘等存储介质将需要归档的压缩数据包传输到电子档案文件存储系统,计算单元通过调用文件存储系统open和read方法从文件系统上读取待归档的压缩文件包。
A002,计算单元可通过压缩包的后缀和文件二进制格式头文件判断压缩包的压缩格式,解压数据包,生成以数据包名字命名的文件夹。针对不同格式压缩包将其中文件解压到不同的文件夹,文件夹中文件名后缀附加格式属性,如,RAR,ZIP,7Z,GZ,TAR格式的压缩包进行解压的文件分别放入对应不同的文件夹中。
B001、获取数据包文件夹,判断当前文件夹是否包含子文件夹,如果包含则进入子文件夹,一直进入到最下层文件夹中。
B002、从最下层文件夹开始,在最下层文件夹中,根据文件名、属性、后缀等计算其中所有子文件名字的字符串,对子文件名字符串进行排列,可按照UTF-8编码表的字符顺序排列,若对比的两文件名字符串的第一位相同则比较第二位,依次完成所有字符串的对比,顺序排列子文件名字符串,如果名字的字符个数和字符内容完全相同则按照文件创建时间,升序排列子文件字符串。也可按照其他方式对文件夹中文件名进行排序。
B003、从最下层文件夹开始,依次向上逐级创建层级HASH文件,在最下层文件夹中创建层级HASH文件,按照子文件名字符串顺序排列好的顺序依次计算子文件夹中每个文件的HASH值,并依次顺序将文件名和文件HASH值拼接为字符串写入层级HASH文件中,同级子文件夹和子文件的HASH字符串,本层层级HASH文件不包含层级HASH文件自身。逐级向上直至得到一级文件夹哈希值构建层级has文件。
B004、进入上一级文件夹,将本文件夹中包含的全部子文件和子文件夹,根据文件名和文件HASH值拼接的字符串按照UTF-8编码表的字符顺序排列,对于两个子文件,若字符串的第一位相同则比较第二位,如果字符个数和字符内容完全相同则按照文件创建时间升序排列,还可以根据子文件和子文件夹的字符串进行统一排序,也可以优选考虑子文件字符串,排列完子文件后,再根据子文件夹字符串排列子文件夹顺序。
根据排列顺序依次计算文件夹中子文件和子文件夹的HASH值。HASH计算方法采用统一的HASH算法输出文件的HASH值。文件夹HASH计算方法将拼接的子文件夹HASH、子文件HASH、文件夹自身的层级HASH文件的HASH拼接为字符串后,对字符串做计算输出此文件的HASH值。
本实施例中其中一种计算子文件夹HASH值的方法是:
将排好序的文件和子文件夹,生成的层级HASH文件名称和对应的HASH值拼接为字符串,拼接后的字符串的HASH值作为该子文件夹的HASH值;在本层文件夹中创建层级HASH文件,层级HASH文件包括,按照文件名字加该子文件夹HASH值的顺序写入层级HASH文件。
B005、调用文件存储系统的目录访问命令进入上一级文件夹,继续计算该文件夹直属下级的子文件夹和子文件的HASH值并拼接字符串,写入层级HASH文件,直至完成一级文件夹HASH运算,获得解压数据包文件夹的层级HASH文件。
直至获得一级文件夹中所有子文件夹和子文件的HASH值,并写入一级文件夹的层级HASH文件。
实施例1,对于同一层级的子文件和子文件夹,根据文件名字符串将本层的子文件和子文件夹按照UTF-8编码表的字符顺序排列子文件夹和子文件顺序,若文件之间名字字符串的第一位相同则比较第二位,如果两文件的名字的字符个数和字符内容完全相同则按照文件创建时间升序排列文件。
实施例2,对于同一层级的子文件和子文件夹,可以根据名字的英文字母顺序或汉语拼音顺序排列子文件和子文件夹顺序,如果两文件的文件名完全相同则按照文件创建时间升序、文件属性的英文字母顺序排列文件。
实施例3,对于同一层级的子文件和子文件夹,分别计算各子文件和子文件夹的哈希字符串,检查所有子文件和子文件夹中字符串,比较所有字符串,按照数字在前字母在后的原则,顺序比较全部子文件和子文件夹哈希字符串中对应数字和英文字母,同为数字按照升序方式排列,同为英文字母按照英文字母顺序排列,若第一位相同则比较第二位,直至比较完所有子文件夹和子文件的哈希字符串,按照字符串顺序排列相关子文件夹和子文件。
实施例4,对于同一层级的子文件和子文件夹,分别计算各子文件和子文件夹的哈希字符串,检查所有子文件和子文件夹中字符串,比较所有字符串,按照英文字母在前数字在后的原则,顺序比较全部子文件和子文件夹哈希字符串中对应英文字母和数字,同为英文字母按照英文字母顺序排列,同为数字按照升序方式排列,若第一位相同则比较第二位,直至比较完所有子文件夹和子文件的哈希字符串,按照字符串顺序排列相关子文件夹和子文件。
从每个数据包文件夹的最下层开始,按照排列顺序依次计算各子文件哈希值,并顺序拼接该层文件哈希值,依次向上一级子文件夹,按照各层文件夹的排列顺序计算所有子文件夹及子文件的哈希值,直至完成解压数据包文件夹中所有子文件和子文件夹的哈希计算。构建层HASH文件并保存在当前层。
以下举一具体实例进一步说明文件哈希字符串拼接方法。
如图2所示为本申请示例性实施例中文件夹嵌套及哈希值示意图。
对于文件夹中嵌套有子文件夹和子文件的文件包,从文件夹的最下层子文件开始,逐级向上顺序计算每个子文件夹及子文件的HASH,直至计算完文件包中所有子文件及子文件夹,将所有子文件夹及子文件HASH值进行拼接,得到该文件包HASH值。
如文件夹2中包含文件夹1、文件3、文件4,而文件夹1中又包含文件1和文件2。首先,从文件夹最下层开始,计算文件1和文件2的哈希值为:HASH1和HASH2,再计算文件1和文件2的文件名哈希值,然后按照文件1和文件2的排列顺序,将文件1或文件2的哈希值与对应的文件名哈希值分别进行字符串拼接,作为文件1哈希和文件2哈希,再按字符拼接方法将文件1哈希和文件2哈希排序,将哈希值HASH1和HASH2按照顺序进行字符串拼接,得到文件夹1的哈希值HASH5。再依次计算文件3、文件4的哈希值得到HASH3和HASH4,将HASH5、HASH3、HASH4顺序进行字符串拼接得到文件夹2哈希值,将文件夹2哈希值与文件夹2名字哈希值拼接得到文件夹2的总哈希值HASH6。
HASH 5=HASH(HASH1+HASH2+HASH(Name1)),
HASH 6=HASH(HASH3+HASH4+HASH5+HASH(Name2)),
其中,Name1,Name2表示文件夹1和文件夹2的文件名,“+”表示字符串拼接。
子文件夹1哈希值HASH5=HASH(子文件1HASH1字符串 拼接文件2HASH 2字符串拼接子文件夹1名字HASH字符串)
文件夹2哈希值HASH 6=HASH(子文件3HASH 3字符串 拼接子文件HASH 4字符串拼接子文件夹HASH5字符串 拼接文件夹2名字HASH字符串)。
如文件夹中各子文件夹和子文件的哈希值为:
HASH1:167afd
HASH2:a67bcf
HASH3:ab7927
HASH4:15adfb
HASH5:b786cd
实施例1,按照数字在前字母在后的原则,从最下层子文件开始,首先比较同级文件并顺序拼接同级文件HASH字符串,逐级向上逐级完成同级子文件和子文件夹的字符串拼接,直至到最上级完成文件数据包中所有文件的字符串拼接,的到文件夹HASH值。如上实例的拼接顺序为:HASH1、HASH2、HASH4、HASH3、HASH5,得到该文件夹HASH值为:167afd a67bcf15adfb ab7927 b786cd。
实施例2: 将所有文件哈希值字符串进行排序,按照数字在前字母在后的原则,顺序比较全部子文件和子文件夹哈希字符串中对应数字和英文字母, 获得HASH值拼接规则排列顺序为:HASH4、HASH1、HASH2、HASH3、HASH5,得到该文件夹HASH值为:15adfb167afda67bcf ab7927 b786cd。
对于有多个数据包文件夹的情况,分别计算每个文件夹的HASH值获得各个数据包的HASH值,再根据相关的排列规则和计算方式计算文件包的总HASH值。
想要检验文件夹2中所有文件的完整性。从文件夹2开始,计算文件夹中文件的HASH值,逐级对文件夹和子文件夹中的所有文件进行验证,获得确定是否有文件被修改或篡改。
如图3所示为本示例性实施例中的文件夹HASH校验方法流程示意图。
确定文件是否被篡改包括:获取电子档案文件包解压并按照文件名称字符顺序的编码顺序排列规则整理所属子文件夹及子文件,从下往上计算同级子文件夹和子文件HASH字符串,拼接同级子文件夹、子文件的HASH字符串、层级文件HASH字符串作为该文件夹哈希值,逐级向上直至得到一级文件夹哈希值,将计算的哈希值与存证单元保存的与文件名关联的层级HASH文件比较,定位确定文件夹中被篡改的文件。
C001、系统管理员通过移动硬盘,U盘,网络共享磁盘等存储介质将需要验证的归档压缩数据包传输到文件验证系统,计算单元通过调用文件验证系统open(打开)和read(只读)方法从文件系统上读取待验证的档案压缩包,开始校验和定位档案文件包中被修改的文件。
C002、计算单元可通过压缩包的后缀和文件二进制格式头文件判断压缩包的压缩格式,解压数据包,将压缩数据包中的文件和文件夹放入以数据包名字命名的一级文件夹中。对RAR,ZIP,7Z,GZ,TAR格式的压缩包进行解压获得的文件夹均可采用本方法实施验证。在大量电子档案海量数据快速巡检验证中,可首先通过文件后缀名快速缩小巡检的数据包文件,根据文件包格式可以快速检索存证系统中对应格式文件包的层级HASH文件。
C003、读取待验证文件解压数据包,将数据包文件夹中子文件和子文件夹按照存证时候的排列方式顺序计算子文件和子文件夹的HASH值,并按照存证时候的方式拼接相关字符串,从最上层文件夹开始,获得各层文件夹的校验HASH值,将校验HASH值与对应层级HASH文件中记录的HASH值比较,如果HASH值相同,说明该数据包中全部文件均与原始文件相同,未被篡改过。
C004、如果校验HASH值和层级文件HASH中记录的HASH值不同,则说明该文件夹中有文件发生了改变,定位发生改变的文件夹位置记录文件名,进一步将该文件夹中文件HASH值与层级HASH文件对应的HASH进行比较,确定被篡改的文件,逐级向下,计算和校验子文件和子文件夹的HASH是否和层级HASH文件的记录相同,比较文件夹中所有层级文件HASH,寻找到不同HASH的文件,定位发生了改变的文件,确定该文件发生了改变。
C005、直到全部层级的所有文件夹检验完成。
参考图4,现将描述可以作为本申请的服务器或客户端的电子设备300的结构框图,其是可以应用于本申请的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如, 台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图4所示,电子设备300包括计算单元301,其可以根据存储在只读存储器(ROM)302中的计算机程序或者从存储单元308加载到随机访问存储器(RAM)303中的计算机程序,来执行各种适当的动作和处理。在RAM 303中,还可存储设备300操作所需的各种程序和数据。计算单元301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
电子设备300中的多个部件连接至I/O接口305,包括:输入单元306、输出单元307、存储单元308以及通信单元309。输入单元306可以是能向电子设备300输入信息的任何类型的设备,输入单元306可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元307可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元308可以包括但不限于磁盘、光盘。通信单元309允许电子设备300通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元301可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元301的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元301执行上文所描述的各个方法和处理。例如,在一些实施例中,根据签名笔画的原始轨迹重绘出其肌肉运动轨迹的重构与分解,以及其对数速度曲线的分解等可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元308。在一些实施例中,计算机程序的部分或者全部可以经由ROM 302和/或通信单元309而被载入和/或安装到电子设备300上。在一些实施例中,计算单元301可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行签名笔迹动态获取实现方法。
用于实施本申请的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本申请的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本申请使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (12)
1.一种电子档案文件快速校验方法,其特征在于,存证阶段:获取各业务系统归档的电子档案压缩文件包并解压,构建以文件包名字命名的一级文件夹;获取一级文件夹的数据访问权限,通过文件名的字符顺序排列该一级文件夹下全部子文件和子文件夹顺序;工具服务器资源判断CPU核心数,分配相应的线程资源从最下层文件夹开始逐层向上,按照排列顺序并行计算并拼接所有文件及子文件夹的HASH字符串,生成每层文件夹的层级HASH文件,将层级HASH文件关联对应的子文件夹及其包含的子文件,构建HASH目录树,打包存储为电子档案文件包;校验阶段,获取电子档案文件包及访问路径,解压生成待验证文件夹,从上往下逐层根据存证阶段排列顺序及字符串拼接方法计算待验证文件夹中各层子文件夹HASH值,与层级HASH文件中记录的HASH值比较,定位确定被篡改文件,生成被篡改文件的层级和位置信息。
2.根据权利要求1所述的方法,其特征在于,所述构建层级HASH文件包括:以本层文件夹下级文件、文件夹名称字符串作为键,以文件HASH、文件夹HASH作为对应名称的值,将键和值对应存储构成该层的层级HASH文件。
3.根据权利要求1或2所述的方法,其特征在于,所述构建HASH目录树包括:线程资源从最下层子文件开始,从下往上并行计算同级子文件HASH字符串,拼接同级子文件夹和子文件的HASH字符串,添加上级文件夹名称字符串作为该上级文件夹哈希值,逐级向上直至得到一级文件夹哈希值,将所有哈希值关联文件名字符串建立HASH目录树。
4.根据权利要求1或2所述的方法,其特征在于,所述排列顺序进一步包括,将一级文件夹中的全部子文件和子文件夹中名字字符串按照UTF-8编码表中字符顺序排列,依次对比字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
5.根据权利要求1或2所述的方法,其特征在于,所述排列顺序进一步包括,依次对比各子文件和子文件夹的HASH值字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
6.根据权利要求1或2所述的方法,其特征在于,依次顺序将文件名和文件HASH值拼接为字符串写入层级HASH文件中,同级子文件夹和子文件的HASH字符串、本层层级HASH文件不包含层级HASH文件自身,拼接后的字符串的HASH值作为该子文件夹的HASH值,关联本层文件名作为本层的层级HASH文件。
7.一种电子档案文件快速校验系统,其特征在于,存证单元获取各业务系统归档的电子档案压缩文件包并解压,构建以文件包名字命名的一级文件夹,获取一级文件夹的数据访问权限;文件排序单元根据计算单元计算的各子文件和子文件夹字符确定排列顺序;工具服务器资源根据CPU核心数分配线程资源,计算单元从最下层文件夹开始逐层向上,按照顺序并行计算并按排列拼接所有子文件及子文件夹的HASH字符串,生成每层文件夹的层级HASH文件,将层级HASH文件关联对应的子文件夹及其包含的子文件,构建HASH目录树,打包存储为电子档案文件包;验证单元获取电子档案文件包及访问路径,解压生成待验证文件夹;计算单元从上往下逐层根据存证阶段的排列顺序及字符串拼接方法计算待验证文件夹中各层子文件夹HASH值,校验单元将计算的HASH值与层级HASH文件中记录的HASH值比较,定位确定被篡改文件,生成被篡改文件的层级和位置信息。
8.根据权利要求7所述的系统,其特征在于,所述构建层级HASH文件包括:以本层文件夹下级子文件、子文件夹名称字符串作为键,以文件HASH、文件夹HASH作为对应名称的值,将键和值对应存储构成该层的层级HASH文件,本层层级HASH文件不包含层级HASH文件自身;所述构建HASH目录树包括:线程资源从最下层子文件开始,从下往上并行计算同级子文件、子文件夹HASH字符串,拼接同级HASH字符串,添加上级文件夹名称字符串作为该上级文件夹哈希值,逐级向上直至得到一级文件夹哈希值,将所有哈希值关联文件名字符串建立HASH目录树。
9.根据权利要求7或8所述的系统,其特征在于,将一级文件夹中的全部子文件和子文件夹中名字字符串按照UTF-8编码表中字符顺序排列,依次对比字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
10.根据权利要求7或8所述的系统,其特征在于,依次对比各子文件和子文件夹的HASH值字符串,若其中第一位字符相同则比较第二位,直至对比完所有的字符串,按照字符串顺序排列子文件和子文件夹,如果字符完全相同,则按照文件创建时间升序排列子文件和子文件夹顺序。
11.一种电子设备,包括:处理器;以及存储程序的存储器,其特征在于,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-4中任一项所述的电子档案文件快速校验方法。
12.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使所述计算机执行根据权利要求1-4中任一项所述的电子档案文件快速校验方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310195749.5A CN116150092A (zh) | 2023-03-01 | 2023-03-01 | 电子档案文件快速校验方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310195749.5A CN116150092A (zh) | 2023-03-01 | 2023-03-01 | 电子档案文件快速校验方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116150092A true CN116150092A (zh) | 2023-05-23 |
Family
ID=86373523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310195749.5A Pending CN116150092A (zh) | 2023-03-01 | 2023-03-01 | 电子档案文件快速校验方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116150092A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702225A (zh) * | 2023-06-08 | 2023-09-05 | 重庆傲雄在线信息技术有限公司 | 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 |
CN117891786A (zh) * | 2024-03-15 | 2024-04-16 | 浙江研通信息科技有限公司 | 一种基于蒙特卡洛算法的档案路径挂接方法和系统 |
CN117891786B (zh) * | 2024-03-15 | 2024-05-31 | 浙江研通信息科技有限公司 | 一种基于蒙特卡洛算法的档案路径挂接方法和系统 |
-
2023
- 2023-03-01 CN CN202310195749.5A patent/CN116150092A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116702225A (zh) * | 2023-06-08 | 2023-09-05 | 重庆傲雄在线信息技术有限公司 | 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 |
CN117891786A (zh) * | 2024-03-15 | 2024-04-16 | 浙江研通信息科技有限公司 | 一种基于蒙特卡洛算法的档案路径挂接方法和系统 |
CN117891786B (zh) * | 2024-03-15 | 2024-05-31 | 浙江研通信息科技有限公司 | 一种基于蒙特卡洛算法的档案路径挂接方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10237295B2 (en) | Automated event ID field analysis on heterogeneous logs | |
US11163906B2 (en) | Adaptive redaction and data releasability systems using dynamic parameters and user defined rule sets | |
CN106575227B (zh) | 自动软件更新框架 | |
US20160012082A1 (en) | Content-based revision history timelines | |
CN111095421B (zh) | 基因文件的上下文感知增量算法 | |
CN115795560A (zh) | 一种跨系统查验文件完整性的方法、装置、设备及介质 | |
CN116150092A (zh) | 电子档案文件快速校验方法、系统、设备及介质 | |
CN111639027A (zh) | 一种测试方法、装置及电子设备 | |
CN111258990B (zh) | 索引库数据迁移方法、装置、设备及存储介质 | |
CN110442349A (zh) | 用于服务扩容的方法和装置 | |
US20210124752A1 (en) | System for Data Collection, Aggregation, Storage, Verification and Analytics with User Interface | |
US20220019907A1 (en) | Dynamic In-Memory Construction of a Knowledge Graph | |
EP3349416B1 (en) | Relationship chain processing method and system, and storage medium | |
CN116069725A (zh) | 文件迁移方法、装置、设备、介质和程序产品 | |
CN115115062A (zh) | 机器学习模型建立方法、相关装置及计算机程序产品 | |
EP3999917B1 (en) | Method and system for generating a digital representation of asset information in a cloud computing environment | |
CN113626409B (zh) | 一种测试资料处理方法、装置、设备及存储介质 | |
US11809443B2 (en) | Schema validation with support for ordering | |
CN114611155B (zh) | 一种数据治理节点的校验方法、装置、设备及介质 | |
CN115941712B (zh) | 报送数据的处理方法、装置、计算机设备及存储介质 | |
US10606939B2 (en) | Applying matching data transformation information based on a user's editing of data within a document | |
CN117648107A (zh) | 灰度分发方法、装置、计算机设备、存储介质 | |
CN116702225A (zh) | 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 | |
KR20210114818A (ko) | 하이브리드 블록체인 생성 방법 및 장치 | |
CN117056310A (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 |