CN108920298B - 一种基于申威架构的监控信号量的处理方法及装置 - Google Patents

一种基于申威架构的监控信号量的处理方法及装置 Download PDF

Info

Publication number
CN108920298B
CN108920298B CN201810777264.6A CN201810777264A CN108920298B CN 108920298 B CN108920298 B CN 108920298B CN 201810777264 A CN201810777264 A CN 201810777264A CN 108920298 B CN108920298 B CN 108920298B
Authority
CN
China
Prior art keywords
command
semaphore
monitoring
command execution
thread
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
CN201810777264.6A
Other languages
English (en)
Other versions
CN108920298A (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.)
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Original Assignee
BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
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 BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD filed Critical BEIJING ZHONGKE WANGWEI INFORMATION TECHNOLOGY CO LTD
Priority to CN201810777264.6A priority Critical patent/CN108920298B/zh
Publication of CN108920298A publication Critical patent/CN108920298A/zh
Application granted granted Critical
Publication of CN108920298B publication Critical patent/CN108920298B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明实施例提供的基于申威架构的监控信号量的处理方法及装置,所述方法包括:若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。所述装置执行上述方法。本发明实施例提供的方法及装置,能够有效地监控信号量,从而使得因命令执行进程处于异常状态所导致的信号量的P操作能够从阻塞状态中解除。

Description

一种基于申威架构的监控信号量的处理方法及装置
技术领域
本发明实施例涉及信号监控技术领域,具体涉及一种基于申威架构的监控信号量的处理方法及装置。
背景技术
在计算机操作系统中,普遍采用对信号量进行PV操作来实现进程的管理。
下面对PV操作的原理作简要介绍:PV操作由P操作原语和V操作原语组成(原语是不可中断的过程),对信号量进行操作,具体如下:P(S):①将信号量S的值减1,即S=S-1;②如果S≥0,则该进程继续执行;否则该进程置为等待状态,排入等待队列。V(S):①将信号量S的值加1,即S=S+1;②如果S>0,则该进程继续执行;否则释放队列中第一个等待信号量的进程。PV操作的意义:用信号量及PV操作来实现进程的同步和互斥。信号量的数据结构为一个值和一个指针,指针指向等待该信号量的下一个进程。信号量的值与相应资源的使用情况有关。当它的值大于0时,表示当前可用资源的数量;当它的值小于0时,其绝对值表示等待使用该资源的进程个数,信号量的值仅能由PV操作来改变,一般来说信号量S≥0时,S表示可用资源的数量。执行一次P操作意味着请求分配一个单位资源,因此S的值减1;当S<0时,表示已经没有可用资源,请求者必须等待别的进程释放该类资源,它才能运行下去。而执行一个V操作意味着释放一个单位资源,因此S的值加1;若S≤0,表示有某些进程正在等待该资源,因此要唤醒一个等待状态的进程,使之运行下去。
对命令进程作简要说明如下:命令下发进程:用于从键盘读取用户输入的命令字符串及下发给命令执行进程;命令执行进程,用于接收命令下发进程下发的命令字符串及解析并执行对应命令处理函数;两个进程间通过信号量PV操作实现进程互斥,命令下发进程下发完命令字符串后P操作阻塞,以等待命令执行进程执行完成信号量V操作,从而保证用户输入命令是顺序串行执行的。
上述现有技术方法的缺点是:命令下发进程下发完命令字符串后,信号量的P操作阻塞,不再响应用户输入的命令字符串,等待命令执行进程执行完成信号量V操作后,才能继续运行响应用户输入,但是,一旦命令执行进程出现异常状态,例如:挂死或死循环等,使得命令执行进程无法正常进行信号量的V操作,在此情况下命令下发进程就会一直阻塞,导致无法再读取用户输入的命令字符串,之前输入的命令字符串也无法正常返回,表现为用户命令输入界面挂死,任何调试命令都得不到响应,使得无法通过进入隐藏后台的方式进行对命令执行进程的定位调试。
因此,如何避免上述缺陷,有效地监控信号量,从而使得因命令执行进程处于异常状态所导致的信号量的P操作能够从阻塞状态中解除,进而使命令下发进程能够响应输入的命令字符串,成为亟须解决的问题。
发明内容
针对现有技术存在的问题,本发明实施例提供一种基于申威架构的监控信号量的处理方法及装置。
第一方面,本发明实施例提供一种基于申威架构的监控信号量的处理方法,所述方法包括:
若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;
若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;
使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
第二方面,本发明实施例提供一种基于申威架构的监控信号量的处理装置,所述装置包括:
开启单元,用于若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;
确定单元,用于若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;
监控单元,用于使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
第三方面,本发明实施例提供一种基于申威架构的电子设备,包括:申威处理器、存储器和总线,其中,
所述申威处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述申威处理器执行的程序指令,所述申威处理器调用所述程序指令能够执行如下方法:
若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;
若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;
使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,包括:
所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如下方法:
若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;
若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;
使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
本发明实施例提供的基于申威架构的监控信号量的处理方法及装置,若检测到信号量的P操作在预设时长内持续处于阻塞状态,对监控线程开启计时,若在计时的开启时刻之后的连续若干个监控周期内命令执行标志位都为有效状态,使监控线程进行信号量的V操作,直到阻塞状态解除,能够有效地监控信号量,从而使得因命令执行进程处于异常状态所导致的信号量的P操作能够从阻塞状态中解除,进而使命令下发进程能够响应输入的命令字符串。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例基于申威架构的监控信号量的处理方法流程示意图;
图2为本发明实施例基于申威架构的监控信号量的处理装置结构示意图;
图3为本发明实施例提供的电子设备实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例基于申威架构的监控信号量的处理方法流程示意图,如图1所示,本发明实施例提供的一种基于申威架构的监控信号量的处理方法,包括以下步骤:
S101:若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位。
具体的,装置若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位。装置可以理解为该申威架构的设备(可以包括防火墙等)中的具有逻辑运算功能的部件,用于执行本发明实施例的方法。监控线程是预先创建的,可以在所述命令下发进程创建所述信号量的同时,创建所述监控线程,具体说明如下:
(1)用户命令下发进程CLI_SH与命令执行进程CLI在初始化时创建socket连接,CLI分配、保存终端索引并发送给CLI_SH,CLI_SH根据接收到的终端索引创建信号量(是命令互斥信号量),同时创建接收线程、发送线程及监控线程;其中,接收线程用于循环接收CLI命令,并执行回显信息的打印;发送线程用于循环读取用户通过外设(可以包括键盘等)输入的命令字符串,并下发给CLI;监控线程用于循环监控,从而判断CLI是否异常。
(2)CLI_SH发送线程循环读取外设输入的命令字符串,当读取的命令字符串不为空时,优先判断该命令字符串是否为进入隐藏后台的隐藏命令,若是,则继续读取、并判断外设输的是否是隐藏命令对应的密码,若隐藏命令和密码都验证成功,进入隐藏后台,可供研发人员进行现场相关的定位调试工作,便于快速解决技术问题;若不成功则继续后续的步骤(即进行对所述信号量的P操作和V操作)。
(3)在CLI_SH的发送线程设置之前创建的信号量值为0,同时设置命令执行标志位为1,命令执行标志位为1表示该命令执行标志位为有效状态,在命令字符串下发成功后,对信号量进行P操作,此时命令下发进程CLI_SH阻塞,等待命令执行进程CLI执行完成信号量的V操作。
(4)命令执行进程CLI接收到命令字符串后,根据之前保存的终端索引打开相同的信号量,然后对命令字符串进行解析并执行对应的命令处理函数,正常执行完成后对信号量进行V操作。
(5)CLI_SH发送线程信号量解除阻塞后,则说明命令执行进程CLI执行完成信号量的V操作,则设置命令执行标志位为0,继续下一次循环,即重复使CLI_SH发送线程循环读取外设输入的命令字符串,具体不再赘述。需要说明的是:正常情况下,命令执行进程CLI完成执行一条命令需耗时若干秒或若干毫秒,即如果命令执行进程CLI超过该时长(预设时长),即本发明实施例中的预设时长少于连续若干个监控周期内对应的时长,命令下发进程进行信号量的P操作持续处于阻塞状态,说明命令执行进程CLI可能处于异常状态(没有正常进行V操作),因此,在此时开启对监控线程的计时。
S102:若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态。
具体的,装置若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态。周期性监控的周期可以根据实际情况自主设置,可选为5秒,即每经过5秒监控一次命令执行标志位。具体的连续监控周期的个数(即连续若干个监控周期的具体个数)可以根据实际情况自主设置,可选为12个,即从计时的开启时刻开始的1分钟(5秒×12个=60秒)内命令执行标志位都为有效状态,而命令下发进程进行信号量的P操作持续处于阻塞状态,则确定命令执行进程处于异常状态。还可以通过如下方式确定命令执行进程处于异常状态:
对所述有效状态的超时次数进行累加,若累加数值超过预设超时次数,则确定所述命令执行进程处于所述异常状态,预设超时次数可以根据实际情况自主设置,参照上述举例,可选为12次,即累加数值超过预设超时次数相当于从计时的开启时刻开始的1分钟内命令执行标志位都为有效状态,则确定命令执行进程处于异常状态。
S103:使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
具体的,装置使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。由于命令执行进程处于异常状态,因此,由监控线程进行信号量的V操作,直到所述阻塞状态解除,进而使命令下发进程能够响应输入的命令字符串。
进一步地,在使所述监控线程进行所述信号量的V操作的同时,生成提示所述命令执行进程处于异常状态的告警信息(可以打印CLI异常挂死的告警信息);和/或,清空所述累加数值,保证在周期性监控过程中累加数值的准确性。
进一步地,在阻塞状态解除之后,所述命令下发进程若接收到外界根据所述告警信息输入的隐藏命令和与所述隐藏命令对应的密码,且对所述隐藏命令和所述密码验证成功之后,进入隐藏后台,以进行对所述命令执行进程的定位调试,外界可以包括用户等,但不作具体限定。可供研发人员进行针对命令执行进程的定位调试工作,便于快速解决命令执行进程中的技术问题。
本发明实施例提供的基于申威架构的监控信号量的处理方法,若检测到信号量的P操作在预设时长内持续处于阻塞状态,对监控线程开启计时,若在计时的开启时刻之后的连续若干个监控周期内命令执行标志位都为有效状态,使监控线程进行信号量的V操作,直到阻塞状态解除,能够有效地监控信号量,从而使得因命令执行进程处于异常状态所导致的信号量的P操作能够从阻塞状态中解除,进而使命令下发进程能够响应输入的命令字符串。
在上述实施例的基础上,所述若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态,包括:
对所述有效状态的超时次数进行累加,若累加数值超过预设超时次数,则确定所述命令执行进程处于所述异常状态。
具体的,装置对所述有效状态的超时次数进行累加,若累加数值超过预设超时次数,则确定所述命令执行进程处于所述异常状态。可参照上述实施例,不再赘述。
本发明实施例提供的基于申威架构的监控信号量的处理方法,通过对有效状态的超时次数进行累加,能够准确计算有效状态的超时次数,从而准确确定命令执行进程是否处于异常状态。
在上述实施例的基础上,所述方法还包括:
在使所述监控线程进行所述信号量的V操作的同时,生成提示所述命令执行进程处于异常状态的告警信息;和/或,清空所述累加数值。
具体的,装置在使所述监控线程进行所述信号量的V操作的同时,生成提示所述命令执行进程处于异常状态的告警信息;和/或,清空所述累加数值。可参照上述实施例,不再赘述。
本发明实施例提供的基于申威架构的监控信号量的处理方法,能够及时告警命令执行进程处于异常状态,还能够保证在周期性监控过程中累加数值的准确性。
在上述实施例的基础上,所述方法还包括:
在所述阻塞状态解除之后,所述命令下发进程若接收到外界根据所述告警信息输入的隐藏命令和与所述隐藏命令对应的密码,且对所述隐藏命令和所述密码验证成功之后,进入隐藏后台,以进行对所述命令执行进程的定位调试。
具体的,装置在所述阻塞状态解除之后,所述命令下发进程若接收到外界根据所述告警信息输入的隐藏命令和与所述隐藏命令对应的密码,且对所述隐藏命令和所述密码验证成功之后,进入隐藏后台,以进行对所述命令执行进程的定位调试。可参照上述实施例,不再赘述。
本发明实施例提供的基于申威架构的监控信号量的处理方法,使命令下发进程能够响应输入的命令字符串,以供研发人员进行有针对性地定位调试。
在上述实施例的基础上,所述监控线程的预先创建,包括:
在所述命令下发进程创建所述信号量的同时,创建所述监控线程。
具体的,装置在所述命令下发进程创建所述信号量的同时,创建所述监控线程。可参照上述实施例,不再赘述。
本发明实施例提供的基于申威架构的监控信号量的处理方法,通过在命令下发进程创建信号量的同时,创建监控线程,保证该方法的正常进行。
在上述实施例的基础上,所述方法还包括:
在所述命令下发进程创建所述信号量的同时,创建发送线程。
具体的,装置在所述命令下发进程创建所述信号量的同时,创建发送线程。可参照上述实施例,不再赘述。
使所述发送线程循环读取外设输入的命令字符串,当所述字符串不为空时,若判断获知所述命令字符串为隐藏命令,并读取到与所述隐藏命令对应的密码,且对所述隐藏命令和所述密码验证成功之后,进入隐藏后台,以进行对所述命令执行进程的定位调试。
具体的,装置使所述发送线程循环读取外设输入的命令字符串,当所述字符串不为空时,若判断获知所述命令字符串为隐藏命令,并读取到与所述隐藏命令对应的密码,且对所述隐藏命令和所述密码验证成功之后,进入隐藏后台,以进行对所述命令执行进程的定位调试。可参照上述实施例,不再赘述。
本发明实施例提供的基于申威架构的监控信号量的处理方法,能够方便研发人员进行对命令执行进程的定位调试。
在上述实施例的基础上,所述方法还包括:
若判断获知所述隐藏命令和所述密码未验证成功,则进行对所述信号量的P操作和V操作。
具体的,装置若判断获知所述隐藏命令和所述密码未验证成功,则进行对所述信号量的P操作和V操作。可参照上述实施例,不再赘述。
本发明实施例提供的基于申威架构的监控信号量的处理方法,能够保证正常进行信号量的P操作和V操作。
图2为本发明实施例基于申威架构的监控信号量的处理装置结构示意图,如图2所示,本发明实施例提供了一种基于申威架构的监控信号量的处理装置,包括开启单元201、确定单元202和监控单元203,其中:
开启单元201用于若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;确定单元202用于若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;监控单元203用于使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
具体的,开启单元201用于若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;确定单元202用于若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;监控单元203用于使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
本发明实施例提供的基于申威架构的监控信号量的处理装置,若检测到信号量的P操作在预设时长内持续处于阻塞状态,对监控线程开启计时,若在计时的开启时刻之后的连续若干个监控周期内命令执行标志位都为有效状态,使监控线程进行信号量的V操作,直到阻塞状态解除,能够有效地监控信号量,从而使得因命令执行进程处于异常状态所导致的信号量的P操作能够从阻塞状态中解除,进而使命令下发进程能够响应输入的命令字符串。
本发明实施例提供的基于申威架构的监控信号量的处理装置具体可以用于执行上述各方法实施例的处理流程,其功能在此不再赘述,可以参照上述方法实施例的详细描述。
图3为本发明实施例提供的电子设备实体结构示意图,如图3所示,所述电子设备包括:申威处理器(processor)301、存储器(memory)302和总线303;
其中,所述申威处理器301、存储器302通过总线303完成相互间的通信;
所述申威处理器301用于调用所述存储器302中的程序指令,以执行上述各方法实施例所提供的方法,例如包括:若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
本实施例提供一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述各方法实施例所提供的方法,例如包括:若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的电子设备等实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上各实施例仅用以说明本发明的实施例的技术方案,而非对其限制;尽管参照前述各实施例对本发明的实施例进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明的各实施例技术方案的范围。

Claims (10)

1.一种基于申威架构的监控信号量的处理方法,其特征在于,包括:
若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;其中,所述阻塞状态是指所述命令执行标志位为1与所述信号量小于0同时发生;
若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;
使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
2.根据权利要求1所述的方法,其特征在于,所述若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态,包括:
对所述有效状态的超时次数进行累加,若累加数值超过预设超时次数,则确定所述命令执行进程处于所述异常状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在使所述监控线程进行所述信号量的V操作的同时,生成提示所述命令执行进程处于异常状态的告警信息;和/或,清空所述累加数值。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述阻塞状态解除之后,所述命令下发进程若接收到外界根据所述告警信息输入的隐藏命令和与所述隐藏命令对应的密码,且对所述隐藏命令和所述密码验证成功之后,进入隐藏后台,以进行对所述命令执行进程的定位调试。
5.根据权利要求1至4任一所述的方法,其特征在于,所述监控线程的预先创建,包括:
在所述命令下发进程创建所述信号量的同时,创建所述监控线程。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述命令下发进程创建所述信号量的同时,创建发送线程;
使所述发送线程循环读取外设输入的命令字符串,当所述字符串不为空时,若判断获知所述命令字符串为隐藏命令,并读取到与所述隐藏命令对应的密码,且对所述隐藏命令和所述密码验证成功之后,进入隐藏后台,以进行对所述命令执行进程的定位调试。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若判断获知所述隐藏命令和所述密码未验证成功,则进行对所述信号量的P操作和V操作。
8.一种基于申威架构的监控信号量的处理装置,其特征在于,包括:
开启单元,用于若检测到命令下发进程进行信号量的P操作在预设时长内持续处于阻塞状态,则对监控线程开启计时;其中,所述监控线程用于周期性监控所述命令下发进程中的命令执行标志位;其中,所述阻塞状态是指所述命令执行标志位为1与所述信号量小于0同时发生;
确定单元,用于若判断获知在所述计时的开启时刻之后的连续若干个监控周期内所述命令执行标志位都为有效状态,则确定命令执行进程处于异常状态;
监控单元,用于使所述监控线程进行所述信号量的V操作,直到所述阻塞状态解除。
9.一种基于申威架构的电子设备,其特征在于,包括:申威处理器、存储器和总线,其中,
所述申威处理器和所述存储器通过所述总线完成相互间的通信;
所述存储器存储有可被所述申威处理器执行的程序指令,所述申威处理器调用所述程序指令能够执行如权利要求1至7任一所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至7任一所述的方法。
CN201810777264.6A 2018-07-16 2018-07-16 一种基于申威架构的监控信号量的处理方法及装置 Active CN108920298B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810777264.6A CN108920298B (zh) 2018-07-16 2018-07-16 一种基于申威架构的监控信号量的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810777264.6A CN108920298B (zh) 2018-07-16 2018-07-16 一种基于申威架构的监控信号量的处理方法及装置

Publications (2)

Publication Number Publication Date
CN108920298A CN108920298A (zh) 2018-11-30
CN108920298B true CN108920298B (zh) 2021-07-13

Family

ID=64411800

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810777264.6A Active CN108920298B (zh) 2018-07-16 2018-07-16 一种基于申威架构的监控信号量的处理方法及装置

Country Status (1)

Country Link
CN (1) CN108920298B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241676A (en) * 1989-05-16 1993-08-31 Kabushiki Kaisha Toshiba Method for controlling process priority in semaphore operation
CN1585923A (zh) * 2001-11-13 2005-02-23 皇家飞利浦电子股份有限公司 P和v信号操作
CN102117240A (zh) * 2009-12-31 2011-07-06 腾讯科技(深圳)有限公司 一种获取进程阻塞信息的方法及装置
CN102650956A (zh) * 2011-02-23 2012-08-29 蓝盾信息安全技术股份有限公司 一种程序并发的方法及系统
CN105573825A (zh) * 2014-10-11 2016-05-11 华为技术有限公司 一种跨操作系统的任务间同步的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5241676A (en) * 1989-05-16 1993-08-31 Kabushiki Kaisha Toshiba Method for controlling process priority in semaphore operation
CN1585923A (zh) * 2001-11-13 2005-02-23 皇家飞利浦电子股份有限公司 P和v信号操作
CN102117240A (zh) * 2009-12-31 2011-07-06 腾讯科技(深圳)有限公司 一种获取进程阻塞信息的方法及装置
CN102650956A (zh) * 2011-02-23 2012-08-29 蓝盾信息安全技术股份有限公司 一种程序并发的方法及系统
CN105573825A (zh) * 2014-10-11 2016-05-11 华为技术有限公司 一种跨操作系统的任务间同步的方法及装置

Also Published As

Publication number Publication date
CN108920298A (zh) 2018-11-30

Similar Documents

Publication Publication Date Title
US11157061B2 (en) Processor management via thread status
CN102984029B (zh) 应用于分布式系统的心跳检测装置和方法、网络设备
CN112416581B (zh) 定时任务的分布式调用系统
CN106681811A (zh) 基于线程池的多线程调度方法及装置
CN113051054B (zh) 调度人工智能平台资源的方法、设备和计算机可读存储介质
CN110659142A (zh) 消息队列处理方法及装置、电子设备、存储介质
CN106407032A (zh) 一种基于多核系统的硬件看门狗控制方法及系统
CN109766248A (zh) 系统故障信号获取方法、装置、服务器及可读存储介质
CN108920298B (zh) 一种基于申威架构的监控信号量的处理方法及装置
CN113190427A (zh) 卡顿监控方法、装置、电子设备及存储介质
CN109992388B (zh) 一种用于核电厂安全级设备软件多任务管理系统
CN112463348B (zh) 一种定时任务处理方法及装置
CN109491771A (zh) 基于系统性能优化的任务处理方法及相关设备
CN111367702B (zh) 一种多任务软件看门狗处理方法及装置
CN114374681A (zh) 任务执行方法、装置、设备和存储介质
CN113032110A (zh) 一种基于分布式对等架构设计的高可用任务调度方法
CN106407016A (zh) 一种多线程争抢资源的模拟方法及装置
CN111857689A (zh) 一种框架、框架的功能配置方法、终端及存储介质
CN109062718A (zh) 一种服务器及数据处理方法
CN105204935B (zh) 自动开服方法及装置
CN110172799B (zh) 洗衣机控制方法和装置
CN117785431B (zh) 任务调度分配方法、装置、电子设备及存储介质
CN113220554B (zh) 检测程序代码的性能的方法和设备
CN115357189A (zh) 业务处理方法及相关设备
CN115145606A (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