CN113778824A - 操作系统实时性检测方法、装置、计算机设备及存储介质 - Google Patents
操作系统实时性检测方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN113778824A CN113778824A CN202110971037.9A CN202110971037A CN113778824A CN 113778824 A CN113778824 A CN 113778824A CN 202110971037 A CN202110971037 A CN 202110971037A CN 113778824 A CN113778824 A CN 113778824A
- Authority
- CN
- China
- Prior art keywords
- time
- real
- preset
- thread
- operating system
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 125
- 238000001514 detection method Methods 0.000 claims abstract description 85
- 238000011897 real-time detection Methods 0.000 claims description 36
- 230000002159 abnormal effect Effects 0.000 claims description 16
- 238000004590 computer program Methods 0.000 claims description 15
- 230000004617 sleep duration Effects 0.000 description 18
- 230000005059 dormancy Effects 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 206010033799 Paralysis Diseases 0.000 description 5
- 230000005856 abnormality Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004904 shortening Methods 0.000 description 2
- 230000007958 sleep Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000002595 magnetic resonance imaging Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004622 sleep time Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of programs
- G06F11/3612—Software analysis for verifying properties of programs by runtime analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种操作系统实时性检测方法、装置、计算机设备和存储介质。该方法包括:调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程,在预设间隔时长后,若已启动实时线程的数量达到预设线程数量,则判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长,若第一运行时长大于或等于预设检测时长,则确定操作系统满足实时性需求。采用本方法能够通过预先设置的一套预设指标参数,检测操作系统的实时性,使得检测方法变得更简单、速度更快,从而缩短了检测周期。
Description
技术领域
本申请涉及磁共振成像技术领域,特别是涉及一种操作系统实时性检测方法、装置、计算机设备及存储介质。
背景技术
通常,磁共振系统中的磁共振计算机主要负责序列时序控制实时性相关的工作,所以磁共振计算机的操作系统需要达到一定的实时性。一旦操作系统超过了实时极限,往往会触发操作系统崩溃,导致磁共振系统瘫痪。因此,需要一套检测磁共振计算机的操作系统实时性的方法,供磁共振软件开发人员调整操作系统的操作参数,来避免磁共振系统瘫痪。
传统技术中,将磁共振计算机放置到一套完整的磁共振系统中,连续几个月不出现磁共振计算机的操作系统异常,即可算是满足操作系统实时性的需求。但是,传统检测方法的检测周期较长。
发明内容
基于此,有必要针对上述技术问题,提供一种操作系统实时性检测方法、装置、计算机设备及存储介质。
一种操作系统实时性检测方法,所述方法包括:
调用实时性检测程序,根据预设指标参数中的预设线程数量启动所述操作系统中的多个实时线程;
在预设间隔时长后,若已启动实时线程的数量达到所述预设线程数量,则判断所述实时性检测程序的第一运行时长是否大于或等于所述预设指标参数中的预设检测时长;
若所述第一运行时长大于或等于所述预设检测时长,则确定所述操作系统满足实时性需求。
在其中一个实施例中,所述方法还包括:
若所述已启动实时线程的数量未达到所述预设线程数量,则继续启动所述操作系统中未启动的实时线程,直到已启动的实时线程的数量达到所述预设线程数量为止。
在其中一个实施例中,所述方法还包括:
获取当前时刻所述已启动实时线程中正常运行的实时线程的数量;
判断所述正常运行的实时线程的数量与所述预设线程数量是否相等;
若相等,则确定所述操作系统中的实时线程运行状态正常;
若不相等,则确定所述操作系统中的实时线程运行状态异常。
在其中一个实施例中,所述方法还包括:
针对每个所述已启动实时线程,获取已启动的实时线程从启动时刻至当前时刻的第二运行时长;
若所述第二运行时长小于所述预设指标参数中的预设线程工作时长,则返回执行所述获取已启动的实时线程从所述启动时刻至所述当前时刻的第二运行时长的步骤,直到所述第二运行时长大于或等于所述预设线程工作时长,停止运行所述已启动的实时线程,并根据预设休眠时长控制所述已启动的实时线程进入休眠状态;
判断所述实时性检测程序是否结束;
若否,则继续运行所述已启动的实时线程,获取所述已启动的实时线程的继续运行时刻,并将所述继续运行时刻作为启动时刻,继续执行所述获取已启动的实时线程从所述启动时刻至所述当前时刻的第二运行时长的步骤。
在其中一个实施例中,所述方法还包括:
获取所述实时性检测程序启动时刻对应的第一时间戳;
按照预设频率,获取所述实时性检测程序运行过程中当前时刻对应的第二时间戳;
通过所述第一时间戳与所述第二时间戳,确定所述实时性检测程序从所述启动时刻至所述当前时刻的所述第一运行时长;
若所述第一运行时长小于所述预设检测时长,则返回继续执行所述按照预设频率,获取所述实时性检测程序运行过程中当前时刻对应的第二时间戳的步骤。
在其中一个实施例中,所述方法还包括:
获取当前所述已启动的实时线程启动时刻对应的第三时间戳;
获取当前所述已启动的实时线程运行过程中所述当前时刻对应的第四时间戳;
通过所述第三时间戳与所述第四时间戳,确定当前所述已启动的实时线程的所述第二运行时长。
在其中一个实施例中,所述方法还包括:
若所述实时性检测程序为默认模式,则将所述预设指标参数的值设置为默认值;所述默认值为根据磁共振系统的实时需求确定的;
若所述实时性检测程序为高级模式,则通过极限值法不断调整所述预设指标参数的默认值,确定所述预设指标参数的安全临界值,并将所述预设指标参数的安全临界值作为所述预设指标参数的值。
一种操作系统实时性检测装置,所述装置包括:
线程启动模块,用于调用实时性检测程序,根据预设指标参数中的预设线程数量启动所述操作系统中的多个实时线程;
第一判断模块,用于在预设间隔时长后,若已启动实时线程的数量达到所述预设线程数量;
则判断所述实时性检测程序的第一运行时长是否大于或等于所述预设指标参数中的预设检测时长;
实时性确定模块,用于在所述第一判断模块的结果为是时,确定所述操作系统满足实时性需求。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
调用实时性检测程序,根据预设指标参数中的预设线程数量启动所述操作系统中的多个实时线程;
在预设间隔时长后,若已启动实时线程的数量达到所述预设线程数量;则判断所述实时性检测程序的第一运行时长是否大于或等于所述预设指标参数中的预设检测时长;
若所述第一运行时长大于或等于所述预设检测时长,则确定所述操作系统满足实时性需求。
一种存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
调用实时性检测程序,根据预设指标参数中的预设线程数量启动所述操作系统中的多个实时线程;
在预设间隔时长后,若已启动实时线程的数量达到所述预设线程数量;则判断所述实时性检测程序的第一运行时长是否大于或等于所述预设指标参数中的预设检测时长;
若所述第一运行时长大于或等于所述预设检测时长,则确定所述操作系统满足实时性需求。
上述操作系统实时性检测方法、装置、计算机设备和存储介质,计算机设备可以调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程,在预设间隔时长后,若已启动实时线程的数量达到预设线程数量,则判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长,若第一运行时长大于或等于预设检测时长,则确定操作系统满足实时性需求;该方法能够通过预先设置的一套预设指标参数,检测操作系统的实时性,使得检测方法变得更简单、速度更快,从而缩短了检测周期。
附图说明
图1为一个实施例中计算机设备的内部结构图;
图2为一个实施例中操作系统实时性检测方法的流程示意图;
图3为一个实施例中确定实时线程运行状态的方法流程示意图;
图4为另一个实施例中获取已启动的实时线程的运行时长的方法流程示意图;
图5为另一个实施例中设置预设指标参数值的方法流程示意图;
图6为另一个实施例中通过高级模式设置预设线程数量的过程示意图;
图7为另一个实施例中通过高级模式设置预设间隔时长的过程示意图;
图8为另一个实施例中通过高级模式设置预设线程工作时长的过程示意图;
图9为另一个实施例中通过高级模式设置预设休眠时长的过程示意图;
图10为一个实施例中操作系统实时性检测装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的操作系统实时性检测方法,可以适用于图1所示的计算机设备。如图1所示,该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储实时性检测程序。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种操作系统实时性检测方法。
在本实施例中,操作系统可以本实施例中待检测是否满足实时性的操作系统。上述计算机设备可以为磁共振计算机,磁共振计算机可以为磁共振系统的一部分,在本实施例中,磁共振系统可以包括磁共振计算机、操作系统、磁共振控制软件以及磁共振外部设备,其中,磁共振计算机可以运行操作系统,磁共振控制软件可以运行在操作系统上,是由若干个实时线程和若干个非实时线程组成。当磁共振计算机对实时性操作系统操作时,一旦操作参数超过预设指标参数,往往会触发实时性操作系统崩溃,导致磁共振计算机瘫痪,以致磁共振系统瘫痪。因此,可以采用本实施例中的一套操作系统实时性检测方法来检测操作系统的实时性,避免磁共振计算机瘫痪的情况。预设指标参数可以理解为实时性极限参数。其中,本实施例为计算机设备可以调用实时性检测程序,以执行操作系统实时性检测流程。
在一个实施例中,如图2所示,提供了一种操作系统实时性检测方法,以该方法应用于图1中的计算机设备为例进行说明,包括以下步骤:
S100、调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程。
具体的,实时性检测程序可以为一套C语言程序、C++程序、python程序等等,对此本实施例不做限定。调用实时性检测程序可以理解为启动实时性检测程序,启动实时性检测程序后,计算机设备就可以执行本实施例中操作系统实时性检测流程。计算机设备一旦启动的实时线程的数量超出实时性操作系统中实时线程的最大运行容量,就会导致实时性操作系统出现崩溃,因此,为了满足实时性磁共振系统的实时性需求,在本实施例中通过预设线程数量来检测实时线程的运行过程是否满足实时性要求。
可以理解的是,上述预设指标参数可以包括实时性操作系统的相关指标参数、与操作系统中的实时线程相关的指标参数,如极限运行时长、极限实时线程运行的极限数量、实时线程的极限运行参数等等。上述预设线程数量可以为预设指标参数中的一个极限参数或者临界参数。还可以理解的是,上述预设指标参数可以为使得计算机设备启动并稳定运行满足磁共振系统正常扫描中用以扫描控制的实时线程的数量。预设线程数量可以是用户根据操作系统的实际需求设置的,还可以为以用户设置的基础值为依据不断调整得到的指标参数。操作系统的实际需求可以理解为磁共振系统的实际需求。上述实时线程可以为通过实时性检测程序,模拟磁共振控制软件的运行模式来检测操作系统的实时性能极限。
S200、在预设间隔时长后,若已启动实时线程的数量达到预设线程数量,则判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长。
具体的,实时性操作系统中同步启动的实时线程的数量太多,会导致操作系统的负荷过大,可能会导致实时性操作系统不稳定、出现崩溃的情况,因此,为了满足磁共振系统的实时性需求,实时性操作系统启动完一个实时线程后,可以间隔一定的时长后在启动下一个实时线程,在本实施例中通过预设间隔时长来检测实时线程的运行过程是否满足实时性要求。
上述预设间隔时长为预设指标参数中的另一个极限参数或者临界参数。上述预设间隔时长可以为实时线程启动间隔最短时长或者稳定运行临界间隔时长。预设间隔时长可以为磁共振系统中扫描控制的实时线程启动间隔的最短时长,使用该“启动间隔的最短时长(即启动间隔时长)”进行操作系统的实时性检测,可以确保操作系统在一定时长内稳定运行,该稳定运行时长可以为6小时、12小时、24小时等等,对此不限定。
在本实施例中,计算机设备可以在预设间隔时长后,判断已启动实时线程的数量是否达到预设线程数量,若确定已启动实时线程的数量达到预设线程数量,则可以继续判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长。另外,计算机设备还可以在多个预设间隔时长后,判断已启动实时线程的数量是否达到预设线程数量,若确定已启动实时线程的数量达到预设线程数量,则可以继续判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长。实时性检测程序的第一运行时长可以理解为实时性检测程序启动后的某一时刻到当前时刻的运行时长,还可以理解为实时性检测程序的启动时刻到当前时刻的运行时长,对此不做限定。上述预设检测时长可以为预设指标参数中的另一个极限参数。
上述预设检测时长为预设指标参数中的另一个临界参数,可以为实时性检测程序在操作系统中稳定运行的临界运行时长。为了确保实时性检测程序在操作系统中,在一定的安全临界时长内稳定运行,计算机设备可以通过预设检测时长检测磁共振系统的实时性需求。通过预设检测时长可以检测操作系统的实时性,以确保操作系统在一定时长内稳定运行,该稳定运行时长可以为6小时、12小时、24小时等等,对此不限定。
S300、若第一运行时长大于或等于预设检测时长,则确定操作系统满足实时性需求。
具体的,若计算机设备确定实时性检测程序的第一运行时长大于或等于预设检测时长时,可以确定为当前检测的操作系统满足实时性需求。也就是,操作系统的操作参数满足预设指标参数中的所有指标参数时,可以确定操作系统满足实时性需求。
上述操作系统实时性检测方法中,计算机设备可以调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程,在预设间隔时长后,若已启动实时线程的数量达到预设线程数量,则判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长,若第一运行时长大于或等于预设检测时长,则确定操作系统满足实时性需求;该方法可以调用实时性检测程序,运行操作系统的实时性检测流程,确保操作系统满足实时性要求,避免操作系统在不安全情况下运行出现操作系统崩溃的情况,从而能够提高操作系统运行的安全性、磁共振计算机运行的安全性以及磁共振系统的稳定性;同时,该方法可以通过预先设置的一套预设指标参数,检测操作系统的实时性,使得检测方法变得更简单、速度更快,从而缩短了检测周期。
作为其中一个实施例,上述操作系统实时性检测方法还可以包括:在预设间隔时长后,若已启动实时线程的数量未达到预设线程数量,则继续启动操作系统中未启动的实时线程,直到已启动的实时线程的数量达到预设线程数量为止。
具体的,计算机设备启动操作系统中的多个实时线程,可以理解为计算机设备指示多个实时线程启动,但是,为了满足磁共振系统的实时性需求,两两实时线程启动之间需要间隔一定时长,因此,实时线程启动的时刻可以不相同,实时线程已完成启动的时刻也可以不相同。已启动实时线程可以理解为已经完成启动的实时线程。本实施例对多个实时线程启动的先后顺序可以不做限定。
在本实施例中,计算机设备可以在预设间隔时长后,判断已启动实时线程的数量是否达到预设线程数量,若确定已启动实时线程的数量未达到预设线程数量时,计算机设备可以继续启动操作系统中未启动的实时线程,直到已启动的实时线程的数量达到预设线程数量为止。另外,计算机设备还可以在多个预设间隔时长后,判断已启动实时线程的数量是否达到预设线程数量,若确定已启动实时线程的数量未达到预设线程数量时,计算机设备可以继续启动操作系统中未启动的实时线程,直到已启动的实时线程的数量达到预设线程数量为止。
上述操作系统实时性检测方法可以在预设间隔时长后,若确定已启动实时线程的数量未达到预设线程数量时,继续启动操作系统中未启动的实时线程,直到已启动的实时线程的数量达到预设线程数量为止,从而确定操作系统中启动的实时线程的相关参数满足预设指标参数,以确保磁共振系统的实时性需求,避免操作系统在不安全情况下运行出现操作系统崩溃的情况,从而能够提高操作系统运行的安全性、磁共振计算机运行的安全性以及磁共振系统的稳定性。
在一些场景中,为了下一次执行操作系统实时性检测方法时,能够参考历史操作系统实时性检测时的检测结果,因此,在本实施例中,如图3所示,上述操作系统实时性检测方法还可以包括以下步骤:
S400、获取当前时刻已启动实时线程中正常运行的实时线程的数量。
具体的,实时线程完成启动后,实时线程可以进入运行阶段。操作系统中的实时线程可以处于正常运行状态,也可能发生操作系统的内核将当前正在运行的实时系统踢掉,或者突然操作系统出现崩溃的情况,导致实时线程处于异常运行的状态。因此,在执行完上述S300的步骤之后,计算机设备可以统计当前时刻已启动实时线程中正常运行的实时线程的数量。
其中,上述当前时刻已启动实时线程中正常运行的实时线程可以理解为已启动实时线程中在当前时刻之前正常运行的实时线程。计算机设备可以对正常运行的实时线程进行标记,用于统计正常运行的实时线程的数量。
S401、判断正常运行的实时线程的数量与预设线程数量是否相等。
具体的,计算机设备可以比较正常运行的实时线程的数量与预设线程数量之间的大小关系,判断正常运行的实时线程的数量与预设线程数量是否相等。其中,上述当前时刻已启动实时线程的数量可以等于预设线程数量,也可以小于预设线程数量。
S402、若相等,则确定操作系统中的实时线程运行状态正常。
可以理解的是,若计算机设备确定当前时刻已启动实时线程中正常运行的实时线程的数量与预设线程数量相等时,可以确定操作系统中的实时线程运行状态正常。
S403、若不相等,则确定操作系统中的实时线程运行状态异常。
还可以理解的是,若计算机设备确定当前时刻已启动实时线程中正常运行的实时线程的数量与预设线程数量不相等时,可以确定操作系统中的实时线程运行状态异常,也就是,操作系统中的部分实时线程运行时出现异常或者全部实时线程运行时出现异常。
上述操作系统实时性检测方法可以确定操作系统中实时线程启动后的运行状态,使得下一次执行操作系统实时性检测方法时,能够参考历史操作系统实时性检测时的检测结果,精确检测操作系统的实时性。
作为其中一个实施例,在确定已启动的实时线程的数量达到预设线程数量之后,如图4所示,上述操作系统实时性检测方法还可以包括以下步骤:
S500、针对每个已启动实时线程,获取已启动的实时线程从启动时刻至当前时刻的第二运行时长。
具体的,每个实时线程已完成启动后,就可以进入实时线程运行阶段。在确定已启动的实时线程的数量达到预设线程数量之后,针对每个已启动实时线程,计算机设备可以获取已启动的实时线程从启动时刻至当前时刻的运行时长,即第二运行时长。
如,已启动的实时线程1的启动时刻为1点,已启动的实时线程2的启动时刻为1点03分,当前时刻为1点15分,则已启动的实时线程1从启动时刻至当前时刻的运行时长为15分钟,已启动的实时线程2从启动时刻至当前时刻的运行时长为12分钟。
S501、若第二运行时长小于预设指标参数中的预设线程工作时长,则返回执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,直到第二运行时长大于或等于预设线程工作时长,停止运行已启动的实时线程,并根据预设休眠时长控制已启动的实时线程进入休眠状态。
具体的,若计算机设备确定第二运行时长小于预设指标参数中的预设线程工作时长时,表明还有一定的时长供实时线程运行,此时,可以继续执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,也就是在已启动的实时线程运行过程中,不断更新当前时刻,不断更新第二运行时长,直到第二运行时长大于或等于预设线程工作时长为止,可以停止当前运行的已启动的实时线程,并且根据预设休眠时长控制当前运行的已启动的实时线程进入休眠状态。停止当前运行的已启动的实时线程时,已启动的部分实时线程有可能已经完成运行。
在本实施例中,计算机设备还可以记录操作系统的运行状态,该运行状态包括异常状态和正常状态。确定操作系统运行状态为异常状态的方法可以包括两种,一种是已启动的实时线程在第二运行时长内,有部分已启动的实时线程异常退出,如运行结束前,获取当前实时线程数量与预设线程数量不一致,表明在第二运行时长内有部分已启动的实时线程出现运行异常状态,另一种是操作系统在运行时长内,发生死机、部分崩溃、自动重启等异常状况。确定操作系统运行状态为正常状态的方法可以为已启动的实时线程在预设检测时长内,没有异常退出的情况,且完整执行完整个预设检测时长。
上述预设线程工作时长为预设指标参数中的另一个极限参数或者临界参数,可以理解为实时线程运行的最大连续时长或稳定运行临界运行时长。操作系统中实时线程不能长时间占用中央处理器,但不同的操作系统所能支持的实时线程连续的工作时长可以不同。预设线程工作时长可以为磁共振系统中扫描控制的实时线程连续运行的最大时长,使用该“连续运行的最大时长(即连续运行时长)”进行操作系统的实时性检测,可以确保操作系统在一定时长内稳定运行,该稳定运行时长可以为6小时、12小时、24小时等等,对此不限定。
上述预设休眠时长为预设指标参数中的另一个极限参数或者临界参数,可以理解为实时线程的最短休眠时长或临界休眠时长。操作系统中实时线程不能长时间占用中央处理器,会导致其它未运行的实时线程排队等待时间过长,若未运行的实时线程的排队时长出现超时,可能会触发操作系统致命错误,使得操作系统崩溃。预设休眠时长可以为磁共振系统中扫描控制的实时线程的最短休眠时长,使用该“最短休眠时长(即休眠时长)”进行操作系统的实时性检测,可以确保操作系统在一定时长内稳定运行,该稳定运行时长可以为6小时、12小时、24小时等等,对此不限定。
S502、判断实时性检测程序是否结束。
在本实施例中,计算机设备控制已启动的实时线程休眠预设休眠时长后,可以判断实时性检测程序是否运行结束。
S503、若否,则继续运行已启动的实时线程,获取已启动的实时线程的继续运行时刻,并将继续运行时刻作为启动时刻,继续执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤。
其中,在计算机设备确定实时性检测程序未结束运行时,计算机设备可以继续运行已启动的实时线程中未运行完的线程,并记录继续运行的已启动的实时线程的继续运行时刻,将继续运行时刻作为启动时刻,进一步继续执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,以使在操作系统满足实时性需求的同时,尽量使得已启动的实时线程完成运行,得到资源利用最大化。
上述操作系统实时性检测方法可以针对每个已启动实时线程,获取已启动的实时线程从启动时刻至当前时刻的第二运行时长,若第二运行时长小于预设指标参数中的预设线程工作时长,则返回执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,直到第二运行时长大于或等于预设线程工作时长,停止运行已启动的实时线程,并根据预设休眠时长控制已启动的实时线程进入休眠状态,判断实时性检测程序是否结束,若否,则继续运行已启动的实时线程,获取已启动的实时线程的继续运行时刻,并将继续运行时刻作为启动时刻,继续执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,以使在操作系统满足实时性需求的同时,尽量使得已启动的实时线程完成运行,得到资源利用最大化;同时,该方法可以通过预先设置的一套预设指标参数,检测操作系统的实时性,使得检测方法变得更简单、速度更快,从而缩短了检测周期。
作为其中一个实施例,在上述判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长的步骤之前,上述操作系统实时性检测方法还可以包括以下步骤:获取实时性检测程序启动时刻对应的第一时间戳,按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳,并通过第一时间戳与第二时间戳,确定实时性检测程序从启动时刻至当前时刻的第一运行时长。
可以理解的是,在实时性检测程序启动时,计算机设备可以记录实时性检测程序启动时刻的时间戳,即第一时间戳。该时间戳的格式可以包括小时、分钟和秒,时间戳可以理解为计算机设备的本地时间。在实时性检测程序启动后,计算机设备可以根据预设频率,不断获取当前时刻对应的时间戳,即第二时间戳。计算机设备可以通过第一时间戳和第二时间戳,计算实时性检测程序从启动时刻至当前时刻的运行时长,即第一运行时长。上述预设指标参数中的预设检测时长可以理解为实时性检测程序的主线程管理所有实时线程的检测时长,如第一运行时长,在本实施例中,该第一运行时长在不断变化。本实施例中,实时性检测程序的主线程通过预设检测时长控制实时线程在操作系统中的运行时长,且实时线程需要被动控制停止运行,若实时性检测程序的主线程不停止,实时线程也会不断运行。
其中,在上述S200之后,上述方法还可以包括:若第一运行时长小于预设检测时长,则返回继续执行按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳的步骤。
可以理解的是,若计算机设备确定第一运行时长小于预设指标参数中的预设检测时长时,表明还有一定的时长供实时性检测程序运行,此时,可以继续执行按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳的步骤,也就是在实时性检测程序运行过程中,不断更新当前时刻,不断更新第一运行时长,直到第一运行时长大于或等于预设线程工作时长为止,可以停止运行实时性检测程序,以确保操作系统满足实时性需求,安全、稳定运行。
本实施例可以通过实时性指标参数检测实时性检测程序在操作系统中安全、稳定运行,以确保操作系统满足实时性需求。
上述操作系统实时性检测方法可以获取实时性检测程序启动时刻对应的第一时间戳,按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳,并通过第一时间戳与第二时间戳,确定实时性检测程序从启动时刻至当前时刻的第一运行时长,进一步根据第一运行时长与实时性指标参数进行比较,以确保操作系统满足实时性需求;该方法通过实时性指标参数进行检测,使得检测方法变得更简单、速度更快,从而缩短了检测周期。
作为其中一个实施例,上述S500中获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,具体可以包括:获取当前已启动的实时线程启动时刻对应的第三时间戳,获取当前已启动的实时线程运行过程中当前时刻对应的第四时间戳,并通过第三时间戳与第四时间戳,确定当前已启动的实时线程的第二运行时长。
可以理解的是,在当前已启动的实时线程启动时,计算机设备可以记录当前已启动的实时线程启动时刻的时间戳,即第三时间戳。其中,当前时刻可以为一个变化的参数,随着实时线程的运行时间而变化。已启动的实时线程进入运行阶段后,每隔一定时长,可以记录对应的时间戳,即第四时间戳,进而根据第三时间戳和第四时间戳计算当前已启动的实时线程的第二运行时长。实时线程运行过程中获取到的当前时刻与实时性检测程序运行过程中获取到的当前时刻可以不相同。
上述操作系统实时性检测方法可以获取当前已启动的实时线程的第二运行时长,进一步根据第二运行时长与实时性指标参数进行比较,以确保操作系统满足实时性需求;该方法通过实时性指标参数进行检测,使得检测方法变得更简单、速度更快,从而缩短了检测周期。
作为其中一个实施例,在上述所有步骤之前,如图5所示,上述方法还可以包括以下步骤:
S600、若实时性检测程序为默认模式,则将预设指标参数的值设置为默认值;默认值为根据磁共振系统的实时需求确定的。
具体的,计算机设备可以触发实时性检测程序中的默认模式,以自动设置预设指标参数的值为默认值,并能够通过默认值检测操作系统的实时性。且计算机设备可以根据磁共振系统的实时需求设置预设指标参数对应的默认值。在本实施例中,上述预设指标参数可以包括预设线程数量、预设间隔时长、预设线程工作时长、预设休眠时长和预设检测时长。默认模式下设置的预设指标参数的默认值都是通过获取磁共振系统的实时性需求,使用同等或略高的数值进行设置。
为了方便无技术背景的用户执行检测过程,无需对操作系统有太多的了解,在执行上述方法之前,将所有预设指标参数的值均可以直接设置为默认值。通过设置的一套默认值执行上述检测方法,若检测过程中未发生操作系统异常,可以表明操作系统满足磁共振系统的实时要求。在本实施例中,默认值一般为操作系统满足磁共振系统的实时性需求的极限值,也就是满足操作系统实时性需求的极限值。预设指标参数的默认值的设置方法具体如下:
(1)预设线程数量:初始化实时线程的数量,在操作系统中的实时线程运行时,不断增加初始化的实时线程的数量,直到实时线程启动失败或系统崩溃,得到一个极限值,也就是增大后的当前已经启动的实时线程的数量,并将该极限值可以作为预设线程数量,也即实时性操作系统满足实时性运行需求时可启动实时线程的最大容量;在本实施例中,依据磁共振系统在扫描过程中需要启动的实时线程的最大数量乘以2倍,可以作为默认模式下预设线程数量的默认数量;
(2)预设间隔时长:初始化实时线程的启动间隔时长,在操作系统中的实时线程运行时,不断缩短初始化的启动间隔时长,直到实时线程启动失败或系统崩溃,得到一个极限值,也就是缩短后的当前启动间隔时长,并将该极限值可以作为预设间隔时长;在本实施例中,依据磁共振系统中操作系统的实时线程的最小启动间隔时长可以作为默认模式下预设间隔时长的默认数量,默认两两实时线程之间的最小启动间隔时长可以相同;
(3)预设线程工作时长:初始化实时线程工作时长,在操作系统中的实时线程运行时,不断增大初始化的实时线程工作时长,直到实时线程被内核踢掉或系统崩溃,得到一个极限值,也就是增大后的当前的实时线程工作时长,并将该极限值作为预设线程工作时长;在本实施例中,依据磁共振系统中操作系统的实时线程的最大工作时长可以作为默认模式下预设线程工作时长的默认数量;
(4)预设休眠时长:初始化实时线程休眠时长,在操作系统中的实时线程运行时,不断缩减初始化的实时线程休眠时长,直到实时线程被内核踢掉或系统崩溃,得到一个极限值,也就是缩减后的当前的实时线程休眠时长,并将该极限值作为预设休眠时长;在本实施例中,依据磁共振系统中操作系统的实时线程的最短休眠时长可以作为默认模式下预设休眠时长的默认数量,默认两两实时线程之间的最短休眠时长可以相同;
(5)预设检测时长:初始化实时性检测程序运行时长,在实时性检测程序运行时,不断增大初始化的实时性检测程序运行时长,直到操作系统崩溃,得到一个极限值,也就是增大后的当前实时性检测程序运行时长,并将该极限值可以作为预设检测时长;在本实施例中,依据磁共振系统的系统用户对应的日工作时长乘以1.5倍,可以作为默认模式下预设检测时长的默认数量。
在本实施例中,对预设检测时长进行默认模式设置时,在将预设指标参数中的其它参数值设置为默认值的基础上,可以设置预设检测时长,以确保操作系统在一定时长内稳定运行,该稳定运行时长可以为6小时、12小时、24小时等等,对此不限定。
S601、若实时性检测程序为高级模式,则通过极限值法不断调整预设指标参数的默认值,确定预设指标参数的安全临界值,并将预设指标参数的安全临界值作为预设指标参数的值。
具体的,计算机设备可以触发实时性检测程序中的高级模式,以根据实际需求不断调整预设指标参数的默认值,得到预设指标参数的安全临界值。安全临界值也可以为实时线程稳定运行的临界值。在高级模式下设置预设指标参数中的任意各指标参数的值时,可以将其它指标参数的值设置为默认值,对当前需要调整的指标参数从默认值为基础进行调整。如果有检测需求时,可以可以同时将预设指标参数中所有指标参数的值设置为默认值,并在默认值的基础上同时调整。
上述预设指标参数的安全临界值的设置方法具体如下:
(1)预设线程数量:在本实施例中,对于高级模式下设置预设线程数量,是在预设指标参数中的其它指标参数设置为默认值,且不变的情况下,调整预设线程数量的初始默认值(图6中左侧第一个虚线标记的位置为预设线程数量的默认值),不断增大推进,寻找操作系统在特定条件下,实时线程容纳的最大数量的极限值(图6中最右侧虚线标记的位置),超过这个极限值就会造成操作系统崩溃,在极限值的基础上回退预设数量,作为安全临界点(图6中中间虚线标记的位置),提供给磁共振系统的开发人员,控制实时线程启动的数量,本实施可以将该安全临界点对应的值作为预设线程数量,不建议超过安全临界点的值,图6中右侧两个虚线之间的区域可以属于安全缓冲区;其中,预设数量可以为预设线程数量默认值的一定百分比,如,预设线程数量默认值的5%、10%、20%等等;
(2)预设间隔时长:在本实施例中,对于高级模式下设置预设间隔时长,是在预设指标参数中的其它指标参数设置为默认值,且保持不变,调整预设间隔时长的初始默认值,不断缩短推进,寻找操作系统在特定条件下,实时线程间隔时长的最小极限值,低于这个极限值就会造成操作系统崩溃,在极限值的基础上回退预设时长,作为安全临界点,提供给磁共振系统的开发人员,控制实时线程启动间隔时长,本实施可以将该安全临界点对应的值作为预设间隔时长,不建议低于安全临界点的值;其中,该预设时长可以为预设间隔时长默认值的一定百分比,如,预设间隔时长默认值的5%、10%、20%等等;
另外,若预设指标参数中的其它指标参数已经设置有安全临界值,则可以将已经设置的指标参数的值设置为安全临界值,将未设置的指标参数的值设置为默认值,对当前指标参数的值进行调整。如图7所示,将预设线程数量的值设置为安全临界值,预设指标参数中的其它指标参数的值均设置为默认值,且保持不变,调整预设间隔时长的初始默认值,不断缩短推进,寻找操作系统在特定条件下,实时线程间隔时长的最小极限值,低于这个极限值就会造成操作系统崩溃,在极限值的基础上回退预设时长,作为安全临界点,提供给磁共振系统的开发人员,控制实时线程启动间隔时长,本实施可以将该安全临界点对应的值作为预设间隔时长,不建议低于安全临界点的值,图7中左侧两个虚线之间的区域可以属于安全缓冲区;
(3)预设线程工作时长:在本实施例中,对于高级模式下设置预设线程工作时长,是在预设指标参数中的其它指标参数设置为默认值,且保持不变,调整预设线程工作时长的初始默认值,不断增加推进,寻找操作系统在特定条件下,实时线程连续工作时长的最大极限值,高于这个极限值就会造成操作系统崩溃,在极限值的基础上回退预设工作时长,作为安全临界点,提供给磁共振系统的开发人员,控制实时线程的连续工作时长,本实施可以将该安全临界点对应的值作为预设线程工作时长,不建议高于安全临界点的值;其中,该预设工作时长可以为预设线程工作时长默认值的一定百分比,如,预设线程工作时长默认值的5%、10%、20%等等;
另外,若预设指标参数中的其它指标参数已经设置有安全临界值,则可以将已经设置的指标参数的值设置为安全临界值,将未设置的指标参数的值设置为默认值,对当前指标参数的值进行调整。如图8所示,将预设线程数量和预设间隔时长的值均设置为安全临界值,预设指标参数中的其它指标参数的值均设置为默认值,且保持不变,调整预设线程工作时长的初始默认值,不断增加推进,寻找操作系统在特定条件下,实时线程连续工作时长的最大极限值,高于这个极限值就会造成操作系统崩溃或者实时线程被踢掉,在极限值的基础上回退预设工作时长,作为安全临界点,提供给磁共振系统的开发人员,控制实时线程连续工作时长,本实施可以将该安全临界点对应的值作为预设线程工作时长,不建议高于安全临界点的值,图8中右侧两个虚线之间的区域可以属于安全缓冲区;
(4)预设休眠时长:在本实施例中,对于高级模式下设置预设休眠时长,是在预设指标参数中的其它指标参数设置为默认值,且保持不变,调整预设休眠时长的初始默认值,不断缩短推进,寻找操作系统在特定条件下,实时线程休眠时长的最小极限值,低于这个极限值就会造成操作系统崩溃或者实时线程被踢掉,在极限值的基础上回退预设时长,作为安全临界点,提供给磁共振系统的开发人员,控制实时线程休眠时长,本实施可以将该安全临界点对应的值作为预设休眠时长,不建议低于安全临界点的值;其中,该预设时长可以为预设休眠时长默认值的一定百分比,如,预设休眠时长默认值的5%、10%、20%等等;
另外,若预设指标参数中的其它指标参数已经设置有安全临界值,则可以将已经设置的指标参数的值设置为安全临界值,将未设置的指标参数的值设置为默认值,对当前指标参数的值进行调整。将预设线程数量、预设间隔时长和预设线程工作时长的值设置为安全临界值,预设指标参数中的其它指标参数的值均设置为默认值,且保持不变,调整预设休眠时长的初始默认值,不断缩短推进,寻找操作系统在特定条件下,实时线程休眠时长的最小极限值,低于这个极限值就会造成操作系统崩溃或者实时线程被踢掉,在极限值的基础上回退预设时长,作为安全临界点,提供给磁共振系统的开发人员,控制实时线程休眠时长,本实施可以将该安全临界点对应的值作为预设休眠时长,不建议低于安全临界点的值;
(5)预设检测时长:在本实施例中,对于高级模式下设置预设检测时长,是在预设指标参数中的其它指标参数设置为默认值,且保持不变,调整预设检测时长的初始默认值,不断增加推进,直到满足实时性检测次数达到传统的实时性检测次数的十倍或者十倍以上,且操作系统无异常时,将当前的预设检测时长作为安全临界值,本实施可以将该安全临界点对应的值作为预设检测时长,不建议高于安全临界点的值;
另外,若预设指标参数中的其它指标参数已经设置有安全临界值,则可以将已经设置的指标参数的值设置为安全临界值,将未设置的指标参数的值设置为默认值,对当前指标参数的值进行调整。如图9所示,将预设线程数量、预设间隔时长、预设休眠时长和预设线程工作时长的值均设置为安全临界值,预设指标参数中的其它指标参数的值均设置为默认值,且保持不变,调整预设检测时长的初始默认值,不断增加推进,直到满足实时性检测次数达到传统的实时性检测次数的十倍或者十倍以上,且操作系统无异常时,将当前的预设检测时长作为安全临界值,本实施可以将该安全临界点对应的值作为预设检测时长,不建议高于安全临界点的值。
还有,在预设指标参数的设置时间比较充裕时,可以设置操作系统在负荷状态下可运行的最大时长,也可以将该最大时长作为预设检测时长。
上述操作系统实时性检测方法可以预先设置一套预设指标参数,通过预先设置的一套预设指标参数,检测操作系统的实时性,使得检测方法变得更简单、速度更快,从而缩短了检测周期;该方法能够有预先设置一套预设指标参数值,避免检测操作系统实时性的过程顺利进行,提高检测结果的准确性;另外,该方法能够预先设置预设指标参数值的安全缓冲区,使得预设指标参数的值可以在较宽的范围内选定,从而能够提高操作系统健壮性检测效果。
为了便于本领域技术人员的理解,以执行主体为计算机设备为例介绍本申请提供的操作系统实时性检测方法,具体的,该方法包括:
(1)若实时性检测程序为默认模式,则将预设指标参数的值设置为默认值;默认值为根据磁共振系统的实时需求确定的;
(2)若实时性检测程序为高级模式,则通过极限值法不断调整预设指标参数的默认值,确定预设指标参数的安全临界值,并将预设指标参数的安全临界值作为预设指标参数的值。
(3)调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程。
(4)获取实时性检测程序启动时刻对应的第一时间戳;
(5)在预设间隔时长后,若已启动实时线程的数量未达到预设线程数量,则继续启动操作系统中未启动的实时线程,直到已启动的实时线程的数量达到预设线程数量为止。
(6)若已启动实时线程的数量达到预设线程数量,则针对每个已启动实时线程,获取当前已启动的实时线程启动时刻对应的第三时间戳;
(7)获取当前已启动的实时线程运行过程中当前时刻对应的第四时间戳;
(8)通过第三时间戳与第四时间戳,确定当前已启动的实时线程的第二运行时长。
(9)若第二运行时长小于预设指标参数中的预设线程工作时长,则返回执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,直到第二运行时长大于或等于预设线程工作时长,停止运行已启动的实时线程,并根据预设休眠时长控制已启动的实时线程进入休眠状态;
(10)判断实时性检测程序是否结束;
(11)若否,则继续运行已启动的实时线程,获取已启动的实时线程的继续运行时刻,并将继续运行时刻作为启动时刻,继续执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤。
(12)按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳;
(13)通过第一时间戳与第二时间戳,确定实时性检测程序从启动时刻至当前时刻的第一运行时长。
(14)判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长;
(15)若第一运行时长大于或等于预设检测时长,则确定操作系统满足实时性需求。
(16)若第一运行时长小于预设检测时长,则返回继续执行按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳的步骤。
(17)获取当前时刻已启动实时线程中正常运行的实时线程的数量;
(18)判断正常运行的实时线程的数量与预设线程数量是否相等;
(19)若相等,则确定操作系统中的实时线程运行状态正常;
(20)若不相等,则确定操作系统中的实时线程运行状态异常。
以上(1)至(20)的执行过程具体可以参见上述实施例的描述,其实现原理和技术效果类似,在此不再赘述。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图10所示,提供了一种操作系统实时性检测装置,包括:线程启动模块11、第一判断模块12和实时性确定模块13,其中:
线程启动模块11,用于调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程;
第一判断模块12,用于在预设间隔时长后,若已启动实时线程的数量达到预设线程数量;
则判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长;
实时性确定模块13,用于在第一判断模块的结果为是时,确定操作系统满足实时性需求。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,操作系统实时性检测装置还包括:第一确定执行模块,其中:
第一确定执行模块,用于在已启动实时线程的数量未达到预设线程数量时,继续启动操作系统中未启动的实时线程,直到已启动的实时线程的数量达到预设线程数量为止。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,操作系统实时性检测装置还包括:线程数量获取模块、第二判断模块、第一确定模块和第二确定模块,其中:
线程数量获取模块,用于获取当前时刻已启动实时线程中正常运行的实时线程的数量;
第二判断模块,用于判断正常运行的实时线程的数量与预设线程数量是否相等;
第一确定模块,用于第二判断模块的判断结果为相等时,确定操作系统中的实时线程运行状态正常;
第二确定模块,用于第二判断模块的判断结果为不相等时,确定操作系统中的实时线程运行状态异常。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,操作系统实时性检测装置还包括:第一运行时长获取模块、第二确定执行模块、第三判断模块和第三确定执行模块,其中:
第一运行时长获取模块,用于针对每个已启动实时线程,获取已启动的实时线程从启动时刻至当前时刻的第二运行时长;
第二确定执行模块,用于在第二运行时长小于预设指标参数中的预设线程工作时长时,返回执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤,直到第二运行时长大于或等于预设线程工作时长,停止运行已启动的实时线程,并根据预设休眠时长控制已启动的实时线程进入休眠状态;
第三判断模块,用于判断实时性检测程序是否结束;
第三确定执行模块,用于第三判断模块的判断结果为否时,继续运行已启动的实时线程,获取已启动的实时线程的继续运行时刻,并将继续运行时刻作为启动时刻,继续执行获取已启动的实时线程从启动时刻至当前时刻的第二运行时长的步骤。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,操作系统实时性检测装置还包括:第一时间戳获取模块、第二时间戳获取模块和第二运行时长获取模块,其中:
第一时间戳获取模块,用于获取实时性检测程序启动时刻对应的第一时间戳;
第二时间戳获取模块,用于按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳;
第二运行时长获取模块,用于通过第一时间戳与第二时间戳,确定实时性检测程序从启动时刻至当前时刻的第一运行时长。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,操作系统实时性检测装置还包括:第四确定执行模块,其中:
第四确定执行模块,用于第一运行时长小于预设检测时长时,返回继续执行按照预设频率,获取实时性检测程序运行过程中当前时刻对应的第二时间戳的步骤。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,操作系统实时性检测装置还包括:第三时间戳获取模块、第四时间戳获取模块和第三运行时长获取模块,其中:
第三时间戳获取模块,用于获取当前已启动的实时线程启动时刻对应的第三时间戳;
第四时间戳获取模块,用于获取当前已启动的实时线程运行过程中当前时刻对应的第四时间戳;
第三运行时长获取模块,用于通过第三时间戳与第四时间戳,确定当前已启动的实时线程的第二运行时长。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
在其中一个实施例中,操作系统实时性检测装置还包括:指标默认设置模块和指标高级设置模块,其中:
指标默认设置模块,用于在实时性检测程序为默认模式时,将预设指标参数的值设置为默认值,指标参数包括启动数量、检测时长、实时线程工作时长以及实时线程休眠时长;默认值为根据磁共振系统的实时需求确定的;
指标高级设置模块,用于在实时性检测程序为高级模式时,通过极限值法不断调整预设指标参数的默认值,确定预设指标参数的安全临界值,并将预设指标参数的安全临界值作为预设指标参数的值。
本实施例提供的操作系统实时性检测装置,可以执行上述方法实施例,其实现原理和技术效果类似,在此不再赘述。
关于操作系统实时性检测装置的具体限定可以参见上文中对于操作系统实时性检测方法的限定,在此不再赘述。上述操作系统实时性检测装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
本领域技术人员可以理解,图1中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程;
在预设间隔时长后,若已启动实时线程的数量达到预设线程数量,则判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长;
若第一运行时长大于或等于预设检测时长,则确定操作系统满足实时性需求。
在一个实施例中,提供了一种存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
调用实时性检测程序,根据预设指标参数中的预设线程数量启动操作系统中的多个实时线程;
在预设间隔时长后,若已启动实时线程的数量达到预设线程数量,则判断实时性检测程序的第一运行时长是否大于或等于预设指标参数中的预设检测时长;
若第一运行时长大于或等于预设检测时长,则确定操作系统满足实时性需求。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random AccessMemory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(StaticRandomAccessMemory,SRAM)或动态随机存取存储器(DynamicRandomAccessMemory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种操作系统实时性检测方法,其特征在于,所述方法包括:
调用实时性检测程序,根据预设指标参数中的预设线程数量启动所述操作系统中的多个实时线程;
在预设间隔时长后,若已启动实时线程的数量达到所述预设线程数量,则判断所述实时性检测程序的第一运行时长是否大于或等于所述预设指标参数中的预设检测时长;
若所述第一运行时长大于或等于所述预设检测时长,则确定所述操作系统满足实时性需求。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若所述已启动实时线程的数量未达到所述预设线程数量,则继续启动所述操作系统中未启动的实时线程,直到已启动的实时线程的数量达到所述预设线程数量为止。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取当前时刻所述已启动实时线程中正常运行的实时线程的数量;
判断所述正常运行的实时线程的数量与所述预设线程数量是否相等;
若相等,则确定所述操作系统中的实时线程运行状态正常;
若不相等,则确定所述操作系统中的实时线程运行状态异常。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
针对每个所述已启动实时线程,获取已启动的实时线程从启动时刻至当前时刻的第二运行时长;
若所述第二运行时长小于所述预设指标参数中的预设线程工作时长,则返回执行所述获取已启动的实时线程从所述启动时刻至所述当前时刻的第二运行时长的步骤,直到所述第二运行时长大于或等于所述预设线程工作时长,停止运行所述已启动的实时线程,并根据预设休眠时长控制所述已启动的实时线程进入休眠状态;
判断所述实时性检测程序是否结束;
若否,则继续运行所述已启动的实时线程,获取所述已启动的实时线程的继续运行时刻,并将所述继续运行时刻作为启动时刻,继续执行所述获取已启动的实时线程从所述启动时刻至所述当前时刻的第二运行时长的步骤。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述实时性检测程序启动时刻对应的第一时间戳;
按照预设频率,获取所述实时性检测程序运行过程中当前时刻对应的第二时间戳;
通过所述第一时间戳与所述第二时间戳,确定所述实时性检测程序从所述启动时刻至所述当前时刻的所述第一运行时长;
若所述第一运行时长小于所述预设检测时长,则返回继续执行所述按照预设频率,获取所述实时性检测程序运行过程中当前时刻对应的第二时间戳的步骤。
6.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取当前所述已启动的实时线程启动时刻对应的第三时间戳;
获取当前所述已启动的实时线程运行过程中所述当前时刻对应的第四时间戳;
通过所述第三时间戳与所述第四时间戳,确定当前所述已启动的实时线程的所述第二运行时长。
7.根据权利要求1-6中任一项所述的方法,其特征在于,所述方法还包括:
若所述实时性检测程序为默认模式,则将所述预设指标参数的值设置为默认值;所述默认值为根据磁共振系统的实时需求确定的;
若所述实时性检测程序为高级模式,则通过极限值法不断调整所述预设指标参数的默认值,确定所述预设指标参数的安全临界值,并将所述预设指标参数的安全临界值作为所述预设指标参数的值。
8.一种操作系统实时性检测装置,其特征在于,所述装置包括:
线程启动模块,用于调用实时性检测程序,根据预设指标参数中的预设线程数量启动所述操作系统中的多个实时线程;
第一判断模块,用于在预设间隔时长后,若已启动实时线程的数量达到所述预设线程数量;
则判断所述实时性检测程序的第一运行时长是否大于或等于所述预设指标参数中的预设检测时长;
实时性确定模块,用于在所述第一判断模块的结果为是时,确定所述操作系统满足实时性需求。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110971037.9A CN113778824A (zh) | 2021-08-23 | 2021-08-23 | 操作系统实时性检测方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110971037.9A CN113778824A (zh) | 2021-08-23 | 2021-08-23 | 操作系统实时性检测方法、装置、计算机设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113778824A true CN113778824A (zh) | 2021-12-10 |
Family
ID=78838955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110971037.9A Pending CN113778824A (zh) | 2021-08-23 | 2021-08-23 | 操作系统实时性检测方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113778824A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296865A (zh) * | 2021-12-15 | 2022-04-08 | 中汽创智科技有限公司 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294168A (zh) * | 2016-08-16 | 2017-01-04 | 广州华多网络科技有限公司 | 一种进行应用程序测试的方法和系统 |
CN106649042A (zh) * | 2016-12-28 | 2017-05-10 | 深圳市深信服电子科技有限公司 | 一种cpu负载信息的处理方法及处理装置 |
CN108845883A (zh) * | 2018-06-14 | 2018-11-20 | 上海联影医疗科技有限公司 | 线程调优方法、装置、计算机设备和存储介质 |
US20190065182A1 (en) * | 2017-08-24 | 2019-02-28 | International Business Machines Corporation | Automatic machine-learning high value generator |
CN109491858A (zh) * | 2018-10-15 | 2019-03-19 | 山东中创软件商用中间件股份有限公司 | 一种应用线程检测方法、瓶颈分析方法、装置及设备 |
CN109840141A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 基于云监控的线程控制方法、装置、电子设备及存储介质 |
US20190278849A1 (en) * | 2018-03-09 | 2019-09-12 | Microsoft Technology Licensing, Llc | Key-value store system |
CN110427268A (zh) * | 2019-08-01 | 2019-11-08 | 浪潮电子信息产业股份有限公司 | 一种加速器的性能影响因素的侦测方法及相关装置 |
CN110430318A (zh) * | 2019-07-04 | 2019-11-08 | 惠州Tcl移动通信有限公司 | 移动终端wifi调用控制方法、移动终端及存储介质 |
CN111008115A (zh) * | 2019-10-31 | 2020-04-14 | 苏州浪潮智能科技有限公司 | Android系统的稳定性测试装置、方法及存储介质 |
CN111190753A (zh) * | 2019-12-30 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 分布式任务处理方法、装置、存储介质和计算机设备 |
CN111352791A (zh) * | 2018-12-20 | 2020-06-30 | 深圳市优必选科技有限公司 | 一种系统应用的检测方法、装置、终端设备及存储介质 |
CN112444635A (zh) * | 2019-08-30 | 2021-03-05 | 深圳迈瑞生物医疗电子股份有限公司 | 一种流水线系统及其时间预测方法、存储介质 |
CN112673354A (zh) * | 2018-10-26 | 2021-04-16 | 深圳市欢太科技有限公司 | 一种系统状态检测方法、系统状态装置及终端设备 |
-
2021
- 2021-08-23 CN CN202110971037.9A patent/CN113778824A/zh active Pending
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106294168A (zh) * | 2016-08-16 | 2017-01-04 | 广州华多网络科技有限公司 | 一种进行应用程序测试的方法和系统 |
CN106649042A (zh) * | 2016-12-28 | 2017-05-10 | 深圳市深信服电子科技有限公司 | 一种cpu负载信息的处理方法及处理装置 |
US20190065182A1 (en) * | 2017-08-24 | 2019-02-28 | International Business Machines Corporation | Automatic machine-learning high value generator |
US20190278849A1 (en) * | 2018-03-09 | 2019-09-12 | Microsoft Technology Licensing, Llc | Key-value store system |
CN108845883A (zh) * | 2018-06-14 | 2018-11-20 | 上海联影医疗科技有限公司 | 线程调优方法、装置、计算机设备和存储介质 |
CN109491858A (zh) * | 2018-10-15 | 2019-03-19 | 山东中创软件商用中间件股份有限公司 | 一种应用线程检测方法、瓶颈分析方法、装置及设备 |
CN112673354A (zh) * | 2018-10-26 | 2021-04-16 | 深圳市欢太科技有限公司 | 一种系统状态检测方法、系统状态装置及终端设备 |
CN109840141A (zh) * | 2018-12-15 | 2019-06-04 | 平安科技(深圳)有限公司 | 基于云监控的线程控制方法、装置、电子设备及存储介质 |
CN111352791A (zh) * | 2018-12-20 | 2020-06-30 | 深圳市优必选科技有限公司 | 一种系统应用的检测方法、装置、终端设备及存储介质 |
CN110430318A (zh) * | 2019-07-04 | 2019-11-08 | 惠州Tcl移动通信有限公司 | 移动终端wifi调用控制方法、移动终端及存储介质 |
CN110427268A (zh) * | 2019-08-01 | 2019-11-08 | 浪潮电子信息产业股份有限公司 | 一种加速器的性能影响因素的侦测方法及相关装置 |
CN112444635A (zh) * | 2019-08-30 | 2021-03-05 | 深圳迈瑞生物医疗电子股份有限公司 | 一种流水线系统及其时间预测方法、存储介质 |
CN111008115A (zh) * | 2019-10-31 | 2020-04-14 | 苏州浪潮智能科技有限公司 | Android系统的稳定性测试装置、方法及存储介质 |
CN111190753A (zh) * | 2019-12-30 | 2020-05-22 | 腾讯科技(深圳)有限公司 | 分布式任务处理方法、装置、存储介质和计算机设备 |
Non-Patent Citations (3)
Title |
---|
曹廷发;吉华;马江;付耀国;: "Linux/RTLinux下实时多线程实时性检测方法", 计算机技术与发展, vol. 20, no. 03, 10 March 2010 (2010-03-10), pages 113 - 115 * |
王瑞荣, 汪乐宇: "事件触发并发数据流模型", 软件学报, vol. 14, no. 03, 23 March 2003 (2003-03-23), pages 409 - 414 * |
陈广涛;戴胜华;: "Windows CE.NET实时性能的测试与研究", 微计算机应用, vol. 27, no. 06, 15 November 2006 (2006-11-15), pages 735 - 738 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114296865A (zh) * | 2021-12-15 | 2022-04-08 | 中汽创智科技有限公司 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
CN114296865B (zh) * | 2021-12-15 | 2024-03-26 | 中汽创智科技有限公司 | 一种虚拟机线程的调度方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8601493B2 (en) | Application controlling apparatus and storage medium which stores software for the apparatus | |
US20040039935A1 (en) | Method and device for measuring the execution time of a real task in a real time system | |
CN113778824A (zh) | 操作系统实时性检测方法、装置、计算机设备及存储介质 | |
CN108885570B (zh) | 车辆控制装置 | |
RU2603497C2 (ru) | Способ управления исполнением задачи в компьютерной системе | |
JP2004005305A (ja) | メモリ使用容量の監視方法及び計算機システム | |
EP1586995A1 (en) | Digital controller controlling execution of periodic control tasks | |
US20080276247A1 (en) | Method for the Real-Time Analysis of a System | |
CN107957950B (zh) | 一种系统资源泄露的检测方法和装置 | |
JP2001331348A (ja) | プロセスメモリ消費量増加傾向検出方式 | |
EP1248192A2 (en) | Processing execution apparatus having data reference limiting function | |
JP2008003940A (ja) | 保護制御装置、保護制御方法及び保護制御プログラム | |
CN114116318A (zh) | 数据备份方法、装置、计算机设备和存储介质 | |
US9891615B2 (en) | Numerical controller with function of automatically reconstructing settings and function of preventing incorrect settings | |
JP3389745B2 (ja) | プログラムの性能測定装置と方法 | |
JP4313858B2 (ja) | 計算機 | |
CN112303811A (zh) | 空调运行数据的处理方法、装置、系统、空调和存储介质 | |
JP4085695B2 (ja) | バックアップ装置及びバックアップ方法並びにバックアップ評価プログラム | |
JPH0612276A (ja) | プログラム制御方式 | |
CN100451962C (zh) | 在基于磁盘的操作系统中自适应控制程序的装载 | |
JPS5916281B2 (ja) | 計算制御装置の故障復帰時処理方式 | |
JP2933336B2 (ja) | ジョブの自動運転方式 | |
CN114064230A (zh) | 离线任务调度的方法、装置、计算机设备和存储介质 | |
Bougueroua et al. | An execution overrun management mechanism for the temporal robustness of java real-time systems | |
JPH1139178A (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 |