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
主站蜘蛛池模板: 成人一区在线| 亚洲不卡网| 国产成人盗摄精品| 日韩欧美91| 免费在线色| 人妻丰满熟妇av五码区| 宅男噜噜噜66国产在线观看| 亚洲精品va| 一级成人a做片免费| 老熟妇喷水一区二区三区| 午夜影院a级片| 欧美天堂在线| 精品久久人人爽人人玩人人妻| 高潮爽到爆的喷水女主播视频| 人人爽人人爽人人片| 国产日产欧美精品| 毛片大全免费观看| 香蕉在线视频网站| 日韩精品一区二区三区视频免费看| 免费无码网站| 日本高清免费不卡视频| 免费人欧美成又黄又爽的视频| 国产成人区在线观看视频| 亚洲美女一区二区三区| 一级毛片在线播放免费| 国产欧美高清| 香蕉综合在线视频91| 亚洲人妖在线| 精品一区二区三区自慰喷水| 一区二区三区四区日韩| 国模私拍一区二区| 国产免费福利网站| 亚洲男人天堂网址| 日本一区二区三区精品视频| 久久男人视频| 麻豆精品久久久久久久99蜜桃| 毛片免费视频| 在线国产你懂的| 成人蜜桃网| 亚洲三级a| 亚洲欧洲自拍拍偷午夜色| 久久精品这里只有国产中文精品 | 人妻中文字幕无码久久一区| 亚洲综合色吧| 久久中文字幕av不卡一区二区| 免费人成视网站在线不卡| 亚洲天天更新| 一本色道久久88综合日韩精品| 2018日日摸夜夜添狠狠躁| 67194在线午夜亚洲| 国产香蕉97碰碰视频VA碰碰看| 91无码人妻精品一区二区蜜桃| 88av在线播放| 无码内射在线| 99ri精品视频在线观看播放| 91免费国产在线观看尤物| 黄色片中文字幕| 色噜噜在线观看| 九九免费观看全部免费视频| 视频国产精品丝袜第一页| 国产aaaaa一级毛片| 欧美中出一区二区| 91po国产在线精品免费观看| 高清欧美性猛交XXXX黑人猛交 | 四虎影视无码永久免费观看| 人人澡人人爽欧美一区| 欧美精品亚洲二区| 国产超碰在线观看| 国产精品原创不卡在线| 国模极品一区二区三区| 老司国产精品视频91| 乱系列中文字幕在线视频| 国产无码高清视频不卡| 国产精品色婷婷在线观看| 亚洲大尺度在线| 国产精品女主播| 红杏AV在线无码| 丁香五月亚洲综合在线| 麻豆a级片| 亚洲色图综合在线| 欧美国产成人在线| 又猛又黄又爽无遮挡的视频网站|