CN105224343B - 一种应用程序的更新提示方法和装置 - Google Patents

一种应用程序的更新提示方法和装置 Download PDF

Info

Publication number
CN105224343B
CN105224343B CN201410228341.4A CN201410228341A CN105224343B CN 105224343 B CN105224343 B CN 105224343B CN 201410228341 A CN201410228341 A CN 201410228341A CN 105224343 B CN105224343 B CN 105224343B
Authority
CN
China
Prior art keywords
application program
terminal
information
probability
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.)
Active
Application number
CN201410228341.4A
Other languages
English (en)
Other versions
CN105224343A (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201410228341.4A priority Critical patent/CN105224343B/zh
Publication of CN105224343A publication Critical patent/CN105224343A/zh
Application granted granted Critical
Publication of CN105224343B publication Critical patent/CN105224343B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network-specific arrangements or communication protocols supporting networked applications
    • H04L67/26Push based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Abstract

本申请实施例提供了一种应用程序的更新方法和装置,所述方法包括:当指定的应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率;所述一个或多个指定条件包括应用程序属性和/或运行环境;当所述出错的概率满足设定条件时,向符合所述一个或多个指定条件的终端设备推送应用程序更新提示。本申请实施例减少了推送其他不必要的更新提示的数量和频率,减少了服务器系统资源消耗,减少了终端设备对更新提示进行响应数量和频率,也同样减少了终端设备系统资源消耗,并且,更新提示的数量和频率减少了,可以大大提升用户体验,再者,由于更新提示减少了,使得应用程序的更新数量也会随之减少,大大减少了网络带宽的占用。

Description

一种应用程序的更新提示方法和装置
技术领域
本申请涉及通讯的技术领域,特别是涉及一种应用程序的更新提示方法和一种应用程序的更新提示装置。
背景技术
目前,随着互联网的高速发展,网络应用趋向多元化,尤其是随着移动设备的大规模普及,诸如即时通讯工具、电子邮箱、网页浏览器等等应用程序(Application,简称App),被广泛应用在用户生活和工作的各个方面。
而由于应用程序市场竞争的愈趋激烈,以及竞争企业间技术的趋同,使得用户体验成为应用程序的竞争软实力,成为衡量产品成功与否的一项指标。
而为了保持应用程序的竞争力,应用程序需要经常进行功能的改进,升级应用程序的版本,以提升用户体验。
在一般情况下,只要应用程序的版本进行了升级,每次都会向安装有该应用程序的终端设备(例如移动设备)提示进行更新。
首先,应用程序发布方频繁地进行更新提示,使得发布方的服务器消耗大量的系统资源,而终端设备也需要频繁地对更新提示进行响应,也同样消耗大量的终端设备系统资源。
其次,频繁地进行更新提示,对用户造成十分之大的困扰,用户体验十分之差。
再者,由于频繁地进行更新提示,用户只能通过应用程序更新解决这个困扰,使得大量的应用程序会被更新,占用大量的网络带宽。
因此,目前需要本领域技术人员迫切解决的一个技术问题就是:如何提出一种应用程序的更新机制,以减少更新提示的频率,减少终端设备和服务器的系统资源消耗,减少网络带宽占用,提升用户体验。
发明内容
本申请实施例所要解决的技术问题是提供一种应用程序的更新提示方法方法,用以减少更新提示的频率,减少终端设备和服务器的系统资源消耗,减少网络带宽占用,提升用户体验。
相应的,本申请实施例还提供了一种应用程序的更新提示装置,用以保证上述方法的实现及应用。
为了解决上述问题,本申请实施例公开了一种应用程序的更新方法,包括:
当指定的应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率;所述一个或多个指定条件包括应用程序属性和/或运行环境;
当所述出错的概率满足设定条件时,向符合所述一个或多个指定条件的终端设备推送应用程序更新提示。
优选地,所述统计所述应用程序在一个或多个指定条件中运行时出错的概率的步骤包括:
获取在所述应用程序所属终端设备中记录的日志信息;所述日志信息包括所述应用程序在一个或多个指定条件运行时出错的信息,以及,所述应用程序在所述一个或多个指定条件被启动的信息;
计算所述出错的信息与所述被启动的信息的数量比值,获得所述应用程序在所述一个或多个指定条件中运行时出错的概率。
优选地,所述终端设备包括移动设备。
优选地,所述程序属性信息至少包括所述应用程序的版本信息;
所述运行环境信息包括以下至少一个:
所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网信息。
优选地,所述向符合所述一个或多个指定条件的终端设备推送应用程序更新提示的步骤包括:
向在所述一个或多个指定条件中的,预设数量值的终端设备推送应用程序更新提示。
优选地,所述向符合所述一个或多个指定条件中的终端设备推送应用程序更新提示的的步骤还包括:
当所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率相等或上升时,停止向目标终端设备推送应用程序更新提示;
当所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率下降时,向目标终端设备推送应用程序更新提示;
其中,所述目标终端设备为符合所述一个或多个指定条件的,所述预设数量的终端设备以外的终端设备。
本申请实施例还公开了一种应用程序的更新装置,包括:
概率统计模块,用于在指定的应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率;所述一个或多个指定条件包括应用程序属性和/或运行环境;
提示推送模块,用于在所述出错的概率满足设定条件时,向符合所述一个或多个指定条件的终端设备推送应用程序更新提示。
优选地,所述概率统计模块包括:
日志信息获取子模块,用于获取在所述应用程序所属终端设备中记录的日志信息;所述日志信息包括所述应用程序在一个或多个指定条件运行时出错的信息,以及,所述应用程序在所述一个或多个指定条件被启动的信息;
数量比值计算子模块,用于计算所述出错的信息与所述被启动的信息的数量比值,获得所述应用程序在所述一个或多个指定条件中运行时出错的概率。
优选地,所述终端设备包括移动设备。
优选地,所述应用程序属性由应用程序属性信息进行表征,所述运行环境由运行环境信息进行表征;
其中,所述程序属性信息至少包括所述应用程序的版本信息;
所述运行环境信息包括以下至少一个:
所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网信息。
优选地,所述提示推送模块包括:
第一推送子模块,用于向在所述一个或多个指定条件中的,预设数量值的终端设备推送应用程序更新提示。
优选地,所述提示推送模块还包括:
停止推送子模块,用于在所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率相等或上升时,停止向目标终端设备推送应用程序更新提示;
第二推送子模块,用于在所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率下降时,向目标终端设备推送应用程序更新提示;
其中,所述目标终端设备为符合所述一个或多个指定条件的,所述预设数量的终端设备以外的终端设备。
与现有技术相比,本申请实施例包括以下优点:
本申请实施例在指定的应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率,当出错的概率满足设定条件时,则向在该一个或多个指定条件中应用程序所属的终端设备推送应用程序更新提示,一方面,减少了推送其他不必要的更新提示的数量和频率,减少了服务器系统资源消耗,减少了终端设备对更新提示进行响应数量和频率,也同样减少了终端设备系统资源消耗,并且,更新提示的数量和频率减少了,可以大大提升用户体验,再者,由于更新提示减少了,使得应用程序的更新数量也会随之减少,大大减少了网络带宽的占用。另一方面,针对出错的概率进行更新,可以有效减少终端设备存在的闪退Crash等错误发生的几率,提高应用程序运行的稳定性,进一步提升用户体验。
本申请实施例监控进行了更新的应用程序出错的概率,如果出错的概率相等或上升,则表明更新后的应用程序可能存在新的漏洞/缺陷,或者未有解决之前的漏洞/缺陷等等,不适宜广泛推广,因此可以停止向其他满足一个或多个条件的终端设备推送更新提示,进一步减少更新提示的数量和频率,减少服务器和终端设备的系统资源消耗,减少网络带宽的占用;如果出错的概率下降,则表明更新后的应用程序解决之前的漏洞/缺陷等问题,适宜广泛推广,因此可以继续向其他满足一个或多个条件的终端设备推送更新提示,保证了应用程序的有效性,提高了应用程序更新提示的发送效率,进而提高了应用程序的更新效率。
附图说明
图1是本申请的一种应用程序的更新提示方法实施例的步骤流程图;
图2是本申请的一种应用程序的更新提示装置实施例的结构框图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
参照图1,示出了本申请的一种应用程序的更新提示方法实施例的步骤流程图,具体可以包括如下步骤:
步骤101,当指定的应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率;
在本申请实施例中,应用程序可以指为了完成一项或多项功能而被开发运行于操作系统之上的计算机程序,例如用于即时进行通讯的即时通讯工具、用于收发电子邮件的电子邮箱、用于浏览网页的浏览器等等。
可更新的内容可以包括新版本的应用程序、补丁等等,本申请实施例对此不加以限制。
在实际应用中,应用程序经常出现Crash(闪退)等错误,尤其是在移动设备中,例如采用移动设备中的应用程序进行在线购物突然退出了,或者应用程序卡着不动弹而必须关闭重启,或者移动设备死机了。可见,Crash是影响应用程序的稳定运行的一个主要因素,对用户体验影响十分之大。因此开发者需要及时针对应用程序的Crash等错误进行修复,以降低应用程序出错的概率。
在本申请的一种优选实施例中,步骤101可以包括如下子步骤:
子步骤S11,获取在所述应用程序所属终端设备中记录的日志信息;
其中,所述日志信息可以包括所述应用程序在一个或多个指定条件运行时出错的信息,以及,所述应用程序在所述一个或多个指定条件被启动的信息;
在具体实现中,所述一个或多个指定条件可以包括应用程序属性和/或运行环境;而所述应用程序属性可以由应用程序属性信息进行表征,所述运行环境可以由运行环境信息进行表征。
而在本申请实施例中,所述终端设备可以包括移动设备,例如平板电脑、个人数字助理、手机等等。由于移动设备的内存、硬盘、CPU(Central Processing Unit,中央处理器)等对应用程序运行状态存在影响,而操作系统(例如安卓Android、IOS、Windows Phone等)也不是非常完善,因此在移动设备中会时常出现应用程序的Crash等错误。
当然,终端设备也可以包括电子计算机、智能电视等等,本申请实施例对此不加以限制。
则在本申请实施例的一种优选示例中,所述程序属性信息可以至少包括所述应用程序的版本信息;
所述运行环境信息可以包括以下至少一个:
所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网信息。
在实际应用中,应用程序出错的概率与应用程序的版本、所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网方式信息等四个指定条件的关联比较大。应用程序的版本、所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网方式信息等信息为影响应用程序出错的概率的重要因素。
每次应用程序的版本的更新都可能会涉及内部代码的修改。应用程序的功能以及性能在每个版本中都会有所不同,而在应用程序设计之初,没可能面面俱到,因此诸如Crash等出错的因素比较多。
不同型号的终端设备,尤其是移动设备,其硬件设备均不一致,内存和硬盘的大小不同会导致应用程序的Crash等出错的概率不同,CPU的占用情况不同也会导致应用程序的Crash等出错的概率不同。
不同版本的操作系统,尤其是在移动设备中的操作系统,数量多、差异大。例如,对于IOS操作系统,版本不同,会导致跟应用程序的程序代码融合度不一样,比如,调用操作系统里的接口有所改变,会导致版本低的应用程序调用错误,导致应用程序的Crash等错误。又例如,对于Android操作系统,由于开源性,衍生出很多基于Android开发的操作系统,这些操作系统虽然底层都是Android,但是在不同操作系统之间,会有不同的接口,存在兼容性问题,容易导致应用程序的Crash等错误。
终端设备的联网信息可以包括网络连接方式(比如有线连接、无线连接)、网络信号强度、网络类型(比如CDMA(无线网络通讯)、GPRS(利用展频的通讯技术)等网络制式类型)中的一种或多种信息。由于应用程序应用等原因,终端设备经常需要连接网络而用户经常活动的区域相对比较集中,例如工作的地方、居住的地方等等,由于基站覆盖范围、信号干扰等问题,终端设备连接的网络可能会存在信号弱、网速慢等情况,而信号弱的网络可能导致出现更多的应用程序的Crash等错误,网络速度慢也可能会导致更多的应用程序的Crash等错误,而网络信号弱、速度慢等情况在移动设备连接的网络中比较常见。
当然,上述指定条件只是作为示例,在实施本申请实施例时,可以根据实际情况设置其他指定条件,例如与当前应用程序不兼容的应用程序、单次运行时长等等,本申请实施例对此不加以限制。另外,除了上述指定条件外,本领域技术人员还可以根据实际需要采用其它指定条件,本申请实施例对此也不加以限制。
应用本申请实施例,可以预先在应用程序中预埋能实现记录并返回应用程序属性(例如应用程序的版本信息等)和/或运行环境(例如终端设备的型号信息、终端设备的操作系统版本信息、终端设备的联网方式信息等)等信息的程序代码(即埋点)。在应用程序出现运行时异常信号时,终端设备系统可以向应用程序发送异常信号。当应用程序监听到该异常信号时,可以调用所述埋点对应的API(Application Programming Interface,应用程序编程接口)。通过该API可以,执行所述埋点以记录当前的日志信息。该日志信息中包含所述应用程序运行异常时的应用程序属性(例如应用程序的版本信息等)和/或运行环境(例如终端设备的型号信息、终端设备的操作系统版本信息、终端设备的联网信息等)等信息。通过该API还可以收集stacktrace信息(即所述应用程序发生运行异常的原因的相关信息),将该stacktrace信息写入日志信息中。当应用程序接收到该异常信号后,响应该异常信号,退出运行。
另外,应用程序的使用日志也可以被记录在日志信息中,比如应用程序被启动时可以记录一条日志信息。
服务器可以通过应用程序中的埋点主动采集所述应用程序发生错误时的日志信息,或者,终端设备可以在指定的情形(例如每隔一定时间、日志信息超过一定数量、移动设备关机、应用程序关闭等)下通过埋点将日志信息上传到服务器,本申请实施例对此不加以限制。
子步骤S12,计算所述出错的信息与所述被启动的信息的数量比值,获得所述应用程序在所述一个或多个指定条件中运行时出错的概率。
服务器可以对保存的日志信息,进行数据分析,计算出错的概率。
对于统计单个指定条件中出错的概率,例如计算在某一指定的终端设备型号下出错的概率,首先可以统计出每一个携带有该终端设备型号信息的出错信息的数量A,然后再统计出应用程序在该终端设备型号的设备上被启动的信息的数量B,则在终端设备型号的条件下出错的概率=出错信息的数量A/被启动的信息的数量B。
对于统计复合指定条件(即多个指定条件)中出错的概率,以计算在指定的应用程序版本、终端设备型号和终端设备操作系统版本的条件下应用程序出错的概率作为示例进行说明。例如,指定应用程序版本为1.1.20140101,终端设备型号为X,终端设备操作系统版本Android(安卓)4.4。可以统计携带有应用程序的版本信息为1.1.20140101、终端设备的型号信息为X、终端设备的操作系统版本信息为Android4.4的出错信息的数量C。统计出应用程序被启动的信息的数量D。则应用程序在上述指定的应用程序版本、终端设备型号和终端设备操作系统版本的条件下的出错的概率=出错信息的数量C/被启动的信息的数量D。
步骤102,当所述出错的概率满足预设条件时,向符合所述一个或多个指定条件的终端设备推送应用程序更新提示。在实际应用中,该预设条件可以包括出错的概率大于预设的概率阈值。
在应用此预设条件时,可以首先扫描单个指定条件时出错的概率,有超过概率阈值的则可以使用该单个指定条件,提示符合该指定条件的用户进行应用程序的更新。当单个条件下都没有超过概率阈值的情况下,则可以扫描复合指定条件时出错的概率,有超过概率阈值的则可以使用该复合指定条件,提示符合该复合条件的用户进行应用程序的更新。
需要说明的是,本申请实施例可以应用该指定条件中任意的一个、两个、三个、四个等等,本申请实施例对此不加以限制。
该预设条件也可以包括在该一个或多个指定条件中,顺序排序在前的一个或多个出错的概率。
则应用此预设条件时,可以向符合该一个或多个指定条件的,出错概率最大的一个或多个终端设备推送应用程序更新提示。
此外,本领域技术人员还可以根据实际情况设置其他设定条件,本本申请实施例对此不加以限制。
更新提示可以为文字提示信息、图片提示信息、声音提示信息等等,本申请实施例对此亦不加以限制。
例如,应用程序存在了一些设计缺陷,使得在某个型号的终端设备上出错的概率比较高。而新版本的应用程序主要去修复设计缺陷,因此,在这种情况下可以检测出当前的应用程序在哪一型号的终端设备上具有较高的出错的概率,该出错的概率可以大于预设的概率阈值,则可以选择向那些具有较高的出错的概率的终端设备推送所述应用程序的更新提示。
应用程序在各个终端设备的出错的概率可以如下表所示:
终端设备的型号信息 出错的概率
型号A 1%
型号B 10%
型号C 4%
型号D 3.5%
在单个指定条件下概率阈值可以设置得较高,假设概率阈值为5%,则在上述示例中,可以向型号B对应的终端设备推送应用程序A的更新提示,而可以不向型号A、型号C和型号D对应的终端设备推送应用程序的更新提示,免除了不必要的更新。
又例如,5.7版本的应用程序存在了一个漏洞,使得在操作系统为Android2.2.3版本、型号为B的终端设备中采用GPRS(无线网络通讯)联网时出错的概率比较高。而新版本的应用程序主要去修复在Android2.2.3版本的终端设备B中出现的漏洞,以降低采用GPRS联网时出错的概率,因此,在这种情况下可以使用符合指定条件——应用程序的版本信息、终端设备的型号信息、终端设备的操作系统版本信息和终端设备的联网方式信息,检测到哪些满足条件组合下的具有较高的出错的概率的应用程序。
应用程序在不同组合条件下的出错的概率可以如下表所示:
在复合指定条件下概率阈值可以设置得较低,假设概率阈值为2%,则可以向安装有5.7版本的应用程序、Android2.2.3版本的操作系统、采用GPRS通讯协议的终端设备推送所述应用程序的更新提示,而可以不向其他终端设备推送应用程序的更新提示。
本申请实施例在应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率,当出错的概率满足设定条件时,则向在该一个或多个指定条件中应用程序所属的终端设备推送应用程序更新提示,一方面,减少了推送其他不必要的更新提示的数量和频率,减少了服务器系统资源消耗,减少了终端设备对更新提示进行响应数量和频率,也同样减少了终端设备系统资源消耗,并且,更新提示的数量和频率减少了,可以大大提升用户体验,再者,由于更新提示减少了,使得应用程序的更新数量也会随之减少,大大减少了网络带宽的占用。另一方面,针对出错的概率进行更新,可以有效减少终端设备存在的闪退Crash等错误发生的几率,提高应用程序运行的稳定性,进一步提升用户体验。
在本申请的一种优选实施例中,步骤102可以包括如下子步骤:
子步骤S21,向在所述一个或多个指定条件中的,预设数量值的应用程序所属的终端设备推送应用程序更新提示。
在具体实现中,可以设置一个数据m(m为正数且m≤100),在应用程序需要更新时,向m%个满足一个或多个指定条件的终端设备推送应用程序的更新提示。
需要说明的是,数据m可以由本领域的技术人员根据实际情况进行设定,例如,可以默认设置数据m=100,即默认对所有满足一个或多个指定条件的终端设备推送应用程序的更新提示。
在本申请的一种优选实施例中,步骤102还可以包括如下子步骤:
子步骤S22,当所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率相等或上升时,停止向目标终端设备推送应用程序更新提示;
子步骤S23,当所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率下降时,向目标终端设备推送应用程序更新提示;
其中,所述目标终端设备为符合所述一个或多个指定条件的,所述预设数量的终端设备以外的终端设备。
应用本申请实施例,服务器可以在应用程序更新一段时间之后,通过终端设备的埋点主动采集日志信息,或者,终端设备可以在指定的情形(例如每隔一定时间、移动设备关机、应用程序关闭等)下通过埋点将日志信息上传到服务器。服务器通过该日志信息计算在这一段时间内,进行了更新的应用程序出错的概率,并与未进行更新时出错的概率进行对比。
本申请实施例监控进行了更新的应用程序出错的概率,如果出错的概率相等或上升,则表明更新后的应用程序可能存在新的漏洞/缺陷,或者未有解决之前的漏洞/缺陷等等,不适宜广泛推广,因此可以停止向其他满足一个或多个条件的终端设备推送更新提示,进一步减少更新提示的数量和频率,减少服务器和终端设备的系统资源消耗,减少网络带宽的占用;如果出错的概率下降,则表明更新后的应用程序解决之前的漏洞/缺陷等问题,适宜广泛推广,因此可以继续向其他满足一个或多个条件的终端设备推送更新提示,保证了应用程序的有效性,提高了应用程序更新提示的发送效率,进而提高了应用程序的更新效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请实施例并不受所描述的动作顺序的限制,因为依据本申请实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本申请实施例所必须的。
参照图2,示出了本申请一种应用程序的更新装置实施例的结构框图,具体可以包括如下模块:
概率统计模块201,用于在指定的应用具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率;所述一个或多个指定条件包括应用程序属性和/或运行环境;
提示推送模块202,用于在所述出错的概率满足设定条件时,向符合所述一个或多个指定条件的终端设备推送应用程序更新提示。
在本申请的一种优选实施例中,所述概率统计模块201可以包括如下子模块:
日志信息获取子模块,用于获取在所述应用程序所属终端设备中记录的日志信息;所述日志信息包括所述应用程序在一个或多个指定条件运行时出错的信息,以及,所述应用程序在所述一个或多个指定条件被启动的信息;
数量比值计算子模块,用于计算所述出错的信息与所述被启动的信息的数量比值,获得所述应用程序在所述一个或多个指定条件中运行时出错的概率。
在本申请的一种优选实施例中,所述终端设备可以包括移动设备。
在本申请的一种优选实施例中,所述应用程序属性可以由应用程序属性信息进行表征,所述运行环境可以由运行环境信息进行表征;
其中,所述程序属性信息至少可以包括所述应用程序的版本信息;
所述运行环境信息可以包括以下至少一个:
所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网信息。
在本申请的一种优选实施例中,所述提示推送模块202可以包括如下子模块:
第一推送子模块,用于向在所述一个或多个指定条件中的,预设数量值的应用程序所属的终端设备推送应用程序更新提示。
在本申请的一种优选实施例中,所述提示推送模块202还可以包括如下子模块:
停止推送子模块,用于在所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率相等或上升时,停止向目标终端设备推送应用程序更新提示;
第二推送子模块,用于在所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率下降时,向目标终端设备推送应用程序更新提示;
其中,所述目标终端设备为符合所述一个或多个指定条件的,所述预设数量的终端设备以外的终端设备。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本申请实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
在一个典型的配置中,所述计算机设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非持续性的电脑可读媒体(transitory media),如调制的数据信号和载波。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种应用程序的更新提示方法和一种应用程序的更新提示装置,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (12)

1.一种应用程序的更新方法,其特征在于,包括:
当指定的应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率;所述一个或多个指定条件包括应用程序属性和/或运行环境;
当所述出错的概率满足设定条件时,向符合所述一个或多个指定条件的终端设备推送应用程序更新提示,所述设定条件为所述出错的概率大于预设的概率阈值。
2.根据权利要求1所述的方法,其特征在于,所述统计所述应用程序在一个或多个指定条件中运行时出错的概率的步骤包括:
获取在所述应用程序所属终端设备中记录的日志信息;所述日志信息包括所述应用程序在一个或多个指定条件运行时出错的信息,以及,所述应用程序在所述一个或多个指定条件被启动的信息;
计算所述出错的信息与所述被启动的信息的数量比值,获得所述应用程序在所述一个或多个指定条件中运行时出错的概率。
3.根据权利要求1所述的方法,其特征在于,所述终端设备包括移动设备。
4.根据权利要求1或2或3所述的方法,其特征在于,所述程序属性信息至少包括所述应用程序的版本信息;
所述运行环境信息包括以下至少一个:
所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网信息。
5.根据权利要求1或2或3所述的方法,其特征在于,所述向符合所述一个或多个指定条件的终端设备推送应用程序更新提示的步骤包括:
向在所述一个或多个指定条件中的,预设数量值的应用程序所属的终端设备推送应用程序更新提示。
6.根据权利要求5所述的方法,其特征在于,所述向符合所述一个或多个指定条件中的终端设备推送应用程序更新提示的步骤还包括:
当所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率相等或上升时,停止向目标终端设备推送应用程序更新提示;
当所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率下降时,向目标终端设备推送应用程序更新提示;
其中,所述目标终端设备为符合所述一个或多个指定条件的,所述预设数量的应用程序所属的终端设备以外的终端设备。
7.一种应用程序的更新装置,其特征在于,包括:
概率统计模块,用于在指定的应用程序具有可更新内容时,统计所述应用程序在一个或多个指定条件运行时出错的概率;所述一个或多个指定条件包括应用程序属性和/或运行环境;
提示推送模块,用于在所述出错的概率满足设定条件时,向符合所述一个或多个指定条件的终端设备推送应用程序更新提示,所述设定条件为所述出错的概率大于预设的概率阈值。
8.根据权利要求7所述的装置,其特征在于,所述概率统计模块包括:
日志信息获取子模块,用于获取在所述应用程序所属终端设备中记录的日志信息;所述日志信息包括所述应用程序在一个或多个指定条件运行时出错的信息,以及,所述应用程序在所述一个或多个指定条件被启动的信息;
数量比值计算子模块,用于计算所述出错的信息与所述被启动的信息的数量比值,获得所述应用程序在所述一个或多个指定条件中运行时出错的概率。
9.根据权利要求7所述的装置,其特征在于,所述终端设备包括移动设备。
10.根据权利要求7或8或9所述的装置,其特征在于,所述应用程序属性由应用程序属性信息进行表征,所述运行环境由运行环境信息进行表征;
其中,所述程序属性信息至少包括所述应用程序的版本信息;
所述运行环境信息包括以下至少一个:
所述终端设备的型号信息、所述终端设备的操作系统版本信息、所述终端设备的联网信息。
11.根据权利要求7或8或9所述的装置,其特征在于,所述提示推送模块包括:
第一推送子模块,用于向在所述一个或多个指定条件中的,预设数量值的应用程序所属的终端设备推送应用程序更新提示。
12.根据权利要求11所述的装置,其特征在于,所述提示推送模块还包括:
停止推送子模块,用于在所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率相等或上升时,停止向目标终端设备推送应用程序更新提示;
第二推送子模块,用于在所述预设数量的应用程序在所述一个或多个指定条件运行出错的概率下降时,向目标终端设备推送应用程序更新提示;
其中,所述目标终端设备为符合所述一个或多个指定条件的,所述预设数量的应用程序所属的终端设备以外的终端设备。
CN201410228341.4A 2014-05-27 2014-05-27 一种应用程序的更新提示方法和装置 Active CN105224343B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410228341.4A CN105224343B (zh) 2014-05-27 2014-05-27 一种应用程序的更新提示方法和装置

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
CN201410228341.4A CN105224343B (zh) 2014-05-27 2014-05-27 一种应用程序的更新提示方法和装置
TW103132973A TWI630553B (zh) 2014-05-27 2014-09-24 Application update prompt method and device
US14/721,565 US9552199B2 (en) 2014-05-27 2015-05-26 Method and apparatus of prompting an update of an application
PCT/US2015/032429 WO2015183809A1 (en) 2014-05-27 2015-05-26 Method and apparatus of prompting an update of an application
HK16105058.0A HK1217127A1 (zh) 2014-05-27 2016-05-04 種應用程序的更新提示方法和裝置

Publications (2)

Publication Number Publication Date
CN105224343A CN105224343A (zh) 2016-01-06
CN105224343B true CN105224343B (zh) 2019-09-17

Family

ID=54699654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410228341.4A Active CN105224343B (zh) 2014-05-27 2014-05-27 一种应用程序的更新提示方法和装置

Country Status (5)

Country Link
US (1) US9552199B2 (zh)
CN (1) CN105224343B (zh)
HK (1) HK1217127A1 (zh)
TW (1) TWI630553B (zh)
WO (1) WO2015183809A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9772837B2 (en) * 2015-06-29 2017-09-26 Verizon Patent And Licensing Inc. Dynamic delivery of code and fixes
CN105117464B (zh) * 2015-08-25 2019-02-15 北京金山安全软件有限公司 一种应用推送方法、装置及服务设备
CN107239267A (zh) * 2016-03-29 2017-10-10 百度在线网络技术(北京)有限公司 应用程序的修复扩展方法和装置
TWI603204B (zh) * 2016-05-18 2017-10-21 群邁通訊股份有限公司 雲端裝置、終端裝置及異常處理方法
CN108279915B (zh) * 2017-03-01 2021-04-02 阿里巴巴(中国)有限公司 应用程序的升级方法、装置和终端
CN107423097B (zh) * 2017-07-28 2019-02-22 北京明朝万达科技股份有限公司 一种应用程序的管理方法和装置
CN107391207A (zh) * 2017-08-01 2017-11-24 深信服科技股份有限公司 一种基于云平台的终端更新系统及方法
CN110764974B (zh) * 2019-12-25 2020-04-17 武汉慧联无限科技有限公司 一种监控方法、装置及存储介质
CN111737630A (zh) * 2020-08-25 2020-10-02 智者四海(北京)技术有限公司 用于记录用户访问路径的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719073A (zh) * 2009-11-20 2010-06-02 浪潮集团山东通用软件有限公司 一种基于智能客户端的按需下载实现方法
CN102662705A (zh) * 2012-03-31 2012-09-12 中国工商银行股份有限公司 一种对计算机集群的系统环境进行升级的系统及方法

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
US6754894B1 (en) * 1999-12-03 2004-06-22 Command Audio Corporation Wireless software and configuration parameter modification for mobile electronic devices
US6880086B2 (en) * 2000-05-20 2005-04-12 Ciena Corporation Signatures for facilitating hot upgrades of modular software components
US7017085B2 (en) * 2002-05-30 2006-03-21 Capital One Financial Corporation Systems and methods for remote tracking of reboot status
US20050262500A1 (en) 2004-05-19 2005-11-24 Michael Stanley System and method for updating information handling system applications at manufacture
US20060106806A1 (en) * 2004-11-12 2006-05-18 Smith Micro Software, Inc. Software update for a plurality of mobile devices
JP2006331394A (ja) * 2005-04-25 2006-12-07 Ricoh Co Ltd プログラムバージョン管理方法、プログラム及び印刷システム
FR2888353A1 (fr) 2005-07-11 2007-01-12 Thomson Licensing Sas Soc Par Procede de detection d'erreurs lors de l'initialisation d'un appareil electronique et appareil implementant le procede
US20070192763A1 (en) 2006-02-15 2007-08-16 Helvick Richard E Method and system for scheduling application of software updates
US8620994B2 (en) 2006-02-23 2013-12-31 Qualcomm Incorporated System and method for scheduling content updates in a content-based application
US20120210310A1 (en) 2007-03-23 2012-08-16 Zenzui, Inc. Systems and methods for coordinating the updating of applications on a computing device
US8255902B1 (en) * 2008-03-17 2012-08-28 Symantec Corporation Systems and methods for determining and quantifying the impact of an application on the health of a system
MX2012000951A (es) 2009-07-23 2012-06-01 Sourcetrace Systems Inc MODIFICATION OF TERMINAL MACHINES AND SERVICE PROVIDERS USING AN UPDATE SERVER.
US9158650B2 (en) * 2010-08-04 2015-10-13 BoxTone, Inc. Mobile application performance management
US9137288B2 (en) 2010-12-20 2015-09-15 Yahoo! Inc. Scalable push-based architecture for web applications
US8910142B2 (en) * 2011-04-13 2014-12-09 Xerox Corporation Method and system to regulate the electronic availability of application software updates based on information collected regarding installation, usage and support for these updates
US9600395B2 (en) * 2011-12-07 2017-03-21 Siemens Aktiengesellschaft Software quality evaluating system and methods for determining an extent of software code changes
TW201327388A (zh) * 2011-12-21 2013-07-01 Acer Inc 電子裝置與其作業系統更新方法
CN102842007B (zh) * 2012-07-16 2015-03-11 腾讯科技(深圳)有限公司 移动终端应用程序的访问控制方法和系统
US9542176B2 (en) * 2012-08-20 2017-01-10 Microsoft Technology Licensing, Llc Predicting software build errors
US9535774B2 (en) * 2013-09-09 2017-01-03 International Business Machines Corporation Methods, apparatus and system for notification of predictable memory failure

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101719073A (zh) * 2009-11-20 2010-06-02 浪潮集团山东通用软件有限公司 一种基于智能客户端的按需下载实现方法
CN102662705A (zh) * 2012-03-31 2012-09-12 中国工商银行股份有限公司 一种对计算机集群的系统环境进行升级的系统及方法

Also Published As

Publication number Publication date
CN105224343A (zh) 2016-01-06
TWI630553B (zh) 2018-07-21
WO2015183809A1 (en) 2015-12-03
US9552199B2 (en) 2017-01-24
US20150347122A1 (en) 2015-12-03
HK1217127A1 (zh) 2016-12-23
TW201545065A (zh) 2015-12-01

Similar Documents

Publication Publication Date Title
KR102245025B1 (ko) 메모리 반환 방법 및 장치
US9536261B2 (en) Resolving conflicts within saved state data
Oliner et al. Carat: Collaborative energy diagnosis for mobile devices
US20160253312A1 (en) Topically aware word suggestions
US10831802B2 (en) Techniques to respond to user requests using natural-language machine learning based on example conversations
CN104038908B (zh) 发送推送消息的方法和装置
US20150088955A1 (en) Mobile application daily user engagement scores and user profiles
US20150095267A1 (en) Techniques to dynamically generate real time frequently asked questions from forum data
US20190295127A1 (en) Real-time monitoring of ads inserted in real-time into a web page
US20130117855A1 (en) Apparatus for automatically inspecting security of applications and method thereof
US20130152056A1 (en) System and method for data collection and analysis of information relating to mobile applications
KR20160148646A (ko) 전자 디바이스들 사이의 액티비티 계속
CN103177210B (zh) 一种在Android中植入动态污点分析模块的方法
US20120066667A1 (en) Simulation environment for distributed programs
JP6106344B2 (ja) 位置ベースのソフトウェア更新
US10679132B2 (en) Application recommending method and apparatus
US9606900B1 (en) Intelligent automation of computer software test scripts and code requirements
US20140108966A1 (en) Method, sharing platform, and system for sharing image-editing action
CN103631620A (zh) 应用程序处理方法及装置
CN106897215A (zh) 一种基于WebView网页加载性能及用户行为流数据采集的方法
US20150026330A1 (en) Generating unique identifiers for mobile devices
CN105573604A (zh) 应用程序的分类方法及装置
CN105337843A (zh) 交互系统、方法、客户端及后台服务器
CN104821954B (zh) 一种跨平台远程过程调用方法
Liu et al. Understanding diverse usage patterns from large-scale appstore-service profiles

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
C10 Entry into substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1217127

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant