CN114116204A - 一种基于传感器的磨牙症监测方法及系统 - Google Patents

一种基于传感器的磨牙症监测方法及系统 Download PDF

Info

Publication number
CN114116204A
CN114116204A CN202111289368.0A CN202111289368A CN114116204A CN 114116204 A CN114116204 A CN 114116204A CN 202111289368 A CN202111289368 A CN 202111289368A CN 114116204 A CN114116204 A CN 114116204A
Authority
CN
China
Prior art keywords
stack
task
space
priority
monitoring
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.)
Granted
Application number
CN202111289368.0A
Other languages
English (en)
Other versions
CN114116204B (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.)
Zhengzhou Central Hospital
Original Assignee
Zhengzhou Central Hospital
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 Zhengzhou Central Hospital filed Critical Zhengzhou Central Hospital
Priority to CN202111289368.0A priority Critical patent/CN114116204B/zh
Publication of CN114116204A publication Critical patent/CN114116204A/zh
Application granted granted Critical
Publication of CN114116204B publication Critical patent/CN114116204B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H40/00ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices
    • G16H40/60ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices
    • G16H40/63ICT specially adapted for the management or administration of healthcare resources or facilities; ICT specially adapted for the management or operation of medical equipment or devices for the operation of medical equipment or devices for local operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Epidemiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种基于传感器的磨牙症监测方法及系统,μc/os‑ii系统初始过程中,在OSInit()和OSStart()之间,新建一个堆栈监测任务,所述堆栈监测任务获取系统中每个任务的优先级,并利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间;在所述磨牙症监测设备下次启动新建任务或者运行新建任务时,根据任务优先级和已用空间的映射表为任务分配堆栈空间。本发明对基于传感器的磨牙症监测设备进行改进,通过对堆栈的监测,防止堆栈溢出,保障了磨牙症监测设备的正常运行以及采集数据的正确性,便于医生做出正确的判断。

Description

