
如上圖所示,上萬臺終端半分鐘發送一條位置資訊給通信,報文處理服務器,然后存入DB。
然后業務部門需要在網頁中匯出每臺終端位置資訊的Excel。
因為存入資料庫時只存經緯度,不做逆地理處理。
所以,現在這個感覺很煩,幾萬條經緯度如何決議實際位置?
高德、百度,每秒并發只有1000。很慢。
有什么好辦法嗎?網頁顯示的話還好,可以分頁加載,決議。但是匯出excel的話就很煩
uj5u.com熱心網友回復:
提供個思路 分布式流處理uj5u.com熱心網友回復:
1、資料不直接存db 而是通知訊息佇列2、插入db端 和 逆地址處理兩個程式分別監聽訊息佇列
3、逆地址處理的資料可以存在其他地方(如hbase等庫)以供匯出 不要影響DB性能
uj5u.com熱心網友回復:
資料現在是用的訊息佇列存DB的,如果是插入DB之前逆地址處理的話,高德/百度,每天配額只有30W,遠遠不夠的。
最關鍵的是,地址是不停變動的。
uj5u.com熱心網友回復:
看了你的描述,我覺得你的問題不在于db或者佇列或者其他訊息,你的問題在于高德/百度的逆地理編碼的qps只有1000。這個1000導致你無法實時或者快速的處理完所有上報的資料。我給予你以下建議:
如果是網頁實時查看的話,應該是沒問題的,你可以決議后所謂的分頁查看。
你這個是匯出表格,不會實時的,你就可以使用定時器或者其他的一些方式,分批次處理,雖然會有滯后性,但是是可以實作的,我相信你也是沒問題的,處理后將資料存盤到db中,匯出的時候就直接沒問題啦。
當然也有最垃圾的辦法,匯出的時候處理,哈哈哈。
還有一個辦法,看甲方是否同意啦,就是點擊匯出的時候,你后臺去異步處理,類似佇列,然后給到頁面一個狀態(比如處理中),用戶可以做其他操作,等過啦1分鐘后顯示啦處理完成啦,然后就匯出就好啦
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/87471.html
標籤:Web 開發
下一篇:想請教一下這個問題
