關于新建類信息池和收件類信息池的信息池機制的制作方法
【技術領域】
[0001]本發明涉及新建類信息池和收件類信息池的信息傳遞技術領域,尤其涉及系統消息池模型、構件模型以及消息池化技術。
【背景技術】
[0002]消息池化需要首先將大量的消息內容(文本甚或圖片)從用戶需求中抽取出來并作歸類,對于周期性的項目而言這一步驟即費時也未必能夠符合用戶需求反復變更的需要。也可以在系統開發后期或者維護、升級期間通過擴展的方式將補充的消息內容添加進來,但這同樣需要系統在設計階段就考慮到后期的種種變數并預留出擴展的接口。而對于實時性要求較高的系統,比如生產制造業管理軟件采用消息池化同樣也不合適。因為消息池化實現過程中要將大量的消息內容(文本甚至圖片)通過網絡傳播,其間的開銷是不可小視的。應用到實時性高的系統中時不可避免的會產生各種問題。
[0003]消息池化技術推薦您根據需要將消息內容放在適當的位置,每個系統的需求和實現方案都有或多或少的差異,存放消息內容的位置直接影響到系統整體的性能,因此必須也只能根據自己的特點進行權衡。消息池化表示將在內存中某處存在消息,可以把這堆消息放在服務端也可以放在客戶端。對于前者,客戶端需要頻繁的向服務端發送請求,獲取所需的消息內容;對于后者,客戶端除了要把所有消息內容從服務端拉到本地,還要負責維護消息池的狀態和有效性,也許還要考慮同步等諸多問題。
[0004]系統實施關于新建類信息池和收件類信息池的信息池機制的好處:該機制將原本分散的、不規則的消息內容整合在了一起以方便查找、替換、使用和管理,使企業級架構顯得更為清晰和有效。客戶端消息池可以與服務端(數據庫)信息的實時同步,提供一種接口使得二次開發商能夠將自己的消息集合合并到原有的消息集中以及動態替換消息的內容。
【發明內容】
[0005]為了克服現有的涉及關于新建類信息池和收件類信息池技術領域的不足,本發明提供一種關于新建類信息池和收件類信息池的信息池機制,為構件建立了消息池,消息池之間根據事先訂立的消息協議進行通信。消息池將構件的業務邏輯與消息交互分離開,將業務邏輯封裝起來。構件在運行時不必了解消息的來源和去向,只需向自身伴隨的消息池發送或者接收消息即可。關于新建類信息池和收件類信息池的信息池機制將消息管理功能從消息總線中剝離出來,并將其靜態化。消息的登記、分派在部署期完成,不占用系統運行時的資源。支持層次風格,子構件仍然采用關于新建類信息池和收件類信息池的信息池機制,使得整個系統形成一種層次狀信息池。
[0006]本發明解決其技術問題所采用的技術方案是:新建類消息池負責接收構件的狀態變化信息。如果構件在運行過程中發生了狀態變化,那么構件的狀態數據將轉存于消息池,等待其它構件來取;對方取畢后消息池負責銷毀該消息,并回收內存,以便接收新的消息。如果該消息為多個其它構件所用,那么消息池在所有需求構件都取畢之后再進行銷毀。收件類消息池負責接收其它構件的消息并通知構件消息己經到達。構件可以選擇馬上處理或者暫緩處理,如果選擇暫緩處理,消息池將一直為構件保存這條消息,處理完畢后消息池才回收該消息空間。
[0007]本發明的有益效果是,采用基于信息池的信息傳遞機制,由于消息的直接傳遞減少了消息的分派和過濾動作。消息的登記和傳遞記錄在預先訂立的消息傳遞協議中。消息傳遞協議就是將消息的傳遞管理從總線功能中剝離出來,大大縮短了系統運行時的計算時間,或用靜態的協議換取動態的路由過程;另一方面消息傳遞與構件的業務邏輯計算分離開,降低了系統設計的復雜度。
【附圖說明】
[0008]下面結合附圖和實施例對本發明進一步說明。
[0009]圖1為本發明實例消息池系統模塊圖。
[0010]圖2為本發明實例基于信息池的信息傳遞軟件體系圖。
[0011 ]圖3為本發明實例消息池服務器圖。
[0012]圖4為本發明實例消息池模型圖。
[0013]圖5為本發明實例基于信息池的信息傳遞軟件構建模型圖。
[0014]圖6為本發明實例信息交互示意圖。
【具體實施方式】
[0015]在圖1中,系統實現基于信息池的信息傳遞運行過程如下:
[0016]1.將所有的消息內容放在資源文件中,資源文件可以被編譯并嵌在程序集dll中。存放消息內容的資源文件被放置在服務器端,由客戶端請求并獲取。
[0017]2.在客戶端從服務端請求服務的過程中,服務端是被動的和無狀態的,它的職責就是從資源文件中讀取全部的消息內容,并通過合適的載體通過網絡發送給客戶端,由客戶端接受并進行處理。
[0018]3.客戶端從服務端請求并獲取到消息流以后,要在本地作消息緩存。這一過程還需簡單的處理,因為服務端發送過來的消息列表并沒有明確的分類,也不方便本地根據消息名稱索引具體的消息內容,也就是說還要實現根據“消息A”這個名字找到消息A的內容這樣的效果。這些信息集合應當作為全局對象一直緩存于內存中,它們共同組成了一個消息池,向前臺的Form或Web界面提供消息來源,直至客戶端關閉。
[0019]在圖4中,表示了基于信息池的信息傳遞軟件構建模型的所有實體和步驟。基于信息池的信息傳遞軟件構建模型在消息傳遞設置了一個新的實體消息模塊。消息模塊主要負責與消息池的聯系,從消息池獲取消息或者將狀態變化寫入消息池。業務邏輯模塊則用于核心業務邏輯的計算。基于信息池的信息傳遞支持系統自頂向下進行層次化分解,一個構件可以由多個子構件組裝而成。每個子構件可以掛載各自的消息池,但是多個子構件共享同一個外部消息池,即子構件由同一個消息模塊向同一個消息池傳輸數據。構件是獨立的計算模塊,可以用任何語言進行編寫。構件之間的通信仍是通過消息傳遞完成的,消息在消息池之間傳輸。每一個構件有一個掛載的消息池,消息池是消息的載體,一方面用于存儲本地構件的計算結果,另一方面用于接收來自其它構件的消息。一種在應用程序層統一實現消息池模型、構件模型以及消息傳遞協議方案,消息協議規定了構件之間的消息訪問規則,消息傳輸路徑的選擇依據靜態的消息傳遞協議。在系統穩定運行的情況下,構件之間的消息傳遞的內容和方向是固定的,因此沒有必要在系統運行時動態地進行消息路由。
【主權項】
1.關于新建類信息池和收件類信息池的信息池機制,其特征是:基于新建類消息池的負責接收構件的狀態變化信息,基于收件類消息池的接收其它構件的消息并通知構件消息已經到達。為構件建立了消息池,消息池之間根據事先訂立的消息協議進行通信。關于新建類信息池和收件類信息池的信息池機制將消啟、管理功能從消息總線中剝離出來,并將其靜態化。支持層次風格,子構件仍然采用關于新建類信息池和收件類信息池的信息池機制,使得整個系統形成一種層次狀信息池。2.根據權利要求1所述的基于新建類消息池的負責接收構件的狀態變化信息機制,其特征是:如果構件在運行過程中發生了狀態變化,那么構件的狀態數據將轉存于消息池,等待其它構件來取;對方取畢后,消息池負責銷毀該消息,并回收內存,以便接收新的消息。如果該消息為多個其它構件所用,那么消息池在所有需求構件都取畢之后再進行銷毀。3.根據權利要求1所述的基于基于收件類消息池的接收其它構件的消息并通知構件消息已經到達,其特征是:構件可以選擇馬上處理或者暫緩處理,如果選擇暫緩處理,消息池將一直為構件保存這條消息,處理完畢后消息池回收該消息空間。
【專利摘要】一種關于新建類信息池和收件類信息池的信息池機制,涉及新建類信息池和收件類信息池的信息傳遞模型、構件模型以及消息池化技術。新建類消息池負責接收構件的狀態變化信息。收件類消息池負責接收其它構件的消息并通知構件消息已經到達。本發明的實施例提供一種關于新建類信息池和收件類信息池的信息池機制,為構件建立了消息池,消息池之間根據事先訂立的消息協議進行通信。關于新建類信息池和收件類信息池的信息池機制將消息管理功能從消息總線中剝離出來,并將其靜態化。支持層次風格,子構件仍然采用關于新建類信息池和收件類信息池的信息池機制,使得整個系統形成一種層次狀信息池。
【IPC分類】H04L29/06, H04L12/58
【公開號】CN105577508
【申請號】CN201510821081
【發明人】葉君玉
【申請人】上海贊越軟件服務中心
【公開日】2016年5月11日
【申請日】2015年11月24日