目前有大概300多個(gè)終端(智能手機(jī))需要每20s向服務(wù)器發(fā)送一次坐標(biāo),攜帶信息包括電話號(hào)碼和坐標(biāo)以及類(lèi)型等其他信息,后續(xù)也可能有新的終端加入到系統(tǒng),這個(gè)加入是全自動(dòng)的,也就是一個(gè)新的智能手機(jī),裝了一個(gè)app之后就開(kāi)始上傳,沒(méi)有注冊(cè)什么的步驟。另外需要提供一個(gè)包含地圖的頁(yè)面讓客戶能夠看到這些終端的最新位置并實(shí)時(shí)刷新,擬采用ajax輪訓(xùn),每30秒查詢一次服務(wù)器。準(zhǔn)備采用mysql,現(xiàn)在覺(jué)得數(shù)據(jù)庫(kù)結(jié)構(gòu)不確定,有幾種思路:1一個(gè)表搞定數(shù)據(jù)phonetypexyupdated收到終端定位請(qǐng)求就插入一條記錄,頁(yè)面查詢的話通過(guò)sql語(yǔ)句查出每個(gè)終端最新的位置這樣感覺(jué)比較簡(jiǎn)單,每次請(qǐng)求只需一次插入操作,但是如果后續(xù)終端包含的信息多起來(lái)的話,擔(dān)心冗余,比如這個(gè)表里面type就重復(fù)存儲(chǔ)了。2兩張表表1:元數(shù)據(jù)phonetypexy表2:軌跡數(shù)據(jù)phonexyupdated這樣收到終端定位,首先插入一條記錄到表2,然后判斷表1里面有沒(méi)有這個(gè)phone,沒(méi)有就代表新增設(shè)備,insert一條記錄,有的話就更新坐標(biāo)。頁(yè)面查詢就查詢表1。這個(gè)方式會(huì)導(dǎo)致在收到終端坐標(biāo)需要兩次操作,可能需要事務(wù)控制。不知道這些方式那個(gè)可行?有沒(méi)有做過(guò)類(lèi)似項(xiàng)目的給點(diǎn)經(jīng)驗(yàn)?另外,后臺(tái)用node做靠不靠譜?
定位服務(wù)的數(shù)據(jù)表設(shè)計(jì)
慕妹3242003
2019-04-14 09:51:25