CN1987792A - 高级多线程管理的应用*** - Google Patents

高级多线程管理的应用*** Download PDF

Info

Publication number
CN1987792A
CN1987792A CN 200610134908 CN200610134908A CN1987792A CN 1987792 A CN1987792 A CN 1987792A CN 200610134908 CN200610134908 CN 200610134908 CN 200610134908 A CN200610134908 A CN 200610134908A CN 1987792 A CN1987792 A CN 1987792A
Authority
CN
China
Prior art keywords
thread
management
line distance
high grade
senior
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
Application number
CN 200610134908
Other languages
English (en)
Other versions
CN100430898C (zh
Inventor
金魁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENYANG GENERALSOFT CO Ltd
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to CNB2006101349087A priority Critical patent/CN100430898C/zh
Publication of CN1987792A publication Critical patent/CN1987792A/zh
Application granted granted Critical
Publication of CN100430898C publication Critical patent/CN100430898C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

高级多线程管理的应用***,涉及一种计算机网络高级多线程管理的应用***,特别是涉及一种针对规模较大,运行情况较为复杂的计算机网络的安全性和可靠性管理***。包括有高级线程管理器和自适应线程池,所述高级线程管理器设定有线程的名称、线程的参数、线程的序号、线程状态记数及向***申请内存,创建被管理线程,并向***注册一个定时器;所述自适应线程池由高级线程管理器创建,线程个数为指定范围的最小值,针对线程池中的每个线程,管理线程都设置超时时间。本发明可应用于网络类计算机***。

Description

高级多线程管理的应用***
技术领域
本发明涉及一种计算机网络高级多线程管理的应用***,特别是涉及一种针对规模较大,运行情况较为复杂的计算机网络的安全性和可靠性管理***。本发明可应用于网络类计算机***。
背景技术
线程与多线程定义:线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作***负责调度。多线程是一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。
在一个规模较大,运行情况较为复杂的计算机网络中,要进行有效的安全性和可靠性管理,就必须有能力在占用很少***资源的条件下,可以对大量随机并发事件作出及时地反映和有效的处理。这些随机并发事件可能有多种类型,例如大量的客户机连网与断线的情况,某种受监视事件在网络中大量随机发生等等。采用单线程技术显然无法满足上述网络管理的要求,而采用常规的多线程技术,虽然可以提供一定的并发处理能力,但仍然存在如下严重缺陷:
1.在并发事件较多时,会产生大量线程,占用过多的***资源。严重时可以导致***崩溃;
2.大量地创建和终止线程不仅占用过多的***资源,还会明显地降低***的反应速度,因此无法实现对计算机网络的实时管理;
3.无法保证每一个线程自身的可靠运行,因此,也就大大降低了整个***的可靠性。
在研发综合型网络管理平台中必须以多线程的方式处理大量的并发事件,特别是数量众多的网络终端随机联网的情况。目前处理这种并发事件的一般技术是利用线性管理的多线程技术,这种传统技术的主要问题是占用***资源过多,不适合大规模的网络环境。
发明内容
本发明的目的在于提供一种高级多线程管理***,由此可以在占用很少操作***资源的条件下,即可对大量的并发事件作出及时地反映和处理,又可以保证对每个线程实施有效的可靠性管理。
本发明的目的由以下技术方案实现:
高级多线程管理的应用***,包括有高级线程管理器和自适应线程池,所述高级线程管理器设定有线程的名称、线程的参数、线程的序号、线程状态记数。高级线程管理器需向***申请内存,创建被管理线程,并向***注册一个定时器。所述自适应线程池是由高级线程管理器创建的,线程个数为指定范围的最小值,针对线程池中的每个线程,管理线程都设置超时时间。
如上所述的高级多线程管理的应用***,所述的高级线程管理器本身只作线程的监视和恢复,逻辑非常简单,能够保证该线程的高可靠性和高稳定性。
如上所述的高级多线程管理的应用***,所述的线程状态记数一般初始化为3,初始化完成后,高级线程管理器根据线程的基本信息向***申请内存。
如上所述的高级多线程管理的应用***,所述的被管理的线程启动后需要向***注册一个定时器,该定时器的周期应小于高级线程管理器定时周期的一半。
线程的恢复机制:高级多线程管理器向***注册一个定时器,被管理线程也注册一个定时器,按照不同的定时周期,被管理线程在每个周期到期时给高级多线程管理器发送该线程的状态记数并把状态更新为3,高级多线程管理器在每个周期到期时把线程状态记数减1,当线程状态记数为0时,则表示对应的线程出现异常,这时高级多线程管理器回收该线程的资源,销毁线程并重新启动该线程使其正常工作。以上的方式建立了被管理线程的恢复机制,保证了***的高可靠性。
如上所述的高级多线程管理的应用***,所述自适应线程池的链表数大于当前线程个数时,管理线程创建新的线程;当链表数大于当前线程个数,并且当前线程数等于指定范围的最大值时,管理线程不创建新的线程;当链表数小于当前线程数,并且当前线程数大于最小值时,管理线程关闭闲置的线程,使线程数等于最小值。
自适应线程池的链表用来保存要处理的任务信息,可以简单的视为是一个数组,数组的每一个元素保存一个任务信息,链表数即为该数组包含元素的个数。
本发明的优点与效果是:
本发明为计算机网络管理***提供了极强的及时处理大量随机并发事件的能力。同时,在计算机线程层面为整个***的可靠性提供了有力的保障。因此,基于本发明所实现的计算机网络管理***将具有坚固的***内核用以充分适应规模大,运行情况复杂的真实网络环境,同时可对网络中大量随机并发事件作出及时和可靠的反应与处理。因此,本发明所创造的高级多线程管理的应用***对并发事件处理能力高、占用***资源少;在本发明提供的多线程架构中,每个线程的可靠性得以保证,因此整个***的可靠性大大提高。
附图说明
图1为本发明高级多线程管理***及管理点结构示意图;
图2为本发明高级多线程管理***被管理点结构示意图;
图3为本发明高级多线程管理***实际应用示意图。
具体实施方式
本发明的技术组成主要包括有:
1.高级线程管理器
高级线程管理器101、201负责监视被管理线程102、202的状态,当发现线程工作不正常时,能够恢复线程的正常运行。由于高级线程管理器101、201本身只作线程的监视和恢复之用,逻辑非常简单,所以可保证该线程的高可靠性和稳定性。
高级线程管理器的工作机制如下:
高级线程管理器需要工作在一个独立的线程中,在启动被管理的线程前,要作一些初始化的工作,每个被管理的线程需要事先定义好基本信息,这些信息包括:线程的名称、线程的参数、线程的序号、线程状态记数(一般初始化为3)。
初始化完成后,高级线程管理器101、201根据线程的基本信息向***申请内存,通过CPU发出指令来创建被管理线程,创建完所有的线程102、202后,高级线程管理器101、201则进入了监视状态,每隔一段CPU时钟周期就对每一个线程进行检察,完成对每一个线程102、202的监视。
同时高级线程管理器会向***注册一个定时器,定时器每隔一段CPU时钟周期(具体时间可以根据情况调整)通知一次高级线程管理器,线程管理器收到通知后会把每个线程对应的线程状态记数减1,如果状态记数等于0,则表示该线程非正常工作,高级线程管理器需要发送终止该线程的指令并重新创建线程,使其恢复正常工作。
被管理的线程启动后也需要向***注册一个定时器,该定时器的周期为高级线程管理器定时周期的一半,当被管理线程的定时到期后,要向线程管理器报告当前线程的状态,线程管理器收到后,更新对应线程的状态记数为3,即该被管理线程为活动状态。
通过以上的机制可以保证每个被管理线程的可靠性和稳定性。
2.自适应线程池
自适应线程池103是一种可以根据实际需要自动调节线程个数的线程池。
自适应线程池的工作机制如下:
线程池的个数是在一个范围内根据情况进行调整,所以需要一个管理线程来负责线程个数的调度,该线程在内存中维护一个链表,此链表保存需要处理的任务信息。
管理线程首先创建线程池,线程个数为指定范围的最小值;
当链表数(即任务数)大于当前线程个数时,管理线程则创建新的线程来满足任务处理需要,处理完任务后,删除链表中对应的任务信息;
当链表数大于当前线程个数,并且当前线程数等于指定范围的最大值时,管理线程不创建新的线程;
当链表数小于当前线程数,并且当前线程数大于最小值时,管理线程关闭闲置的线程,使线程数等于最小值。
另外针对线程池中的每个线程,管理线程都设置超时时间,如果在规定的CPU时钟周期内,线程没有处理完任务,则回收该线程资源。
以上机制能高效的处理批量并发事件,并且不需要占用大量***资源,当处理完毕后,还可自动回收线程,有效的提高了***的处理能力和资源利用率。
3.网络***中管理与被管理点多线程技术同时并用
在网络***中,管理端100在稳定、可靠运行的同时,还需要处理大量并发事件,需要利用高级线程管理器101以及自适应线程池103来提高***的整体性能和稳定性。而被管理端200利用高级线程管理器201来保证***的稳定、可靠,从而能非常稳定的和管理端100进行通讯,实现具体的管理功能。
下面将实际应用举例说明:
管理端首先创建高级线程管理器,由线程管理器来创建被管理的线程和自适应线程池。为了高效、可靠的处理并发事件,需要创建两个自适应线程池,一个线程池用来监听客户端的连接,另一个用来完成连接成功的逻辑处理。
例如当1000台计算机连接服务器时,登记这些计算机的信息并且给这些计算机发出一个消息通知。特别是当员工刚上班的时候,大量计算机同时开机并连接服务器,这时就需要应用线程管理器和自适应线程池相结合的高级多线程管理的应用***。首先,客户端300连接模块301通过网卡发送连接指令到服务端302的网卡,服务端302创建高级线程管理器303,线程管理器303创建监听自适应线程池304和逻辑处理自适应线程池305。服务端302网卡接收到数据后,通过CPU、寄存器通知监听线程池304中的线程,该线程接收到连接指令并返回成功后,通过CPU发送通知到逻辑处理线程池305,由逻辑处理线程池305中的线程来处理,该线程接收客户端的登记信息并保存到数据库306中,然后再通过网卡发送消息通知客户端的网卡,客户端的网卡接收到数据后,通过CPU、寄存器进行处理,把信息转到客户端接收线程307,客户端接收线程收到消息通知后,显示消息内容。这个过程中,监听线程池304会根据客户端同时连接数来调整线程大小,一般情况下处理1000台计算机并发,线程范围在10~30个即可,逻辑处理线程池305也是根据需要处理的客户端数量来调整线程大小,由于逻辑处理部分不要求特别快速的处理速度,所以一般线程范围在5~10个即可,如果需要提高并行的处理速度,可以适当进行调整。以上说明中所描述的典型网络并发的处理方式,针对其它类似的并发处理皆可以采用本方法。

Claims (6)

1.高级多线程管理的应用***,其特征在于包括有高级线程管理器和自适应线程池,并建立了被管理线程的恢复机制,所述高级线程管理器设定有线程的名称、线程的参数、线程的序号、线程状态记数,高级线程管理器需向***申请内存,创建被管理线程,并向***注册一个定时器,所述自适应线程池是由高级线程管理器创建的,线程个数为指定范围的最小值,针对线程池中的每个线程,管理线程都设置超时时间。
2.如权利要求1所述的高级多线程管理的应用***,其特征在于高级线程管理器本身只作线程的监视和恢复。
3.如权利要求1所述的高级多线程管理的应用***,其特征在于线程状态记数一般初始化为3,初始化完成后,高级线程管理器根据线程的基本信息向***申请内存。
4.如权利要求1所述的高级多线程管理的应用***,其特征在于被管理的线程启动后需要向***注册一个定时器,该定时器的周期应小于高级线程管理器定时周期的一半。
5.如权利要求1所述的高级多线程管理的应用***,其特征在于线程的恢复机制为:高级多线程管理器向***注册一个定时器,被管理线程也注册一个定时器,按照不同的定时周期,被管理线程在每个周期到期时给高级多线程管理器发送该线程的状态记数并把状态更新为3,高级多线程管理器在每个周期到期时把线程状态记数减1,当线程状态记数为0时,则表示对应的线程出现异常,这时高级多线程管理器回收该线程的资源,销毁线程并重新启动该线程使其正常工作。
6.如权利要求1所述的高级多线程管理的应用***,其特征在于所述自适应线程池的链表数大于当前线程个数时,管理线程创建新的线程;当链表数大于当前线程个数,并且当前线程数等于指定范围的最大值时,管理线程不创建新的线程;当链表数小于当前线程数,并且当前线程数大于最小值时,管理线程关闭闲置的线程,使线程数等于最小值。
CNB2006101349087A 2006-12-20 2006-12-20 一种多线程管理的应用*** Expired - Fee Related CN100430898C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101349087A CN100430898C (zh) 2006-12-20 2006-12-20 一种多线程管理的应用***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101349087A CN100430898C (zh) 2006-12-20 2006-12-20 一种多线程管理的应用***

Publications (2)

Publication Number Publication Date
CN1987792A true CN1987792A (zh) 2007-06-27
CN100430898C CN100430898C (zh) 2008-11-05

Family

ID=38184597

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101349087A Expired - Fee Related CN100430898C (zh) 2006-12-20 2006-12-20 一种多线程管理的应用***

Country Status (1)

Country Link
CN (1) CN100430898C (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331923A (zh) * 2011-10-13 2012-01-25 西安电子科技大学 一种基于多核多线程处理器的功能宏流水线实现方法
CN102831017A (zh) * 2012-08-31 2012-12-19 河海大学 一种高效分布式并行鉴权***
CN103902466A (zh) * 2014-04-04 2014-07-02 浪潮电子信息产业股份有限公司 一种可动态调节的内存池
CN104461862A (zh) * 2014-10-23 2015-03-25 中标软件有限公司 数据处理***以及线程崩溃后的资源恢复方法和装置
CN104539698A (zh) * 2014-12-29 2015-04-22 哈尔滨工业大学 一种基于延时修正的多线程套接字同步通信接入方法
CN104850460A (zh) * 2015-06-02 2015-08-19 上海斐讯数据通信技术有限公司 一种服务程序线程管理方法
CN104881320A (zh) * 2015-05-22 2015-09-02 北京京东尚科信息技术有限公司 一种可伸缩的生成文本的方法
CN106209666A (zh) * 2015-05-07 2016-12-07 中兴通讯股份有限公司 一种基于负载均衡器的链路复用方法及***
CN106383749A (zh) * 2016-09-14 2017-02-08 郑州云海信息技术有限公司 一种线程管理方法及装置
CN106598706A (zh) * 2015-10-15 2017-04-26 五八同城信息技术有限公司 一种提高服务器的稳定性的方法、装置及服务器
CN113608853A (zh) * 2021-08-06 2021-11-05 安徽创新软件集团有限公司 一种基于物联网技术的多线程数据采集***
CN114221861A (zh) * 2021-03-26 2022-03-22 无锡江南计算技术研究所 一种大规模互连网络的管理包收发方法
CN117215800A (zh) * 2023-11-07 2023-12-12 北京大数据先进技术研究院 一种动态线程控制***

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050071841A1 (en) * 2003-09-30 2005-03-31 Hoflehner Gerolf F. Methods and apparatuses for thread management of mult-threading
CN100340976C (zh) * 2003-10-10 2007-10-03 华为技术有限公司 一种实现计算机多线程控制的方法及装置
CN1277196C (zh) * 2004-06-09 2006-09-27 中兴通讯股份有限公司 一种实现计算机***应用服务器的方法
CN100347675C (zh) * 2004-06-29 2007-11-07 北京大学 应用服务器的性能优化方法
CN1740974A (zh) * 2005-09-14 2006-03-01 艾默生网络能源有限公司 一种线程调度管理方法和***

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102331923B (zh) * 2011-10-13 2015-04-22 西安电子科技大学 一种基于多核多线程处理器的功能宏流水线实现方法
CN102331923A (zh) * 2011-10-13 2012-01-25 西安电子科技大学 一种基于多核多线程处理器的功能宏流水线实现方法
CN102831017A (zh) * 2012-08-31 2012-12-19 河海大学 一种高效分布式并行鉴权***
CN102831017B (zh) * 2012-08-31 2014-09-10 河海大学 一种高效分布式并行鉴权***
CN103902466A (zh) * 2014-04-04 2014-07-02 浪潮电子信息产业股份有限公司 一种可动态调节的内存池
CN104461862B (zh) * 2014-10-23 2017-07-21 中标软件有限公司 数据处理***以及线程崩溃后的资源恢复方法和装置
CN104461862A (zh) * 2014-10-23 2015-03-25 中标软件有限公司 数据处理***以及线程崩溃后的资源恢复方法和装置
CN104539698A (zh) * 2014-12-29 2015-04-22 哈尔滨工业大学 一种基于延时修正的多线程套接字同步通信接入方法
CN104539698B (zh) * 2014-12-29 2018-01-26 哈尔滨工业大学 一种基于延时修正的多线程套接字同步通信接入方法
CN106209666B (zh) * 2015-05-07 2020-06-02 中兴通讯股份有限公司 一种基于负载均衡器的链路复用方法及***
CN106209666A (zh) * 2015-05-07 2016-12-07 中兴通讯股份有限公司 一种基于负载均衡器的链路复用方法及***
CN104881320A (zh) * 2015-05-22 2015-09-02 北京京东尚科信息技术有限公司 一种可伸缩的生成文本的方法
CN104881320B (zh) * 2015-05-22 2018-11-27 北京京东尚科信息技术有限公司 一种可伸缩的生成文本的方法
CN104850460A (zh) * 2015-06-02 2015-08-19 上海斐讯数据通信技术有限公司 一种服务程序线程管理方法
CN106598706A (zh) * 2015-10-15 2017-04-26 五八同城信息技术有限公司 一种提高服务器的稳定性的方法、装置及服务器
CN106383749A (zh) * 2016-09-14 2017-02-08 郑州云海信息技术有限公司 一种线程管理方法及装置
CN114221861A (zh) * 2021-03-26 2022-03-22 无锡江南计算技术研究所 一种大规模互连网络的管理包收发方法
CN114221861B (zh) * 2021-03-26 2023-07-07 无锡江南计算技术研究所 一种大规模互连网络的管理包收发方法
CN113608853A (zh) * 2021-08-06 2021-11-05 安徽创新软件集团有限公司 一种基于物联网技术的多线程数据采集***
CN113608853B (zh) * 2021-08-06 2023-11-10 安徽创新软件集团有限公司 一种基于物联网技术的多线程数据采集***
CN117215800A (zh) * 2023-11-07 2023-12-12 北京大数据先进技术研究院 一种动态线程控制***

Also Published As

Publication number Publication date
CN100430898C (zh) 2008-11-05

Similar Documents

Publication Publication Date Title
CN100430898C (zh) 一种多线程管理的应用***
CN106802826B (zh) 一种基于线程池的业务处理方法及装置
CN101377750B (zh) 一种用于机群容错的***和方法
US8954971B2 (en) Data collecting method, data collecting apparatus and network management device
CN101887393B (zh) 基于半虚拟化技术的设备故障复现方法及***
CN108595282A (zh) 一种高并发消息队列的实现方法
CN110795254A (zh) 一种基于php处理高并发io的方法
WO2019223599A1 (zh) 数据采集***、方法、节点设备及存储介质
CN104166600A (zh) 数据备份与恢复方法及装置
CN103092682A (zh) 异步网络应用程序处理方法
DE112011101321T5 (de) Abfragen von Leistungsdaten auf einem parallelenComputersystem, das Rechenknoten aufweist
CN101799751A (zh) 一种构建主机监控代理软件的方法
CN101464810A (zh) 服务程序处理方法及服务器
WO2020232875A1 (zh) 一种基于Actor模型的任务调度方法、装置及存储介质
CN101556545A (zh) 一种实现进程支持的方法、装置和多线程***
CN106502773A (zh) 具有同步回调信息功能的数据异步处理方法及模块
CN108875381A (zh) 一种支持内核模块隔离的消息服务模块的设计方案
CN113485812B (zh) 基于大数据量任务的分区并行处理方法及***
CN100535864C (zh) 一种***进程调度下无效超时消息的方法及消息发送方法
WO2024007934A1 (zh) 中断处理方法、电子设备和存储介质
CN103019809A (zh) 业务处理装置和方法、及业务处理控制装置
JPH0822424A (ja) クライアント・サーバ・システムおよびその制御方法
CN100426241C (zh) 一种面向服务体系结构中消息层软中断处理方法
Landaker et al. Multitasking hardware on the SLAAC1-V reconfigurable computing system
CN101349975A (zh) 实现中断底半部机制的方法及嵌入式***

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Assignee: Shenyang GeneralSoft Co.,Ltd.

Assignor: Jin Kui

Contract fulfillment period: 2009.6.1 to 2019.5.31 contract change

Contract record no.: 2009210000181

Denomination of invention: Application system for high grade multiple line distance management

Granted publication date: 20081105

License type: Exclusive license

Record date: 2009.7.21

LIC Patent licence contract for exploitation submitted for record

Free format text: EXCLUSIVE LICENSE; TIME LIMIT OF IMPLEMENTING CONTACT: 2009.6.1 TO 2019.5.31; CHANGE OF CONTRACT

Name of requester: SHENYANG GENERAL SOFT CO., LTD.

Effective date: 20090721

ASS Succession or assignment of patent right

Owner name: SHENYANG GENERAL SOFTWARE CO., LTD.

Free format text: FORMER OWNER: JIN KUI

Effective date: 20130909

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20130909

Address after: 110002 No. 8-1, Antu street, Heping District, Liaoning, Shenyang

Patentee after: Shenyang GeneralSoft Co.,Ltd.

Address before: 110002 No. 8-1, Antu street, Heping District, Liaoning, Shenyang

Patentee before: Jin Kui

DD01 Delivery of document by public notice

Addressee: Shenyang GeneralSoft Co.,Ltd.

Document name: Notification of Termination of Patent Right

C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20081105

Termination date: 20131220