一种基于传感器的磨牙症监测方法及系统
技术领域
本申请涉及医疗设备领域,尤其涉及对磨牙症的监测。
背景技术
磨牙症是人无意识不自主的牙齿磨动,多数是在睡眠时发生,是口腔科常见的疾病。磨牙症不仅会对牙齿造成损害,还会影响颞下肌肉和颌关节。磨牙症的病因现在还没有明确的结论,一般认为磨牙症和精神压力、遗传等因素有关,磨牙症的治疗常采用药物治疗、心理治疗以及反馈治疗等方式。随着科技的进步,磨牙症的诊断和治疗仪器也不断更新,磨牙症监测系统通过采集面部肌肉的肌电或者通过压力传感器采集咬合力的变化,可以监测磨牙时具体情况,有利于医生的判断。
由于肌电信号十分微弱,容易受到外界干扰,而且无法准确获得牙合力信息,利用牙合垫或者压合板可以监测到咬合力的变化,得到的数据更准确、全面。但是磨牙症一般是在患者睡觉的时候进行监测,用户不可能一直监控监测仪器是否在正常工作,如果系统不稳定,例如发生内存溢出或者堆栈溢出,不仅无法获取磨牙症的完整信息,还可能得到错误的数据,影响医生的正确判断,不利于磨牙症的治疗。
发明内容
为了保障利用传感器对磨牙症进行监测能够稳定且正确的进行,本发明对基于传感器的磨牙症监测设备采用的μc/os-ii操作系统的任务堆栈进行改进,避免了堆栈的溢出,保证了磨牙症监测设备能够稳定的运行。
一方面,本发明提供了一种基于传感器的磨牙症监测方法,所述方法包括以下步骤:
步骤1,磨牙症监测设备上电,μc/os-ii系统初始过程中,在OSInit()和OSStart()之间,新建一个堆栈监测任务,所述堆栈监测任务的优先级为OS_LOWEST_PRIO-4;
步骤2,在磨牙症监测设备采集传感器数据的同时,所述堆栈监测任务获取系统中每个任务的优先级,并利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间;
步骤3,在所述磨牙症监测设备下次启动新建任务或者运行新建任务时,根据任务优先级和已用空间的映射表为任务分配堆栈空间。
优选地,所述根据任务优先级和已用空间的映射表为任务分配堆栈空间,包括以下步骤:
步骤31,在OSTaskCreateExt()中获取所述映射表,判断任务对应的优先级在所述映射表中是否存在,如果存在,则执行步骤32,否则执行步骤33;
步骤32,获取任务对应优先级的堆栈已用空间,根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间;
步骤33,计算映射表中已用空间的平均值,根据所述平均值得到任务的堆栈空间。
优选地,所述根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000021
其中v′是计算得到的堆栈空间,v是映射表中任务优先级对应的堆栈空间,OS_LOWEST_PRIO为系统最低优先级,priority为任务对应的优先级;
所述根据所述平均值得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000022
其中v′是计算得到的堆栈空间,
Figure BDA0003334377810000023
为所述平均值,k为调整系数。
优选地,k与所述磨牙症监测设备内存利用率反相关,0<k<0.5。
优选地,所述堆栈监测任务,还用于获取任务的堆栈空间利用率,当所述堆栈空间利用率达到预设值时,根据堆栈增长方向,判断能否增加堆栈空间,如果能,则增加堆栈;否则,为任务新建一个堆栈。
另一方面,本发明还提供了一种基于传感器的磨牙症监测系统,所述系统包括以下模块:
初始化模块,用于在磨牙症监测设备上电,μc/os-ii系统初始过程中,在OSInit()和OSStart()之间,新建一个堆栈监测任务,所述堆栈监测任务的优先级为OS_LOWEST_PRIO-4;
堆栈监测模块,用于在磨牙症监测设备采集传感器数据的同时,所述堆栈监测任务获取系统中每个任务的优先级,并利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间;
堆栈分配模块,用于在所述磨牙症监测设备下次启动新建任务或者运行新建任务时,根据任务优先级和已用空间的映射表为任务分配堆栈空间。
优选地,所述根据任务优先级和已用空间的映射表为任务分配堆栈空间,具体为:
在OSTaskCreateExt()中获取所述映射表,判断任务对应的优先级在所述映射表中是否存在;
如果存在,则获取任务对应优先级的堆栈已用空间,根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间;
否则,计算映射表中已用空间的平均值,根据所述平均值得到任务的堆栈空间。
优选地,所述根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000041
其中v′是计算得到的堆栈空间,v是映射表中任务优先级对应的堆栈空间,OS_LOWEST_PRIO为系统最低优先级,priority为任务对应的优先级;
所述根据所述平均值得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000042
其中v′是计算得到的堆栈空间,
Figure BDA0003334377810000043
为所述平均值,k为调整系数。
优选地,所述堆栈监测任务,还用于获取任务的堆栈空间利用率,当所述堆栈空间利用率达到预设值时,根据堆栈增长方向,判断能否增加堆栈空间,如果能,则增加堆栈;否则,为任务新建一个堆栈。
最后,本发明还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如上任一所述的方法。
本发明通过在μc/os-ii中设置一个堆栈监测任务,对μc/os-ii系统中任务的堆栈进行监测,周期性的获取任务的已用堆栈大小,建立了任务优先级和已用堆栈的映射表,当创建新的任务时,根据任务的优先级和映射表得到待创建任务的堆栈空间,利用该堆栈空间作为待创建任务的堆栈参数创建待创建任务,不仅节省了系统的内存空间,还保障了系统的正常运行,避免了堆栈溢出到处基于传感器的磨牙症监测设备出现错误数据。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的结构示例图;
图2为μc/os-ii中任务的结构示意图;
图3为本发明的流程图;
图4为本发明步骤3的流程图。
具体实施方式
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为基于传感器的磨牙症监测仪器,其主要包括传感器、主机、电源等,传感器为压力传感器或者压电传感器,主机包括微处理器、存储器、无线发射模块,微处理器采用例如ARM芯片、CORTEX芯片、DSP处理器或者FPGA芯片,主机的操作系统为嵌入式操作系统,例如嵌入式Linux、μc/os-ii等,本发明的一个实施例中,主机系统采用ARM+μc/os-ii构建。
μc/os-ii是专门为嵌入式用设计的,其具有便于移植、实时性好等特点。μc/os-ii一个重要的概念是任务,其结构如图2所示,主要包括任务控制块、任务堆栈、任务的代码,任务堆栈用于在任务中断时,将处理器的寄存器中的内容保存到堆栈中,以便下次调用时,继续从中断位置执行。任务堆栈和任务的变量、循环次数等有关,由于嵌入式的RAM十分有限,如果将任务堆栈设置的过大,可能出现任务无法顺利创建的可能,而且会影响其他任务的执行,如果将堆栈设置的过小,则会发生堆栈溢出,导致程序错误,或者出现数据错误的情况。在利用μc/os-ii作为基于传感器的磨牙症监测设备中,有时会出现很奇怪的数据,通过对任务堆栈的调整,可以有效避免错误数据出现的可能,本发明提供的方法和系统不仅能保证系统长时间的正常运行,而且避免了出现堆栈溢出造成的错误。
第一实施例
如图3所示,本发明提供了一种基于传感器的磨牙症监测方法,所述方法包括以下步骤:
步骤1,磨牙症监测设备上电,μc/os-ii系统初始过程中,在OSInit()和OSStart()之间,新建一个堆栈监测任务,所述堆栈监测任务的优先级为OS_LOWEST_PRIO-4;
μc/os-ii系统初始化和启动过程为:
Figure BDA0003334377810000061
在μc/os-ii初始化和启动过程中,会用到OSInit()、OSStart(),这两个函数之间可以创建任务,本发明的堆栈监测任务在二者之间创建;在创建任务时,需要指定任务的优先级,由于μc/os-ii保留了几个优先级,为了防止堆栈监测任务优先级过高导致占用过多资源,本发明设置堆栈监测任务的优先级为OS_LOWEST_PRIO-4;
步骤2,在磨牙症监测设备采集传感器数据的同时,所述堆栈监测任务获取系统中每个任务的优先级,并利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间;
在μc/os-ii系统中,与堆栈相关的两个函数是OSTaskStkChk()和malloc(),其中OSTaskStkChk()可以获取任务堆栈的已用空间和未用空间,malloc()为任务动态分配堆栈,但是无论是创建任务时候为任务分配堆栈(静态分配)还是动态分配堆栈,多需要根据用户的经验,本发明对μc/os-ii每个优先级的任务和堆栈已用空间的统计,实现自动为任务调整堆栈空间。在一个实施例中,任务优先级和已用空间的映射表的结构如下表1:
表1
优先级 已用空间
0 v<sub>0</sub>
1 v<sub>1</sub>
2 v<sub>2</sub>
3 v<sub>3</sub>
...
OS_LOWEST_PRIO v<sub>OS_LOWEST_PRIO</sub>
当某一时刻,监测到优先级为4的任务的已用空间大于上次采集的对应优先级的任务的已用空间,则将其更新为新的已用空间。
磨牙监测设备中运行的任务是有限的,优先级高的任务一般比较重要,需要为其分配的堆栈空间更大,通过优先级为任务分配堆栈空间可以保证高优先级的任务能够顺利运行。
由于磨牙症监测设备在处理传感器传输的数据时会涉及更多的占用资源,当微处理器监测到传感器的数据大于阈值时,才会利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,并当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间。
步骤3,在所述磨牙症监测设备下次启动新建任务或者运行新建任务时,根据任务优先级和已用空间的映射表为任务分配堆栈空间。
如图4所示,在一个优选实施例中,所述根据任务优先级和已用空间的映射表为任务分配堆栈空间,包括以下步骤:
步骤31,在OSTaskCreateExt()中获取所述映射表,判断任务对应的优先级在所述映射表中是否存在,如果存在,则执行步骤32,否则执行步骤33;
步骤32,获取任务对应优先级的堆栈已用空间,根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间;
步骤33,计算映射表中已用空间的平均值,根据所述平均值得到任务的堆栈空间。
在一个优选实施例中,所述根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000081
其中v′是计算得到的堆栈空间,v是映射表中任务优先级对应的堆栈空间,OS_LOWEST_PRIO为系统最低优先级,priority为任务对应的优先级;
所述根据所述平均值得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000082
其中v′是计算得到的堆栈空间,
Figure BDA0003334377810000083
为所述平均值,k为调整系数。
作为一个示例,假设μc/os-ii有64个优先级,则OS_LOWEST_PRIO=63,当一个待创建任务的优先级为32,则根据
Figure BDA0003334377810000084
得到待创建任务的堆栈空间为:1.5v,也即待创建任务是所述映射表中优先级为32对应的堆栈空间的1.5倍。这样可以使得高优先级,也即重要的任务分配更多的堆栈。
如果映射表中不存在优先级32对应的记录,则需要遍历映射表,计算已用空间这一列的平均值
Figure BDA0003334377810000085
则根据
Figure BDA0003334377810000086
进行计算,若k=0.2,则待创建任务的堆栈空间为
Figure BDA0003334377810000087
本发明实现了在μc/os-ii系统中堆栈的动态管理,提高了系统的稳定性以及采集数据的可靠性。
在一个优选实施例中,k与所述磨牙症监测设备内存利用率反相关,0<k<0.5。
在一个实施例中,根据如下公式得到k值:
Figure BDA0003334377810000091
其中,ru为内存利用率。
若在开机阶段新建任务,所述内存利用率按照上次开机到关机阶段内存利用率的平均值得到,若在运行中新建任务,所述内存利用率按照本次从开机到当前时刻内存利用率的平均值计算得到。
在另外一个实施例中,根据所述平均值得到任务的堆栈空间,还包括获取任务的优先级,根据任务的优先级对根据所述平均值得到任务的堆栈空间进行调整。
在一个优选实施例中,所述堆栈监测任务,还用于获取任务的堆栈空间利用率,当所述堆栈空间利用率达到预设值时,根据堆栈增长方向,判断能否增加堆栈空间,如果能,则增加堆栈;否则,为任务新建一个堆栈。
在另外一个实施例中,如果根据堆栈增长方向无法扩大堆栈空间,则进一步判断堆栈增长的反方向能否增加堆栈大小,如果可以则沿着堆栈增长的反方向扩大堆栈,如果沿着堆栈增长的正方向和反方向都无法扩大堆栈,则新建堆栈,并将原堆栈清零。堆栈新建以及堆栈数据复制过程相对来说是较为耗时、好资源的,通过检查堆栈增长的反方向能够扩大堆栈,不仅可以减少内存碎片,而且有助于减轻增加堆栈过程对资源的消耗。
第二实施例
本发明还提供了一种基于传感器的磨牙症监测系统,所述系统包括以下模块:
初始化模块,用于在磨牙症监测设备上电,μc/os-ii系统初始过程中,在OSInit()和OSStart()之间,新建一个堆栈监测任务,所述堆栈监测任务的优先级为OS_LOWEST_PRIO-4;
堆栈监测模块,用于在磨牙症监测设备采集传感器数据的同时,所述堆栈监测任务获取系统中每个任务的优先级,并利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间;
堆栈分配模块,用于在所述磨牙症监测设备下次启动新建任务或者运行新建任务时,根据任务优先级和已用空间的映射表为任务分配堆栈空间。
在一个优选实施例中,所述根据任务优先级和已用空间的映射表为任务分配堆栈空间,具体为:
在OSTaskCreateExt()中获取所述映射表,判断任务对应的优先级在所述映射表中是否存在;
如果存在,则获取任务对应优先级的堆栈已用空间,根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间;
否则,计算映射表中已用空间的平均值,根据所述平均值得到任务的堆栈空间。
在一个优选实施例中,所述根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000101
其中v′是计算得到的堆栈空间,v是映射表中任务优先级对应的堆栈空间,OS_LOWEST_PRIO为系统最低优先级,priority为任务对应的优先级;
所述根据所述平均值得到任务的堆栈空间,具体是采用下式计算得到:
Figure BDA0003334377810000102
其中v′是计算得到的堆栈空间,
Figure BDA0003334377810000103
为所述平均值,k为调整系数。
在一个优选实施例中,所述堆栈监测任务,还用于获取任务的堆栈空间利用率,当所述堆栈空间利用率达到预设值时,根据堆栈增长方向,判断能否增加堆栈空间,如果能,则增加堆栈;否则,为任务新建一个堆栈。
第三实施例
本发明还提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一实施例所述的方法。
本发明所述的各个实施例可以进行组合以实现对应的技术方案。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。

