CN110535790B - 基于semaphore的交换芯片异常报文处理方法 - Google Patents
基于semaphore的交换芯片异常报文处理方法 Download PDFInfo
- Publication number
- CN110535790B CN110535790B CN201910784704.5A CN201910784704A CN110535790B CN 110535790 B CN110535790 B CN 110535790B CN 201910784704 A CN201910784704 A CN 201910784704A CN 110535790 B CN110535790 B CN 110535790B
- Authority
- CN
- China
- Prior art keywords
- semaphore
- message
- abnormal message
- interrupt
- abnormal
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/10—Packet switching elements characterised by the switching fabric construction
- H04L49/109—Integrated on microchip, e.g. switch-on-chip
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L49/00—Packet switching elements
- H04L49/55—Prevention, detection or correction of errors
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种应用于RapidIO交换网络的异常报文处理机制,所述机制中涉及RapidIO报文发送模块,另外还包括新设置的中断处理模块、semaphore处理模块、异常报文处理模块。本发明将基于semaphore的进程间通信机制与中断处理机制配合应用到RapidIO交换网络中,可以及时发现处理机发出的异常报文,及时结束处理机发送异常报文的任务;清除处理机发出的异常报文的功能,防止处理机发生死机,确保整个交换网络不受影响,既增强了交换网络的稳定性和可靠性,又避免了重启***造成的损失,而且节省了人工重启***的人力成本。
Description
技术领域
本发明属于RapidIO网络交换技术领域,尤其涉及一种基于semaphore的交换芯片异常报文处理方法。
背景技术
在通信领域,嵌入式***内部互连的需求越来越大,而且对通信速率要求越来越高,RapidIO技术是一种高可靠性、高稳定性的解决方案。基于RapidIO技术的交换机是解决方案的实体,而交换机中的处理机作为整个交换网络的管理者,对网络的可靠性和稳定性起到核心作用。处理机通过发送报文来管理网络,如果由于多种原因发送出异常报文,那么RapidIO终端就不会响应,而处理机则会一直等待响应,处于死机状态,导致整个***瘫痪。在产生异常报文的时候,处理机能否及时、准确的处理异常报文进而避免死机是至关重要的功能。所以针对基于RapidIO的交换网络,一种稳定可靠的异常报文处理机制是很有必要的。
现有的解决方案是重启RapidIO交换网络的主交换机,包括处理机和交换芯片。这种方法有三个缺点:第一,会丢失处理机上保存的网络信息;第二,会清空交换芯片上的当前配置;第三,需要人工实施重启,消耗人力资源。
发明内容
有鉴于此,本发明提供一种基于semaphore的交换芯片异常报文处理方法,可以及时结束异常报文任务,避免处理机发生死机,确保整个交换网络不受影响。
为达到上述目的,本发明的技术方案是这样实现的:
一种基于semaphore的交换芯片异常报文处理方法,包括:处理机报文发送,判断报文异常时,进行中断处理,发送semaphore信号量通知并清除异常报文。
进一步的,在报文发送前,还包括:
S11、创建semaphore;semaphore具有SEM_Q_FIFO配置选项和SEM_EMPTY状态标志;
S12、使能RapidIO中断,注册中断处理函数;
S12、启动异常报文处理进程并挂起。
更进一步的,所述异常报文处理进程包括异常报文监听部分和异常报文任务清除部分;异常报文监听部分用于接收semaphore信号量,异常报文任务清除部分用于结束发送异常报文的任务,清除异常报文。
进一步的,在所述中断处理后,还包括:
S21、关闭中断,停止响应异常报文引起的中断;
S22、清除中断标志位,避免持续发生中断。
更进一步的,清除异常报文后,重新打开中断,接收新的异常报文中断。
本发明另一方面,提供了一种基于semaphore的交换芯片异常报文处理机制,包括中断处理模块、semaphore处理模块、异常报文处理模块;所述semaphore处理模块用于建立semaphore通知机制;所述中断处理模块用于在RapidIO报文发送模块发出异常报文的时候,向异常报文处理模块发出semaphore通知;所述异常报文处理模块用于对异常报文进行处理。
进一步的,所述semaphore处理模块包括创建semaphore子模块,释放semaphore子模块,接收semaphore子模块;所述创建semaphore子模块包括SEM_Q_FIFO配置选项和SEM_EMPTY状态标志;所述释放semaphore子模块与所述中断处理模块关联,用于发出semaphore通知;所述接收semaphore子模块与所述异常报文处理模块关联,用于接收semaphore通知。
更进一步的,所述异常处理模块包括异常报文监听子模块和异常报文任务清除子模块;所述异常报文监听子模块与所述接收semaphore子模块关联,用于监听是否发生异常报文;所述异常报文任务清除模块用于将异常报文任务清除。
进一步的,所述中断处理模块设置中断处理程序,当RapidIO报文发送模块发出异常报文时,首先会进入中断处理模块的中断处理程序,然后关闭中断并清除中断标志位,再发出semaphore信号量通知异常报文处理模块,最后重新打开中断,等待下一次异常报文发送。
与现有技术相比,本发明的有益效果为:
本发明将基于semaphore的进程间通信机制与中断处理机制配合应用到RapidIO交换网络中,可以及时发现处理机发出的异常报文,及时结束处理机发送异常报文的任务;清除处理机发出的异常报文的功能,防止处理机发生死机,确保整个交换网络不受影响,既增强了交换网络的稳定性和可靠性,又避免了重启***造成的损失,而且节省了人工重启***的人力成本。
附图说明
图1为本发明实施例的异常报文处理流程图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
本发明实施例中所涉及英文名词的基本解释如下:
semaphore:信号量,在多任务操作***中,进程间通信的一种机制;
RapidIO:一种通信协议;
payload:报文中的实际数据;
hopcount:报文中的路由跳数;
destID:报文中的目标设备ID。
本发明提出了一种应用于RapidIO交换网络的异常报文处理机制,所述机制中涉及RapidIO报文发送模块,另外还包括新设置的中断处理模块、semaphore处理模块、异常报文处理模块。
所述RapidIO报文发送模块用于初始化报文发送准备工作,并且在需要发送报文的时候可以发出指定类型报文。
所述中断处理模块用于在RapidIO报文发送模块发出异常报文的时候向异常报文处理模块发出通知。当RapidIO报文发送模块发出异常报文的时候,首先会进入中断处理模块的中断处理程序,然后关闭中断并清除中断标志位,再通知异常报文处理模块,最后重新打开中断,等待下一次异常报文发送。
所述semaphore处理模块用于建立semaphore通知机制,该semaphore处理模块至少包括创建semaphore子模块,释放semaphore子模块,接收semaphore子模块,所述创建semaphore子模块至少包括SEM_Q_FIFO配置选项和SEM_EMPTY状态标志,所述释放semaphore子模块、接收semaphore子模块配合实现向异常报文处理模块发出异常报文处理通知的功能。
所述异常报文处理模块用于对异常报文进行处理,至少包括异常报文监听子模块和异常报文任务清除子模块,所述异常报文监听子模块用于监听是否发生异常报文,所述异常报文任务清除子模块用于将异常报文任务清除。
如图1所示,本发明所述应用于RapidIO交换网络的异常报文处理方法。包括如下步骤:
步骤0、开始异常报文处理机制;
步骤1、报文发送模块初始化,包括设置报文类型,设置payload,设置destID,设置hopcount,设置访问地址,设置访问数据等信息;
步骤2、创建semaphore,semaphore具有SEM_Q_FIFO配置选项和SEM_EMPTY状态标志;
步骤3、中断模块初始化,包括使能RapidIO中断,注册中断处理函数;
步骤4、启动异常报文处理进程;
步骤5、异常报文处理进程挂起,开始等待异常报文处理通知;
步骤6、启动报文发送进程,开始根据应用需求发送指定报文;
步骤7、判断发送的报文是否异常,如果异常,则进行步骤8,否则继续根据需求执行步骤6;
步骤8、进入中断处理流程,开始中断处理;
步骤9、关闭中断,停止响应异常报文引起的中断;
步骤10、清除中断标志位,避免持续发生中断;
步骤11、中断处理模块17向异常报文处理模块19发送semaphore,表示需要处理异常报文;
步骤12、异常报文处理模块19接收semaphore;
步骤13、结束发送异常报文的任务,清除异常报文;
步骤14、重新打开中断,可以接收新的异常报文中断;
步骤15、等待下一次异常报文处理需求。
以上描述了本发明的基本原理、主要特征和实施方案等信息,但是本发明不受上述实施过程的限制,在不脱离发明精神和范围的前提下,本发明还可以有各种变化和改进。因此,除非这种变化和改进脱离了本发明的范围,它们应该被看作包含在本发明中。
Claims (7)
1.一种基于semaphore的交换芯片异常报文处理方法,其特征在于,包括:处理机报文发送,判断报文异常时,进行中断处理,发送semaphore信号量通知并清除处理机发出的异常报文,结束处理机发送异常报文的任务;
在报文发送前,还包括:
S11、创建semaphore;semaphore具有SEM_Q_FIFO配置选项和SEM_EMPTY状态标志;
S12、使能RapidIO中断,注册中断处理函数;
S12、启动异常报文处理进程并挂起。
2.根据权利要求1所述的基于semaphore的交换芯片异常报文处理方法,其特征在于,所述异常报文处理进程包括异常报文监听部分和异常报文任务清除部分;异常报文监听部分用于接收semaphore信号量,异常报文任务清除部分用于结束发送异常报文的任务,清除异常报文。
3.根据权利要求1所述的基于semaphore的交换芯片异常报文处理方法,其特征在于,在所述中断处理后,还包括:
S21、关闭中断,停止响应异常报文引起的中断;
S22、清除中断标志位,避免持续发生中断。
4.根据权利要求3所述的基于semaphore的交换芯片异常报文处理方法,其特征在于,清除异常报文后,重新打开中断,接收新的异常报文中断。
5.一种基于semaphore的交换芯片异常报文处理装置,其特征在于,包括中断处理模块、semaphore处理模块、异常报文处理模块;所述semaphore处理模块用于建立semaphore通知机制;所述中断处理模块用于在处理机的RapidIO报文发送模块发出异常报文的时候,向异常报文处理模块发出semaphore通知;所述异常报文处理模块用于对异常报文进行处理,清除处理机发出的异常报文,结束处理机发送异常报文的任务;
所述semaphore处理模块包括创建semaphore子模块,释放semaphore子模块,接收semaphore子模块;所述创建semaphore子模块包括SEM_Q_FIFO配置选项和SEM_EMPTY状态标志;所述释放semaphore子模块与所述中断处理模块关联,用于发出semaphore通知;所述接收semaphore子模块与所述异常报文处理模块关联,用于接收semaphore通知。
6.根据权利要求5所述的基于semaphore的交换芯片异常报文处理装置,其特征在于,所述异常报文处理模块包括异常报文监听子模块和异常报文任务清除子模块;所述异常报文监听子模块与所述接收semaphore子模块关联,用于监听是否发生异常报文;所述异常报文任务清除子模块用于将异常报文任务清除。
7.根据权利要求5所述的基于semaphore的交换芯片异常报文处理装置,其特征在于,所述中断处理模块设置中断处理程序,当RapidIO报文发送模块发出异常报文时,首先会进入中断处理模块的中断处理程序,然后关闭中断并清除中断标志位,再发出semaphore信号量通知异常报文处理模块,最后重新打开中断,等待下一次异常报文发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784704.5A CN110535790B (zh) | 2019-08-23 | 2019-08-23 | 基于semaphore的交换芯片异常报文处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910784704.5A CN110535790B (zh) | 2019-08-23 | 2019-08-23 | 基于semaphore的交换芯片异常报文处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535790A CN110535790A (zh) | 2019-12-03 |
CN110535790B true CN110535790B (zh) | 2022-03-18 |
Family
ID=68664094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910784704.5A Active CN110535790B (zh) | 2019-08-23 | 2019-08-23 | 基于semaphore的交换芯片异常报文处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535790B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0913767A3 (en) * | 1997-11-03 | 2000-01-26 | Motorola, Inc. | A method and apparatus for affecting subsequent instruction processing in a data processor |
CN101350744A (zh) * | 2008-06-19 | 2009-01-21 | 中兴通讯股份有限公司 | 一种网络处理***中描述符资源的检测方法及其*** |
CN101952806A (zh) * | 2007-12-18 | 2011-01-19 | 格罗方德半导体公司 | 用于设定运行于处理器上的程序软件之机制 |
CN106534048A (zh) * | 2015-09-11 | 2017-03-22 | 中国电信股份有限公司 | 一种防范sdn拒绝服务攻击的方法、交换机和*** |
CN107733837A (zh) * | 2016-08-11 | 2018-02-23 | 杭州迪普科技股份有限公司 | 基于应用层网络异常报文的异常检测方法及装置 |
CN108199980A (zh) * | 2017-12-29 | 2018-06-22 | 天津芯海创科技有限公司 | 交换芯片的事件监听方法和监听*** |
CN108234476A (zh) * | 2017-12-29 | 2018-06-29 | 天津芯海创科技有限公司 | 交换芯片的事件监听方法和监听*** |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4930051B2 (ja) * | 2006-12-28 | 2012-05-09 | ブラザー工業株式会社 | ステータスモニタプログラム |
CN104268029A (zh) * | 2014-09-23 | 2015-01-07 | 天津国芯科技有限公司 | 一种用于嵌入式PowerPC处理器异常嵌套的处理电路及方法 |
GB2535514B (en) * | 2015-02-19 | 2021-09-22 | Advanced Risc Mach Ltd | Processor exception handling |
CN106020402A (zh) * | 2015-04-10 | 2016-10-12 | 鸿富锦精密工业(武汉)有限公司 | 中央处理器保护电路 |
CN104917705A (zh) * | 2015-06-18 | 2015-09-16 | 国家电网公司 | 一种智能变电站过程层交换机的网络报文管理方法 |
CN105071977B (zh) * | 2015-09-15 | 2019-01-15 | 深圳市万网博通科技有限公司 | 一种基于交换机的网络运行质量的自检和自愈的方法 |
CN106559395B (zh) * | 2015-09-29 | 2019-12-03 | 北京东土军悦科技有限公司 | 一种基于工业网络的数据报文检测方法及装置 |
CN105357180B (zh) * | 2015-09-30 | 2019-06-07 | 华为技术有限公司 | 网络***、攻击报文的拦截方法、装置和设备 |
CN106161647B (zh) * | 2016-08-25 | 2020-01-07 | 上海斐讯数据通信技术有限公司 | 一种云终端设备批量发现的方法及云终端管理*** |
CN106557380A (zh) * | 2016-10-24 | 2017-04-05 | 深圳有麦科技有限公司 | 用于保持服务器稳定的方法及其*** |
-
2019
- 2019-08-23 CN CN201910784704.5A patent/CN110535790B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0913767A3 (en) * | 1997-11-03 | 2000-01-26 | Motorola, Inc. | A method and apparatus for affecting subsequent instruction processing in a data processor |
CN101952806A (zh) * | 2007-12-18 | 2011-01-19 | 格罗方德半导体公司 | 用于设定运行于处理器上的程序软件之机制 |
CN101350744A (zh) * | 2008-06-19 | 2009-01-21 | 中兴通讯股份有限公司 | 一种网络处理***中描述符资源的检测方法及其*** |
CN106534048A (zh) * | 2015-09-11 | 2017-03-22 | 中国电信股份有限公司 | 一种防范sdn拒绝服务攻击的方法、交换机和*** |
CN107733837A (zh) * | 2016-08-11 | 2018-02-23 | 杭州迪普科技股份有限公司 | 基于应用层网络异常报文的异常检测方法及装置 |
CN108199980A (zh) * | 2017-12-29 | 2018-06-22 | 天津芯海创科技有限公司 | 交换芯片的事件监听方法和监听*** |
CN108234476A (zh) * | 2017-12-29 | 2018-06-29 | 天津芯海创科技有限公司 | 交换芯片的事件监听方法和监听*** |
Also Published As
Publication number | Publication date |
---|---|
CN110535790A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR930010915B1 (ko) | 다중 중앙 처리 유니트 인터록크 시스템 | |
US8843655B2 (en) | Data transfer, synchronising applications, and low latency networks | |
US6978331B1 (en) | Synchronization of interrupts with data packets | |
WO2007090352A1 (fr) | Procédé, appareil et système de transmission de message | |
US8792489B2 (en) | Communication transport protocol for distributed information technology architectures | |
EP1302854B1 (en) | Asynchronous Data transfer | |
CN113660350A (zh) | 分布式锁协调方法、装置、设备及存储介质 | |
CN117041379B (zh) | 同时监听用户态协议栈和内核态协议栈新建连接的方法及装置 | |
US20060171383A1 (en) | Handling incoming data | |
CN110535790B (zh) | 基于semaphore的交换芯片异常报文处理方法 | |
WO2011069373A1 (zh) | 数据通信设备进行业务处理的方法及数据通信设备 | |
US6625753B1 (en) | Recovery facility for an SNA communication network | |
CN110213176B (zh) | 交换机的报文处理方法、装置、设备及介质 | |
US8527664B2 (en) | Direct memory access with minimal host interruption | |
CN102693434B (zh) | 射频识别设备接口层的通信装置及方法 | |
JP2009194717A (ja) | 通信装置の冗長構成制御方法 | |
CN112217718A (zh) | 一种业务处理方法、装置、设备及存储介质 | |
US8046419B2 (en) | Method of processing open asynchronous application service event and open web service gateway implementing the same | |
WO2020042413A1 (zh) | 一种配置编辑过程中状态机的实现方法及*** | |
CN110049138B (zh) | 一种设备启动通信及数据传输方法、装置及*** | |
JP2019176366A (ja) | 情報処理装置、情報処理方法、及びプログラム | |
KR100218681B1 (ko) | 메시지 큐 루팅 테이블을 이용한 메시지 정합 방법 | |
CN115529282A (zh) | 数据传输方法、终端设备及可读存储介质 | |
CN107959716B (zh) | 一种使用SoC进行网络处理加速的方法及*** | |
JPH02124697A (ja) | メッセージ属性分析によるメッセージ処理方式 |
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 |