一種網絡化共享稅控收款機的開票方法
【技術領域】
[0001]本發(fā)明涉及稅控技術領域,特別涉及一種網絡化共享稅控收款機的開票方法。
【背景技術】
[0002]隨著稅控信息化的發(fā)展,越來對多的場所需要加入稅控收款機這類專業(yè)稅務設備來完成企業(yè)銷售額和稅務信息的統(tǒng)計任務。在一些大型商場,常會有多樓層多商品區(qū),若為了開具發(fā)票在每個區(qū)都放置一臺開票機是比較耗費成本的。而且多點布置開票機也不利于最后的稅務抄報工作,操作者需要將自己機器上的數(shù)據(jù)進行匯總導出,然后到總機上進行重匯總。網絡化和共享打印發(fā)票是解決這種應用難題的有效方式。
[0003]在業(yè)務量巨大的加油站上,開發(fā)票的效率成為最重要的因素,當加油機掛槍加油完畢后,這筆加油流水會馬上傳到加油站的管控系統(tǒng)。當有很多車來加油時,就會要求出發(fā)票速度快速并正確。將稅控收款機開啟網絡服務后,各個加油機掛槍后的流水就會直接通過網絡連接傳送到開票機上。并以一定的隊列管理各筆流水進行開票處理。同時開具發(fā)票的優(yōu)選機制也是需要考慮到的一個重要問題。即緩存中排在后面一個加油的客戶想要優(yōu)先索取發(fā)票。
[0004]綜上所述,為了減少多點布置開票機具,簡化月底的抄報匯總過程,便與進行集中式的數(shù)據(jù)管理。開發(fā)稅控收款機的網絡化、共享開票、集中稅務數(shù)據(jù)管理非常有必要。
[0005]因此,如何將上述現(xiàn)有技術加以解決,而研究一種網絡化共享稅控收款機的開票方法,即為本領域技術人員的研究方向所在。
【發(fā)明內容】
[0006]本發(fā)明的主要目的是提供一種網絡化共享稅控收款機的開票方法,通過將稅控收款機連接上網絡并作為server服務器端,接收多個連接端的開票業(yè)務請求,開啟多個線程處理數(shù)據(jù),并將接收到的開票數(shù)據(jù)進行排隊和優(yōu)先級管理存入設計的緩存數(shù)據(jù)結構中,最后實現(xiàn)自動開具或手動調整優(yōu)選開具發(fā)票的效果。
[0007]為了達到上述目的,本發(fā)明提供一種網絡化共享稅控收款機的開票方法,其包括如下步驟:
[0008]將稅控收款機連接上網絡并開啟網絡socket服務;
[0009]接收多個連接端的開票業(yè)務請求,開啟多個線程處理數(shù)據(jù);
[0010]將接收到的開票數(shù)據(jù)進行排隊和優(yōu)先級管理存入設計的數(shù)據(jù)緩存結構中。
[0011]其中,在將稅控收款機連接上網絡并開啟網絡socket服務步驟中,網絡socket服務利用了 Iinux的socket套接字編程方法。
[0012]其中,將稅控收款機連接上網絡并開啟網絡socket服務步驟包括如下子步驟:
[0013]利用socket ()方法創(chuàng)建一個S0CK_STREAM形式的socket文件標識符server_SOCkfd,并設置其屬性為非阻塞;
[0014]利用bind ()方法將其綁定在收款機的IP和某一個端口上;
[0015]采用listen ()方法開啟在server_sockfd服務套接字上的循環(huán)監(jiān)聽任務,等待接收連接。
[0016]其中,在將接收到的開票數(shù)據(jù)進行排隊和優(yōu)先級管理存入設計的數(shù)據(jù)緩存結構中的步驟中,數(shù)據(jù)緩存排隊優(yōu)選機制采用雙線程運行,先進后出的數(shù)據(jù)結構。
[0017]其中,該數(shù)據(jù)結構包含讀寫指針,邊界指針,計數(shù)器,且支持多線程讀寫操作。
[0018]其中,將接收到的開票數(shù)據(jù)進行排隊和優(yōu)先級管理存入設計的數(shù)據(jù)緩存結構中包括如下子步驟:
[0019]初始化一段可存儲100條發(fā)票數(shù)據(jù)的緩存區(qū),各指針指向緩存區(qū)起始地址;
[0020]線程I負責存儲數(shù)據(jù),每接收一條新發(fā)票數(shù)據(jù),則讀取寫指針,將發(fā)票數(shù)據(jù)寫入寫指針指向的存儲區(qū),寫指針指向下一個待寫入存儲區(qū),若緩存已滿,則寫指針重新指向緩存起始地址,未來發(fā)票數(shù)據(jù)將依次覆蓋最早存儲的數(shù)據(jù);
[0021]線程2負責屏幕顯示和打印發(fā)票數(shù)據(jù),每當有新數(shù)據(jù)存入緩存,該線程即從讀指針處讀取最新的10條數(shù)據(jù),放入顯示的緩沖區(qū),并對比標記已開過發(fā)票的數(shù)據(jù);
[0022]用戶根據(jù)需要,選擇屏幕顯示的10條數(shù)據(jù)里任一條,即進入發(fā)票開具界面;
[0023]若稅控收款機掉電,則緩存區(qū)數(shù)據(jù)自動存入掉電保護文件內,等下次啟機時,再恢復存入緩存區(qū)。
[0024]與現(xiàn)有技術相比,本發(fā)明的有益效果在于:本發(fā)明通過將稅控收款機作為網絡TCP/IP的server服務器,可以同時接收多個來自其他操作端的聯(lián)動開票信息數(shù)據(jù),在收款機內接收到的數(shù)據(jù)以緩沖FIFO的方式進行排隊開票處理。采用這種方式可以解決酒店、商超、加油站等場所的聯(lián)網開票要求,省去了人力成本,提高工作效率。
【附圖說明】
[0025]圖1為本發(fā)明一個實施例的一種網絡化共享稅控收款機的開票方法流程圖;
[0026]圖2為本發(fā)明一個實施例的一種網絡化共享稅控收款機的開票方法的控收款機開啟網絡socket服務流程圖;
[0027]圖3為本發(fā)明一個實施例的一種網絡化共享稅控收款機的開票方法的接收多個終端請求并處理的流程圖;
[0028]圖4為本發(fā)明一個實施例的一種網絡化共享稅控收款機的開票方法的緩存區(qū)示意圖。
【具體實施方式】
[0029]以下結合附圖,對本發(fā)明上述的和另外的技術特征和優(yōu)點作更詳細的說明。
[0030]如圖1所示,為本發(fā)明實施例所提供的一種網絡化共享稅控收款機的開票方法流程圖,本發(fā)明的一種網絡化共享稅控收款機的開票方法包括以下步驟:
[0031]步驟S1:將稅控收款機連接上網絡并開啟網絡socket服務,開啟稅控收款機網絡socket服務利用了 Iinux的socket套接字編程方法,其流程參見圖2所示,其包括如下子步驟:
[0032]步驟Sll:利用socket ()方法創(chuàng)建一個S0CK_STREAM形式的socket文件標識符server_sockfd,并設置其屬性為非阻塞;
[0033]步驟S12:利用bind ()方法將其綁定在收款機的IP和某一個端口上;