Claims (10)

1.一种基于传感器的磨牙症监测方法,其特征在于,所述方法包括以下步骤:
步骤1,磨牙症监测设备上电,μc/os-ii系统初始过程中,在OSInit()和OSStart()之间,新建一个堆栈监测任务,所述堆栈监测任务的优先级为OS_LOWEST_PRIO-4;
步骤2,在磨牙症监测设备采集传感器数据的同时,所述堆栈监测任务获取系统中每个任务的优先级,并利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间;
步骤3,在所述磨牙症监测设备下次启动新建任务或者运行新建任务时,根据任务优先级和已用空间的映射表为任务分配堆栈空间。
2.如权利要求1所述的方法,其特征在于,所述根据任务优先级和已用空间的映射表为任务分配堆栈空间,包括以下步骤:
步骤31,在OSTaskCreateExt()中获取所述映射表,判断任务对应的优先级在所述映射表中是否存在,如果存在,则执行步骤32,否则执行步骤33;
步骤32,获取任务对应优先级的堆栈已用空间,根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间;
步骤33,计算映射表中已用空间的平均值,根据所述平均值得到任务的堆栈空间。
3.如权利要求2所述的方法,其特征在于,所述根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间,具体是采用下式计算得到:
Figure FDA0003334377800000011
其中v′是计算得到的堆栈空间,v是映射表中任务优先级对应的堆栈空间,OS_LOWEST_PRIO为系统最低优先级,priority为任务对应的优先级;
所述根据所述平均值得到任务的堆栈空间,具体是采用下式计算得到:
Figure FDA0003334377800000021
其中v′是计算得到的堆栈空间,
Figure FDA0003334377800000022
为所述平均值,k为调整系数。
4.如权利要求3所述的方法,其特征在于,k与所述磨牙症监测设备内存利用率反相关,0<k<0.5。
5.如权利要求1-3任一项所述的方法,其特征在于,所述堆栈监测任务,还用于获取任务的堆栈空间利用率,当所述堆栈空间利用率达到预设值时,根据堆栈增长方向,判断能否增加堆栈空间,如果能,则增加堆栈;否则,为任务新建一个堆栈。
6.一种基于传感器的磨牙症监测系统,其特征在于,所述系统包括以下模块:
初始化模块,用于在磨牙症监测设备上电,μc/os-ii系统初始过程中,在OSInit()和OSStart()之间,新建一个堆栈监测任务,所述堆栈监测任务的优先级为OS_LOWEST_PRIO-4;
堆栈监测模块,用于在磨牙症监测设备采集传感器数据的同时,所述堆栈监测任务获取系统中每个任务的优先级,并利用OSTaskStkChk()获取系统中每个任务的堆栈已用空间,当本次采集的堆栈已用空间大于上次采集的对应优先级的任务的已用空间时,更新该任务优先级对应的堆栈已用空间;
堆栈分配模块,用于在所述磨牙症监测设备下次启动新建任务或者运行新建任务时,根据任务优先级和已用空间的映射表为任务分配堆栈空间。
7.如权利要求6所述的系统,其特征在于,所述根据任务优先级和已用空间的映射表为任务分配堆栈空间,具体为:
在OSTaskCreateExt()中获取所述映射表,判断任务对应的优先级在所述映射表中是否存在;
如果存在,则获取任务对应优先级的堆栈已用空间,根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间;
否则,计算映射表中已用空间的平均值,根据所述平均值得到任务的堆栈空间。
8.如权利要求6所述的方法,其特征在于,所述根据任务对应优先级和所述堆栈已用空间得到任务的堆栈空间,具体是采用下式计算得到:
Figure FDA0003334377800000031
其中v′是计算得到的堆栈空间,v是映射表中任务优先级对应的堆栈空间,OS_LOWEST_PRIO为系统最低优先级,priority为任务对应的优先级;
所述根据所述平均值得到任务的堆栈空间,具体是采用下式计算得到:
Figure FDA0003334377800000032
其中v′是计算得到的堆栈空间,
Figure FDA0003334377800000033
为所述平均值,k为调整系数。
9.如权利要求6-8任一项所述的系统,其特征在于,所述堆栈监测任务,还用于获取任务的堆栈空间利用率,当所述堆栈空间利用率达到预设值时,根据堆栈增长方向,判断能否增加堆栈空间,如果能,则增加堆栈;否则,为任务新建一个堆栈。
10.一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-5中任一所述的方法。
CN202111289368.0A 2021-11-02 2021-11-02 一种基于传感器的磨牙症监测方法及系统 Active CN114116204B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111289368.0A CN114116204B (zh) 2021-11-02 2021-11-02 一种基于传感器的磨牙症监测方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111289368.0A CN114116204B (zh) 2021-11-02 2021-11-02 一种基于传感器的磨牙症监测方法及系统

