0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

保持任務(wù)關(guān)鍵的確定性DBMS準(zhǔn)時(shí)

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Andrei Gorine ? 2022-07-04 09:49 ? 次閱讀

開(kāi)源和商業(yè)數(shù)據(jù)庫(kù)管理系統(tǒng) (DBMS) 已在嵌入式系統(tǒng)中使用了 20 多年。在大多數(shù)情況下,開(kāi)發(fā)人員甚至不會(huì)爭(zhēng)論是否為嵌入式系統(tǒng)購(gòu)買(mǎi)或構(gòu)建自己的 DBMS。該組件幾乎總是被購(gòu)買(mǎi)。

然而,嵌入式系統(tǒng)空間的一個(gè)子集仍然禁止商業(yè)供應(yīng)商使用,包括某些醫(yī)療系統(tǒng)、輻射監(jiān)測(cè)、飛機(jī)導(dǎo)航、航空電子設(shè)備、飛行員輔助,以及最近的自動(dòng)駕駛??偠灾?,它們可以被稱(chēng)為具有硬實(shí)時(shí)約束的任務(wù)關(guān)鍵型或安全關(guān)鍵型系統(tǒng),其中系統(tǒng)故障可能會(huì)造成傷害。

許多任務(wù)關(guān)鍵型軟件團(tuán)隊(duì)正在尋找商業(yè)現(xiàn)貨 (COTS) 軟件以加快開(kāi)發(fā)速度。嵌入式 DBMS 可以提供幫助,但前提是它具有確定性、可預(yù)測(cè)性和可控性。用于關(guān)鍵任務(wù)系統(tǒng)的確定性 DBMS 架構(gòu)應(yīng)提供具有時(shí)間有效性的 ACID(原子性、一致性、隔離性、持久性)合規(guī)性。

不是每個(gè) DBMS 都強(qiáng)制執(zhí)行 ACID 屬性嗎?符合 ACID 的數(shù)據(jù)庫(kù)很常見(jiàn),但其架構(gòu)是針對(duì)事務(wù)吞吐量而非確定性的。一致性是最重要的屬性;事務(wù)應(yīng)該只將數(shù)據(jù)庫(kù)從一種有效狀態(tài)更改為另一種有效狀態(tài)。在實(shí)時(shí)系統(tǒng)中,事務(wù)中的一組原子語(yǔ)句應(yīng)該成功提交,或者應(yīng)該全部中止,但不應(yīng)在截止日期之后進(jìn)行?!斑t到”會(huì)帶來(lái)不一致的狀態(tài),帶來(lái)暫時(shí)無(wú)效的數(shù)據(jù)和可能的可怕后果。

一致性的關(guān)鍵時(shí)間斷言

確保所有條件下的內(nèi)部數(shù)據(jù)庫(kù)一致性對(duì)于時(shí)間有效性至關(guān)重要。嵌入式數(shù)據(jù)庫(kù)在執(zhí)行效率方面提供了一些改進(jìn),但確定性 DBMS 需要更多的架構(gòu)步驟才能保持準(zhǔn)時(shí)。

首先,應(yīng)該使用悲觀并發(fā)控制。它在授予一項(xiàng)任務(wù)訪問(wèn)權(quán)限之前鎖定全部或部分?jǐn)?shù)據(jù)庫(kù),從而減少了樂(lè)觀模型中復(fù)制的不確定開(kāi)銷(xiāo)。只讀 (RO) 事務(wù)可以并行發(fā)生,而讀寫(xiě) (RW) 事務(wù)具有獨(dú)占訪問(wèn)權(quán)限,從而減少了用于鎖仲裁和死鎖預(yù)防的資源。

接下來(lái),一個(gè)關(guān)鍵的時(shí)間斷言說(shuō)明了工作量和在截止日期前回滾:

無(wú)論事務(wù)復(fù)雜性如何,將任何修改撤銷(xiāo)到事務(wù)中的任何點(diǎn)的時(shí)間都不能超過(guò)應(yīng)用這些修改的時(shí)間。

pYYBAGLCR0OAVQSEAAB0Uf8qCsM873.png

