CN109634641B - 一种应用程序更新方法、装置、电子设备及介质 - Google Patents

一种应用程序更新方法、装置、电子设备及介质 Download PDF

Info

Publication number
CN109634641B
CN109634641B CN201811629355.1A CN201811629355A CN109634641B CN 109634641 B CN109634641 B CN 109634641B CN 201811629355 A CN201811629355 A CN 201811629355A CN 109634641 B CN109634641 B CN 109634641B
Authority
CN
China
Prior art keywords
application
application data
updated
component
data
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
CN201811629355.1A
Other languages
English (en)
Other versions
CN109634641A (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.)
Beijing Urban Network Neighbor Information Technology Co Ltd
Original Assignee
Beijing Urban Network Neighbor 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 Beijing Urban Network Neighbor Information Technology Co Ltd filed Critical Beijing Urban Network Neighbor Information Technology Co Ltd
Priority to CN201811629355.1A priority Critical patent/CN109634641B/zh
Publication of CN109634641A publication Critical patent/CN109634641A/zh
Application granted granted Critical
Publication of CN109634641B publication Critical patent/CN109634641B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

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)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种应用程序更新方法、装置、电子设备及介质。所述方法包括:采用网页组件加载网页应用数据,针对网页应用数据,加载用于更新应用的原生应用组件,调用用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,应用数据包括网页应用数据和/或原生应用数据,在存在更新的应用数据时,从服务器提取更新的应用数据,采用更新的网页应用数据和/或原生应用数据对应用程序进行更新,克服了需要安装新的应用程序来实现更新的限制,实现了在混合型应用程序内对网页应用或原生应用进行部分更新的功能,避免了发布应用程序的新版本的等待时间过长的问题,解决了修复应用程序出现的问题不及时,和无法随时调整界面样式和新增功能的问题。

Description

