欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種大數(shù)據(jù)ETL動態(tài)劃分時間片的數(shù)據(jù)抽取方法與流程

文檔序號:11864768閱讀:1099來源:國知局

本發(fā)明涉及通信技術領域,具體涉及一種大數(shù)據(jù)ETL動態(tài)劃分時間片的數(shù)據(jù)抽取方法。



背景技術:

ETL(Extract-Transform-Load,數(shù)據(jù)倉庫技術),用來描述將數(shù)據(jù)從來源端經(jīng)過抽取(extract)、轉換(transform)、加載(load)至目的端的過程。ETL是構建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過數(shù)據(jù)清洗,最終按照預先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。

現(xiàn)有的ETL工具從數(shù)據(jù)源抽取數(shù)據(jù)一般是全量或者增量抽取,對于從關系數(shù)據(jù)庫中大表數(shù)據(jù)(比如海量歷史日志抽取),數(shù)據(jù)一般根據(jù)固定的分片時間(歷史日志數(shù)據(jù)一般都是按時間索引)來進行抽取,分片時間是指相鄰兩次數(shù)據(jù)抽取的間隔。但是對于業(yè)務日志數(shù)據(jù)每個分片時間內分布的數(shù)據(jù)量可能不是均勻的,如果我們?yōu)榘逊制瑒澐譃榈确謺r間片,那么分片時間內分布的數(shù)據(jù)量過多會造成系統(tǒng)I/O,內存消耗陡峰,分片時間內分布的數(shù)據(jù)量過小會造成計算資源浪費,出現(xiàn)加長采集周期,空轉問題。



技術實現(xiàn)要素:

針對現(xiàn)有技術中存在的上述不足,本發(fā)明專利在于怎么提供一種基于ETL的數(shù)據(jù)抽取方法,能夠動態(tài)劃分時間片,提高數(shù)據(jù)抽取的效率,解決現(xiàn)有技術存在的系統(tǒng)I/O,內存消耗陡峰或計算資源浪費等問題。

為解決上述技術問題,實現(xiàn)發(fā)明目的,本發(fā)明采用的技術方案如下:

一種大數(shù)據(jù)ETL動態(tài)劃分時間片的數(shù)據(jù)抽取方法,首先設定系統(tǒng)的基準耗時并初始化系統(tǒng)的分片時間,然后啟動系統(tǒng)循環(huán)執(zhí)行數(shù)據(jù)抽取,并記錄系統(tǒng)執(zhí)行完一次數(shù)據(jù)抽取后得到的實時耗時;系統(tǒng)在執(zhí)行完一次數(shù)據(jù)抽取后,如果系統(tǒng)當前實時耗時和基準耗時的差值大于預設閾值時,系統(tǒng)根據(jù)當前分片時間、基準耗時和當前實時耗時調整下一次分片時間,并根據(jù)下一次分片時間執(zhí)行下一次數(shù)據(jù)抽取;如果系統(tǒng)當前實時耗時和基準耗時的差值小于或等于預設閾值時,系統(tǒng)保持當前的分片時間,并根據(jù)當前分片時間執(zhí)行下一次數(shù)據(jù)抽取。

作為上述方案的進一步優(yōu)化,所述系統(tǒng)“根據(jù)當前分片時間、基準耗時和當前實時耗時調整下一次分片時間”具體為:定義當前分片時間為an,單位為秒,n為系統(tǒng)執(zhí)行數(shù)據(jù)抽取的次數(shù),當前實時耗時為en,單位為秒,基準耗時為k,單位為秒;令系數(shù)r=k/en,函數(shù)其中rmin為預設的系數(shù)r下限,rmax為預設的系數(shù)r上限,則下一次分片時間其中g=an*f(r),單位為秒,m為預設的分片閾值,單位為秒,即最大分片時間。

作為上述方案的進一步優(yōu)化,所述rmin的取值范圍為0.1~1;所述rmax的取值范圍為2~5。

作為上述方案的進一步優(yōu)化,所述基準耗時k的取值范圍為1~10,單位為秒。

