CN116069365A - 一种设备应用更新方法、系统、装置、设备及存储介质 - Google Patents
一种设备应用更新方法、系统、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116069365A CN116069365A CN202310106158.6A CN202310106158A CN116069365A CN 116069365 A CN116069365 A CN 116069365A CN 202310106158 A CN202310106158 A CN 202310106158A CN 116069365 A CN116069365 A CN 116069365A
- Authority
- CN
- China
- Prior art keywords
- package
- plug
- local
- version
- service
- 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
Images
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
-
- 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
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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)
- Stored Programmes (AREA)
Abstract
本发明提供一种设备应用更新方法、系统、装置、设备及存储介质,该方法包括获取接入本地的待更新设备的更新设备标识,若存在本地插件包存在,检测本地插件包版本,将本地插件包版本与云端插件包版本进行比对,若本地插件包版本低于云端插件包版本,则基于更新设备标识从云端下载增量更新包,通过增量更新包对本地插件包进行更新,得到最新插件包,若最新插件包与本地原生工具包版本匹配,则将最新插件包拆分,得到基础包和业务包,预加载基础包,基于业务触发指令加载业务包以对本地的设备应用进行更新,通过下载增量更新包解决了接入新设备时需要更新整个应用的技术问题,提供了高效节流的设备应用的更新方式。
Description
技术领域
本发明涉及计算机技术领域,具体涉及一种设备应用更新方法、系统、装置、设备及存储介质。
背景技术
目前大多数的移动应用程序中往往会存在相似的组件视图以及相同的功能,为了便于开发和维护,开发者常常将这部分内容抽象成通用的组件和接口,提供给不同的页面复用。ReactNative是一种开源的跨平台移动应用开发框架,该框架支持热更新,更新时不需要安装新版本应用,只需要下载新版本的ReactNative包便可实现更新,基于以上优点ReactNative在开发中得到广泛运用。
在相关技术中的应用更新方法,包括服务端更新步骤、客户端加载更新包的步骤,但设备应用常常需要接入多种不同的设备,对应用的更新方法要求也更高,因此存在接入新设备时需要更新整个应用以及原有的热更新方式形式单一的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种设备应用更新方法、系统、装置、设备及存储介质,以解决上述接入新设备时需要更新整个应用以及原有的热更新方式形式单一的技术问题。
本发明提供的一种设备应用更新方法,所述设备应用更新方法包括,获取接入本地的待更新设备的更新设备标识;检测本地插件包的存在状态,若所述存在状态为存在,检测本地插件包版本;将所述本地插件包版本与云端插件包版本进行比对,若所述本地插件包版本低于所述云端插件包版本,则基于所述更新设备标识从云端下载增量更新包;通过所述增量更新包对所述本地插件包进行更新,得到最新插件包;若最新插件包版本与本地原生工具包版本匹配,则将所述最新插件包拆分,得到基础包和业务包;预加载所述基础包,基于业务触发指令加载所述业务包,以对所述本地的设备应用进行更新。
于本发明的一实施例中,获取接入本地的待更新设备的更新设备标识之后,还包括,若所述存在状态为不存在,则基于所述更新设备标识从云端下载云端插件包至本地,将所述云端插件包作为所述最新插件包。
于本发明的一实施例中,对所述本地的设备应用进行更新之后,还包括,若接收到设备移除指令,所述设备移除指令包括待移除设备的移除设备标识,基于所述移除设备标识将所述本地的与所述移除设备标识对应的最新插件包进行清除。
于本发明的一实施例中,将所述最新插件包拆分,得到基础包和业务包包括,对所述插件包中的公共功能模块设置识别标识,所述插件包还包括功能接口、界面组件和业务模块,所述功能接口用于调用本地原生工具包;基于所述识别标识将所述公共功能模块、所述功能接口和所述界面组件作为所述基础包,将所述业务模块作为所述业务包。
于本发明的一实施例中,预加载所述基础包,基于业务触发指令加载所述业务包包括,创建页面视图,所述页面视图包括基础视图和业务视图;在所述基础视图中预加载所述基础包;若接收到所述业务触发指令,则在所述业务视图中加载所述业务包。
于本发明的一实施例中,在所述基础视图中预加载所述基础包包括,预加载所述基础包中的界面组件,所述界面组件包括按钮、输入框、开关、通用弹窗容器、卡片容器、列表、通用设置卡片、轮播组件中至少之一;预加载所述基础包中的公共功能模块。
本发明还提供一种设备应用更新系统,所述设备应用更新系统包括,原生单元,所述原生单元包括设备管理模块、设备控制模块、设备升级模块、设备订阅模块和插件管理模块,所述设备管理模块用于管理设备列表,所述设备控制模块用于控制设备的交互,所述设备升级模块用于管理设备升级,所述设备订阅模块用于管理设备的更新和移除,所述插件管理模块用于下载和管理如上述各实施例中任一所述的最新插件包;前端能力单元,所述前端能力单元用于调用所述最新插件包和所述原生单元,将所述最新插件包拆分为基础包和业务包并加载,所述基础包包括功能接口,所述功能接口用于连接所述原生单元和所述前端能力单元,以使所述前端能力单元调用所述原生单元;连接控制单元,用于与设备和云端进行连接,连接方式包括,配网、蓝牙连接、网络连接、有线连接中至少之一。
本发明还提供一种设备应用更新装置,所述设备应用更新装置包括,获取模块,用于获取接入本地的待更新设备的更新设备标识;检测模块,用于检测本地插件包的存在状态,若所述存在状态为存在,检测本地插件包版本;下载模块,用于将所述本地插件包版本与云端插件包版本进行比对,若所述本地插件包版本低于所述云端插件包版本,则基于所述更新设备标识从云端下载增量更新包;更新模块,用于通过所述增量更新包对所述本地插件包进行更新,得到最新插件包;加载模块,用于若最新插件包版本与本地原生工具包版本匹配,则将所述最新插件包拆分,得到基础包和业务包,预加载所述基础包,基于业务触发指令加载所述业务包,以对所述本地的设备应用进行更新。
本发明还提供一种电子设备,所述电子设备包括,一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上述各实施例中任一所述的设备应用更新方法。
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行如上述各实施例中任一所述的设备应用更新方法。
本发明的有益效果:本发明中的一种设备应用更新方法通过检测本地插件包版本与云端插件包版本进行比对,若本地插件包版本低于云端插件包版本,则通过从云端下载的增量更新包对本地插件包进行更新,得到最新插件包,从而在接入新设备时不需要更新整个应用,支持动态下载增量更新包,实现了高效节流的设备应用的更新。该方法通过将最新插件包拆分,得到基础包和业务包,加载基础包和业务包对设备进行更新,通过拆包减少了每个业务包的大小,并且可以预先加载基础包,加快渲染速度,提高用户的体验。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本发明的一示例性实施例示出的设备应用更新系统示意图;
图2是本发明的一示例性实施例示出的设备应用更新方法流程示意图;
图3是本发明的一示例性实施例示出的设备应用插件包加载流程示意图;
图4是本发明的一示例性实施例示出的设备应用更新装置的框图;
图5是本发明的一示例性实施例示出的设备应用架构图;
图6示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
首先需要说明的是,本发明实施例中设备应用使用了ReactNative框架,利用ReactNative增量更新将插件包拆分成基础包和不同的业务包,减少了每个业务包的大小且可通过预先加载基础包的方式加快加载渲染速度。
请参见图1,图1是本发明的一示例性实施例示出的设备应用更新系统示意图,该设备应用更新包括原生单元101、前端能力单元102、连接控制单元103、云端104、设备105。原生单元101包括设备管理模块、设备控制模块、设备升级模块、设备订阅模块、插件管理模块。原生单元101还包括UI组件,用于完成首页的设备列表、设置页、设备添加、设备分享等功能页面,原生UI能够为应用带来更好的稳定性,页面组件的渲染也更为流畅。设备管理模块用于管理设备列表,设备控制模块用于控制设备的交互,设备升级模块用于管理设备升级,设备订阅模块用于管理设备的更新和移除,插件管理模块包括插件下载、插件渲染、插件更新、插件移除,用于下载和管理插件包。前端能力单元102用于调用最新插件包和原生单元101,前端能力单元102将最新插件包拆分为基础包和业务包并加载,基础包中包括用于连接原生单元101和前端能力单元102的功能接口。连接控制单元103用于与设备105和云端104进行连接,连接方式包括配网、蓝牙连接、网络连接、有线连接等方式。云端104用于设备管理、状态通知、插件包管理,设备管理包括用户的设备列表,包括每个设备的设备名、包名、版本号、build号、上传的包文件,插件包管理处理更新策略,通过HTTP(超文本传输协议)收到下发插件包的请求,经过处理下发插件包,状态通知包括接收下发插件包的指令和通过MQTT(消息队列遥测传输)响应设备的通知消息。
在系统有新的设备接入的时候,获取接入本地的待更新设备的更新设备标识,检测本地插件包的存在状态,若存在状态为存在,检测本地插件包版本。将本地插件包版本与云端插件包版本进行比对,若本地插件包版本低于云端插件包版本,则原生单元101中的插件管理模块基于更新设备标识从云端104下载增量更新包。通过增量更新包对本地插件包进行更新,得到最新插件包。若最新插件包与本地原生工具包版本匹配,前端能力单元102调用最新插件包,并将最新插件包拆分,得到基础包和业务包,预加载所述基础包,基于业务触发指令加载所述业务包,以对所述本地的设备应用进行更新。
请参见图2,图2是本发明的一示例性实施例示出的设备应用更新方法流程图,该设备应用更新方法至少包括步骤S210至步骤S250,详细介绍如下:
步骤S210,获取接入本地的待更新设备的更新设备标识。
在本发明的一实施例中,当有新的设备接入到本地时,点击获取设备详情的按钮,获取接入本地的待更新设备的更新设备标识,该更新设备标识为每个设备独有的识别标识,不同的设备有不同的更新设备标识。在本实施例中的本地为更新应用本地。
步骤S220,检测本地插件包的存在状态,若存在状态为存在,检测本地插件包版本。
在本发明的一个实施例中,用户从列表点击设备,会先检测本地插件包的存在状态,若存在状态为存在,再检测本地插件包版本,在本实施例中,本地插件包可能是之前该设备曾经接入过本地,移除该设备时未删除的插件包缓存。
在本发明的另一个实施例中,检测本地插件包的存在状态,若存在状态为不存在,则基于更新设备标识从云端下载云端插件包至本地,将云端插件包作为最新插件包。在本实施例中,云端上的云端插件包的版本为最新版本,所以从云端下载的云端插件包可以直接作为最新插件包,得到最新插件包后可以直接跳至步骤S250。
步骤S230,将本地插件包版本与云端插件包版本进行比对,若本地插件包版本低于云端插件包版本,基于更新设备标识从云端下载增量更新包。
在本发明的一个实施例中,若本地插件包版本低于云端插件包版本,通过更新设备标识在云端中找到对应的增量更新包并下载至本地;若本地插件包版本不低于云端插件版本,则确定本地插件包版本已经是最新版本了,将该本地插件包作为最新插件包后直接跳至步骤S250。
步骤S240,通过增量更新包对本地插件包进行更新,得到最新插件包。
在本发明的一个实施例中,通过下载的增量更新包加载到本地插件包中,更新本地插件包中的业务模块,得到最新插件包。
步骤S250,若最新插件包版本与本地原生工具包版本匹配,则将最新插件包拆分,得到基础包和业务包,预加载基础包,基于业务触发指令加载业务包,以对所述本地的设备应用进行更新。
在本发明的一个实施例中,若最新插件包版本与本地原生工具包版本匹配,则确定该最新插件包可以在本地运行,则将该最新插件包拆分,得到基础包和业务包。在加载业务的时候,先加载公共的基础包,基础包的内容是各个设备通用的,然后基于更新设备标识生成业务触发指令,每类不同的设备对应不同的业务触发指令,根据业务触发指令加载业务包,以对本地设备应用进行更新。
在本发明的一个实施例中,预加载基础包之后的页面有“设备详情”按钮,用户通过点击待更新设备的“设备详情”按钮生成该设备的业务触发指令,基于生成的业务触发指令在进入设备详情页面的时候加载渲染该待更新设备对应的业务包。
在本发明的一个实施例中,若最新插件包版本与本地原生工具包版本匹配,则将最新插件包拆分,得到基础包和业务包,在本实施例中的拆分方式包括对插件包中的公共功能模块设置识别标识,插件包还包括功能接口、界面组件和业务模块,功能接口用于调用本地原生工具包;基于识别标识将公共功能模块、功能接口和所述界面组件作为基础包,将业务模块作为业务包。得到了业务包和基础包之后,加载基础包和业务包,以对本地的设备应用进行更新。在本实施例中的功能接口用于允许业务模块进行一些设备列表获取、账号信息获取、网络信息、存储、加解密等原生方法,这些原生方法不是直接暴露给业务模块的,而是通过功能接口调用的。
在本发明的一个实施例中,拆分最新插件包基于metro,指定路径先打包出基础包,基础包中的每个模块指定ID,将该ID作为识别标识,在业务包打包脚本中过滤掉已经存在的ID,即可实现基础包和业务包的拆分。
在本发明的一个实施例中,若获取了多个不同的更新设备标识,下载了多个最新插件包,当多个最新插件包进行拆分的时候,由于各个最新插件包的基础包相同,所以得到一个基础包和多个业务包。
在本发明的一个实施例中,加载基础包和业务包包括,创建页面视图,页面视图包括基础视图和业务视图,在基础视图中预加载基础包,在业务视图中加载业务包。在本实施例中,加载基础包和业务包之前,需要先初始化抽象类ReactNativeHost并创建实例ReactInstanceManager、ReactContext、加载基础包和业务包,绑定ReactContext与ReactRootView,将ReactRootView作为根布局,在getJSBundleFile中动态指定基础包和业务包的入口从而实现动态加载不同模块。
在本发明的一个实施例中,在基础视图中预加载基础包包括,预加载基础包中的界面组件,界面组件包括按钮、输入框、开关、通用弹窗容器、卡片容器、列表、通用设置卡片、轮播组件中至少之一;预加载基础包中的公共功能模块。在本实施例中基础包提供的界面组件和公共功能模块作为预加载的内容,建立ReactRootView缓存管理器,Activity中预加载ReactNative,建立本身的代理ReactActivityDelegate并在本身的ReactActivity覆盖createReactActivityDelegate,初始化ReactRootView缓存管理器。在本实施例中,界面组件中的按钮、输入框、开关用于获取用户指令,界面组件中的通用弹窗容器、卡片容器、列表、通用设置卡片、轮播组件用于输出显示内容。
在本发明的另一个实施例中,若最新插件包版本与本地原生工具包版本不匹配,则升级了本地原生工具包版本后再将最新插件包拆分,得到基础包和业务包,预加载基础包,基于业务触发指令加载业务包,以对本地的设备应用进行更新。
在本发明的一个实施例中,在步骤S250之后,若接收到移除设备的设备移除指令,所述设备移除指令包括待移除设备的移除设备标识,基于移除设备标识将本地与移除设备标识对应的最新插件包进行清除。
请参见图3,图3是本发明的一示例性实施例示出的设备应用插件包加载流程示意图,该设备应用插件包加载流程至少包括步骤S310至步骤S321,详细介绍如下:
步骤S310,点击设备按钮。
在本发明的一个实施例中,当有新设备接入本地时,点击该新设备对应的设备按钮。
步骤S311,检测本地是否有插件缓存。
在本发明的一个实施例中,若本地存在插件包缓存,则继续步骤S312;若本地不存在插件包缓存则向云端发送下载插件包的请求,云端接收到请求后下发全量插件包至本地。
步骤S312,比对云端版本信息,判断是否需要更新插件。
在本发明的一个实施例中,将本地存在的插件包缓存版本信息和云端的版本信息进行比对,判断是否需要更新插件包,若需要更新,则向云端发送请求更新插件包的请求,云端在接收到请求后判断是否下发增量更新包。若云端判断可以下发增量更新包,则向本地发送增量更新包,本地在接收到增量更新包后,基于增量更新包更新本地插件包。若云端判断仍需要下发全量插件包,则下发全量插件包至本地,本地在接收到全量插件包后安装该全量插件包。
步骤S313,判断插件与本地SDK版本是否匹配。
在本发明的一个实施例中,若插件包与本地SDK版本匹配,则加载该插件包;若插件包与本地SDK版本不匹配,则更新本地SDK版本之后再加载该插件包。
步骤S320,点击移除设备。
若点击了移除设备按钮,获取待移除设备的移除设备标识。
步骤S321,根据移除设备标识清除本地缓存。
图4是本发明的一示例性实施例示出的设备应用更新装置的框图。如图4所示,该示例性的设备应用更新装置包括,获取模块401、检测模块402、下载模块403、更新模块404、加载模块405。
获取模块401,用于获取接入本地的待更新设备的更新设备标识;
检测模块402,用于检测本地插件包的存在状态,若存在状态为存在,检测本地插件包版本;
下载模块403,用于将本地插件包版本与云端插件包版本进行比对,若本地插件包版本低于云端插件包版本,则基于更新设备标识从云端下载增量更新包;
更新模块404,用于通过增量更新包对本地插件包进行更新,得到最新插件包;
加载模块405,用于若最新插件包版本与本地原生工具包版本匹配,则将最新插件包拆分,得到基础包和业务包,预加载基础包和,基于业务触发指令加载业务包,以对本地的设备应用进行更新。
需要说明的是,上述实施例所提供的设备应用更新装置与上述实施例所提供的设备应用更新方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的设备应用更新装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
请参阅图5,图5是本发明的一示例性实施例示出的设备应用架构图,该设备应用架构图包括原生单元501、前端能力单元502、业务模块503,需要说明的是此处的原生单元501、前端能力单元502、业务模块503与上述实施例中的原生单元101、前端能力单元102实质相同,为了方便描述,故采用了不同的编号。
原生单元501包括设备信息模块、设备状态模块、设备控制模块、设备升级模块和设备订阅模块,设备信息模块用于查看设备的基本信息、设备状态模块用于查看设备的实时状态、设备控制模块用于与设备进行交互、设备升级模块用于控制设备升级、设备订阅模块用于管理设备的更新和移除。
前端能力单元502包括前端能力模块、UI组件模块、功能接口。前端能力单元502通过功能接口调用的原生单元501的各模块,包括设备信息模块、设备状态模块、设备控制模块、设备升级模块和设备订阅模块;UI组件模块包括按钮、列表、弹窗等UI交互组件。
业务模块503包括通过前端能力单元502加载的多个业务包,每个业务包包括设备信息、设备状态等设备的详情信息。当获取了待更新设备的更新设备标识后,基于更新设备标识在业务模块加载业务包,当获取的更新设备标识为多个,对应加载的业务包也为多个。若接收到设备移除指令,设备移除指令包括待移除设备的移除设备标识,前端能力单元502基于待移除设备的移除设备标识将业务模块503上对应的业务包进行清除。
本发明的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的设备应用更新方法。
图6示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。需要说明的是,图6示出的电子设备的计算机系统600仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(CentralProcessingUnit,CPU)601,其可以根据存储在只读存储器(Read-OnlyMemory,ROM)602中的程序或者从储存部分608加载到随机访问存储器(RandomAccessMemory,RAM)603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM603中,还存储有系统操作所需的各种程序和数据。CPU601、ROM602以及RAM603通过总线604彼此相连。输入/输出(Input/Output,I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CathodeRayTube,CRT)、液晶显示器(LiquidCrystalDisplay,LCD)等以及扬声器等的输出部分607;包括硬盘等的储存部分608;以及包括诸如LAN(LocalAreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入储存部分608。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本发明的系统中限定的各种功能。
需要说明的是,本发明实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(ErasableProgrammableReadOnlyMemory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(CompactDiscRead-OnlyMemory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本发明的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的设备应用更新方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本发明的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的设备应用更新方法。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种设备应用更新方法,其特征在于,所述设备应用更新方法包括:
获取接入本地的待更新设备的更新设备标识;
检测本地插件包的存在状态,若所述存在状态为存在,检测本地插件包版本;
将所述本地插件包版本与云端插件包版本进行比对,若所述本地插件包版本低于所述云端插件包版本,则基于所述更新设备标识从云端下载增量更新包;
通过所述增量更新包对所述本地插件包进行更新,得到最新插件包;
若最新插件包版本与本地原生工具包版本匹配,则将所述最新插件包拆分,得到基础包和业务包,预加载所述基础包,基于业务触发指令加载所述业务包,以对所述本地的设备应用进行更新。
2.如权利要求1所述的设备应用更新方法,其特征在于,获取接入本地的待更新设备的更新设备标识之后,若最新插件包版本与本地原生工具包版本匹配,则将所述最新插件包拆分,得到基础包和业务包之前,还包括:
若所述存在状态为不存在,则基于所述更新设备标识从云端下载云端插件包至本地,将所述云端插件包作为所述最新插件包。
3.如权利要求1-2任一项所述的设备应用更新方法,其特征在于,对所述本地的设备应用进行更新之后,还包括:
若接收到设备移除指令,所述设备移除指令包括待移除设备的移除设备标识,基于所述移除设备标识将所述本地的与所述移除设备标识对应的最新插件包进行清除。
4.如权利要求1-2任一项所述的设备应用更新方法,其特征在于,将所述最新插件包拆分,得到基础包和业务包包括:
对所述插件包中的公共功能模块设置识别标识,所述插件包还包括功能接口、界面组件和业务模块,所述功能接口用于调用本地原生工具包;
基于所述识别标识将所述公共功能模块、所述功能接口和所述界面组件作为所述基础包,将所述业务模块作为所述业务包。
5.如权利要求1-2任一项所述的设备应用更新方法,其特征在于,预加载所述基础包,基于业务触发指令加载所述业务包包括:
创建页面视图,所述页面视图包括基础视图和业务视图;
在所述基础视图中预加载所述基础包;
若接收到所述业务触发指令,则在所述业务视图中加载所述业务包。
6.根据权利要求5所述的设备应用更新方法,其特征在于,在所述基础视图中预加载所述基础包包括:
预加载所述基础包中的界面组件,所述界面组件包括按钮、输入框、开关、通用弹窗容器、卡片容器、列表、通用设置卡片、轮播组件中至少之一;
预加载所述基础包中的公共功能模块。
7.一种设备应用更新系统,其特征在于,所述设备应用更新系统包括:
原生单元,所述原生单元包括设备管理模块、设备控制模块、设备升级模块、设备订阅模块和插件管理模块,所述设备管理模块用于管理设备列表,所述设备控制模块用于控制设备的交互,所述设备升级模块用于管理设备升级,所述设备订阅模块用于管理设备的更新和移除,所述插件管理模块用于下载和管理如权利要求1-6任一项所述的最新插件包;
前端能力单元,所述前端能力单元用于调用所述最新插件包和所述原生单元,将所述最新插件包拆分为基础包和业务包并加载,所述基础包包括功能接口,所述功能接口用于连接所述原生单元和所述前端能力单元,以使所述前端能力单元调用所述原生单元;
连接控制单元,用于与设备和云端进行连接,连接方式包括,配网、蓝牙连接、网络连接、有线连接中至少之一。
8.一种设备应用更新装置,其特征在于,所述设备应用更新装置包括:
获取模块,用于获取接入本地的待更新设备的更新设备标识;
检测模块,用于检测本地插件包的存在状态,若所述存在状态为存在,检测本地插件包版本;
下载模块,用于将所述本地插件包版本与云端插件包版本进行比对,若所述本地插件包版本低于所述云端插件包版本,则基于所述更新设备标识从云端下载增量更新包;
更新模块,用于通过所述增量更新包对所述本地插件包进行更新,得到最新插件包;
加载模块,用于若最新插件包版本与本地原生工具包版本匹配,则将所述最新插件包拆分,得到基础包和业务包,预加载所述基础包,基于业务触发指令加载所述业务包,以对所述本地的设备应用进行更新。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至6中任一项所述的设备应用更新方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至6中任一项所述的设备应用更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310106158.6A CN116069365A (zh) | 2023-02-13 | 2023-02-13 | 一种设备应用更新方法、系统、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310106158.6A CN116069365A (zh) | 2023-02-13 | 2023-02-13 | 一种设备应用更新方法、系统、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116069365A true CN116069365A (zh) | 2023-05-05 |
Family
ID=86173035
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310106158.6A Pending CN116069365A (zh) | 2023-02-13 | 2023-02-13 | 一种设备应用更新方法、系统、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116069365A (zh) |
-
2023
- 2023-02-13 CN CN202310106158.6A patent/CN116069365A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3764220B1 (en) | Automatic application updates | |
EP2682863A1 (en) | Installing applications remotely | |
CN109857403B (zh) | 一种页面更新、页面处理方法及装置 | |
US9990214B2 (en) | Dynamic agent delivery | |
US10404568B2 (en) | Agent manager for distributed transaction monitoring system | |
CN112632566A (zh) | 漏洞扫描方法和装置、存储介质及电子设备 | |
CN113760324A (zh) | 构建微前端应用的方法和装置 | |
CN108733370B (zh) | 原生app的样式化显示方法、装置、终端及存储介质 | |
CN110647739A (zh) | 软件安装检测方法、装置、终端及存储介质 | |
CN112256989A (zh) | 基于离线包的页面加载方法、装置、终端设备及存储介质 | |
CN114968406B (zh) | 一种插件管理方法、装置、电子设备及存储介质 | |
CN109725887B (zh) | 基于消息研发框架的数据交互方法、装置及终端设备 | |
CN109343970B (zh) | 基于应用程序的操作方法、装置、电子设备及计算机介质 | |
CN109981546B (zh) | 获取应用模块间的远程调用关系的方法和装置 | |
CN112748962B (zh) | 应用加载方法、装置、电子设备和计算机可读介质 | |
WO2023083071A1 (zh) | 视图交互方法、装置、电子设备及计算机可读介质 | |
US10073689B2 (en) | Managing application lifecycles within a federation of distributed software applications | |
CN116069365A (zh) | 一种设备应用更新方法、系统、装置、设备及存储介质 | |
CN110795156A (zh) | 移动存储器加载方法、瘦客户端、存储介质及装置 | |
CN115878226A (zh) | 一种h5离线包加载方法及装置 | |
WO2022247226A1 (zh) | 一种小程序监控方法及装置 | |
CN115599669A (zh) | 微服务的调试方法和装置、电子设备和可读存储介质 | |
US20130332568A1 (en) | Method of data processing by a navigation module | |
CN114489754A (zh) | 可配置服务管理方法及装置 | |
CN112910956A (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 |