一种应用程序更新方法、装置、电子设备及介质
技术领域
本发明涉及数据处理技术领域,特别是涉及一种应用程序更新方法、一种应用程序更新装置、一种电子设备及一种计算机可读存储介质。
背景技术
随着移动互联网的日益发展,用户对在手机、平板等移动终端设备上的客户端应用程序的需求越来越复杂和多样化。为了提高用户体验,客户端应用程序供应商不断开发新的客户端应用程序,或者对客户端应用程序不断添加新的功能。
在客户端应用程序的快速迭代开发中,经常会遇到客户端应用程序发布后才暴露出的问题、或者需要新增功能、或者需要调整界面等情况,此时就不可避免地要对客户端应用程序进行更新。
但是重新发布客户端应用程序的新版本,用户安装新的客户端应用程序来实现更新,这种方式的过程繁琐,等待上线时间长,导致无法及时修复应用程序出现的问题,也无法随时调整界面样式和新增功能。
发明内容
鉴于上述问题,提出了一种应用程序更新方法、装置、电子设备及计算机可读存储介质,以解决修复应用程序出现的问题不及时,和无法随时调整界面样式和新增功能的问题。
依据本发明的一个方面,提供了一种应用程序更新方法,所述应用程序中包括网页组件和用于更新应用的原生应用组件,包括:
采用所述网页组件加载网页应用数据;
针对所述网页应用数据,加载所述用于更新应用的原生应用组件;
调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据;
调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据;
采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新。
可选地,所述应用程序中保存有第一应用数据文件列表,所述检测服务器上是否存在更新的应用数据包括:
获取所述服务器侧的第二应用数据文件列表;
比对所述第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上存在的更新的应用数据。
可选地,在所述采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新之前,所述方法还包括:
计算获取的应用数据的唯一特征值;
比对所述计算的唯一特征值与所述第二应用数据文件列表中记录的唯一特征值;
将比对结果为不一致的应用数据删除。
可选地,当所述更新的应用数据包括更新的网页应用数据时,所述采用所述更新的网页应用数据对所述应用程序进行更新包括:
采用所述网页组件加载更新的网页应用数据。
可选地,当所述更新的应用数据包括更新的原生应用数据时,所述采用所述更新的原生应用数据对所述应用程序进行更新包括:
根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据;
根据所述调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件。
可选地,所述根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据包括:
根据所述网页应用数据,确定调用的类名、方法名以及参数;
将所述类名、方法名以及参数利用中间组件从所述网页组件传输至所述应用程序的原生应用程序;
根据所述类名、方法名以及参数,确定所述调用的更新的原生应用数据。
依据本发明的另一个方面,提供了一种应用程序更新装置,所述应用程序中包括网页组件和用于更新应用的原生应用组件,包括:
数据加载模块,用于采用所述网页组件加载网页应用数据;
组件加载模块,用于针对所述网页应用数据,加载所述用于更新应用的原生应用组件;
数据检测模块,用于调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据;
数据提取模块,用于调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据;
更新模块,用于采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新。
可选地,所述应用程序中保存有第一应用数据文件列表,所述数据检测模块包括:
列表获取子模块,用于获取所述服务器侧的第二应用数据文件列表;
比对子模块,用于比对所述第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上存在的更新的应用数据。
可选地,所述装置还包括:
特征值计算模块,用于在所述采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新之前,计算获取的应用数据的唯一特征值;
特征值比对模块,用于比对所述计算的唯一特征值与所述第二应用数据文件列表中记录的唯一特征值;
删除模块,用于将比对结果为不一致的应用数据删除。
可选地,当所述更新的应用数据包括更新的网页应用数据时,所述更新模块包括:
数据加载子模块,用于采用所述网页组件加载更新的网页应用数据。
可选地,当所述更新的应用数据包括更新的原生应用数据时,所述更新模块包括:
数据确定子模块,用于根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据;
组件加载子模块,用于根据所述调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件。
可选地,所述数据确定子模块包括:
确定单元,用于根据所述网页应用数据,确定调用的类名、方法名以及参数;
传输单元,用于将所述类名、方法名以及参数利用中间组件从所述网页组件传输至所述应用程序的原生应用程序;
数据确定单元,用于根据所述类名、方法名以及参数,确定所述调用的更新的原生应用数据。
依据本发明的另一个方面,提供了一种电子设备,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述的应用程序更新方法。
依据本发明的另一个方面,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述的应用程序更新方法。
综上所述,依据本发明实施例,通过采用网页组件加载网页应用数据。针对网页应用数据,加载用于更新应用的原生应用组件,调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据,调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从服务器提取更新的应用数据,采用更新的网页应用数据和/或原生应用数据对应用程序进行更新,克服了需要安装新的应用程序来实现更新的限制,实现了在混合型应用程序内对网页应用或原生应用进行部分更新的功能,避免了发布应用程序的新版本的等待时间过长的问题,解决了修复应用程序出现的问题不及时,和无法随时调整界面样式和新增功能的问题。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例一中的一种应用程序更新方法的流程图;
图2示出了本发明实施例二中的一种应用程序更新方法的流程图;
图3示出了本发明实施例三中的一种应用程序更新装置的结构框图;
图4示出了本发明实施例提供的一种电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了本发明实施例一中的一种应用程序更新方法的流程图,具体可以包括:
步骤101,采用所述网页组件加载网页应用数据。
在本发明实施例中,应用程序中包括网页组件和用于更新应用的原生应用组件。应用程序可以由网页应用部分和原生应用部分组成,对于网页应用部分,利用网页组件可以加载预先获取的网页应用数据,网页应用数据一般可以用于应用程序的UI的展现,也可以与原生应用部分进行交互,调用一些原生应用部分的原生应用组件来实现功能。
例如,混合型应用程序中就包括网页组件和原生应用组件,混合型应用程序是指介于web-app(网页应用)、native-app(原生应用)两者之间的应用程序,兼具native-app良好用户交互体验的优势和web-app跨平台开发的优势。
应用数据包括网页应用数据、原生应用数据等,网页应用数据是指用web开发语言编写的数据,原生应用数据是指用native开发语言编写的数据。网页应用数据需要依赖混合型应用程序内的webview(即网页组件),实现在客户端上的展现。网页组件可以加载网页应用数据,并进行渲染和显示。
通常混合型应用程序会采用通过url(Uniform Resource Locator,统一资源定位符)加载网页应用数据,缺点是受限于网络环境,一旦网络速度较慢时加载页面会非常缓慢甚至加载失败。
在本发明实施例中,网页应用数据可以预先嵌入到应用程序中,随应用程序一起上架,即发布到应用市场。在用户下载该应用程序时,即获取了网页应用数据,所以称为预先获取的网页应用数据。这种方式可以避免常规的加载网页方式需要在打开应用程序时从服务器拉取网页的过程,避免了加载时间长的问题。
例如,将基于React框架的网页应用数据放置在该应用程序的assets文件夹中,在下载该混合型应用程序时,同时获取了网页应用数据,然后在本地第一次加载混合型应用程序时,将网页应用数据复制到该混合型应用程序的本地目录下,以供后续使用。
步骤102,针对所述网页应用数据,加载所述用于更新应用的原生应用组件。
在本发明实施例中,用原生应用组件可以实现更新应用的功能,可以将更新应用的功能集成到已有的原生应用组件中,也可以单独新增一个专门用于更新应用的原生应用组件,本发明实施例对此不做限制。
在本发明实施例中,对于该用于更新应用的原生应用组件,可以根据网页应用数据来进行加载,也就是说,网页应用数据通过与原生应用部分进行交互,调用了用于更新应用的原生应用组件。
步骤103,调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据。
在本发明实施例中,调用用于更新应用的原生应用组件,可以检测服务器是否存在更新的应用数据,具体实现方式可以包括多种,例如,获取所述服务器侧的第一应用数据文件列表,比对所述服务器侧的第一应用数据文件列表和本地保存的第二应用数据文件列表,确定所述服务器上更新的应用数据,具体可以包括任意适用的实现方式,本发明实施例对此不做限制。
步骤104,调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据。
在本发明实施例中,调用用于更新应用的原生应用组件,若检测到服务器存在更新的应用数据,则从服务器提取更新的应用数据。有的情况下,更新的应用数据仅包括网页应用数据,也有的情况下,更新的应用数据仅包括原生应用数据,还有的情况下,更新的应用数据包括网页应用数据和原生应用数据,具体可以根据实际情况提取更新的数据,本发明实施例对此不做限制。
步骤105,采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新。
在本发明实施例中,提取到更新的应用数据后,需要分为三种情况确定更新的实现方式:
第一,若仅有更新的网页应用数据,则采用所述更新的网页应用数据对所述应用程序进行更新的实现方式可以包括:采用所述网页组件加载更新的网页应用数据,即可完成对应用程序的更新。
第二,若仅有更新的原生应用程序,则采用所述更新的原生应用数据对所述应用程序进行更新的实现方式可以包括:根据未更新的网页应用数据,确定网页组件调用的更新的原生应用数据,根据调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件,即可完成对应用程序的更新。
第三,若网页应用数据和原生应用数据都有更新,则需要调用网页组件加载更新的网页应用数据,根据网页应用数据中未更新的部分或更新的部分,确定网页组件调用的更新的原生应用数据,根据调用的更新的原生应用数据,加载应用程序内更新的原生应用组件,即可完成对应用程序的更新。
综上所述,依据本发明实施例,通过采用网页组件加载网页应用数据。针对网页应用数据,加载用于更新应用的原生应用组件,调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据,调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从服务器提取更新的应用数据,采用更新的网页应用数据和/或原生应用数据对应用程序进行更新,克服了需要安装新的应用程序来实现更新的限制,实现了在混合型应用程序内对网页应用或原生应用进行部分更新的功能,避免了发布应用程序的新版本的等待时间过长的问题,解决了修复应用程序出现的问题不及时,和无法随时调整界面样式和新增功能的问题。
实施例二
参照图2,示出了本发明实施例二中的一种应用程序更新方法的流程图,具体可以包括:
步骤201,采用所述网页组件加载网页应用数据。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤202,针对所述网页应用数据,加载所述用于更新应用的原生应用组件。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
步骤203,获取所述服务器侧的第二应用数据文件列表。
在本发明实施例中,应用数据可以分为多个文件,每次发生更新的文件可能仅为一个或几个,如果采用将所有应用数据的文件压缩成一个压缩包的方式进行更新,则会极大浪费网络流量和下载时间。
为此,在用于更新应用的原生应用组件中,可以先获取服务器侧的第二应用数据文件列表,应用数据文件列表中会详细列出所有应用数据的文件的路径、大小、唯一特征值(例如,md5值),以及该应用程序的版本号。
步骤204,比对所述第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上存在的更新的应用数据。
在本发明实施例中,应用程序本地也保存有一个应用数据文件列表,记为第一应用数据文件列表,通过比对服务器的第二应用数据文件列表和本地保存的第一应用数据文件列表,可以确定服务器上存在的更新的应用数据,实现了对应用数据的部分文件进行更新,达到了提高更新速度的效果。
例如,对比服务器上的第二应用数据文件列表和本地保存的第一应用数据文件列表,如果版本号不一致,则表明存在更新,反之不需要更新,然后再根据存在不一致的路径或者md5值,确定要更新的应用数据的文件。
在本发明实施例中,可选地,服务器上的第二应用数据文件列表是经服务器保存的私钥加密的列表,在比对第二应用数据文件列表和第一应用数据文件列表,确定服务器上存在的更新的应用数据之前,还可以包括:采用本地保存的公钥解密所述服务器上的第二应用数据文件列表。
出于安全考虑,可以采用非对称加密的方式对应用数据文件列表进行保护,本地的应用程序保存有公钥,服务器则保存有对应的私钥,服务器使用私钥对应用数据文件列表进行加密,获取服务器上的应用数据文件列表后,本地需要采用保存的公钥解密应用数据文件列表,从而保证应用数据文件列表的真实性。
在本发明实施例中,可选地,用于更新应用的原生应用组件检测到有更新的应用数据后,可以通知所述网页组件存在更新的应用数据。网页组件在接收到更新通知后,获取当前的网络状况,判断网络状况是否符合预设网络要求,例如,对网络速度进行测试,是否达到了预设更新要求所设置的网络速度阈值,如果符合预设网络要求,则调用用于更新应用的原生应用组件从服务器提取更新的应用数据。
步骤205,调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据。
在本发明实施例中,此步骤的具体实现方式可以参见前述实施例中的描述,此处不另赘述。
在本发明实施例中,优选地,在所述采用更新的网页应用数据和/或原生应用数据对所述应用程序进行更新之前,还可以包括:计算获取的应用数据的唯一特征值;比对所述计算的唯一特征值与所述第二应用数据文件列表中记录的唯一特征值;将比对结果为不一致的应用数据删除。
第二应用数据文件列表中记录有所有文件的唯一特征值(例如,md5值),在获取更新的应用数据后,对获取的每个文件进行唯一特征值的计算,之后和第二应用数据文件列表中记录的唯一特征值进行比对,如果发现更新的应用数据的唯一特征值与列表中的不一致,则删除掉比对结果为不一致的应用数据,之后还可以重新从服务器拉取,保证应用程序本地的应用数据的安全性,避免被篡改导致的风险。
步骤206,采用所述网页组件加载更新的网页应用数据。
在本发明实施例中,当更新的应用数据包括更新的网页应用数据时,则利用网页组件加载更新的网页应用数据,即可以实现对于应用程序的网页应用部分的更新,可以用于实现对于应用程序的界面样式的随时调整。
步骤207,根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据。
在本发明实施例中,应用程序的原生应用部分,可以根据网页应用数据进行加载,当更新的应用数据包括更新的原生应用数据时,具体需要先根据网页应用数据,确定网页组件调用的原生应用数据。
在本发明实施例中,优选地,根据网页应用数据,确定所述网页组件调用的更新的原生应用数据的一种实现方式可以包括:根据网页应用数据,确定调用的类名、方法名以及参数,将所述类名、方法名以及参数利用中间组件从所述网页组件传输至所述应用程序的原生应用程序,根据所述类名、方法名以及参数,确定所述调用的更新的原生应用数据。
在进入应用程序后,会打开一个网页组件,加载更新的网页应用数据,若网页应用数据没有更新,则加载未更新的网页应用数据,若网页应用数据有更新,则会加载更新的网页应用数据。根据网页应用数据中未更新的部分或更新的部分,可以确定调用的类名、方法名以及参数,通过定义的中间组件(例如,JsBridge)实现网页组件和原生应用组件之间的交互,利用中间组件,将类名、方法名以及参数传输给应用程序的原生应用程序,原生应用程序收到后,会通过类名加载原生应用数据的类,并通过方法名和参数调用这个类中对应的方法,即得到调用的原生应用数据,其中包括更新的原生应用数据。
步骤208,根据所述调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件。
在本发明实施例中,根据调用的更新的原生应用数据,加载应用程序内的原生应用组件,例如,通过classloader(类加载器)载入更新的原生应用数据(即native代码),通过组件管理器进行加载,实现对于应用程序的原生应用部分的更新。
综上所述,依据本发明实施例,通过采用网页组件加载网页应用数据。针对网页应用数据,加载用于更新应用的原生应用组件,获取所述服务器侧的第二应用数据文件列表,比对所述第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上存在的更新的应用数据,在存在更新的应用数据时,从服务器提取更新的应用数据,采用所述网页组件加载更新的网页应用数据,根据网页应用数据,确定所述网页组件调用的更新的原生应用数据,根据所述调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件,克服了需要安装新的应用程序来实现更新的限制,实现了在混合型应用程序内对网页应用或原生应用进行部分更新的功能,避免了发布应用程序的新版本的等待时间过长的问题,解决了修复应用程序出现的问题不及时,和无法随时调整界面样式和新增功能的问题。
进一步,通过获取所述服务器上的第二应用数据文件列表,比对第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上更新的应用数据,实现了对应用数据的部分文件进行更新,达到了提高更新速度的效果。
进一步,通过计算获取的应用数据的唯一特征值,比对所述计算的唯一特征值与第二应用数据文件列表中记录的唯一特征值,将比对结果为不一致的应用数据删除,保证应用程序本地的应用数据的安全性,避免被篡改导致的风险。
实施例三
参照图3,示出了本发明实施例三中的一种应用程序更新装置的结构框图,具体可以包括:
数据加载模块301,用于采用所述网页组件加载网页应用数据;
组件加载模块302,用于针对所述网页应用数据,加载所述用于更新应用的原生应用组件;
数据检测模块303,用于调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据;
数据提取模块304,用于调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据;
更新模块305,用于采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新。
在本发明实施例中,可选地,所述应用程序中保存有第一应用数据文件列表,所述数据检测模块包括:
列表获取子模块,用于获取所述服务器侧的第二应用数据文件列表;
比对子模块,用于比对所述第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上存在的更新的应用数据。
在本发明实施例中,可选地,所述装置还包括:
特征值计算模块,用于在所述采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新之前,计算获取的应用数据的唯一特征值;
特征值比对模块,用于比对所述计算的唯一特征值与所述第二应用数据文件列表中记录的唯一特征值;
删除模块,用于将比对结果为不一致的应用数据删除。
在本发明实施例中,可选地,当所述更新的应用数据包括更新的网页应用数据时,所述更新模块包括:
数据加载子模块,用于采用所述网页组件加载更新的网页应用数据。
在本发明实施例中,可选地,当所述更新的应用数据包括更新的原生应用数据时,所述更新模块包括:
数据确定子模块,用于根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据;
组件加载子模块,用于根据所述调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件。
在本发明实施例中,可选地,所述数据确定子模块包括:
确定单元,用于根据所述网页应用数据,确定调用的类名、方法名以及参数;
传输单元,用于将所述类名、方法名以及参数利用中间组件从所述网页组件传输至所述应用程序的原生应用程序;
数据确定单元,用于根据所述类名、方法名以及参数,确定所述调用的更新的原生应用数据。
综上所述,依据本发明实施例,通过采用网页组件加载网页应用数据。针对网页应用数据,加载用于更新应用的原生应用组件,调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据,调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从服务器提取更新的应用数据,采用更新的网页应用数据和/或原生应用数据对应用程序进行更新,克服了需要安装新的应用程序来实现更新的限制,实现了在混合型应用程序内对网页应用或原生应用进行部分更新的功能,避免了发布应用程序的新版本的等待时间过长的问题,解决了修复应用程序出现的问题不及时,和无法随时调整界面样式和新增功能的问题。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图4为本发明实施例提供的一种电子设备的结构框图。如图4所示,该电子设备800可以包括一个或多个处理器801以及与处理器801连接的一个或多个存储器802。电子设备800还可以包括输入接口803和输出接口804,用于与另一装置或***进行通信。被处理器801的CPU执行的程序代码可存储在存储器802中。
电子设备800中的处理器801调用存储在存储器802的程序代码,以执行上述实施例中的应用程序更新方法。
处理器为上述服务器的控制中心,并提供处理装置,用于执行指令,进行中断操作,提供计时功能以及多种其他功能。处理器可为单核(单CPU)处理器或多核(多CPU)处理器。除非另有声明,描述为用于执行任务的例如处理器或存储器的部件可实现为通用部件,其暂时用于在给定时间执行任务,或实现为专门制造用于执行该任务的特定部件。此处所用的术语“处理器”指一个或多个装置,电路和/或处理核,用于处理数据,例如计算机程序指令。
上述服务器中的上述元件可通过总线彼此连接,总线例如数据总线、地址总线、控制总线、扩展总线和局部总线之一或其任意组合。
根据本发明的一个实施例,还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,存储介质可以是只读存储器(Read-Only Memory,ROM),或是可读写的,例如硬盘、闪存。所述计算机程序被处理器执行时实现前述实施例的应用程序更新方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种应用程序更新方法、装置、电子设备及介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种应用程序更新方法,其特征在于,所述应用程序中包括网页组件和用于更新应用的原生应用组件,所述的方法包括:
采用所述网页组件加载网页应用数据;
针对所述网页应用数据,加载所述用于更新应用的原生应用组件,所述原生应用组件集成有更新应用的功能的组件,或,所述原生应用组件为专用于更新应用的组件;
调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据;
调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据;
采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新;
其中,调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据,包括:
用于更新应用的原生应用组件检测到有更新的应用数据后,通知所述网页组件存在更新的应用数据;
网页组件在接收到更新通知后,调用用于更新应用的原生应用组件从所述服务器提取所述更新的应用数据。
2.根据权利要求1所述的方法,其特征在于,所述应用程序中保存有第一应用数据文件列表,所述检测服务器上是否存在更新的应用数据包括:
获取所述服务器侧的第二应用数据文件列表;
比对所述第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上存在的更新的应用数据。
3.根据权利要求2所述的方法,其特征在于,在所述采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新之前,所述方法还包括:
计算获取的应用数据的唯一特征值;
比对所述计算的唯一特征值与所述第二应用数据文件列表中记录的唯一特征值;
将比对结果为不一致的应用数据删除。
4.根据权利要求1所述的方法,其特征在于,当所述更新的应用数据包括更新的网页应用数据时,所述采用所述更新的网页应用数据对所述应用程序进行更新包括:
采用所述网页组件加载更新的网页应用数据。
5.根据权利要求1所述的方法,其特征在于,当所述更新的应用数据包括更新的原生应用数据时,所述采用所述更新的原生应用数据对所述应用程序进行更新包括:
根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据;
根据所述调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件。
6.根据权利要求5所述的方法,其特征在于,所述根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据包括:
根据所述网页应用数据,确定调用的类名、方法名以及参数;
将所述类名、方法名以及参数利用中间组件从所述网页组件传输至所述应用程序的原生应用程序;
根据所述类名、方法名以及参数,确定所述调用的更新的原生应用数据。
7.一种应用程序更新装置,其特征在于,所述应用程序中包括网页组件和用于更新应用的原生应用组件,所述装置包括:
数据加载模块,用于采用所述网页组件加载网页应用数据;
组件加载模块,用于针对所述网页应用数据,加载所述用于更新应用的原生应用组件,所述原生应用组件集成有更新应用的功能的组件,或,所述原生应用组件为专用于更新应用的组件;
数据检测模块,用于调用所述用于更新应用的原生应用组件,检测服务器是否存在更新的应用数据,所述应用数据包括网页应用数据,和/或,原生应用数据;
数据提取模块,用于调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据;
更新模块,用于采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新;
其中,调用所述用于更新应用的原生应用组件,在存在更新的应用数据时,从所述服务器提取所述更新的应用数据,包括:
用于更新应用的原生应用组件检测到有更新的应用数据后,通知所述网页组件存在更新的应用数据;
网页组件在接收到更新通知后,调用用于更新应用的原生应用组件从所述服务器提取所述更新的应用数据。
8.根据权利要求7所述的装置,其特征在于,所述应用程序中保存有第一应用数据文件列表,所述数据检测模块包括:
列表获取子模块,用于获取所述服务器侧的第二应用数据文件列表;
比对子模块,用于比对所述第一应用数据文件列表和第二应用数据文件列表,确定所述服务器上存在的更新的应用数据。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
特征值计算模块,用于在所述采用所述更新的网页应用数据和/或原生应用数据对所述应用程序进行更新之前,计算获取的应用数据的唯一特征值;
特征值比对模块,用于比对所述计算的唯一特征值与所述第二应用数据文件列表中记录的唯一特征值;
删除模块,用于将比对结果为不一致的应用数据删除。
10.根据权利要求7所述的装置,其特征在于,当所述更新的应用数据包括更新的网页应用数据时,所述更新模块包括:
数据加载子模块,用于采用所述网页组件加载更新的网页应用数据。
11.根据权利要求7所述的装置,其特征在于,当所述更新的应用数据包括更新的原生应用数据时,所述更新模块包括:
数据确定子模块,用于根据所述网页应用数据,确定所述网页组件调用的更新的原生应用数据;
组件加载子模块,用于根据所述调用的更新的原生应用数据,加载所述应用程序内更新的原生应用组件。
12.根据权利要求11所述的装置,其特征在于,所述数据确定子模块包括:
确定单元,用于根据所述网页应用数据,确定调用的类名、方法名以及参数;
传输单元,用于将所述类名、方法名以及参数利用中间组件从所述网页组件传输至所述应用程序的原生应用程序;
数据确定单元,用于根据所述类名、方法名以及参数,确定所述调用的更新的原生应用数据。
13.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1-6任一项所述的应用程序更新方法。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1-6任一项所述的应用程序更新方法。
CN201811629355.1A 2018-12-28 2018-12-28 一种应用程序更新方法、装置、电子设备及介质 Active CN109634641B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811629355.1A CN109634641B (zh) 2018-12-28 2018-12-28 一种应用程序更新方法、装置、电子设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811629355.1A CN109634641B (zh) 2018-12-28 2018-12-28 一种应用程序更新方法、装置、电子设备及介质

