CN110162319A - 应用程序更新方法、装置、计算机设备及存储介质 - Google Patents
应用程序更新方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110162319A CN110162319A CN201910300408.3A CN201910300408A CN110162319A CN 110162319 A CN110162319 A CN 110162319A CN 201910300408 A CN201910300408 A CN 201910300408A CN 110162319 A CN110162319 A CN 110162319A
- Authority
- CN
- China
- Prior art keywords
- module
- update
- version information
- application program
- information
- 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
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/70—Software maintenance or management
- G06F8/71—Version control; Configuration 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)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种应用程序更新方法、装置、计算机设备及存储介质,所述方法包括:在接收到客户端发送的模块运行请求时,获取请求包含的模块标识和当前版本信息,进而查询模块标识对应的最新版本信息,将与当前版本信息进行比较,在比较结果为不一致时,向客户端发送历史操作信息获取请求,接收客户端发送的历史操作信息,并对历史操作信息进行分析,得到更新判定结果,在更新判定结果为需要更新时,获取模块标识对应的更新文件并发送到客户端,实现根据对历史操作记录的分析,智能判断是否进行更新,使得应用程序的更新具有针对性,同时,采用对当前需要更新的模块进行更新,避免了对整个应用程序进行更新造成的额外时间开销,提高了更新的效率。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种应用程序更新方法、装置、计算机设备及存储介质。
背景技术
随着经济的飞速发展和人们生活质量的日益提高,移动智能设备,尤其是智能手机,与人们的生活越来越密切,人们对移动智能设备上的应用程序(Application,APP)的功能需求,在不同时间会有些变化,同时,移动智能设备的APP本身也需要进行一些优化和BUG修复,因而,在移动智能设备的APP发布到应用商店后,需要定时和不定时地对其进行更新操作,使得移动智能设备的APP的功能更人性化,给用户带来更好的体验。
当前,对移动智能设备的APP进行版本更新发布后,所有用户都需要更新整个应用程序,而往往很多时候这个更新的功能模块只有少部分人用到,这使得版本更新的针对性不强,更新效果不明显,同时,每次更新都需要对整个应用程序进行更新,需要的更新时间较长,使得更新效率低。
发明内容
本发明实施例提供一种应用程序更新方法、装置、计算机设备和存储介质,以解决当前应用程序更新时,针对性较弱和更新效率低的问题。
一种应用程序更新方法,包括:
若接收到客户端发送的应用程序的模块运行请求,则获取所述模块运行请求包含的模块标识和当前版本信息;
从预设的数据库中,查询所述模块标识对应的最新版本信息,并将所述当前版本信息与所述最新版本信息进行比较,得到比较结果;
若所述比较结果为所述最新版本信息与所述当前版本信息不一致,则向所述客户端发送历史操作信息获取请求;
接收所述客户端发送的所述历史操作信息,并对所述历史操作信息进行分析,得到所述模块标识对应的模块的更新判定结果,其中,所述历史操作信息为所述客户端从所述客户端缓存的所述应用程序的历史操作记录中获取到的与所述模块对应的信息;
若所述更新判定结果为需要更新所述模块标识对应的模块,则通过预设的更新方式,获取所述模块标识对应的模块的更新文件;
将所述更新文件发送给所述客户端。
一种应用程序更新装置,包括:
请求接收模块,用于若接收到客户端发送的应用程序的模块运行请求,则获取所述模块运行请求包含的模块标识和当前版本信息;
查询比较模块,用于从预设的数据库中,查询所述模块标识对应的最新版本信息,并将所述当前版本信息与所述最新版本信息进行比较,得到比较结果;
信息获取模块,用于若所述比较结果为所述最新版本信息与所述当前版本信息不一致,则向所述客户端发送历史操作信息获取请求;
信息分析模块,用于接收所述客户端发送的所述历史操作信息,并对所述历史操作信息进行分析,得到所述模块标识对应的模块的更新判定结果,其中,所述历史操作信息为所述客户端从所述客户端缓存的所述应用程序的历史操作记录中获取到的与所述模块对应的信息;
文件获取模块,用于若所述更新判定结果为需要更新所述模块标识对应的模块,则通过预设的更新方式,获取所述模块标识对应的模块的更新文件;
文件发送模块,用于将所述更新文件发送给所述客户端。
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述应用程序更新方法。
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述应用程序更新方法。
本发明实施例提供的应用程序更新方法、装置、计算机设备及存储介质,通过在接收到客户端发送的模块运行请求时,获取模块运行请求包含的模块标识和当前版本信息,进而从预设的数据库中,查询模块标识对应的最新版本信息,并将当前版本信息与最新版本信息进行比较,得到比较结果,在比较结果为最新版本信息与当前版本信息不一致时,向客户端发送历史操作信息获取请求,以使客户端从客户端缓存的用户的历史操作记录中,获取用户的模块标识对应的历史操作信息,并将历史操作信息发送给服务端,接收客户端发送的历史操作信息,并对历史操作信息进行分析,得到模块标识对应的模块的更新判定结果,在更新判定结果为需要更新模块标识对应的模块时,通过预设的更新方式,获取模块标识对应的模块的更新文件并将该更新文件发送到客户端,以使客户端通过该更新文件实现对模块标识对应的模块进行更新,实现了根据对用户历史操作记录的分析,智能判断是否进行更新,使得应用程序的更新具有针对性,同时,采用仅对当前需要更新的模块进行更新,避免了对整个应用程序进行更新造成的额外时间开销,提高了更新的效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的应用程序更新方法的应用环境示意图;
图2是本发明实施例提供的应用程序更新方法的实现流程图;
图3是本发明实施例提供的应用程序更新方法中步骤S40的实现流程图;
图4是本发明实施例提供的应用程序更新方法中步骤S42的实现流程图;
图5是本发明实施例提供的应用程序更新方法中步骤S50的实现流程图;
图6是本发明实施例提供的应用程序更新装置的示意图;
图7是本发明实施例提供的计算机设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,图1示出本发明实施例提供的应用程序更新方法的应用环境。该应用程序更新方法应用在应用程序的智能更新场景中。该智能更新场景包括客户端和服务端,其中,客户端和服务端之间通过有线网络或无线网络进行连接,客户端向服务端发送模块运行请求,服务端获取该模块运行请求中包含的模块标识和当前版本信息,并与存储的最新版本信息进行比较,在比较结果为不一致时,智能判断是否需要更新,在需要更新时,进行模块快速更新,客户端具体可以但不限于是手机、平板电脑、个人计算机(PersonalComputer,PC)等智能终端设备,服务端具体可以用独立的服务器或者多个服务器组成的服务器集群实现。
请参阅图2,图2示出本发明实施例提供的一种应用程序更新方法,以该方法应用在图1中的服务端为例进行说明,详述如下:
S10:若接收到客户端发送的应用程序的模块运行请求,则获取模块运行请求包含的模块标识和当前版本信息。
具体地,用户在打开客户端的应用程序后,点击任意一个模块,以使该模块被执行,在点击该模块之后,客户端向服务端发送申请该模块被执行的模块运行请求,以便确定该模块可否直接运行,服务端接收该模块运行请求,并获取该模块的标识和该模块的当前版本。
其中,本实施例中的模块为应用程序中具有独立执行能力的一个功能单元,例如,支付宝APP中的蚂蚁森林模块。
其中,模块的标识用于确认模块,每个模块在更新前后,其对应的标识不变,每个模块的标识具有唯一性。
其中,模块的当前版本信息是指客户端的应用程序中当前正在运行的该模块的版本信息,模块在每次更新后,模块的当前版本信息会发生变化,模块的当前版本信息具体表示方法,包括但不限于:汉字、英文字母、数字和符号中的一种或任意多种的组合等,例如,一模块的当前版本信息为“V3.4.1”,在进行更新后,其当前版本信息变为“V3.4.3”。
其中,网络传输协议包括但不限于:互联网控制报文协议(Internet ControlMessage Protocol,ICMP)、地址解析协议(ARP Address Resolution Protocol,ARP)和文件传输协议(File Transfer Protocol,FTP)等。
值得说明的是,为提高应用程序执行效率,在每次发送模块运行请求,得到的反馈结果为无需更新后,在预设时间阈值范围内,再次点击该模块,该模块将直接被执行,而无需再次发送模块运行请求,预设时间阈值范围可以根据实际需求进行设置,此处不做限定。
S20:从预设的数据库中,查询模块标识对应的最新版本信息,并将当前版本信息与最新版本信息进行比较,得到比较结果。
具体地,服务端预设的数据库中,存储有应用程序每个模块的模块标识和每个模块的模块标识对应的版本信息,在服务端对应用程序更新后,将每个模块更新后的版本信息作为最新版本信息,并保存在该预设的数据库中,在获取到模块运行请求中的模块的模块标识和模块的当前版本信息后,通过对预设的数据库每个模块的模块标识进行遍历查询,得到与模块运行请求中的模块的模块标识相同的标识,作为目标标识,并获取目标标识对应的最新版本信息,并将模块运行请求中的模块的当前版本信息与目标标识对应的最新版本信息进行字符串比较,得到比较结果,其中,比较结果包括该模块的最新版本信息与该模块的当前版本信息一致,及该模块的最新版本信息与该模块的当前版本信息不一致。
容易理解地,在该模块的最新版本信息与该模块的当前版本信息一致时,无需对该模块进行更新,在该模块的最新版本信息与该模块的当前版本信息不一致时,进行后续步骤,来确定是否需要进行更新。
其中,遍历(Traversal)是指对预设的数据库中保存模块的标识的节点树中所有结点的信息的访问,即依次对节点树中每个结点访问一次且仅访问一次。遍历方式包括但不限于:前序遍历、中序遍历和后序遍历等。
优选地,本发明实施例使用的遍历方式为前序遍历,前序遍历的顺序包括NLR或NRL,其中N是指根(Node),L是指根的左节点(Left subtree),R是指根的右节点(Rightsubtree)。
值得说明的是,本步骤中的遍历操作,目的是找出与模块运行请求中的模块的标识相同的标识,因而,本发明实施例提供一种优选方案,在找到任何一个与模块运行请求中的模块的标识相同的标识后,即结束本次遍历,将将与模块运行请求中的模块的模块标识相同的标识作为目标标识,执行后续版本信息的比较操作。
S30:若比较结果为最新版本信息与当前版本信息不一致,则向客户端发送历史操作信息获取请求。
具体地,在本实施例中,客户端对用户使用该应用程序的每次模板的操作均进行记录,并缓存在该应用程序对应的历史操作记录中,在比较结果为该模块的最新版本信息与该模块的当前版本信息不一致时,需要进一步确定更新状况,在最新版本信息与当前版本信息不一致时,根据用户对该模板的历史操作记录进行分析,并智能判断是否需要更新。
其中,获取用户对该模块的模块标识对应的历史操作信息具体过程为:向客户端发送包含该模块的模块标识的历史操作记录获取请求,以使客户端根据该历史操作记录获取请求进行查询,得到该模块的模块标识对应的历史操作信息,并将该历史操作信息发送给服务端。
S40:接收客户端发送的历史操作信息,并对历史操作信息进行分析,得到模块标识对应的模块的更新判定结果,其中,所述历史操作信息为所述客户端从所述客户端缓存的所述应用程序的历史操作记录中获取到的与所述模块对应的信息。
具体地,服务端通过网络传输协议接收客户端发送的历史操作信息,并通过对历史操作信息进行分析,智能确定模块标识对应的更新判定结果。
其中,对历史操作信息进行分析,具体可以是通过获取历史操作信息中每个操作记录的时间,进而根据该操作时间确定操作热度,并根据操作热度来智能确定更新判定结果,也可以通过其他方式进行分析,此处不做限定。
其中,更新判定结果包括但不限于:强制更新、建议更新与忽略更新等。
其中,强制更新是指通过服务端后台静默更新的方式,直接进行更新,此时,确定需要更新该模块的标识对应的模块。
其中,建议更新是指通过向客户端发送一个信息提示框,该信息提示框包含“立即更新”和“暂不更新”的选择按钮,通过该信息提示框让用户选择是否更新,在用户点击“立即更新”按钮时,确定需要更新所述模块的标识对应的模块,在用户点击“暂不更新”按钮,确定不更新该模块的标识对应的模块。
其中,忽略更新是指忽略本次对该模块的更新,直接驱动客户端以当前版本对应的模块运行该模块。
其中,网络传输协议包括但不限于:互联网控制报文协议(Internet ControlMessage Protocol,ICMP)、地址解析协议(ARP Address Resolution Protocol,ARP)和文件传输协议(File Transfer Protocol,FTP)等。
S50:若更新判定结果为需要更新模块标识对应的模块,则通过预设的更新方式,获取模块标识对应的模块的更新文件。
具体地,在服务端确定更新判定结果为需要更新模块标识对应的模块时,通过预设的更新方式,获取模块标识对应的模块的更新文件。
其中,预设的更新方式具体可以是热更新(HotFix)的方式,热更新的方式可以针对应用程序中的一个功能模块进行单独更新,而在该功能模块更新过程中,其他功能模块均可不受影响正常运行,避免对整个应用程序进行更新造成的更新时间长,且在更新过程中无法运行应用程序的问题,提高了更新效率,采用热更新的方式获取更新文件的具体过程,可参考步骤S51至步骤S53的描述,为避免重复,此处不再赘述。
其中,模块标识对应的模块的更新文件用于对该模块标识对应的模块进行更新,使得更新后的模块的当前版本信息与最新版本信息一致。
S60:将更新文件发送给客户端。
具体地,服务端通过网络传输协议将更新文件发送给客户端,以使户端通过更新文件完成对模块标识对应的模块的更新。
在本实施例中,通过在接收到客户端发送的模块运行请求时,获取模块运行请求包含的模块标识和当前版本,进而从预设的数据库中,查询模块标识对应的最新版本,并将当前版本与最新版本进行比较,得到比较结果,在比较结果为最新版本信息与当前版本信息不一致时,向客户端发送历史操作信息获取请求,以使客户端从客户端缓存的用户的历史操作记录中,获取用户的模块标识对应的历史操作信息,并将历史操作信息发送给服务端,接收客户端发送的历史操作信息,并对历史操作信息进行分析,得到模块标识对应的模块的更新判定结果,在更新判定结果为需要更新模块标识对应的模块时,通过预设的更新方式,获取模块标识对应的模块的更新文件并将该更新文件发送到客户端,以使客户端通过该更新文件实现对模块标识对应的模块进行更新,实现了根据对用户历史操作记录的分析,智能判断是否进行更新,使得应用程序的更新具有针对性,同时,采用仅对当前需要更新的模块进行更新,避免了对整个应用程序进行更新造成的额外时间开销,提高了更新的效率。
在图2对应的实施例的基础之上,步骤S40历史操作信息包括操作时间,下面通过一个具体的实施例来对步骤S40中所提及的对历史操作信息进行分析,得到模块标识对应的模块的更新判定结果的具体实现方法进行详细说明。
请参阅图3,图3示出了本发明实施例提供的步骤S40的具体实现流程,详述如下:
S41:根据操作时间中包含的操作日期,统计每个操作日期对应的操作次数。
具体地,历史操作信息的每个操作记录对应一个操作时间,从该操作时间中提取操作日期,并对相同操作日期进行统计,得到每个操作日期对应的操作次数。
例如,在一具体实施方式中,获取到31个操作记录,也即,得到31个操作时间,其中,操作时间的形式如“2018-12-7 13:41:30”,从该操作时间中提取操作日期为“2018-12-7”,对每个操作时间均进行操作日期提取,得到31个操作日期,针对31个操作日期,统计每个操作日期出现的次数,作为该操作日期对应的操作次数。
S42:根据操作日期和操作日期对应的操作次数,确定目标操作热度。
具体地,根据操作日期和操作日期对应的操作次数,采用预设的计算方式,确定目标操作热度。
其中,目标操作热度是指用户针对该模块进行操作的热度,该热度用于后续与预设操作热度进行比较,进而确定更新判定结果。
其中,预设的公式可以根据实际需要进行设置,此处不做限定。
S43:将目标操作热度与预设操作热度进行比较,并根据比较结果确定模块标识对应的模块的更新判定结果。
具体地,将目标操作热度与预设操作热度进行比较,得到比较结果,并根据比较结果智能确定模块标识对应的模块的更新判定结果,其中,更新判定结果包括步骤S40中提及的强制更新、建议更新与忽略更新等。
在本实施例中,根据操作时间中包含的操作日期,统计每个操作日期对应的操作次数,进而根据操作日期和操作日期对应的操作次数,确定目标操作热度,再将目标操作热度与预设操作热度进行比较,并根据比较结果确定模块标识对应的模块的更新判定结果,实现通过对用户历史操作记录的分析,智能确定更新判断结果,提高了更新的智能化程度。
在图3对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S42中所提及的根据操作日期和操作日期对应的操作次数,确定目标操作热度的具体实现方法进行详细说明。
请参阅图4,图4示出了本发明实施例提供的步骤S42的具体实现流程,详述如下:
获取当前日期,并根据如下公式,计算目标操作热度:
其中,p为目标操作热度,n为操作日期的数量,di为第i个操作日期,ci为第i个操作日期对应的操作次数,e为预设的权重系数,d为当前日期,ci、i和n为正整数,且i≤n。
具体的,获取当前日期,计算当前日期与操作日期之间的天数间隔,天数间隔越久,该操作日期对应的操作记录的综合权重也就越低,对该模块对应的历史操作信息的综合评估的影响也会越小,通过计算每个操作日期的综合权重,并对每个历史日期的综合权重进行求和,得到该模块对应的历史操作信息的综合评估,将该综合评估作为目标操作热度。
其中,预设的权值系数可根据实验数据或者实际需求进行合理设置。
值得说明的是,采用上述公式计算目标操作热度时,若操作日期为当前日期时,则上述公式的分母为零,使得公式没意义,因而,在获取到的操作日期中存在当前日期时,移除操作日期中包含的当前日期和当前日期对应的操作次数。
在本实施例中,根据历史操作记录中的操作日期、操作日期对应的操作次数和预设的权重系数,计算出目标操作热度,有利于后续根据该目标操作热度确定更新判定结果。
在图3对应的实施例的基础之上,预设操作热度包括第一预设热度和第二预设热度,且第一预设热度小于第二预设热度,下面通过一个具体的实施例来对步骤S43中所提及的将目标操作热度与预设操作热度进行比较,并根据比较结果确定模块标识对应的模块的更新判定结果的具体实现方法进行详细说明。
请参阅图5,图5示出了本发明实施例提供的步骤S43的具体实现流程,详述如下:
S431:将目标操作热度与第一预设热度进行比较,得到第一比较结果。
具体地,将目标操作热度与第一预设热度进行比较大小,得到第一比较结果,其中,第一比较结果包括目标操作热度不小于第一预设热度和目标操作热度小于第一预设热度。
其中,第一预设热度用于判断是否进行强制更新,当目标操作热度不小于第一预设热度时,表明该模块使用热度较高,确定进行强制更新,第一预设热度的数值具体可以根据实际需要进行设置。
例如,在一具体实施方案中,第一预设热度设置为8,步骤S42中得到的目标操作热度为11,则得到第一比较结果为目标操作热度大于第一预设热度。
S432:若第一比较结果为目标操作热度不小于第一预设热度,则确认更新判定结果为需要更新模块标识对应的模块。
具体地,在第一比较结果为目标操作热度不小于第一预设热度时,表明用户对该模块标识对应的模块使用较为频繁,确定该模块为用户偏好使用的模块,此时,确认更新判定结果为需要更新该模块标识对应的模块,也即,步骤S40中所提及的强制更新。
S433:若第一比较结果为目标操作热度小于第一预设热度,则将目标操作热度与第二预设热度进行比较,得到第二比较结果。
具体地,在第一比较结果为目标操作热度小于第一预设热度时,继续将该目标操作热度与预设的第二预设热度进行比较,得到第二比较结果,其中,第二比较结果包括目标操作热度不小于第二预设热度和目标操作热度小于第二预设热度。
其中,第二预设热度是建议更新与忽略更新的分界线,当目标操作热度小于第二预设热度时,表明用户对该模块的使用热度非常低,此时,可忽略更新,当目标操作热度不小于第二预设热度时,表明用户对该模块的使用热度一般,此时,可根据用户选择来确定是否更新。
需要说明的是,步骤S432和步骤S433之间没有必然的先后执行顺序,其可以是并列执行的关系,此处不做限制。
S434:若第二比较结果为目标操作热度不小于第二预设热度,则确认更新判定结果为建议更新,并向客户端发送包含建议更新的选择消息,获取客户端的选择结果。
具体地,在第二比较结果为目标操作热度不小于第二预设热度时,确定更新判定结果为建议更新,此时,向客户端发送包含建议更新的选择消息,让客户端的用户根据该选择消息,选择是否需要更新。
继续以步骤S431中的示例为例,第一预设阈值设置为8,第二预设阈值设置为15,获取到的目标操作热度为11,根据第二比较结果,确定更新方式为建议更新,此时,服务端向客户端发送该模块标识对应的模块的建议更新的选择消息,该选择消息具体可以是一个选择信息框,上面包含“立即更新”和“暂时忽略更新”两个功能按钮,用户通过点击客户端接收到的选择信息框中的“立即更新”的功能按钮后,确定更新判定结果为建议更新,用户通过点击客户端接收到的选择信息框中的“暂时忽略更新”的功能按钮后,确定更新判定结果为忽略更新,客户端再将确定的更新判定结果发送到服务端。
S435:若第二比较结果为目标操作热度小于第二预设热度,则确认更新判定结果为忽略更新。
具体地,在第二比较结果为目标操作热度小于第二预设热度时,表明用户对该模块的操作较少,该目标为用户关注度不高的模块,此时,为节约用户时间,确认更新判定结果为忽略更新。
应说明的是,以上根据第一预设热度和第二预设热度对更新进行判断的方法,适用于普通更新,若对该模块的更新为修复漏洞的更新或者安全性的更新,则无需对预设操作热度进行比较,直接确定更新判定结果为强制更新。
需要说明的是,步骤S434和步骤S435之间没有必然的先后执行顺序,其可以是并列执行的关系,此处不做限制。
值得说明的是,对于一些模块的漏洞更新,或者设定的必须进行更新的功能的更新,服务端可直接将该模块标识对应模块的更新判定结果设置为强制更新,而无需根据预设的操作热度来确定,确保应用程序的安全性,使得更新更为合理。
在本实施例中,将目标操作热度与第一预设热度进行比较,得到第一比较结果,在第一比较结果为目标操作热度不小于第一预设热度时候时,确认更新判定结果为需要更新模块标识对应的模块,若第一比较结果为目标操作热度小于第一预设热度,则将目标操作热度与第二预设热度进行比较,得到第二比较结果,在第二比较结果为目标操作热度不小于第二预设热度时,确认更新判定结果为建议更新,并向客户端发送包含建议更新的选择消息,以使客户端将用户根据选择消息的选择结果作为更新判断结果发送给服务端,在第二比较结果为目标操作热度小于第二预设热度时,确认更新判定结果为忽略更新,实现了通过对目标操作热度与预设操作热度的比较,智能确定模块标识对应的模块的更新判定结果。
在图2对应的实施例的基础之上,下面通过一个具体的实施例来对步骤S50中所提及的若更新判定结果为需要更新模块标识对应的模块,则通过预设的更新方式,获取模块标识对应的模块的更新文件的具体实现方法进行详细说明。
请参阅图6,图6示出了本发明实施例提供的步骤S50的具体实现流程,详述如下:
S51:若更新判定结果为需要更新模块标识对应的模块,则从预设的代码库中,获取最新版本信息对应的代码,并通过最新版本信息对应的代码生成最新版本信息对应的资源文件包。
具体地,在更新判定结果为需要更新模块标识对应的模块时,从服务端预设的代码库中,获取该最新版本信息对应的代码,并根据该最新版本信息对应的代码生成最新版本信息对应的资源文件包。
值得说明的是,若该最新版本信息对应的代码关联有图像、音频等资源文件,也将与该最新版本信息对应的代码关联的资源文件封装到资源文件包中。
其中,资源文件包是指封装有代码、图像、音频等资源的文件包,其具体格式可以根据实际需求进行设置,优选地,本实施例采用bundle包来作为最新版本信息对应的资源文件包,bundle包具有类似静态库的功能,将代码资源文件封装到bundle包中,既可直接释放并运行bundle包中包含的代码和资源文件,又可保证代码和资源文件在使用的过程中不被用户获取,保证了代码和资源文件的安全性。
S52:在预设的代码库中,获取模块的当前版本信息对应的代码,并通过当前版本信息对应的代码生成当前版本信息对应的资源文件包。
具体地,从预设的代码库中,获取模块的当前版本信息对应的代码,并通过当前版本信息对应的代码生成当前版本信息对应的资源文件包,该过程具体实现方式可参见步骤S51中最新版本信息对应的资源文件包的生成方式,为避免重复,此处不再赘述。
S53:将最新版本信息对应的资源文件包和当前版本信息对应的资源文件包进行差异比较,得到最新版本信息对应的资源文件包和当前版本信息对应的资源文件包之间的差异数据,并根据差异数据生成更新文件。
具体地,将步骤S51中得到的最新版本信息对应的资源文件包,与步骤S52中得到的当前版本信息对应的资源文件包,进行差异比较,得到最新版本信息对应的资源文件包和当前版本信息对应的资源文件包之间的差异数据,并根据差异数据生成更新文件。
其中,更新文件中包含差异数据和差异数据的位置标识。
在本实施例中,在更新判定结果为需要更新模块标识对应的模块时,从预设的代码库中,获取最新版本对应的代码,并通过最新版本对应的代码生成最新版本对应的资源文件包,并在预设的代码库中,获取模块的当前版本对应的代码,通过当前版本对应的代码生成当前版本对应的资源文件包,进而将最新版本对应的资源文件包和当前版本对应的资源文件包进行差异比较,得到最新版本对应的资源文件包和当前版本对应的资源文件包之间的差异数据,并根据差异数据生成更新文件,以便后续通过该更新文件对模块进行快速更新,而不需要更新整个应该程序,仅需要根据更新文件中的差异数据对模块进行更新即可,节省了时间开销,提高了更新效率。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图6示出与上述实施例应用程序更新方法一一对应的应用程序更新装置的原理框图。如图6所示,该应用程序更新装置包括请求接收模块10、查询比较模块20、信息获取模块30、信息分析模块40、文件获取模块50和文件发送模块60。各功能模块详细说明如下:
请求接收模块10,用于若接收到客户端发送的应用程序的模块运行请求,则获取模块运行请求包含的模块标识和当前版本信息;
查询比较模块20,用于从预设的数据库中,查询模块标识对应的最新版本信息,并将当前版本信息与最新版本信息进行比较,得到比较结果;
信息获取模块30,用于若比较结果为最新版本信息与当前版本信息不一致,则向客户端发送历史操作信息获取请求;
信息分析模块40,用于接收客户端发送的历史操作信息,并对历史操作信息进行分析,得到模块标识对应的模块的更新判定结果,其中,所述历史操作信息为所述客户端从所述客户端缓存的所述应用程序的历史操作记录中获取到的与所述模块对应的信息;
文件获取模块50,用于若更新判定结果为需要更新模块标识对应的模块,则通过预设的更新方式,获取模块标识对应的模块的更新文件;
文件发送模块60,用于将更新文件发送给客户端。
进一步地,信息分析模块40包括:
次数统计单元41,用于根据操作时间中包含的操作日期,统计每个操作日期对应的操作次数;
热度确定单元42,用于根据操作日期和操作日期对应的操作次数,确定目标操作热度;
结果确定单元43,用于将目标操作热度与预设操作热度进行比较,并根据比较结果确定模块标识对应的模块的更新判定结果。
进一步地,热度确定单元42包括:
计算子单元421,用于获取当前日期,并根据如下公式,计算目标操作热度:
其中,p为目标操作热度,n为操作日期的数量,di为第i个操作日期,ci为第i个操作日期对应的操作次数,e为预设的权重系数,d为当前日期,ci、i和n为正整数,且i≤n。
进一步地,结果确定单元43包括:
第一比较子单元431,用于将目标操作热度与第一预设热度进行比较,得到第一比较结果;
第一判断子单元432,用于若第一比较结果为目标操作热度不小于第一预设热度,则确认更新判定结果为需要更新模块标识对应的模块;
第二比较子单元433,用于若第一比较结果为目标操作热度小于第一预设热度,则将目标操作热度与第二预设热度进行比较,得到第二比较结果;
第二判断子单元434,用于若第二比较结果为目标操作热度不小于第二预设热度,则确认更新判定结果为建议更新,并向客户端发送包含建议更新的选择消息,获取客户端的选择结果;
第三判断子单元435,用于若第二比较结果为目标操作热度小于第二预设热度,则确认更新判定结果为忽略更新。
进一步地,更新文件获取模块50包括:
第一生成单元51,用于若更新判定结果为需要更新模块标识对应的模块,则从预设的代码库中,获取最新版本信息对应的代码,并通过最新版本信息对应的代码生成最新版本信息对应的资源文件包;
第二生成单元52,用于在预设的代码库中,获取模块的当前版本信息对应的代码,并通过当前版本信息对应的代码生成当前版本信息对应的资源文件包;
文件生成单元53,用于将最新版本信息对应的资源文件包和当前版本信息对应的资源文件包进行差异比较,得到最新版本信息对应的资源文件包和当前版本信息对应的资源文件包之间的差异数据,并根据差异数据生成更新文件。
关于应用程序更新装置的具体限定可以参见上文中对于应用程序更新方法的限定,在此不再赘述。上述应用程序更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图7是本发明一实施例提供的计算机设备的示意图。该计算机设备可以是服务端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储模块标识和模块标识对应的最新版本信息。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种应用程序更新方法。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例应用程序更新方法的步骤,例如图2所示的步骤S10至步骤S60。或者,处理器执行计算机程序时实现上述实施例应用程序更新装置的各模块/单元的功能,例如图6所示的模块10至模块60的功能。为避免重复,这里不再赘述。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例应用程序更新方法的步骤,或者,该计算机程序被处理器执行时实现上述实施例应用程序更新装置中各模块/单元的功能。为避免重复,这里不再赘述。
可以理解地,所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号和电信信号等。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (10)
1.一种应用程序更新方法,其特征在于,所述应用程序更新方法包括:
若接收到客户端发送的应用程序的模块运行请求,则获取所述模块运行请求包含的模块标识和当前版本信息;
从预设的数据库中,查询所述模块标识对应的最新版本信息,并将所述当前版本信息与所述最新版本信息进行比较,得到比较结果;
若所述比较结果为所述最新版本信息与所述当前版本信息不一致,则向所述客户端发送历史操作信息获取请求;
接收所述客户端发送的所述历史操作信息,并对所述历史操作信息进行分析,得到所述模块标识对应的模块的更新判定结果,其中,所述历史操作信息为所述客户端从所述客户端缓存的所述应用程序的历史操作记录中获取到的与所述模块对应的信息;
若所述更新判定结果为需要更新所述模块标识对应的模块,则通过预设的更新方式,获取所述模块标识对应的模块的更新文件;
将所述更新文件发送给所述客户端。
2.如权利要求1所述的应用程序更新方法,其特征在于,所述历史操作信息包括操作时间,所述对所述历史操作信息进行分析,得到所述模块标识对应的模块的更新判定结果包括:
根据所述操作时间中包含的操作日期,统计每个操作日期对应的操作次数;
根据所述操作日期和所述操作日期对应的操作次数,确定目标操作热度;
将所述目标操作热度与预设操作热度进行比较,并根据比较结果确定所述模块标识对应的模块的更新判定结果。
3.如权利要求2所述的应用程序更新方法,其特征在于,所述根据所述操作日期和所述操作日期对应的操作次数,确定目标操作热度包括:
获取当前日期,并根据如下公式,计算所述目标操作热度:
其中,p为所述目标操作热度,n为操作日期的数量,di为第i个所述操作日期,ci为第i个所述操作日期对应的操作次数,e为预设的权重系数,d为所述当前日期,ci、i和n为正整数,且i≤n。
4.如权利要求2所述的应用程序更新方法,其特征在于,所述预设操作热度包括第一预设热度和第二预设热度,且所述第一预设热度大于所述第二预设热度,所述将所述目标操作热度与预设操作热度进行比较,确定所述所述模块标识对应的模块的更新判定结果:
将所述目标操作热度与所述第一预设热度进行比较,得到第一比较结果;
若所述第一比较结果为所述目标操作热度不小于所述第一预设热度,则确认所述更新判定结果为需要更新所述模块标识对应的模块;
若所述第一比较结果为所述目标操作热度小于所述第一预设热度,则将所述目标操作热度与所述第二预设热度进行比较,得到第二比较结果;
若所述第二比较结果为所述目标操作热度不小于所述第二预设热度,则确认所述更新判定结果为建议更新,并向所述客户端发送包含所述建议更新的选择消息,获取所述客户端的选择结果;
若所述第二比较结果为所述目标操作热度小于所述第二预设热度,则确认所述更新判定结果为所述忽略更新。
5.如权利要求1至4任一项所述的应用程序更新方法,其特征在于,所述若所述更新判定结果为需要更新所述模块标识对应的模块,则通过预设的更新获取所述模块标识对应的模块的更新文件包括:
若所述更新判定结果为需要更新所述模块标识对应的模块,则从预设的代码库中,获取所述最新版本信息对应的代码,并通过所述最新版本信息对应的代码生成所述最新版本信息对应的资源文件包;
在所述预设的代码库中,获取所述模块的当前版本信息对应的代码,并通过所述当前版本信息对应的代码生成所述当前版本信息对应的资源文件包;
将所述最新版本信息对应的资源文件包和所述当前版本信息对应的资源文件包进行差异比较,得到所述最新版本信息对应的资源文件包和所述当前版本信息对应的资源文件包之间的差异数据,并根据所述差异数据生成所述更新文件。
6.一种应用程序更新装置,其特征在于,所述应用程序更新装置包括:
请求接收模块,用于若接收到客户端发送的应用程序的模块运行请求,则获取所述模块运行请求包含的模块标识和当前版本信息;
查询比较模块,用于从预设的数据库中,查询所述模块标识对应的最新版本信息,并将所述当前版本信息与所述最新版本信息进行比较,得到比较结果;
信息获取模块,用于若所述比较结果为所述最新版本信息与所述当前版本信息不一致,则向所述客户端发送历史操作信息获取请求;
信息分析模块,用于接收所述客户端发送的所述历史操作信息,并对所述历史操作信息进行分析,得到所述模块标识对应的模块的更新判定结果,其中,所述历史操作信息为所述客户端从所述客户端缓存的所述应用程序的历史操作记录中获取到的与所述模块对应的信息;
文件获取模块,用于若所述更新判定结果为需要更新所述模块标识对应的模块,则通过预设的更新方式,获取所述模块标识对应的模块的更新文件;
文件发送模块,用于将所述更新文件发送给所述客户端。
7.如权利要求6所述的应用程序更新装置,其特征在于,所述信息分析模块包括:
次数统计单元,用于根据所述操作时间中包含的操作日期,统计每个操作日期对应的操作次数;
热度确定单元,用于根据所述操作日期和所述操作日期对应的操作次数,确定目标操作热度;
结果确定单元,用于将所述目标操作热度与预设操作热度进行比较,并根据比较结果确定所述模块标识对应的模块的更新判定结果。
8.如权利要求6或7所述的应用程序更新装置,其特征在于,所述更新文件获取模块包括:
第一生成单元,用于若所述更新判定结果为需要更新所述模块标识对应的模块,则从预设的代码库中,获取所述最新版本信息对应的代码,并通过所述最新版本信息对应的代码生成所述最新版本信息对应的资源文件包;
第二生成单元,用于在所述预设的代码库中,获取所述模块的当前版本信息对应的代码,并通过所述当前版本信息对应的代码生成所述当前版本信息对应的资源文件包;
文件生成单元,用于将所述最新版本信息对应的资源文件包和所述当前版本信息对应的资源文件包进行差异比较,得到所述最新版本信息对应的资源文件包和所述当前版本信息对应的资源文件包之间的差异数据,并根据所述差异数据生成所述更新文件。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至5任一项所述的应用程序更新方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的应用程序更新方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910300408.3A CN110162319A (zh) | 2019-04-15 | 2019-04-15 | 应用程序更新方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910300408.3A CN110162319A (zh) | 2019-04-15 | 2019-04-15 | 应用程序更新方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110162319A true CN110162319A (zh) | 2019-08-23 |
Family
ID=67639467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910300408.3A Pending CN110162319A (zh) | 2019-04-15 | 2019-04-15 | 应用程序更新方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110162319A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750546A (zh) * | 2019-10-21 | 2020-02-04 | 中国民航信息网络股份有限公司 | 一种数据库的更新方法及装置 |
CN111736876A (zh) * | 2020-06-28 | 2020-10-02 | 北京云族佳科技有限公司 | 客户端更新控制方法、装置、存储介质及服务器 |
CN111858557A (zh) * | 2020-07-23 | 2020-10-30 | 浪潮云信息技术股份公司 | 政务服务事项数据管理方法、装置及可读介质 |
CN112685061A (zh) * | 2020-12-28 | 2021-04-20 | 北京达佳互联信息技术有限公司 | 访问方法及装置 |
CN112732312A (zh) * | 2021-02-09 | 2021-04-30 | 北京百度网讯科技有限公司 | 用于更新应用程序的方法及装置、电子设备和介质 |
WO2021121188A1 (zh) * | 2019-12-18 | 2021-06-24 | Oppo广东移动通信有限公司 | 配置文件的处理方法、装置、系统及存储介质 |
CN113806390A (zh) * | 2020-06-16 | 2021-12-17 | 西安诺瓦星云科技股份有限公司 | Led箱体管理方法、装置以及系统 |
CN114296775A (zh) * | 2022-03-09 | 2022-04-08 | 南京易联阳光信息技术股份有限公司 | 基于大数据的智能运维方法及系统 |
CN114691175A (zh) * | 2022-04-22 | 2022-07-01 | 麒麟合盛网络技术股份有限公司 | 一种应用更新方法、装置和系统 |
CN115208867A (zh) * | 2021-04-01 | 2022-10-18 | 丰田自动车株式会社 | 中心、分发控制方法以及非暂时性存储介质 |
CN115408031A (zh) * | 2022-09-29 | 2022-11-29 | 北京亚控科技发展有限公司 | 应用的更新方法及相关设备 |
-
2019
- 2019-04-15 CN CN201910300408.3A patent/CN110162319A/zh active Pending
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110750546A (zh) * | 2019-10-21 | 2020-02-04 | 中国民航信息网络股份有限公司 | 一种数据库的更新方法及装置 |
WO2021121188A1 (zh) * | 2019-12-18 | 2021-06-24 | Oppo广东移动通信有限公司 | 配置文件的处理方法、装置、系统及存储介质 |
CN113806390A (zh) * | 2020-06-16 | 2021-12-17 | 西安诺瓦星云科技股份有限公司 | Led箱体管理方法、装置以及系统 |
CN111736876A (zh) * | 2020-06-28 | 2020-10-02 | 北京云族佳科技有限公司 | 客户端更新控制方法、装置、存储介质及服务器 |
CN111858557A (zh) * | 2020-07-23 | 2020-10-30 | 浪潮云信息技术股份公司 | 政务服务事项数据管理方法、装置及可读介质 |
CN111858557B (zh) * | 2020-07-23 | 2023-12-22 | 浪潮云信息技术股份公司 | 政务服务事项数据管理方法、装置及可读介质 |
CN112685061A (zh) * | 2020-12-28 | 2021-04-20 | 北京达佳互联信息技术有限公司 | 访问方法及装置 |
CN112732312A (zh) * | 2021-02-09 | 2021-04-30 | 北京百度网讯科技有限公司 | 用于更新应用程序的方法及装置、电子设备和介质 |
CN115208867A (zh) * | 2021-04-01 | 2022-10-18 | 丰田自动车株式会社 | 中心、分发控制方法以及非暂时性存储介质 |
CN114296775A (zh) * | 2022-03-09 | 2022-04-08 | 南京易联阳光信息技术股份有限公司 | 基于大数据的智能运维方法及系统 |
CN114296775B (zh) * | 2022-03-09 | 2022-07-19 | 南京易联阳光信息技术股份有限公司 | 基于大数据的智能运维方法及系统 |
CN114691175A (zh) * | 2022-04-22 | 2022-07-01 | 麒麟合盛网络技术股份有限公司 | 一种应用更新方法、装置和系统 |
CN115408031A (zh) * | 2022-09-29 | 2022-11-29 | 北京亚控科技发展有限公司 | 应用的更新方法及相关设备 |
CN115408031B (zh) * | 2022-09-29 | 2023-09-05 | 北京亚控科技发展有限公司 | 应用的更新方法及相关设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110162319A (zh) | 应用程序更新方法、装置、计算机设备及存储介质 | |
CN105245403B (zh) | 一种基于模糊测试的电网工控协议漏洞挖掘系统和方法 | |
CN108293081A (zh) | 通过用户界面事件的程序重放深度链接到移动应用状态 | |
CN105072139B (zh) | 推荐方法和装置 | |
EP3211827A1 (en) | Alarm processing method and apparatus | |
CN104022922B (zh) | 移动终端、心跳转发服务器以及心跳信息发送方法和系统 | |
CN102469435A (zh) | 一种提高移动终端的终端型号识别准确率的方法及装置 | |
CN103607502B (zh) | 一种对移动设备的应用进行升级的方法和装置 | |
ES2812765T3 (es) | Aparato, sistema y método para procesar datos de registro de aplicaciones | |
CN101345654A (zh) | 一种指标计算方法和装置 | |
CN104951382B (zh) | 基于app映射库的智能终端用户行为分析方法和系统 | |
JP2018014765A5 (zh) | ||
CN111224831B (zh) | 用于生成话单的方法和系统 | |
CN102123058A (zh) | 一种对网络协议解码器进行测试的测试设备和方法 | |
CN106055609A (zh) | nginx日志监控方法、装置、消息分布系统及信息处理的装置 | |
CN107085554A (zh) | 一种添加控件标识的方法和装置 | |
US20170161392A1 (en) | Information communication methods, systems and terminals | |
CN105681389A (zh) | 一种基于Skype不同功能通信流的识别方法及装置 | |
CN112422557A (zh) | 一种工控网络的攻击测试方法及装置 | |
CN110298007A (zh) | 用户行为统计方法、装置、电子设备及计算机可读存储介质 | |
CN110674503B (zh) | 一种基于图卷积神经网络的智能合约死循环检测方法 | |
US20200169577A1 (en) | Method and apparatus for generating virtual malicious traffic template for terminal group including device infected with malicious code | |
CN104021343A (zh) | 一种基于堆访问模式的恶意程序监控方法和系统 | |
CN108093428B (zh) | 用于鉴别真实流量的服务器 | |
CN109559121A (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 |