0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

保持任务关键的确定性DBMS准时

星星科技指导员 来源:嵌入式计算设计 作者:Andrei Gorine 2022-07-04 09:49 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

开源和商业数据库管理系统 (DBMS) 已在嵌入式系统中使用了 20 多年。在大多数情况下,开发人员甚至不会争论是否为嵌入式系统购买或构建自己的 DBMS。该组件几乎总是被购买。

然而,嵌入式系统空间的一个子集仍然禁止商业供应商使用,包括某些医疗系统、辐射监测、飞机导航、航空电子设备、飞行员辅助,以及最近的自动驾驶。总而言之,它们可以被称为具有硬实时约束的任务关键型或安全关键型系统,其中系统故障可能会造成伤害。

许多任务关键型软件团队正在寻找商业现货 (COTS) 软件以加快开发速度。嵌入式 DBMS 可以提供帮助,但前提是它具有确定性、可预测性和可控性。用于关键任务系统的确定性 DBMS 架构应提供具有时间有效性的 ACID(原子性、一致性、隔离性、持久性)合规性。

不是每个 DBMS 都强制执行 ACID 属性吗?符合 ACID 的数据库很常见,但其架构是针对事务吞吐量而非确定性的。一致性是最重要的属性;事务应该只将数据库从一种有效状态更改为另一种有效状态。在实时系统中,事务中的一组原子语句应该成功提交,或者应该全部中止,但不应在截止日期之后进行。“迟到”会带来不一致的状态,带来暂时无效的数据和可能的可怕后果。

一致性的关键时间断言

确保所有条件下的内部数据库一致性对于时间有效性至关重要。嵌入式数据库在执行效率方面提供了一些改进,但确定性 DBMS 需要更多的架构步骤才能保持准时。

首先,应该使用悲观并发控制。它在授予一项任务访问权限之前锁定全部或部分数据库,从而减少了乐观模型中复制的不确定开销。只读 (RO) 事务可以并行发生,而读写 (RW) 事务具有独占访问权限,从而减少了用于锁仲裁和死锁预防的资源。

接下来,一个关键的时间断言说明了工作量和在截止日期前回滚:

无论事务复杂性如何,将任何修改撤销到事务中的任何点的时间都不能超过应用这些修改的时间。

pYYBAGLCR0OAVQSEAAB0Uf8qCsM873.png

RO事务有索引查找和游标移动操作;回滚以相等的间隔撤消内部计数器的任何递增或递减。

更简单的 RW 事务很容易回滚。创建对象会根据对象大小从空闲内存池中分配页面;反转只是将这些页面返回到池中。其他交易根本不需要冲销。删除一个对象会将其标记为在原子操作中将其删除,因此如果事务中止,则不会发生提交时的删除。在索引中添加或删除对象具有树重新平衡或哈希重新分配,它们仅在提交时生效并且不需要反转。

更新对象看起来更复杂,但结果证明是一种有效的操作。事务第一次更新对象时,分配一个临时对象,然后将原始对象复制到临时对象。使用已经创建的副本,后续更新会更快。回滚以相反的顺序从副本中重新创建原始对象,然后释放分配的内存页,对象的回滚时间与对该对象的更新次数无关。

根据实时截止日期验证交易

确保每个事务都安全地提交或中止后,接下来要安排事务流。回忆悲观并发;RW 事务必须按顺序执行,而 RO 事务可以并行执行。例如,McObject 的 eXtremeDB/rt 中的动态、时间感知的最早期限优先 (EDF) 调度根据绝对期限为事务分配优先级。

事务管理器代码中的验证点指示事务语句的进展程度。如果事务在提交之前到达控制点(不再保证数据库回滚的时间),那么“事务中断”错误状态将返回给应用程序。事务管理器将数据库恢复到事务开始之前存在的一致状态。

在 eXtremeDB/rt 中,应用程序可以使用两种验证方法:传递给数据库运行时的应用程序回调,或异步事件处理程序。以下示例将控制点设置为截止时间间隔的一半,可以调整。

回调方法伪代码

如果系统定时器或硬件看门狗定时器等异步原语不可用,则可以使用回调方法。操作系统在获取系统时间方面存在细微差别,但代码流程如以下伪代码。首先注册一个回调函数:

poYBAGLCR0yAHCLMAABWZczgpxA596.png

接下来,创建回调,轮询返回“OK”或“interrupted”状态。

pYYBAGLCR1OAEiS6AAD8eTjjdvM875.png

