CN116204135A - 一种数据压缩的方法、装置、设备及介质 - Google Patents
一种数据压缩的方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN116204135A CN116204135A CN202310465494.XA CN202310465494A CN116204135A CN 116204135 A CN116204135 A CN 116204135A CN 202310465494 A CN202310465494 A CN 202310465494A CN 116204135 A CN116204135 A CN 116204135A
- Authority
- CN
- China
- Prior art keywords
- data
- difference
- source
- target
- differences
- 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 69
- 238000013144 data compression Methods 0.000 title claims abstract description 27
- 230000008569 process Effects 0.000 claims abstract description 13
- 230000001131 transforming effect Effects 0.000 claims abstract description 7
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims description 5
- 238000012545 processing Methods 0.000 abstract description 5
- 238000007906 compression Methods 0.000 description 37
- 230000006835 compression Effects 0.000 description 34
- 238000011084 recovery Methods 0.000 description 7
- 230000009467 reduction Effects 0.000 description 4
- 238000006467 substitution reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012806 monitoring device Methods 0.000 description 1
- 238000012544 monitoring process 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/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
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
-
- 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/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据压缩的方法、装置、设备及介质,属于数据处理领域,该方法包括:查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据,其中,所述基准数据是差异比对过程中的标准;将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据;对所述目标差异数据进行压缩,获得至少一个目标压缩数据。通过本申请的一些实施例能够对各源数据中重复的部分进行压缩,从而节省大量的存储空间,提升设备的运行速度。
Description
技术领域
本申请实施例涉及数据处理领域,具体涉及一种数据压缩的方法、装置、设备及介质。
背景技术
相关技术中,设备中通常会存储大量的数据,导致存储空间过分占用。例如,随着监控的普及,监控设备采集的图片像素越来越高,存储空间需求也越来越大,虽然存储技术不断提升,容量不断增大,但是海量的数据增长也能快速的将存储空间填满。现有技术中,通常使用直接压缩图片的方式,利用某种压缩算法将图片进行压缩,从而减少存储空间。但图片中包含的信息较多,对每个图片进行压缩之后,导致压缩率很低。
因此,如何高效对源数据进行压缩成为需要解决的问题。
发明内容
本申请实施例提供一种数据压缩的方法、装置、设备及介质,通过本申请的一些实施例至少能够对各源数据中重复的部分进行压缩,从而节省大量的存储空间,提升设备的运行速度。
第一方面,本申请提供了一种数据压缩的方法,所述方法包括:查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据,其中,所述基准数据是差异比对过程中的标准;将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据;对所述目标差异数据进行压缩,获得至少一个目标压缩数据。
因此,与相关技术中使用直接压缩图片的方式,利用某种压缩算法将图片进行压缩的技术方案不同的是,本申请实施例将基准数据与至少一个源数据之间的差异数据之外的其他数据变换为预设字符,并且进行压缩,能够针对同一目录下大量的相同源数据,去除每个源数据的重复部分,只保留每个源数据的差异,从而能够节省大量的存储空间。
结合第一方面,在本申请的一种实施方式中,在所述对所述目标差异数据进行压缩,获得至少一个目标压缩数据之后,所述方法还包括:响应于数据还原指令,对所述至少一个目标压缩数据中的各目标压缩数据进行解压,获得所述目标差异数据;查找所述目标差异数据与所述基准数据之间的差异数据;基于所述差异数据执行还原操作,获得恢复数据。
因此,本申请实施例通过将解压数据进行还原,能够在需要还原数据的情况下,快速的基于基准数据与源数据之间的差异数据还原得到恢复数据。
结合第一方面,在本申请的一种实施方式中,在所述查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据之前,所述方法还包括:获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,其中,所述多个数据中包括所述基准数据和所述至少一个源数据;将所述差异最小的数据作为所述基准数据。
结合第一方面,在本申请的一种实施方式中,所述获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,包括:获取所述多个数据中任一数据的存储时间;将所述任一数据的存储时间与所述多个数据中的其他数据的平均存储时间进行比较,获得所述任一数据的存储时间差异;所述将所述差异最小的数据作为所述基准数据,包括:将所述存储时间差异最小的数据作为所述基准数据。
结合第一方面,在本申请的一种实施方式中,所述获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,包括:获取所述多个数据中任一数据的内容;将所述任一数据的内容与所述多个数据中的其他数据的内容进行比较,获得所述任一数据与所述多个数据中的其他数据之间的内容差异;所述将所述差异最小的数据作为所述基准数据,包括:将所述内容差异最小的数据作为所述基准数据。
因此,本申请实施例通过将与其他数据差异最小的数据作为基准数据,能够使查找得到的差异数据的体量更小,从而在压缩的过程中,获得更高的压缩率。
结合第一方面,在本申请的一种实施方式中,所述将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据,包括:将所述各源数据中除所述差异数据之外的其他数据变换为0,获得目标差异数据。
因此,本申请实施例通过将其他数据变换为0,能够在压缩的过程中只统计0的个数即可,从而获得更好的压缩效果。
结合第一方面,在本申请的一种实施方式中,基准数据与至少一个源数据的类型包括文件数据或图像数据。
第二方面,本申请提供了一种数据压缩的装置,所述装置包括:差异查找模块,被配置为查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据,其中,所述基准数据是差异比对过程中的标准;字符转换模块,被配置为将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据;数据压缩模块,被配置为对所述目标差异数据进行压缩,获得至少一个目标压缩数据。
结合第二方面,在本申请的一种实施方式中,所述装置还包括数据还原模块;所述数据还原模块,被配置为:响应于数据还原指令,对所述至少一个目标压缩数据中的各目标压缩数据进行解压,获得所述目标差异数据;查找所述目标差异数据与所述基准数据之间的差异数据;基于所述差异数据执行还原操作,获得恢复数据。
结合第二方面,在本申请的一种实施方式中,所述差异查找模块还被配置为:获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,其中,所述多个数据中包括所述基准数据和所述至少一个源数据;将所述差异最小的数据作为所述基准数据。
结合第二方面,在本申请的一种实施方式中,所述差异查找模块还被配置为:获取所述多个数据中任一数据的存储时间;将所述任一数据的存储时间与所述多个数据中的其他数据的平均存储时间进行比较,获得所述任一数据的存储时间差异;所述将所述差异最小的数据作为所述基准数据,包括:将所述存储时间差异最小的数据作为所述基准数据。
结合第二方面,在本申请的一种实施方式中,所述差异查找模块还被配置为:获取所述多个数据中任一数据的内容;将所述任一数据的内容与所述多个数据中的其他数据的内容进行比较,获得所述任一数据与所述多个数据中的其他数据之间的内容差异;所述将所述差异最小的数据作为所述基准数据,包括:将所述内容差异最小的数据作为所述基准数据。
结合第二方面,在本申请的一种实施方式中,所述字符转换模块还被配置:为将所述各源数据中除所述差异数据之外的其他数据变换为0,获得目标差异数据。
结合第二方面,在本申请的一种实施方式中,基准数据与至少一个源数据的类型包括文件数据或图像数据。
第三方面,本申请提供了一种电子设备,包括:处理器、存储器和总线;所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如第一方面任意实施例所述的方法。
第四方面,本申请提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如第一方面任意实施例所述的方法。
附图说明
图1为本申请实施例示出的一种数据压缩的场景组成示意图;
图2为本申请实施例示出的一种数据压缩的方法流程图之一;
图3为本申请实施例示出的一种数据压缩的方法流程图之二;
图4为本申请实施例示出的一种数据压缩的方法流程图之三;
图5为本申请实施例示出的一种数据压缩的方法流程图之四;
图6为本申请实施例示出的一种数据压缩的装置组成示意图;
图7为本申请实施例示出的一种电子设备组成示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全部实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对附图中提供的本申请的实施例的详情描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护范围。
本申请实施例可以应用与对设备中的数据进行压缩后存储的场景,为了改善背景技术中的问题,在本申请的一些实施例中,通过查找基准数据与至少一个源数据中的各源数据之间的差异数据,并且将除差异数据之外的其他数据变换为预设字符进行压缩。能够对各源数据中重复的部分进行压缩,从而节省大量的存储空间,提升设备的运行速度。
下面结合附图详细描述本申请实施例中的方法步骤。
图1提供了本申请一些实施例中的数据压缩的场景示意图,该场景包括压缩设备110。具体的,多个数据通过多种途径存放在压缩设备110中,压缩设备110在多个数据中确定基准数据和至少一个源数据,之后根据基准数据对至少一个源数据进行压缩操作,获得至少一个目标压缩数据。需要说明的是,在本申请实施例中进行数据压缩操作的可以是任何设备,例如,客户端设备(如图1所示)、服务器、网关设备、移动端设备等,本申请对压缩设备的类型不进行限制。
与本申请实施例不同的是相关技术中,同一地点的摄像设备每天会产生大量的图片,不同时间图像的内容变化不大,高清设备产生的图像通常占用大量的存储空间,虽然存储设备容量越来越大,但是设备拍摄图像的频率很高,会快速将存储空间占用完。现有技术使用如下三种方案来解决上述问题:第一种,增加存储设备,或者用更大容量的磁盘替换原有的磁盘,目的就是增加存储空间来容纳更多的数据。第二种,压缩图片,存储时利用某种压缩算法将图片进行压缩,从而减少存储空间。第三种,转换格式,通过牺牲图片的清晰度,采用占用空间更小的格式来存放不重要的图像资源。但是,针对于第一种方法,增加存储设备会占用大量机房空间,另外会增加额外的硬件支出以及电量消耗等能源问题,后期的硬件维护也是一项比较大的开支。针对于第二种方法,对每张原始图片进行压缩,图片中包含的信息较多,重复数据很少,针对每个图片进行压缩导致压缩率很低。针对于第三种方法,降低图片清晰度会导致有些重要的信息丢失。
因此,本申请为了解决上述问题,读取源数据与基准数据之间的差异数据,然后加以处理,再对处理后的数据进行压缩,从而得到目标压缩数据。
下文以压缩设备为例,示例性的阐述本申请一些实施例中压缩设备执行的一种数据压缩的方法。可以理解的是,本申请提供的一种数据压缩的方法可以应用于任何压缩设备上。
至少为了解决背景技术中的问题,如图2所示,本申请一些实施例提供了一种数据压缩的方法,该方法包括:
S210,查找基准数据与至少一个源数据中的各源数据之间的差异,获得与各源数据相对应的差异数据。
需要说明的是,基准数据是差异比对过程中的标准,即多个数据中除了基准数据,其他的源数据(即至少一个源数据)均需要与基准数据进行比较。
需要说明的是,基准数据与至少一个源数据的类型包括文件数据或图像数据。也就是说,基准数据和至少一个源数据可以是文件,也可以是图像,还可以是视频等。本申请实施例对基准数据与至少一个源数据的类型不进行任何限定。可以理解的是,基准数据和至少一个源数据这两种数据的类型应是一致的,即基准数据为文件,那么至少一个源数据也应该是文件。
在本申请的一种实施方式中,在S210之前需要确定基准数据,具体步骤如下所示:
首先,获取多个数据中的任一数据,并且将任一数据与多个数据中的其他数据进行比较,获得任一数据与多个数据中的其他数据之间的差异。然后,将差异最小的数据作为基准数据。
需要说明的是,多个数据中包括基准数据和至少一个源数据。也就是说,在多个数据中确定基准数据之后,将多个数据中除基准数据之外的其他数据,作为至少一个源数据。
具体的,获取同一目录下的多个数据,查找多个数据中的任一数据与多个数据中除了任一数据之外的其他数据之间的差异,然后,在所有的数据均查找完成之后,将与其他数据差异最小的任意数据作为基准数据。例如,基准数据和至少一个源数据的类型为图像,那么,设备中同一目录下的多个数据包括A图像、B图像和C图像,分别查找A图像与B图像和C图像之间的第一差异,分别查找B图像与A图像和C图像之间的第二差异,分别查找C图像与A图像和B图像之间的第三差异,若确定第一差异、第二差异和第三差异中第二差异最小,那么将B图像作为基准数据。
作为获取基准数据的一个具体实施例,首先,获取多个数据中任一数据的存储时间,然后,将任一数据的存储时间与多个数据中的其他数据的平均存储时间进行比较,获得任一数据的存储时间差异,最后,将存储时间差异最小的数据作为基准数据。
具体的,基准数据的选择遵循的原则是在一个目录下和所有数据的平均差异最小,可根据数据的时间属性选取一个和其他所有数据平均存储时间距离最短的文件,通常选择时间居中的文件。也就是说,多个数据中的每一个数据都对应一个存储时间,选择这些存储时间中排在中间位置的存储时间所对应的数据作为基准数据。例如:多个数据中包括A数据、B数据和C数据,其中,A数据对应的存储时间为13:00,B数据对应的存储时间为13:01,C数据对应的存储时间为13:02,那么,由于B数据的存储时间排在中间位置,所以将B数据作为基准数据。
作为获取基准数据的另一个具体实施例,首先,获取多个数据中任一数据的内容,然后,将任一数据的内容与多个数据中的其他数据的内容进行比较,获得任一数据与多个数据中的其他数据之间的内容差异,最后,将内容差异最小的数据作为基准数据。
也就是说,除了可以根据多个数据的存储时间确定基准数据,还可以根据多个数据中的内容确定基准数据。具体的,多个数据中各数据存储的数据可能只有小部分内容不同,其他的大部分内容均是相同,所以可以将多个数据中的每个数据均与其他的数据进行比对,获得任一数据与其他数据的差异,选择差异最小的数据作为基准数据。
在本申请的一种实施方式中,在S210中基于上述步骤选择完成基准数据之后,将基准数据分别与各源数据进行比较,获得与各源数据相对应的差异数据,即将基准数据分别与各源数据进行异或操作生成差异数据。
例如,如图3所示,源数据与基准数据之间的差异数据为第五行中的“33 22 55”这三个字符。
S220,将各源数据中除差异数据之外的其他数据变换为预设字符,获得目标差异数据。
作为本申请一具体实施例,将各源数据中除差异数据之外的其他数据变换为0,获得目标差异数据,即将对比后差异数据中大部分内容都变为0,获得目标差异数据,对比之后删除当前源数据。
例如,如图3所示,将源数据中除了差异数据“33 22 55”这三个字符之外的其他数据均变为0,整成目标差异数据。可以理解的是,目标差异数据中除了差异数据“33 22 55”之外,其他的数据均为预设字符(例如,预设字符为0)。预设字符也可以是其他的字符,例如,预设字符可以是a、b以及c,本申请对预设字符的设定不进行限制。
S230,对目标差异数据进行压缩,获得至少一个目标压缩数据。
也就是说,在获得目标差异数据之后,目标异常数据有大量的空洞,压缩空间很大,采用常用的压缩算法进行压缩,可以将大量空洞消除,常用的压缩算法有行程长度压缩算法RLE(Run Length Encoding,RLE)、滑动窗口无损压缩算法(LZ77),LZ77的线性时间替换算法(LZR),改进的滑动窗口压缩(LZSS)等,本申请实施例以RLE算法为例进行压缩描述。可以理解的是,本申请实施例可以使用任何压缩算法进行压缩操作,本申请不限于上述提及的几种算法。
RLE算法是一种无损的压缩算法,顺序读取被压缩文件(即目标差异数据),按线性分为重复数据和非重复数据,对于重复数据记录重复个数,然后用一个或几个字节记录,非重复数据用一个或几个字节记录个数,直到文件结尾,该算法针对有大量重复数据的文件压缩效率比较高,例如在目标差异数据中,有大量内容为0的字节,压缩空间很大。
综上所述,文件合并压缩的过程为:从目录中选择一个基准数据,然后其余数据(至少一个源数据)依次和基准数据做比较,差异部分保留,相同部分清零,完成数据的合并之后获得目标差异数据,将目标差异数据进行压缩,生成目标压缩数据。例如,如图3所示,压缩之后的目标压缩数据仅仅包括了“91 00 03 33 22 55 87 00”这几个字节。可以理解的是,数据恢复的过程与压缩过程相反。
在本申请的一种实施方式中,在S230之后,本申请实施例还包括对目标压缩数据进行还原的步骤,具体步骤如下所示:
首先,响应于数据还原指令,对至少一个目标压缩数据中的各目标压缩数据进行解压,获得目标差异数据。然后,查找目标差异数据与基准数据之间的差异数据。最后,基于差异数据执行还原操作,获得恢复数据。
也就是说,文件恢复过程为解压压缩数据,得到目标差异数据,然后再和基准数据做比较生成恢复数据。具体的,在用户触发数据还原指令之后,设备获取存储的目标压缩数据,之后对各目标压缩数据进行解压,还原至如图3所示的目标差异数据,之后再分别使用每一个目标差异数据与基准数据进行比对,获得差异数据,之后将差异数据和除了差异数据之外的其他数据进行还原操作,获得恢复数据。可以理解的是,恢复数据与源数据相同。
作为本申请一具体实施例,数据压缩过程如图4所示,首先,进行基准文件的选择,具体包括:S401进入被压缩目录,S402读取所有文件的时间信息以及S403选取一个时间居中的文件作为基准文件,命名为A。然后,进行文件的合并,具体包括:S404打开基准文件A和至少一个源文件B,S405按字节读取两个文件内容,S406将读取出的内容按字节查找差异数据以及S407将差异数据写入C文件,并且删除差异数据。接着,进行文件的压缩,具体包括:S408打开C文件,S409顺序读取文件内容,统计重复字节的数量,S410每段数据利用一个字节记录重复字节数和非重复字节数,S411重复字节用一个数量字节和一个数据字节代替,非重复数据用一个数量字节代表非重复字节数据,后面加上原始字节以及S412写入D文件,然后删除C文件。数据恢复过程如图5所示,首先,进行文件的解压,具体包括:S501打开D文件,S502顺序读取文件内容,第一个字节为统计字节,然后按照第一个字节大小输出后续字节的数量到一个新文件 C文件,S503根据字节数重复上述过程以及S504文件读取结束后删除D文件。然后,进行文件的恢复,具体包括:S505选择目录中最大的文件作为基准文件A,S506打开基准文件A和C文件,S507顺序读取两个文件的内容,查找差异数据,之后写入B文件,获取恢复数据以及S508删除C文件。
作为本申请另一具体实施例,本申请分析了多数据压缩的方法,针对同一目录下的数据内容多数具有相似性,以一个数据为基准,其他数据做对比,保存和基准数据的不同部分,其他用0填充,然后在进行压缩,可以极大的缩减存储空间。访问数据时反向操作,先解压数据,然后在和基准数据进行比较恢复原始数据,这样一来可以做到无损压缩同一目录下的多个数据。
具体的,一个磁盘下面包括多个目录,单个目录下存放的是同一地点的设备不同时段拍摄的所有图像。其中一个目录下面存放的数据,大小相似,时间差距不大,说明是设备每隔一段时间拍下的同一个地点,图片的内容大部分相似。基准数据与其他每个数据相差很少,只要把相同部分对比清除,保留差异部分,然后对其进行压缩就可以得到一个比较小的数据。
首先,进行文件的对比,目录下的文件按时间排序,每10个文件一组,时间最前面的文件作为基准文件(即基准数据),其余九个文件和基准文件做异或操作生成第三个文件,这样就可以把文件中相同的部分置零,同时把异或后的文件和基准文件做关联,然后删除源文件,这样就得到了一个可大规模压缩的文件。然后,进行文件的还原,读取文件内容,通过里面的信息找到基准文件,然后同时读取基准文件和目标差异数据,按位异或,得到恢复数据。其中,压缩文件中的内容采用分段式存储,每一段有固定的格式,包含两部分,统计字节以及数据部分,统计字节首位定义是否重复数据,其余位定义数据长度,后续字节表示数据,数据有重复数据和非重复数据之分,重复数据即为预设字符,非重复数据即为差异数据。
因此,本申请实施例针对相似图片进行比较合并然后通过改进的RLE算法进行压缩,节省存储空间,文件越大,相似度越高,压缩率越高,通过实例中的文件压缩可以看出压缩率近80%,对于大文件压缩率会更高。
上文描述了本申请提供的一种数据压缩的方法的具体实施例,下文将描述本申请提供的一种数据压缩的装置。
如图6所示,本申请的一些实施例提供一种数据压缩的装置600,该装置包括:差异查找模块610、字符转换模块620以及数据压缩模块630。
差异查找模块610,被配置为查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据,其中,所述基准数据是差异比对过程中的标准;字符转换模块620,被配置为将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据;数据压缩模块630,被配置为对所述目标差异数据进行压缩,获得至少一个目标压缩数据。
在本申请的一种实施方式中,所述装置还包括数据还原模块;所述数据还原模块,被配置为:响应于数据还原指令,对所述至少一个目标压缩数据中的各目标压缩数据进行解压,获得所述目标差异数据;查找所述目标差异数据与所述基准数据之间的差异数据;基于所述差异数据执行还原操作,获得恢复数据。
在本申请的一种实施方式中,所述差异查找模块610还被配置为:获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,其中,所述多个数据中包括所述基准数据和所述至少一个源数据;将所述差异最小的数据作为所述基准数据。
在本申请的一种实施方式中,所述差异查找模块610还被配置为:获取所述多个数据中任一数据的存储时间;将所述任一数据的存储时间与所述多个数据中的其他数据的平均存储时间进行比较,获得所述任一数据的存储时间差异;所述将所述差异最小的数据作为所述基准数据,包括:将所述存储时间差异最小的数据作为所述基准数据。
在本申请的一种实施方式中,所述差异查找模块610还被配置为:获取所述多个数据中任一数据的内容;将所述任一数据的内容与所述多个数据中的其他数据的内容进行比较,获得所述任一数据与所述多个数据中的其他数据之间的内容差异;所述将所述差异最小的数据作为所述基准数据,包括:将所述内容差异最小的数据作为所述基准数据。
在本申请的一种实施方式中,所述字符转换模块620还被配置:为将所述各源数据中除所述差异数据之外的其他数据变换为0,获得目标差异数据。
在本申请的一种实施方式中,基准数据与至少一个源数据的类型包括文件数据或图像数据。
在本申请实施例中,图6所示模块能够实现图1至图5方法实施例中的各个过程。图6中的各个模块的操作和/或功能,分别为了实现图1至图5中的方法实施例中的相应流程。具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
如图7所示,本申请实施例提供一种电子设备700,包括:处理器710、存储器720和总线730,所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,用于实现如上述所有实施例中任一项所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
其中,总线用于实现这些组件直接的连接通信。其中,本申请实施例中处理器可以是一种集成电路芯片,具有信号的处理能力。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-Only Memory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,EEPROM)等。存储器中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,可以执行上述实施例中所述的方法。
可以理解,图7所示的结构仅为示意,还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被服务器执行时实现上述所有实施方式中任一所述的方法,具体可参见上述方法实施例中的描述,为避免重复,此处适当省略详细描述。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种数据压缩的方法,其特征在于,所述方法包括:
查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据,其中,所述基准数据是差异比对过程中的标准;
将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据;
对所述目标差异数据进行压缩,获得至少一个目标压缩数据。
2.根据权利要求1所述的方法,其特征在于,在所述对所述目标差异数据进行压缩,获得至少一个目标压缩数据之后,所述方法还包括:响应于数据还原指令,对所述至少一个目标压缩数据中的各目标压缩数据进行解压,获得所述目标差异数据;
查找所述目标差异数据与所述基准数据之间的差异数据;
基于所述差异数据执行还原操作,获得恢复数据。
3.根据权利要求1或2所述的方法,其特征在于,在所述查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据之前,所述方法还包括:
获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,其中,所述多个数据中包括所述基准数据和所述至少一个源数据;
将所述差异最小的数据作为所述基准数据。
4.根据权利要求3所述的方法,其特征在于,所述获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,包括:
获取所述多个数据中任一数据的存储时间;
将所述任一数据的存储时间与所述多个数据中的其他数据的平均存储时间进行比较,获得所述任一数据的存储时间差异;
所述将所述差异最小的数据作为所述基准数据,包括:
将所述存储时间差异最小的数据作为所述基准数据。
5.根据权利要求3所述的方法,其特征在于,所述获取多个数据中的任一数据,并且将所述任一数据与所述多个数据中的其他数据进行比较,获得所述任一数据与所述多个数据中的其他数据之间的差异,包括:
获取所述多个数据中任一数据的内容;
将所述任一数据的内容与所述多个数据中的其他数据的内容进行比较,获得所述任一数据与所述多个数据中的其他数据之间的内容差异;
所述将所述差异最小的数据作为所述基准数据,包括:
将所述内容差异最小的数据作为所述基准数据。
6.根据权利要求1或2所述的方法,其特征在于,所述将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据,包括:
将所述各源数据中除所述差异数据之外的其他数据变换为0,获得目标差异数据。
7.根据权利要求1或2所述的方法,其特征在于,所述基准数据与所述至少一个源数据的类型包括文件数据或图像数据。
8.一种数据压缩的装置,其特征在于,所述装置包括:
差异查找模块,被配置为查找基准数据与至少一个源数据中的各源数据之间的差异,获得与所述各源数据相对应的差异数据,其中,所述基准数据是差异比对过程中的标准;
字符转换模块,被配置为将所述各源数据中除所述差异数据之外的其他数据变换为预设字符,获得目标差异数据;
数据压缩模块,被配置为对所述目标差异数据进行压缩,获得至少一个目标压缩数据。
9.一种电子设备,其特征在于,包括:处理器、存储器和总线;
所述处理器通过所述总线与所述存储器相连,所述存储器存储有计算机程序,所述计算机程序由所述处理器执行时可实现如权利要求1-7任一项所述方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被执行时可实现如权利要求1-7任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310465494.XA CN116204135A (zh) | 2023-04-27 | 2023-04-27 | 一种数据压缩的方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310465494.XA CN116204135A (zh) | 2023-04-27 | 2023-04-27 | 一种数据压缩的方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116204135A true CN116204135A (zh) | 2023-06-02 |
Family
ID=86513199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310465494.XA Pending CN116204135A (zh) | 2023-04-27 | 2023-04-27 | 一种数据压缩的方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204135A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844479A (zh) * | 2016-12-23 | 2017-06-13 | 光锐恒宇(北京)科技有限公司 | 文件的压缩、解压方法及装置 |
US20180247550A1 (en) * | 2015-11-19 | 2018-08-30 | Shenzhen Eaglesoul Technology Co., Ltd. | Image synchronous display method and device |
CN113505253A (zh) * | 2021-07-03 | 2021-10-15 | 北京中建建筑科学研究院有限公司 | 基于区块链的图片上传方法、装置、服务器及存储介质 |
CN113641434A (zh) * | 2021-08-12 | 2021-11-12 | 上海酷栈科技有限公司 | 一种云桌面数据压缩自适应编码方法、系统及存储设备 |
CN115249276A (zh) * | 2022-08-04 | 2022-10-28 | 中国电信股份有限公司 | 图像压缩方法、装置、电子设备及存储介质 |
-
2023
- 2023-04-27 CN CN202310465494.XA patent/CN116204135A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20180247550A1 (en) * | 2015-11-19 | 2018-08-30 | Shenzhen Eaglesoul Technology Co., Ltd. | Image synchronous display method and device |
CN106844479A (zh) * | 2016-12-23 | 2017-06-13 | 光锐恒宇(北京)科技有限公司 | 文件的压缩、解压方法及装置 |
CN113505253A (zh) * | 2021-07-03 | 2021-10-15 | 北京中建建筑科学研究院有限公司 | 基于区块链的图片上传方法、装置、服务器及存储介质 |
CN113641434A (zh) * | 2021-08-12 | 2021-11-12 | 上海酷栈科技有限公司 | 一种云桌面数据压缩自适应编码方法、系统及存储设备 |
CN115249276A (zh) * | 2022-08-04 | 2022-10-28 | 中国电信股份有限公司 | 图像压缩方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6292114B1 (en) | Efficient memory mapping of a huffman coded list suitable for bit-serial decoding | |
US8019166B2 (en) | Image data compression method and apparatuses, image display method and apparatuses | |
KR101323439B1 (ko) | 특징 디스크립터를 표현하고 식별하는 방법, 장치 및 컴퓨터 판독가능 저장 매체 | |
CN102687404B (zh) | 用于数据压缩的数据值出现信息 | |
US6882750B2 (en) | Fast loss less image compression system based on neighborhood comparisons | |
RU2493600C2 (ru) | Процессор изображений, генератор изображений и компьютерная программа | |
CN106202213B (zh) | 一种fpga二进制文件压缩、解压方法及压缩、解压装置 | |
CN111125033B (zh) | 一种基于全闪存阵列的空间回收方法及系统 | |
CN112544038A (zh) | 存储系统数据压缩的方法、装置、设备及可读存储介质 | |
JP2017005456A (ja) | 画像圧縮方法、画像圧縮装置及び撮像装置 | |
Wahba et al. | Lossless image compression techniques comparative study | |
CN111506750B (zh) | 图片检索方法、装置及电子设备 | |
CN116204135A (zh) | 一种数据压缩的方法、装置、设备及介质 | |
CN112887713A (zh) | 图片压缩、解压缩方法和装置 | |
JP2017192080A (ja) | 画像圧縮装置、画像復号装置、画像圧縮方法及び画像圧縮プログラム | |
CN112347398B (zh) | 用于加载图片的方法、计算设备和计算机可读存储介质 | |
JP3218220B2 (ja) | 画像情報圧縮方法及びその画像情報圧縮システム | |
CN112686966B (zh) | 图像无损压缩方法和装置 | |
WO2020258287A1 (zh) | 图像校正方法和图像校正装置以及电子设备 | |
KR20210113681A (ko) | 다중 이미지에 대한 압축 | |
CN112669396B (zh) | 图像无损压缩方法和装置 | |
US9591332B2 (en) | Image processing apparatus performing preprocessing to prevent boundary positions of divided rectangular regions of image data from being separated into dense and sparse portions | |
CN115699725A (zh) | 视频图像处理方法及装置 | |
CN111182173B (zh) | 一种图像传输处理方法和系统 | |
CN109525848B (zh) | 一种脉冲序列的压缩方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230602 |