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

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

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

現(xiàn)代分布式物聯(lián)網(wǎng)和物聯(lián)網(wǎng)數(shù)據(jù)應(yīng)用程序開發(fā)、部署和持續(xù)支持的挑戰(zhàn)

星星科技指導(dǎo)員 ? 來源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Michael Brogioli ? 2022-11-29 11:40 ? 次閱讀

在由兩部分組成的系列文章的第一部分中,我們將討論現(xiàn)代分布式物聯(lián)網(wǎng)和物聯(lián)網(wǎng)數(shù)據(jù)應(yīng)用程序開發(fā)、部署和持續(xù)支持的挑戰(zhàn)。具體解決的是跨越我們所說的技術(shù)“孤島”的開發(fā)挑戰(zhàn),以及跨云、霧和邊緣計(jì)算節(jié)點(diǎn)安全可靠部署以滿足現(xiàn)代應(yīng)用程序需求的挑戰(zhàn)。

隨著物聯(lián)網(wǎng)市場的成熟,本文考慮了跨網(wǎng)絡(luò)的抽象層和計(jì)算模型的出現(xiàn)。這些可以從單一統(tǒng)一的程序員角度跨異構(gòu)計(jì)算端點(diǎn)和通信層網(wǎng)絡(luò)進(jìn)行應(yīng)用程序和系統(tǒng)開發(fā)。

隨著物聯(lián)網(wǎng)的迅速崛起,以及物聯(lián)網(wǎng)設(shè)備的生產(chǎn)和多樣性的增加,我們已經(jīng)看到創(chuàng)新技術(shù)大大提高了生產(chǎn)力和/或產(chǎn)生了全新的商業(yè)模式。同時(shí),現(xiàn)代嵌入式和物聯(lián)網(wǎng)解決方案是分布式和異構(gòu)的,硬件目標(biāo)包括低功耗8位MCU,輕量級但功能強(qiáng)大的網(wǎng)絡(luò)網(wǎng)關(guān)以及互聯(lián)網(wǎng)云服務(wù)器的近乎無限的資源。

現(xiàn)代物聯(lián)網(wǎng)解決方案需要跨不同開發(fā)平臺或“孤島”的專業(yè)知識。我們使用術(shù)語孤島來表示實(shí)現(xiàn)跨網(wǎng)絡(luò) IoT 解決方案所需的分段開發(fā)和部署流程和工具。隨著開發(fā)從云轉(zhuǎn)移到系統(tǒng)內(nèi)的嵌入式組件,需要越來越專業(yè)化和昂貴的人才,這些人才仍然被鎖定在給定的開發(fā)孤島中。這是因?yàn)殚_發(fā)高效、安全和可靠的嵌入式軟件仍然需要高度專業(yè)化的知識,這些知識伴隨著陡峭且通常昂貴的學(xué)習(xí)曲線。

很多時(shí)候,云和應(yīng)用程序開發(fā)人員認(rèn)為理所當(dāng)然的高級抽象并沒有找到嵌入式開發(fā)的方式。也就是說,在跨多個(gè)團(tuán)隊(duì)、工具和目標(biāo)開發(fā)和部署功能時(shí),即使不是不可能,也很難保持敏捷性——后勤挑戰(zhàn)會減緩產(chǎn)品實(shí)施和創(chuàng)新的步伐。

該問題的真實(shí)體現(xiàn)可能是現(xiàn)代無人機(jī)平臺,包括用于數(shù)據(jù)收集的云服務(wù)器、高性能網(wǎng)絡(luò)網(wǎng)關(guān)以及本地設(shè)備上網(wǎng)絡(luò)。此外,無人機(jī)本身可能由可能運(yùn)行Linux或其他操作系統(tǒng)的強(qiáng)大應(yīng)用處理器,各種裸機(jī)8位MCU處理功能(如無刷電機(jī)控制)以及各種GPU,相機(jī)和具有不同可編程性的硬件加速器組成。

許多行業(yè)參與者已經(jīng)開始認(rèn)識到這個(gè)快速增長的問題,例如英特爾公司,他最近表示,“嵌入式和物聯(lián)網(wǎng)之間的一個(gè)關(guān)鍵區(qū)別是連接性。我們正在從孤立的設(shè)備過渡到一組能夠感知周圍環(huán)境的互聯(lián)設(shè)備。

“如果你考慮所有用于分析的加速器 - CPU,圖形,視頻加速器,深度學(xué)習(xí)引擎,F(xiàn)PA - 你談?wù)摰氖?-5種不同的編程環(huán)境。這與舊的工具環(huán)境不同。工具必須以一種允許開發(fā)人員盡可能無縫地在云、網(wǎng)關(guān)和設(shè)備中的所有這些加速器之間移動工作負(fù)載和加速的方式完成。1

物聯(lián)網(wǎng)和物聯(lián)網(wǎng)數(shù)據(jù)

有人可能會說,物聯(lián)網(wǎng)的革命也可以被認(rèn)為是由DoT或物聯(lián)網(wǎng)數(shù)據(jù)驅(qū)動的。因此,收集、過濾、規(guī)范化、處理和存儲數(shù)據(jù)的高效且經(jīng)濟(jì)的基礎(chǔ)設(shè)施應(yīng)該是任何物聯(lián)網(wǎng)部署的核心。

對于許多企業(yè)來說,云已成為分析、存儲和可視化物聯(lián)網(wǎng)數(shù)據(jù)的主要選擇。然而,由于延遲、可用性、成本和隱私等明顯原因,大多數(shù)人會同意某些處理需要在數(shù)據(jù)源(即物聯(lián)網(wǎng)設(shè)備)附近完成,其中包括邊緣和霧計(jì)算。結(jié)果是,在許多情況下,構(gòu)建、部署和支持端到端物聯(lián)網(wǎng)數(shù)據(jù)管道是一種平衡行為,即決定應(yīng)該在云中做什么,應(yīng)該在邊緣或其他地方做什么,跨越多個(gè)開發(fā)目標(biāo)、生態(tài)系統(tǒng)和開發(fā)人員資源。

這部分是由于云中的部署是眾所周知的,特別是像AWS這樣的云供應(yīng)商已經(jīng)使用各種工具和服務(wù)進(jìn)行了大規(guī)模的數(shù)據(jù)分析和渲染。對于大多數(shù)幾乎沒有指導(dǎo)或誤導(dǎo)原則的企業(yè)來說,如何在邊緣最好地構(gòu)建、部署和支持?jǐn)?shù)據(jù)驅(qū)動的計(jì)算基礎(chǔ)設(shè)施仍然是最佳實(shí)踐。這在一定程度上與物聯(lián)網(wǎng)系統(tǒng)的異構(gòu)性質(zhì)有關(guān),物聯(lián)網(wǎng)系統(tǒng)的硬件和軟件架構(gòu)、軟件打包和安全功能可能大不相同。

同樣重要且當(dāng)今該領(lǐng)域缺少的一大部分是以數(shù)據(jù)為中心的邊緣計(jì)算基礎(chǔ)設(shè)施。此類基礎(chǔ)設(shè)施需要能夠:

?標(biāo)準(zhǔn)化 IoT 數(shù)據(jù)的攝取和規(guī)范化方式

?提供劃分和分配數(shù)據(jù)處理工作負(fù)載的系統(tǒng)方法

?自動擴(kuò)展數(shù)據(jù)處理任務(wù),以適應(yīng)各種數(shù)據(jù)復(fù)雜性和數(shù)據(jù)量

?簡化 AI/ML 推理函數(shù)的構(gòu)建和部署到邊緣的方式

開發(fā)和部署挑戰(zhàn)

市場上有一些袖珍解決方案解決了其中的一兩個(gè)挑戰(zhàn)。例如,AWS Greengrass 服務(wù)允許您在嵌入式邊緣網(wǎng)關(guān)上運(yùn)行微服務(wù)(以 Lambda 函數(shù)的形式);Azure IoT Edge 提供類似功能,但以顯式容器化應(yīng)用的形式除外。

然而,在撰寫本文時(shí),這些服務(wù)包括一個(gè)過于簡化的物聯(lián)網(wǎng)和邊緣部署模型,目前無法在將聚合數(shù)據(jù)發(fā)送到云之前通過大型物聯(lián)網(wǎng)邊緣設(shè)備網(wǎng)絡(luò)實(shí)現(xiàn)復(fù)雜的數(shù)據(jù)處理功能。

這部分是由于這些開發(fā)人員強(qiáng)烈接受用于構(gòu)建安全的云支持的Web應(yīng)用程序的復(fù)雜,敏捷的開發(fā)方法,而嵌入式世界在很大程度上已經(jīng)落后。云和應(yīng)用程序開發(fā)人員認(rèn)為理所當(dāng)然的高級抽象在很大程度上沒有找到嵌入式開發(fā)的方式,這通常使其成為開發(fā)完整解決方案中最慢最痛苦的方面。

