国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)及方法與流程

      文檔序號:11734545閱讀:246來源:國知局
      嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)及方法與流程
      本發(fā)明涉及嵌入式網(wǎng)絡設備,特別涉及一種嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)及方法。

      背景技術:
      嵌入式設備是一種資源稀缺平臺,一般用于實現(xiàn)單一的功能。但隨著硬件技術的革新,平臺化的、可二次開發(fā)的嵌入式網(wǎng)絡設備平臺已經(jīng)實現(xiàn),但在嵌入式設備開發(fā)中,一旦不限于單一功能,業(yè)務應用系統(tǒng)的數(shù)目便會增加,數(shù)據(jù)的訪問便成了性能和資源的瓶頸。在嵌入式網(wǎng)絡設備中,受限于硬件資源,平臺多業(yè)務應用間數(shù)據(jù)訪問的時效性、穩(wěn)定性很難得到保證,特別是上層應用與底層硬件關系比較緊密的嵌入式網(wǎng)絡設備中,給嵌入式網(wǎng)絡設備的業(yè)務應用系統(tǒng)開發(fā)添加了諸多負擔。

      技術實現(xiàn)要素:
      本發(fā)明的目的在于克服現(xiàn)有技術的缺點與不足,提供一種嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng),其可以實現(xiàn)在嵌入式網(wǎng)絡設備上向多個業(yè)務應用系統(tǒng)提供統(tǒng)一的虛擬化數(shù)據(jù)訪問服務接口和方法,有效提高嵌入式網(wǎng)絡設備數(shù)據(jù)存取的一致性和時效性,有助于提升嵌入式網(wǎng)絡設備數(shù)據(jù)服務的可擴展性。本發(fā)明的另一目的在于,利用上述系統(tǒng)在嵌入式網(wǎng)絡設備上向多個業(yè)務應用系統(tǒng)提供統(tǒng)一的虛擬化數(shù)據(jù)訪問方法。為了達到上述第一個目的,本發(fā)明采用以下技術方案:嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng),包括數(shù)據(jù)存儲子系統(tǒng)、數(shù)據(jù)服務子系統(tǒng)和數(shù)據(jù)業(yè)務接口,所述數(shù)據(jù)業(yè)務接口通過數(shù)據(jù)服務子系統(tǒng)與所述數(shù)據(jù)存儲子系統(tǒng)連接;所述數(shù)據(jù)存儲子系統(tǒng)位于所述虛擬化數(shù)據(jù)訪問系統(tǒng)的底層,所述數(shù)據(jù)業(yè)務接口位于所述虛擬化數(shù)據(jù)訪問系統(tǒng)的頂層;所述數(shù)據(jù)業(yè)務接口包括相互連接的數(shù)據(jù)封裝與解釋模塊和服務調用接口模塊;所述數(shù)據(jù)封裝與解釋模塊接收業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求,按照通信報文結構封裝數(shù)據(jù);所述數(shù)據(jù)服務子系統(tǒng)包括數(shù)據(jù)服務適配器、數(shù)據(jù)服務日志模塊和數(shù)據(jù)服務實現(xiàn)模塊,所述數(shù)據(jù)服務適配器、數(shù)據(jù)服務日志模塊和數(shù)據(jù)服務實現(xiàn)模塊兩兩相互連接;所述數(shù)據(jù)存儲子系統(tǒng)包括相互連接的數(shù)據(jù)接口模塊與數(shù)據(jù)存儲模塊;所述數(shù)據(jù)業(yè)務接口中的服務調用接口模塊與所述數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務適配器連接,所述數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務實現(xiàn)模塊與所述數(shù)據(jù)存儲子系統(tǒng)的數(shù)據(jù)接口模塊連接。優(yōu)選的,所述數(shù)據(jù)服務子系統(tǒng)中數(shù)據(jù)服務實現(xiàn)模塊包含若干個業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊。更進一步的,所述業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊在虛擬化數(shù)據(jù)訪問系統(tǒng)啟動時以模塊化的形態(tài)靜態(tài)方式加載或在虛擬化數(shù)據(jù)訪問系統(tǒng)運行階段以動態(tài)方式加載。更進一步的,所述通信報文依次由系統(tǒng)報頭、模塊報頭和模塊數(shù)據(jù)三個部分組成;所述系統(tǒng)報頭依次由模塊標識、狀態(tài)碼、保留字段和報文總長度組成;所述模塊報頭依次由模塊版本號、操作號、保留字段和模塊數(shù)據(jù)類型標識組成,所述模塊數(shù)據(jù)中包含了讀取或寫入的實際數(shù)據(jù)。更進一步的,所述數(shù)據(jù)存儲子系統(tǒng)中的數(shù)據(jù)存儲模塊包含若干個數(shù)據(jù)容器,所述數(shù)據(jù)容器與所述業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊一一對應,所述數(shù)據(jù)容器由若干個數(shù)據(jù)存儲單元組成,所述數(shù)據(jù)存儲單元分為正在使用的數(shù)據(jù)存儲單元和空閑的數(shù)據(jù)存儲單元,所述正在使用的數(shù)據(jù)存儲單元通過數(shù)據(jù)鏈接表方式組成工作鏈表,所述空閑的數(shù)據(jù)存儲單元通過數(shù)據(jù)鏈表方式組成空閑鏈表。更進一步的,所述數(shù)據(jù)存儲單元包括索引號和鍵值,所述索引號為由模塊標識和模塊數(shù)據(jù)類型通過哈希函數(shù)計算得到的存儲數(shù)據(jù)的索引序號,所述鍵值用于存儲應用數(shù)據(jù)。為了達到上述第二個目的,本發(fā)明采用以下技術方案:嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問方法,包括以下步驟:(a)啟動虛擬化數(shù)據(jù)訪問系統(tǒng);(b)數(shù)據(jù)業(yè)務接口接收來自業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求,并由數(shù)據(jù)封裝與解釋模塊按照通信報文結構對來自業(yè)務應用系統(tǒng)的服務請求進行封裝,再由服務調用接口模塊將通信報文傳送給數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務適配器處理;(c)數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務適配器校驗通信報文的系統(tǒng)報頭是否正確;若校驗正確,則解析出通信報文的模塊報頭,然后按照通信報文的模塊報頭,將通信報文交由數(shù)據(jù)服務實現(xiàn)模塊中相應的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊處理;最后由業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊傳送給數(shù)據(jù)存儲子系統(tǒng)進行處理;其中數(shù)據(jù)服務日志模塊記錄操作和運行信息;(d)數(shù)據(jù)存儲子系統(tǒng)的數(shù)據(jù)接口對通信報文的模塊數(shù)據(jù)格式進行校驗;若校驗正確,則將通信報文傳遞給數(shù)據(jù)存儲模塊,數(shù)據(jù)存儲模塊根據(jù)通信報文的模塊標識,選擇對應的數(shù)據(jù)容器,再計算出索引號;若業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求為寫入數(shù)據(jù)請求,則將通信報文中的模塊數(shù)據(jù)作為鍵值,與索引號一起寫入到對應的數(shù)據(jù)容器中,然后數(shù)據(jù)存儲子系統(tǒng)將寫入結果返回給數(shù)據(jù)服務子系統(tǒng);若業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求為讀取數(shù)據(jù)請求,則根據(jù)索引號,在對應數(shù)據(jù)容器中找到對應的鍵值,然后將鍵值復制到通信報文的模塊數(shù)據(jù)中,將通信報文與讀取結果狀態(tài)一起返回給數(shù)據(jù)服務子系統(tǒng);(e)數(shù)據(jù)服務子系統(tǒng)的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊將結果返回給數(shù)據(jù)服務適配器;(f)數(shù)據(jù)服務適配器將返回執(zhí)行結果傳送給數(shù)據(jù)業(yè)務接口;數(shù)據(jù)業(yè)務接口的服務調用接口模塊接收返回結果,并由數(shù)據(jù)封裝與解釋模塊對返回結果進行解釋,將解釋后的數(shù)據(jù)返回給業(yè)務應用系統(tǒng);優(yōu)選的,所述步驟(a)中,所述虛擬化數(shù)據(jù)訪問系統(tǒng)的啟動包括如下操作:首先初始化數(shù)據(jù)存儲模塊的存儲區(qū)域,將數(shù)據(jù)存儲模塊初始化為若干大小不等的數(shù)據(jù)容器;接著數(shù)據(jù)服務子系統(tǒng)啟動數(shù)據(jù)服務日志模塊;然后將設置為靜態(tài)加載的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊以模塊化的形式進行靜態(tài)加載。優(yōu)選的,所述步驟(d)中寫入結果為數(shù)據(jù)寫入成功或數(shù)據(jù)寫入失敗;讀取結果為數(shù)據(jù)讀取成功或數(shù)據(jù)讀取失敗。優(yōu)選的,所述步驟(d)中,若業(yè)務應用系統(tǒng)的服務請求為寫入數(shù)據(jù)請求時,則數(shù)據(jù)存儲模塊首先在對應數(shù)據(jù)容器的空閑鏈表上取出一個大小合適的數(shù)據(jù)存儲單元,嘗試鎖定該數(shù)據(jù)存儲單元,加鎖成功后,將索引號和通信報文中的模塊數(shù)據(jù)存放到數(shù)據(jù)存儲單元中,并將該數(shù)據(jù)存儲單元從空閑鏈表更改到工作鏈表中;所述步驟(d)中,若業(yè)務應用系統(tǒng)的服務請求為讀取數(shù)據(jù)請求時,則根據(jù)索引號,在對應數(shù)據(jù)容器的工作鏈表上找到對應鍵值的數(shù)據(jù)存儲單元;然后將該數(shù)據(jù)存儲單元的鍵值復制到通信報文的模塊數(shù)據(jù)中。所述步驟(d)中在讀取數(shù)據(jù)時,每個數(shù)據(jù)容器中有一個或多個進程進行讀取;所述步驟(d)中在寫入數(shù)據(jù)時,每個數(shù)據(jù)容器中有一個進程進行寫入,當數(shù)據(jù)容器有寫入操作時,對該數(shù)據(jù)容器的整個數(shù)據(jù)塊加上寫鎖;當寫入數(shù)據(jù)操作沖突無法執(zhí)行操作時,數(shù)據(jù)存儲子系統(tǒng)以數(shù)據(jù)寫入失敗狀態(tài)返回此次操作,并由數(shù)據(jù)服務子系統(tǒng)的服務日志模塊記錄下操作沖突情景,業(yè)務應用系統(tǒng)收到返回結果后,可以從失敗狀態(tài)信息得知失敗原因,并由業(yè)務應用系統(tǒng)決定是否再次執(zhí)行操作。本發(fā)明相對于現(xiàn)有技術具有如下的優(yōu)點及效果:(1)本發(fā)明系統(tǒng)在嵌入式網(wǎng)絡設備上向多個業(yè)務應用系統(tǒng)提供了統(tǒng)一的虛擬化數(shù)據(jù)訪問服務接口和方法,避免了由嵌入式網(wǎng)絡設備上的各個業(yè)務應用系統(tǒng)去設計實現(xiàn)各自公共數(shù)據(jù)的訪問系統(tǒng),減少了業(yè)務應用系統(tǒng)開發(fā)者在嵌入式網(wǎng)絡設備數(shù)據(jù)訪問上的開發(fā)負擔,有效提高了嵌入式網(wǎng)絡設備數(shù)據(jù)存取的一致性。(2)本發(fā)明嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)中,每個業(yè)務應用系統(tǒng)在虛擬化數(shù)據(jù)訪問系統(tǒng)中都有一個對應的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊和數(shù)據(jù)容器,各個業(yè)務應用系統(tǒng)的數(shù)據(jù)訪問方法在虛擬化數(shù)據(jù)訪問系統(tǒng)中是相互隔離的,因此不同業(yè)務應用系統(tǒng)在虛擬化數(shù)據(jù)訪問系統(tǒng)中互不干擾,不同業(yè)務應用系統(tǒng)的開發(fā)者可按需在嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)中添加各自的數(shù)據(jù)訪問方法來實現(xiàn),提高了本發(fā)明數(shù)據(jù)服務的可擴展性。本發(fā)明數(shù)據(jù)存取的效率主要在于將數(shù)據(jù)保存在數(shù)據(jù)存儲子系統(tǒng)的數(shù)據(jù)存儲模塊中,存取數(shù)據(jù)方式較為簡潔,因此數(shù)據(jù)存取的效率較高,提高了本發(fā)明數(shù)據(jù)存取的時效性。(3)本發(fā)明系統(tǒng)中的數(shù)據(jù)容器在寫入數(shù)據(jù)時,每個數(shù)據(jù)容器只允許有一個進程進行寫入,當數(shù)據(jù)容器有寫入操作時,對該數(shù)據(jù)容器的整個數(shù)據(jù)塊加上寫鎖;有效避免了其它進程對同一數(shù)據(jù)塊的寫入導致數(shù)據(jù)沖突的現(xiàn)象。附圖說明圖1是本發(fā)明系統(tǒng)的組成結構框圖。圖2是本發(fā)明系統(tǒng)中通信報文的組成結構圖。具體實施方式下面結合實施例及附圖對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。實施例如圖1所示,本實施例公開了一種嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng),包括數(shù)據(jù)存儲子系統(tǒng)、數(shù)據(jù)服務子系統(tǒng)和數(shù)據(jù)業(yè)務接口,數(shù)據(jù)業(yè)務接口通過數(shù)據(jù)服務子系統(tǒng)與數(shù)據(jù)存儲子系統(tǒng)連接;數(shù)據(jù)存儲子系統(tǒng)位于虛擬化數(shù)據(jù)訪問系統(tǒng)的底層,數(shù)據(jù)業(yè)務接口位于虛擬化數(shù)據(jù)訪問系統(tǒng)的頂層;數(shù)據(jù)業(yè)務接口是本實施例嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)提供給業(yè)務應用系統(tǒng)的數(shù)據(jù)業(yè)務訪問接口;其中數(shù)據(jù)業(yè)務接口包括相互連接的數(shù)據(jù)封裝與解釋模塊和服務調用接口模塊;數(shù)據(jù)封裝與解釋模塊的一個作用是:接收業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求,按照通信報文結構封裝數(shù)據(jù)服務請求,并將封裝后的通信報文交由服務調用模塊發(fā)送;另一個作用是:按照通信報文結構解釋有服務調用接口模塊接收到的數(shù)據(jù),并發(fā)送給業(yè)務應用系統(tǒng)。數(shù)據(jù)服務子系統(tǒng)由數(shù)據(jù)存儲子系統(tǒng)提供數(shù)據(jù)存儲支持,向數(shù)據(jù)業(yè)務接口提供數(shù)據(jù)服務的注冊、數(shù)據(jù)服務的實現(xiàn)和數(shù)據(jù)服務的監(jiān)控,其中數(shù)據(jù)服務子系統(tǒng)包括數(shù)據(jù)服務適配器、數(shù)據(jù)服務日志模塊和數(shù)據(jù)服務實現(xiàn)模塊,數(shù)據(jù)服務適配器、數(shù)據(jù)服務日志模塊和數(shù)據(jù)服務實現(xiàn)模塊兩兩相互連接;本實施例數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務適配器接受來自業(yè)務應用系統(tǒng)通過數(shù)據(jù)業(yè)務接口的服務請求,根據(jù)數(shù)據(jù)業(yè)務接口的請求適配特定的服務,不同的服務可以由服務名或服務標識來唯一標識,對應于數(shù)據(jù)存儲子系統(tǒng)中不同的數(shù)據(jù)容器。本實施例數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務日志模塊統(tǒng)計各項應用服務的運行信息,包括了各類調試信息、運行狀態(tài)信息等,主要用于在故障或升級設備時查看系統(tǒng)的運行流水。本實施例數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務實現(xiàn)模塊包含10個業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊,業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊是各個業(yè)務應用系統(tǒng)在數(shù)據(jù)服務子系統(tǒng)中對各自數(shù)據(jù)訪問抽象接口的具體實現(xiàn),不同的上層業(yè)務應用對應不同的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊,每個業(yè)務應用系統(tǒng)在虛擬化數(shù)據(jù)訪問系統(tǒng)中都有一個對應的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊和數(shù)據(jù)容器;其中數(shù)據(jù)訪問抽象接口是指對數(shù)據(jù)訪問方式的抽象,對二進制數(shù)據(jù)、字符串數(shù)據(jù)及其他類型數(shù)據(jù)的操作都被整理為一組操作方法,作為虛擬方法由各個業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊去繼承與實現(xiàn)。業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊按照不同的啟動方式設置,可在系統(tǒng)啟動時以模塊化的形態(tài)靜態(tài)方式加載,或在系統(tǒng)運行階段以動態(tài)方式加載。數(shù)據(jù)存儲子系統(tǒng)包括相互連接的數(shù)據(jù)接口模塊與數(shù)據(jù)存儲模塊;其中數(shù)據(jù)接口模塊是數(shù)據(jù)存儲子系統(tǒng)提供的數(shù)據(jù)訪問接口;數(shù)據(jù)存儲模塊為業(yè)務應用系統(tǒng)寫入的數(shù)據(jù)提供了存儲空間及存儲了業(yè)務應用系統(tǒng)需要讀取的數(shù)據(jù)。其中本實施例數(shù)據(jù)存儲模塊中包含10個數(shù)據(jù)容器,每個數(shù)據(jù)容器由100個100字節(jié)到10K字節(jié)大小不等的數(shù)據(jù)存儲單元組成。數(shù)據(jù)存儲單元分為正在使用的數(shù)據(jù)存儲單元和空閑的數(shù)據(jù)存儲單元,正在使用的數(shù)據(jù)存儲單元通過數(shù)據(jù)鏈接表方式組成used_list鏈表,空閑的數(shù)據(jù)存儲單元通過數(shù)據(jù)鏈表方式方式組成free_list鏈表。初始都未使用時,全部數(shù)據(jù)存儲單元鏈接在free_list鏈表。數(shù)據(jù)存儲單元包括索引號和鍵值,索引號為由模塊標識和模塊數(shù)據(jù)類型通過哈希函數(shù)計算得到的存儲數(shù)據(jù)的索引序號。本實施例數(shù)據(jù)業(yè)務接口中的服務調用接口模塊與數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務適配器連接,數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務實現(xiàn)模塊與數(shù)據(jù)存儲子系統(tǒng)的數(shù)據(jù)接口模塊連接。本實施例嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)的配置包括分配給數(shù)據(jù)存儲模塊內存大小,確定數(shù)據(jù)容器及其數(shù)據(jù)存儲單元的大小與個數(shù),確定數(shù)據(jù)服務子系統(tǒng)加載哪些業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊以及數(shù)據(jù)服務日志模塊記錄哪些信息。如圖2所示,本實施例中通信報文依次由4個字節(jié)的系統(tǒng)報頭、4個字節(jié)的模塊報頭和模塊數(shù)據(jù)三個部分組成;系統(tǒng)報頭依次由4位的模塊標識、4位的狀態(tài)碼、8位的保留字段和16位的報文總長度組成,其中模塊標識唯一標識了數(shù)據(jù)存儲子系統(tǒng)中的數(shù)據(jù)存儲模塊,狀態(tài)碼指明了請求調用的執(zhí)行情況,報文總長度為整個通信報文的長度;模塊報頭依次由4位的模塊版本號、4位的操作號、8位的保留字段和16位的模塊數(shù)據(jù)類型標識組成,其中模塊版本號指明模塊的版本,便于模塊的升級,操作號指定了對存儲數(shù)據(jù)的執(zhí)行何種操作,如讀取或寫入,模塊數(shù)據(jù)類型標識指定了數(shù)據(jù)存儲子系統(tǒng)中存儲的數(shù)據(jù)類型.模塊數(shù)據(jù)中包含了讀取或寫入的實際數(shù)據(jù),其長度為0~65531字節(jié)。本實施例公開了一種基于上述嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問系統(tǒng)的嵌入式網(wǎng)絡設備的虛擬化數(shù)據(jù)訪問方法,包括如下步驟:(a)啟動虛擬化數(shù)據(jù)訪問系統(tǒng);首先初始化數(shù)據(jù)存儲模塊的存儲區(qū)域,將數(shù)據(jù)存儲模塊初始化為若干大小不等的數(shù)據(jù)容器;接著數(shù)據(jù)服務子系統(tǒng)啟動數(shù)據(jù)服務日志模塊;然后將設置為靜態(tài)加載的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊以模塊化的形式進行靜態(tài)加載。(b)數(shù)據(jù)業(yè)務接口接收來自業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求,并由數(shù)據(jù)封裝與解釋模塊按照通信報文結構對來自業(yè)務應用系統(tǒng)的服務請求進行封裝,再由服務調用接口模塊將通信報文傳送給數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務適配器處理;(c)數(shù)據(jù)服務子系統(tǒng)的數(shù)據(jù)服務適配器校驗通信報文的系統(tǒng)報頭是否正確;若校驗正確,則解析出通信報文的模塊報頭,然后按照通信報文的模塊報頭,將通信報文交由數(shù)據(jù)服務實現(xiàn)模塊中對應的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊進行數(shù)據(jù)合法性檢查和數(shù)據(jù)整理;最后由業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊傳送給數(shù)據(jù)存儲子系統(tǒng)進行處理;其中數(shù)據(jù)服務日志模塊記錄操作和運行信息;(d)數(shù)據(jù)存儲子系統(tǒng)的數(shù)據(jù)接口對通信報文的模塊數(shù)據(jù)格式進行校驗;若校驗正確,則將通信報文傳遞給數(shù)據(jù)存儲模塊,數(shù)據(jù)存儲模塊根據(jù)通信報文的模塊標識,選擇對應的數(shù)據(jù)容器,再計算出索引號;若業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求為寫入數(shù)據(jù)請求,則數(shù)據(jù)存儲模塊首先在對應數(shù)據(jù)容器的空閑鏈表上取出一個大小合適的數(shù)據(jù)存儲單元,嘗試鎖定該數(shù)據(jù)存儲單元,加鎖成功后,將索引號和通信報文中的模塊數(shù)據(jù)存放到該數(shù)據(jù)存儲單元中,并將該數(shù)據(jù)存儲單元從空閑鏈表更改到工作鏈表中;然后數(shù)據(jù)存儲子系統(tǒng)將寫入結果返回給數(shù)據(jù)服務子系統(tǒng);其中寫入結果為數(shù)據(jù)寫入成功或數(shù)據(jù)寫入失敗。若業(yè)務應用系統(tǒng)的數(shù)據(jù)服務請求為讀取數(shù)據(jù)請求,則根據(jù)索引號,在對應數(shù)據(jù)容器的工作鏈表中找到對應的數(shù)據(jù)存儲單元;然后將該數(shù)據(jù)存儲單元的鍵值復制到通信報文的模塊數(shù)據(jù)中,將通信報文與讀取結果一起返回給數(shù)據(jù)服務子系統(tǒng);其中讀取結果為數(shù)據(jù)讀取成功或數(shù)據(jù)讀取失敗。(e)數(shù)據(jù)服務子系統(tǒng)的業(yè)務應用數(shù)據(jù)服務實現(xiàn)子模塊將結果返回給數(shù)據(jù)服務適配器;(f)數(shù)據(jù)服務適配器將返回執(zhí)行結果傳送給數(shù)據(jù)業(yè)務接口;數(shù)據(jù)業(yè)務接口的服務調用接口模塊接收返回結果,并由數(shù)據(jù)封裝與解釋模塊對返回結果進行解釋,將解釋后的數(shù)據(jù)返回給業(yè)務應用系統(tǒng)。本實施例步驟(d)中在讀取數(shù)據(jù)時,每個數(shù)據(jù)容器允許一個或多個進程進行讀取。本實施例步驟(d)中在寫入數(shù)據(jù)時,每個數(shù)據(jù)容器只允許有一個進程進行寫入,當數(shù)據(jù)容器有寫入操作時,對該數(shù)據(jù)容器的整個數(shù)據(jù)塊加上寫鎖;當寫入數(shù)據(jù)操作沖突無法執(zhí)行操作時,數(shù)據(jù)存儲子系統(tǒng)會以數(shù)據(jù)寫入失敗狀態(tài)返回此次操作,并由數(shù)據(jù)服務子系統(tǒng)的服務日志模塊記錄下操作沖突情景,業(yè)務應用系統(tǒng)收到返回結果后,可以從失敗狀態(tài)信息得知失敗原因,并由業(yè)務應用系統(tǒng)決定是否再次執(zhí)行操作。上述實施例為本發(fā)明較佳的實施方式,但本發(fā)明的實施方式并不受上述實施例的限制,其他的任何未背離本發(fā)明的精神實質與原理下所作的改變、修飾、替代、組合、簡化,均應為等效的置換方式,都包含在本發(fā)明的保護范圍之內。
      當前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1