馮長寶,韓忠偉,孫沫麗,王佳婧(吉林動(dòng)畫學(xué)院,長春 130012)
?
基于GPS定位技術(shù)的移動(dòng)平臺考勤系統(tǒng)設(shè)計(jì)
馮長寶,韓忠偉,孫沫麗,王佳婧
(吉林動(dòng)畫學(xué)院,長春 130012)
摘 要:隨著移動(dòng)網(wǎng)絡(luò)的發(fā)展,移動(dòng)設(shè)備軟硬件技術(shù)不斷成熟,基于移動(dòng)網(wǎng)絡(luò)的應(yīng)用軟件深受廣大用戶的青睞。本文實(shí)現(xiàn)了一個(gè)基于GPS定位技術(shù)的移動(dòng)平臺考勤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方法,摘要包括系統(tǒng)部署、移動(dòng)設(shè)備和web服務(wù)交互方案、系統(tǒng)主要功能和實(shí)現(xiàn)部分。主要完成服務(wù)器與移動(dòng)設(shè)備之間如何進(jìn)行游戲交互。
關(guān)鍵詞:GPS;web服務(wù);考勤
當(dāng)今是互聯(lián)網(wǎng)是時(shí)代,手機(jī)app軟件已經(jīng)深入到人民生活的方方面面,從各個(gè)角度服務(wù)著社會(huì)。目前國內(nèi)外考勤系統(tǒng)仍然存在許多弊端和不便,不論技術(shù)含量高低都有一個(gè)共同點(diǎn),那就是考勤的人必須要到考勤系統(tǒng)的終端附近完成一次考勤過程。而且,現(xiàn)狀工作形式也有非常大的變化,給考勤帶來困難,例如,如何對出差在外的員工考勤,如何對業(yè)務(wù)人員考勤等等?,F(xiàn)在,隨著智能手機(jī)和互聯(lián)網(wǎng)的廣泛普及,考勤方式發(fā)生了變化,例如考勤設(shè)備可以用智能手機(jī)代替,用手機(jī)定位替代現(xiàn)場考勤等。因此本文要設(shè)計(jì)一個(gè)基于GPS定位技術(shù)的手機(jī)考勤系統(tǒng)。整個(gè)系統(tǒng)分為兩部分:系統(tǒng)服務(wù)平臺和手機(jī)終端平臺。使用戶可以通過手機(jī)終端登陸考勤系統(tǒng)完成一次考勤操作,手機(jī)終端將所在位置的物理坐標(biāo)(即經(jīng)緯度)和考勤人員的登錄信息(員工編號,姓名、部門和考勤時(shí)間)通過GPRS網(wǎng)絡(luò)、3G網(wǎng)絡(luò)或者WiFi(無線局域網(wǎng)絡(luò))發(fā)生到服務(wù)系統(tǒng),系統(tǒng)服務(wù)平臺能夠根據(jù)手機(jī)終端將手機(jī)終端發(fā)送過來的考勤信息保持到數(shù)據(jù)存儲系統(tǒng),并能夠形成各種統(tǒng)計(jì)分析數(shù)據(jù)及圖表。
2.1 系統(tǒng)部署
本文的方法是利用GPS技術(shù)和無線網(wǎng)絡(luò)技術(shù)搭建一個(gè)多用戶的實(shí)時(shí)交互系統(tǒng)。本系統(tǒng)的執(zhí)行步驟:
第1步:用戶通過他們的移動(dòng)設(shè)備登錄;
第2步:每個(gè)移動(dòng)設(shè)備連接到全球定位系統(tǒng)來捕捉每個(gè)用戶自己的位置信息;第3步:每個(gè)移動(dòng)設(shè)備連接到無線網(wǎng)絡(luò)的位置信息發(fā)送到服務(wù)器;第4步:服務(wù)器獲取所有登錄用戶的位置信息,并把它們轉(zhuǎn)化為二維坐標(biāo),并產(chǎn)生一個(gè)相應(yīng)的數(shù)字地圖;
第5步:服務(wù)器發(fā)送到用戶的移動(dòng)設(shè)備一個(gè)顯示用戶的位置的數(shù)字地圖;
第6步:移動(dòng)設(shè)備用戶的位置更新的條件下,重復(fù)步驟2,3,4,5;
第7步:當(dāng)用戶的新位置符合要求的條件觸發(fā)一個(gè)虛擬的互動(dòng),執(zhí)行和完成的相互作用。
步驟7中所描述的虛擬互動(dòng)的觸發(fā)條件是用戶之間發(fā)生碰撞,即用戶之間的距離是小于服務(wù)器預(yù)先設(shè)定的距離范圍。
2.2 系統(tǒng)實(shí)現(xiàn)方案
本系統(tǒng)架構(gòu)是一種利用多用戶移動(dòng)位置的實(shí)時(shí)交互移動(dòng)應(yīng)用技術(shù),是一個(gè)多用戶系統(tǒng)。圖1顯示了這一技術(shù)方法的具體步驟。我們將假設(shè)P1作為主動(dòng)方,P2作為被動(dòng)方。以下是兩個(gè)用戶在本架構(gòu)下交互的演變過程。
步驟1:游戲的客戶端安裝在M1和[M’1…M’m]上,作為[M1…Mm]的子集對應(yīng)的是[P’1…P’m]的移動(dòng)設(shè)備,接收GPS衛(wèi)星定位返饋數(shù)據(jù),即M1和[M’1..M’m]的坐標(biāo)(經(jīng)度,緯度)。
步驟2:游戲的客戶程序調(diào)用M1和[M’1…M’m]的無線通信模塊,接著通過英特網(wǎng)發(fā)送各自的位置數(shù)據(jù)(經(jīng)度,緯度)給游戲的服務(wù)器。
步驟3:服務(wù)器接到的GPS坐標(biāo)(經(jīng)度,緯度)為二維坐標(biāo)(xi, yi),然后發(fā)送給Mi。每個(gè)二維坐標(biāo)對應(yīng)的動(dòng)態(tài)位置Li[L1... Lm]由服務(wù)器確定。
步驟4:施動(dòng)用戶P1可能在終端設(shè)備M1上的數(shù)字地圖觀察到被動(dòng)的用戶。P1為了完成I1任務(wù),直接從L1走到L’1。
步驟5:游戲的客戶程序調(diào)用嵌入在M1上的定位模塊并且接收從GPS衛(wèi)星傳來的新的設(shè)備M1地理位置的信息(經(jīng)度,緯度)。
步驟6:M1設(shè)備實(shí)時(shí)的傳遞位置數(shù)據(jù)給游戲的網(wǎng)頁服務(wù)器。服務(wù)器通過二維的算法的轉(zhuǎn)換決定施動(dòng)用戶的位置在L’1的更新。
步驟7:服務(wù)器執(zhí)行判斷的過程,并且發(fā)送通知給M1的客戶端去觸發(fā)虛擬社交I1.
步驟8:服務(wù)器驗(yàn)證I1是否執(zhí)行成功。
被動(dòng)用戶可以通過他們的終端設(shè)備[M’1….M’m]上的數(shù)字地圖觀察到主動(dòng)用戶接近L’1.這樣會(huì)有兩種結(jié)果:
一種情況是,被動(dòng)用戶的M’j(j∈[1…m])同時(shí)改變自身的位置為P1,這樣將導(dǎo)致虛擬交互I1失敗。服務(wù)器會(huì)發(fā)送信息給客戶端M1告知失敗的信息。主動(dòng)用戶也會(huì)被通知他的交互I1執(zhí)行失敗的信息。
另外的一種情況是,被動(dòng)用戶沒有改變物理位置,而這就意味著他是在有效的位置范圍內(nèi),這樣的結(jié)果是交互I1成功的執(zhí)行。服務(wù)器會(huì)發(fā)送信息給客戶端M1和M2(被I1影響的客戶端)。主動(dòng)用戶和被動(dòng)用戶會(huì)被通知交互事件I1成功的執(zhí)行。
(1)服務(wù)端包括權(quán)限管理、系統(tǒng)管理、用戶管理、查詢統(tǒng)計(jì)、請假管理等5大功能模塊、系統(tǒng)公告。其中:
1)權(quán)限管理包含定義角色例如系統(tǒng)管理員、員工、人力績效管理員、各級領(lǐng)導(dǎo),以及每個(gè)角色對于的功能范圍。系統(tǒng)管理員只能登陸服務(wù)端,主要對系統(tǒng)進(jìn)行一些設(shè)置,例如設(shè)定考勤范圍,可以在百度地圖上為某機(jī)構(gòu)確定一個(gè)有效考勤的范圍;員工是指被考勤的對象,只能登陸客戶端;人力績效管理員是日常使用服務(wù)端查詢統(tǒng)計(jì)考勤信息的工作人員,是服務(wù)端的主要使用者;各級領(lǐng)導(dǎo)主要使用服務(wù)端的查詢統(tǒng)計(jì)功能以及請假審批功能。
2)系統(tǒng)管理主要包括考勤范圍設(shè)置、設(shè)定各種用戶角色并分配功能權(quán)限功能。
3)用戶管理主要包括用戶的注冊審核、查詢、添加、修改、刪除等功能。
4)查詢統(tǒng)計(jì)主要包括查詢和統(tǒng)計(jì)功能。可以按姓名、性別、所在部門等條件查詢某人的考勤情況。按日、月、年、直屬科室和部門等幾個(gè)維度統(tǒng)計(jì)考勤信息,生成統(tǒng)計(jì)表,也可以按考勤地點(diǎn)統(tǒng)計(jì)考勤信息,分析用戶考勤習(xí)慣。
5)請假管理主要包括請假審批功能,不論是語音、電子請假申請單,還是撥打系統(tǒng)電話,都要給予批復(fù)意見。
6)系統(tǒng)公告功能主要是向已經(jīng)注冊的用戶推送公告軟文。(2)終端系統(tǒng)主要包括用戶管理、定位考勤、用戶提醒、查詢和請假功能。其中:
1)用戶管理功能主要包括用戶注冊、修改密碼、更換頭像等基本操作和登錄功能。
2)考勤功能主要包括定位考勤功能,記錄當(dāng)前的時(shí)間、地點(diǎn)的經(jīng)緯度信息,并發(fā)送服務(wù)器。
3)用戶提醒功能主要是對用戶提示一些貼心提醒服務(wù),例如天氣、考勤提醒等。
4)查詢功能主要是查詢自己當(dāng)天、當(dāng)月、當(dāng)年的考勤或者缺勤的信息及統(tǒng)計(jì)信息,以及考勤地點(diǎn)分布信息。
5)請假功能主要是提交請假單或語音請假留言、直接撥打請假電話等功能。
系統(tǒng)采用B/S結(jié)構(gòu)??蛻舳丝梢圆捎胔tml5技術(shù),結(jié)合jQuery技術(shù)實(shí)現(xiàn)。html5技術(shù)可以跨平臺發(fā)布成Android和IOS客戶端,也可以用網(wǎng)頁形式支持所有PC和移動(dòng)端系統(tǒng)。也可以用Android或者IOS技術(shù)實(shí)現(xiàn)。
用戶當(dāng)前地位位置信息的獲取,可以通過手機(jī)的GPS模塊獲取,GPS定位技術(shù)受周圍環(huán)境局限,在室內(nèi)或者大型遮擋物旁誤差較大,在室外誤差基本在10~30米。在獲取定位信息時(shí),尤其要注意,最初獲得的一些坐標(biāo)非常不穩(wěn)定,跳躍幅度較大,需要把用2秒后的數(shù)據(jù),因此在考勤時(shí),最好做一個(gè)異步線程完成此功能。
服務(wù)端采用J2EE技術(shù)實(shí)現(xiàn),J2EE使用多層分布式模型,應(yīng)用邏輯按功能劃分成組件。J2EE的三層體系結(jié)構(gòu),即表現(xiàn)層,業(yè)務(wù)邏輯層和數(shù)據(jù)持久層。表現(xiàn)層主要指用戶界面,我們已經(jīng)用html5實(shí)現(xiàn)客戶端;業(yè)務(wù)邏輯層主要是出來業(yè)務(wù)數(shù)據(jù),系統(tǒng)復(fù)雜性主要體現(xiàn)在這里;數(shù)據(jù)持久層主要完成業(yè)務(wù)數(shù)據(jù)存儲和有關(guān)數(shù)據(jù)安全、完整性控制、數(shù)據(jù)一致性和并發(fā)操作。采用J2EE技術(shù)能夠降低維護(hù)成本,簡化管理,適應(yīng)大規(guī)模和復(fù)雜的應(yīng)用要求,可以適應(yīng)需求的改變,訪問異構(gòu)數(shù)據(jù)庫,提供系統(tǒng)安全性。
應(yīng)用MVC模式,即模型-視圖-控制器的簡稱,在模型部分實(shí)現(xiàn)業(yè)務(wù)邏輯,通常用JavaBean或EJB實(shí)現(xiàn);客戶端的部分就是視圖部分,提供用戶交互功能;控制器是模型和視圖溝通的橋梁,將模型與視圖匹配在一起,共同完成用戶請求。數(shù)據(jù)庫使用mysql實(shí)現(xiàn),輕量級數(shù)據(jù)庫,性價(jià)比高。
參考文獻(xiàn):
[1]夏敬潮.葉世榕Wi-Fi輔助下附有高程信息的GPS定位[J].武漢大學(xué)學(xué)報(bào)(信息科學(xué)版),2011(01).
[2]劉正,陳強(qiáng).基于Android的GPS應(yīng)用中的研究與開發(fā)[J].中國西部科技,2010(32).
[3]張麗娜,楊志強(qiáng).手持式GPS定位誤差的研究[J].工程地球物理學(xué)報(bào),2006(12).
[4]劉靖桐.面向Web2.0的web應(yīng)用前端開發(fā)框架的設(shè)計(jì)與實(shí)現(xiàn)[D].北京郵電大學(xué),2014(01).
[5]呂昕.基于Web的富客戶端跨平臺移動(dòng)應(yīng)用開發(fā)技術(shù)研究[D].云南大學(xué),2015(04).
DOI:10.16640/j.cnki.37-1222/t.2016.02.228