作為上述方案的進一步優(yōu)化,所述分片閾值m為系統(tǒng)初始化的分片時間的5~10倍。

作為上述方案的進一步優(yōu)化,所述系統(tǒng)初始化的分片時間單位為秒,其中M為系統(tǒng)每分鐘的吞吐量,N為系統(tǒng)的數(shù)據(jù)源每分鐘內產(chǎn)生的數(shù)據(jù)量。相比于現(xiàn)有技術,本發(fā)明具有如下優(yōu)點:

本發(fā)明提供的大數(shù)據(jù)ETL動態(tài)劃分時間片的數(shù)據(jù)抽取方法,系統(tǒng)能夠根據(jù)上一次數(shù)據(jù)抽取的分片時間、基準耗時和實時耗時調整下一次數(shù)據(jù)抽取的分片時間,能夠動態(tài)劃分時間片,使得下一次數(shù)據(jù)抽取的實時耗時和基準耗時趨于平穩(wěn),提高了數(shù)據(jù)抽取的效率。

具體實施方式

下面結合實施例對本發(fā)明作進一步詳細的描述,但本發(fā)明的實施方式不限于此。

實施例:

一種大數(shù)據(jù)ETL動態(tài)劃分時間片的數(shù)據(jù)抽取方法,首先設定系統(tǒng)的基準耗時并初始化系統(tǒng)的分片時間,然后啟動系統(tǒng)循環(huán)執(zhí)行數(shù)據(jù)抽取,并記錄系統(tǒng)執(zhí)行完一次數(shù)據(jù)抽取后得到的實時耗時;系統(tǒng)在執(zhí)行完一次數(shù)據(jù)抽取后,如果系統(tǒng)當前實時耗時和基準耗時的差值大于預設閾值時,系統(tǒng)根據(jù)當前分片時間、基準耗時和當前實時耗時調整下一次分片時間,并根據(jù)下一次分片時間執(zhí)行下一次數(shù)據(jù)抽??;如果系統(tǒng)當前實時耗時和基準耗時的差值小于或等于預設閾值時,系統(tǒng)保持當前的分片時間,并根據(jù)當前分片時間執(zhí)行下一次數(shù)據(jù)抽取。

假設系統(tǒng)的數(shù)據(jù)源每分鐘內產(chǎn)生的數(shù)據(jù)量是一定的,則分片時間越長,兩次數(shù)據(jù)抽取的時間間隔越長,則一次數(shù)據(jù)抽取抽取到的數(shù)據(jù)量也就越大,系統(tǒng)處理的實時耗時也就越長。反之,分片時間越短,系統(tǒng)處理的實時耗時也就越短。系統(tǒng)設定的基準耗時和初始化的分片時間可根據(jù)整個系統(tǒng)的性能和數(shù)據(jù)源的數(shù)據(jù)量確定,在正式運行該系統(tǒng)時,可以用該系統(tǒng)進行調試,設定不同的分片時間,然后得出系統(tǒng)在每一個分片時間下的實時耗時,如果實時耗時較大,縮小分片時間,如果實時耗時較小,增大分片時間,從而選出系統(tǒng)最佳的實時耗時對應的分片時間,在正式運行系統(tǒng)時,用該分片時間對系統(tǒng)進行初始化,一方面能夠解決系統(tǒng)冷啟動的問題,另一方面使得系統(tǒng)從一開始運行后的實時耗時比較合理。

事實上,由于系統(tǒng)的數(shù)據(jù)源每分鐘內產(chǎn)生的數(shù)據(jù)量是隨機的,所以即便分片時間一樣,系統(tǒng)的數(shù)據(jù)源每分鐘內產(chǎn)生的數(shù)據(jù)量越大,實時耗時也就越大。系統(tǒng)在數(shù)據(jù)抽取的過程中,即便上一次分片時間下的實時耗時趨近基準耗時,但是可能下一次數(shù)據(jù)抽取時數(shù)據(jù)源的數(shù)據(jù)量較大或較小,使得實時耗時較大或較小,這時就需要對分片時間做調整。該方法能夠持續(xù)根據(jù)上一次數(shù)據(jù)抽取的情況調整下一次數(shù)據(jù)抽取的分片時間,本方法調整分片時間始終以數(shù)據(jù)抽取的實事耗時趨近于基準耗為基準,實現(xiàn)了在整個數(shù)據(jù)抽取過程中動態(tài)劃分時間片的功能,使得下一次數(shù)據(jù)抽取的實時耗時和基準耗時趨于平穩(wěn),提高了數(shù)據(jù)抽取的效率。

