CN116541045B - 一种应用资源更新方法、装置和系统 - Google Patents

一种应用资源更新方法、装置和系统 Download PDF

Info

Publication number
CN116541045B
CN116541045B CN202310806987.5A CN202310806987A CN116541045B CN 116541045 B CN116541045 B CN 116541045B CN 202310806987 A CN202310806987 A CN 202310806987A CN 116541045 B CN116541045 B CN 116541045B
Authority
CN
China
Prior art keywords
resource
application program
directory
package
application
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
CN202310806987.5A
Other languages
English (en)
Other versions
CN116541045A (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.)
Jingdong Technology Information Technology Co Ltd
Original Assignee
Jingdong Technology Information 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 Jingdong Technology Information Technology Co Ltd filed Critical Jingdong Technology Information Technology Co Ltd
Priority to CN202310806987.5A priority Critical patent/CN116541045B/zh
Publication of CN116541045A publication Critical patent/CN116541045A/zh
Application granted granted Critical
Publication of CN116541045B publication Critical patent/CN116541045B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明公开了一种应用资源更新方法、装置和系统,涉及应用开发技术领域。该方法实施方式可包括:响应于接收到代码资源发布请求,获取代码资源发布请求所针对的新开发代码资源,并生成包括新开发代码资源的资源包;调用安装有应用程序的运行系统,提供资源包给运行系统,使应用程序通过运行系统将资源包存储到对应于应用程序的私有目录;触发应用程序更新,控制应用程序装载私有目录下的资源包,以通过新开发代码资源更新应用程序。该实施方式能够有效地缩短应用程序装载新的代码资源的时间,以有效地提高应用开发效率。

Description

