本發(fā)明涉及網(wǎng)絡(luò)通信技術(shù)領(lǐng)域,尤其涉及一種pos(pointofsale,銷售終端)開票服務(wù)器的離線交易方法及系統(tǒng)。
背景技術(shù):
目前大中型商場超市普遍采用基于局域網(wǎng)的pos銷售管理系統(tǒng),該系統(tǒng)具有pos終端數(shù)量大,業(yè)務(wù)交易流水繁忙,商品種類多,支付類型和方式多樣化的特點(diǎn)。
在pos開票服務(wù)器系統(tǒng)中,基于局域網(wǎng)的發(fā)普通發(fā)票稅控服務(wù)器采用c/s(client/server)架構(gòu),前臺pos客戶端向服務(wù)器發(fā)送開票數(shù)據(jù),服務(wù)器接受數(shù)據(jù)并生成稅控碼并存儲發(fā)票信息,同時將稅控碼返回到pos終端。
因此,開票服務(wù)器系統(tǒng)必須提供一個安全、穩(wěn)定、高效、實(shí)時響應(yīng)的網(wǎng)絡(luò)環(huán)境。但不可避免的會出現(xiàn)斷網(wǎng)或者服務(wù)器發(fā)生故障,而導(dǎo)致不能實(shí)時通訊,從而影響正常的業(yè)務(wù)。一旦出現(xiàn)這種情況,將會對正常的業(yè)務(wù)帶來較大影響,因此,如何在脫機(jī)或離線的情況下,能將這些離線的交易傳輸?shù)椒?wù)器,最終保證所有交易的完整性,是保證整個pos系統(tǒng)可靠運(yùn)行目標(biāo)的重要因素。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的實(shí)施例提供了一種pos開票服務(wù)器離線交易的實(shí)現(xiàn)方法和系統(tǒng),以保證在離線或者脫機(jī)的情況下,仍可以將離線的交易信息傳輸?shù)椒?wù)器,實(shí)現(xiàn)pos機(jī)完整的開具發(fā)票的過程。
本發(fā)明提供了如下技術(shù)方案:
一種pos開票服務(wù)器離線交易的方法:包括:
pos終端通過接口調(diào)用向服務(wù)器發(fā)送開票明細(xì)數(shù)據(jù);
如果服務(wù)器或網(wǎng)絡(luò)發(fā)生故障,所述接口將所述數(shù)據(jù)記錄在pos端日志文件中;
直至所述故障消除,接口查詢本機(jī)存儲器,如果存在未成功開具發(fā)票的信息,則向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求。
所述的方法還包括:
在正常情況下,服務(wù)器會即時返回稅控碼并在服務(wù)器端存儲開票信息。
所述的方法在所述接口將所述數(shù)據(jù)記錄在pos端日志文件中的過程中,包含了此時的開票時間、pos機(jī)編號、交易流水號、開票明細(xì)信息及錯誤代碼。
所述的方法還包括:
在接口查詢本機(jī)存儲器步驟之前還包括:接口將新開具的發(fā)票信息發(fā)送到服務(wù)器并接收返回的稅控碼,在這筆交易完成后,tcp連接不斷開連接。
所述的方法還包括:
設(shè)置單次聯(lián)網(wǎng)交易中包含的最大離線交易閾值,單次聯(lián)網(wǎng)交易數(shù)目不超過所述閾值。
所述的方法還包括:接口在向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求時,按照參數(shù)配置中的所述最大離線交易閾值分別逐個讀取開票明細(xì),并發(fā)送到服務(wù)器并接收對應(yīng)的稅控碼,同時將已經(jīng)成功開具的日志記錄刪除,當(dāng)達(dá)到最大離線數(shù)或者全部離線交易發(fā)送完成后,才斷開此次tcp連接。
所述的方法還包括:
在pos端記錄開票交易日志,將日志同時傳輸?shù)椒?wù)器,在服務(wù)端分析統(tǒng)計(jì)某段時間內(nèi)的開票情況,及發(fā)生故障的原因,便于提高服務(wù)器的可靠性。
當(dāng)下一筆開票交易發(fā)生時,繼續(xù)按照上面的步驟,直至全部離線交易數(shù)據(jù)完成發(fā)送,此時服務(wù)器上將完成記錄全部的開票信息,保證了開票數(shù)據(jù)的完整性。
本發(fā)明同時提供一種系統(tǒng):
一種pos開票服務(wù)器離線交易的系統(tǒng):包括:
發(fā)票稅控服務(wù)器、pos終端以及接口,
所述的pos終端,被配置為通過所述接口調(diào)用向所述發(fā)票稅控服務(wù)器發(fā)送開票明細(xì)數(shù)據(jù);
在所述發(fā)票稅控服務(wù)器或網(wǎng)絡(luò)發(fā)生故障時,所述接口被配置為將所述數(shù)據(jù)記錄在pos端日志文件中;
直至所述故障消除,所述接口被配置為查詢本機(jī)存儲器,如果存在未成功開具發(fā)票的信息,則向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求。
所述的系統(tǒng)還包括:
在正常情況下,所述發(fā)票稅控服務(wù)器被配置為即時返回稅控碼并在服務(wù)器端存儲開票信息。
所述的系統(tǒng)在所述接口將所述數(shù)據(jù)記錄在pos端日志文件中的過程中,包含了此時的開票時間、pos機(jī)編號、交易流水號、開票明細(xì)信息及錯誤代碼。
所述的系統(tǒng)還包括:
所述接口被配置為在接口查詢本機(jī)存儲器之前將新開具的發(fā)票信息發(fā)送到服務(wù)器并接收返回的稅控碼,在這筆交易完成后,tcp連接不斷開連接。
所述的系統(tǒng)還包括:
設(shè)置單元,設(shè)置單次聯(lián)網(wǎng)交易中包含的最大離線交易閾值,單次聯(lián)網(wǎng)交易數(shù)目不超過所述閾值。
所述的系統(tǒng)還包括:
所述接口還被配置為在向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求時,按照參數(shù)配置中的所述最大離線交易閾值分別逐個讀取開票明細(xì),并發(fā)送到服務(wù)器并接收對應(yīng)的稅控碼,同時將已經(jīng)成功開具的日志記錄刪除,當(dāng)達(dá)到最大離線數(shù)或者全部離線交易發(fā)送完成后,才斷開此次tcp連接。
所述的系統(tǒng)還包括:
記錄分析單元,在pos端記錄開票交易日志,將日志同時傳輸?shù)椒?wù)器,在服務(wù)端分析統(tǒng)計(jì)某段時間內(nèi)的開票情況,及發(fā)生故障的原因,便于提高服務(wù)器的可靠性。
由本發(fā)明的技術(shù)方案可以看出,本發(fā)明通過在服務(wù)器或者網(wǎng)絡(luò)發(fā)生故障時對開票信息進(jìn)行存儲,在故障消除后及時對未能開票成功的信息進(jìn)行續(xù)傳,保證了離線數(shù)據(jù)不損失,使得離線交易得以完成,保證了開票數(shù)據(jù)的完整性。另外,通過接口參數(shù)配置,設(shè)置單次聯(lián)網(wǎng)交易中包含的最大離線交易數(shù)目,保證了正常聯(lián)網(wǎng)狀態(tài)下,不會由于包含的離線數(shù)據(jù)量過大而產(chǎn)生較大的延遲,確保了正常交易的實(shí)時性。另外,在pos端記錄開票交易日志,將日志同時傳輸?shù)椒?wù)器,可以在服務(wù)端分析統(tǒng)計(jì)某段時間內(nèi)的開票情況,及發(fā)生故障的原因,便于提高服務(wù)器的可靠性。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡要地介紹,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為一種pos開票服務(wù)器正常狀態(tài)下的原理結(jié)構(gòu)圖;
圖2為一種pos開票服務(wù)器離線交易的實(shí)現(xiàn)方法的原理結(jié)構(gòu)圖。
具體實(shí)施方式
為便于對本發(fā)明實(shí)施例的理解,下面將結(jié)合附圖以及幾個具體實(shí)施例為例做進(jìn)一步的解釋和說明,且各個實(shí)施例并不構(gòu)成對本發(fā)明實(shí)施例的限定。
實(shí)施例一
本發(fā)明的實(shí)施例提供了一種pos開票服務(wù)器離線交易的實(shí)現(xiàn)方法和,以保證在離線或者脫機(jī)的情況下,仍可以將離線的交易信息傳輸?shù)椒?wù)器,實(shí)現(xiàn)pos機(jī)完整的開具發(fā)票的過程。
在正常狀態(tài)下,pos系統(tǒng)和稅控服務(wù)器可以建立連接并進(jìn)行數(shù)據(jù)通訊,其處理流程如附圖1.
步驟101:pos終端系統(tǒng)mis軟件向調(diào)用開票接口向稅控服務(wù)器請求建立安全連接;
步驟102:稅控服務(wù)器對請求進(jìn)行認(rèn)證,確定為合法的請求后,建立連接;
步驟103:在建立完成安全連接后,pos終端向稅控服務(wù)器發(fā)送開票數(shù)據(jù),服務(wù)端對請求數(shù)據(jù)包進(jìn)行解析;
步驟104:稅控服務(wù)器生成稅控信息并存儲,同時向pos終端返回結(jié)果信息。
步驟105:傳輸過程中生成日志文件。
然而,由于計(jì)算機(jī)系統(tǒng)往往存在不穩(wěn)定因素,計(jì)算機(jī)網(wǎng)絡(luò)也經(jīng)常因?yàn)楦鞣N原因?qū)е滦畔⒌膫鬏敭惓?。為了解決服務(wù)器或者網(wǎng)絡(luò)故障發(fā)生的情況下仍能進(jìn)行pos開票的問題,本發(fā)明提供了如下技術(shù)方案:
一種pos開票服務(wù)器離線交易的方法:包括如下處理步驟:
步驟201:在正常情況下,pos終端能夠與稅控服務(wù)器進(jìn)行正常通信,執(zhí)行上述步驟101至步驟105;
步驟202:在服務(wù)器或網(wǎng)絡(luò)發(fā)生故障時,所述接口將所述數(shù)據(jù)記錄在pos端日志文件中,在本地生成一個log文件并進(jìn)行存儲;
步驟203:經(jīng)過故障排除的步驟,直至所述故障消除,接口查詢本機(jī)存儲器,如果存在未成功開具發(fā)票的日志信息,則向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求。
步驟204:稅控服務(wù)器響應(yīng)上述請求,生成稅控信息并存儲,同時向pos終端返回結(jié)果信息,直至所有存儲的log信息都被處理完成。
在所述接口將所述數(shù)據(jù)記錄在pos端日志文件中的過程中,包含了此時的開票時間、pos機(jī)編號、交易流水號、開票明細(xì)信息及錯誤代碼。
實(shí)施例二:
在步驟203中接口查詢本機(jī)存儲器步驟之前還包括:
步驟2031:接口將新開具的發(fā)票信息發(fā)送到服務(wù)器并接收返回的稅控碼,在這筆交易完成后,tcp連接不斷開連接。
實(shí)施例三:
為了保證信息傳輸?shù)男?,避免網(wǎng)絡(luò)擁塞狀況的發(fā)生,設(shè)置單次聯(lián)網(wǎng)交易中包含的最大離線交易閾值,單次聯(lián)網(wǎng)交易數(shù)目不超過所述閾值。
接口在向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求時,按照參數(shù)配置中的所述最大離線交易閾值分別逐個讀取開票明細(xì),并發(fā)送到服務(wù)器并接收對應(yīng)的稅控碼,同時將已經(jīng)成功開具的日志記錄刪除,當(dāng)達(dá)到最大離線數(shù)或者全部離線交易發(fā)送完成后,才斷開此次tcp連接。
在pos端記錄開票交易日志,將日志同時傳輸?shù)椒?wù)器,在服務(wù)端分析統(tǒng)計(jì)某段時間內(nèi)的開票情況,及發(fā)生故障的原因,便于提高服務(wù)器的可靠性。
當(dāng)下一筆開票交易發(fā)生時,繼續(xù)按照上面的步驟,直至全部離線交易數(shù)據(jù)完成發(fā)送,此時服務(wù)器上將完成記錄全部的開票信息,保證了開票數(shù)據(jù)的完整性。
實(shí)施例四:
本發(fā)明同時提供一種pos開票服務(wù)器離線交易的系統(tǒng):其具體結(jié)構(gòu)參見附圖2,包括:
發(fā)票稅控服務(wù)器、pos終端以及接口,
所述的pos終端,被配置為通過所述接口調(diào)用向所述發(fā)票稅控服務(wù)器發(fā)送開票明細(xì)數(shù)據(jù);
在所述發(fā)票稅控服務(wù)器或網(wǎng)絡(luò)發(fā)生故障時,所述接口被配置為將所述數(shù)據(jù)記錄在pos端日志文件中;
直至所述故障消除,所述接口被配置為查詢本機(jī)存儲器,如果存在未成功開具發(fā)票的信息,則向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求。
進(jìn)一步地,所述的系統(tǒng)還包括:
在正常情況下,所述發(fā)票稅控服務(wù)器被配置為即時返回稅控碼并在服務(wù)器端存儲開票信息。
進(jìn)一步地,所述的系統(tǒng)在所述接口將所述數(shù)據(jù)記錄在pos端日志文件中的過程中,包含了此時的開票時間、pos機(jī)編號、交易流水號、開票明細(xì)信息及錯誤代碼。
進(jìn)一步地,所述的系統(tǒng)還包括:
所述接口被配置為在接口查詢本機(jī)存儲器之前將新開具的發(fā)票信息發(fā)送到服務(wù)器并接收返回的稅控碼,在這筆交易完成后,tcp連接不斷開連接。
進(jìn)一步地,所述的系統(tǒng)還包括:
設(shè)置單元,設(shè)置單次聯(lián)網(wǎng)交易中包含的最大離線交易閾值,單次聯(lián)網(wǎng)交易數(shù)目不超過所述閾值。
進(jìn)一步地,所述的系統(tǒng)還包括:
所述接口還被配置為在向服務(wù)器發(fā)起補(bǔ)開發(fā)票的請求時,按照參數(shù)配置中的所述最大離線交易閾值分別逐個讀取開票明細(xì),并發(fā)送到服務(wù)器并接收對應(yīng)的稅控碼,同時將已經(jīng)成功開具的日志記錄刪除,當(dāng)達(dá)到最大離線數(shù)或者全部離線交易發(fā)送完成后,才斷開此次tcp連接。
進(jìn)一步地,所述的系統(tǒng)還包括:
記錄分析單元,在pos端記錄開票交易日志,將日志同時傳輸?shù)椒?wù)器,在服務(wù)端分析統(tǒng)計(jì)某段時間內(nèi)的開票情況,及發(fā)生故障的原因,便于提高服務(wù)器的可靠性。
用本發(fā)明實(shí)施例的系統(tǒng)進(jìn)行pos機(jī)離線開票的處理過程與前述方法實(shí)施例類似,此處不再贅述。
綜上所說,本發(fā)明采用pos端接口參數(shù)配置、記錄并存儲脫機(jī)交易數(shù)據(jù),在恢復(fù)聯(lián)網(wǎng)狀態(tài)后通過補(bǔ)充交易協(xié)議與服務(wù)器進(jìn)行通訊,實(shí)現(xiàn)交易數(shù)據(jù)的完整性。在這種應(yīng)用場景下,可以實(shí)現(xiàn)在開票服務(wù)器斷網(wǎng)或發(fā)生故障的情況下,確保正常的pos端交易能夠順利進(jìn)行,并保證在故障恢復(fù)后能將離線開票數(shù)據(jù)發(fā)送到服務(wù)器,從而實(shí)現(xiàn)全部交易數(shù)據(jù)的完整性。
通過以上的實(shí)施方式的描述可知,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟件加必需的通用硬件平臺的方式來實(shí)現(xiàn)?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)設(shè)備(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實(shí)施例或者實(shí)施例的某些部分所述的方法。
本說明書中的各個實(shí)施例均采用遞進(jìn)的方式描述,各個實(shí)施例之間相同相似的部分互相參見即可,每個實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處。尤其,對于裝置或系統(tǒng)實(shí)施例而言,由于其基本相似于方法實(shí)施例,所以描述得比較簡單,相關(guān)之處參見方法實(shí)施例的部分說明即可。以上所描述的裝置及系統(tǒng)實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性勞動的情況下,即可以理解并實(shí)施。
以上所述,僅為本發(fā)明較佳的具體實(shí)施方式,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。