一種多用戶時(shí)間預(yù)約方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,特別涉及一種多用戶時(shí)間預(yù)約方法。
【背景技術(shù)】
[0002]目前已知的國內(nèi)基于時(shí)間段的預(yù)約方法,主要通過是以下拉框選擇方式、固定時(shí)間段方式、手動(dòng)輸入時(shí)間數(shù)值方式實(shí)現(xiàn),但無論是下拉框還是固定時(shí)間段方式都要選擇后確認(rèn),耗時(shí)較長,手動(dòng)輸入時(shí)間數(shù)值則是更加耗時(shí),在多用戶同時(shí)進(jìn)行操作時(shí)常常會(huì)發(fā)生預(yù)約沖突造成預(yù)約失效的情況(即同時(shí)有不同的用戶選擇同樣的當(dāng)前可選時(shí)間段造成必然有至少一人預(yù)約失效)。
[0003]現(xiàn)有的時(shí)間段預(yù)約方法沒有先占功能,發(fā)生預(yù)約時(shí)間沖突的用戶先確認(rèn)的預(yù)約成功,其他用戶則只能重新檢索可預(yù)約時(shí)間進(jìn)行重新預(yù)約。
[0004]現(xiàn)有的已預(yù)約的時(shí)間顯示與選擇空余時(shí)間是分開操作的,當(dāng)出現(xiàn)預(yù)約失效的情況,用戶必須重新進(jìn)行已預(yù)約時(shí)間檢索,并根據(jù)新的檢索結(jié)果重新進(jìn)行預(yù)約。當(dāng)用戶多時(shí),該重新檢索重新預(yù)約的操作可能會(huì)重復(fù)多次,十分耗時(shí)也非常不方便。
[0005]有鑒于此,特提出本發(fā)明。
【發(fā)明內(nèi)容】
[0006]本發(fā)明要解決的技術(shù)問題在于克服現(xiàn)有技術(shù)的不足,提供一種多用戶時(shí)間預(yù)約方法,并且支持多人同時(shí)操作的前提下實(shí)現(xiàn)快速的查詢已預(yù)約時(shí)間、快速的選擇空余時(shí)間,而且快速解決沖突問題。
[0007]為解決上述技術(shù)問題,本發(fā)明采用技術(shù)方案的基本構(gòu)思是:
一種多用戶時(shí)間預(yù)約方法,包括:
接收來自時(shí)間控件模塊的實(shí)時(shí)時(shí)間信息數(shù)據(jù);
將實(shí)時(shí)時(shí)間信息數(shù)據(jù)與對(duì)象時(shí)間信息數(shù)據(jù)進(jìn)行比較,若該實(shí)時(shí)時(shí)間信息數(shù)據(jù)與對(duì)象時(shí)間信息數(shù)據(jù)均無沖突,則將該實(shí)時(shí)時(shí)間信息數(shù)據(jù)寫入數(shù)據(jù)暫存模塊;
所述對(duì)象時(shí)間信息數(shù)據(jù)為數(shù)據(jù)暫存模塊和數(shù)據(jù)存儲(chǔ)模塊中的時(shí)間信息數(shù)據(jù);
將實(shí)時(shí)信息數(shù)據(jù)與數(shù)據(jù)暫存模塊中的對(duì)象時(shí)間信息數(shù)據(jù)進(jìn)行比較時(shí),若實(shí)時(shí)時(shí)間信息數(shù)據(jù)與該對(duì)象時(shí)間信息數(shù)據(jù)沖突,則將該對(duì)象時(shí)間信息數(shù)據(jù)反饋給所述時(shí)間控件模塊。
[0008]上述多用戶時(shí)間預(yù)約方法,將實(shí)時(shí)時(shí)間信息數(shù)據(jù)寫入數(shù)據(jù)暫存模塊時(shí)將該實(shí)時(shí)時(shí)間信息數(shù)據(jù)反饋給時(shí)間控件模塊。
[0009]上述多用戶時(shí)間預(yù)約方法,還包括:
將實(shí)時(shí)時(shí)間信息數(shù)據(jù)寫入數(shù)據(jù)暫存模塊時(shí),摘除所述數(shù)據(jù)暫存模塊中相關(guān)的時(shí)間信息數(shù)據(jù);
所述相關(guān)的時(shí)間信息數(shù)據(jù)為與所述實(shí)時(shí)時(shí)間信息數(shù)據(jù)來自同一用戶的時(shí)間信息數(shù)據(jù)。
[0010]上述多用戶時(shí)間預(yù)約方法,還包括:
接收到來自時(shí)間控件模塊的用戶取消預(yù)約時(shí)間的信息數(shù)據(jù)時(shí),摘除所述數(shù)據(jù)暫存模塊內(nèi)相應(yīng)的時(shí)間信息數(shù)據(jù)。
[0011]上述多用戶時(shí)間預(yù)約方法,還包括:
接收到來自時(shí)間控件模塊的用戶確認(rèn)預(yù)約時(shí)間的信息數(shù)據(jù)時(shí),將數(shù)據(jù)暫存模塊內(nèi)相應(yīng)的時(shí)間信息數(shù)據(jù)轉(zhuǎn)存至數(shù)據(jù)存儲(chǔ)模塊并將其從數(shù)據(jù)暫存模塊中摘除。
[0012]上述多用戶時(shí)間預(yù)約方法,將時(shí)間信息數(shù)據(jù)從數(shù)據(jù)暫存模塊中摘除時(shí)也將該時(shí)間信息數(shù)據(jù)反饋給所述時(shí)間控件模塊。
[0013]上述多用戶時(shí)間預(yù)約方法,時(shí)間信息數(shù)據(jù)包括起始時(shí)間、結(jié)束時(shí)間和持續(xù)時(shí)間;
所述沖突包括以下三種情況的任一種:
1)實(shí)時(shí)時(shí)間信息數(shù)據(jù)的起始時(shí)間大于對(duì)象時(shí)間信息數(shù)據(jù)的起始時(shí)間且小于對(duì)象時(shí)間信息數(shù)據(jù)的結(jié)束時(shí)間;
2)實(shí)時(shí)時(shí)間信息數(shù)據(jù)的結(jié)束時(shí)間大于對(duì)象時(shí)間信息數(shù)據(jù)的起始時(shí)間且小于對(duì)象時(shí)間信息數(shù)據(jù)的結(jié)束時(shí)間;
3 )實(shí)時(shí)時(shí)間信息數(shù)據(jù)的起始時(shí)間不大于對(duì)象時(shí)間信息數(shù)據(jù)的起始時(shí)間且實(shí)時(shí)時(shí)間信息數(shù)據(jù)的結(jié)束時(shí)間不小于對(duì)象時(shí)間信息數(shù)據(jù)的結(jié)束時(shí)間。
[0014]即:實(shí)時(shí)時(shí)間信息與對(duì)象時(shí)間信息,產(chǎn)生了時(shí)間交集或產(chǎn)生了包含與被包含關(guān)系。
[0015]上述多用戶時(shí)間預(yù)約方法,時(shí)間信息數(shù)據(jù)包括起始時(shí)間、結(jié)束時(shí)間和持續(xù)時(shí)間;所述實(shí)時(shí)時(shí)間信息數(shù)據(jù)的起始時(shí)間和結(jié)束時(shí)間分別由時(shí)間控件模塊根據(jù)輸入設(shè)備的起始動(dòng)作位置和終止動(dòng)作位置確定。
[0016]采用上述技術(shù)方案后,本發(fā)明與現(xiàn)有技術(shù)相比具有以下有益效果:
1、本發(fā)明能夠提供先占功能,即在用戶未最終確認(rèn)選擇預(yù)約時(shí)間的條件下,也為其提供優(yōu)先選擇的權(quán)利;
2、發(fā)生選擇沖突時(shí),沖突時(shí)間段即時(shí)反饋給用戶,提示當(dāng)前用戶避開被先占時(shí)間段,降低再次選擇出現(xiàn)無效選擇的幾率,提升了預(yù)約速度;
3、優(yōu)化選擇方式,通過獲取輸入設(shè)備的動(dòng)作信息來完成進(jìn)行預(yù)約時(shí)間段的選擇,自由程度高,提升選擇速度,配合先占沖突的即時(shí)反饋機(jī)制,大大提升了時(shí)間預(yù)約選擇速率。
【附圖說明】
[0017]圖1是本發(fā)明實(shí)施例的流程圖。
[0018]圖2是本發(fā)明系統(tǒng)的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0019]下面結(jié)合附圖和具體實(shí)施例,對(duì)本發(fā)明作進(jìn)一步說明,以助于理解本發(fā)明的內(nèi)容。
[0020]本發(fā)明提供了一種多用戶時(shí)間預(yù)約方案,該方案系統(tǒng)基于B/S結(jié)構(gòu),B/S結(jié)構(gòu)即瀏覽器和服務(wù)器結(jié)構(gòu),是WEB興起后的一種網(wǎng)絡(luò)結(jié)構(gòu)模式,WEB瀏覽器是客戶端最主要的應(yīng)用軟件。這種模式統(tǒng)一了客戶端,將系統(tǒng)功能實(shí)現(xiàn)的核心部分集中到服務(wù)器上,簡化了系統(tǒng)的開發(fā)、維護(hù)和使用。
[0021]本方案的系統(tǒng)包括數(shù)據(jù)處理模塊、數(shù)據(jù)暫存模塊、數(shù)據(jù)存儲(chǔ)模塊、時(shí)間控件模塊、輸入拾取模塊和顯示模塊;
時(shí)間控件模塊,用于讀取輸入設(shè)備模塊的輸入設(shè)備動(dòng)作信息數(shù)據(jù),將該動(dòng)作信息數(shù)據(jù)轉(zhuǎn)變?yōu)閷?shí)時(shí)時(shí)間信息數(shù)據(jù),將該實(shí)時(shí)時(shí)間信息數(shù)據(jù)傳遞給數(shù)據(jù)處理模塊,以及接收數(shù)據(jù)處理模塊的反饋信息數(shù)據(jù)并傳輸給顯示模塊。
[0022]數(shù)據(jù)處理模塊,用于接收實(shí)時(shí)時(shí)間信息數(shù)據(jù),從數(shù)據(jù)暫存模塊和數(shù)據(jù)存儲(chǔ)模塊中調(diào)取對(duì)象時(shí)間信息數(shù)據(jù),比較實(shí)時(shí)時(shí)間信息數(shù)據(jù)和對(duì)象時(shí)間信息數(shù)據(jù),以及,將發(fā)生沖突的數(shù)據(jù)暫存模塊中的對(duì)象時(shí)間信息數(shù)據(jù)反饋給時(shí)間控件模塊;
數(shù)據(jù)存儲(chǔ)模塊,用于存儲(chǔ)已被預(yù)約的時(shí)間信息數(shù)據(jù);
數(shù)據(jù)暫存模塊,用于存檔先占的時(shí)間信息數(shù)據(jù);
輸入拾取模塊,用于獲取輸入設(shè)備的動(dòng)作信息數(shù)據(jù),并將其傳遞給時(shí)間控件模塊;
顯示模塊,用于接收時(shí)間控件模塊的反饋信息數(shù)據(jù)并根據(jù)該信息數(shù)據(jù)作出顯示。
[0023]數(shù)據(jù)處理模塊還用于將無沖突的實(shí)時(shí)時(shí)間信息數(shù)據(jù)寫入數(shù)據(jù)暫存模塊,以及將該無沖突的實(shí)時(shí)時(shí)間信息數(shù)據(jù)反饋給時(shí)間控件模塊;
數(shù)據(jù)處理模塊還用于將實(shí)時(shí)時(shí)間信息數(shù)據(jù)寫入數(shù)據(jù)暫存模塊時(shí),摘除數(shù)據(jù)暫存模塊中相關(guān)的時(shí)間信息數(shù)據(jù);所述相關(guān)的時(shí)間信息數(shù)據(jù)為與所述實(shí)時(shí)時(shí)間信息數(shù)據(jù)來自同一用戶的時(shí)間信息數(shù)據(jù)。
[0024]時(shí)間控件模塊還用于根據(jù)來自數(shù)據(jù)拾取模塊的動(dòng)作信息數(shù)據(jù)向數(shù)據(jù)處理模塊傳遞用戶取消預(yù)約時(shí)間的信息數(shù)據(jù);
數(shù)據(jù)處理模塊還用于接收到來自時(shí)間控件模塊的用戶取消預(yù)約時(shí)間的信息數(shù)據(jù)時(shí),摘除所述數(shù)據(jù)暫存模塊內(nèi)相應(yīng)的時(shí)間信息數(shù)據(jù)。該相應(yīng)的時(shí)間信息數(shù)據(jù)為當(dāng)前用戶先占成功的時(shí)間信息數(shù)據(jù)。
[0025]時(shí)間控件模塊還用于根據(jù)來自數(shù)據(jù)拾取模塊的動(dòng)作信息數(shù)據(jù)向數(shù)據(jù)處理模塊傳遞用戶確認(rèn)預(yù)約時(shí)間的信息數(shù)據(jù);
數(shù)據(jù)處理模塊還用于接收到來自時(shí)間控件模塊的用戶確認(rèn)預(yù)約時(shí)間的信息數(shù)據(jù)時(shí),將數(shù)據(jù)暫存模塊中相應(yīng)的時(shí)間信息數(shù)據(jù)轉(zhuǎn)存至數(shù)據(jù)存儲(chǔ)模塊。該相應(yīng)的時(shí)間信息數(shù)據(jù)為當(dāng)前用戶先占成功的時(shí)間信息數(shù)據(jù)。
[0026]下面以輸入設(shè)備為鼠標(biāo)為例進(jìn)行輸入設(shè)備信息采集說明。
[0027]輸入拾取模塊檢測(cè)鼠標(biāo)的當(dāng)前坐標(biāo)位置和當(dāng)前鼠標(biāo)點(diǎn)擊事件,并將該輸入設(shè)備動(dòng)作信息數(shù)據(jù)傳遞給時(shí)間控件模塊,時(shí)間控件模塊則將上述輸入設(shè)備動(dòng)作信息數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化數(shù)據(jù),傳遞給數(shù)據(jù)處理模塊。
[0028]時(shí)間控件模塊根據(jù)X軸總長度和當(dāng)前鼠標(biāo)的X軸坐標(biāo),計(jì)算出當(dāng)前鼠標(biāo)位置所表示的時(shí)刻,公式為:
當(dāng)前鼠標(biāo)X軸坐標(biāo)/總長度(單位為像素)=當(dāng)前時(shí)間/總時(shí)間(單位為分)
以此獲得鼠標(biāo)拖拽的起點(diǎn)時(shí)間、結(jié)束時(shí)間和時(shí)長信息數(shù)據(jù),在該信息數(shù)據(jù)添加標(biāo)簽(包括用戶標(biāo)簽等信息)后形成結(jié)構(gòu)化數(shù)據(jù)。該結(jié)構(gòu)化數(shù)據(jù)中代表實(shí)時(shí)時(shí)間信息內(nèi)容的格式如: