專利名稱:一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)采集的技術(shù),尤其涉及一種網(wǎng)絡(luò)稅控系統(tǒng)從商業(yè)管理信息系統(tǒng)的 商業(yè)收款機中采集銷售票據(jù)數(shù)據(jù)作為稅控處理的源數(shù)據(jù)的方法。
技術(shù)背景隨著計算機技術(shù)的發(fā)展,現(xiàn)有的流通型企業(yè)均采用商業(yè)管理信息系統(tǒng)(MIS系統(tǒng))進 行商品、銷售、財務(wù)的管理,目前的商業(yè)MIS系統(tǒng)的前端主要采用第三代商用收款機(P0S 機終端),POS機終端能夠運行在DOS, Windows, Linux等系統(tǒng)環(huán)境中,后臺采用高性能的 服務(wù)器,前后臺設(shè)備構(gòu)建在一個局域網(wǎng)或虛擬專網(wǎng)之上?,F(xiàn)有的POS機終端只能運行MIS前端軟件,完成銷售時的收款、票據(jù)打印功能,并將相 應(yīng)的數(shù)據(jù)提交給后臺對應(yīng)的服務(wù)器。但這種POS機終端只能輸出銷售的明細數(shù)據(jù),而不能輸 出稅控的發(fā)票數(shù)據(jù)。從上述對現(xiàn)有的商業(yè)MIS系統(tǒng)、P0S機終端的結(jié)構(gòu)和使用過程中,發(fā)明人發(fā)現(xiàn)上述現(xiàn) 有技術(shù)至少存在以下問題現(xiàn)有的商業(yè)MIS系統(tǒng)只具有企業(yè)的信息管理的作用,不具有稅控的功能,并且這種系統(tǒng) 投入使用后,要保證作業(yè)的連續(xù)性,不能因為其它原因影響MIS系統(tǒng)的使用,若中斷則會給 使用中的企業(yè)帶來經(jīng)濟損失,基于這種情況在不改變現(xiàn)有商業(yè)MIS系統(tǒng)前提下,為實現(xiàn)針對 該MIS系統(tǒng)的網(wǎng)絡(luò)稅控系統(tǒng)完成以票控稅,如何從商業(yè)MIS系統(tǒng)的POS機終端中安全、準確的 采集稅控用的源數(shù)據(jù),則成為準確稅控的關(guān)鍵,但現(xiàn)有的數(shù)據(jù)采集方法,無法在不改動現(xiàn) 有MIS系統(tǒng)的前提下實現(xiàn)準確、安全的稅控數(shù)據(jù)的采集。發(fā)明內(nèi)容本發(fā)明提供了一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,該方法在不改變現(xiàn)有商業(yè) 收款機的前提下,有效保證了采集到作為稅控處理的源數(shù)據(jù)的準確性和安全性,進而保證 了針對該管理信息系統(tǒng)的網(wǎng)絡(luò)稅控系統(tǒng)以票控稅的準確性。本發(fā)明的目的是通過以下技術(shù)方案實現(xiàn)的本發(fā)明提供了一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,包括通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊截獲商業(yè)收款機輸出的銷售票據(jù)數(shù)據(jù),將截 獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器。所述的截獲商業(yè)收款機輸出的銷售票據(jù)數(shù)據(jù)包括數(shù)據(jù)采集模塊采用截獲商業(yè)收款機輸出至屏幕進行顯示的銷售明細數(shù)據(jù)或打印輸出隊列中銷售票據(jù)的打印數(shù)據(jù)。 所述的截獲商業(yè)收款機輸出的打印輸出隊列中銷售票據(jù)的打印數(shù)據(jù)包括 監(jiān)控商業(yè)收款機的打印端口,當該商業(yè)收款機利用打印端口進行打印輸出時,則獲取輸出的打印數(shù)據(jù)包。所述的通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊截獲商業(yè)收款機輸出的銷售票據(jù)數(shù)據(jù) 進一步包括數(shù)據(jù)采集模塊向與該采集模塊所在的商業(yè)收款機連接的網(wǎng)絡(luò)稅控器進行簽到;若簽到成功,則該數(shù)據(jù)采集模塊監(jiān)控所在的商業(yè)收款機的輸出銷售票據(jù)數(shù)據(jù)的操作, 并設(shè)定定時巡檢的時間間隔;若商業(yè)收款機進行輸出銷售票據(jù)數(shù)據(jù)的操作,則數(shù)據(jù)采集模塊截獲輸出的銷售票據(jù)數(shù) 據(jù)作為稅控處理用的源數(shù)據(jù)傳送給所述的網(wǎng)絡(luò)稅控器;并以設(shè)定的時間間隔定時向網(wǎng)絡(luò)稅控器簽到進行定時巡檢。所述方法進一步包括驗證上述數(shù)據(jù)采集模塊的簽到、監(jiān)控、定時巡檢步驟是否全部 執(zhí)行成功,若未全部執(zhí)行成功,則數(shù)據(jù)采集模塊鎖定所在的商業(yè)收款機。所述方法進一步包括驗證上述數(shù)據(jù)采集模塊的簽到、監(jiān)控、定時巡檢步驟是否全部 執(zhí)行成功,若全部執(zhí)行成功,則數(shù)據(jù)采集模塊向所述的網(wǎng)絡(luò)稅控器進行簽退。本發(fā)明提供了一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,包括通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊替換該收款機使用的DOS操作系統(tǒng)中調(diào)用的子 功能中斷;監(jiān)控商業(yè)收款機利用所述的子功能中斷打開、關(guān)閉、讀、寫串口時,則利用替換的子 功能中斷截獲打印輸出的銷售票據(jù)數(shù)據(jù);將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器。所述的替換的子功能中斷包括打開文件中斷、創(chuàng)建文件中斷、關(guān)閉文件中斷、讀文 件中斷、寫文件中斷和時鐘中斷。所述的數(shù)據(jù)采集模塊加載到所述DOS操作系統(tǒng)的啟動文件中,實現(xiàn)該數(shù)據(jù)采集模塊在所 述的DOS操作系統(tǒng)啟動時自啟動。所述的方法還包括數(shù)據(jù)采集模塊向與該模塊所在的商業(yè)收款機連接的網(wǎng)絡(luò)稅控器簽
到;若成功,則監(jiān)控串口,并進行定時巡檢; 駐留替換后的各子功能中斷;上述各子功能中斷若全部駐留成功,則向網(wǎng)絡(luò)稅控器簽退; 若未全部駐留成功則鎖定數(shù)據(jù)采集模塊所在的商業(yè)收款機。 本發(fā)明提供了一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,包括通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊加載到該收款機使用的Windows操作系統(tǒng)的系 統(tǒng)進程中;監(jiān)控該Windows操作系統(tǒng)的打印輸出,利用加載到系統(tǒng)進程中的數(shù)據(jù)采集模塊截獲打印 輸出的銷售票據(jù)數(shù)據(jù);將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器。所述的截獲該打印數(shù)據(jù)包括字符繪制的應(yīng)用程序接口函數(shù)的調(diào)用,并利用Windows 操作系統(tǒng)的鉤子函數(shù)得到發(fā)給所述接口函數(shù)的參數(shù)來獲取打印數(shù)據(jù)。所述的的數(shù)據(jù)采集模塊加入到該Windows操作系統(tǒng)的啟動項,實現(xiàn)該數(shù)據(jù)采集模塊在所 述的Windows操作系統(tǒng)啟動時自啟動。所述的數(shù)據(jù)采集模塊加入到該Windows操作系統(tǒng)的啟動項包括在該Windows操作系統(tǒng) 的注冊表文件中加入啟動項。所述的方法還包括數(shù)據(jù)采集模塊向與該模塊所在的商業(yè)收款機連接的網(wǎng)絡(luò)稅控器簽到;若成功,則監(jiān)控串口,并進行定時巡檢;運行打印數(shù)據(jù)監(jiān)控模塊;上述各部分若全部執(zhí)行成功,則向網(wǎng)絡(luò)稅控器簽退; 若未全部執(zhí)行成功則鎖定數(shù)據(jù)采集模塊所在的商業(yè)收款機。 本發(fā)明提供了一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,包括-通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊修改或替換該收款機使用的Lirmx操作系統(tǒng)中 打印設(shè)備驅(qū)動程序;監(jiān)控該Linux系統(tǒng)的打印輸出,利用修改或替換的打印設(shè)備驅(qū)動程序截獲打印的銷售 票據(jù)數(shù)據(jù),并將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的 網(wǎng)絡(luò)稅控器。
所述的將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng) 絡(luò)稅控器包括直接傳送給網(wǎng)絡(luò)稅控器或經(jīng)用戶程序傳送給網(wǎng)絡(luò)稅控器。由上述本發(fā)明實施例提供的技術(shù)方案可以看出,本發(fā)明實施例的方法通過截獲商業(yè)管 理信息系統(tǒng)的商業(yè)收款機中輸出的銷售票據(jù)數(shù)據(jù),作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè) 收款機相連的網(wǎng)絡(luò)稅控器。這種方法保證了作為稅控處理的源數(shù)據(jù)的準確性,同時可以保 證數(shù)據(jù)采集的安全性,不會因使用者采取其它技術(shù)手段,禁止數(shù)據(jù)采集模塊的工作或插入 虛假數(shù)據(jù)影響稅控結(jié)果的準確性。
圖1為本發(fā)明實施例中網(wǎng)絡(luò)稅控系統(tǒng)的各部件連接示意圖; 圖2為本發(fā)明實施例的采集數(shù)據(jù)方法的流程圖; 圖3為本發(fā)明實施例的數(shù)據(jù)采集模塊采集打印數(shù)據(jù)的流程圖; 圖4為本發(fā)明實施例的數(shù)據(jù)采集模塊采集采集數(shù)據(jù)過程中安全處理的流程圖; 圖5為本發(fā)明實施例在使用D0S操作系統(tǒng)的商業(yè)收款機中采集數(shù)據(jù)的流程圖; 圖6為本發(fā)明實施例在使用D0S操作系統(tǒng)的商業(yè)收款機中采集打印數(shù)據(jù)的流程圖;圖7為本發(fā)明實施例在使用D0S操作系統(tǒng)的商業(yè)收款機中數(shù)據(jù)釆集模塊簽到處理流程圖;圖8為本發(fā)明實施例的商業(yè)收款機的D0S操作系統(tǒng)中設(shè)置數(shù)據(jù)采集模塊的體系結(jié)構(gòu)框圖;圖9為圖7中的TSR串口通訊協(xié)議層圖的結(jié)構(gòu)框圖; 圖IO為圖8中的讀字符處理流程圖; 圖11為圖8中的寫字符處理流程圖; 圖12為圖8中的讀包處理流程圖;圖13為圖8中的寫包處理流程圖;圖14為圖8中的單包通訊層處理流程圖;圖15為本發(fā)明實施例在D0S操作系統(tǒng)中數(shù)據(jù)采集模塊簽到處理流程圖;圖16為本發(fā)明實施例在D0S操作系統(tǒng)中數(shù)據(jù)采集模塊定時巡檢處理流程圖;圖17為本發(fā)明實施例在D0S操作系統(tǒng)中數(shù)據(jù)采集模塊簽退處理流程圖;圖18為本發(fā)明實施例在D0S操作系統(tǒng)中數(shù)據(jù)采集模塊傳送監(jiān)控數(shù)據(jù)處理流程圖;圖19為本發(fā)明實施例在D0S操作系統(tǒng)中數(shù)據(jù)采集模塊請求應(yīng)答處理流程圖; 圖20為本發(fā)明實施例在D0S操作系統(tǒng)中打開/創(chuàng)建文件中斷處理流程圖; 圖21為本發(fā)明實施例在D0S操作系統(tǒng)中關(guān)閉文件中斷處理流程圖; 圖22為本發(fā)明實施例在D0S操作系統(tǒng)中寫文件中斷處理流程圖; 圖23為本發(fā)明實施例在D0S操作系統(tǒng)中讀文件中斷處理流程圖; 圖24為本發(fā)明實施例在DOS操作系統(tǒng)中時鐘中斷處理流程圖; 圖25為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中采集數(shù)據(jù)的流程圖; 圖26為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中數(shù)據(jù)采集模塊簽到處理流 程圖;圖27為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中截獲Windows字符繪制函 數(shù)的流程圖;圖28為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中串口通信處理流程圖; 圖29為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中串口初始化處理流程圖; 圖30為本發(fā)明實施例在使用Wind(MS操作系統(tǒng)的商業(yè)收款機中開機簽到處理流程圖; 圖31為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中定時巡檢處理流程圖; 圖32為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中傳送監(jiān)控數(shù)據(jù)處理的總體 處理流程圖;圖33為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中傳送監(jiān)控數(shù)據(jù)處理的單包 發(fā)送處理流程圖;圖34為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中傳送監(jiān)控數(shù)據(jù)處理的單包 接收處理流程圖;圖35為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中傳送監(jiān)控數(shù)據(jù)處理的多包 發(fā)送處理流程圖;圖36為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中傳送監(jiān)控數(shù)據(jù)處理的多包 接收/請求應(yīng)答處理流程圖;圖37為本發(fā)明實施例在使用Windows操作系統(tǒng)的商業(yè)收款機中簽退處理流程圖; 圖38為本發(fā)明實施例在使用Linux操作系統(tǒng)的商業(yè)收款機中采集數(shù)據(jù)的流程圖; 圖39為本發(fā)明實施例在使用Linux操作系統(tǒng)的商業(yè)收款機中采集數(shù)據(jù)的流程圖; 圖40為本發(fā)明實施例在使用Linux操作系統(tǒng)的商業(yè)收款機中采集數(shù)據(jù)的流程圖。
具體實施例方式
本發(fā)明實施例提供的一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,是通過截獲商業(yè)收 款機輸出的銷售票據(jù)數(shù)據(jù)作為稅控用的源數(shù)據(jù),并將截獲后的數(shù)據(jù)傳送到與商業(yè)收款機連 接的網(wǎng)絡(luò)稅控器作為源數(shù)據(jù)進行稅控處理用。該方法在不改變且不影響現(xiàn)有商業(yè)MIS系統(tǒng)的 前提下,保證了稅控處理用的源數(shù)據(jù)的準確性和安全性,進而保證了針對該MIS系統(tǒng)的網(wǎng)絡(luò) 稅控系統(tǒng)的以票控稅的準確性。為進一步清楚的說明本發(fā)明實施例的采集數(shù)據(jù)的方法,結(jié)合
該方法的具體采 集過程。本發(fā)明實施例的銷售票據(jù)數(shù)據(jù)采集方法,主要是針對圖l所示的網(wǎng)絡(luò)稅控系統(tǒng)中進行采 集稅控處理用的源數(shù)據(jù)。該網(wǎng)絡(luò)稅控系統(tǒng)具體由稅控服務(wù)器、稅控數(shù)據(jù)采集模塊、網(wǎng)絡(luò)稅 控器、稅控發(fā)票終端等部分構(gòu)成,通過局域網(wǎng)對商業(yè)管理信息系統(tǒng)進行以票控稅的稅控管 理,其中如何從商業(yè)收款機中獲取銷售票據(jù)數(shù)據(jù)來作為網(wǎng)絡(luò)稅控系統(tǒng)稅控處理的源數(shù)據(jù), 是準確控稅的關(guān)鍵,因此,如圖2所示,本發(fā)明實施例提供了一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售 票據(jù)數(shù)據(jù)的方法,主要用于網(wǎng)絡(luò)稅控系統(tǒng)從商業(yè)管理信息系統(tǒng)的商業(yè)收款機中采集稅控處 理用的源數(shù)據(jù),該方法具體包括下述步驟步驟l,運行在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊;步驟2,數(shù)據(jù)采集模塊截獲商業(yè)收款機輸出的銷售票據(jù)數(shù)據(jù);步驟3,將截獲的銷售票據(jù)數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器作為稅控處理用 的源數(shù)據(jù);步驟4,數(shù)據(jù)輸出是否結(jié)束,若結(jié)束,則結(jié)束本次采集;若未結(jié)束,則執(zhí)行步驟2。其中,數(shù)據(jù)采集模塊采用截獲商業(yè)收款機的屏幕顯示的銷售明細數(shù)據(jù)或打印輸出隊列 中銷售票據(jù)的打印數(shù)據(jù)。其中,所述的采用截獲商業(yè)收款機輸出的打印輸出隊列中銷售票據(jù)的打印數(shù)據(jù)具體包 括下述步驟,見圖3,其中,步驟21,監(jiān)控商業(yè)收款機的打印端口;步驟22,當該商業(yè)收款機利用打印端口進行打印輸出時;步驟23,則獲取輸出的打印數(shù)據(jù)包。本發(fā)明實施例的采集方法中,為保證安全的采集數(shù)據(jù),數(shù)據(jù)采集模塊要向所述的網(wǎng)絡(luò) 稅控器進行簽到及定時巡檢處理,具體包括的如下步驟,如圖4所示其中步驟31,數(shù)據(jù)采集模塊向與該采集模塊所在的商業(yè)收款機連接的網(wǎng)絡(luò)稅控器進行 簽到; 步驟32,判斷簽到是否成功;步驟33,若簽到成功,則該數(shù)據(jù)采集模塊監(jiān)控所在的商業(yè)收款機的輸出銷售票據(jù)數(shù)據(jù) 的操作,并設(shè)定定時巡檢的時間間隔;步驟34,若商業(yè)收款機進行輸出銷售票據(jù)數(shù)據(jù)的操作,則數(shù)據(jù)采集模塊截獲輸出的銷 售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給所述的網(wǎng)絡(luò)稅控器;步驟35,以設(shè)定的時間間隔定時向網(wǎng)絡(luò)稅控器簽到進行定時巡檢。其中步驟32中若未簽到成功,則進行步驟31重新簽到。在圖4的流程中還進一步包括步驟36,驗證上述數(shù)據(jù)采集模塊的簽到、監(jiān)控、定時巡檢步驟是否全部執(zhí)行成功, 步驟38,若未全部執(zhí)行成功,則數(shù)據(jù)采集模塊鎖定所在的商業(yè)收款機。即不允許數(shù)據(jù)采集模塊工作進行數(shù)據(jù)采集,則鎖定商業(yè)收款機使其無法工作,保證了網(wǎng)絡(luò)稅控系統(tǒng)的稅控處理的安全使用。步驟37,若驗證上述數(shù)據(jù)采集模塊的簽到、監(jiān)控、定時巡檢步驟為全部執(zhí)行成功,則 數(shù)據(jù)采集模塊向所述的網(wǎng)絡(luò)稅控器進行簽退。下面結(jié)合具體的實施例對所采用的具體采集數(shù)據(jù)方法作進一步說明。 實施例一如圖5所示,當網(wǎng)絡(luò)稅控系統(tǒng)所處理的管理信息系統(tǒng)的商業(yè)收款機使用DOS操作系統(tǒng) 時,從DOS操作系統(tǒng)的商業(yè)收款機中采集稅控用的源數(shù)據(jù)時,該方法具體的采集步驟包括-步驟A1,通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊替換該收款機使用的DOS操作系統(tǒng)中 調(diào)用的子功能中斷;步驟A2,監(jiān)控商業(yè)收款機利用所述的子功能中斷打開、關(guān)閉、讀、寫串口時,則利用 替換的子功能中斷截獲打印輸出的銷售票據(jù)數(shù)據(jù);步驟A3,將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的 網(wǎng)絡(luò)稅控器;步驟A4,數(shù)據(jù)輸出是否結(jié)束,若是則結(jié)束本次采集;若否,則執(zhí)行步驟A2; 步驟A5,結(jié)束本次數(shù)據(jù)采集。在DOS操作系統(tǒng)中,可以利用修改中斷向量來實現(xiàn)對POS機終端上打印的銷售票據(jù)數(shù)據(jù) 的截獲。具體方法如圖6所示替換DOS系統(tǒng)調(diào)用(INT 21H)的部分子功能中斷;需要替換 的子功能包括打開文件中斷、創(chuàng)建文件中斷、關(guān)閉文件中斷、讀文件中斷、寫文件中斷 和時鐘中斷。當POS機終端上的應(yīng)用程序利用這些中斷來打開、關(guān)閉、讀、寫串口時,可以
得到打印數(shù)據(jù);而時鐘中斷則保證了定時巡檢功能的實現(xiàn)。例如當需要打印數(shù)據(jù)時,會 調(diào)用寫文件中斷(處理過程中將需要寫數(shù)據(jù)的緩沖區(qū)地址和長度提交給"寫文件中 斷");當數(shù)據(jù)采集模塊替換原有(寫文件)中斷后,則可以獲取通過寫文件中斷輸出的 打印數(shù)據(jù)。如圖7所示,將所述的數(shù)據(jù)采集模塊加載到所述DOS操作系統(tǒng)的啟動文件中,實現(xiàn)該數(shù) 據(jù)采集模塊在所述的DOS操作系統(tǒng)啟動時自啟動。為保證數(shù)據(jù)采集模塊的安全性,數(shù)據(jù)采集 模塊啟動過程中,要進行安全簽到處理,具體流程如下其中,步驟A31,數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行簽到;步驟A32,判斷簽到是否成功?步驟A33,若步驟A32中簽到成功,則數(shù)據(jù)采集模塊配置監(jiān)控串口參數(shù),設(shè)置定時巡檢 時間間隔;步驟A34,駐留創(chuàng)建、打開、讀、寫、關(guān)閉文件和時鐘中斷處理程序; 步驟A35,判斷上述程序是否全部駐留成功?步驟A36,若步驟A35中上述程序全部駐留成功,則數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行簽退。若步驟A35中上述程序未全部駐留成功,則執(zhí)行步驟A37,鎖定計算機,保證了采集數(shù) 據(jù)的安全,不會使數(shù)據(jù)采集模塊補被旁路掉等。下面實際采集數(shù)據(jù)過程中的各方法流程圖,對該方法的具體實現(xiàn)進行詳細說明。 上述的數(shù)據(jù)采集模塊在D0S系統(tǒng)下的體系結(jié)構(gòu)如圖8的結(jié)構(gòu)框圖所示,該模塊分TSR應(yīng) 用層和TSR通訊協(xié)議層兩個主要部分。其中TSR通訊協(xié)議層主要負責實現(xiàn)和《串口通訊協(xié) 議》中所規(guī)定相符合的通訊機制;而TSR應(yīng)用層會替換DOS系統(tǒng)服務(wù)中相應(yīng)的中斷服務(wù)函 數(shù),并在其他應(yīng)用程序調(diào)用系統(tǒng)中斷時截獲和串口的有關(guān)通訊數(shù)據(jù),并將其轉(zhuǎn)發(fā)至網(wǎng)絡(luò)稅 控器。如圖9所示,其中,在TSR串口通訊協(xié)議層中自底向上又分為鏈路層、單包運輸層、 單包通訊層和應(yīng)用層四個層次。鏈路層主要由兩個函數(shù)組成ReadChar (讀字符)和WriteChar (寫字符)。通過該層 可以向指定的串口讀或者寫一個字符。ReadChar和WriteChar實現(xiàn)流程如圖lO、圖11所示,其中,ReadChar實現(xiàn)流程如下,見圖IO,其中,步驟A91,首先判斷對應(yīng)串口的LSR中輸入緩沖是否為空;步驟A92,若否,則執(zhí)行步驟A94讀取輸入緩沖中的字符; 步驟A91的結(jié)果若為是,則進一步判斷等待時間是否大于l秒; 步驟A93,若是則準備返回超時錯誤,進而結(jié)束讀字符處理。 其中,WriteChar的實現(xiàn)流程如圖ll所示,其中,步驟A101,首先判斷對應(yīng)串口的LSR中輸入緩沖是否為空; 步驟A102,若否,則執(zhí)行步驟A104讀取輸入緩沖中的字符; 步驟A101的結(jié)果若為是,則進一步判斷等待時間是否大于l秒; 步驟A103,若是則準備返回超時錯誤,進而結(jié)束讀字符處理。所述的單包運輸層主要由兩個函數(shù)組成ReadAPackage (讀包函數(shù))和 WriteAPackage (寫包函數(shù))。通過該層可以向指定的串口讀或者寫多個字符。 ReadAPackage和Wri teAPackage的實現(xiàn)流程如圖12 、圖13所示,其中,ReadAPackage實現(xiàn)流程如圖ll所示,WriteAPackage實現(xiàn)流程如圖12所示,所 述的兩個函數(shù)可讀寫多個字符,其具體讀寫的內(nèi)容和長度由具體使用的通信協(xié)議規(guī)定。所述的單包通訊層的實現(xiàn)函數(shù)為LaunchAColloquy。通過該層可以通過指定的串口 和網(wǎng)絡(luò)稅控器發(fā)起一次會話;會話的流程即為最大限度的保證通信協(xié)議中所規(guī)定的一問 一答機制的正確執(zhí)行。對于采集模塊向網(wǎng)絡(luò)稅控器發(fā)送一個命令后,該層會對超時;(2) 網(wǎng)絡(luò)稅控器沒有正確收到采集模塊發(fā)送的包;(3)采集模塊沒有正確收到網(wǎng)絡(luò)稅控器發(fā)送的 包;(4)網(wǎng)絡(luò)稅控器發(fā)送的WT命令,這幾種情況進行自動處理。處理的方法包括通信協(xié)議中 所規(guī)定的"三次重發(fā)機制"和"連續(xù)發(fā)送三次0X01包機制"。所以,對于使用該層的用戶 而言,它們需要關(guān)心命令發(fā)起后的最終通信結(jié)果是成功還是失敗,而不用考慮具體的通信 錯誤問題。所述函數(shù)會告訴調(diào)用者會話執(zhí)行的結(jié)果通信成功或失敗。這個執(zhí)行的結(jié)果僅僅表示 的是通訊層面上的執(zhí)行結(jié)果,而不是具體的業(yè)務(wù)操作的執(zhí)行結(jié)果。如果會話執(zhí)行成功,則 調(diào)用者可以使用全局的輸出緩沖器來讀取具體的業(yè)務(wù)操作執(zhí)行過的數(shù)據(jù)結(jié)果;如果會話執(zhí) 行失敗,則說明此時通信徹底中斷。其具體實現(xiàn)流程如圖13所示。通過所述的應(yīng)用層可以執(zhí)行簽到、簽退、定時巡檢、傳送監(jiān)管數(shù)據(jù)、請求應(yīng)答數(shù)據(jù) 這五條命令。實現(xiàn)流程如圖14、圖15、圖16、圖17、圖18所示,其中,簽到實現(xiàn)流程如圖14所示,它實現(xiàn)了數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行簽到的處 理過程。其中,定時巡檢實現(xiàn)流程如圖15所示,它實現(xiàn)了數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器定時巡檢 的處理過程。
其中,簽退實現(xiàn)流程如圖16所示,它實現(xiàn)了數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行簽退的處 理過程。其中,傳送監(jiān)控數(shù)據(jù)實現(xiàn)流程如圖17所示,它實現(xiàn)了數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行 傳送監(jiān)控數(shù)據(jù)的處理過程。其中,請求應(yīng)答實現(xiàn)流程如圖18所示,它實現(xiàn)了數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行請求 應(yīng)答的處理過程。TSR應(yīng)用層主要由打開、關(guān)閉、創(chuàng)建、讀、寫文件和時鐘中斷這五個子程序構(gòu)成, 其實現(xiàn)流程如圖19、圖20、圖21、圖22、圖23所示,其中,打開/創(chuàng)建文件中斷實現(xiàn)流程如圖19所示,它示出了打開/創(chuàng)建文件中斷的具體 處理流程。其中,關(guān)閉文件中斷實現(xiàn)流程如圖19所示,它示出了關(guān)閉文件中斷的具體處理流程。 其中,寫文件中斷實現(xiàn)流程如圖19所示,它示出了寫文件中斷的具體處理流程。 其中,讀文件中斷實現(xiàn)流程如圖19所示,它示出了讀文件中斷的具體處理流程。 其中,時鐘中斷實現(xiàn)流程如圖19所示,它示出了時鐘中斷的具體處理流程。 綜上所述的DOS系統(tǒng)的商業(yè)收款機中數(shù)據(jù)采集過程中的各種處理,實現(xiàn)將DOS系統(tǒng)輸出 的打印數(shù)據(jù)截獲,并將該數(shù)據(jù)傳送給網(wǎng)絡(luò)稅控器作為稅控處理用的源數(shù)據(jù),且采集數(shù)據(jù)用 的數(shù)據(jù)采集模塊在網(wǎng)絡(luò)稅控器中進行簽到及定時巡檢處理等操作,保證了采集的安全性, 進一步保證了DOS系統(tǒng)中以票控稅的準確性。 實施例二如圖24所示,本發(fā)明實施例提供的一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,當所 采集數(shù)據(jù)的商業(yè)管理信息系統(tǒng)的商業(yè)收款機使用Windows操作系統(tǒng)時,具體的采集過程包括 下述步驟步驟B1,通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊加載到該收款機使用的Windows操作 系統(tǒng)的系統(tǒng)進程中;步驟B2,監(jiān)控該Windows操作系統(tǒng)的打印輸出,利用加載到系統(tǒng)進程中的數(shù)據(jù)采集模塊 截獲打印輸出的銷售票據(jù)數(shù)據(jù);步驟B3,將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的 網(wǎng)絡(luò)稅控器;步驟B4,數(shù)據(jù)輸出是否結(jié)束,若是則結(jié)束本次采集;若否,則執(zhí)行步驟B2; 步驟B5,結(jié)束本次數(shù)據(jù)采集。
具體實施時是在Windows系統(tǒng)的商業(yè)收款機工作時實現(xiàn)獲取稅控數(shù)據(jù)源。 Windows系統(tǒng)下數(shù)據(jù)采集模塊具體實現(xiàn)通過設(shè)計原理、及將該數(shù)據(jù)采集模塊通過DLL (動態(tài)鏈接庫)注入Windows的系統(tǒng)進程的方法、截獲Windows關(guān)于字符繪制的API函數(shù)實現(xiàn) 方法以及Window串口通信實現(xiàn)四部分進行詳細說明。 (1)設(shè)計原理在Windows操作系統(tǒng)中,字符繪制的API函數(shù)是TextOut、 ExtTextOut、 DrawText DrawTextExt,實現(xiàn)獲取打印數(shù)據(jù)的關(guān)鍵是利用HOOK (鉤子)技術(shù),截獲對這些函數(shù)的調(diào) 用,得到程序發(fā)給它們的參數(shù)。可以將打印監(jiān)控程序生成DLL,利用DLL注入系統(tǒng)進程監(jiān)控 打印數(shù)據(jù),實現(xiàn)對POS機終端上銷售打印數(shù)據(jù)的截獲。首先,需要在WINDOWS系統(tǒng)的注冊表中加入啟動程序,該程序啟動DLL注入系統(tǒng)進程 模塊后會先向稅控器簽到,然后運行打印數(shù)據(jù)監(jiān)控模塊后退出。具體實現(xiàn)流程如圖25所示,其中,步驟B31,數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行簽到; 步驟B32,判斷簽到是否成功?步驟B33,若步驟B32中簽到成功,則數(shù)據(jù)采集模塊配置監(jiān)控串口參數(shù),設(shè)置定時巡檢 時間間隔;步驟B34,運行打印數(shù)據(jù)監(jiān)控模塊,對商業(yè)收款機的打印輸出進行監(jiān)控; 步驟B35,判斷上述程序是否全部執(zhí)行成功?步驟B36,若步驟B35中上述程序全部執(zhí)行成功,則數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器進行簽退。若步驟B35中上述程序未全部執(zhí)行成功,則執(zhí)行步驟B37,鎖定計算機,保證了采集 數(shù)據(jù)的安全,不會使數(shù)據(jù)采集模塊被旁路掉等。(2)DLL注入系統(tǒng)進程把上述的數(shù)據(jù)采集模塊加載到系統(tǒng)進程dll中,比如Explorer.exe進程中。注入時可 先調(diào)用OpenProcess來打開目標系統(tǒng)進程,然后用VirtualAllocEx在目標系統(tǒng)進程中分配一 塊兒內(nèi)存,再用WriteProcessMemory向該內(nèi)存中寫入要注入的dll的路徑和名稱,然后利用 CreateRemoteThread在目標系統(tǒng)進程中創(chuàng)建一個線程,這個線程執(zhí)行LoadLibrary,并以剛 才分配的內(nèi)存中的dll的路徑和名稱為參數(shù)。這樣就使dll載入了目標進程的地址空間。(3)截獲Windows關(guān)于字符繪制的API函數(shù)
在Windows操作系統(tǒng)中,字符繪制的API函數(shù)是TextOut、 ExtTextOut、 DrawText DrawTextExt,當需要打印數(shù)據(jù)時,商業(yè)收款機所用的Windows系統(tǒng)會調(diào)用所述的API函數(shù)(其中一個或多個函數(shù)),當數(shù)據(jù)采集模塊替換原有API函數(shù)后,則可以截獲對這些函數(shù)的 調(diào)用,主要是利用H00K (鉤子)技術(shù),獲取發(fā)給調(diào)用的API函數(shù)的參數(shù),函數(shù)的參數(shù)包括要 打印的數(shù)據(jù),達到獲取打印數(shù)據(jù)的目的。其具體實現(xiàn)流程如圖26所示。(4) Windows串口通信實現(xiàn)在Windows系統(tǒng)下,可以使用兩種方式實現(xiàn)串口通信,其一是調(diào)用的Windows的API函 數(shù),其二是使用ActiveX控件。使用API函數(shù)調(diào)用,可以清楚地掌握串口通信的機制,熟悉 各種配置和自由靈活采用不同的流控進行串口通信。在稅控系統(tǒng)中,數(shù)據(jù)采集模塊與網(wǎng)絡(luò) 稅控器間的串口通信采用Windows系統(tǒng)的API函數(shù)來實現(xiàn),具體實現(xiàn)流程如圖27所示。Windows操作系統(tǒng)下數(shù)據(jù)采集模塊與網(wǎng)絡(luò)稅控器的之間的串口通訊主要有以下五個模 塊完成,即串口初始化、開機簽到、定時巡檢、監(jiān)控數(shù)據(jù)發(fā)送與接收、簽退。其具體的實 現(xiàn)流程如圖28 圖36所示,其中,串口初始化實現(xiàn)流程如圖28所示,它在Windows系統(tǒng)開機時實現(xiàn)串口的初始化 工作,如創(chuàng)建串口名柄、參數(shù)配置和通訊超時設(shè)置等。其中,開機簽到的實現(xiàn)流程如圖29所示,它實現(xiàn)了稅控數(shù)據(jù)采集模塊向網(wǎng)絡(luò)稅控器發(fā) 送簽到命令,通知網(wǎng)絡(luò)稅控器數(shù)據(jù)采集模塊已開始工作,并獲取模塊的相關(guān)配置參數(shù)。其中,定時巡檢實現(xiàn)流程如圖30所示,它實現(xiàn)了稅控數(shù)據(jù)采集模塊定時向網(wǎng)絡(luò)稅控器 簽到,以示采集模塊工作是否正常,并獲取模塊的相關(guān)配置參數(shù)。其中,傳送監(jiān)控數(shù)據(jù)-總流程如圖31所示,它實現(xiàn)了稅控數(shù)據(jù)采集模塊將所監(jiān)控到的 數(shù)據(jù)發(fā)送網(wǎng)絡(luò)稅控器,并接收稅控器返回的監(jiān)控數(shù)據(jù)。其中,傳送監(jiān)控數(shù)據(jù)-單包發(fā)送流程如圖32所示,它實現(xiàn)了稅控數(shù)據(jù)采集模塊將所監(jiān) 控獲得的數(shù)據(jù)以單包的形式發(fā)送到網(wǎng)絡(luò)稅控器時的處理流程。其中,傳送監(jiān)控數(shù)據(jù)-單包接收流程如圖33所示,它實現(xiàn)了稅控數(shù)據(jù)采集模塊將所監(jiān) 控的數(shù)據(jù)以單包的形式接收時的處理流程。其中,傳送監(jiān)控數(shù)據(jù)-多包發(fā)送流程如圖34所示,它實現(xiàn)了稅控數(shù)據(jù)采集模塊將所監(jiān)控獲得的數(shù)據(jù)以多包的形式發(fā)送到網(wǎng)絡(luò)稅控器時的處理流程。其中,傳送監(jiān)控數(shù)據(jù)-多包接收/請求應(yīng)答流程如圖35所示,它實現(xiàn)了稅控數(shù)據(jù)采集模 塊將所監(jiān)控的數(shù)據(jù)以單包的形式接收/請求應(yīng)答時的處理流程。
其中,簽退實現(xiàn)流程如圖36所示,數(shù)據(jù)采集模塊在網(wǎng)絡(luò)稅控器中進行簽退處理。 綜上所述的沐indows系統(tǒng)的商業(yè)收款機中數(shù)據(jù)采集過程中的各種處理,實現(xiàn)將Windows 系統(tǒng)輸出的打印數(shù)據(jù)截獲,并將該數(shù)據(jù)傳送給網(wǎng)絡(luò)稅控器作為稅控處理用的源數(shù)據(jù),且將 采集數(shù)據(jù)用的數(shù)據(jù)采集模塊加載到Windows系統(tǒng)的系統(tǒng)進程中,及進行數(shù)據(jù)采集模塊在網(wǎng)絡(luò) 稅控器中進行簽到及定時巡檢處理等操作,保證了采集過程的安全性,進一步保證了對使 用Windows系統(tǒng)的商業(yè)收款機的以票控稅的準確性。 實施例三如圖37所示,本發(fā)明實施例提供的一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,當商 業(yè)管理信息系統(tǒng)的商業(yè)收款機使用Linux操作系統(tǒng)時,針對該商業(yè)管理信息系統(tǒng)的網(wǎng)絡(luò)稅控 系統(tǒng)進行稅控用的源數(shù)據(jù)采集時,由于在Linux系統(tǒng)中,用戶進程是通過設(shè)備文件同硬件打 交道,其中對設(shè)備文件的操作方式是通過系統(tǒng)調(diào)用來實現(xiàn)的,即Linux系統(tǒng)設(shè)備驅(qū)動原理是 用戶進程在用戶級通過系統(tǒng)調(diào)用訪問核心級的設(shè)備驅(qū)動程序來實現(xiàn)其硬件功能,因此采集 數(shù)據(jù)的具體步驟包括步驟C1,通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊修改或替換該收款機使用的Lirmx操 作系統(tǒng)中打印設(shè)備驅(qū)動程序;步驟C2,當商業(yè)收款機的Linux系統(tǒng)打印輸出時,利用修改或替換打印設(shè)備驅(qū)動程序來 截獲打印輸出的銷售票據(jù)數(shù)據(jù);步驟C3,并將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接 的網(wǎng)絡(luò)稅控器。步驟C4,數(shù)據(jù)輸出是否結(jié)束,若是則結(jié)束本次采集;若否,則執(zhí)行步驟C2; 步驟C5,結(jié)束本次數(shù)據(jù)采集。如上述,Limix系統(tǒng)中采集銷售票據(jù)數(shù)據(jù)的方法具體是通過修改或替換打印設(shè)備驅(qū)動 程序如xxx—open() 、 xxx—read() 、 xxx一write()、 xxx」oct1()、 xxx_close()等函數(shù)來實 現(xiàn),因打印驅(qū)動程序不同,其函數(shù)名也不同, 一般來說為了與系統(tǒng)函數(shù)如open()對應(yīng),則 可以將XXX定義為容易識別的字母或文字,如file—叩en()等,對于所截獲的銷售票據(jù)數(shù) 據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器可采用如下兩種方式第一種方式,如圖38所示,首先在Linux系統(tǒng)核心級的打印設(shè)備驅(qū)動程序中截取打印輸 出的銷售票據(jù)數(shù)據(jù),并同時與網(wǎng)絡(luò)稅控器通信,獲取稅控數(shù)據(jù),即在核心級獲取稅控處理 用的源數(shù)據(jù),實現(xiàn)對截取的銷售票據(jù)數(shù)據(jù)進行控制,第二種方式,如圖39所示,首先在Linux核心級的打印設(shè)備驅(qū)動程序中截取打印輸出的
銷售票據(jù)數(shù)據(jù),然后再把所述的銷售票據(jù)數(shù)據(jù)拷貝到用戶級,由用戶程序同網(wǎng)絡(luò)稅控器通 信,獲取稅控數(shù)據(jù),再將其稅控數(shù)據(jù)拷貝到核心級的打印設(shè)備驅(qū)動程序來實現(xiàn)對票據(jù)的控 制。綜上所述,本發(fā)明實施例中采用截獲進行稅控處理的管理信息系統(tǒng)中的商業(yè)收款機輸 出的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù),實現(xiàn)了網(wǎng)絡(luò)稅控系統(tǒng)以票控稅的準確性。以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任 何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都 應(yīng)涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的保護范圍為 準。
權(quán)利要求
1、一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,其特征在于,包括通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊截獲商業(yè)收款機輸出的銷售票據(jù)數(shù)據(jù),將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器。
2、 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述的截獲商業(yè)收款機輸出的銷售票據(jù) 數(shù)據(jù)包括數(shù)據(jù)采集模塊采用截獲商業(yè)收款機輸出至屏幕進行顯示的銷售明細數(shù)據(jù)或打印 輸出隊列中銷售票據(jù)的打印數(shù)據(jù)。
3、 根據(jù)權(quán)利要求2所述的方法,其特征在于,所述的截獲商業(yè)收款機輸出的打印輸出 隊列中銷售票據(jù)的打印數(shù)據(jù)包括監(jiān)控商業(yè)收款機的打印端口,當該商業(yè)收款機利用打印端口進行打印輸出時,則獲取 輸出的打印數(shù)據(jù)包。
4、 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述的通過在商業(yè)收款機中設(shè)置的數(shù)據(jù) 采集模塊截獲商業(yè)收款機輸出的銷售票據(jù)數(shù)據(jù)進一步包括-數(shù)據(jù)采集模塊向與該采集模塊所在的商業(yè)收款機連接的網(wǎng)絡(luò)稅控器進行簽到; 若簽到成功,則該數(shù)據(jù)采集模塊監(jiān)控所在的商業(yè)收款機的輸出銷售票據(jù)數(shù)據(jù)的操作, 并設(shè)定定時巡檢的時間間隔;若商業(yè)收款機進行輸出銷售票據(jù)數(shù)據(jù)的操作,則數(shù)據(jù)采集模塊截獲輸出的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給所述的網(wǎng)絡(luò)稅控器;并以設(shè)定的時間間隔定時向網(wǎng)絡(luò)稅控器簽到進行定時巡檢。
5、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法進一步包括 驗證上述數(shù)據(jù)采集模塊的簽到、監(jiān)控、定時巡檢步驟是否全部執(zhí)行成功,若未全部執(zhí)行成功,則數(shù)據(jù)采集模塊鎖定所在的商業(yè)收款機。
6、 根據(jù)權(quán)利要求4所述的方法,其特征在于,所述方法進一步包括驗證上述數(shù)據(jù)采集模塊的簽到、監(jiān)控、定時巡檢步驟是否全部執(zhí)行成功,若全部執(zhí)行 成功,則數(shù)據(jù)采集模塊向所述的網(wǎng)絡(luò)稅控器進行簽退。
7、 一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,其特征在于,包括 通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊替換該收款機使用的DOS操作系統(tǒng)中調(diào)用的子功能中斷;監(jiān)控商業(yè)收款機利用所述的子功能中斷打開、關(guān)閉、讀、寫串口時,則利用替換的子 功能中斷截獲打印輸出的銷售票據(jù)數(shù)據(jù);將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器。
8、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述的替換的子功能中斷包括打開文 件中斷、創(chuàng)建文件中斷、關(guān)閉文件中斷、讀文件中斷、寫文件中斷和時鐘中斷。
9、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述的數(shù)據(jù)采集模塊加載到所述DOS操作 系統(tǒng)的啟動文件中,實現(xiàn)該數(shù)據(jù)采集模塊在所述的DOS操作系統(tǒng)啟動時自啟動。
10、 根據(jù)權(quán)利要求7所述的方法,其特征在于,所述的方法還包括 數(shù)據(jù)采集模塊向與該模塊所在的商業(yè)收款機連接的網(wǎng)絡(luò)稅控器簽到; 若成功,則監(jiān)控串口,并進行定時巡檢; 駐留替換后的各子功能中斷;上述各子功能中斷若全部駐留成功,則向網(wǎng)絡(luò)稅控器簽退; 若未全部駐留成功則鎖定數(shù)據(jù)采集模塊所在的商業(yè)收款機。
11、 一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,其特征在于,包括 通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊加載到該收款機使用的Windows操作系統(tǒng)的系統(tǒng)進程中;監(jiān)控該Windows操作系統(tǒng)的打印輸出,利用加載到系統(tǒng)進程中的數(shù)據(jù)采集模塊截獲打印 輸出的銷售票據(jù)數(shù)據(jù);將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器。
12、根據(jù)權(quán)利要求ll所述的方法,其特征在于,所述的截獲該打印數(shù)據(jù)包括字符繪 制的應(yīng)用程序接口函數(shù)的調(diào)用,并利用Windows操作系統(tǒng)的鉤子函數(shù)得到發(fā)給所述接口函數(shù) 的參數(shù)來獲取打印數(shù)據(jù)。
13、 根據(jù)權(quán)利要求ll所述的方法,其特征在于,所述的的數(shù)據(jù)采集模塊加入到該 Windows操作系統(tǒng)的啟動項,實現(xiàn)該數(shù)據(jù)采集模塊在所述的Windows操作系統(tǒng)啟動時自啟 動。
14、 根據(jù)權(quán)利要求ll所述的方法,其特征在于,所述的數(shù)據(jù)采集模塊加入到該Windows 操作系統(tǒng)的啟動項包括在該Windows操作系統(tǒng)的注冊表文件中加入啟動項。
15、 根據(jù)權(quán)利要求ll所述的方法,其特征在于,所述的方法還包括 數(shù)據(jù)采集模塊向與該模塊所在的商業(yè)收款機連接的網(wǎng)絡(luò)稅控器簽到;若成功,則監(jiān)控串口,并進行定時巡檢; 運行打印數(shù)據(jù)監(jiān)控模塊;上述各部分若全部執(zhí)行成功,則向網(wǎng)絡(luò)稅控器簽退; 若未全部執(zhí)行成功則鎖定數(shù)據(jù)采集模塊所在的商業(yè)收款機。
16、 一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法,其特征在于,包括 通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊修改或替換該收款機使用的Linux操作系統(tǒng)中打印設(shè)備驅(qū)動程序;監(jiān)控該Linux系統(tǒng)的打印輸出,利用修改或替換的打印設(shè)備驅(qū)動程序截獲打印的銷售 票據(jù)數(shù)據(jù),并將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的 網(wǎng)絡(luò)稅控器。
17、 根據(jù)權(quán)利要求16所述的方法,其特征在于,所述的將截獲的銷售票據(jù)數(shù)據(jù)作為稅 控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器包括直接傳送給網(wǎng)絡(luò)稅控器或 經(jīng)用戶程序傳送給網(wǎng)絡(luò)稅控器。
全文摘要
本發(fā)明公開了一種網(wǎng)絡(luò)稅控系統(tǒng)采集銷售票據(jù)數(shù)據(jù)的方法。該方法用于網(wǎng)絡(luò)稅控系統(tǒng)從所管理的商業(yè)管理信息系統(tǒng)的商業(yè)收款機中采集稅控用的源數(shù)據(jù),包括通過在商業(yè)收款機中設(shè)置的數(shù)據(jù)采集模塊截獲商業(yè)收款機輸出的銷售票據(jù)數(shù)據(jù),將截獲的銷售票據(jù)數(shù)據(jù)作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機連接的網(wǎng)絡(luò)稅控器。本發(fā)明實施例的方法通過截獲商業(yè)管理信息系統(tǒng)的商業(yè)收款機中輸出的銷售票據(jù)數(shù)據(jù),作為稅控處理用的源數(shù)據(jù)傳送給與商業(yè)收款機相連的網(wǎng)絡(luò)稅控器。這種方法保證了作為稅控處理的源數(shù)據(jù)的準確性,同時可以保證數(shù)據(jù)采集的安全性,不會因使用者采取其它技術(shù)手段,禁止數(shù)據(jù)采集模塊的工作或插入虛假數(shù)據(jù)影響稅控結(jié)果的準確性。
文檔編號G07G1/14GK101159085SQ20071012162
公開日2008年4月9日 申請日期2007年9月11日 優(yōu)先權(quán)日2007年9月11日
發(fā)明者于書舉, 侍偉敏, 磊 張, 張建標, 慕安臻, 杜小軍, 杜永萍, 沈昌祥, 牛振勇, 田國文, 葛尊敏, 許向眾, 翔 郭, 寧 馬 申請人:中商流通生產(chǎn)力促進中心有限公司;北京工業(yè)大學(xué);青島海信智能商用設(shè)備有限公司;北京雅普蘭科技發(fā)展有限公司;廣東億業(yè)科技有限公司