CN100426241C - 一种面向服务体系结构中消息层软中断处理方法 - Google Patents

一种面向服务体系结构中消息层软中断处理方法 Download PDF

Info

Publication number
CN100426241C
CN100426241C CNB2005101307747A CN200510130774A CN100426241C CN 100426241 C CN100426241 C CN 100426241C CN B2005101307747 A CNB2005101307747 A CN B2005101307747A CN 200510130774 A CN200510130774 A CN 200510130774A CN 100426241 C CN100426241 C CN 100426241C
Authority
CN
China
Prior art keywords
message
processing
service
soft
soft interrupt
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.)
Active
Application number
CNB2005101307747A
Other languages
English (en)
Other versions
CN1794184A (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.)
Aisino Corp
Original Assignee
Institute of Computing Technology of CAS
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 Institute of Computing Technology of CAS filed Critical Institute of Computing Technology of CAS
Priority to CNB2005101307747A priority Critical patent/CN100426241C/zh
Publication of CN1794184A publication Critical patent/CN1794184A/zh
Application granted granted Critical
Publication of CN100426241C publication Critical patent/CN100426241C/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

一种面向服务体系结构中消息层软中断处理方法,该方法从外部事件的检测、识别、分派和处理时刻进行消息层中断事件处理,如动态的远程跟踪调试服务,通过消息标识结构和消息层软中断控制器,解决在多次多级服务调用过程中面临的服务可控制和可中断的问题,提供了统一的消息标识结构、可定制的软中断处理结构、内置操作调用结构、中断分派机制、处理单元执行策略和软中断服务。在面向服务系统中,服务的可控制能够提高消息处理过程的可靠性,如消息处理单元的等待,重试,替代,补偿等,可中断能够及时响应和处理系统和消息处理过程中所发生外部事件。

Description

一种面向服务体系结构中消息层软中断处理方法
技术领域
本发明涉及相互通信的服务集技术领域,特别是一种面向服务体系结构中消息层软中断处理方法。
背景技术
面向服务的体系结构是一个组件模型,本质上是一个相互通信的服务集,这种通信可能是简单的数据传送或者两个以上的服务组合活动。服务是由资源(如数据,程序或设备),服务逻辑和消息处理层构成的;消息处理用于消息交换过程,当消息到达一个服务时激活使用资源的服务逻辑,消息处理是连接各处理层次中不同服务,处理模块的关键环节。基于面向服务体系结构的网格操作系统(Grid Operating System)实现依赖于XML和Web服务,以及安全性、策略管理等技术,它使用网程(可以看成是一个特殊的物理服务)和社区(Agora)的概念,把处理过程分解成多次多级的服务调用,具体体现在:1)调用过程被分解成多次服务调用,如创建(create),绑定(bind),调用(invoke);2)网程最终对物理服务调用组成了多级服务调用。这些运行时相关的调用通过事件处理构成了一种服务间交互的机制,例如当一个外部事件发生时,消息处理系统将在一个处理过程的某个处理单元的边界暂停,并保留当前消息上下文,然后转到执行事件处理过程;待处理结束后,恢复保留的消息上下文进而继续消息处理过程。一个消息处理单元作为消息拦截器是消息处理系统中的最小执行单元,它以消息上下文作为唯一的输入参数并对该上下文进行读或写操作。一个消息处理阶段使用一组处理单元传递指定的消息上下文;其规则决定该阶段中处理单元的执行顺序。
消息软中断处理方法实现外部事件的检测、识别、分派和处理过程调用,其处理过程的描述信息可通过初始化来指定,软中断请求消息还可指定事件的影响范围和处理时刻。现有的面向服务系统中事件处理,如DotNet事件,CORBA事件服务,主要是从发送方和接收方对象间相互通信的角度来考虑事件处理问题,并没有考虑消息处理过程中外部事件的检测、识别、分派和处理时刻(如服务执行的动态远程跟踪调试)的全过程。
发明内容
本发明提供一种消息层软中断处理方法,服务的可控制和可中断处理,外部事件的检测、识别、分派和处理。
为了对面向服务体系结构中消息处理过程的中断情况进行统一的识别和处理,本发明给出消息标识结构,软中断处理结构,内置操作调用结构,中断分派机制,处理单元执行策略以及软中断服务。
消息层软中断请求是异步发生在消息处理过程的事件,通常在消息处理的某个处理单元的边界进行处理。作为服务执行过程交互的一种形式,软中断请求消息对指定消息处理过程进行有效的控制,一个处理过程中消息的标识结构定义为:
MIDStruc=(LMID,PMID,MID,MType,SAddr,PID),
其中,LMGID为本地服务的消息组标识,分为三个层次范围:全局相关的,服务相关的和操作相关;对软中断请求发送的控制消息来说,全局相关的消息控制当前执行环境中所有服务;服务相关的消息控制指定服务的当前操作执行;操作相关的消息控制指定操作的当前处理单元的执行;PMID为当前服务的父消息标识,当一个服务调用另一个服务时(多级),被调用服务的父消息标识为发起调用服务的消息标识;MID为当前服务的消息标识;MType为消息类型,分为:输入消息(IN),输出消息(OUT),异常输入消息(ExIN),异常输出消息(ExOUT),软中断请求消息(SIReq),软中断响应消息(SIResp),内置操作调用消息(BOCall)和内置操作响应消息(BOResp);SAddr为当前服务调用的物理地址;PID为消息处理进程或线程标识。
消息层软中断控制器(MSIC)由发送端API和接收端控制结构两部分组成。发送端软件通过调用基于XML消息传送的API接口把控制消息传送给接收端;接收端的控制结构由一组软中断处理映射表,中断分派机制,处理单元执行策略以及软中断服务组成。软中断处理映射表包括软中断向量映射表(SI-Vector Map)、消息上下文映射表(M-Context Map)、内置操作及其调用参数映射表(MC-Op Map)和软中断请求映射表(SIRQMap),具体定义如下:
1、保存消息处理过程中可定制的软中断处理过程、处理阶段和处理单元描述信息的软中断向量结构为:
SIVStruc=((SIVNo,MIDStruc,PUDesc),SIPDesc),
其中,SIVNo为软中断向量号,MIDStruc为消息标识结构,PUDesc为处理阶段和处理单元描述信息,SIPDesc为软中断处理过程描述信息。
2、消息标识到输入或输出消息上下文的映射结构为:
MCStruct=(MIDStruc,MessageContext),
其中,MIDStruc为消息标识结构,MessageContext为消息上下文。
3、消息上下文的内置操作名(OpName)及其参数描述(Params)保存在MC-Op Map映射表中,其结构为:
MC_Op=((MIDStruc,MCDesc),(Index,OpName,Params)),
其中,MIDStruc为消息标识结构,MCDesc为消息上下文描述信息,Index为内置操作索引号,OpName为操作名,Params为操作调用参数表。
4、软中断请求映射表(SIRQ Map)保存当前消息处理系统中外部软中断请求(与一个软中断向量的SIVStruc相匹配)、执行策略和处理单元状态,其执行策略结构为:
ExePolicyStruc=((MIDStruc,PUDesc,Policy),AlterOrCADesc),
其中,MIDStruc为消息标识结构,PUDesc为处理阶段和处理单元描述信息,Policy为执行策略,AlterOrCADesc为可定制的替换或后补偿过程描述信息。
中断分派机制按消息标识和优先级处理所发生的事件,优先级是由中断请求消息的发送端在其定义范围内指定的。中断分派机制处理两类事件请求:一类是内置操作(MC-Op),另一类是外部软中断请求(SIRQ)。为了保证消息上下文的一致性,软中断请求的优先级定义范围高于内置操作请求的优先级,这两类中断请求均属于可屏蔽的。消息软中断控制器提供SIRQ0-SIRQ15共16个可定制的软中断请求,一个软中断处理过程的描述(SIPDesc)通过初始化操作被注册到软中断向量映射表中,对外提供统一的invoke方法作为软中断处理接口供分派处理单元调用。SIRQ0-SIRQ15可以通过不同的SIVStruc结构确定其影响范围和处理时刻,如整个消息处理系统(全局的)、某个消息处理过程(服务的)或者被调用的操作过程。
一个消息处理过程包含一组处理阶段和处理单元相关的状态控制变量,这些状态的迁移和阶段逻辑一起确定事件的触发以及处理单元的执行。在指定的消息标识中,任一给定阶段中的一个处理单元具有如下状态:未准备(NotReady),准备(Ready),执行(Execute),完成(Completed),失败(Failed),冻结(Frozen)。
在一个处理阶段中,使能操作(MPUEnable)使处理单元从NotReady状态进入Ready状态,此时该处理单元处于触发边界上;如果有软中断请求发生,首先冻结(MPUFreeze)该处理单元使其进入Frozen状态,然后根据当前处理过程的软中断请求列表,中断分派按照优先级从高到低的顺序调用软中断处理过程;待处理结束后唤醒该处理单元,并使其恢复(MPUResume)到Ready状态;当相关的软中断请求处理全部完成后,触发操作(MPUFire)使该处理单元进入Execute状态,根据执行策略调用该处理单元;如果处理单元失效,该处理过程会调用MPUAbort处理程序并进入Failed状态。在正常消息处理过程中,处理单元的执行顺序是由处理阶段规则确定的。
消息处理单元的执行策略提供一种通过软中断服务传送控制消息,动态维护处理单元执行的方法,包括:Skip(SK),BreakPoint/Trap(BP/TP),Timeout(TO),Alter(AL),Retry(RE),和CompensateAfter(CA);这些策略的具体功能如下:
1、跳出(SK)策略:可以直接跳过该处理单元的执行。
2、断点或陷阱(BP/TP)设置处理单元的断点或陷入调试执行。
3、超时(TO)策略允许在指定的时间间隔内完成输入或输出消息的处理,否则该消息处理过程报告超时错误。每一个策略和处理单元开始执行前会检测处理过程是否超过指定的时间间隔。
4、替换(AL)策略使用指定的模块替换当前处理单元调用。
5、重试(RE)策略重新执行该处理单元。
6、后补偿(CA)策略指定一个在处理单元执行后调用的扩展模块。
为了实现消息处理中异步控制消息的传送,接收端为发送端提供一种特殊的软中断服务:一方面这些操作的对象主要是消息处理过程的执行状态和指定消息上下文;另一方面这些操作与消息处理过程是密切相关的。软中断服务提供以下操作:
1、初始化软中断向量结构操作
输入参数:软中断向量号
参数属性:软中断处理过程描述
可选属性:消息标识,处理阶段和处理单元描述
具体功能:客户端通过调用本操作发送软中断向量初始化消息,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的软中断向量初始化消息;
步骤2:生成新的软中断向量结构并设置为输入软中断向量号,默认的全局消息,默认的所有处理阶段和处理单元描述和输入软中断处理过程描述;
步骤3:如果输入消息标识为空,则设置跳转至步骤5;
步骤4:如果输入处理阶段和处理单元描述不为空,则设置处理阶段和处理单元描述;
步骤5:将新的软中断向量结构写入软中断向量表;
步骤6:发送返回消息。
2、设置消息处理单元执行策略操作
输入参数:策略号
参数属性:消息标识,处理阶段和处理单元描述,策略描述
具体功能:客户端通过调用本操作发送执行策略初始化消息,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的执行策略初始化消息;
步骤2:生成新的执行策略结构并设置输入策略号,消息标识,处理阶段和处理单元描述和策略描述;
步骤3:将新的执行策略结构写入软中断请求映射表;
步骤4:发送返回消息。
3、外部软中断请求操作
输入参数:软中断向量号
可选属性:消息标识,处理阶段和处理单元描述
具体功能:客户端通过调用本操作发送软中断请求,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的软中断请求消息;
步骤2:生成新的软中断请求结构并设置为输入软中断向量号,默认的全局消息,默认的所有处理阶段和处理单元描述;
步骤3:如果输入消息标识为空,则设置跳转至步骤5;
步骤4:如果输入处理阶段和处理单元描述不为空,则设置处理阶段和处理单元描述;
步骤5:将新的软中断请求结构写入软中断请求映射表;
步骤6:发送返回消息。
4、消息内容读写
1)读消息头内容操作
输入参数:消息标识
具体功能:客户端通过调用本操作发送读消息头内容请求,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的读消息头内容请求消息;
步骤2:匹配指定消息标识的内置操作映射表中读消息头操作;
步骤3:如果匹配成功,则运行该操作在指定消息上下文中读消息头内容,否则跳转至步骤5;
步骤4:返回读取的头内容消息;
步骤5:返回匹配失败消息。
2)设置消息头内容操作
输入参数:消息标识
参数属性:消息头信息
具体功能:客户端通过调用本操作发送设置消息头内容请求,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的设置消息头内容请求消息;
步骤2:匹配指定消息标识的内置操作映射表中设置消息头操作及其输入消息头参数;
步骤3:如果匹配成功,则运行该操作在指定消息上下文中设置消息头信息,否则跳转至步骤5;
步骤4:返回设置成功消息;
步骤5:返回匹配失败消息。
3)读消息体内容操作
调用参数:消息标识
具体功能:输入参数:消息标识
功能:客户端通过调用本操作发送读消息体内容请求,软中断服务执行的具体步骤:
步骤1:接收来自客户端的读消息体内容请求消息;
步骤2:匹配指定消息标识的内置操作映射表中读消息体操作;
步骤3:如果匹配成功,则运行该操作在指定消息上下文中读消息体内容,否则跳转至步骤5;
步骤4:返回读取的体内容消息;
步骤5:返回匹配失败消息。
4)设置消息体内容操作
调用参数:消息标识
参数属性:消息体信息
具体功能:客户端通过调用本操作发送设置消息体内容请求,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的设置消息体内容请求消息;
步骤2:匹配指定消息标识的内置操作映射表中设置消息体操作及其输入消息体参数;
步骤3:如果匹配成功,则运行该操作在指定消息上下文中设置消息体信息,否则跳转至步骤5;
步骤4:返回设置成功消息;
步骤5:返回匹配失败消息。
5)设置消息体元素操作
调用参数:消息标识
参数属性:消息体中的某个元素信息
具体功能:客户端通过调用本操作发送设置消息体元素请求,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的设置消息体元素请求消息;
步骤2:匹配指定消息标识的内置操作映射表中设置消息体元素操作及其输入消息体参数;
步骤3:如果匹配成功,则运行该操作在指定消息上下文中设置消息体该元素信息,否则跳转至步骤5;
步骤4:返回设置成功消息;
步骤5:返回匹配失败消息。
5、统一内置操作及调用参数包装
1)内置方法调用操作
输入参数:方法名
参数属性:消息标识,实例名描述,方法调用参数
功能:客户端通过调用本操作发送内置方法调用请求,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的内置方法调用请求消息;
步骤3:根据输入的消息标识和实例名描述获得内置操作映射表中的运行实例;如果失败,则跳转步骤6;
步骤3:按索引顺序匹配方法名和方法调用参数;
步骤4:如果匹配成功,则运行该实例中内置方法调用,否则跳转至步骤6;
步骤5:返回内置方法调用结果消息;
步骤6:返回失败消息。
2)内置域值操作
输入参数:域名
参数属性:消息标识,实例名描述
可选参数:域值
具体功能:客户端通过调用本操作发送内置域值调用请求,软中断服务执行的具体步骤如下:
步骤1:接收来自客户端的内置域值调用请求消息;
步骤3:根据输入的消息标识和实例名描述获得内置操作映射表中的运行实例;如果失败,则跳转步骤6;
步骤3:按索引顺序匹配域名,如果匹配不成功,跳转至步骤6;
步骤4:如果没有输入域值,则读取实例中该域值,否则修改该域值为输入域值;如果操作不成功,则跳转至步骤6;
步骤5:返回该域值消息;
步骤6:返回失败消息。
本发明具有的优点是通过统一的消息标识、可定制的软中断处理结构、内置操作调用结构、中断分派机制、执行策略以及软中断服务,为面向服务体系结构的相关消息处理过程,协议和规范的设计与实现提供了一种通用、灵活的软中断处理模型,进而提高消息处理过程的可靠性及外部事件处理能力。
本发明的特点有:
1、全局统一的面向服务体系结构中消息标识结构;
2、可定制的消息处理过程软中断向量结构及其映射表;
3、保留和恢复相关服务或服务组合活动中消息上下文和处理状态的映射结构;
4、消息上下文中内置操作和参数描述结构及其映射表;
5、保留外部软中断请求、执行策略和处理单元状态的映射表;
6、按消息标识和优先级处理中断请求;
7、通过软中断服务动态维护和控制消息处理单元的执行策略;
8、对外提供传送控制消息的软中断服务。
本发明的积极效果是提供消息层事件检测、识别、分派和处理的软中断处理方法,并保证在事件处理完成后继续执行被中断服务的能力,进而解决在多次多级服务调用过程中面临的服务可控制和可中断的问题,特别是面向服务体系结构中相关系统、处理模块、协议、规范和服务设计;服务的可控制有利于提高消息处理过程的可靠性,如处理单元的等待,重试,替代,补偿,可中断有利于消息处理过程中所发生外部事件的及时响应和处理。
附图说明
下面结合附图和实例对本发明进一步说明。
图1本发明的网格操作系统服务端的输入和输出消息处理示意图。
图2本发明的消息层软中断控制器结构及映射表图。
图3本发明的消息处理单元的局部状态迁移。
图4本发明的面向服务体系结构中消息层软中断处理方法流程图。
具体实施方式
图1中,101传输层接收单元,102消息输入流,103服务分派,104消息接收单元,105网程操作调用,106消息输出流,107传输层发送单元,108传输层接收单元,109消息输入流,110消息接收单元,111消息输出流,112传输层发送单元,201消息上下文描述,202处理阶段和处理单元描述,203软中断处理过程描述,204处理阶段和处理单元描述;401写软中断请求映射表,402读软中断请求映射表,403删除软中断请求。
在图1中,用户应用程序调用网程服务,网程服务端以输入消息上下文的形式缓存的消息,经过传输层接收单元(101),输入消息流(102),服务分派(103),消息接收单元(104)等处理后到达网程操作(105)并形成网程上下文;然后网程调用物理服务,以输出消息上下文缓存的消息经过输出流(106),传输层发送单元(107)等处理后到到达物理服务;类似的处理过程经传输层接收单元(108),消息输入流(109),消息接收单元(110)把消息处理结果由物理服务端传送给网程;网程操作调用(105)把处理结果经消息输出流(111),传输层发送单元(112)等返回给用户。
在图2中,消息发送端通过软中断初始化请求调用接收端的软中断向量初始化服务初始化软中断处理结构,软中断向量映射由消息标识,向量号,处理阶段和处理单元描述(202)和软中断处理过程描述(203)组成;发送端发送的输出消息和接收端接收的输入消息构成一个有效的消息处理执行过程,当软中断调用请求发生时(通过调用软中断服务),消息处理过程和处理单元逻辑通过当前消息上下文和软中断向量映射来处理所发生的请求;内置操作映射由消息标识,消息上下文描述(201),索引,操作名和参数表组成;软中断请求映射由消息标识,向量号,处理阶段和处理单元描述(204),执行策略和处理状态组成。
在图3中,在一个处理阶段中,MPU使能操作使处理单元进入准备状态(触发边界);如果有软中断请求发生,首先冻结(MPU冻结)该处理单元使其进入冻结状态,然后根据当前处理过程的软中断请求列表,中断分派按照优先级从高到低的顺序调用软中断处理过程;待处理结束后唤醒该处理单元,并使其恢复(MPU恢复)到准备状态;当相关的软中断请求处理全部完成后,触发操作(MPU触发)使该处理单元进入执行状态,根据执行策略调用该处理单元;如果处理单元失效,该处理过程会调用终止处理程序(MPU终止)并进入失败状态。
图4的面向服务体系结构中消息层软中断处理方法流程,
一种为面向服务体系结构中软中断处理方法,其主要特征是:从外部事件的检测、识别、分派和处理时刻进行消息层中断事件处理,并保证在事件处理完成后继续执行被中断服务的能力,实现在多次多级服务调用过程中服务可控制和可中断处理,进而提高系统运行的可靠性及外部事件处理能力,其具体步骤如下:
步骤1:消息层软中断服务处理过程:
1)接收来自客户端的消息层软中断服务调用;其消息标识结构由本地服务的消息组标识,父消息标识,当前服务的消息标识,消息类型,当前服务调用的物理地址和消息处理进程或线程标识组成;
2)如果本次调用是消息层软中断初始化操作,则根据该调用的请求消息完成消息层软中断向量映射;该映射由向量号,处理阶段和处理单元描述,软中断处理过程描述组成的软中断向量结构的列表,跳转步骤1-5);否则继续;
3)如果是内置操作调用,则通过内置操作映射表同步处理本次调用;
内置操作映射由消息标识,消息上下文描述,索引,操作名和参数表组成,跳转步骤1-5);否则继续;
4)如果是软中断请求,则将软中断向量结构写入软中断请求映射表,跳转步骤1-5);否则继续;
5)如果本次调用成功,则返回操作成功消息给客户端,否则返回请求失败消息;
步骤2:当前执行的应用服务分派和识别软中断请求过程:
1)保存当前处理阶段和处理单元描述信息;
2)在处理单元边界判断本单元是否可中断;如果不可中断,跳转到步骤6;
3)分派软中断请求过程:第一次读取软中断映射表中优先级最高的一个软中断请求,然后每次读取同一优先级的下一个请求,当没有同一优先级请求后降低优先级,继续读取下一请求,直到所有请求读完不再继续;
4)通过消息标识,处理阶段和处理过程匹配,识别所读取的软中断请求是否属于所有服务(全局);如果是,则跳转步骤3;
5)通过消息标识,处理阶段和处理过程匹配,识别所读取的软中断请求是否属于本服务;如果是,则跳转步骤3;
6)通过消息标识,处理阶段和处理过程匹配,识别所读取的软中断请求是否属于本单元;如果不是,则跳转步骤4;
步骤3:调用软中断处理过程:
1)保存当前消息上下文;
2)从软中断请求映射表中删除当前处理软中断请求;
3)从软中断向量映射表中读取向量结构;
4)根据向量结构中处理过程描述,调用软中断处理过程;
5)恢复保存的消息上下文;
步骤4:判断是否继续读取下一软中断请求;如果是,跳转至步骤2-3);
步骤5:确定处理单元执行策略过程:
1)通过软中断请求映射表,确定本处理单元执行策略;
2)判断本处理单元是否允许立即执行,如果不允许,跳转步骤7;
步骤6:执行本处理单元;
步骤7:在本处理单元处服务等待后续触发;
步骤8:判断本单元是否为本处理阶段的最后一个处理单元,如果不是读取下一处理单元描述信息,跳转至步骤2-2);
步骤9:判断本处理阶段是否为本服务最后一个处理阶段,如果不是则读取下一处理阶段第一个处理单元的描述信息,跳转至步骤2-2);
否则继续;
步骤10:结束本应用服务。
在GOS实现的客户端和服务端输入消息和输出消息处理中,每一个输出流、输入流、传输层发送和传输层接收等都构成一个处理阶段。在服务端这些处理阶段可以是属于全局的、服务的和操作的,一个消息处理过程中的阶段是通过计算所有层次的消息处理单元产生的。以一个消息层调试过程为例,给出采用消息层软中断处理实现的断点设置、查看或修改消息内容以及陷入调试执行的功能,具体如下:
1、设置断点:客户端调用setMPUPolicy操作指定消息标识、处理阶段和处理单元发送断点设置消息;
2、消息接收端接收到断点设置消息后,在软中断请求列表中对相应处理阶段和处理单元设置断点;
3、当服务执行到该断点时,保留消息上下文;
4、暂停消息处理过程;
5、查看或修改消息内容:客户端调用软中断服务提供的消息内容读或写操作或者消息上下文操作查看或修改相应的消息内容;
6、调试执行:客户端调用setMPUPolicy操作对指定的暂停消息处理过程(以消息标识来识别)发送陷入调试消息;
7、恢复被保存的消息上下文;
8、从断点处继续执行消息处理过程。

