版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)分析與數(shù)據(jù)可視化實(shí)戰(zhàn)1第1章TPC-DS數(shù)據(jù)分析案例簡(jiǎn)介目錄企業(yè)級(jí)數(shù)據(jù)分析環(huán)境的搭建結(jié)構(gòu)化查詢語(yǔ)言SQL數(shù)據(jù)可視化基礎(chǔ)用戶數(shù)據(jù)分析與數(shù)據(jù)挖掘?qū)崙?zhàn)第2章第3章第4章第5章第6章第7章數(shù)據(jù)分析與數(shù)據(jù)庫(kù)初步認(rèn)識(shí)2供應(yīng)鏈數(shù)據(jù)分析與數(shù)據(jù)挖掘?qū)崙?zhàn)數(shù)據(jù)集簡(jiǎn)介數(shù)據(jù)分析與挖掘技術(shù)有著很強(qiáng)的實(shí)踐性,僅僅停留在紙上談兵的階段是不夠的。本章介紹了將會(huì)貫穿全書(shū)始終的實(shí)戰(zhàn)案例——TPC-DS數(shù)據(jù)集,一個(gè)與真實(shí)情景高度相仿的企業(yè)級(jí)數(shù)據(jù)集。本章首先對(duì)TPC-DS數(shù)據(jù)集中的4個(gè)業(yè)務(wù)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了簡(jiǎn)介,接下來(lái)對(duì)各數(shù)據(jù)表的關(guān)鍵字段語(yǔ)義和字段之間的關(guān)鍵數(shù)量關(guān)系進(jìn)行了定義,最后由TPC-DS數(shù)據(jù)集引申到真實(shí)的企業(yè)級(jí)數(shù)據(jù)分析場(chǎng)景,探討了TPC-DS數(shù)據(jù)集數(shù)據(jù)分析任務(wù)背后的啟示以及挑戰(zhàn),為后續(xù)的數(shù)據(jù)分析案例實(shí)戰(zhàn)進(jìn)行鋪墊。本章學(xué)習(xí)目標(biāo)包括以下幾點(diǎn):1.理解TPC-DS數(shù)據(jù)集的業(yè)務(wù)網(wǎng)絡(luò)結(jié)構(gòu);2.掌握TPC-DS數(shù)據(jù)集各數(shù)據(jù)表的關(guān)鍵字段語(yǔ)義以及字段之間的關(guān)鍵數(shù)量關(guān)系;3.理解TPC-DS數(shù)據(jù)集對(duì)于企業(yè)級(jí)數(shù)據(jù)分析的啟示。本章要點(diǎn)/學(xué)習(xí)目標(biāo)數(shù)據(jù)集結(jié)構(gòu)解析啟示與挑戰(zhàn)本章內(nèi)容1233TPC-DS數(shù)據(jù)集
TPC-DS數(shù)據(jù)集是事務(wù)性能管理委員會(huì)(TransactionProcessingPerformanceCouncil,TPC)發(fā)布的用戶數(shù)據(jù)庫(kù)評(píng)測(cè)的基準(zhǔn)之一,是用于評(píng)測(cè)決策支持系統(tǒng)的標(biāo)準(zhǔn)測(cè)試集。TPC-DS是一個(gè)與真實(shí)場(chǎng)景非常接近的數(shù)據(jù)集。在教程中,我們將其視為一個(gè)快消行業(yè)龍頭企業(yè)的數(shù)據(jù)庫(kù),主要通過(guò)門(mén)店(store)、目錄(catalog)以及網(wǎng)絡(luò)(website)三個(gè)渠道向世界各地的用戶提供產(chǎn)品。TPC-DS數(shù)據(jù)集共擁有7張事實(shí)表與17張維度表。4數(shù)據(jù)集結(jié)構(gòu)解析門(mén)店銷售網(wǎng)絡(luò)(storesales網(wǎng)絡(luò))5目錄銷售網(wǎng)絡(luò)(catalogsales網(wǎng)絡(luò))6數(shù)據(jù)集結(jié)構(gòu)解析網(wǎng)站銷售網(wǎng)絡(luò)(websitesales網(wǎng)絡(luò))7數(shù)據(jù)集結(jié)構(gòu)解析庫(kù)存網(wǎng)絡(luò)(inventory網(wǎng)絡(luò))8數(shù)據(jù)集結(jié)構(gòu)解析啟示與挑戰(zhàn)TPC-DS數(shù)據(jù)集是高度簡(jiǎn)化的企業(yè)級(jí)數(shù)據(jù)庫(kù),大型企業(yè)的實(shí)際情況會(huì)更加錯(cuò)綜復(fù)雜。不同業(yè)務(wù)網(wǎng)絡(luò)所需要考慮的問(wèn)題和思考問(wèn)題的角度有很大的區(qū)別,供應(yīng)鏈庫(kù)存網(wǎng)絡(luò)與三大銷售網(wǎng)絡(luò)的運(yùn)營(yíng)目標(biāo)和運(yùn)營(yíng)方法論之間存在著天壤之別。門(mén)店銷售業(yè)務(wù)、目錄銷售業(yè)務(wù)與電商銷售業(yè)務(wù)雖然在業(yè)務(wù)上相似,但是其運(yùn)營(yíng)策略、促銷手段、用戶留存等方面也存在很大的區(qū)別。針對(duì)TPC-DS數(shù)據(jù)集所進(jìn)行的分析是多角度的,涵蓋了從庫(kù)存到營(yíng)銷到售后的整個(gè)價(jià)值鏈環(huán)節(jié),主要包括了面向用戶分析以及面向產(chǎn)品分析兩個(gè)主要的分析維度。9本章小結(jié)TPC-DS是數(shù)據(jù)庫(kù)學(xué)術(shù)界和產(chǎn)業(yè)界使用的工業(yè)基準(zhǔn)(Benchmark)數(shù)據(jù)集,有標(biāo)準(zhǔn)的數(shù)據(jù)表結(jié)構(gòu)、數(shù)據(jù)生成器以及測(cè)試查詢,是數(shù)據(jù)庫(kù)產(chǎn)品性能測(cè)試的公共基準(zhǔn)。TPC-DS數(shù)據(jù)集復(fù)雜性較高,與企業(yè)實(shí)際數(shù)據(jù)庫(kù)結(jié)構(gòu)相似度較高,能夠較好地模擬企業(yè)真實(shí)的數(shù)據(jù)分析需求,其較為全面的維度也給了不同學(xué)科背景的用戶模擬不同分析場(chǎng)景提供了支持。本章以TPC-DS數(shù)據(jù)集作為貫穿始終的數(shù)據(jù)集,通過(guò)數(shù)據(jù)分析案例設(shè)計(jì)演示在企業(yè)數(shù)據(jù)集上的數(shù)據(jù)分析與數(shù)據(jù)可視化實(shí)現(xiàn)技術(shù),為學(xué)習(xí)者建立模擬實(shí)戰(zhàn)環(huán)境,增強(qiáng)學(xué)習(xí)者數(shù)據(jù)分析技術(shù)的實(shí)際應(yīng)用能力。1011ZStack協(xié)議棧開(kāi)發(fā)3-2
Zstack協(xié)議棧工程解析Zstack協(xié)議棧工程解析
在“TexasInstruments\ZStack-CC2530-2.4.0-1.4.0\Projects\zstack\Samples”目錄下可以看到TI官方提供的3個(gè)關(guān)于ZStack協(xié)議棧的例程,分別是GenericApp、SampleApp和SimpleApp。本書(shū)所有的基于協(xié)議棧的項(xiàng)目均是在SimpleApp的基礎(chǔ)上進(jìn)行修改而實(shí)現(xiàn)的。本節(jié)通過(guò)解析ZStack協(xié)議棧工程來(lái)介紹ZStack協(xié)議棧的工作原理及工作流程。
下面以ZigBee多點(diǎn)自組織網(wǎng)絡(luò)的開(kāi)發(fā)為例來(lái)解析ZStack協(xié)議棧的工作原理及其工作流程,并對(duì)關(guān)鍵代碼進(jìn)行解釋。
打開(kāi)ZigBee多點(diǎn)自組織網(wǎng)絡(luò)開(kāi)發(fā)項(xiàng)目后,在Workspace下拉框選項(xiàng)中可以看到3個(gè)子工程,分別是協(xié)調(diào)器、路由節(jié)點(diǎn)和終端節(jié)點(diǎn),如圖3.9所示。通過(guò)選擇不同的子工程,就可以選擇不同的源文件和編譯選項(xiàng)。
ZigBee網(wǎng)絡(luò)中一般含有三類節(jié)點(diǎn)類型:協(xié)調(diào)器(負(fù)責(zé)建立ZigBee網(wǎng)絡(luò)、數(shù)據(jù)收發(fā))、終端節(jié)點(diǎn)(數(shù)據(jù)采集、接收控制)和路由節(jié)點(diǎn)(在終端節(jié)點(diǎn)的基礎(chǔ)上增加了路由轉(zhuǎn)發(fā)的功能)。為了更容易理解ZStack協(xié)議棧的工作原理,這里先簡(jiǎn)單介紹協(xié)調(diào)器、終端節(jié)點(diǎn)和路由節(jié)點(diǎn)在ZigBee網(wǎng)絡(luò)中的工作流程,如圖3.10所示。Zstack協(xié)議棧工程解析
打開(kāi)ZigBee多點(diǎn)自組織網(wǎng)絡(luò)開(kāi)發(fā)項(xiàng)目后,在Workspace下拉框選項(xiàng)中可以看到3個(gè)子工程,分別是協(xié)調(diào)器、路由節(jié)點(diǎn)和終端節(jié)點(diǎn),如圖3.9所示。通過(guò)選擇不同的子工程,就可以選擇不同的源文件和編譯選項(xiàng)。
圖3.9子工程選項(xiàng)Zstack協(xié)議棧工程解析ZigBee網(wǎng)絡(luò)中一般含有三類節(jié)點(diǎn)類型:協(xié)調(diào)器(負(fù)責(zé)建立ZigBee網(wǎng)絡(luò)、數(shù)據(jù)收發(fā))、終端節(jié)點(diǎn)(數(shù)據(jù)采集、接收控制)和路由節(jié)點(diǎn)(在終端節(jié)點(diǎn)的基礎(chǔ)上增加了路由轉(zhuǎn)發(fā)的功能)。為了更容易理解ZStack協(xié)議棧的工作原理,這里先簡(jiǎn)單介紹協(xié)調(diào)器、終端節(jié)點(diǎn)和路由節(jié)點(diǎn)在ZigBee網(wǎng)絡(luò)中的工作流程,如圖3.10所示。
圖3.10終端節(jié)點(diǎn)、路由節(jié)點(diǎn)和協(xié)調(diào)器在ZigBee網(wǎng)絡(luò)中的工作流程由圖3.10可知,終端節(jié)點(diǎn)、路由節(jié)點(diǎn)和協(xié)調(diào)器的工作流程基本相同,只有在執(zhí)行用戶任務(wù)時(shí)稍有不同。下面根據(jù)圖3.10來(lái)解析ZStack協(xié)議棧的工作流程。解析ZStack協(xié)議棧最簡(jiǎn)單、最直接的方法就是從工程的入口,即main函數(shù)開(kāi)始解析。Zstack協(xié)議棧工程解析1.ZStack協(xié)議棧OSAL調(diào)度關(guān)鍵代碼解析在工程的“ZMain”目錄下有一個(gè)ZMain.c文件,該文件中的main函數(shù)就是整個(gè)協(xié)議棧工程的入口,代碼解析如下。Zstack協(xié)議棧工程解析要想理解ZStack協(xié)議棧的工作原理,關(guān)鍵是要理解main函數(shù)中的osal_init_system()和osal_start_system()函數(shù),其中osal_init_system()函數(shù)的代碼如下:Zstack協(xié)議棧工程解析在osal_init_system()函數(shù)中初始化了ZStack協(xié)議棧的核心功能,包括內(nèi)存分配系統(tǒng)初始化、電源管理系統(tǒng)初始化、任務(wù)初始化和內(nèi)存釋放等功能。對(duì)開(kāi)發(fā)人員來(lái)講,最重要的是要理解其中的系統(tǒng)任務(wù)初始化函數(shù)osalInitTasks(),分析該函數(shù)的代碼可以發(fā)現(xiàn),該函數(shù)初始化了7個(gè)系統(tǒng)任務(wù),并為每個(gè)任務(wù)賦予了任務(wù)標(biāo)識(shí)符taskIDZstack協(xié)議棧工程解析通過(guò)將上述各任務(wù)的初始化函數(shù)展開(kāi)之后可以發(fā)現(xiàn):macTaskInit()、nwk_init()、APS_Init()任務(wù)的初始化函數(shù)代碼不是開(kāi)源的,TI公司將這些關(guān)鍵代碼封裝成庫(kù),開(kāi)發(fā)人員無(wú)法查看其中的代碼;Hal_Init()、MT_TaskInit()和SAPI_Init()等任務(wù)初始化函數(shù)的作用是對(duì)相應(yīng)的任務(wù)信息進(jìn)行注冊(cè),并調(diào)用osal_set_event(uint8task_id,uint16event_flag)函數(shù)將各任務(wù)的事件添加到任務(wù)事件數(shù)組tasksEvents[]中。下面以SAPI_Init()函數(shù)為例來(lái)進(jìn)行解析,代碼如下Zstack協(xié)議棧工程解析上述代碼的最后調(diào)用了osal_set_event(task_id,ZB_ENTRY_EVENT)函數(shù),其作用是設(shè)置1個(gè)入口事件來(lái)啟動(dòng)任務(wù),該函數(shù)的代碼如下:Zstack協(xié)議棧工程解析通過(guò)上述代碼分析可知,osal_set_event()函數(shù)的關(guān)鍵是將事件存儲(chǔ)到任務(wù)事件數(shù)組中。解析完任務(wù)初始化代碼之后,再來(lái)解析啟動(dòng)系統(tǒng)osal_start_system()函數(shù)的代碼,該函數(shù)的作用是輪詢各個(gè)任務(wù),并執(zhí)行各任務(wù)的事件處理函數(shù)。Zstack協(xié)議棧工程解析將osal_start_system()函數(shù)展開(kāi)之后,可以發(fā)現(xiàn)系統(tǒng)啟動(dòng)之后進(jìn)入了一個(gè)死循環(huán),并循環(huán)調(diào)用osal_run_system()函數(shù),代碼如下:Zstack協(xié)議棧工程解析展開(kāi)osal_run_system()函數(shù)之后,可以發(fā)現(xiàn)該函數(shù)的主要作用是先遍歷任務(wù)事件數(shù)組,遍歷過(guò)程從優(yōu)先級(jí)最高的任務(wù)開(kāi)始,在遍歷過(guò)程中會(huì)判斷該任務(wù)是否有未執(zhí)行完的事件,如果該任務(wù)有未執(zhí)行完的事件,則跳出while循環(huán),然后調(diào)用(tasksArr[idx])(idx,events)進(jìn)入該任務(wù)的事件處理函數(shù);如果在遍歷中該任務(wù)的已經(jīng)執(zhí)行完畢,即沒(méi)有事件,則繼續(xù)循環(huán)檢查下一個(gè)任務(wù)。當(dāng)系統(tǒng)中的所有任務(wù)都執(zhí)行完成后,系統(tǒng)會(huì)自動(dòng)進(jìn)入睡眠狀態(tài),以節(jié)約資源。代碼如下:Zstack協(xié)議棧工程解析Zstack協(xié)議棧工程解析通過(guò)對(duì)上述代碼的分析可知,關(guān)鍵的代碼在“events=(tasksArr[idx])(idx,events)”中,tasksArr數(shù)組存儲(chǔ)了各任務(wù)的事件處理函數(shù),通過(guò)查看tasksArr數(shù)組的定義可以知道,系統(tǒng)定義了7個(gè)事件處理函數(shù)。Zstack協(xié)議棧工程解析在上面7個(gè)任務(wù)的事件處理函數(shù)中,只能查看Hal_ProcessEvent、MT_ProcessEvent、ZDApp_event_loop和SAPI_ProcessEvent函數(shù)的代碼,其余函數(shù)均被TI公司封裝成庫(kù)。系統(tǒng)調(diào)用(tasksArr[idx])(idx,events)其實(shí)就是調(diào)用Hal_ProcessEvent(idx,events)、MT_ProcessEvent(idx,events)、ZDApp_event_loop(idx,events)和SAPI_ProcessEvent(idx,events)等事件處理函數(shù)。下面以SAPI_ProcessEvent(idx,events)為例進(jìn)行代碼解析,解析如下:Zstack協(xié)議棧工程解析Zstack協(xié)議棧工程解析Zstack協(xié)議棧工程解析由上述代碼可知,SAPI的事件處理函數(shù)可以處理SYS_EVENT_MSG、ZB_ALLOW_BIND_TIMER、ZB_BIND_TIMER、ZB_ENTRY_EVENT和ZB_USER_EVENTS事件。在這些事件中,開(kāi)發(fā)人員只需要理解ZB_ENTRY_EVENT和ZB_USER_EVENTS事件的處理過(guò)程就可以了。ZB_ENTRY_EVENT事件為ZStack協(xié)議棧工程的入口事件,包括ZigBee入網(wǎng)的過(guò)程處理等;ZB_USER_EVENTS為用戶自定義事件,通過(guò)查看該事件的宏定義可得知該事件被宏定義為0xFF,說(shuō)明用戶最多只能自定義8個(gè)用戶事件,但8個(gè)自定義事件對(duì)于開(kāi)發(fā)者來(lái)講已經(jīng)足夠了。Zstack協(xié)議棧工程解析在ZB_ENTRY_EVENT
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 個(gè)人擔(dān)保保證書(shū)
- 房屋買(mǎi)賣(mài)合同糾紛案例解讀
- 電子元器件采購(gòu)合同樣本
- 塑料袋配送購(gòu)銷合同
- 創(chuàng)業(yè)聯(lián)盟協(xié)議書(shū)
- 設(shè)備租賃合同范本范本格式
- 酒店食堂服務(wù)招標(biāo)公告
- 事業(yè)單位采購(gòu)合同中的支付方式
- 銷售合同調(diào)整協(xié)議的修改要點(diǎn)
- 購(gòu)銷合同有效期內(nèi)的合同履行條件
- 幕墻維護(hù)與保養(yǎng)技術(shù)
- 美容門(mén)診感染管理制度
- 2023年電商高級(jí)經(jīng)理年度總結(jié)及下一年計(jì)劃
- 模具開(kāi)發(fā)FMEA失效模式分析
- 年產(chǎn)40萬(wàn)噸灰底涂布白板紙?jiān)旒堒?chē)間備料及涂布工段初步設(shè)計(jì)
- 1-3-二氯丙烯安全技術(shù)說(shuō)明書(shū)MSDS
- 學(xué)生思想政治工作工作證明材料
- 一方出資一方出力合作協(xié)議
- 污水處理藥劑采購(gòu)?fù)稑?biāo)方案(技術(shù)方案)
- 環(huán)保設(shè)施安全風(fēng)險(xiǎn)評(píng)估報(bào)告
- 數(shù)字邏輯與計(jì)算機(jī)組成 習(xí)題答案 袁春風(fēng) 第3章作業(yè)批改總結(jié)
評(píng)論
0/150
提交評(píng)論