RO事務(wù)有索引查找和游標(biāo)移動(dòng)操作;回滾以相等的間隔撤消內(nèi)部計(jì)數(shù)器的任何遞增或遞減。

更簡(jiǎn)單的 RW 事務(wù)很容易回滾。創(chuàng)建對(duì)象會(huì)根據(jù)對(duì)象大小從空閑內(nèi)存池中分配頁(yè)面;反轉(zhuǎn)只是將這些頁(yè)面返回到池中。其他交易根本不需要沖銷(xiāo)。刪除一個(gè)對(duì)象會(huì)將其標(biāo)記為在原子操作中將其刪除,因此如果事務(wù)中止,則不會(huì)發(fā)生提交時(shí)的刪除。在索引中添加或刪除對(duì)象具有樹(shù)重新平衡或哈希重新分配,它們僅在提交時(shí)生效并且不需要反轉(zhuǎn)。

更新對(duì)象看起來(lái)更復(fù)雜,但結(jié)果證明是一種有效的操作。事務(wù)第一次更新對(duì)象時(shí),分配一個(gè)臨時(shí)對(duì)象,然后將原始對(duì)象復(fù)制到臨時(shí)對(duì)象。使用已經(jīng)創(chuàng)建的副本,后續(xù)更新會(huì)更快。回滾以相反的順序從副本中重新創(chuàng)建原始對(duì)象,然后釋放分配的內(nèi)存頁(yè),對(duì)象的回滾時(shí)間與對(duì)該對(duì)象的更新次數(shù)無(wú)關(guān)。

根據(jù)實(shí)時(shí)截止日期驗(yàn)證交易

確保每個(gè)事務(wù)都安全地提交或中止后,接下來(lái)要安排事務(wù)流?;貞洷^并發(fā);RW 事務(wù)必須按順序執(zhí)行,而 RO 事務(wù)可以并行執(zhí)行。例如,McObject 的 eXtremeDB/rt 中的動(dòng)態(tài)、時(shí)間感知的最早期限優(yōu)先 (EDF) 調(diào)度根據(jù)絕對(duì)期限為事務(wù)分配優(yōu)先級(jí)。

事務(wù)管理器代碼中的驗(yàn)證點(diǎn)指示事務(wù)語(yǔ)句的進(jìn)展程度。如果事務(wù)在提交之前到達(dá)控制點(diǎn)(不再保證數(shù)據(jù)庫(kù)回滾的時(shí)間),那么“事務(wù)中斷”錯(cuò)誤狀態(tài)將返回給應(yīng)用程序。事務(wù)管理器將數(shù)據(jù)庫(kù)恢復(fù)到事務(wù)開(kāi)始之前存在的一致?tīng)顟B(tài)。

在 eXtremeDB/rt 中,應(yīng)用程序可以使用兩種驗(yàn)證方法:傳遞給數(shù)據(jù)庫(kù)運(yùn)行時(shí)的應(yīng)用程序回調(diào),或異步事件處理程序。以下示例將控制點(diǎn)設(shè)置為截止時(shí)間間隔的一半,可以調(diào)整。

回調(diào)方法偽代碼

如果系統(tǒng)定時(shí)器硬件看門(mén)狗定時(shí)器等異步原語(yǔ)不可用,則可以使用回調(diào)方法。操作系統(tǒng)在獲取系統(tǒng)時(shí)間方面存在細(xì)微差別,但代碼流程如以下偽代碼。首先注冊(cè)一個(gè)回調(diào)函數(shù):

poYBAGLCR0yAHCLMAABWZczgpxA596.png

接下來(lái),創(chuàng)建回調(diào),輪詢返回“OK”或“interrupted”狀態(tài)。

pYYBAGLCR1OAEiS6AAD8eTjjdvM875.png

然后,啟動(dòng)實(shí)時(shí)事務(wù),數(shù)據(jù)庫(kù)運(yùn)行時(shí)在原子操作中定期驗(yàn)證“中斷”標(biāo)志。

poYBAGLCR1qAFUqIAABwFMaHePg652.png

C 中的計(jì)時(shí)器方法代碼片段

