网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 大学论文导航 设计下载 最新论文 下载排行 原创论文 论文源代码
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > JAVA > 正文

基于java的矿用组态软件死锁预防机制研究

来源:http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 14/04/10

网学网JAVA编辑为广大网友搜集整理了: 基于java的矿用组态软件死锁预防机制研究 绩等信息,祝愿广大网友取得需要的信息,参考学习。

   1 煤矿组态软件死锁分析1·1 软件结构矿用组态软件结构所示,它分为三个层次。
  最底层是与矿井安全监控系统相连的组态I/O驱动程序接口模块,它是组态软件与各种设备交互的桥梁和纽带,主要完成上层软件与监控系统之间的数据信号转换,并负责识别相应的低层信息。中间层是组态软件的核心,其中起主要功能的是实时数据库控制模块,它通过I/O服务器从现场设备获得实时数据对数据进行必要的加工后,一方面以图形方式直观地显示在计算机屏幕上;另一方面按照控制策略和操作指令将控制数据送给I/O设备,对执行机构实施控制和调整控制参数,对于需要保存的历史数据进行实时存储,并提供历史数据的检索功能。实现实时数据、历史数据、设备数据之间的关联和控制,并对图形显示模块、实时趋势模块和报警模块进行通信控制,其预设置的各种软件模块可以实现和完成监控层的各项功能。最上层是组态软件应用程序,主要完成用户对实时数据库、历史数据库提出的各种操作查询请求,根据要求对数据库进行维护管理和备份,包括实时数据记录库、登录库和其它的事件记录库,并通过它实现报表生成、历史曲线的显示等功能。当发生事故报警时,实时地以声音、图像的方式将报警信息通知给操作人员,并且记录报警的历史信息。
  为了实现资源的合理配置与调度,以上三层软件通过与死锁预防模块连接,可以避免多线程运行时由于冲突引发的死锁现象发生。
  煤矿组态软件结构1·2 软件死锁分析煤矿监控组态软件中的核心部分包括数据采集模块、报警模块、预测模块、配置模块、计算模块等。每个数据对象都对应于工业现场的某种实时量,并与现场状态保持一致。在并发程序运行过程中,当有两个或两个以上的锁被释放时,如果线程间[3]无法正确处理资源分配时,易发生死锁现象。不失一般性,以数据采集和报警2个线程为例,阐述造成死锁的原因,如图2所示。数据采集线程负责对指定设备进行读操作并将现场设备值写入内存缓冲区;报警线程负责读取数据对象的报警上下限以及存储报警信息。数据采集线程thread 1申请资源A并锁住了对象A的锁,等待对象B的锁被打开,同时报警线程thread 2申请资源B并锁住了对象B的锁,等待对象A的锁被打开,由于资源A和资源B都无法释放,这样就造成死锁。当thread 1与thread 2尝试要取得同一个锁时, thread 2必须要等到thread 1释放掉锁后才能继续执行。
   线程死锁2 程序死锁预防机制原理2·1 排队机制在上述分析基础上可以根据需要采取排队模型,对线程请求设置优先级进行死锁预防。假定根据线程请求的轻重缓急将其划分为N个等级,第1级享有最高优先权,第2级享有次高优先权,第N级享有最低优先权。当多个线程同时到达时,它们首先以原始队列的形式进行排队,然后进行优先级判决,在Java中使用抢占式优先级排队模型,即当一个具有较高级别优先权的线程请求到达时,正被服务的线程请求是一个具有较低级别优先权的请求,则该请求将被中断服务,重新回到队列中排队等待服务,而服务窗口立即处理刚到达的具有较高级别的线程请求。因此,若具有最高级别优先权的线程请求到达系统,除具有同样最高级别的线程请求正被服务等待外,其它情形下它均可立即获得服务。具有优先级的线程排队系统模型如图3所示。
   优先级线程排队模型2·2 调度机制线程不死锁时,所有的调度方案都管用,因为路由器上没有建立队列,但当网络出现阻塞时,路由器上将建立队列,而路由器上的调度机制决定了队列中的线程得到服务的顺序。优先级分类模块按照FCFS( first come firstserve)从线程队列取出请求。Java线程调度器支持不同优先级线程的抢先方式,首先根据请求线程判断该线程属于的优先级,并把线程按照优先级送入相应队列;然后调度模块对于每个队列的请求以轮循算法( round robin)选择后端服务器;最后转发该线程到该选定的后端服务器中。在每个时间间隔,检测模块采集不同优先级线程的访问量、每个线程的访问速率和平均延迟。预测模块根据历史数据预测下个时间间隔各线程优先级参数,并把预测结果送给服务器。在每个时间间隔结束时,服务器根据预测值,计算各个优先级线程的请求选择概率,并把结果发送给预防死锁程序处理模块。(本论文由网学http://myeducs.cn 整理提供,如需转载,请注明出处或联系我们的客服人员)

网学推荐

免费论文

原创论文

设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved 湘ICP备09003080号