荀彧字什么| 人为什么会低血糖| 一头雾水什么意思| 平痛新又叫什么| 佑是什么意思| 爱上一个人是什么感觉| 同房为什么会出血| 放屁多是什么原因呢| 暴饮暴食是什么意思| 为什么月经来是黑色的| 经期可以吃什么水果| 肌肉一跳一跳什么原因| 牙膏什么牌子最好| 才美不外见的见是什么意思| 猿人头是什么牌子| 宫缩是什么原因引起的| 肾积水吃什么药| 为什么泡完脚后非常痒| 什么叫低级别上皮内瘤变| 什么食用油最好最健康| 博文是什么意思| 0中间有一横是什么字体| 文替是什么意思| dcc是什么意思| 五指毛桃有什么作用| mar什么意思| 吃什么食物可以减肥| 朝霞什么晚霞什么| 腰椎疼痛挂什么科| 徐才厚什么级别| 尖嘴鱼叫什么鱼| 马蹄粉是什么粉| 淋巴细胞比率偏高是什么意思| 香港为什么叫香港| 醋酸是什么东西| wwe是什么意思| fsa是什么意思| 吃什么补充维生素| 什么酒好喝| 龟头炎用什么药膏好| 用什么药膏能拔去粉瘤| 牛肉不能和什么食物一起吃| 亦或是什么意思| 为什么会吐| 什么时间最容易怀孕| 傍晚是什么时候| 小孩经常尿床是什么原因| 避孕药什么牌子好| delvaux是什么牌子| 梦见自己请客吃饭是什么意思| 孕妇脚肿是什么原因| 酩酊是什么意思| 什么什么三什么成语| 私生是什么意思| 1981年五行属什么| 什么是漂洗| 吃什么能提高记忆力| nokia是什么牌子的手机| 为什么要拔智齿| 什么时候开始胎教| 哈密瓜是什么季节的水果| 什么叫保守治疗| 糖尿病人不能吃什么水果| 锌中毒是什么症状| 产妇吃什么水果好| 睡觉经常流口水是什么原因| 什么是强迫症有哪些表现| 白痰是什么原因| 肝肾阴虚吃什么药| 五海瘿瘤丸主要治什么病| 回门带什么礼物| 欲代表什么生肖| 黄瓜可以和什么一起榨汁| 紧急避孕药对身体有什么伤害| 摩拳擦掌是什么生肖| 阴道炎应该吃什么药| 牛百叶是什么部位| 背道而驰什么意思| 3月19是什么星座| 甲功是什么意思| 每天早上起来口苦是什么原因| 抽筋是缺什么| 耄耋之年是什么意思| 合拍是什么意思| 绿豆什么时候收获| mcn是什么意思| 头晕出汗是什么原因| blacklabel是什么牌子| 圣诞节的礼物什么时候送| 转什么为什么成语| 性质是什么意思| 南非用什么货币| 葵花宝典是什么意思| dtc什么意思| 什么的诉说| 什么叫阳痿| 命犯桃花是什么意思| 氟哌酸又叫什么| 做爱是什么感觉| 左边头疼是什么原因怎么办| 小人痣代表什么意思| 梦见好多黄鳝是什么意思| 平均红细胞体积偏高是什么原因| 胃胀反酸吃什么药效果好| 副旅长是什么军衔| 1990年是什么年| 1987年出生属什么生肖| 青龙是什么意思| 转归是什么意思| 藕断丝连是什么意思| 主页是什么意思| 龙井茶是什么茶| 西红柿和番茄有什么区别| 肛门潮湿瘙痒用什么药最好| 什么炒鸡蛋| 梦见鳄鱼是什么意思| 女性更年期在什么年龄段| 婴儿蓝是什么颜色| 早餐吃什么最减肥瘦身| 泌乳素高有什么症状表现| 观音菩萨什么生肖| 蝙蝠进屋有什么预兆| 移情是什么意思| 卖淫什么意思| 县公安局局长是什么级别| 吃什么对肝脏有好处能养肝| 梅核气吃什么药好得快| 桃花眼的女人什么命| 丹五行属性是什么| 湖南有什么景点| 内参是什么意思| 肝胆胰腺属于什么科| 石墨烯属于什么材料| 知音是什么意思| 脑浆是什么颜色| 牛肉配什么菜包饺子好吃| edc是什么意思| 大腿后侧肌肉叫什么| 怀孕胎盘低有什么影响| 世界上最深的湖泊是什么| 荨麻疹吃什么药管用| 宫腔内稍高回声是什么意思| 孕妇为什么怕热| 梅花什么时候开| 吃人参果有什么好处| 怀孕吃火龙果对胎儿有什么好| 心衰为什么会引起水肿| 人脉是什么意思| 为什么会梦遗| 桂子是什么意思| 抑郁症有什么症状| 什么人容易得小脑萎缩| 什么的猴子| 从此萧郎是路人是什么意思| 碱性磷酸酶低是什么原因| 簋是什么意思| 闪光点是什么意思| 老年斑是什么原因引起的| 午马是什么意思| das是什么意思| 稽留流产是什么原因| 钦字五行属什么| 鼻息肉长什么样| 2020年是什么命| 可字五行属什么| 腿脚浮肿是什么原因引起的| 女同是什么| 阴唇萎缩是什么原因| 提手旁的字与什么有关| 眼睛干涩模糊用什么药| 茶油有什么功效| 梦到死人是什么预兆| 梦见初恋男友是什么意思| 你在纠结什么| 肿标五项查的是什么| 表面抗原阳性是什么意思| 滋阴潜阳是什么意思| 甲胎蛋白偏低说明什么| 七月半是什么节日| 隐睾是什么意思| 色弱和色盲有什么区别| 蔻驰手表属于什么档次| 7月29日什么星座| 双子座女和什么座最配| 局是什么生肖| 莱昂纳多为什么叫小李子| 夹生是什么意思| OB什么意思| 驾临是什么意思| 睾丸疼吃什么药| 甘肃天水有什么好玩的地方| 吃什么东西排酸最快| 肠易激综合征吃什么药| 白里透红的透是什么意思| levi是什么意思| kappa是什么牌子| 手上有痣代表什么| 悬脉是什么意思| 血糖偏高会有什么症状| 小孩上火了吃什么降火最快| cooc香水是什么牌子的| 凝血五项是检查什么病| 减肥吃什么水果| 肛门里面疼是什么原因| 二月一号是什么星座| 咳嗽什么东西不能吃| 甘蓝是什么| 左眼跳什么右眼跳什么| 三点水念什么| 睾酮低有什么影响| 经常掉头发是什么原因| 黑枸杞的功效是什么| 芍药花什么时候开花| 望梅止渴是什么故事| 宝批龙什么意思| 扇子骨是什么肉| 艾滋通过什么途径传播| 喜欢紫色的人是什么性格| 出汗对身体有什么好处| 柳暗花明是什么生肖| 梭织是什么意思| 纪梵希为什么不娶赫本| 脂肪肝挂什么科| est是什么意思| 夜明砂是什么| 右手手指头麻木是什么病的前兆| 金木水火土代表什么| 梦见打碎碗是什么预兆| 头发粗硬是什么原因| 高血压是什么原因引起的| 长方形纸能折什么| 什么时候血压最高| 11月11是什么星座| 碧螺春是什么茶| 麻药过敏什么症状| 聊胜于无的聊是什么意思| 玫瑰糠疹吃什么药| 河蟹吃什么| 特需号是什么意思| 麻烦的意思是什么| 唐僧成了什么佛| 什么是化石| 红玛瑙五行属什么| 全科医生是什么意思| 投其所好是什么意思| 肾阴虚有什么症状| 反应蛋白测定是查什么的| 什么鸟不能飞| 多吃蔬菜有什么好处| 中二病是什么意思| 喝蒲公英茶有什么作用| 巴基斯坦用什么语言| 五谷丰登指什么生肖| 柿子不能和什么同吃| 恐龙生活在什么时代| 焦作有什么大学| 重听是什么意思| 豇豆是什么| 水痘通过什么途径传染| 梦见别人怀孕是什么意思| anti什么意思| 心律不齐吃什么药| 长大做什么| 同居是什么意思| 百度

