數據完整性傳輸方法及其pos機和數據加密服務器的制造方法
【技術領域】
[0001] 本發明涉及移動支付通信技術領域,尤其涉及一種數據完整性傳輸方法及其P0S 機和數據加密服務器。
【背景技術】
[0002] 集群式數據加密設備是一種用于準確記錄各種數據的系統。該系統的一種典型應 用場景為大中型商業零售企業的稅源數據采集。在這種場景下,數據發送設備對應為企業 P0S機,數據加密設備內存儲電子發票號碼,數據加密信息為防偽稅控碼、發票代碼、發票號 碼等信息。所有的P0S機通過TCP網絡并發的連接到數據服務器,每完成一筆交易記錄,P0S 機在結賬前,將數據(商品明細、付款明細等)發送到數據服務器,數據服務器記錄交易數 據,并將加密相關數據發送到數據加密設備進行加密以獲取稅控信息。
[0003] 中國專利申請200810066837. 0公開一種數據完整性傳輸方法,所述方法應用在 P2P領域中,包括如下步驟:接收客戶端發送的重傳請求消息,根據所述重傳請求消息查 詢本地是否存儲有所述重傳請求消息所請求重傳的數據;當本地存儲有所述數據重傳請求 消息所請求重傳的數據時,將所述數據發送給客戶端。該方法不需要內容源的大量參與 即可實現數據的丟包錯包重傳,提高了傳輸效率,減輕了內容源及作為其代理的對等節點 的負擔。上述現有技術中的的缺點為:由于商業零售企業對數據處理的實時性有嚴格的要 求,同時在交易高峰時段,數據上傳的并發性較高,異常情況下,如數據服務器宕機、數據加 密設備故障、可用數據加密設備數量少于P0S端并發數量,以及用戶網絡環境異常,均可能 造成部分數據的丟失。
[0004] 有鑒于此,針對本領域現有技術的不足之處,有必要設計一種新的數據采集和傳 輸方法,使得上述異常情況下,數據服務器能夠完整的保存數據發送設備發送的所有數據。
【發明內容】
[0005] 為了解決上述問題,本發明提供的一種數據完整性傳輸方法及適用于該方法的 P0S機和數據加密服務器能解決上述情況下的數據丟失問題,同時實現只在本地存儲上傳 失敗的數據,上傳成功后自動刪除本地數據,存儲空間開銷較小。
[0006] 本發明提供了一種數據完整性傳輸方法,適用于P0S機側,包括:S11、P0S機向數 據加密服務器發送TCP連接和申請占用空閑的數據加密設備的請求消息,并接收數據加密 服務器返回的申請結果;S12、P0S機向數據加密服務器發送待加密的稅源數據,并接收數 據加密服務器返回所述稅源數據的加密結果;S13、P0S機根據所述加密結果將需要重傳的 稅源數據發送至數據加密服務器,并接收數據加密服務器返回的重新加密結果。
[0007] 作為一種實施例,所述步驟S11進一步包括:Sill、P0S機向所述數據加密服務器 發送TCP連接和申請占用數據加密設備集群中空閑的數據加密設備的請求消息;S112、當 發現網絡出現異常或者所述申請結果反饋申請失敗時,P0S機將待發送的稅源數據在本地 進行存儲;S113、當所述申請結果反饋申請成功時,P0S機將所述稅源數據發送到所述數據 加密服務器。
[0008] 作為一種實施例,所述步驟S13進一步包括:S131、當發現網絡出現異常、重新發 送稅源數據不成功、或者所述加密結果反饋加密失敗時,P0S機將待發送的稅源數據在本地 進行存儲,并在網絡恢復正常之后將加密失敗的稅源數據重傳至數據加密服務器;S132、當 所述加密結果反饋加密成功時,P0S機將新的稅源數據繼續發送到所述數據加密服務器,并 且接收數據加密服務器返回的重新加密結果;S133、當發現網絡出現異常、重新發送稅源數 據不成功、或者所述重新加密結果反饋重新加密不成功時,P0S機留存本地存儲的已發送的 稅源數據并且繼續進行上述步驟S131至S132 ;S134、當所述重新加密結果反饋重新加密成 功時,P0S機刪除本地存儲的已發送的稅源數據并且將新的稅源數據繼續發送到所述數據 加密服務器。
[0009] 作為一種實施例,當所述加密結果反饋加密失敗時,所述步驟S131進一步包括: S1311、當判斷出用戶網絡環境異常、或數據服務器出現故障而無法工作,導致加密失敗 時,P0S機只在本地存儲未成功上傳的稅源數據;S1312、當判斷出當前沒有空閑狀態的數 據加密設備可用、或數據加密設備出現故障而無法對數據進行加密,導致加密失敗時,P0S 機只保存表示本條數據未成功加密需要以后再次嘗試加密的空文件即可,而并不在本地存 儲未成功上傳的稅源數據。
[0010] 作為一種實施例,所述P0S機只在本地存儲未成功上傳的稅源數據,包括:采用二 進制格式或明文格式進行存儲。
[0011] 作為一種實施例,所述P0S機只在本地存儲未成功上傳的稅源數據,還包括:配置 一個查詢接口,以查詢所述P0S機中已用空間和剩余空間大小,使得用戶能夠根據自身實 際情況采取相應的措施。
[0012] 作為一種實施例,當所述加密結果反饋加密失敗時,所述步驟S131還包括:P0S機 為每條發送失敗的稅源數據配置一個單獨文件名,并將配置文件名的發送失敗的稅源數據 都暫存到本地存儲器指定路徑的目錄中。
[0013] 作為一種實施例,所述單獨文件名采用17個bit位的YYMMDDHHMMSSMMM命名結 構,其中:YY表示2位年、麗表示2位月、DD表示2位日、HH表示2位時、麗表示2位分、 SS表示2位秒、MMM表示3位毫秒,并且文件擴展名為.bi n。
[0014] 作為一種實施例,所述在網絡恢復正常之后將加密失敗的稅源數據重傳至數據加 密服務器,包括:P〇S機輪詢本地存儲器指定路徑的目錄,檢查是否存在發送失敗的稅源數 據文件;當存在發送失敗的稅源數據文件時,P0S機讀取稅源數據并將讀取到的稅源數據 發送至數據加密服務器。
[0015] 本發明還提供了一種具有數據重傳功能的P0S機,其連接于數據加密服務器,包 括:第一通訊模塊,用于向數據加密服務器發送TCP連接和申請占用空閑的數據加密設備 的請求消息,并接收數據加密服務器返回的申請結果;第二通訊模塊,用于根據第一通訊模 塊提供的所述申請結果向數據加密服務器發送待加密的稅源數據,并接收數據加密服務器 返回所述稅源數據的加密結果;第三通訊模塊,用于根據第二通訊模塊提供的所述加密結 果將需要重傳的稅源數據發送至數據加密服務器,并接收數據加密服務器返回的重新加密 結果。
[0016] 作為一種實施例,所述第一通訊模塊具體用于:向所述數據加密服務器發送TCP 連接和申請占用數據加密設備集群中空閑的數據加密設備的請求消息;當判斷出網絡出現 異常或者所述申請結果反饋申請失敗時,將待發送的稅源數據在本地進行存儲;當判斷出 所述申請結果反饋申請成功時,將所述稅源數據發送到所述數據加密服務器。
[0017] 作為一種實施例,所述第三通訊模塊具體用于:當判斷出網絡出現異常、重新發送 稅源數據不成功、或者所述加密結果反饋加密失敗時,將待發送的稅源數據在本地進行存 儲,并在網絡恢復正常之后將加密失敗的稅源數據重傳至數據加密服務器;當判斷出所述 加密結果反饋加密成功時,將新的稅源數據繼續發送到所述數據加密服務器,并且接收數 據加密服務器返回的重新加密結果;當判斷出網絡出現異常、重新發送稅源數據不成功、或 者所述重新加密結果反饋重新加密不成功時,留存本地存儲的已發送的稅源數據;當判斷 出所述重新加密結果反饋重新加密成功時,刪除本地存儲的已發送的稅源數據并且將新的 稅源數據繼續發送到所述數據加密服務器。
[0018] 作為一種實施例,當所述加密結果反饋加密失敗時,所述第三通訊模塊進一步具 體用于:當判斷出用戶網絡環境異常、或數據服務器出現故障而無法工作,導致加密失敗 時,P0S機只在本地存儲未成功上傳的稅源數據;當判斷出當前沒有空閑狀態的數據加密 設備可用、或數據加密設備出現故障而無法對數據進行加密,導致加密失敗時,P0S機只保 存表示本條數據未成功加密需要以后再次嘗試加密的空文件即可,而并不在本地存儲未成 功上傳的稅源數據。
[0019] 作為一種實施例,所述第三通訊模塊采用二進制格式或明文格式在本地存儲未成 功上傳的稅源數據。
[0020] 作為一種實施例,所述具有數據重傳功能的P0S機還包括:查詢接口,用于查詢已 用空間和剩余空間大小,使得用戶能夠根據自身實際情況采取相應的措施。
[0021] 作為一種實施例,當所述加密結果反饋加密失敗時,所述第三通訊模塊進一步具 體用于:為每條發送失敗的稅源數據配置一個單獨文件名,并將配置文件名的發送失敗的 稅源數據都暫存到本地存儲器指定路徑的目錄中。
[0022] 作為一種實施例,所述單獨文件名采用17個bit位的YYMMDDHHMMSSMMM命名結 構,其中:YY表示2位年、麗表示2位月、DD表示2位日、HH表示2位時、麗表示2位分、 SS表示2位秒、MMM表示3位毫秒,并且文件擴展名為.bin。
[0023] 作為一種實施例,所述第三通訊模塊還具體用于:輪詢本地存儲器指定路徑的目 錄,檢查是否存在發送失敗的稅源數據文件;當判斷出存在發送失敗的稅源數據文件時,讀 取稅源數據并將讀取到的稅源數據發送至數據加密服務器。
[0024] 本發明還提供了一種數據完整性傳輸方法,適用于數據加密服務器側,包括:S21、 數據加密服務器接收P0S機發送的TCP連接和申請占用數據加密設備的請求消息,并將當 前處于空閑狀態的數據加密設備分配給該P0S機;S22、數據加密服務器接收P0S機發送的 待加密的稅源數據,并將所述稅源數據加密結果轉發到所述P0S機;S23、數據加密服務器 接收所述P0S機重傳的之前加密失敗的稅源數據,并將接收到的所述