模擬車站日均客流資料儲存過程:
1、針對換乘站與普通車站,進行不同範圍資料隨機生成
換乘站 : 4 ~ 6w客流量隨機
普通站 : 2 ~ 3w客流量隨機
2、針對工作日與週末進行換乘站與普通車站客流計數增加
換乘站 : 週末 增加 1w客流基數
普通站 : 週末 增加 3000客流基數
create definer=`guijiao`@`%` procedure `product_allstation_passflow`()
begin
-- 設定開始結束時間
declare
startday datetime default date_format('2019-07-30','%y-%m-%d');
declare
endday datetime default date_format('2020-06-10','%y-%m-%d');
-- 定義車站起始id
declare
startstationid int default 80;
declare
endstationid int default 101;
-- 定義週末額外客流量
declare
hweek int default 10000;
declare
pweek int default 3000;
declare
hstation int default 10000;
declare
pstation int default 3000;
-- 日期範圍迴圈
while
to_days(startday) <> to_days(endday)
do-- 判斷是否需要車站id歸零
if startstationid = endstationid
then
-- 車站id歸零
set startstationid = 80;
end if;
-- 判斷當前日期是否是週末,週末則增加額外客流,非週末正常
if dayofweek(startday) = 7 or dayofweek(startday) = 1
then
-- 增加額外量
set hstation = hweek;
set pstation = pweek;
else
-- 額外量清零
set hstation = 0;
set pstation = 0;
end if;
-- 車站id迴圈插入資料
while startstationid <> endstationid
do-- 判斷是否是換乘站 換乘站客流增加
if startstationid = 80 or startstationid = 83 or startstationid = 88 or startstationid = 93
then
-- 換乘站客流量 4w~6w隨機
insert into `test_db`.`passflow_day`(`data_id`, `data_time`, `location_id`, `passflow`) values (date_format(startday,'%y%m%d'),startday, startstationid, floor(39999+rand()*20000) + hstation);
-- 車站id ++
set startstationid = startstationid + 1;
else
-- 普通車站客流量 2w~3w隨機
insert into `test_db`.`passflow_day`(`data_id`, `data_time`, `location_id`, `passflow`) values (date_format(startday,'%y%m%d'),startday, startstationid, floor(19999+rand()*10000) + pstation);
-- 車站id ++
set startstationid = startstationid + 1;
end if;
end while;
-- 設定時間間隔
set startday = date_add(startday, interval 1 day);
end while;
end
多執行緒模擬火車站售票
生活中其實有很多多執行緒的例子,比如火車站售票就是乙個例子。我們先來分析一下,1 首先要有火車票的總數量,並且每賣出一張火車票,總量就減一 2 當火車票的數量小於1的時候,就停止售票 3 使用多執行緒模擬各個視窗進行售票 4 當火車票售完後,火車站也同樣歡迎我們 下來,我們 來實現火車站售票例項 p...
Python多執行緒(模擬火車站售票)
python的標準庫提供了兩個模組 thread和threading,thread是低階模組,threading是高階模組,對thread進行了封裝。我們使用threading這個高階模組,模擬火車站賣票,如果不加鎖,賣出同一張票 import threading from time import ...
Python多執行緒實現模擬火車站售票
python的標準庫提供了兩個模組 thread和threading,thread是低階模組,threading是高階模組,對thread進行了封裝。我們使用threading這個高階模組,模擬火車站賣票,如果不加鎖,賣出同一張票 import threading from time import ...