新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 工控系统中实时数据库关键技术研究与实现

中共中央纪委印发通知要求认真履行纪检监察职责

作者: 时间:2025-08-04 来源:网络 收藏
百度 在规模上台阶的基础上,按照“质量第一”的原则,上海国资委提出,2018年要确保发展速度不低于全市经济增速,质量效益继续高于全国国有企业平均水平。

  1 引言

  现代工业的特点要求全过程的实时监控,高速的实时数据处理、长期的历史数据存储以及生产信息的集成与共享。要满足上述对生产数据的处理要求仅靠大量采用集散控制系统(DCS)和关系数据库技术并不能完全解决问题。DCS数据存储能力有限,同时企业中异构的DCS无法进行有效的数据共享。而关系数据库数据处理速度低,无法对生产过程数据进行及时高效的存储。

  为了解决上述问题,作为一个关键的支撑技术引入工业控制系统。在生产设备运行过程中,系统实时采集设备的运行数据,随时掌握装置的运行情况,并通过对生产过程的关键数据的实时监控分析,对出现的问题即时进行处理,使生产的运行状态保持平稳。还是是连接工业生产控制系统与企业上层管理系统的桥梁,企业可以通过实时数据库系统提供的数据平台,为经营决策、计划调度、先进过程控制,质量监控等分系统提供同一的数据平台。

  2 实时数据库系统概念和特点

  实时数据库系统(RTDBS)就是其事务和数据都可以有定时特性或显式的定时限制的数据库系统。系统的正确性不仅依赖于逻辑结果,而且还依赖于逻辑结果产生的时间。对于实时数据库系统,数据的一致性和执行的周期性是重要的目标,由于在实时系统中经常以固定的时间周期收集被控系统的实时数据,相应的控制系统也必须周期性地处理数据和作出响应;由于传统的关系型数据库在一些时限要求严格的场合不能满足实时系统对数据实时性的要求,而内存直接寻址是一种具有高速的数据访问方式,在技术上采用内存数据库是解决这一问题的理想解决方案。

  整个实时数据库系统方案的设计分为驻内和留外两个部分,驻内部分即为内存数据库,是实时数据库的主体,存储形式可采用顺序结构,B树结构或多目录搜索哈希技术(散列技术)。内存数据库定时进行事务处理,对超过一定时间的数据从内存中清除,写到外存数据库中。外存数据库即磁盘数据库或历史数据库,用于历史记录分析,报表生成答应或相关决策等等。本系统历史数据库采用的是Microsoft公司的数据库产品SQLServer。

  3 关键技术研究和实现

  3.1数据的实时采集

  在工业控制系统中,数据采集程序的实时性和稳定性对于整个的性能起着至关重要的作用。Windos提供的定时器TImer远达不到要求,必须使用精度更高的定时器来取代。

  Windows系统下的多媒体定时器API函数timeSetevent和timeKillEvent就能很好的满足实时性的要求。该多媒体定时器工作在自己的线程内,且它的线程优先级(threadprioritylevel)设定为THREAD_PRIORITY_TIME_CRITICAL,这比绝大部分的线程优先权数值都高,相比工作在用户界面线程内的Timer定时器来说,它不受消息机制的影响,能够达到很高的定时精度。它的最高定时精度能够达到1ms,能够满足较高实时性的要求。

  3.2内存数据库技术

  内存数据库指数据库常驻内存及事务的数据存取只涉及内存。内存数据库是支持实时事务的一种最佳技术,其本质特征是其“主拷贝”或“工作版本”常驻内存,活动事务只与实时内存数据库的内存拷贝交互,显然,它需要较大的内存量。内存数据库可以简记为MMDB。MMDB的“工作版本”常驻内存,在任何一个事务执行过程中没有内外存间数据I/O。这为系统较准确估算和安排事务的运行时间、实现事务的定时限制打下了基础,从而满足外部事务应用对响应时间和事务吞吐率的需求。

  3.2.1利用内存映射文件共享内存

  共享内存是实时数据库核心技术之一。所谓内存映射文件,即在内存中申请一块内存空间,将一个文件与这块空间相联系,再进行内存映射,这样,操作文件就有和操作内存一样的效率,几个进程可以通过操作该映射文件,实现进程间在内存一级的高速数据交互。当采用内存映射文件方式时,Windows对于再次使用该文件的进程不在创建新的映射文件对象而共享前一段内存映射对象,并将该对象映射成两个地址空间,这种机制不仅有效地利用了内存,同时也实现了数据的共享。要在Windows2000下实现内存读写一级的数据通信效率,唯一的办法就是使用内存映射文件。内存映射文件使用方法如下:

  (1)创建或打开文件内核对象

  创建或打开一个文件内核对象,总要调用CreateFileCreateFile函数:HANDLECreateFilePCSTRpszFile-Name,DWORDdwDesirdAccess,DWORDdwShare-Mode,PSECURITY_ATTRIBUTESpsa,DWORDdwCreatiONDisposition,DWORDdwFlags

