胡小民 董培羽
隨著金關、金稅工程的不斷深入,參數管理業已成為業務管理的重要手段和工具。日趨龐大的參數表中各項參數的設置與調整直接影響到業務管理的規則,同時數據高度集中架構的大型業務應用系統對參數維護的時效性和準確性提出了更高的要求。
參數的概念和重要性
“參數”的本義專指在系統中保持相對穩定,對變量、流程起控制和引導作用的量。起初參數以常量的形式出現,固化在軟件的程序行中,如果參數需要變化,軟件開發人員就必須到源程序中去尋找相關的程序語句進行修改。隨著軟件開發水平的提高,逐漸引入了參數表的概念,當這些參數發生變化時,只需對參數表中相應的參數進行調整即可,而無需修改源程序。在實現業務處理電子化之后,計算機系統已經全面滲透到業務處理和管理控制的每一個環節中,參數已經轉化為管理業務的重要手段和工具之一。日趨龐大的參數表中各項參數的設置與調整直接影響到業務和管理的規則。數據高度集中式的架構對參數維護的時效性和準確性提出了更高的要求。
參數管理的內涵和外延
首先需要強調的是,參數的管理并不只是參數的維護。我們先來簡單看一下對參數管理認識經歷的幾個歷史階段:
第一階段:參數固化在程序中,如果調整參數就需要修改和升級程序。業務的調整隨之帶來的程序的頻繁修改和升級無疑給技術、業務和管理部門都帶來了不小的麻煩和壓力。
第二階段:開始引入參數表的概念,但是參數管理工作只是停留在簡單的參數維護,而且往往由技術人員直接在系統中進行操作。
第三階段:參數的修改和維護開始從技術部門獨立出來,各級各部門開始設立專門的參數維護人員,負責對本部門相關的參數進行維護。但是由于參數維護的部門分散,對參數的管理只是簡單停留在維護環節,缺乏參數關聯性核對、參數監控、統一部署等綜合手段。
目前對參數管理概念比較完整的解釋包括參數維護、參數設計和參數監控三個方面。具體來說,參數維護指對系統的參數表的更改進行審批和維護;參數設計包括參數的分類、結構設計和參數設置;參數監控則包括跟蹤參數的維護情況,檢查是否合規,并在參數維護出錯時迅速作出反應,聯合相關部門進行恢復,查找相應責任。
當前參數管理的問題
參數管理的問題涉及內外部多個層面,這里側重談一下技術和管理方面的一些問題:
一、參數管理機構的設置問題
上文已經談到,“參數管理”的完整解釋包括參數設計、參數維護和參數監控三個層面,而參數維護又可以分為權限審批和維護操作兩個不同的子操作。如果僅有參數維護部門而沒有綜合性的管理和監控部門,勢必影響參數管理工作水平的進一步提高。
二、參數設計的合理化問題
在系統和參數規模不斷增大的情況下,合理的參數設計顯得尤位重要。以常規的工作流為例,常用的環節權限參數維護采用選人的方式,在發生人員調動的情況時,每一個子系統的每一個環節都需要重新配置,操作麻煩;而如果引入“虛擬人員組”的概念,當發生人員變更時,只需一次修改“虛擬組織”的成員,所有相關的權限均會自動更新。不但可以大幅降低參數維護的工作量,而且減少了遺漏發生的情況。
三、參數的約束和容錯問題
目前的參數設置除了域判斷(例如不得小于零)之外很少有約束,帶來的問題是如果設置了非法的參數(非法指錯誤或不符合系統邏輯要求),系統將無法自動識別、給出提示或更正。而在大型系統中,系統的各種參數往往存在著關聯約束,即一個參數可以設置的值的范圍受到其他參數的約束。對此進行的關聯約束將大大提高參數的容錯性。
四、參數監控的手段和預警單一的問題
對于參數設置的監控包括完整性、及時性和有效性三個方面,目前監督參數維護工作主要是通過抽查等非技術手段,對于參數維護的及時性也主要依賴經辦人員自身。除了加強傳統的管理和監督,技術層面上如何通過利用各類工具自動檢查參數的完整性,通過參數的關聯性設置檢查參數的有效性,通過系統預警提示加強參數維護的及時性,這些都是擺在參數管理工作面前的新問題。
五、參數出錯后如何補救問題
鑒于參數在業務流程中的重要性,除了增加預防性措施,盡可能減少參數的出錯率之外,還應設計高效可用的恢復策略,在出現參數維護錯誤時能夠及時進行恢復,減小影響,縮短處理時間。只有建立了參數監控、錯誤預防、故障恢復三大體系,才能綜合性地提高參數維護工作的準確性和穩定性。
六、參數維護工作的統計和反饋問題
目前參數的維護工作比較分散,參數維護的工作缺乏統計指標和反饋,難以衡量參數維護工作的工作數量和質量。這一點無論對參數維護人員還是這項工作本身的發展提高都會帶來不利影響。
七、參數維護的并發問題
在參數規模增大,維護人員增多的情況下,不可避免地會出現多人同時去維護一個參數,參數維護的同時系統正在運行并讀取參數等問題,統稱為參數維護的并發問題。并發問題可能引起系統錯誤,破壞參數的一致性和完整性。
改進參數管理工作的建議
針對上述問題,提出以下一些改進建議:
首先應提高對參數管理工作的認識,包括對參數的重要性,參數管理工作立體性(設計、維護、監控)的宣傳和教育,加強管理,明確職責。參數管理不是一個單純的技術問題,參數維護則純粹是業務,而且是業務核心問題。參數維護需要嚴格審批,減少隨意性,加強集中控制和程序化管理。實行參數維護的審批和操作相分離,包括職能部門的分離和操作流程的分離。
其次在組織機構上,參數管理部門的設立應貫徹集中和專業化原則。建議通過設立參數職能管理、參數管理中心和參數設計、維護和監控三級機構,從組織機構上對參數管理工作進行細分。
三是設計合理的參數。筆者總結了幾條基本規則供參考:
規則一:參數的設計類似關系數據庫表結構設計,應盡可能降低參數間的關聯依賴,至少應滿足第二范式。這一條同時限定了參數設置的冗余度;
規則二:參數應實行層級結構管理,通過增加層來增強參數的靈活性,層的數量和參數的粒度(即參數的數量)成正關系;
規則三:權限配置型參數的自變量和應變量的選擇應根據系統規模和用戶規模綜合考慮,選擇數值較小的作為自變量,以減少參數維護的工作量;
規則四:使用數據字典定義參數,避免直接描述。
四是增強參數的自動容錯、糾錯能力。通過事先將參數維護中最為錯綜復雜的表與表之間的關聯關系輸入系統中,指導參數管理人員準確、完整、順利地完成各類維護工作。確保系統參數狀態的一致性,即各個參數相互之間不會違背業務邏輯關系。
五是加強對參數管理時效性的提醒。參數管理人員可以在系統中訂制一些提醒功能,利用多媒體辦公平臺對于階段性需要更新的參數在到期時自動進行短消息或郵件提醒;另外,系統中還可以大膽引入時效性自動檢查功能,根據參數的關聯性進行判斷,當部分參數已經更新時,提醒用戶對其他高度關聯的參數及時進行更新檢查。
六是除了預防措施之外建立補救性措施,這些措施首先應該是管理和流程上的設計,即在出現參數出錯后能夠按照操作流程及時保留重要數據備查原因,同時在最短時間內進行恢復;在技術層面,參數的維護應有完備的日志記錄,同時不定期設置“恢復點”,在出錯后可以隨時進行回滾操作。
七是設置統計分析功能。便于參數管理部門及時了解參數修改更新的頻率和次數,在此基礎上對業務處理行為進行深層次的分析。
(作者單位:寧波海關辦公室 寧波江東區國稅局信息中心)