CN100430898C - 一种多线程管理的应用系统 - Google Patents

一种多线程管理的应用系统 Download PDF

Info

Publication number
CN100430898C
CN100430898C CNB2006101349087A CN200610134908A CN100430898C CN 100430898 C CN100430898 C CN 100430898C CN B2006101349087 A CNB2006101349087 A CN B2006101349087A CN 200610134908 A CN200610134908 A CN 200610134908A CN 100430898 C CN100430898 C CN 100430898C
Authority
CN
China
Prior art keywords
thread
management
manager
adaptive
pond
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.)
Expired - Fee Related
Application number
CNB2006101349087A
Other languages
English (en)
Other versions
CN1987792A (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

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

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

Description

一种多线程管理的应用系统
技术领域
本发明涉及一种计算机网络多线程管理的应用系统,特别是涉及一种针对规模较大,运行情况较为复杂的计算机网络的安全性和可靠性管理系统。本发明可应用于网络类计算机系统。
背景技术
线程与多线程定义:线程又称为轻量级进程,它和进程一样拥有独立的执行控制,由操作系统负责调度。多线程是一种机制,它允许在程序中并发执行多个指令流,每个指令流都称为一个线程,彼此间互相独立。多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。
在一个规模较大,运行情况较为复杂的计算机网络中,要进行有效的安全性和可靠性管理,就必须有能力在占用很少系统资源的条件下,可以对大量随机并发事件作出及时地反映和有效的处理。这些随机并发事件可能有多种类型,例如大量的客户机连网与断线的情况,某种受监视事件在网络中大量随机发生等等。采用单线程技术显然无法满足上述网络管理的要求,而采用常规的多线程技术,虽然可以提供一定的并发处理能力,但仍然存在如下严重缺陷:
1.在并发事件较多时,会产生大量线程,占用过多的系统资源。严重时可以导致系统崩溃;
2.大量地创建和终止线程不仅占用过多的系统资源,还会明显地降低系统的反应速度,因此无法实现对计算机网络的实时管理;
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 (2)

1.一种多线程管理的应用系统,包括有线程管理器和自适应线程池,其特征在于该多线程管理的应用系统建立了被管理线程的恢复机制,线程管理器设定有线程的名称、线程的参数、线程的序号、线程状态计数,线程管理器需向系统申请内存,创建被管理线程;所述自适应线程池是由线程管理器创建的,自适应线程池中的线程个数为指定范围的最小值,针对自适应线程池中的每个线程,线程管理器都设置超时时间,该被管理线程的恢复机制为:线程管理器向系统注册一个定时器,被管理线程也注册一个定时器,按照与线程管理器不同的定时周期,被管理线程在每个周期到期时给线程管理器发送该被管理线程的线程状态计数并把该线程状态计数更新为3,线程管理器在每个周期到期时把被管理线程的线程状态计数减1,当被管理线程的线程状态计数为0时,则表示该被管理线程出现异常,这时线程管理器回收该被管理线程的资源,销毁该被管理线程并重新启动该被管理线程使其正常工作。
2.如权利要求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 CN1987792A (zh) 2007-06-27
CN100430898C true 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)

Families Citing this family (13)

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1584842A (zh) * 2004-06-09 2005-02-23 中兴通讯股份有限公司 一种实现计算机系统应用服务器的方法
CN1588316A (zh) * 2004-06-29 2005-03-02 北京大学 应用服务器的性能优化方法
CN1605984A (zh) * 2003-10-10 2005-04-13 华为技术有限公司 一种实现计算机多线程控制的方法及装置
WO2005033936A1 (en) * 2003-09-30 2005-04-14 Intel Corporation Methods and apparatuses for thread management of multi-threading
CN1740974A (zh) * 2005-09-14 2006-03-01 艾默生网络能源有限公司 一种线程调度管理方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005033936A1 (en) * 2003-09-30 2005-04-14 Intel Corporation Methods and apparatuses for thread management of multi-threading
CN1605984A (zh) * 2003-10-10 2005-04-13 华为技术有限公司 一种实现计算机多线程控制的方法及装置
CN1584842A (zh) * 2004-06-09 2005-02-23 中兴通讯股份有限公司 一种实现计算机系统应用服务器的方法
CN1588316A (zh) * 2004-06-29 2005-03-02 北京大学 应用服务器的性能优化方法
CN1740974A (zh) * 2005-09-14 2006-03-01 艾默生网络能源有限公司 一种线程调度管理方法和系统

Also Published As

Publication number Publication date
CN1987792A (zh) 2007-06-27

Similar Documents

Publication Publication Date Title
CN100430898C (zh) 一种多线程管理的应用系统
US8954971B2 (en) Data collecting method, data collecting apparatus and network management device
CN102866918B (zh) 面向分布式编程框架的资源管理系统
CN101556545B (zh) 一种实现进程支持的方法、装置和多线程系统
CN108595282A (zh) 一种高并发消息队列的实现方法
CN110231995B (zh) 一种基于Actor模型的任务调度方法、装置及存储介质
WO2019223599A1 (zh) 数据采集系统、方法、节点设备及存储介质
CN110795254A (zh) 一种基于php处理高并发io的方法
CN103092682A (zh) 异步网络应用程序处理方法
DE112011101321T5 (de) Abfragen von Leistungsdaten auf einem parallelenComputersystem, das Rechenknoten aufweist
CN101887393A (zh) 基于半虚拟化技术的设备故障复现方法及系统
CN101799751A (zh) 一种构建主机监控代理软件的方法
CN106959909A (zh) 一种Android系统上的应用软件异常恢复方法
CN105357273A (zh) 异步通信模式下socket通信与进程管理通用平台及方法
CN107491346A (zh) 一种应用的任务处理方法、装置及系统
CN108875381A (zh) 一种支持内核模块隔离的消息服务模块的设计方案
CN101093454A (zh) 一种在分布式系统中执行sql脚本文件的方法和装置
WO2009062372A1 (en) A method for preventing industial automation system from avalanche
CN100568195C (zh) 一种Linux操作系统进程调度信息的监测方法
CN113485812B (zh) 基于大数据量任务的分区并行处理方法及系统
CN100535864C (zh) 一种系统进程调度下无效超时消息的方法及消息发送方法
CN103019809A (zh) 业务处理装置和方法、及业务处理控制装置
CN100426241C (zh) 一种面向服务体系结构中消息层软中断处理方法
JP6847112B2 (ja) ノードの再起動後にデータを処理する方法及びデバイス
Landaker et al. Multitasking hardware on the SLAAC1-V reconfigurable computing system

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