1、前言
條碼技術(shù)作為一種先進(jìn)的信息采集和輸入技術(shù),己被廣泛應(yīng)用于物流信息自動(dòng)處理和工業(yè)自動(dòng)化生產(chǎn)過(guò)程的諸多行業(yè),如商品銷售。自動(dòng)化倉(cāng)庫(kù)、圖書館信息處理、郵政系統(tǒng)等領(lǐng)域。我國(guó)鐵路客運(yùn)服務(wù)已開(kāi)始進(jìn)行計(jì)算機(jī)售票。檢票系統(tǒng)的研制和開(kāi)發(fā)。而客運(yùn)站由于量大面廣,且地理位置分散,僅有少數(shù)城市在為數(shù)不多的車站自行投資開(kāi)發(fā)了綜合信息管理系統(tǒng),但是功能還比較單一,并未形成售票、檢票、調(diào)度、結(jié)算等一體化的計(jì)算機(jī)功能體系。本文結(jié)合我國(guó)汽車客運(yùn)的實(shí)際情況,提出了客運(yùn)車站微機(jī)售檢票信息管理系統(tǒng)(QYMIS)的總體方案,論述分析了基于條碼自動(dòng)識(shí)別技術(shù)的售票、檢票、調(diào)度、結(jié)算一體化軟件系統(tǒng)計(jì)發(fā)的關(guān)鍵技術(shù)及解決方法。
2、QYMIS總體結(jié)構(gòu)
2.1 QYMIS開(kāi)發(fā)的原則和目標(biāo) ]
計(jì)算機(jī)售票系統(tǒng)并不是單純對(duì)以往人工售票、檢票,調(diào)度、統(tǒng)計(jì)等功能的模仿。它從基礎(chǔ)上對(duì)整個(gè)管理體制進(jìn)行改革。本系統(tǒng)的開(kāi)發(fā)旨在探索一種,適合我國(guó)汽車客運(yùn)管理系統(tǒng)的信息集成方法。該系統(tǒng)實(shí)現(xiàn)的具體目標(biāo)如下:
- 根據(jù)客運(yùn)計(jì)劃,控制票額分配;
- 進(jìn)行座位分配和管理;
- 實(shí)時(shí)打印帶有條碼符號(hào)的車票;
- 自動(dòng)檢票并能對(duì)車票進(jìn)行真?zhèn)舞b別;
- 進(jìn)行票價(jià)的計(jì)算、統(tǒng)計(jì)和財(cái)務(wù)結(jié)算;
- 自動(dòng)調(diào)度管理;
- 預(yù)留聯(lián)網(wǎng)和升級(jí)可能的按口。
2.2 系統(tǒng)的總體結(jié)構(gòu)
QYMIS建立在計(jì)算機(jī)網(wǎng)絡(luò)與通訊技術(shù)基礎(chǔ)上,采用客戶機(jī)/服務(wù)器網(wǎng)絡(luò)結(jié)構(gòu)模式,設(shè)計(jì)了系統(tǒng)硬件環(huán)境結(jié)構(gòu)(如圖1所示)。選用Foxpro For Windows數(shù)據(jù)庫(kù)管理軟件作為應(yīng)用軟件開(kāi)發(fā)平臺(tái),用Trubo C2.0語(yǔ)言開(kāi)發(fā)條碼生成與打印軟件。 基于上述設(shè)計(jì)目標(biāo)的要求,按新型集成和功能處理分布的原則,自上向下進(jìn)行了客運(yùn)車站功能設(shè)計(jì),提出QYMIS層次功能模塊結(jié)構(gòu)如圖2所示。 2.2.1 售票子系統(tǒng)
售票系統(tǒng)完成的主要任務(wù)有:條碼的生成與車票的制作;座位的統(tǒng)一管理及分配;票價(jià)的計(jì)算;退票和改乘;實(shí)時(shí)查詢;售票員的票款統(tǒng)計(jì)及口令管理。 車票的制作是整個(gè)系統(tǒng)的主要環(huán)節(jié),將在3.2節(jié)進(jìn)一步討論。座位的管理涉及售票順序問(wèn)題,因?yàn)榇蠖鄶?shù)旅客喜歡靠窗的座位,而購(gòu)買連票的旅客又希望座位能靠在一起,因此可采用從小到大依次出售的方法。票價(jià)的計(jì)算功能方便售票員,且避免出錯(cuò)。當(dāng)售票員輸入旅客所要求的車次、到站及票的張數(shù)后,計(jì)算機(jī)就能自動(dòng)迅速地顯示出總票價(jià);售票員再輸入旅客實(shí)際交納的金額時(shí),退款又能自動(dòng)顯示在屏幕上;經(jīng)售票員確認(rèn)正確后,計(jì)算機(jī)就可自動(dòng)打印車票。售票過(guò)程的界面如圖3所示。 在售票系統(tǒng)中還集成有退票功能,售票員按某一功能鍵可切換到退票功能下,當(dāng)售票員輸入車票票號(hào),或用譯碼器掃描車票上條碼,確認(rèn)此票有效之后,便可進(jìn)行退票工作。如果退票已檢過(guò)或是偽票,計(jì)算機(jī)就馬上報(bào)警提示,讓售票員作出反應(yīng)以便及時(shí)處理。若改乘,可以先退票,再切換回售票功能,出售旅客需改乘的車次。 售票員的票款統(tǒng)計(jì)和口令管理要便于財(cái)務(wù)管理。數(shù)據(jù)庫(kù)為每一個(gè)售票情況分別作記錄,每個(gè)售票員擁有自己的口令,計(jì)算機(jī)根據(jù)售票員進(jìn)入系統(tǒng)時(shí)輸入的口令,將售票員當(dāng)日所售票款追加到此售票員的售票庫(kù),并按一定時(shí)間到財(cái)務(wù)處結(jié)帳。 售票系統(tǒng)還提供實(shí)時(shí)查詢功能,可以讓售票員根據(jù)旅客提問(wèn),查詢?nèi)我淮稳我粫r(shí)間的發(fā)車情況及票價(jià)。條碼設(shè)置功能,使在車票的形式變化時(shí),只需改變條碼設(shè)置,就可將條碼調(diào)整打印在合適的位置。 2.2.2 檢票子系統(tǒng)
檢票系統(tǒng)由計(jì)算機(jī)、條碼掃描器 、譯碼器、大屏幕顯示器等硬件和應(yīng)用軟件組成。根據(jù)旅客的車票進(jìn)行識(shí)別、檢驗(yàn),并動(dòng)態(tài)仿真顯示該車票的坐次和已檢車票的狀況。檢票結(jié)束后自動(dòng)進(jìn)行結(jié)算。檢票系統(tǒng)的主要功能是:
- 車次運(yùn)營(yíng)調(diào)度安排,實(shí)時(shí)預(yù)告檢票口即將檢票車次的代號(hào),發(fā)車時(shí)間和終點(diǎn)站等信息。
- 任一檢票口即可檢一次測(cè)的車票,也可同時(shí)檢兩次測(cè)的車票,計(jì)算機(jī)自動(dòng)識(shí)別和區(qū)分任一車票所屬的車次。
- 條碼票據(jù)的識(shí)別速度符合實(shí)時(shí)性要求,能自動(dòng)判斷車票可能出現(xiàn)多種情況(例如已檢票、非本次測(cè)票,廢票等),并給出相應(yīng)文字提示和聲音報(bào)警,供檢票員處理。
- 售票檢票信息是集成在一起的,當(dāng)檢驗(yàn)?zāi)骋卉嚻睍r(shí),計(jì)算機(jī)自動(dòng)出現(xiàn)該車票對(duì)應(yīng)的所有信息,并在大屏幕上動(dòng)態(tài)顯示出車票對(duì)應(yīng)的座位狀況,便于實(shí)時(shí)掌握檢票狀況和進(jìn)程。
- 完成一次檢票任務(wù)后,通過(guò)網(wǎng)絡(luò)系統(tǒng)自動(dòng)啟動(dòng)調(diào)度室管理軟件,實(shí)時(shí)進(jìn)行統(tǒng)計(jì)和打印結(jié)算清單。
本系統(tǒng)具有較好的開(kāi)放性和容錯(cuò)性,便于移植和擴(kuò)充。檢票子系統(tǒng)功能主畫面如圖4所示 。 2.2.3 動(dòng)態(tài)顯示子系統(tǒng)
動(dòng)態(tài)顯示系統(tǒng)主要分布在售票口和檢票口,它可隨時(shí)向旅客報(bào)告公司汽車運(yùn)營(yíng)情況,以便讓旅客選擇需乘的車次。同時(shí),顯示子系統(tǒng)增加了售票的透明度,能更好地利用資源,以免造成一些不必要的人為損失,也在旅客中樹(shù)立起良好的公司形象。 2.2.4 財(cái)務(wù)子系統(tǒng)
財(cái)務(wù)系統(tǒng)是公司的財(cái)政要塞,因此口令設(shè)置和管理很重要,它主要分為領(lǐng)票紀(jì)錄,統(tǒng)計(jì)與轉(zhuǎn)存、查詢、結(jié)算報(bào)表四大功能模塊。 領(lǐng)票紀(jì)錄 記錄各個(gè)售票員領(lǐng)票情況,它管理原始車票的流向。 統(tǒng)計(jì)與轉(zhuǎn)存 在售票員。檢票員完成當(dāng)天工作時(shí),計(jì)算機(jī)自動(dòng)對(duì)每個(gè)售票員的售票情況作統(tǒng)計(jì)。它還可自動(dòng)分類,對(duì)每個(gè)參營(yíng)公司、每個(gè)車次作出統(tǒng)計(jì),并將統(tǒng)計(jì)結(jié)果轉(zhuǎn)存到上次統(tǒng)計(jì)結(jié)果中。便于售票員、參營(yíng)公司按時(shí)結(jié)帳。 查詢功能 提供給財(cái)務(wù)管理人員使用,它可按財(cái)務(wù)人員要求項(xiàng)目進(jìn)行日統(tǒng)計(jì)或月統(tǒng)計(jì),與統(tǒng)計(jì)轉(zhuǎn)存功能進(jìn)行核實(shí)。還可查詢每個(gè)售票員或整個(gè)公司的當(dāng)前售票細(xì)節(jié)。 結(jié)算報(bào)表 管理各售票員和參營(yíng)公司結(jié)算,售票員,參營(yíng)公司可以按日或按月隨時(shí)到財(cái)務(wù)處結(jié)算,計(jì)算機(jī)打印出結(jié)算表。票據(jù)抵銷是管理售職員因打印失誤造成的廢票以及已無(wú)法售出的票。
2.2.5 調(diào)度子系統(tǒng)
調(diào)度系統(tǒng)主要是管理發(fā)車,停車、加班等情況,它統(tǒng)一安排本公司及各參營(yíng)公司的發(fā)車日間。如果某次車誤點(diǎn)或因故障不能發(fā)車,它要迅速作合理的協(xié)調(diào)。在節(jié)假日客流量增大時(shí),需要臨時(shí)增加一些班次,它可以根據(jù)所增加的班次的行程和車型自動(dòng)確定票價(jià),并重新協(xié)調(diào)各車次的發(fā)車時(shí)間。 3 QYMIS 關(guān)鍵技術(shù)問(wèn)題及解決方法 3.1 信息的集成方法 由于QYMIS涉及到售票、檢票、統(tǒng)計(jì)、調(diào)度、查詢等多個(gè)功能模塊,因此,開(kāi)發(fā)具有一致性的數(shù)據(jù)庫(kù)系統(tǒng)是十分重要的。QYMIS將共享信息,例如車次庫(kù)、檢票庫(kù)、退票庫(kù)、口令庫(kù)、導(dǎo)程庫(kù)等存放在服務(wù)器上進(jìn)行集中、統(tǒng)一的管理。各功能模塊根據(jù)自己的使用權(quán)限可獲取相應(yīng)的信息服務(wù)。對(duì)于非共享信息,例如打印庫(kù)、售票臨時(shí)庫(kù)等則可分散放置在各個(gè)客戶機(jī)上,減輕服務(wù)器的壓力,緩和總線的競(jìng)爭(zhēng),加快信息的傳輸速率。 為了確保共享信息的安全性和一致性,我們?cè)谶x用統(tǒng)一的數(shù)據(jù)庫(kù)系統(tǒng)平臺(tái)的基礎(chǔ)上,針對(duì)客運(yùn)站的具體情況,設(shè)計(jì)了統(tǒng)一的數(shù)據(jù)結(jié)構(gòu),并對(duì)信息進(jìn)行統(tǒng)一的編碼。例如,給每張車票分配一個(gè)唯一的編碼,通過(guò)對(duì)車票編號(hào)的檢索,達(dá)到對(duì)車票的售、檢、統(tǒng)計(jì)、查詢等操作的目的。 QYMIS的信息集成的另一個(gè)特色是引人了條碼自動(dòng)識(shí)別技術(shù)。條碼自動(dòng)識(shí)別技術(shù)具有輸入速度快、準(zhǔn)確度高、成本低、可靠性強(qiáng)、操作簡(jiǎn)單等優(yōu)點(diǎn)。用條碼表示車票的編碼,售票時(shí),在車票上按系統(tǒng)分配的編碼實(shí)時(shí)生成條碼。檢票、退票時(shí)只需對(duì)條碼進(jìn)行掃描操作,大大提高了信息處理的速度和準(zhǔn)確度。
3.2 條碼車票的實(shí)時(shí)生成與印制方法
國(guó)內(nèi)有些客運(yùn)站的車票上也印制有條碼,但一般是預(yù)先印制好條碼,條碼信息與票面信息是無(wú)關(guān)的,因此,沒(méi)有充分發(fā)揮條碼在信息管理方面的優(yōu)勢(shì)。為了解決這一問(wèn)題,本文提出了實(shí)時(shí)生成條碼車票的方案。通過(guò)實(shí)際使用的總結(jié),條碼車票的實(shí)時(shí)生成首先要滿足以下的要求:
- 打印速度快。要在20秒鐘內(nèi)完成一張票的打。
- 撕票方便。能自動(dòng)將車票送入打印機(jī)打;打印完畢,自動(dòng)送出打好的車票,讓售票員撕下。下次打印時(shí),打印機(jī)又能將需打印的車票歸位;
- 能實(shí)現(xiàn)漢字、西文和條碼的混合打。
- 要基本杜絕打印機(jī)卡紙的現(xiàn)象;
- 能打印連續(xù)可變的條碼。
要達(dá)到上述要求,必須選擇合適的打印機(jī)和條碼的種類,在軟件上要解決好漢字、西文和條碼的混合打印問(wèn)題。目前市場(chǎng)上流行的針打有:EPSON、BROTHER,Citizen、HP、FujitSu、Panasonic等系列。通過(guò)大量的嘗試比較,我們選用了EPSON系列的LQ-150打印機(jī)。它體積小巧,價(jià)格便宜,內(nèi)置ROM漢字模,能高速打印漢字,還帶有撕紙回位特性;緷M足我們對(duì)車票的打印要求。 客票選擇條碼的標(biāo)準(zhǔn)應(yīng)不同于一般商品的選用標(biāo)準(zhǔn),它要求在指定的印刷面積內(nèi)能表達(dá)盡可能多的信息量,并且具有一定的防偽功能。所以它首先要求信息密度大。又因?yàn)闂l碼信息只需要表示票號(hào),只含有數(shù)字。鑒于以上的要求,我們選用了一維條碼中的交叉二五碼。為了增加信息密度,我們?nèi)サ袅私徊娑宕a的校驗(yàn)位,而在應(yīng)用軟件中增加了校驗(yàn)功能。 條碼的打印有圖像法和字模法。圖象法的優(yōu)點(diǎn)是與操作方法無(wú)關(guān)。打印的條碼密度和精度可根據(jù)打字機(jī)的精度值任意調(diào)整,變化比較豐富。打印的條碼可設(shè)計(jì)成任意的,并且能做到字符或其它圖案和條碼同時(shí)打印。但其缺點(diǎn)是:在漢字方式下字體不夠豐富或者不能打印漢字,打印速度較慢,且程序編制復(fù)雜,字模法是利用造字軟件在漢字庫(kù)的空區(qū)造好條碼的構(gòu)成元素——條碼圖形字模,利用各圖形字模的組合形成不同內(nèi)容的條碼。這種方法的優(yōu)點(diǎn)是:能做到條碼和漢字的任意混排;能使各種漢字庫(kù)中的不同字體和大小的漢字與條碼共存,可排出復(fù)雜美觀的版面;程序編制簡(jiǎn)單。此方法用于打印機(jī)硬字庫(kù)上(不用驅(qū)動(dòng)程序),打印條碼速度與打印字符一樣快,能使打印條碼的速度成倍地提高。但字模法打印條碼的密調(diào)度一般不能任意變動(dòng),且只能打印一些離散碼,還受不同操作系統(tǒng)的限制。 由于選用的交叉二五碼是一種連續(xù)碼,所以無(wú)法用字模法打印條碼。但是為了吸收字模法的優(yōu)點(diǎn),采用條碼使用圖像法打印,而字符和漢字用字模法打印的辦法。它綜合了字模法打印速度快和圖像法打印靈活的優(yōu)點(diǎn),能收到良好的效果。 條碼打印軟件選用Turbo C2.O編制,它的好處是程序短、速度快、兼容性好,用C語(yǔ)言向打印機(jī)發(fā)送數(shù)據(jù),使條碼打印速度提高很多。但是,我們是用FOxpro2.5 For Windows調(diào)用C程序,而WINDOWS的圖形屏幕與DOS的圖形屏幕是不兼容的,所以在C程序中要避免使用屏幕圖形初始化的函數(shù)。在C程序中通過(guò)一些計(jì)算將條碼符號(hào)轉(zhuǎn)換成打印數(shù)據(jù)存放在一組數(shù)中,然后直接發(fā)送到打印機(jī),而不需在屏幕上顯示。這樣就能實(shí)現(xiàn)文本屏幕下的圖像打印條碼,很好的解決了FOXPRO與C的接口問(wèn)題。條碼車票的打印示例見(jiàn)圖5。 3.3 系統(tǒng)可靠性設(shè)計(jì)
系統(tǒng)的可靠性的好壞直接關(guān)系到系統(tǒng)的成敗。如果一個(gè)系統(tǒng)經(jīng)常發(fā)生故障,甚至產(chǎn)生錯(cuò)誤的數(shù)據(jù),導(dǎo)致一些嚴(yán)重的后果,就會(huì)給使用者一種不安全的心理影響,最終導(dǎo)致用戶棄之不用。當(dāng)然,要保證一個(gè)系統(tǒng)完全不發(fā)生故障也是不現(xiàn)實(shí)的,關(guān)鍵在于系統(tǒng)應(yīng)該有一定的自救能力。當(dāng)系統(tǒng)發(fā)生故障或產(chǎn)生錯(cuò)誤的數(shù)據(jù)時(shí),系統(tǒng)本身應(yīng)能作出反應(yīng),采取措施進(jìn)行補(bǔ)救、恢復(fù),井給出相應(yīng)的提示信息。 QYMIS為達(dá)到這一目的,在軟硬件及網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)上均采取了相應(yīng)的措施。軟件中設(shè)計(jì)了各種容錯(cuò)功能,防止使用者的誤操作非法修改數(shù)據(jù)。程序中還設(shè)計(jì)了數(shù)據(jù)自動(dòng)備份的功能,避免意外事故造成數(shù)據(jù)的丟失。在數(shù)據(jù)庫(kù)的設(shè)計(jì)中,保留一定的數(shù)據(jù)冗余度,當(dāng)某一處的數(shù)據(jù)發(fā)生錯(cuò)誤的時(shí)候,可以通過(guò)系統(tǒng)別處的冗余數(shù)據(jù)重建、恢復(fù)系統(tǒng)的正確狀態(tài)。在硬件的設(shè)計(jì)上,服務(wù)器配有陣列式硬盤,具有磁盤鏡像功能,自動(dòng)映射保護(hù)的數(shù)據(jù)。當(dāng)主工作盤發(fā)生故障時(shí),系統(tǒng)自動(dòng)啟用備用盤,并給予警報(bào)信息,以便工作人員作出反應(yīng)。另外,系統(tǒng)還配有UPS不間斷電源,防止掉電時(shí),系統(tǒng)突然死亡,造成不可恢復(fù)。QYMIS采用了星形的網(wǎng)絡(luò)結(jié)構(gòu),當(dāng)某一客戶機(jī)發(fā)生故障時(shí),不至于影響整個(gè)系統(tǒng)的正常運(yùn)行。 系統(tǒng)可靠性還與系統(tǒng)管理和操作人員的水平有關(guān)、正確的使用才能確保系統(tǒng)能長(zhǎng)期穩(wěn)定的運(yùn)行。為了防止系統(tǒng)感染病毒,要嚴(yán)格控制軟件的來(lái)源和管理。除了系統(tǒng)操作員,其他人員不得自行向系統(tǒng)中引入軟件。一般的工作站的軟驅(qū)用軟件鎖定,授權(quán)享用安裝軟件的人員必須建立責(zé)任制。 3.4 用戶界面的設(shè)計(jì)
對(duì)于一個(gè)實(shí)用的MIS系統(tǒng)來(lái)說(shuō)。用戶界面的質(zhì)量直接影響其生命力。用戶界面把具有可靠性、簡(jiǎn)單性、靈活性和立即反饋等特性。 可靠性:指界面要具有一定的容錯(cuò)能力,能及時(shí)正確地給出運(yùn)行狀態(tài)指示和出錯(cuò)信息,并指導(dǎo)用戶改正錯(cuò)誤。 簡(jiǎn)單性:盡量減少用戶的負(fù)擔(dān)。即操作簡(jiǎn)單、容易記憶,輸入/輸出容易理解,提供以機(jī)器為主導(dǎo)的會(huì)話形式,指導(dǎo)用戶操作。 立即反饋性:對(duì)用戶的應(yīng)用請(qǐng)求把在用戶心理許可的范圍內(nèi)給出響應(yīng),即使得不到結(jié)果,也應(yīng)給出某種信息以緩和用戶的等待心理。 4. 結(jié)論
QYMIS實(shí)際投入使用近一年,售票百萬(wàn)余張,運(yùn)行正常,有效地改善了售票、檢票工作環(huán)境,提高了工作效率,減少了售檢票的出錯(cuò)率,達(dá)到了提高客運(yùn)車站服務(wù)自動(dòng)化水平的預(yù)期目的。 QYMIS技術(shù)上的創(chuàng)新和特色如下:
- 微機(jī)售票窗口具有多到站、多票種,以及售票、預(yù)售和退票等功能。面對(duì)旅客售票的信息動(dòng)態(tài)彩色屏幕顯示,有利于提高服務(wù)水平。
- 采用條碼自動(dòng)識(shí)別技術(shù),按票面信息進(jìn)行唯一編碼,通過(guò)與售票數(shù)據(jù)庫(kù)的聯(lián)岡查詢,自動(dòng)判斷車票的真?zhèn)、是否屬于本次車等多種信息情況,自動(dòng)進(jìn)行檢票統(tǒng)計(jì)和打印結(jié)算單。
- QYMIS采用了統(tǒng)一的軟硬件平臺(tái),統(tǒng)一的數(shù)據(jù)結(jié)構(gòu)和信息編碼工作。售票、檢票、查詢、財(cái)務(wù)等子系統(tǒng)之間實(shí)現(xiàn)的據(jù)資源共享,信息集成管理。
- 采用磁盤鏡像功能以及的據(jù)備份、售票錯(cuò)誤自校正、應(yīng)急處理等程序設(shè)計(jì)方法,有效保證了系統(tǒng)和數(shù)據(jù)的可靠安全。
|