?

金融自助終端監控系統優化設計研究

2018-08-08 02:27王慶華謝衛平賀光容謝興鋒
科技與創新 2018年15期
關鍵詞:報文部件概率

王慶華,謝衛平,賀光容,謝興鋒

(深圳怡化電腦股份有限公司,廣東 深圳 518026)

1 概述

據央行統計,截至2017年第三季度末,全國在運營的ATM機具94.77萬臺,比上季度末增加4 202臺。每萬人對應的ATM數量6.85臺,同比增長3.53%.為了最大可能地挖掘金融自助終端的價值潛能,保障高水準的開機率,采用可靠的金融自助終端監控技術是非常重要的。

由于各銀行自助終端品牌多、數量大、型號各異、分布地域廣而零散,對ATM進行統一監控有助于提升自助設備的可靠性、利用率和管理能力。這樣做有以下好處:①可規范金額機具服務,提高業務管理水平,有效控制終端運行質量;②實時跟蹤各類自助設備(ATM、POS、CDM、CRS、查詢機、繳費機、補登機)的運行狀況;③技術處理各類設備故障,提高自助設備營業率,提高自助設備管理人員的工作效率;④根據自助設備上的用戶交易情況和用卡情況,提出及時、準確的分析報告,輔助管理人員分析、決策自助設備的購置和分布以及卡推廣等。

2 金融自助終端監控技術分析與特征

目前,市場上的金融自助終端監控技術受銀行需求或者相關安全標準的限制,主要包括以下3點:①每隔固定時間,終端向監控服務器發送一個狀態報文,其中包含有該終端的所有部件狀態,由服務器不斷接收并解析報文來判斷ATM狀態。②為了保證終端的交易安全,報文的網絡通信是單向的,服務器只能被動地接收報文,不允許監控服務器主動提取終端狀態報文。③為了不影響終端服務,只有當終端空閑時才向監控服務器發送狀態報文。在終端忙于業務交易時,不允許向監控服務器發送狀態報文,只允許發送交易報文。在以上條件的限制下,目前終端監控技術設計采用的方法是,將終端各部件的狀態信息和交易信息收集起來,通過網絡通信以報文的方式發送至監控服務器,從而分析出終端工作狀況和設備狀態,實現對終端的監控與管理。對于設備狀態監控,需要每隔預設時間向監控服務器發送一次所有部件(比如打印機狀態、錢箱狀態、讀卡器狀態等)的狀態報文。

假設某終端具有n個部件,每一個部件都有一個部件狀態集,部件i有mi種狀態,則部件i的第j種狀態可以表示為 aij(i=1,2,…,n,j=1,2,…,mi),不妨設部件 i的狀態集為Ai(i=1,2,…,mi),用card(A)表示集合A的元素的總個數,則對于部件 i,有 Ai=(ai1,ai2,…,aimi),card(Ai)=mi;對于一個 ATM 狀態集 S,有 S={(a1,a2,…,an)│a1∈A1,a2∈A2,…,an∈An}。該 ATM 狀態總種數為:

