[发明专利]基于多线程技术实现软件智能化自动升级的系统及方法有效
申请号: | 201711079068.3 | 申请日: | 2017-11-06 |
公开(公告)号: | CN109766131B | 公开(公告)日: | 2022-04-01 |
发明(设计)人: | 顾宇栋;姜宇;汤春艳;刘晓;龚新平;赵新阳 | 申请(专利权)人: | 上海宝信软件股份有限公司 |
主分类号: | G06F8/65 | 分类号: | G06F8/65;G06F8/71;G06F9/54;G06F9/44;G06F9/445 |
代理公司: | 上海汉声知识产权代理有限公司 31236 | 代理人: | 郭国中 |
地址: | 201203 上海市浦*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 多线程 技术 实现 软件 智能化 自动 升级 系统 方法 | ||
1.一种基于多线程技术实现软件智能化自动升级的系统,其特征在于,包括:主线程:监听系统端口;
连接处理线程:从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
任务工作线程:处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
版本升级线程:定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
线程池:增加或停用工作线程,执行任务工作线程分派的作业;
所述线程池包括:
请求队列:存放和提取请求;
结果队列:存储请求执行后返回的结果;
线程池管理器:增加或停用工作线程;
其中,工作线程通过轮询方式不断查看请求队列,只要有请求存在,则会提取出请求,进行执行;线程池管理器用调用方法查看结果队列,只要有值就取出,调用结果处理函数执行;
所述版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
2.一种基于多线程技术实现软件智能化自动升级的方法,其特征在于,包括:通过主线程监听系统端口;
通过连接处理线程从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
通过任务工作线程处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
通过版本升级线程定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
通过线程池增加或停用工作线程,执行任务工作线程分派的作业;
所述线程池包括:
请求队列:存放和提取请求;
结果队列:存储请求执行后返回的结果;
线程池管理器:增加或停用工作线程;
其中,工作线程通过轮询方式不断查看请求队列,只要有请求存在,则会提取出请求,进行执行;线程池管理器用调用方法查看结果队列,只要有值就取出,调用结果处理函数执行;
所述版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海宝信软件股份有限公司,未经上海宝信软件股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711079068.3/1.html,转载请声明来源钻瓜专利网。