CN110515647A - 一种静态资源管理方法、装置、设备和存储介质 - Google Patents
一种静态资源管理方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN110515647A CN110515647A CN201910804175.0A CN201910804175A CN110515647A CN 110515647 A CN110515647 A CN 110515647A CN 201910804175 A CN201910804175 A CN 201910804175A CN 110515647 A CN110515647 A CN 110515647A
- Authority
- CN
- China
- Prior art keywords
- resource packet
- static resource
- packet
- static
- updated
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/658—Incremental updates; Differential updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明实施例公开了一种静态资源管理方法、装置、设备和存储介质。其中,方法包括:将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包;根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。本发明实施例可以根据静态资源包的版本和所对应的功能模块,对静态资源包进行有效管理,保证静态资源有效可靠,可以通过与各历史静态资源包对应的增量更新资源包,节省进行静态资源更新的流量。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及一种静态资源管理方法、装置、设备和存储介质。
背景技术
应用程序客户端中一般设置有多个功能模块。每一个功能模块所需的一切静态资源都可以成为一个对应的静态资源包。静态资源包的结构形式不限,完全和业务解耦,里面可能由一个或多个文件组成。静态资源包的形式多种多样。一张图片,一个第五代超文本标记语言(HTML5)页面,一套跨平台移动应用开发框架(ReactNative)代码,或者一组公共依赖都可以成为一个包。
现有技术中,各个功能模块所需要的静态资源包需要提前内置到应用程序客户端中。应用程序客户端进行一系列资源内置,注册路由等操作。静态资源包还必须随应用程序客户端进行发版。在应用程序客户端发布后,如果静态资源包出现一些比较严重的问题,则不得不紧急修复问题,然后重新对应用程序客户端进行打包,向各个渠道和应用市场发新的应用程序客户端,提示用户进行应用程序客户端升级。由用户主动完成升级后,问题才能得到修复。
现有技术中,用户主动完成应用程序客户端更新后,才能使用上新的功能模块或者改动功能模块,才能对出现问题的静态资源包进行修复,导致静态资源包的管理过程比较重复且繁琐,周期较长,不灵活。
发明内容
本发明实施例提供一种静态资源管理方法、装置、设备和存储介质,以实现对应用程序客户端中的所有静态资源包进行有效管理。
第一方面,本发明实施例提供了一种静态资源管理方法,应用于服务器,包括:
获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与目标功能模块匹配的目标静态资源;
其中,静态资源包描述文件中包含与目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;
发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。
第二方面,本发明实施例还提供了一种静态资源管理方法,应用于应用程序客户端,包括:
检测用户开启操作;
在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源;
其中,静态资源包描述文件中包含与待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新;
若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
第三方面,本发明实施例还提供了一种静态资源管理装置,配置于服务器,包括:
资源包获取模块,用于获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与目标功能模块匹配的目标静态资源;
其中,静态资源包描述文件中包含与目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
资源包比较模块,用于根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;
资源包发布模块,用于发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。
第四方面,本发明实施例还提供了一种静态资源管理装置,配置于应用程序客户端,包括:
操作检测模块,用于检测用户开启操作;
资源包查询模块,用于在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源;
其中,静态资源包描述文件中包含与待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
版本比较模块,用于对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新;
客户端更新模块,用于若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
第五方面,本发明实施例还提供了一种计算机设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当一个或多个程序被一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例所述的静态资源管理方法。
第六方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如本发明实施例所述的静态资源管理方法。
本发明实施例通过服务器将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,然后根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,并发布增量更新资源包,应用程序客户端在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,然后对当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新,若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新,可以根据静态资源包的版本和所对应的功能模块,对应用程序客户端的所有静态资源包进行有效管理,保证应用程序客户端使用的静态资源有效可靠,可以通过对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,很大程度的节省了应用程序客户端进行静态资源更新的流量,可以在检测到用户开启操作时,对应用程序客户端内的静态资源进行更新,在用户没有感知的情况下,增加新功能模块或者改动功能模块,从而实现应用程序客户端中的功能模块的静态资源与应用程序客户端的解耦,静态资源可以不再依赖应用程序客户端发版。
附图说明
图1为本发明实施例一提供的一种静态资源管理方法的流程图;
图2为本发明实施例二提供的一种静态资源管理方法的流程图;
图3为本发明实施例三提供的一种静态资源管理方法的流程图;
图4为本发明实施例四提供的一种静态资源管理方法的流程图;
图5为本发明实施例五提供的一种静态资源管理装置的结构示意图;
图6为本发明实施例六提供的一种静态资源管理装置的结构示意图;
图7为本发明实施例七提供的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
实施例一
图1为本发明实施例一提供的一种静态资源管理方法的流程图。本实施例可适用于对应用程序客户端中的功能模块所对应的静态资源包进行有效的管理,让静态资源包不再依赖于应用程序客户端的发版才能进行更新的情况,该方法可以由本发明实施例提供的静态资源管理装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在计算机设备(服务器)中,与一个或者多个应用程序客户端配合使用。
如图1所示,本实施例的方法具体包括:
步骤101、获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与目标功能模块匹配的目标静态资源。
其中,静态资源包描述文件中包含与目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息。
目标功能模块是应用程序客户端中的一个功能模块。应用程序客户端中可以设置有多个功能模块。通过预设的打包工具,对每一个功能模块所需的一切静态资源进行打包,得到与各功能模块匹配的静态资源包。静态资源包的结构形式不限,完全和业务解耦,里面可能由一个或多个文件组成。静态资源包的形式多种多样。一张图片,一个HTML5页面,一套ReactNative代码,或者一组公共依赖都可以成为一个功能模块所需的静态资源包。
目标静态资源包是在当前时刻,对目标功能模块所需的一切静态资源进行打包,生成的与目标功能模块对应的静态资源包。目标静态资源是在当前时刻,对目标功能模块所需的一切静态资源。
在通过预设的打包工具,对根据目标功能模块所需的一切静态资源进行打包,生成目标静态资源包时,会生成一个目标静态资源包的静态资源包描述文件。静态资源包描述文件用于向应用程序客户端描述,目标静态资源包从哪里来,目标静态资源包里面有什么。
应用程序客户端标识,用于描述目标静态资源包所属应用程序客户端的标识,便于找到目标静态资源包关联的应用程序客户端。
静态资源包版本,可以是静态资源包的版本号,用于处理版本与版本之间的关系。
应用程序客户端版本,用于描述目标静态资源包所依赖的应用程序客户端的最低版本。有的目标静态资源包中的目标静态资源会对应用程序客户端版本有依赖关系。结合静态资源包的版本号可以确保用户能够使用到可用的最新版本的静态资源包。
静态资源包描述信息,用于对目标静态资源包内的每一个文件的路径、文件名、以及文件的消息摘要进行描述,详细的展示整个目标静态资源包的信息。
静态资源包版本类型,用于记录目标静态资源包的类型,区分该目标静态资源包是一个HTML5页面,还是一套ReactNative代码,又或者只是一组公共依赖。
静态资源包描述文件中包含的路由信息,用于描述目标静态资源包的路由信息。路由信息是应用程序客户端访问功能模块的路径信息。
应用程序客户端中维护了一个路由信息列表。路由信息列表中包含了应用程序客户端中已有的各功能模块的路由信息。应用程序客户端可以根据路由信息列表中包含的各功能模块的路由信息,从一个指定动能模块,跳转至另一个功能模块。
可选的,静态资源包描述文件中可以还包括数据信息。数据信息,用于根据业务需求,记录一些与功能模块对应的其他相关数据。
服务器在获取与应用程序客户端中的目标功能模块匹配的目标静态资源包之后,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包。待更新静态资源包即与目标功能模块匹配的最新的新静态资源包。
步骤102、根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包。
其中,历史静态资源包是与目标功能模块匹配的之前版本的待更新静态资源包。
可选的,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,可以包括:在与目标功能模块匹配的至少一个历史静态资源包中,获取一个历史静态资源包作为目标历史静态资源包;对待更新静态资源包和目标静态资源包中的各个文件进行比较,确定待更新静态资源包中是否存在与目标历史静态资源包中的文件匹配的修改文件,删除文件或者新增文件;如果存在与目标历史静态资源包匹配的修改文件,则通过差量更新算法,提取修改文件和所对应的目标历史静态资源包中的文件的公共部分,将修改文件中除公共静态资源之外的剩余静态资源打包,生成与目标历史静态资源包对应的增量更新资源包;生成与增量更新资源包匹配的增量信息描述文件;其中,增量信息描述文件中包含与增量更新资源包的增量更新资源包类型、文件名、待更新静态资源包的路径地址、目标历史静态资源包的路径地址、增量更新资源包的路径地址、以及差量更新算法。
修改文件是待更新静态资源包中,通过对与目标历史静态资源包中的文件进行修改后,得到的文件。
可选的,通过差量更新算法,提取修改文件和所对应的目标历史静态资源包中的文件的公共部分,可以包括:对修改文件和所对应的目标历史静态资源包中的文件做字符串匹配,提取公共部分。
可选的,通过差量更新算法,提取修改文件和所对应的目标历史静态资源包中的文件的公共部分,可以包括:使用哈希(hash)技术提取修改文件和所对应的目标历史静态资源包中的文件的公共部分。
可选的,如果待更新静态资源包中存在与目标历史静态资源包中的文件匹配的删除文件,则根据删除文件生成增量信息描述文件,对增量信息描述文件进行打包,作为与目标历史静态资源包对应的增量更新资源包。
可选的,如果待更新静态资源包中存在与目标历史静态资源包中的文件匹配的新增文件,对新增文件进行打包,作为与目标历史静态资源包对应的增量更新资源包,生成与增量更新资源包匹配的增量信息描述文件。
增量信息描述文件包含了增量更新资源包的详细的信息描述。增量更新资源包类型,用于描述增量更新资源包中的各个文件的类型。增量更新资源包类型可以包括:修改增量文件,删除增量文件,以及新增增量文件。删除增量文件是以前的历史静态资源包有,待更新静态资源包中不存在的删除文件。新增增量文件是以前的历史静态资源包中不存在,待更新静态资源包中包括的新增文件。修改增量文件是根据以前的历史静态资源包中存在,待更新静态资源包中也存在,但是发生了修改的修改文件生成的差量文件。
增量信息描述文件中的文件名是增量更新资源包中的各个文件的文件名称。增量信息描述文件中的待更新静态资源包的路径地址,用于下载待更新静态资源包。增量信息描述文件中的目标历史静态资源包的路径地址,用于下载目标历史静态资源包。增量信息描述文件中的增量更新资源包的路径地址,用于下载增量更新资源包。增量信息描述文件中的差量更新算法是在生成增量更新资源包时,使用的差量更新算法。
步骤103、发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。
其中,服务器发布增量更新资源包。
应用程序客户端在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源。应用程序客户端对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新。若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包,并根据增量更新资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
由此,应用程序客户端可以根据当前静态资源包和对应的增量更新资源包自动进行增量更新,只需要对有过修改有过变动的地方进行更新,很大程度的节省用户的流量。
可选的,还包括:获取与应用程序客户端的新功能模块匹配的新静态资源包,将新静态资源包设置为与应用程序客户端匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与新功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息。
其中,新功能模块是在应用程序客户端中新增的功能模块。新功能模块没有对应的历史静态资源包,因此,需要根据全量的待更新静态资源包进行更新。应用程序客户端在服务器中获取待更新静态资源包,根据待更新静态资源包中的静态资源包描述文件中的路由信息,更新应用程序客户端的路由信息列表。
由此,可以根据与应用程序客户端的新功能模块匹配的新静态资源包,自动在应用程序客户端中增加新功能模块。
本发明实施例提供了一种静态资源管理方法,通过服务器将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及匹配的目标静态资源,然后根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,并发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新,可以根据静态资源包的版本和所对应的功能模块,对应用程序客户端的所有静态资源包进行有效管理,保证应用程序客户端使用的静态资源有效可靠,可以通过对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,很大程度的节省了应用程序客户端进行静态资源更新的流量。
实施例二
图2为本发明实施例二提供的一种静态资源管理方法的流程图。本实施例可以与上述一个或者多个实施例中各个可选方案结合,在本实施例中,发布增量更新资源包,可以包括:将增量更新资源包发布至预设频道。
以及,在发布增量更新资源包或者全量更新资源之后,可以还包括:获取与目标功能模块匹配的目标静态资源修复包,并发布目标静态资源修复包。
以及,在发布增量更新资源包或者全量更新资源之后,可以还包括:在检测到针对待更新静态资源包的事故反馈信息后,将与待更新静态资源包对应的前一版本的历史静态资源包设置为与目标功能模块匹配的待更新静态资源包。
步骤201、获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与目标功能模块匹配的目标静态资源。
其中,静态资源包描述文件中包含与目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息。
步骤202、根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包。
步骤203、将发布增量更新资源包发布至预设频道,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。
其中,在开发测试阶段,同一个应用程序客户端往往需要支持多功能多条线并行流程。不同的用户期望更新到不同的静态资源包。不同的静态资源包满足不同的用户的需求。
可选的,服务器将设备标识和预设频道进行绑定,然后将发布增量更新资源包发布至预设频道。与设备标识匹配的指定设备可以根据预设频道上的增量更新资源包进行更新。
可选的,服务器可以为应用程序客户端配置多条预设频道,对多条预设频道设置优先级,然后将发布增量更新资源包发布至各条预设频道。应用程序客户端优先在优先级高的频道上寻找增量更新资源包,找不到的话再去优先级低的频道上找增量更新资源包。
由此,可以通过设置预设频道,实现根据不同用户的不同需求,下发不同的增量更新资源包,让应用程序客户端可以获得不同的静态资源。
步骤204、获取与目标功能模块匹配的目标静态资源修复包,并发布目标静态资源修复包。
其中,在实际过程中,往往会遇到,与目标功能模块匹配的某个历史静态资源包出现一些问题。开发人员针对存在的问题,上传目标静态资源修复包至服务器。服务器获取与目标功能模块匹配的目标静态资源修复包,并发布目标静态资源修复包,以使使用历史静态资源包的应用程序客户端,可以下载目标静态资源修复包,对历史静态资源包进行修复。由此,可以在用户无察觉的情况下,对历史静态资源包进行修复,且不会影响新版本的应用程序客户端的新功能,只会对使用出现问题的历史静态资源包的应用程序客户端进行修复。
步骤205、在检测到针对待更新静态资源包的事故反馈信息后,将与待更新静态资源包对应的前一版本的历史静态资源包设置为与目标功能模块匹配的待更新静态资源包。
其中,有时待更新静态资源包会出现比较重大的事故,需要版本回滚,即将与待更新静态资源包对应的前一版本的历史静态资源包设置为与目标功能模块匹配的待更新静态资源包,以使应用程序客户端根据前一版本的历史静态资源包更新目标功能模块的静态资源包,让应用程序客户端内静态资源回滚到曾经正常的状态。
本发明实施例提供了一种静态资源管理方法,通过将增量更新资源包发布至预设频道,可以实现根据不同用户的不同需求,下发不同的增量更新资源包,让应用程序客户端可以获得不同的静态资源;通过获取与目标功能模块匹配的目标静态资源修复包,并发布目标静态资源修复包,可以在用户无察觉的情况下,对历史静态资源包进行修复;通过在检测到针对待更新静态资源包的事故反馈信息后,将与待更新静态资源包对应的前一版本的历史静态资源包设置为与目标功能模块匹配的待更新静态资源包,可以在待更新静态资源包会出现比较重大的事故时,将与待更新静态资源包对应的前一版本的历史静态资源包设置为与目标功能模块匹配的待更新静态资源包,以使应用程序客户端根据前一版本的历史静态资源包更新目标功能模块的静态资源包,让应用程序客户端内静态资源回滚到曾经正常的状态。
实施例三
图3为本发明实施例三提供的一种静态资源管理方法的流程图。本实施例可适用于对应用程序客户端中的功能模块所对应的静态资源包进行有效的管理,让静态资源包不再依赖于应用程序客户端的发版才能进行更新的情况,该方法可以由本发明实施例提供的静态资源管理装置来执行,该装置可采用软件和/或硬件的方式实现,并一般可集成在安装于计算机设备中的一个应用程序客户端中,与服务器配合使用。
如图3所示,本实施例的方法具体包括:
步骤301、检测用户开启操作。
其中,用户开启操作为用户开启应用程序客户端的操作。
步骤302、在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源。
其中,静态资源包描述文件中包含与待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息。
应用程序客户端在每一次启动时,会对应用程序客户端内所有静态资源进行更新:根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,即查询符合应用程序客户端版本的最新的静态资源包。
步骤303、对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新:若是,则执行步骤304;若否,则返回执行步骤301。
可选的,对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新,可以包括:判断待更新静态资源包的静态资源包版本是否高于应用程序客户端中的功能模块的当前静态资源包的静态资源包版本;若是,则确定对应用程序客户端中的功能模块的当前静态资源包进行更新。若否,则不进行静态资源更新,继续检测用户开启操作。
步骤304、根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
可选的,根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,可以包括:根据当前静态资源包的静态资源包版本,在服务器中判断是否存在与当前静态资源包对应的增量更新资源包;若是,则获取与增量更新资源包匹配的增量信息描述文件;其中,增量信息描述文件中包含与增量更新资源包的增量更新资源包类型、文件名、待更新静态资源包的路径地址、目标历史静态资源包的路径地址、增量更新资源包的路径地址、以及差量更新算法;根据增量更新资源包的路径地址,下载增量更新资源。
可选的,根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新,可以包括:根据差量更新算法,对当前静态资源包和增量更新资源包进行合并,得到更新后的当前静态资源包。
由此,可以根据增量更新资源包对应用程序客户端中的已有功能模块的静态资源包进行增量更新。
可选的,根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,还包括:若否,则在服务器中获取待更新静态资源包。
可选的,根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新,包括:根据待更新静态资源包中的静态资源包描述文件中的路由信息,更新应用程序客户端的路由信息列表。
其中,新功能模块是在应用程序客户端中新增的功能模块。新功能模块没有对应的历史静态资源包,因此,需要根据全量的待更新静态资源包进行更新。应用程序客户端在服务器中获取待更新静态资源包,在路由信息列表中注册新功能模块的路由信息,更新应用程序客户端的路由信息列表。
通过根据待更新静态资源包,在路由信息列表中注册新功能模块的路由信息,更新应用程序客户端的路由信息列表,可以达到新增功能模块不需要依赖应用程序客户发版,解决了在现有技术中,添加一个新功能模块,需要在应用程序客户中增加代码,将路由的注册维护在代码中,导致随着静态资源包的数量的增加,越来越多的东西冗余在应用程序客户中,同时,添加一个新功能模块的过程繁琐重复,且不宜于维护的问题。
可选的,在运行时构建新功能模块的路由,将参数透传给静态页面,实现应用程序客户端新增静态页面,可以完全不依赖应用程序客户端,就可以在客户端中通过动态构建的路由,访问到新增的静态页面,实现了页面真正意义的动态加载。
本发明实施例提供了一种静态资源管理方法,通过在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,然后对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新,若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新,可以在检测到用户开启操作时,对应用程序客户端内的静态资源进行更新,在用户没有感知的情况下,增加新功能模块或者改动功能模块,从而实现应用程序客户端中的功能模块的静态资源与应用程序客户端的解耦,静态资源可以不再依赖应用程序客户端发版。
实施例四
图4为本发明实施例四提供的一种静态资源管理方法的流程图。本实施例可以与上述一个或者多个实施例中各个可选方案结合,在本实施例中,对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新,可以包括:判断待更新静态资源包的静态资源包版本是否高于应用程序客户端中的功能模块的当前静态资源包的静态资源包版本;若是,则确定对应用程序客户端中的功能模块的当前静态资源包进行更新。
如图4所示,本实施例的方法具体包括:
步骤401、检测用户开启操作。
步骤402、在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源。
其中,静态资源包描述文件中包含与待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息。
步骤403、判断待更新静态资源包的静态资源包版本是否高于应用程序客户端中的功能模块的当前静态资源包的静态资源包版本:若是,则执行步骤404;若否,则返回执行步骤401。
其中,如果待更新静态资源包的静态资源包版本高于应用程序客户端中的功能模块的当前静态资源包的静态资源包版本,则确定对应用程序客户端中的功能模块的当前静态资源包进行更新;如果待更新静态资源包的静态资源包版本没有高于应用程序客户端中的功能模块的当前静态资源包的静态资源包版本,则不进行静态资源更新,继续检测用户开启操作。
步骤404、根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
本发明实施例提供了一种静态资源管理方法,通过判断待更新静态资源包的静态资源包版本是否高于应用程序客户端中的功能模块的当前静态资源包的静态资源包版本;若是,则确定对应用程序客户端中的功能模块的当前静态资源包进行更新,可以在检测到用户开启操作时,根据静态资源包版本,自动对应用程序客户端内的静态资源进行更新,可以在用户没有感知的情况下,增加新功能模块或者改动功能模块,从而实现应用程序客户端中的功能模块的静态资源与应用程序客户端的解耦,静态资源可以不再依赖应用程序客户端发版。
实施例五
图5为本发明实施例五提供的一种静态资源管理装置的结构示意图。如图5所示,所述装置,设置于服务器,可以包括:资源包获取模块501、资源包比较模块502以及资源包发布模块503。
其中,资源包获取模块501,用于获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与目标功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;资源包比较模块502,用于根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;资源包发布模块503,用于发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。
本发明实施例提供了一种静态资源管理装置,通过服务器将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及匹配的目标静态资源,然后根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,并发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新,可以根据静态资源包的版本和所对应的功能模块,对应用程序客户端的所有静态资源包进行有效管理,保证应用程序客户端使用的静态资源有效可靠,可以通过对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,很大程度的节省了应用程序客户端进行静态资源更新的流量。
在上述各实施例的基础上,可以还包括:新资源包获取模块,用于获取与应用程序客户端的新功能模块匹配的新静态资源包,将新静态资源包设置为与应用程序客户端匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与新功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息。
在上述各实施例的基础上,资源包比较模块502可以包括:资源包获取单元,用于在与目标功能模块匹配的至少一个历史静态资源包中,获取一个历史静态资源包作为目标历史静态资源包;文件确定单元,用于对待更新静态资源包和目标静态资源包中的各个文件进行比较,确定待更新静态资源包中是否存在与目标历史静态资源包中的文件匹配的修改文件,删除文件或者新增文件;资源包生成单元,用于如果存在与目标历史静态资源包匹配的修改文件,则通过差量更新算法,提取修改文件和所对应的目标历史静态资源包中的文件的公共部分,将修改文件中除公共静态资源之外的剩余静态资源打包,生成与目标历史静态资源包对应的增量更新资源包;描述文件生成单元,用于生成与增量更新资源包匹配的增量信息描述文件;其中,增量信息描述文件中包含与增量更新资源包的增量更新资源包类型、文件名、待更新静态资源包的路径地址、目标历史静态资源包的路径地址、增量更新资源包的路径地址、以及差量更新算法。
在上述各实施例的基础上,资源包发布模块503可以包括:资源包发布单元,用于将增量更新资源包发布至预设频道。
在上述各实施例的基础上,可以还包括:修复包发布模块,用于获取与目标功能模块匹配的目标静态资源修复包,并发布目标静态资源修复包。
在上述各实施例的基础上,可以还包括:事故资源设置模块,用于在检测到针对待更新静态资源包的事故反馈信息后,将与待更新静态资源包对应的前一版本的历史静态资源包设置为与目标功能模块匹配的待更新静态资源包。
实施例六
图6为本发明实施例六提供的一种静态资源管理装置的结构示意图。如图6所示,所述装置,设置于应用程序客户端,可以包括:操作检测模块601、资源包查询模块602、版本比较模块603以及客户端更新模块604。
其中,操作检测模块601,用于检测用户开启操作;资源包查询模块602,用于在检测到所述用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;版本比较模块603,用于对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新;客户端更新模块604,用于若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
本发明实施例提供了一种静态资源管理装置,通过在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,然后对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新,若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新,可以在检测到用户开启操作时,对应用程序客户端内的静态资源进行更新,在用户没有感知的情况下,增加新功能模块或者改动功能模块,从而实现应用程序客户端中的功能模块的静态资源与应用程序客户端的解耦,静态资源可以不再依赖应用程序客户端发版。
在上述各实施例的基础上,版本比较模块603可以包括:版本比较单元,用于判断待更新静态资源包的静态资源包版本是否高于应用程序客户端中的功能模块的当前静态资源包的静态资源包版本;更新确定单元,用于若是,则确定对应用程序客户端中的功能模块的当前静态资源包进行更新。
在上述各实施例的基础上,客户端更新模块604可以包括:增量判断单元,用于根据当前静态资源包的静态资源包版本,在服务器中判断是否存在与当前静态资源包对应的增量更新资源包;描述文件获取单元,用于若是,则获取与增量更新资源包匹配的增量信息描述文件;其中,增量信息描述文件中包含与增量更新资源包的增量更新资源包类型、文件名、待更新静态资源包的路径地址、目标历史静态资源包的路径地址、增量更新资源包的路径地址、以及差量更新算法;增量下载单元,用于根据增量更新资源包的路径地址,下载增量更新资源。
在上述各实施例的基础上,客户端更新模块604可以包括:增量更新单元,用于根据差量更新算法,对当前静态资源包和待更新静态资源包进行合并,得到更新后的当前静态资源包。
在上述各实施例的基础上,客户端更新模块604可以还包括:全量获取单元,用于若否,则在服务器中获取待更新静态资源包。
在上述各实施例的基础上,客户端更新模块604可以包括:路由信息更新单元,用于根据待更新静态资源包中的静态资源包描述文件中的路由信息,更新应用程序客户端的路由信息列表。
实施例七
图7为本发明实施例七提供的一种计算机设备的结构示意图。图7示出了适于用来实现本发明实施方式的示例性计算机设备12的框图。图7显示的计算机设备12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,计算机设备12以通用计算设备的形式表现。计算机设备12的组件可以包括但不限于:一个或者多个处理器16,存储器28,连接不同系统组件(包括存储器28和处理器16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机设备12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机设备12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图7未显示,通常称为“硬盘驱动器”)。尽管图7中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括——但不限于——操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机设备12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机设备12交互的设备通信,和/或与使得该计算机设备12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机设备12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机设备12的其它模块通信。应当明白,尽管图7中未示出,可以结合计算机设备12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
处理器16通过运行存储在存储器28中的程序,从而执行各种功能应用以及数据处理,实现本发明实施例所提供的静态资源管理方法:获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与目标功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。
或者,实现本发明实施例所提供的静态资源管理方法:检测用户开启操作;在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新;若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
实施例八
本发明实施例八提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现本发明实施例所提供的静态资源管理方法:获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将目标静态资源包设置为与目标功能模块匹配的待更新静态资源包,目标静态资源包中包括静态资源包描述文件、以及与目标功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;根据静态资源包描述文件,获取与目标功能模块匹配的至少一个历史静态资源包,对待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;发布增量更新资源包,以使应用程序客户端根据增量更新资源包,对目标功能模块的当前静态资源包进行更新。
或者,实现本发明实施例所提供的静态资源管理方法:检测用户开启操作;在检测到用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源;其中,静态资源包描述文件中包含与待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;对应用程序客户端中的功能模块的当前静态资源包和待更新静态资源包的静态资源包版本进行比较,判断是否对应用程序客户端中的功能模块的当前静态资源包进行更新;若是,则根据当前静态资源包的静态资源包版本,在服务器中获取与当前静态资源包对应的增量更新资源包或者待更新静态资源包,并根据增量更新资源包或者待更新静态资源包,对应用程序客户端中的功能模块的当前静态资源包进行更新。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (16)
1.一种静态资源管理方法,其特征在于,应用于服务器,包括:
获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将所述目标静态资源包设置为与所述目标功能模块匹配的待更新静态资源包,所述目标静态资源包中包括静态资源包描述文件、以及与所述目标功能模块匹配的目标静态资源;
其中,所述静态资源包描述文件中包含与所述目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
根据所述静态资源包描述文件,获取与所述目标功能模块匹配的至少一个历史静态资源包,对所述待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;
发布所述增量更新资源包,以使应用程序客户端根据所述增量更新资源包,对所述目标功能模块的当前静态资源包进行更新。
2.根据权利要求1所述的方法,其特征在于,还包括:
获取与应用程序客户端的新功能模块匹配的新静态资源包,将所述新静态资源包设置为与所述应用程序客户端匹配的待更新静态资源包,所述目标静态资源包中包括静态资源包描述文件、以及与所述新功能模块匹配的目标静态资源;
其中,所述静态资源包描述文件中包含与所述新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息。
3.根据权利要求1所述的方法,其特征在于,对所述待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包,包括:
在与所述目标功能模块匹配的至少一个历史静态资源包中,获取一个历史静态资源包作为目标历史静态资源包;
对所述待更新静态资源包和所述目标静态资源包中的各个文件进行比较,确定所述待更新静态资源包中是否存在与所述目标历史静态资源包中的文件匹配的修改文件,删除文件或者新增文件;
如果存在与所述目标历史静态资源包匹配的修改文件,则通过差量更新算法,提取所述修改文件和所对应的所述目标历史静态资源包中的文件的公共部分,将所述修改文件中除所述公共静态资源之外的剩余静态资源打包,生成与目标历史静态资源包对应的增量更新资源文件;
生成与所述增量更新资源包匹配的增量信息描述文件;
其中,所述增量信息描述文件中包含与所述增量更新资源包的增量更新资源包类型、文件名、所述待更新静态资源包的路径地址、所述目标历史静态资源包的路径地址、所述增量更新资源包的路径地址、以及所述差量更新算法。
4.根据权利要求1所述的方法,其特征在于,发布所述增量更新资源包或者所述全量更新资源,包括:
将所述增量更新资源包发布至预设频道。
5.根据权利要求1所述的方法,其特征在于,在发布所述增量更新资源包或者所述全量更新资源之后,还包括:
获取与目标功能模块匹配的目标静态资源修复包,并发布所述目标静态资源修复包。
6.根据权利要求1所述的方法,其特征在于,在发布所述增量更新资源包或者所述全量更新资源之后,还包括:
在检测到针对所述待更新静态资源包的事故反馈信息后,将与所述待更新静态资源包对应的前一版本的历史静态资源包设置为与所述目标功能模块匹配的待更新静态资源包。
7.一种静态资源管理方法,其特征在于,应用于应用程序客户端,包括:
检测用户开启操作;
在检测到所述用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,所述待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源;
其中,所述静态资源包描述文件中包含与所述待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
对所述应用程序客户端中的功能模块的当前静态资源包和所述待更新静态资源包的静态资源包版本进行比较,判断是否对所述应用程序客户端中的功能模块的当前静态资源包进行更新;
若是,则根据所述当前静态资源包的静态资源包版本,在所述服务器中获取与所述当前静态资源包对应的增量更新资源包或者所述待更新静态资源包,并根据所述增量更新资源包或者所述待更新静态资源包,对所述应用程序客户端中的功能模块的当前静态资源包进行更新。
8.根据权利要求7所述的方法,其特征在于,对所述应用程序客户端中的功能模块的当前静态资源包和所述待更新静态资源包的静态资源包版本进行比较,判断是否对所述应用程序客户端中的功能模块的当前静态资源包进行更新,包括:
判断所述待更新静态资源包的静态资源包版本是否高于所述应用程序客户端中的功能模块的当前静态资源包的静态资源包版本;
若是,则确定对所述应用程序客户端中的功能模块的当前静态资源包进行更新。
9.根据权利要求7所述的方法,其特征在于,根据所述当前静态资源包的静态资源包版本,在所述服务器中获取与所述当前静态资源包对应的增量更新资源包或者所述待更新静态资源包,包括:
根据所述当前静态资源包的静态资源包版本,在所述服务器中判断是否存在与所述当前静态资源包对应的增量更新资源包;
若是,则获取与所述增量更新资源包匹配的增量信息描述文件;
其中,所述增量信息描述文件中包含与所述增量更新资源包的增量更新资源包类型、文件名、所述待更新静态资源包的路径地址、所述目标历史静态资源包的路径地址、所述增量更新资源包的路径地址、以及所述差量更新算法;
根据所述增量更新资源包的路径地址,下载所述增量更新资源。
10.根据权利要求9所述的方法,其特征在于,根据所述增量更新资源包或者所述待更新静态资源包,对所述应用程序客户端中的功能模块的当前静态资源包进行更新,包括:
根据所述差量更新算法,对所述当前静态资源包和所述增量更新资源包进行合并,得到更新后的当前静态资源包。
11.根据权利要求9所述的方法,其特征在于,根据所述当前静态资源包的静态资源包版本,在所述服务器中获取与所述当前静态资源包对应的增量更新资源包或者所述待更新静态资源包,还包括:
若否,则在所述服务器中获取所述待更新静态资源包。
12.根据权利要求11所述的方法,其特征在于,根据所述增量更新资源包或者所述待更新静态资源包,对所述应用程序客户端中的功能模块的当前静态资源包进行更新,包括:
根据所述待更新静态资源包中的静态资源包描述文件中的路由信息,更新所述应用程序客户端的路由信息列表。
13.一种静态资源管理装置,配置于服务器,其特征在于,包括:
资源包获取模块,用于获取与应用程序客户端中的目标功能模块匹配的目标静态资源包,将所述目标静态资源包设置为与所述目标功能模块匹配的待更新静态资源包,所述目标静态资源包中包括静态资源包描述文件、以及与所述目标功能模块匹配的目标静态资源;
其中,所述静态资源包描述文件中包含与所述目标静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
资源包比较模块,用于根据所述静态资源包描述文件,获取与所述目标功能模块匹配的至少一个历史静态资源包,对所述待更新静态资源包和各历史静态资源包进行差异比较,得到与各历史静态资源包对应的增量更新资源包;
资源包发布模块,用于发布所述增量更新资源包,以使应用程序客户端根据所述增量更新资源包,对所述目标功能模块的当前静态资源包进行更新。
14.一种静态资源管理装置,配置于应用程序客户端,其特征在于,包括:
操作检测模块,用于检测用户开启操作;
资源包查询模块,用于在检测到所述用户开启操作时,根据应用程序客户端标识和应用程序客户端版本,在服务器中查询与应用程序客户端匹配的待更新静态资源包,所述待更新静态资源包中包括静态资源包描述文件、以及与功能模块匹配的目标静态资源;
其中,所述静态资源包描述文件中包含与所述待更新静态资源包匹配的应用程序客户端标识、静态资源包版本、应用程序客户端版本、静态资源包描述信息、静态资源包版本类型、以及路由信息;
版本比较模块,用于对所述应用程序客户端中的功能模块的当前静态资源包和所述待更新静态资源包的静态资源包版本进行比较,判断是否对所述应用程序客户端中的功能模块的当前静态资源包进行更新;
客户端更新模块,用于如果确定对所述应用程序客户端中的功能模块的当前静态资源包进行更新,则根据所述当前静态资源包的静态资源包版本,在所述服务器中获取与所述当前静态资源包对应的增量更新资源包或者所述待更新静态资源包,并根据所述增量更新资源包或者所述待更新静态资源包,对所述应用程序客户端中的功能模块的当前静态资源包进行更新。
15.一种计算机设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-6任一所述的静态资源管理方法,或者如权利要求7-12任一所述的静态资源管理方法。
16.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-6任一所述的静态资源管理方法,或者如权利要求7-12任一所述的静态资源管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910804175.0A CN110515647A (zh) | 2019-08-28 | 2019-08-28 | 一种静态资源管理方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910804175.0A CN110515647A (zh) | 2019-08-28 | 2019-08-28 | 一种静态资源管理方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110515647A true CN110515647A (zh) | 2019-11-29 |
Family
ID=68627628
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910804175.0A Pending CN110515647A (zh) | 2019-08-28 | 2019-08-28 | 一种静态资源管理方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110515647A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112657196A (zh) * | 2020-12-21 | 2021-04-16 | 北京像素软件科技股份有限公司 | 资源更新方法、装置、计算机设备和可读存储介质 |
CN112835578A (zh) * | 2021-01-28 | 2021-05-25 | 观脉科技(北京)有限公司 | 一种bundle文件生成方法和存储介质 |
CN112947981A (zh) * | 2020-04-03 | 2021-06-11 | 深圳市明源云客电子商务有限公司 | 应用程序资源更新方法、装置、终端设备及服务器 |
CN113076128A (zh) * | 2020-01-03 | 2021-07-06 | 北京猎户星空科技有限公司 | 用于机器人配置的方法、装置、电子设备及存储介质 |
CN113326058A (zh) * | 2021-07-01 | 2021-08-31 | 苏州好玩友网络科技有限公司 | 一种应用的版本更新方法、装置、设备及介质 |
CN113326059A (zh) * | 2020-02-28 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种资源更新方法、装置及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7665081B1 (en) * | 2006-05-06 | 2010-02-16 | Kaspersky Lab, Zao | System and method for difference-based software updating |
CN104657170A (zh) * | 2013-11-25 | 2015-05-27 | 腾讯科技(上海)有限公司 | 一种数据更新方法、装置及系统 |
CN105389182A (zh) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | 一种软件升级方法及装置 |
CN107797817A (zh) * | 2017-03-13 | 2018-03-13 | 平安科技(深圳)有限公司 | 应用更新方法和装置 |
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
-
2019
- 2019-08-28 CN CN201910804175.0A patent/CN110515647A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7665081B1 (en) * | 2006-05-06 | 2010-02-16 | Kaspersky Lab, Zao | System and method for difference-based software updating |
CN104657170A (zh) * | 2013-11-25 | 2015-05-27 | 腾讯科技(上海)有限公司 | 一种数据更新方法、装置及系统 |
CN105389182A (zh) * | 2015-11-02 | 2016-03-09 | 广州华多网络科技有限公司 | 一种软件升级方法及装置 |
CN107797817A (zh) * | 2017-03-13 | 2018-03-13 | 平安科技(深圳)有限公司 | 应用更新方法和装置 |
CN107846465A (zh) * | 2017-11-13 | 2018-03-27 | 北京趣拿软件科技有限公司 | 更新客户端资源包的方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113076128A (zh) * | 2020-01-03 | 2021-07-06 | 北京猎户星空科技有限公司 | 用于机器人配置的方法、装置、电子设备及存储介质 |
CN113076128B (zh) * | 2020-01-03 | 2023-11-10 | 北京猎户星空科技有限公司 | 用于机器人配置的方法、装置、电子设备及存储介质 |
CN113326059A (zh) * | 2020-02-28 | 2021-08-31 | 腾讯科技(深圳)有限公司 | 一种资源更新方法、装置及存储介质 |
CN113326059B (zh) * | 2020-02-28 | 2024-04-26 | 腾讯科技(深圳)有限公司 | 一种资源更新方法、装置及存储介质 |
CN112947981A (zh) * | 2020-04-03 | 2021-06-11 | 深圳市明源云客电子商务有限公司 | 应用程序资源更新方法、装置、终端设备及服务器 |
CN112657196A (zh) * | 2020-12-21 | 2021-04-16 | 北京像素软件科技股份有限公司 | 资源更新方法、装置、计算机设备和可读存储介质 |
CN112835578A (zh) * | 2021-01-28 | 2021-05-25 | 观脉科技(北京)有限公司 | 一种bundle文件生成方法和存储介质 |
CN113326058A (zh) * | 2021-07-01 | 2021-08-31 | 苏州好玩友网络科技有限公司 | 一种应用的版本更新方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515647A (zh) | 一种静态资源管理方法、装置、设备和存储介质 | |
US11074154B2 (en) | Identifying a source file for use in debugging compiled code | |
US20100313182A1 (en) | Extensible user interface generation | |
US9582623B2 (en) | Dynamically loaded system-level simulation | |
US10430168B2 (en) | Context information based on type of routine being called | |
JP6951442B2 (ja) | シブリング・コール処理のためのコンピュータ・プログラム製品、コンピュータ・システムおよびコンピュータによって実施される方法 | |
US10095493B2 (en) | Call sequence generation based on type of routine | |
US11144437B2 (en) | Pre-populating continuous delivery test cases | |
US10949221B2 (en) | Executing instructions to store context information based on routine to be executed | |
CN110321178A (zh) | 附属应用端的启动处理方法、装置、设备及存储介质 | |
US9098316B2 (en) | Routing function calls to specific-function dynamic link libraries in a general-function environment | |
CN112463256A (zh) | 确定配置文件的方法、系统、电子设备及存储介质 | |
CN111966382A (zh) | 机器学习模型的在线部署方法、装置及相关设备 | |
US20200410106A1 (en) | Optimizing Operating System Vulnerability Analysis | |
KR101798705B1 (ko) | 유연성을 갖춘 메타데이터 구성 기법 | |
US20060041870A1 (en) | Systems and methods for varying software build properties using primary and supplemental build files | |
US11640281B2 (en) | Tool for introspection in object-oriented source code | |
US11099969B2 (en) | Estimating the number of coding styles by analyzing source code | |
US7661092B1 (en) | Intelligent reuse of local variables during bytecode compilation | |
CN114527993A (zh) | 应用程序部署方法、装置、设备及介质 | |
US10776255B1 (en) | Automatic verification of optimization of high level constructs using test vectors | |
US8843896B2 (en) | Metamodeling contextual navigation of computer software applications | |
CN113190462A (zh) | 一种动态化的数据调试方法和装置及设备 | |
US11157252B2 (en) | Assessment of the benefit of post-inlining program transformation in inlining decisions | |
CN109976765B (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 |