不妨設每一種狀態出現頻率依次排列為S1,S2,…,Scard(S),設事件 A 的概率為 P(A),則有 P(S1)≥P(S2)…≥P(Scard(S)),那么,S={si│si∈S,1≤i≤card(S),P(S1)終端狀態就是一個各部件狀態的集合,具有以下典型特征。

2.1 狀態相對穩定性

由于終端各部件狀態會在一段較長的時間里維持不變,所以說,終端狀態具有一定的時間穩定性,不隨時間跳躍。據統計,ATM平均開機率在95%左右,絕大部分時間會處于正常工作的狀態,S1表示正常狀態,P(S1)≈0.95.

如果終端某部件發生故障,這種故障會持續一段較長的時間,它不會是變化不定的,部件一般不會呈現出時好時壞的情況。終端作為一個有限狀態機,生產運行中的每一個狀態都會保持一定時間不變。

終端在時刻Ti的下一個時刻Ti+1的狀態與時刻Ti的狀態相同,概率接近于 1,即 P(S(Ti+1)=S(Ti)│S(Ti))=1-σ.其中,σ為1個接近于0的正整數。

鑒于終端狀態的相對穩定性,大部分終端狀態報文的內容是相同的,當狀態不發生變化時,只需要通知監控服務器無變化就可以了,不必又將所有部件的狀態一一發送給服務器。這樣做,可以減少大量內容相同的報文在網絡中的傳輸,也減少了監控服務器對大量內容完全一樣的報文進行解析與分析的工作量。

2.2 狀態分布集中性

終端狀態發生的頻次差距是很大的,某一些狀態可能占據了終端絕大部分的時間,而絕大部分狀態只占據終端極少的時間。例如終端可能在95%的時間內處于正常狀態(各部件均處于正常狀態),其中,很多狀態發生的概率接近于0.正常狀態加上常見的幾種錯誤碼發生的概率接近于1,其他狀態發生的概率之和幾乎為 0.當 P(S1)≥P(S2)…≥P(Scard(S))時,存在一個界于[1,card(S)]之間的k,使得.其中,μ為一個接近0的正整數。

按照終端狀態的頻次特點,可分為高頻狀態和低頻狀態。終端狀態概率密度分布函數類似正態分布,正常狀態是函數的中間部分最高點,接著的兩邊是發生概率高的有一個部件異常的狀態,越遠離中心,發生故障的部件個數越多,發生異常狀態的概率就越低。因而,只有一個部件發生異常的狀態的概率遠高于2個部件均發生異常的概率,遠高于3個部件均發生異常的概率,發生異常的部件個數越多,這種狀態出現的可能性就越小。鑒于終端狀態分布的集中性,可以優化服務器的數據處理,將高頻率的終端狀態數據保存于內存中,以便終端解包后進行報文比較,同時期比較的順序優先,以免浪費資源在第一時間比對上,從而節省報文處理時間,提升終端狀態服務器的報文處理效率和報文吞吐量。

2.3 故障狀態漸重性

終端在運行中某一時刻一般最多只有一個部件發生狀態改變,很少有2個部件的狀態同時發生改變,至于在實際運行過程中多個部件的狀態同時發生改變的情況,則非常罕見。如果把終端資源缺乏(缺鈔、缺紙等)也當作故障狀態,那么,終端在90%的時間里是正常運行的,在少部分時間里是處于故障狀態的。

由實踐經驗可知,如果把一個部件發生故障的所有狀態的概率之和,與2個部件發生故障的所有狀態的概率之和進行比較,基本上相差一個數量級。假設同時有i個部件發生故障的概率為pi,p0表示ATM處于正常狀態;p1表示終端有1個故障,處于故障狀態;pi表示終端有i個故障,處于故障狀態,則有

由于各狀態概率差異明顯,所以,可采用霍夫曼編碼技術,以大幅度減少網絡數據量。

2.4 狀態數量有限性

終端各部件的狀態總數是有限的,由于終端絕大多數部件的狀態種類不超過10個,即使是狀態碼最多的循環機芯,其狀態個數也不超過50個。由于終端是一個有限狀態機,其狀態總種數等于各個部件的狀態數之乘積,因此,終端的狀態種類也不會很多,尤其是一些高頻率出現的狀態,種類更是不多。

2.5 報文大量重復性

由于終端各部件的狀態具有相對穩定性,一種終端狀態會持續相當長的一段時間,例如某臺終端的打印機部件缺紙,那么,該終端在此后相當長的一段時間(直到維護人員加紙維護)內會向服務器發送相同的報文,該報文表示終端缺紙而其他部件完好,因而服務器在這段時間內會接收并處理大量重復的報文。鑒于終端狀態大量重復性,可優化服務器處理報文的速度,縮短其硬盤數據讀取時間,將終端最頻繁的幾個狀態以及最新狀態放置于內存中,那么,這些與該終端終端狀態包內容匹配成功率很高的狀態包就會被快速處理。這樣做,不僅可以提升服務器對接收報文內容比照和存儲的效率,還可以改善原始報文存儲。適當更改存儲的報文接收時間,就可以采取索引存儲方案來存儲下本次接收報文的時間,而不必保存本次接收報文的內容,這是因為報文內容比較長,可達數K,而采用索引存儲方案,可以有效節省服務器的存儲空間,優化存儲結構。

2.6 業務處理集中性

從時間上來說,終端服務存在典型的服務高峰期和低谷期。在服務高峰期,服務器會出現瓶頸,一旦接收到的待處理報文數超過了報文接受隊列長度,就會導致部分報文丟棄,從而發生監控不準甚至出錯的情況。

一天中,終端業務集中在7:00—22:00這個時間段,而22:00至次日7:00這段時間的業務量比較少,在下午下班的一段時間則會出現明顯的終端業務高峰期。終端處于繁忙時段,狀態報文明顯減少,交易報文明顯增多。

3 金融自助終端監控優化對策與實現

3.1 采用相對報文技術

鑒于終端狀態的時間漸變性,即使終端狀態發生了變化,其變化量是很小的,一般是某一部件發生了狀態改變,因而可以采用與上一個報文進行對比的相對報文形式來取代絕對報文形式,實現終端狀態的網絡傳送,大幅度節省網絡開銷。如圖1所示,編號為17的報文內容與編號為16的報文內容相比較,除了報文時間不同外,還有域15(憑條打印機狀態)和域16(憑條打印機錯誤碼)發生了改變,因此,按照本文提供的相對報文編碼方法,相對報文應為:[117 20141011111459 16 15 0 16 0000~].其中,第一個1表示本條報文為絕對對報文,17表示本報文編號,20141011111459表示本報文生成時間,16表示基準報文編號,15 0 16 0000表示15域值改為0,16閾值改為0000,~表示報文終止符。由此可見,采用相對報文后,報文的長度得到了極大的改善,網絡傳輸數據量和服務器接收數據量大為減少。

圖1 報文內容

3.2 改進報文編碼技術

各終端需要向監控服務器發送狀態報文,每個狀態報文少則256 B,多則可達幾K,報文數量龐大,導致網絡數據傳輸量大。各部件狀態信息同時出現的概率越高,或終端處于某一狀態的頻率(概率)越高,其對應的終端狀態碼編碼長度就越短,因此,需要經常傳輸的終端狀態碼的長度短,數據量少,傳輸壓力減小,還減少了占用的監控服務器報文隊列資源。

根據霍夫曼樹,帶權路徑長度記為:WPL=(W1L1+.其中,N 個權值為 W(i=1,i2,…,n),如果狀態S1、S2、S3、S4出現的概率為0.75,0.54,0.28,0.43,則相應的權值為75,54,28,43.

終端狀態頻率最高的2種狀態可以使用一位二進制(0或1)表示,發生頻率次高的4種狀態分別使用2位二進制(00,01,10或11)表示,發生頻率再次的8種狀態分別使用三位二進制(000,001,010,011,100,101,110或111)表示。如此繼續下去編碼,發生頻率再次的2n種狀態分別使用n位二進制表示。由此可知,發生概率越高的終端狀態,其編碼長度越短。對自助終端各狀態進行編碼,按發生頻率高低排序,排行第(2n-1)~(2n+1-2)用n位二進制表示。

由此實現了對狀態報文編碼處理,使得傳輸頻率高的報文類型編碼最短,以節約網絡帶寬,減少網絡傳輸量,加快監控服務器對報文接收的簡化處理,提高監控服務器的報文接收速度,降低報文丟失率,提高監控準確性。網絡通信量的大幅度降低,提高了監控服務器的吞吐率,增加了終端連接數目。

3.3 實現報文編號排序

對狀態報文類和業務報文類的各個報文分別編號,從0→n→0→n…循環往復地進行,其中,n足夠大,在一段時間內不可能產生2個相同編號的同類報文。將這兩類報文分別編號的目的是,狀態報文允許有個別報文丟失而不影響準確性;業務報文不允許有任何報文丟失,否則會嚴重影響監控的準確性。

當監控服務器發現先后接收到的時間上相鄰的2個狀態報文,其報文發送時間間隔不大于設定或者預期的狀態報文發送時間間隔的4~5倍,且當這2個報文反應的終端的狀態內容相同時,對于這2個狀態報文編號間隔所缺失的報文內容,可以默認缺失的報文內容與該兩報文相同,不必發送重發請求。這樣不會對終端狀態統計和狀態準確性造成很大的影響,以便節省資源。

3.4 利用交易報文判斷

事實上,交易報文內容中暗含了一定的設備狀態信息,如果某一取款業務交易報文顯示成功,則與取款業務相關的設備狀態應是正常的。因此,在狀態報文缺失的情況下,可以合理利用交易報文來推測設備狀態——可以設計一種采用以狀態報文為主、交易報文為輔的終端狀態監控方案,用于解決終端處于繁忙時段不能向監控服務器發送狀態報文的難題,進一步提高監控準確度和及時性。

由于終端一直忙于交易,可能會存在長時間不向監控服務器發送狀態報文的情況,如果監控服務器只根據接收到的狀態報文來判斷終端狀態,則會誤認為該終端離線而造成與實際不符的情況。因為終端在繁忙時會向監控服務器發送交易報文,根據交易報文間接判斷出終端狀態。終端交易類型、交易結果、各部件狀態的關系如表1所示。如果某交易業務成功完成,則該業務涉及的設備狀態是正常的;如果交易業務發生錯誤,則該錯誤碼對應的設備出現故障,而其他設備狀態可以保持不變,即與上一次狀態相同。

表1 交易類型—設備部件映射表

3.5 合理分配服務器資源

服務器是監控系統終端的瓶頸,應該采取有效措施合理利用其資源。根據終端各自對應的屬性信息、設備狀態信息、工作狀態信息和資源剩余狀況信息中的全部信息,計算終端各自對應的監控重要性特征值。設屬性信息、設備狀態信息、工作狀態信息和資源剩余狀況信息對應的權重分別為a,b,c,d,那么,可以根據公式計算第i臺終端對應的監控重要性特征值 Mi,即 Mi=aF1i+bF2i+cF3i+dF4i.

第i個終端在監控服務器接收容量一定(不大于W個報文/分鐘)的情況下,其報文速度為;第i臺終端的報文發送時間間隔為,則有

經過分析,取不小于Ti值的整數值作為該臺終端的監控報文發送時間間隔允許值。

終端監控報文發送時間間隔不能太大,也不能太小。監控終端的目的是及時對終端進行維護,補充資源。秒級別發送監控報文的監控會造成監控資源的浪費,而且經濟收益不好。因此,為了限制Ti值太大或者太小,有必要根據終端實際要求,將Ti值限制在區間[A,B],即A≤Ti≤B。根據預設的各終端監控報文發送時間間隔的允許范圍進行調整,計算新得到的各終端監控報文發送時間間隔,看其是否滿足監控服務器每分鐘能夠接收和處理的監控報文數的最大允許值。驗算方法是,將得到的新的數組T1,T2,…,Tn代入≤W中驗證。如果不成立,則按照M1,M2,…,Mn值從小到大的順序確定的序號對T1,T2,…,Tn排序,按排序后,T1,T2,…,Tn的順序從前往后每輪依次減去1,直到滿足為止。這樣就新得到一個T數組,以該T數組確定的值作為各終端報文發送時間間隔。

上述方案改善了監控報文采取定時發送狀態報文的監控方式,根據服務器報文處理能力,通過精確的計算,實現調整終端動態時間間隔的監控方式,有利于監控服務器的動態調整和資源優化,有效配置了監控服務器的有限資源,同時,根據被監控終端的監控重要性,實現了終端監控手段的個性化,優化配置了有限的監控資源。

3.6 靈活建立二級監控

如果采用二級監控代理技術,即當檢測到監控服務器超負荷運行時,建立二級監控代理,將部分終端交由所述二級監控代理直接監控,使得服務器直接監控的終端數降低到負荷水平之下,二級代理只需要向監控服務器轉發非正常運行的終端狀態。如果以開機率為95%~99%來計算,采用二級監控代理技術,監控服務器的監控容量可以差不多擴充為原來的 20~100倍(1/(1-95%)~1/(1-99%)),極大地提升了監控系統的監控容量。

建立二級監控代理的流程是:二級監控代理向監控服務器傳送的數據量可以根據故障終端發生概率來確定。在設備實際運行過程中,終端發生故障的概率為x%(實際運行中該值一般在2%~10%之間)。如果二級監控代理只向監控服務器傳送改裝狀態的狀態報文,正常運行的數據采取默認方式,則對于二級監控代理直接監控的n個終端,其向監控服務器傳送的狀態報文量為:data=a×n×x%×v×L.其中,a>1為一加權值;v為報文發送速率;L為報文平均長度,這也是監控服務器需要處理的狀態報文量。

如果沒有二級件服務器,這n個終端狀態報文量為:data=n×v×L,遠大于具有二級監控的報文量。由此可知,采用二級監控代理可以大大減輕監控服務器的工作壓力,減少其數據處理量,緩解監控服務器的監控報文丟失現象。

4 結論

本文針對目前金融自助終端監控技術的不足進行了優化設計研究,尤其是對監控狀態包網絡通信技術,以及監控服務器技術進行優化設計,解決了目前終端監控技術網絡通信效率低,容易導致服務器出現瓶頸等問題。本文提供的技術已被成功應用于國內某銀行總行級的近十萬臺終端的監控系統中,監控服務器和監控通信性能得以明顯改善,取得了良好的監控效果。

猜你喜歡
報文部件概率
基于J1939 協議多包報文的時序研究及應用
以太網QoS技術研究及實踐
概率統計中的決策問題
概率統計解答題易錯點透視
概率與統計(1)
概率與統計(2)
基于報文類型的限速值動態調整
奧迪e-tron純電動汽車的高電壓部件(下)
一種陀飛輪表的雙秒輪結構
現代漢字的兩種分析法與國家文字規范(四)
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合