一种应用资源更新方法、装置和系统
技术领域
本发明涉及应用开发技术领域,尤其涉及一种应用资源更新方法、装置和系统。
背景技术
针对处于开发测试阶段或者已经上线的应用,均不可避免的需要持续为应用开发测试新的代码资源,以填补应用的漏洞或者完善应用的功能,提高用户体验。对于新的代码资源,代码开发人员一般先通过新的代码资源更新测试用应用(该测试用应用一般是专门提供给代码开发人员的应用),以通过测试用应用测试新开发的代码资源展示出的效果是否达到预期或者新开发的代码资源还存在的问题。
目前,通过新开发的代码资源更新测试用应用的方式主要是,重新将新开发的代码资源和已经存在的代码资源打包成一个新的应用包,然后通过新的应用包重新安装测试用应用。现有的这种为测试用应用装载新的代码资源的方式,需要消耗比较长的时间,影响应用的开发效率。
发明内容
有鉴于此,本发明实施例提供一种应用资源更新方法、装置和系统,能够有效地缩短应用程序装载新开发代码资源的时间,以有效地提高应用开发效率。
为实现上述目的,第一方面,本发明实施例提供了一种应用资源更新方法,包括:
响应于接收到代码资源发布请求,获取所述代码资源发布请求所针对的新开发代码资源,并生成包括所述新开发代码资源的资源包;
调用安装有应用程序的运行系统,提供所述资源包给所述运行系统,使所述应用程序通过所述运行系统将所述资源包存储到对应于所述应用程序的私有目录;
触发所述应用程序更新,控制所述应用程序装载所述私有目录下的所述资源包,以通过所述新开发代码资源更新所述应用程序。
可选地,所述生成包括所述新开发代码资源的资源包,包括:
将所述新开发代码资源转换为新的资源文件;
为所述新的资源文件构建资源压缩包,或者,为所述新的资源文件和已经存在动态资源文件构建资源压缩包。
可选地,所述提供所述资源包给所述运行系统,使所述应用程序通过所述运行系统将所述资源包存储到对应于所述应用程序的私有目录,包括:
控制所述运行系统创建临时中转目录,并将所述资源包存储到所述临时中转目录,使所述应用程序将所述临时中转目录中的所述资源包拷贝到对应于所述应用程序的私有目录;
在所述应用程序拷贝完成的情况下,控制所述运行系统删除所述临时中转目录。
可选地,所述控制所述运行系统创建临时中转目录,包括:
针对所述运行系统为安卓系统的情况,调用所述安卓系统的调试桥,以使所述调试桥构建临时中转目录。
可选地,所述将所述资源包存储到所述临时中转目录,包括:
针对所述运行系统为安卓系统的情况,接收所述安卓系统的调试桥通过adb命令广播的对应于所述临时中转目录的地址信息;
按照所述地址信息,存储所述资源包。
可选地,所述应用程序配置有广播接收组件;
在所述将所述资源包存储到所述临时中转目录之后,还包括:
控制所述运行系统广播所述临时中转目录;
在所述广播接收组件接收到广播的临时中转目录后,所述应用程序执行将所述临时中转目录中的所述资源包拷贝到对应于所述应用程序的私有目录。
可选地,应用资源更新方法,还包括:控制所述运行系统广播对应于所述资源包的资源更新信息;
通过所述广播接收组件接收广播的所述资源更新信息,实现触发所述应用程序更新;
所述控制所述应用程序装载所述私有目录下的所述资源包,包括:
控制所述应用程序装载所述私有目录下的所述资源包中对应于所述资源更新信息的资源文件中的代码资源。
可选地,所述应用程序加载有动态化引擎;
所述控制所述应用程序装载所述私有目录下的所述资源包,包括:
通过所述动态化引擎装载所述私有目录下的所述资源包包括的资源文件。
第二方面,本发明实施例提供一种应用资源更新装置,包括:生成模块、传输控制模块以及更新调控模块,其中,
所述生成模块,用于响应于接收到代码资源发布请求,获取所述代码资源发布请求所针对的新开发代码资源,并生成包括所述新开发代码资源的资源包;
所述传输控制模块,用于调用安装有应用程序的运行系统,提供所述资源包给所述运行系统,使所述应用程序通过所述运行系统将所述资源包存储到对应于所述应用程序的私有目录;
所述更新调控模块,用于触发所述应用程序更新,控制所述应用程序装载所述私有目录下的所述资源包,以通过所述新开发代码资源更新所述应用程序。
第三方面,本发明实施例提供一种应用资源更新系统,包括:应用程序、安装所述应用程序的运行系统以及上述第二方面实施例提供的应用资源更新装置,其中,
所述运行系统,用于将所述应用资源更新装置提供的资源包提供给所述应用程序。
上述发明中的一个实施例具有如下优点或有益效果:通过获取代码资源发布请求所针对的新开发代码资源,并生成包括新开发代码资源的资源包,然后调用安装有应用程序的运行系统,提供资源包给所述运行系统,使应用程序通过运行系统将资源包存储到对应于应用程序的私有目录,即通过安装有应用程序的运行系统为应用程序提供资源包,应用程序将资源包存储到对应于应用程序的私有目录,实现为应用程序提供资源包的同时,保证私有目录只有似有目录能够访问,从而保证应用程序的安全性。后续通过控制应用程序装载私有目录下的资源包,以通过新开发代码资源更新应用程序,使新开发代码资源的更新无需人工参与,能够自动化实现将新开发代码资源更新到应用程序。而且应用程序是通过装载私有目录下的资源包实现更新,则可以控制资源包包含的代码资源比如资源包仅包含新开发代码资源或者动态代码资源,那么,在更新过程中可以仅更新应用程序的新开发代码资源或者动态代码资源,通过自动化更新和控制资源包包括的代码资源,能够有效地缩短应用程序装载新开发代码资源的时间,以有效地提高应用开发效率。
上述的非惯用的可选方式所具有的进一步效果将在下文中结合具体实施方式加以说明。
附图说明
附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
图1是本发明实施例可以应用于其中的示例性系统架构图;
图2是根据本发明实施例的一种协同文档处理方法的主要流程的示意图;
图3是根据本发明实施例的应用程序更新代码资源的主要流程示意图;
图4是根据本发明另一个实施例的应用资源更新方法的主要流程示意图;
图5是根据本发明实施例的应用资源更新方法的主要流程框架示意图;
图6是根据本发明实施例的应用资源更新装置的主要模块的示意图;
图7是根据本发明实施例的应用资源更新系统的主要设备的示意图;
图8是适于用来实现本发明实施例的终端设备的计算机系统的结构示意图。
具体实施方式
以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
图1示出了可以应用本发明实施例的应用资源更新方法或应用资源更新装置的示例性系统架构100。
如图1所示,系统架构100可以包括开发用终端设备101、102,网络103、测试服务器104、测试用终端设备105、106。网络103用以在开发用终端设备101、102和测试服务器104之间、开发用终端设备101、102和测试用终端设备105、106之间、测试服务器104和测试用终端设备105、106之间提供通信链路的介质。网络1003可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
测试服务器104可以设置有一个或者多个虚拟机,每一个虚拟机搭载有应用程序所需的运行系统比如安卓系统、ios系统、windows系统支持H5的其他运行系统等。
用户可以使用开发用终端设备101、102开发应用比如终端客户端APP、网页应用等,该开发用终端设备101、102可以为用户新开发的代码资源生成资源包。开发用终端设备101、102通过网络103与测试服务器104交互,以使开发用终端设备101、102将资源包传输给测试服务器104中的虚拟机,使虚拟机所安装的应用程序通过该资源包更新,虚拟机可将更新后的效果通过测试用终端设备105、106展示。开发用终端设备101、102还可通过网络103与测试用终端设备105、106交互,以使开发用终端设备101、102将资源包传输给测试用终端设备105、106,使测试用终端设备105、106所安装的应用程序通过该资源包更新。开发用终端设备101、102上可以安装有各种应用,例如代码开发工具、浏览器、邮箱客户端、社交平台软件等(仅为示例)。
开发用终端设备101、102和测试用终端设备105、106可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于台式机、智能手机、平板电脑等等。
需要说明的是,本发明实施例所提供的应用资源更新方法一般由开发用终端设备101、102、测试服务器104和测试用终端设备105、106交互完成,相应地,应用资源更新装置的各个模块可分设在开发用终端设备101、102、测试服务器104和测试用终端设备105、106中。
应该理解,图1中的开发用终端设备、网络、测试服务器和测试用终端设备的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络、测试服务器和测试用终端设备。
图2是根据本发明实施例的一种应用资源更新方法的主要流程示意图。如图2所示,该应用资源更新方法可包括如下步骤:
步骤S201:响应于接收到代码资源发布请求,获取代码资源发布请求所针对的新开发代码资源,并生成包括新开发代码资源的资源包;
其中,新开发代码资源一般是,为了改善使用中的应用或者开发中的应用比如客户端app、页面应用的功能或者使用效果,而为应用新增或者修改的代码。该新开发代码资源一般是针对除基础代码之外的可以动态调整的代码。
步骤S202:调用安装有应用程序的运行系统,提供资源包给运行系统,使应用程序通过运行系统将资源包存储到对应于应用程序的私有目录;
其中,运行系统可以为安卓、ios、windows等常规的应用于服务器或者终端设备的运行系统。
其中,应用程序可以是任意实现线上功能的应用程序,一个优选地实施例中,应用程序为测试用应用,该测试用应用是专门针对开发人员开放的、用于测试开出发的代码的效果的应用。
其中,应用程序的私有目录一般是在运行系统中仅对应用程序开放的文件存储目录,通过该私有目录可以保证应用程序的安全性。
步骤S203:触发应用程序更新,控制应用程序装载私有目录下的资源包,以通过新开发代码资源更新应用程序。
在图2所示的实施例中,通过获取代码资源发布请求所针对的新开发代码资源,并生成包括新开发代码资源的资源包,然后调用安装有应用程序的运行系统,提供资源包给所述运行系统,使应用程序通过运行系统将资源包存储到对应于应用程序的私有目录,即通过安装有应用程序的运行系统为应用程序提供资源包,应用程序将资源包存储到对应于应用程序的私有目录,实现为应用程序提供资源包的同时,保证私有目录只有似有目录能够访问,从而保证应用程序的安全性。后续通过控制应用程序装载私有目录下的资源包,以通过新开发代码资源更新应用程序,使新开发代码资源的更新无需人工参与,能够自动化实现将新开发代码资源更新到应用程序。而且应用程序是通过装载私有目录下的资源包实现更新,则可以控制资源包包含的代码资源比如资源包仅包含新开发代码资源或者动态代码资源,那么,在更新过程中可以仅更新应用程序的新开发代码资源或者动态代码资源,通过自动化更新和控制资源包包括的代码资源,能够有效地缩短应用程序装载新开发代码资源的时间,以有效地提高应用开发效率。
其中,上述步骤S201中生成包括新开发代码资源的资源包的实现方式可以有两种。
生成包括新开发代码资源的资源包的第一种实现方式是将新开发代码资源转换为新的资源文件;为新的资源文件构建资源压缩包。该第一种实现方式只对新开发代码资源进行打包,在后续中可以对压缩包中的所有资源进行更新即可,即在压缩包构建阶段即实现了指定后续需要更新的资源,方便后续更新操作。
生成包括新开发代码资源的资源包的第二种实现方式是将新开发代码资源转换为新的资源文件;为新的资源文件和已经存在动态资源文件构建资源压缩包。即该第二种实现方式是将新的资源文件和已经存在动态资源文件均放置在资源包,以在后续更新过程中可以根据需求,对已经存在的动态资源比如与新开发代码资源存在逻辑关系的动态资源也同步更新,保证应用程序能够更真实展示新开发代码资源的效果。
值得说明的是,上述将新开发代码资源转换为新的资源文件主要是将代码转换为.js文件。
针对上述生成包括新开发代码资源的资源包的两种实现方式,开发人员可以根据开发或者资源更新需求选择上述两种实现方式中的一种,使资源更新具有灵活可配置性。
在本发明实施例中,上述步骤S202的具体实施方式可包括:控制运行系统创建临时中转目录,并将资源包存储到临时中转目录,使应用程序将临时中转目录中的资源包拷贝到对应于应用程序的私有目录;在应用程序拷贝完成的情况下,控制运行系统删除临时中转目录。通过创建临时中转目录可以避免外部与应用程序直接通信,进一步保证应用程序的安全性。另外,在应用程序拷贝完成后,控制运行系统删除临时中转目录可以避免后续更新过程使用同一临时中转目录,以避免已经更新过的代码资源对后续更新的干扰和影响,已有效地提高更新的准确性。
进一步地,上述控制运行系统创建临时中转目录的具体实施方式可包括:针对运行系统为安卓系统的情况,调用安卓系统的调试桥,以使调试桥构建临时中转目录。该调试桥是安卓系统本身所具有的一种功能,通过调试桥构建临时中转目录,可以在不对运行系统进行侵入性修改,即可实现控制运行系统构建临时中转目录,方便更换应用程序所使用的终端设备。
另外,上述将资源包存储到临时中转目录的具体实施方式可包括:针对运行系统为安卓系统的情况,接收安卓系统的调试桥通过adb命令广播的对应于临时中转目录的地址信息;按照地址信息,存储资源包。即安卓系统通过广播的方式通知中转目录,以方便存储资源包。
进一步地,上述应用程序配置有广播接收组件;相应地,在将资源包存储到临时中转目录之后还可进一步包括:控制运行系统广播临时中转目录;在广播接收组件接收到广播的临时中转目录后,应用程序执行将临时中转目录中的资源包拷贝到对应于应用程序的私有目录。该控制运行系统广播临时中转目录也可以是由调试桥通过adb命令广播实现,即调试桥通过adb命令的一次广播可以同步通知开发端和应用程序,后续应用程序可以在一段时间内持续进行从临时中转目录中获取资源包的操作,直至获取到资源包为止。
在本发明实施例中,如图3所示,上述应用资源更新方法还可进一步包括如下步骤:
步骤S301:控制运行系统广播对应于资源包的资源更新信息;
该资源更新信息可以为用户预先定义的后续需要更新的资源(可以为新开发代码资源的部分或者全部,也可以为新开发代码资源和已经更新过的动态资源等)所对应的文件名、涉及需要更新的资源所对应的数据等。
比如,新开发代码资源分属于资源包中的两个文件分别为文件1和文件2,其中,文件1中包括页面的两种排版参数分别为A和B,文件2涉及页面功能的更新,如果开发人员想要分别查看不同排版的效果以及页面功能不同的效果,则开发人员可以定义资源更新信息仅包括文件1中的A,则在后续应用程序更新过程中,则仅针对文件1中的A进行更新。
步骤S302:通过广播接收组件接收广播的资源更新信息,实现触发应用程序更新;
步骤S303:控制应用程序装载私有目录下的资源包中对应于资源更新信息的资源文件中的代码资源。
通过该过程可以指定资源包中需要应用程序更新的资源,以进一步提高应用程序更新的可控性,实现应用程序的动态热更新。
进一步地,上述应用程序加载有动态化引擎;相应地,上述控制应用程序装载私有目录下的资源包的具体实施方式可包括:通过动态化引擎装载私有目录下的资源包包括的资源文件。实现应用程序根据指定进行更新,而无需全局更新,实现应用程序的动态热更新,以进一步提高资源更新效率,有助于提高开发效率,缩短开发周期。
下面以应用程序安装于安卓运行系统为例,详细说明该安装于安卓运行系统上的应用程序的应用资源更新过程。如图4所示,该应用资源更新过程可包括如下步骤:
步骤S401:响应于接收到代码资源发布请求,获取代码资源发布请求所针对的新开发代码资源;
步骤S402:将新开发代码资源转换为新的资源文件;
比如通过脚手架将代码转换为.js文件。
步骤S403:为新的资源文件构建资源压缩包;
该步骤S403还可替换为:为新的资源文件和已经存在动态资源文件构建资源压缩包。
步骤S404:调用安装有应用程序的运行系统以及安卓系统的调试桥,通过调试桥构建临时中转目录;
该步骤调用运行系统以及安卓系统的调试桥可以通过向安卓系统发送特定的指令实现。
步骤S405:接收安卓系统的调试桥通过adb命令广播的对应于临时中转目录的地址信息;
步骤S406:按照地址信息,存储资源包;
步骤S407:安卓系统的调试桥通过adb命令广播的对应于资源包的资源更新信息;
步骤S408:在应用程序配置的广播接收组件接收到广播的临时中转目录后,应用程序将临时中转目录中的资源包拷贝到对应于应用程序的私有目录;
步骤S409:应用程序通过广播接收组件接收广播的资源更新信息,实现触发应用程序更新,控制应用程序装载私有目录下的资源包中对应于资源更新信息的资源文件中的代码资源。
综上可知,如图5所示,本发明实施例提供的应用资源更新的主要流程框架可包括:为新开发代码资源构建资源包;在虚拟机或者终端设备上创建中转目录;将资源包拷贝到中转目录;虚拟机或者终端设备广播该中转目录;虚拟机或者终端设备安装的应用客户端app通过设置的广播接收组件接收到广播后,应用客户端app将中转目录中的资源包拷贝到应用客户端app的私有目录;应用客户端app通过私有目录下的资源包装载新开发代码资源。
通过上述过程实现对应用程序按需更新,而无需全局重新加载代码,实现应用程序的动态热更新,以有效地提高应用程序的更新效率。另外,通过中转目录的构建避免除应用程序之外的其他应用或者系统访问私有目录,保证应用程序的安全性。
图6是本发明实施例提供的一种应用资源更新装置的结构示意图。如图6所示,该应用资源更新装置600可包括:生成模块601、传输控制模块602以及更新调控模块603,其中,
生成模块601,用于响应于接收到代码资源发布请求,获取代码资源发布请求所针对的新开发代码资源,并生成包括新开发代码资源的资源包;
传输控制模块602,用于调用安装有应用程序的运行系统,提供资源包给运行系统,使应用程序通过运行系统将资源包存储到对应于应用程序的私有目录;
更新调控模块603,用于触发应用程序更新,控制应用程序装载私有目录下的资源包,以通过新开发代码资源更新应用程序。
在本发明实施例中,生成模块601,进一步用于将新开发代码资源转换为新的资源文件;为新的资源文件构建资源压缩包,或者,为新的资源文件和已经存在动态资源文件构建资源压缩包。
在本发明实施例中,传输控制模块602,进一步用于控制运行系统创建临时中转目录,并将资源包存储到临时中转目录,使应用程序将临时中转目录中的资源包拷贝到对应于应用程序的私有目录;在应用程序拷贝完成的情况下,控制运行系统删除临时中转目录。
在本发明实施例中,传输控制模块602,进一步用于针对运行系统为安卓系统的情况,调用安卓系统的调试桥,以使调试桥构建临时中转目录。
在本发明实施例中,传输控制模块602,进一步用于针对运行系统为安卓系统的情况,接收安卓系统的调试桥通过adb命令广播的对应于临时中转目录的地址信息;按照地址信息,存储资源包。
在本发明实施例中,如图6所示,上述应用资源更新装置可还包括:配置于应用程序中的广播接收组件604,其中,
广播接收组件604,用于接收运行系统广播的临时中转目录,以使应用程序执行将临时中转目录中的资源包拷贝到对应于应用程序的私有目录。
在本发明实施例中,如图6所示,上述应用资源更新装置可还包括:配置于应用程序中的资源更新模块605,其中,
广播接收组件604,进一步用于接收运行系统广播的对应于资源包的资源更新信息,实现触发应用程序更新;
资源更新模块605,用于控制应用程序装载私有目录下的资源包中对应于资源更新信息的资源文件中的代码资源。
图7是本发明实施例提供的一种应用资源更新系统的结构示意图。如图7所示,该应用资源更新系统700可包括:应用程序701、安装应用程序701的运行系统702以及上述实施例提供的应用资源更新装置600,其中,
运行系统702,用于将应用资源更新装置600提供的资源包提供给应用程序701。
下面参考图8,其示出了适于用来实现本发明实施例的终端设备的计算机系统800的结构示意图。图8示出的终端设备仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图8所示,计算机系统800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的程序或者从存储部分808加载到随机访问存储器(RAM)803中的程序而执行各种适当的动作和处理。在RAM 803中,还存储有系统800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
以下部件连接至I/O接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至I/O接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。
特别地,根据本发明公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(CPU)801执行时,执行本发明的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中,例如,可以描述为:一种处理器包括生成模块、传输控制模块以及更新调控模块。其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,生成模块模块还可以被描述为“生成包括所述新开发代码资源的资源包的模块”。
作为另一方面,本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备包括:响应于接收到代码资源发布请求,获取代码资源发布请求所针对的新开发代码资源,并生成包括新开发代码资源的资源包;调用安装有应用程序的运行系统,提供资源包给运行系统,使应用程序通过运行系统将资源包存储到对应于应用程序的私有目录;触发应用程序更新,控制应用程序装载私有目录下的资源包,以通过新开发代码资源更新应用程序。
根据本发明实施例的技术方案,通过获取代码资源发布请求所针对的新开发代码资源,并生成包括新开发代码资源的资源包,然后调用安装有应用程序的运行系统,提供资源包给所述运行系统,使应用程序通过运行系统将资源包存储到对应于应用程序的私有目录,即通过安装有应用程序的运行系统为应用程序提供资源包,应用程序将资源包存储到对应于应用程序的私有目录,实现为应用程序提供资源包的同时,保证私有目录只有似有目录能够访问,从而保证应用程序的安全性。后续通过控制应用程序装载私有目录下的资源包,以通过新开发代码资源更新应用程序,使新开发代码资源的更新无需人工参与,能够自动化实现将新开发代码资源更新到应用程序。而且应用程序是通过装载私有目录下的资源包实现更新,则可以控制资源包包含的代码资源比如资源包仅包含新开发代码资源或者动态代码资源,那么,在更新过程中可以仅更新应用程序的新开发代码资源或者动态代码资源,通过自动化更新和控制资源包包括的代码资源,能够有效地缩短应用程序装载新开发代码资源的时间,以有效地提高应用开发效率。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,取决于设计要求和其他因素,可以发生各种各样的修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。

