六月婷婷AV,国产偷窥猎奇福利二区,日韩三级片。,好吊色网站,日韩成人中文在线视频,国产亚洲午夜啪啪,亚洲欧美另类国产精品,国产成人av1,任你艹在线观看

TDengine在星諾好管車的應(yīng)用實(shí)踐

星諾信息 焦海波

2019-11-29 / ,

作者 | 焦海波,星諾信息研發(fā)總監(jiān)

小 T 導(dǎo)讀:江蘇星諾信息是一家基于智能車載定位終端提供車輛定位、車隊(duì)管理服務(wù)的物聯(lián)網(wǎng)科技公司,在行業(yè)中有著十多年的服務(wù)和運(yùn)營經(jīng)驗(yàn),軟硬件開發(fā)經(jīng)驗(yàn)豐富。好管車,是星諾信息最新研發(fā)的一套基于大數(shù)據(jù)人工智能 + 云服務(wù)的車隊(duì)管理SaaS工具。好管車致力于打造一個智能化管車工具,基于獨(dú)有的精準(zhǔn)硬件設(shè)備+智能大數(shù)據(jù)算法平臺,提供給政企車隊(duì)及物流企業(yè)客戶一套綜合管理與服務(wù)解決方案,覆蓋車輛精準(zhǔn)里程、定位回放、能耗管理、行程合并、賬單結(jié)算、安全監(jiān)控、智能裝備和統(tǒng)計(jì)分析等車隊(duì)運(yùn)營全流程,賦能車隊(duì)及物流企業(yè)、提升行業(yè)整體效率。

選擇TDengine Database的幾個考慮

2018年12月份在InfoQ舉辦的全球架構(gòu)師峰會上有幸結(jié)識了TDengine的創(chuàng)始人陶建輝先生,當(dāng)時陶建輝先生演講的主題是《快速搭建一超高性能的時序空間大數(shù)據(jù)處理平臺》,作為正處于初期研發(fā)階段的好管車系統(tǒng)來說,TDengine Database里很多先進(jìn)的概念和設(shè)計(jì)思路都非常符合一個車聯(lián)網(wǎng)項(xiàng)目的需求,不論是從業(yè)務(wù)場景還是從車聯(lián)網(wǎng)相關(guān)數(shù)據(jù)特點(diǎn)出發(fā),當(dāng)時就感覺和我們的好管車項(xiàng)目非常的契合,并且還有一個很重要的原因,在新項(xiàng)目研發(fā)初期TDengine對于系統(tǒng)開發(fā)成本和運(yùn)維成本都能做到一部分的降低,畢竟對于一個初創(chuàng)項(xiàng)目來說,驗(yàn)證和實(shí)驗(yàn)產(chǎn)品是最主要的目標(biāo),能快則快,在數(shù)據(jù)庫和未來后期的大數(shù)據(jù)處理平臺這塊能有一個比較堅(jiān)實(shí)的基礎(chǔ)肯定是最好的選擇。

之后便開始與濤思數(shù)據(jù)深入溝通合作,在1個月內(nèi)開始了私有部署版本測試,經(jīng)過初期本地部署版本的調(diào)試和對接之后,在2019年3月初我們開始了云服務(wù)版本的打通與測試。

摒棄繁雜,擁抱致簡

在這個階段我們當(dāng)然也嘗試過其他類型的數(shù)據(jù)庫解決方案,因?yàn)檠邪l(fā)團(tuán)隊(duì)精力人力有限我們幾乎沒有去考慮自己搭建一套大數(shù)據(jù)處理平臺,畢竟要充分整合Kafka、HBase、Hadoop、Spark這一系列開源框架不僅意味要花費(fèi)大量人力,還需要更多的時間去調(diào)試開源框架本身的問題,融合及聯(lián)調(diào)不同框架,還存在著很多數(shù)據(jù)一致性的問題,同時也意味著后期運(yùn)維成本的大幅度增加,穩(wěn)定性也是個不小的未知數(shù)。

之后我們也嘗試了云服務(wù),比如阿里云的幾個解決方案,表格存儲、時序時空數(shù)據(jù)庫TSDB版和InfluxDB版,但因?yàn)楫?dāng)時本身阿里云所提供的時序數(shù)據(jù)庫方面的服務(wù)也是一個初期版本和方案,在很多方面其實(shí)還不是很成熟,甚至很多服務(wù)都是處于一個內(nèi)測和公測的階段,加上在接入和實(shí)際使用上的一些問題,比如沒有剛開始沒有類SQL的操作及查詢語言,數(shù)據(jù)聚合函數(shù)方面的欠缺,最終都不是最合適的選擇。還有一點(diǎn),類似的云服務(wù)器在整體產(chǎn)品不是那么成熟的情況下,云服務(wù)廠商能提供的實(shí)際相關(guān)支持也不那么方便,畢竟通過工單打字溝通交流還是存在一定障礙的。

最終我們還是堅(jiān)持了一開始的選擇,選擇了TDengine的云服務(wù)版本,利用阿里云的高速通道服務(wù),打通了TDengine和我們阿里云ECS的連接,利用其高速、高效的存儲和便捷的查詢支持接入好管車平臺。

場景契合,數(shù)據(jù)增值

在對TDengine進(jìn)行一定的研究后,我們意識到TDengine是一個專門面對時序結(jié)構(gòu)化數(shù)據(jù)存儲分析的大數(shù)據(jù)處理軟件。對于車聯(lián)網(wǎng)的數(shù)據(jù),絕大部分是TBox定位終端上報(bào)的數(shù)據(jù)。這些數(shù)據(jù)包括GPS坐標(biāo)、油耗、里程數(shù)、加速度、起停信息等,是完全結(jié)構(gòu)化的時序數(shù)據(jù)流,非常適合寫入TDengine。星諾好管車的系統(tǒng)搭建思路如下:

