TPC-DS數(shù)據(jù)分析案例簡介_第1頁
TPC-DS數(shù)據(jù)分析案例簡介_第2頁
TPC-DS數(shù)據(jù)分析案例簡介_第3頁
TPC-DS數(shù)據(jù)分析案例簡介_第4頁
TPC-DS數(shù)據(jù)分析案例簡介_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

數(shù)據(jù)分析與數(shù)據(jù)可視化實(shí)戰(zhàn)1第1章TPC-DS數(shù)據(jù)分析案例簡介目錄企業(yè)級(jí)數(shù)據(jù)分析環(huán)境的搭建結(jié)構(gòu)化查詢語言SQL數(shù)據(jù)可視化基礎(chǔ)用戶數(shù)據(jù)分析與數(shù)據(jù)挖掘?qū)崙?zhàn)第2章第3章第4章第5章第6章第7章數(shù)據(jù)分析與數(shù)據(jù)庫初步認(rèn)識(shí)2供應(yīng)鏈數(shù)據(jù)分析與數(shù)據(jù)挖掘?qū)崙?zhàn)數(shù)據(jù)集簡介數(shù)據(jù)分析與挖掘技術(shù)有著很強(qiáng)的實(shí)踐性,僅僅停留在紙上談兵的階段是不夠的。本章介紹了將會(huì)貫穿全書始終的實(shí)戰(zhàn)案例——TPC-DS數(shù)據(jù)集,一個(gè)與真實(shí)情景高度相仿的企業(yè)級(jí)數(shù)據(jù)集。本章首先對TPC-DS數(shù)據(jù)集中的4個(gè)業(yè)務(wù)網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行了簡介,接下來對各數(shù)據(jù)表的關(guān)鍵字段語義和字段之間的關(guān)鍵數(shù)量關(guān)系進(jìn)行了定義,最后由TPC-DS數(shù)據(jù)集引申到真實(shí)的企業(yè)級(jí)數(shù)據(jù)分析場景,探討了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)鍵字段語義以及字段之間的關(guān)鍵數(shù)量關(guān)系;3.理解TPC-DS數(shù)據(jù)集對于企業(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ù)庫評測的基準(zhǔn)之一,是用于評測決策支持系統(tǒng)的標(biāo)準(zhǔn)測試集。TPC-DS是一個(gè)與真實(shí)場景非常接近的數(shù)據(jù)集。在教程中,我們將其視為一個(gè)快消行業(yè)龍頭企業(yè)的數(shù)據(jù)庫,主要通過門店(store)、目錄(catalog)以及網(wǎng)絡(luò)(website)三個(gè)渠道向世界各地的用戶提供產(chǎn)品。TPC-DS數(shù)據(jù)集共擁有7張事實(shí)表與17張維度表。4數(shù)據(jù)集結(jié)構(gòu)解析門店銷售網(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)解析庫存網(wǎng)絡(luò)(inventory網(wǎng)絡(luò))8數(shù)據(jù)集結(jié)構(gòu)解析啟示與挑戰(zhàn)TPC-DS數(shù)據(jù)集是高度簡化的企業(yè)級(jí)數(shù)據(jù)庫,大型企業(yè)的實(shí)際情況會(huì)更加錯(cuò)綜復(fù)雜。不同業(yè)務(wù)網(wǎng)絡(luò)所需要考慮的問題和思考問題的角度有很大的區(qū)別,供應(yīng)鏈庫存網(wǎng)絡(luò)與三大銷售網(wǎng)絡(luò)的運(yùn)營目標(biāo)和運(yùn)營方法論之間存在著天壤之別。門店銷售業(yè)務(wù)、目錄銷售業(yè)務(wù)與電商銷售業(yè)務(wù)雖然在業(yè)務(wù)上相似,但是其運(yùn)營策略、促銷手段、用戶留存等方面也存在很大的區(qū)別。針對TPC-DS數(shù)據(jù)集所進(jìn)行的分析是多角度的,涵蓋了從庫存到營銷到售后的整個(gè)價(jià)值鏈環(huán)節(jié),主要包括了面向用戶分析以及面向產(chǎn)品分析兩個(gè)主要的分析維度。9本章小結(jié)TPC-DS是數(shù)據(jù)庫學(xué)術(shù)界和產(chǎn)業(yè)界使用的工業(yè)基準(zhǔn)(Benchmark)數(shù)據(jù)集,有標(biāo)準(zhǔn)的數(shù)據(jù)表結(jié)構(gòu)、數(shù)據(jù)生成器以及測試查詢,是數(shù)據(jù)庫產(chǎn)品性能測試的公共基準(zhǔn)。TPC-DS數(shù)據(jù)集復(fù)雜性較高,與企業(yè)實(shí)際數(shù)據(jù)庫結(jié)構(gòu)相似度較高,能夠較好地模擬企業(yè)真實(shí)的數(shù)據(jù)分析需求,其較為全面的維度也給了不同學(xué)科背景的用戶模擬不同分析場景提供了支持。本章以TPC-DS數(shù)據(jù)集作為貫穿始終的數(shù)據(jù)集,通過數(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é)議棧開發(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。本書所有的基于協(xié)議棧的項(xiàng)目均是在SimpleApp的基礎(chǔ)上進(jìn)行修改而實(shí)現(xiàn)的。本節(jié)通過解析ZStack協(xié)議棧工程來介紹ZStack協(xié)議棧的工作原理及工作流程。

下面以ZigBee多點(diǎn)自組織網(wǎng)絡(luò)的開發(fā)為例來解析ZStack協(xié)議棧的工作原理及其工作流程,并對關(guān)鍵代碼進(jìn)行解釋。

打開ZigBee多點(diǎn)自組織網(wǎng)絡(luò)開發(fā)項(xiàng)目后,在Workspace下拉框選項(xiàng)中可以看到3個(gè)子工程,分別是協(xié)調(diào)器、路由節(jié)點(diǎn)和終端節(jié)點(diǎn),如圖3.9所示。通過選擇不同的子工程,就可以選擇不同的源文件和編譯選項(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é)議棧的工作原理,這里先簡單介紹協(xié)調(diào)器、終端節(jié)點(diǎn)和路由節(jié)點(diǎn)在ZigBee網(wǎng)絡(luò)中的工作流程,如圖3.10所示。Zstack協(xié)議棧工程解析

打開ZigBee多點(diǎn)自組織網(wǎng)絡(luò)開發(fā)項(xiàng)目后,在Workspace下拉框選項(xiàng)中可以看到3個(gè)子工程,分別是協(xié)調(diào)器、路由節(jié)點(diǎn)和終端節(jié)點(diǎn),如圖3.9所示。通過選擇不同的子工程,就可以選擇不同的源文件和編譯選項(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é)議棧的工作原理,這里先簡單介紹協(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來解析ZStack協(xié)議棧的工作流程。解析ZStack協(xié)議棧最簡單、最直接的方法就是從工程的入口,即main函數(shù)開始解析。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)存釋放等功能。對開發(fā)人員來講,最重要的是要理解其中的系統(tǒng)任務(wù)初始化函數(shù)osalInitTasks(),分析該函數(shù)的代碼可以發(fā)現(xiàn),該函數(shù)初始化了7個(gè)系統(tǒng)任務(wù),并為每個(gè)任務(wù)賦予了任務(wù)標(biāo)識(shí)符taskIDZstack協(xié)議棧工程解析通過將上述各任務(wù)的初始化函數(shù)展開之后可以發(fā)現(xiàn):macTaskInit()、nwk_init()、APS_Init()任務(wù)的初始化函數(shù)代碼不是開源的,TI公司將這些關(guān)鍵代碼封裝成庫,開發(fā)人員無法查看其中的代碼;Hal_Init()、MT_TaskInit()和SAPI_Init()等任務(wù)初始化函數(shù)的作用是對相應(yīng)的任務(wù)信息進(jìn)行注冊,并調(diào)用osal_set_event(uint8task_id,uint16event_flag)函數(shù)將各任務(wù)的事件添加到任務(wù)事件數(shù)組tasksEvents[]中。下面以SAPI_Init()函數(shù)為例來進(jìn)行解析,代碼如下Zstack協(xié)議棧工程解析上述代碼的最后調(diào)用了osal_set_event(task_id,ZB_ENTRY_EVENT)函數(shù),其作用是設(shè)置1個(gè)入口事件來啟動(dòng)任務(wù),該函數(shù)的代碼如下:Zstack協(xié)議棧工程解析通過上述代碼分析可知,osal_set_event()函數(shù)的關(guān)鍵是將事件存儲(chǔ)到任務(wù)事件數(shù)組中。解析完任務(wù)初始化代碼之后,再來解析啟動(dòng)系統(tǒng)osal_start_system()函數(shù)的代碼,該函數(shù)的作用是輪詢各個(gè)任務(wù),并執(zhí)行各任務(wù)的事件處理函數(shù)。Zstack協(xié)議棧工程解析將osal_start_system()函數(shù)展開之后,可以發(fā)現(xiàn)系統(tǒng)啟動(dòng)之后進(jìn)入了一個(gè)死循環(huán),并循環(huán)調(diào)用osal_run_system()函數(shù),代碼如下:Zstack協(xié)議棧工程解析展開osal_run_system()函數(shù)之后,可以發(fā)現(xiàn)該函數(shù)的主要作用是先遍歷任務(wù)事件數(shù)組,遍歷過程從優(yōu)先級(jí)最高的任務(wù)開始,在遍歷過程中會(huì)判斷該任務(wù)是否有未執(zhí)行完的事件,如果該任務(wù)有未執(zhí)行完的事件,則跳出while循環(huán),然后調(diào)用(tasksArr[idx])(idx,events)進(jìn)入該任務(wù)的事件處理函數(shù);如果在遍歷中該任務(wù)的已經(jīng)執(zhí)行完畢,即沒有事件,則繼續(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ān)鍵的代碼在“events=(tasksArr[idx])(idx,events)”中,tasksArr數(shù)組存儲(chǔ)了各任務(wù)的事件處理函數(shù),通過查看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公司封裝成庫。系統(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事件。在這些事件中,開發(fā)人員只需要理解ZB_ENTRY_EVENT和ZB_USER_EVENTS事件的處理過程就可以了。ZB_ENTRY_EVENT事件為ZStack協(xié)議棧工程的入口事件,包括ZigBee入網(wǎng)的過程處理等;ZB_USER_EVENTS為用戶自定義事件,通過查看該事件的宏定義可得知該事件被宏定義為0xFF,說明用戶最多只能自定義8個(gè)用戶事件,但8個(gè)自定義事件對于開發(fā)者來講已經(jīng)足夠了。Zstack協(xié)議棧工程解析在ZB_ENTRY_EVENT

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論