CN109766131A - 基于多线程技术实现软件智能化自动升级的系统及方法 - Google Patents
基于多线程技术实现软件智能化自动升级的系统及方法 Download PDFInfo
- Publication number
- CN109766131A CN109766131A CN201711079068.3A CN201711079068A CN109766131A CN 109766131 A CN109766131 A CN 109766131A CN 201711079068 A CN201711079068 A CN 201711079068A CN 109766131 A CN109766131 A CN 109766131A
- Authority
- CN
- China
- Prior art keywords
- thread
- upgrading
- service centre
- result
- request
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提供了一种基于多线程技术实现软件智能化自动升级的系统及方法,通过主线程监听系统端口;通过连接处理线程从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;通过任务工作线程处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理;通过版本升级线程定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;通过线程池增加或停用工作线程,执行任务工作线程分派的作业。本发明通过多线程技术采用远程过程调用进行数据传送方式极大提高了软件的整体运行效率,在客户机‑服务器模式下实现了智能化自动升级,同时有效提高了升级工作的灵活性、简易性。
Description
技术领域
本发明涉及计算机技术领域,具体地,涉及一种基于多线程技术实现软件智能化自动升级的系统及方法。
背景技术
在许多大型企业中使用的企业级管理平台软件大多采用分布式系统架构,即服务端中心软件系统(以下简称服务中心)负责任务的生成、分派和管理,分布于网络中各个不同工作站的智能终端软件系统(以下简称“Agent”)负责执行各种用途的计算机作业任务,如查询操作系统CPU使用率、检查网络连通性、统计数据库性能报表等等。
采用这种架构的软件系统一般都涉及使用大量Agent系统。然而,在工程的实施和维护过程中,为它们进行版本升级的工作量是巨大的、繁琐的,这些缺陷严重影响了它的广泛应用。因此,设计一种优秀的、智能的版本自动升级机制是非常必要的。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种基于多线程技术实现软件智能化自动升级的系统及方法。
根据本发明提供的一种基于多线程技术实现软件智能化自动升级的系统,包括:
主线程:监听系统端口;
连接处理线程:从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
任务工作线程:处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
版本升级线程:定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
线程池:增加或停用工作线程,执行任务工作线程分派的作业。
优选的,所述线程池包括:
请求队列:存放和提取请求;
结果队列:存储请求执行后返回的结果;
线程池管理器:增加或停用工作线程;
其中,工作线程通过轮询方式不断查看请求队列,只要有请求存在,则会提取出请求,进行执行;线程池管理器用调用方法查看结果队列,只要有值就取出,调用结果处理函数执行。
优选的,所述版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
根据本发明提供的一种基于多线程技术实现软件智能化自动升级的方法,包括:
通过主线程监听系统端口;
通过连接处理线程从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
通过任务工作线程处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
通过版本升级线程定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
通过线程池增加或停用工作线程,执行任务工作线程分派的作业。
优选的,所述线程池包括:
请求队列:存放和提取请求;
结果队列:存储请求执行后返回的结果;
线程池管理器:增加或停用工作线程;
其中,工作线程通过轮询方式不断查看请求队列,只要有请求存在,则会提取出请求,进行执行;线程池管理器用调用方法查看结果队列,只要有值就取出,调用结果处理函数执行。
优选的,所述版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
与现有技术相比,本发明具有如下的有益效果:
本发明通过多线程技术采用远程过程调用进行数据传送方式极大提高了软件的整体运行效率,在客户机-服务器模式下实现了智能化自动升级,在保证软件系统正确升级的同时有效提高了升级工作的灵活性、简易性。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的系统架构图;
图2为本发明线程池的工作模型图;
图3为本发明软件升级的工作序列图;
图4为本发明软件升级的工作流程图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
如图1所示,本发明提供的一种基于多线程技术实现软件智能化自动升级的系统分为两部分,核心软件为主体,采用多线程设计模式负责到达通信连接和数据的处理、随后由基于独立线程的线程池处理数据,然后发送执行结果。同时,版本升级线程定周期进行文件下载升级操作,完成Agent的自动升级工作。
基于多线程技术实现软件智能化自动升级的系统具体包括:
主线程:监听系统端口;
连接处理线程:从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
任务工作线程:处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
版本升级线程:定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
线程池:增加或停用工作线程,执行任务工作线程分派的作业。
线程池是预先创建线程的一种技术。它在还没有任务到来之前,创建一定数量的线程,放入空闲队列中。这些线程都是处于睡眠状态,即均为启动,不消耗CPU,只是占用较小的内存空间。
当请求到来之后,给这次请求分配一个空闲的工作线程,把请求传入此工作线程中运行,进行处理。当预先创建的工作线程都处于运行状态,即预制线程不够,线程池可以自由创建一定数量的新工作线程,用于处理更多的请求。当系统比较空闲时,也可以通过移出一部分一直处于停用状态的工作线程。
Agent的线程池包括:
(1)线程池管理器(ThreadPool),增加或停用工作线程,管理线程池;
(2)工作线程(WorkThread),线程池中的线程;
(3)请求接口(WorkRequest),创建请求对象,以供工作线程调度任务的执行;
(4)请求队列(RequestQueue),用于存放和提取请求;
(5)结果队列(ResultQueue),用于存储请求执行后返回的结果。
如图2所示,线程池管理器通过添加请求的方法向请求队列(RequestQueue)添加请求,这些请求事先需要实现请求接口,即传递工作函数、参数、结果处理函数、以及异常处理函数。
之后,初始化一定数量的工作线程,这些线程通过轮询方式不断查看请求队列(RequestQueue),只要有请求存在,则会提取出请求,进行执行。然后,线程池管理器调用方法查看结果队列(ResultQueue)是否有值,如果有值,则取出,调用结果处理函数执行。
服务中心通过智能审核机制对Agent身份确认并授权进行自动化升级操作。Agent定周期访问服务中心,自动下载升级文件,并进行升级操作,这种机制可支持文件和目录的同时升级,使用效率高。
所需的组成部分包括:
1、本地临时信息文件
本地临时信息文件用于记录服务中心提供的升级和Agent授权信息,由三部分组成。第一部分记录从服务中心获取的升级版本号,第二部分用于记录从服务中心获取的Agent身份信息即IP地址的升级授权状态值,0表示不允许下载,1表示允许下载,第三部分记录从服务中心获取的升级文件的MD5值。
2、升级文件
服务中心提供下载的升级文件不是单个的可执行文件,而是Agent软件需要升级的多个目录和文件的单个压缩文件,比如zip格式文件。
判定方法:
Agent定周期从服务中心获取新版本号,并与本地运行的当前版本号比较,若不一致,说明服务中心发布了新版本,需要开始自动升级。
首先,Agent从服务中心获取该Agent的升级授权状态值,若该值为允许下载,则接着从服务中心获取MD5值,并开始下载升级压缩文件。
然后,Agent计算升级压缩文件的MD5值并与本地临时信息文件中记录的MD5值进行比较,若一致,说明文件内容没有变化,下载成功,若不一致,说明文件内容已变化,则不再进行后续的升级操作。
如图3、图4所示,版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
在上述一种基于多线程技术实现软件智能化自动升级的系统的基础上,本发明还提供一种基于多线程技术实现软件智能化自动升级的方法,包括:
通过主线程监听系统端口;
通过连接处理线程从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
通过任务工作线程处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
通过版本升级线程定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
通过线程池增加或停用工作线程,执行任务工作线程分派的作业。
Agent的线程池包括:
(1)线程池管理器(ThreadPool),增加或停用工作线程,管理线程池;
(2)工作线程(WorkThread),线程池中的线程;
(3)请求接口(WorkRequest),创建请求对象,以供工作线程调度任务的执行;
(4)请求队列(RequestQueue),用于存放和提取请求;
(5)结果队列(ResultQueue),用于存储请求执行后返回的结果。
线程池管理器通过添加请求的方法向请求队列(RequestQueue)添加请求,这些请求事先需要实现请求接口,即传递工作函数、参数、结果处理函数、以及异常处理函数。
之后,初始化一定数量的工作线程,这些线程通过轮询方式不断查看请求队列(RequestQueue),只要有请求存在,则会提取出请求,进行执行。然后,线程池管理器调用方法查看结果队列(ResultQueue)是否有值,如果有值,则取出,调用结果处理函数执行。
版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统及其各个装置、模块、单元以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统及其各个装置、模块、单元以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同功能。所以,本发明提供的系统及其各项装置、模块、单元可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置、模块、单元也可以视为硬件部件内的结构;也可以将用于实现各种功能的装置、模块、单元视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (6)
1.一种基于多线程技术实现软件智能化自动升级的系统,其特征在于,包括:
主线程:监听系统端口;
连接处理线程:从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
任务工作线程:处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
版本升级线程:定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
线程池:增加或停用工作线程,执行任务工作线程分派的作业。
2.根据权利要求1所述的基于多线程技术实现软件智能化自动升级的系统,其特征在于,所述线程池包括:
请求队列:存放和提取请求;
结果队列:存储请求执行后返回的结果;
线程池管理器:增加或停用工作线程;
其中,工作线程通过轮询方式不断查看请求队列,只要有请求存在,则会提取出请求,进行执行;线程池管理器用调用方法查看结果队列,只要有值就取出,调用结果处理函数执行。
3.根据权利要求1所述的基于多线程技术实现软件智能化自动升级的系统,其特征在于,所述版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
4.一种基于多线程技术实现软件智能化自动升级的方法,其特征在于,包括:
通过主线程监听系统端口;
通过连接处理线程从主线程轮循接收来自服务中心的通信连接,处理数据并将作业对象写入内部队列结构;
通过任务工作线程处理内部队列结构中的作业对象,进行作业类型分离后,分派给线程池内的工作线程处理,并发送执行结果到服务中心;
通过版本升级线程定期访问服务中心,在通过服务中心的审核后下载升级文件并进行自动升级操作;
通过线程池增加或停用工作线程,执行任务工作线程分派的作业。
5.根据权利要求4所述的基于多线程技术实现软件智能化自动升级的方法,其特征在于,所述线程池包括:
请求队列:存放和提取请求;
结果队列:存储请求执行后返回的结果;
线程池管理器:增加或停用工作线程;
其中,工作线程通过轮询方式不断查看请求队列,只要有请求存在,则会提取出请求,进行执行;线程池管理器用调用方法查看结果队列,只要有值就取出,调用结果处理函数执行。
6.根据权利要求4所述的基于多线程技术实现软件智能化自动升级的方法,其特征在于,所述版本升级线程在通过服务中心的审核后下载升级文件并进行自动升级操作包括步骤:
步骤1、从服务中心获取升级新版本号,和本地当前版本号比较判定是否进行后续升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤2、从服务中心获取系统的升级授权状态值,判定是否进行升级操作,若判断结果为是则执行下一步,若判断结果为否则结束;
步骤3、从服务中心下载升级压缩文件和MD5值;
步骤4、计算下载升级压缩文件的MD5值并判定是否下载成功;
步骤5、将升级压缩文件解压缩到本地临时目录;
步骤6、将解压缩文件和目录复制到系统的相关目录;
步骤7、执行系统的重启动脚本,由主线程重启后运行解压缩文件,并完成自动升级操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711079068.3A CN109766131B (zh) | 2017-11-06 | 2017-11-06 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711079068.3A CN109766131B (zh) | 2017-11-06 | 2017-11-06 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109766131A true CN109766131A (zh) | 2019-05-17 |
CN109766131B CN109766131B (zh) | 2022-04-01 |
Family
ID=66448889
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711079068.3A Active CN109766131B (zh) | 2017-11-06 | 2017-11-06 | 基于多线程技术实现软件智能化自动升级的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109766131B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111580792A (zh) * | 2020-04-29 | 2020-08-25 | 上海航天计算机技术研究所 | 一种基于操作系统的高可靠星载软件架构设计方法 |
CN113766006A (zh) * | 2021-07-29 | 2021-12-07 | 北京思特奇信息技术股份有限公司 | 一种基于ftp协议的实时文件传输方法及系统 |
CN115080141A (zh) * | 2022-06-02 | 2022-09-20 | 珠海金山数字网络科技有限公司 | 数据处理方法及系统 |
Citations (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014472A1 (en) * | 2001-07-12 | 2003-01-16 | Nec Corporation | Thread ending method and device and parallel processor system |
CN1514354A (zh) * | 2002-12-31 | 2004-07-21 | ����̩ƽ | 面向构件基于系统内核的进程池/线程池管理方法 |
CN1770108A (zh) * | 2004-11-05 | 2006-05-10 | 华为技术有限公司 | 软件在线升级的方法 |
CN1829964A (zh) * | 2003-08-02 | 2006-09-06 | 国际商业机器公司 | 用于处理消息队列的方法、设备和计算机程序 |
CN1853166A (zh) * | 2003-09-30 | 2006-10-25 | 英特尔公司 | 用于多线程的线程管理的方法和装置 |
CN101042651A (zh) * | 2006-03-22 | 2007-09-26 | 华为技术有限公司 | 一种软件升级方法及其系统 |
CN101178670A (zh) * | 2007-12-10 | 2008-05-14 | 中兴通讯股份有限公司 | 设备升级的方法 |
CN101458640A (zh) * | 2007-12-14 | 2009-06-17 | 环达电脑(上海)有限公司 | 可监控多线程状态的系统及其监控方法 |
CN101727338A (zh) * | 2008-08-15 | 2010-06-09 | 北京北大众志微系统科技有限责任公司 | 一种网络计算机的并行升级方法及其应用系统 |
CN101795205A (zh) * | 2009-12-22 | 2010-08-04 | 中兴通讯股份有限公司 | 一种终端升级的方法及系统 |
CN101820447A (zh) * | 2010-03-31 | 2010-09-01 | 青岛海信宽带多媒体技术有限公司 | 软件升级方法及升级装置 |
CN101887361A (zh) * | 2009-05-14 | 2010-11-17 | 灰熊(北京)科技有限公司 | 一种在多线程环境下高效处理延时任务的方法 |
CN101916208A (zh) * | 2010-08-30 | 2010-12-15 | 芯通科技(成都)有限公司 | 一种用于多线程调用驱动模块的系统及方法 |
CN101938470A (zh) * | 2010-08-12 | 2011-01-05 | 漳州市顺和达软件有限公司 | 客户端软件升级系统及方法 |
CN102081619A (zh) * | 2009-11-26 | 2011-06-01 | 中国移动通信集团公司 | 数据更新方法、分发节点及海量存储集群系统 |
US20120297149A1 (en) * | 2011-05-20 | 2012-11-22 | Huawei Technologies Co., Ltd. | Method and device for multithread to access multiple copies |
US20120303910A1 (en) * | 2011-05-27 | 2012-11-29 | Zhiqiang Ma | Detecting Potential Access Errors In A Multi-Threaded Application |
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN102945175A (zh) * | 2012-11-09 | 2013-02-27 | 杭州易和网络有限公司 | 一种基于云计算环境的终端软件在线升级系统及其方法 |
CN103140831A (zh) * | 2010-03-15 | 2013-06-05 | 高通股份有限公司 | 在处理器处执行线程的系统和方法 |
CN103259672A (zh) * | 2012-02-17 | 2013-08-21 | 阿里巴巴集团控股有限公司 | 软件升级方法和系统 |
CN103581710A (zh) * | 2013-10-28 | 2014-02-12 | 青岛海信宽带多媒体技术有限公司 | 升级服务器、机顶盒及其软件升级方法 |
CN103605498A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 单线程任务的多线程执行方法及系统 |
CN103605568A (zh) * | 2013-10-29 | 2014-02-26 | 北京奇虎科技有限公司 | 一种多线程管理方法及装置 |
CN103699410A (zh) * | 2013-12-20 | 2014-04-02 | 北京奇虎科技有限公司 | 一种应用程序的更新方法和装置 |
CN103744723A (zh) * | 2014-01-24 | 2014-04-23 | 深圳联友科技有限公司 | 一种线程池的管理方法和管理系统 |
CN104102488A (zh) * | 2014-07-18 | 2014-10-15 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN104111848A (zh) * | 2014-06-27 | 2014-10-22 | 华中科技大学 | 一种基于异步检查点的多线程软件动态升级方法 |
CN104111877A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于线程调配引擎的线程资源动态调配系统和方法 |
CN104281478A (zh) * | 2014-10-28 | 2015-01-14 | 小米科技有限责任公司 | 更新应用程序的方法及装置 |
CN104320404A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学技术大学 | 一种多线程高性能http代理实现方法及系统 |
US20150121382A1 (en) * | 2013-10-31 | 2015-04-30 | Emu Solutions, Inc. | Concurrency control mechanisms for highly multi-threaded systems |
CN104699504A (zh) * | 2015-03-03 | 2015-06-10 | 惠州Tcl移动通信有限公司 | 一种批量终端设备软件升级的方法及系统 |
CN104915227A (zh) * | 2015-05-25 | 2015-09-16 | 努比亚技术有限公司 | 一种多源多线程的软件升级方法及系统 |
CN105159768A (zh) * | 2015-09-09 | 2015-12-16 | 浪潮集团有限公司 | 一种任务管理方法及云数据中心管理平台 |
CN105808274A (zh) * | 2014-12-30 | 2016-07-27 | 航天信息股份有限公司 | 软件升级方法、系统及对应的客户端与服务器 |
CN105912386A (zh) * | 2016-05-03 | 2016-08-31 | 深圳市永兴元科技有限公司 | 线程管理方法及系统 |
CN106445696A (zh) * | 2016-09-12 | 2017-02-22 | 深圳铂睿智恒科技有限公司 | 一种多进程交互处理方法及系统 |
CN106445665A (zh) * | 2016-09-19 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 一种应用于android系统的系统文件下载方法及下载工具 |
CN106528829A (zh) * | 2016-11-14 | 2017-03-22 | 天津南大通用数据技术股份有限公司 | 一种海量数据的更新方法及装置 |
CN106648872A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市优必选科技有限公司 | 用于多线程处理的方法及装置、服务器 |
CN106997307A (zh) * | 2017-02-13 | 2017-08-01 | 上海大学 | 一种面向多终端无线通信的Socket线程池设计方法 |
CN107220033A (zh) * | 2017-07-05 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 用于控制线程池中线程数量的方法和装置 |
CN107291481A (zh) * | 2016-03-30 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 一种组件更新方法、装置和系统 |
-
2017
- 2017-11-06 CN CN201711079068.3A patent/CN109766131B/zh active Active
Patent Citations (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030014472A1 (en) * | 2001-07-12 | 2003-01-16 | Nec Corporation | Thread ending method and device and parallel processor system |
CN1514354A (zh) * | 2002-12-31 | 2004-07-21 | ����̩ƽ | 面向构件基于系统内核的进程池/线程池管理方法 |
CN1829964A (zh) * | 2003-08-02 | 2006-09-06 | 国际商业机器公司 | 用于处理消息队列的方法、设备和计算机程序 |
CN1853166A (zh) * | 2003-09-30 | 2006-10-25 | 英特尔公司 | 用于多线程的线程管理的方法和装置 |
CN1770108A (zh) * | 2004-11-05 | 2006-05-10 | 华为技术有限公司 | 软件在线升级的方法 |
CN101042651A (zh) * | 2006-03-22 | 2007-09-26 | 华为技术有限公司 | 一种软件升级方法及其系统 |
CN101178670A (zh) * | 2007-12-10 | 2008-05-14 | 中兴通讯股份有限公司 | 设备升级的方法 |
CN101458640A (zh) * | 2007-12-14 | 2009-06-17 | 环达电脑(上海)有限公司 | 可监控多线程状态的系统及其监控方法 |
CN101727338A (zh) * | 2008-08-15 | 2010-06-09 | 北京北大众志微系统科技有限责任公司 | 一种网络计算机的并行升级方法及其应用系统 |
CN101887361A (zh) * | 2009-05-14 | 2010-11-17 | 灰熊(北京)科技有限公司 | 一种在多线程环境下高效处理延时任务的方法 |
CN102081619A (zh) * | 2009-11-26 | 2011-06-01 | 中国移动通信集团公司 | 数据更新方法、分发节点及海量存储集群系统 |
CN101795205A (zh) * | 2009-12-22 | 2010-08-04 | 中兴通讯股份有限公司 | 一种终端升级的方法及系统 |
CN103140831A (zh) * | 2010-03-15 | 2013-06-05 | 高通股份有限公司 | 在处理器处执行线程的系统和方法 |
CN101820447A (zh) * | 2010-03-31 | 2010-09-01 | 青岛海信宽带多媒体技术有限公司 | 软件升级方法及升级装置 |
CN101938470A (zh) * | 2010-08-12 | 2011-01-05 | 漳州市顺和达软件有限公司 | 客户端软件升级系统及方法 |
CN101916208A (zh) * | 2010-08-30 | 2010-12-15 | 芯通科技(成都)有限公司 | 一种用于多线程调用驱动模块的系统及方法 |
US20120297149A1 (en) * | 2011-05-20 | 2012-11-22 | Huawei Technologies Co., Ltd. | Method and device for multithread to access multiple copies |
US20120303910A1 (en) * | 2011-05-27 | 2012-11-29 | Zhiqiang Ma | Detecting Potential Access Errors In A Multi-Threaded Application |
CN103259672A (zh) * | 2012-02-17 | 2013-08-21 | 阿里巴巴集团控股有限公司 | 软件升级方法和系统 |
CN102868731A (zh) * | 2012-08-27 | 2013-01-09 | 济南大学 | 软件在线升级及加速下载的方法和装置 |
CN102945175A (zh) * | 2012-11-09 | 2013-02-27 | 杭州易和网络有限公司 | 一种基于云计算环境的终端软件在线升级系统及其方法 |
CN103581710A (zh) * | 2013-10-28 | 2014-02-12 | 青岛海信宽带多媒体技术有限公司 | 升级服务器、机顶盒及其软件升级方法 |
CN103605568A (zh) * | 2013-10-29 | 2014-02-26 | 北京奇虎科技有限公司 | 一种多线程管理方法及装置 |
US20150121382A1 (en) * | 2013-10-31 | 2015-04-30 | Emu Solutions, Inc. | Concurrency control mechanisms for highly multi-threaded systems |
CN103605498A (zh) * | 2013-12-05 | 2014-02-26 | 用友软件股份有限公司 | 单线程任务的多线程执行方法及系统 |
CN103699410A (zh) * | 2013-12-20 | 2014-04-02 | 北京奇虎科技有限公司 | 一种应用程序的更新方法和装置 |
CN103744723A (zh) * | 2014-01-24 | 2014-04-23 | 深圳联友科技有限公司 | 一种线程池的管理方法和管理系统 |
CN104111848A (zh) * | 2014-06-27 | 2014-10-22 | 华中科技大学 | 一种基于异步检查点的多线程软件动态升级方法 |
CN104102488A (zh) * | 2014-07-18 | 2014-10-15 | 无锡梵天信息技术股份有限公司 | 一种基于多线程并行化的3d引擎系统 |
CN104111877A (zh) * | 2014-07-29 | 2014-10-22 | 广东能龙教育股份有限公司 | 一种基于线程调配引擎的线程资源动态调配系统和方法 |
CN104281478A (zh) * | 2014-10-28 | 2015-01-14 | 小米科技有限责任公司 | 更新应用程序的方法及装置 |
CN104320404A (zh) * | 2014-11-05 | 2015-01-28 | 中国科学技术大学 | 一种多线程高性能http代理实现方法及系统 |
CN105808274A (zh) * | 2014-12-30 | 2016-07-27 | 航天信息股份有限公司 | 软件升级方法、系统及对应的客户端与服务器 |
CN104699504A (zh) * | 2015-03-03 | 2015-06-10 | 惠州Tcl移动通信有限公司 | 一种批量终端设备软件升级的方法及系统 |
CN104915227A (zh) * | 2015-05-25 | 2015-09-16 | 努比亚技术有限公司 | 一种多源多线程的软件升级方法及系统 |
CN105159768A (zh) * | 2015-09-09 | 2015-12-16 | 浪潮集团有限公司 | 一种任务管理方法及云数据中心管理平台 |
CN107291481A (zh) * | 2016-03-30 | 2017-10-24 | 腾讯科技(深圳)有限公司 | 一种组件更新方法、装置和系统 |
CN105912386A (zh) * | 2016-05-03 | 2016-08-31 | 深圳市永兴元科技有限公司 | 线程管理方法及系统 |
CN106445696A (zh) * | 2016-09-12 | 2017-02-22 | 深圳铂睿智恒科技有限公司 | 一种多进程交互处理方法及系统 |
CN106445665A (zh) * | 2016-09-19 | 2017-02-22 | 武汉斗鱼网络科技有限公司 | 一种应用于android系统的系统文件下载方法及下载工具 |
CN106528829A (zh) * | 2016-11-14 | 2017-03-22 | 天津南大通用数据技术股份有限公司 | 一种海量数据的更新方法及装置 |
CN106648872A (zh) * | 2016-12-29 | 2017-05-10 | 深圳市优必选科技有限公司 | 用于多线程处理的方法及装置、服务器 |
CN106997307A (zh) * | 2017-02-13 | 2017-08-01 | 上海大学 | 一种面向多终端无线通信的Socket线程池设计方法 |
CN107220033A (zh) * | 2017-07-05 | 2017-09-29 | 百度在线网络技术(北京)有限公司 | 用于控制线程池中线程数量的方法和装置 |
Non-Patent Citations (3)
Title |
---|
彭玉柱等: "基于多线程机制的电力数据采集系统设计与实现", 《计算机应用与软件》 * |
潘小龙: "IOS系统中不同多线程技术的研究和比较", 《中国新通信》 * |
胡蕾: "基于多线程技术的粒子系统的研究与实现", 《中国水运(学术版)》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111580792A (zh) * | 2020-04-29 | 2020-08-25 | 上海航天计算机技术研究所 | 一种基于操作系统的高可靠星载软件架构设计方法 |
CN113766006A (zh) * | 2021-07-29 | 2021-12-07 | 北京思特奇信息技术股份有限公司 | 一种基于ftp协议的实时文件传输方法及系统 |
CN113766006B (zh) * | 2021-07-29 | 2024-02-23 | 北京思特奇信息技术股份有限公司 | 一种基于ftp协议的实时文件传输方法及系统 |
CN115080141A (zh) * | 2022-06-02 | 2022-09-20 | 珠海金山数字网络科技有限公司 | 数据处理方法及系统 |
CN115080141B (zh) * | 2022-06-02 | 2024-10-29 | 珠海金山数字网络科技有限公司 | 数据处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109766131B (zh) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112667362B (zh) | Kubernetes上部署Kubernetes虚拟机集群的方法与系统 | |
CN105049268B (zh) | 分布式计算资源分配系统和任务处理方法 | |
US8812627B2 (en) | System and method for installation and management of cloud-independent multi-tenant applications | |
CN101707399B (zh) | 电能信息采集方法及系统 | |
CN105007323A (zh) | 一种云资源的编排系统和方法 | |
CN102880503A (zh) | 数据分析系统及数据分析方法 | |
CN112463290A (zh) | 动态调整计算容器的数量的方法、系统、装置和存储介质 | |
CN109298868A (zh) | 测绘影像数据处理软件智能动态部署及卸载方法 | |
CN109766131A (zh) | 基于多线程技术实现软件智能化自动升级的系统及方法 | |
CN111314212A (zh) | 一种基于Netty与插件机制的API网关及控制方法 | |
CN112948096A (zh) | 一种批量调度方法、装置和设备 | |
CN109889406A (zh) | 用于管理网络连接的方法、装置、设备和存储介质 | |
CN103019819A (zh) | 一种基于插件机制的动态库统一调度方法 | |
CN110134533B (zh) | 一种可批量调度数据的系统及方法 | |
CN111082964B (zh) | 一种配置信息的分发方法和装置 | |
US20220027216A1 (en) | Deploying multiple different applications into a single short-lived container along with a master runtime | |
CN117827428A (zh) | 一种基于规则引擎与令牌桶算法的云服务初始化方法及系统 | |
CN110879753A (zh) | 基于自动化集群资源管理的gpu加速性能优化方法和系统 | |
CN111431951A (zh) | 一种数据处理方法、节点设备、系统及存储介质 | |
CN117149413A (zh) | 一种通用ai算法模型云服务集成部署系统及方法 | |
CN111008035B (zh) | 一种软件运维方法、电子设备及存储介质 | |
CN114237858A (zh) | 一种基于多集群网络的任务调度方法及系统 | |
CN114840238A (zh) | 软件升级方法、装置、电子设备及计算机可读存储介质 | |
CN113296913A (zh) | 基于单集群的数据处理方法、装置、设备及存储介质 | |
CN112667393A (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 |