Publications (2)

Publication Number Publication Date
CN109634641A CN109634641A (zh) 2019-04-16
CN109634641B true CN109634641B (zh) 2021-02-09

Family

ID=66079090

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811629355.1A Active CN109634641B (zh) 2018-12-28 2018-12-28 一种应用程序更新方法、装置、电子设备及介质

Country Status (1)

Country Link
CN (1) CN109634641B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110032385A (zh) * 2019-04-23 2019-07-19 成都四方伟业软件股份有限公司 组件更新方法、装置及电子设备
CN110874236B (zh) * 2019-11-13 2023-04-07 中国建设银行股份有限公司 一种跨平台应用装置、终端及存储介质
CN112328283A (zh) * 2020-11-12 2021-02-05 北京字节跳动网络技术有限公司 一种应用程序的更新方法、装置、设备及介质

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105574049B (zh) * 2014-10-30 2020-07-03 阿里巴巴集团控股有限公司 移动应用的页面处理方法、装置和***
CN105487905A (zh) * 2015-11-27 2016-04-13 东软集团股份有限公司 一种混合应用的更新方法和装置
CN108304207A (zh) * 2018-03-01 2018-07-20 上海找钢网信息科技股份有限公司 混合app应用程序的资源更新方法及***

Also Published As

Publication number Publication date
CN109634641A (zh) 2019-04-16

