[发明专利]基于OpenMP线程心跳检测技术的程序检测方法及应用有效
申请号: | 201811086985.9 | 申请日: | 2018-09-18 |
公开(公告)号: | CN109213684B | 公开(公告)日: | 2022-01-28 |
发明(设计)人: | 王伟东;骆旺达 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 openmp 线程 心跳 检测 技术 程序 方法 应用 | ||
1.一种基于OpenMP线程的环形拓扑心跳检测方法,其特征在于,所述方法包括以下步骤:
1)将环形心跳应用接口程序注入主程序中;
2)初始化OpenMP参数,获得当前线程,初始化多线程结构体;
3)当线程满足时间周期数时,记录当前线程心率信息;时间周期指10的整数倍迭代所消耗的时间;
4)基于环形拓扑的心跳检测机制,以当前线程为检测线程,向其环中后继邻居线程进行状态检测,返回其邻居线程对应工作状态;
5)当线程对象达到时间周期数时,将当前线程的心率状态信息写入文档并清空日志信息,完成一轮周期心率记录;
6)检测程序是否运行完毕,倘若没有跳转3);
7)通过网页端可视化当前运行线程的局部心率图、全局心率图、历史心率图,进行当前线程的心率分析;
8)通过观察线程心率波形图,根据心率波形图的波动状态来分析线程程序运行的可靠性和当前系统负载状态;
应用接口程序由本心跳程序提供,是相对于主程序而言的第三方检测程序,用以检测OpenMP下主程序产生线程的心率波形图;有五个核心API函数,为OpenMP线程心跳初始化API函数、OpenMP线程心率生成API函数、OpenMP线程心跳环形检测API函数、OpenMP线程心跳状态检测API函数、OpenMP线程空间释放API函数;
OpenMP线程心跳初始化API函数的功能:初始化顺序和环形心跳线程数据结构、初始化系统线程参数及相关操作;
OpenMP线程心率生成API函数的功能:确定当前时间戳,通过当前时间戳获得某一线程的初始启动时间;当程序满足预定义心跳条件时,记录当前线程的心跳次数和结束时间戳,用此来计算当前线程的心率;
OpenMP线程环形心跳检测API函数的功能:以环形数据结构的基础,将当前线程作为检测线程,动态检测其邻居线程的工作状态;
OpenMP线程状态检测API函数的功能:根据当前线程的心率、始末状态参数来判断当前线程的工作状态;当线程状态不稳定时,并响应异常;
OpenMP线程空间释放API函数的功能:释放动态生成的线程指针及内部动态数据指针和文档指针,防止内存溢出。
2.根据权利要求1所述的检测方法,其特征在于,使用了基于累积时间戳差值和累积心跳次数来计算平均心率的方法,检测当前线程周期内的平均心率;
累计方法是通过从当前线程初始化开始到该线程周期结束,累计线程心跳次数及时间差值来计算当前线程心率;每当线程满足心跳条件时,记录一次线程心率信息;当线程节拍数达到一个周期时,将线程文档指针对应的心率信息写入文件并释放当前线程的文档指针;心率信息包括:节拍号、线程号、迭代数、时间戳差值、心率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811086985.9/1.html,转载请声明来源钻瓜专利网。