CN108845812B - 插件更新方法、装置、计算机设备和存储介质 - Google Patents

插件更新方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN108845812B
CN108845812B CN201810548115.2A CN201810548115A CN108845812B CN 108845812 B CN108845812 B CN 108845812B CN 201810548115 A CN201810548115 A CN 201810548115A CN 108845812 B CN108845812 B CN 108845812B
Authority
CN
China
Prior art keywords
plug
updated
server
host version
local host
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
CN201810548115.2A
Other languages
English (en)
Other versions
CN108845812A (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.)
Kangjian Information Technology Shenzhen Co Ltd
Original Assignee
Kangjian Information Technology Shenzhen 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 Kangjian Information Technology Shenzhen Co Ltd filed Critical Kangjian Information Technology Shenzhen Co Ltd
Priority to CN201810548115.2A priority Critical patent/CN108845812B/zh
Publication of CN108845812A publication Critical patent/CN108845812A/zh
Application granted granted Critical
Publication of CN108845812B publication Critical patent/CN108845812B/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

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

插件更新方法、装置、计算机设备和存储介质
技术领域
本申请涉及计算机技术领域,特别是涉及一种插件更新方法、装置、计算机设备和存储介质。
背景技术
随着网络技术的发展,手机等移动终端的应用日益广泛,移动终端上的应用程序也日趋多样化,由于移动终端上的应用程序功能复杂、碎片化严重,且更新速度快、周期短。为了满足用户在终端实现多样化的功能需求,经常需要在终端上安装多种插件,并对其进行及时更新。
传统的插件更新方式是由服务器主动向终端下发已安装的插件的新的版本,服务器在下发的时候,需要针对所有的已安装应用程序的终端,数据量较大,且混乱,存在应用程序更新失败的情况,即插件更新失败的情况。
发明内容
基于此,有必要针对上述技术问题,提供一种能够保证应用程序正常运行的插件更新方法、装置、计算机设备和存储介质。
一种插件更新方法,所述方法包括:
获取应用程序启动指令,根据所述应用程序启动指令打开对应的应用程序;
从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表;
根据所述第一插件列表和所述第二插件列表检测是否存在待更新插件;
当存在所述待更新插件时,则获取本地宿主版本;
检测所述本地宿主版本是否支持所述待更新插件的运行,若支持,则从所述服务器下载并安装所述待更新插件。
在其中一个实施例中,所述检测本地宿主版本是否支持所述待更新插件的运行,包括:
读取所述待更新插件支持的最低宿主版本号;
获取所述本地宿主版本的版本号;
当所述本地宿主版本的版本号大于等于所述待更新插件支持的最低宿主版本号时,则所述本地宿主版本支持此待更新插件;
当所述本地宿主版本的版本号小于所述待更新插件支持的最低宿主版本号时,则所述本地宿主版本不支持此待更新插件。
在其中一个实施例中,所述根据所述应用程序启动指令打开对应的应用程序之前,还包括:
向所述服务器发送授权请求;
接收所述服务器发送的与所述授权请求对应的授权成功的消息;
继续所述从服务器中获取第一插件列表。
在其中一个实施例中,所述向所述服务器发送授权请求之后,还包括:
接收所述服务器发送的与所述授权请求对应的授权失败的消息;
显示所述授权失败的消息;
获取与所述授权失败消息对应的注册信息;
根据所述注册信息生成注册请求,并将所述注册请求发送至所述服务器;
当所述服务器通过所述注册请求时,继续所述从服务器中获取第一插件列表。
在其中一个实施例中,所述方法还包括:
当所述本地宿主版本不支持所述待更新插件时,则接收针对所述本地宿主版本的升级指令;
根据所述升级指令更新所述本地宿主版本。
在其中一个实施例中,所述从所述服务器下载并安装所述待更新插件,包括:
从所述服务器下载待更新插件的安装包;
验证所述安装包的签名信息;
待所述签名信息验证成功后,根据所述安装包安装所述待更新插件。
在其中一个实施例中,所述服务器下载并安装所述待更新插件之后,还包括:
从所述服务器获取更新数据;
在所述应用程序中定位到与所述更新数据对应的插件;
打开所述插件。
一种插件更新装置,所述装置包括:
应用程序启动指令获取模块,用于获取应用程序启动指令,根据所述应用程序启动指令打开对应的应用程序;
插件列表获取模块,用于从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表;
插件更新监测模块,用于根据所述第一插件列表和所述第二插件列表检测是否存在待更新插件;
宿主版本读取模块,用于当存在所述待更新插件时,则获取本地宿主版本;
插件更新模块,用于检测所述本地宿主版本是否支持所述待更新插件的运行,若支持,则从所述服务器下载并安装所述待更新插件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。
上述插件更新方法、装置、计算机设备和存储介质,在获取到启动应用程序的应用程序启动指令时,通过比对从服务器中获取的第一插件列表和本地预设位置存储的第二插件列表,检测服务器上是否存在需要更新的待更新插件,若存在,则验证本地的宿主版本是否可以支持待更新插件的运行,若可以,则从服务器下载并安装待更新的插件,待插件更新完毕后,再运行应用程序。上述插件更新方法,通过比对从服务器中获取的第一插件列表和本地预设位置存储的第二插件列表,全面检测应用程序中的插件是否需要更新,且保证本地宿主版本能够支持待更新插件的运行,在每一次程序被启动时,都执行上述操作,保证应用程序的正常运行。
附图说明
图1为一个实施例中插件更新方法的应用场景图;
图2为一个实施例中插件更新方法的流程示意图;
图3为一个实施例中图2中的步骤S210的流程示意图;
图4为一个实施例中插件更新装置的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的插件更新方法,可以应用于如图1所示的应用环境中。其中,终端与服务器通过网络进行通信。终端接收到应用程序启动指令后,通过比对从服务器中获取的第一插件列表和本地预设位置存储的第二插件列表,检测服务器上是否存在需要更新的待更新插件,若存在,则在本地的宿主版本支持待更新插件的运行的情况下,从服务器下载并安装待更新的插件,待插件更新完毕后,再运行应用程序。其中,终端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种插件更新方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:
S202,接收应用程序启动指令,根据应用程序启动指令打开对应的应用程序。
其中,应用程序启动指令是终端获取的打开应用程序的指令;可以是用户通过输入设备点击应用程序对应的图标、通知栏等打开应用程序的指令,也可以是服务器等设备通过网络等连接方式打开应用程序的指令。
具体地,当终端获取到启动应用程序的应用程序启动指令后,开始运行此应用程序。
S204,从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表。
其中,第一插件列表是服务器上用于统计发布的所有插件和插件的版本的列表;当开发人员在服务器上发布新的插件或插件版本时,会对此第一插件列表进行更新,保证此第一插件列表能够始终反映服务器上的插件的实时情况。
本地存储预设位置是用于在终端的上存储第二插件列表的位置,如应用程序中对应的文件夹等。
第二插件列表是终端上用于统计本地已安装的插件和插件版本的列表;当在终端从服务器上下载并安装此应用程序后,则将服务器上的插件列表同步到终端的本地存储预设位置,每次当本地的插件或插件版本发生更新后,则对应更新此终端上的第二插件列表,保证此第二插件列表能够始终反映此终端上的插件的实时情况。
具体地,在根据应用程序启动指令打开应用程序后,终端通过比对服务器上的第一插件列表和本地存储的第二插件列表,来检测是否需要对安装在本地应用程序中的插件进行更新,故终端先从服务器上获取第一插件列表,然后从本地存储预设位置中读取第二插件列表。
S206,根据第一插件列表和第二插件列表检测是否存在待更新插件。
其中,待更新插件是第一插件列表与第二插件列表不同的部分,即在上一次终端上的插件更新后服务器上新发布的插件。可以是终端上未安装的插件,也可以是终端上已安装的插件的最新版本。
具体地,终端根据步骤S204中获取到第一插件列表和第二插件列表后,比较二者是否相同,若相同,则不存在待更新插件;若不同,则可认为服务器上存在此终端待更新的插件。
可选地,第一插件列表和第二插件列表不同的情况,可以是第一插件列表中的插件项目数超过第二插件列表,则服务器上可能发布了新插件,可通过后续步骤在终端上安装此新插件;也可以是第一插件列表与第二插件列表中的项目数相同,但是其中的插件名称不同,则服务器上可能发布了本终端已安装的某些插件的新版本,可通过后续步骤升级此插件。其中,在开发人员在服务器发布插件和插件版本时,可以按照统一的命名格式来更新插件列表,如同一插件的不同版本名可按照开发时间的先后顺序形成对应的递增数组,并在发布某一插件的最新版本后,在插件列表中覆盖此插件的历史版本,方便终端比对第一插件列表和第二插件列表。
S208,当存在待更新插件时,则获取本地宿主版本。
其中,本地宿主版本是终端上安装的应用程序中的宿主版本,用于支持终端上安装的插件的运行。服务器上发布的插件是基于宿主开发的,在终端从服务器中下载应用程序时,是下载了一个能够支持插件运行的宿主和终端下载应用程序时服务器上最新的插件列表中的插件,之后每次终端执行本申请中的插件更新方法更新的插件都是基于本地的宿主版本运行的。
具体地,当终端通过应用程序检测到服务器中存在待更新插件时,需要读取当前安装在终端上的应用程序中的本地的宿主版本。
S210,检测本地宿主版本是否支持待更新插件的运行,若支持,则从服务器下载并安装待更新插件。
具体地,由于插件在终端上面运行都要基于本地宿主版本,故在终端更新本地的插件之前,需要先检测待更新插件是否能够在本地宿主版本下运行,若能够运行,则终端从服务器上下载待更新插件,并安装下载的待更新插件,完成终端上的插件更新流程。
可选地,在终端从服务器下载并安装待更新插件之前或在下载、安装过程中,若终端获取到拦截更新或拦截安装的指令,则终端不继续执行对应的从下载或安装待更新插件的步骤。其中,拦截更新或拦截安装的指令可以是用户输入终端的强制停止指令,也可以是其他应用(如杀毒软件等)发送的更新拦截指令。
上述插件更新方法,在接收到启动应用程序的应用程序启动指令时,通过比对从服务器中获取的第一插件列表和本地预设位置存储的第二插件列表,检测服务器上是否存在需要更新的待更新插件,若存在,则验证本地的宿主版本是否可以支持待更新插件的运行,若可以,则从服务器下载并安装待更新的插件,待插件更新完毕后,再运行应用程序。上述插件更新方法,通过比对从服务器中获取的第一插件列表和本地预设位置存储的第二插件列表,全面检测应用程序中的插件是否需要更新,且保证本地宿主版本能够支持待更新插件的运行,在每一次程序被启动时,都执行上述操作,保证应用程序的正常运行。
在一个实施例中,请参见图3,上述插件更新方法中的步骤S210检测本地宿主版本是否支持待更新插件的运行,可以包括:
S302,读取待更新插件支持的最低宿主版本号。
其中,最低宿主版本号是保证此待更新插件能够运行的最低的宿主版本号;为了更好地支持插件的运行,开发人员可以对应用程序的宿主版本进行更新,而每一次对宿主版本更新时,宿主版本号也会随之变化,按照宿主版本的更新顺序,宿主版本号依次升高,版本号高的宿主能够继承版本号低的宿主的功能。
具体地,开发人员在服务器上发布新的插件或者插件版本的同时,需要发布其支持的最低宿主版本号,终端在检测到服务器上存在待更新插件后,先读取此待更新插件支持的最低宿主版本号。
S304,获取本地宿主版本的版本号。
其中,本地宿主版本的版本号是终端的应用程序中当前安装的宿主版本号。
具体地,终端可以通过应用程序获取当前安装在终端上的本地宿主版本号。可选地,终端可以读取应用程序的属性信息,从中获取本地宿主版本号。
S306,当本地宿主版本的版本号大于等于待更新插件支持的最低宿主版本号时,则本地宿主版本支持此待更新插件。
具体地,在开发团队在后台开发宿主版本时,按照一定的逻辑顺序对宿主版本号进行命名,因此当本地宿主版本的版本号大于等于待更新插件支持的最低宿主版本号时,则本地宿主版本支持此待更新插件。
S308,当本地宿主版本的版本号小于待更新插件支持的最低宿主版本号时,则本地宿主版本不支持此待更新插件。
具体地,当本地宿主版本的版本号小于待更新插件支持的最低宿主版本号时,则本地宿主版本不支持此待更新插件,即在终端上安装了此待更新插件,终端无法在运行此插件。
上述实施例中,提供了一个检测本地宿主版本是否支持待更新插件的运行方法,通过宿主版本号的命名和开发方式,保证了终端能够支持待更新插件的运行。
在一个实施例中,上述插件更新方法中的步骤S202根据应用程序启动指令打开对应的应用程序之前,还可以包括:向服务器发送授权请求;接收服务器发送的与授权请求对应的授权成功的消息;继续从服务器中获取第一插件列表。
其中,授权请求是终端向服务器发送的请求访问服务器上的数据的请求;可以为数据请求消息或登录消息等。
具体地,在终端根据应用程序启动指令打开应用程序之前,需要先向服务器发送授权请求,通过服务器的认证后,服务器会返回一个与授权请求对应的授权成功的消息,终端才有权限访问服务器,继续从服务器中获取第一插件列表。
上述实施例中,引入了必须授权成功的终端才可以访问服务器,提高了服务器与终端数据交互的安全性。
在一个实施例中,上述插件更新方法中的向服务器发送授权请求之后,还包括:接收服务器发送的与授权请求对应的授权失败的消息;显示授权失败的消息;获取与授权失败消息对应的注册信息;根据注册信息生成注册请求,并将注册请求发送至服务器;当服务器通过注册请求时,继续从服务器中获取第一插件列表。
其中,注册信息是终端根据授权失败的消息生成的、用于获取服务器授权的信息。例如,注册信息可以是操作终端的用户输入的用户名和密码等。
注册请求是终端根据注册信息生成的请求消息,如终端可以将用户名和密码等注册信息进行加密等处理,形成注册请求。
具体地,在上一实施例中,终端向服务器发送授权请求之后,若未通过服务器的认证。则服务器会给终端返回一个与授权请求对应的授权失败的消息,终端接收到此授权失败的消息之后,将此消息显示在终端的显示界面上;然后获取到注册信息后,根据注册信息生成注册请求,并将注册请求发送至服务器,再一次向服务器请求授权,当服务器通过注册请求时,终端通过服务器的授权,继续从服务器中获取第一插件列表的步骤。
可选地,在终端第一次运行此应用程序时,服务器可以要求用户通过用户名和密码进行注册,注册通过后,终端获取访问服务器的权限。
另外,上述终端访问服务器的权限可以具有时效性,如定义多种不同时效的注册类型,每一注册类型对应不同的有效时间,服务器根据终端发送的用户名可以识别此终端注册类型。服务器通过用户名对应的注册类型对此用户名的访问权限进行监控;若此用户名超过其对应的有效时间,则不允许终端再通过此用户名访问服务器;若想要继续访问,则需要终端重新发送授权请求。
上述实施例中,在终端要求服务器授权失败后,提供了一种重新请求授权的方法,与上一个实施例一起提高了服务器与终端数据交互的安全性。
在一个实施例中,上述插件更新方法,还可以包括:当本地宿主版本不支持待更新插件时,则接收针对本地宿主版本的升级指令;根据升级指令更新本地宿主版本。
其中,升级指令是用于升级本地宿主版本的指令;可以是使用终端的用户输入的开始升级宿主版本的命令等。
具体地,当终端识别到服务器上存在待更新的插件,但是本地的宿主版本不支持此待更新插件,在显示界面上展示插件更新失败的原因,告知用户需要升级本地宿主版本,若用户同意升级,则输入升级指令,终端从服务器获取新的宿主版本的安装包,并在本地安装新的宿主版本。
上述实施例中,通过升级本地宿主版本的方式,使得服务器上的待更新插件能够在终端上运行。
在一个实施例中,上述插件更新方法中的步骤S210从服务器下载并安装待更新插件,可以包括:从服务器下载待更新插件的安装包;验证安装包的签名信息;待签名信息验证成功后,根据安装包安装待更新插件。
其中,签名信息是用于检查待更新插件的安装包是否被篡改的依据,可以是待更新插件的安装包签名的哈希值。
具体地,终端从服务器上下载待更新插件的安装包后,先通过验证安装包的前面信息检测此安装包是否被篡改,签名信息验证成功,则表示此安装包未被篡改,不存在风险,可以继续在终端上安装此待更新插件。
可选地,终端可以从服务器中获取待更新插件的安装包的签名,然后根据哈希值计算方式计算此签名的哈希值,然后与安装包中提取的哈希值进行比对,若量哈希值相同吗,则签名信息验证成功。
上述实施例中,通过验证从服务器上下载的待更新插件的安装包的签名信息的方式,保证了安装在终端上的待更新插件的安全性。
在一个实施例中,上述插件更新方法中的步骤S210服务器下载并安装待更新插件之后,还可以包括:从服务器获取更新数据;在应用程序中定位到与更新数据对应的插件;打开插件。
其中,更新数据是服务器上发布的与插件对应数据,与服务器连接的终端可以通过此更新数据在终端界面展示对应的插件页面;开发人员可以在开发插件的过程中,给每个插件编辑对应的标识,则更新数据可以是插件对应的标识。
具体地,在终端上更新待更新插件后,终端可以进入应用程序的主页,此时如果服务器端存在更新数据,则终端进入此更新数据对应的插件,向使用终端的用户展示更新数据对应页面,达到推广更新数据对应插件的功能的效果。
上述实施例中,服务器通过发布更新数据,使得此时与服务器连接的终端能够根据更新数据向用户展示对应的页面,更好地管理与服务器连接的终端,实现实时性地推广此插件功能的效果。
与上述插件更新方法对应地,开发人员应基于与终端对应的宿主版本进行插件的开发,再将开发的插件发布到服务器上,以供终端下载。其步骤可以包括:建立宿主基座,并根据宿主基座生成基座包;导入基座包,根据此基座包在服务器上创建插件应用工程;在插件应用工程中开发待更新插件,并将待更新插件发布到服务器上。
在一个实施例中,提供了一次通过java(一种计算机开发语言)针对安装安卓***的终端的插件开发方法,此方法包括:
在虚拟机中,继承安卓***中的Intent类(Intent是安卓程序中三大组件(活动,广播,服务)之间传递消息的类),创建一个用于加载插件包的DLIntent类(DL,插件动态加载框架);通过安卓***标准读取插件包信息接口,获取插件包的信息;通过java反射机制,根据插件包中的类路径,加载插件的界面类,生成宿主基座。在上述宿主基座中定义一个执行安卓***中的Activity(安卓***的四大组件之一,可以提供一个屏幕,用户可以用来交互为了完成某项任务,Activity具有周期性;)声明周期的执行类,实现安卓***Activity代理功能;在上述宿主基座中定义一个执行安卓***Service(Service是安卓***的四大组件的另一组件,是一种长生命周期的,没有可视化界面,运行于后台的一种服务程序)声明周期的执行类,实现安卓***Service代理功能;将上述的宿主基座生成基座包。
导入基座包,创建插件的Activity和Service,此Activity和Service继承于宿主基座中的Activity声明周期的执行类和Service声明周期的执行类;创建插件应用工程,在插件工程中声明插件的Activity和Service。
在此插件工程中编译实现某一具体功能的插件,生成插件包。通过发布机制,将插件包上传到服务器上设定好的位置,此服务器上设定好的位置,可以供终端通过预先约定访问路径访问,并且可以下载此插件包。
而在上述实施例中,通过创建统一规范的宿主基座和根据宿主基座建立的插件应用工程,可以将插件开发的任务分散到不同的团队进行开发,实现多个开发团队同时协作开发,缓解开发压力。
应该理解的是,虽然图2至图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2至图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图4所示,提供了一种插件更新装置,包括:应用程序启动指令获取模块100、插件列表获取模块200、插件更新监测模块300、宿主版本读取模块400和插件更新模块500,其中:
应用程序启动指令获取模块100,用于获取应用程序启动指令,根据应用程序启动指令打开对应的应用程序。
插件列表获取模块200,用于从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表。
插件更新监测模块300,用于根据第一插件列表和第二插件列表检测是否存在待更新插件。
宿主版本读取模块400,用于当存在待更新插件时,则获取本地宿主版本。
插件更新模块500,用于检测本地宿主版本是否支持待更新插件的运行,若支持,则从服务器下载并安装待更新插件。
在一个实施例中,上述插件更新装置中的插件更新模块500,可以包括:
最低宿主版本单元,用于读取待更新插件支持的最低宿主版本号。
本地宿主版本单元,用于获取本地宿主版本的版本号。
支持单元,用于当本地宿主版本的版本号大于等于待更新插件支持的最低宿主版本号时,则本地宿主版本支持此待更新插件。
不支持单元,用于当本地宿主版本的版本号小于待更新插件支持的最低宿主版本号时,则本地宿主版本不支持此待更新插件。
在一个实施例中,上述插件更新装置,还可以包括:
授权请求模块,用于向服务器发送授权请求。
授权消息接收模块,用于接收服务器发送的与授权请求对应的授权成功的消息。
继续执行模块,用于继续从服务器中获取第一插件列表。
在一个实施例中,上述插件更新装置还可以包括:
失败消息模块,用于接收服务器发送的与授权请求对应的授权失败的消息。
失败通知模块,用于显示授权失败的消息。
注册信息获取模块,用于获取与授权失败消息对应的注册信息。
发送注册模块,用于根据注册信息生成注册请求,并将注册请求发送至服务器。
注册通过模块,用于当服务器通过注册请求时,继续从服务器中获取第一插件列表。
在一个实施例中,上述插件更新装置还可以包括:
宿主升级模块,用于当本地宿主版本不支持待更新插件时,则接收针对本地宿主版本的升级指令。
宿主更新模块,用于根据升级指令更新本地宿主版本。
在一个实施例中,上述插件更新装置中的插件更新模块500,可以包括:
安装包下载单元,用于从服务器下载待更新插件的安装包。
签名验证单元,用于验证安装包的签名信息。
插件更新单元,用于待签名信息验证成功后,根据安装包安装待更新插件。
在一个实施例中,上述插件更新装置中还可以包括:
更新数据获取模块,用于从服务器获取更新数据。
插件定位模块,用于在应用程序中定位到与更新数据对应的插件。
插件启动模块,用于打开功能分区。
关于插件更新装置的具体限定可以参见上文中对于插件更新方法的限定,在此不再赘述。上述插件更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图5所示。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种插件更新方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收应用程序启动指令,根据应用程序启动指令打开对应的应用程序;从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表;根据第一插件列表和第二插件列表检测是否存在待更新插件;当存在待更新插件时,则获取本地宿主版本;检测本地宿主版本是否支持待更新插件的运行,若支持,则从服务器下载并安装待更新插件。
在一个实施例中,处理器执行计算机程序时实现的检测本地宿主版本是否支持待更新插件的运行,可以包括:读取待更新插件支持的最低宿主版本号;获取本地宿主版本的版本号;当本地宿主版本的版本号大于等于待更新插件支持的最低宿主版本号时,则本地宿主版本支持此待更新插件;当本地宿主版本的版本号小于待更新插件支持的最低宿主版本号时,则本地宿主版本不支持此待更新插件。
在一个实施例中,处理器执行计算机程序时实现的向服务器发送授权请求之后,还可以包括:接收服务器发送的与授权请求对应的授权失败的消息;显示授权失败的消息;获取与授权失败消息对应的注册信息;根据注册信息生成注册请求,并将注册请求发送至服务器;当服务器通过注册请求时,继续从服务器中获取第一插件列表。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当本地宿主版本不支持待更新插件时,则接收针对本地宿主版本的升级指令;根据升级指令更新本地宿主版本。
在一个实施例中,处理器执行计算机程序时实现的从服务器下载并安装待更新插件,可以包括:从服务器下载待更新插件的安装包;验证安装包的签名信息;待签名信息验证成功后,根据安装包安装待更新插件。
在一个实施例中,处理器执行计算机程序时实现的服务器下载并安装待更新插件之后,还可以包括:从服务器获取更新数据;在应用程序中定位到与更新数据对应的插件;打开插件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收应用程序启动指令,根据应用程序启动指令打开对应的应用程序;从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表;根据第一插件列表和第二插件列表检测是否存在待更新插件;当存在待更新插件时,则获取本地宿主版本;检测本地宿主版本是否支持待更新插件的运行,若支持,则从服务器下载并安装待更新插件。
在一个实施例中,计算机程序被处理器执行时实现的检测本地宿主版本是否支持待更新插件的运行,可以包括:读取待更新插件支持的最低宿主版本号;获取本地宿主版本的版本号;当本地宿主版本的版本号大于等于待更新插件支持的最低宿主版本号时,则本地宿主版本支持此待更新插件;当本地宿主版本的版本号小于待更新插件支持的最低宿主版本号时,则本地宿主版本不支持此待更新插件。
在一个实施例中,计算机程序被处理器执行时实现的向服务器发送授权请求之后,还可以包括:接收服务器发送的与授权请求对应的授权失败的消息;显示授权失败的消息;获取与授权失败消息对应的注册信息;根据注册信息生成注册请求,并将注册请求发送至服务器;当服务器通过注册请求时,继续从服务器中获取第一插件列表。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当本地宿主版本不支持待更新插件时,则接收针对本地宿主版本的升级指令;根据升级指令更新本地宿主版本。
在一个实施例中,计算机程序被处理器执行时实现的从服务器下载并安装待更新插件,可以包括:从服务器下载待更新插件的安装包;验证安装包的签名信息;待签名信息验证成功后,根据安装包安装待更新插件。
在一个实施例中,计算机程序被处理器执行时实现的服务器下载并安装待更新插件之后,还可以包括:从服务器获取更新数据;在应用程序中定位到与更新数据对应的插件;打开插件。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种插件更新方法,所述方法包括:
接收应用程序启动指令,根据所述应用程序启动指令打开对应的应用程序;
从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表;
根据所述第一插件列表和所述第二插件列表检测是否存在待更新插件;
当存在所述待更新插件时,则获取本地宿主版本;
检测所述本地宿主版本是否支持所述待更新插件的运行,若支持,则从所述服务器下载并安装所述待更新插件;
当所述本地宿主版本不支持所述待更新插件时,则接收针对所述本地宿主版本的升级指令;
根据所述升级指令更新所述本地宿主版本;
从所述服务器获取更新数据;
在所述应用程序中定位到与所述更新数据对应的插件;
打开所述插件并在终端界面展示对应的插件页面。
2.根据权利要求1所述的方法,其特征在于,所述检测本地宿主版本是否支持所述待更新插件的运行,包括:
读取所述待更新插件支持的最低宿主版本号;
获取所述本地宿主版本的版本号;
当所述本地宿主版本的版本号大于等于所述待更新插件支持的最低宿主版本号时,则所述本地宿主版本支持此待更新插件;
当所述本地宿主版本的版本号小于所述待更新插件支持的最低宿主版本号时,则所述本地宿主版本不支持此待更新插件。
3.根据权利要求1所述的方法,其特征在于,所述根据所述应用程序启动指令打开对应的应用程序之前,还包括:
向所述服务器发送授权请求;
接收所述服务器发送的与所述授权请求对应的授权成功的消息;
继续所述从服务器中获取第一插件列表。
4.根据权利要求3所述的方法,其特征在于,所述向所述服务器发送授权请求之后,还包括:
接收所述服务器发送的与所述授权请求对应的授权失败的消息;
显示所述授权失败的消息;
获取与所述授权失败消息对应的注册信息;
根据所述注册信息生成注册请求,并将所述注册请求发送至所述服务器;
当所述服务器通过所述注册请求时,继续所述从服务器中获取第一插件列表。
5.根据权利要求1所述的方法,其特征在于,所述从所述服务器下载并安装所述待更新插件,包括:
从所述服务器下载待更新插件的安装包;
验证所述安装包的签名信息;
待所述签名信息验证成功后,根据所述安装包安装所述待更新插件。
6.一种插件更新装置,其特征在于,所述装置包括:
应用程序启动指令获取模块,用于获取应用程序启动指令,根据所述应用程序启动指令打开对应的应用程序;
插件列表获取模块,用于从服务器中获取第一插件列表,从本地存储预设位置读取第二插件列表;
插件更新监测模块,用于根据所述第一插件列表和所述第二插件列表检测是否存在待更新插件;
宿主版本读取模块,用于当存在所述待更新插件时,则获取本地宿主版本;
插件更新模块,用于检测所述本地宿主版本是否支持所述待更新插件的运行,若支持,则从所述服务器下载并安装所述待更新插件;
宿主升级模块,用于当所述本地宿主版本不支持所述待更新插件时,则接收针对所述本地宿主版本的升级指令;
宿主更新模块,用于根据所述升级指令更新所述本地宿主版本;
更新数据获取模块,用于从所述服务器获取更新数据;
插件定位模块,用于在所述应用程序中定位到与所述更新数据对应的插件;
插件启动模块,打开所述插件并在终端界面展示对应的插件页面。
7.根据权利要求6所述的装置,其特征在于,所述插件更新模块包括:
最低宿主版本单元,用于读取所述待更新插件支持的最低宿主版本号;
本地宿主版本单元,用于获取所述本地宿主版本的版本号;
支持单元,用于当所述本地宿主版本的版本号大于等于所述待更新插件支持的最低宿主版本号时,则所述本地宿主版本支持此待更新插件;
不支持单元,用于当所述本地宿主版本的版本号小于所述待更新插件支持的最低宿主版本号时,则所述本地宿主版本不支持此待更新插件。
8.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
CN201810548115.2A 2018-05-31 2018-05-31 插件更新方法、装置、计算机设备和存储介质 Active CN108845812B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810548115.2A CN108845812B (zh) 2018-05-31 2018-05-31 插件更新方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810548115.2A CN108845812B (zh) 2018-05-31 2018-05-31 插件更新方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN108845812A CN108845812A (zh) 2018-11-20
CN108845812B true CN108845812B (zh) 2024-04-05

