CN112905230A - 应用程序的管理方法、装置、终端设备和存储介质 - Google Patents
应用程序的管理方法、装置、终端设备和存储介质 Download PDFInfo
- Publication number
- CN112905230A CN112905230A CN202110281456.XA CN202110281456A CN112905230A CN 112905230 A CN112905230 A CN 112905230A CN 202110281456 A CN202110281456 A CN 202110281456A CN 112905230 A CN112905230 A CN 112905230A
- Authority
- CN
- China
- Prior art keywords
- application program
- version
- version information
- application
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 claims description 93
- 238000004590 computer program Methods 0.000 claims description 19
- 230000004048 modification Effects 0.000 claims description 10
- 238000012986 modification Methods 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 9
- 238000007726 management method Methods 0.000 abstract description 15
- 238000012423 maintenance Methods 0.000 abstract description 9
- 230000008569 process Effects 0.000 description 53
- 238000010586 diagram Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 11
- 238000012544 monitoring process Methods 0.000 description 7
- 230000009471 action Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 4
- 238000013515 script Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000005856 abnormality Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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
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
技术领域
本发明涉及计算机软件技术领域,尤其涉及一种应用程序的管理方法、装置、终端设备和存储介质。
背景技术
具备联网功能的物联网设备越来越多,软件更新迭代的速度也越来越快,软件升级以及软件状态管理就成为了至关重要的功能模块,目前现有的嵌入式软件升级方案,只支持自身程序升级,不支持多程序升级,通用性差,不同软件升级方案可能都不同,导致维护成本大大增加。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种应用程序的管理方法、装置、终端设备和存储介质。
第一个方面,本发明实施例提供一种应用程序的管理方法,所述方法包括:
向终端设备上待检测的应用程序发送应用程序开启指令;
接收所述待检测的应用程序返回的心跳数据包,其中,所述心跳数据包中包括所述终端设备的设备标识和应用程序的第一版本信息;
接收服务器返回的与所述应用程序对应的第二版本信息;
若所述第二版本信息与所述第一版本信息不同,则将第一版本信息对应的应用程序更新为与所述第二版本信息对应的应用程序。
可选地,所述第一版本信息至少包括第一版本号,所述第二版本信息至少包括第二版本号、修改点、更新时间、第二版本下载链接或第二版本文件第一MD5值,所述若所述第二版本信息与所述第一版本信息不同,则将第一版本信息对应的应用程序更新为与所述第二版本信息对应的应用程序,包括:
若所述第一版本号与所述第二版本号不同,则根据所述第二版本下载链接从所述服务器下载第二版本文件;
将与所述第一版本号对应的第一版本文件替换为与所述第二版本号对应的第二版本文件。
可选地,所述方法还包括:
根据所述第二版本文件,确定与所述第二版本文件对应的第二MD5值;
将所述第一MD5值与所述第二MD5值进行比较;
若所述第一MD5值与所述第二MD5值相同,则确定与所述第二MD5值对应的第二版本文件为目标版本文件。
可选地,所述方法还包括:
在所述第二版本信息对应的应用程序开启后,接收所述第二版本信息对应的应用程序发送的第三版本号;
将所述第二版本号与所述第三版本号进行比较;
若所述第二版本号和所述第三版本号相同,则通过HTTP协议向所述服务器发送更新成功指令;
若所述第二版本号和所述第三版本号不同,则通过HTTP协议向所述服务器发送更新失败指令。
可选地,所述方法还包括:
若检索到所述应用程序发生异常,则开启核心转储模块,并检查核心目录是否存在核心文件;
若存在核心文件,则通过addr2line工具,解析错误堆栈信息;
将所述错误堆栈信息发送至所述服务器。
可选地,所述向终端设备上待检测的应用程序发送应用程序开启指令,包括:
通过TCP协议,向终端设备上待检测的应用程序发送应用程序开启指令。
可选地,所述接收所述待检测的应用程序返回的心跳数据包,包括:
每隔预设时间段,接收所述待检测的多个应用程序返回的心跳数据包。
第二个方面,本发明实施例提供一种应用程序的管理装置,所述装置包括:
发送模块,用于向终端设备上待检测的应用程序发送应用程序开启指令;
第一接收模块,用于接收所述待检测的应用程序返回的心跳数据包,其中,所述心跳数据包中包括所述终端设备的设备标识和应用程序的第一版本信息;
第二接收模块,用于接收服务器返回的与所述应用程序对应的第二版本信息;
更新模块,用于若所述第二版本信息与所述第一版本信息不同,则将第一版本信息对应的应用程序更新为与所述第二版本信息对应的应用程序。
可选地,所述第一版本信息至少包括第一版本号,所述第二版本信息至少包括第二版本号、修改点、更新时间、第二版本下载链接或第二版本文件第一MD5值,所述若所述第二版本信息与所述第一版本信息不同,则所述更新模块用于:
若所述第一版本号与所述第二版本号不同,则根据所述第二版本下载链接从所述服务器下载第二版本文件;
将与所述第一版本号对应的第一版本文件替换为与所述第二版本号对应的第二版本文件。
可选地,所述装置还包括下载模块,所述下载模块用于:
根据所述第二版本文件,确定与所述第二版本文件对应的第二MD5值;
将所述第一MD5值与所述第二MD5值进行比较;
若所述第一MD5值与所述第二MD5值相同,则确定与所述第二MD5值对应的第二版本文件为目标版本文件。
可选地,所述装置还包括验证模块,所述验证模块用于:
在所述第二版本信息对应的应用程序开启后,接收所述第二版本信息对应的应用程序发送的第三版本号;
将所述第二版本号与所述第三版本号进行比较;
若所述第二版本号和所述第三版本号相同,则通过HTTP协议向所述服务器发送更新成功指令;
若所述第二版本号和所述第三版本号不同,则通过HTTP协议向所述服务器发送更新失败指令。
可选地,所述装置还包括解析模块,所述解析模块用于:
若检索到所述应用程序发生异常,则开启核心转储模块,并检查核心目录是否存在核心文件;
若存在核心文件,则通过addr2line工具,解析错误堆栈信息;
将所述错误堆栈信息发送至所述服务器。
可选地,所述发送模块用于:
通过TCP协议,向终端设备上待检测的应用程序发送应用程序开启指令。
可选地,所述第一接收模块用于:
每隔预设时间段,接收所述待检测的多个应用程序返回的心跳数据包。
第三个方面,本发明实施例提供一种终端设备,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现第一个方面提供的应用程序的管理方法。
第四个方面,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现第一个方面提供的应用程序的管理方法。
本发明实施例包括以下优点:
本发明实施例提供的应用程序的管理方法、装置、终端设备和存储介质,通过向终端设备上待检测的应用程序发送应用程序开启指令;接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;接收服务器返回的与应用程序对应的第二版本信息;若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,可以实时监测应用程序的版本信息,并支持多个不同类型的应用程序升级,通用性好,维护成本低。
附图说明
图1是本发明的一种应用程序的管理方法实施例的步骤流程图;
图2是本发明的另一种应用程序的管理方法实施例的步骤流程图;
图3是本发明的又一种应用程序的管理方法实施例的步骤流程图;
图4是本发明的一种应用程序的管理装置实施例的结构框图;
图5是本发明的一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明一实施例提供一种应用程序的管理方法,用于对应用程度进行管理。本实施例的执行主体为应用程序的管理装置,设置在终端设备上,例如,终端设备至少包括手机终端、平板终端和计算机终端等。
参照图1,示出了本发明的一种应用程序的管理方法实施例的步骤流程图,该方法具体可以包括如下步骤:
S101、向终端设备上待检测的应用程序发送应用程序开启指令;
具体地,在该终端设备上可以安装多个应用程序,该应用程序可以是终端设备本身内置的应用软件,也可以是第三方应用软件,并将第三方应用软件安装在终端设备上。为了管理应用程序的版本级别,在本发明实施例中在终端设备上创建一守护进程,其中,应用程序具体用于实现具体业务的程序,守护进程则是用于检测应用程序是否升级、异常监测以及启动应用程序,即该守护进程可检测***其他应用版本更新,监测应用运行状态,异常崩溃等状态上报;
在终端设备开机后,则守护进程开始运行,该守护进程可以使用脚本将本地所有的应用程序开启,开启的应用程序通过TCP方式与守护进程建立连接,若是多个应用程序时,则该多个应用程序分别与守护进程建立多个TCP连接。
这样,终端设备上的守护进程接收多个应用程序发送的程序开启指令。
S102、接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;
具体地,终端设备上的应用程序通过TCP连接每个预设时间段向守护进程发送心跳数据包,例如,终端设备上的应用程序每隔1分钟向守护进程发送心跳包,且,该心跳数据包中携带终端设备的设备标识和应用程序的第一版本信息,该第一版本信息中至少包括第一版本号。
S103、接收服务器返回的与应用程序对应的第二版本信息;
具体地,终端设备在接收到应用程序开启指令后,向服务器发送该应用程序指令,该应用程序指令中包括终端设备标识,服务器根据终端设备标识,确定,与该终端设备标识对应的应用程序,及与应用程序对应的第二版本信息,然后服务器将该第二版本信息发送至终端设备。
终端设备根据应用程序心跳数据包中带有的版本号信息,以及设备的唯一标识,请求后台服务器与该应用程序对应的最新版本信息,若存在新版本,则后台服务器向终端设备返回与该应用程序对应的第二版本信息,该第二版本信息包括新版本版本号,修改点,更新时间,以及新版本下载链接、新版本文件MD5值。
S104、若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序。
具体地,终端设备的守护进程对第一版本信息和第二版本信息进行比较,若第一版本信息和第二版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,即替换旧版本应用程序,开启新版本应用程序。守护进程通过TCP发送停止旧版本应用程序消息,旧版本应用程序收到消息后,将停止当前任务,并结束本进程,守护进程监测到旧应用程序已关闭时,此时将下载的新应用程序的更新包,将新应用程序替换掉旧应用程序,并再次开启更新后的新应用程序。
示例性地,第一版本信息和第二版本信息都会返回各自的版本号,格式为int数字,并将第二版本信息中的版本号与第一版本信息中的版本号进行对比,若如果第二版本信息中的版本号更大,则判断需要更新,即将第一版本信息对应的应用程序更新为第二版本信息对应的应用程序。
本发明实施例提供的应用程序的管理方法,通过向终端设备上待检测的应用程序发送应用程序开启指令;接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;接收服务器返回的与应用程序对应的第二版本信息;若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,可以实时监测应用程序的版本信息,并支持多个不同类型的应用程序升级,通用性好,维护成本低。
本发明又一实施例对上述实施例提供的应用程序的管理方法做进一步补充说明。
如图2所示,示出了本发明的另一种应用程序的管理方法实施例的步骤流程图,该应用程序的管理方法包括:
S201、通过TCP协议,向终端设备上待检测的应用程序发送应用程序开启指令。
具体地,在该终端设备上可以安装多个应用程序,该应用程序可以是终端设备本身内置的应用软件,也可以是第三方应用软件,并将第三方应用软件安装在终端设备上。为了管理应用程序的版本级别,在本发明实施例中在终端设备上创建一守护进程,其中,应用程序具体用于实现具体业务的程序,守护进程则是用于检测应用程序是否升级、异常监测以及启动应用程序,即该守护进程可检测***其他应用版本更新,监测应用运行状态,异常崩溃等状态上报;
在终端设备开机后,则守护进程开始运行,该守护进程可以使用脚本将本地所有的应用程序开启,开启的应用程序通过TCP方式与守护进程建立连接,若是多个应用程序时,则该多个应用程序分别与守护进程建立多个TCP连接。
这样,终端设备上的守护进程接收多个应用程序发送的程序开启指令。
S202、每隔预设时间段,接收待检测的多个应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息,第一版本信息至少包括第一版本号。
具体地,终端设备上的应用程序通过TCP连接每个预设时间段向守护进程发送心跳数据包,例如,终端设备上的应用程序每隔1分钟向守护进程发送心跳包,且,该心跳数据包中携带终端设备的设备标识和应用程序的第一版本信息,该第一版本信息中至少包括第一版本号。
S203、接收服务器返回的与应用程序对应的第二版本信息,第二版本信息至少包括第二版本号、修改点、更新时间、第二版本下载链接或第二版本文件第一MD5值;
具体地,终端设备在接收到应用程序开启指令后,向服务器发送该应用程序指令,该应用程序指令中包括终端设备标识,服务器根据终端设备标识,确定,与该终端设备标识对应的应用程序,及与应用程序对应的第二版本信息,然后服务器将该第二版本信息发送至终端设备。
终端设备根据应用程序心跳数据包中带有的版本号信息,以及设备的唯一标识,请求后台服务器与该应用程序对应的最新版本信息,若存在新版本,则后台服务器向终端设备返回与该应用程序对应的第二版本信息,该第二版本信息包括新版本版本号,修改点,更新时间,以及新版本下载链接、新版本文件MD5值。
S204、若第一版本号与第二版本号不同,则根据第二版本下载链接从服务器下载第二版本文件;
S205、将与第一版本号对应的第一版本文件替换为与第二版本号对应的第二版本文件。
具体包括:
A1、根据第二版本文件,确定与第二版本文件对应的第二MD5值;
A2、将第一MD5(MD5信息摘要算法,MD5 Message-Digest Algorithm),密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。)值与第二MD5值进行比较;
A3、若第一MD5值与第二MD5值相同,则确定与第二MD5值对应的第二版本文件为目标版本文件。
具体地,如果第一MD5值与第二MD5值相同,则说明文件一样,表示设备端下载成功,文件无损坏。
终端设备的守护进程对第一版本信息和第二版本信息进行比较,若第一版本信息和第二版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,即替换旧版本应用程序,开启新版本应用程序。守护进程通过TCP发送停止旧版本应用程序消息,旧版本应用程序收到消息后,将停止当前任务,并结束本进程,守护进程监测到旧应用程序已关闭时,此时将下载的新应用程序的更新包,将新应用程序替换掉旧应用程序,并再次开启更新后的新应用程序。
S206、在第二版本信息对应的应用程序开启后,接收第二版本信息对应的应用程序发送的第三版本号;
S207、将第二版本号与第三版本号进行比较;
S208、若第二版本号和第三版本号相同,则通过HTTP协议向服务器发送更新成功指令;
S209、若第二版本号和第三版本号不同,则通过HTTP协议向服务器发送更新失败指令。
具体地,拉起后的新应用程序即第二版本信息对应的应用程序,以TCP方式发送当前版本号给守护进程,守护进程将此时的版本号与下载的版本号做对比,若版本号与最新版本号保持一致了,则表示升级成功,否则失败,并将升级结果通过后台HTTP接口进行上报。
S210、若检索到应用程序发生异常,则开启核心转储模块,并检查核心目录是否存在核心文件;
具体地,终端设备上的守护进程可用于监测应用程序的运行状态。因为应用程序与守护进程存在TCP连接,所以当应用程序发生崩溃或者被***强制停止时,守护进程检测到TCP已断开,会尝试再次拉起应用程序
S211、若存在核心文件,则通过addr2line工具,解析错误堆栈信息;
S212、将错误堆栈信息发送至服务器。
具体地,监测应用异常状态并上报。守护进程打开core dump)功能,当TCP断开连接时,检查core目录是否存在core文件,存在则使用addr2line解析出错误堆栈信息,并保存至文件,再将此错误堆栈文件上传至后台;
其中,在UNIX***中,常将“主内存”(main memory)称为核心(core),因为在使用半导体作为内存材料之前,便是使用核心(core)。而核心映像(core image)就是“进程”(process)执行当时的内存内容。当进程发生错误或收到“信号”(signal)而终止执行时,***会将核心映像写入一个文件,以作为调试之用,这就是所谓的核心转储(core dump)。
core文件,核心文件通常在***收到特定的信号时由操作***生成。信号可以由程序执行过程中的异常触发,也可以由外部程序发送。动作的结果一般是生成一个某个进程的内存转储的文件,文件包含了此进程当前的运行堆栈信息。有时程序并未经过彻底测试,这使得它在执行的时候一不小心就会找到破坏。这可能会导致核心转储(core dump)。UNIX***极少会面临这样的问题。即使遇到,程序员可以通过核心映像调试程序来找到错误原因。
Addr2line工具(它是标准的GNU Binutils中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。addr2line工具是一个可以将指令的地址和可执行映像转换为文件名、函数名和源代码行数的工具。这在内核执行过程中出现崩溃时,可用于快速定位出出错的位置,进而找出代码的bug。
图3为是本发明的又一种应用程序的管理方法实施例的步骤流程图,如图3所示,该应用程序的管理方法包括:
1、开机后,拉起守护程序;
2、守护程序使用脚本将本地所有需要拉起的应用程序拉起;
3、被拉起的应用程序以TCP方式与守护程序建立连接,多应用时,将建立多条TCP连接;
4、应用程序通过TCP连接定时1分钟发送心跳包给守护进程,心跳包中带上该应用的版本号信息;
5、守护进程根据应用程序心跳包中带有的版本号信息,以及设备的唯一标识,请求后台接口获取该应用的最新版本信息,若存在新版本,则后台接口将返回该应用的新版本版本号,修改点,更新时间,以及新版本下载链接、新版本文件MD5值;
6、下载新版本应用。将需要更新的应用下载到本地,下载后通过服务器接口返回的MD5值与本地下载文件MD5值对比,确保下载的文件完整性;
7、替换旧版本程序,拉起新版本。通过TCP发送停止原程序消息,待升级的应用程序收到消息后,将停止当前任务,并结束本进程,守护进程监测到应用进程已关闭时,此时将下载的更新包替换掉原程序,并再次拉起更新后的应用程序;
8、上报版本更新结果。拉起后的新应用程序,以TCP方式发送当前版本号给守护进程,守护进程将此时的版本号与下载的版本号做对比,若版本号与最新版本号保持一致了,则表示升级成功,否则失败,并将升级结果通过后台HTTP接口进行上报。
9、监测应用运行状态。因为应用程序与守护进程存在TCP连接,所以当应用程序发生崩溃或者被***强制停止时,守护进程检测到TCP已断开,会尝试再次拉起应用程序。
10、监测应用异常状态并上报。守护进程打开core dump)功能,当TCP断开连接时,检查core目录是否存在core文件,存在则使用addr2line解析出错误堆栈信息,并保存至文件,再将此错误堆栈文件上传至后台;
其中,在UNIX***中,常将“主内存”(main memory)称为核心(core),因为在使用半导体作为内存材料之前,便是使用核心(core)。而核心映像(core image)就是“进程”(process)执行当时的内存内容。当进程发生错误或收到“信号”(signal)而终止执行时,***会将核心映像写入一个文件,以作为调试之用,这就是所谓的核心转储(core dump)。
core文件,核心文件通常在***收到特定的信号时由操作***生成。信号可以由程序执行过程中的异常触发,也可以由外部程序发送。动作的结果一般是生成一个某个进程的内存转储的文件,文件包含了此进程当前的运行堆栈信息。有时程序并未经过彻底测试,这使得它在执行的时候一不小心就会找到破坏。这可能会导致核心转储(core dump)。UNIX***极少会面临这样的问题。即使遇到,程序员可以通过核心映像调试程序来找到错误原因。
Addr2line工具(它是标准的GNU Binutils中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。addr2line工具是一个可以将指令的地址和可执行映像转换为文件名、函数名和源代码行数的工具。这在内核执行过程中出现崩溃时,可用于快速定位出出错的位置,进而找出代码的bug。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
本发明实施例提供的应用程序的管理方法,通过向终端设备上待检测的应用程序发送应用程序开启指令;接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;接收服务器返回的与应用程序对应的第二版本信息;若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,可以实时监测应用程序的版本信息,并支持多个不同类型的应用程序升级,通用性好,维护成本低。
本发明另一实施例提供一种应用程序的管理装置,用于执行上述实施例提供的应用程序的管理方法。
参照图4,示出了本发明的一种应用程序的管理装置实施例的结构框图,该装置具体可以包括如下模块:发送模块401、第一接收模块402、第二接收模块403和更新模块404,其中:
发送模块401用于向终端设备上待检测的应用程序发送应用程序开启指令;
第一接收模块402用于接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;
第二接收模块403用于接收服务器返回的与应用程序对应的第二版本信息;
更新模块404用于若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序。
本发明实施例提供的应用程序的管理装置,通过向终端设备上待检测的应用程序发送应用程序开启指令;接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;接收服务器返回的与应用程序对应的第二版本信息;若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,可以实时监测应用程序的版本信息,并支持多个不同类型的应用程序升级,通用性好,维护成本低。
本发明又一实施例对上述实施例提供的可视化报表的生成装置做进一步补充说明。
可选地,第一版本信息至少包括第一版本号,第二版本信息至少包括第二版本号、修改点、更新时间、第二版本下载链接或第二版本文件第一MD5值,若第二版本信息与第一版本信息不同,则更新模块用于:
若第一版本号与第二版本号不同,则根据第二版本下载链接从服务器下载第二版本文件;
将与第一版本号对应的第一版本文件替换为与第二版本号对应的第二版本文件。
可选地,该装置还包括下载模块,下载模块用于:
根据第二版本文件,确定与第二版本文件对应的第二MD5值;
将第一MD5值与第二MD5值进行比较;
若第一MD5值与第二MD5值相同,则确定与第二MD5值对应的第二版本文件为目标版本文件。
可选地,该装置还包括验证模块,验证模块用于:
在第二版本信息对应的应用程序开启后,接收第二版本信息对应的应用程序发送的第三版本号;
将第二版本号与第三版本号进行比较;
若第二版本号和第三版本号相同,则通过HTTP协议向服务器发送更新成功指令;
若第二版本号和第三版本号不同,则通过HTTP协议向服务器发送更新失败指令。
可选地,该装置还包括解析模块,解析模块用于:
若检索到应用程序发生异常,则开启核心转储模块,并检查核心目录是否存在核心文件;
若存在核心文件,则通过addr2line工具,解析错误堆栈信息;
将错误堆栈信息发送至服务器。
可选地,发送模块用于:
通过TCP协议,向终端设备上待检测的应用程序发送应用程序开启指令。
可选地,第一接收模块用于:
每隔预设时间段,接收待检测的多个应用程序返回的心跳数据包。需要说明的是,本实施例中各可实施的方式可以单独实施,也可以在不冲突的情况下以任意组合方式结合实施本申请不做限定。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例提供的应用程序的管理装置,通过向终端设备上待检测的应用程序发送应用程序开启指令;接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;接收服务器返回的与应用程序对应的第二版本信息;若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,可以实时监测应用程序的版本信息,并支持多个不同类型的应用程序升级,通用性好,维护成本低。
本发明再一实施例提供一种终端设备,用于执行上述实施例提供的应用程序的管理方法。
图5是本发明的一种终端设备的结构示意图,如图5所示,该终端设备包括:至少一个处理器501和存储器502;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现上述实施例提供的应用程序的管理方法。
本实施例提供的终端设备,通过向终端设备上待检测的应用程序发送应用程序开启指令;接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;接收服务器返回的与应用程序对应的第二版本信息;若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,可以实时监测应用程序的版本信息,并支持多个不同类型的应用程序升级,通用性好,维护成本低。
本申请又一实施例提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现上述任一实施例提供的应用程序的管理方法。
根据本实施例的计算机可读存储介质,通过向终端设备上待检测的应用程序发送应用程序开启指令;接收待检测的应用程序返回的心跳数据包,其中,心跳数据包中包括终端设备的设备标识和应用程序的第一版本信息;接收服务器返回的与应用程序对应的第二版本信息;若第二版本信息与第一版本信息不同,则将第一版本信息对应的应用程序更新为与第二版本信息对应的应用程序,可以实时监测应用程序的版本信息,并支持多个不同类型的应用程序升级,通用性好,维护成本低。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、电子设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理电子设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理电子设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理电子设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理电子设备上,使得在计算机或其他可编程电子设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程电子设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者电子设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者电子设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者电子设备中还存在另外的相同要素。
以上对本发明所提供的一种应用程序的管理方法和一种可视化报表的生成装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种应用程序的管理方法,其特征在于,所述方法包括:
向终端设备上待检测的应用程序发送应用程序开启指令;
接收所述待检测的应用程序返回的心跳数据包,其中,所述心跳数据包中包括所述终端设备的设备标识和应用程序的第一版本信息;
接收服务器返回的与所述应用程序对应的第二版本信息;
若所述第二版本信息与所述第一版本信息不同,则将第一版本信息对应的应用程序更新为与所述第二版本信息对应的应用程序。
2.根据权利要求1所述的方法,其特征在于,所述第一版本信息至少包括第一版本号,所述第二版本信息至少包括第二版本号、修改点、更新时间、第二版本下载链接或第二版本文件第一MD5值,所述若所述第二版本信息与所述第一版本信息不同,则所述将第一版本信息对应的应用程序更新为与所述第二版本信息对应的应用程序,包括:
若所述第一版本号与所述第二版本号不同,则根据所述第二版本下载链接从所述服务器下载第二版本文件;
将与所述第一版本号对应的第一版本文件替换为与所述第二版本号对应的第二版本文件。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
根据所述第二版本文件,确定与所述第二版本文件对应的第二MD5值;
将所述第一MD5值与所述第二MD5值进行比较;
若所述第一MD5值与所述第二MD5值相同,则确定与所述第二MD5值对应的第二版本文件为目标版本文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述第二版本信息对应的应用程序开启后,接收所述第二版本信息对应的应用程序发送的第三版本号;
将所述第二版本号与所述第三版本号进行比较;
若所述第二版本号和所述第三版本号相同,则通过HTTP协议向所述服务器发送更新成功指令;
若所述第二版本号和所述第三版本号不同,则通过HTTP协议向所述服务器发送更新失败指令。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若检索到所述应用程序发生异常,则开启核心转储模块,并检查核心目录是否存在核心文件;
若存在核心文件,则通过addr2line工具,解析错误堆栈信息;
将所述错误堆栈信息发送至所述服务器。
6.根据权利要求1所述的方法,其特征在于,所述向终端设备上待检测的应用程序发送应用程序开启指令,包括:
通过TCP协议,向终端设备上待检测的应用程序发送应用程序开启指令。
7.根据权利要求1所述的方法,其特征在于,所述接收所述待检测的应用程序返回的心跳数据包,包括:
每隔预设时间段,接收所述待检测的多个应用程序返回的心跳数据包。
8.一种应用程序的管理装置,其特征在于,所述装置包括:
发送模块,用于向终端设备上待检测的应用程序发送应用程序开启指令;
第一接收模块,用于接收所述待检测的应用程序返回的心跳数据包,其中,所述心跳数据包中包括所述终端设备的设备标识和应用程序的第一版本信息;
第二接收模块,用于接收服务器返回的与所述应用程序对应的第二版本信息;
更新模块,用于若所述第二版本信息与所述第一版本信息不同,则将第一版本信息对应的应用程序更新为与所述第二版本信息对应的应用程序。
9.一种终端设备,其特征在于,包括:至少一个处理器和存储器;
所述存储器存储计算机程序;所述至少一个处理器执行所述存储器存储的计算机程序,以实现权利要求1-7中任一项所述的应用程序的管理方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质中存储有计算机程序,所述计算机程序被执行时实现权利要求1-7中任一项所述的应用程序的管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281456.XA CN112905230B (zh) | 2021-03-16 | 2021-03-16 | 应用程序的管理方法、装置、终端设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110281456.XA CN112905230B (zh) | 2021-03-16 | 2021-03-16 | 应用程序的管理方法、装置、终端设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112905230A true CN112905230A (zh) | 2021-06-04 |
CN112905230B CN112905230B (zh) | 2024-06-28 |
Family
ID=76105179
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110281456.XA Active CN112905230B (zh) | 2021-03-16 | 2021-03-16 | 应用程序的管理方法、装置、终端设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112905230B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391834A (zh) * | 2021-06-21 | 2021-09-14 | 网易(杭州)网络有限公司 | 数据更新方法、装置、电子设备和存储介质 |
CN115061743A (zh) * | 2022-06-08 | 2022-09-16 | Oppo广东移动通信有限公司 | 接口调用方法及装置、计算机可读介质和电子设备 |
CN115361428A (zh) * | 2022-10-21 | 2022-11-18 | 北京鼎轩科技有限责任公司 | 一种远程控制方法和分级*** |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517863A (zh) * | 2003-01-15 | 2004-08-04 | 联想(北京)有限公司 | 无盘工作站自动升级方法 |
CN103353846A (zh) * | 2013-06-28 | 2013-10-16 | 四川农业大学 | 一种项目自动部署插件 |
CN104216727A (zh) * | 2013-06-04 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 应用升级方法和*** |
CN105653329A (zh) * | 2015-12-30 | 2016-06-08 | 国网信息通信产业集团有限公司 | 一种应用管理的方法、装置及*** |
CN105930179A (zh) * | 2015-12-14 | 2016-09-07 | ***股份有限公司 | 一种交易终端升级的方法及装置 |
CN106712993A (zh) * | 2015-11-16 | 2017-05-24 | 任子行网络技术股份有限公司 | 一种审计设备的管理方法及*** |
CN106959866A (zh) * | 2016-01-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种日志收集客户端及其升级方法 |
CN109361542A (zh) * | 2018-10-29 | 2019-02-19 | 北京奇艺世纪科技有限公司 | 客户端的故障处理方法、装置、***、终端和服务器 |
CN110502255A (zh) * | 2018-05-17 | 2019-11-26 | 许昌许继软件技术有限公司 | 一种轨道交通综合监控***的软件升级*** |
US20200012488A1 (en) * | 2013-03-15 | 2020-01-09 | Electro Industries/Gauge Tech | Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices |
CN111064590A (zh) * | 2018-10-16 | 2020-04-24 | 腾讯科技(深圳)有限公司 | 异常状态的修复方法、装置及可读存储介质 |
CN112328297A (zh) * | 2020-11-30 | 2021-02-05 | 北京技德***技术有限公司 | 一种在Linux上兼容运行的Android***的升级方法与装置 |
-
2021
- 2021-03-16 CN CN202110281456.XA patent/CN112905230B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1517863A (zh) * | 2003-01-15 | 2004-08-04 | 联想(北京)有限公司 | 无盘工作站自动升级方法 |
US20200012488A1 (en) * | 2013-03-15 | 2020-01-09 | Electro Industries/Gauge Tech | Devices, systems and methods for tracking and upgrading firmware in intelligent electronic devices |
CN104216727A (zh) * | 2013-06-04 | 2014-12-17 | 腾讯科技(深圳)有限公司 | 应用升级方法和*** |
CN103353846A (zh) * | 2013-06-28 | 2013-10-16 | 四川农业大学 | 一种项目自动部署插件 |
CN106712993A (zh) * | 2015-11-16 | 2017-05-24 | 任子行网络技术股份有限公司 | 一种审计设备的管理方法及*** |
CN105930179A (zh) * | 2015-12-14 | 2016-09-07 | ***股份有限公司 | 一种交易终端升级的方法及装置 |
CN105653329A (zh) * | 2015-12-30 | 2016-06-08 | 国网信息通信产业集团有限公司 | 一种应用管理的方法、装置及*** |
CN106959866A (zh) * | 2016-01-08 | 2017-07-18 | 阿里巴巴集团控股有限公司 | 一种日志收集客户端及其升级方法 |
CN110502255A (zh) * | 2018-05-17 | 2019-11-26 | 许昌许继软件技术有限公司 | 一种轨道交通综合监控***的软件升级*** |
CN111064590A (zh) * | 2018-10-16 | 2020-04-24 | 腾讯科技(深圳)有限公司 | 异常状态的修复方法、装置及可读存储介质 |
CN109361542A (zh) * | 2018-10-29 | 2019-02-19 | 北京奇艺世纪科技有限公司 | 客户端的故障处理方法、装置、***、终端和服务器 |
CN112328297A (zh) * | 2020-11-30 | 2021-02-05 | 北京技德***技术有限公司 | 一种在Linux上兼容运行的Android***的升级方法与装置 |
Non-Patent Citations (2)
Title |
---|
HENRY HOFFMANN 等: "Application Heartbeats for Software Performance and Health", Retrieved from the Internet <URL:https://dspace.mit.edu/bitstream/handle/1721.1/46351/MIT-CSAIL-TR-2009-035.pdf?sequence=1> * |
XYBABY: "Hey,man,are you ok? -- 关于心跳、故障监测、lease机制", Retrieved from the Internet <URL:https://www.cnblogs.com/xybaby/p/8710421.html> * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113391834A (zh) * | 2021-06-21 | 2021-09-14 | 网易(杭州)网络有限公司 | 数据更新方法、装置、电子设备和存储介质 |
CN115061743A (zh) * | 2022-06-08 | 2022-09-16 | Oppo广东移动通信有限公司 | 接口调用方法及装置、计算机可读介质和电子设备 |
CN115361428A (zh) * | 2022-10-21 | 2022-11-18 | 北京鼎轩科技有限责任公司 | 一种远程控制方法和分级*** |
Also Published As
Publication number | Publication date |
---|---|
CN112905230B (zh) | 2024-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112905230B (zh) | 应用程序的管理方法、装置、终端设备和存储介质 | |
CN107608706B (zh) | 一种基于功能模块的应用程序自动热更新方法 | |
CN108595221B (zh) | PaaS平台的插件加载方法、装置、服务器及存储介质 | |
CN106843957B (zh) | ***固件升级方法及装置 | |
US20160132420A1 (en) | Backup method, pre-testing method for environment updating and system thereof | |
TW201407341A (zh) | 修復軟體運行錯誤的方法、裝置及系統 | |
CN107783776B (zh) | 固件升级包的处理方法及装置、电子设备 | |
CN106980565B (zh) | 升级过程监控方法及装置 | |
CN103034560B (zh) | 一种修复应用软件的方法、装置及*** | |
CN109634638B (zh) | 一种集群软件升级方法、装置、设备及介质 | |
CN112099825B (zh) | 组件进行升级的方法、装置、设备及存储介质 | |
WO2017198156A1 (zh) | 业务部署方法、装置和*** | |
CN111506326A (zh) | 终端设备的升级方法、装置、设备及存储介质 | |
CN112698846B (zh) | 一种Linux***自动安装补丁的方法和*** | |
CN105045640A (zh) | 一种软件升级方法、装置及智能设备 | |
CN114356855A (zh) | 文件管理方法、装置、电子装置及可读存储介质 | |
CN115543429A (zh) | 项目环境的搭建方法、电子设备及计算机可读存储介质 | |
CN111158729A (zh) | ***升级方法、装置、设备及存储介质 | |
CN113360914A (zh) | 一种bios更新的方法、***、设备及介质 | |
CN109933351B (zh) | 一种修复和升级Linux***的方法与装置 | |
CN108595292B (zh) | 一种***的优化方法、移动终端及计算机存储介质 | |
CN106528248B (zh) | 一种移动终端基于软件完整性的下载方法及*** | |
GB2532076A (en) | Backup method, pre-testing method for environment updating and system thereof | |
CN115145596A (zh) | 一种机器人升级包ota升级方法及设备 | |
JP5499484B2 (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 |