CN116702225A - 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 - Google Patents
基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN116702225A CN116702225A CN202310673046.9A CN202310673046A CN116702225A CN 116702225 A CN116702225 A CN 116702225A CN 202310673046 A CN202310673046 A CN 202310673046A CN 116702225 A CN116702225 A CN 116702225A
- Authority
- CN
- China
- Prior art keywords
- task
- file
- hash
- computing
- tasks
- 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 52
- 238000004364 calculation method Methods 0.000 claims abstract description 177
- 230000001419 dependent effect Effects 0.000 claims description 22
- 238000012545 processing Methods 0.000 claims description 16
- 238000004422 calculation algorithm Methods 0.000 claims description 14
- 238000012795 verification Methods 0.000 claims description 4
- 230000007246 mechanism Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 9
- 238000007726 management method Methods 0.000 description 7
- 238000001514 detection method Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000011218 segmentation Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 108091026890 Coding region Proteins 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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
-
- 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
-
- 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)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Bioethics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了基于哈希并行计算快速验证电子档案文件的方法,解析电子档案文件数据包结构,获取电子档案文件中所有的子文件夹和子文件;根据电子档案文件、子文件夹、子文件之间的依赖关系,设置Hash计算任务属性,创建一系列哈希计算任务,根据层级结构将哈希计算任务进行分层,并根据计算任务类型、层级、依赖关系、文件属性编排文件和文件夹Hash计算任务的执行顺序;根据执行顺序,启动线程执行哈希计算任务,计算电子档案文件数据包中全部子文件和子文件夹的hash值,根据依赖关系组合得到电子档案文件数据包Hash值,验证电子档案文件是否被篡改并定位被篡改文件,本发明提高了电子档案文件的hash计算效率和速度。
Description
技术领域
本申请涉及计算机信息处理技术领域,具体涉及一种基于Hash的电子档案单文件包的并行计算方案。
背景技术
大数据、人工智能推广中产生了大量数据文件需要整理归档,数据档案的安全性、隐私性是亟待解决的问题;无纸化办公在诸多领域广泛使用,无纸化办公产生的各种电子文件、电子数据如何进行管理、归档成为目前的问题。为解决电子文件、电子数据的保管问题,电子档案系统的应用逐步开始推广。对于如何将业务行为、办公行为等社会活动产生的电子文件、电子数据等需要归档保存的内容,完整有效的归档至电子档案,必须经过电子档案四性检测:真实性检测、完整性检测、可用性检测、安全性检测。电子档案的真实性,不仅能反应业务行为、办公行为等社会活动的真实情况,而且是电子档案具有价值的前提。在大数据广泛利用的今天,对大量数据档案的安全管理也提到重要的日程。
电子档案特殊的生成和保管环境使其显现出与传统纸质档案不同的技术特性。从信息的记录形式来看,电子档案是一种纯粹的数字化信息,具有易改、易逝和对计算机系统的依赖性等特点;从载体特性来看,电子档案又具有载体与信息的可分离性、信息存储的不稳定性等特点。这些技术特性使电子档案的真实性面临巨大挑战。
电子文件的真实性可以划分为两方面:一是文件在形成过程中的真实性;二是文件形成之后是真实的,即文件从形成到归档保存的整个生命周期中未被篡改,始终保持形成时的原始状态。电子签名和电子印章虽能在一定程度上保障电子文件形成过程中的真实性,但文件形成后,是否会被技术手段篡改,电子文件在归档和移交过程中以及在未来的保存、迁移、利用中能否保持真实性,都是目前亟待解决的问题。
对电子文件进行归档要求满足:归档文件真实性、有效性、完整性、可用性,归档后的数据文件无法确定数据是否被修改,通常通过计算文件哈希值验证归档文件的真实性,归档后的海量数据验证及哈希HASH计算需要大量的时间,在较短的时间周期内不能完成HASH值的校验过程,不能快速确定数据是否被修改,不能快速准确定位和确定海量文件中被篡改的文件。
现有技术对大文件的哈希计算大部分是针对一个完整的文件进行分割,将分割后的文件块进行计算。电子档案文件包是一个含有大量各种类型子文件夹和子文件的文件包,为了能够快速定位电子档案文件数据包中文件发生变动及篡改情况,每个电子档案文件哈希值以及其所属子文件夹的哈希值都与其所属的子文件夹哈希值和子文件哈希值相关,因此,不能将电子档案文件数据包中文件进行简单分割,将各个分割包的哈希计算分配到不同计算节点完成。
公开号CN115795560A,名称“一种跨系统查验文件完整性的方法、装置、设备及介质”,公开一种跨系统查验文件完整性的方法,旨在提供一种有效的方法来验证电子合同和电子档案的真实性,通过存储和计算哈希值来保证文件的完整性,并通过比较哈希值来检测文件是否被篡改。但没有涉及到对海量文件的哈希计算进行规划和任务调度等问题,计算时间和确定篡改文件的周期较长。
公开号CN111680198B,名称“基于文件分割与特征提取的档案管理系统及方法”,公开基于文件分割与特征提取的档案管理系统及方法, 通过分割文件、提取特征和建立特征树的方式,可以提升资源空间利用率和检索效率,但没有涉及任务调度,对文件进行分割计算没有考虑文件之间文件夹已子文件之间的归属关系等,不能完成文件的真实性检查以及快速准确定位篡改文件。
对于电子档案文件等海量文件的hash计算,可能会导致构建的命令行过长,为每个找到的结果都执行一次命令,可能会导致运行的进程过多。当数据量足够大,哈希表等数据结构会因为其内存占用过大而降低效率。
发明内容
有鉴于此,本申请针对现有技术存在的上述问题,提出一种基于哈希并行计算快速验证电子档案文件包的方法。
本发明解决上述问题的技术方案是,根据本申请的一个方面,提出一种基于哈希并行计算快速验证电子档案文件的方法,解析电子档案文件数据包结构,获取电子档案文件中所有的子文件夹和子文件;根据电子档案文件、子文件夹、子文件之间的依赖关系,设置Hash计算任务属性,创建一系列哈希计算任务,根据层级结构将哈希计算任务进行分层,并根据计算任务类型、层级、依赖关系、文件属性编排文件和文件夹Hash计算任务的执行顺序;根据执行顺序,启动线程执行哈希计算任务,计算电子档案文件数据包中全部子文件和子文件夹的hash值,根据依赖关系组合得到电子档案文件数据包Hash值,验证电子档案文件是否被篡改并定位被篡改文件。
进一步优选,创建一系列哈希计算任务包括:分别创建文件类型计算任务组和文件夹类型计算任务组,文件类型计算任务组包含所有文件型Hash计算任务,文件夹类型计算任务组包含所有文件夹型Hash计算任务;所述启动线程执行哈希计算任务包括:对于相同电子档案ID编号的文件及文件夹计算任务,根据线程并行启动所有文件类型Hash计算任务,并行计算执行同层子文件夹Hash计算任务,从电子档案文件数据包最底层逐级向上启动各层子文件夹类型Hash计算任务;对于不同电子档案ID编号的文件及文件夹计算任务,根据线程启动并行计算任务。
进一步优选,设置文件型Hash计算任务属性,包含:电子档案编号ID,随机生成唯一标识符作为任务ID,任务ID在整个电子档案文件Hash计算生命周期中保持唯一,指示待计算哈希值的子文件的路径或位置的文件可访问URL路径;对于每个子文件,创建一个文件型Hash计算任务,并为其分配任务ID和文件可访问URL路径;设置子文件夹Hash计算任务属性,包括:电子档案编号ID,随机生成的唯一标识符作为任务ID,文件夹层级,确定任务调度和执行顺序的依赖任务ID,对于每个子文件夹,创建一个文件夹类型Hash计算任务,并为其分配任务ID和层级属性,记录该子文件夹的依赖任务ID。
进一步优选,在创建Hash计算任务时,记录子文件夹和子文件的任务标识符作为依赖关系,文件夹类型Hash计算任务的依赖关系包括其所属文件夹的所有子文件夹和所有子文件的哈希值;根据文件夹的层级结构将文件夹类型计算任务进行分层,将各子文件夹下所属文件夹或者文件名首字符的UTF-8编码、文件哈希顺序组装,得到其上层的文件夹Hash值,直至获取电子档案文件数据包根文件Hash值。
进一步优选,通过定时的心跳机制向工具服务器发送资源请求,获取工具服务器的cpu占用率,内存占用率,可用线程数资源信息,根据工具服务器返回的资源信息更新当前的资源情况,根据当前的资源情况和任务优先级,通过调度算法将任务分配到最佳的工具服务器上,根据任务的类型,任务的依赖关系,任务的层数结合任务的预估计算时间,任务的所属档案ID综合计算任务的优先级。
进一步优选,多个计算任务分配给可用的计算资源进行并行处理,线性扩充可用计算资源,根据实时资源情况和任务属性,动态调度计算任务,对于需要更多时间完成的计算任务,分配较少的计算资源,需要更少时间完成的计算任务,分配较多的计算资源;提高被多个任务依赖的计算任务的优先级,降低其他计算任务依赖小的文件计算任务优先级。
根据本申请另一方面,提出一种基于哈希并行计算快速验证电子档案文件包的系统,包括:任务调度中心、任务执行中心、任务计算模块,任务调度中心:用于解析电子档案文件数据包结构,获取电子档案文件数据包中所有的子文件夹和子文件,根据电子档案文件数据包、子文件夹、子文件之间的依赖关系,创建一系列哈希计算任务,根据层级结构将哈希计算任务进行分层,并根据计算任务类型、层级、依赖关系、文件属性编排文件和文件夹Hash计算任务的执行顺序;任务执行中心根据执行顺序,启动线程并行执行哈希计算任务,同时并发执行文件类型计算任务组,文件夹类型计算任务组中的任务根据任务的层级属性和电子档案编号顺序执行;任务计算模块,用于计算电子档案文件数据包中全部子文件和子文件夹的hash值,根据依赖关系组合得到电子档案文件数据包Hash,根据电子档案文件数据包Hash值验证电子档案文件是否被篡改。
进一步优选,创建一系列哈希计算任务包括:分别创建文件类型计算任务组和文件夹类型计算任务组,文件类型计算任务组包含所有文件型Hash计算任务,文件夹类型计算任务组包含所有文件夹型Hash计算任务;所述启动线程执行哈希计算任务包括:对于相同电子档案ID编号的文件及文件夹计算任务,根据线程并行启动所有文件类型Hash计算任务,并行计算执行同层子文件夹Hash计算任务,从电子档案文件数据包最底层逐级向上启动各层子文件夹类型Hash计算任务;对于不同电子档案ID编号的文件及文件夹计算任务,根据线程启动并行计算任务。
根据本申请另一方面,提出一种电子设备,包括:处理器;以及存储程序的存储器,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上面所述的基于哈希并行计算快速验证电子档案文件包的方法。
根据本申请另一方面,一种存储有计算机指令的非瞬时计算机可读存储介质,所述计算机指令用于使所述计算机执行上面所述的基于哈希并行计算快速验证电子档案文件包的方法。
本发明通过对海量电子档案文件数据分类、分层,设置不同类型哈希计算任务,自动化计算任务的创建和编排,可根据计算任务类型自动进行并行化计算,提高了电子档案文件的hash计算效率和速度,降低构建的命令行长度,减少计算运行的进程,减少内存占用,提高计算效率,快速定位被篡改和遭破坏文件,可以扩展到大规模的电子档案文件和复杂的档案结构中。
附图说明
在下面结合附图对于示例性实施例的描述中,本申请的更多细节、特征和优点进行详细描述。
图1所示为本申请示例性实施例中电子档案文件数据包层级结构示意图;
图2所示为本申请示例性实施例中电子档案文件并行计算方法流程示意图;
图3为可以应用于本申请的各方面的硬件设备的示例。
具体实施方式
下面将参照附图更详细地描述本申请的实施例。虽然附图中显示了本申请的某些实施例,然而应当理解的是,本申请可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本申请。应当理解的是,本申请的附图及实施例仅用于示例性作用,并非用于限制本申请的保护范围。
应当理解,本申请的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本申请的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本申请中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本申请中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本申请实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
电子档案文件:是指以电子形式保存的档案文件。它们可以是电子文档、电子邮件、数字图像、数字音频、数字视频或其他数字文件。这些文件通常放在以档案号命名的文件夹下面,保存在计算机或其他数字设备上,如硬盘、闪存驱动器或云存储。
目前通用的确定电子数据文件是原件的技术方法就是计算和验证文件的哈希值(hash值),一般思路是先计算并记录文件的哈希值,要验证该文件是否为原件,只需再计算一次文件的哈希值,前后两个哈希值对比,一致则是原件,否则不是原件。hash值作为每个文件带有的电子指纹,只要搜索到电子指纹,就会搜索到文件。随着互联网、移动互联网、区块链技术发展,哈希值发挥“唯一性、不可逆性”技术特征广泛应用各场景。
Hash:是指哈希函数计算出来的固定长度的数据。哈希值通常用于验证数据的完整性、数据的唯一性和数据的比较。哈希值在数字签名、数据加密、数据压缩、数据索引等领域有着广泛的应用。
对于电子档案文件等海量文件的hash计算,可能会导致构建的命令行过长,为每个找到的结果都执行一次命令,可能会导致运行的进程过多。当数据量足够大,哈希表等数据结构会因为其内存占用过大而降低效率。
本申请提出一种电子档案文件和其包含的子文件夹、子文件的Hash并行计算方案,实现电子档案文件真实性的快速检测。
通过解析电子档案文件的结构,自动创建hash计算任务,并根据文件夹、文件之间的依赖关系编排任务,以实现电子档案文件的高效并行计算。
并行计算是指在多个处理器之间同时执行计算任务,以加快计算速度和提高计算效率的一种计算方式。在并行计算中,计算任务被分解成多个子任务,并且这些子任务可以同时进行。
通常,对电子档案文件数据包中文件的hash值计算常常是顺序执行的,而且计算量通常很大。本发明利用并行计算的优势,以加快对电子档案文件数据包的hash值计算。本发明提供的并行计算方案可以大幅度缩短计算时间,并提高计算效率。
解析电子档案文件的结构,获取所有的子文件夹和子文件; 根据文件夹、子文件夹和子文件之间的依赖关系,创建一系列hash计算任务,并编排任务的执行顺序;提交这些任务到并行计算中心,并行计算中心根据执行顺序通过并行计算的方式计算出每个文件和文件夹的hash值。
本申请其中一种实施方式包括,首先通过操作系统的文件系统读取电子档案文件。然后遍历该电子档案文件中的所有子文件夹和子文件,根据文件类型为每个子文件夹和子文件创建不同类型的Hash计算任务。
计算任务包括文件夹型Hash计算任务和文件型Hash计算任务。设置子文件夹Hash计算任务属性,文件夹型Hash计算任务用于计算电子档案文件数据包中子文件夹的哈希值,子文件夹Hash计算任务属性包括:
保持电子档案唯一性的唯一编号电子档案ID,随机生成唯一标识符任务ID,在整个电子档案文件Hash计算生命周期中保持唯一;指示文件夹所处层级位置的层级;例如一级子文件夹的层级为1,二级子文件夹的层级为2;用于任务调度和执行顺序的确定依赖任务ID,指示该任务所依赖的其他任务ID,确定计算哈希值的当前子文件夹或/和子文件与上级文件夹或/和下级子文件夹、子文件的依赖关系。
设置文件型Hash计算任务属性,文件型Hash计算任务用于计算电子档案数据包中子文件的哈希值。文件型Hash计算任务属性包含:保持电子档案唯一的编号电子档案ID;随机生成的唯一标识符—任务ID,在整个电子档案文件Hash计算生命周期中保持唯一的任务ID;指示待计算哈希值的子文件的路径或位置的文件可访问URL路径。
通过遍历电子档案文件的子文件夹创建文件夹型Hash计算任务。对于每个子文件夹,创建一个文件夹型Hash计算任务,并为其分配任务ID和层级属性。如果该子文件夹有依赖于其他任务的特定顺序要求,也会在创建任务时记录相关的依赖任务ID。
通过遍历电子档案文件的子文件时创建文件型Hash计算任务,对于每个子文件,创建一个文件型Hash计算任务,并为其分配任务ID和文件可访问URL路径属性。
这些计算任务被提交到任务调度中心,任务调度中心根据任务类型将任务分组,分别创建文件类型计算任务组和文件夹类型计算任务组。
任务调度中心是一个负责任务调度和协调的组件,它接收到提交的计算任务,并根据任务类型进行分类和分组。具体而言,它将文件型计算任务和文件夹型计算任务分别分配到不同的任务组中。
文件类型计算任务组:该组包含所有没有依赖关系的子文件的计算任务,用于计算每个子文件的哈希值。这些任务通常是独立的、相互之间没有依赖关系的任务。进一步,可以根据文件类型、文件大小、文件属性、创建时间等等特征进行分组,以提高计算效率。
文件夹类型计算任务组:该组包含电子档案文件数据包中有依赖关系的所有文件夹类型的计算任务,用于计算每个文件夹的哈希值。这些任务需要等待其所依赖的文件类型计算任务完成后才能进行。进一步,可以是根据文件夹的层级关系,将同一层级的文件夹任务放在同一组中。
任务调度中心将文件类型计算任务组提交到任务执行中心,任务执行中心根据计算任务组分别对各分组子文件并行计算哈希,并将计算结果返回到任务调度中心。
文件类型计算任务组的任务是通过MD5,SM3等Hash算法计算各个子文件的哈希值,作为任务计算结果。哈希值是根据文件内容通过哈希算法计算得出的固定长度的唯一标识。
任务调度中心将文件夹类型计算任务按照任务的层级分别提交到任务执行中心进行并行计算文件夹哈希及其关联哈希,计算结果同样返回到任务调度中心。
每个文件夹类型计算任务需要获取本任务的依赖任务,子任务哈希值计算结果,即子文件或者其子文件夹的Hash值,按照文件夹或者文件名首字符的UTF-8编码顺序组装,并结合子任务的哈希值组装成一个完整的字符串,此字符串作为该子文件夹哈希值。
任务调度中心根据文件夹的层级结构将文件夹类型计算任务进行分层,如可将根文件夹设为0层,下一级子文件为1层,依次递增。如某电子档案文件数据包的层级为N, 任务调度中心首先调用文件类型计算任务,先将任务层级最大为N的子文件计算任务提交到任务计算中心实施并行计算,得到该层子文件的哈希值,然后调用文件夹类型计算任务,提交N-1层的并行计算任务,将各子文件夹下所属文件夹或者文件名首字符的UTF-8编码、文件哈希顺序组装,得到其上层的第N-1层的文件夹Hash值。直到第0层的任务提交到任务计算中心并行计算,通过关联其直属下层子文件夹、子文件名首字符编码、哈希值组装,获取电子档案文件数据包第0层的哈希值,作为计算结果,就是该电子档案文件数据包的Hash值。
由于子文件计算任务无需依赖其他任务,可以并行同时计算。意味着在执行文件夹类型计算任务时,可以同时进行子文件的计算任务,而无需等待其他任务的完成。在同层级的不同子文件夹之间没有依赖关系,同层级的子文件夹页可以同时实施计算任务,这种并行计算的方式可以提高计算速度,尤其是在处理大量文件和文件夹的情况下。通过并行计算,可以利用计算资源的多线程或分布式处理能力,加快整个电子文档的哈希值计算过程。
整个方案实现了并行计算,提高了计算效率,并且在处理大量电子档案文件时能够减少计算时间。
本申请实施例提供一种基于Hash的电子档案文件包的并行计算系统,包括,任务调度中心、任务执行中心、任务计算模块。
任务调度中心:任务调度中心根据任务类型将任务进行分组,并创建文件类型计算任务组和文件夹类型计算任务组。
文件类型计算任务组包含对单个文件的Hash计算任务,而文件夹类型计算任务组包含对文件夹及其子文件的Hash计算任务。文件类型计算任务组中的任务可以同时并发执行Hash计算,以提高计算效率。每个任务在独立的计算环境中执行,相互之间不会干扰。文件夹类型计算任务组中的任务根据任务的层级属性和电子档案编号顺序执行,对于同层子文件夹计算任务可以同时并发执行Hash计算任务。
具体而言,在同一电子档案文件数据包中,最先启动最下层计算任务,逐级向上进行子文件和子文件夹哈希的计算。对根文件夹编号设为0层,有N层的电子档案文件数据包的计算任务中,最先启动层级最大的计算任务,而层级为0的任务会最后提交计算中心。
这样可以确保依赖关系的满足,先计算子任务的Hash值,再计算父任务的Hash值。
不同电子档案ID编号的文件及文件夹计算任务可以并行提交到任务执行中心根据线程进行并行计算。这意味着多个电子档案文件的计算任务可以同时进行,提高整体计算的效率。
任务执行中心:根据任务调度中心分配的任务,并行执行提交到任务执行中心的任务。
在一个完整的电子档案文件Hash计算生命周期中,对每个任务分配一个唯一的任务id标记,任务id为文件随机生成的序号,在整个电子档案文件中每个任务id为唯一值。
文件夹类型计算任务:一个文件夹类型Hash计算任务包含属性:任务id,层级,依赖任务id。
文件型计算任务:一个文件型Hash计算任务包含属性:任务id,文件可访问URL路径。
将电子档案文件数据包按照图1的结构分层,根据文件和文件夹创建的计算任务会标识所属层号,同一个电子档案编号下的文件夹类型计算任务按照层号从大到小计算,相同层级的子文件夹计算任务并行执行,全部文件类型计算任务并行执行。
如图1所示为本申请示例性实施例中对电子档案文件数据包继续分层示例的其中一种层级结构示意图。
电子档案文件中包含大量的文件及文件夹,根据子文件和子文件夹在电子档案数据包中的位置进行分层,电子档案文件数据包根文件作为第0层,其直接所属的下级子文件夹和子文件都为第1层,第1层的每个子文件夹下属的子文件夹和子文件都属于2层,依次向下,直至所有的文件夹和文件都分配了层数。
如图所示电子档案下的一级子文件夹和子文件所处层级为1层,一级子文件夹下的子文件所处层级为2层。任务调度中心会按照层级编排任务执行顺序。
读取操作系统上的电子档案压缩文件,解压生成文件夹,生成所有子文件和子文件夹中名字字符串,UTF-8编码可以通过屏蔽位和移位操作快速读写子文件和子文件夹中名字字符串。
本示例性实施例的方法是对生成的子文件和子文件夹中名字字符串按照UTF-8编码表中字符顺序排列,优选排列文件顺序再排列文件夹顺序,若对比的两文件或文件夹中字符串中第一位字符相同则比较第二位,依次对比,直至对比完所有的字符串,如果两文件或文件夹中的字符和顺序完全相同,则按照创建时间升序排列整理文件夹中子文件,子文件夹顺序。
文件可访问URL路径:文件型Hash计算任务代表的文件访问路径,任务执行中心可通过此文件可访问URL路径获取任务所处理的文件。
文件类型Hash计算任务代表了需要进行Hash计算的具体文件。为了使任务执行中心能够获取到这些文件并进行计算,每个任务都记录了一个文件可访问的URL路径,通过URL路径实现对指定文件的访问, URL路径提供了对相应文件的访问方式。通过该文件可访问的URL路径,任务执行中心可以直接访问到任务所处理的文件。例如,任务执行中心可以使用操作系统的文件读取API或其他合适的协议,通过发送请求到该URL路径,获取到需要进行Hash计算的文件的内容。
依赖任务id:一个文件夹的Hash计算需要考虑和依赖其下级子文件夹和子文件的Hash值参与计算,因此,将一个文件的子文件和子文件夹Hash计算任务的id记录为此文件夹计算任务的依赖任务id属性。
文件夹的Hash计算任务需要使用其下级子文件夹和子文件的Hash值来进行计算。为了确保计算的正确性,文件夹计算任务需要等待其依赖任务(子文件夹和子文件的Hash计算任务)完成并获取到它们的计算结果。
为了实现这一依赖关系的管理,每个文件夹计算任务创建的时候都记录其依赖任务的id,即子文件夹和子文件的Hash计算任务的id放入文件夹计算任务的依赖任务id属性中。这些依赖任务id可以用来唯一标识子任务,以便在任务调度和执行过程中进行引用。
通过记录依赖任务id,任务调度中心可以在提交文件夹计算任务之前,先确保其依赖任务已经完成计算并获取到了相应的Hash值。这样可以保证文件夹计算任务在执行时能够正确地使用依赖任务的计算结果,并确保计算的准确性和完整性。
如图2所示为本申请示例性实施例中电子档案文件并行计算方法流程示意图。
A001、从计算机磁盘系统通过操作系统的文件系统读取待计算的电子档案文件。
通过操作系统文件系统的read方法,从计算机磁盘系统中读取经过分层并赋予属性的电子档案文件。读取的电子档案文件统一放在以档案号命名的文件夹中,文件夹中包含多层子文件夹和子文件,子文件包含任意类型的文件,包括但不限于文本文件、图像文件、音频文件、视频文件等。
从磁盘系统中获取待计算的电子档案文件,并将其整理到一个特定的文件夹中,以便后续的并行计算处理。这样的文件整理和层级结构的建立有助于创建计算任务,以便于后续的计算任务。
A002、遍历电子档案文件的所有子文件夹和子文件,并为它们创建Hash计算任务,验证它们的完整性和标识唯一性。具体地,对于每个子文件夹,需要创建一个文件夹型Hash计算任务来计算子文件夹的哈希值;对于每个子文件,需要创建一个文件型Hash计算任务来计算子文件的哈希值。在创建这些Hash计算任务时,需要记录每个任务的依赖关系,以确保计算的正确顺序和完整性。
为了确定每个任务的依赖关系,使用依赖任务id属性来记录一个任务所依赖的其他任务。例如对于层数为0文件夹的Hash计算任务,它们依赖于它们包含的层数为1的子文件夹和子文件的Hash计算任务的完成。因此,在任务的创建过程中,需要记录子文件夹和子文件的任务标识符作为依赖关系。
对于每个文件夹类型Hash计算任务,它的依赖关系包括其所属文件夹的所有子文件夹的哈希值和所有子文件的哈希值,即依赖于其下级子文件夹和子文件的Hash计算任务的完成。对于每个文件型Hash计算任务,它的依赖关系只包括其所属文件的Hash值。
A003、将创建的所有计算任务提交到任务调度中心。任务调度中心负责对任务进行编排和调度,以实现并行计算。
1.分层提交文件夹型Hash计算任务:对于包含海量子文件和子文件夹的电子档案文件,任务调度中心可以根据任务的层级结构将文件夹型Hash计算任务进行分层提交。首先,提交最底层的子文件夹的Hash计算任务,待其完成后再提交上一层的文件夹的Hash计算任务,依次类推,直到最顶层即第0层的文件夹的Hash计算任务,对于同一层的多个子文件夹,相互之间没有依赖关系,可以并行执行Hash计算任务,文件型Hash计算任务之间没有相互依赖关系,可以并行执行,任务调度中心可以将多个文件型Hash计算任务同时提交到任务执行中心进行并行计算。这样可以保证每个文件夹的依赖任务已经完成,可以独立进行计算。
2.动态调度算力资源:任务调度中心监控工具服务器的计算资源情况,包括可用的CPU核心数,可用线程资源,可用内存资源等。根据实时的资源情况,任务调度中心动态地将计算任务分配给工具服务器计算单元,以实现最佳的资源利用和任务完成时间。
资源检测和监控:任务调度中心通过定时的心跳机制向工具服务器发送资源请求,获取到工具服务器的cpu占用率,内存占用率,可用线程数等资源,并根据工具服务器返回的资源信息更新当前的资源情况。
资源调度算法:任务调度中心可以根据当前的资源情况和任务的优先级。通过标准的调度算法包括负载均衡算法、优先级调度算法、最小作业优先算法等将任务分配到最佳的工具服务器上,例如:负载均衡调度方法,将层级最大的计算任务分配到cpu占用率低,可用线程数多的工具服务器上,以此类推;优先级调度算法,将计算任务层级数越大,优先级越高的任务分配到主频越高的CPU工具服务器上。任务队列管理:任务调度中心维护一个任务队列,根据任务的优先级和计算资源的可用情况,动态地调整任务队列中任务的执行顺序。如果有可用的计算资源,优先分配高优先级的任务,以确保重要任务能够及时完成。
任务的优先级根据任务的类型,任务的依赖关系,任务的层数结合任务的预估计算时间,任务的所属档案ID综合计算,例如:同一个档案ID下的任务,文件型计算任务的优先级设置比文件夹型任务优先级高;层数越大的文件夹类型任务的优先级越高,优先级大的文件夹型计算任务所依赖的任务优先级高于优先级低的文件夹型计算任务。
对于文件型计算任务,文件越大需要占用的计算时间越长,需要提前计算,设置越高的优先级。
资源预留和回收:任务调度中心可以根据任务的特性和预估的计算时间,提前预留计算资源,以确保任务能够按时开始。同时,当任务完成或者发生异常时,及时回收相应的计算资源,以便其他任务可以利用这些资源进行计算。
例如:文件大小越大的Hash计算任务时间会越长,将比较大的文件计算任务优先级提高,借助空闲的工具服务器资源提前进行计算,并保存计算结果,会明显减少依赖本任务的其它任务的等待时间。
4.并行计算的优化方案:针对海量子文件和子文件夹的电子档案文件,任务调度中心采用优化策略来提高并行计算的效率。例如,可以将电子档案文件按照一定的规则划分成多个子任务,每个子任务由多个文件夹和文件组成,然后将这些子任务分配给不同的计算资源并行处理。同时根据任务的优先级和计算资源的繁忙程度,例如工具服务器的CPU空闲时间,调整任务的优先级和分配策略,以提高整体的计算性能。
A004、任务调度中心根据任务类型将任务进行分组,创建文件类型计算任务组和文件夹类型计算任务组。
文件类型计算任务组:该组包含所有文件型Hash计算任务。文件型Hash计算任务是针对电子档案文件中的每个子文件创建的任务,用于计算子文件的哈希值。任务调度中心将所有的文件型Hash计算任务收集起来,并将它们组成文件类型计算任务组。
文件夹类型计算任务组:该组包含所有文件夹型Hash计算任务。文件夹型Hash计算任务是针对电子档案文件中的每个子文件夹创建的任务,用于计算子文件夹的哈希值。任务调度中心将所有的文件夹型Hash计算任务收集起来,并将它们组成文件夹类型计算任务组。
通过这样的分组方式,任务调度中心可以根据任务类型将任务进行分类,并对不同类型的任务采取不同的处理策略。文件类型计算任务组和文件夹类型计算任务组的创建通过优先级计算方式和资源分配方式,以便实现并行计算和高效完成电子档案文件的Hash计算工作。
并行计算:任务调度中心可以利用并行计算的优势,同时将多个计算任务分配给可用的计算资源进行并行处理,可用计算资源也可以线性扩充,这意味着可以同时执行多个计算任务,从而提高整体的计算效率。
动态调度:任务调度中心可以根据实时资源情况和任务的属性,动态地调度计算任务。对于一些计算任务较快完成的情况,可以优先分配更多的计算资源,以加快计算进程。而对于一些计算任务需要更多时间的情况,可以适当分配较少的计算资源,以保证其他并行任务也能得到一定的计算资源,同时根据结果优先级大小调整计算资源的分配。
优先级管理:根据文件的属性、类型和大小等特征,可以为不同的计算任务设置优先级。对于一些被多个任务依赖的任务或需要比较大的文件,可以提高其优先级,分配更多的计算资源确保其尽快完成计算。而对于一些其他计算任务依赖较小的文件,可以降低其优先级,以便更多的计算资源用于处理其他任务。
进度监控:任务调度中心可以监控每个计算任务的进度,及时了解任务的完成情况。如果发现某些计算任务长时间未完成,可以进行适当的调整,如重新分配计算资源或优化计算算法,以加快任务的完成速度。
通过以上策略的协调和管理,任务调度中心可以更好地处理不同计算任务的差异,并确保整体的计算进程高效、平衡地进行,从而提高电子档案文件的Hash计算的效率和性能。
例如任务调度中心收到一个档案id下的文件夹型计算任务和文件型计算任务。会根据A003的方式设置任务的优先级,并提交给任务执行中心计算,计算完成结果记录在对应的任务属性中,文件夹型计算任务需要其依赖的计算任务全部完成后才能提交给任务中心,如果有未完成的依赖计算任务,提高依赖计算任务的优先级,直到此档案id下所有的计算任务完成。
A005、任务调度中心将文件类型计算任务,提交给任务执行中心,任务执行中心执行计算任务得到Hash结果并返回任务调度中心。
任务调度中心将文件类型计算任务发送给任务执行中心,包括任务的相关信息,例如任务标识、文件路径、Hash算法等。
任务执行中心接收到任务后,根据任务的要求读取相应的文件。它可以访问文件系统或者通过网络获取文件,以便进行Hash计算。
任务执行中心根据任务中指定的Hash算法(如SM3、MD5、SHA-1等)对文件进行计算,得到文件的哈希值。计算完成后,任务执行中心将计算结果返回给任务调度中心,包括文件的哈希值和任务标识。
同时,任务执行中心提供接口给任务调度中心,告知当前工具服务器资源的占用情况。包括CPU使用率、内存使用情况以及其他资源属性。任务调度中心可以根据这些信息来动态调度任务,以实现最佳的资源利用和任务完成时间。
任务执行中心还提供任务提交接口,允许任务调度中心设置任务的执行工具服务器和计算节点。这样可以根据任务的需求和资源的可用性来分配合适的计算资源,实现任务的并行计算。
通过任务执行中心的功能,任务调度中心可以将文件类型计算任务提交给执行中心,执行中心负责计算文件的哈希值,并将结果返回给任务调度中心。同时,任务执行中心提供资源占用信息和任务提交接口,使得任务调度中心可以灵活管理和调度计算任务,以实现并行计算和最佳资源利用。
A006、将文件夹类型计算任务组按照任务的层级和优先级根据任务执行中心返回工具服务器资源详情分别提交到任务执行中心进行并行计算。在执行计算任务时,任务执行中心可以通过并行计算的方式,提高计算效率。
任务调度中心在向任务执行中心提交任务之前,获取任务执行中心返回的工具服务器资源使用情况,其中,包括CPU使用情况、内存使用情况、可用线程资源等。
根据工具服务器资源使用情况,任务调度中心评估当前的资源状况,并对任务的执行优先级进行判断和修改。根据任务层级属性,将层级较高的任务设置为较高优先级。这是因为低层级的任务会依赖于高层级的任务的计算结果,所以优先计算高层级的任务可以提供后续任务的依赖数据。高层级的文件夹型计算任务依赖的文件型计算任务优先级也会同步提高,保证在高层级文件夹型计算任务提交计算前,获取到所有依赖的文件型计算任务的计算结果。
如果任务执行中心的资源充足,提高所有的文件型计算任务优先级,充分利用工具服务器的计算资源并行计算所有的文件型计算任务;如果任务执行中心的资源不足,提高优先级高的文件夹型计算任务所依赖的文件型计算任务优先级,对其先进行计算。
任务调度中心将优先级较高的执行任务通过接口提交给任务执行中心进行计算。它可以根据任务的优先级排序,优先提交具有高优先级的任务,以确保重要任务能够尽快得到执行。
任务执行中心接收到提交的高优先级执行任务后,根据任务的类型和计算需求,进行相应的计算操作。它负责执行具体的计算任务,计算文件或文件夹的哈希值,并返回计算结果给任务调度中心。任务执行中心不参与优先级制定,它按照任务调度中心的要求进行计算任务的执行。它利用可用的计算资源进行并行计算,提高计算效率,并按照任务的顺序逐个完成计算任务。
任务调度中心根据任务执行中心返回的计算结果,更新任务状态和结果记录,并继续监控工具服务器资源的使用情况,以便在下一轮调度时作出相应的优先级调整。
A007、从任务调度中心获取第0层文件夹Hash,此hash为最终电子档案文件的hash结果。
从任务调度中心获取第0层文件夹的Hash值计算结果,该Hash值计算结果代表了最终电子档案文件的Hash值。在计算过程中,任务调度中心会对第0层文件夹创建文件型计算任务,提交任务执行中心进行Hash计算,并将计算得到的结果存储起来。这个结果即为最终电子档案文件的Hash结果。
通过任务调度中心提供的接口,可以获取第0层文件夹的Hash值。这个结果可以用于验证电子档案文件的完整性和唯一性。由于第0层文件夹是电子档案文件的根文件夹,它包含了所有子文件夹和子文件,因此其Hash结果能够反映整个电子档案文件的内容。
参考图3,现将描述可以作为本申请的服务器或客户端的电子设备300的结构框图,其是可以应用于本申请的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如, 台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。
如图3所示,电子设备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)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (10)
1.一种基于哈希并行计算快速验证电子档案文件的方法,其特性在于,解析电子档案文件数据包结构,获取电子档案文件中所有的子文件夹和子文件;根据电子档案文件、子文件夹、子文件之间的依赖关系,设置Hash计算任务属性,创建一系列哈希计算任务,根据层级结构将哈希计算任务进行分层,并根据计算任务类型、层级、依赖关系、文件属性编排文件和文件夹Hash计算任务的执行顺序;根据执行顺序,启动线程执行哈希计算任务,计算电子档案文件数据包中全部子文件和子文件夹的hash值,根据依赖关系组合得到电子档案文件数据包Hash值,验证电子档案文件是否被篡改并定位被篡改文件。
2.根据权利要求1所述的方法,其特征在于,创建一系列哈希计算任务包括:分别创建文件类型计算任务组和文件夹类型计算任务组,文件类型计算任务组包含所有文件型Hash计算任务,文件夹类型计算任务组包含所有文件夹型Hash计算任务;所述启动线程执行哈希计算任务包括:对于相同电子档案ID编号的文件及文件夹计算任务,根据线程并行启动所有文件类型Hash计算任务,并行计算执行同层子文件夹Hash计算任务,从电子档案文件数据包最底层逐级向上启动各层子文件夹类型Hash计算任务;对于不同电子档案ID编号的文件及文件夹计算任务,根据线程启动并行计算任务。
3.根据权利要求1所述的方法,其特征在于,设置文件型Hash计算任务属性,包含:电子档案编号ID,随机生成唯一标识符作为任务ID,任务ID在整个电子档案文件Hash计算生命周期中保持唯一,指示待计算哈希值的子文件的路径或位置的文件可访问URL路径;对于每个子文件,创建一个文件型Hash计算任务,并为其分配任务ID和文件可访问URL路径;设置子文件夹Hash计算任务属性,包括:电子档案编号ID,随机生成的唯一标识符作为任务ID,文件夹层级,确定任务调度和执行顺序的依赖任务ID,对于每个子文件夹,创建一个文件夹类型Hash计算任务,并为其分配任务ID和层级属性,记录该子文件夹的依赖任务ID。
4.根据权利要求1-3其中之一所述的方法,其特征在于,在创建Hash计算任务时,记录子文件夹和子文件的任务标识符作为依赖关系,文件夹类型Hash计算任务的依赖关系包括其所属文件夹的所有子文件夹和所有子文件的哈希值;根据文件夹的层级结构将文件夹类型计算任务进行分层,将各子文件夹下所属文件夹或者文件名首字符的UTF-8编码、文件哈希顺序组装,得到其上层的文件夹Hash值,直至获取电子档案文件数据包根文件Hash值。
5.根据权利要求1-3其中之一所述的方法,其特征在于,通过定时的心跳机制向工具服务器发送资源请求,获取工具服务器的cpu占用率,内存占用率,可用线程数资源信息,根据工具服务器返回的资源信息更新当前的资源情况,根据当前的资源情况和任务优先级,通过调度算法将任务分配到最佳的工具服务器上,根据任务的类型,任务的依赖关系,任务的层数结合任务的预估计算时间,任务的所属档案ID综合计算任务的优先级。
6.根据权利要求1-3其中之一所述的方法,其特征在于,多个计算任务分配给可用的计算资源进行并行处理,线性扩充可用计算资源,根据实时资源情况和任务属性,动态调度计算任务,对于需要更多时间完成的计算任务,分配较少的计算资源,需要更少时间完成的计算任务,分配较多的计算资源;提高被多个任务依赖的计算任务的优先级,降低其他计算任务依赖小的文件计算任务优先级。
7.一种基于哈希并行计算快速验证电子档案文件的系统,其特性在于,包括:任务调度中心、任务执行中心、任务计算模块,任务调度中心:用于解析电子档案文件数据包结构,获取电子档案文件数据包中所有的子文件夹和子文件,根据电子档案文件数据包、子文件夹、子文件之间的依赖关系,创建一系列哈希计算任务,根据层级结构将哈希计算任务进行分层,并根据计算任务类型、层级、依赖关系、文件属性编排文件和文件夹Hash计算任务的执行顺序;任务执行中心根据执行顺序,启动线程并行执行哈希计算任务,同时并发执行文件类型计算任务组,文件夹类型计算任务组中的任务根据任务的层级属性和电子档案编号顺序执行;任务计算模块,用于计算电子档案文件数据包中全部子文件和子文件夹的hash值,根据依赖关系组合得到电子档案文件数据包Hash,根据电子档案文件数据包Hash值验证电子档案文件是否被篡改。
8.根据权利要求7所述的系统,其特性在于,创建一系列哈希计算任务包括:分别创建文件类型计算任务组和文件夹类型计算任务组,文件类型计算任务组包含所有文件型Hash计算任务,文件夹类型计算任务组包含所有文件夹型Hash计算任务;所述启动线程执行哈希计算任务包括:对于相同电子档案ID编号的文件及文件夹计算任务,根据线程并行启动所有文件类型Hash计算任务,并行计算执行同层子文件夹Hash计算任务,从电子档案文件数据包最底层逐级向上启动各层子文件夹类型Hash计算任务;对于不同电子档案ID编号的文件及文件夹计算任务,根据线程启动并行计算任务。
9.一种电子设备,包括:处理器;以及存储程序的存储器,其特征在于,其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求1-6中任一项所述的基于哈希并行计算快速验证电子档案文件包的方法。
10.一种存储有计算机指令的非瞬时计算机可读存储介质,其特征在于,其中,所述计算机指令用于使所述计算机执行根据权利要求1-6中任一项所述的基于哈希并行计算快速验证电子档案文件包的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310673046.9A CN116702225A (zh) | 2023-06-08 | 2023-06-08 | 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310673046.9A CN116702225A (zh) | 2023-06-08 | 2023-06-08 | 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116702225A true CN116702225A (zh) | 2023-09-05 |
Family
ID=87844550
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310673046.9A Pending CN116702225A (zh) | 2023-06-08 | 2023-06-08 | 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116702225A (zh) |
Citations (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103127A (ja) * | 1992-09-22 | 1994-04-15 | Kanebo Ltd | ハッシュファイルデータ管理装置およびハッシュファイルデータ管理方法 |
JP2006197150A (ja) * | 2005-01-13 | 2006-07-27 | Hitachi Information Systems Ltd | ハッシュ値生成管理方法と装置および電子文書管理方法とシステム並びにプログラム |
JP2009200763A (ja) * | 2008-02-21 | 2009-09-03 | Ricoh Co Ltd | 電子文書追跡装置、方法、プログラムおよび記録媒体 |
CN102419809A (zh) * | 2011-10-29 | 2012-04-18 | 重庆君盾科技有限公司 | 一种安全高效的电子文档原本性通用证明方法 |
CN102946379A (zh) * | 2012-10-16 | 2013-02-27 | 无锡江南计算技术研究所 | 多层摘要文件生成方法及文件正确性验证方法 |
US20170161158A1 (en) * | 2015-12-07 | 2017-06-08 | Sap Se | Optimal hash calculation of archive files and their file entries |
CN107608769A (zh) * | 2017-09-13 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
CN107707328A (zh) * | 2016-08-08 | 2018-02-16 | 北京京东尚科信息技术有限公司 | 摘要信息传输方法和装置 |
US20190018855A1 (en) * | 2017-07-17 | 2019-01-17 | Alteryx, Inc. | Performing hash joins using parallel processing |
CN109428899A (zh) * | 2017-08-21 | 2019-03-05 | 中国石油化工股份有限公司 | 文件安全传输管理方法及系统 |
KR20210008545A (ko) * | 2018-10-25 | 2021-01-22 | 주식회사 피앤피소프트 | 보고서 자동 생성 기반의 업무 프로세스 관리 시스템 제공 방법 |
CN112699081A (zh) * | 2020-10-23 | 2021-04-23 | 中国工商银行股份有限公司 | 基于区块链的文件自证方法及装置 |
CN113094336A (zh) * | 2021-04-01 | 2021-07-09 | 中山大学 | 基于Cuckoo哈希的文件系统目录管理方法及系统 |
CN113238711A (zh) * | 2021-04-17 | 2021-08-10 | 西安电子科技大学 | 一种电子数据取证领域中高效的哈希计算方法 |
DE202022100124U1 (de) * | 2022-01-11 | 2022-01-31 | Karthick Seshadri | Ein paralleler Webverzeichniskonstruktor (PWDC) zur automatischen Erstellung von Webverzeichnissen |
CN114676419A (zh) * | 2021-12-16 | 2022-06-28 | 航天信息股份有限公司 | 实时预警应用程序文件被篡改的方法、系统、设备及介质 |
CN116150092A (zh) * | 2023-03-01 | 2023-05-23 | 重庆傲雄在线信息技术有限公司 | 电子档案文件快速校验方法、系统、设备及介质 |
-
2023
- 2023-06-08 CN CN202310673046.9A patent/CN116702225A/zh active Pending
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06103127A (ja) * | 1992-09-22 | 1994-04-15 | Kanebo Ltd | ハッシュファイルデータ管理装置およびハッシュファイルデータ管理方法 |
JP2006197150A (ja) * | 2005-01-13 | 2006-07-27 | Hitachi Information Systems Ltd | ハッシュ値生成管理方法と装置および電子文書管理方法とシステム並びにプログラム |
JP2009200763A (ja) * | 2008-02-21 | 2009-09-03 | Ricoh Co Ltd | 電子文書追跡装置、方法、プログラムおよび記録媒体 |
CN102419809A (zh) * | 2011-10-29 | 2012-04-18 | 重庆君盾科技有限公司 | 一种安全高效的电子文档原本性通用证明方法 |
CN102946379A (zh) * | 2012-10-16 | 2013-02-27 | 无锡江南计算技术研究所 | 多层摘要文件生成方法及文件正确性验证方法 |
US20170161158A1 (en) * | 2015-12-07 | 2017-06-08 | Sap Se | Optimal hash calculation of archive files and their file entries |
CN107707328A (zh) * | 2016-08-08 | 2018-02-16 | 北京京东尚科信息技术有限公司 | 摘要信息传输方法和装置 |
US20190018855A1 (en) * | 2017-07-17 | 2019-01-17 | Alteryx, Inc. | Performing hash joins using parallel processing |
CN111095193A (zh) * | 2017-07-17 | 2020-05-01 | 奥特瑞克斯股份有限公司 | 使用并行处理执行哈希连接 |
CN109428899A (zh) * | 2017-08-21 | 2019-03-05 | 中国石油化工股份有限公司 | 文件安全传输管理方法及系统 |
CN107608769A (zh) * | 2017-09-13 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据处理方法及装置 |
KR20210008545A (ko) * | 2018-10-25 | 2021-01-22 | 주식회사 피앤피소프트 | 보고서 자동 생성 기반의 업무 프로세스 관리 시스템 제공 방법 |
CN112699081A (zh) * | 2020-10-23 | 2021-04-23 | 中国工商银行股份有限公司 | 基于区块链的文件自证方法及装置 |
CN113094336A (zh) * | 2021-04-01 | 2021-07-09 | 中山大学 | 基于Cuckoo哈希的文件系统目录管理方法及系统 |
CN113238711A (zh) * | 2021-04-17 | 2021-08-10 | 西安电子科技大学 | 一种电子数据取证领域中高效的哈希计算方法 |
CN114676419A (zh) * | 2021-12-16 | 2022-06-28 | 航天信息股份有限公司 | 实时预警应用程序文件被篡改的方法、系统、设备及介质 |
DE202022100124U1 (de) * | 2022-01-11 | 2022-01-31 | Karthick Seshadri | Ein paralleler Webverzeichniskonstruktor (PWDC) zur automatischen Erstellung von Webverzeichnissen |
CN116150092A (zh) * | 2023-03-01 | 2023-05-23 | 重庆傲雄在线信息技术有限公司 | 电子档案文件快速校验方法、系统、设备及介质 |
Non-Patent Citations (6)
Title |
---|
孙霞;禹龙;田生伟;闫奕霖;林江丽;: "基于一致性Hash的分布式海量分子检索模型", 计算机应用, no. 04, 10 April 2015 (2015-04-10), pages 956 - 959 * |
张一凡;余小清;安炫东;万旺根;: "一种基于CUDA的局部敏感哈希算法", 应用科学学报, no. 05, 30 September 2015 (2015-09-30), pages 550 - 558 * |
张峻;代锋;马宜科;张勇东;: "多层次细粒度并行HEVC帧内模式选择算法", 计算机研究与发展, no. 04, 15 April 2016 (2016-04-15), pages 873 - 883 * |
张润梅;王霄;: "基于CUDA架构的MD5破解方法研究", 计算机科学, no. 02, 15 February 2011 (2011-02-15), pages 302 - 305 * |
蒋麟洲;: "一种对目录树的哈希算法:DTH算法", 信息系统工程, no. 04, 20 April 2020 (2020-04-20), pages 149 - 151 * |
阮晓龙;于冠军;: "基于弹性并发的文件校验模型", 计算机系统应用, no. 01, 15 January 2020 (2020-01-15), pages 231 - 235 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11392561B2 (en) | Data migration using source classification and mapping | |
US11847103B2 (en) | Data migration using customizable database consolidation rules | |
US20200104377A1 (en) | Rules Based Scheduling and Migration of Databases Using Complexity and Weight | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
US8959518B2 (en) | Window-based scheduling using a key-value data store | |
CN111190753B (zh) | 分布式任务处理方法、装置、存储介质和计算机设备 | |
CN111324606B (zh) | 数据分片的方法及装置 | |
US10102098B2 (en) | Method and system for recommending application parameter setting and system specification setting in distributed computation | |
US11308066B1 (en) | Optimized database partitioning | |
CA3119167A1 (en) | Approach for a controllable trade-off between cost and availability of indexed data in a cloud log aggregation solution such as splunk or sumo | |
EP3018581B1 (en) | Data staging management system | |
US11914618B2 (en) | System and method for data pruning via dynamic partition management | |
US9875140B2 (en) | System, method, and apparatus for coordinating distributed electronic discovery processing | |
US11151088B2 (en) | Systems and methods for verifying performance of a modification request in a database system | |
CN116150092A (zh) | 电子档案文件快速校验方法、系统、设备及介质 | |
CN115185679A (zh) | 人工智能算法的任务处理方法、装置、服务器及存储介质 | |
US11726893B2 (en) | System for automatically evaluating a change in a large population of processing jobs | |
CN113836237A (zh) | 对数据库的数据操作进行审计的方法及装置 | |
CN111767126A (zh) | 分布式批量处理的系统和方法 | |
US9110823B2 (en) | Adaptive and prioritized replication scheduling in storage clusters | |
CN116702225A (zh) | 基于哈希并行计算快速验证电子档案文件的方法、系统、设备及介质 | |
CN109684274A (zh) | 文件归档方法、设备及计算机可读存储介质 | |
CN117421109B (zh) | 训练任务的调度方法、装置、计算机设备及存储介质 | |
US11481130B2 (en) | Method, electronic device and computer program product for processing operation commands | |
US20240211490A1 (en) | System and method for data pruning via dynamic partition management |
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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: 401121 no.17-1, building 13, No.106, west section of Jinkai Avenue, Yubei District, Chongqing Applicant after: Chongqing Sign Digital Technology Co.,Ltd. Address before: 401121 no.17-1, building 13, No.106, west section of Jinkai Avenue, Yubei District, Chongqing Applicant before: CHONGQING AOS ONLINE INFORMATION TECHNOLOGY CO.,LTD. Country or region before: China |
|
CB02 | Change of applicant information |