CN116679885A - 交付物文件存储方法、装置、设备及存储介质 - Google Patents
交付物文件存储方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116679885A CN116679885A CN202310779894.8A CN202310779894A CN116679885A CN 116679885 A CN116679885 A CN 116679885A CN 202310779894 A CN202310779894 A CN 202310779894A CN 116679885 A CN116679885 A CN 116679885A
- Authority
- CN
- China
- Prior art keywords
- storage system
- file
- code block
- delivery file
- characteristic value
- 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
- 238000012384 transportation and delivery Methods 0.000 title claims abstract description 251
- 238000000034 method Methods 0.000 title claims abstract description 69
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004364 calculation method Methods 0.000 claims description 3
- 239000002699 waste material Substances 0.000 abstract description 4
- 238000012545 processing Methods 0.000 description 11
- 238000013461 design Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0608—Saving storage space on storage systems
-
- 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/064—Management of blocks
-
- 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
-
- 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
本申请提供一种交付物文件存储方法、装置、设备及存储介质。涉及大数据技术领域。该方法包括:获取交付物文件,将交付物文件分成多个代码块,计算得到各代码块的代码块特征值;根据各代码块特征值计算得到交付物文件的交付物文件特征值;若存储系统中不存在交付物文件特征值,则判断各代码块特征值是否均在存储系统中存在;若各代码块特征值中的一个或多个在存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将不存在的代码块特征值记录在存储系统中,并将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记付物文件为已提交存储。本申请的方法解决了现有技术中的存储方法浪费存储空间和存储效率低的问题。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种交付物文件存储方法、装置、设备及存储介质。
背景技术
目前金融领域内交付物文件大多都是用网络附属存储Network AttachedStorage,NAS)磁盘直接存储的。
同时使用网络附属存储磁盘存储交付物文件,同一个交付物文件可能存在于多个系统中,每个系统中都存放有交付物文件的副本。
发明人发现,这样的存储方法会极大的浪费磁盘存储空间,同时在后续的交付物文件变更、修改中,需要同时操作多个交付物文件的副本,导致存储效率低的问题。
发明内容
本申请提供一种交付物文件存储方法、装置、设备及存储介质,用以解决现有技术中的存储方法浪费存储空间和存储效率低的问题。
第一方面,本申请提供一种交付物文件存储方法,包括:获取交付物文件,将所述交付物文件分成多个代码块,计算得到各代码块的代码块特征值;根据各代码块特征值计算得到所述交付物文件的交付物文件特征值;若存储系统中存在所述交付物文件特征值,则使用所述交付物文件特征值标记所述交付物文件为已提交存储;若存储系统中不存在所述交付物文件特征值,则判断各代码块特征值是否均在所述存储系统中存在;若各代码块特征值均在所述存储系统中存在,则将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储;若各代码块特征值中的一个或多个在所述存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将所述不存在的代码块特征值记录在所述存储系统中,并将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储。
在一种可能的设计中,所述计算各代码块的代码块特征值,包括:根据所述各代码块的文件路径、文件大小、文件创建日期、文件读写权限中的至少一种信息,采用信息摘要算法MD5计算各代码块的MD5特征值;将所述MD5特征值作为各个代码块的代码块特征值。
在一种可能的设计中,所述根据各代码块特征值计算得到所述交付物文件的交付物文件特征值,包括:根据所述各代码块特征值,采用散列算法计算得到所述交付物文件的交付物文件特征值。
在一种可能的设计中,所述获取交付物文件,将所述交付物文件分成多个代码块之后,还包括:将所述多个代码块组合形成两个及以上的代码块集合,计算各代码块集合的代码块集合特征值;其中,各代码块集合中包含多个代码块;判断各代码块集合特征值是否均在所述存储系统中存在;若各代码块集合特征值均在所述存储系统中存在,则将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储;若各代码块集合特征值中的一个或多个在所述存储系统中不存在,则将存储系统中不存在的代码块集合中的代码块拆分出来,判断拆分出的各代码块对应的各代码块特征值是否均在所述存储系统中存在;若各代码块特征值均在所述存储系统中存在,则使用所述交付物文件特征值标记所述交付物文件为已提交存储;若各代码块特征值中的一个或多个在所述存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将所述不存在的代码块特征值记录在所述存储系统中,并将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储。
在一种可能的设计中,所述交付物文件存储方法,还包括:当存储系统中的交付物文件需要进行变更和/或修改时,从所述存储系统中获取目标交付物文件;将所述目标交付物文件分成多个代码块,确定所述多个代码块中需要进行变更和/或修改的代码块;将需要变更和/或修改的代码块从所述存储系统中删除,上传变更和/或修改后的代码块至所述存储系统;计算得到变更和/或修改后的代码块的代码块特征值,将所述代码块特征值记录在所述存储系统中。
第二方面,本申请提供一种交付物文件存储装置,包括:获取模块,用于获取交付物文件,将所述交付物文件分成多个代码块,计算得到各代码块的代码块特征值;计算模块,用于根据各代码块特征值计算得到所述交付物文件的交付物文件特征值;第一标记模块,用于若存储系统中存在所述交付物文件特征值,则使用所述交付物文件特征值标记所述交付物文件为已提交存储;判断模块,用于若存储系统中不存在所述交付物文件特征值,则判断各代码块特征值是否均在所述存储系统中存在;第二标记模块,用于若各代码块特征值均在所述存储系统中存在,则将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储;第一上传模块,用于若各代码块特征值中的一个或多个在所述存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将所述不存在的代码块特征值记录在所述存储系统中,并将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储。
第三方面,本申请实施例提供一种服务设备,包括:至少一个处理器和存储器;所述存储器存储计算机执行指令;所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行如上第一方面以及第一方面各种可能的设计所述的交付物文件存储方法。
第四方面,本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现如上第一方面以及第一方面各种可能的设计所述的交付物文件存储方法。
第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时,实现如上第一方面以及第一方面各种可能的设计所述的交付物文件存储方法。
本申请提供的交付物文件存储方法、装置、设备及存储介质,通过判断存储系统中是否存在交付物文件的特征值,若存在则不需要上传交付物文件,若不存在则继续判断存储系统中是否存在代码块特征值,只需要上传存储系统中不存在的代码块特征值对应的代码块即可完成交付物文件的存储,存储过程不产生交付物副本,实现了存储空间的节约以及存储效率的提高。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的交付物文件存储方法的应用场景图;
图2为本申请实施例提供的交付物文件存储方法的流程图一;
图3为本申请实施例提供的交付物文件存储方法的流程图二;
图4为本申请实施例提供的交付物文件存储方法的流程图三;
图5为本申请实施例提供的交付物文件存储装置的结构示意图;
图6为本申请实施例提供的服务设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
本申请的技术方案中,所涉及的金融数据或用户数据等信息的收集、存储、使用、加工、传输、提供和公开等处理,均符合相关法律法规的规定,且不违背公序良俗。
目前金融领域内交付物文件大多都是用NAS磁盘直接存储的,使用网络附属存储磁盘存储交付物文件,同一个交付物文件可能存在于多个系统中,每个系统中都存放有交付物文件的副本,这样会极大的浪费磁盘存储空间。在后续交付物文件的变更、修改中,需要同时操作多个交付物文件的副本,导致存储效率低的问题。如果只有部分系统中的交付物文件需要变更,那对部分系统中的交付物文件进行变更时可能会引入数据的一致性问题。
针对上述技术问题,本申请提出如下技术构思:通过特征值判定存储系统中是否存在交付物或交付物拆分得到的代码块,若不存在则对存储系统中不存在的交付物或代码块进行存储,如此便可节约存储空间,且不存在交付物文件副本,提高了存储效率。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图1为本申请实施例提供的交付物文件存储方法的应用场景图。如图1所示,该应用场景包括:业务端101、服务设备102和存储系统103,其中业务端101产生交付物文件,服务设备102接收业务端101发送的交付物文件,并将交付物文件分成多个代码块,服务设备102判断需要将哪些交付物文件或代码块上传至存储系统103后,将需要上传的交付物文件或代码块上传至存储系统103。
其中,业务端101可以是个人计算机、手机、平板电脑、笔记本等计算机设备。服务设备102可以是物理服务器或云服务器。存储系统103可以采用寄存器、高速缓存、主存、外存的多级存储体系结构。
基于图1所示的应用场景,本申请实施例还提供一种交付物文件存储方法。本实施例的方法的执行主体可以是图1中所示的服务设备102。图2为本申请实施例提供的交付物文件存储方法的流程图一。如图2所示,该交付物文件存储方法包括:
S201、获取交付物文件,将交付物文件分成多个代码块,计算得到各代码块的代码块特征值。
本实施例中,金融领域的交付物文件可以包括金融机构内部的数据库数据文件,例如账务类数据文件、流程数据文件等。交付物文件可以由金融机构内部的业务端产生。交付物文件可以被拆分为多个代码块,代码块可以用来存储代码。
本实施例中,计算得到各代码块的代码块特征值的方法包括以下步骤:根据各代码块的文件路径、文件大小、文件创建日期、文件读写权限中的至少一种信息,采用信息摘要算法MD5计算各代码块的MD5特征值;将MD5特征值作为各个代码块的代码块特征值。
具体地,信息摘要算法(Message-Digest Algorithm,MD5)是一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值,用于确保信息传输完整一致。将信息摘要算法计算得到的MD5特征值作为各个代码块的代码块特征值,可以使得代码块特征值具有全局唯一性,代码块特征值与代码块一一对应,可以作为代码块的标识。
S202、根据各代码块特征值计算得到交付物文件的交付物文件特征值。
本实施例中,根据各代码块特征值,采用散列算法计算得到交付物文件的交付物文件特征值。
具体地,散列算法(Hash Algorithm),又称哈希算法,是一种从任意文件中创造小的数字指纹的方法。散列算法可以以较短的信息来保证文件唯一性,因此可以使得交付物文件特征值也具有全局唯一性,交付物文件特征值与交付物文件一一对应,交付物文件特征值可以作为交付物文件的标识。散列算法可以采用比较流行的信息摘要算法,也可以采用安全散列算法1或安全散列算法2。
S203、判断存储系统中是否存在交付物文件特征值,若是,则执行步骤S204,若否,则执行步骤S205。
交付物文件和交付物文件特征值在存储系统中是同时存在的,且是一一对应的关系。若存储系统中存在交付物文件特征值,说明存储系统中已有该交付物文件特征值对应的交付物文件,因此不需要将该交付物文件特征值对应的交付物文件上传至存储系统。
S204、使用交付物文件特征值标记交付物文件为已提交存储。
本实施例中,虽然若存储系统中存在交付物文件特征值,则不需要将该交付物文件特征值对应的交付物文件上传至存储系统,但是,交付物文件是由业务端的不同业务人员提交的,不同的业务人员可能给同样内容的交付物文件不同的命名,为了使得业务端的业务人员能够简洁明了得了解他们提交的交付物文件是否已提交存储,可以使用交付物文件特征值对交付物文件进行标记,此标记的含义为已提交存储。
在此步骤之后,服务设备还可以发送已提交存储的信息至业务端,以通知业务端各交付物文件是否已提交存储的情况。
S205、判断各代码块特征值是否均在存储系统中存在,若是,则执行步骤S204,若否,则执行步骤S206。
本实施例中,判断各代码块特征值是否均在存储系统中存在,可以采用穷举的方法进行,即在存储系统中对各代码块特征值是否存在进行逐一验证,直到全部代码块特征值验证完毕。
若各代码块特征值均在存储系统中存在,说明各代码块特征值对应的代码块均在存储系统中存在,因此不需要上传交付物文件或代码块,只需将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
S206、将不存在的代码块特征值所对应的代码块上传至存储系统,将不存在的代码块特征值记录在存储系统中,并将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
本实施例中,若各代码块特征值中的一个或多个在存储系统中不存在,说明各代码块特征值对应的代码块中的一个或多个在存储系统中不存在,因此为了交付物文件能够完整地在存储系统中进行存储,需要将存储系统中不存在的代码块特征对应的代码块上传至存储系统,如此便完成了物理文件的完整存储。此外代码块和代码块特征值在存储系统中也是需要同时存在的,因此还要将上传的代码块对应的代码块特征值记录在存储系统中。
并且,由于已知各代码块特征值,通过各代码块特征值可以唯一确定交付物文件特征值,该实施例中还需要将交付物文件特征值记录在存储系统中,使用该交付物文件特征值标记交付物文件为已提交存储。
综上,本实施例的交付物文件存储方法,通过判断存储系统中是否存在交付物文件的特征值,若存在则不需要上传交付物文件,若不存在则继续判断存储系统中是否存在代码块特征值,只需要上传存储系统中不存在的代码块特征值对应的代码块即可完成交付物文件的存储,存储过程不产生交付物副本,实现了存储空间的节约以及存储效率的提高。
图3为本申请实施例提供的交付物文件存储方法的流程图二。本实施例给出了另一种交付物文件存储方法。如图3所示,该交付物文件存储方法,包括如下步骤:
S301、获取交付物文件,将交付物文件分成多个代码块。
本实施例中,此步骤与步骤S201中获取交付物文件,将交付物文件分成多个代码块的步骤相同,此处不再赘述。
S302、将多个代码块组合形成两个及以上的代码块集合,计算各代码块集合的代码块集合特征值。
本实施例中,各代码块集合中包含多个代码块;计算各代码块集合的代码块集合特征值的方法与步骤S201中相同,根据各代码块集合的文件路径、文件大小、文件创建日期、文件读写权限中的至少一种信息,采用信息摘要算法MD5计算各代码块集合的MD5特征值;将MD5特征值作为各个各代码块集合的代码块集合特征值。
示例性地,可以将交付物文件a分成10个代码块,其中每5个代码块形成一个代码块集合,共形成2个代码块集合。也可以将交付物文件a分成10个代码块,其中每2个代码块形成一个代码块集合,共形成5个代码块集合。这些都是示例性的,不对本申请构成限定,具体将交付物文件分成几个代码块以及将多少个代码块组合形成代码块集合,可以根据实际情况进行设定。
S303、判断各代码块集合特征值是否均在存储系统中存在,若是,则执行步骤S304,若否,则执行步骤S305。
本实施例中,判断各代码块集合特征值是否均在存储系统中存在,可以采用穷举的方法进行,即在存储系统中对各代码块集合特征值是否存在进行逐一验证,直到全部代码块集合特征值验证完毕。
若各代码块集合特征值均在存储系统中存在,说明各代码块集合特征值对应的代码块集合均在存储系统中存在,因此不需要上传交付物文件或代码块集合,只需将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
S304、使用交付物文件特征值标记交付物文件为已提交存储。
本实施例中,该步骤与步骤S204相同,此处不再赘述。
S305、将存储系统中不存在的代码块集合中的代码块拆分出来。
本实施例中,已知代码块集合是由多个代码块组合而成的,若某个代码块集合在存储系统中不存在,此时并不知道该代码块集合中的各代码块在存储系统中是否存在,若直接将存储系统中不存在的代码块集合上传至存储系统,可能会出现上传的代码块集合中的某个或某几个代码块在存储系统中已经存在的情况,这种情况会造成存储系统存储空间的浪费。因此该实施例将存储系统中不存在的代码块集合中的代码块拆分出来,以便后续对拆分出的代码块在存储系统中是否存在进行判断。
S306、判断拆分出的各代码块对应的各代码块特征值是否均在存储系统中存在,若是,则执行步骤S304,若否,则执行步骤S307。
本实施例中,判断拆分出的各代码块对应的各代码块特征值是否均在存储系统中存在,可以采用穷举的方法进行,即在存储系统中对拆分出的各代码块对应的各代码块特征值是否存在进行逐一验证,直到全部拆分出的各代码块对应的各代码块特征值验证完毕。
若拆分出的各代码块对应的各代码块特征值均在存储系统中存在,说明各代码块特征值对应的代码块均在存储系统中存在,因此不需要上传交付物文件或代码块,只需将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
S307、将不存在的代码块特征值所对应的代码块上传至存储系统,将不存在的代码块特征值记录在存储系统中,并将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
本实施例中,若拆分出的各代码块对应的各代码块特征值中的一个或多个在存储系统中不存在,说明拆分出的代码块中的一个或多个在存储系统中不存在,因此为了交付物文件能够完整地在存储系统中进行存储,需要将存储系统中不存在代码块上传至存储系统,如此便完成了物理文件的完整存储。此外代码块和代码块特征值在存储系统中也是需要同时存在的,因此还要将上传的代码块对应的代码块特征值记录在存储系统中。
并且,由于已知各代码块集合特征值以及各代码块特征值,通过各代码块集合特征值以及各代码块特征值可以唯一确定交付物文件特征值,该实施例中还需要将交付物文件特征值记录在存储系统中,使用该交付物文件特征值标记交付物文件为已提交存储。
综上,本实施例中的交付物文件存储方法,通过在交付物文件和代码块之间设置了中间级别,即将代码块组合形成代码块集合,在存储过程中减少了判断存储系统中是否存在各代码块特征值的次数,实现了存储效率的进一步提高。
图4为本申请实施例提供的交付物文件存储方法的流程图三。本实施例给出了如何对存储系统中的交付物文件进行变更和/或修改,如图4所示,该交付物文件存储方法,包括如下步骤:
S401、当存储系统中的交付物文件需要进行变更和/或修改时,从存储系统中获取目标交付物文件。
本实施例中,服务设备从存储系统中获取需要进行变更和/或修改的交付物文件作为目标交付物文件。
S402、将目标交付物文件分成多个代码块,确定多个代码块中需要进行变更和/或修改的代码块。
本实施例中,该步骤中将目标交付物文件分成多个代码块的方法与步骤S201中将交付物文件分成多个代码块的方法相同,此处不再赘述。将目标交付物文件分成多个代码块后,确定需要变更和/或修改的代码块,需要变更和/或修改的代码块可能有一个,也可能有多个,根据实际情况进行确定。
S403、将需要变更和/或修改的代码块从存储系统中删除,上传变更和/或修改后的代码块至存储系统。
本实施例中,若代码块需要变更,则将需要变更的代码块删除,上传变更后的代码块至存储系统,若代码块需要修改,则将需要修改的代码块删除,上传修改后的代码块至存储系统。
S404、计算得到变更和/或修改后的代码块的代码块特征值,将代码块特征值记录在存储系统中。
本实施例中,计算变更和/或修改后的代码块的代码块特征值的方法与步骤S201中计算各代码块的代码块特征值的方法相同,此处不再赘述。变更和/或修改后的代码块的代码块特征值也需要同步记录在存储系统中。
综上,本实施例中的交付物文件存储方法,通过将需要变更和/或修改的目标交付物文件分成多个代码块,确定需要变更和/或修改的代码块之后仅仅将变更和/或修改后的代码块上传,而不是将变更和/或修改后的整个交付物文件重新上传,实现了交付物文件的高效变更和修改,且由于交付物文件存在于一个存储系统中,交付物文件需要变更和修改时仅需要针对单个存储系统进行,不会引入数据的一致性问题。
图5为本申请实施例提供的交付物文件存储装置的结构示意图。如图5所示,该交付物文件存储装置,包括:获取模块501、计算模块502、第一标记模块503、判断模块504、第二标记模块505和第一上传模块506;
其中,获取模块501,用于获取交付物文件,将交付物文件分成多个代码块,计算得到各代码块的代码块特征值。
计算模块502,用于根据各代码块特征值计算得到交付物文件的交付物文件特征值。
第一标记模块503,用于若存储系统中存在交付物文件特征值,则使用交付物文件特征值标记交付物文件为已提交存储。
判断模块504,用于若存储系统中不存在交付物文件特征值,则判断各代码块特征值是否均在存储系统中存在。
第二标记模块505,用于若各代码块特征值均在存储系统中存在,则将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
第一上传模块506,用于若各代码块特征值中的一个或多个在存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将不存在的代码块特征值记录在存储系统中,并将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
在一些实施例中,获取模块501,还具体用于根据各代码块的文件路径、文件大小、文件创建日期、文件读写权限中的至少一种信息,采用信息摘要算法MD5计算各代码块的MD5特征值;将MD5特征值作为各个代码块的代码块特征值。
在一些实施例中,计算模块502,具体用于根据各代码块特征值,采用散列算法计算得到交付物文件的交付物文件特征值。
在一些实施例中,交付物文件存储装置还包括:第二上传模块507;第二上传模块507,用于将多个代码块组合形成两个及以上的代码块集合,计算各代码块集合的代码块集合特征值;其中,各代码块集合中包含多个代码块;判断各代码块集合特征值是否均在存储系统中存在;若各代码块集合特征值均在存储系统中存在,则将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储;若各代码块集合特征值中的一个或多个在存储系统中不存在,则将存储系统中不存在的代码块集合中的代码块拆分出来,判断拆分出的各代码块对应的各代码块特征值是否均在存储系统中存在;若各代码块特征值均在存储系统中存在,则使用交付物文件特征值标记交付物文件为已提交存储;若各代码块特征值中的一个或多个在存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将不存在的代码块特征值记录在存储系统中,并将交付物文件特征值记录在存储系统中,使用交付物文件特征值标记交付物文件为已提交存储。
在一些实施例中,交付物文件存储装置还包括:第三上传模块508;第三上传模块508,用于当存储系统中的交付物文件需要进行变更和/或修改时,从存储系统中获取目标交付物文件;将目标交付物文件分成多个代码块,确定多个代码块中需要进行变更和/或修改的代码块;将需要变更和/或修改的代码块从存储系统中删除,上传变更和/或修改后的代码块至存储系统;计算得到变更和/或修改后的代码块的代码块特征值,将代码块特征值记录在存储系统中。
本申请实施例提供的交付物文件存储装置,可用于执行上述实施例中交付物文件存储方法的技术方案,其实现原理和技术效果类似,在此不再赘述。
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,获取模块501可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上获取模块501的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
图6为本申请实施例提供的服务设备的结构示意图。如图6所示,该服务设备可以包括:收发器601、处理器602、存储器603。
处理器602执行存储器存储的计算机执行指令,使得处理器602执行上述实施例中的方案。处理器602可以是通用处理器,包括中央处理器CPU、网络处理器(networkprocessor,NP)等;还可以是数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器603通过系统总线与处理器602连接并完成相互间的通信,存储器603用于存储计算机程序指令。
收发器601可以用于获取待运行任务和待运行任务的配置信息。
系统总线可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。系统总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。收发器用于实现数据库访问装置与其他计算机(例如客户端、读写库和只读库)之间的通信。存储器可能包含随机存取存储器(randomaccess memory,RAM),也可能还包括非易失性存储器(non-volatile memory)。
本申请实施例提供的服务设备,可以是上述实施例的终端设备。
本申请实施例还提供一种运行指令的芯片,该芯片用于执行上述实施例中交付物文件存储方法的技术方案。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行上述实施例交付物文件存储方法的技术方案。
本申请实施例还提供一种计算机程序产品,该计算机程序产品包括计算机程序,其存储在计算机可读存储介质中,至少一个处理器可以从计算机可读存储介质读取计算机程序,至少一个处理器执行计算机程序时可实现上述实施例中交付物文件存储方法的技术方案。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案。
另外,在本申请各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个单元中。上述模块成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器执行本申请各个实施例方法的部分步骤。
应理解,上述处理器可以是中央处理单元(Central Processing Unit,简称CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,还可以为U盘、移动硬盘、只读存储器、磁盘或光盘等。
总线可以是工业标准体系结构(Industry Standard Architecture,简称ISA)总线、外部设备互连(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。
上述存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于专用集成电路(Application Specific Integrated Circuits,简称ASIC)中。当然,处理器和存储介质也可以作为分立组件存在于电控单元或主控设备中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (10)
1.一种交付物文件存储方法,其特征在于,包括:
获取交付物文件,将所述交付物文件分成多个代码块,计算得到各代码块的代码块特征值;
根据各代码块特征值计算得到所述交付物文件的交付物文件特征值;
若存储系统中存在所述交付物文件特征值,则使用所述交付物文件特征值标记所述交付物文件为已提交存储;
若存储系统中不存在所述交付物文件特征值,则判断各代码块特征值是否均在所述存储系统中存在;
若各代码块特征值均在所述存储系统中存在,则将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储;
若各代码块特征值中的一个或多个在所述存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将所述不存在的代码块特征值记录在所述存储系统中,并将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储。
2.根据权利要求1所述的方法,其特征在于,所述计算各代码块的代码块特征值,包括:
根据所述各代码块的文件路径、文件大小、文件创建日期、文件读写权限中的至少一种信息,采用信息摘要算法MD5计算各代码块的MD5特征值;
将所述MD5特征值作为各个代码块的代码块特征值。
3.根据权利要求1所述的方法,其特征在于,所述根据各代码块特征值计算得到所述交付物文件的交付物文件特征值,包括:
根据所述各代码块特征值,采用散列算法计算得到所述交付物文件的交付物文件特征值。
4.根据权利要求1所述的方法,其特征在于,所述获取交付物文件,将所述交付物文件分成多个代码块之后,还包括:
将所述多个代码块组合形成两个及以上的代码块集合,计算各代码块集合的代码块集合特征值;其中,各代码块集合中包含多个代码块;
判断各代码块集合特征值是否均在所述存储系统中存在;
若各代码块集合特征值均在所述存储系统中存在,则使用所述交付物文件特征值标记所述交付物文件为已提交存储;
若各代码块集合特征值中的一个或多个在所述存储系统中不存在,则将存储系统中不存在的代码块集合中的代码块拆分出来,判断拆分出的各代码块对应的各代码块特征值是否均在所述存储系统中存在;
若各代码块特征值均在所述存储系统中存在,则将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储;若各代码块特征值中的一个或多个在所述存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将所述不存在的代码块特征值记录在所述存储系统中,并将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储。
5.根据权利要求1-4任一项所述的方法,其特征在于,还包括:
当存储系统中的交付物文件需要进行变更和/或修改时,从所述存储系统中获取目标交付物文件;
将所述目标交付物文件分成多个代码块,确定所述多个代码块中需要进行变更和/或修改的代码块;
发送将需要变更和/或修改的代码块从所述存储系统中删除,上传变更和/或修改后的代码块至所述存储系统;
计算得到变更和/或修改后的代码块的代码块特征值,将所述代码块特征值记录在所述存储系统中。
6.一种交付物文件存储装置,其特征在于,包括:
获取模块,用于获取交付物文件,将所述交付物文件分成多个代码块,计算得到各代码块的代码块特征值;
计算模块,用于根据各代码块特征值计算得到所述交付物文件的交付物文件特征值;
第一标记模块,用于若存储系统中存在所述交付物文件特征值,则使用所述交付物文件特征值标记所述交付物文件为已提交存储;
判断模块,用于若存储系统中不存在所述交付物文件特征值,则判断各代码块特征值是否均在所述存储系统中存在;
第二标记模块,用于若各代码块特征值均在所述存储系统中存在,则将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储;
第一上传模块,用于若各代码块特征值中的一个或多个在所述存储系统中不存在,则将不存在的代码块特征值所对应的代码块上传至存储系统,将所述不存在的代码块特征值记录在所述存储系统中,并将所述交付物文件特征值记录在所述存储系统中,使用所述交付物文件特征值标记所述交付物文件为已提交存储。
7.根据权利要求6所述的装置,其特征在于,所述获取模块,还具体用于根据所述各代码块的文件路径、文件大小、文件创建日期、文件读写权限中的至少一种信息,采用信息摘要算法MD5计算各代码块的MD5特征值;将所述MD5特征值作为各个代码块的代码块特征值。
8.一种服务设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-5中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1-5中任一项所述的方法。
10.一种计算机程序产品,其特征在于,包括计算机程序,该计算机程序被处理器执行时实现权利要求1-5中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779894.8A CN116679885A (zh) | 2023-06-28 | 2023-06-28 | 交付物文件存储方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310779894.8A CN116679885A (zh) | 2023-06-28 | 2023-06-28 | 交付物文件存储方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116679885A true CN116679885A (zh) | 2023-09-01 |
Family
ID=87789129
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310779894.8A Pending CN116679885A (zh) | 2023-06-28 | 2023-06-28 | 交付物文件存储方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116679885A (zh) |
-
2023
- 2023-06-28 CN CN202310779894.8A patent/CN116679885A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109040341B (zh) | 智能合约地址的生成方法、装置、计算机设备及可读存储介质 | |
CN111344706B (zh) | 管理区块链上的交易的方法和系统 | |
CN110489405B (zh) | 数据处理的方法、装置和服务器 | |
CN110389859B (zh) | 用于复制数据块的方法、设备和计算机程序产品 | |
CN108255989B (zh) | 图片存储方法、装置、终端设备及计算机存储介质 | |
CN110765076A (zh) | 数据存储方法、装置、电子设备及存储介质 | |
CN110377276B (zh) | 源代码文件管理方法及设备 | |
CN112835528A (zh) | 脏页刷新方法和装置、电子设备和存储介质 | |
CN105988724B (zh) | 多副本写入存储设备的方法及存储设备 | |
CN110955545A (zh) | 一种数据完整性校验方法、系统及相关设备 | |
CN117493319A (zh) | 数据去重方法、装置、电子设备及存储介质 | |
CN111381905B (zh) | 一种程序处理方法、装置及设备 | |
CN108984124B (zh) | 减少写放大的方法、装置、计算机设备及存储介质 | |
CN107832021B (zh) | 一种电子证据固定方法、终端设备及存储介质 | |
CN116679885A (zh) | 交付物文件存储方法、装置、设备及存储介质 | |
US9507794B2 (en) | Method and apparatus for distributed processing of file | |
CN112130747A (zh) | 分布式对象存储系统及数据读写方法 | |
CN104216666A (zh) | 一种管理磁盘数据写入的方法及装置 | |
US20150356011A1 (en) | Electronic device and data writing method | |
CN114006819A (zh) | 一种检测策略生成及装置、数据传输方法及装置 | |
US11308038B2 (en) | Copying container images | |
CN111371818B (zh) | 一种数据请求的验证方法、装置及设备 | |
CN112799978A (zh) | 缓存设计管理方法、装置、设备和计算机可读存储介质 | |
CN111026720A (zh) | 一种文件处理方法、系统及相关设备 | |
CN111381977A (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 |