CN106844151B - 一种VxWorks系统的网络任务异常检测方法 - Google Patents
一种VxWorks系统的网络任务异常检测方法 Download PDFInfo
- Publication number
- CN106844151B CN106844151B CN201710003831.8A CN201710003831A CN106844151B CN 106844151 B CN106844151 B CN 106844151B CN 201710003831 A CN201710003831 A CN 201710003831A CN 106844151 B CN106844151 B CN 106844151B
- Authority
- CN
- China
- Prior art keywords
- task
- function
- tcheck
- network
- netjobadd
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种VxWorks系统的网络任务异常检测方法,步骤为:首先定义一个空函数check_func;然后在系统启动时创建一个新任务tCheck;再在系统运行过程中,通过tCheck任务调用netJobAdd函数,以将空函数check_func加入网络任务的工作队列中,然后通过判断netJobAdd函数是否返回成功来检测网络任务是否出现异常。采用本发明方法可使得VxWorks系统在网络任务出现异常时能够很快发现,从而可以进行相应的异常处理,例如重启网络任务、或者重启设备、或者发出告警通知管理人员处理等等,提高整个系统稳定性,降低整个系统维护成本。
Description
技术领域
本发明涉及计算机技术中的网络任务异常检测技术领域,特别是一种VxWorks系统的网络任务异常检测方法。
背景技术
VxWorks是美国Wind River System公司(即WRS公司,简称风河公司)推出的一个实时操作系统。风河公司组建于1981年,是一个专门从事实时操作系统开发与生产的软件公司,该公司在实时操作系统领域被世界公认为是最具有领导地位的公司,主要商业用户包括Cisco systems、Bay Networks、3Com、Fore systems、HP、Lucent、Qualcomm等著名公司。VxWorks以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。在美国的 F-16、FA-18 战斗机、B-2 隐形轰炸机和爱国者导弹上,甚至连1997年4月在火星表面登陆的火星探测器上也使用到了VxWorks。目前嵌入式系统应用已经深入到我们生活中的各个领域,手机、机顶盒、MP4、交换机、路由器等都可以归结为嵌入式设备。在这些嵌入式设备中,有一部分设备需要功能强大、实时性强的操作系统,VxWorks正是这类操作系统中的佼佼者,因此很多嵌入式设备都采用VxWorks来实现。
网络任务tNetTask是VxWorks系统自带的一个地位非常重要的系统任务,它主要负责处理网络协议栈的事件请求,包括协议定时器的处理,协议状态的更新,协议报文的发送等等,部分用户程序的请求例如网卡中断服务程序接收报文以后也由网络任务tNetTask进行后续报文处理等等。如果网络任务tNetTask出了异常,就会导致网络任务的工作队列中的请求无法被及时处理,这时其它正常的工作请求会源源不断的被加入进来,最后网络任务的工作队列被占满了,而之后的所有工作请求也加入不进来了。也就是说只要网络任务tNetTask出现了异常,网络协议栈也就出了异常,整个VxWorks系统也就出了异常。
发明内容
本发明的目的是,提供一种VxWorks系统的网络任务异常检测方法,以方便系统在网络任务出现异常时能够很快被发现,从而可以进行相应的异常处理,提高整个系统稳定性,降低整个系统维护成本。
本发明采取的技术方案具体为:一种VxWorks系统的网络任务异常检测方法,包括步骤:
S1定义一个空函数check_func;
S2在系统启动时创建一个新任务tCheck,tCheck任务的优先级高于网络任务的优先级;
S3系统运行过程中,通过tCheck任务检测网络任务是否出现异常:
通过tCheck任务调用netJobAdd函数,以将空函数check_func加入网络任务的工作队列中;
判断netJobAdd函数是否返回成功,若成功,则表示网络任务的工作队列没有被占满,网络任务是正常运行的;若netJobAdd函数返回失败,则表示网络任务的工作队列已被占满,网络任务出现了异常。
优选的,本发明中,tCheck任务的优先级设定范围为大于0且小于50。进一步优选的,tCheck任务的优先级设为49。VxWorks系统中任务的优先级数值越小表示其优先级越高,网络任务优先级为50,也就是tCheck任务的优先级数值必须小于50。
进一步的,本发明步骤S3中,若netJobAdd函数返回成功,tCheck任务休眠设定时间后,再次调用netJobAdd函数,以重复检测网络任务是否出现异常。
优选的,所述设定时间为1秒钟,即tCheck任务每隔1秒钟调用一次netJobAdd函数,将check_func加入到网络任务的工作队列中。tCheck任务休眠时,其它任务正常按照优先级执行,tCheck任务对整个系统的负担是非常小的,不会影响其它任务的执行。
更进一步的,本发明所述netJobAdd函数返回成功即返回值为0,netJobAdd函数返回失败即返回值为-1。
有益效果
利用本发明的方法,可使得VxWorks系统在网络任务出现异常时能够很快发现,从而可以进行相应的异常处理,例如重启网络任务、或者重启设备、或者发出告警通知管理人员处理等等,提高整个系统稳定性,降低整个系统维护成本。
附图说明
图1 所示为netJobAdd函数流程示意图;
图2 所示为网络任务处理流程示意图;
图3所示为本发明方法中检测任务处理流程示意图。
具体实施方式
以下结合附图和具体实施例进一步描述。
参考图1所示为netJobAdd函数流程示意图。netJobAdd函数是VxWorks系统提供的一个系统函数,它主要是把工作请求加入网络任务的工作队列中,然后触发信号量netTaskSemId。这里所说的工作请求就是一个函数指针和5个对应的参数,本发明方法中所使用的check_func函数是一个空函数,在调用时不需要参数,就将全部5个参数设为0。
参见图2所示为VxWorks系统的网络任务处理流程示意图。网络任务一直在等待信号量netTaskSemId,只要系统中有任务或者中断服务程序调用了netJobAdd函数,就会触发信号量netTaskSemId,网络任务就会从该信号量返回,取出工作队列中的请求并执行。这里所说的执行就是调用函数指针所指向的函数,该函数指针和调用函数所需要的参数由netJobAdd函数传入。
参考图3所示,本发明VxWorks系统的网络任务异常检测方法,包括步骤:
S1定义一个空函数check_func;
S2在系统启动时创建一个新任务tCheck,tCheck任务的优先级高于网络任务的优先级;
S3系统运行过程中,通过tCheck任务检测网络任务是否出现异常:
通过tCheck任务调用netJobAdd函数,以将空函数check_func加入网络任务的工作队列中;
判断netJobAdd函数是否返回成功,若成功,则表示网络任务的工作队列没有被占满,网络任务是正常运行的;若netJobAdd函数返回失败,则表示网络任务的工作队列已被占满,网络任务出现了异常。
实施例
本实施例步骤包括:
S1定义一个空函数check_func;
S2系统启动时创建一个新任务tCheck,该任务优先级设为49,比网络任务tNetTask优先级要高,则即使网络任务出了异常例如陷入了死循环中,tCheck任务还是可以得到正常运行;
S3系统运行过程中,通过tCheck任务来检测网络任务是否出现异常:
tCheck任务每隔1秒钟调用netJobAdd函数将函数指针check_func(c语言中函数名等价于函数指针)添加到网络任务的工作队列中;然后通过判断调用netJobAdd函数的返回值,判断网络是否出现异常。若返回值为0则返回成功,表示网络任务的工作队列没有被占满,网络任务tNetTask还在正常处理工作队列中的请求,网络任务tNetTask还是正常运行的。若返回值为-1则返回失败,就表示网络任务的工作队列被占满了,网络任务tNetTask出现了异常,它没有及时处理工作队列中的请求,系统需要进行相应的异常处理。
以上所述,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之类。
Claims (6)
1.一种VxWorks系统的网络任务异常检测方法,其特征是,包括步骤:
S1定义一个空函数check_func;
S2在系统启动时创建一个新任务tCheck,tCheck任务的优先级高于网络任务的优先级;
S3系统运行过程中,通过tCheck任务检测网络任务是否出现异常:
通过tCheck任务调用netJobAdd函数,以将空函数check_func加入网络任务的工作队列中;
判断netJobAdd函数的返回值是否对应返回成功,若是,则表示网络任务的工作队列没有被占满,网络任务是正常运行的;若netJobAdd函数的返回值对应返回失败,则表示网络任务的工作队列已被占满,网络任务出现了异常。
2.根据权利要求1所述的方法,其特征是,tCheck任务的优先级设定范围为大于0且小于50。
3.根据权利要求2所述的方法,其特征是,tCheck任务的优先级设为49。
4.根据权利要求1所述的方法,其特征是,步骤S3中,若netJobAdd函数返回成功,则tCheck任务休眠设定时间后,再次调用netJobAdd函数,以重复检测网络任务是否出现异常。
5.根据权利要求4所述的方法,其特征是,所述设定时间为1秒钟。
6.根据权利要求1所述的方法,其特征是,所述netJobAdd函数的返回值对应返回成功即返回值为0,netJobAdd函数的返回值对应返回失败即返回值为-1。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710003831.8A CN106844151B (zh) | 2017-01-04 | 2017-01-04 | 一种VxWorks系统的网络任务异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710003831.8A CN106844151B (zh) | 2017-01-04 | 2017-01-04 | 一种VxWorks系统的网络任务异常检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106844151A CN106844151A (zh) | 2017-06-13 |
CN106844151B true CN106844151B (zh) | 2019-11-12 |
Family
ID=59118591
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710003831.8A Active CN106844151B (zh) | 2017-01-04 | 2017-01-04 | 一种VxWorks系统的网络任务异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106844151B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309024B (zh) * | 2019-04-23 | 2023-07-18 | 网宿科技股份有限公司 | 数据处理系统及其执行数据处理任务的方法 |
CN110399131B (zh) * | 2019-05-23 | 2024-04-26 | 中国平安财产保险股份有限公司 | 提高应用程序稳定性的方法、装置、计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201594A (zh) * | 2007-11-21 | 2008-06-18 | 天津理工大学 | 基于cmx-rtos嵌入式实时操作系统的电动执行机构控制方法 |
CN101753584A (zh) * | 2010-01-09 | 2010-06-23 | 东方电子股份有限公司 | VxWorks系统下提高智能变电站快速报文处理速度的方法 |
CN102622300A (zh) * | 2012-04-18 | 2012-08-01 | 迈普通信技术股份有限公司 | 多任务系统中死循环或类死循环的检测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120192147A1 (en) * | 2011-01-25 | 2012-07-26 | Argen Wong | Develop real time software without an RTOS |
-
2017
- 2017-01-04 CN CN201710003831.8A patent/CN106844151B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101201594A (zh) * | 2007-11-21 | 2008-06-18 | 天津理工大学 | 基于cmx-rtos嵌入式实时操作系统的电动执行机构控制方法 |
CN101753584A (zh) * | 2010-01-09 | 2010-06-23 | 东方电子股份有限公司 | VxWorks系统下提高智能变电站快速报文处理速度的方法 |
CN102622300A (zh) * | 2012-04-18 | 2012-08-01 | 迈普通信技术股份有限公司 | 多任务系统中死循环或类死循环的检测方法 |
Non-Patent Citations (2)
Title |
---|
基于VxWorks实时多任务的信号处理软件设计;徐小权;《电脑知识与技术》;20130615;第19卷(第17期);第4009-4012页 * |
基于VxWorks的实时多任务软件框架设计;周俊杰等;《中国科技核心期刊》;20120415;第31卷(第4期);第80-82页 * |
Also Published As
Publication number | Publication date |
---|---|
CN106844151A (zh) | 2017-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106326068B (zh) | 资源指标的监控方法及装置 | |
CN111459763B (zh) | 跨kubernetes集群监控系统及方法 | |
EP3239840B1 (en) | Fault information provision server and fault information provision method | |
CN105095008B (zh) | 一种适用于集群系统的分布式任务故障冗余方法 | |
CN105760240A (zh) | 分布式任务处理方法及装置 | |
US11119828B2 (en) | Digital processing system for event and/or time based triggering management, and control of tasks | |
CN106844151B (zh) | 一种VxWorks系统的网络任务异常检测方法 | |
CN109783311A (zh) | 断点行为的监控处理方法、装置、设备及可读存储介质 | |
CN110990245A (zh) | 基于调用链数据的微服务运行状态判断方法及装置 | |
CN109766198B (zh) | 流式处理方法、装置、设备及计算机可读存储介质 | |
CN107155403A (zh) | 一种生命周期事件的处理方法及vnfm | |
CN109800085B (zh) | 资源配置的检测方法、装置、存储介质和电子设备 | |
CN114327804A (zh) | 基于区块链的分布式事务处理方法、装置、设备和介质 | |
CN106603635A (zh) | 一种平台数据异地备份方法 | |
CN110798339A (zh) | 一种基于分布式任务调度框架的任务容灾方法 | |
CN112965799A (zh) | 任务状态的提示方法、装置、电子设备和介质 | |
CN113254166A (zh) | 一种处理io请求的方法、存储介质和虚拟化模拟器 | |
CN110209497B (zh) | 一种主机资源动态扩缩容的方法及系统 | |
CN103810053A (zh) | 网络游戏服务器陷入死循环的处理方法 | |
CN110420455A (zh) | 游戏服务监控方法及装置 | |
CN108154343B (zh) | 一种企业级信息系统的应急处理方法及系统 | |
CN116089197A (zh) | 一种故障设备切换演练方法、装置、设备及存储介质 | |
CN105975359A (zh) | 一种对服务器进行数据清理的方法、装置及服务器 | |
CN113656239A (zh) | 针对中间件的监控方法、装置及计算机程序产品 | |
CN112925623A (zh) | 任务处理方法、装置、电子设备和介质 |
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 |