引言
對商家進行稅控監(jiān)督利國利民,但如何實施是需要認真考慮的。在我們現有的商業(yè)環(huán)境比如大型商場或超市中,收銀所用為 POS機,為配合國家的稅控要求,商場為每臺 POS機配備了嵌入式稅務控制器,此項技術,已由國家稅務部門及相關單位,在部分省市開始試點。
對于該技術架構,有其不足之處:為每個終端(POS機)都配備一個嵌入式稅務控制器,對于商家是一筆不小的開銷,經營成本的增加,意味著市場競爭的壓力增大,商家對此有疑慮是必然的。因此,研究在保證國家稅控安全基礎上的多對一嵌入式稅務控制器,盡最大可能減少商家此向方面的開支,無論對國家還是對商家,將是共贏,有著長遠的戰(zhàn)略意義。
1無線多對一嵌入式稅務控制器架構
無線嵌入式稅務控制器是人們最容易想到的多對一架構實現方式,其架構如圖一所示,它包括三個模塊,一個模塊用于無線接收多個終端傳來的數據;一個模塊是稅控處理芯片,里面包括可信驗證及稅控流程處理程序,再一個模塊就是嵌入式設備模塊,也即常規(guī)的嵌入式硬件。
該種控制器與終端采用無線連接,結構簡單,不足之處:一是無線網絡的速度較慢,運行效率較低;二是無線接入的穩(wěn)定性不是很好,難以保證數據不出現傳輸錯誤 ;
500)this.style.width=500;" border="0" />
2有線多對一嵌入式稅務控制器架構
有線多對一嵌入式稅務控制器通過網絡介質與終端進行連接,以提高從終端到嵌入式稅務控制器的數據傳輸速度和準確性。同時,為減少稅務控制器的體積,我們可以把有線多對一嵌入式稅務控制器做成類似于網絡集線器的形式,每個端口接一個終端,形式如圖二所示。不妨我們稱圖二的有線多對一嵌入式稅務控制器為集線嵌入式稅務控制器,它的功能要比集線器復雜許多,它不僅接收數據包,還要運行有關稅務控制軟件程序來進行稅控流程處理。
有線多對一嵌入式控制器
500)this.style.width=500;" border="0" />
[!--empirenews.page--]
3多對一嵌入式稅務控制器的功能及數據處理流程
3.1 一般嵌入式稅務控制器的功能: 在大型超市或賣場,顧客在購買商品時,需到收銀臺交款,對于某個具體終端,顧客購買的商品被一筆筆地錄入到計算機中并通過線路傳給嵌入式稅務控制器,嵌入式稅務控制器在收到該顧客的全部所購商品數據后進行總金額計算、生成流水號、為該數據附加稅控碼、查詢稅控數據庫獲得相關稅種稅目、計算稅后總金額并將數據傳給收款機進行打印等。
3.2 多對一嵌入式稅務控制器的數據處理流程:
對于多對一嵌入式稅務控制器,由于它要同時處理多個終端的數據,因此,它必須輪循每個終端中每個顧客每筆商品的數據輸入。同時,為使某個終端一旦已將顧客所購商品全部錄入后,能盡快打印小票給顧客,我們在控制器中運行多線程程序以保證數據處理的時效性??刂破鞴策\行4個線程:線程1:輪循接收每個終端(收款機)的數據,將每個收款機的每筆數據排隊到相應隊列;線程2:將已完成數據錄入(收款)的隊列號登記到有關表中; 線程3:將已完成數據錄入(收款)的隊列進行計算;將計算結果寫入數據庫; 線程4、將已完成數據累加(求和)的顧客數據由嵌入式設備附加稅控碼及其它稅控數據后,返回對應終端進行打印。
4 多對一嵌入式稅務控制器的實現方案
對于單處理器的多對一嵌入式稅務控制器而言,無論是有線連接還是無線連接,都存在嵌入式設備的處理能力有限這一瓶徑問題,當終端較多時,瓶徑矛盾會更加突出,甚至有可能出現控制器因“不堪重負”而“罷工”的局面。為此,我們提出了 3個解決該問題的辦法
4.1 通過增加單處理器嵌入式稅務控制器的數量實現“多對一”: 該辦法是通過減少終端與嵌入式稅務控制器的連接數量來實現商場稅控的“多對一”,比如商場有 20臺 POS機,我們就用 4-5個嵌入式稅務控制器而不是一個來連接這些終端。這樣,在收款機(終端)數量一定的情況下,單個嵌入式稅務控制器連接的終端數減少,從而降低了負載計算量。但這樣做存在兩個問題:一是沒有從根本上解決商家所關心的最大限度降低采購成本問題;二是由于嵌入式稅務控制器的增加,每月在為稅務局進行嵌入式稅務控制器上的數據匯總及常規(guī)維護等方面都增加了不少負擔;
4.2 利用并行計算分擔嵌入式稅務控制器上的任務載荷來實現“多對一”:
該辦法是通過將一部分單處理器嵌入式稅務控制器上的數據處理轉移到與之能進行并行計算的 PC機上,嵌入式稅務控制器與終端的連接數量會明顯增加,從而提高多對一的實際效益。其多對一數據處理架構如圖三所示:
500)this.style.width=500;" border="0" />
此時,在該嵌入式稅務控制器上的處理流程變動如下: 線程1、2與前相同; 線程3、嵌入式稅務控制器執(zhí)行MPI_PROC_NULL(空進程),PC機作為 slave執(zhí)行嵌入式稅
務控制器的計算任務:對某個已完成數據輸入的隊列計算金額總和及將該結果寫入數據庫服務器中; 線程4、嵌入式稅務控制器負責收集 PC機的計算結果信息,對 PC機的計算結果附加稅控碼,通知對應終端打印帶有稅控碼的小票。 此辦法的優(yōu)點是架構設計簡單,缺點是需對稅控軟件增加并行計算,編程及維護難度增加。[!--empirenews.page--]
4.3 使用雙處理器嵌入式稅務控制器實現“多對一”:
該方法不需在軟件設計上增加并行計算,原有的稅控軟件可直接移植到嵌入式稅務控制器中即可使用。該嵌入式稅務控制器采用雙處理器,共享內存,其它如嵌入式的IO、網卡、稅控芯片及閃存 flash的連接與單處理器相同。此時控制器的算法依然采用多線程技術,只是由于現在增加了處理器的數量,線程的調度、運行效率將大大提高。
5 多對一嵌入式稅務控制器的硬件設計實現:
我們采用 FPGA技術進行多對一嵌入式稅務控制器設計。
FPGA(Field Programmable Gate Array,即現場可編程門陣列),可提供高性能的數據和控制處理功能,具有規(guī)模大、可重復編程、開發(fā)投資小等優(yōu)點,在現代電子產品中應用得越來越廣。因此,利用 FPGA技術實現多對一嵌入式稅務控制器是較好的設計方案。
在本文,使用Xilinx 的 VirtexO-4 FX進行設計,VirtexO-4 FX內建 PowerPC雙處理器,能對數據進行高速并行處理,效能提升很大。VirtexO-4 FX FPGA包含高性能的可編程架構、嵌入式 PowerPC處理器和 3.125Gbps收發(fā)器,從而成為嵌入式稅務控制器的理想選擇。實現方案如圖四所示。
500)this.style.width=500;" border="0" />
6 結束語
采用多對一嵌入式稅務控制器是降低商家稅控系統(tǒng)采購成本,進而順利推進商業(yè)稅控自動化的非常重要的技術環(huán)節(jié)。在本文,分析了無線、有線兩種連接嵌入式稅務控制器的組成形式,提出了用并行架構及雙處理器來實現多對一嵌入式稅務控制器的設計思想,提出了多對一嵌入式稅務控制器硬件實現的基本方法,即 FPGA方法。用并行架構和采用集線嵌入式稅務控制器及多線程技術實現多對一是本文的創(chuàng)新點,它為更好地提高現有嵌入式稅務控制器的處理效率、減少商場采購壓力、和在現有條件下實現更先進的稅務控制等方面提供了更深層次的設計思路和解決辦法。