Family

ID=64210183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810548115.2A Active CN108845812B (zh) 2018-05-31 2018-05-31 插件更新方法、装置、计算机设备和存储介质

Country Status (1)

Country Link
CN (1) CN108845812B (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109558148B (zh) * 2018-11-29 2020-01-14 网易(杭州)网络有限公司 路由器的插件安装方法、装置、设备及存储介质
CN111459514B (zh) * 2019-01-18 2023-06-23 普天信息技术有限公司 一种终端升级的处理方法、服务器及基站
CN110209416A (zh) * 2019-05-31 2019-09-06 彩讯科技股份有限公司 应用软件更新方法、装置、终端及存储介质
CN110543324B (zh) * 2019-08-27 2024-02-23 贝壳技术有限公司 一种应用程序的插件增量更新方法及装置
CN113568629A (zh) * 2020-04-28 2021-10-29 中车株洲电力机车研究所有限公司 基于can的软件升级方法、装置、计算机设备和存储介质
CN112416384A (zh) * 2020-06-11 2021-02-26 上海哔哩哔哩科技有限公司 软件升级方法、装置及计算机设备
CN112256295A (zh) * 2020-09-21 2021-01-22 北京达佳互联信息技术有限公司 应用程序的更新方法、装置、设备和存储介质
CN112148332B (zh) * 2020-09-30 2023-09-05 亮风台(上海)信息科技有限公司 工具化***及其更新方法、终端设备、存储介质
CN112162795B (zh) * 2020-10-09 2023-12-12 广州博冠信息科技有限公司 一种插件启动方法、装置、计算机设备和存储介质
CN112667996A (zh) * 2020-12-28 2021-04-16 南方电网数字电网研究院有限公司 变电站可信管理***、方法、装置和计算机设备
CN112783515B (zh) * 2021-02-08 2023-08-25 腾讯科技(深圳)有限公司 插件的控制方法和装置、存储介质
CN113055451B (zh) * 2021-03-08 2023-01-06 Oppo广东移动通信有限公司 资源下载方法、装置、电子设备及存储介质
CN113238785B (zh) * 2021-06-18 2023-10-20 腾讯科技(深圳)有限公司 一种应用程序的更新方法、相关装置、设备以及存储介质
CN113590179B (zh) * 2021-08-02 2024-03-12 上海米哈游璃月科技有限公司 插件检测方法、装置、电子设备及存储介质
WO2023123018A1 (zh) * 2021-12-29 2023-07-06 深圳晶泰科技有限公司 插件全生命周期的信息获取方法、装置及存储介质
CN114528048A (zh) * 2022-02-18 2022-05-24 Oppo广东移动通信有限公司 应用执行方法、应用执行架构、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104391690A (zh) * 2014-11-04 2015-03-04 中国石油天然气股份有限公司 一种应用开发***及方法
CN104699511A (zh) * 2015-03-27 2015-06-10 北京奇虎科技有限公司 插件升级方法及装置
CN104714827A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 插件更新方法及装置
CN104951322A (zh) * 2014-03-27 2015-09-30 腾讯科技(深圳)有限公司 插件管理方法、装置及***
CN105204879A (zh) * 2014-06-23 2015-12-30 小米科技有限责任公司 应用程序更新方法及装置
CN106375567A (zh) * 2016-08-31 2017-02-01 广州品唯软件有限公司 一种插件发布方法、***、客户端和服务端
CN107656750A (zh) * 2017-10-16 2018-02-02 深圳大宇无限科技有限公司 插件更新方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104951322A (zh) * 2014-03-27 2015-09-30 腾讯科技(深圳)有限公司 插件管理方法、装置及***
CN105204879A (zh) * 2014-06-23 2015-12-30 小米科技有限责任公司 应用程序更新方法及装置
CN104391690A (zh) * 2014-11-04 2015-03-04 中国石油天然气股份有限公司 一种应用开发***及方法
CN104699511A (zh) * 2015-03-27 2015-06-10 北京奇虎科技有限公司 插件升级方法及装置
CN104714827A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 插件更新方法及装置
CN106375567A (zh) * 2016-08-31 2017-02-01 广州品唯软件有限公司 一种插件发布方法、***、客户端和服务端
CN107656750A (zh) * 2017-10-16 2018-02-02 深圳大宇无限科技有限公司 插件更新方法及装置

Also Published As

Publication number Publication date
CN108845812A (zh) 2018-11-20

Similar Documents

Publication Publication Date Title
CN108845812B (zh) 插件更新方法、装置、计算机设备和存储介质
US20210271472A1 (en) Application Wrapping for Application Management Framework
Holla et al. Android based mobile application development and its security
US10073966B2 (en) Operating system-independent integrity verification
CN113238850B (zh) 基于浏览器的rpa实现方法、装置、设备及介质
CN106295255B (zh) 应用程序的加固方法和装置
CN110333868B (zh) 用于生成子应用的安装包的方法和***
CN105446713A (zh) 安全存储方法及设备
EP3163489B1 (en) Token-based control of software installation and operation
US11520604B2 (en) Accessing conflicting frameworks and classes
CN102034058A (zh) 应用软件安全控制方法及终端
US10771462B2 (en) User terminal using cloud service, integrated security management server for user terminal, and integrated security management method for user terminal
JP2017146967A (ja) 中間言語ファイルのロード速度改善のための方法およびシステム
CN107077342B (zh) 固件模块运行权限
US9354849B2 (en) Modification of compiled applications and application management using retrievable policies
JP2022502769A (ja) ファイルシステムの検証とインストール
KR20150030047A (ko) 애플리케이션 인증 방법 및 그 시스템
US10924280B1 (en) Digital notary use in distributed ledger technology (DLT) for block construction and verification
CN112527377A (zh) 应用程序生成处理方法、装置、计算机设备和存储介质
JP6781126B2 (ja) 仮想マシン設定投入システム、仮想マシン設定投入方法、及びプログラム
CN104484198A (zh) 一种安装应用程序的方法和装置
US20230153093A1 (en) Systems and methods for managing workspaces in a heterogeneous workspace environment
CN113259320A (zh) 验证方式动态安装方法、***、电子装置和存储介质
Heinl et al. Android security
Heinl Android security: Creation of a virtual learning environment

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