CN118138454A - 资源包下载方法、装置、计算设备及存储介质 - Google Patents
资源包下载方法、装置、计算设备及存储介质 Download PDFInfo
- Publication number
- CN118138454A CN118138454A CN202311810375.XA CN202311810375A CN118138454A CN 118138454 A CN118138454 A CN 118138454A CN 202311810375 A CN202311810375 A CN 202311810375A CN 118138454 A CN118138454 A CN 118138454A
- Authority
- CN
- China
- Prior art keywords
- resource package
- resource
- terminal
- package
- downloading
- 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 70
- 238000003860 storage Methods 0.000 title claims abstract description 29
- 238000004891 communication Methods 0.000 claims abstract description 13
- 230000015654 memory Effects 0.000 claims description 17
- 238000009826 distribution Methods 0.000 claims description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000007723 transport mechanism Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0859—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions
- H04L41/0863—Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions by rolling back to previous configuration versions
-
- 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
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/085—Retrieval of network configuration; Tracking network configuration history
- H04L41/0853—Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种资源包下载方法、装置、计算设备及存储介质,方法在终端执行,所述终端部署有应用的程序包,所述程序包内置有当前版本资源包,所述终端与服务端通信连接,所述方法包括:请求从服务端下载资源核心文件;确定终端是否满足灰度发布条件;如果满足灰度发布条件,则判断是否需要进行回滚操作;如果不需要进行回滚操作,则根据所述资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名;如果需要进行回滚操作,则获取回滚的目标版本号,并根据所述目标版本号获取目标版本资源包。根据本发明的技术方案,能实现高效、及时地下载和更新资源包,而且提高了下载资源包的可靠性和可控性。
Description
技术领域
本发明涉及互联网技术领域,尤其涉及一种资源包下载方法、资源包下载装置、计算设备及存储介质。
背景技术
随着互联网的日益发展,移动端技术的快速迭代,同时为了节省开发资源,跨平台技术应运而生。而使用跨平台技术就需要考虑相关资源包的下载更新及容错处理。ReactNative就是跨平台技术之一,React Native可以使用一套JavaScript(以下简称js)代码在双端(iOS,Android)运行,节省了人力资源和时间成本,并且,可以通过下发.jsBundkle包而达到热更新的目的。
根据现有的技术方案,开发人员在开发完js相关功能后,通过将js代码打包形成.jsBundle文件,在应用发布的时候将.jsBundle包内置到应用内随包发布。这种将.jsBundle包内置到应用内随包发布的方案,不能满足随时更新.jsBundle包的需求。
因此,需要一种资源包下载方法,以解决上述技术方案中存在的问题。
发明内容
为此,本发明提供一种资源包下载方法和资源包下载装置,以解决或至少缓解上面存在的问题。
根据本发明的一个方面,提供一种资源包下载方法,在终端执行,所述终端部署有应用的程序包,所述程序包内置有当前版本资源包,所述终端与服务端通信连接,所述方法包括:请求从服务端下载资源核心文件;确定终端是否满足灰度发布条件;如果满足灰度发布条件,则判断是否需要进行回滚操作;如果不需要进行回滚操作,则根据所述资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名;如果需要进行回滚操作,则获取回滚的目标版本号,并根据所述目标版本号获取目标版本资源包。
可选地,在根据本发明的资源包下载方法中,获取回滚的目标版本号,并根据所述目标版本号获取目标版本资源包,包括:确定终端是否具有回滚的目标版本号;如果具有目标版本号,则根据所述目标版本号从终端获取目标版本资源包。
可选地,在根据本发明的资源包下载方法中,还包括:如果终端不具有回滚的目标版本号,则根据预定版本号从服务端下载预定版本资源包。
可选地,在根据本发明的资源包下载方法中,在根据预定版本号从服务端下载预定版本资源包之前,还包括:判断是否根据预定版本号从服务端下载预定版本资源包,如果否,则获取终端本地的最新版本资源包。
可选地,在根据本发明的资源包下载方法中,确定终端是否满足灰度发布条件,包括:响应于下载资源包核心文件成功,获取终端的设备信息;根据所述终端的设备信息,确定所述终端是否满足灰度发布条件。
可选地,在根据本发明的资源包下载方法中,根据所述资源核心文件从服务端下载新版本资源包,包括:根据所述资源核心文件,从服务端下载新版本资源包中的一个或多个资源文件。
可选地,在根据本发明的资源包下载方法中,根据所述资源核心文件从服务端下载新版本资源包,包括:根据所述资源核心文件,确定需要下载的新版本资源包对应的新版本号;通过对比终端的当前版本资源包对应的当前版本号与所述新版本号,来确定终端是否需要更新资源包;如果需要更新资源包,则根据所述资源核心文件从服务端下载新版本资源包。
可选地,在根据本发明的资源包下载方法中,还包括:判断下载新版本资源包是否成功;如果下载成功,则基于对应的新版本号对所述新版本资源包进行命名;如果下载失败,则判断是否强制更新资源包,如果确定强制更新,则再次从服务端下载新版本资源包。
根据本发明的一个方面,提供一种资源包下载装置,驻留在终端,所述终端部署有应用的程序包,所述程序包内置有当前版本资源包,所述终端与服务端通信连接,所述装置包括:第一下载模块,适于请求从服务端下载资源核心文件;灰度判断模块,适于确定终端是否满足灰度发布条件;回滚判断模块,适于在满足灰度发布条件,判断是否需要进行回滚操作;第二下载模块,适于在不需要进行回滚操作时,根据所述资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名;获取模块,适于在需要进行回滚操作时,获取回滚的目标版本号,并根据所述目标版本号获取目标版本资源包。
根据本发明的一个方面,提供一种计算设备,包括:至少一个处理器;存储器,存储有程序指令,其中,程序指令被配置为适于由上述至少一个处理器执行,所述程序指令包括用于执行如上所述的资源包下载方法的指令。
根据本发明的一个方面,提供一种存储有程序指令的可读存储介质,当该程序指令被计算设备读取并执行时,使得该计算设备执行如上所述的资源包下载方法。
根据本发明的技术方案,提供了一种资源包下载方法,终端部署有应用的程序包,程序包内置有当前版本资源包,终端首先请求从服务端下载资源核心文件,随后确定终端是否满足灰度发布条件,如果满足灰度发布条件,再判断是否需要进行回滚操作。如果不需要进行回滚操作,则根据资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名。如果需要进行回滚操作,则获取回滚的目标版本号,并根据目标版本号获取目标版本资源包,以便回滚到所需的目标版本。这样,根据本发明的技术方案,资源包可独立下载和更新,无需内置在应用内随包发布,从而能实现随时下载和更新应用的资源包,提高了下载效率。并且,根据资源核心文件来确定和控制终端需要下载的资源包具体版本以及所需下载的一个或多个资源文件,提高了下载资源包的可控性。此外,由于终端部署的应用的程序包中内置有完整的当前版本资源包,这样,即便下载新版本资源包失败,终端仍可以基于内置有完整的当前版本资源包的程序包正常运行应用,不会影响用户使用,这样,提高了对资源包下载和更新的可靠性。可见,根据本发明的资源包下载方案,能实现高效、及时地下载和更新资源包,而且提高了下载资源包的可靠性和可控性。
进一步地,本发明在下载资源包的过程中,充分考虑了需要回滚、未找到回滚的目标版本号、下载失败等情况,提供了对应的容错机制,容错性更强,进一步提高了下载过程的可靠性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的示意图;
图2示出了根据本发明一个实施例的资源包下载方法200的流程示意图;
图3示出了根据本发明的一个实施例的资源包下载装置300的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
针对现有技术中资源包内置在应用内随包发布,无法随时更新应用资源包的问题,本发明提供了一种资源包下载方法,以实现随时更新终端应用的资源包。本发明提供的资源包下载方法可以由计算设备执行,计算设备例如可以是终端。
图1示出了根据本发明一个实施例的计算设备100的示意图。如图1所示,在基本配置中,计算设备100包括至少一个处理单元102和系统存储器104。根据一个方面,取决于计算设备的配置和类型,处理单元102可以实现为处理器。系统存储器104包括但不限于易失性存储(例如,随机存取存储器)、非易失性存储(例如,只读存储器)、闪速存储器、或者这样的存储器的任何组合。根据一个方面,系统存储器104中包括操作系统105。
根据一个方面,操作系统105例如适合于控制计算设备100的操作。此外,示例结合图形库、其他操作系统、或任何其他应用程序而被实践,并且不限于任何特定的应用或系统。在图1中通过在虚线内的那些组件示出了该基本配置。根据一个方面,计算设备100具有额外的特征或功能。例如,根据一个方面,计算设备100包括额外的数据存储设备(可移动的和/或不可移动的),例如磁盘、光盘、或者磁带。这样额外的存储在图1中是由可移动存储设备109和不可移动存储设备110示出的。
如在上文中所陈述的,根据一个方面,在系统存储器104中存储有程序模块103。根据一个方面,程序模块103可以包括一个或多个应用程序,本发明不限制应用程序的类型,例如应用程序可以包括:电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片展示应用程序、绘画或计算机辅助应用程序、网络浏览器应用程序等。
根据一个方面,程序模块103可以包括资源包下载装置300,资源包下载装置300中包括适于执行本发明的资源包下载方法200的多条程序指令,使得资源包下载装置300被配置为执行本发明的资源包下载方法200。
根据一个方面,可以在包括分立电子元件的电路、包含逻辑门的封装或集成的电子芯片、利用微处理器的电路、或者在包含电子元件或微处理器的单个芯片上实践示例。例如,可以经由其中在图1中所示出的每个或许多组件可以集成在单个集成电路上的片上系统(SOC)来实践示例。根据一个方面,这样的SOC设备可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元、以及各种应用功能,其全部作为单个集成电路而被集成(或“烧”)到芯片基底上。当经由SOC进行操作时,可以经由在单个集成电路(芯片)上与计算设备100的其他组件集成的专用逻辑来对在本文中所描述的功能进行操作。还可以使用能够执行逻辑操作(例如AND、OR和NOT)的其他技术来实践本发明的实施例,所述其他技术包括但不限于机械、光学、流体、和量子技术。另外,可以在通用计算机内或在任何其他任何电路或系统中实践本发明的实施例。
根据一个方面,计算设备100还可以具有一个或多个输入设备112,例如键盘、鼠标、笔、语音输入设备、触摸输入设备等。还可以包括输出设备114,例如显示器、扬声器、打印机等。前述设备是示例并且也可以使用其他设备。计算设备100可以包括允许与其他计算设备118进行通信的一个或多个通信连接116。合适的通信连接116的示例包括但不限于:RF发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。
如在本文中所使用的术语计算机可读介质包括计算机存储介质。计算机存储介质可以包括以任何用于存储信息(例如,计算机可读指示、数据结构、或程序模块103)的方法或技术来实现的易失性的和非易失性的、可移动的和不可移动的介质。系统存储器104、可移动存储设备109、和不可移动存储设备110都是计算机存储介质的示例(即,存储器存储)。计算机存储介质可以包括随机存取存储器(RAM)、只读存储器(ROM)、电可擦只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储、盒式磁带、磁带、磁盘存储器或其他磁存储设备、或者可用于存储信息并且可以由计算设备100访问的任何其他制品。根据一个方面,任何这样的计算机存储介质都可以是计算设备100的一部分。计算机存储介质不包括载波或其他经传播的数据信号。
根据一个方面,通信介质是由计算机可读指令、数据结构、程序模块103、或者经调制的数据信号(例如,载波或其他传输机制)中的其他数据实施的,并且包括任何信息传递介质。根据一个方面,术语“经调制的数据信号”描述了具有一个或多个特征集或者以将信息编码在信号中的方式改变的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线的、以及其他无线介质之类的无线介质。
在根据本发明的实施例中,计算设备100被配置为执行根据本发明的资源包下载方法200。计算设备100包括一个或多个处理器、以及存储有程序指令的一个或多个可读存储介质,当程序指令被配置为由一个或多个处理器执行时,使得计算设备执行本发明实施例中的资源包下载方法200。计算设备100通过执行本发明实施例中的资源包下载方法200,以实现及时更新应用的资源包。
根据本发明的一个实施例,计算设备100中驻留有资源包下载装置300,资源包下载装置300被配置为执行根据本发明的资源包下载方法200。其中,资源包下载装置300中包含用于执行本发明的资源包下载方法200的多条程序指令,这些程序指令可以指示处理器执行根据本发明的资源包下载方法200。
图2示出了根据本发明一个实施例的资源包下载方法200的流程示意图。资源包下载方法200被配置为在计算设备(例如前述计算设备100)中执行,具体可以在终端执行。
在一些实施例中,终端可以部署资源包下载装置300,以便通过资源包下载装置300来执行本发明的资源包下载方法200。
在一些实施例中,终端部署有应用的程序包,程序包内置有当前版本资源包。具体地,终端与服务端可以通过有线或无线的方式通信连接,服务端在对应用进行发版时可以将完整的资源包(当前版本资源包)内置在应用的程序包中,终端可以从服务端下载应用的程序包(内置有当前版本资源包)并进行安装,从而可以基于应用的程序包运行应用。
在下面的实施例中,仅以终端执行为例来对本发明的资源包下载方法200包含的各个步骤进行说明。
如图2所示,方法200始于步骤210。
首先,在步骤210中,终端请求从服务端下载资源核心文件。
具体地,在终端启动应用后,可以请求从服务端下载资源核心文件。也就是说,在终端启动应用后,可以触发执行本发明的资源包下载方法200。
需要说明的是,资源核心文件是一个类似资源目录的下载文件,可以基于资源核心文件来控制所需下载的资源包的版本、以及所需下载的一个或多个资源文件。
如果从服务端下载资源核心文件成功,可以继续执行步骤220。
在步骤220中,确定终端是否满足灰度发布条件。
这里,灰度发布条件可以理解为终端下载新版本资源包以使用新版本应用的条件。
需要说明的是,灰度发布在服务端实现,其流程如下:在灰度发布开始后,先启动一个新版本应用,但是并不直接将流量切过来,而是测试人员对新版本进行线上测试,启动新版本应用。如果测试没有问题,那么可以将少量的用户流量导入到新版本上,然后再对新版本做运行状态观察,收集各种运行时数据,如果此时对新旧版本做各种数据对比,即A/B测试。当确认新版本运行良好后,再逐步将更多的流量导入到新版本上,在此期间,还可以不断地调整新旧两个版本的运行的服务器副本数量,以使得新版本能够承受越来越大的流量压力。直到将100%的流量都切换到新版本上,最后关闭剩下的老版本服务,完成灰度发布。如果在灰度发布过程中发现了新版本有问题,就应该立即将流量切回老版本上,这样,就会将负面影响控制在最小范围内。
在一些实施例中,当终端从服务端下载资源核心文件成功后,响应于下载资源包核心文件成功,获取终端的设备信息。随后,可以根据终端的设备信息来确定终端是否满足灰度发布条件。
在一个实施例中,设备信息可以为设备唯一识别码,这样,可以根据终端的设备唯一识别码来确定终端是否满足灰度发布条件。例如,设备信息可以为UDID(Unique DeviceIdentifier)。具体地,可以根据设备唯一识别码(例如UDID)的最后一位来判断该终端是否满足灰度发布条件,以实现在进行灰度发布时对用户流量的筛选操作。
如果终端不满足灰度发布条件,则结束流程,不再执行后续步骤。
如果终端满足灰度发布条件,则继续执行步骤230。
在步骤230中,判断是否需要进行回滚操作。其中,如果确定不需要进行回滚操作,则执行步骤240。如果确定需要进行回滚操作,则执行步骤250。
这里,回滚操作,即回滚到先前版本资源包的操作。
例如,在一个实施例中,当服务端已发布的新版本资源包存在问题或者更新失败时,需要进行回滚操作,以便回滚到先前版本的资源包。
在一些实施例中,如果终端满足灰度发布条件,在执行步骤230之前,还可以判断是否强制加载原生代码,如果否,则可以执行步骤230。如果强制加载原生代码,则可以结束流程,不再执行后续步骤。
如果确定不需要进行回滚操作,则执行步骤240。
在步骤240中,可以根据资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名。
具体地,根据资源核心文件,可以确定和控制终端需要下载的具体版本(新版本)以及所需下载的一个或多个资源文件。进而,可以从服务端下载新版本资源包中的一个或多个资源文件。
在一些实施例中,在根据资源核心文件从服务端下载新版本资源包之前,还可以通过对比版本号来判断终端是否需要更新资源包。具体地,首先根据资源核心文件,确定需要下载的新版本资源包对应的新版本号。接着,通过对比终端的当前版本资源包对应的当前版本号与新版本号,来确定终端是否需要更新资源包。如果需要更新资源包,则根据资源核心文件从服务端下载新版本资源包。
如果确定需要进行回滚操作,则执行步骤250。
在步骤250中,从终端本地获取回滚的目标版本号,并根据获取到的目标版本号获取对应的目标版本资源包,以便回滚到所需的目标版本。
在一个具体实施例中,在步骤250中,首先可以确定终端本地是否具有回滚的目标版本号,如果终端本地具有目标版本号,则从终端本地获取回滚的目标版本号,并根据该目标版本号从终端获取对应的目标版本资源包。
另外,如果终端本地不具有回滚的目标版本号,可以执行步骤260。在步骤260中,可以根据预定版本号从服务端下载对应的预定版本资源包。
在一个实施例中,在根据预定版本号从服务端下载对应的预定版本资源包之前,还可以先判断是否根据预定版本号从服务端下载预定版本资源包,如果是,则根据预定版本号从服务端下载对应的预定版本资源包。如果否,可以获取终端本地的最新版本资源包,即,从终端本地已下载的所有版本的资源包中,获取最新版本的资源包。
另外,在一些实施例中,步骤240中在根据资源核心文件从服务端下载新版本资源包后,还可以判断下载新版本资源包是否成功。如果下载成功,则可以基于对应的新版本号对新版本资源包进行命名,并将新版本资源包保存在终端本地。如果下载失败,则还进一步判断是否强制更新资源包,如果确定强制更新,则再次从服务端下载新版本资源包,直至新版本资源包下载成功。
在一些实施例中,本发明中的资源包可以为.jsBundle包。
需要说明的是,在成功下载新版本资源包或者下载预定版本资源包后,可以将下载的资源包合并到应用的程序包内,以实现及时对终端应用的资源包进行更新。
还需要说明的是,由于终端部署的应用的程序包中内置有完整的当前版本资源包,这样,即便下载新版本资源包失败,终端仍可以基于内置有完整的当前版本资源包的程序包正常运行应用,不会影响用户使用。可见,根据本发明的资源包下载方法200,提高了对资源包下载和更新的可靠性。
图3示出了根据本发明的一个实施例的资源包下载装置300的示意图。在一些实施例中,资源包下载装置300可以驻留在终端(例如前述计算设备100)中。资源包下载装置300可以被配置为执行本发明的资源包下载方法200。
在一些实施例中,终端部署有应用的程序包,应用的程序包内置有当前版本资源包,且终端与服务端通信连接。
如图3所示,在本发明的实施例中,资源包下载装置300包括依次耦接的第一下载模块310、灰度判断模块320、回滚判断模块330、第二下载模块340以及获取模块350。
其中,第一下载模块310用于请求从服务端下载资源核心文件。
灰度判断模块320可以确定终端是否满足灰度发布条件。
如果满足灰度发布条件,通过回滚判断模块330判断是否需要进行回滚操作。
如果不需要进行回滚操作,可以通过第二下载模块340可以根据资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名。
如果需要进行回滚操作,可以通过获取模块350获取回滚的目标版本号,并根据目标版本号获取目标版本资源包。
应当指出,第一下载模块310、灰度判断模块320、回滚判断模块330、第二下载模块340以及获取模块350分别用于执行前述步骤210~250。这里,关于各模块的具体执行逻辑可参见前文方法200中对步骤210~250的描述,此处不再赘述。
根据本发明的资源包下载方法200,终端部署有应用的程序包,程序包内置有当前版本资源包,终端首先请求从服务端下载资源核心文件,随后确定终端是否满足灰度发布条件,如果满足灰度发布条件,再判断是否需要进行回滚操作。如果不需要进行回滚操作,则根据资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名。如果需要进行回滚操作,则获取回滚的目标版本号,并根据目标版本号获取目标版本资源包,以便回滚到所需的目标版本。这样,根据本发明的技术方案,资源包可独立下载和更新,无需内置在应用内随包发布,从而能实现随时下载和更新应用的资源包,提高了下载效率。并且,根据资源核心文件来确定和控制终端需要下载的资源包具体版本以及所需下载的一个或多个资源文件,提高了下载资源包的可控性。此外,由于终端部署的应用的程序包中内置有完整的当前版本资源包,这样,即便下载新版本资源包失败,终端仍可以基于内置有完整的当前版本资源包的程序包正常运行应用,不会影响用户使用,这样,提高了对资源包下载和更新的可靠性。可见,根据本发明的资源包下载方案,能实现高效、及时地下载和更新资源包,而且提高了下载资源包的可靠性和可控性。
进一步地,本发明在下载资源包的过程中,充分考虑了需要回滚、未找到回滚的目标版本号、下载失败等情况,提供了对应的容错机制,容错性更强,进一步提高了下载过程的可靠性。
此外,本发明的实施例还包括:A8、如A1-A7中任一项所述的方法,其中,还包括:判断下载新版本资源包是否成功;如果下载成功,则基于对应的新版本号对所述新版本资源包进行命名;如果下载失败,则判断是否强制更新资源包,如果确定强制更新,则再次从服务端下载新版本资源包。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,移动终端一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的资源包下载方法。
以示例而非限制的方式,可读介质包括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
Claims (10)
1.一种资源包下载方法,在终端执行,所述终端部署有应用的程序包,所述程序包内置有当前版本资源包,所述终端与服务端通信连接,所述方法包括:
请求从服务端下载资源核心文件;
确定终端是否满足灰度发布条件;
如果满足灰度发布条件,则判断是否需要进行回滚操作;
如果不需要进行回滚操作,则根据所述资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名;
如果需要进行回滚操作,则获取回滚的目标版本号,并根据所述目标版本号获取目标版本资源包。
2.如权利要求1所述的方法,其中,获取回滚的目标版本号,并根据所述目标版本号获取目标版本资源包,包括:
确定终端是否具有回滚的目标版本号;
如果具有目标版本号,则根据所述目标版本号从终端获取目标版本资源包。
3.如权利要求2所述的方法,其中,还包括:
如果终端不具有回滚的目标版本号,则根据预定版本号从服务端下载预定版本资源包。
4.如权利要求3所述的方法,其中,在根据预定版本号从服务端下载预定版本资源包之前,还包括:
判断是否根据预定版本号从服务端下载预定版本资源包,如果否,则获取终端本地的最新版本资源包。
5.如权利要求1-4中任一项所述的方法,其中,确定终端是否满足灰度发布条件,包括:
响应于下载资源包核心文件成功,获取终端的设备信息;
根据所述终端的设备信息,确定所述终端是否满足灰度发布条件。
6.如权利要求1-5中任一项所述的方法,其中,根据所述资源核心文件从服务端下载新版本资源包,包括:
根据所述资源核心文件,从服务端下载新版本资源包中的一个或多个资源文件。
7.如权利要求1-6中任一项所述的方法,其中,根据所述资源核心文件从服务端下载新版本资源包,包括:
根据所述资源核心文件,确定需要下载的新版本资源包对应的新版本号;
通过对比终端的当前版本资源包对应的当前版本号与所述新版本号,来确定终端是否需要更新资源包;
如果需要更新资源包,则根据所述资源核心文件从服务端下载新版本资源包。
8.一种资源包下载装置,驻留在终端,所述终端部署有应用的程序包,所述程序包内置有当前版本资源包,所述终端与服务端通信连接,所述装置包括:
第一下载模块,适于请求从服务端下载资源核心文件;
灰度判断模块,适于确定终端是否满足灰度发布条件;
回滚判断模块,适于在满足灰度发布条件,判断是否需要进行回滚操作;
第二下载模块,适于在不需要进行回滚操作时,根据所述资源核心文件从服务端下载新版本资源包,并基于对应的新版本号进行命名;
获取模块,适于在需要进行回滚操作时,获取回滚的目标版本号,并根据所述目标版本号获取目标版本资源包。
9.一种计算设备,包括:
至少一个处理器;以及
存储器,存储有程序指令,其中,所述程序指令被配置为适于由所述至少一个处理器执行,所述程序指令包括用于执行如权利要求1-7中任一项所述的方法的指令。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-7中任一项所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311810375.XA CN118138454A (zh) | 2023-12-26 | 2023-12-26 | 资源包下载方法、装置、计算设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311810375.XA CN118138454A (zh) | 2023-12-26 | 2023-12-26 | 资源包下载方法、装置、计算设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118138454A true CN118138454A (zh) | 2024-06-04 |
Family
ID=91228947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311810375.XA Pending CN118138454A (zh) | 2023-12-26 | 2023-12-26 | 资源包下载方法、装置、计算设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118138454A (zh) |
-
2023
- 2023-12-26 CN CN202311810375.XA patent/CN118138454A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110058873B (zh) | 应用页面更新方法、装置、设备和存储介质 | |
CN106201613B (zh) | 预热软件安装 | |
US10019256B2 (en) | Systems and methods for incremental software development | |
EP2641175B1 (en) | Networked recovery system | |
CN107391104B (zh) | 一种客户端与react native代码的更新依赖管理方法、装置及系统 | |
CN109857423B (zh) | 程序版本更新方法、装置、服务器及可读存储介质 | |
CN105335253A (zh) | 创建虚拟机系统盘快照的方法和装置 | |
CN115617489B (zh) | 操作系统迁移方法、迁移应用及迁移应用部署方法 | |
US20110265072A1 (en) | Dynamic Installation of Files for Running Programs | |
US8032618B2 (en) | Asynchronous update of virtualized applications | |
CN110597545A (zh) | 一种基于ota组件的热补丁智能升级方法及系统 | |
CN113110891A (zh) | 固态硬盘的固件加载方法、装置、计算机设备及存储介质 | |
CN110837383B (zh) | 应用免安装升级方法及装置 | |
CN114237754B (zh) | 一种数据加载方法、装置、电子设备以及存储介质 | |
CN111142922A (zh) | 应用程序更新方法、装置、终端及服务器 | |
US20210349855A1 (en) | Method of data structuring for difference between old and new data and device thereof | |
CN117008936A (zh) | 一种页面更新方法、装置、计算设备及存储介质 | |
CN118138454A (zh) | 资源包下载方法、装置、计算设备及存储介质 | |
CN116954674A (zh) | eMMC固件升级方法、固件升级设备和存储装置 | |
CN115617488A (zh) | 操作系统迁移方法、装置、计算设备及存储介质 | |
CN113791809B (zh) | 应用异常处理方法、装置以及计算机可读存储介质 | |
CN116069366A (zh) | 客户端应用程序更新方法及装置、存储介质及电子设备 | |
CN114816478A (zh) | 一种离线资源包差分方法、装置、设备及介质 | |
CN111475220B (zh) | 冷启动方法、装置、电子设备及计算机存储介质 | |
CN112882733A (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 |