然后,启动实时事务,数据库运行时在原子操作中定期验证“中断”标志。

poYBAGLCR1qAFUqIAABwFMaHePg652.png

C 中的计时器方法代码片段

大多数关键任务系统都有硬件计时器;使用它们可以提供更高的精度。C 语言中的三个常用代码片段设置了计时器变量、实时事务和初始化例程。一、定时器变量:

poYBAGLCR3eAApYuAADFXWzOFrk533.png

接下来是实时交易:

pYYBAGLCR32AOlT0AAGJy4mmrJg379.png

还有一个简单的初始化程序:

pYYBAGLCR4aAZuQ1AAAwQpfH7yY311.png

硬件计时器设施因操作系统而异。例如,在 VxWorks 中,任何任务都可以创建一个看门狗定时器,并在指定的延迟后使用它在系统时钟 ISR 的上下文中运行指定的例程。

poYBAGLCR4yAIayXAADUJL3hFZI590.png

展望更多可控性

替代传统的并发控制和调度方法有助于 eXtremeDB/rt 实现关键任务系统所需的确定性、可预测的行为。未来的研究旨在提高 EDF 调度程序的可控性。例如,事务上的显式优先级参数将有助于排序和抢占。单个事务也可以带有回滚时间参数,而不是默认的deadline/2。

