CN110060310B - 文件压缩方法、装置及设备 - Google Patents

文件压缩方法、装置及设备 Download PDF

Info

Publication number
CN110060310B
CN110060310B CN201910094053.7A CN201910094053A CN110060310B CN 110060310 B CN110060310 B CN 110060310B CN 201910094053 A CN201910094053 A CN 201910094053A CN 110060310 B CN110060310 B CN 110060310B
Authority
CN
China
Prior art keywords
file
original
code
picture resource
lottie
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.)
Active
Application number
CN201910094053.7A
Other languages
English (en)
Other versions
CN110060310A (zh
Inventor
王超
陈盼鑫
陈华昌
胡廷京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Advanced New Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Advanced New Technologies Co Ltd filed Critical Advanced New Technologies Co Ltd
Priority to CN201910094053.7A priority Critical patent/CN110060310B/zh
Publication of CN110060310A publication Critical patent/CN110060310A/zh
Application granted granted Critical
Publication of CN110060310B publication Critical patent/CN110060310B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本说明书实施例提供一种文件压缩方法、装置及设备,所述方法包括:获取待压缩的动画资源文件,所述动画资源文件包括:原始Lottie文件;识别所述原始Lottie文件中的图片资源代码;利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件。本实施例的文件压缩效果显著,压缩后的Lottie文件仍可正常解读。

Description

文件压缩方法、装置及设备
技术领域
本说明书涉及数据处理技术领域,尤其涉及文件压缩方法、装置及设备。
背景技术
随着移动设备和互联网技术的发展,客户端应用和网页页面对视觉效果展示的要求也越来越丰富复杂,然而这也导致互联网传输的内容和数据量的增长,对设备的存储空间和网络速度等有负面影响。基于此,有必要提供一种文件压缩方案,以减少数据存储和传输的压力。
发明内容
为克服相关技术中存在的问题,本说明书提供了文件压缩方法、装置及设备。
根据本说明书实施例的第一方面,提供一种文件压缩方法,包括:
获取待压缩的动画资源文件,所述动画资源文件包括:原始Lottie文件;
识别所述原始Lottie文件中的图片资源代码;
利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件。
可选的,所述识别所述原始Lottie文件中的图片资源代码,包括:
读取所述原始Lottie文件的文件代码,在从所述文件代码中识别出assets属性的属性值后,从所述assets属性的属性值中获取图片资源代码。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件,包括:
对所述图片资源代码中的Base64编码进行还原,获得原始图片资源后对所述原始图片资源进行压缩;
将压缩的图片资源生成Base64编码后写入并覆盖所述图片资源代码中的Base64编码,获得压缩后的动画资源文件。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件,包括:
对所述图片资源代码中的Base64编码进行还原,将所述原始图片资源存储至目标位置;
根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码写入并覆盖所述所述图片资源代码中的Base64编码,获得压缩后的动画资源文件。
可选的,所述图片资源代码包括:图片资源的引用路径代码,所述引用路径代码指示原始图片资源的存储位置;
所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
利用所述引用路径代码获取到原始图片资源后,对所述原始图片资源压缩后,将压缩后的图片资源覆盖所述原始图片资源。
可选的,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
若通过图片资源代码确定有多份图片资源,并发将各份原始图片资源进行压缩。
可选的,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
将对应所述图片资源代码的原始图片资源提交给压缩服务端,获取所述压缩服务端返回的压缩后的图片资源。
根据本说明书实施例的第二方面,提供一种文件压缩方法,包括:
获取待压缩的原始Lottie文件;
识别所述原始Lottie文件中的图片资源代码;
利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的原始Lottie文件,包括:
对所述图片资源代码中的Base64编码进行还原,获得原始图片资源后对所述原始图片资源进行压缩;
将压缩的图片资源生成Base64编码后写入并覆盖所述图片资源代码中的Base64编码,获得压缩后的Lottie文件。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的Lottie文件,包括:
对所述图片资源代码中的Base64编码进行还原,将所述原始图片资源存储至目标位置;
根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码写入并覆盖所述所述图片资源代码中的Base64编码,获得压缩后的Lottie文件。
根据本说明书实施例的第三方面,提供一种文件压缩方法,包括:
获取待压缩的原始Lottie文件;
识别所述原始Lottie文件中的图片资源代码;
利用所述图片资源代码获取原始图片资源,将所述原始图片资源压缩后,输出所述原始Lottie文件。
根据本说明书实施例的第四方面,提供一种文件压缩装置,包括:
文件获取模块,用于:获取待压缩的原始Lottie文件;
代码识别模块,用于:识别所述原始Lottie文件中的图片资源代码;
压缩重写模块,用于:将对应所述图片资源代码的图片资源进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件。
根据本说明书实施例的第五方面,提供一种文件压缩装置,包括:
文件获取模块,用于:获取待压缩的原始Lottie文件;
代码识别模块,用于:识别所述原始Lottie文件中的图片资源代码;
压缩重写模块,用于:利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件。
根据本说明书实施例的第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述文件压缩方法实施例。
本说明书的实施例提供的技术方案可以包括以下有益效果:
本说明书实施例中,对于包含有原始Lottie文件的动画资源文件,可以通过识别原始Lottie文件中的图片资源代码来获取到图片资源,在对图片资源的压缩后,通过重写动画资源文件来实现对文件压缩;本实施例的压缩效果显著。
通过识别原始Lottie文件中的图片资源代码来获取到图片资源,在对图片资源的压缩后,通过重写原始Lottie文件中的图片资源代码,从而实现对Lottie文件中的压缩;本实施例的压缩效果显著,压缩后的Lottie文件仍可正常解读。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本说明书。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本说明书的实施例,并与说明书一起用于解释本说明书的原理。
图1A是本说明书根据一示例性实施例示出的一种文件压缩方法的流程图。
图1B是本说明书根据一示例性实施例示出的一种文件压缩方法的场景示意图。
图2A和图2B分别是本说明书根据一示例性实施例示出的另一种文件压缩方法的流程图。
图3是本说明书根据一示例性实施例示出的一种文件压缩装置所在设备的框图。
图4至6分别是本说明书根据一示例性实施例示出的一种文件压缩装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
客户端应用和网页页面等技术领域都有动画效果展示的需求,动画效果的实现有多种方式,例如使用帧动画、采用Gif(Graphics Interchange Format,图像互换格式)或Lottie方案等。
其中,Lottie是Airbnb开源的一套跨平台的完整的动画效果解决方案,设计师可以使用Adobe After Effects设计出动画之后,使用Lottic提供的Bodymovin插件将设计好的动画导出Lottie文件,该Lottie文件是JSON格式,可以直接运用在iOS、Android、Web和React Native之上,无需其他额外操作。
实际业务场景中会有使用Lottie文件来做动画的需求,但是导出的Lottie文件的数据量仍然较大,对于一些复杂、效果丰富的动画文件,对网络流量有较大压力,对加载体验也有很大损伤。
基于此,本实施例针对动画资源场景提出一种文件压缩的解决方案,如图1A所示,图1A是本说明书根据一示例性实施例示出的一种文件压缩方法的流程图,包括以下步骤:
在步骤102中,获取待压缩的动画资源文件,所述动画资源文件包括:原始Lottie文件。
在步骤104中,识别所述原始Lottie文件中的图片资源代码。
在步骤106中,利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件。
本实施例中,Lottie文件是一种采用JSON格式描述的文件,作为一个例子,如下示出了一个Lottie文件的部分代码,以对JSON格式进行简要说明:
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON数据的书写格式是:“属性名”:“属性值”,上述例子中示出了文件中所记录的多个属性。其中,assets属性表示Lottie文件中的资源信息集合,通过读取所述原始Lottie文件的文件代码,可以从所述文件代码中识别出assets属性及属性值,从assets属性的属性值中获取图片资源代码,具体实现时,通过字符串匹配等方式在文件代码中识别assets属性,进而可以确定所述assets属性的属性值。
作为例子,可以利用朴素算法(Naive Algorithm)、Rabin-Karp算法、有限自动机算法(Finite Automation)、Knuth-Morris-Pratt算法(即KMP Algorithm)等字符串匹配算法,将文件代码中的字符与设定的目标字符串“assets”匹配,从而可以查找到文件代码中的assets属性;接着,基于识别到的assets属性获取assets属性的属性值,具体的,可以是在查找到assets属性后,识别出字符串“assets”之后的第一个“[”字符,以及之后的第一个字符“]”,将字符“[”和“]”之间的字符串确定为assets属性的属性值,进而从assets属性的属性值中获取图片资源代码。
可选的,Lottie文件中可能涉及多个原始图片资源的代码,即assets属性的属性值中包括多份图片资源,根据Lottie文件的格式,每对字符“{”和字符“}”之间表示一个图片资源,通过识别字符“{”和字符“}”,可以确定该Lottie文件中包括多少个图片资源,并且可以将每对字符“{”和字符“}”之间的代码确定为每个图片资源的图片资源代码。
本实施例中期望对动画资源文件进行压缩,以减少文件的数据量;考虑到Lottie文件中包括有图片资源的图片资源代码,本实施例通过对图片资源进行压缩,或者是对Lottie文件进行压缩,以实现对动画资源文件的压缩。
实际应用中,可以根据需要灵活配置多种图片压缩方式;例如,可以是采用已有的压缩方法,如质量压缩法、采样率压缩法或缩放法等,还可以是更改图片格式实现压缩等方式,可选的,压缩方案还可以根据配置将原始图片资源压缩成指定大小范围的图片等,本实施例对此不作限定。
可选的,本实施例的图片压缩过程还可以采用一独立的压缩服务端实现,在具体使用时,可以利用图片资源代码获得图片资源,通过调用该压缩服务端,将图片资源提交给压缩服务端,由压缩服务端根据配置好的压缩方法对图片资源进行压缩,获得压缩服务端返回的压缩后的图片资源。接着,利用所述压缩后的图片资源重写动画资源文件,获得压缩后的动画资源文件。
作为例子,可以是基于开源仓库“imagemin-*”搭建的独立服务端应用,该应用开放一个服务端接口,该接口能够接收“图片的文件流”经“imagemin-*”的内部算法压缩后返回体积更小的图片文件流给调用方。
实际应用中,原始图片资源可以编码的形式记录于Lottie文件中,编码方式可能有多种,以Base64编码为例,Base64编码是网络上常见的用于传输8Bit字节代码的编码方式之一,Base64编码可用于在HTTP环境下传递较长的标识信息。Base64编码通过特定的算法将图片编码成一长串字符串,在页面上显示的时候,可以用该字符串来代替图片的url属性。
结合前述例子所示,"Base64kgalkhjg..."即表示了一个以Base64编码的图片资源,其中,本实施例为了示例方便,将字符串进行了一定的精简处理。此种方式中,图片资源本身就记录在Lottie文件中,在压缩时,可以还原该Base64编码获得图片资源后,再对所述图片资源进行压缩。接着将压缩的图片资源生成Base64编码后回写至原始Lottie文件中,获得压缩后的Lottie文件。其中,回写至原始Lottie文件时,可以将新生成的Base64编码写入并覆盖原始Lottie文件中原有的图片的Base64编码,由于重写后的Lottie文件中记录的Base64编码是对应的压缩后的图片,因此实现了对Lottie文件的压缩,也即实现了对动画资源文件的压缩。
如图1B所示,是本说明书根据一示例性实施例示出的一种文件压缩方法的场景示意图,图1B中示出了的动画资源文件包括一命名为lottie.json的文件,通过对该lottie.json文件进行解析,可以获得文件中的文件代码;本实施例为了示意方便,图1B中仅示出了assets属性的对应代码,该assets属性的属性值中对应有3个原始图片资源,原始图片资源均以Base64编码的形式记录于assets属性下的“p”属性中,可以理解,该“p”属性只是一个示例,实际应用中,可能采用其他属性名记录图片资源的Base64编码。本实施例中,预先配置有图片压缩服务端,该图片压缩服务端提供有调用接口,可选的,本实施例可以并发调用该接口,以将原始图片资源的图片资源代码提供给图片压缩服务端,以利用图片压缩服务端对3份原始图片资源进行压缩,在获取到图片压缩服务端返回的压缩后的图片资源后,可以重写该lottie.json文件。
为了进一步压缩文件,本实施例还提供了另一种压缩方式,具体的,可以是还原所述Base64编码获得原始图片资源,将所述原始图片资源存储至目标位置;根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码写入并覆盖所述所述图片资源代码中的Base64编码,获得压缩后的动画资源文件。本实施例中,将原本包含于原始Lottie文件中的图片资源取出后存储在其他位置,在原始Lottie文件采用引用路径的方式代替图片,从而可以显著地减少原始Lottie文件的数据量。其中,回写至原始Lottie文件时,将新生成的引用路径代码覆盖原始Lottie文件中原有的图片的Base64编码。可选的,本实施例在将所述原始图片资源存储至目标位置后,还可以进一步采用前述的压缩方式对原始图片资源执行压缩操作。其中,该目标位置可以是动画资源文件中,也可以是云端位置,本实施例对此不作限定。采用本实施例方案并不会对原始Lottie文件的解析造成影响,因为在需要获取原始Lottie文件中的图片资源时,通过引用路径代码可以获取到原始图片资源。
在另一些例子中,原始图片资源本身未记录在Lottie文件中,而是独立于Lottie文件、存储在其他位置,该位置可能是与动画资源文件相关的某个相对路径,也可能是终端、服务器或云端等其他位置。在Lottie文件中采用路径引用的方式进行记录,也就是只记录图片资源的存储位置。此种方式下,可以从图片资源代码中查找到记录图片存储位置的引用路径代码,该引用路径代码中记录有表征图片存储位置的url(统一资源定位器/定位地址,Uniform Resource Locator),根据该url可以获取到原始图片资源,从而可以对原始图片资源进行压缩,经过压缩的图片资源可以覆盖原始图片资源存储在同一位置。
实际应用中,Lottie文件中可能包括有多份图片资源,本实施例可以并发将对应所述图片资源代码的各份图片资源进行压缩,从而提高文件压缩效率。
由上述实施例可见,本实施例的文件压缩方案,通过识别原始Lottie文件中的图片资源代码来获取到图片资源,在对图片资源的压缩后,通过重写原始Lottie文件中的图片资源代码,从而实现对Lottie文件中的压缩;本实施例的压缩效果显著,压缩后的Lottie文件仍可正常解读。
上述实施例以动画资源场景描述了文件压缩方案的实现方式,实际应用中,Lottie文件也有可能应用在其他场景中,本说明书还提供了一种针对Lottie文件的文件压缩方法,该方法可应用于多种场景,如图2A所示,图2A是本说明书根据一示例性实施例示出的一种文件压缩方法的流程图,包括以下步骤:
在步骤202、获取待压缩的原始Lottie文件。
在步骤204、识别所述原始Lottie文件中的图片资源代码。
在步骤206、利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件。
可选的,所述识别所述原始Lottie文件中的图片资源代码,包括:
读取所述原始Lottie文件的文件代码,在从所述文件代码中识别出assets属性的属性值后,从所述assets属性的属性值中获取图片资源代码。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件,包括:
对所述图片资源代码中的Base64编码进行还原,获得原始图片资源后对所述原始图片资源进行压缩;
将压缩的图片资源生成Base64编码后写入并覆盖所述图片资源代码中的Base64编码,获得压缩后的Lottie文件。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件,包括:
对所述图片资源代码中的Base64编码进行还原,将所述原始图片资源存储至目标位置;
根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码写入并覆盖所述所述图片资源代码中的Base64编码,获得压缩后的Lottie文件。
可选的,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
若通过图片资源代码确定有多份图片资源,并发将各份原始图片资源进行压缩。
可选的,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
将对应所述图片资源代码的原始图片资源提交给压缩服务端,获取所述压缩服务端返回的压缩后的图片资源。
如图2B所示,图2B是本说明书根据一示例性实施例示出的一种文件压缩方法的流程图,包括以下步骤:
在步骤212中,获取待压缩的原始Lottie文件。
在步骤214中,识别所述原始Lottie文件中的图片资源代码。
在步骤216中,利用所述图片资源代码获取原始图片资源,将所述原始图片资源压缩后,输出所述原始Lottie文件。
可选的,所述识别所述原始Lottie文件中的图片资源代码,包括:
读取所述原始Lottie文件的文件代码,在从所述文件代码中识别出assets属性的属性值后,从所述assets属性的属性值中获取图片资源代码。
可选的,所述图片资源代码包括:图片资源的引用路径代码,所述引用路径代码指示原始图片资源的存储位置;
所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
利用所述引用路径代码获取到原始图片资源后,对所述原始图片资源压缩后,将压缩后的图片资源覆盖所述原始图片资源。
可选的,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
若通过图片资源代码确定有多份图片资源,并发将各份原始图片资源进行压缩。
可选的,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
将对应所述图片资源代码的原始图片资源提交给压缩服务端,获取所述压缩服务端返回的压缩后的图片资源。
与前述文件压缩方法的实施例相对应,本说明书还提供了文件压缩装置及其所应用的设备的实施例。
本说明书文件压缩装置的实施例可以应用在计算机设备上,例如服务器或终端设备。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在文件处理的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图3所示,为本说明书文件压缩装置所在计算机设备的一种硬件结构图,除了图3所示的处理器310、内存330、网络接口320、以及非易失性存储器340之外,实施例中装置331所在的服务器或电子设备,通常根据该计算机设备的实际功能,还可以包括其他硬件,对此不再赘述。
如图4所示,图4是本说明书根据一示例性实施例示出的一种文件压缩装置的框图,所述装置包括:
文件获取模块41,用于:获取待压缩的动画资源文件,所述动画资源文件包括:原始Lottie文件;
代码识别模块42,用于:识别所述原始Lottie文件中的图片资源代码;
压缩重写模块43,用于:利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件。
可选的,所述代码识别模块42,还用于:
读取所述原始Lottie文件的文件代码,在从所述文件代码中识别出assets属性的属性值后,从所述assets属性的属性值中获取图片资源代码。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述压缩重写模块43,还用于:
对所述图片资源代码中的Base64编码进行还原,获得原始图片资源后对所述原始图片资源进行压缩;
将压缩的图片资源生成Base64编码后写入并覆盖所述图片资源代码中的Base64编码,获得压缩后的动画资源文件。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述压缩重写模块43,还用于:
对所述图片资源代码中的Base64编码进行还原,将所述原始图片资源存储至目标位置;
根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码写入并覆盖所述所述图片资源代码中的Base64编码,获得压缩后的动画资源文件。
可选的,所述图片资源代码包括:图片资源的引用路径代码,所述引用路径代码指示原始图片资源的存储位置;
所述压缩重写模块43,还用于:
利用所述引用路径代码获取到原始图片资源后,对所述原始图片资源压缩后,将压缩后的图片资源覆盖所述原始图片资源。
可选的,所述压缩重写模块43,还用于:
若通过图片资源代码确定有多份图片资源,并发将各份原始图片资源进行压缩。
可选的,所述压缩重写模块43,还用于:
将对应所述图片资源代码的原始图片资源提交给压缩服务端,获取所述压缩服务端返回的压缩后的图片资源。
如图5所示,图5是本说明书根据一示例性实施例示出的一种文件压缩装置的框图,所述装置包括:
文件获取模块51,用于:获取待压缩的原始Lottie文件;
代码识别模块52,用于:识别所述原始Lottie文件中的图片资源代码;
压缩重写模块53,用于:利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的
Lottie文件。
可选的,所述代码识别模块52,还用于:
读取所述原始Lottie文件的文件代码,在从所述文件代码中识别出assets属性的属性值后,从所述assets属性的属性值中获取图片资源代码。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述压缩重写模块53,还用于:
还原所述Base64编码获得图片资源,对所述图片资源进行压缩;
将压缩的图片资源生成Base64编码后回写至原始Lottie文件中,获得压缩后的Lottie文件。
可选的,所述图片资源代码包括:原始图片资源的Base64编码;
所述压缩重写模块53,还用于:
还原所述Base64编码获得原始图片资源,将所述原始图片资源存储至目标位置;
根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码回写至所述原始Lottie文件,获得压缩后的Lottie文件。
可选的,所述压缩重写模块53,还用于:
若通过图片资源代码确定有多份图片资源,并发将各份原始图片资源进行压缩。
可选的,压缩重写模块53,还用于:
将对应所述图片资源代码的原始图片资源提交给压缩服务端,获取所述压缩服务端返回的压缩后的图片资源。
如图6所示,图6是本说明书根据一示例性实施例示出的一种文件压缩装置的框图,所述装置包括:
文件获取模块61,用于:获取待压缩的原始Lottie文件;
代码识别模块62,用于:识别所述原始Lottie文件中的图片资源代码;
压缩重写模块63,用于:利用所述图片资源代码获取原始图片资源,将所述原始图片资源压缩后,输出所述原始Lottie文件。
可选的,所述代码识别模块62,还用于:
读取所述原始Lottie文件的文件代码,在从所述文件代码中识别出assets属性的属性值后,从所述assets属性的属性值中获取图片资源代码。
可选的,所述图片资源代码包括:图片资源的引用路径代码,所述引用路径代码指示原始图片资源的存储位置;
所述压缩重写模块63,还用于:
利用所述引用路径代码获取到原始图片资源后,对所述原始图片资源压缩后,将压缩后的图片资源覆盖所述原始图片资源。
可选的,所述压缩重写模块63,还用于:
若通过图片资源代码确定有多份图片资源,并发将各份原始图片资源进行压缩。
可选的,所述压缩重写模块63,还用于:
将对应所述图片资源代码的原始图片资源提交给压缩服务端,获取所述压缩服务端返回的压缩后的图片资源。
相应的,本说明书还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现前述文件压缩方法的实施例。
上述文件压缩装置中各个模块的功能和作用的实现过程具体详见上述文件压缩方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本领域技术人员在考虑说明书及实践这里申请的发明后,将容易想到本说明书的其它实施方案。本说明书旨在涵盖本说明书的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本说明书的一般性原理并包括本说明书未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本说明书的真正范围和精神由下面的权利要求指出。
应当理解的是,本说明书并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本说明书的范围仅由所附的权利要求来限制。
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。

Claims (15)

1.一种文件压缩方法,包括:
获取待压缩的动画资源文件,所述动画资源文件包括:原始Lottie文件,所述原始Lottie文件为JSON格式的文件,所述原始Lottie文件中包括一个或多个属性,所述属性采用属性名和属性值描述;
读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的属性名后,进一步从查找出的属性名对应的属性值中获取所述原始Lottie文件中的图片资源代码;
利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件。
2.根据权利要求1所述的方法,所述读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的属性名后,进一步从查找出的属性名对应的属性值中获取所述原始Lottie文件中的图片资源代码,包括:
读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的assets属性的属性名后,进一步从查找出的所述assets属性的属性名对应的属性值中获取所述原始Lottie文件中的图片资源代码。
3.根据权利要求1所述的方法,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件,包括:
对所述图片资源代码中的Base64编码进行还原,获得原始图片资源后对所述原始图片资源进行压缩;
将压缩的图片资源生成Base64编码后写入并覆盖所述图片资源代码中的Base64编码,获得压缩后的动画资源文件。
4.根据权利要求1所述的方法,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件,包括:
对所述图片资源代码中的Base64编码进行还原,获得原始图片资源后存储至目标位置;
根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码写入并覆盖所述所述图片资源代码中的Base64编码,获得压缩后的动画资源文件。
5.根据权利要求1所述的方法,所述图片资源代码包括:图片资源的引用路径代码,所述引用路径代码指示原始图片资源的存储位置;
所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
利用所述引用路径代码获取到原始图片资源后,对所述原始图片资源压缩后,将压缩后的图片资源覆盖所述原始图片资源。
6.根据权利要求1所述的方法,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
若通过图片资源代码确定有多份图片资源,并发将各份原始图片资源进行压缩。
7.根据权利要求1所述的方法,所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
将对应所述图片资源代码的原始图片资源提交给压缩服务端,获取所述压缩服务端返回的压缩后的图片资源。
8.一种文件压缩方法,包括:
获取待压缩的原始Lottie文件,所述原始Lottie文件为JSON格式的文件,所述原始Lottie文件中包括一个或多个属性,所述属性采用属性名和属性值描述;
读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的属性名后,进一步从查找出的属性名对应的属性值中获取所述原始Lottie文件中的图片资源代码;
利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件。
9.根据权利要求8所述的方法,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件,包括:
对所述图片资源代码中的Base64编码进行还原,获得原始图片资源后对所述原始图片资源进行压缩;
将压缩的图片资源生成Base64编码后写入并覆盖所述图片资源代码中的Base64编码,获得压缩后的Lottie文件。
10.根据权利要求8所述的方法,所述图片资源代码包括:原始图片资源的Base64编码;
所述利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件,包括:
对所述图片资源代码中的Base64编码进行还原,将所述原始图片资源存储至目标位置;
根据所述目标位置生成所述原始图片资源的引用路径代码后,将所述引用路径代码写入并覆盖所述所述图片资源代码中的Base64编码,获得压缩后的Lottie文件。
11.一种文件压缩方法,包括:
获取待压缩的原始Lottie文件,所述原始Lottie文件为JSON格式的文件,所述原始Lottie文件中包括一个或多个属性,所述属性采用属性名和属性值描述;
读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的属性名后,进一步从查找出的属性名对应的属性值中获取所述原始Lottie文件中的图片资源代码;
利用所述图片资源代码获取原始图片资源,将所述原始图片资源压缩后,输出所述原始Lottie文件;
其中,所述图片资源代码包括:图片资源的引用路径代码,所述引用路径代码指示原始图片资源的存储位置;
所述利用所述图片资源代码获取原始图片资源后进行压缩,包括:
利用所述引用路径代码获取到原始图片资源后,对所述原始图片资源压缩后,将压缩后的图片资源覆盖所述原始图片资源。
12.一种文件压缩装置,包括:
文件获取模块,用于:获取待压缩的动画资源文件,所述动画资源文件包括:原始Lottie文件,所述原始Lottie文件为JSON格式的文件,所述原始Lottie文件中包括一个或多个属性,所述属性采用属性名和属性值描述;
代码识别模块,用于:读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的属性名后,进一步从查找出的属性名对应的属性值中获取所述原始Lottie文件中的图片资源代码;
压缩重写模块,用于:利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述动画资源文件,获得压缩后的动画资源文件。
13.一种文件压缩装置,包括:
文件获取模块,用于:获取待压缩的原始Lottie文件,所述原始Lottie文件为JSON格式的文件,所述原始Lottie文件中包括一个或多个属性,所述属性采用属性名和属性值描述;
代码识别模块,用于:读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的属性后,进一步从查找出的属性的属性值中获取所述原始Lottie文件中的图片资源代码;
压缩重写模块,用于:利用所述图片资源代码获取原始图片资源后进行压缩,根据压缩后的图片资源重写所述原始Lottie文件,获得压缩后的Lottie文件。
14.一种文件压缩装置,包括:
文件获取模块,用于:获取待压缩的原始Lottie文件,所述原始Lottie文件为JSON格式的文件,所述原始Lottie文件中包括一个或多个属性,所述属性采用属性名和属性值描述;
代码识别模块,用于:读取所述原始Lottie文件的文件代码,从文件代码的字符中查找出与设定的目标字符串相匹配的属性名后,进一步从查找出的属性名对应的属性值中获取所述原始Lottie文件中的图片资源代码;
压缩重写模块,用于:利用所述图片资源代码获取原始图片资源,将所述原始图片资源压缩后,输出所述原始Lottie文件;其中,所述图片资源代码包括:图片资源的引用路径代码,所述引用路径代码指示原始图片资源的存储位置;利用所述引用路径代码获取到原始图片资源后,对所述原始图片资源压缩后,将压缩后的图片资源覆盖所述原始图片资源。
15.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现如权利要求1至11任一所述的方法。
CN201910094053.7A 2019-01-30 2019-01-30 文件压缩方法、装置及设备 Active CN110060310B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910094053.7A CN110060310B (zh) 2019-01-30 2019-01-30 文件压缩方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910094053.7A CN110060310B (zh) 2019-01-30 2019-01-30 文件压缩方法、装置及设备

Publications (2)

Publication Number Publication Date
CN110060310A CN110060310A (zh) 2019-07-26
CN110060310B true CN110060310B (zh) 2023-10-20

Family

ID=67316423

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910094053.7A Active CN110060310B (zh) 2019-01-30 2019-01-30 文件压缩方法、装置及设备

Country Status (1)

Country Link
CN (1) CN110060310B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142924A (zh) * 2013-05-06 2014-11-12 中国移动通信集团福建有限公司 一种动画图片格式的压缩方法和装置
CN106227890A (zh) * 2016-08-22 2016-12-14 乐视控股(北京)有限公司 网页动画资源下载处理方法及系统、终端、资源服务器
CN106569809A (zh) * 2016-10-25 2017-04-19 北京小鸟看看科技有限公司 一种虚拟现实设备开机动画的实现方法和实现装置
CN107330947A (zh) * 2017-06-29 2017-11-07 厦门游亨世纪科技有限公司 一种视频动画图片存储的内存优化方法
CN108492338A (zh) * 2018-02-09 2018-09-04 腾讯科技(深圳)有限公司 动画文件的压缩方法、装置、存储介质和电子装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104142924A (zh) * 2013-05-06 2014-11-12 中国移动通信集团福建有限公司 一种动画图片格式的压缩方法和装置
CN106227890A (zh) * 2016-08-22 2016-12-14 乐视控股(北京)有限公司 网页动画资源下载处理方法及系统、终端、资源服务器
CN106569809A (zh) * 2016-10-25 2017-04-19 北京小鸟看看科技有限公司 一种虚拟现实设备开机动画的实现方法和实现装置
CN107330947A (zh) * 2017-06-29 2017-11-07 厦门游亨世纪科技有限公司 一种视频动画图片存储的内存优化方法
CN108492338A (zh) * 2018-02-09 2018-09-04 腾讯科技(深圳)有限公司 动画文件的压缩方法、装置、存储介质和电子装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Lottie这次更新你应该了解一下;西西;《https://zhuanlan.zhihu.com/p/37385550》;20180706;第1-3页 *

Also Published As

Publication number Publication date
CN110060310A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN109857908B (zh) 用于匹配视频的方法和装置
CN108235116B (zh) 特征传播方法和装置、电子设备和介质
CN113382083A (zh) 一种网页截图方法和装置
CN111506844A (zh) 页面处理方法、设备及计算机存储介质
CN107479868A (zh) 一种界面加载方法、装置及设备
CN114500423B (zh) 消息处理方法、装置、设备及存储介质
CN111859210B (zh) 图像处理方法、装置、设备及存储介质
JP2024517359A (ja) 画像処理ネットワークの訓練方法、装置、コンピュータ機器及びコンピュータプログラム
CN116954450A (zh) 针对前端网页的截图方法以及装置、存储介质、终端
CN113110829B (zh) 多ui组件库数据处理方法及装置
US20220028425A1 (en) System and Method to Customizing Video
CN110060310B (zh) 文件压缩方法、装置及设备
CN111739649B (zh) 一种用户画像捕捉方法、装置及系统
CN111078529B (zh) 客户端写入模块测试方法、装置、电子设备
CN111741329A (zh) 一种视频处理方法、装置、设备及存储介质
CN113127776A (zh) 面包屑路径生成方法、装置及终端设备
CN105279247A (zh) 表情库的生成方法及装置
WO2022178975A1 (zh) 基于噪声场的图像降噪方法、装置、设备及存储介质
CN113360930A (zh) 一种实现前后端字符相异加密方法及处理终端
CN114299105A (zh) 图像处理方法、装置、计算机设备及存储介质
CN109948123B (zh) 一种图像合并方法及装置
CN113591437A (zh) 游戏文本翻译方法、电子设备及存储介质
CN110309455B (zh) Ole矢量图的显示方法、装置及设备
CN106933852B (zh) 网页更新请求的生成方法、装置及其响应方法和装置
CN112230911A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201015

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20201015

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant