CN100458709C - 安全中断服务器中阻塞工作的方法和系统 - Google Patents
安全中断服务器中阻塞工作的方法和系统 Download PDFInfo
- Publication number
- CN100458709C CN100458709C CNB2006101423634A CN200610142363A CN100458709C CN 100458709 C CN100458709 C CN 100458709C CN B2006101423634 A CNB2006101423634 A CN B2006101423634A CN 200610142363 A CN200610142363 A CN 200610142363A CN 100458709 C CN100458709 C CN 100458709C
- Authority
- CN
- China
- Prior art keywords
- obstructing event
- potential
- potential obstructing
- event
- registration table
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
- G06F9/524—Deadlock detection or avoidance
Abstract
安全中断服务器中阻塞工作的方法,包括:创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与阻塞事件相应的注册表条目;并且采取由与阻塞事件相应的注册表条目指示的校正行动。
Description
技术领域
本公开内容涉及计算机系统中的处理;更准确地说,本公开内容涉及安全中断服务器中阻塞工作的方法。
背景技术
计算机系统典型地包括硬件(例如半导体、电路板等)和软件(例如计算机程序)的结合。随着半导体处理和计算机体系结构的进步推动计算机硬件性能更高,更多复杂的计算机软件利用更高的硬件性能发展起来,导致今天的计算机系统比几年前的有更强的功能。
计算机系统典型地包括控制计算机基本功能的操作系统软件,以及一个或多个在操作系统的控制下运行以完成想要任务的软件应用程序。例如,典型IBM个人计算机可以运行OS/2操作系统,并且在OS/2操作系统的控制下,用户可以执行例如字处理器的应用程序。随着计算机能力的提升,为高性能计算机系统设计的应用程序变得非常强大。
取决于在不同的进程之间共享系统资源的分配,会发生资源利用上的冲突。由于许多不同的进程能同时处理,两个或更多进程完全可能会同时需要访问给定的共享系统资源。但是,如果给定的进程已经获得要使用的资源并且那个进程因为某种原因意外终止,那么获得的资源对其它进程变为不可获得,导致处理环境的低效率。
例如,在线程上运行的给定进程可以使用例如互斥对象的共享系统资源。互斥对象是锁住一块数据以至于在任何时间只有一个线程能控制那决数据的对象。因为许多线程会希望访问互斥对象来得到这块数据,因此它是共享系统资源。如果线程突然终止,以至于线程没有机会来停止它的状态,那么共享互斥对象会“被锁在外面”并且与其它进程关联的其它线程不能够访问这个互斥对象和它的伴随数据从而使用。这种情况会需要完全停止一个或多个进程来允许共享资源被“释放”以便其它进程能够获得这个共享资源。在另一种情景中,进程会“循环”一段扩展的时间长度,使用共享系统资源,并因此阻止了其它系统进程访问这个共享系统资源。在有些情况下,甚至需要重新启动整个系统来允许共享资源重新可以获得处理。
这样阻塞的工作能阻碍服务器处理其它请求并且如果所有调度线程都阻塞了,它可能最终完全停止。当前对这个问题使用的解决办法是为请求完成等待指定量的时间并且如果在那个时间没有完成就终止服务器进程。这种方法很不幸地有副作用,即它也终止了任何其它发送到应用程序服务器的请求。
因此,所需要的是用于有效地分配和控制共享系统资源的共享系统资源的分配和管理机制。
发明内容
示例实施方式包括安全中断在服务器中的阻塞工作的方法,所述方法包括:创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与阻塞事件相应的注册表条目;并且采取由与阻塞事件相应的注册表条目指示的校正行动。
示例实施方式也包括安全中断在服务器中的阻塞工作的系统,包括:创建注册表的装置;在注册表中注册潜在阻塞事件的装置;执行潜在阻塞事件的装置;确定潜在阻塞事件不响应的装置;访问与潜在阻塞事件相应的注册表条目的装置;并且采取由与潜在阻塞事件相应的注册表条目指示的校正行动的装置。
示例实施方式进一步包括以用于依照语法解析缓冲区的机器可读的计算机程序代码编码的存储介质,存储介质包括安全中断在服务器中的阻塞工作的指令,所述指令包括:创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与潜在阻塞事件相应的注册表条目;并且采取由与潜在阻塞事件相应的注册表条目指示的校正行动。
其它根据示例实施方式的系统、方法和/或计算机程序产品对本领域技术人员来说在其查阅下文附图和详细说明后是显而易见的。所有这种其它系统、方法和/或计算机程序产品都将包括在本说明书中、本公开内容的范围中,并且受所附权利要求的保护。
附图说明
参考示例图,示例图中相同的元素在多个图中用相同的标号指示。
图1是说明根据示例实施方式安全中断服务器中阻塞工作的方法的流程图;并且
图2是说明根据示例实施方式的注册表的块图。
具体实施方式
这里公开内容为安全中断服务器中阻塞工作的方法。安全中断服务器中阻塞工作的方法通常包括:创建注册表;在注册表中注册潜在阻塞事件;执行潜在阻塞事件;确定潜在阻塞事件不响应;访问与阻塞事件相应的注册表条目;并且采取由与阻塞事件相应的注册表条目指示的校正行动。
现在参考图1,根据示例实施方式的安全中断服务器中阻塞工作的方法的流程图通常如10所描述。安全中断服务器中阻塞工作的方法的第一步是如进程块12所示,创建潜在阻塞事件的注册表。注册表将参考图2在其更详细讨论。如进程块14中所示,在执行进程块16中描述的潜在阻塞事件或代码部分之前,安全中断服务器中阻塞工作的方法在注册表中注册潜在阻塞事件。取决于潜在阻塞事件是执行成功还是变得不响应,安全中断服务器中阻塞工作的方法将分别地前进到进程块18或20。安全中断服务器中阻塞工作的方法可以使用多种技术来确定潜在阻塞事件变得不响应,这些技术包括但不局限于使用定时器或监视由潜在阻塞事件执行的活动。
在成功地执行阻塞事件之后,安全中断服务器中阻塞工作的方法从注册表中删除与潜在阻塞事件相应的潜在阻塞事件条目,如进程块18所示。但是,如果潜在阻塞事件变得不响应,安全中断服务器中阻塞工作的方法访问与潜在阻塞事件相应的注册表条目,如进程块20所示。任何帮助解除潜在阻塞事件所需的信息可以放置到在注册表中放置的对象的实例数据中。在示例实施方式中,注册表可以包括与每个潜在阻塞事件相应的要实现的接口。另外,注册表也可以维护注册的对象或潜在阻塞事件与其所注册的进程(即发送应用程序请求到的线程)之间的相关性。当安全中断服务器中阻塞工作的方法无论因为什么原因确定潜在阻塞事件不会响应,那么安全中断服务器中阻塞工作的方法调用与要中断的潜在阻塞事件相应的注册表条目中引用的方法。
继续图1,在访问与潜在阻塞事件相应的注册表条目后,注册表查找与指定的潜在阻塞事件关联的任何注册对象的位置,如进程块22所示。如果有注册对象存在,安全中断服务器中阻塞工作的方法然后在注册对象上调用接口定义的方法来中断不响应的潜在阻塞事件,如进程块24所示。接口定义的方法是负责定位无论是激活不响应潜在阻塞事件或是终止不响应阻塞事件所需的控制结构。在示例实施方式中,潜在阻塞事件以潜在阻塞事件认识到其已中断并且能采取任何合适的行动来指示失败的方式中断。在中断不响应潜在阻塞事件和调用接口定义的方法后,安全中断服务器中阻塞工作的方法从注册表中删除与潜在阻塞事件相应的潜在阻塞事件条目,如进程块18所示。
现在转向图2,潜在阻塞事件的注册表的块图总体上如30所描述。潜在阻塞的注册表30包括多个潜在阻塞事件条目32。每个潜在阻塞事件条目32可以包括潜在阻塞事件识别符34,到注册潜在阻塞事件条目36的进程的引用,和到中断不响应潜在阻塞事件38的接口定义的方法的引用。潜在阻塞事件识别符34可以包括内存地址、名称或其它用来识别潜在阻塞事件的唯一识别信息块。同样,到注册潜在阻塞事件条目32的进程的引用可以包括内存地址、名称或其它用来识别注册潜在阻塞事件条目32的进程的唯一识别信息块。另外,到中断不响应潜在阻塞事件的接口定义的方法的引用可以包括内存地址、名称或其它可以用来引用中断不响应潜在阻塞事件的接口定义的方法的引用。
在特殊示例实施方式中,潜在阻塞事件可以是预留资源的应用程序。例如,应用程序可能是可以打开套接字和发送消息到远程服务器并且然后使用read()函数等待远程服务器响应的网络通信应用程序。在这个例子中,在打开套接字之前,应用程序会在注册表中注册接口实现。如果系统确定应用程序需要中断,那么中断方法会在注册的对象上驱动。当中断方法在注册的对象上驱动时,它会设置标记并且关闭套接字。应用程序会由于它的read()有错误(因为套接字关闭)而被唤醒,并且会检查标志已经设置和报告其已被告知停止等待响应。在这种情况下,如果指示应用程序由中断方法中断的标志没有设置,那么应用程序会报告通信失败。在可选的示例实施方式中,到后端数据库或其它基础代码的连接器(而不是应用程序)可以执行注册并且提供中断处理。
如上所述,本发明实施方式可以计算机实现的进程和实践那些进程的装置的形式来体现。本发明实施方式也可以包含指令的计算机程序代码的形式来体现,指令包含在有形介质中,例如软盘、CD-ROM、硬盘或任何其它计算机可读存储介质,其中,当计算机程序代码加载到并由计算机执行时,计算机成为实践本发明的装置。本发明也可以例如存储在存储介质、加载到并/或由计算机执行、或在例如通过电线或电缆、通过光纤或通过电磁辐射的某些传送介质上传送的计算机程序代码的形式体现,其中,当计算机程序代码加载到并且由计算机执行时,计算机成为实践本发明的装置。当在通用微处理器上实现时,计算机程序代码段配置微处理器来创建特殊的逻辑电路。
尽管本公开内容是参考示例实施方式描述的,但本领域技术人员应当理解为在不背离本公开内容的范围的情况下,可以进行各种变化并且可以用等效物替换其元素。另外,在不背离本公开内容本质范围的情况下,对本公开内容的教义可以进行许多修改来适应特殊的情景或材料。因此,本公开内容不是要限定到作为打算执行本公开内容的最佳模式所公开的特殊实施方式,而是本公开内容将包括所有的属于所附权利要求范围的实施方式。
Claims (10)
1、一种安全中断在服务器中的阻塞工作的方法,包括:
创建注册表;
在注册表中注册潜在阻塞事件;
执行潜在阻塞事件;
确定潜在阻塞事件不响应;
访问与潜在阻塞事件相应的注册表条目;并且
采取由与潜在阻塞事件相应的注册表条目指示的校正行动。
2、如权利要求1所述的方法,进一步包括从注册表中删除潜在阻塞事件。
3、如权利要求1所述的方法,其中使用定时器确定潜在阻塞事件不响应。
4、如权利要求1所述的方法,其中校正行动包括释放一个或多个由潜在阻塞事件保留的系统资源。
5、如权利要求1所述的方法,所述注册表条目包括阻塞事件识别符和对注册潜在阻塞事件条目的进程的引用。
6、一种安全中断在服务器中的阻塞工作的系统,包括:
创建注册表的装置;
在注册表中注册潜在阻塞事件的装置;
执行潜在阻塞事件的装置;
确定潜在阻塞事件不响应的装置;
访问与潜在阻塞事件相应的注册表条目的装置;和
采取由与潜在阻塞事件相应的注册表条目指示的校正行动的装置。
7、如权利要求5所述的系统,进一步包括从注册表中删除潜在阻塞事件。
8、如权利要求5所述的系统,其中使用定时器确定潜在阻塞事件不响应。
9、如权利要求5所述的系统,其中校正行动包括释放一个或多个由潜在阻塞事件保留的系统资源。
10、如权利要求5所述的系统,所述注册表条目包括阻塞事件识别符和对注册潜在阻塞事件条目的进程的引用。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/296,986 | 2005-12-08 | ||
US11/296,986 US7788529B2 (en) | 2005-12-08 | 2005-12-08 | Method for safely interrupting blocked work in a server |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1979430A CN1979430A (zh) | 2007-06-13 |
CN100458709C true CN100458709C (zh) | 2009-02-04 |
Family
ID=38130608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006101423634A Expired - Fee Related CN100458709C (zh) | 2005-12-08 | 2006-10-11 | 安全中断服务器中阻塞工作的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7788529B2 (zh) |
JP (1) | JP2007157125A (zh) |
CN (1) | CN100458709C (zh) |
TW (1) | TWI413000B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107544840A (zh) * | 2016-06-28 | 2018-01-05 | 北京优朋普乐科技有限公司 | 一种进程管理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1459718A (zh) * | 2002-05-23 | 2003-12-03 | 联想(北京)有限公司 | 手持信息设备按钮激活的方法 |
US6738974B1 (en) * | 1998-09-10 | 2004-05-18 | International Business Machines Corporation | Apparatus and method for system resource object deallocation in a multi-threaded environment |
WO2005045668A1 (en) * | 2003-10-24 | 2005-05-19 | Microsoft Corporation | System and method for extending application preference classes |
CN1635476A (zh) * | 2003-12-25 | 2005-07-06 | 金宝电子工业股份有限公司 | 载挂中断服务方法 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5305455A (en) | 1990-12-21 | 1994-04-19 | International Business Machines Corp. | Per thread exception management for multitasking multithreaded operating system |
JPH04367951A (ja) * | 1991-06-17 | 1992-12-21 | Fujitsu Ltd | メモリ滞留防止方式 |
JPH06295248A (ja) * | 1993-04-08 | 1994-10-21 | Mitsubishi Electric Corp | タスク資源解放方式 |
JPH06332876A (ja) * | 1993-05-18 | 1994-12-02 | Mitsubishi Electric Corp | 系間排他制御方式 |
JPH0926888A (ja) | 1995-07-13 | 1997-01-28 | Hitachi Ltd | 排他制御装置 |
US6301676B1 (en) * | 1999-01-22 | 2001-10-09 | Sun Microsystems, Inc. | Robust and recoverable interprocess locks |
US6591418B2 (en) * | 1999-03-26 | 2003-07-08 | Dell U.S.A., L.P. | Factory software management system |
CA2347404C (en) | 2001-05-10 | 2008-11-18 | Corel Corporation | System and method for recovering applications |
JP4253466B2 (ja) * | 2002-05-08 | 2009-04-15 | 株式会社リコー | 画像形成装置および共有メモリ調停方法 |
JP2004126634A (ja) | 2002-09-30 | 2004-04-22 | Nec Software Chubu Ltd | ファイル保護システム |
JP2004246439A (ja) * | 2003-02-12 | 2004-09-02 | Nec Corp | クラスタシステムにおけるストール防止方式,方法およびプログラム |
US7360223B2 (en) | 2003-09-24 | 2008-04-15 | Hewlett-Packard Development Company, L.P. | Arrangements and methods for invoking an upcall in a computer system |
JP4280919B2 (ja) | 2003-12-25 | 2009-06-17 | 日本電気株式会社 | 複製管理システム、複製管理方法および複製管理プログラム |
-
2005
- 2005-12-08 US US11/296,986 patent/US7788529B2/en not_active Expired - Fee Related
-
2006
- 2006-10-11 CN CNB2006101423634A patent/CN100458709C/zh not_active Expired - Fee Related
- 2006-11-07 JP JP2006301784A patent/JP2007157125A/ja active Pending
- 2006-12-04 TW TW095144884A patent/TWI413000B/zh not_active IP Right Cessation
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6738974B1 (en) * | 1998-09-10 | 2004-05-18 | International Business Machines Corporation | Apparatus and method for system resource object deallocation in a multi-threaded environment |
CN1459718A (zh) * | 2002-05-23 | 2003-12-03 | 联想(北京)有限公司 | 手持信息设备按钮激活的方法 |
WO2005045668A1 (en) * | 2003-10-24 | 2005-05-19 | Microsoft Corporation | System and method for extending application preference classes |
CN1635476A (zh) * | 2003-12-25 | 2005-07-06 | 金宝电子工业股份有限公司 | 载挂中断服务方法 |
Also Published As
Publication number | Publication date |
---|---|
TWI413000B (zh) | 2013-10-21 |
TW200809630A (en) | 2008-02-16 |
US20070240015A1 (en) | 2007-10-11 |
US7788529B2 (en) | 2010-08-31 |
CN1979430A (zh) | 2007-06-13 |
JP2007157125A (ja) | 2007-06-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI537831B (zh) | 多核心處理器、用於執行處理程序切換之方法、用於保全一記憶體區塊之方法、用於致能使用一多核心裝置之異動處理之設備、以及用於執行記憶體異動處理之方法 | |
US9727372B2 (en) | Scheduling computer jobs for execution | |
JP5370936B2 (ja) | マルチプロセッサシステム、マルチプロセッサシステムにおけるシステム構成方法及びそのプログラム | |
JP6606064B2 (ja) | コネクションラベリングを使用するクラウドベースのマルチテナント環境に対するサポート | |
US11436048B2 (en) | Method of managing task dependencies at runtime in a parallel computing system of a hardware processing system and a hardware acceleration processor | |
US8442960B1 (en) | Systems and methods for process self-elevation | |
CN105051690A (zh) | 使用具有客操作系统及虚拟处理器的超管理器的系统及方法 | |
JP3976065B2 (ja) | マルチプロセッサシステム及びマルチプロセッサシステムの割込み制御方法をコンピュータに実行させるためのプログラム | |
CN107003896B (zh) | 具有共享事务处理资源的装置和数据处理方法 | |
CN104272256A (zh) | 任务处理装置 | |
CN102713850A (zh) | 动态分布式工作负载中的事务更新 | |
EP1384151B1 (en) | Clean thread termination | |
EP1876529A1 (en) | Multi-processor system and program for causing computer to execute multi-processor system control method | |
CN100458709C (zh) | 安全中断服务器中阻塞工作的方法和系统 | |
US7797473B2 (en) | System for executing system management interrupts and methods thereof | |
WO2023241307A1 (zh) | 管理线程的方法及装置 | |
US7240043B2 (en) | Method of controlling storage control apparatus, storage control apparatus, and computer readable program for controlling the same | |
TW200813819A (en) | Computer micro-jobs | |
JP2007141155A (ja) | マルチコアプロセッサにおけるマルチコア制御方法 | |
CN114115703A (zh) | 裸金属服务器在线迁移方法以及系统 | |
CN112463345A (zh) | 一种进程调度的实现方法 | |
KR102333693B1 (ko) | 전자 장치의 다중 프로세서 시스템 운영 방법 및 장치 | |
WO2019038834A1 (ja) | 情報処理装置及びリソース使用調停方法 | |
CN115413337A (zh) | 电子装置、系统级芯片和物理核分配方法 | |
JP2010026575A (ja) | スケジューリング方法およびスケジューリング装置並びにマルチプロセッサシステム |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090204 Termination date: 20201011 |