999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于PyQt5+MySQL航班座位自動分配系統設計與實現

2021-10-29 06:26:32劉秋蘭
中文信息 2021年9期
關鍵詞:分配用戶信息

張 靜 劉秋蘭

(山東電子職業技術學院計算機與軟件工程系,山東 濟南 250200)

目前民航旅客在預定航班后,一般都可以提前自助選擇座位。如果不提前選擇座位,旅客到達機場后,在柜臺值機或自助設備上值機時,可以選擇一個座位,或者由后臺系統隨機分配一個座位。如何正確選座,哪個區域最好,相信這是很多想乘坐飛機的人,都曾苦惱過的問題。因為飛機座位沒選好,可能整個出行的計劃就被打亂。然而,乘坐飛機出行前選好座位很多問題就可以避免。

因此,本系統利用Python3.6+Pycharm 2017.3+PyQt5+MySQL5.0平臺,基于大數據平臺,進行個人喜好數據分析,采用自搜索算法、動態求解算法、隨機分配算法,實現了航班自動分配座位的功能。系統實現的主要目標如下所示。

第一,采用自搜索算法及隨機分配算法,實現了對單一座位的自動分配。第二,采用動態求解算法、自搜索算法、隨機分配算法,實現了以“組”為單位的座位以及整機座位自動分配。第三,實現查看座位分配時間與實際分配情況、分配座位的布局、導出分配結果。

一、系統整體概述

1.系統總體設計

結合實際生活場景應用,本系統實現的主要功能可劃分為:選擇航班信息、加載數據文件、開始自動分配座位、查看分配結果、導出報表、查看座位布局。兩種角色:普通用戶、管理員。兩者的不同在于管理員的權限可以對用戶進行有效管理,如添加用戶、刪除用戶、修改用戶等功能。

2.系統代碼架構

系統代碼架構主要分為三層:用戶層、中間層、數據層。用戶層主要提供數據展示和用戶操作界面;中間層用于銜接用戶層與數據層之間的數據傳輸;數據層用于存儲數據,將數據存于數據庫中、Json格式的文件中,具體流程如圖1所示。

圖1 系統代碼架構圖

3.系統性能需求

該系統主要從效率性、安全性、穩定性、兼容性等方面考慮了性能需求[1],具體包括:效率性:單一座位分配的處理時間不超過1秒,整機旅客重新分配座位的處理時間不超過10秒。安全性:該系統有較強的安全性,能對數據和顧客相關信息進行數據加密處理,能對數據進行有效防護,有較強的安全性。

二、系統詳細設計

本系統主要包括系統登錄模塊、座位自動分配模塊、用戶管理模塊。

1.系統登錄模塊

本模塊屬于系統的入口界面,通過輸入用戶名和密碼進入座位自動分配系統。在登錄界面中,可以以普通用戶或管理員用戶兩種方式進行登錄界面。

2.座位自動分配模塊

該模塊主要實現的功能包括:切換航班號功能,查看航班相關信息功能;航班座位自動分配功能;查看分配結果功能;導出報表功能;查看座位布局功能。模塊界面設計如圖2所示。在該界面中,查看座位布局界面設計,如圖3所示。單擊“查看座位布局”按鈕,將會顯示出該航班座位的具體分配情況,藍色表示未分配的座位,帶小鎖的表示已分配的座位,橙色的表示未滿足旅客需求的座位。同時,將鼠標移到某個座位上,將會顯示出該座位的所有屬性。最后,還可以把這個分配結果以Json格式的文件導出,單擊“導出報表”按鈕,選擇文件存儲位置,輸入文件名,單擊保存即可完成。

圖2 座位自動分配界面

圖3 查看座位布局界面

3.用戶管理模塊

對于普通用戶,僅允許該用戶修改自己的密碼;對于管理員用戶,可以實現修改所有用戶的密碼和權限、增加用戶、刪除用戶、清空普通用戶等操作。

三、座位自動分配算法

座位自動分配流程如下:

第一,選擇需要分配的Json格式報表文件,該文件存儲的是旅客歷史購票信息。第二,對報表文件進行預處理,具體方法如下:①將旅客信息按照旅客數量進行分類,將旅客數量大于1的旅客放到一個旅客信息表1中;將其他旅客信息放到另外一個旅客信息表2中;②將旅客信息表1里的旅客信息按照旅客數量從大到小的順序排序;③將旅客信息表2里的旅客信息按照座位屬性值的個數從大到小排序。第三,采用動態優化算法,按照旅客信息表1里提供的座位屬性實現自動分配,同時,將已分配到的座位從座位信息列表里刪除。此時,將旅客相關信息存入旅客座位列表中。對于未滿足需求的旅客信息放到變量旅客信息表2里。第四,采用自搜索算法,根據旅客信息表2里的旅客座位屬性實現自動分配,同時,將已分配到的座位從座位信息列表里刪除。此時,將旅客相關信息存入旅客座位列表中。將未滿足需求的旅客信息放入臨時變量tmp_passenger_info_dict內。第五,采用隨機分配算法分配剩余旅客座位,同時,將已分配到的座位從座位信息列表里刪除。此時,將旅客相關信息存入旅客座位列表。將該變量的信息寫入旅客信息列表,同時更新座位屬性表里的座位預定狀態。第六,給出提示信息,座位自動分配完成。采用兩組數據進行測試,第一組測試數據是單一座位的數據,其中80個靠窗的、80個靠過道的、20個無屬性的、2個VIP的。第二組測試數據是支持以組為單位的座位數據,其中包含40組,30個單一靠窗、30個單一靠過道、10個單一無任何屬性的。

