CN111610990A - 一种应用程序升级的方法、装置和相关系统 - Google Patents
一种应用程序升级的方法、装置和相关系统 Download PDFInfo
- Publication number
- CN111610990A CN111610990A CN201910139112.8A CN201910139112A CN111610990A CN 111610990 A CN111610990 A CN 111610990A CN 201910139112 A CN201910139112 A CN 201910139112A CN 111610990 A CN111610990 A CN 111610990A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- information
- application program
- upgrade
- package
- 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
Abstract
本发明公开了一种应用程序升级的方法、装置和相关系统。所述方法包括:接收服务器下发的应用程序的升级信息,根据升级信息中的升级条件,判断是否需要对应用程序进行升级;若是,根据升级信息中的下载地址下载升级包,使用升级包对应用程序进行升级。能够避免客户端上传设备信息到服务器再由服务器来判断是否需要升级所带来的信息泄露,保护了用户隐私;同时,可以有效的节省网络带宽,节约服务器计算量,能够更加高效安全实时的实现应用程序的升级。
Description
技术领域
本发明涉及软件开发和应用技术领域,特别涉及一种应用程序升级的方法、装置和相关系统。
背景技术
传统开发中,为完成客户端的个性化升级或灰度升级或AB测试,都需要上传客户端的设备信息到服务器,再由服务器来判断是否需要升级,允许需要升级的客户端下载升级包,完成升级。
其中,灰度升级即局部升级,是一种升级时候的平滑切换,当有些服务器的客户端要进行升级,只对其中部分客户端升级并测试,确保程序无误后再全局升级;AB测试是为Web或App界面或流程制作两个(A/B)或多个(A/B/……n)版本,在同一时间维度,分别让设定的不同的群组访问不同的版本,收集各个群组的用户体验数据和业务数据,最后分析评估出最好版本正式采用。
上述升级过程,首先需要客户端都上传设备信息给服务器,存在隐私被非法获取的风险,很容易发生隐私泄露。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用升级的方法、装置和相关系统。
第一方面,本发明实施例提供一种应用程序升级的方法,包括:
接收服务器下发的应用程序的升级信息,根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级;
若是,根据所述升级信息中的下载地址下载升级包,使用所述升级包对所述应用程序进行升级。
在一些可选的实施例中,所述根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级,包括:
对所述升级信息进行解析,解析出升级条件,所述升级条件中包括至少一条升级判定信息;
根据每条所述升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,若是,则确定需要对所述应用程序进行升级。
在一些可选的实施例中,当解析出的升级条件不止一个时,若符合任何一个升级条件,则确定需要对所述应用程序进行升级。
在一些可选的实施例中,根据每条所述升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,包括下列至少一项:
根据所述升级判定信息中的业务模块的名称搜索本地是否存在所述业务模块;
根据所述升级判定信息中的业务模块的编号规则,判断本地的所述业务模块的编号是否满足所述编号规则;
根据所述升级判定信息中的业务模块的版本号规则,判断本地的所述业务模块的版本号是否满足所述版本号规则;
判断本地的所述应用程序的编号是否满足所述升级判定信息中的所述应用程序编号规则;
判断本地的所述应用程序的版本号是否满足所述升级判定信息中的所述应用程序版本号规则;
判断本地设备的ID号是否满足所述升级判定信息中的设备ID号规则;
判断本地设备的品牌是否满足所述升级判定信息中的设备品牌规则;
判断本地设备的型号是否满足所述升级判定信息中的设备型号规则;
判断本地设备的软件操作系统版本号是否满足所述升级判定信息中设备的软件操作系统版本号规则;
判断本地设备的用户ID号是否满足所述升级判定信息中的用户ID号规则;
判断本地设备的用户分类标签是否满足所述升级判定信息中的用户分类标签规则;
判断本地设备的升级方式是否满足所述升级判定信息中设备的升级方式规则;
判断本地设备的网络状态是否满足所述升级判定信息中设备的网络状态规则;
判断本地设备的升级方式是否满足所述升级判定信息中设备的升级方式规则;
判断本地设备的位置是否满足所述升级判定信息中设备的位置规则。
在一些可选的实施例中,接收服务器下发的所述应用程序的升级信息前,还包括:调用相应的资源启动所述应用程序,与服务器建立socket连接;通过socket连接接收服务器下发的的所述应用程序的升级信息。
在一些可选的实施例中,根据所述升级信息中的下载地址下载升级包,包括:
根据所述升级信息中的下载地址下载所述应用程序的升级包;或
根据所述升级信息中的下载地址下载所述应用程序中至少一个业务模块的协议程序包,所述协议程序包中包括针对所述业务开发的协议代码以及运行协议代码所需调用的资源。
在一些可选的实施例中,当下载所述应用程序中至少一个业务模块的协议程序包时,所述应用程序是由包含编译后的应用程序原生代码的安装包安装得到的;所述原生代码包括应用程序的基础代码、运行应用程序需要调用的资源、协议引擎和协议代码与基础代码调用映射关系库;相应的,
使用所述升级包对所述应用程序进行升级,包括:
将所述协议程序包存储到应用程序的指定目录中;根据协议代码与基础代码调用映射关系库,调用所述协议程序包中的需要运行的协议代码,在相应的协议引擎上运行调用的所述协议代码。
在一些可选的实施例中,接收服务器下发的所述应用程序的升级信息,包括:
接收服务器下发的包括下列至少一项备注信息的所述应用程序的升级信息:
是否强制升级的信息;所述升级包的信息摘要算法MD5值;升级内容;所述升级包的大小。
在一些可选的实施例中,所述方法,还包括执行下述步骤中的至少一个:
确定需要对应用程序进行升级时,根据所述备注信息中包括的是否强制升级的信息,确定直接执行或接收到用户的升级指令后再执行所述根据所述升级信息中的下载地址下载升级包的步骤;
下载升级包之后,将升级包中的MD5值与所述备注信息中包括的MD5值匹配,若匹配正确,执行所述使用所述升级包对所述应用程序进行升级的步骤;
确定需要对应用程序进行升级时,将所述备注信息中包括的升级内容和/或升级包的大小展示给用户,接收到用户的升级指令后再执行所述根据所述升级信息中的下载地址下载升级包的步骤。
在一些可选的实施例中,接收服务器下发的所述应用程序的升级信息,包括:
接收服务器下发的预先将升级信息按照预定的加密方式加密成的升级信息密文;对应的,
根据升级信息中的升级条件判断是否需要升级之前,还包括:
按照与所述加密方式对应的解密方式解密所述升级信息密文。
在一些可选的实施例中,判断是否需要对所述应用程序进行升级之前,还包括:
判断所述升级信息是否合规;
若是,再执行所述根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级的步骤。
在一些可选的实施例中,接收服务器下发的所述应用程序的升级信息,包括:
接收服务器主动下发的所述应用程序的升级信息;或,
向服务器发送升级信息请求,接收服务器根据所述请求下发的所述应用程序的升级信息。
第二方面,本发明实施例提供一种应用程序升级的装置,包括:
接收模块,用于接收服务器下发的应用程序的升级信息;
第一判断模块,用于根据所述接收模块接收的所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级;
下载模块,用于当所述第一判断模块判断为是时,根据所述接收模块接收的所述升级信息中的下载地址下载升级包;
升级模块,用于使用所述下载模块下载的升级包对所述应用程序进行升级。
在一些可选的实施例中,所述第一判断模块,具体用于:
对所述升级信息进行解析,解析出升级条件,所述升级条件中包括至少一条升级判定信息;根据每条所述升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,若是,则确定需要对所述应用程序进行升级。
在一些可选的实施例中,所述装置,还包括:
启动模块,用于调用相应的资源启动所述应用程序,与服务器建立socket连接;相应的,
所述接收模块,用于通过所述启动模块建立的所述socket连接接收服务器下发的的所述应用程序的升级信息。
在一些可选的实施例中,所述下载模块,具体用于:
根据所述接收模块接收的所述升级信息中的下载地址下载所述应用程序的升级包;或
根据所述接收模块接收的所述升级信息中的下载地址下载所述应用程序中至少一个业务模块的协议程序包,所述协议程序包中包括针对所述业务开发的协议代码以及运行协议代码所需调用的资源。
在一些可选的实施例中,所述接收模块,具体用于:
接收服务器下发的包括下列至少一项备注信息的所述应用程序的升级信息:是否强制升级的信息;所述升级包的信息摘要算法MD5值;升级内容;所述升级包的大小。
在一些可选的实施例中,所述装置,还包括至少一个下述模块:
确定模块,用于在所述第一判断模块确定需要对应用程序进行升级时,根据所述备注信息中包括的是否强制升级的信息,确定直接执行或接收到用户的升级指令后所述下载模块再执行所述根据所述升级信息中的下载地址下载升级包的步骤;
匹配模块,用于所述狭窄模块下载升级包之后,将升级包中的MD5值与所述备注信息中包括的MD5值匹配,若匹配正确,所述升级模块执行所述使用所述升级包对所述应用程序进行升级的步骤;
展示模块,用于所述第一判断模块确定需要对应用程序进行升级时,将所述备注信息中包括的升级内容和/或升级包的大小展示给用户,接收到用户的升级指令后下载模块再执行所述根据所述升级信息中的下载地址下载升级包的步骤。
在一些可选的实施例中,所述接收模块,具体用于:
接收服务器下发的预先将升级信息按照预定的加密方式加密成的升级信息密文;对应的,所述装置还包括解密模块,用于:
所述第一判断模块根据升级信息中的升级条件判断是否需要升级之前,按照与所述加密方式对应的解密方式解密所述升级信息密文。
在一些可选的实施例中,所述装置,还包括:
第二判断模块,用于在所述第一判断模块判断是否需要对所述应用程序进行升级之前,判断所述升级信息是否合规;
若是,所述第一判断模块再执行所述根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级的步骤。
在一些可选的实施例中,所述接收模块,具体用于:
接收服务器主动下发的所述应用程序的升级信息;或,向服务器发送升级信息请求,接收服务器根据所述请求下发的所述应用程序的升级信息。
第三方面,本发明实施例提供一种应用程序升级的系统,包括:服务器和至少一个客户端;
所述客户端设置有上述任一所述的应用升级的装置;
所述服务器用于生成并向每个客户端发送所述升级信息。
第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现上述应用程序升级的方法。
本发明实施例提供的上述技术方案的有益效果至少包括:
接收服务器下发的应用程序的升级信息,根据升级信息中的升级条件,判断是否需要对应用程序进行升级;若是,根据升级信息中的下载地址下载升级包,使用升级包对应用程序进行升级。通过服务器下发升级信息,将计算并判断是否需要升级的工作放在客户端进行,节约了服务器的计算量;客户端判断需要升级则按照下载地址下载升级包完成升级,客户端与服务器之间不用反复的通信,有效的节省了网络带宽;同时,能够避免客户端上传设备信息到服务器再由服务器来判断是否需要升级所带来的信息泄露,保护了用户隐私。故,本实施例所述方法可以更加高效安全实时的实现应用程序的升级。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1为本发明实施例一中所述应用程序升级的方法的流程图;
图2为本发明实施例三中所述应用程序的开发方法的流程图;
图3为本发明实施例四中所述应用程序升级的方法的具体实现流程图;
图4为本发明实施例中所述应用程序升级的装置的结构示意图;
图5为本发明实施例中所述应用程序升级的系统的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
为了解决现有技术中存在的应用程序升级首先需要客户端都上传设备信息给服务器而容易造成隐私泄露的问题,本发明实施例提供一种应用程序升级的方法,能够保护用户隐私,同时可以有效的节省网络带宽,减少服务器计算量,可以更加高效安全实时的实现应用升级。
实施例一
本发明实施例一提供一种应用程序升级的方法,其流程如图1所示,包括如下步骤:
步骤S11:接收服务器下发的应用程序的升级信息。
可以是客户端接收服务器主动下发的应用程序的升级信息;或,先由客户端向服务器发送升级信息请求,接收服务器根据请求下发的应用程序的升级信息。
服务器即可以主动也可以被动下发升级信息,丰富了本实施例所述方案的适用情景,拓宽了其适用范围。
上述升级信息至少包括服务器生成的升级条件和升级包的下载地址。升级条件可以为一系列的升级表达式。
步骤S12:根据升级信息中的升级条件,判断是否需要对应用程序进行升级。
可以是,先对升级信息进行解析,解析出升级条件,所述升级条件中包括至少一条升级判定信息;根据每条升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,若是,则确定需要对应用程序进行升级。
其中,对升级信息进行解析,可以是先只针对升级条件进行解析,可以避免当确定不需要升级时,解析其他的信息所带来的多余的计算。
当解析出的升级条件不止一个时,此时,可以是,每个升级条件之间是或的逻辑关系,若判断符合任何一个升级条件,则确定需要对应用程序进行升级;而不是根据每个升级条件进行判断,可以减少判断的计算量。
上述根据每条升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,若是,则确定需要对应用程序进行升级。服务器端可以针对若干个对象依次定义判定规则,客户端逐个对象判断是否符合判定规则,都符合才确定需要对应用程序进行升级,可以保证更精确的判断,避免了不必要的升级操作。
若判断需要升级,执行步骤S13;若判断不需要升级,放弃升级。具体如何判断是否需要升级后续实施例二详细介绍。
步骤S13:根据升级信息中的下载地址下载升级包。
可以是根据升级信息中的下载地址下载应用程序的升级包;或根据升级信息中的下载地址下载应用程序中至少一个业务模块的协议程序包。
其中,协议程序包中包括针对所述业务开发的协议代码以及运行协议代码所需调用的资源。协议程序包的升级不需要编译和安装,只要拷贝到指定的目录下即可,其宿主应用程序是由包含编译后的应用程序原生代码的安装包安装得到的;所述原生代码包括应用程序的基础代码、运行应用程序需要调用的资源、协议引擎和协议代码与基础代码调用映射关系库;相应的,使用所述升级包对所述应用程序进行升级,包括:将所述协议程序包存储到应用程序的指定目录中;根据协议代码与基础代码调用映射关系库,调用所述协议程序包中的需要运行的协议代码,在相应的协议引擎上运行调用的所述协议代码。
上述宿主应用程序的开发后续实施例三中详细介绍。
具体下载方式可以是普通下载,可以是断点续传下载,也可以是差量升级下载。本实施例不做限定,可以根据当前情况灵活选择或根据用户的指令来选择下载方式。
步骤S14:使用升级包对应用程序进行升级。
下载的升级包的不同,相应的,应用程序的升级,可以是应用程序的一个或多个业务模块的升级,也可以是整个应用程序的升级。
本实施例所述的上述应用升级方法,通过服务器下发升级信息,将计算并判断是否需要升级的工作放在客户端进行,节约了服务器的计算量;客户端判断需要升级则按照下载地址下载升级包完成升级,客户端与服务器之间不用反复的通信,有效的节省了网络带宽;同时,能够避免客户端上传设备信息到服务器再由服务器来判断是否需要升级所带来的信息泄露,保护了用户隐私。故,本实施例所述方法可以更加高效安全实时的实现应用程序的升级。
实施例二
本发明实施例二提供一种判断是否需要升级的方法,实施例一中的步骤S12中根据每条升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,包括下列至少一项:
1、根据升级判定信息中的业务模块的名称搜索本地是否存在所述业务模块。
其中,业务模块的名称可以是任一字符串,但是全局唯一的字符串,后续判断中的任一对象,其值都是全局唯一的。
2、根据升级判定信息中的业务模块的编号规则,判断本地的所述业务模块的编号是否满足所述编号规则。
首先获取本地的所述业务模块的编号,看其是否满足编号规则,所述编号规则可以是编号的范围,或编号等于或不等于多少等等。
3、根据升级判定信息中的业务模块的版本号规则,判断本地的所述业务模块的版本号是否满足所述版本号规则。
4、判断本地的应用程序的编号是否满足升级判定信息中的所述应用程序编号规则。
5、判断本地的应用程序的版本号是否满足所述升级判定信息中的所述应用程序版本号规则。
6、判断本地设备的ID号是否满足升级判定信息中的设备ID号规则。
7、判断本地设备的品牌是否满足升级判定信息中的设备品牌规则。
8、判断本地设备的型号是否满足升级判定信息中的设备型号规则。
9、判断本地设备的软件操作系统版本号是否满足升级判定信息中设备的软件操作系统版本号规则。
10、判断本地设备的用户ID号是否满足升级判定信息中的用户ID号规则。
上述本地设备的用户,是指在本地设备上登录的用户,即所述用户只有在登录的时候才存在,且与本地设备不是一一对应的关系,可以是本地设备有多个用户;也可以是一个用户可以分别在不同的设备上登录。
11、判断本地设备的用户分类标签是否满足升级判定信息中的用户分类标签规则。
12、判断本地设备的升级方式是否满足升级判定信息中设备的升级方式规则。
13、判断本地设备的网络状态是否满足升级判定信息中设备的网络状态规则。
其中,网络状态例如可以是设备是否处于连接wifi的状态。
14、判断本地设备的升级方式是否满足升级判定信息中设备的升级方式规则。
15、判断本地设备的位置是否满足升级判定信息中设备的位置规则。
其中,本地设备的位置可以是本地设备所在的经度和纬度,也可以是本地设备所在的大地坐标,也可以是其他表示位置的参数。
上述判断到一项不成立时,则确定不需要升级。
上述升级条件可以为如下的升级表达式:
(%name%>='search_around')&&(%ver%>='7.0.0.1062')&&(%ver%<'7.7.6.1018')&&((%brand%=='qiku')||(%brand%=='oppo'))&&(%wifi%=='1');
其中,(%name%>='search_around')为一个升级判定信息,升级判定对象为name,即业务模块的全局唯一名称,判定规则为对象name等于字符串search_around;(%ver%>='7.0.0.1062')&&(%ver%<'7.7.6.1018')为一个升级判定信息、升级判定对象为ver,即业务模块的版本号,判定规则为对象ver大于或等于7.0.0.1062且小于7.7.6.1018;(%brand%=='qiku')||(%brand%=='oppo'))为一个升级判定信息,升级判定对象为brand,即本地设备的品牌,判定规则为对象brand等于qiku,或等于oppo;(%wifi%=='1')为一个升级判定信息,升级判定对象为wifi,即本地设备是否处于连接wifi状态,判定规则为对象wifi等于1,即本地设备处于连接wifi状态。
实施例三
本发明实施例三提供一种应用程序的开发方法,所述应用程序为实施例一中的步骤S13中的协议程序包的宿主应用程序,其流程如图2所示,包括如下步骤:
缩略语解释:
Java:一门面向对象编程语言,Android原生开发语言,需要经过提前编译才能运行在CPU和内存中。C:一门面向过程编程语言,需要经过提前编译才能运行在CPU和内存中。C++:C的超集,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计,需要经过提前编译才能运行在CPU和内存中。协议引擎:用C写的一款解析执行协议脚本代码的底层代码。
步骤S21:将针对每个业务开发的协议代码以及运行协议代码所需调用的资源分别封装为协议程序包。
将针对每个业务开发的协议代码以及运行协议代码所需调用的资源分别单独封装为一个协议程序包。
其中,运行协议代码所需调用的资源,可以是图片或配置文件。配置文件就是用户在使用应用程序时,应用程序系统为用户所要加载所需环境的设置和文件的集合。
在一个实施例中,上述协议代码可以是包含自定义脚本语言的协议代码。
协议代码不是传统的Java、C或C++等代码,而是用更加高级的自定义脚本语言,使得应用程序的开发提质又提效。
在一个实施例中,可以是,封装协议程序包之后,按照预设的方法加密封装后的协议程序包。具体加密算法可以采用对称加密或非对称加密算法。
对称加密:是指采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法也称为单密钥加密。
非对称加密:与对称加密算法不同,非对称加密算法需要两个密钥:公开密钥和私有密钥。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
对称加密算法的优点是计算量小、加密和解密速度快、效率高;非对称加密的有点是安全性高。故可以在数据量大,同时安全性要求不是那么高时选用对称加密算法,数据量不是那么大,安全性要求相对较高时,选用非对称加密算法。
将封装后的为协议程序包进行加密,可以防止协议程序包被第三方攻击和破解。
步骤S22:将至少一个协议程序包存储到应用程序的原生文件目录中和/或至少一个协议程序包存储到云端服务器。
有一些基础业务,比如地图软件的搜索业务,是需要用户安装完应用程序就能直接使用的,甚至没有网络时,也可以离线搜索。这些业务的协议安装包,需要存储到应用程序的原生文件目录中。例如安卓系统的asserts目录中。
有些业务不是那么重要,比如驾车成绩排行榜、各种运营活动业务等,需要用户后面点击相关页面或有网络的时候,才可以使用就行。这些业务的协议安装包,没必要放入应用程序的原生文件目录中,存储到云端服务器即可。具体是存储到云分发的专门用来存储此类协议安装包的服务器中。
上述云端服务器与其他实施例中所述的服务器,可以是一个服务器,即应用程序的服务器;也可以是与其他实施例中所述的服务器不同,只是特指一个网络存储空间。
不是将所有的协议程序包都存储到应用程序的原生文件目录中,而是筛选一些次要的业务存储到云端服务器,需要时再下载使用,可以大大减小安装包的负荷,使得安装包更便于传送,且大大减小其占用的存储空间。
上述步骤S21和步骤S22,可以是先执行步骤S21,再执行步骤S22。也可以是两个步骤穿插进行,每封装完一个协议程序包且加密后,就将其存储到应用程序的原生文件目录中或云端服务器。
步骤S23:对应用程序的原生代码进行编译打包。
本发明实施例所述的应用程序的开发,可以是在原生应用程序的基础上的再开发,但并不是简单在原生应用程序的基础代码上填写新的代码,而是针对每个需要开发的业务单独形成一个协议程序包。
在应用程序在移动终端安装并运行后,需要运行上述针对每个业务单独开发的协议程序包时,需要在相应的协议引擎上运行调用的协议程序包的协议代码。协议引擎通过协议代码与基础代码调用映射的关系库来运行协议代码。
故,应用程序的原生代码包括应用程序的基础代码、运行应用程序需要调用的资源、协议引擎和协议代码与基础代码调用映射关系库。
因为每个协议程序包的运行是通过相应的协议引擎对其进行解析后再运行,故,每个协议程序包不需要进行编译。只需放在相应的位置,需要时下载并通过协议引擎运行即可。
步骤S24:得到包含编译后的应用程序原生代码和协议程序包的应用程序安装包,或得到包含编译后的应用程序原生代码的应用程序安装包。
当应用程序的原生文件目录中存储有一个或多个相应业务的程序安装包时,得到的应用程序安装包包含编译后的应用程序原生代码和协议程序包;当当应用程序的原生文件目录中没有存储程序安装包时,得到的应用程序安装包只包含编译后的应用程序原生代码。
本实施例的上述方法,将应用程序解耦出针对不同业务的协议程序包,且每个协议程序包不需要编译和安装,能够避免每次对应用程序代码修改而重新整体编译打包并重新安装的麻烦,省时省力,减少了不必要的重复工作,使得应用程序的开发更加快捷高效。
在一个可选的实施例中,当协议代码更新后,可以是:
将所述协议代码以及运行协议代码所需调用的资源封装为新的协议程序包,将所述新的协议程序包存储到应用程序的原生文件目录中或云端服务器;得到包含编译后的应用程序原生代码和所述协议程序包的应用程序安装包;
或,将所述协议代码以及运行协议代码所需调用的资源封装为新的协议程序包,将所述新的协议程序包存储到云端服务器。
当协议代码的更新是生成应用程序新的安装包,即整个应用程序的升级包时,应用程序的升级可以是,客户端确定升级后,下载应用程序的升级包,将原来安装的应用程序卸载后,安装应用程序的升级包,并调用相应的资源运行应用程序。
当协议代码的更新是生成新的协议程序包,并将新的协议程序包存储到云端服务器时,应用程序的升级,具体可以是,服务器将更新后的协议代码以及运行协议代码所需调用的资源封装为新的协议程序包,将新的协议程序包存储到云端服务器,生成升级信息,并主动或根据请求将升级信息下发给客户端;
客户端接收服务器下发的升级信息且判断需要升级后,下载新的协议程序包,存放到指定的目录;根据协议代码与基础代码调用映射关系库,调用所述协议程序包中的需要运行的协议代码,在相应的协议引擎上运行调用的所述协议代码。
实施例四
本发明实施例四提供一种应用程序升级的具体实现方法,以应用程序的一个业务模块的升级为例,其流程如图3所示,包括如下步骤:
步骤S301:调用相应的资源启动应用程序,与服务器建立socket连接。
步骤S302:通过socket连接接收服务器下发的应用程序的升级信息密文。
客户端启动应用程序后,便与应用程序的服务器之间建立了socket连接。可以是在与服务器之间建立了socket连接后,通过socket连接接收服务器主动下发的应用程序的升级信息;也可以是,在与服务器之间建立了socket连接后,通过socket连接向服务器发送升级信息请求,服务器根据请求向客户端下发升级信息。
具体的,接收服务器下发的应用程序的升级信息,可以是,接收服务器下发的预先将升级信息按照预定的加密方式加密成的升级信息密文。
步骤S303:解密升级信息密文。
具体的,可以是,按照与所述加密方式对应的解密方式解密升级信息密文。
服务器将升级信息按照预定的加密方式加密成升级信息密文后,再向各个客户端下发,保证了升级信息传输的安全性和准确度。
解密出的升级信息,除了包括实施例一中的升级条件和下载地址外,还包括下列备注信息:是否强制升级的信息,升级包的信息摘要算法MD5值,升级内容,和升级包的大小。
若解密成功,执行步骤S305;若解密失败,执行步骤S304。
步骤S304:放弃升级。
步骤S305:利用解析引擎判断升级信息是否合规。
具体的,可以是利用解析引擎判断升级信息是否符合预先定义的语法标准,例如预先定义取值表达式为%x%,其中x是需要取值的对象,但解析引擎只解析到一个%,而没有其他与之匹配的%,则确定升级信息不合规。
客户端在根据升级信息中的升级条件判断是否升级之前,先利用解析引擎判断升级条件是否合规,避免了利用被篡改或被错误配置的升级条件来判断是否升级而带来的多余计算或错误的升级。
确定升级信息不合规后,可以是直接执行步骤S304;若确定升级信息合规,执行步骤S306。
步骤S306:利用解析引擎对升级信息进行解析,解析出升级条件。
步骤S307:利用解析引擎根据升级条件,判断是否需要对应用程序进行升级。
若判断为是,执行步骤S308;若判断为否,执行步骤S304。
步骤S308:根据备注信息中包括的强制升级的信息,生成是否升级的选择框展示给用户。
可以展示给用户“是否确认升级”,同时展示“是”和“否”两个对话框。
还可以是,同时将备注信息中包括的升级内容和/或升级包的大小展示给用户。
确定需要对应用程序进行升级时,根据备注信息中包括的是否强制升级的信息,确定直接执行或接收到用户的升级指令后再执行下载升级包的步骤,直接升级使得升级更加高效,根据用户的选择升级增强了用户的自主性,同时可以增强用户的感受度;下载升级包之后,将升级包中的MD5值与所注信息中包括的MD5值匹配,若匹配正确,才执行使用升级包对应用程序进行升级的步骤,保证了升级包在传输过程中没有被劫持或篡改,保证了其安全性;确定需要对应用程序进行升级时,将备注信息中包括的升级内容和/或升级包的大小展示给用户,接收到用户的升级指令后再执行升级,可以方便用户根据显示的信息更合理的选择是否升级,进一步增强了用户的感受度。
步骤S309:等待接收用户是或否的反馈指令。
若在预设时间阈值内没有接收到用户的反馈指令,或者是接收到用户“否”的反馈指令,执行步骤S304;若在预设时间阈值内接收到用户“是”的反馈指令,执行步骤S310。
步骤S310:根据升级信息中的下载地址下载协议程序包。
步骤S311:将协议程序包中的MD5值与备注信息中包括的MD5值匹配。
若匹配正确,执行步骤S312;若匹配错误,说明下载的协议程序包可能已经被篡改,执行步骤S304。
步骤S312:将协议程序包存储到应用程序的指定目录中;根据协议代码与基础代码调用映射关系库,调用所述协议程序包中的需要运行的协议代码,在相应的协议引擎上运行调用的所述协议代码。
基于同一发明构思,本发明实施例还提供一种应用升级的装置,其结构如图4所示,包括:
接收模块41,用于接收服务器下发的应用程序的升级信息;
第一判断模块42,用于根据所述接收模块41接收的所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级;
下载模块43,用于当所述第一判断模块42判断为是时,根据所述接收模块41接收的所述升级信息中的下载地址下载升级包;
升级模块44,用于使用所述下载模块43下载的升级包对所述应用程序进行升级。
在一些可选的实施例中,所述第一判断模块42,具体用于:
对所述升级信息进行解析,解析出升级条件,所述升级条件中包括至少一条升级判定信息;根据每条所述升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,若是,则确定需要对所述应用程序进行升级。
在一些可选的实施例中,所述装置,还包括:
启动模块45,用于调用相应的资源启动所述应用程序,与服务器建立socket连接;相应的,
所述接收模块41,用于通过所述启动模块45建立的所述socket连接接收服务器下发的的所述应用程序的升级信息。
在一些可选的实施例中,所述下载模块43,具体用于:
根据所述接收模块41接收的所述升级信息中的下载地址下载所述应用程序的升级包;或
根据所述接收模块41接收的所述升级信息中的下载地址下载所述应用程序中至少一个业务模块的协议程序包,所述协议程序包中包括针对所述业务开发的协议代码以及运行协议代码所需调用的资源。
在一些可选的实施例中,所述接收模块41,具体用于:
接收服务器下发的包括下列至少一项备注信息的所述应用程序的升级信息:是否强制升级的信息;所述升级包的信息摘要算法MD5值;升级内容;所述升级包的大小。
在一些可选的实施例中,所述装置,还包括至少一个下述模块:
确定模块46,用于在所述第一判断模块42确定需要对应用程序进行升级时,根据所述备注信息中包括的是否强制升级的信息,确定直接执行或接收到用户的升级指令后所述下载模块43再执行所述根据所述升级信息中的下载地址下载升级包的步骤;
匹配模块47,用于所述狭窄模块下载升级包之后,将升级包中的MD5值与所述备注信息中包括的MD5值匹配,若匹配正确,所述升级模块44执行所述使用所述升级包对所述应用程序进行升级的步骤;
展示模块48,用于所述第一判断模块42确定需要对应用程序进行升级时,将所述备注信息中包括的升级内容和/或升级包的大小展示给用户,接收到用户的升级指令后下载模块43再执行所述根据所述升级信息中的下载地址下载升级包的步骤。
在一些可选的实施例中,所述接收模块41,具体用于:
接收服务器下发的预先将升级信息按照预定的加密方式加密成的升级信息密文;对应的,所述装置还包括解密模块,用于:
所述第一判断模块42根据升级信息中的升级条件判断是否需要升级之前,按照与所述加密方式对应的解密方式解密所述升级信息密文。
在一些可选的实施例中,所述装置,还包括:
第二判断模块49,用于在所述第一判断模块42判断是否需要对所述应用程序进行升级之前,判断所述升级信息是否合规;
若是,所述第一判断模块42再执行所述根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级的步骤。
在一些可选的实施例中,所述接收模块41,具体用于:
接收服务器主动下发的所述应用程序的升级信息;或,向服务器发送升级信息请求,接收服务器根据所述请求下发的所述应用程序的升级信息。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
基于同一发明构思,本发明实施例还提供一种应用升级的系统,其结构如图5所示,包括:服务器51和至少一个客户端52;
所述客户端52设置有上述任一所述的应用升级的装置;
所述服务器51用于生成并向每个客户端52发送所述升级信息。
基于同一发明构思,本发明实施例还提供一种计算机可读存储介质,其上存储有计算机指令,当该指令被处理器执行时实现上述应用程序升级的方法。
除非另外具体陈述,术语比如处理、计算、运算、确定、显示等等可以指一个或更多个处理或者计算系统、或类似设备的动作和/或过程,所述动作和/或过程将表示为处理系统的寄存器或存储器内的物理(如电子)量的数据操作和转换成为类似地表示为处理系统的存储器、寄存器或者其他此类信息存储、发射或者显示设备内的物理量的其他数据。信息和信号可以使用多种不同的技术和方法中的任何一种来表示。例如,在贯穿上面的描述中提及的数据、指令、命令、信息、信号、比特、符号和码片可以用电压、电流、电磁波、磁场或粒子、光场或粒子或者其任意组合来表示。
应该明白,公开的过程中的步骤的特定顺序或层次是示例性方法的实例。基于设计偏好,应该理解,过程中的步骤的特定顺序或层次可以在不脱离本公开的保护范围的情况下得到重新安排。所附的方法权利要求以示例性的顺序给出了各种步骤的要素,并且不是要限于所述的特定顺序或层次。
在上述的详细描述中,各种特征一起组合在单个的实施方案中,以简化本公开。不应该将这种公开方法解释为反映了这样的意图,即,所要求保护的主题的实施方案需要清楚地在每个权利要求中所陈述的特征更多的特征。相反,如所附的权利要求书所反映的那样,本发明处于比所公开的单个实施方案的全部特征少的状态。因此,所附的权利要求书特此清楚地被并入详细描述中,其中每项权利要求独自作为本发明单独的优选实施方案。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
结合本文的实施例所描述的方法或者算法的步骤可直接体现为硬件、由处理器执行的软件模块或其组合。软件模块可以位于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动磁盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质连接至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。该ASIC可以位于用户终端中。当然,处理器和存储介质也可以作为分立组件存在于用户终端中。
对于软件实现,本申请中描述的技术可用执行本申请所述功能的模块(例如,过程、函数等)来实现。这些软件代码可以存储在存储器单元并由处理器执行。存储器单元可以实现在处理器内,也可以实现在处理器外,在后一种情况下,它经由各种手段以通信方式耦合到处理器,这些都是本领域中所公知的。
上文的描述包括一个或多个实施例的举例。当然,为了描述上述实施例而描述部件或方法的所有可能的结合是不可能的,但是本领域普通技术人员应该认识到,各个实施例可以做进一步的组合和排列。因此,本文中描述的实施例旨在涵盖落入所附权利要求书的保护范围内的所有这样的改变、修改和变型。此外,就说明书或权利要求书中使用的术语“包含”,该词的涵盖方式类似于术语“包括”,就如同“包括,”在权利要求中用作衔接词所解释的那样。此外,使用在权利要求书的说明书中的任何一个术语“或者”是要表示“非排它性的或者”。
Claims (15)
1.一种应用程序升级的方法,其特征在于,包括:
接收服务器下发的应用程序的升级信息,根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级;
若是,根据所述升级信息中的下载地址下载升级包,使用所述升级包对所述应用程序进行升级。
2.如权利要求1所述的方法,其特征在于,所述根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级,包括:
对所述升级信息进行解析,解析出升级条件,所述升级条件中包括至少一条升级判定信息;
根据每条所述升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,若是,则确定需要对所述应用程序进行升级。
3.如权利要求2所述的方法,其特征在于,当解析出的升级条件不止一个时,若符合任何一个升级条件,则确定需要对所述应用程序进行升级。
4.如权利要求2所述的方法,其特征在于,根据每条所述升级判定信息中的升级判定对象,判断本地的所述对象是否符合对应的判定规则,包括下列至少一项:
根据所述升级判定信息中的业务模块的名称搜索本地是否存在所述业务模块;
根据所述升级判定信息中的业务模块的编号规则,判断本地的所述业务模块的编号是否满足所述编号规则;
根据所述升级判定信息中的业务模块的版本号规则,判断本地的所述业务模块的版本号是否满足所述版本号规则;
判断本地的所述应用程序的编号是否满足所述升级判定信息中的所述应用程序编号规则;
判断本地的所述应用程序的版本号是否满足所述升级判定信息中的所述应用程序版本号规则;
判断本地设备的ID号是否满足所述升级判定信息中的设备ID号规则;
判断本地设备的品牌是否满足所述升级判定信息中的设备品牌规则;
判断本地设备的型号是否满足所述升级判定信息中的设备型号规则;
判断本地设备的软件操作系统版本号是否满足所述升级判定信息中设备的软件操作系统版本号规则;
判断本地设备的用户ID号是否满足所述升级判定信息中的用户ID号规则;
判断本地设备的用户分类标签是否满足所述升级判定信息中的用户分类标签规则;
判断本地设备的升级方式是否满足所述升级判定信息中设备的升级方式规则;
判断本地设备的网络状态是否满足所述升级判定信息中设备的网络状态规则;
判断本地设备的升级方式是否满足所述升级判定信息中设备的升级方式规则;
判断本地设备的位置是否满足所述升级判定信息中设备的位置规则。
5.如权利要求1所述的方法,其特征在于,接收服务器下发的所述应用程序的升级信息前,还包括:
调用相应的资源启动所述应用程序,与服务器建立socket连接;
通过socket连接接收服务器下发的的所述应用程序的升级信息。
6.如权利要求5所述的方法,其特征在于,根据所述升级信息中的下载地址下载升级包,包括:
根据所述升级信息中的下载地址下载所述应用程序的升级包;或
根据所述升级信息中的下载地址下载所述应用程序中至少一个业务模块的协议程序包,所述协议程序包中包括针对所述业务开发的协议代码以及运行协议代码所需调用的资源。
7.如权利要求6所述的方法,其特征在于,当下载所述应用程序中至少一个业务模块的协议程序包时,所述应用程序是由包含编译后的应用程序原生代码的安装包安装得到的;所述原生代码包括应用程序的基础代码、运行应用程序需要调用的资源、协议引擎和协议代码与基础代码调用映射关系库;相应的,
使用所述升级包对所述应用程序进行升级,包括:
将所述协议程序包存储到应用程序的指定目录中;根据协议代码与基础代码调用映射关系库,调用所述协议程序包中的需要运行的协议代码,在相应的协议引擎上运行调用的所述协议代码。
8.如权利要求1所述的方法,其特征在于,接收服务器下发的所述应用程序的升级信息,包括:
接收服务器下发的包括下列至少一项备注信息的所述应用程序的升级信息:
是否强制升级的信息;
所述升级包的信息摘要算法MD5值;
升级内容;
所述升级包的大小。
9.如权利要求8所述的方法,其特征在于,还包括执行下述步骤中的至少一个:
确定需要对应用程序进行升级时,根据所述备注信息中包括的是否强制升级的信息,确定直接执行或接收到用户的升级指令后再执行所述根据所述升级信息中的下载地址下载升级包的步骤;
下载升级包之后,将升级包中的MD5值与所述备注信息中包括的MD5值匹配,若匹配正确,执行所述使用所述升级包对所述应用程序进行升级的步骤;
确定需要对应用程序进行升级时,将所述备注信息中包括的升级内容和/或升级包的大小展示给用户,接收到用户的升级指令后再执行所述根据所述升级信息中的下载地址下载升级包的步骤。
10.如权利要求1-9任一所述的方法,其特征在于,接收服务器下发的所述应用程序的升级信息,包括:
接收服务器下发的预先将升级信息按照预定的加密方式加密成的升级信息密文;对应的,
根据升级信息中的升级条件判断是否需要升级之前,还包括:
按照与所述加密方式对应的解密方式解密所述升级信息密文。
11.如权利要求1-9任一所述的方法,其特征在于,判断是否需要对所述应用程序进行升级之前,还包括:
判断所述升级信息是否合规;
若是,再执行所述根据所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级的步骤。
12.如权利要求1-9任一所述的方法,其特征在于,接收服务器下发的所述应用程序的升级信息,包括:
接收服务器主动下发的所述应用程序的升级信息;或,
向服务器发送升级信息请求,接收服务器根据所述请求下发的所述应用程序的升级信息。
13.一种应用程序升级的装置,其特征在于,包括:
接收模块,用于接收服务器下发的应用程序的升级信息;
第一判断模块,用于根据所述接收模块接收的所述升级信息中的升级条件,判断是否需要对所述应用程序进行升级;
下载模块,用于当所述第一判断模块判断为是时,根据所述接收模块接收的所述升级信息中的下载地址下载升级包;
升级模块,用于使用所述下载模块下载的升级包对所述应用程序进行升级。
14.一种应用程序升级的系统,其特征在于,包括:服务器和至少一个客户端;
所述客户端设置有如权利要求13所述的应用程序升级的装置;
所述服务器用于生成并向每个客户端发送所述升级信息。
15.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,当该指令被处理器执行时实现权利要求1-12任一所述的应用程序升级的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910139112.8A CN111610990B (zh) | 2019-02-25 | 2019-02-25 | 一种应用程序升级的方法、装置和相关系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910139112.8A CN111610990B (zh) | 2019-02-25 | 2019-02-25 | 一种应用程序升级的方法、装置和相关系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111610990A true CN111610990A (zh) | 2020-09-01 |
CN111610990B CN111610990B (zh) | 2023-05-16 |
Family
ID=72202096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910139112.8A Active CN111610990B (zh) | 2019-02-25 | 2019-02-25 | 一种应用程序升级的方法、装置和相关系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111610990B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472599A (zh) * | 2021-09-03 | 2021-10-01 | 北京华云安信息技术有限公司 | 网络节点的数据通信方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867694A (zh) * | 2010-05-21 | 2010-10-20 | 中兴通讯股份有限公司 | 交互式网络电视iptv机顶盒的升级方法及系统 |
CN102222011A (zh) * | 2011-06-28 | 2011-10-19 | 广东中大讯通软件科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
WO2013078951A1 (zh) * | 2011-12-01 | 2013-06-06 | 腾讯科技(深圳)有限公司 | 软件升级方法和系统 |
CN103596049A (zh) * | 2013-11-21 | 2014-02-19 | 乐视致新电子科技(天津)有限公司 | 智能电视及其升级方法和升级装置 |
CN106331862A (zh) * | 2016-08-11 | 2017-01-11 | 宁波亦道信息科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
CN107016280A (zh) * | 2017-03-31 | 2017-08-04 | 武汉票据交易中心有限公司 | 一种客户端应用程序的升级方法及系统 |
WO2018090642A1 (zh) * | 2016-11-15 | 2018-05-24 | 平安科技(深圳)有限公司 | 应用程序升级方法、用户终端及存储介质 |
-
2019
- 2019-02-25 CN CN201910139112.8A patent/CN111610990B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101867694A (zh) * | 2010-05-21 | 2010-10-20 | 中兴通讯股份有限公司 | 交互式网络电视iptv机顶盒的升级方法及系统 |
CN102222011A (zh) * | 2011-06-28 | 2011-10-19 | 广东中大讯通软件科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
WO2013078951A1 (zh) * | 2011-12-01 | 2013-06-06 | 腾讯科技(深圳)有限公司 | 软件升级方法和系统 |
CN103596049A (zh) * | 2013-11-21 | 2014-02-19 | 乐视致新电子科技(天津)有限公司 | 智能电视及其升级方法和升级装置 |
CN106331862A (zh) * | 2016-08-11 | 2017-01-11 | 宁波亦道信息科技有限公司 | 一种机顶盒的软件升级方法及机顶盒 |
WO2018090642A1 (zh) * | 2016-11-15 | 2018-05-24 | 平安科技(深圳)有限公司 | 应用程序升级方法、用户终端及存储介质 |
CN107016280A (zh) * | 2017-03-31 | 2017-08-04 | 武汉票据交易中心有限公司 | 一种客户端应用程序的升级方法及系统 |
Non-Patent Citations (1)
Title |
---|
胥永康,吴志杰,岳筱玲: "基于客户/服务器的应用软件自动发布系统" * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113472599A (zh) * | 2021-09-03 | 2021-10-01 | 北京华云安信息技术有限公司 | 网络节点的数据通信方法及系统 |
CN113472599B (zh) * | 2021-09-03 | 2021-12-10 | 北京华云安信息技术有限公司 | 网络节点的数据通信方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN111610990B (zh) | 2023-05-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8612947B2 (en) | System and method for remotely compiling multi-platform native applications for mobile devices | |
CN106484453B (zh) | 一种实现系统升级的方法及装置 | |
CN104346184A (zh) | 应用打包装置及方法 | |
MXPA06001253A (es) | Publicacion de la condicion y actualizacion de componentes del firmware. | |
CN104965712A (zh) | 应用程序加固保护方法、装置及移动终端 | |
CN104021018A (zh) | 终端、生成升级包的方法及识别升级包的方法 | |
CN110297776B (zh) | 检测报告生成、接收方法、装置、设备及存储介质 | |
CN107797818A (zh) | 应用程序升级方法及装置 | |
CN107508846B (zh) | 应用客户端的更新方法和系统及终端设备 | |
CN113992514B (zh) | 一种零代码快速实现数采仪协议的方法及数采仪终端 | |
CN115509582A (zh) | 应用程序发布方法、装置、设备及存储介质 | |
CN106709281A (zh) | 补丁发放和获取方法、装置 | |
CN105245581A (zh) | 一种应用程序传输方法及装置 | |
CN111610990B (zh) | 一种应用程序升级的方法、装置和相关系统 | |
EP3709200B1 (en) | Determining security risks in binary software code based on network protocols | |
CN111399867A (zh) | 一种软件升级方法、装置、设备及计算机可读存储介质 | |
CN107066888B (zh) | 可扩展的可信用户接口、方法和电子设备 | |
CN111614628B (zh) | 内核加固系统及其方法、云服务端、客户端、电子设备和存储介质 | |
CN112416395A (zh) | 一种热修复更新方法和装置 | |
KR20020009741A (ko) | 휴대전화단말기의 오퍼레이팅 기반환경 구축장치 및 이를이용한 응용프로그램의 무선 업그레이드 방법 | |
CN104965720B (zh) | 应用安装方法和装置 | |
CN111610982B (zh) | 一种应用程序开发的方法、装置和相关系统 | |
CN110309655B (zh) | 一种检测app更新过程中安全性的方法以及检测装置 | |
CN109358875B (zh) | 基于Ubuntu系统的硬件钱包离线升级装置和方法 | |
CN111752559A (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 |