AndAtributes,HANDLEhTemplateFile),如果CreateFile函数成功地创建或打开指定的文件,便返回一个文件内存对象地句柄,否则返回INVALID_HANDLE_VALUE。

  (2)创建一个文件映射内核对象。

  调用CreateFile函数,可将文件映像的物理存储器位置告诉操作系统。这时,必须告诉系统,文件映射对象需要多少物理存储器。若进行这项操作,可以调用CreateFileMapping函数:HANDLECreateFileMapping(HANDLEhFile,PSECURITY_ATTRIBUTESpsa,DWORDfdwProtect,DWORDdwMaximum

SizeHigh,DWORDdwMaximumSizeLow,PCTSTRpszName)。系统创建文件映射对象,并将用于标识该对象的句柄返回该调用线程。如果系统无法创建文件映射对象,便返回一个NULL句柄值。

  如果内存映射共享文件只是为了进程间互相传送信息,而完全没有要将其设置为磁盘文件的情况下,可以直接在内存中定义一个空间来进行数据交互。方法很简单:在调用CreateFileMapping函数时,设置(HANDLE)0xFFFFFFFF作为hFile参数。这样就告诉系统不映射Windows磁盘上的内容,而只是要Windows把内存中一区域看成文件。

  (3)将文件数据映射到进程地地址空间。

  当创建一个文件映射对象后,仍必须让系统为文件数据保留一个地址空间区域,并将文件数据作为映射到该区域的物理存储器进行提交。可通过MapViewOfFile函数来进行这项操作:PVOIDMapViewOfFile(HANDLEhFileMappingObject,DWORDdwDesireAddress,DWORDdwFileOffsetHigh,

DOWRDdwFileOffsetLow,SIZE_TdwNumberOfBytesToMap);当一个文件视图映射到进程的地址空间中时,必须规定两件事。首先,必须告诉系统数据文件中哪个字节该作为视图中的第一个字节来映射。可用dwFileOffsetHigh和dwFileOffsetLow参数来进行这项操作。其次,必须告诉系统,数据文件有多少字节需要映射到地址空间。可使用dwNumberOfBytesToMap参数来设定。

  (4)从进程的地址空间中撤销文件数据的映像。

  当不需要保留映射到你的进程地址空间区域中的文件数据时,可通过调用下面的函数来释放:

  BOOLUnmapViewOfFile(PVOIDpvBaseAddress)。

  (5)关闭文件映射对象和文件对象。

  若要关闭文件映射对象和文件对象,只需要两次调用CloseHandle函数。

  3.2.2内存数据库的存储

  由于数据库存放在内存中,不再像普通数据库那样作为大量磁盘文件的集合,而是内存中可直接寻址的数据。内存直接寻址,是目前访问速度最快的存储设备,从而能够满足高度实时性的要求。从工业以太网得到的实时数据,经过应用程序处理后,将其引入内存数据库中。根据工控自动化系统的特点,在工控自动化系统中,对实时数据库操作最多的是根据工位名等进行的精确查询、更新,如每秒钟可能有成千上万个工位需要更新其实时数据记录。所以,散列技术将是中内存数据库存取算法的首选。

  构造散列函数需要考虑计算散列函数所需要的时间(包括硬件指令的因素),过于复杂的散列函数将影响系统的实时性。构造散列函数的方法很多,常用的有直接定址法、平方取中法、折叠法、保留余数法。其中保留余数法是一种最简单、也最常用的构造散列函数的方法,它不仅可以对关键字直接取模,也可以在折叠、平方取中等运算后取模。另外,关键字的选择将影响散列函数的均匀性,尽可能使关键字经过散列函数得到一个随机的地址,以便使一组关键字的散列地址均匀分布在整个地址区间中,从而减少冲突。构造散列函数需要考虑一下两个问题:(1)如何构造使节点“分布均匀”;(2)一旦发生冲突,用什么方法解决。综上考虑,我们采用双重散列技术。首先双重散列所产生的探测序列能够查找整个散列表,但选取的辅助散列函数g(k)必须与M互素。其次,双重散列可以产生Θ(m2)种探测序列,使得处理碰撞时,选取空位置更加随机,选取合理的辅助散列函数将使得散列表很少产生堆积。如果M是素数,且h(k)=kmodM,则我们可以设g(k)=1+(kmod(M-1));但由于M-1是偶数,因而命名g(k)=1+(kmod(M-2))将更好。这就提示我们选择M使得M和M-2好像1021和1019这样的“孪生素数”。

  3.2.3实时事务调度

  实时数据库是应用系统的数据处理中心,系统各个部分均以实时数据库作为公共区进行数据交换,实现各个部分协调动作。系统运行后,实时数据库要同时进行下位机的数据采集、数据处理、图形显示刷新、历史数据存盘、事件报警、现场控制等事务。其调度模型如图1所示,所有事务都要进行并行处理。

  实时事务调度是一个较复杂的算法问题,考虑到时间限制,其调度策略可分为三类:①优先级调度算法;②时间片轮算法;③多级反馈队列调度算法。而实时事务调度一般都是围绕事务的优先级进行的,在只有一个CPU的机器上,将CPU时间按照一定的优先级分配给各个事务,定期处理某一事务而不会使某一事务处理时间过长,可用多线程编程技术来实现这种并行控制,实时调度各类事务。本系统就采用优先级调度算法,其优先权分配策略采用最大密度事务付给最高优先权。本系统中除了控制事务和数据采集事务对实时性要求比较高外,其他数据处理类型事务的紧迫性和定时性要求相对较低,因此,本系统对不同类型的事务分配不同的优先权,以最大限度地提高系统的性能。

  3.3多线程编程技术的引入

  在中,实时数据库系统要实现现场数据的实时更新,能够根据现场数据进行安全监控,对现场的数据根据用户的设置时间间隔进行保存,对发生事故的监控点进行事故追忆等,这些功能若全部由一个线程来完成,会因资源冲突等问题而影响处理效率。为此,我们采用了多线程编程技术。整个系统由通信线程、报警处理线程、写历史数据库线程、图形显示线程、实时曲线显示线程和主界面线程等。

  撰写多线程程序的一个最具挑战性的问题就是:如何让一个线程和另一个线程合作。这引出了一个非常重要的问题:同步。所谓同步是指进程、线程间相互通信时避免破坏各自数据的能力。在本系统中,我们引入了“读者-写者”模型,在该模型中,有多个读者和多个写者,以内存数据库为临界资源进行同步访问。其中通信线程、写历史数据库线程为“写者”线程,报警处理线程、图形显示线程、实时曲线显示线程为“读者”线程。“读者-写者”模型的读写操作限制如下所示:①写-写互斥:不能有两个写者同时进行写操作;②读-写互斥:不能同时有一个线程在读,而另一个线程在写;③读-读允许:可以有一个或多个读者在读[7]。这样,整个系统通过各个线程之间的相互协调来工作,可以避免因循环检测而浪费系统效率,比较好地解决了各线程访问内存数据库之间的同步问题。

  4 结束语

  实时数据库是数据库技术的一个分支,在工业控制过程中,其开放的体系结构和高效的数据存储模式,使得它对生产过程信息的集成发挥着重要的作用,有着及其广泛的应用前景。本文介绍了在工业控制系统中实时数据库的功能、特点和事务,在此基础上通过对多媒体定时器、内存数据库技术、多线程及其同步技术等关键技术的分析和研究,给出了实时数据库系统的具体实现方法。系统经实际运行,证明该实时数据库运行安全、可靠、稳定性强,取得了令人满意的效果。