实现从嵌入式数据库到确定性 DBMS 的飞跃,确保数据在时间上有效,从而扩展了潜在的用例。掌握这种新的 COTS 确定性 DBMS 技术的任务关键型软件团队可以在开发计划、风险降低和应用程序灵活性方面获得优势。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20156

    浏览量

    328981
  • 定时器
    +关注

    关注

    23

    文章

    3361

    浏览量

    121761
  • 计时器
    +关注

    关注

    1

    文章

    434

    浏览量

    34876
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    收藏!5 款 RK 芯片实时测试指令合集 + RK3576 实测数据深度解读

    在工业控制、车载电子、机器人等领域,“实时性” 是决定项目成败的关键 —— 当设备需要在微秒级响应传感器信号、执行控制指令时,普通 Linux 的 “不确定性延迟” 会直接导致任务失败。今天我们不绕
    的头像 发表于 11-30 15:48 3418次阅读
    收藏!5 款 RK 芯片实时测试指令合集 + RK3576 实测数据深度解读

    天合储能Elementa 2 Pro赋能北美储能项目确定性价值

    近日,由天合储能携手全球权威媒体PV Tech与Energy-Storage News联合举办的网络专题研讨会顺利举行。天合储能北美产品负责人 Mike Watson 围绕“赋能储能项目确定性价值
    的头像 发表于 11-28 11:03 207次阅读

    涡轮部件多源不确定性机理与分类体系研究:从几何变异到认知局限的系统解析

    涡轮部件作为航空发动机和燃气轮机的核心组成部分,其性能直接决定了整个动力系统的效率、可靠性与寿命。在实际运行环境中,涡轮部件的气动与换热性能往往与设计预期存在显著差异,这种差异主要源于全寿命周期中存在的多源不确定性因素。
    的头像 发表于 11-12 14:29 318次阅读
    涡轮部件多源不<b class='flag-5'>确定性</b>机理与分类体系研究:从几何变异到认知局限的系统解析

    【干货】必看!一文搞懂时间敏感网络(TSN):解决工业网络延迟/抖动痛点的确定性网络技术

    什么是TSN?时钟敏感网络(Time-SensitiveNetworking)是标准以太网的扩展,其主要目标是使标准以太网具有确定性。使技术人员能够精确了解流量在网络中传输所需的确切时间,以及流量将
    的头像 发表于 10-30 19:33 1045次阅读
    【干货】必看!一文搞懂时间敏感网络(TSN):解决工业网络延迟/抖动痛点<b class='flag-5'>的确定性</b>网络技术

    寻迹智行AMR融合RFID识别技术,为柔性搬运注入“确定性&quot;

    在智能物流与制造业不断追求高效与柔性的今天,自主移动机器人(AMR)已成为革新场内物流的核心力量。其“柔性”特质——灵活部署、智能调度、自主避障——完美应对了现代生产中的不确定性
    的头像 发表于 10-27 14:34 136次阅读
    寻迹智行AMR融合RFID识别技术,为柔性搬运注入“<b class='flag-5'>确定性</b>&quot;

    从微秒级响应到确定性延迟:深入解析米尔全志T536核心板的实时性技术突破

    注:标准Linux内核测试时间为5min,标准Linux内核+软隔离测试时间为5h,其他测试均为12h 3.3 关键发现与突破米尔MYD-LT536在OpenAMP模式下展现了惊人的确定性表现
    发表于 10-22 17:25

    Modbus RTU与Profibus双协议栈融合架构:工业自动化电磁阀控制的确定性保障方案

    ”,各自有着独特的特点。 Modbus RTU是一种串行通信协议,采用半双工模式,具有简单、通用的特点,广泛应用于工业现场设备之间的通信。而Profibus则是一种高速、确定性的通信协议,常用于复杂的自动化系统,能实现多设备的高效协同。但它们之间的差异,使得
    的头像 发表于 09-29 15:01 199次阅读
    Modbus RTU与Profibus双协议栈融合架构:工业自动化电磁阀控制<b class='flag-5'>的确定性</b>保障方案

    JEDSD204B标准verilog实现-协议演进

    配置),但无法保证跨设备/温度的一致性。 正式定义可编程、可重复的确定性延迟(DL),支持用户通过寄存器配置延迟值(精度达样本周期)。 同步机制 简单同步(SYNC信号触发链路初始化,无严格时序要求
    发表于 09-05 21:18

    虹科干货 | 拆解TSN四大支柱:从「尽力而为」到工业实践的确定性网络

    ,基于CSMA/CD机制的传统以太网暴露出致命缺陷——不确定性的延迟和抖动。正是在这样的背景下,时间敏感网络(TSN)应运而生。*不想逐字读长文?点击收听本文播客TSN并非全
    的头像 发表于 08-27 17:33 1411次阅读
    虹科干货 | 拆解TSN四大支柱:从「尽力而为」到工业实践<b class='flag-5'>的确定性</b>网络

    康谋分享 | 基于多传感器数据的自动驾驶仿真确定性验证

    自动驾驶仿真测试中,游戏引擎的底层架构可能会带来非确定性的问题,侵蚀测试可信度。如何通过专业仿真平台,在多传感器配置与极端天气场景中实现测试数据零差异?确定性验证方案已成为自动驾驶研发的关键突破口!
    的头像 发表于 07-02 13:17 3993次阅读
    康谋分享 | 基于多传感器数据的自动驾驶仿真<b class='flag-5'>确定性</b>验证

    应用分享 | 精准生成和时序控制!AWG在确定性三量子比特纠缠光子源中的应用

    丹麦哥本哈根大学最新研究利用任意波形发生器(AWG),成功构建保真度56%的确定性三量子比特GHZ态!AWG凭借精准的信号生成和时序控制能力,充分展现了其在量子态操控中的强大能力。
    的头像 发表于 06-06 14:06 970次阅读
    应用分享 | 精准生成和时序控制!AWG在<b class='flag-5'>确定性</b>三量子比特纠缠光子源中的应用

    什么样的才叫实时工业操作系统

    实时工业操作系统的核心是在严格时间约束下保证任务执行的确定性、可靠性和安全性,通常需通过专用架构、实时调度算法和工业级认证来满足严苛的工业环境需求。选择时需根据具体场景的实时性等级(硬/软)、硬件兼容性及安全标准进行匹配。
    的头像 发表于 04-17 10:09 563次阅读
    什么样的才叫实时工业操作系统

    优刻得:与DeepSeek模型适配,业绩贡献存不确定性

    全系列模型的适配工作。然而,目前相关业务的效果以及对公司未来业绩的具体贡献仍存在重大不确定性。 同时,经公司核实,截至公告披露日,优刻得并未直接或间接持有杭州深度求索人工智能基础技术研究有限公司的股权。这意味着,尽管双方已展开合作
    的头像 发表于 02-07 10:37 997次阅读

    AFE5808A串并变换之后数据错位,输出结果具有不确定性,为什么?

    AFE5808A串并变换之后数据错位,输出结果具有不确定性,求问可能的原因有哪些?
    发表于 01-01 07:23

    鸿道Intewell工业操作系统,三大关键技术,领跑行业前沿

    鸿道工业操作系统,是软件定义控制的工业实时操作系统,具备三大关键技术:1、确定性计算与高实时响应(微秒级、关键指标)提供确定性的计算与高实时的系统环境,保障工业生产运作的灵活高效。2、
    的头像 发表于 12-25 14:46 784次阅读