CN112988686A - 插件处理方法、装置、设备和存储介质 - Google Patents

插件处理方法、装置、设备和存储介质 Download PDF

Info

Publication number
CN112988686A
CN112988686A CN202110372225.XA CN202110372225A CN112988686A CN 112988686 A CN112988686 A CN 112988686A CN 202110372225 A CN202110372225 A CN 202110372225A CN 112988686 A CN112988686 A CN 112988686A
Authority
CN
China
Prior art keywords
plug
package
target
file
client
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
Application number
CN202110372225.XA
Other languages
English (en)
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.)
Beijing ByteDance Network Technology Co Ltd
Original Assignee
Beijing ByteDance Network Technology 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 Beijing ByteDance Network Technology Co Ltd filed Critical Beijing ByteDance Network Technology Co Ltd
Priority to CN202110372225.XA priority Critical patent/CN112988686A/zh
Publication of CN112988686A publication Critical patent/CN112988686A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/174Redundancy elimination performed by the file system
    • G06F16/1748De-duplication implemented within the file system, e.g. based on file segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/162Delete operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/1737Details of further file system functions for reducing power consumption or coping with limited storage space, e.g. in mobile devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本公开实施例涉及一种插件处理方法、装置、设备和存储介质。该方法包括:获取客户端所需的插件包;若所述插件包中包含目标文件,则解压缩所述插件包中的所述目标文件对应的目标压缩文件至所述客户端对应的存储位置;其中,所述目标文件是解压前不能被系统加载的文件;删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包。通过上述技术方案,可以确保插件业务正常运行,同时减少插件业务中的冗余文件及其对存储空间的占用。

Description

