Pos終端的開(kāi)票方法及裝置、以及開(kāi)票服務(wù)器端的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明是設(shè)及POS開(kāi)票技術(shù),特別是關(guān)于一種POS終端的開(kāi)票方法、一種POS終端 的開(kāi)票裝置W及一種開(kāi)票服務(wù)器端。
【背景技術(shù)】
[0002] 目前大中型商場(chǎng)超市普遍采用基于局域網(wǎng)的POS(point Of sale)銷(xiāo)售管理系統(tǒng), 具有POS終端數(shù)量大、業(yè)務(wù)交易流水繁忙、商品種類(lèi)多、支付類(lèi)型和方式多樣化等特點(diǎn)。
[0003] 基于局域網(wǎng)的普通發(fā)票稅控服務(wù)器采用C/S架構(gòu),前臺(tái)POS終端向服務(wù)器發(fā)送開(kāi) 票數(shù)據(jù),服務(wù)器接受發(fā)票數(shù)據(jù)并生成稅控碼并存儲(chǔ)發(fā)票信息,同時(shí)將稅控碼返回到POS終 JLjJU 乂而。
[0004] 從W上的特點(diǎn)看出,開(kāi)票服務(wù)器系統(tǒng)必須提供一個(gè)安全、穩(wěn)定、高效、實(shí)時(shí)響應(yīng)的 網(wǎng)絡(luò)環(huán)境。所有的POS終端處于同一個(gè)局域網(wǎng)內(nèi),相互之間存在并發(fā)、但不能相互影響;開(kāi) 票服務(wù)器需要即時(shí)、有效、可靠的響應(yīng)各個(gè)POS終端的連接,從而保證前臺(tái)POS開(kāi)票正常的 運(yùn)行。因此,如何提高開(kāi)票服務(wù)器系統(tǒng)的可靠性冗余度,是保證整個(gè)POS銷(xiāo)售管理系統(tǒng)可靠 運(yùn)行目標(biāo)的關(guān)鍵。
【發(fā)明內(nèi)容】
[0005] 因此,本發(fā)明實(shí)施例提供一種POS終端的開(kāi)票方法、一種POS終端的開(kāi)票裝置W及 一種開(kāi)票服務(wù)器端。
[0006] 具體地,本發(fā)明實(shí)施例提供的一種POS端的開(kāi)票方法,包括步驟:向主服務(wù)器發(fā)起 第一開(kāi)票請(qǐng)求并等待主服務(wù)器響應(yīng)、并在主服務(wù)器響應(yīng)未超時(shí)時(shí)根據(jù)所述主服務(wù)器返回的 響應(yīng)信息獲取發(fā)票代碼W進(jìn)行開(kāi)發(fā)票作業(yè);W及當(dāng)主服務(wù)器響應(yīng)超時(shí)時(shí),向備用服務(wù)器發(fā) 起第二開(kāi)票請(qǐng)求并等備用服務(wù)器響應(yīng)、并根據(jù)所述備用服務(wù)器返回的響應(yīng)信息獲取發(fā)票代 碼W進(jìn)行開(kāi)發(fā)票作業(yè)。
[0007] 在本發(fā)明的一個(gè)實(shí)施例中,上述向主服務(wù)器發(fā)起第一開(kāi)票請(qǐng)求包括:讀取配置在 本地的主服務(wù)器的IP地址和端口號(hào),并向所述主服務(wù)器的IP地址和對(duì)應(yīng)端口發(fā)送所述第 一開(kāi)票請(qǐng)求;上述向備用服務(wù)器發(fā)起第二開(kāi)票請(qǐng)求包括:讀取配置在本地的備用服務(wù)器的 IP地址和端口號(hào),并向所述備用服務(wù)器的IP地址和對(duì)應(yīng)端口發(fā)送所述第二開(kāi)票請(qǐng)求。
[0008] 在本發(fā)明的一個(gè)實(shí)施例中,上述第一開(kāi)票請(qǐng)求和第二開(kāi)票請(qǐng)求均包含POS終端的 認(rèn)證信息W及開(kāi)票數(shù)據(jù)。
[0009] 在本發(fā)明的一個(gè)實(shí)施例中,上述POS終端的認(rèn)證信息包含POS終端的編號(hào)和服務(wù) 器授權(quán)碼。
[0010] 此外,本發(fā)明實(shí)施例提供的一種POS終端的開(kāi)票裝置,包括開(kāi)票控制模塊和開(kāi)票 接口模塊,并且還包括配置參數(shù)模塊。其中,配置參數(shù)模塊用于配置第一服務(wù)器和第二服務(wù) 器的連接參數(shù)及不同的連接優(yōu)先級(jí)和POS終端的認(rèn)證信息。開(kāi)票控制模塊用于控制開(kāi)票接 口模塊從所述配置參數(shù)模塊獲取第一服務(wù)器的連接參數(shù)和POS終端的認(rèn)證信息后向第一 服務(wù)器發(fā)起第一開(kāi)票請(qǐng)求并等待第一服務(wù)器響應(yīng)、并在第一服務(wù)器響應(yīng)未超時(shí)時(shí)根據(jù)第一 服務(wù)器返回的響應(yīng)信息獲取發(fā)票代碼W供進(jìn)行開(kāi)發(fā)票作業(yè)。當(dāng)?shù)谝环?wù)器響應(yīng)超時(shí)時(shí),開(kāi) 票控制模塊進(jìn)一步用于控制開(kāi)票接口模塊從配置參數(shù)模塊獲取第二服務(wù)器的連接參數(shù)和 POS終端的認(rèn)證信息后向第二服務(wù)器發(fā)起第二開(kāi)票請(qǐng)求并等待第二服務(wù)器響應(yīng)、并在第二 服務(wù)器響應(yīng)未超時(shí)根據(jù)第二服務(wù)器返回的響應(yīng)信息獲取發(fā)票代碼W供進(jìn)行開(kāi)發(fā)票作業(yè)。
[0011] 在本發(fā)明的一個(gè)實(shí)施例中,上述第一服務(wù)器為連接優(yōu)先級(jí)高的主服務(wù)器,第二服 務(wù)器為連接優(yōu)先級(jí)低的備用服務(wù)器。
[0012] 在本發(fā)明的一個(gè)實(shí)施例中,上述連接參數(shù)包括IP地址和端口號(hào),上述POS終端的 認(rèn)證信息包含POS終端的編號(hào)和服務(wù)器授權(quán)碼。
[0013] 另外,本發(fā)明實(shí)施例提供的一種開(kāi)票服務(wù)器端,包括:主服務(wù)器,用于響應(yīng)認(rèn)證 POS終端的開(kāi)票請(qǐng)求生成發(fā)票代碼返回給認(rèn)證POS終端并記錄關(guān)聯(lián)所生成的發(fā)票代碼的發(fā) 票信息;W及備用服務(wù)器,用于響應(yīng)認(rèn)證POS終端的開(kāi)票請(qǐng)求生成發(fā)票代碼返回給認(rèn)證POS 終端并記錄關(guān)聯(lián)所生成的發(fā)票代碼的發(fā)票信息。其中,主服務(wù)器W服務(wù)器模式運(yùn)行數(shù)據(jù)同 步工具且備用服務(wù)器W客戶端模式運(yùn)行所述數(shù)據(jù)同步工具定時(shí)進(jìn)行認(rèn)證POS終端的發(fā)票 代碼號(hào)碼段的使用信息同步。
[0014] 在本發(fā)明的一個(gè)實(shí)施例中,上述數(shù)據(jù)同步工具為增量數(shù)據(jù)備份工具。
[0015] 在本發(fā)明的一個(gè)實(shí)施例中,上述增量數(shù)據(jù)備份工具為使用Rsync算法的遠(yuǎn)程數(shù)據(jù) 同步器,且備用服務(wù)器啟用化on定時(shí)作業(yè)服務(wù)運(yùn)行所述數(shù)據(jù)同步工具。
[0016] 因此,本發(fā)明的有益效果是,提供了一種特別適合POS網(wǎng)絡(luò)開(kāi)票服務(wù)器的雙機(jī)熱 備方案,采用POS端服務(wù)器參數(shù)配置和服務(wù)器之間使用數(shù)據(jù)同步工具例如Rsync進(jìn)行數(shù)據(jù) 同步。在運(yùn)種應(yīng)用場(chǎng)景下,POS終端能夠優(yōu)先連接主服務(wù)器并接收主服務(wù)器的響應(yīng),在主服 務(wù)器發(fā)生故障的情況下,能夠即時(shí)切換連接通道,連接到備用服務(wù)器并接收備用服務(wù)器的 響應(yīng);同時(shí)主服務(wù)器和備用服務(wù)器對(duì)POS發(fā)票代碼號(hào)碼段的管理進(jìn)行同步,從而實(shí)現(xiàn)POS端 開(kāi)票的雙機(jī)熱備。
[0017] 上述說(shuō)明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段, 而可依照說(shuō)明書(shū)的內(nèi)容予W實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠 更明顯易懂,W下特舉較佳實(shí)施例,并配合附圖,詳細(xì)說(shuō)明如下。
【附圖說(shuō)明】
[0018] 圖1為本發(fā)明實(shí)施例的一種適于POS終端的開(kāi)票服務(wù)器端雙機(jī)熱備實(shí)現(xiàn)方法的原 理結(jié)構(gòu)圖。
[0019] 圖2為本發(fā)明實(shí)施例的一種POS終端的開(kāi)票裝置的模塊示意圖。
【具體實(shí)施方式】
[0020] 為更進(jìn)一步闡述本發(fā)明為達(dá)成預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,W下結(jié)合 附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明提出【具體實(shí)施方式】、結(jié)構(gòu)、特征及其功效,詳細(xì)說(shuō)明如后。
[0021] 如圖1所示,POS開(kāi)票服務(wù)器端的主服務(wù)器A和備用服務(wù)器B都處于正常工 作模式,其開(kāi)票服務(wù)的伺服架構(gòu)處于監(jiān)聽(tīng)狀態(tài),各個(gè)POS終端P0S1,P0S2,…,POSn的 Mismanagement In化rmation System,管理信息系統(tǒng))軟件調(diào)用開(kāi)票接口程序向POS開(kāi)票 服務(wù)器端發(fā)送開(kāi)票請(qǐng)求,POS開(kāi)票服務(wù)器端對(duì)請(qǐng)求進(jìn)行認(rèn)證,確定為合法的請(qǐng)求后,對(duì)開(kāi)票 請(qǐng)求中數(shù)據(jù)包進(jìn)行解析,生成發(fā)票代碼等稅控信息并存儲(chǔ),同時(shí)向?qū)?yīng)的POS終端返回結(jié) 果信息作為響應(yīng)。 W22] 本發(fā)明實(shí)施例的POS開(kāi)票服務(wù)器端雙機(jī)熱備設(shè)計(jì)方案如下:POS終端 P0S1,P0S2,…,POSn分別同時(shí)在主服務(wù)器A和備用服務(wù)器B中進(jìn)行認(rèn)證授權(quán),兩個(gè)服務(wù)器 A,B產(chǎn)生對(duì)每個(gè)POS終端P0S1,P0S2,…,POSn的授權(quán)碼,將兩個(gè)服務(wù)器A,B的IP地址、端 口號(hào)、授權(quán)碼(兩個(gè)服務(wù)器A、B對(duì)同一個(gè)POS終端的授權(quán)碼可W相同,也可W不同)W及連 接優(yōu)先級(jí)分別寫(xiě)入每個(gè)POS終端P0S1,P0S2,…,POSn對(duì)應(yīng)的配置文件,格式例如為如下示 例: 「002;31
[0025] 當(dāng)MIS軟件調(diào)用POS開(kāi)票接口程序時(shí),開(kāi)票接口程序讀取并解析上述配置文件的 參數(shù),首先讀取連接優(yōu)先級(jí)高的主服務(wù)器A的IP地址和端口號(hào),向該IP地址和端口發(fā)起連 接開(kāi)票請(qǐng)求,并發(fā)送POS終端編號(hào)和授權(quán)碼等POS終端認(rèn)證信息。在正常情況下,主服務(wù)器 A將正確接收開(kāi)票請(qǐng)求信息,生成稅控碼(發(fā)票代碼)并記錄發(fā)票信息,最后將發(fā)票代碼等 信息返回到POS終端。若主服務(wù)器A發(fā)生故障,則通過(guò)POS開(kāi)票接口程序發(fā)起請(qǐng)求后,在設(shè) 置的響應(yīng)返回超時(shí)到達(dá)后,仍接收不到主服務(wù)器A的返回?cái)?shù)據(jù),此時(shí)POS開(kāi)票接口程序?qū)⒆x 取備用服務(wù)器B的IP地址和端口號(hào),重復(fù)上面的步驟,向備用服務(wù)器B發(fā)起連接開(kāi)票請(qǐng)求, 此時(shí)備用服務(wù)器B將正確生成發(fā)票代碼并返回到POS終端,從而保證POS終端能夠即時(shí)接 收發(fā)票代碼等開(kāi)票信息,保證開(kāi)發(fā)票業(yè)務(wù)的順利運(yùn)行。
[00%] 在某些特殊的開(kāi)票服務(wù)器端,需要使用發(fā)票代碼號(hào)碼來(lái)保證電子發(fā)票信息與打印 使用的紙質(zhì)發(fā)票的發(fā)票代碼號(hào)碼保證統(tǒng)一,因此在開(kāi)票服務(wù)器端,需要事先分配各個(gè)POS 終端當(dāng)前使用的發(fā)票代碼號(hào)碼段,并且隨著開(kāi)票的進(jìn)行,發(fā)票代碼號(hào)碼始終與紙質(zhì)號(hào)段保 持同步。通常在開(kāi)票前,在主服務(wù)器A中正確分配各個(gè)POS終端對(duì)應(yīng)的發(fā)票代碼號(hào)碼段,若 主服務(wù)器A始終處于正常工作狀態(tài),則開(kāi)票服務(wù)程序能夠通過(guò)記錄各個(gè)POS終端的發(fā)票代 碼號(hào)碼段的使用情況,保持發(fā)票代碼號(hào)碼段使用的對(duì)應(yīng)。若在某個(gè)突發(fā)情況下,主服務(wù)器A 發(fā)生故障,POS終端將實(shí)時(shí)向備用服務(wù)器B發(fā)起開(kāi)票請(qǐng)求,在此時(shí),