评论


相关推荐

技术专区

关闭
42是什么生肖 什么什么不安 肌肉萎缩看什么科 猫咪结膜炎用什么药好 微信什么时候开始的
子宫平位是什么意思 关帝是什么神 缺钙吃什么补钙最快 dodo是什么意思 口腔溃疡一直不好是什么原因
炼乳是什么 硒酵母胶囊对甲状腺的作用是什么 为什么会生化 红痣用什么药膏去除 脑缺血灶是什么意思
程门立雪什么意思 鞭挞是什么意思 梦见杀人是什么预兆 脾阳虚吃什么中成药 男士蛋皮痒用什么药
诶是什么意思hcv9jop3ns4r.cn 霸王别姬讲的是什么故事sscsqa.com 71年猪是什么命hcv9jop2ns8r.cn 什么行什么什么hcv9jop1ns9r.cn 顺丰到付是什么意思hcv7jop6ns4r.cn
有什么好的赚钱方法hcv8jop0ns1r.cn 三合局是什么意思hcv9jop0ns5r.cn hp感染是什么意思hcv9jop1ns9r.cn 韭菜苔炒什么好吃hcv7jop6ns5r.cn 甲状腺去医院挂什么科youbangsi.com
什么颜色属土travellingsim.com 琥珀酱是什么味hcv8jop2ns7r.cn 疽是什么意思hcv9jop1ns0r.cn 未分类结晶偏高是什么意思hcv9jop5ns5r.cn 摩羯座喜欢什么样的女生hcv9jop4ns0r.cn
变色龙形容什么样的人hkuteam.com 车前草有什么功效adwl56.com 喝桑叶茶有什么好处hcv8jop9ns9r.cn b票能开什么车creativexi.com 勉强是什么意思adwl56.com
百度