Claims (2)

1、 一种为面向服务体系结构中软中断处理方法,其主要特征是:从外部事件的检测、识别、分派和处理时刻进行消息层中断事件处理,并保证在事件处理完成后继续执行被中断服务的能力,实现在多次多级服务调用过程中服务可控制和可中断处理,进而提高系统运行的可靠性及外部事件处理能力,其具体步骤如下:
步骤1:消息层软中断服务处理过程:
1)接收来自客户端的消息层软中断服务调用;其消息标识结构由本地服务的消息组标识,父消息标识,当前服务的消息标识,消息类型,当前服务调用的物理地址和消息处理进程或线程标识组成;
2)如果本次调用是消息层软中断初始化操作,则根据该调用的请求消息完成消息层软中断向量映射;该映射由向量号,处理阶段和处理单元描述,软中断处理过程描述组成的软中断向量结构的列表,跳转步骤1-5);否则继续;
3)如果是内置操作调用,则通过内置操作映射表同步处理本次调用;内置操作映射由消息标识,消息上下文描述,索引,操作名和参数表组成,跳转步骤1-5);否则继续;
4)如果是软中断请求,则将软中断向量结构写入软中断请求映射表,跳转步骤1-5);否则继续;
5)如果本次调用成功,则返回操作成功消息给客户端,否则返回请求失败消息;
步骤2:当前执行的应用服务分派和识别软中断请求过程:
1)保存当前处理阶段和处理单元描述信息;
2)在处理单元边界判断本单元是否可中断;如果不可中断,跳转到步骤6;
3)分派软中断请求过程:第一次读取软中断映射表中优先级最高的一个软中断请求,然后每次读取同一优先级的下一个请求,当没有同一优先级请求后降低优先级,继续读取下一请求,直到所有请求读完不再继续;
4)通过消息标识,处理阶段和处理过程匹配,识别所读取的软中断请求是否属于所有服务;如果是,则跳转步骤3;
5)通过消息标识,处理阶段和处理过程匹配,识别所读取的软中断请求是否属于本服务;如果是,则跳转步骤3;
6)通过消息标识,处理阶段和处理过程匹配,识别所读取的软中断请求是否属于本单元;如果不是,则跳转步骤4;
步骤3:调用软中断处理过程:
1)保存当前消息上下文;
2)从软中断请求映射表中删除当前处理软中断请求;
3)从软中断向量映射表中读取向量结构;
4)根据向量结构中处理过程描述,调用软中断处理过程;
5)恢复保存的消息上下文;
步骤4:判断是否继续读取下一软中断请求;如果是,跳转至步骤2-3);
步骤5:确定处理单元执行策略过程:
1)通过软中断请求映射表,确定本处理单元执行策略;
2)判断本处理单元是否允许立即执行,如果不允许,跳转步骤7;
步骤6:执行本处理单元;
步骤7:在本处理单元处服务等待后续触发;
步骤8:判断本单元是否为本处理阶段的最后一个处理单元,如果
不是读取下一处理单元描述信息,跳转至步骤2-2);
步骤9:判断本处理阶段是否为本服务最后一个处理阶段,如果不是则读取下一处理阶段第一个处理单元的描述信息,跳转至步骤2-2);否则继续;
步骤10:结束本应用服务。
2、 如权利要求1所述的方法,其特征在于:实现消息处理中异步控制消息的传送的软中断服务,提供软中断向量初始化操作、软中断请求和处理操作,以及控制指定消息处理过程的执行状态和消息上下文操作。
CNB2005101307747A 2005-12-28 2005-12-28 一种面向服务体系结构中消息层软中断处理方法 Active CN100426241C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101307747A CN100426241C (zh) 2005-12-28 2005-12-28 一种面向服务体系结构中消息层软中断处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101307747A CN100426241C (zh) 2005-12-28 2005-12-28 一种面向服务体系结构中消息层软中断处理方法