Claims (9)

1.一种应用资源更新方法,其特征在于,包括:
响应于接收到代码资源发布请求,获取所述代码资源发布请求所针对的新开发代码资源,并生成包括所述新开发代码资源的资源包;
调用安装有应用程序的运行系统,提供所述资源包给所述运行系统,使所述应用程序通过所述运行系统将所述资源包存储到对应于所述应用程序的私有目录;
触发所述应用程序更新,控制所述应用程序装载所述私有目录下的所述资源包,以通过所述新开发代码资源更新所述应用程序;
所述提供所述资源包给所述运行系统,使所述应用程序通过所述运行系统将所述资源包存储到对应于所述应用程序的私有目录,包括:
控制所述运行系统创建临时中转目录,并将所述资源包存储到所述临时中转目录,使所述应用程序将所述临时中转目录中的所述资源包拷贝到对应于所述应用程序的私有目录;
在所述应用程序拷贝完成的情况下,控制所述运行系统删除所述临时中转目录;
所述应用程序配置有广播接收组件;
在所述将所述资源包存储到所述临时中转目录之后,还包括:
控制所述运行系统广播所述临时中转目录;
在所述广播接收组件接收到广播的临时中转目录后,所述应用程序执行将所述临时中转目录中的所述资源包拷贝到对应于所述应用程序的私有目录。
2.根据权利要求1所述的应用资源更新方法,其特征在于,所述生成包括所述新开发代码资源的资源包,包括:
将所述新开发代码资源转换为新的资源文件;
为所述新的资源文件构建资源压缩包,或者,为所述新的资源文件和已经存在动态资源文件构建资源压缩包。
3.根据权利要求1所述的应用资源更新方法,其特征在于,
所述控制所述运行系统创建临时中转目录,包括:
针对所述运行系统为安卓系统的情况,调用所述安卓系统的调试桥,以使所述调试桥构建临时中转目录;
和/或,
所述将所述资源包存储到所述临时中转目录,包括:
针对所述运行系统为安卓系统的情况,接收所述安卓系统的调试桥通过adb命令广播的对应于所述临时中转目录的地址信息;
按照所述地址信息,存储所述资源包。
4.根据权利要求1所述的应用资源更新方法,其特征在于,
还包括:控制所述运行系统广播对应于所述资源包的资源更新信息;
通过所述广播接收组件接收广播的所述资源更新信息,实现触发所述应用程序更新;
所述控制所述应用程序装载所述私有目录下的所述资源包,包括:
控制所述应用程序装载所述私有目录下的所述资源包中对应于所述资源更新信息的资源文件中的代码资源。
5.根据权利要求1或4所述的应用资源更新方法,其特征在于,
所述应用程序加载有动态化引擎;
所述控制所述应用程序装载所述私有目录下的所述资源包,包括:
通过所述动态化引擎装载所述私有目录下的所述资源包包括的资源文件。
6.一种应用资源更新装置,其特征在于,包括:生成模块、传输控制模块以及更新调控模块,其中,
所述生成模块,用于响应于接收到代码资源发布请求,获取所述代码资源发布请求所针对的新开发代码资源,并生成包括所述新开发代码资源的资源包;
所述传输控制模块,用于调用安装有应用程序的运行系统,提供所述资源包给所述运行系统,使所述应用程序通过所述运行系统将所述资源包存储到对应于所述应用程序的私有目录;
所述更新调控模块,用于触发所述应用程序更新,控制所述应用程序装载所述私有目录下的所述资源包,以通过所述新开发代码资源更新所述应用程序;
所述传输控制模块,进一步用于控制运行系统创建临时中转目录,并将资源包存储到临时中转目录,使应用程序将临时中转目录中的资源包拷贝到对应于应用程序的私有目录;在应用程序拷贝完成的情况下,控制运行系统删除临时中转目录;
所述应用资源更新装置可还包括:配置于应用程序中的广播接收组件,其中,
所述广播接收组件,用于接收所述运行系统广播的临时中转目录,以使所述应用程序执行将临时中转目录中的资源包拷贝到对应于应用程序的私有目录。
7.一种应用资源更新系统,其特征在于,包括:应用程序、安装所述应用程序的运行系统以及权利要求6所述的应用资源更新装置,其中,
所述运行系统,用于将所述应用资源更新装置提供的资源包提供给所述应用程序。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-5中任一所述的方法。
9.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1-5中任一所述的方法。
CN202310806987.5A 2023-07-03 2023-07-03 一种应用资源更新方法、装置和系统 Active CN116541045B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310806987.5A CN116541045B (zh) 2023-07-03 2023-07-03 一种应用资源更新方法、装置和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310806987.5A CN116541045B (zh) 2023-07-03 2023-07-03 一种应用资源更新方法、装置和系统

