[发明专利]一种防止多个进程访问同一任意波形发生器的方法在审
申请号: | 202111232380.8 | 申请日: | 2021-10-22 |
公开(公告)号: | CN114020481A | 公开(公告)日: | 2022-02-08 |
发明(设计)人: | 李清石;胡广建;张孝飞;刘强;金长新 | 申请(专利权)人: | 山东浪潮科学研究院有限公司 |
主分类号: | G06F9/52 | 分类号: | G06F9/52 |
代理公司: | 济南信达专利事务所有限公司 37100 | 代理人: | 阚恭勇 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 防止 进程 访问 同一 任意 波形 发生器 方法 | ||
1.一种防止多个进程访问同一任意波形发生器的方法,其特征在于
进程在访问由机箱号和槽位号指定的任意波形发生器之前,查看由机箱号和槽位号标识的任意波形发生器状态文件,确定该任意波形发生器是否正被或者曾被其他进程访问,如果未被访问则向任意波形发生器状态文件写入当前进程ID,并打开该任意波形发生器,如果正被或者曾被访问则尝试取消占用或者曾经占用该任意波形发生器的进程,删除与该任意波形发生器具有相同进程ID的所有任意波形发生器状态文件,创建由机箱号和槽位号标识的任意波形发生器状态文件,写入当前进程ID,并打开该任意波形发生器,之后可进行对该任意波形发生器的访问。
2.根据权利要求1所述的方法,其特征在于,
包括以下步骤:
(1)创建或者打开任意波形发生器状态锁文件;
(2)加锁任意波形发生器状态锁文件;
(3)尝试访问由机箱号和槽位号标识的任意波形发生器状态文件;
(4)如果任意波形发生器状态文件不存在,表示该任意波形发生器未曾被访问,创建由机箱号和槽位号标识的任意波形发生器状态文件,写入当前进程的进程ID,打开由机箱号和槽位号指定的任意波形发生器,之后可访问该任意波形发生器;
(5)如果任意波形发生器状态文件存在,表示该任意波形发生器正被或者曾被其他进程访问,读取任意波形发生器状态文件中的进程ID;
(6)向读取到的进程ID所指示的进程发送取消进程的信号;
(7)删除存储着与读取到的进程ID相同的进程ID的所有任意波形发生器状态文件;
(8)创建由机箱号和槽位号标识的任意波形发生器状态文件,写入当前进程的进程ID,打开由机箱号和槽位号指定的任意波形发生器,之后可访问该任意波形发生器;
(9)解锁任意波形发生器状态锁文件;
(10)关闭任意波形发生器状态锁文件;
(11)访问该任意波形发生器。
3.根据权利要求1所述的方法,其特征在于,
步骤1)中,任意波形发生器状态锁文件用于同步一个以上进程对任意波形发生器的打开操作以及对任意波形发生器状态文件的访问。
4.根据权利要求1所述的方法,其特征在于,
步骤2)中,持有锁的进程可以打开任意波形发生器并访问任意波形发生器状态文件。
5.根据权利要求1所述的方法,其特征在于,
步骤5)中,任意波形发生器状态文件中的进程ID是正在访问或者曾经访问该任意波形发生器的进程的进程ID。
6.根据权利要求5所述的方法,其特征在于,
存在存储着曾经访问该任意波形发生器的进程的进程ID的任意波形发生器状态文件是由于各种原因导致的未执行关闭任意波形发生器的操作。
7.根据权利要求1所述的方法,其特征在于,
步骤6)中,如果读取到的进程ID所指示的进程已退出,执行发送信号函数时会返回进程已退出错误,忽略由进程已退出导致的错误;
进程被取消后,系统会释放与该任意波形发生器相关的资源。
8.根据权利要求1所述的方法,其特征在于,
步骤7)中,由于具有与读取到的进程ID相同的进程ID的进程已被取消,这一进程所访问的其他任意波形发生器已经处于未被访问的状态,需要删除相应的任意波形发生器状态文件;
执行关闭任意波形发生器的操作时需要删除相应的任意波形发生器状态文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东浪潮科学研究院有限公司,未经山东浪潮科学研究院有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111232380.8/1.html,转载请声明来源钻瓜专利网。