所述系統(tǒng)“根據(jù)當前分片時間、基準耗時和當前實時耗時調整下一次分片時間”具體為:定義當前分片時間為an,單位為秒,n為系統(tǒng)執(zhí)行數(shù)據(jù)抽取的次數(shù),當前實時耗時為en,單位為秒,基準耗時為k,單位為秒;令系數(shù)r=k/en,函數(shù)其中rmin為預設的系數(shù)r下限,rmax為預設的系數(shù)r上限,則下一次分片時間其中g=an*f(r),單位為秒,m為預設的分片閾值,單位為秒,即最大分片時間。未防止實時耗時抖動過大,可以限制相鄰時間片波動范圍比率,所述rmin的取值范圍為0.1~1,優(yōu)選0.5;所述rmax的取值范圍為2~5,優(yōu)選2。所述基準耗時k的取值范圍為1~10,單位為秒,優(yōu)選2秒。所述分片閾值m為最大分片時間,一般系統(tǒng)初始化的分片時間的5~10倍,優(yōu)選系統(tǒng)初始化的分片時間的10倍。所述系統(tǒng)初始化的分片時間單位為秒,其中M為系統(tǒng)每分鐘的吞吐量,N為系統(tǒng)的數(shù)據(jù)源每分鐘內產(chǎn)生的數(shù)據(jù)量。例如系統(tǒng)中宿主環(huán)境性能的吞吐量只有50W/min,系統(tǒng)的數(shù)據(jù)源平均每分鐘內產(chǎn)生的數(shù)據(jù)量為100W,則初始化的分片時間為30秒,由于系統(tǒng)執(zhí)行數(shù)據(jù)抽取時還需要考慮多個任務同時運行會競爭資源,所以還要求系統(tǒng)在分片時間達到時,抽取的數(shù)據(jù)量一般不超過網(wǎng)卡流量的10%。

假設rmin=0.5,rmax=2,k=2s,m=10a0=300s,a0=30s,e0=4s,則r=0.5,f(r)=0.5,g=15s,則下一次分片時間a1=15s,由此可以看出,如果首次實時耗時為4s,大于基準耗時2s,減小下一次分片時間為15秒。假設e0=1s,則r=2,f(r)=2,g=60s,則下一次分片時間a1=60s,由此可以看出,如果首次實時耗時為1s,小于基準耗時2s,增大下一次分片時間為60秒。由此可以看出使用上述方法,可以實現(xiàn)慢慢調整分片時間,使得實事耗時趨近于基準耗時。

最后說明的是,以上實施例僅用以說明本發(fā)明的技術方案而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領域的普通技術人員應當理解,可以對本發(fā)明的技術方案進行修改或者等同替換,而不脫離本發(fā)明技術方案的宗旨和范圍,其均應涵蓋在本發(fā)明的權利要求范圍當中。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
鹤岗市| 乐东| 将乐县| 清河县| 苗栗市| 大厂| 伊川县| 盐边县| 乌兰察布市| 临沭县| 奉节县| 花莲县| 宜丰县| 馆陶县| 北碚区| 中阳县| 江陵县| 油尖旺区| 屏东市| 九龙城区| 瑞昌市| 龙州县| 昆明市| 伊宁市| 武威市| 尼勒克县| 宿迁市| 木兰县| 古交市| 泰来县| 商南县| 德令哈市| 商洛市| 大新县| 龙游县| 江永县| 恩施市| 平潭县| 池州市| 莱西市| 六安市|