CN109213476B - 一种安装包的生成方法、计算机可读存储介质及终端设备 - Google Patents
一种安装包的生成方法、计算机可读存储介质及终端设备 Download PDFInfo
- Publication number
- CN109213476B CN109213476B CN201810922178.XA CN201810922178A CN109213476B CN 109213476 B CN109213476 B CN 109213476B CN 201810922178 A CN201810922178 A CN 201810922178A CN 109213476 B CN109213476 B CN 109213476B
- Authority
- CN
- China
- Prior art keywords
- code
- module
- monitored
- changed
- target
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Stored Programmes (AREA)
Abstract
本发明属于计算机技术领域,尤其涉及一种基于大数据的安装包的生成方法、计算机可读存储介质及终端设备。所述方法监测目标工程中各个功能模块的代码是否发生变更,所述目标工程为指定应用程序的代码工程;若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数;根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量;若所述目标工程的代码变更量大于预设的阈值,则将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包。通过本发明,大大提高了操作效率,且降低了应用程序安装包的更新频率,减少了需要用户下载更新的次数,获得较好的用户体验。
Description
技术领域
本发明属于计算机技术领域,尤其涉及一种安装包的生成方法、计算机可读存储介质及终端设备。
背景技术
随着移动互联网技术的快速发展,各种各样的应用程序层出不穷,为用户的工作和生活提供了极大的便利。一般地,应用程序均采用逐步迭代的开发方式,即需要不断的根据实际情况对应用程序的代码工程进行更新,并打包生成应用程序安装包(APK)供用户下载安装。
在现有技术中,一般需要设置专门的人员对应用程序的代码工程的变更情况进行监测,一旦发现开发人员对代码工程进行了变更,则手动进行代码工程的打包上传,生成安装包,这种方式耗时耗力,效率极为低下,且应用程序安装包的更新频率较高,需要用户频繁地进行下载更新,体验较差。
发明内容
有鉴于此,本发明实施例提供了一种安装包的生成方法、计算机可读存储介质及终端设备,以解决现有的安装包的生成依靠手工操作效率低下,且安装包更新频率高,影响用户体验的问题。
本发明实施例的第一方面提供了一种安装包的生成方法,可以包括:
监测目标工程中各个功能模块的代码是否发生变更,所述目标工程为指定应用程序的代码工程;
若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数;
根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量;
若所述目标工程的代码变更量大于预设的阈值,则将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,所述原始安装包为由代码发生变更前的所述目标工程打包生成的应用程序安装包。
本发明实施例的第二方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,所述计算机可读指令被处理器执行时实现如下步骤:
监测目标工程中各个功能模块的代码是否发生变更,所述目标工程为指定应用程序的代码工程;
若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数;
根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量;
若所述目标工程的代码变更量大于预设的阈值,则将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,所述原始安装包为由代码发生变更前的所述目标工程打包生成的应用程序安装包。
本发明实施例的第三方面提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,所述处理器执行所述计算机可读指令时实现如下步骤:
监测目标工程中各个功能模块的代码是否发生变更,所述目标工程为指定应用程序的代码工程;
若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数;
根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量;
若所述目标工程的代码变更量大于预设的阈值,则将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,所述原始安装包为由代码发生变更前的所述目标工程打包生成的应用程序安装包。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过自动监测的方式来确定代码工程中的各个功能模块的代码是否发生变更,在变更达到一定程度时,自动打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,整个过程无需任何人工干预,全部通过自动化的方式实现,大大提高了操作效率。而且,本发明实施例引入了代码变更量来对代码工程的变更情况进行衡量,当代码变更量较小时,并不执行打包操作,只有当代码变更量足够大时,才执行打包操作,从而大大降低了应用程序安装包的更新频率,减少了需要用户进行下载更新的次数,获得较好的用户体验。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例中一种安装包的生成方法的一个实施例流程图;
图2为使用消息摘要校对的方式来监测目标工程中各个功能模块的代码是否发生变更的示意流程图;
图3为使用代码变更日志记录的方式来监测目标工程中各个功能模块的代码是否发生变更的示意流程图;
图4为影响指数的预设过程的示意流程图;
图5为本发明实施例中一种安装包的生成装置的一个实施例结构图;
图6为本发明实施例中一种终端设备的示意框图。
具体实施方式
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例中一种安装包的生成方法的一个实施例可以包括:
步骤S101、监测目标工程中各个功能模块的代码是否发生变更。
所述目标工程为指定应用程序的代码工程。
本实施例中的目标工程是按照功能模块进行划分的,例如,可以按照通信模块、图像处理模块、音频处理模块、摄像模块、……等等进行划分。
在本实施例的一种具体实现中,可以通过如图2所示的步骤来监测所述目标工程中各个功能模块的代码是否发生变更。
步骤S201、从预设的数据库中分别读取各个功能模块的代码的第一消息摘要值。
所述第一消息摘要值为使用预设的消息摘要算法对代码发生变更前的功能模块的代码进行计算得到的消息摘要值。
具体地,可以根据下式分别预先计算各个功能模块的代码的第一消息摘要值:
MsgDigVal′n=MsgDigFunc(ModCode′n)
其中,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,ModCode′n为所述目标工程中第n个功能模块的原始代码,也即本次监测前的功能模块的代码,MsgDigFunc为所述消息摘要算法,MsgDigVal′n为所述目标工程中第n个功能模块的代码的第一消息摘要值。
本实施例中的消息摘要算法包括但不限于MD5算法、SHA-1算法及其各种变体。
在预先计算得到各个功能模块的代码的第一消息摘要值之后,可以将其存储到数据库中,以备后续比对时使用。
步骤S202、分别计算各个功能模块的代码的第二消息摘要值。
具体地,可以根据下式分别计算各个功能模块的代码的第二消息摘要值:
MsgDigValn=MsgDigFunc(ModCoden)
其中,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,ModCoden为所述目标工程中第n个功能模块的代码,MsgDigFunc为所述消息摘要算法,MsgDigValn为所述目标工程中第n个功能模块的代码的第二消息摘要值。
步骤S203、判断待监测模块的代码的第一消息摘要值与第二消息摘要值是否一致。
所述待监测模块为所述目标工程中的任意一个功能模块。
由于第一消息摘要值是本次监测前的功能模块的代码的消息摘要值,而第二消息摘要值是本次监测时的功能模块的代码的消息摘要值,若代码未发生变更,则两者应当一致,若代码发生了变更,则两者就会出现差异,因此可以将待监测模块的代码的第一消息摘要值与第二消息摘要值进行比对,若所述待监测模块的代码的第一消息摘要值与第二消息摘要值一致,则执行步骤S204,若所述待监测模块的代码的第一消息摘要值与第二消息摘要值不一致,则执行步骤S205。
步骤S204、判定所述待监测模块的代码未发生变更。
步骤S205、判定所述待监测模块的代码发生变更。
在本实施例的一种具体实现中,可以通过如图3所示的步骤来监测所述目标工程中各个功能模块的代码是否发生变更。
步骤S301、在预设的代码变更日志中读取待监测模块的代码变更记录。
所述待监测模块为所述目标工程中的任意一个功能模块。
所述代码变更日志用于记录每次对代码所做的修改,终端设备会将每次修改都自动记录为一条代码变更记录,该代码变更日志中包含了多条代码变更记录。每条代码变更记录可以包括以下三部门内容:修改时间、修改对象(即针对的是哪个功能模块)以及具体修改内容。
例如,所述代码变更日志可以表示为如下的表格形式:
步骤S302、根据所述待监测模块的代码变更记录中的代码变更时刻判断是否存在基准时刻后新增的代码变更记录。
所述基准时刻为将代码发生变更前的所述目标工程打包生成所述原始安装包的时刻。
若所述待监测模块的代码变更记录中不存在所述基准时刻后新增的代码变更记录,则执行步骤S303,若所述待监测模块的代码变更记录中存在所述基准时刻后新增的代码变更记录,则执行步骤S304。
步骤S303、判定所述待监测模块的代码未发生变更。
步骤S304、判定所述待监测模块的代码发生变更。
需要注意的是,图2所示的消息摘要校对的方式以及图3所示的代码变更日志记录的方式仅仅只是监测所述目标工程中各个功能模块的代码是否发生变更的两种具体方式,实际应用中,还可以根据实际情况选择其它的监测方式,本实施例对此不作具体限定。
步骤S102、若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数。
本实施例主要通过在应用程序实际使用过程中各个功能模块出现异常的次数来对各个功能模块的影响指数进行评估,即如果某个功能模块在应用程序实际使用过程中出现的异常次数越多,则说明该功能模块中的代码更迫切的需要进行修改,该功能模块的影响指数也越高,反之,如果某个功能模块在应用程序实际使用过程中出现的异常次数越少,则说明该功能模块中的代码并不需要太迫切的进行修改,该功能模块的影响指数也越低。
进一步地,还需要考虑时间的影响,由于代码是处于不断地变更中的,有些异常会随着代码的变更而得到修复,后续将不再出现这些异常,而有些异常则会随着代码的变更而出现,因此,越久远的时间段对当前的影响越少,而越靠近的时间段对当前的影响越大。
具体地,如图4所示,所述影响指数的预设过程可以包括:
步骤S401、从所述数据库中获取所述应用程序在预设的统计时段内的历史使用记录。
所述统计时段可以根据实际情况设置为1个月,2个月,3个月,半年,一年或者其它取值,由于过于久远的数据参考意义不大,因此一般将其设置在一年之内为宜。
步骤S402、将所述统计时段划分为T个子时段。
T为正整数,T的取值可以根据实际情况设置,例如,可以将其设置为5、10、20或者其它取值。需要注意地是,T取值越大,则计算量也越大,但计算精度越高;T取值越小,则计算量也越大,但计算精度越低,需要根据实际情况对这两者进行权衡。
步骤S403、根据所述历史使用记录分别统计各个功能模块在各个子时段内出现异常的次数。
步骤S404、分别计算各个功能模块的影响指数。
具体地,可以根据下式分别计算各个功能模块的影响指数:
其中,t为子时段的序号,1≤t≤T,AbnNumn,t为第n个功能模块在第t个子时段内出现异常的次数,ImpDegn为第n个功能模块的影响指数。
步骤S103、根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量。
具体地,可以根据下式计算所述目标工程的代码变更量:
其中,StdScore为预设的标准分值,ModBooln为第n个功能模块的检测布尔值,且
ChangeScore为所述目标工程的代码变更量。
步骤S104、判断所述目标工程的代码变更量是否大于预设的阈值。
所述阈值可以根据实际情况进行设置,例如,可以将其设置为50、100、200或者其它取值。
若所述目标工程的代码变更量小于或等于所述阈值,则说明所述目标工程的代码变更量还不够大,返回执行步骤S101及其后续步骤,直至所述目标工程的代码变更量大于所述阈值为止。
若所述目标工程的代码变更量大于所述阈值,则说明所述目标工程的代码变更量已经足够大,此时执行步骤S105。
步骤S105、将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包。
所述原始安装包为由代码发生变更前的所述目标工程打包生成的应用程序安装包。
所述下载地址可以是在各个应用商城中供用户进行下载安装应用程序安装包的地址。
综上所述,本发明实施例通过自动监测的方式来确定代码工程中的各个功能模块的代码是否发生变更,在变更达到一定程度时,自动打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,整个过程无需任何人工干预,全部通过自动化的方式实现,大大提高了操作效率。而且,本发明实施例引入了代码变更量来对代码工程的变更情况进行衡量,当代码变更量较小时,并不执行打包操作,只有当代码变更量足够大时,才执行打包操作,从而大大降低了应用程序安装包的更新频率,减少了需要用户进行下载更新的次数,获得较好的用户体验。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
对应于上文实施例所述的一种安装包的生成方法,图5示出了本发明实施例提供的一种安装包的生成装置的一个实施例结构图。
本实施例中,一种安装包的生成装置可以包括:
代码变更监测模块501,用于监测目标工程中各个功能模块的代码是否发生变更,所述目标工程为指定应用程序的代码工程;
影响指数获取模块502,用于若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数;
代码变更量计算模块503,用于根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量;
安装包生成模块504,用于若所述目标工程的代码变更量大于预设的阈值,则将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,所述原始安装包为由代码发生变更前的所述目标工程打包生成的应用程序安装包。
可选地,所述代码变更监测模块可以包括:
第一消息摘要值获取单元,用于从预设的数据库中分别读取各个功能模块的代码的第一消息摘要值,所述第一消息摘要值为使用预设的消息摘要算法对代码发生变更前的功能模块的代码进行计算得到的消息摘要值;
第二消息摘要值计算单元,用于根据下式分别计算各个功能模块的代码的第二消息摘要值:
MsgDigValn=MsgDigFunc(ModCoden)
其中,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,ModCoden为所述目标工程中第n个功能模块的代码,MsgDigFunc为所述消息摘要算法,MsgDigValn为所述目标工程中第n个功能模块的代码的第二消息摘要值;
消息摘要值比对单元,用于将待监测模块的代码的第一消息摘要值与第二消息摘要值进行比对,所述待监测模块为所述目标工程中的任意一个功能模块;
第一判定单元,用于若所述待监测模块的代码的第一消息摘要值与第二消息摘要值一致,则判定所述待监测模块的代码未发生变更;
第二判定单元,用于若所述待监测模块的代码的第一消息摘要值与第二消息摘要值不一致,则判定所述待监测模块的代码发生变更。
可选地,所述代码变更监测模块可以包括:
代码变更记录读取单元,用于在预设的代码变更日志中读取待监测模块的代码变更记录,所述待监测模块为所述目标工程中的任意一个功能模块;
新增记录判断单元,用于根据所述待监测模块的代码变更记录中的代码变更时刻判断是否存在基准时刻后新增的代码变更记录,所述基准时刻为将代码发生变更前的所述目标工程打包生成所述原始安装包的时刻;
第三判定单元,用于若所述待监测模块的代码变更记录中不存在所述基准时刻后新增的代码变更记录,则判定所述待监测模块的代码未发生变更;
第四判定单元,用于若所述待监测模块的代码变更记录中存在所述基准时刻后新增的代码变更记录,则判定所述待监测模块的代码发生变更。
进一步地,所述安装包的生成装置还可以包括:
历史使用记录获取模块,用于从所述数据库中获取所述应用程序在预设的统计时段内的历史使用记录;
子时段划分模块,用于将所述统计时段划分为T个子时段,T为正整数;
异常次数统计模块,用于根据所述历史使用记录分别统计各个功能模块在各个子时段内出现异常的次数;
影响指数计算模块,用于根据下式分别计算各个功能模块的影响指数:
其中,t为子时段的序号,1≤t≤T,AbnNumn,t为第n个功能模块在第t个子时段内出现异常的次数,ImpDegn为第n个功能模块的影响指数。
进一步地,所述代码变更量计算模块可以包括:
代码变更量计算单元,用于根据下式计算所述目标工程的代码变更量:
其中,StdScore为预设的标准分值,ModBooln为第n个功能模块的检测布尔值,且
ChangeScore为所述目标工程的代码变更量。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置,模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
图6示出了本发明实施例提供的一种终端设备的示意框图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本实施例中,所述终端设备6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备6可包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机可读指令62,例如执行上述的安装包的生成方法的计算机可读指令。所述处理器60执行所述计算机可读指令62时实现上述各个安装包的生成方法实施例中的步骤,例如图1所示的步骤S101至S105。或者,所述处理器60执行所述计算机可读指令62时实现上述各装置实施例中各模块/单元的功能,例如图5所示模块501至504的功能。
示例性的,所述计算机可读指令62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机可读指令段,该指令段用于描述所述计算机可读指令62在所述终端设备6中的执行过程。
所述处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述存储器61可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储所述计算机可读指令以及所述终端设备6所需的其它指令和数据。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。
在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干计算机可读指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储计算机可读指令的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种安装包的生成方法,其特征在于,包括:
监测目标工程中各个功能模块的代码是否发生变更,所述目标工程为指定应用程序的代码工程;
若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数;其中,任意一个功能模块的影响指数与该功能模块出现异常的次数正相关;
根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量;
若所述目标工程的代码变更量大于预设的阈值,则将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,所述原始安装包为由代码发生变更前的所述目标工程打包生成的应用程序安装包。
2.根据权利要求1所述的安装包的生成方法,其特征在于,所述监测目标工程中各个功能模块的代码是否发生变更包括:
从预设的数据库中分别读取各个功能模块的代码的第一消息摘要值,所述第一消息摘要值为使用预设的消息摘要算法对代码发生变更前的功能模块的代码进行计算得到的消息摘要值;
根据下式分别计算各个功能模块的代码的第二消息摘要值:
MsgDigValn=MsgDigFunc(ModCoden)
其中,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,ModCoden为所述目标工程中第n个功能模块的代码,MsgDigFunc为所述消息摘要算法,MsgDigValn为所述目标工程中第n个功能模块的代码的第二消息摘要值;
将待监测模块的代码的第一消息摘要值与第二消息摘要值进行比对,所述待监测模块为所述目标工程中的任意一个功能模块;
若所述待监测模块的代码的第一消息摘要值与第二消息摘要值一致,则判定所述待监测模块的代码未发生变更;
若所述待监测模块的代码的第一消息摘要值与第二消息摘要值不一致,则判定所述待监测模块的代码发生变更。
3.根据权利要求1所述的安装包的生成方法,其特征在于,所述监测目标工程中各个功能模块的代码是否发生变更包括:
在预设的代码变更日志中读取待监测模块的代码变更记录,所述待监测模块为所述目标工程中的任意一个功能模块;
根据所述待监测模块的代码变更记录中的代码变更时刻判断是否存在基准时刻后新增的代码变更记录,所述基准时刻为将代码发生变更前的所述目标工程打包生成所述原始安装包的时刻;
若所述待监测模块的代码变更记录中不存在所述基准时刻后新增的代码变更记录,则判定所述待监测模块的代码未发生变更;
若所述待监测模块的代码变更记录中存在所述基准时刻后新增的代码变更记录,则判定所述待监测模块的代码发生变更。
4.根据权利要求1所述的安装包的生成方法,其特征在于,所述影响指数的预设过程包括:
从预设的数据库中获取所述应用程序在预设的统计时段内的历史使用记录;
将所述统计时段划分为T个子时段,T为正整数;
根据所述历史使用记录分别统计各个功能模块在各个子时段内出现异常的次数;
根据下式分别计算各个功能模块的影响指数:
其中,t为子时段的序号,1≤t≤T,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,AbnNumn,t为第n个功能模块在第t个子时段内出现异常的次数,ImpDegn为第n个功能模块的影响指数。
5.根据权利要求1至4中任一项所述的安装包的生成方法,其特征在于,所述根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量包括:
根据下式计算所述目标工程的代码变更量:
其中,StdScore为预设的标准分值,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,ImpDegn为第n个功能模块的影响指数,ModBooln为第n个功能模块的检测布尔值,且ChangeScore为所述目标工程的代码变更量。
6.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,其特征在于,所述计算机可读指令被处理器执行时实现如权利要求1至5中任一项所述的安装包的生成方法的步骤。
7.一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机可读指令,其特征在于,所述处理器执行所述计算机可读指令时实现如下步骤:
监测目标工程中各个功能模块的代码是否发生变更,所述目标工程为指定应用程序的代码工程;
若所述目标工程中的任意一个功能模块的代码发生变更,则获取各个功能模块预设的影响指数;其中,任意一个功能模块的影响指数与该功能模块出现异常的次数正相关;
根据各个功能模块的影响指数以及各个功能模块的代码是否发生变更计算所述目标工程的代码变更量;
若所述目标工程的代码变更量大于预设的阈值,则将所述目标工程打包生成应用程序安装包,并替换掉指定下载地址中的原始安装包,所述原始安装包为由代码发生变更前的所述目标工程打包生成的应用程序安装包。
8.根据权利要求7所述的终端设备,其特征在于,所述监测目标工程中各个功能模块的代码是否发生变更包括:
从预设的数据库中分别读取各个功能模块的代码的第一消息摘要值,所述第一消息摘要值为使用预设的消息摘要算法对代码发生变更前的功能模块的代码进行计算得到的消息摘要值;
根据下式分别计算各个功能模块的代码的第二消息摘要值:
MsgDigValn=MsgDigFunc(ModCoden)
其中,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,ModCoden为所述目标工程中第n个功能模块的代码,MsgDigFunc为所述消息摘要算法,MsgDigValn为所述目标工程中第n个功能模块的代码的第二消息摘要值;
将待监测模块的代码的第一消息摘要值与第二消息摘要值进行比对,所述待监测模块为所述目标工程中的任意一个功能模块;
若所述待监测模块的代码的第一消息摘要值与第二消息摘要值一致,则判定所述待监测模块的代码未发生变更;
若所述待监测模块的代码的第一消息摘要值与第二消息摘要值不一致,则判定所述待监测模块的代码发生变更。
9.根据权利要求7所述的终端设备,其特征在于,所述监测目标工程中各个功能模块的代码是否发生变更包括:
在预设的代码变更日志中读取待监测模块的代码变更记录,所述待监测模块为所述目标工程中的任意一个功能模块;
根据所述待监测模块的代码变更记录中的代码变更时刻判断是否存在基准时刻后新增的代码变更记录,所述基准时刻为将代码发生变更前的所述目标工程打包生成所述原始安装包的时刻;
若所述待监测模块的代码变更记录中不存在所述基准时刻后新增的代码变更记录,则判定所述待监测模块的代码未发生变更;
若所述待监测模块的代码变更记录中存在所述基准时刻后新增的代码变更记录,则判定所述待监测模块的代码发生变更。
10.根据权利要求7至9中任一项所述的终端设备,其特征在于,所述影响指数的预设过程包括:
从预设的数据库中获取所述应用程序在预设的统计时段内的历史使用记录;
将所述统计时段划分为T个子时段,T为正整数;
根据所述历史使用记录分别统计各个功能模块在各个子时段内出现异常的次数;
根据下式分别计算各个功能模块的影响指数:
其中,t为子时段的序号,1≤t≤T,n为功能模块的序号,1≤n≤N,N为所述目标工程中功能模块的总数,AbnNumn,t为第n个功能模块在第t个子时段内出现异常的次数,ImpDegn为第n个功能模块的影响指数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810922178.XA CN109213476B (zh) | 2018-08-14 | 2018-08-14 | 一种安装包的生成方法、计算机可读存储介质及终端设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810922178.XA CN109213476B (zh) | 2018-08-14 | 2018-08-14 | 一种安装包的生成方法、计算机可读存储介质及终端设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109213476A CN109213476A (zh) | 2019-01-15 |
CN109213476B true CN109213476B (zh) | 2023-10-17 |
Family
ID=64987978
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810922178.XA Active CN109213476B (zh) | 2018-08-14 | 2018-08-14 | 一种安装包的生成方法、计算机可读存储介质及终端设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109213476B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109918087A (zh) * | 2019-01-17 | 2019-06-21 | 深圳壹账通智能科技有限公司 | 应用的管理方法、装置、设备及存储介质 |
CN109947454B (zh) * | 2019-03-29 | 2022-07-15 | 北京经纬恒润科技股份有限公司 | 一种数据处理方法及*** |
CN110780887B (zh) * | 2019-09-23 | 2024-06-21 | 连尚(新昌)网络科技有限公司 | 一种提供应用安装包的方法与设备 |
CN110795114B (zh) * | 2019-10-29 | 2023-08-01 | 北京五八信息技术有限公司 | 应用程序安装包容量的监测方法、装置、电子设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426947A (zh) * | 2013-08-27 | 2015-03-18 | 中兴通讯股份有限公司 | 一种终端智能升级的方法及***、终端及数据更新服务器 |
CN106528079A (zh) * | 2016-09-23 | 2017-03-22 | 北京五八信息技术有限公司 | React Native代码运行状态监控方法及装置 |
CN107832222A (zh) * | 2017-11-17 | 2018-03-23 | 广东小天才科技有限公司 | 一种应用程序的下架控制方法及服务设备 |
CN107885521A (zh) * | 2017-12-11 | 2018-04-06 | 凌云天博光电科技股份有限公司 | 软件工程项目自动生成/更新方法、装置及*** |
CN108196878A (zh) * | 2018-01-22 | 2018-06-22 | 广东小天才科技有限公司 | 应用程序安装包的生成方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103677876A (zh) * | 2012-09-12 | 2014-03-26 | 中兴通讯股份有限公司 | 一种软件安装包制作安装方法、设备及*** |
US10175978B2 (en) * | 2016-11-04 | 2019-01-08 | International Business Machines Corporation | Monitoring code sensitivity to cause software build breaks during software project development |
-
2018
- 2018-08-14 CN CN201810922178.XA patent/CN109213476B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104426947A (zh) * | 2013-08-27 | 2015-03-18 | 中兴通讯股份有限公司 | 一种终端智能升级的方法及***、终端及数据更新服务器 |
CN106528079A (zh) * | 2016-09-23 | 2017-03-22 | 北京五八信息技术有限公司 | React Native代码运行状态监控方法及装置 |
CN107832222A (zh) * | 2017-11-17 | 2018-03-23 | 广东小天才科技有限公司 | 一种应用程序的下架控制方法及服务设备 |
CN107885521A (zh) * | 2017-12-11 | 2018-04-06 | 凌云天博光电科技股份有限公司 | 软件工程项目自动生成/更新方法、装置及*** |
CN108196878A (zh) * | 2018-01-22 | 2018-06-22 | 广东小天才科技有限公司 | 应用程序安装包的生成方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109213476A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213476B (zh) | 一种安装包的生成方法、计算机可读存储介质及终端设备 | |
CN109583758B (zh) | 监察***的预警规则修正方法、装置和计算机设备 | |
CN108388509B (zh) | 一种软件测试方法、计算机可读存储介质及终端设备 | |
CN108228722B (zh) | 破碎化区域采样点的地理空间分布均匀度检测方法 | |
US20130041625A1 (en) | Advanced Statistical Detection of Emerging Trends | |
JP2019512126A (ja) | 機械学習システムをトレーニングする方法及びシステム | |
CN116502166B (zh) | 一种对目标设备故障预测的方法、装置、设备和介质 | |
CN104426696A (zh) | 一种故障处理的方法及装置 | |
CN108108490B (zh) | Hive表扫描方法、装置、计算机设备及存储介质 | |
CN115858311A (zh) | 运维监控的方法、装置、电子设备及可读存储介质 | |
CN103793032A (zh) | 用于确定上电复位的方法和装置 | |
CN114595826A (zh) | 一种联邦学习工人节点选择方法、***、终端以及存储介质 | |
US8930773B2 (en) | Determining root cause | |
CN106649210B (zh) | 一种数据转换方法及装置 | |
CN114801868A (zh) | 一种电池的可用功率的动态修正方法、装置、设备及介质 | |
CN115270013A (zh) | 评估活动期间减排措施的方法、装置及电子设备 | |
CN108959415A (zh) | 一种异常维度定位方法、装置及电子设备 | |
CN109783646B (zh) | 一种数据处理方法及装置 | |
CN110351330B (zh) | 数据上传方法、装置、计算机设备及存储介质 | |
CN112907257A (zh) | 风险阈值确定方法、异常检测方法、装置和电子设备 | |
US20130254894A1 (en) | Information processing device, non-transitory computer readable medium, and information processing method | |
CN114996536B (zh) | 维修方案查询方法、装置、设备及计算机可读存储介质 | |
CN116069724A (zh) | 数据库性能快照的使用方法、存储介质及设备 | |
CN118037472B (zh) | 财务数据处理方法及相关装置 | |
JP7352107B2 (ja) | 演算エラー警告装置及び演算エラー警告用プログラム |
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 |