Publications (2)

Publication Number Publication Date
CN116541045A CN116541045A (zh) 2023-08-04
CN116541045B true CN116541045B (zh) 2023-11-03

Family

ID=87458123

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310806987.5A Active CN116541045B (zh) 2023-07-03 2023-07-03 一种应用资源更新方法、装置和系统

Country Status (1)

Country Link
CN (1) CN116541045B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958785A (zh) * 2017-05-23 2018-12-07 腾讯科技(深圳)有限公司 一种应用程序升级方法及装置
CN110362338A (zh) * 2019-07-14 2019-10-22 广州泳泳信息科技有限公司 一种在移动平台下的游戏资源打包和资源快速访问方法
CN114341800A (zh) * 2019-09-06 2022-04-12 三星电子株式会社 用于在电子设备中的应用更新之后提高运行时性能的方法和装置
WO2022255652A1 (ko) * 2021-06-01 2022-12-08 삼성전자 주식회사 어플리케이션 업데이트 방법 및 그 전자 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108958785A (zh) * 2017-05-23 2018-12-07 腾讯科技(深圳)有限公司 一种应用程序升级方法及装置
CN110362338A (zh) * 2019-07-14 2019-10-22 广州泳泳信息科技有限公司 一种在移动平台下的游戏资源打包和资源快速访问方法
CN114341800A (zh) * 2019-09-06 2022-04-12 三星电子株式会社 用于在电子设备中的应用更新之后提高运行时性能的方法和装置
WO2022255652A1 (ko) * 2021-06-01 2022-12-08 삼성전자 주식회사 어플리케이션 업데이트 방법 및 그 전자 장치

