專利名稱:一種實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法
技術領域:
本發(fā)明涉及一種數據處理的傳輸控制方法,尤其是涉及一種實時監(jiān)控系統(tǒng) 接口數據處理的傳輸控制方法,屬于計算機控制領域。
背景技術:
在實時監(jiān)控系統(tǒng)中,接口數據處理模塊作為聯系內外部數據的橋梁,是關 鍵且可能產生瓶頸的部件。隨著通信技術和計算機監(jiān)控技術的不斷發(fā)展,各行 業(yè)內實時監(jiān)控系統(tǒng)的集成度越來越高,規(guī)模不斷擴大,實時性要求也更趨于復 雜。作為數據上行下行的必由路徑,數據處理模塊的壓力也以幾何級數上升。 傳統(tǒng)的實時監(jiān)控系統(tǒng)數據處理模塊,沒有考慮到數據釆集單元與應用處理單元 之間處理能力的差異,并且沒有對實時性要求不同的數據進行區(qū)別對待,阻塞 發(fā)生時也沒有合理的措施進行補救,在出現突發(fā)情況時,穩(wěn)定性和可靠性都不 能保證。
發(fā)明內容
本發(fā)明所要解決的技術問題是在不增加資源投入的情況下,提供一種能夠 有效的避免應用處理單元發(fā)生擁塞,同時兼顧數據的實時性和可靠性的實時監(jiān) 控系統(tǒng)數據處理的傳輸控制方法。
為解決上述技術問題,本發(fā)明提供一種實時監(jiān)控系統(tǒng)數據處理的傳輸控制 方法,其特征在于包括以下步驟
1) 建立優(yōu)先級傳輸隊列,限定單位時間傳輸上限;
2) 由各級隊列中不同的數據延時動態(tài)調整出列秩序;
3) 當信息雪崩導致隊列阻塞時,通過數據暫存的方式保存重要數據,并在 空閑時重新傳送。
建立優(yōu)先級傳輸隊列可釆用以下方法
首先,需對實時監(jiān)控系統(tǒng)釆集的各類不同數據進行統(tǒng)一規(guī)劃,將不同類型的變化數據單元抽象為統(tǒng)一的"變化數據對象",記為oc,可知oc至少包含以下
屬性優(yōu)先級標識(PRI—LEVEL)、延時有效標識(DT—AVAIL)、系統(tǒng)關鍵字 (KEY—ID)、數據類型(TYPE)、值域(VALUE)、狀態(tài)域(STATUS)、變化時間(CHG—TIME) 等。其中OC.PRI-LEVEL和OC.DT—AVAIL為本發(fā)明特有的控制標志,而其余屬性 為通用的實時監(jiān)控系統(tǒng)平臺數據描述。
其次,根據系統(tǒng)被采集數據的實時性,定義采集數據接受處理的優(yōu)先級如
下
PRI-LEVEL_CRUCIAL,至關重要級,用于傳輸必須立即得到響應的數據,實 時性要求最高,在實時監(jiān)控系統(tǒng)中,又稱為插入傳送級;
PRI —LEVEL—IMPORTANT,重要級,實時性要求較高,且數據不能丟失,但允 許短暫的延時,按延時的大小,又可以細分為I、 II、 III級等;
PRI —LEVEL—NORMAL,普通級,實時性要求最低,允許一定的延時。
根據以上所述的優(yōu)先級和實時監(jiān)控系統(tǒng)釆集數據的具體要求,建立一組 FIFO隊列, 一般為3-5條,記為S、 A[、 B、 C]、 N。其中S隊列稱為插入傳送 隊列,A隊列稱為一級重要數據隊列(B隊列稱為二級重要數據隊列,C隊列稱 為三級重要數據隊列),N隊列稱為普通數據隊列。
根據系統(tǒng)規(guī)模、運行特征以及應用處理端可能出現擁塞的單位時間限值流 量F,估算各級隊列的合理長度Li。由實時監(jiān)控系統(tǒng)特點,單位時間內系統(tǒng)不 產生擁塞的最大數據流量F與系統(tǒng)性能P成正比,與集成規(guī)模M和當時的系統(tǒng) 繁忙程度B成反比,可得公式如下F=U .P)/(y .M'B),入、p為比例系 數。在實時監(jiān)控系統(tǒng)現場投運后,其系統(tǒng)配置和集成規(guī)模也基本確定,因此P、 M可近似認為是常量值。而在CPU負載小于閥值的情況下(按一般實時監(jiān)控系統(tǒng) 設計要求),B可取約值l,可知F在確定的系統(tǒng)中為常數。
由上可知,設隊列i中變化數據對象的最大允許時延為Ai,有各級隊列的 合理長度Li估算方法Li-弘Ai,其中i-S、 A[、 B、 C]、 N。
各級優(yōu)先級隊列的出列秩序描述如下
首先允許至關重要級數據出列。設在單位時間內可出列的最大數據流量為 F,而插入傳送隊列當前緩存的數據量為FC,若FC 〉 F,則取F出列,并返回等待下一間隔時間,否則計算剩余出列量fa = f - fc;
其次允許重要級數據出列。設共具有3級細分優(yōu)先級,為其分配不同的傳 送權重cx、 P、 y,使得cx + P + y-1。設各細分級重要數據隊列當前緩存的數 據量分別為F I 、 FII、 Fill,若有(F I >=a*FA ) && (FII>=P *FA ) && (Fill >=y*fa),則按最大量出列,并返回等待下一間隔時間;否則按照細分優(yōu)先級 的高低依次取空變化數據對象,直到總和達到fa或者各細分級重要數據隊列全 部為空;若出列量已滿,則返回等待下一間隔時間,否則計算剩余出列量fa,;
最后允許普通級數據出列,記普通數據隊列當前緩存的數據量為fn,若fn>f △,,則取fa,出列,并返回等待下一間隔時間;否則取fn出列,同時向系 統(tǒng)反饋一個空閑狀態(tài)消息,以及空閑量SA-(FA, -FN),返回等待下一間隔時 間。
應用處理單元端處理方式中的令牌機制,如實時庫內存表的加鎖解鎖等, 決定了在載荷到達一定程度時會觸發(fā)處理效率的大幅度下滑,從而產生擁塞。 通過以上步驟可以使實時監(jiān)控系統(tǒng)運行在臨界狀態(tài)以下,防止應用處理單元擁 塞發(fā)生。同時分級傳輸保證了重要數據的優(yōu)先傳輸權,提高了數據有效性。但 是當突發(fā)事件持續(xù)時間較長或突發(fā)數據量太大導致發(fā)生傳輸隊列阻塞時,為保 證系統(tǒng)的可靠性,必須進行載荷脫落,有策略的拋棄或暫存數據。
在實時監(jiān)控系統(tǒng)中, 一些數據在其有效期內非常重要,實時性要求也高, 但是由于其刷新頻率較快,變化比較頻繁,失效速度也快; 一些數據本身帶有 發(fā)生時的時標,雖然實時性要求不一定十分苛刻,但其信息關系到系統(tǒng)數據的 完整性,必須全部保留。把前一類數據稱為"牛奶"數據(milk_data),后一類 數據稱為"葡萄酒"數據(wine-data) 。 milk_data的特征是取其新鮮,過期變 質則拋棄;wine_data的特征是長期有效,越陳越香。
本發(fā)明提供的載荷脫落的方法如下
首先,在每一個變化數據對象入列時,需預先判斷對應優(yōu)先級隊列是否漫 溢,如果為真,則認為阻塞發(fā)生;
當阻塞發(fā)生時,停止普通級數據入列,至關重要級和重要級數據在本級優(yōu) 先級隊列未漫溢情況下,可繼續(xù)入列;當阻塞發(fā)生時,需要插入已漫溢隊列的變化數據對象和普通級數據對象根 據延時有效標識確定其應當暫存還是拋棄,延時有效標識在系統(tǒng)建模時由數據
的MILK_DATA或WINE—DATA特征進行標識;
暫存變化數據對象的暫存庫具有以下特點可采用臨時文件方式或輕量級 數據庫(如sqlite等)方式實現;可按照變化數據對象優(yōu)先級的不同分文件或 表進行存儲,也可以取消數據優(yōu)先級差別統(tǒng)一存儲;具有合適的存儲空間,保 證在系統(tǒng)設計容量內不會發(fā)生漫溢。
在阻塞過程中,隨時判斷系統(tǒng)是否已進入空閑狀態(tài),若判斷為真,則依據 空閑量從暫存庫中取出變化數據對象直接發(fā)送。判斷系統(tǒng)是否已進入空閑狀態(tài) 的方法是獲取出列進程發(fā)送的空閑狀態(tài)消息與空閑量SA,且有SA〉0,則判
斷為真。
本發(fā)明所達到的有益效果
本發(fā)明的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,通過限定傳輸上限避免應用
處理端產生擁塞;通過優(yōu)先級隊列和出列控制策略,保證數據實時性;通過數
據暫存技術和入列控制策略,保證數據的完整性,通用性強,不受搡作系統(tǒng)版 本和實現工具的限制,且獨立性強,可模塊化后方便的添加在已有實時監(jiān)控系 統(tǒng)中。
圖l為本發(fā)明的實時監(jiān)控系統(tǒng)數據處理的數據流圖2為本發(fā)明的傳輸控制數據流圖3為本發(fā)明的變化數據對象結構圖4為本發(fā)明的優(yōu)先級隊列示意圖5為本發(fā)明的入列控制流程圖6為本發(fā)明的出列控制流程圖。
具體實施例方式
下面根據說明書附圖
并結合實施例對本發(fā)明的技術方案作進一步闡述。 圖l為實時監(jiān)控系統(tǒng)數據處理的數據流圖,示意本發(fā)明在傳統(tǒng)數據處理模塊 結構的基礎上增加了傳輸控制單元,將隨機的輸入整形為恒定上限的輸出。
圖2為本發(fā)明的傳輸控制數據流圖,示意本發(fā)明所述傳輸控制方法的基本結構及數據流向。本方法由兩種基本的數據結構和兩條控制策略構成,分別是變 化數據對象、優(yōu)先級隊列及入列控制策略、出列控制策略。
圖3為本發(fā)明的變化數據對象結構圖,描述了變化數據對象的屬性構成。變
化數據對象至少包含以下屬性優(yōu)先級標識(PRI-LEVEL)、延時有效標識 (DT-AVAIL)、系統(tǒng)關鍵字(KEY —ID)、數據類型(TYPE)、值域(VALUE)、狀態(tài)域 (STATUS)、變化時間(CHG—TIME)等。其中優(yōu)先級標識和延時有效標識稱為控制 屬性,其實例值來源于系統(tǒng)模型參數;其佘屬性稱為數據屬性,其中系統(tǒng)關鍵 字和數據類型實例值來源于模型參數,剩余的來源于現場設備。 圖4為本發(fā)明定義的優(yōu)先級隊列示意圖,其等級劃分如下
■ PRI_LEVEL—CRUCIAL,至關重要級,用于傳輸必須立即得到響應的數據, 實時性要求最高,在實時監(jiān)控系統(tǒng)中,又稱為插入傳送級;
■ PRI-LEVEL—IMPORTANT,重要級,實時性要求較高,且數據不能丟失,
但允許短暫的延時,按延時的大小,又可以細分為I、 II、 III級等;
■ PRI-LEVEL—NORMAL,普通級,實時性要求最低,允許一定的延時。 以下以軌道交通綜合監(jiān)控系統(tǒng)為本發(fā)明的優(yōu)選實施例加以說明。其釆集的
數據可按以下規(guī)則劃分
■與行車及乘客人身安全保障相關的數據,如火災告警及模式啟動、供電 系統(tǒng)直流斷路器故障或重要保護動作、信號系統(tǒng)重要故障等,必須置入 至關重要級;
■與設備監(jiān)控及維護相關的數據,如一些控制的返信點、關鍵系統(tǒng)設備的
故障信號等,可以置入重要級l級; ■實時的數字量、模擬量輸入,可以按其重要性劃分,分別置入重要級n、
III級;
■對一些準實時數據,采集周期在數十秒以上的,如與模式控制無關的溫 濕度等信息,可以置入普通級。
由上可知,該系統(tǒng)適合建立5級的優(yōu)先級隊列,其采集點的數據類型主要 是模擬量和數字量,可以用變化數據對象描述。通過公式F—入'P)/U 'M-B) 可知,根據系統(tǒng)配置及集成規(guī)模,以及軌道交通綜合監(jiān)控系統(tǒng)的特點,在系統(tǒng)構成階段已經可以估算出不產生擁塞的最大應用數據處理量F,以及由此推導出
合理的隊列長度1^^*^1,其中Ai為隊列i中變化數據對象的最大允許時延, i=S、 A[、 B、 C]、 N。而優(yōu)先級劃分、隊列長度和隊列中元素的數據結構正是組 成優(yōu)先級隊列的三要素。
圖5是本發(fā)明所述入列控制策略的實現流程圖。入列控制策略模塊由獨立 的線程或進程實現,其處理流程描述如下
① .周期性掃描通道,檢查是否存在變化數據單元;
② .若存在,則獲取一個變化數據單元,根據其系統(tǒng)關鍵字,從模型中獲取
參數并組織變化數據對象OC;
③ .通過系統(tǒng)阻塞塞標志,判斷當前是否處于阻塞中,若是,執(zhí)行④,否則,
執(zhí)行⑤;
④ .判斷0C.PRI—LEVEL是否等于PRI—LEVEL-NORMAL,若是,執(zhí)行⑧,否則,
執(zhí)行⑤;
(D.通過接口調用,判斷OC.PRI-LEVEL級的隊列是否漫溢,若是,執(zhí)行⑦, 否則,執(zhí)行 ;
⑥ .將0C填入0C.PRI—LEVEL級隊列中,返回①;
⑦ .將系統(tǒng)阻塞標志置為真,執(zhí)行⑧;
⑧ .判斷0C.DT—AVAIL是否為真,若是,執(zhí)行⑩,否則,執(zhí)行⑨;
⑨ .將0C拋棄,返回①;
⑩ .將OC保存入暫存庫中,返回①。
圖6是本發(fā)明所述出列控制策略的實現流程圖。出列控制策略模塊由兩個 獨立的線程或進程實現,分別實現從隊列中讀取和從暫存庫中讀取功能,兩者 之間通過平臺消息總線相互通信。其處理流程描述如下
從隊列中讀取并發(fā)送
① .讀取插入傳送隊列當前緩存變化數據量,記為FC;
② .判斷FC是否大于系統(tǒng)不產生擁塞的最大數據流量F,若是,執(zhí)行③,
否則,執(zhí)行④;
10③ .從插入傳送隊列中取出F發(fā)送給應用處理單元,返回①等待下一時間間
隙;
④ .從插入傳送隊列中取出FC發(fā)送給應用處理單元,計算剩余可發(fā)送量F
△ = F - FC,執(zhí)行⑤;
⑤ .按預設比例oc、 P、 y從各級重要數據隊列中分別讀取上限為o^F厶、
|3*FA、 y*FA,判斷讀取總量是否達到FA。若是,執(zhí)行⑥,否則, 執(zhí)行⑦;
.將取出的F△發(fā)送給應用處理單元,返回①等待下一 時間間隙;
⑦ .依次讀空一級、二級、三級重要數據隊列直至總和達到F厶,若是,執(zhí)
行 ,否則,執(zhí)行⑧;
⑧ .讀空普通數據隊列直至總和達到FA,若是,執(zhí)行 ,否則,執(zhí)行⑨;
⑨ .將取出的數據發(fā)送給應用處理單元,計算空閑量SA,有SAX),執(zhí)行
⑩;
⑩ .向指定通道里發(fā)送系統(tǒng)空閑消息,返回①等待下一時間間隙; 從暫存庫中讀取并發(fā)送
① .從指定通道中接收系統(tǒng)空閑消息;
② .判斷是否有新消息產生,若是,執(zhí)行③,否則,返回①;
③ .校驗接收到的消息是否有效,若是,執(zhí)行④,否則,返回①;
④ .根據系統(tǒng)空閑消息,判斷暫存庫中的對應表(文件)里是否有記錄,若
是,執(zhí)行 ,否則,返回①;
⑤ .從暫存庫中讀取記錄并發(fā)送給應用處理單元,返回①; 本發(fā)明按照優(yōu)選實施例進行了說明,應當理解,上述實施例不以任何形式
限定本發(fā)明,凡釆用等同替換或等效變換的形式所獲得的技術方案,均落在本 發(fā)明的保護范圍之內。
權利要求
1、一種實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征在于,包括以下步驟1)建立優(yōu)先級傳輸隊列,限定單位時間傳輸上限;2)由各級隊列中不同的數據延時動態(tài)調整出列秩序;3)當信息雪崩導致隊列阻塞時,通過數據暫存的方式保存重要數據,并在空閑時重新傳送。
2、 根據權利要求l所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征 在于所述步驟l)進一步包含以下步驟11) 將不同類型的變化數據單元抽象為統(tǒng)一的變化數據對象;12) 根據系統(tǒng)被采集數據的實時性,定義不同優(yōu)先級的隊列;13) 根據系統(tǒng)規(guī)模、運行特征以及應用處理端可能出現擁塞的單位時間限值 流量F,估算各級隊列的合理長度Li。
3、 根據權利要求2所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征 在于,所述步驟ll)定義的變化數據對象至少包括以下要素優(yōu)先級標識、延時 有效標識、系統(tǒng)關鍵字、數據類型、值域、狀態(tài)域、變化時間。
4、 根據權利要求2所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征 在于所述步驟12)定義的不同優(yōu)先級分別為PRI—LEVEL—CRUCIAL,至關重要級,用于傳輸必須立即得到響應的數據,實時性要求最高,在實時監(jiān)控系統(tǒng)中,又稱為插入傳送級;PRI—LEVEL—IMPORTANT,重要級,實時性要求較高,且數據不能丟失,但允 許短暫的延時,按延時的大小,又可以細分為i、 n、 III級等;PRI—LEVEL-NORMAL,普通級,實時性要求最低,允許一定的延時。
5、 根據權利要求2所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征 在于所述步驟13)定義的各級隊列的合理長度Li估算方法如下設隊列i中變化數據對象的最大允許時延為Ai,有Li-b厶i。
6、 根據權利要求1或2所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征在于所述步驟2)進一步包含以下步驟21) 首先允許至關重要級數據出列,在單位時間內可出列的最大數據流量為 F,若出列量已滿,則返回等待下一間隔時間,否則計算剩余出列量FA;22) 其次允許重要級數據出列,設共具有3級細分優(yōu)先級,則為其分配不同 的傳送權重a、 |3、 y,使得a+P + Y-l,從各細分級中取最多a *FA 、 |3 *F △ 、 ytFA的變化數據對象,若總量達到FA,則返回等待下一間隔時間,否則 按照細分優(yōu)先級的高低繼續(xù)取變化數據對象,直到總量達到FA或者重要級數據 隊列全部為空,若出列量已滿,則返回等待下一間隔時間,否則計算剩余出列 量FA,;23) 最后允許普通級數據出列,最多取FA,,若隊列清空后出列量仍不滿, 則向系統(tǒng)反饋一個空閑狀態(tài),以及空閑量SA,返回等待下一間隔時間。
7、 根據權利要求1或2所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其 特征在于所述步驟3)進一步包含以下步驟31) 在變化數據對象入列時,需預先判斷對應優(yōu)先級隊列是否漫溢,如果為 真,則認為阻塞發(fā)生;32) 當阻塞發(fā)生時,停止普通級數據入列,至關重要級和重要級數據在本級 優(yōu)先級隊列未漫溢情況下,可繼續(xù)入列;33) 當阻塞發(fā)生時,需要插入已漫溢隊列的變化數據對象和普通級數據對象 根據延時有效標識確定暫存還是拋棄;34) 在阻塞過程中,隨時判斷系統(tǒng)是否已進入空閑狀態(tài),并依據空閑量從暫 存庫中取出變化數據對象直接發(fā)送。
8、 根據權利要求7所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征 在于所述步驟34)中描述的判斷系統(tǒng)是否已進入空閑狀態(tài)的標志是獲取由出 列進程發(fā)送的步驟23)所述的空閑狀態(tài)與空閑量SA,且有SA〉0。
9、 根據權利要求7所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征 在于所述步驟34)中描述的暫存庫釆用臨時文件方式或輕量級數據庫方式實 現;可按照變化數據對象優(yōu)先級的不同分文件或表進行存儲,也可以取消數據 優(yōu)先級差別統(tǒng)一存儲;具有合適的存儲空間,保證在系統(tǒng)設計容量內不會發(fā)生漫溢。
10、根據權利要求6所述的實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特 征在于所述步驟3)進一步包含以下步驟31) 在變化數據對象入列時,需預先判斷對應優(yōu)先級隊列是否漫溢,如果為 真,則認為阻塞發(fā)生;32) 當阻塞發(fā)生時,停止普通級數據入列,至關重要級和重要級數據在本級 優(yōu)先級隊列未漫溢情況下,可繼續(xù)入列;33) 當阻塞發(fā)生時,需要插入已漫溢隊列的變化數據對象和普通級數據對象 根據延時有效標識確定暫存還是拋棄;34) 在阻塞過程中,隨時判斷系統(tǒng)是否已進入空閑狀態(tài),并依據空閑量從暫 存庫中取出變化數據對象直接發(fā)送。
全文摘要
本發(fā)明公開了一種實時監(jiān)控系統(tǒng)數據處理的傳輸控制方法,其特征在于包括以下步驟1)建立優(yōu)先級傳輸隊列,限定單位時間傳輸上限;2)由各級隊列中不同的數據延時動態(tài)調整出列秩序;3)當信息雪崩導致隊列阻塞時,通過數據暫存的方式保存重要數據,并在空閑時重新傳送。本發(fā)明通過限定傳輸上限避免應用處理端產生擁塞;通過優(yōu)先級隊列和出列控制策略,保證數據實時性;通過數據暫存技術和入列控制策略,保證數據的完整性,通用性強,不受操作系統(tǒng)版本和實現工具的限制,且獨立性強,可模塊化后方便的添加在已有實時監(jiān)控系統(tǒng)中。
文檔編號H04L12/26GK101534245SQ200910029340
公開日2009年9月16日 申請日期2009年4月9日 優(yōu)先權日2009年4月9日
發(fā)明者劉孟覺, 徐漫江, 沈廣澤, 沈滌凡, 軍 王, 擘 胡, 陳天皓 申請人:國電南瑞科技股份有限公司