大多數(shù)關(guān)鍵任務(wù)系統(tǒng)都有硬件計(jì)時(shí)器;使用它們可以提供更高的精度。C 語(yǔ)言中的三個(gè)常用代碼片段設(shè)置了計(jì)時(shí)器變量、實(shí)時(shí)事務(wù)和初始化例程。一、定時(shí)器變量:

poYBAGLCR3eAApYuAADFXWzOFrk533.png

接下來(lái)是實(shí)時(shí)交易:

pYYBAGLCR32AOlT0AAGJy4mmrJg379.png

還有一個(gè)簡(jiǎn)單的初始化程序:

pYYBAGLCR4aAZuQ1AAAwQpfH7yY311.png

硬件計(jì)時(shí)器設(shè)施因操作系統(tǒng)而異。例如,在 VxWorks 中,任何任務(wù)都可以創(chuàng)建一個(gè)看門(mén)狗定時(shí)器,并在指定的延遲后使用它在系統(tǒng)時(shí)鐘 ISR 的上下文中運(yùn)行指定的例程。

poYBAGLCR4yAIayXAADUJL3hFZI590.png

展望更多可控性

替代傳統(tǒng)的并發(fā)控制和調(diào)度方法有助于 eXtremeDB/rt 實(shí)現(xiàn)關(guān)鍵任務(wù)系統(tǒng)所需的確定性、可預(yù)測(cè)的行為。未來(lái)的研究旨在提高 EDF 調(diào)度程序的可控性。例如,事務(wù)上的顯式優(yōu)先級(jí)參數(shù)將有助于排序和搶占。單個(gè)事務(wù)也可以帶有回滾時(shí)間參數(shù),而不是默認(rèn)的deadline/2。

實(shí)現(xiàn)從嵌入式數(shù)據(jù)庫(kù)到確定性 DBMS 的飛躍,確保數(shù)據(jù)在時(shí)間上有效,從而擴(kuò)展了潛在的用例。掌握這種新的 COTS 確定性 DBMS 技術(shù)的任務(wù)關(guān)鍵型軟件團(tuán)隊(duì)可以在開(kāi)發(fā)計(jì)劃、風(fēng)險(xiǎn)降低和應(yīng)用程序靈活性方面獲得優(yōu)勢(shì)。

