CN110837377A - 一种应用程序的更新方法及装置、存储介质、电子设备 - Google Patents
一种应用程序的更新方法及装置、存储介质、电子设备 Download PDFInfo
- Publication number
- CN110837377A CN110837377A CN201810929797.1A CN201810929797A CN110837377A CN 110837377 A CN110837377 A CN 110837377A CN 201810929797 A CN201810929797 A CN 201810929797A CN 110837377 A CN110837377 A CN 110837377A
- Authority
- CN
- China
- Prior art keywords
- application program
- state
- graphical interface
- updating
- 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.)
- Granted
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
-
- 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
- Y02D10/00—Energy 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)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种应用程序的更新方法及装置、存储介质、电子设备,该应用程序的更新方法包括:建立应用程序所依赖的图形界面环境,其中,所述应用程序为带有图形界面的应用程序;基于所述图形界面环境,检测所述应用程序是否需要更新;在检测到所述应用程序需要更新时,检测所述应用程序的当前运行状态是否为停止运行状态;如果是,则更新所述应用程序。因此,本发明提供的方案可以提高对带有图形界面的应用程序进行更新的自动化程度。
Description
技术领域
本发明实施例涉及计算机技术领域,特别是涉及一种应用程序的更新方法及装置、存储介质、电子设备。
背景技术
随着计算机技术的发展,越来越多具有不同功能的带有图形界面的应用程序被开发出来。这些应用程序可以应用在客户端(比如电脑、手机、平板电脑等智能设备)上,极大的丰富了人们的日常生活。
目前,应用程序在应用过程中,会根据其应用中的问题以及客户需求对应用程序进行更新升级。现在当更新应用程序时,通常需要用户获取新版本的应用程序,且需要用户手动操作来对应用程序进行更新。也就是在应用程序的更新过程中必须有人员进行值守,否则应用程序将无法更新。可见,现有的方式,应用程序需要人员进行手动更新。
发明内容
有鉴于此,本发明实施例提出了一种应用程序的更新方法及装置、存储介质、电子设备,主要目的在于可以提高对带有图形界面的应用程序进行更新的自动化程度。
第一方面,本发明实施例提供了一种应用程序的更新方法,该应用程序的更新方法包括:
建立应用程序所依赖的图形界面环境,其中,所述应用程序为带有图形界面的应用程序;
基于所述图形界面环境,检测所述应用程序是否需要更新;
在检测到所述应用程序需要更新时,检测所述应用程序的当前运行状态是否为停止运行状态;
如果是,则更新所述应用程序。
可选的,所述建立应用程序所依赖的图形界面环境,包括:
获取预先注册的登录账户,并通过所述登录账户登录所述应用程序,以便在登录成功时启用所述应用程序的图形界面;
当检测到所述图形界面启用时,锁定所述图形界面,得到所述图形界面环境。
可选的,所述方法还包括:
在检测到所述应用程序的当前运行状态不是停止运行状态,则向所述应用程序发送停止运行命令,以使所述应用程序根据所述停止运行命令进入停止运行状态。
可选的,所述当前运行状态包括忙碌状态、空闲状态和停止运行状态,所述检测所述应用程序的当前运行状态是否为停止运行状态,包括:
检测当前时间是否存在所述应用程序对应的忙碌状态标识;其中,所述忙碌状态标识是预先设定的,当所述应用程序处于忙碌状态时存在;
如果检测到存在所述忙碌状态标识,则确定所述应用程序的当前运行状态为忙碌状态;
如果检测到不存在所述忙碌状态标识,则检测当前时间是否开启所述应用程序对应的执行界面,并在检测到开启所述执行界面后,确定所述应用程序的当前运行状态为空闲状态;以及,在检测到未开启所述执行界面后,确定所述应用程序的当前运行状态为停止运行状态。
可选的,所述检测所述应用程序是否需要更新,包括:
实时或以预设周期,检测所述应用程序的当前版本信息是否与外部的远端服务器中的所述应用程序的最新版本信息一致;
如果不一致,则确定所述应用程序需要更新;
否则,确定所述应用程序不需要更新。
可选的,所述更新所述应用程序,包括:
从外部的远端服务器中下载最新版本的所述应用程序;
采用最新版本的所述应用程序更新当前版本的所述应用程序。
第二方面,本发明实施例提供了一种应用程序的更新装置,该应用程序的更新装置包括:
建立模块,用于建立应用程序所依赖的图形界面环境,其中,所述应用程序为带有图形界面的应用程序;
更新检测模块,用于基于所述建立模块建立的所述图形界面环境,检测所述应用程序是否需要更新;
状态检测模块,用于在所述更新检测模块检测到所述应用程序需要更新时,检测所述应用程序的当前运行状态是否为停止运行状态,如果是,触发更新模块;
更新模块,用于在所述状态检测模块的触发下,更新所述应用程序。
可选的,所述建立模块,包括:登录子模块以及形成子模块;
所述登录子模块,用于获取预先注册的登录账户,并通过所述登录账户登录所述应用程序,以便在登录成功时启用所述应用程序的图形界面;
所述形成子模块,用于当检测到所述图形界面启用时,锁定所述图形界面,得到所述图形界面环境。
可选的,所述装置还包括:
所述命令发送模块,用于在所述状态检测模块检测到所述应用程序的当前运行状态不是停止运行状态,则向所述应用程序发送停止运行命令,以使所述应用程序根据所述停止运行命令进入停止运行状态。
可选的,所述当前运行状态包括忙碌状态、空闲状态和停止运行状态,所述状态检测模块,包括:
第一检测子模块,用于检测当前时间是否存在所述应用程序对应的忙碌状态标识;其中,所述忙碌状态标识是预先设定的,当所述应用程序处于忙碌状态时存在;
第一确定子模块,用于在所述第一检测子模块检测到存在所述忙碌状态标识后,确定所述应用程序的当前运行状态为忙碌状态;
第二检测子模块,用于在所述第一检测子模块检测到不存在所述忙碌状态标识后,检测当前时间是否开启所述应用程序对应的执行界面;
第二确定子模块,用于在所述第二检测子模块检测到开启所述执行界面后,确定所述应用程序的当前运行状态为空闲状态;
第三确定子模块,用于在所述第二检测子模块检测到未开启所述执行界面后,确定所述应用程序的当前运行状态为停止运行状态。
可选的,所述更新检测模块包括:
第三检测子模块,用于实时或以预设周期,检测所述应用程序的当前版本信息是否与外部的远端服务器中的所述应用程序的最新版本信息一致;
第四确定子模块,用于在所述第三检测子模块检测到版本信息不一致时,确定所述应用程序需要更新;在所述第三检测子模块检测到版本信息一致时,确定所述应用程序不需要更新。
可选的,所述更新模块,包括:下载子模块以及更新子模块;
所述下载子模块,用于从外部的远端服务器中下载最新版本的所述应用程序;
所述更新子模块,用于采用所述下载子模块下载的最新版本的所述应用程序更新当前版本的所述应用程序。
第三方面,本发明实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述中任意一项所述的应用程序的更新方法。
第四方面,本发明实施例提供了一种电子设备,所述电子设备中包括处理器、存储器和总线;所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行上述中任意一项所述的应用程序的更新方法。
本发明实施例提供了一种应用程序的更新方法及装置、存储介质、电子设备,该方法包括首先建立带有图形界面的应用程序所依赖的图形界面环境,然后基于建立的图形界面环境检测应用程序是否需要更新。其中,图形界面,又可以被称为图形用户界面(Graphical User Interface)。在检测应用程序需要更新时,则检测应用程序的当前运行状态是否为停止运行状态。在检测到应用程序的当前运行状态为停止运行状态时,更新应用程序。通过上述可知,在本发明实施例中在建立应用程序所依赖的图形界面环境之后,便可以检测应用程序是否需要更新,并根据检测结果对应用程序进行更新处理。可见在应用程序的更新过程中并不需要人工干预。因此,本发明实施例提供的方案可以提高对带有图形界面的应用程序进行更新的自动化程度。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明一个实施例提供的一种应用程序的更新方法的流程图;
图2示出了本发明另一个实施例提供的一种应用程序的更新方法的流程图;
图3示出了本发明一个实施例提供的一种应用程序的更新装置的结构示意图;
图4示出了本发明另一个实施例提供的一种应用程序的更新装置的结构示意图;
图5示出了本发明又一个实施例提供的一种应用程序的更新装置的结构示意图;
图6示出了本发明又一个实施例提供的一种应用程序的更新装置的结构示意图;
图7示出了本发明又一个实施例提供的一种应用程序的更新装置的结构示意图;
图8示出了本发明又一个实施例提供的一种应用程序的更新装置的结构示意图;
图9示出了本发明一个实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明实施例提供了一种应用程序的更新方法,该应用程序的更新方法包括:
步骤101:建立应用程序所依赖的图形界面环境,其中,所述应用程序为带有图形界面的应用程序;
步骤102:基于所述图形界面环境,检测所述应用程序是否需要更新;
步骤103:在检测到所述应用程序需要更新时,检测所述应用程序的当前运行状态是否为停止运行状态,如果是,执行步骤104;
步骤104:更新所述应用程序。
根据图1所示的实施例,首先建立带有图形界面的应用程序所依赖的图形界面环境,然后基于建立的图形界面环境检测应用程序是否需要更新。其中,图形界面,又可以被称为图形用户界面(Graphical User Interface)。在检测应用程序需要更新时,则检测应用程序的当前运行状态是否为停止运行状态。在检测到应用程序的当前运行状态为停止运行状态时,更新应用程序。通过上述可知,在本发明实施例中在建立应用程序所依赖的图形界面环境之后,便可以检测应用程序是否需要更新,并根据检测结果对应用程序进行更新处理。可见在应用程序的更新过程中并不需要人工干预。因此,本发明实施例提供的方案可以提高对带有图形界面的应用程序进行更新的自动化程度。
在本发明一个实施例中,在上述图1所示流程图中的步骤103检测到所述应用程序的当前运行状态不是停止运行状态时,则向所述应用程序发送停止运行命令,以使所述应用程序根据所述停止运行命令进入停止运行状态。
在本实施例中,在检测到应用程序的当前运行状态不是停止运行状态时,向应用程序发送停止运行命令,以使应用程序根据停止运行命令进入停止运行状态。停止运行命令的具体型式可以根据业务要求确定。但需要注意的是,停止运行命令应与应用程序约定好,以便在应用程序接收到停止运行命令时可以根据停止运行命令进入停止运行状态。
在本实施例中,应用程序根据停止运行命令进入停止运行状态至少存在如下三种情况:
第一种,在应用程序接收到停止运行命令时,立即停止当前执行的任务进入停止运行状态。
第二种,在应用程序接收到停止运行命令时,继续执行当前执行的任务,在当前执行的任务结束时不再执行其他新的任务,进入停止运行状态。
第三种,在应用程序接收到停止运行命令时,继续执行当前执行的任务。在时间达到预设的时间点时,如果当前执行的任务还未结束时,则停止当前执行的任务进入停止运行状态。
根据上述实施例,在应用程序不是停止运行状态时,在更新应用程序之前均需要利用停止运行命令停止运行应用程序。以便在更新应用程序时应用程序没有运行,从而降低应用程序更新中出现错误以及混乱的概率。
在本发明一个实施例中,上述图1所示的流程图中的步骤101建立应用程序所依赖的图形界面环境,可以包括:
获取预先注册的登录账户,并通过所述登录账户登录所述应用程序,以便在登录成功时启用所述应用程序的图形界面;
当检测到所述图形界面启用时,锁定所述图形界面,得到所述图形界面环境。
在本实施例中,预设注册的登录账户中包括的具体内容可以根据业务要求确定。比如,登录账户中可以包括但不限于用户名和密码。
在本实施例中,应用程序可以部署在客户端中。在客户端启动后会获取到登录账户,可以立即或在预设的时间点利用登录账户登录应用程序,以便在成功登录应用程序后启用图像界面。
在本实施例中,在检测到图形界面被启用时锁定图形界面以得到图形界面环境,以便可以对应用程序进行更新。
根据上述实施例,通过预先注册的登录账户登录启用图形界面,并对图形界面进行锁定得到图形界面环境,在建立图形界面环境时并不需要用户人工手动的去建立。因此,即使在无人值守的情况下,也可以自动建立图形界面环境。
在本发明一个实施例中,上述图1所示的流程图中的步骤102所涉及的检测所述应用程序是否需要更新,可以包括:
实时或以预设周期,检测所述应用程序的当前版本信息是否与外部的远端服务器中的所述应用程序的最新版本信息一致;
如果不一致,则确定所述应用程序需要更新;
否则,确定所述应用程序不需要更新。
在本实施例中,检测应用程序的当前版本信息是否与外部的远端服务器中的应用程序的最新版本信息一致,至少可以存在以下三种情况:
第一种,实时检测应用程序的当前版本信息是否与外部的远端服务器中的应用程序的最新版本信息一致。
第二种,以预设周期检测应用程序的当前版本信息是否与外部的远端服务器中的应用程序的最新版本信息一致。其中,预设周期可以根据业务要求确定,比如,1秒、0.5秒、3秒、1分钟、一天、一周、一个月。
第三种,在接收到外部输入的检测指令时,检测应用程序的当前版本信息是否与外部的远端服务器中的应用程序的最新版本信息一致。
上述的第一种和第二种情况由于不需要业务人员干预便可以自动的去检测,因此检测的自动化水平较高。上述的第三种情况由于在业务人员有检测需求时就可以发送检测指令,因此第三种业务应用较为灵活。比如,在未达到预设周期时,也可以通过检测指令的方式来检测应用程序的当前版本信息是否与外部的远端服务器中的应用程序的最新版本信息一致。
在本实施例中,应用程序的版本信息可以包括但不限于版本号。检测应用程序的当前版本信息是否与外部的远端服务器中的应用程序的最新版本信息一致,可以包括:检测应用程序的当前版本号是否与远端服务器中该应用程序的最新版本号一致。如果检测出一致,则说明远端服务器中的该应用程序为原有版本,则该应用程序不需要更新。如果检测出不一致,则说明远端服务器中的该应用程序为最新的版本,则该应用程序需要更新。
在本实施例中,举例说明:客户端1中存在应用程序A。以预设周期1秒检测应用程序A的当前版本号是否与远端服务器中的应用程序A的最新版本号一致。客户端1中的应用程序A的当前版本号为1.0,而远端服务器中的应用程序A的最新版本号为2.0。显然检测出应用程序A的当前版本号与远端服务器中的应用程序A的最新版本号不一致,则检测出客户端1中的应用程序A需要更新。
根据上述实施例,由于是利用应用程序的版本信息来确定应用程序是否需要更新的。因此,一旦远端服务器中的应用程序的版本信息有变化时,就可以及时的检测出应用程序需要更新。
在本发明一个实施例中,所述当前运行状态包括忙碌状态、空闲状态和停止运行状态,其中,忙碌状态和空闲状态可以被认为是非停止运行状态,则当前运行状态可以包括:停止运行状态和非停止运行状态两大类。
上述图1所示的流程图中的步骤103所述检测所述应用程序的当前运行状态是否为停止运行状态,可以包括:
检测当前时间是否存在所述应用程序对应的忙碌状态标识;其中,所述忙碌状态标识是预先设定的,当所述应用程序处于忙碌状态时存在;
如果检测到存在所述忙碌状态标识,则确定所述应用程序的当前运行状态为忙碌状态;
如果检测到不存在所述忙碌状态标识,则检测当前时间是否开启所述应用程序对应的执行界面,并在检测到开启所述执行界面后,确定所述应用程序的当前运行状态为空闲状态;以及,在检测到未开启所述执行界面后,确定所述应用程序的当前运行状态为停止运行状态。
在本实施例中,忙碌状态标识的具体型式可以根据业务要求确定。比如,可选的,忙碌状态标识可以为一个具有特定名称,且具有特定文件类型的文件,也可以为一个标识符号。在应用程序在执行任务处于忙碌状态时,忙碌状态标识将自动出现,以便能够直观看出当前应用程序正在执行任务。在应用程序执行完任务时,忙碌状态标识将自动消失。
在本实施例中,举例说明:忙碌状态标识为“忙碌.TXT”。应用程序A在当前时间正在执行任务,则存在忙碌状态标识“忙碌.TXT”。当前时间存在应用程序A对应的忙碌状态标识“忙碌.TXT”,则判断应用程序A的当前运行状态为忙碌状态。由于应用程序在处于忙碌状态时,会存在忙碌状态指示文件。因此,可以根据忙碌状态指示文件的存在状态准确的判断出应用程序是否处于忙碌状态。
在本实施例中,在检测到应用程序的当前运行状态为忙碌状态时,向应用程序发送停止运行命令,以使应用程序根据停止运行命令进入停止运行状态。停止运行命令的具体型式可以根据业务要求确定。但需要注意的是,停止运行命令应与应用程序约定好,以便在应用程序接收到停止运行命令时可以根据停止运行命令进入停止运行状态。
在本实施例中,举例说明:判断应用程序A的当前运行状态是应用程序A处于执行任务1的忙碌状态。则向应用程序A发送停止运行命令1。在应用程序A接收到停止运行命令1时,立即停止执行任务1进入停止运行状态。
在本实施例中,在检测到不存在忙碌状态标识时,继续检测当前时间是否开启应用程序对应的执行界面。在检测到开启执行界面时,当前程序处于空闲状态并未执行任务,此时需要关闭执行界面,以便应用程序进入停止运行状态。在检测到未开启执行界面时,当前程序处于停止运行状态,此时可以直接对应用程序执行相关的更新操作。
根据上述实施例,无论应用程序的当前运行状态是空闲状态还是忙碌状态,也即,当应用程序的当前运行状态为非停止运行状态时,在更新应用程序之前均需要停止运行应用程序。以便在更新应用程序时应用程序没有运行,从而降低应用程序更新中出现错误以及混乱的概率。
在本发明一个实施例中,上述图1所示的流程图中的步骤104中更新所述应用程序,可以包括:
从外部的远端服务器中下载最新版本的所述应用程序;
采用最新版本的所述应用程序更新当前版本的所述应用程序。
在本实施例中,远端服务器的具体类型可以根据业务要求确定。比如,远端服务器可以为云平台类型的远端服务器。
在本实施例中,举例说明:从外部的远端服务器中下载最新版本(2.0版本)的应用程序A,采用最新版本(2.0版本)的应用程序A更新当前版本(1.0版本)的应用程序A。
在本实施例中,在从外部的远端服务器中下载最新版本的所述应用程序之后,且在采用最新版本的应用程序更新当前版本的所述应用程序之前,还可以包括:对下载的最新版本的应用程序进行验证,在验证下载的最新版本的应用程序安全时,利用下载的最新版本的应用程序更新当前版本的所述应用程序。其中,验证方法可以利用验签的方法进行验证,且可以对下载的最新版本的应用程序进行排除病毒、排除木马等安全处理。
根据上述实施例,由于最新版本的应用程序是从远端服务器中下载的,下载来源较为明确。因此,最新版本的应用程序的安全性较高。
在本发明一个实施例中,上一个实施例中所涉及的采用最新版本的所述应用程序更新当前版本的所述应用程序,至少可以包括如下两种方法:
第一种方法:
在本发明一个实施例中,上一个实施例中所涉及的采用最新版本的所述应用程序更新当前版本的所述应用程序,可以包括:
确定最新版本的所述应用程序对应的所有文件;
在所述所有文件中,查找与当前版本的所述应用程序对应的文件存在不同以及在当前版本的所述应用程序对应的文件中不存在的目标文件;
利用查找到的目标文件更新当前版本的所述应用程序。
在本实施例中,在最新版本的应用程序对应的所有文件中,查找与当前版本的应用程序对应的文件存在不同以及在当前版本的应用程序对应的文件中不存在的目标文件,可以包括:
针对最新版本的应用程序对应的每一个文件分别执行:
判断当前版本的应用程序对应的文件中是否存在该文件对应的文件;
如果当前版本的应用程序对应的文件中存在该文件,则继续判断该文件是否与对应的文件一致;
如果该文件与对应的文件不一致,则确定该文件为目标文件;
如果当前版本的应用程序对应的文件中不存在该文件,则确定该文件为目标文件。
在本实施例中,举例说明:最新版本的应用程序对应的所有文件包括文件1、文件2、文件3、文件4以及文件5。在最新版本的应用程序对应的所有文件中,查找出文件1与当前版本的应用程序A中的文件1存在不同以及查找出文件5在当前版本的应用程序A中的文件中不存在。则利用查找到的文件1替换当前版本的应用程序A中的文件1以及将文件5直接添加到当前版本的应用程序A的文件中,从而完成当前版本的应用程序A的更新。
在本实施例中,当前版本的应用程序更新完成时,如果在应用程序有启动要求时,需要启动应用程序,以使在应用程序启动后对应用程序在本地(在应用程序安装在客户端时,该客户端就为本地)的配置文件进行更新,以便在为应用程序的后续运行提供执行依据。
根据上述实施例,由于仅利用在最新版本的应用程序对应的所有文件中与当前版本的应用程序对应的文件存在不同以及在当前版本的应用程序对应的文件中不存在的目标文件来更新应用程序。因此减少了更新量,从而提高了更新速度。
第二种方法:
在本发明一个实施例中,采用最新版本的所述应用程序更新当前版本的所述应用程序,可以包括:
确定所述最新版本的应用程序对应的所有文件;
利用所述所有文件替换当前版本的应用程序对应的所有文件。
根据上述实施例,由于利用最新版本的应用程序对应的所有文件对当前版本的应用程序对应的文件进行整体替换和更新,因此,更新过程较为简单,出错率较低。
在本发明一个实施例中,在上述图1所示的流程图中的步骤104更新所述应用程序之后,可以继续执行上述图1所示的流程图中的步骤102,以在应用程序再次需要更新时,对应用程序继续更新。
在本发明一个实施例中,应用程序的数量可以根据业务要求确定。
在应用程序的数量为一个时,建立的图形界面环境就是该应用程序所依赖的图形界面环境。
在应用程序的数量为多个时,建立的图形界面环境就是多个应用程序所依赖的图形界面环境。基于图形界面环境可以对这些多个应用程序进行更新处理。
在本实施例中,应用程序可以为部署在客户端上的应用程序。该客户端的型式可以根据业务要求确定。比如,客户端可以包括但不限于手机、平台电脑、台式电脑、服务器等。
下面以部署在客户端A上的应用程序A为例,对应用程序的更新方法进行说明,如图2所示,该应用程序的更新方法可以包括:
步骤201:获取预先注册的登录账户,并通过登录账户登录应用程序对应的图形界面,以便在登录成功时启用应用程序的图形界面。
在本步骤中,在客户端A启动时,通过登录账户“用户名和密码”登录应用程序A对应的图形界面,以便在登录成功时启用应用程序A的图形界面。
步骤202:当检测到图形界面启用时,锁定图形界面,得到图形界面环境。
在本步骤中,在图形界面启用时,锁定图形界面形成图形界面环境。
步骤203:基于图形界面环境,以预设周期检测应用程序的当前版本信息是否与外部的远端服务器中的最新应用程序的版本信息一致;如果是,继续执行本步骤;否则,执行步骤204。
在本步骤中,以1秒的周期检测应用程序A的当前版本信息“版本号”是否与远端服务器中的应用程序A的最新版本信息“版本号”一致。经过检测应用程序A的当前版本信息“版本号1.0”与远端服务器中的应用程序A的最新版本信息“版本号2.0”不一致,执行步骤204。
步骤204:确定应用程序需要更新,并检测当前时间是否存在应用程序对应的忙碌状态标识;其中,忙碌状态标识是预先设定的,当应用程序处于忙碌状态时存在。如果是,执行步骤205;否则,执行步骤206。
在本步骤中,检测出应用程序A需要更新,判断当前时间存在应用程序A对应的忙碌状态标识“忙碌.TXT”,执行步骤205。
步骤205:检测到应用程序的当前运行状态为忙碌状态,并向应用程序发送停止运行命令,以使应用程序根据停止运行命令进入停止运行状态,并执行步骤209。
在本步骤中,判断应用程序A的当前运行状态为忙碌状态,向应用程序A发送停止运行命令,以使应用程序A根据停止运行命令立即进入到停止运行状态。
步骤206:继续检测当前时间是否开启应用程序对应的执行界面,如果是,执行步骤207;否则,执行步骤208。
步骤207:检测到应用程序的当前运行状态为空闲状态,并关闭执行界面,以使应用程序进入停止运行状态,并执行步骤209。
步骤208:检测到应用程序的当前运行状态为停止运行状态。
步骤209:在应用程序为停止运行状态时,从外部的远端服务器中下载最新版本的应用程序。
在本步骤中,从远端服务器中下载最新版本的应用程序“2.0版本的应用程序A”。
步骤210:确定最新版本的应用程序对应的所有文件。
在本步骤中,最新版本的应用程序对应的所有文件包括文件1、文件2、文件3、文件4以及文件5。
步骤211:在最新版本的应用程序对应的所有文件中,查找与当前版本的应用程序对应的文件存在不同以及在当前版本的应用程序对应的文件中不存在的目标文件。
在本步骤中,在最新版本的应用程序对应的所有文件中,查找出文件1与当前版本的应用程序A中的文件1存在不同以及查找出文件5在当前版本的应用程序A中的文件中不存在。
步骤212:利用查找到的目标文件更新应用程序,并执行步骤203。
在本步骤中,利用查找到的文件1替换当前版本的应用程序A中的文件1以及将文件5直接添加到当前版本的应用程序A的文件中,从而完成应用程序A的更新。然后继续执行步骤203,以便在远端服务器中的应用程序A的版本信息有变化时,可以继续对客户端A中的应用程序A进行更新。
如图3所示,本发明实施例提供了一种应用程序的更新装置,该应用程序的更新装置包括:
建立模块301,用于建立应用程序所依赖的图形界面环境;
更新检测模块302,用于基于所述建立模块301建立的所述图形界面环境,检测所述应用程序是否需要更新;
状态检测模块303,用于在所述更新检测模块302检测到所述应用程序需要更新时,检测所述应用程序的当前运行状态是否为停止运行状态,如果是,触发更新模块304;
更新模块304,用于在所述状态检测模块303的触发下,更新所述应用程序。
根据图3所示的实施例,首先建立模块建立带有图形界面的应用程序所依赖的图形界面环境,然后更新检测模块基于建立的图形界面环境检测应用程序是否需要更新。状态检测模块在更新检测模块检测到应用程序需要更新时,则检测应用程序的当前运行状态是否为停止运行状态。在状态检测模块检测到应用程序停止运行时,更新模块更新应用程序。通过上述可知,在本发明实施例中在建立应用程序所依赖的图形界面环境之后,便可以检测应用程序是否需要更新,并根据检测结果对应用程序进行更新处理。可见在应用程序的更新过程中并不需要人工干预。因此,本发明实施例提供的方案可以提高对带有图形界面的应用程序进行更新的自动化程度。
在本发明一个实施例中,如图4所示,所述建立模块301可以包括登录子模块3011以及形成子模块3012;
所述登录子模块3011,用于获取预先注册的登录账户,并通过所述登录账户登录所述应用程序,以便在登录成功时启用所述应用程序的图形界面;
所述形成子模块3012,用于当检测到所述图形界面启用时,锁定所述图形界面,得到所述图形界面环境。
在本发明一个实施例中,如图5所示,所述装置还包括:
所述命令发送模块305,用于在所述状态检测模块303检测到所述应用程序的当前运行状态不是停止运行状态,则向所述应用程序发送停止运行命令,以使所述应用程序根据所述停止运行命令进入停止运行状态。
在本发明一个实施例中,如图6所示,所述当前运行状态包括忙碌状态、空闲状态和停止运行状态,所述状态检测模块303可以包括:
第一检测子模块3031,用于检测当前时间是否存在所述应用程序对应的忙碌状态标识;其中,所述忙碌状态标识是预先设定的,当所述应用程序处于忙碌状态时存在;
第一确定子模块3032,用于在所述第一检测子模块3031检测到存在所述忙碌状态标识后,确定所述应用程序的当前运行状态为忙碌状态;
第二检测子模块3033,用于在所述第一检测子模块3031检测到不存在所述忙碌状态标识后,检测当前时间是否开启所述应用程序对应的执行界面;
第二确定子模块3034,用于在所述第二检测子模块3033检测到开启所述执行界面后,确定所述应用程序的当前运行状态为空闲状态;
第三确定子模块3035,用于在所述第二检测子模块3033检测到未开启所述执行界面后,确定所述应用程序的当前运行状态为停止运行状态。
在本发明一个实施例中,如图7所示,所述更新检测模块304包括:
第三检测子模块3041,用于实时或以预设周期,检测所述应用程序的当前版本信息是否与外部的远端服务器中的所述应用程序的最新版本信息一致;
第四确定子模块3042,用于在所述第三检测子模块3041检测到版本信息不一致时,确定所述应用程序需要更新;在所述第三检测子模块检测到版本信息一致时,确定所述应用程序不需要更新。
在本发明一个实施例中,如图8所示,所述更新模块304可以包括下载子模块3043以及更新子模块3044;
所述下载子模块3043,用于从外部的远端服务器中下载最新版本的所述应用程序;
所述更新子模块3044,用于采用所述下载子模块3043下载的最新版本的所述应用程序更新当前版本的所述应用程序。
在本发明一个实施例中,所述更新子模块3042,用于确定最新版本的所述应用程序对应的所有文件;在所述所有文件中,查找与当前版本的所述应用程序对应的文件存在不同以及在当前版本的所述应用程序对应的文件中不存在的目标文件;利用查找到的目标文件更新当前版本的所述应用程序。
在本发明一个实施例提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述中任意一项所述的应用程序的更新方法。
在本发明一个实施例提供了一种电子设备,如图9所示,所述电子设备中包括处理器401、存储器402和总线403;所述处理器401、所述存储器402通过所述总线403完成相互间的通信;所述处理器401用于调用所述存储器402中的程序指令,以执行上述中任意一项所述的应用程序的更新方法。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明各个实施例可以具有如下有益效果中的一项或者多项:
1、在本发明实施例中,首先建立带有图形界面的应用程序所依赖的图形界面环境,然后基于建立的图形界面环境检测应用程序是否需要更新。其中,图形界面,又可以被称为图形用户界面(Graphical User Interface)。在检测应用程序需要更新时,则检测应用程序的当前运行状态是否为停止运行状态。在检测到应用程序的当前运行状态为停止运行状态时,更新应用程序。通过上述可知,在本发明实施例中在建立应用程序所依赖的图形界面环境之后,便可以检测应用程序是否需要更新,并根据检测结果对应用程序进行更新处理。可见在应用程序的更新过程中并不需要人工干预。因此,本发明实施例提供的方案可以提高对带有图形界面的应用程序进行更新的自动化程度。
2、在本发明实施例中,在应用程序不是停止运行状态时,在更新应用程序之前可以利用停止运行命令停止运行应用程序。以便在更新应用程序时应用程序没有运行,从而降低应用程序更新中出现错误以及混乱的概率。
3、在本发明实施例中,通过预先注册的登录账户登录启用图形界面,并对图形界面进行锁定得到图形界面环境,在建立图形界面环境时并不需要用户人工手动的去建立。因此,即使在无人值守的情况下,也可以自动建立图形界面环境。
4、在本发明实施例中,由于是利用应用程序的版本信息来确定应用程序是否需要更新的。因此,一旦远端服务器中的应用程序的版本信息有变化时,就可以及时的检测出应用程序需要更新。
5、在本发明实施例中,无论应用程序的当前运行状态是空闲状态还是忙碌状态,在更新应用程序之前均需要停止运行应用程序。以便在更新应用程序时应用程序没有运行,从而降低应用程序更新中出现错误以及混乱的概率。
6、在本发明实施例中,由于最新版本的应用程序是从远端服务器中下载的,下载来源较为明确。因此,最新版本的应用程序的安全性较高。
7、在本发明实施例中,由于仅利用在最新版本的应用程序对应的所有文件中与当前版本的应用程序对应的文件存在不同以及在当前版本的应用程序对应的文件中不存在的目标文件来更新应用程序。因此减少了更新量,从而提高了更新速度。
8、在本发明实施例中,由于利用目标应用程序对应的所有文件对应用程序对应的文件进行整体替换和更新,因此,更新过程较为简单,出错率较低。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种应用程序的更新方法,其特征在于,包括:
建立应用程序所依赖的图形界面环境,其中,所述应用程序为带有图形界面的应用程序;
基于所述图形界面环境,检测所述应用程序是否需要更新;
在检测到所述应用程序需要更新时,检测所述应用程序的当前运行状态是否为停止运行状态;
如果是,则更新所述应用程序。
2.根据权利要求1所述的应用程序的更新方法,其特征在于,所述建立应用程序所依赖的图形界面环境,包括:
获取预先注册的登录账户,并通过所述登录账户登录所述应用程序,以便在登录成功时启用所述应用程序的图形界面;
当检测到所述图形界面启用时,锁定所述图形界面,得到所述图形界面环境。
3.根据权利要求1或2所述的应用程序的更新方法,其特征在于,所述方法还包括:
在检测到所述应用程序的当前运行状态不是停止运行状态,则向所述应用程序发送停止运行命令,以使所述应用程序根据所述停止运行命令进入停止运行状态。
4.根据权利要求1或2所述的应用程序的更新方法,其特征在于,所述当前运行状态包括忙碌状态、空闲状态和停止运行状态,所述检测所述应用程序的当前运行状态是否为停止运行状态,包括:
检测当前时间是否存在所述应用程序对应的忙碌状态标识;其中,所述忙碌状态标识是预先设定的,当所述应用程序处于忙碌状态时存在;
如果检测到存在所述忙碌状态标识,则确定所述应用程序的当前运行状态为忙碌状态;
如果检测到不存在所述忙碌状态标识,则检测当前时间是否开启所述应用程序对应的执行界面,并在检测到开启所述执行界面后,确定所述应用程序的当前运行状态为空闲状态;以及,在检测到未开启所述执行界面后,确定所述应用程序的当前运行状态为停止运行状态。
5.根据权利要求1或2所述的应用程序的更新方法,其特征在于,所述检测所述应用程序是否需要更新,包括:
实时或以预设周期,检测所述应用程序的当前版本信息是否与外部的远端服务器中的所述应用程序的最新版本信息一致;
如果不一致,则确定所述应用程序需要更新;
否则,确定所述应用程序不需要更新。
6.根据权利要求5所述的应用程序的更新方法,其特征在于,所述更新所述应用程序,包括:
从外部的远端服务器中下载最新版本的所述应用程序;
采用最新版本的所述应用程序更新当前版本的所述应用程序。
7.一种应用程序的更新装置,其特征在于,包括:
建立模块,用于建立应用程序所依赖的图形界面环境,其中,所述应用程序为带有图形界面的应用程序;
更新检测模块,用于基于所述建立模块建立的所述图形界面环境,检测所述应用程序是否需要更新;
状态检测模块,用于在所述更新检测模块检测到所述应用程序需要更新时,检测所述应用程序的当前运行状态是否为停止运行状态,如果是,触发更新模块;
更新模块,用于在所述状态检测模块的触发下,更新所述应用程序。
8.根据权利要求7所述的应用程序的更新装置,其特征在于,
所述建立模块,包括:登录子模块以及形成子模块;
所述登录子模块,用于获取预先注册的登录账户,并通过所述登录账户登录所述应用程序,以便在登录成功时启用所述应用程序的图形界面;
所述形成子模块,用于当检测到所述图形界面启用时,锁定所述图形界面,得到所述图形界面环境。
9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求6中任意一项所述的应用程序的更新方法。
10.一种电子设备,其特征在于,所述电子设备中包括处理器、存储器和总线;所述处理器、所述存储器通过所述总线完成相互间的通信;所述处理器用于调用所述存储器中的程序指令,以执行权利要求1至权利要求6中任意一项所述的应用程序的更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810929797.1A CN110837377B (zh) | 2018-08-15 | 2018-08-15 | 一种应用程序的更新方法及装置、存储介质、电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810929797.1A CN110837377B (zh) | 2018-08-15 | 2018-08-15 | 一种应用程序的更新方法及装置、存储介质、电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110837377A true CN110837377A (zh) | 2020-02-25 |
CN110837377B CN110837377B (zh) | 2023-08-04 |
Family
ID=69573010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810929797.1A Active CN110837377B (zh) | 2018-08-15 | 2018-08-15 | 一种应用程序的更新方法及装置、存储介质、电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837377B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112254284A (zh) * | 2020-09-02 | 2021-01-22 | 海信(山东)空调有限公司 | 一种空调及空调远程升级方法 |
CN113176889A (zh) * | 2021-04-28 | 2021-07-27 | 维沃移动通信有限公司 | 程序更新方法、装置和电子设备 |
CN113986316A (zh) * | 2021-12-27 | 2022-01-28 | 北京结慧科技有限公司 | 一种微服务的自动部署方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110289499A1 (en) * | 2010-05-19 | 2011-11-24 | Microsoft Corporation | Techniques to automatically update software applications |
CN104423989A (zh) * | 2013-09-02 | 2015-03-18 | 联想(北京)有限公司 | 一种应用更新方法及电子设备 |
CN104699492A (zh) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | 一种软件升级方法和装置 |
CN106445609A (zh) * | 2016-09-30 | 2017-02-22 | 广东欧珀移动通信有限公司 | 应用程序的自动更新方法及移动终端 |
-
2018
- 2018-08-15 CN CN201810929797.1A patent/CN110837377B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110289499A1 (en) * | 2010-05-19 | 2011-11-24 | Microsoft Corporation | Techniques to automatically update software applications |
CN104423989A (zh) * | 2013-09-02 | 2015-03-18 | 联想(北京)有限公司 | 一种应用更新方法及电子设备 |
CN104699492A (zh) * | 2013-12-06 | 2015-06-10 | 中兴通讯股份有限公司 | 一种软件升级方法和装置 |
CN106445609A (zh) * | 2016-09-30 | 2017-02-22 | 广东欧珀移动通信有限公司 | 应用程序的自动更新方法及移动终端 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112254284A (zh) * | 2020-09-02 | 2021-01-22 | 海信(山东)空调有限公司 | 一种空调及空调远程升级方法 |
CN113176889A (zh) * | 2021-04-28 | 2021-07-27 | 维沃移动通信有限公司 | 程序更新方法、装置和电子设备 |
CN113986316A (zh) * | 2021-12-27 | 2022-01-28 | 北京结慧科技有限公司 | 一种微服务的自动部署方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110837377B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA2919839C (en) | Virtual computing instance migration | |
EP2790122B1 (en) | System and method for correcting antivirus records to minimize false malware detections | |
US20150242627A1 (en) | Apparatus and method for blocking actvity of malware | |
CN109635523B (zh) | 应用程序检测方法、装置及计算机可读存储介质 | |
US20140173735A1 (en) | Computer program, method, and system for preventing execution of viruses and malware | |
CN110837377A (zh) | 一种应用程序的更新方法及装置、存储介质、电子设备 | |
CN112567709B (zh) | 使用异常检测增强安全性 | |
WO2019030698A1 (en) | METHOD, SYSTEM AND APPARATUS FOR PROCESSING DATABASE UPDATES | |
CN113805962A (zh) | 应用页面的显示方法、装置以及电子设备 | |
CN106529281B (zh) | 一种可执行文件处理方法及装置 | |
CN110574006B (zh) | 用于自动同步设备上响应与条件的***和方法 | |
CN114372256A (zh) | 应用程序运行方法、装置、设备和存储介质 | |
CN108494749B (zh) | Ip地址禁用的方法、装置、设备及计算机可读存储介质 | |
US20210049083A1 (en) | System and method of determining boot status of recovery servers | |
CN111045725B (zh) | 代码管理***的控制方法、装置及存储介质 | |
CN109032641B (zh) | 应用版本更新方法及装置 | |
CN109408104B (zh) | 一种获取游戏整合信息的方法及装置 | |
KR101382549B1 (ko) | 모바일 환경에서 sns 콘텐츠의 사전 검증 방법 | |
CN114020313A (zh) | 应用更新方法及相关设备 | |
US10698749B1 (en) | System and a method for automated resolution of configuration item issues | |
CN114090055A (zh) | 应用程序更新方法、装置、终端及存储介质 | |
CN109101253B (zh) | 云计算***中主机的管理方法和装置 | |
CN109104759B (zh) | 电子设备的交互方法、电子设备及计算机可读介质 | |
CN112035888A (zh) | 基于网页防篡改***的文件路径确定方法、装置及介质 | |
CN111176959A (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 |