插件处理方法、装置、设备和存储介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种插件处理方法、装置、设备和存储介质。
背景技术
随着互联网的普及,客户端的用户群越来越多,也就使得客户端的业务需求日益复杂。为了满足业务需求,必然会不断扩增客户端的功能,也就不断增大客户端的安装包的体量。但是,体积过大的安装包会消耗大量用户流量,且下载和安装速度均较慢,用户体验不佳。针对该问题,现有技术中通过插件技术,将一些用户使用率相对较低的业务功能打包为不同的插件包,以此来减少安装包的体积,且在用户需要时可通过插件安装方式来正常使用相应业务功能。
如果客户端中的多种业务功能均通过插件方式实现,那么用户就需要下载并安装多个插件,而每个插件的安装都会存在一些冗余文件。当插件数量过多时,就会导致用户客户端设备的存储空间被大量占用,甚至影响用户客户端设备的性能。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种插件处理方法、装置、设备和存储介质。
本公开实施例提供了一种插件处理方法,该方法包括:
获取客户端所需的插件包;
若所述插件包中包含目标文件,则解压缩所述插件包中的所述目标文件对应的目标压缩文件至所述客户端对应的存储位置;其中,所述目标文件是解压前不能被系统加载的文件;
删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包。
在一些实施例中,所述若所述插件包中包含目标文件,则解压缩所述插件包中的所述目标文件对应的目标压缩文件至所述客户端对应的存储位置包括:
若所述插件包中存在目标文件夹,则确定所述插件包中包含目标文件;
对所述目标文件夹进行解压缩操作,并将解压缩所得的所述目标文件存储至所述客户端对应的存储位置。
进一步地,所述将解压缩所得的所述目标文件存储至所述客户端对应的存储位置包括:
针对解压缩所得的任一所述目标文件:
若所述客户端中已存储所述目标文件,则删除解压缩所得的所述目标文件,或者删除所述客户端中已存储的所述目标文件,并将解压缩所得的所述目标文件存储至所述存储位置;
若所述客户端中未存储所述目标文件,则将解压缩所得的所述目标文件存储至所述存储位置。
在一些实施例中,所述删除所述插件包中的所述目标压缩文件,生成优化后的插件包包括:
针对所述插件包中目标文件夹中的任一压缩文件,若所述压缩文件包含目标文件标识,则将所述压缩文件确定为所述目标压缩文件,并将所述目标压缩文件从所述插件包中删除,直至遍历完所述目标文件夹,生成优化后的插件包。
在一些实施例中,所述获取客户端所需的插件包包括:
基于所述客户端的客户端信息向服务端发送插件获取请求;
接收所述服务端基于所述插件获取请求反馈的所述插件包;其中,所述插件包包括所述客户端对应的新增插件的插件包或已有插件的更新版本的插件包。
在一些实施例中,在所述删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包之后,所述方法还包括:
若检测到插件运行故障,则基于所述客户端的客户端信息重新获取所述插件包;
基于重新获取的所述插件包,获得新的目标文件和新的优化后的插件包,以消除所述插件运行故障。
进一步地,所述基于重新获取的所述插件包,获得新的目标文件和新的优化后的插件包,以消除所述插件运行故障包括:
对重新获取的所述插件包中的所述目标压缩文件进行解压缩,生成所述新的目标文件;
基于所述客户端中已存储的各所述目标文件和所述新的目标文件,确定待存储的目标文件,并将所述待存储的目标文件存储至所述存储位置;
删除所述插件包中的所述目标压缩文件,生成所述新的优化后的插件包,并利用所述新的优化后的插件包覆盖所述优化后的插件包。
在一些实施例中,所述目标文件为动态链接库文件。
本公开实施例还提供了一种插件处理装置,所述装置包括:
插件包获取模块,用于获取客户端所需的插件包;
解压缩模块,用于若所述插件包中包含目标文件,则解压缩所述插件包中的所述目标文件对应的目标压缩文件至所述客户端对应的存储位置;其中,所述目标文件是解压前不能被系统加载的文件;
插件包优化模块,用于删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包。
在一些实施例中,解压缩模块包括:
解压缩判断子模块,用于若所述插件包中存在目标文件夹,则确定所述插件包中包含目标文件;
解压缩子模块,用于对所述目标文件夹进行解压缩操作,并将解压缩所得的所述目标文件存储至所述客户端对应的存储位置。
进一步地,解压缩子模块具体用于:
针对解压缩所得的任一所述目标文件:
若所述客户端中已存储所述目标文件,则删除解压缩所得的所述目标文件,或者删除所述客户端中已存储的所述目标文件,并将解压缩所得的所述目标文件存储至所述存储位置;
若所述客户端中未存储所述目标文件,则将解压缩所得的所述目标文件存储至所述存储位置。
在一些实施例中,插件包优化模块具体用于:
针对所述插件包中目标文件夹中的任一压缩文件,若所述压缩文件包含目标文件标识,则将所述压缩文件确定为所述目标压缩文件,并将所述目标压缩文件从所述插件包中删除,直至遍历完所述目标文件夹,生成优化后的插件包。
在一些实施例中,插件包获取模块具体用于:
基于所述客户端的客户端信息向服务端发送插件获取请求;
接收所述服务端基于所述插件获取请求反馈的所述插件包;其中,所述插件包包括所述客户端对应的新增插件的插件包或已有插件的更新版本的插件包。
在一些实施例中,该装置还包括故障处理模块,用于:
在所述删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包之后,若检测到插件运行故障,则基于所述客户端的客户端信息重新获取所述插件包;
基于重新获取的所述插件包,获得新的目标文件和新的优化后的插件包,以消除所述插件运行故障。
进一步地,故障处理模块具体用于:
对重新获取的所述插件包中的所述目标压缩文件进行解压缩,生成所述新的目标文件;
基于所述客户端中已存储的各所述目标文件和所述新的目标文件,确定待存储的目标文件,并将所述待存储的目标文件存储至所述存储位置;
删除所述插件包中的所述目标压缩文件,生成所述新的优化后的插件包,并利用所述新的优化后的插件包覆盖所述优化后的插件包。
在一些实施例中,所述目标文件为动态链接库文件。
本公开实施例还提供了一种的电子设备,该电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行本公开任意实施例中所述插件处理方法的步骤。
本公开实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储程序或指令,所述程序或所述指令使计算机执行本公开任意实施例中所述插件处理方法的步骤。
本公开实施例提供的插件处理方案,通过获取客户端所需的插件包;若插件包中包含解压前不能被系统加载的目标文件,则解压缩插件包中的目标文件对应的目标压缩文件至客户端对应的存储位置;删除插件包中的目标压缩文件,生成优化后的插件包,并存储优化后的插件包;实现了在插件包的安装流程中,当插件包内的目标压缩文件已解压缩并存储后,删除插件包中的目标压缩文件,以优化插件包并存储,确保插件业务正常运行,同时减少插件业务中的冗余文件及其对存储空间的占用。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种插件处理方法的流程示意图;
图2为本公开实施例提供的又一种插件处理方法的流程示意图;
图3为本公开实施例提供的一种插件处理装置的结构示意图;
图4为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步的详细描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
本公开实施例提供的插件处理方法,主要适用于利用插件方式来实现客户端中业务功能的场景中进行插件安装的情况。本公开实施例提供的插件处理方法可以由插件处理装置来执行,该装置可以由软件和/或硬件的方式实现,该装置可以集成在电子设备中,例如手机、掌上电脑、平板电脑、笔记本电脑、台式电脑或服务器等。
图1是本公开实施例提供的一种插件处理方法的流程图。参见图1,该插件处理方法具体包括:
S110、获取客户端所需的插件包。
如果客户端中的业务功能通过插件方式实现,那么在用户触发相应业务功能,且客户端判断本地无相应插件包时,需要从服务端拉取该业务功能对应的插件包,即获取客户端所需的插件包。该插件包可以是后缀名为“.apk”的特定格式的压缩包,其中可包含业务逻辑运行所需的dex文件、资源文件和动态链接库文件等。
在一些实施例中,S110包括:基于客户端的客户端信息向服务端发送插件获取请求;接收服务端基于插件获取请求反馈的插件包;其中,插件包包括客户端对应的新增插件的插件包或已有插件的更新版本的插件包。具体地,客户端基于能够标识客户端及所需插件的客户端信息生成插件获取请求,并将该插件获取请求发送至服务端。服务端基于客户端信息判断是否有新增的插件包或既有插件包的更新版本。如果没有,结束插件处理流程。如果有,那么服务端将插件包反馈至客户端,以便客户端下载并存储该插件包。这样可以避免相同插件包的重复获取,从而避免插件包冗余,从而进一步节省存储空间和流量消耗。
S120、若插件包中包含目标文件,则解压缩插件包中的目标文件对应的目标压缩文件至客户端对应的存储位置。
其中,目标文件是解压前不能被系统加载的文件,该目标文件必须从插件包中解压后才能被系统所加载。在一些实施例中,目标文件是动态链接库文件。本公开的各实施例中将以动态链接库文件为例对插件处理流程进行说明,并不构成对本公开的限制。
客户端对于插件包中的dex文件和资源文件等,可以比较方便的从apk压缩包中直接加载。但对于诸如动态链接库文件的目标文件,客户端系统(如Android系统或IOS系统等)提供的标准接口API无法直接从apk压缩包中进行加载访问。基于此,客户端需要将插件包中的目标文件解压缩到本地存储空间,再将解压缩后的目标文件对应的相对路径信息或绝对路径信息通过标准接口API传给客户端系统以供访问使用。所以,客户端在获取插件包之后,需要判断其中是否包含目标文件。如果不包含,则无需进行插件包优化,结束本次插件处理流程。如果包含,那么就需要将插件包中压缩的目标文件(即目标压缩文件)全部解压缩,并将解压缩后所得的目标文件存储至本地存储空间中客户端对应的存储位置,以供插件运行时访问。
在一些实施例中,S120包括:若插件包中存在目标文件夹,则确定插件包中包含目标文件;对目标文件夹进行解压缩操作,并将解压缩所得的目标文件存储至客户端对应的存储位置。具体地,客户端的解压缩过程可以为:客户端访问插件包,并判断其中是否存在用于集中存放目标文件的文件夹(即目标文件夹,如动态链接库文件夹“/lib”目录)。如果存在,那么确定该插件包中包含目标文件。然后,对插件包中的目标文件夹及其内部包含的所有子文件进行解压缩,并将解压缩的结果文件(即目标文件)存储至上述存储位置。这样能够更加便捷地查找并解压插件包中的目标压缩文件。
S130、删除插件包中的目标压缩文件,生成优化后的插件包,并存储优化后的插件包。
相关技术中,经过S120的处理,插件安装流程便结束。此时,客户端本地存储空间中存储有解压所得的各目标文件,同时存储下载的插件包,以供系统访问其中的dex文件和资源文件等其他信息。这样就存在两份目标文件,多余占用了存储空间。所以,本公开实施例中,会在解压目标压缩文件,获得目标文件后,将插件包中的所有目标压缩文件删除,以优化插件包,并将优化后的插件包存储至本地存储空间。
在一些实施例中,删除插件包中的目标压缩文件,生成优化后的插件包包括:针对插件包中目标文件夹中的任一压缩文件,若该压缩文件包含目标文件标识,则将该压缩文件确定为目标压缩文件,并将该目标压缩文件从插件包中删除,直至遍历完目标文件夹,生成优化后的插件包。具体地,客户端遍历目标文件夹中的每个压缩文件,遍历过程中执行:判断该压缩文件中是否包含目标文件标识(如动态链接库文件的文件后缀“.so”)。如果不是,那么确定该压缩文件不是目标压缩文件,予以保留。如果是,那么确定该压缩文件是目标压缩文件,将其从插件包中删除。
本公开实施例的上述技术方案,通过获取客户端所需的插件包;若插件包中包含解压前不能被系统加载的目标文件,则解压缩插件包中的目标文件对应的目标压缩文件至客户端对应的存储位置;删除插件包中的目标压缩文件,生成优化后的插件包,并存储优化后的插件包。实现了在插件包的安装流程中,当插件包内的目标压缩文件已解压缩并存储后,删除插件包中的目标压缩文件,以优化插件包并存储,确保插件业务正常运行,同时减少插件业务中的冗余文件及其对存储空间的占用。
图2是本公开实施例提供的又一种插件处理方法的流程图。其对“将解压缩所得的目标文件存储至客户端对应的存储位置”进行了进一步优化。在此基础上,还可以进一步增加处理插件运行故障的相关内容。其中与上述各实施例相同或相应的术语的解释在此不再赘述。参见图2,该插件处理方法包括:
S210、获取客户端所需的插件包。
S220、若插件包中存在目标文件夹,则确定插件包中包含目标文件。
S230、对目标文件夹进行解压缩操作。
S240、针对解压缩所得的任一目标文件,若客户端中已存储该目标文件,则删除解压缩所得的该目标文件,或者删除客户端中已存储的该目标文件,并将解压缩所得的该目标文件存储至存储位置。
因客户端中某些业务功能的运行依赖于目标文件,所以在该插件包安装之前,客户端对应的本地存储空间中已经存储了一些目标文件。考虑到这些目标文件和插件包中解压缩得到的目标文件之间可能存在相同文件,所以,为了进一步减少冗余文件,本公开实施例中在存储插件包中解压所得的目标文件过程中,会逐个判断解压缩得到的目标文件是否与客户端中已存储的目标文件相同。在一些实施例中,如果判断结果是文件相同,那么解压缩所得的该目标文件无需存储,后续直接使用客户端中已存储的目标文件。在另一些实施例中,如果判断结果是文件相同,那么保留解压缩所得的该目标文件,将其存储至对应的存储位置中,同时删除客户端中已存储的该目标文件,或者利用解压缩所得的该目标文件覆盖客户端中已存储的该目标文件。S250、针对解压缩所得的任一目标文件,若客户端中未存储该目标文件,则将解压缩所得的该目标文件存储至对应的存储位置。
如果判断解压缩得到的目标文件与客户端中已存储的任一目标文件均不同,那么就需要存储解压缩的该目标文件至其对应的存储位置。
S260、针对插件包中目标文件夹中的任一压缩文件,若压缩文件包含目标文件标识,则将压缩文件确定为目标压缩文件,并将该目标压缩文件从插件包中删除,直至遍历完目标文件夹,生成优化后的插件包,并存储优化后的插件包。
S270、若检测到插件运行故障,则基于客户端的客户端信息重新获取插件包。
客户端和插件包安装之后,可能会因为用户操作和系统故障等原因使得客户端本地存储空间中缺失插件运行所需的目标文件或优化后的插件包。在这种情况下运行插件业务时,客户端会检测到插件运行故障。此时,需要基于客户端信息重新去服务端拉取插件包。
S280、基于重新获取的插件包,获得新的目标文件和新的优化后的插件包,以消除插件运行故障。
利用重新拉取的插件包进行目标文件的解压和插件包的优化操作,生成各个新的目标文件和新的优化后的插件包,并利用这些新的目标文件和新的优化后的插件包消除上述插件运行故障。
在一些实施例中,S280包括:对重新获取的插件包中的目标压缩文件进行解压缩,生成新的目标文件;基于客户端中已存储的各目标文件和新的目标文件,确定待存储的目标文件,并将待存储的目标文件存储至对应的存储位置;删除插件包中的目标压缩文件,生成新的优化后的插件包,并利用新的优化后的插件包覆盖优化后的插件包。具体地,客户端按照S220~S230的方式对重新拉取的压缩包进行解压操作,获得各个新的目标文件。然后,比较客户端中已存储的各目标文件和这些新的目标文件。将比较结果为相同文件的新的目标文件删除,只存储比较结果为不同文件的新的目标文件,以补充缺失的目标文件。而为了确保优化后的插件包的正确性,可按照S260的方式将重新拉取的插件包中的所有目标压缩文件删除,生成新的优化后的插件包,并利用该新的优化后的插件包覆盖已存储的优化后的压缩包。
本公开实施例的上述技术方案,通过针对解压缩所得的任一目标文件:若客户端中已存储目标文件,则删除解压缩所得的目标文件,或者删除客户端中已存储的目标文件,并将解压缩所得的目标文件存储至存储位置;若客户端中未存储目标文件,则将解压缩所得的目标文件存储至存储位置,实现了在存储解压缩所得的各目标文件时,剔除各目标文件中与客户端中已有的文件相同的目标文件,或者删除客户端中已存储的相同文件,确保客户端中只存储一份目标文件,进一步减少客户端中的冗余文件量,从而进一步节省客户端设备的存储空间。通过若检测到插件运行故障,则基于客户端的客户端信息重新获取插件包;基于重新获取的插件包,获得新的目标文件和新的优化后的插件包,以消除插件运行故障,实现了插件因缺少目标文件而导致插件运行故障时,重新拉取插件包并补全缺失文件,从而在节省存储空间的基础上,进一步提高插件运行成功率。
图3为本公开实施例提供的一种插件处理装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中,可通过执行插件处理方法来节省插件业务占用的存储空间。如图3所示,该装置包括:
插件包获取模块310,用于获取客户端所需的插件包;
解压缩模块320,用于若插件包中包含目标文件,则解压缩插件包中的目标文件对应目标压缩文件至客户端对应的存储位置;其中,目标文件是解压前不能被系统加载的文件;
插件包优化模块330,用于删除插件包中的目标压缩文件,生成优化后的插件包,并存储优化后的插件包。
在一些实施例中,解压缩模块320包括:
解压缩判断子模块,用于若插件包中存在目标文件夹,则确定插件包中包含目标文件;
解压缩子模块,用于对目标文件夹进行解压缩操作,并将解压缩所得的目标文件存储至客户端对应的存储位置。
在一些实施例中,解压缩子模块具体用于:
针对解压缩所得的任一目标文件:
若客户端中已存储该目标文件,则删除解压缩所得的该目标文件,或者删除客户端中已存储的该目标文件,并将解压缩所得的该目标文件存储至对应的存储位置;
若客户端中未存储该目标文件,则将解压缩所得的该目标文件存储至对应的存储位置。
在一些实施例中,插件包优化模块330具体用于:
针对插件包中目标文件夹中的任一压缩文件,若该压缩文件包含目标文件标识,则将该压缩文件确定为目标压缩文件,并将该目标压缩文件从插件包中删除,直至遍历完目标文件夹,生成优化后的插件包。
在一些实施例中,插件包获取模块310具体用于:
基于客户端的客户端信息向服务端发送插件获取请求;
接收服务端基于插件获取请求反馈的插件包;其中,插件包包括客户端对应的新增插件的插件包或已有插件的更新版本的插件包。
在一些实施例中,该装置还包括故障处理模块,用于:
在删除插件包中的目标压缩文件,生成优化后的插件包,并存储优化后的插件包之后,若检测到插件运行故障,则基于客户端的客户端信息重新获取插件包;
基于重新获取的插件包,获得新的目标文件和新的优化后的插件包,以消除插件运行故障。
在一些实施例中,故障处理模块具体用于:
对重新获取的插件包中的目标压缩文件进行解压缩,生成新的目标文件;
基于客户端中已存储的各目标文件和新的目标文件,确定待存储的目标文件,并将待存储的目标文件存储至对应的存储位置;
删除插件包中的目标压缩文件,生成新的优化后的插件包,并利用新的优化后的插件包覆盖优化后的插件包。
在一些实施例中,目标文件为动态链接库文件。
通过本公开实施例提供的一种插件处理装置,实现了在插件包的安装流程中,当插件包内的目标压缩文件已解压缩并存储后,删除插件包中的目标压缩文件,以优化插件包并存储,确保插件业务正常运行,同时减少插件业务中的冗余文件及其对存储空间的占用。
本公开实施例所提供的插件处理装置可执行本公开任意实施例所提供的插件处理方法,具备执行方法相应的功能模块和有益效果。
值得注意的是,上述插件处理装置的实施例中,所包括的各个模块和子模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能模块/子模块的具体名称也只是为了便于相互区分,并不用于限制本公开的保护范围。
图4为本公开实施例提供的一种电子设备的结构示意图。如图4所示,电子设备400包括一个或多个处理器410和存储器420。
处理器410可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备400中的其他组件以执行期望的功能。
存储器420可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器410可以运行所述程序指令,以实现上文所说明的本公开任意实施例的插件处理方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如目标文件、优化后的插件包等各种内容。
在一个示例中,电子设备400还可以包括:输入装置430和输出装置440,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。该输入装置430可以包括例如键盘、鼠标等等。该输出装置440可以向外部输出各种信息。该输出装置440可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图4中仅示出了该电子设备400中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备400还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开任意实施例所提供的插件处理方法的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开任意实施例所提供的插件处理方法的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,本公开所用术语仅为了描述特定实施例,而非限制本申请范围。如本公开说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。术语“和/或”包括一个或多个相关所列条目的任何一个和所有组合。术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种插件处理方法,其特征在于,包括:
获取客户端所需的插件包;
若所述插件包中包含目标文件,则解压缩所述插件包中的所述目标文件对应的目标压缩文件至所述客户端对应的存储位置;其中,所述目标文件是解压前不能被系统加载的文件;
删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包。
2.根据权利要求1所述的方法,其特征在于,所述若所述插件包中包含目标文件,则解压缩所述插件包中的所述目标文件对应的目标压缩文件至所述客户端对应的存储位置包括:
若所述插件包中存在目标文件夹,则确定所述插件包中包含目标文件;
对所述目标文件夹进行解压缩操作,并将解压缩所得的所述目标文件存储至所述客户端对应的存储位置。
3.根据权利要求2所述的方法,其特征在于,所述将解压缩所得的所述目标文件存储至所述客户端对应的存储位置包括:
针对解压缩所得的任一所述目标文件:
若所述客户端中已存储所述目标文件,则删除解压缩所得的所述目标文件,或者删除所述客户端中已存储的所述目标文件,并将解压缩所得的所述目标文件存储至所述存储位置;
若所述客户端中未存储所述目标文件,则将解压缩所得的所述目标文件存储至所述存储位置。
4.根据权利要求1所述的方法,其特征在于,所述删除所述插件包中的所述目标压缩文件,生成优化后的插件包包括:
针对所述插件包中目标文件夹中的任一压缩文件,若所述压缩文件包含目标文件标识,则将所述压缩文件确定为所述目标压缩文件,并将所述目标压缩文件从所述插件包中删除,直至遍历完所述目标文件夹,生成优化后的插件包。
5.根据权利要求1所述的方法,其特征在于,所述获取客户端所需的插件包包括:
基于所述客户端的客户端信息向服务端发送插件获取请求;
接收所述服务端基于所述插件获取请求反馈的所述插件包;其中,所述插件包包括所述客户端对应的新增插件的插件包或已有插件的更新版本的插件包。
6.根据权利要求1所述的方法,其特征在于,在所述删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包之后,所述方法还包括:
若检测到插件运行故障,则基于所述客户端的客户端信息重新获取所述插件包;
基于重新获取的所述插件包,获得新的目标文件和新的优化后的插件包,以消除所述插件运行故障。
7.根据权利要求6所述的方法,其特征在于,所述基于重新获取的所述插件包,获得新的目标文件和新的优化后的插件包,以消除所述插件运行故障包括:
对重新获取的所述插件包中的所述目标压缩文件进行解压缩,生成所述新的目标文件;
基于所述客户端中已存储的各所述目标文件和所述新的目标文件,确定待存储的目标文件,并将所述待存储的目标文件存储至所述存储位置;
删除所述插件包中的所述目标压缩文件,生成所述新的优化后的插件包,并利用所述新的优化后的插件包覆盖所述优化后的插件包。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述目标文件为动态链接库文件。
9.一种插件处理装置,其特征在于,包括:
插件包获取模块,用于获取客户端所需的插件包;
解压缩模块,用于若所述插件包中包含目标文件,则解压缩所述插件包中的所述目标文件对应的目标压缩文件至所述客户端对应的存储位置;其中,所述目标文件是解压前不能被系统加载的文件;
插件包优化模块,用于删除所述插件包中的所述目标压缩文件,生成优化后的插件包,并存储所述优化后的插件包。
10.一种电子设备,其特征在于,所述电子设备包括:
处理器和存储器;
所述处理器通过调用所述存储器存储的程序或指令,用于执行如权利要求1至8任一项所述插件处理方法的步骤。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至8任一项所述插件处理方法的步骤。
CN202110372225.XA 2021-04-07 2021-04-07 插件处理方法、装置、设备和存储介质 Pending CN112988686A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110372225.XA CN112988686A (zh) 2021-04-07 2021-04-07 插件处理方法、装置、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110372225.XA CN112988686A (zh) 2021-04-07 2021-04-07 插件处理方法、装置、设备和存储介质

