• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于微信公眾號的博物館預(yù)約系統(tǒng)設(shè)計與實現(xiàn)

      2019-12-19 02:09:35廖珊陽利鋒
      科技創(chuàng)新導(dǎo)報 2019年22期

      廖珊 陽利鋒

      摘 ? 要:隨著移動互聯(lián)網(wǎng)的快速發(fā)展,博物館作為一個為社會發(fā)展服務(wù)的、向公眾開放的非營利性常設(shè)機構(gòu),引進(jìn)先進(jìn)的移動信息技術(shù),實現(xiàn)在線預(yù)約參館已成為必然的趨勢。本文結(jié)合地質(zhì)博物館的實際情況,開發(fā)了基于微信公眾號的預(yù)約系統(tǒng),實現(xiàn)了門票預(yù)約、二維碼票據(jù)生成、票據(jù)驗證等一系列功能,提高了工作效率,降低了管理成本,改善了公眾的參館體驗。

      關(guān)鍵詞:移動互聯(lián)網(wǎng) ?預(yù)約系統(tǒng) ?二維碼票據(jù) ?末位校驗碼 ?加密解密

      中圖分類號:TP311 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A ? ? ? ? ? ? ? ? ? ? ? ?文章編號:1674-098X(2019)08(a)-0134-02

      1 ?背景

      微信作為中國使用最多的實時通訊工具,與我們每個人的線上線下生活息息相關(guān)。而微信,卻不止于用戶社交這一功能。博物館傳統(tǒng)的預(yù)約方式落后且低效,官網(wǎng)預(yù)約、APP等方式又略顯復(fù)雜,結(jié)合微信公眾號建設(shè)在線預(yù)約系統(tǒng)成了最佳選擇。

      公眾無須到現(xiàn)場取票,關(guān)注博物館微信公眾號,輕松點擊即可預(yù)約,同時系統(tǒng)展示各時段預(yù)約情況,用戶可錯開高峰預(yù)約,改善參館體驗。

      2 ?系統(tǒng)總體設(shè)計

      系統(tǒng)架構(gòu)采用純B/S模式,該模式具有易于部署、維護(hù)、升級且對硬件需求不高等優(yōu)點。系統(tǒng)開發(fā)采用.NET Framework 4.5+HTML5架構(gòu),數(shù)據(jù)庫為SQL Server,采用MVC(Model View Controller)分層設(shè)計模式,將業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離,將業(yè)務(wù)邏輯聚集到業(yè)務(wù)層,簡化了分組開發(fā)。本系統(tǒng)數(shù)據(jù)層使用EF(Entity Framework),EF框架是微軟的.NET中ORM(對象關(guān)系映射)框架,在EF框架中把數(shù)據(jù)庫中的關(guān)系表對應(yīng)到了程序中的實體類,把數(shù)據(jù)表中的字段對應(yīng)成了實體類中的屬性。

      二維碼作為一種新的信息存儲和傳遞技術(shù),從誕生之時就受到了廣泛關(guān)注和應(yīng)用。電子票據(jù)為在線自動生成的二維碼圖片,集成了用戶的預(yù)約信息及校驗碼。用戶進(jìn)場時出示二維碼票據(jù),二維碼掃描儀掃描票據(jù)后還原預(yù)約信息進(jìn)行真?zhèn)悟炞C、可用性驗證并記錄入場信息。

      3 ?關(guān)鍵技術(shù)

      3.1 門票庫存自動生成

      利用SQL Server代理建立自動庫存生成作業(yè),數(shù)據(jù)庫自動在計劃時間點生成門票的庫存數(shù)據(jù),SQL語句如下。

      3.2 門票預(yù)約并發(fā)處理

      同一時間或者同一時刻多個訪問者同時訪問某一更新操作時,會產(chǎn)生并發(fā),本系統(tǒng)中很重要的一個問題就是要處理好數(shù)據(jù)庫并發(fā),即多人同時在線預(yù)約時對門票庫存進(jìn)行準(zhǔn)確處理。

      數(shù)據(jù)庫設(shè)計時在庫存表中增加一列,字段名為VersionNum,數(shù)據(jù)類型為時間戳(TimeStamp),如圖2所示。

      字段VersionNum可以理解為版本號,它的作用是一旦有訪問者修改數(shù)據(jù)了,該條記錄的數(shù)據(jù)、版本號的值就會相應(yīng)發(fā)生改變。版本號的同步更改是和數(shù)據(jù)庫產(chǎn)品相關(guān)的,在SQL Server中會隨著數(shù)據(jù)的修改自動同步更新版本號。相對于數(shù)據(jù)庫中的并發(fā)處理方式,Entity Framework中的并發(fā)處理方式進(jìn)行了不少簡化。在System.Data.Metadata.Edm 命名空間中,存在ConcurencyMode 枚舉,用于指定概念模型中的屬性的并發(fā)選項。ConcurencyMode有兩個成員:None表示在寫入時從不驗證此屬性,這是默認(rèn)的并發(fā)模式;Fixed表示在寫入時始終驗證此屬性。當(dāng)模型屬性為Fixed時,系統(tǒng)會對此模型屬性進(jìn)行檢測,當(dāng)同一個時間對屬性進(jìn)行修改時,系統(tǒng)就會激發(fā)OptimisticConcurrencyException 異常。在EF DataBaseFirst中我們只需要將模型中“VersionNum”字段的“并發(fā)模式”屬性修改為“Fixed”即可。當(dāng)系統(tǒng)發(fā)生并發(fā)時,程序會拋出“DbUpdateConcurrencyException”異常,我們捕獲這個異常后再按照自己的規(guī)則,重復(fù)執(zhí)行請求的方法,直至返回成功為止。

      3.3 票據(jù)數(shù)據(jù)加密解密

      二維碼票據(jù)的本質(zhì)就是一段文本信息,如“預(yù)約人信息+預(yù)約日期+預(yù)約時段+其他信息”,為了防止不法人員仿制生成非法票據(jù),該信息在生成二維碼之前必須進(jìn)行加密,然后在游客進(jìn)館時,系統(tǒng)通過二維碼掃描器識別二維碼獲取加密字符串,再對字符串進(jìn)行解密獲取原始票據(jù)信息。加密技術(shù)通常分為兩大類:“對稱式”和“非對稱式”。根據(jù)本系統(tǒng)的應(yīng)用場景,選取對稱式加密算法DES(Data Encryption Standard)進(jìn)行加密,同時為了提高游客進(jìn)場驗票速度,加密密鑰設(shè)計為8位字符。

      3.4 末位校驗碼

      為了進(jìn)一步提升驗票速度,本系統(tǒng)引入末位校驗碼技術(shù),對加密后的字符串進(jìn)行ASCII轉(zhuǎn)碼后,通過反復(fù)自加得到個位數(shù)作為校驗碼追加到字符串尾部,進(jìn)場驗證時,通過末位檢驗碼可快速進(jìn)行初始真?zhèn)闻袛?。具體算法如下。

      4 ?結(jié)語

      本文在微信公眾號的基礎(chǔ)上,利用移動互聯(lián)網(wǎng)及業(yè)界較新的技術(shù),結(jié)合博物館的實際需求,設(shè)計并開發(fā)了一個功能完善且十分穩(wěn)定的在線預(yù)約系統(tǒng),該系統(tǒng)完成了從線上預(yù)約到線下驗證參館一整套完整的流程,并通過實踐證明了該平臺的穩(wěn)定性和可靠性。

      參考文獻(xiàn)

      [1] 王曉影. 基于移動GIS的掌上預(yù)約服務(wù)系統(tǒng)及相關(guān)技術(shù)研究[D].遼寧工程技術(shù)大學(xué),2017.

      [2] 蔣菡,茅艷.淺談二維碼識別技術(shù)在博物館中的應(yīng)用[J].蘇州文博論叢,2012(15):217-220.

      [3] 李陶.首都博物館免票網(wǎng)上預(yù)約系統(tǒng)及其作用[J].首都博物館叢刊,2010(20):436-443.

      [4] 譚松榮,王偉.淺談大用戶量高并發(fā)移動互聯(lián)網(wǎng)系統(tǒng)的性能優(yōu)化[J].計算機產(chǎn)品與流通,2019(2):137.

      [5] 徐小平.基于手機二維碼的電子票據(jù)服務(wù)系統(tǒng)設(shè)計[J].電腦與電信,2008(12):76-78.

      [6] 王對,韓盛.基于AES加密算法的二維碼防偽系統(tǒng)[J].電腦知識與技術(shù),2019,15(11):64-66.

      [7] 趙海.基于加密二維碼的隱私保護(hù)技術(shù)研究與實現(xiàn)[D].西安電子科技大學(xué),2018.

      英德市| 分宜县| 白玉县| 平塘县| 昌图县| 定南县| 潜江市| 石阡县| 民权县| 湖北省| 柳州市| 新田县| 南阳市| 金华市| 瑞昌市| 长岛县| 安义县| 金门县| 东平县| 天等县| 太康县| 商河县| 黑河市| 霍林郭勒市| 潍坊市| 夏河县| 泰顺县| 阿巴嘎旗| 武乡县| 哈密市| 明溪县| 卢龙县| 铜川市| 团风县| 阜平县| 金塔县| 平阴县| 喜德县| 鹤岗市| 牟定县| 集贤县|