O‘Reilly最近的一份出版物很好地總結(jié)了這一挑戰(zhàn)的各個(gè)方面?!吨匦滤伎季幊獭芬晃闹赋?,“編程世界將越來越多地分為訓(xùn)練有素的專業(yè)人士和沒有深厚背景但擁有大量構(gòu)建經(jīng)驗(yàn)的人。前者構(gòu)建工具、框架、語言和平臺;后者連接事物并構(gòu)建網(wǎng)站、移動應(yīng)用程序等。2

因此,我們不僅要解決系統(tǒng)架構(gòu)中各種孤島(云、霧、設(shè)備/嵌入式)的開發(fā)挑戰(zhàn),還要解決如何促進(jìn)構(gòu)建者以務(wù)實(shí)的方式部署、配置、重新配置和支持這些健壯的系統(tǒng),而不需要深入了解底層硬件架構(gòu)等。

例如,考慮部署包含圖 1 中體系結(jié)構(gòu)的應(yīng)用程序。嵌入式節(jié)點(diǎn)可能是低功耗 8、16 或 32 位 MCU 或 DSP 目標(biāo),需要深入了解底層硬件架構(gòu),并且通常需要牢牢掌握 C 編程語言。該器件可以與各種致動器、傳感器和串行通信協(xié)議(如 I2C、UART 等)接口。

自動生成的徽標(biāo)描述的特寫

圖1.嵌入式設(shè)備直接與云計(jì)算通信的示例。

相反,圖 1 右側(cè)的云數(shù)據(jù)存儲通常是具有 GB 內(nèi)存的高度配置的多核服務(wù)器,可能運(yùn)行強(qiáng)大的虛擬化操作系統(tǒng)并執(zhí)行在具有更高級編程語言的抽象框架中構(gòu)建的應(yīng)用程序。

云存儲可以執(zhí)行數(shù)據(jù)記錄、事件處理和類似功能。

正如人們所期望的那樣,為每個(gè)設(shè)備編程邏輯需要不同程度的底層架構(gòu)知識(或者在云設(shè)備的情況下,可能根本沒有知識),使用截然不同的框架、編程語言和操作系統(tǒng)支持級別(或者在嵌入式節(jié)點(diǎn)的情況下根本沒有操作系統(tǒng))。

現(xiàn)在考慮相同的應(yīng)用程序,但部署在圖 2 所示的體系結(jié)構(gòu)上。雖然該架構(gòu)仍然包括嵌入式節(jié)點(diǎn)和云節(jié)點(diǎn),但集成了用于記錄、分析、推理或其他邏輯的霧網(wǎng)關(guān)。此節(jié)點(diǎn)可能是預(yù)配良好的多核 Linux 體系結(jié)構(gòu),可在 C++ 等中編程。

圖2.將霧與云計(jì)算相結(jié)合的嵌入式設(shè)備通信示例。

這當(dāng)然提出了許多問題:

如何在這個(gè)不斷發(fā)展的體系結(jié)構(gòu)中遷移現(xiàn)有應(yīng)用程序?

如果有多個(gè)嵌入式節(jié)點(diǎn)和/或多個(gè)霧節(jié)點(diǎn)怎么辦?

跨不同硬件目標(biāo)(包括不同級別的計(jì)算資源、操作系統(tǒng)支持、帶寬和連接)遷移應(yīng)用程序的系統(tǒng)方法是什么?

此外,還必須考慮從頭開始支持安全、不同類型的通信鏈接和發(fā)展范式。

顯然,開發(fā)、部署和持續(xù)支持的問題很快就會在孤立的架構(gòu)中以及組織中的孤立開發(fā)和部署團(tuán)隊(duì)中變得棘手!

期待

隨著物聯(lián)網(wǎng)和 DoT 應(yīng)用的未來需要嵌入式計(jì)算、霧計(jì)算和云計(jì)算協(xié)同運(yùn)行,項(xiàng)目經(jīng)理和開發(fā)人員都必須注意構(gòu)建和部署這些解決方案所需的人力資源和資本。

高級云開發(fā)人員可能不具備嵌入式硬件的復(fù)雜知識,并且很多時(shí)候不具備這些系統(tǒng)所需的系統(tǒng)級理解和編程技能。同樣,嵌入式開發(fā)人員很可能不知道云開發(fā)中迅速出現(xiàn)的高級開發(fā)框架和工具。

必須注意協(xié)調(diào)許多移動部件,以便對這些系統(tǒng)進(jìn)行統(tǒng)一和異構(gòu)的開發(fā)、部署和持續(xù)支持。