Publications (2)

Publication Number Publication Date
CN1794184A CN1794184A (zh) 2006-06-28
CN100426241C true CN100426241C (zh) 2008-10-15

Family

ID=36805657

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101307747A Active CN100426241C (zh) 2005-12-28 2005-12-28 一种面向服务体系结构中消息层软中断处理方法

Country Status (1)

Country Link
CN (1) CN100426241C (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100512275C (zh) * 2006-09-22 2009-07-08 中国科学院计算技术研究所 一种面向服务体系结构的服务调试装置及方法
DE102008002771A1 (de) * 2008-02-14 2009-08-20 Schneider Electric Gmbh System und Verfahren zur Orchestration und Integration von Middleware für serviceorientierte Fertigungsautomatisierungssysteme in eine flexible IT-Unternehmensarchitektur
US8250195B2 (en) * 2008-09-10 2012-08-21 Microsoft Corporation Leveraging synchronous communication protocols to enable asynchronous application and line-of-business behaviors
CN101794223B (zh) * 2010-02-03 2012-11-28 南京联创科技集团股份有限公司 Wade服务消息架构的设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030167366A1 (en) * 2002-03-01 2003-09-04 Intel Corporation Interrupt disabling apparatus, system, and method
CN1126035C (zh) * 1997-12-23 2003-10-29 英特尔公司 将地址与数据线上的中断请求信号转换成中断消息信号的机制
CN1596025A (zh) * 2003-09-11 2005-03-16 国际商业机器公司 用于中断消息的方法、设备和系统
CN1637732A (zh) * 2003-08-09 2005-07-13 得州仪器公司 利用消息通知的中断通知串行中断的系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1126035C (zh) * 1997-12-23 2003-10-29 英特尔公司 将地址与数据线上的中断请求信号转换成中断消息信号的机制
US20030167366A1 (en) * 2002-03-01 2003-09-04 Intel Corporation Interrupt disabling apparatus, system, and method
CN1637732A (zh) * 2003-08-09 2005-07-13 得州仪器公司 利用消息通知的中断通知串行中断的系统
CN1596025A (zh) * 2003-09-11 2005-03-16 国际商业机器公司 用于中断消息的方法、设备和系统

Also Published As

Publication number Publication date
CN1794184A (zh) 2006-06-28

Similar Documents

Publication Publication Date Title
CN104753817B (zh) 一种云计算消息队列服务本地模拟方法和系统
US9442749B2 (en) Transaction-based service control system and control method
US9769110B2 (en) Message delivery in messaging networks
US7779298B2 (en) Distributed job manager recovery
US20030182464A1 (en) Management of message queues
JP4529767B2 (ja) クラスタ構成コンピュータシステム及びその系リセット方法
CN105187327A (zh) 一种分布式消息队列中间件
CN110134534B (zh) 基于nio针对大数据分布式系统进行消息处理优化的系统及方法
CN108063813B (zh) 一种集群环境下密码服务网络并行化的方法与系统
US20120131376A1 (en) Method and system for cell recovery in telecommunication networks
US9477466B2 (en) Information processing apparatus and instruction offloading method
US7536587B2 (en) Method for the acceleration of the transmission of logging data in a multi-computer environment and system using this method
CN100426241C (zh) 一种面向服务体系结构中消息层软中断处理方法
WO2021043124A1 (zh) 一种kbroker分布式操作系统、存储介质和电子设备
CN110300188A (zh) 数据传输系统、方法和设备
CN107682460A (zh) 一种分布式存储集群数据通信方法及系统
CN114840318A (zh) 一种多进程抢占硬件key加解密资源的调度方法
CN102243653A (zh) 一种数据库连接的管理方法及装置
CN101604270B (zh) 基于vxworks操作系统的ARINC429通信冗余方法
CN113364857A (zh) 业务数据的处理方法、装置和服务器
US7533296B2 (en) Method for optimizing the transmission of logging data in a multi-computer environment and a system implementing this method
CN101471955A (zh) 一种双控制器网络储存环境下的设备数据写入方法
CN104572315A (zh) 实现子系统间通信的方法、通信实体及分布式通信系统
Shin et al. Self-reconfiguration in self-healing systems
CN107273225A (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
ASS Succession or assignment of patent right

Owner name: BEIJING STAR-NET COMMUNICATIONS INFORMATION TECHNO

Free format text: FORMER OWNER: INSTITUTE OF COMPUTING TECHNOLOGY, CHINESE ACADEMY OF SCIENCES

Effective date: 20121204

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100080 HAIDIAN, BEIJING TO: 100020 CHAOYANG, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20121204

Address after: 100020, SOHOA, block 6, No. 2105, main street, Chaoyang District, Beijing

Patentee after: Beijing star Netcom Information Technology Co., Ltd.

Address before: 100080 Haidian District, Zhongguancun Academy of Sciences, South Road, No. 6, No.

Patentee before: Institute of Computing Technology, Chinese Academy of Sciences

ASS Succession or assignment of patent right

Owner name: HANGTIAN INFORMATION CO LTD

Free format text: FORMER OWNER: BEIJING STAR-NET COMMUNICATIONS INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20121226

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 100020 CHAOYANG, BEIJING TO: 100195 HAIDIAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20121226

Address after: 100195 Haidian District apricot stone road, a No. 1, Beijing

Patentee after: Hangtian Information Co., Ltd.

Address before: 100020, Chaoyang District, Beijing, on the first Street No. 6, facing outside, block SOHOA, 2105

Patentee before: Beijing star Netcom Information Technology Co., Ltd.