專利名稱:一種嵌入式網絡發票處理終端的制作方法
技術領域:
本實用新型屬于計算機技術、嵌入式技術領域,具體涉及一種嵌入式網絡發票處
理終端。
背景技術:
為了更好地向廣大納稅人提供高效、優質的服務,地稅,國稅逐漸推廣網上稅票打印系統。該系統的推出,實現了納稅人足不出戶完成納稅申報、繳稅、提取付款憑證的納稅全過程,徹底解決納稅人提取繳稅憑證的麻煩。系統操作簡單方便,繳稅付款憑證采用電子印模及校驗碼認證的技術,確保真實、安全、合法。為了使用這套系統,納稅人要準備一臺計算機和打印機。利用計算機登錄到指定網頁,輸入驗證口令或者插入USB加密棒,即可登錄稅務發票系統,辦理相關業務。這個系統的推廣極大地方便了納稅用戶,但也無形中也增加納稅用戶的成本支出,因為需要購買計算機。目前嵌入式技術發展迅猛,基于ARM架構的CPU主頻由傳統的幾十Mbps已經發展到了幾Gbps。在某些領域,基于嵌入式CPU開發的產品完全可以代替PC。
實用新型內容本實用新型提供一種嵌入式網絡發票處理終端,能夠使納稅用戶方便地辦理稅務發票業務,降低業務辦理成本。為實現上述目的,本實用新型采用如下技術方案一種嵌入式網絡發票處理終端,包括電源、CPU、存儲器、顯示屏、接口系統以及軟件系統,其中存儲器、顯示屏和接口系統分別與CPU連接;所述存儲器包含Flash存儲器、RAM存儲器和SD卡存儲器,所述SD卡存儲器用于存儲發票處理的交易記錄;所述接口系統包括網絡接口和若干USB接口,所述若干USB接口中包含與發票打印機連接的接口 ;所述軟件系統存儲于存儲器內,該軟件系統采用多進程方式實現,各進程之間采用Socket通信;所述軟件系統集成嵌入式瀏覽器,該嵌入式瀏覽器包含若干通過調用API訪問本地硬件資源的插件。優選地所述CPU的主頻不小于300Mhz。優選地所述Flash存儲器的存儲空間不小于64MB,所述RAM存儲器的存儲空間不小于64MB。優選地所述顯示屏為IXD觸摸屏。所述嵌入式網絡發票處理終端還可以包括按鍵系統、用于發票驗證的二維碼識別攝像頭以及無線通信模塊等。優選地,所述插件包括身份驗證插件、安全存儲插件和打印插件,分別用于訪問USB加密棒、SD卡存儲器和發票打印機。本實用新型的嵌入式網絡發票處理終端,在納稅用戶點擊本終端指定按鍵后,系統立即進入稅務發票系統;用戶錄入口令或者插入USB加密棒,即可登錄系統,辦理相關業務。本實用新型開發的網絡發票處理終端具有成本較低、體積較輕、操作方便等優點。本實用新型的網絡發票處理終端采用Iinux操作系統時,不易受到病毒的攻擊,能夠有效地保障用戶的數據安全。
圖1為實施例中嵌入式網絡發票處理終端的硬件框圖。圖2為圖1中嵌入式網絡發票處理終端的外觀示意圖。圖3為實施例中嵌入式網絡發票處理終端的軟件系統采用多進程方式實現的示意圖。圖4為實施例中嵌入式網絡發票處理終端的軟件系統狀態切換示意圖。圖5為實施例中嵌入式瀏覽器的應用層通過插件調用本地資源的架構圖。圖6為實施例中嵌入式網絡發票處理終端的使用場景示意圖。圖7為具體應用實例中嵌入式網絡發票處理終端的硬件框圖。圖8為具體應用實例中嵌入式網絡發票處理終端的軟件系統主進程流程框圖。圖9為具體應用實例中發票開具網頁的示意圖。
具體實施方式
下面通過具體實施例并配合附圖,對本實用新型做詳細的說明。圖1為本實施例的嵌入式網絡發票處理終端的硬件實現框圖,主要包括電源、CPU最小系統、LCD觸摸屏和接口系統以及存儲器等幾部分;另外還可包括無線模塊,用于實現無線通信;還可以包括用于發票驗證使用的二維碼識別攝像頭;還可以包括按鍵系統等。接口系統包括USB接口、網口、SD卡接口等。該嵌入式網絡發票處理終端的外觀可以做成如圖2所示的形狀,成為一種便攜裝置。該網絡發票處理終端CPU要求主頻300Mhz以上;Flash存儲器至少要求64MB,RAM存儲器至少要求64MB ;包含4個USB接口,全部為HOST。網絡發票處理終端可以通過USB接口與USB打印機連接,實現發票打印。為了滿足滿足網絡發票處理需要,本實用新型在終端硬件模塊設計選型上做了約束。上述嵌入式網絡發票處理終端優選運行在Linux系統之上,通過內嵌瀏覽器去訪問發票后臺系統,在網頁上操作,實現發票開具的數據錄入,開具發票等發票處理的交易記錄存儲于SD卡存儲器中,用于稅務對賬使用。本實用新型的一個突出特點是設計了嵌入式web瀏覽器插件,實現了數據安全和用戶認證。基于嵌入式web瀏覽器開發插件需要考慮功耗、屏幕大小、分辨率、內存、CPU處理速度等技術問題,與PC瀏覽器插件相比,具有更高的開發難度。當用戶訪問的后臺網票系統要求USB加密棒做身份認證時,網票系統的網頁代碼中內嵌如下代碼〈object classid="clsid:C153F2AA-3FlD-472C-B515_FD1230A27586"id="Datausb_FZ"data="DATA:application/x-oleobject;BASE64, qvJTwRO/LEeIFfOSMKJlhgADAADYEwAA2BMAAA==">通知瀏覽器,網頁要求使用ID為Datausb FZ的插件,該插件需要事先安裝在瀏覽器的默認目錄下,比如..//plugin。Datausb FZ插件事先封裝好操作USB加密棒的API函數,比如
Struct Datausb—FZ
{
Int USB OpenDeV ice O Int USB GetErrorCode O
Int USB—GetKeyIDO
Int USBCloseDevice
}后臺網票系統的代碼通過調用Datausb_ht. USB_GetKeyID O的方式來訪問USB加密棒的API函數。USB_GetKeyID()函數訪問USB加密棒,獲取USB加密棒的ID數據。為了保證終端響應事件的及時性,上述嵌入式網絡發票處理終端的軟件系統采用多進程方式實現,進程之間采用Socket通信,如圖3所示。進 程之間的切換遵循事先設計的狀態機,狀態機由主進程維護。終端上電成功后,事件檢測進程和主進程啟動運行。事件檢測進程檢測到事件發生時,基于事先定義的消息機制,將事件報告給主進程,主進程判斷事件后啟動事件處理進程,完成事件處理任務。為了方便管理和維護,上述嵌入式網絡發票處理終端的軟件系統分為初始狀態、待機狀態、業務狀態、拆機狀態和系統結束態共5個狀態,狀態之間的切換由主進程維護,圖4給出了狀態切換轉移示意圖。系統上電后首先進入初始狀態,然后根據事件檢測進程報告的不同觸發條件進入不同的狀態。事件檢測進程報告的觸發條件包含軟件觸發條件和硬件觸發條件。強制拆機和操作按鍵等觸發條件屬于硬件觸發條件;對于軟件運行過程中的故障條件屬于軟件觸發條件。不管是硬件事件觸發,還是軟件事件觸發,終端事件檢測進程都會監控這些事件,一旦事件發生,則通過事先定義的SOCKET通道,將觸發消息發送給主進程,主進程收到觸發條件,切換終端運行狀態。上述嵌入式網絡發票處理終端的軟件系統要求集成一款嵌入式瀏覽器,且集成的瀏覽器支持插件功能。對于網絡稅票打印業務,后臺稅務發票系統需要驗證用戶的身份,只有合法的納稅用戶才能登陸稅務發票系統,辦理打票業務。本實施例給出的身份驗證是基于USB加密棒開展的,有關其他的驗證方式(如錄入口令等)屬于現有技術,本實用新型不做闡述。利用USB加密棒進行身份驗證在Windows操作系統下,是一種常見的實現方式,但將其改進引入嵌入式操作系統,就屬于本實用新型的設計思想。圖5為上述嵌入式瀏覽器的應用層通過插件調用本地資源的代碼架構示意圖。終端通過瀏覽器訪問網頁頁面,當頁面內容需要與終端本地資源交互時,網頁頁面程序代碼自動調用瀏覽器中的對應的插件,包括身份驗證插件、安全存儲插件和打印插件等,通過這些插件調用API訪問本地的USB加密棒、SD存儲卡和打印機等硬件資源。圖6為本實施例的嵌入式網絡發票處理終端的使用場景示意圖。用戶點擊該終端上的“發票”按鍵,終端啟動程序,訪問稅務發票系統,終端瀏覽器顯示發票系統的頁面,用戶辦理業務,當需要打印時,點擊頁面打印按鍵,頁面將打印數據通過插件發送給打印機。當稅務發票系統需要驗證用戶身份時,發票系統網頁頁面通過插件自動讀取USB加密棒中的密鑰,完成與稅務發票系統的交互。上述“發票”按鍵或打印按鍵,可以物理按鍵的形式實現,也可以在嵌入式瀏覽器的界面通過設置相應的操作按鈕來實現。下面提供一個具體應用實例。該實例中,嵌入式網絡發票處理終端的硬件平臺為三星的S3C2440,FLASH空間64MB, RAM空間64MB,操作系統為Linux,圖形系統為Mini⑶I,嵌入式瀏覽器為mDolphin。終端硬件框圖如圖7所示。終端軟件應用系統共設計5個進程主進程、鍵盤處理進程、拆機檢測進程、參數設置進程、網票業務辦理進程。進程之間采用SOCKET通信機制。圖8給出了主進程流程框圖,系統開機后,首先啟動Mini⑶I進程,Mini⑶I進程的啟動由Mini⑶頂ain()進行引導,系統minigui加載后初始化窗口應用,同時監聽端口,看是否有消息發送過來,消息讀取采用阻塞方式。當監測到有消息時,系統進行解析處理。當檢測不到消息時,系統處于等待狀態。軟件系統其它子進程監測終端狀態,當發生按鍵、拆卸、故障時,子進程將對應的標示位置位,并把該參數以消息形式發送給主進程。主進程收到消息后,根據Switch (MSG)中MSG的類型,主進程切換系統工作狀態。系統的工作狀態事先在主進程初始化定義好,并賦予初始值 gld_SYSTM_STATE_FLAG=INTIAL_STATE。Staticgld_SYSTM_STATE_FLAG = enum{INITIAL_STATE, TRAFFIC_STATE, IDLE_STATE, CL0SE_STATE, BRE AKUP_STATE}下面給出一段主進程消息事件處理代碼示例switch (sRecvMsg.1MsgType)
case MESSAGE—TYPE—IDLEWAH—START: //啟動待機界而 gld—SYSTM—STATE—FLAG-1DLE—STATE;
IdleWait_Proc_Stai't (gbl_sctSet.tings. csIcllePage); break;
//主進程判定收到的消息是啟動待機界而,則將全/3變量賦值,并調相待機界而啟動函
數
case MESSAGE—TYPE—POSSHELL—OPEN://拆機處理 gld—SYSTM—STATE—FLAG= BREADUP—STATE;
Abnormity—Proc—POS—BreakUp();break;
//主進程判定收到的消息是拆機事件,則將全局變量賦值,并調用待機界面啟動拆機事件處理函數
case MESSAGE—TYPE—BANKOPERATION—START: //啟動業務辦理 glrt—SYSTM—STATE—FLAG= TRAFFIC—STATE;
Bank—Operation—ProcStart(); break;
/7主進程判定收到的消息是沿動業務界面,則將全局變量賦值,并調用業務界
而啟動函數
case MESSAGE—TYPE—ERROE: /./啟動異常辦理gld—SYS.TM—STATE—FLAG= CLOSE—STATE;
Close—Proc—Start(); break;
/./主進程判定收到的消息是系統異常,則將全局變量賦值,并調用異常處理函數
}每一個消息處理事件函數通過fork ()方式啟動I個進程,完成對應的消息事件處理。每個子進程分配I個PID值,PID為啟動子進程的編號。處理結束后,子進程報告給主進程,主進程關閉對應的子進程PID。用戶操作業務辦理按鍵,主進程收到MESSAGE_TYPE_BANKOPERATION_START消息,函數Bank_Operati0n_Pix)C_Start O運行,在該函數中調用瀏覽器進程,訪問指定網頁,顯示網頁內容,如圖9所示。用戶根據網頁要求,錄入信息,點擊“開具發票”按鍵,頁面程序調用函數bool mdolphin_invoke(NPObject *obj,const NPVariant *args, uint32_targc, NPVariant 氺result)。函數mdolphin_invoke負責將頁面要打印的內容以SOCKET的方式送達到打印機 控制進程。該函數是插件的重要組成部分。有關插件其他部分的開發工作,屬于現有技術。示例代碼如下
static bool mdolphin—invoke(NPObject *obj, NPIdentifier name, const NPVariant *args,uint32_t argc, iNFVariant *resu丄t.)
I
NPUTF8 *char method name;
char method name = NPN UTF8FromIdent ifier(name);
if (name == id_method_printersetting)
.r
NPString parani = NPVARIANT—TO—STRING(args[0]) ; //打印設置窗口 Socket—ClientSend(NAMESOCIET—PRIl\TSERVER,SOCKETMSG—PRINTER—SET, NULL, 0);
}
else if (name == id—method—printerprint) {
char csBiif [MAX_S0CKETDATA_LEN] = /開始打印 NPString data = NPVARIANT—TO—STRING(args[0]);
int nlen = snprintf (csBuf, MAX—SOCKETDATA—LEN,"%s", (char*) data, l;TF8Characters);Socket—Cl ient.Send (MMESOCKET—PRINTSERVER,S0CKETMSG—PRINTER—PRINT, csBuf, nlen);
}
}有關USB加密棒、SD擴展存儲的插件實現方式與打印插件實現方式一樣,本實用新型不再單獨描述。以上實施例僅用以說明本實用新型的技術方案而非對其進行限制,本領域的普通技術人員可以對本實用新型的技術方案進行修改或者等同替換,而不脫離本實用新型的精神和范圍,本實用新型的保護范圍應以權利要求所述為準。
權利要求1.一種嵌入式網絡發票處理終端,包括電源、CPU、存儲器、顯示屏、接口系統以及軟件系統,其中存儲器、顯示屏和接口系統分別與CPU連接;所述存儲器包含Flash存儲器、RAM存儲器和SD卡存儲器,所述SD卡存儲器用于存儲發票處理的交易記錄;所述接口系統包括網絡接口、若干USB接口和SD卡接口,所述若干USB接口中包含與發票打印機連接的接口 ;所述軟件系統存儲于存儲器內,該軟件系統采用多進程方式實現,各進程之間采用Socket通信;所述軟件系統集成嵌入式瀏覽器,該嵌入式瀏覽器包含若干通過調用API訪問本地硬件資源的插件。
2.如權利要求1所述的嵌入式網絡發票處理終端,其特征在于所述CPU的主頻不小于 300Mhz。
3.如權利要求1所述的嵌入式網絡發票處理終端,其特征在于所述Flash存儲器的存儲空間不小于64MB,所述RAM存儲器的存儲空間不小于64MB。
4.如權利要求1所述的嵌入式網絡發票處理終端,其特征在于所述顯示屏為LCD觸摸屏。
5.如權利要求1所述的嵌入式網絡發票處理終端,其特征在于還包括按鍵系統。
6.如權利要求1所述的嵌入式網絡發票處理終端,其特征在于還包括二維碼識別攝像頭。
7.如權利要求1所述的嵌入式網絡發票處理終端,其特征在于還包括無線通信模塊。
8.如權利要求1至7任一項所述的嵌入式網絡發票處理終端,其特征在于所述插件包括身份驗證插件、安全存儲插件和打印插件,分別用于訪問USB加密棒、SD存儲卡和發票打印機。
專利摘要本實用新型提供一種嵌入式網絡發票處理終端,包括電源、CPU、存儲器、顯示屏、接口系統以及軟件系統,其中存儲器、顯示屏和接口系統分別與CPU連接;存儲器包含Flash存儲器、RAM存儲器和SD卡存儲器,SD卡存儲器用于存儲發票處理的交易記錄;接口系統包括網絡接口、若干USB接口和SD卡接口,若干USB接口中包含與發票打印機連接的接口;軟件系統存儲于存儲器內,該軟件系統采用多進程方式實現,各進程之間采用Socket通信;軟件系統集成嵌入式瀏覽器,該嵌入式瀏覽器包含若干通過調用API訪問本地硬件資源的插件。本實用新型開發的網絡發票處理終端成本較低、體積較輕,能夠使納稅用戶方便地辦理稅務發票業務。
文檔編號G07G1/00GK202838541SQ20122049960
公開日2013年3月27日 申請日期2012年9月27日 優先權日2012年9月27日
發明者陳實如 申請人:上海北大方正科技電腦系統有限公司