然而,與此同時(shí),孤島的集成遠(yuǎn)遠(yuǎn)超出了給定目標(biāo)節(jié)點(diǎn)的開發(fā)。必須考慮設(shè)備之間的各種通信通道,以及部署給定物聯(lián)網(wǎng)應(yīng)用程序的基礎(chǔ)設(shè)施的維護(hù)。此外,必須在應(yīng)用程序部署的整個(gè)生命周期中持續(xù)維護(hù)安全配置信息的部署和安全層本身。當(dāng)物聯(lián)網(wǎng)應(yīng)用程序中一個(gè)計(jì)算節(jié)點(diǎn)的應(yīng)用程序代碼、安全層或配置更新時(shí),不僅需要針對支持該應(yīng)用程序的其他軟件和系統(tǒng)進(jìn)行測試和驗(yàn)證,還需要同時(shí)部署。這種迭代部署周期通常由多個(gè)互連的軟件模塊和層(請注意,一些專有和一些第三方或開源)組成,必須跨開發(fā)團(tuán)隊(duì)和企業(yè)加以考慮。

在本文的第 2 部分中,我們將解決給定 IoT 部署孤島中的特定開發(fā)挑戰(zhàn)。然后,我們進(jìn)一步深入研究潛在的面向未來的解決方案,以促進(jìn)構(gòu)建這些類型的孤島跨越系統(tǒng),考慮給定組織內(nèi)的語言和部署方案。

審核編輯:郭婷

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

    關(guān)注

    146

    文章

    16811

    瀏覽量

    349419
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43826

    瀏覽量

    369262
