括:
[0076]接收緩存模塊1031,與MAC地址獲取模塊102相連,用于接收并存儲(chǔ)第一 MAC信息,第一 MAC信息包括MAC地址和接收時(shí)間。
[0077]具體的,本發(fā)明將獲取的MAC地址與接收時(shí)間存入接收緩存模塊1031,同時(shí)再進(jìn)行下一步的接收。
[0078]MAC信息緩存模塊1032,存儲(chǔ)有第二 MAC信息,第二 MAC信息包括MAC地址和記錄時(shí)間。
[0079]具體的,對(duì)接收到的第一MAC信息處理后存儲(chǔ)在MAC信息緩存模塊1032,其存儲(chǔ)有所有覆蓋范圍內(nèi)的移動(dòng)設(shè)備的第二 MAC信息。
[0080]實(shí)時(shí)模塊1033,分別與所述接收緩存模塊1031和所述MAC信息緩存模塊1032相連,用于判斷所述移動(dòng)設(shè)備是否為進(jìn)入狀態(tài),并記錄移動(dòng)設(shè)備的進(jìn)入時(shí)間,生成進(jìn)入狀態(tài)信息發(fā)送至服務(wù)器200。
[0081]其中,實(shí)時(shí)模塊1033,分別與接收緩存模塊1031和MAC信息緩存模塊1032相連,判斷所述MAC信息緩存模塊1032中的所述第二 MAC信息中是否包含有所述第一 MAC信息中的MAC地址;以及,還用于當(dāng)判斷結(jié)果為否時(shí),標(biāo)記所述第一 MAC信息為進(jìn)入狀態(tài)生成進(jìn)入狀態(tài)信息并發(fā)送通信模塊104,同時(shí),將所述接收時(shí)間記錄為記錄時(shí)間,并將所述記錄時(shí)間和所述MAC地址生成第二 MAC信息存儲(chǔ)在所述MAC信息緩存模塊1032中;以及,還用于當(dāng)判斷結(jié)果為是時(shí),在所述MAC信息緩存模塊1032中查找包括相同所述MAC地址的第二MAC信息,將其中所述記錄時(shí)間更新為所述第一 MAC信息中的接收時(shí)間,并存儲(chǔ)更新后的所述第二 MAC信息至所述第一存儲(chǔ)模塊1035。
[0082]具體的,實(shí)時(shí)模塊1033同時(shí)訪問(wèn)MAC信息緩存模塊1032和第一存儲(chǔ)模塊1035,將接收到的第一 MAC信息與MAC信息緩存模塊1032中存儲(chǔ)的第二 MAC信息進(jìn)行比對(duì),對(duì)新增的MAC地址在MAC信息緩存模塊1032和第一存儲(chǔ)模塊1035中存儲(chǔ)。
[0083]應(yīng)用模塊1034,分別與所述MAC信息緩存模塊1032和第一存儲(chǔ)模塊1035相連,用于判斷所述移動(dòng)設(shè)備是否離開(kāi)狀態(tài),并記錄移動(dòng)設(shè)備的離開(kāi)時(shí)間生成離開(kāi)狀態(tài)信息發(fā)送至服務(wù)器200。
[0084]所述應(yīng)用模塊1034具體用于定時(shí)循環(huán)掃描所述第二 MAC信息,計(jì)算所述第二 MAC信息中最后一次記錄的所述記錄時(shí)間與當(dāng)前時(shí)間的時(shí)間差值,并通過(guò)比較其記錄時(shí)間和當(dāng)前時(shí)間的時(shí)間差值判斷該MAC地址的移動(dòng)設(shè)備是否已經(jīng)離開(kāi);還用于當(dāng)所述時(shí)間差值大于設(shè)定閥值時(shí),標(biāo)記所述第二 MAC信息中的所述MAC地址為離開(kāi)狀態(tài),計(jì)算離開(kāi)時(shí)間存儲(chǔ)至第二 MAC信息生成離開(kāi)狀態(tài)信息,發(fā)送至通信模塊104。
[0085]當(dāng)?shù)诙?MAC信息標(biāo)記為離開(kāi)狀態(tài)時(shí),應(yīng)用模塊1034還從MAC信息緩存模塊1032中刪除第二 MAC信息。
[0086]第一存儲(chǔ)模塊1035,用于存儲(chǔ)更新后的第二 MAC信息;
[0087]本發(fā)明通過(guò)發(fā)送喚醒包喚醒覆蓋范圍內(nèi)的移動(dòng)設(shè)備,獲取其MAC地址,通過(guò)對(duì)其MAC地址進(jìn)行查詢和分析處理,獲得移動(dòng)設(shè)備的進(jìn)入和離開(kāi)時(shí)間。
[0088]本發(fā)明還提供了一種WIFI探測(cè)識(shí)別系統(tǒng),圖3為本發(fā)明WIFI探測(cè)識(shí)別系統(tǒng)組成示意圖,如圖3所示,WIFI探測(cè)識(shí)別系統(tǒng)包括至少一個(gè)上述WIFI探測(cè)識(shí)別設(shè)備100和至少一個(gè)服務(wù)器200 ;
[0089]WIFI探測(cè)識(shí)別設(shè)備100用于獲取移動(dòng)設(shè)備的MAC地址,并根據(jù)MAC地址獲得移動(dòng)設(shè)備的進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息,并發(fā)送至服務(wù)器200 ;
[0090]其中,WIFI探測(cè)識(shí)別設(shè)備100和服務(wù)器200的通信方式包括WIF1、3G/4G、LAN中的一種。
[0091]服務(wù)器200包括接收模塊201、第二存儲(chǔ)模塊202和處理模塊203 ;
[0092]接收模塊201接收WIFI探測(cè)識(shí)別設(shè)備100發(fā)送的進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息;具體的,進(jìn)入狀態(tài)信息包括MAC地址和接收時(shí)間,離開(kāi)狀態(tài)信息包括MAC地址和記錄時(shí)間。
[0093]第二存儲(chǔ)模塊202用來(lái)存儲(chǔ)接收到的進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息。
[0094]處理模塊203用于處理WIFI探測(cè)識(shí)別設(shè)備100發(fā)送的進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息,根據(jù)接收時(shí)間和記錄時(shí)間可獲取移動(dòng)設(shè)備的進(jìn)入時(shí)間和離開(kāi)時(shí)間。
[0095]本發(fā)明通過(guò)WIFI探測(cè)識(shí)別設(shè)備100獲取移動(dòng)設(shè)備的MAC地址,并通過(guò)分析處理獲取移動(dòng)設(shè)備在覆蓋范圍內(nèi)進(jìn)入和離開(kāi)的時(shí)間發(fā)送至服務(wù)器200,服務(wù)器200對(duì)移動(dòng)設(shè)備的進(jìn)入和離開(kāi)的時(shí)間進(jìn)行處理,能夠?yàn)椴樵円苿?dòng)設(shè)備的狀態(tài)提供數(shù)據(jù)服務(wù)。
[0096]下面具體介紹本發(fā)明WIFI探測(cè)識(shí)別系統(tǒng)的工作過(guò)程:
[0097]首先,喚醒包發(fā)送模塊101向移動(dòng)設(shè)備發(fā)送喚醒數(shù)據(jù)包,喚醒處于休眠期的移動(dòng)設(shè)備,移動(dòng)設(shè)備收到喚醒包后給予響應(yīng),發(fā)送出802.11協(xié)議數(shù)據(jù)包給WIFI探測(cè)識(shí)別設(shè)備100。
[0098]通過(guò)MAC地址獲取模塊102接收移動(dòng)設(shè)備發(fā)送的802.11協(xié)議數(shù)據(jù)包,并解析數(shù)據(jù)包,從幀頭的目的地址字段中提取MAC地址存入接收緩存模塊1031,同時(shí)進(jìn)行下一步的接收。
[0099]接收緩存模塊1031存儲(chǔ)MAC地址和接收時(shí)間為第一 MAC信息。
[0100]接著,實(shí)時(shí)模塊1033定時(shí)從接收緩存模塊1031中取得第一 MAC信息,通過(guò)與MAC信息緩存模塊1032已經(jīng)存儲(chǔ)的第二 MAC信息進(jìn)行比對(duì),判斷第二MAC信息中是否包含有第一MAC信息中的MAC地址,遍歷MAC信息緩存模塊1032沒(méi)有找到第一 MAC信息中的MAC地址時(shí),標(biāo)記當(dāng)前第一 MAC信息為進(jìn)入狀態(tài),生成進(jìn)入狀態(tài)信息發(fā)送至通信模塊104,同時(shí),將接收時(shí)間記錄為記錄時(shí)間,并將記錄時(shí)間和MAC地址生成第二 MAC信息存儲(chǔ)在MAC信息緩存模塊1032中。
[0101]當(dāng)判斷結(jié)果是時(shí),在MAC信息緩存模塊1032中查找包括相同MAC地址的第二 MAC信息,將其中記錄時(shí)間更新為第一MAC信息中的接收時(shí)間,并存儲(chǔ)更新后的第二MAC信息至第一存儲(chǔ)模塊1035。
[0102]然后,應(yīng)用模塊1034定時(shí)循環(huán)掃描MAC信息緩存模塊1032和第一存儲(chǔ)模塊1035中的第二 MAC信息,計(jì)算第二 MAC信息中最后一次記錄的記錄時(shí)間與當(dāng)前時(shí)間的時(shí)間差值,當(dāng)時(shí)間差值大于設(shè)定閥值時(shí),標(biāo)記第二 MAC信息中的MAC地址為離開(kāi)狀態(tài),計(jì)算離開(kāi)時(shí)間生成離開(kāi)狀態(tài)信息,發(fā)送至通信模塊104。若時(shí)間差值小于設(shè)定閥值,則說(shuō)明該移動(dòng)設(shè)備還在WIFI探測(cè)識(shí)別設(shè)備100的范圍內(nèi),能夠收到移動(dòng)設(shè)備發(fā)送的數(shù)據(jù)包,不作任何處理。
[0103]當(dāng)?shù)诙?MAC信息標(biāo)記為離開(kāi)狀態(tài)時(shí),應(yīng)用模塊1034還從MAC信息緩存模塊1032中刪除第二 MAC信息。
[0104]通信模塊104將接收的進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息發(fā)送至服務(wù)器200。
[0105]服務(wù)器200通過(guò)接收模塊201接收進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息,將其存儲(chǔ)在第二存儲(chǔ)模塊202。
[0106]通過(guò)處理模塊203處理進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息,獲取移動(dòng)設(shè)備進(jìn)入和離開(kāi)WIFI探測(cè)識(shí)別設(shè)備100覆蓋范圍的時(shí)間。
[0107]圖4為本發(fā)明WIFI探測(cè)識(shí)別方法的步驟示意圖,作為本發(fā)明一個(gè)具體實(shí)施例,如圖4所示,一種WIFI探測(cè)識(shí)別方法,包括:
[0108]步驟I喚醒移動(dòng)設(shè)備發(fā)送數(shù)據(jù)包;
[0109]步驟2接收并解析數(shù)據(jù)包獲取第一 MAC信息;
[0110]步驟3判斷所述第一 MAC信息中的MAC地址是否為新MAC地址,若是,則標(biāo)記所述MAC地址為進(jìn)入狀態(tài),生成進(jìn)入狀態(tài)信息并發(fā)送至服務(wù)器200,同時(shí)記錄接收時(shí)間為記錄時(shí)間,將所述記錄時(shí)間和MAC地址生成第二 MAC信息并存儲(chǔ);否則,查找包括相同所述MAC地址的第二 MAC信息,將所述第二 MAC信息中的記錄時(shí)間更新為接收時(shí)間,存儲(chǔ)更新后的所述第二 MAC彳目息;
[0111]步驟4掃描所述第二 MAC信息,計(jì)算所述第二 MAC信息中最后一次記錄的所述記錄時(shí)間與當(dāng)前時(shí)間的時(shí)間差值,若所述時(shí)間差值大于設(shè)定閥值,則標(biāo)記所述第二 MAC信息中的MAC地址為離開(kāi)狀態(tài),計(jì)算離開(kāi)時(shí)間生成離開(kāi)狀態(tài)信息并發(fā)送至服務(wù)器200。具體的,離開(kāi)時(shí)間為當(dāng)前時(shí)間減去時(shí)間差值。
[0112]步驟5服務(wù)器200接收所述標(biāo)記為進(jìn)入狀態(tài)信息和離開(kāi)狀態(tài)信息,獲取移動(dòng)設(shè)備的接收時(shí)間和記錄時(shí)間,根據(jù)所述接收時(shí)間和記錄時(shí)間得到移動(dòng)設(shè)備的進(jìn)入時(shí)間和離開(kāi)時(shí)間。
[0113]其中,步驟3中判斷第一 MAC信息中的MAC地址是否為新的MAC地址具體為:
[0114]比對(duì)第一 MAC信息和第二 MAC信息,查找所有的第二 MAC信息中的MAC地址,是否存在與第一 MAC信息的MAC地址相同的MAC地址,若是,則第一 MAC信息中的MAC地址不是新的MAC地址;若否,則第一 MAC信息中的MAC地址是新的MAC地址。