Also Published As

Publication number Publication date
CN116541045A (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
CN111338623B (zh) 一种开发用户界面的方法、装置、介质和电子设备
CN111309304B (zh) 一种生成idl文件的方法、装置、介质和电子设备
WO2019029451A1 (zh) 发布移动应用的方法和电子设备
CN113010405B (zh) 一种应用程序的测试方法和装置
CN110888639A (zh) 一种业务代码编译打包方法和装置
CN110825425B (zh) 配置数据管理方法及装置、电子设备、存储介质
CN112199567A (zh) 一种分布式数据采集方法、系统、服务器和存储介质
CN110928571A (zh) 业务程序开发方法和装置
CN117112122A (zh) 一种集群部署方法和装置
CN112214250B (zh) 一种应用程序组件的加载方法和装置
CN110489162B (zh) 安装包so文件精简方法、装置、介质和设备
CN113468067B (zh) 应用程序的调试方法、装置、电子设备和计算机可读介质
CN110119279B (zh) 一种应用及其升级的方法和装置
CN112084254A (zh) 一种数据同步方法和系统
WO2023083071A1 (zh) 视图交互方法、装置、电子设备及计算机可读介质
CN116541045B (zh) 一种应用资源更新方法、装置和系统
CN112131095B (zh) 压力测试方法和装置
CN110851194B (zh) 一种用于获取实现新接口的代码的方法和装置
CN111382953A (zh) 一种动态流程生成方法和装置
CN113779122B (zh) 导出数据的方法和装置
CN109669720A (zh) 基于Promise的链式异步请求处理方法、装置及电子设备
CN111796878B (zh) 一种应用于单页应用的资源拆分、加载方法和装置
CN112860447B (zh) 一种不同应用间的交互方法和系统
CN111163156A (zh) 基于区块链的数据处理方法、设备及存储介质
CN117112074B (zh) 将http应用自动转换成无服务器函数的方法、系统和介质

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
GR01 Patent grant
GR01 Patent grant