Similar Documents

Publication Publication Date Title
US20170185431A1 (en) Method and apparatus for dynamically implementing application function
CN111143869B (zh) 应用程序包处理方法、装置、电子设备及存储介质
US8887152B1 (en) Android application virtual environment
US10320940B1 (en) Managing generic data
US9235586B2 (en) Reputation checking obtained files
US8667487B1 (en) Web browser extensions
US20200278853A1 (en) Processing, modification, distribution of custom software installation packages
CN109634641B (zh) 一种应用程序更新方法、装置、电子设备及介质
US9317681B2 (en) Information processing apparatus, information processing method, and computer program product
JP6306265B2 (ja) マルウェア検出方法、及びマルウェア検出装置
CN103064738B (zh) Linux下本地应用程序窗体嵌入浏览器的方法及***
CN106843978B (zh) 一种sdk接入方法及***
CN105335184B (zh) 应用安装的方法和装置
US10761825B2 (en) System and method for application plug-in distribution
US20150220245A1 (en) Branded computer devices and apparatus to connect user and enterprise
CN107528718B (zh) 获取资源的方法、装置和***
CN112559928B (zh) 基于混合开发的页面处理方法、装置、电子设备及存储介质
CN103793248A (zh) 一种应用程序升级的方法及装置
CN110928571A (zh) 业务程序开发方法和装置
CN105808630B (zh) 一种安卓应用的审核方法及装置
WO2020006911A1 (zh) 混合型应用的接口调用方法、装置及计算机可读存储介质
CN108509228B (zh) 加载页面的方法、终端设备及计算机可读存储介质
CN109934016B (zh) 应用的签名校验方法、装置及电子设备
CN112685105A (zh) 前端组件共享方法、装置、计算机设备及存储介质
CN110574006B (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
GR01 Patent grant
GR01 Patent grant