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 技术的任务关键型软件团队可以在开发计划、风险降低和应用程序灵活性方面获得优势。

审核编辑:郭婷

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

    关注

    5082

    文章

    19107

    浏览量

    304833
  • 定时器
    +关注

    关注

    23

    文章

    3246

    浏览量

    114725
  • 计时器
    +关注

    关注

    1

    文章

    420

    浏览量

    32690
收藏 人收藏

    评论

    相关推荐

    全球首张!赛思时钟系统赋能山东省确定性网络,夯实数字未来新基座

    全球首张确定性网络的高精度时间同步,由赛思打造!
    的头像 发表于 11-29 11:13 112次阅读
    全球首张!赛思时钟系统赋能山东省<b class='flag-5'>确定性</b>网络,夯实数字未来新基座

    科技云报到:数字化转型,从不确定性确定性关键路径

    科技云报到:数字化转型,从不确定性确定性关键路径
    的头像 发表于 11-16 16:52 317次阅读
    科技云报到:数字化转型,从不<b class='flag-5'>确定性</b>到<b class='flag-5'>确定性</b>的<b class='flag-5'>关键</b>路径

    请问DAC38J84内部NCO和基带信号确定性相位关系如何配置?

    信号来临时混频,但是输出波形完全错误,请问这种方式能不能实现?要保持确定的相位关系我应该如何实现?谢谢
    发表于 11-13 06:09

    计及多重不确定性的规模化电动汽车接入配电网调度方法及解决方案

    摘要:规模日益增长的电动汽车和可再生能源带来的不确定性给配电网的安全运营带来了严峻挑战。为综合考虑多重不确定性、平衡运营成本与系统可靠性,首先,提出一种基于分布鲁棒联合机会约束的电动汽车-配电网
    的头像 发表于 09-14 15:26 341次阅读
    计及多重不<b class='flag-5'>确定性</b>的规模化电动汽车接入配电网调度方法及解决方案

    调节系统中调节器正反作用的确定

    在调节系统中,调节器正反作用的确定是一个关键步骤,它直接影响到系统的稳定性和控制效果。以下是对调节器正反作用确定的介绍: 一、调节器正反作用的基本概念 正作用 :当系统偏差(即测量值与
    的头像 发表于 08-30 10:23 1832次阅读

    电源空载电压的确定应遵循的原则是什么

    的确定对于电源的性能和稳定性至关重要。本文将详细介绍电源空载电压的确定原则。 2. 电源的基本概念 在讨论电源空载电压的确定原则之前,我们首先需要了解电源的基本概念。 2.1 电源的定
    的头像 发表于 08-08 14:28 1013次阅读

    DP83826确定性、低延迟、低功耗、10/100Mbps工业以太网PHY数据表

    电子发烧友网站提供《DP83826确定性、低延迟、低功耗、10/100Mbps工业以太网PHY数据表.pdf》资料免费下载
    发表于 07-01 15:05 1次下载
    DP83826<b class='flag-5'>确定性</b>、低延迟、低功耗、10/100Mbps工业以太网PHY数据表

     相对于人工的不确定性,机器人码垛有何优势

     在现代工业生产中,码垛是一项至关重要的任务,它涉及到将不同形状、大小和重量的物品进行有序地堆叠,以便于后续的运输和储存。然而,传统的人工码垛方式存在着诸多不确定性,这些不确定性可能源自工人的疲劳
    的头像 发表于 06-19 14:45 257次阅读

    ETAS推出Time-Triggered Scheduling (TTS)的确定性调度解决方案

    在2024年2月26日,ETAS推出了名为“Time-Triggered Scheduling (TTS)”的确定性调度解决方案。
    的头像 发表于 04-25 16:56 2587次阅读
    ETAS推出Time-Triggered Scheduling (TTS)<b class='flag-5'>的确定性</b>调度解决方案

    什么是嵌入式实时系统的确定性?简析EDMS中的确定性

    ETAS Deterministic Middleware Solution点击跳转(EDMS,前身为AOS) 确定性中间件解决方案,是一个中间件框架,旨在面向汽车领域内应用程序的独特挑战和需求
    的头像 发表于 04-15 11:22 1161次阅读
    什么是嵌入式实时系统<b class='flag-5'>的确定性</b>?简析EDMS中<b class='flag-5'>的确定性</b>

    业内首款TSN嵌入式模块、全国产TSN交换机亮相高速公路展,加速确定性网络发展

    光路科技在第26届高速公路技术产品博览会上展示了其前沿的TSN系列产品,特别是业内首款国产TSN嵌入式模块和全国产工业级TSN交换机,吸引了广泛关注。光路科技致力于TSN技术的研发与应用,展现了在确定性网络研发创新方面的卓越实力。
    的头像 发表于 04-03 16:29 535次阅读
    业内首款TSN嵌入式模块、全国产TSN交换机亮相高速公路展,加速<b class='flag-5'>确定性</b>网络发展

    海信马晓龙:坚定长期主义的战略定力,激发“确定性”增长的内生动力

    近年来,在内外因叠加影响下,智慧交通行业充满了变数。当不确定性成为常态,如何驱散迷雾走向增长?这是每一个智慧交通企业必须解决的难题。 选择用什么答案来面对这个难题,决定了企业迎战风浪的命运,海信智慧
    的头像 发表于 03-21 11:38 313次阅读
    海信马晓龙:坚定长期主义的战略定力,激发“<b class='flag-5'>确定性</b>”增长的内生动力

    华玉通软宣布“海鸥”确定性调度中间件(SEAGULL DS)正式商用

    今天,华玉通软(下称“华玉”)宣布“海鸥”确定性调度中间件(SEAGULL DS)正式商用。
    的头像 发表于 03-17 11:01 673次阅读
    华玉通软宣布“海鸥”<b class='flag-5'>确定性</b>调度中间件(SEAGULL DS)正式商用

    确定性网络技术如何提高网络的可靠性?

    确定性网络技术通过采用时钟同步、流同步和时序一致性、带宽保障和流量控制、数据包复制与排除等机制,提高网络的可靠性,适用于工业自动化、车辆网络等对通信质量有严格要求的领域。TSN技术的引入为确定性网络应用的发展注入了强大推动力,为各个领域的智能化和自动化提供了坚实的网络基础
    的头像 发表于 01-12 16:50 1137次阅读
    <b class='flag-5'>确定性</b>网络技术如何提高网络的可靠性?

    三星电子急签WOLED订单:为应对LCD供应不确定性

     尽管去年三星电子从LG Display购买的W-OLED电视面板数量有限,但随着市场不确定性的上升和供应链问题的加剧,三星电子正在调整策略,寻求更多元化的供应来源。
    的头像 发表于 01-03 15:10 810次阅读