收藏 人收藏

    評論

    相關(guān)推薦

    潤和軟件星閃派聯(lián)網(wǎng)開發(fā)套件資料+答疑帖

    星閃派聯(lián)網(wǎng)開發(fā)套件具有豐富的通信接口、開放性、模塊化、集成化等多個(gè)亮點(diǎn);可基于星閃派聯(lián)網(wǎng)開發(fā)
    發(fā)表于 09-29 10:24

    分布式工業(yè)聯(lián)網(wǎng)平臺:引領(lǐng)智能制造的新篇章

    產(chǎn)品銷往世界各地,以最小的成本創(chuàng)造最大的利潤。 分布式工業(yè)聯(lián)網(wǎng)平臺的定義與特點(diǎn) 分布式工業(yè)聯(lián)網(wǎng)
    的頭像 發(fā)表于 09-27 17:09 ?160次閱讀

    什么是聯(lián)網(wǎng)技術(shù)?

    夠?qū)A康?b class='flag-5'>物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行整合、分析和挖掘,提取有價(jià)值的信息。 應(yīng)用層:是聯(lián)網(wǎng)技術(shù)的最終體現(xiàn),直接面向用戶和具體的應(yīng)用場景。包括各類
    發(fā)表于 08-19 14:08

    鴻蒙開發(fā)接口數(shù)據(jù)管理:【@ohos.data.distributedData (分布式數(shù)據(jù)管理)】

    分布式數(shù)據(jù)管理為應(yīng)用程序提供不同設(shè)備間數(shù)據(jù)庫的分布式協(xié)同能力。通過調(diào)用分布式
    的頭像 發(fā)表于 06-07 09:30 ?804次閱讀
    鴻蒙<b class='flag-5'>開發(fā)</b>接口<b class='flag-5'>數(shù)據(jù)</b>管理:【@ohos.data.distributedData (<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)</b>管理)】

    Myriota 推出全球部署最快的衛(wèi)星聯(lián)網(wǎng)平臺!天基聯(lián)網(wǎng)創(chuàng)新提速

    近年來,衛(wèi)星聯(lián)網(wǎng)的火熱有目共睹,也催生了許多創(chuàng)新解決方案。就在近日,領(lǐng)先的衛(wèi)星聯(lián)網(wǎng)公司Myriota宣布推出全球市場上功能最強(qiáng)大、部署
    的頭像 發(fā)表于 05-27 08:04 ?547次閱讀
    Myriota 推出全球<b class='flag-5'>部署</b>最快的衛(wèi)星<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>平臺!天基<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>創(chuàng)新提速

    4G聯(lián)網(wǎng)開關(guān)求助

    阿里云聯(lián)網(wǎng)平臺 合宙模塊780E 724 或者移遠(yuǎn)4G模塊開發(fā)一款聯(lián)網(wǎng)開關(guān),有的APP ,可以直接做固件或者固件帶硬件。有可以做的大師可
    發(fā)表于 05-19 15:28

    嵌入學(xué)習(xí)-飛凌嵌入ElfBoard-項(xiàng)目分享|基于ELF 1S開發(fā)板完成的聯(lián)網(wǎng)開源項(xiàng)目

    的是,ElfBoard官方已經(jīng)提供了一個(gè)聯(lián)網(wǎng)腳本,elf1_cmd_wifi.sh,應(yīng)用程序開發(fā)工程師可以很方便地調(diào)用這個(gè)腳本進(jìn)行互聯(lián)網(wǎng)鏈接,對于使用嵌入
    發(fā)表于 05-16 09:19

    飛凌嵌入-ElfBoard-項(xiàng)目分享|基于ELF 1S開發(fā)板完成的聯(lián)網(wǎng)開源項(xiàng)目

    的是,ElfBoard官方已經(jīng)提供了一個(gè)聯(lián)網(wǎng)腳本,elf1_cmd_wifi.sh,應(yīng)用程序開發(fā)工程師可以很方便地調(diào)用這個(gè)腳本進(jìn)行互聯(lián)網(wǎng)鏈接,對于使用嵌入
    發(fā)表于 05-16 09:12

    HarmonyOS開發(fā)實(shí)例:【分布式數(shù)據(jù)服務(wù)】

    分布式數(shù)據(jù)服務(wù)(Distributed Data Service,DDS)為應(yīng)用程序提供不同設(shè)備間數(shù)據(jù)分布式的能力。
    的頭像 發(fā)表于 04-18 10:18 ?615次閱讀
    HarmonyOS<b class='flag-5'>開發(fā)</b>實(shí)例:【<b class='flag-5'>分布式</b><b class='flag-5'>數(shù)據(jù)</b>服務(wù)】

    分布式運(yùn)維管理平臺在聯(lián)網(wǎng)系統(tǒng)中的應(yīng)用案例分析

    一、引言 隨著聯(lián)網(wǎng)技術(shù)的快速發(fā)展,越來越多的設(shè)備和系統(tǒng)接入到網(wǎng)絡(luò)中,導(dǎo)致運(yùn)維管理的難度和復(fù)雜度急劇上升。分布式運(yùn)維管理平臺作為一種新型的管理工具,在
    的頭像 發(fā)表于 03-26 16:18 ?368次閱讀

    MCU在線技術(shù)講座-EFM和EFR: 面向聯(lián)網(wǎng)開發(fā)的通用MCU平臺

    能力。BB5x系列是電動工具,手持廚房工具(如浸入攪拌機(jī)),甚至兒童玩具等電池供電型應(yīng)用的理想之選,其支持從1.8V到5.5V的多種電壓選擇,使設(shè)備利用紐扣電池即可持續(xù)使用多年。
    發(fā)表于 11-23 13:45

    智能運(yùn)維聯(lián)網(wǎng)平臺:為分布式設(shè)備打造高效、安全的運(yùn)維體驗(yàn)

    挑戰(zhàn)。 如何保證這些分布式設(shè)備的正常運(yùn)行,提供高效及時(shí)的運(yùn)維服務(wù),建設(shè)一個(gè)信息化、規(guī)范化、便捷化的運(yùn)維平臺有其必要性,數(shù)之能提供了高效實(shí)用的智能運(yùn)維聯(lián)網(wǎng)平臺解決方案。 1、信息管理
    的頭像 發(fā)表于 11-22 13:35 ?424次閱讀

    Java手寫分布式鎖的實(shí)現(xiàn)

    隨著互聯(lián)網(wǎng)業(yè)務(wù)的發(fā)展,原本單機(jī)部署的系統(tǒng)演化成如今的分布式集群系統(tǒng)后,由于分布式系統(tǒng)多線程
    的頭像 發(fā)表于 11-17 15:51 ?510次閱讀
    Java手寫<b class='flag-5'>分布式</b>鎖的實(shí)現(xiàn)

    springclould分布式教程

    Spring Cloud是一個(gè)基于Spring Boot的分布式系統(tǒng)開發(fā)工具,它提供了一系列的分布式系統(tǒng)解決方案,可以幫助開發(fā)者快速構(gòu)建和部署
    的頭像 發(fā)表于 11-16 10:59 ?426次閱讀

    面對設(shè)備制造商打造的分布式設(shè)備數(shù)據(jù)處理中心有什么功能

    打造的分布式設(shè)備數(shù)據(jù)處理中心(聯(lián)網(wǎng)數(shù)據(jù)中臺),支持數(shù)據(jù)
    的頭像 發(fā)表于 11-09 14:00 ?290次閱讀
    面對設(shè)備制造商打造的<b class='flag-5'>分布式</b>設(shè)備<b class='flag-5'>數(shù)據(jù)</b>處理中心有什么功能