第一章 sysrepod概述

2022-06-17 10:54:08 字數 2282 閱讀 3516

摘自:

sysrepo是linux/unix系統下乙個基於yang模型的配置和運算元據庫,為應用程式提供統一的運算元據的介面。應用程式使用yang模型來建模,通過利用yang模型完成資料合法性的檢查,保證的風格的一致,不需要應用程式直接操作配置檔案的一種資料管理方式。

1)、sysrepo只是乙個庫,不是乙個獨立的程序

2)、全部的資料始終由yang模型區分,這就可能造成許多嚴重的後果,例如,允許同時使用不同的模型進行工作,這將可  導致資料訪問時異常。

2)、在所有有ipc中使用共享記憶體的方式,取代了之前的unix中程序間通訊的方式,這樣更高效,效能更優,擴充套件性更強

3)、在sysrepo中幾乎不存在cpu時間浪費,沒有活動等待或者定期檢查

4)、完全可定製化的事件處理,從定期檢查或者poll/select到自動線程處理

5)、訪問控制嚴格受制於檔案系統的許可權

6)、sysrepo操作期間可以修改yang模型

1)、sysrepo的主要功能是使用yang模型對資料進行操作並訂閱各種事件。但是,在執行任何操作時,都需要建立會話,連線會話,並要install所支援的各類yang模型。假如設定了日誌操作記錄,sysrepo在執行時,也可以保留它的行為記錄。

2)、通過yang的xpath來修改與獲取資料,所以要求了解xpath的基礎知識。

3)、最常見的操作訂閱事件和修改訂閱事件,訂閱事件是允許應用程式根據特定的事件**相應的資料執行,更改操作。操作執行成功後,會將對應配置操作儲存,這樣sysrepo可以充當更智慧型的配置檔案,從而保證配置的可恢復性。

4)、也支援rpc/action/notify的訂閱,這樣可以通過執行特別的rpc,就可以分別向其他sysrepo客戶端通知各種生成的事件。

應用程式可以通過兩種方法來訪問sysrepo,一種是直接的方法,即當應用程式需要配置資料或者執行相應的callback來響應配置變化時,可以通過sysrepo自帶的應用程式來觸發用sysrepo的功能函式來實現。這種方法一般用於開發人員自測或驗證某個模組時使用;另一種是間接的方法,即應用程式通過建立deamon程序的方法,該方法是通過將對sysrepo的呼叫轉化為對應用程式的特定操作,該方法也最容易擴充套件,也無需為了使用sysrepo資料庫而做相應的更改。如果有多個類似的deamon程序,可以將這些程序合成乙個plugind,最後由乙個程序統一納管。可擴充套件性得到大大的提高。間接方法的使用如圖1所示:

圖1  sysrepo使用方法

資料庫結構大多是遵循nmda(網路管理資料儲存區體)所定義的體系架構。sysrepo同樣也不例外,sysrepo中定義了四類資料庫,分別是startup,running,candidate和operational。

1)、startup庫,是sysrepo中唯一的永續性資料儲存庫,它包含裝置啟動時的配置檔案,系統啟動後建立的第乙個sysrepo連線(共享記憶體)時,會將配置檔案從startup庫copy到running庫;

2)、running資料庫,是儲存當前所執行時系統配置,當乙個配置發生變化時並且裝置需要重新配置時,running資料庫需要修改。系統重啟時不會存在,如果需要,可以將配置copy到startup庫。

3)、candidate資料庫,候選庫,顧名思義,它是乙個準備配置的資料但又不影響實際裝置使用。雖然該庫中的資料不限制裝置的正常使用,可以不必嚴格按照netconf協議的定義,但也是需要遵循一般的資料儲存規則。該庫正常是無效的,實際使用時,需要將該庫mirror到running,由running完成修改和配置下發,最後通過sr_copy_config(),將candidate庫重置。整個會話的過程中可能需要相應的lock操作,來保證操作的一致與完整性。

4)、operational庫,維護當前使用的配置,並且該庫只可讀。它通常與對應的running庫有所不同,而且,只包含任何狀態資料結點。在預設的情況下,該庫是空的,對於使用者來說,全部的訂閱資料和運算元據都儲存於operational庫中。並且notificationg rpc/action資料的校驗都是在 operational庫是完成。

1)、對於連線與會話來說,會話是不同步的,所以不會在多個執行緒中共享乙個會話。每個執行緒都需要建立屬於自己的會話,來確保本執行緒執行的正確。

2)、對於訂閱來說,可以由應用程式對感興趣的事件通過*_subscribe()函式來做相應的訂閱。訂閱在原則上是將全部的的事件一併處理,應用程式也可以將根據不同的事件型別拆分成多個不同的訂閱,用於保證事件的併發處理。

3)、每個訂閱可以由不同的方式處理,這個由sysrepo做統一管理。sysrepo建立乙個單獨的執行緒來捕獲各種訂閱事件的發生,然後通過訂閱所註冊的**函式不處理它們。

第一章 概述

1.模擬量輸入,輸出,開關量 閃爍 輸入,輸出及資料通訊 2.模擬量大多為開關量 3.mcu前做為前端採集器,mcu 感測器 4.開發步驟 1 i o分析 2 mcu造型 3 評估系統及相關硬體 4 設計硬體系統 5 硬體系統模組測試 6 軟體系統設計 7 系統測試 8 進一步工作 5.交叉編譯 6...

第一章 概述

modelsim電子系統分析與 于斌,公尺秀傑主編 電子工業出版社 本章內容 1,ic設計流程 2,modelsim的功能和作用 3,modelsim基本流程 1.1ic設計與modelsim ic設計流程包括兩類 正向設計 top down 和反向設計 bottom up 前者指的是從最高層的功能...

第一章 概述

網路協議通常分為不同層次進行開發,tcp ip一般認為有四層,從上到下分別是 應用層 處理應用程式,一般tcp ip提供的通用的應用程式有telnet 遠端登入 ftp 檔案傳輸協議 smtp 簡單郵件傳輸協議 snmp 簡單網路管理協議 運輸層 為兩台主機上的應用程式提供端到端的通訊,在運輸層主要...