Publications (1)

Publication Number Publication Date
CN112988686A true CN112988686A (zh) 2021-06-18

Family

ID=76339319

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110372225.XA Pending CN112988686A (zh) 2021-04-07 2021-04-07 插件处理方法、装置、设备和存储介质

Country Status (1)

Country Link
CN (1) CN112988686A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114637730A (zh) * 2022-03-23 2022-06-17 清华大学 一种模型文件的压缩的方法、装置、系统及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955375A (zh) * 2014-05-21 2014-07-30 北京安兔兔科技有限公司 一种应用安装文件的生成方法、应用的启动方法及装置
CN105407130A (zh) * 2015-09-25 2016-03-16 成都趣点科技有限公司 一种移动端插件系统及移动端插件处理方法
CN105630554A (zh) * 2015-12-22 2016-06-01 广东欧珀移动通信有限公司 一种第三方应用的重装方法及用户终端
CN106055375A (zh) * 2016-07-13 2016-10-26 青岛海信移动通信技术股份有限公司 应用程序安装方法及装置
CN109165196A (zh) * 2018-08-09 2019-01-08 佛山长意云信息技术有限公司 一种压缩文件管理方法、装置、计算机设备及存储介质
CN111309391A (zh) * 2020-01-20 2020-06-19 北京无限光场科技有限公司 应用程序启动方法、装置、设备及介质
CN111552517A (zh) * 2019-01-23 2020-08-18 阿里巴巴集团控股有限公司 应用程序启动方法、装置、电子设备及计算机存储介质
CN111722885A (zh) * 2020-06-19 2020-09-29 北京字节跳动网络技术有限公司 程序运行方法、装置以及电子设备
CN112162795A (zh) * 2020-10-09 2021-01-01 广州博冠信息科技有限公司 一种插件启动方法、装置、计算机设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103955375A (zh) * 2014-05-21 2014-07-30 北京安兔兔科技有限公司 一种应用安装文件的生成方法、应用的启动方法及装置
CN105407130A (zh) * 2015-09-25 2016-03-16 成都趣点科技有限公司 一种移动端插件系统及移动端插件处理方法
CN105630554A (zh) * 2015-12-22 2016-06-01 广东欧珀移动通信有限公司 一种第三方应用的重装方法及用户终端
CN106055375A (zh) * 2016-07-13 2016-10-26 青岛海信移动通信技术股份有限公司 应用程序安装方法及装置
CN109165196A (zh) * 2018-08-09 2019-01-08 佛山长意云信息技术有限公司 一种压缩文件管理方法、装置、计算机设备及存储介质
CN111552517A (zh) * 2019-01-23 2020-08-18 阿里巴巴集团控股有限公司 应用程序启动方法、装置、电子设备及计算机存储介质
CN111309391A (zh) * 2020-01-20 2020-06-19 北京无限光场科技有限公司 应用程序启动方法、装置、设备及介质
CN111722885A (zh) * 2020-06-19 2020-09-29 北京字节跳动网络技术有限公司 程序运行方法、装置以及电子设备
CN112162795A (zh) * 2020-10-09 2021-01-01 广州博冠信息科技有限公司 一种插件启动方法、装置、计算机设备和存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114637730A (zh) * 2022-03-23 2022-06-17 清华大学 一种模型文件的压缩的方法、装置、系统及存储介质
CN114637730B (zh) * 2022-03-23 2023-01-10 清华大学 一种模型文件的压缩的方法、装置、系统及存储介质