TDengine在星諾好管車的應(yīng)用實(shí)踐 - TDengine Database 時序數(shù)據(jù)庫
圖 1 星諾好管車的系統(tǒng)搭建思路

星諾好管車SaaS服務(wù)平臺基于終端上報(bào)的車輛運(yùn)行狀態(tài)數(shù)據(jù),進(jìn)行一系列實(shí)時及離線數(shù)據(jù)分析,針對每個TBox上報(bào)的數(shù)據(jù),經(jīng)過負(fù)載均衡平均分配到后端實(shí)時解析服務(wù)器,數(shù)據(jù)經(jīng)過初步解析后直接通過TDengine提供的接口寫入數(shù)據(jù)庫,TDengine中我們建立了一個超級表來存儲基礎(chǔ)GPS數(shù)據(jù),并為每輛車建立一個子表,超級表gpsinfo的tag用來存放車輛子表的靜態(tài)信息,比如車輛編號、車牌號、所屬用戶、所屬分組,這些不常變更的信息,子表則用于存放車輛的即時狀態(tài)信息,包括行駛和停駛信息,例如速度、方向、經(jīng)緯度、報(bào)警狀態(tài)碼、信號強(qiáng)度等十幾種。

關(guān)于數(shù)據(jù)的實(shí)時分析,除了針對上報(bào)數(shù)據(jù)的即時分析,另外對于車輛異常狀態(tài)的報(bào)警數(shù)據(jù),考慮到核心解析應(yīng)用的穩(wěn)定性,我們利用了TDengine的消息訂閱服務(wù)功能,將數(shù)據(jù)庫收到并插入的新記錄以消息隊(duì)列的形式發(fā)出通知,由后端的幾臺報(bào)警信息解析服務(wù)器專門負(fù)責(zé)訂閱接收通知進(jìn)行進(jìn)一步的業(yè)務(wù)報(bào)警分析處理。針對后期的歷史數(shù)據(jù)分析,則定期執(zhí)行計(jì)劃任務(wù),按時間或車輛行程規(guī)律進(jìn)行日常的數(shù)據(jù)統(tǒng)計(jì)分析。

使用體驗(yàn)

TDengine Database使用標(biāo)準(zhǔn)的 SQL 語法,與MySQL相似。在項(xiàng)目上手成本幾乎為零。針對其特點(diǎn),我們對每個數(shù)據(jù)采集點(diǎn)單獨(dú)建表,通過超級表維護(hù)公共數(shù)據(jù)字段,及其提供的聚合選擇等多種查詢函數(shù),使得在多維度數(shù)據(jù)整合查詢方面非常便利。根據(jù)TDengine和我公司業(yè)務(wù),主要實(shí)現(xiàn)車輛信息的采集處理。

1、創(chuàng)建車輛信息超級表 gpsinfo, 通過超級表提取車輛信息公共字段[gps_time 、lngitude 。。] ,及車輛對應(yīng)標(biāo)簽,車輛編號 vid 等信息,區(qū)分子表信息

--- 車輛信息表
 create table gpsinfo (
   gps_time TIMESTAMP,
   lngitude DOUBLE,
   latitude DOUBLE,
   altitude INT,
   ...
 )
 tags
(
  vid BINARY(9),
  pno_64 BINARY(40)
);

-- 根據(jù)其對表的數(shù)量沒有限制,對所有車輛進(jìn)行單獨(dú)建表
create table  db_gps_info.vid(..) tags(...)

2、業(yè)務(wù)使用,通過超級表的查詢來,聚合數(shù)據(jù)實(shí)現(xiàn)相應(yīng)業(yè)務(wù)。

// 查詢一段時間內(nèi), 終端狀態(tài)信息
select first(gps_time) from gpsinfo
where tbname in (vid) and gps_time >= "xxxx-xx-xx xx:xx:xx" and  gps_time <= "xxxx-xx-xx xx:xx:xx"
group by vid

遇到的問題及解決方案

補(bǔ)發(fā)數(shù)據(jù)的亂序?qū)懭?/strong>

在實(shí)際場景中,由于TBox使用4G網(wǎng)絡(luò)發(fā)送采集的數(shù)據(jù),經(jīng)常出現(xiàn)車輛進(jìn)入信號差的區(qū)域,TBox沒有信號而無法實(shí)時上報(bào)數(shù)據(jù),只能先緩存在終端本地緩存中。等到網(wǎng)絡(luò)信號恢復(fù)后,TBox終端會先上報(bào)最新狀態(tài),然后補(bǔ)發(fā)緩存的數(shù)據(jù)。最開始我們發(fā)現(xiàn)補(bǔ)發(fā)的歷史數(shù)據(jù)很多無法直接insert到TDengine,這是由于補(bǔ)發(fā)的數(shù)據(jù)時間戳往往已經(jīng)不是表中最大的時間戳,此時TDengine不允許insert這些記錄。改用import后,解決了補(bǔ)發(fā)歷史數(shù)據(jù)的寫入問題。

未來的展望

未來針對數(shù)據(jù)庫中存儲的數(shù)據(jù)我們將更多的嘗試?yán)肨Dengine Database的實(shí)時流式計(jì)算特性,針對單輛車或同一客戶下的多輛車的數(shù)據(jù)流進(jìn)行實(shí)時聚合、統(tǒng)計(jì)等計(jì)算,并將計(jì)算出的衍生數(shù)據(jù)作為新的分析結(jié)果保存進(jìn)TDengine,以便后期進(jìn)一步的操作、統(tǒng)計(jì)和展示。