摘要:隨著商業的規模不斷擴大,發票數量急劇增加,有關發票的各種信息量也成信增加。面對龐大的信息量,就需要有發票管理系統來提高發票管理工作的效率。通過這樣的系統,可能做到信息的規范管理、科學統計和快速的查詢,從而減少管理方面的工作。
關鍵詞:管理系統;數據庫;網絡
發票業務基礎數據主要包括發票的真偽信息、發票的銷售信息兩大類。其中真偽信息的數據為增長比較迅速的動態數據,發票的銷售信息為增長比較緩慢的靜態數據。
按照地稅系統信息化建設的目標,數據傳輸的瓶頸主要來自于廣域網。
廣域網間信息流量:按照實際中同時并發基礎數據、傳輸公文、郵件、FAX等信息的應用情況,及傳輸信息的內容、格式、大小來計算遠程網絡間的信息流量和帶寬。按照數據傳輸量峰值計算:
用戶數1000 x 在線用戶率0.85 x 傳輸信息用戶率0.5 x 單位時間信息包大小5K =2125K(2兆)。
結構化數據一般都是通過關系數據庫系統來進行管理。在研究其邏輯分布策略時,主要是考慮需要設置哪些主要的數據庫,以及數據在這些主要的數據庫內部的分布。結合前面對數據的分析可以知道,有獎發票管理系統是所有數據量最大、數據間關系也是最復雜的。
因為發票管理系統采用的是在地市級實現數據集中的模式。通過對上面的圖表進行分析可以得出:
A 類數據數據量很小,變動也少,因此,此類數據也適合集中存放并永久保存在生產數據庫中。考慮到此類數據需要頻繁讀取,因此需要建立自上而下的刷新機制,確保數據的有效性。
B 類數據基本上都是與納稅人相關的數據,雖然數據量大,但變化卻不大,因此,建議將此類數據完全集中存放并永久保存在生產數據庫中。
C 類數據主要是各種發票查詢、兌付數據,數據量非常大,并且隨時間迅速增長,考慮到性能問題,即使是對于其中同一類的數據,我們也有必要根據一定的數據分布策略將其分布到不同的數據表中。
D類數據的數據量不大,可以集中永久存放在生產數據庫中。
按照數據逐級集中的策略,各個地市首先集中所屬的各區縣的數據,然后再把數據集中到省局。這種處理辦法會造成數據量的急劇膨脹,地市適合省局一級的主機系統將面臨巨大的考驗,傳統的方式難以解決此問題。解決主機壓力的有效辦法是采用機群技術。
1機群并行系統
機群并行計算機系統就是把一群計算機(例如工作站、PC機、服務器、大型機等)用網絡以某種拓撲結構互連起來,充分利用計算機資源,統一調度、協調處理,實現高效率并行計算。機群并行計算機系統中的每臺計算機稱為一個結點。如果機群并行計算機系統中的所有結點都是PC機,則稱為PC機群。
與向量計算機和并行計算機相比,機群并行計算機系統具有如下七個主要特點:性能價格比高;用戶投資風險小;編程方便;系統結構靈活;能夠充分利用獨立計算機的系統資源,各個結點的資源還可以共享;具有松散藕合結構,可擴展性好;具有高度I/O并行性。
這七個特點展現了機群并行計算系統的魅力。國外很多學者和廠商預言,機群并行計算系統將與MPP并駕齊驅,主導并行計算技術的發展。機群并行計算技術的研究是最近幾年開始的研究領域,國內外都剛剛起步。機群并行計算技術是一個很有前途的研究領域。
實現機群并行計算系統的最簡單方法就是采用現成的計算機網絡把多個計算機連接在一起。這種方法簡單、易行。但是,這種機群并行計算系統具有一個致命的弱點:多計算機間通信速度慢,存在嚴重的通信瓶頸問題。為了解決通訊瓶頸問題,機群并行計算機系統需要滿足如下要求的高速通信網絡:高傳輸率;低通信延遲。為了提高傳輸率,網絡多采用光纖作為通信介質。為了降低通信延遲,國外一些廠商開發了專用硬件作為機群并行計算機系統的互連網絡。
并行軟件系統的研究成了最近幾年來熱門的高科技研究領域。由于在各種應用領域中數據庫系統占有重要的地位,并行數據庫系統的研究引起了學術界和工業界的特別關注。在很多計算機應用領域,數據庫規模的增長速度已遠遠超過了數據庫管理系統性能的增長速度。數據庫管理系統的處理能力和速度的提高已經成為目前急需解決的問題。并行數據庫系統的研究和開發將會有效地解決這個問題。
機群并行計算系統的I/O并行性高、可擴展性好等特點使得它能夠比MPP更有效地支持并行數據庫系統。只要花費很小的投資就可建立起機群并行計算系統。機群并行計算系統十分符合我國的國情。
總而言之,并行數據庫系統以高性能、高可用性和高擴充性為目標,充分利用多處理器平臺的工作能力,在聯機事務處理(OLTP)與決策支持(DSS)應用這兩種典型環境中提供更快的響應時間與更大的事物吞吐量。采用機群方式構建并行機系統還可以適應業務發展的需要,增加節點方便,不需要修改業務系統,增加了系統的靈活性和可擴展性。
2系統設計方案
綜上所述,通過對發票管理系統的分析和機群并行系統的研究,發票管理系統的數據庫解決方案。
第一套方案:所有數據存放在一個數據庫,發票銷售信息存放在一張表(如表1所示),發票真偽信息存放在一張表(如表2所示)。
該套解決方案通過試運行,其中發票銷售信息表共有信息483,231條,471M數據;發票真偽信息表共有信息5,200,000條,5G數據。
發票檢索 = 483,231 + 5,200,000 = 5,683,231
每張發票的檢索時間相當于將5,683,231條記錄過濾一遍,檢索時間大于30秒,平均24秒檢索一張發票。
第二套方案:所有數據存放在一個數據庫,將發票銷售信息按照發票種類進行分表存儲,相同種類的發票銷售信息在一張數據表中,表結構保持不變;將發票真偽信息按照發票組號、發票批次、發票種類進行分表存儲,相同組號、批次、種類的發票決定一張表,表結構保持不變。
同時在數據庫創建發票銷售信息檢索表(如表3所示)和發票真偽信息檢索表(如表4所示)。
該套解決方案通過試運行,其中發票銷售信息表,兩個月共有信息1,023,587條,約1G數據;發票真偽信息表共有信息14,800,000條,約14G數據。發票銷售信息表根據發票種類進行拆分,共拆分成28張表,平均每張表信息36,556條,最大一張表的信息為75,324條。發票真偽信息表根據發票組號、發票批次、發票種類進行拆分,共拆分成120張表,平均每張表信息120,000條,最大一張表的信息為800,000條。
發票檢索 = 28 + 75,324 + 120 + 800,000 = 875,472
每張發票的檢索時間相當于將875,472條記錄過濾一遍,檢索時間只相當于第一套方案的六分之一,平均5秒檢索一張發票。
隨著數據量的不斷增大,數據庫的容量也隨著增大,數據庫的性能也隨著下降,需要對數據庫進行調整。根據發票的特點和第二套方案的經驗,我們決定將發票信息按照年度存儲在不同的數據庫中。
第三套方案:采用機群并行服務器,首先,設立控制節點,在控制節點建立控制數據庫服務器,數據庫中存儲年度與其余節點的對應關系(如表5所示)。
最后,我們采用了八個節點的機群并行計算機,節點之間通過千兆交換機進行連接。每個節點的分配如表6所示。
機群并行計算機具有良好的擴充性,可以隨時通過增加節點的數量,來滿足發票業務的需求。
結語
本文主要分析了影響發票信息數據分布和數據庫結構的主要因素。把發票數據按照不同的產生方式和存儲特點劃分為兩大類,估算了數據總量和在具體處理時應該采用的不同方法。以及集中造成數據大量膨脹問題的解決辦法:采用集群并行處理技術。
參考文獻
[1]林凡. 集群的可擴展性及其分布式體系結構. 清華大學出版社, 2001
[2]符碧丹, 倪曉明. 群集環境下的直接文件系統訪問. 四川通信技術. 2001.2
[3]劉心松. 具有分布式并行I/O接口的分布式并行服務器系統的性能研究.電子學報.2002.12