Similar Documents

Publication Publication Date Title
CN108037961B (zh) 一种应用程序配置方法、装置、服务器和存储介质
US10140113B2 (en) Data processing method and device of preset application after upgrading
CN110865888B (zh) 一种资源加载方法、装置、服务器及存储介质
US11240290B2 (en) Application download method and apparatus, application sending method and apparatus, and system
CN111427596B (zh) 一种软件升级的方法、装置及终端设备
US20140208326A1 (en) File presenting method and apparatus for a smart terminal
US20170206011A1 (en) Enhancing performance-cost ratio of a primary storage adaptive data reduction system
CN113448756B (zh) 一种进程间通信系统、方法及计算设备
CN110688174A (zh) 容器启动方法、存储介质和电子设备
CN113761412A (zh) 应用页面的显示方法、装置、电子设备、介质及应用系统
CN112612982A (zh) 网页预加载方法、装置及计算机设备
CN111459497A (zh) 基于webpack的资源包编译方法、系统、服务器和存储介质
CN111562929A (zh) 补丁文件的生成方法、装置、设备及存储介质
CN112667246A (zh) 应用功能扩展的方法、装置及电子设备
CN113010178B (zh) 应用程序运行控制方法、装置、设备和介质
CN112988686A (zh) 插件处理方法、装置、设备和存储介质
CN113760318A (zh) 信息处理方法、装置、服务器及存储介质
CN112235132A (zh) 动态配置服务的方法、装置、介质以及服务器
CN113779122B (zh) 导出数据的方法和装置
CN113407339A (zh) 资源请求反馈方法、装置、可读存储介质及电子设备
CN111931083A (zh) 网页加载方法、装置、终端设备以及可读存储介质
CN112988592B (zh) 代码检测方法、装置、设备和存储介质
CN116382796B (zh) 一种h5小程序运行器的插件管理方法、装置及电子设备
CN113704187B (zh) 用于生成文件的方法、装置、服务器及计算机可读介质
CN114237641A (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