錢春霞
(德州職業(yè)技術(shù)學(xué)院 山東省德州市 253034)
近年來,隨著酒店業(yè)規(guī)模的不斷增長(zhǎng),酒店管理工作的復(fù)雜度顯著提升,以往的傳統(tǒng)酒店管理工作模式已然不能滿足實(shí)際需要,基于互聯(lián)網(wǎng)等新興技術(shù)打造酒店管理系統(tǒng),以提升酒店管理效率和質(zhì)量則成為業(yè)界的研究熱點(diǎn),研究人員對(duì)此也進(jìn)行了大量的研究。如劉映群等人基于物聯(lián)網(wǎng)技術(shù)構(gòu)建了“智慧酒店管理系統(tǒng)”,實(shí)現(xiàn)對(duì)酒店設(shè)備與門禁的集中控制管理,來提升工作流程效率;王香宇等人則基于數(shù)字電視網(wǎng)絡(luò)技術(shù)進(jìn)行管理系統(tǒng)研究,以期提升管理與服務(wù)的質(zhì)量。但從整體角度來看,目前已有的研究主要針對(duì)單個(gè)酒店的管理工作,尚缺乏對(duì)連鎖酒店統(tǒng)一管理系統(tǒng)的研究,因此在本次研究中,將研究中心放在連鎖酒店管理系統(tǒng)的研發(fā)設(shè)計(jì)工作中,以解決連鎖酒店管理工作的不足。
考慮到連鎖酒店規(guī)模較大,以及經(jīng)營(yíng)管理的復(fù)雜性,結(jié)合以上情況,在本次系統(tǒng)設(shè)計(jì)工作中,主要考慮以下幾方面的需求:
一是連鎖酒店“總店”管理員的需求,總店管理員賬戶應(yīng)當(dāng)具備編輯和增刪各個(gè)分店信息的權(quán)限,并能夠任意查看數(shù)據(jù)庫(kù)上所有會(huì)員的相關(guān)信息,而不需基于特定需要而在分店數(shù)據(jù)庫(kù)中抓取數(shù)據(jù)。
二是會(huì)員賬戶的需求,會(huì)員賬戶應(yīng)當(dāng)具備查閱會(huì)員積分以及其他的明細(xì)信息。
三是分店賬戶的需求,分店賬戶根據(jù)其職能的不同,又可分為管理員、前臺(tái)接待、前臺(tái)收銀和財(cái)務(wù)四類賬戶,但這四類賬戶基于同一登陸界面登陸,而后再執(zhí)行相應(yīng)操作。具體來看,這四類賬戶主要是通過分工合作的方式完成以下幾類功能:
(1)設(shè)置基本信息,主要針對(duì)入住人員、商品和房間的信息維護(hù)管理;
(2)住宿管理:主要包括入住登記、結(jié)賬、打印報(bào)表等;
(3)房態(tài)轉(zhuǎn)換:對(duì)房間狀態(tài)進(jìn)行切換;
(4)客人資料管理:對(duì)入住人員的資料進(jìn)行查詢與編輯;
(5)房間預(yù)訂管理和黑名單管理;
(6)執(zhí)行日結(jié)工作。
在系統(tǒng)的軟件架構(gòu)設(shè)計(jì)環(huán)節(jié)中,考慮到開發(fā)速度、實(shí)際應(yīng)用和后期訪問等多方面的需要,在本次系統(tǒng)開發(fā)中,基于主流的B/S 架構(gòu)進(jìn)行開發(fā),該架構(gòu)能夠遵循TCP/IP 通信協(xié)議運(yùn)行,對(duì)于后期的功能擴(kuò)展而言,也較為有利。
同時(shí),采用三層體系結(jié)構(gòu)模型進(jìn)行設(shè)計(jì),具體層級(jí)與功能如表1所示。
表1:平臺(tái)軟件架構(gòu)層級(jí)與功能
在確定使用B/S 架構(gòu)開發(fā)系統(tǒng)軟件架構(gòu)后,對(duì)系統(tǒng)的整體網(wǎng)絡(luò)進(jìn)行布局,基于各個(gè)分店與總部的設(shè)備使用情況,以及網(wǎng)絡(luò)安全等方面的考慮,在整體布局上,采用總部網(wǎng)絡(luò)與門店網(wǎng)絡(luò)以互聯(lián)網(wǎng)相連接的方式,并使用硬件VPN 設(shè)備搭建虛擬安全通道,以確保數(shù)據(jù)傳輸?shù)男逝c安全性。其中,連鎖酒店總部的網(wǎng)絡(luò)采用負(fù)載均衡技術(shù),確保數(shù)據(jù)處理量較高時(shí)每臺(tái)服務(wù)器的負(fù)載處于相對(duì)均衡狀態(tài),避免個(gè)別服務(wù)器因過載而無法運(yùn)行;各個(gè)門店的網(wǎng)絡(luò)則采用具有三層網(wǎng)絡(luò)管理的VPN 物理設(shè)備進(jìn)行管理。
另一方面,為實(shí)現(xiàn)此開發(fā)流程的順利進(jìn)行,在本次研究中,采用Eclipse 作為開發(fā)工具,Tomcat 和JSP 作為后臺(tái)服務(wù)器,MySQL作為數(shù)據(jù)庫(kù),具體實(shí)現(xiàn)采用以下的軟硬件平臺(tái)。
硬件平臺(tái)如下:
處理器:Intel Core i7 3.50GHz 或更高
內(nèi)存:16GB
硬盤空間:2TB
顯卡:NVIDIA 顯示適配器
軟件平臺(tái)如下:
操作系統(tǒng):Windows 10
開發(fā)軟件:Eclipse 10.0
數(shù)據(jù)庫(kù):MySQL2019
Web 服務(wù)器:Tomcat7.0
由于連鎖酒店管理系統(tǒng)在實(shí)際應(yīng)用過程中涉及到大量不同類型的數(shù)據(jù)信息,且涉及到大量軟硬件設(shè)備的適配,因此在本環(huán)節(jié)的設(shè)計(jì)中,選擇基于proxy network 的數(shù)據(jù)傳輸方式(圖1)進(jìn)行數(shù)據(jù)傳輸,從而提高數(shù)據(jù)傳輸?shù)男省?/p>
圖1:proxy network 基本原理圖
具體來看,基于這種傳輸方式的數(shù)據(jù)傳輸步驟如下:
(1)客戶端向服務(wù)端發(fā)送數(shù)據(jù)需求封包;
(2)服務(wù)端接收后,判斷來源與目標(biāo)的合法性;
(3)如來源與目標(biāo)均為合法,服務(wù)端檢查自身是否存在符合要求的數(shù)據(jù),如不存在則向網(wǎng)絡(luò)中的其他設(shè)備索取數(shù)據(jù);
(4)獲得數(shù)據(jù)后,將數(shù)據(jù)回傳給客戶端。
在本次系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)中,主要基于MySQL2019 進(jìn)行設(shè)計(jì),相關(guān)數(shù)據(jù)信息均存儲(chǔ)于云端服務(wù)器中[9-10],其主要信息表如表2、表3、表4所示。
表2:入住客房人員數(shù)據(jù)表
表3:房間消費(fèi)情況數(shù)據(jù)表
表4:會(huì)員相關(guān)數(shù)據(jù)表
考慮到連鎖酒店管理系統(tǒng)的數(shù)據(jù)規(guī)模較為可觀,因此,為實(shí)現(xiàn)對(duì)這些數(shù)據(jù)的有效處理,基于以下幾個(gè)步驟構(gòu)建數(shù)據(jù)庫(kù)的處理邏輯:
(1)經(jīng)過各種渠道所得到的數(shù)據(jù)信息被傳輸?shù)綌?shù)據(jù)庫(kù)中;
(2)數(shù)據(jù)庫(kù)接收相應(yīng)數(shù)據(jù)信息,并進(jìn)行判斷是否已經(jīng)有效接收,未接收到數(shù)據(jù)則重新予以接收,如已接收到,則立刻對(duì)此進(jìn)行校驗(yàn);
(3)如數(shù)據(jù)未通過校驗(yàn),則本次數(shù)據(jù)處理提前結(jié)束,相關(guān)數(shù)據(jù)不存儲(chǔ),如數(shù)據(jù)校驗(yàn)通過,則這些數(shù)據(jù)將被分類整理,并儲(chǔ)存在數(shù)據(jù)庫(kù)當(dāng)中。
同時(shí),為提高數(shù)據(jù)的安全性,在本次設(shè)計(jì)中,采用AES加密算法進(jìn)行數(shù)據(jù)加密設(shè)計(jì),其基本流程圖如圖2所示。
圖2:RSA 融合AES 加密算法的流程圖
在此基礎(chǔ)上,為確保該加密算法得以有效應(yīng)用,本次設(shè)計(jì)中選擇DS420j 型儲(chǔ)存器,首先對(duì)相關(guān)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,使之變?yōu)轭愋徒y(tǒng)一的數(shù)據(jù),而后將這些數(shù)據(jù)經(jīng)由轉(zhuǎn)接口進(jìn)行輸出,最后基于此加密算法進(jìn)行加密處理。
為確保該系統(tǒng)中的數(shù)據(jù)能夠高效率進(jìn)行轉(zhuǎn)移,在本次研究工作中,硬件接口選用C5402 DSP 片,通過此器件將目標(biāo)數(shù)據(jù)予以快速轉(zhuǎn)移和傳輸,將其傳輸至不同的數(shù)據(jù)庫(kù)之中。同時(shí)硬件接口配備信號(hào)發(fā)生器和信號(hào)屏蔽器,其中前者主要通過發(fā)送與數(shù)據(jù)信號(hào)頻率相同的信號(hào),確保信號(hào)發(fā)送和接受之間的用時(shí)在15s 以下,后者的主要作用則是在特殊情況下屏蔽外界信號(hào),避免數(shù)據(jù)接口和網(wǎng)絡(luò)接口互通可能帶來的干擾因素。
為提高本次設(shè)計(jì)的“連鎖酒店管理系統(tǒng)”的智能化水平,在本次設(shè)計(jì)的硬件部分中,增加以下幾方面的輔助功能:首先是引入攝像頭模塊,其目的是對(duì)入住人員和工作人員進(jìn)行智能化的人臉識(shí)別,實(shí)現(xiàn)對(duì)相關(guān)人員的精準(zhǔn)判定。在攝像頭模塊中,使用ALIENTEK ATK-OV2640 攝像頭,其在靈敏度和性能參數(shù)方面較具優(yōu)勢(shì)。其次是引入基于SPI 接口的高速Wi-Fi 模塊電路與RFID 模塊電路,這兩個(gè)模塊主要用于提升數(shù)據(jù)傳輸效率,可將“有效”吞吐速度提升至兆字節(jié)每秒的數(shù)量級(jí)。三是顯示屏,其主要用于連鎖酒店管理系統(tǒng)的操作終端,本次選用ALIENTEK 第二代7 寸TFTLCD 電容觸摸屏,并使用SSD1963 方案進(jìn)行驅(qū)動(dòng),該觸摸屏支持多種數(shù)據(jù)格式,其實(shí)用性較高,且相對(duì)于傳統(tǒng)電阻屏有著更高的操控效果。
為實(shí)現(xiàn)系統(tǒng)登錄功能,在系統(tǒng)登錄模塊的設(shè)計(jì)中,其代碼主要包含顯示登錄窗體、設(shè)置登錄窗體和設(shè)置登錄驗(yàn)證碼等功能,在執(zhí)行相應(yīng)段的代碼后,操作人員即可輸入相應(yīng)的IP 地址后進(jìn)入系統(tǒng)登錄模塊中,按照頁(yè)面提示輸入自己的用戶名和密碼,輸入完成后,系統(tǒng)會(huì)驗(yàn)證用戶名和密碼是否正確,如正確則進(jìn)入操作界面,否則提示“用戶名或密碼錯(cuò)誤,請(qǐng)重新登陸”消息框。
為實(shí)現(xiàn)入住登記模塊的相應(yīng)功能,其基本流程如下:
(1)當(dāng)申請(qǐng)入住人員提供個(gè)人信息后,由前臺(tái)工作人員輸入相關(guān)信息,系統(tǒng)分別到本地和遠(yuǎn)程的數(shù)據(jù)庫(kù)中查找相應(yīng)記錄,判定其是否符合入住條件;
(2)確定申請(qǐng)入住者符合條件后,通過以下條件進(jìn)行查詢,確定其是否為新入住者:
Menbercardno=’輸入值參數(shù)’ and menberflag=’1’
如不符合該限定條件則系統(tǒng)將其視之為新增的入住者,而后進(jìn)入到選房間階段;
(3)設(shè)置好入住者的證件信息,并輸入相關(guān)聯(lián)系方式信息后,為其選擇一個(gè)房間;
(4)當(dāng)入住者繳納房間的按金后,系統(tǒng)將自動(dòng)產(chǎn)生一條按金單號(hào),由此入駐登記流程即完成。
對(duì)于入住人員在入住期間涉及到的消費(fèi)情況,工作人員的基本處理流程是:
(1)選擇產(chǎn)生額外消費(fèi)的入住人員房間號(hào);
(2)勾選同一入住人員所開的其他房間,并分別輸入需要補(bǔ)收的費(fèi)用;
(3)預(yù)覽結(jié)賬單,如總金額正確,則選擇付款方式,并根據(jù)入住人員的需求確定是否需要打印相關(guān)票據(jù)。
當(dāng)然,在實(shí)際操作過程中,可能出現(xiàn)因疏忽而將消費(fèi)項(xiàng)目添加錯(cuò)誤的情況。為消除這類錯(cuò)誤,則通過以下兩種數(shù)據(jù)庫(kù)操作方式予以解決:
一是將相應(yīng)消費(fèi)項(xiàng)目的金額設(shè)置為負(fù)值,使之“正負(fù)相抵”,以保證該房間的總消費(fèi)金額仍保持正確,在具體操作時(shí)分為以下兩個(gè)步驟:
(1)Insert into citems values(‘該客人的主鍵識(shí)別碼cpk’,’房間號(hào)’,’雜項(xiàng)編號(hào)’,’金額’,’時(shí)間’,’操作人員編號(hào)’,oldflag 字段賦值為零);
(2)update ctotal set citems=正確值 where cpk=‘ 該客人的主鍵識(shí)別碼cpk’ and croom=’ 房間號(hào)’ and oldflag=0。
二是直接刪除出現(xiàn)錯(cuò)誤的相應(yīng)消費(fèi)內(nèi)容,在具體操作時(shí),分為以下兩個(gè)步驟:
(1)delete from citems where cpk=‘該客人的主鍵識(shí)別碼cpk’ and croom=’房間號(hào)’ and itemid=’雜項(xiàng)編號(hào)’and htime=’時(shí)間’,’操作員工號(hào)’ and oldflag=0;
(2)update ctotal set citems=正確值 where cpk=‘ 該客人的主鍵識(shí)別碼cpk’ and croom=’ 房間號(hào)’ and oldflag=0。
通過應(yīng)用以上二者其中之一后,錯(cuò)誤的消費(fèi)內(nèi)容將得以有效處理,而后操作人員即可執(zhí)行結(jié)賬打單操作。
在連鎖酒店中涉及到一部分會(huì)員賬戶,其在頻繁的入住環(huán)節(jié)中將產(chǎn)生一定的積分,而部分會(huì)員則有使用積分兌換禮品的需要。為此,在該模塊的設(shè)計(jì)中,基于以下幾個(gè)步驟進(jìn)行寫數(shù)據(jù)表操作,以實(shí)現(xiàn)預(yù)期功能:
(1)設(shè)置remotepflag 賦值為零,而后再根據(jù)會(huì)員賬戶的需要,將會(huì)員賬戶所選禮品類型和個(gè)數(shù)逐條寫入本地?cái)?shù)據(jù)庫(kù)的scoreconsumes 表中;
(2)系統(tǒng)自動(dòng)計(jì)算出會(huì)員賬戶所選禮品需要的總積分,而后使用已有的scoreavail 字段值與之相減,得到的差值scoreAvailNow 作為該會(huì)員賬戶的可用積分,同時(shí)將remotepflag 賦值為零,更新到本地?cái)?shù)據(jù)表中;
(3)用批量更新的方式更新本地的會(huì)員積分?jǐn)?shù)據(jù)表,并將更新后的數(shù)據(jù)信息(主要為會(huì)員兌換禮品的所有記錄)insert 到總店數(shù)據(jù)庫(kù)中,該環(huán)節(jié)完成后,將本地會(huì)員積分?jǐn)?shù)據(jù)表中相應(yīng)記錄的remotepflag 賦值為“1”。
在執(zhí)行以上步驟后,會(huì)員積分則兌換成功,且能夠與總店的數(shù)據(jù)庫(kù)完成數(shù)據(jù)同步。
由于不同類型的數(shù)據(jù)表之間存在一定的差異,因此數(shù)據(jù)同步的方式也存在差異,具體來看,數(shù)據(jù)同步環(huán)節(jié)中,主要針對(duì)以下幾個(gè)方面進(jìn)行。
(1)針對(duì)入住成員表格的同步。首先在該數(shù)據(jù)表中檢索所有的memberflag,對(duì)其中字段值為0、1、2 的記錄存入變量listC 當(dāng)中,而后再對(duì)listC 進(jìn)行檢索,判斷當(dāng)前元素的cpk 分量值是否同時(shí)存在于總店數(shù)據(jù)庫(kù)中的入住成員表內(nèi),如存在則執(zhí)行update,反之則執(zhí)行insert,執(zhí)行完畢后,將本地的入住成員數(shù)據(jù)表中未同步記錄的remotepflag 賦值為“1”。
(2)針對(duì)入住信息登記表的同步。首先在該表格中查閱remotepflag 賦值為“0”的字段,將這些記錄存入變量listM 中,而后對(duì)變量listM 進(jìn)行檢索,循環(huán)過程中,同時(shí)在總店數(shù)據(jù)庫(kù)中的入住成員表內(nèi)查詢當(dāng)前元素的cpk 分量值,以形成insert 語(yǔ)句所需要的參數(shù)值,如此循環(huán)以得出批量的insert 語(yǔ)句并最終執(zhí)行;最后,將未同步記錄的remotepflag賦值為“1”。
(3)針對(duì)會(huì)員賬戶積分表的同步。首先,在該表格中查閱remotepflag 賦值為“0”的字段,將這些記錄存入變量listS 中,而后對(duì)變量listS 進(jìn)行檢索,循環(huán)過程中,同時(shí)在總店數(shù)據(jù)庫(kù)中的入住成員表內(nèi)查詢當(dāng)前元素的cpk 分量值,以形成insert 語(yǔ)句所需要的參數(shù)值,如此循環(huán)以得出批量的insert 語(yǔ)句并最終執(zhí)行;最后,將未同步記錄的remotepflag賦值為“1”。
在會(huì)員積分查詢模塊中,首先使用hotels 數(shù)據(jù)表對(duì)相關(guān)的分店信息進(jìn)行查詢,而后再?gòu)目偟陻?shù)據(jù)庫(kù)中的入住成員表、入住信息登記表和會(huì)員賬戶積分表中進(jìn)行數(shù)據(jù)信息的檢索,其中積分兌換信息主要從會(huì)員賬戶積分表中檢索出,主要基于DAO 接口進(jìn)行。在Action 層中調(diào)用Service 層,進(jìn)而調(diào)用DAO 層,在執(zhí)行相應(yīng)代碼后,將嵌入了格式化標(biāo)簽的檢索結(jié)果字符串傳輸給Service 層,最終會(huì)傳遞給Action 層兩個(gè)屬性值,分別為theMemberSearchResult 和theMemberScor eConsumesSearchResult,在得到以上兩個(gè)屬性值后,視圖層中也將顯示出相應(yīng)的查詢結(jié)果。
查詢過程對(duì)應(yīng)的SQL 語(yǔ)句如下:
Selectmembercardno,cname,hotelid,htime,giftname,giftscor e,giftnum,scoresum,clerkid from scoreconsumes
where 1=1
order by htime desc
如需要輸入查詢條件,則可在上述SQL 語(yǔ)句后的where子句后添加相應(yīng)的查詢條件(以“and”為連接詞)。
在系統(tǒng)設(shè)計(jì)完成后,首先對(duì)系統(tǒng)的基本性能進(jìn)行測(cè)試,此階段的測(cè)試工作中,一方面,測(cè)試人員部署了多個(gè)不同的硬件環(huán)境對(duì)該系統(tǒng)進(jìn)行測(cè)試,測(cè)試結(jié)果表明,該系統(tǒng)在不同硬件環(huán)境下均有著較好的表現(xiàn),不存在嚴(yán)重的bug,符合使用要求。另一方面,測(cè)試人員構(gòu)建虛擬環(huán)境,模擬500 人同時(shí)應(yīng)用系統(tǒng)情況下系統(tǒng)的響應(yīng)時(shí)間,經(jīng)測(cè)算,在這種高并發(fā)的情況下,系統(tǒng)的平均響應(yīng)時(shí)間維持在3.9s 左右,雖然響應(yīng)時(shí)間相對(duì)有所延長(zhǎng),但整體仍然能夠保證系統(tǒng)的順暢運(yùn)行。
在性能測(cè)試通過后,測(cè)試人員設(shè)計(jì)了102 個(gè)模擬測(cè)試案例,這些案例包括系統(tǒng)登錄、散客/團(tuán)隊(duì)的預(yù)訂、入住和離店、會(huì)員管理、相關(guān)單位管理、系統(tǒng)設(shè)置等內(nèi)容,共計(jì)進(jìn)行5 輪測(cè)試,測(cè)試過程中的問題數(shù)量如表5所示。
表5:測(cè)試過程中的問題分布
從表中的數(shù)據(jù)可知,本次設(shè)計(jì)的連鎖酒店管理系統(tǒng)在測(cè)試過程中并未出現(xiàn)功能層面的問題,系統(tǒng)中的各項(xiàng)功能均可高效率完成。當(dāng)然,在測(cè)試過程中存在的少量建議性問題也表明該系統(tǒng)在技術(shù)層面仍有著一定的提升空間,在后期的系統(tǒng)更新中仍有待于做進(jìn)一步的優(yōu)化。
整體來看,在本次研究中,通過整合各種計(jì)算機(jī)技術(shù)、互聯(lián)網(wǎng)技術(shù)和電子技術(shù)等,初步建設(shè)了連鎖酒店管理系統(tǒng),通過對(duì)該系統(tǒng)的實(shí)際測(cè)試表明,該連鎖酒店管理系統(tǒng)在功能和性能兩方面均通過了測(cè)試,能夠?qū)崿F(xiàn)預(yù)期功能,證明本次連鎖酒店管理系統(tǒng)的研究設(shè)計(jì)工作取得了初步的成功,其在未來的酒店管理工作中也具有潛在的應(yīng)用價(jià)值。當(dāng)然,由于客觀原因之所限,本次設(shè)計(jì)的連鎖酒店管理系統(tǒng)仍有著一定的提升空間,在今后的研究工作中,有必要進(jìn)一步引入人工智能技術(shù)等的參與,以期進(jìn)一步提升連鎖酒店管理系統(tǒng)的運(yùn)行效率和質(zhì)量,推動(dòng)其實(shí)用性的進(jìn)一步提升。