一是單一座位的自動分配:首先單擊“加載數據報表”按鈕,選擇第1組測試數據(這里僅支持加載Json格式的數據文件);然后,單擊“開始分配座位”按鈕,就實現自動分配座位的功能,同時可以查看分配座位所用的時間。單擊“查看分配結果”按鈕,查看本次座位分配的情況,在分配結果表格中,第一列表示用戶ID(此處用的是按照順序排列的),第二列是座位號,第三列是旅客所需座位數(如果座位數等于1,表示單個分配;如果座位數大于1,表示以組的形式進行分配的),最后一列表示是否滿足旅客需求。二是以組為單位的自動分配:首先清空數據庫中的數據,執行database.py。然后單擊“加載數據報表”按鈕,選擇第2組測試數據;再單擊“開始分配座位”按鈕,就實現自動分配座位的功能,同時,可以查看分配座位所用的時間。

結語

本系統體現的創新特色之處,包括:動態處理座位屬性表,提高程序效率;座位屬性值采用一個整型值來存儲,目的是為了減少內存存儲和比較次數;支持加載Json格式的模擬數據報表文件;該系統不僅適用于航班座位自動分配,而且還適用于其他類型的座位自動分配,如火車、電影院等。

猜你喜歡
分配用戶信息
應答器THR和TFFR分配及SIL等級探討
遺產的分配
一種分配十分不均的財富
績效考核分配的實踐與思考
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
如何獲取一億海外用戶
創業家(2015年5期)2015-02-27 07:53:25
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
主站蜘蛛池模板: 免费不卡在线观看av| 亚洲国产亚洲综合在线尤物| 亚洲AV无码乱码在线观看代蜜桃 | 永久免费AⅤ无码网站在线观看| 一级毛片免费播放视频| 日韩专区欧美| 久久亚洲精少妇毛片午夜无码| 亚洲成a人片77777在线播放 | 91福利免费视频| 欧美一区国产| 蜜芽国产尤物av尤物在线看| 色一情一乱一伦一区二区三区小说| 亚洲欧洲天堂色AV| 欧美日韩福利| 91口爆吞精国产对白第三集 | 亚洲精品自拍区在线观看| 亚洲人成网站观看在线观看| 国产高清又黄又嫩的免费视频网站| 国产视频你懂得| 欧美精品伊人久久| 亚洲成网站| 国产91透明丝袜美腿在线| 九色免费视频| 久久综合色视频| 中文一级毛片| 91久久大香线蕉| 国产美女免费| 色色中文字幕| 欧美翘臀一区二区三区| 五月丁香伊人啪啪手机免费观看| 激情五月婷婷综合网| 99九九成人免费视频精品| 另类重口100页在线播放| 国产精品污污在线观看网站| 草草线在成年免费视频2| 91亚洲精选| 久久综合丝袜长腿丝袜| 91亚洲精选| 欧美97欧美综合色伦图 | 久久大香伊蕉在人线观看热2 | 免费观看男人免费桶女人视频| 亚洲大学生视频在线播放| 69av免费视频| 婷婷六月综合网| 国产欧美日韩一区二区视频在线| 青草视频久久| 欧美色图久久| 亚洲一区二区在线无码| 久久精品中文无码资源站| 免费国产一级 片内射老| 日韩黄色精品| 久久精品亚洲专区| 国产一区二区人大臿蕉香蕉| 国产成人高精品免费视频| 91免费观看视频| 欧美精品一区在线看| 国产精品99一区不卡| 天堂中文在线资源| 国产主播福利在线观看| 欧美.成人.综合在线| 精品国产91爱| 国产精品污污在线观看网站| 又爽又黄又无遮挡网站| 亚洲天堂视频在线免费观看| 欧美va亚洲va香蕉在线| 老司机久久99久久精品播放| 国产日韩欧美一区二区三区在线| 国产免费网址| 综合色天天| 国产特级毛片| 成人字幕网视频在线观看| 日韩欧美色综合| 亚洲美女视频一区| 91免费国产高清观看| 九九九国产| 99在线视频免费| 国产成人综合亚洲欧美在| 亚洲国产欧美自拍| 国产丝袜第一页| 99精品欧美一区| 无码一区二区三区视频在线播放| 国产精品冒白浆免费视频|