Publications (2)

Publication Number Publication Date
CN114116204A true CN114116204A (zh) 2022-03-01
CN114116204B CN114116204B (zh) 2023-03-31

Family

ID=80380162

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111289368.0A Active CN114116204B (zh) 2021-11-02 2021-11-02 一种基于传感器的磨牙症监测方法及系统

Country Status (1)

Country Link
CN (1) CN114116204B (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991154A (ja) * 1995-09-25 1997-04-04 Hitachi Constr Mach Co Ltd スタック割り当て方法、制御装置
CN103412796A (zh) * 2013-08-30 2013-11-27 北京经纬恒润科技有限公司 操作系统中任务的堆栈分配方法及装置
CN103593606A (zh) * 2013-11-20 2014-02-19 北京经纬恒润科技有限公司 上下文信息管理方法及系统
CN103870244A (zh) * 2014-02-21 2014-06-18 北京神舟航天软件技术有限公司 一种sparc平台任务栈溢出检测算法
CN104317632A (zh) * 2014-09-28 2015-01-28 航天科工深圳(集团)有限公司 在Windows系统中模拟虚拟硬件环境运行UCOS-II的方法和系统
US20150277977A1 (en) * 2014-04-01 2015-10-01 Samsung Electronics Co., Ltd. Method and system for providing stack memory management in real-time operating systems
CN105094991A (zh) * 2015-08-21 2015-11-25 北京经纬恒润科技有限公司 一种堆栈容量的设置方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0991154A (ja) * 1995-09-25 1997-04-04 Hitachi Constr Mach Co Ltd スタック割り当て方法、制御装置
CN103412796A (zh) * 2013-08-30 2013-11-27 北京经纬恒润科技有限公司 操作系统中任务的堆栈分配方法及装置
CN103593606A (zh) * 2013-11-20 2014-02-19 北京经纬恒润科技有限公司 上下文信息管理方法及系统
CN103870244A (zh) * 2014-02-21 2014-06-18 北京神舟航天软件技术有限公司 一种sparc平台任务栈溢出检测算法
US20150277977A1 (en) * 2014-04-01 2015-10-01 Samsung Electronics Co., Ltd. Method and system for providing stack memory management in real-time operating systems
CN104317632A (zh) * 2014-09-28 2015-01-28 航天科工深圳(集团)有限公司 在Windows系统中模拟虚拟硬件环境运行UCOS-II的方法和系统
CN105094991A (zh) * 2015-08-21 2015-11-25 北京经纬恒润科技有限公司 一种堆栈容量的设置方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
范林美;: "UC/OS-Ⅱ内核堆栈设计的改进" *

Also Published As

Publication number Publication date
CN114116204B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
US6370656B1 (en) Computer system with adaptive heartbeat
JP2010512883A (ja) 医療事例の自動優先度決定
US20100106528A1 (en) System and method for automatic scheduling based on remote monitoring
CN101856293B (zh) 防压疮预警装置
EP2889790A1 (en) Vital information measuring device, processing system, vital information processing method, and program
JP2007287150A (ja) 電力管理システム及び方法
US20190076098A1 (en) Artificial Neural Network Based Sleep Disordered Breathing Screening Tool
WO2001075764A1 (fr) Systeme d&#39;informations medicales
CN114116204B (zh) 一种基于传感器的磨牙症监测方法及系统
CN116724361A (zh) 基于睡眠活动的对患者健康状况变化的检测
CN113643820A (zh) 预警信息生成方法、装置、计算机设备和存储介质
US20080288288A1 (en) Methods and apparatus to generate rules for clinical lab results
CN111554396A (zh) 用于集中患者监测管理的方法和系统
EP2884369A1 (en) Memory control system for a non-volatile memory and control method
JP7420145B2 (ja) リスク予測装置、リスク予測方法、及びコンピュータプログラム
Fletcher Wound assessment and the TIME framework
CN113035301A (zh) 基于健康大数据的智慧病历书写方法
US10939820B2 (en) Wireless patient monitoring system and method
WO2020163458A1 (en) Method and system for centralized patient monitoring management
CN114587278B (zh) 一种便携式睡眠监测方法及系统
JP7416216B2 (ja) ストレス許容量算出装置、ストレス許容量算出方法、及びプログラム
JP7416215B2 (ja) ストレス発散度算出装置、ストレス発散度算出方法、及びプログラム
CN117298448B (zh) 脑电异常捕捉及节律调控方法、系统、设备和存储介质
WO2021199270A1 (ja) ストレス管理装置、ストレス管理方法、及びコンピュータ読み取り可能な記録媒体
US20240156213A1 (en) Adjustable Insoles

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