審核編輯:郭婷

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5052

    文章

    18909

    瀏覽量

    300733
  • 定時(shí)器
    +關(guān)注

    關(guān)注

    23

    文章

    3226

    瀏覽量

    114146
  • 計(jì)時(shí)器
    +關(guān)注

    關(guān)注

    1

    文章

    416

    瀏覽量

    32572
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    電源空載電壓的確定應(yīng)遵循的原則是什么

    的確定對(duì)于電源的性能和穩(wěn)定性至關(guān)重要。本文將詳細(xì)介紹電源空載電壓的確定原則。 2. 電源的基本概念 在討論電源空載電壓的確定原則之前,我們首先需要了解電源的基本概念。 2.1 電源的定
    的頭像 發(fā)表于 08-08 14:28 ?530次閱讀

    DP83826確定性、低延遲、低功耗、10/100Mbps工業(yè)以太網(wǎng)PHY數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《DP83826確定性、低延遲、低功耗、10/100Mbps工業(yè)以太網(wǎng)PHY數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 07-01 15:05 ?1次下載
    DP83826<b class='flag-5'>確定性</b>、低延遲、低功耗、10/100Mbps工業(yè)以太網(wǎng)PHY數(shù)據(jù)表

     相對(duì)于人工的不確定性,機(jī)器人碼垛有何優(yōu)勢(shì)

    ?在現(xiàn)代工業(yè)生產(chǎn)中,碼垛是一項(xiàng)至關(guān)重要的任務(wù),它涉及到將不同形狀、大小和重量的物品進(jìn)行有序地堆疊,以便于后續(xù)的運(yùn)輸和儲(chǔ)存。然而,傳統(tǒng)的人工碼垛方式存在著諸多不確定性,這些不確定性可能源自工人的疲勞
    的頭像 發(fā)表于 06-19 14:45 ?196次閱讀

    ETAS推出Time-Triggered Scheduling (TTS)的確定性調(diào)度解決方案

    在2024年2月26日,ETAS推出了名為“Time-Triggered Scheduling (TTS)”的確定性調(diào)度解決方案。
    的頭像 發(fā)表于 04-25 16:56 ?1917次閱讀
    ETAS推出Time-Triggered Scheduling (TTS)<b class='flag-5'>的確定性</b>調(diào)度解決方案

    什么是嵌入式實(shí)時(shí)系統(tǒng)的確定性?簡(jiǎn)析EDMS中的確定性

    ETAS Deterministic Middleware Solution點(diǎn)擊跳轉(zhuǎn)(EDMS,前身為AOS) 確定性中間件解決方案,是一個(gè)中間件框架,旨在面向汽車(chē)領(lǐng)域內(nèi)應(yīng)用程序的獨(dú)特挑戰(zhàn)和需求
    的頭像 發(fā)表于 04-15 11:22 ?944次閱讀
    什么是嵌入式實(shí)時(shí)系統(tǒng)<b class='flag-5'>的確定性</b>?簡(jiǎn)析EDMS中<b class='flag-5'>的確定性</b>

    海信馬曉龍:堅(jiān)定長(zhǎng)期主義的戰(zhàn)略定力,激發(fā)“確定性”增長(zhǎng)的內(nèi)生動(dòng)力

    近年來(lái),在內(nèi)外因疊加影響下,智慧交通行業(yè)充滿了變數(shù)。當(dāng)不確定性成為常態(tài),如何驅(qū)散迷霧走向增長(zhǎng)?這是每一個(gè)智慧交通企業(yè)必須解決的難題。 選擇用什么答案來(lái)面對(duì)這個(gè)難題,決定了企業(yè)迎戰(zhàn)風(fēng)浪的命運(yùn),海信智慧
    的頭像 發(fā)表于 03-21 11:38 ?274次閱讀
    海信馬曉龍:堅(jiān)定長(zhǎng)期主義的戰(zhàn)略定力,激發(fā)“<b class='flag-5'>確定性</b>”增長(zhǎng)的內(nèi)生動(dòng)力

    華玉通軟宣布“海鷗”確定性調(diào)度中間件(SEAGULL DS)正式商用

    今天,華玉通軟(下稱(chēng)“華玉”)宣布“海鷗”確定性調(diào)度中間件(SEAGULL DS)正式商用。
    的頭像 發(fā)表于 03-17 11:01 ?570次閱讀
    華玉通軟宣布“海鷗”<b class='flag-5'>確定性</b>調(diào)度中間件(SEAGULL DS)正式商用

    確定性網(wǎng)絡(luò)技術(shù)如何提高網(wǎng)絡(luò)的可靠性?

    確定性網(wǎng)絡(luò)技術(shù)通過(guò)采用時(shí)鐘同步、流同步和時(shí)序一致性、帶寬保障和流量控制、數(shù)據(jù)包復(fù)制與排除等機(jī)制,提高網(wǎng)絡(luò)的可靠性,適用于工業(yè)自動(dòng)化、車(chē)輛網(wǎng)絡(luò)等對(duì)通信質(zhì)量有嚴(yán)格要求的領(lǐng)域。TSN技術(shù)的引入為確定性網(wǎng)絡(luò)應(yīng)用的發(fā)展注入了強(qiáng)大推動(dòng)力,為各個(gè)領(lǐng)域的智能化和自動(dòng)化提供了堅(jiān)實(shí)的網(wǎng)絡(luò)基礎(chǔ)
    的頭像 發(fā)表于 01-12 16:50 ?1039次閱讀
    <b class='flag-5'>確定性</b>網(wǎng)絡(luò)技術(shù)如何提高網(wǎng)絡(luò)的可靠性?

    三星電子急簽WOLED訂單:為應(yīng)對(duì)LCD供應(yīng)不確定性

     盡管去年三星電子從LG Display購(gòu)買(mǎi)的W-OLED電視面板數(shù)量有限,但隨著市場(chǎng)不確定性的上升和供應(yīng)鏈問(wèn)題的加劇,三星電子正在調(diào)整策略,尋求更多元化的供應(yīng)來(lái)源。
    的頭像 發(fā)表于 01-03 15:10 ?750次閱讀

    消除熱電偶溫度測(cè)量中的不確定性(使用AD594/AD595)

    電子發(fā)燒友網(wǎng)站提供《消除熱電偶溫度測(cè)量中的不確定性(使用AD594/AD595).pdf》資料免費(fèi)下載
    發(fā)表于 11-23 11:34 ?0次下載
    消除熱電偶溫度測(cè)量中的不<b class='flag-5'>確定性</b>(使用AD594/AD595)

    烏卡時(shí)代確定性稀缺,企業(yè)多云戰(zhàn)略最需看中什么?

    雙十一剛過(guò),云服務(wù)商宕機(jī)導(dǎo)致大面積故障的新聞就引爆全網(wǎng),再一次引發(fā)全網(wǎng)關(guān)于云計(jì)算安全可靠的大討論。 在一個(gè)充滿著復(fù)雜性、不穩(wěn)定性和不確定性的烏卡時(shí)代,云故障頻發(fā)似乎已發(fā)展成一種“常態(tài)”,讓企業(yè)對(duì)于云
    的頭像 發(fā)表于 11-23 10:28 ?213次閱讀

    步進(jìn)電機(jī)驅(qū)動(dòng)器電壓和電流的確定

    1.步進(jìn)電機(jī)驅(qū)動(dòng)器電壓的確定 混合式步進(jìn)電機(jī)驅(qū)動(dòng)器的供電電源電壓一般是一個(gè)較寬的范圍(比如IM483的供電電壓為12~48VDC),電源電壓通常根據(jù)電機(jī)的工作轉(zhuǎn)速和響應(yīng)要求來(lái)選擇。如果電機(jī)工作轉(zhuǎn)速
    發(fā)表于 11-09 07:50

    大規(guī)模確定性網(wǎng)絡(luò)技術(shù)分析與展望

    確定性網(wǎng)絡(luò)可以分為不同的技術(shù)路線,不同的技術(shù)路線往往從不同的層次切入來(lái)構(gòu)建確定性網(wǎng)絡(luò),借助分層技術(shù)圖譜可以清晰、快速地理清各個(gè)技術(shù)路線相關(guān)技術(shù)間的關(guān)系,其中不同技術(shù)工作或適應(yīng)在不同的網(wǎng)絡(luò)層次和網(wǎng)絡(luò)
    的頭像 發(fā)表于 11-06 16:26 ?1543次閱讀
    大規(guī)模<b class='flag-5'>確定性</b>網(wǎng)絡(luò)技術(shù)分析與展望

    如何確定時(shí)基?如何用示波器測(cè)串口波特率?

    如何確定時(shí)基?如何用示波器測(cè)串口波特率? 一、時(shí)基的確定 時(shí)基是指一種標(biāo)準(zhǔn)時(shí)間的參考信號(hào),它是通過(guò)一些精密的時(shí)鐘或震蕩器產(chǎn)生的。在電子測(cè)量和控制過(guò)程中,時(shí)基是非常重要的,因?yàn)樗梢源_保系統(tǒng)中不同時(shí)間
    的頭像 發(fā)表于 11-01 14:56 ?1520次閱讀

    行業(yè)高速成長(zhǎng)確定性較高,歐萊新材沖刺科創(chuàng)板IPO把握機(jī)遇

    電子產(chǎn)品生產(chǎn)國(guó)、出口國(guó)和消費(fèi)國(guó),也是全球最大的集成電路半導(dǎo)體消費(fèi)國(guó)和進(jìn)口國(guó),在最終下游眾多生產(chǎn)及消費(fèi)領(lǐng)域的需求驅(qū)動(dòng)了我國(guó)高性能濺射靶材行業(yè)快速增長(zhǎng)。因此,未來(lái)高性能濺射靶材行業(yè)高速成長(zhǎng)的確定性較高?;谛袠I(yè)廣闊的發(fā)
    的頭像 發(fā)表于 10-26 12:07 ?423次閱讀