本發(fā)明涉及數(shù)據(jù)處理技術(shù)領(lǐng)域,尤其涉及一種數(shù)據(jù)采集方法和裝置。
背景技術(shù):
假設(shè)如下的應(yīng)用場景:由于存儲空間有限等原因,系統(tǒng)a中存儲的數(shù)據(jù)需要被傳輸?shù)较到y(tǒng)b中進(jìn)行集中存儲,此時,數(shù)據(jù)采集裝置需要從系統(tǒng)a中采集或者說讀取數(shù)據(jù),并發(fā)送至系統(tǒng)b中存儲,該數(shù)據(jù)采集裝置比如可以實(shí)現(xiàn)為系統(tǒng)a中的數(shù)據(jù)采集進(jìn)程。
實(shí)際應(yīng)用中,任一服務(wù)都有自己的能力上限,為了保證在遇到流量高峰期或者流量突增時,服務(wù)也能保證一定的彈性和穩(wěn)定性,最有效的方案就是進(jìn)行服務(wù)降級,而限流就是降級系統(tǒng)最常采用的方案之一。限流的目的是在遇到流量突增時,把流量速率限制在一個能接受的合理范圍之內(nèi)。
因此,在上述數(shù)據(jù)采集應(yīng)用中,為了保證數(shù)據(jù)采集服務(wù)的穩(wěn)定性,數(shù)據(jù)采集過程中可以采用一定限流手段進(jìn)行限流處理。
技術(shù)實(shí)現(xiàn)要素:
目前,一種數(shù)據(jù)采集過程中采用的限流方式是:預(yù)先設(shè)定固定的數(shù)據(jù)采集速率閾值,即預(yù)先設(shè)定單位時間內(nèi)可采集的數(shù)據(jù)量上限。若實(shí)際采集過程中單位時間內(nèi)各次采集獲得的數(shù)據(jù)量大小超過了該數(shù)據(jù)量上限,則丟棄導(dǎo)致超過數(shù)據(jù)量上限的采集到的數(shù)據(jù)。
舉例來說,假設(shè)上述數(shù)據(jù)采集速率閾值為10mb/s,即單位時間1s內(nèi)能夠采集的數(shù)據(jù)量上限為10mb。并且假設(shè)單位時間1s內(nèi)可以以200ms為采集間隔來周期性采集數(shù)據(jù),假設(shè)1ms時采集到了5mb的數(shù)據(jù),由于小于10mb,則直接被發(fā)送至系統(tǒng)b中存儲,假設(shè)201ms采集到了7mb數(shù)據(jù),此時該單位時間內(nèi)已經(jīng)采集了12mb數(shù)據(jù),超出了10mb的限制,此時將丟棄當(dāng)前采集到的該7mb的數(shù)據(jù)。
在上述采用固定數(shù)據(jù)采集速率閾值的限流策略中,一方面,該數(shù)據(jù)采集速率閾值的設(shè)定往往是基于人為經(jīng)驗(yàn)設(shè)定的,另一方面,不管當(dāng)前系統(tǒng)a中被寫入的數(shù)據(jù)量如何,不管系統(tǒng)a中其他服務(wù)的處理負(fù)載如何,都是以固定數(shù)據(jù)采集速率閾值進(jìn)行數(shù)據(jù)采集處理,這樣可能降低了系統(tǒng)a全局的負(fù)載處理效率。
有鑒于此,本發(fā)明實(shí)施例提供一種數(shù)據(jù)采集方法和裝置,在包含數(shù)據(jù)采集節(jié)點(diǎn)和業(yè)務(wù)處理節(jié)點(diǎn)的系統(tǒng)中,通過動態(tài)調(diào)整數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值,以提高系統(tǒng)全局的負(fù)載處理效率。
第一方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)采集方法,包括:
獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,所述業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用所述處理資源;
根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值;
根據(jù)所述數(shù)據(jù)采集速率閾值采集數(shù)據(jù)。
可選地,所述獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,包括:
獲取當(dāng)前周期內(nèi)所述業(yè)務(wù)處理節(jié)點(diǎn)在連續(xù)多個時間片段內(nèi)的平均處理資源使用率。
可選地,所述根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值之前,還包括:
獲取數(shù)據(jù)采集速率閾值加權(quán)因子;
所述根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值,包括:
根據(jù)所述處理資源使用率和所述數(shù)據(jù)采集速率閾值加權(quán)因子,確定所述數(shù)據(jù)采集速率閾值。
可選地,所述獲取數(shù)據(jù)采集速率閾值加權(quán)因子,包括:
獲取預(yù)設(shè)歷史時間段內(nèi)所述業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率分布曲線,以及所述數(shù)據(jù)采集節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)采集速率閾值分布曲線;
確定所述處理資源使用率分布曲線的n分位值對應(yīng)的處理資源使用率,以及所述數(shù)據(jù)采集速率閾值分布曲線的m分位值對應(yīng)的數(shù)據(jù)采集速率閾值,其中,m%=1-n%,50≤n<100;
根據(jù)所述n分位值對應(yīng)的處理資源使用率和所述m分位值對應(yīng)的數(shù)據(jù)采集速率閾值,計(jì)算所述數(shù)據(jù)采集速率閾值加權(quán)因子。
可選地,所述根據(jù)所述數(shù)據(jù)采集速率閾值采集數(shù)據(jù),包括:
根據(jù)所述數(shù)據(jù)采集速率閾值確定所述當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限,所述每個采集窗口的時間長度為所述數(shù)據(jù)采集速率閾值對應(yīng)的單位時間,所述每個采集窗口中包括彼此相隔預(yù)設(shè)采集間隔的多個采集時刻;
對于當(dāng)前采集窗口內(nèi)的當(dāng)前采集時刻,若在所述當(dāng)前采集時刻采集的累計(jì)數(shù)據(jù)量大于所述可采集數(shù)據(jù)量上限,則延遲下一次采集對應(yīng)的采集時刻。
可選地,所述根據(jù)所述數(shù)據(jù)采集速率閾值確定所述當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限,包括:
若執(zhí)行所述數(shù)據(jù)采集速率閾值的時刻對齊所述當(dāng)前采集窗口的起始時刻,則確定所述可采集數(shù)據(jù)量上限為所述數(shù)據(jù)采集速率閾值表征的單位時間內(nèi)采集的數(shù)據(jù)量大小;
若執(zhí)行所述數(shù)據(jù)采集速率閾值的時刻未對齊所述當(dāng)前采集窗口的起始時刻,則根據(jù)原數(shù)據(jù)采集速率閾值和所述數(shù)據(jù)采集速率閾值確定所述可采集數(shù)據(jù)量上限,所述原數(shù)據(jù)采集速率閾值為執(zhí)行所述數(shù)據(jù)采集速率閾值之前采用的數(shù)據(jù)采集速率閾值。
可選地,所述延遲下一次采集對應(yīng)的采集時刻,包括:
根據(jù)所述累計(jì)數(shù)據(jù)量與所述可采集數(shù)據(jù)量上限之間的差額數(shù)據(jù)量,以及每個預(yù)設(shè)采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量,確定完成所述差額數(shù)據(jù)量的傳輸所需的采集間隔個數(shù);
在與所述當(dāng)前采集時刻相距所述采集間隔個數(shù)后的采集時刻執(zhí)行下一次采集。
第二方面,本發(fā)明實(shí)施例提供一種數(shù)據(jù)采集裝置,包括:
第一獲取模塊,用于獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,所述業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用所述處理資源;
確定模塊,用于根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值;
采集模塊,用于根據(jù)所述數(shù)據(jù)采集速率閾值采集數(shù)據(jù)。
在一個可能的設(shè)計(jì)中,上述數(shù)據(jù)采集裝置的結(jié)構(gòu)中包括處理器和存儲器,所述存儲器用于存儲支持?jǐn)?shù)據(jù)采集裝置執(zhí)行上述第一方面中數(shù)據(jù)采集方法的程序,所述處理器被配置為用于執(zhí)行所述存儲器中存儲的程序。所述數(shù)據(jù)采集裝置還可以包括通信接口,用于數(shù)據(jù)采集裝置與其他設(shè)備或通信網(wǎng)絡(luò)通信。
第三方面,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲介質(zhì),用于儲存數(shù)據(jù)采集裝置所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述第一方面中數(shù)據(jù)采集方法所涉及的程序。
本發(fā)明實(shí)施例提供的數(shù)據(jù)采集方法和裝置,在業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用處理資源分別進(jìn)行業(yè)務(wù)處理和數(shù)據(jù)采集的應(yīng)用場景中,結(jié)合當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對共用的處理資源的處理資源使用率來確定數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值,以在該數(shù)據(jù)采集速率閾值的限制下進(jìn)行數(shù)據(jù)采集,從而實(shí)現(xiàn)了周期性地根據(jù)業(yè)務(wù)處理節(jié)點(diǎn)對處理資源的使用率來動態(tài)調(diào)整數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值,以在數(shù)據(jù)采集的同時兼顧更為重要的業(yè)務(wù)處理節(jié)點(diǎn)的處理負(fù)載,有助于提高全局的負(fù)載處理效率以及處理資源的利用效率。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為本發(fā)明一實(shí)施例提供的數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)示意圖;
圖2為本發(fā)明另一實(shí)施例提供的數(shù)據(jù)采集方法的流程圖;
圖3為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集方法的流程圖;
圖4為圖3所示實(shí)施例中一種可選的處理資源使用率分布曲線示意圖;
圖5為圖3所示實(shí)施例中一種可選的數(shù)據(jù)采集速率閾值分布曲線示意圖;
圖6為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集方法的流程圖;
圖7為圖6所示實(shí)施例中步驟2031對應(yīng)的一種情景的示意圖;
圖8為圖6所示實(shí)施例中步驟2031對應(yīng)的另一種情景的示意圖;
圖9為圖6所示實(shí)施例中步驟2032對應(yīng)的一種情景的示意圖;
圖10為圖6所示實(shí)施例中步驟2032對應(yīng)的另一種情景的示意圖;
圖11為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖;
圖12為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖;
圖13為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖;
圖14為本發(fā)明又一實(shí)施例提供的電子設(shè)備的結(jié)構(gòu)示意圖。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
在本發(fā)明實(shí)施例中使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義,“多種”一般包含至少兩種,但是不排除包含至少一種的情況。
應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨(dú)存在a,同時存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。
應(yīng)當(dāng)理解,盡管在本發(fā)明實(shí)施例中可能采用術(shù)語第一、第二、第三等來描述xxx,但這些xxx不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將xxx彼此區(qū)分開。例如,在不脫離本發(fā)明實(shí)施例范圍的情況下,第一xxx也可以被稱為第二xxx,類似地,第二xxx也可以被稱為第一xxx。
取決于語境,如在此所使用的詞語“如果”、“若”可以被解釋成為“在……時”或“當(dāng)……時”或“響應(yīng)于確定”或“響應(yīng)于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時”或“響應(yīng)于確定”或“當(dāng)檢測(陳述的條件或事件)時”或“響應(yīng)于檢測(陳述的條件或事件)”。
還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。
本發(fā)明實(shí)施例提供的數(shù)據(jù)采集方法可基于圖1所示的數(shù)據(jù)采集系統(tǒng)實(shí)現(xiàn),但不限于此。如圖1所示,該數(shù)據(jù)采集系統(tǒng)包括:業(yè)務(wù)處理節(jié)點(diǎn)、數(shù)據(jù)采集節(jié)點(diǎn)、數(shù)據(jù)庫。其中,業(yè)務(wù)處理節(jié)點(diǎn)的數(shù)量可以是一個或多于一個??蛇x地,如圖1中所示,該業(yè)務(wù)處理節(jié)點(diǎn)和數(shù)據(jù)采集節(jié)點(diǎn)可以是位于同一服務(wù)器a中的不同功能模塊或者不同進(jìn)程,當(dāng)然,業(yè)務(wù)處理節(jié)點(diǎn)和數(shù)據(jù)采集節(jié)點(diǎn)并不局限于集成在同一設(shè)備中的情況。該數(shù)據(jù)采集系統(tǒng)的目的是采集數(shù)據(jù)庫中存儲的數(shù)據(jù),以轉(zhuǎn)存至服務(wù)器b中進(jìn)行存儲,當(dāng)然,該從一服務(wù)器a中采集數(shù)據(jù)至另一服務(wù)器b中存儲的場景僅為舉例,不以此為限。
值得說明的是,在一可選方式中,數(shù)據(jù)采集節(jié)點(diǎn)中被置入一定數(shù)據(jù)采集處理邏輯,基于該處理邏輯數(shù)據(jù)采集節(jié)點(diǎn)進(jìn)行數(shù)據(jù)采集速率閾值確定以及采集數(shù)據(jù)等過程,此時,可以將設(shè)置有該數(shù)據(jù)采集處理邏輯的數(shù)據(jù)采集節(jié)點(diǎn)稱為數(shù)據(jù)采集裝置。在另一可選方式中,所述數(shù)據(jù)采集處理邏輯可以作為一個獨(dú)立的功能模塊,其可以與數(shù)據(jù)采集節(jié)點(diǎn)之間進(jìn)行通信,也可以與業(yè)務(wù)處理節(jié)點(diǎn)之間通信,比如該數(shù)據(jù)采集處理邏輯將確定出的數(shù)據(jù)采集速率閾值傳輸至數(shù)據(jù)采集節(jié)點(diǎn),以使得數(shù)據(jù)采集節(jié)點(diǎn)基于該數(shù)據(jù)采集速率閾值進(jìn)行后續(xù)的數(shù)據(jù)采集處理。此時,為便于描述,在不引起歧義的情況下,可以將該數(shù)據(jù)采集處理邏輯和數(shù)據(jù)采集節(jié)點(diǎn)的整體視為數(shù)據(jù)采集裝置。
結(jié)合圖1所示的數(shù)據(jù)采集系統(tǒng),以下實(shí)施例從數(shù)據(jù)采集裝置的角度,詳細(xì)說明本發(fā)明實(shí)施例提供的數(shù)據(jù)采集方法的流程。
圖2為本發(fā)明另一實(shí)施例提供的數(shù)據(jù)采集方法的流程圖,如圖2所示,該方法包括如下步驟:
步驟201、獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用處理資源。
本發(fā)明實(shí)施例中,上述業(yè)務(wù)處理節(jié)點(diǎn)一般是指與數(shù)據(jù)采集節(jié)點(diǎn)關(guān)聯(lián)的業(yè)務(wù)處理節(jié)點(diǎn),該關(guān)聯(lián)性比如體現(xiàn)為:數(shù)據(jù)采集節(jié)點(diǎn)所要采集的數(shù)據(jù)是由業(yè)務(wù)處理節(jié)點(diǎn)產(chǎn)生的。實(shí)際應(yīng)用中,可以預(yù)先設(shè)定與數(shù)據(jù)采集節(jié)點(diǎn)關(guān)聯(lián)的業(yè)務(wù)處理節(jié)點(diǎn)。
另外,上述關(guān)聯(lián)性也可以反映為業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用處理資源,比如圖1中,兩者共用服務(wù)器a的處理資源,該處理資源比如包括服務(wù)器a的cpu、內(nèi)存等資源。
比如在如下場景中:用戶向服務(wù)器a發(fā)送訂餐請求,服務(wù)器a中的業(yè)務(wù)處理節(jié)點(diǎn)響應(yīng)該訂餐請求,進(jìn)行相應(yīng)的處理,處理過程中,比如可以將用戶的訂餐信息、為用戶分配的物流配送信息存入數(shù)據(jù)庫中。另外,由于服務(wù)器a中的存儲空間有限等原因,需要將數(shù)據(jù)庫中存儲的這些訂餐相關(guān)信息轉(zhuǎn)至服務(wù)器b中存儲。從而此時,業(yè)務(wù)處理節(jié)點(diǎn)不斷向數(shù)據(jù)庫中存入數(shù)據(jù),數(shù)據(jù)采集節(jié)點(diǎn)需要不斷從數(shù)據(jù)庫中采集數(shù)據(jù)至另一服務(wù)器中存儲。
本發(fā)明實(shí)施例提供的數(shù)據(jù)采集方法的主要目的在于:動態(tài)調(diào)整數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值,以使得整個數(shù)據(jù)采集系統(tǒng)比如上述舉例的服務(wù)器a的整體處理負(fù)載處理效率最優(yōu)。為此,數(shù)據(jù)采集速率閾值調(diào)整的總體原則是:如果業(yè)務(wù)處理節(jié)點(diǎn)的處理資源使用率高則降低數(shù)據(jù)采集速率閾值;如果業(yè)務(wù)處理節(jié)點(diǎn)的處理資源使用率偏低,則提高數(shù)據(jù)采集速率閾值,以保證整個系統(tǒng)在一個較優(yōu)的負(fù)載處理狀態(tài)。
由上述原則可知,為了動態(tài)調(diào)整數(shù)據(jù)采集速率閾值,需要相應(yīng)地動態(tài)獲取業(yè)務(wù)處理節(jié)點(diǎn)對處理資源的使用情況。因此,本實(shí)施例中,可以周期性地確定業(yè)務(wù)處理節(jié)點(diǎn)對處理資源的使用情況,即周期性地確定業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,以根據(jù)當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率確定當(dāng)前周期內(nèi)數(shù)據(jù)采集節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)采集速率閾值。
每個周期具有一定的預(yù)設(shè)時間長度,在一可選方式中,可以將每個周期按照預(yù)設(shè)的時間片段大小劃分為連續(xù)的多個時間片段,從而可以通過獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)在該連續(xù)多個時間片段內(nèi)的平均處理資源使用率來確定當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率。
舉例來說,假設(shè)一個周期的長度為1min,并且將每個周期劃為6個時間片段,每個時間片段為10s,這樣當(dāng)前的某個周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的平均處理資源使用率
步驟202、根據(jù)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,確定數(shù)據(jù)采集速率閾值。
由前述介紹的總體原則可知,數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值與業(yè)務(wù)處理節(jié)點(diǎn)的處理資源利用率呈現(xiàn)的是此消彼長的變化趨勢,因此,可以基于該變化趨勢,預(yù)先設(shè)定數(shù)據(jù)采集速率閾值與業(yè)務(wù)處理節(jié)點(diǎn)的處理資源利用率的函數(shù)關(guān)系,從而在確定了業(yè)務(wù)處理節(jié)點(diǎn)的處理資源利用率的情況下,基于該函數(shù)關(guān)系確定數(shù)據(jù)采集速率閾值。比如該函數(shù)關(guān)系為:r=k/x,其中,k為數(shù)據(jù)采集速率閾值加權(quán)因子,可以是預(yù)先設(shè)定的固定值;r為數(shù)據(jù)采集速率閾值。
步驟203、根據(jù)數(shù)據(jù)采集速率閾值采集數(shù)據(jù)。
在根據(jù)業(yè)務(wù)處理節(jié)點(diǎn)的處理資源利用率確定了當(dāng)前周期內(nèi)數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值后,在該數(shù)據(jù)采集速率閾值的限制下進(jìn)行當(dāng)前周期的數(shù)據(jù)采集處理,以將采集的數(shù)據(jù)存入到目標(biāo)存儲位置,比如前述舉例的服務(wù)器b中。
本實(shí)施例中,在業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用處理資源分別進(jìn)行業(yè)務(wù)處理和數(shù)據(jù)采集的應(yīng)用場景中,結(jié)合當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對共用的處理資源的處理資源使用率來確定數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值,以在該數(shù)據(jù)采集速率閾值的限制下進(jìn)行數(shù)據(jù)采集,從而實(shí)現(xiàn)了周期性地根據(jù)業(yè)務(wù)處理節(jié)點(diǎn)對處理資源的使用率來動態(tài)調(diào)整數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值,從而以在數(shù)據(jù)采集的同時兼顧更為重要的業(yè)務(wù)處理節(jié)點(diǎn)的處理負(fù)載,有助于提高全局的負(fù)載處理效率以及處理資源的利用效率。
前述實(shí)施例中舉例說明了業(yè)務(wù)處理節(jié)點(diǎn)的處理資源利用率與數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值之間的函數(shù)關(guān)系,該函數(shù)關(guān)系中涉及到加權(quán)因子k,即基于該函數(shù)關(guān)系,是根據(jù)業(yè)務(wù)處理節(jié)點(diǎn)的處理資源使用率和該數(shù)據(jù)采集速率閾值加權(quán)因子來確定數(shù)據(jù)采集速率閾值。上述舉例中,該加權(quán)因子k可以是預(yù)先經(jīng)驗(yàn)設(shè)定的固定值,在另一可選方式中,該加權(quán)因子k還可以是基于歷史時間段內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)的處理資源使用特征以及數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值特征來確定的。因此,在上述實(shí)施例或下述實(shí)施例中,如圖3所示,根據(jù)處理資源使用率確定數(shù)據(jù)采集速率閾值,可以包括以下步驟:
步驟2021、獲取預(yù)設(shè)歷史時間段內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率分布曲線,以及數(shù)據(jù)采集節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)采集速率閾值分布曲線。
本實(shí)施例中,上述歷史時間段的定義可以是靈活多樣的,可選地,考慮到業(yè)務(wù)在時間維度上的相似性,可以預(yù)先設(shè)定上述表征動態(tài)調(diào)整數(shù)據(jù)采集速率閾值的周期與歷史時間段的對應(yīng)關(guān)系。
比如以訂餐場景為例,一般周末的訂餐量、訂餐時間分布特征與工作日的訂餐量、訂餐時間分布特征可能不同,假設(shè)當(dāng)前執(zhí)行數(shù)據(jù)采集方法的當(dāng)前周期處于某個周日,那么可以認(rèn)為相對于當(dāng)前周期來說,上述歷史時間段為前幾個周六、周日中的某些時間段。
如圖4所示,處理資源使用率分布曲線的橫軸代表的是時間,縱軸代表的是處理資源使用率。如圖5所示,數(shù)據(jù)采集速率閾值分布曲線的橫軸代表的是時間,縱軸代表的是數(shù)據(jù)采集速率閾值。也就是說,該處理資源使用率分布曲線表征了業(yè)務(wù)處理節(jié)點(diǎn)在各時間上對應(yīng)的處理資源使用率。該數(shù)據(jù)采集速率閾值分布曲線表征了數(shù)據(jù)采集節(jié)點(diǎn)在各時間上對應(yīng)的數(shù)據(jù)采集速率閾值。
實(shí)際應(yīng)用中,隨著數(shù)據(jù)采集節(jié)點(diǎn)和業(yè)務(wù)處理節(jié)點(diǎn)的運(yùn)行,不斷收集在不同時間上數(shù)據(jù)采集節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)采集速率閾值以及業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率。進(jìn)而,針對當(dāng)前周期來說,從已經(jīng)收集的數(shù)據(jù)中選出對應(yīng)歷史時間段內(nèi)的數(shù)據(jù),分別繪制得到上述處理資源使用率分布曲線和數(shù)據(jù)采集速率閾值分布曲線。其中,處理資源使用率的收集過程可以參考前述實(shí)施例中平均處理資源使用率的獲取方式執(zhí)行,對應(yīng)的數(shù)據(jù)采集速率閾值可以基于上述函數(shù)關(guān)系確定。值得說明的是,初始時,上述函數(shù)關(guān)系中的k值可以經(jīng)驗(yàn)設(shè)置,隨著時間的推移,該k值則可以基于本實(shí)施例提供的方式動態(tài)變化。
步驟2022、確定處理資源使用率分布曲線的n分位值對應(yīng)的處理資源使用率,以及數(shù)據(jù)采集速率閾值分布曲線的m分位值對應(yīng)的數(shù)據(jù)采集速率閾值。
本實(shí)施例中,n的取值范圍可以為:50≤n<100,n比如可以取值為75,;m的取值比如為:m%=1-n%,即為25分位值。
值得說明的是,這里的“1”,從數(shù)學(xué)的角度,可以理解為是表示100。
如圖4所示,假設(shè)處理資源使用率分布曲線為一正態(tài)分布曲線,橫軸數(shù)值從左往右是逐漸增大的,75分位值意思就是從左往右找一個分界點(diǎn)豎線,他把左側(cè)面積占比設(shè)定為75%,相應(yīng)的右側(cè)面積就是25%,而這個分界點(diǎn)豎線與橫軸的交點(diǎn)75分位值,對應(yīng)的縱坐標(biāo)值就是對應(yīng)的處理資源使用率,記為a1。
同理,如圖5所示,假設(shè)數(shù)據(jù)采集速率分布曲線為一正態(tài)分布曲線,橫軸數(shù)值從左往右是逐漸增大的,25分位值意思就是從左往右找一個分界點(diǎn)豎線,他把左側(cè)面積占比設(shè)定為25%,相應(yīng)的右側(cè)面積就是75%,而這個分界點(diǎn)豎線與橫軸的交點(diǎn)25分位值,對應(yīng)的縱坐標(biāo)值就是對應(yīng)的數(shù)據(jù)采集速率閾值,記為a2。
步驟2023、根據(jù)n分位值對應(yīng)的處理資源使用率和m分位值對應(yīng)的數(shù)據(jù)采集速率閾值,計(jì)算數(shù)據(jù)采集速率閾值加權(quán)因子。
本實(shí)施例中,可以設(shè)定數(shù)據(jù)采集速率閾值加權(quán)因子k=a1×a2。
步驟2024、根據(jù)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率和數(shù)據(jù)采集速率閾值加權(quán)因子,確定數(shù)據(jù)采集速率閾值。
確定當(dāng)前周期內(nèi)的數(shù)據(jù)采集速率閾值為:
本實(shí)施例中,基于歷史時間內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)的處理資源使用率分布特征以及數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值的分布特征來確定與該歷史時間對應(yīng)的當(dāng)前周期內(nèi)的數(shù)據(jù)采集速率閾值的加權(quán)因子,使得確定的當(dāng)前周期內(nèi)數(shù)據(jù)采集速率閾值與對應(yīng)的歷史規(guī)律相適應(yīng),對平衡業(yè)務(wù)處理節(jié)點(diǎn)和數(shù)據(jù)采集節(jié)點(diǎn)對共用的處理資源的占用具有積極作用,從而有利于提高整體的負(fù)載處理效率和處理資源利用率。
在上述實(shí)施例或下述實(shí)施例中,如圖6所示,根據(jù)數(shù)據(jù)采集速率閾值采集數(shù)據(jù),可以包括以下步驟:
步驟2031、根據(jù)數(shù)據(jù)采集速率閾值確定當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限,每個采集窗口中包括彼此相隔預(yù)設(shè)采集間隔的多個采集時刻。
可選地,本實(shí)施例中,每個采集窗口的時間長度可以為數(shù)據(jù)采集速率閾值對應(yīng)的單位時間。
本發(fā)明實(shí)施例中,數(shù)據(jù)采集速率閾值的含義顧名思義是指單位時間內(nèi)能夠允許采集的最大數(shù)據(jù)量。因此,在當(dāng)前周期的數(shù)據(jù)采集過程中,可以視為將當(dāng)前周期劃分為多個采集窗口,每個采集窗口的時間跨度即為數(shù)據(jù)采集速率閾值對應(yīng)的單位時間,比如為1s。相應(yīng)的,當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限可以為數(shù)據(jù)采集速率閾值所對應(yīng)的數(shù)值,比如數(shù)據(jù)采集速率閾值若為10mb/s,則當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限為10mb。
而在實(shí)際數(shù)據(jù)采集過程中,一般來說,并非是每隔單位時間的長度采集一次數(shù)據(jù),而往往是在單位時間內(nèi)采集多次數(shù)據(jù),因此,本實(shí)施例中,每個采集窗口中又包含多個采集時刻,相鄰采集時刻之間間隔一定的時間長度,比如200ms,則一個采集窗口中包含5個采集時刻。
本發(fā)明實(shí)施例中,周期性地調(diào)整數(shù)據(jù)采集節(jié)點(diǎn)的數(shù)據(jù)采集速率閾值,但是,一般來說,并不能完全保證每個周期的起始時刻正好對齊一個采集窗口的起始,也就是說,實(shí)際執(zhí)行過程中,可能會出現(xiàn)執(zhí)行當(dāng)前周期對應(yīng)的數(shù)據(jù)采集速率閾值的時刻即往往近乎于當(dāng)前周期的起始時刻,近乎對齊當(dāng)前采集窗口的起始時刻即第一個采集時刻a1的情景,如圖7所示;也可能會出現(xiàn)執(zhí)行當(dāng)前周期對應(yīng)的數(shù)據(jù)采集速率閾值的時刻沒有對齊當(dāng)前采集窗口的起始時刻,比如可能對齊于當(dāng)前采集窗口中的第三個采集時刻a3的情況,如圖8所示。
從而,相應(yīng)地,根據(jù)數(shù)據(jù)采集速率閾值確定當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限,包括:
若執(zhí)行數(shù)據(jù)采集速率閾值的時刻對齊當(dāng)前采集窗口的起始時刻,則確定可采集數(shù)據(jù)量上限為數(shù)據(jù)采集速率閾值表征的單位時間內(nèi)采集的數(shù)據(jù)量大??;
若執(zhí)行數(shù)據(jù)采集速率閾值的時刻未對齊當(dāng)前采集窗口的起始時刻,則根據(jù)原數(shù)據(jù)采集速率閾值和數(shù)據(jù)采集速率閾值確定可采集數(shù)據(jù)量上限,其中,原數(shù)據(jù)采集速率閾值為執(zhí)行數(shù)據(jù)采集速率閾值之前采用的數(shù)據(jù)采集速率閾值。
如圖7中所示,此時執(zhí)行當(dāng)前周期對應(yīng)的數(shù)據(jù)采集速率閾值的時刻對齊當(dāng)前采集窗口的起始時刻,則確定可采集數(shù)據(jù)量上限為數(shù)據(jù)采集速率閾值表征的單位時間內(nèi)采集的數(shù)據(jù)量大小,假設(shè)數(shù)據(jù)采集速率閾值對應(yīng)的數(shù)據(jù)量大小為10mb,則當(dāng)前周期對應(yīng)的采集窗口1、采集窗口2等各采集窗口分別對應(yīng)的可采集數(shù)據(jù)量上限都為10mb。
如圖8中所示,此時執(zhí)行當(dāng)前周期對應(yīng)的數(shù)據(jù)采集速率閾值的時刻未對齊當(dāng)前采集窗口的起始時刻,圖中示意出的是對齊了當(dāng)前的采集窗口1中的第3個采集時刻。假設(shè)當(dāng)前周期對應(yīng)的數(shù)據(jù)采集速率閾值為10mb/s,當(dāng)前周期的前一周期對應(yīng)的數(shù)據(jù)采集速率閾值為15mb/s,則針對采集窗口1來說:由于前一周期對應(yīng)的數(shù)據(jù)采集速率閾值15mb/s覆蓋了其中的前兩個采集時刻,而且每個采集窗口中都含有5個采集時刻,從而每個采集時刻對應(yīng)的平均可采集數(shù)據(jù)量為15/5=3mb,因此,前兩個采集時刻總共可以采集的數(shù)據(jù)量為6mb;由于當(dāng)前周期對應(yīng)的數(shù)據(jù)采集速率閾值10mb/s覆蓋了采集窗口1中的后三個采集時刻,而且每個采集窗口中都含有5個采集時刻,從而每個采集時刻對應(yīng)的平均可采集數(shù)據(jù)量為10/5=2mb,因此,后三個采集時刻總共可以采集的數(shù)據(jù)量為6mb,從而,采集窗口1對應(yīng)的可采集數(shù)據(jù)量上限為6mb+6mb=12mb。而對于當(dāng)前周期內(nèi)的比如采集窗口2等其他采集窗口,由于都被當(dāng)前周期完整覆蓋,從而對應(yīng)的可采集數(shù)據(jù)量上限為10mb。當(dāng)然,如果當(dāng)前周期覆蓋的最后一個采集窗口也如其覆蓋的第一個采集窗口1一樣,并未完全覆蓋,則采用如采集窗口1的可采集數(shù)據(jù)量上限的確定方式確定最后一個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限。
步驟2032、對于當(dāng)前采集窗口內(nèi)的當(dāng)前采集時刻,若在當(dāng)前采集時刻采集的累計(jì)數(shù)據(jù)量大于可采集數(shù)據(jù)量上限,則延遲下一次采集對應(yīng)的采集時刻。
其中,當(dāng)前采集時刻采集的累計(jì)數(shù)據(jù)量是指從當(dāng)前采集窗口的第一個采集時刻至當(dāng)前采集時刻累計(jì)采集到的數(shù)據(jù)量。
本實(shí)施例中數(shù)據(jù)采集的一重要原則是:保證數(shù)據(jù)不丟失。也就是說,與現(xiàn)有限流機(jī)制下的數(shù)據(jù)采集過程不同,在現(xiàn)有限流機(jī)制下,如果采集到的數(shù)據(jù)大于一定的數(shù)據(jù)量限制,則丟棄部分?jǐn)?shù)據(jù)。而本實(shí)施例中,即使一個采集窗口中采集到的數(shù)據(jù)量已經(jīng)超過了對應(yīng)的可采集數(shù)據(jù)量上限的限制,也不會丟棄數(shù)據(jù)。
具體地,針對當(dāng)前的采集窗口來說,在以其對應(yīng)的可采集數(shù)據(jù)量上限為約束的數(shù)據(jù)采集過程中,在每個采集時刻數(shù)據(jù)采集節(jié)點(diǎn)采集數(shù)據(jù),將累計(jì)采集到的數(shù)據(jù)量與該采集窗口對應(yīng)的可采集數(shù)據(jù)量上限進(jìn)行比較,如果當(dāng)前的采集時刻對應(yīng)的累計(jì)數(shù)據(jù)量還沒有達(dá)到可采集數(shù)據(jù)量上限,則在下一個采集時刻繼續(xù)采集數(shù)據(jù),否則,如果當(dāng)前的采集時刻對應(yīng)的累計(jì)數(shù)據(jù)量已經(jīng)達(dá)到可采集數(shù)據(jù)量上限,那么需要重新確定執(zhí)行下一次數(shù)據(jù)采集動作的采集時刻,即需要延遲下一次采集對應(yīng)的采集時刻,以保證當(dāng)前采集時刻對應(yīng)的累計(jì)數(shù)據(jù)量中還沒有被傳輸至目的存儲空間比如服務(wù)器b中的數(shù)據(jù)被完整傳輸完。
其中,在需要延遲下一次采集對應(yīng)的采集時刻時,如何確定延遲至的采集時刻,可以通過如下方式實(shí)現(xiàn):
根據(jù)累計(jì)數(shù)據(jù)量與可采集數(shù)據(jù)量上限之間的差額數(shù)據(jù)量,以及每個預(yù)設(shè)采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量,確定完成差額數(shù)據(jù)量的傳輸所需的采集間隔個數(shù);其中,每個預(yù)設(shè)采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量為該預(yù)設(shè)采集間隔對應(yīng)的數(shù)據(jù)采集速率閾值與多個采集時刻的個數(shù)的商值所表征的數(shù)據(jù)量大??;
在與當(dāng)前采集時刻相距上述所需的采集間隔個數(shù)后的采集時刻執(zhí)行下一次采集,即下一次采集對應(yīng)的采集時刻為:與當(dāng)前采集時刻相距所需的采集間隔個數(shù)后的采集時刻。
為方便理解,結(jié)合如下的情景舉例說明:
如圖9所示,假設(shè)采集窗口1包含a1、a2、a3、a4、a5這五個采集時刻,且該采集窗口1對應(yīng)的數(shù)據(jù)采集速率閾值為10mb/s,即某個周期對應(yīng)的數(shù)據(jù)采集速率閾值為10mb/s,該周期覆蓋了采集窗口1。假設(shè)采集窗口2包含a6、a7、a8、a9、a10這五個采集時刻,其中,該采集窗口2中的a6、a7、a8采集時刻對應(yīng)的數(shù)據(jù)采集速率閾值為15mb/s,即另一周期對應(yīng)的數(shù)據(jù)采集速率閾值為15mb/s,該周期覆蓋了采集窗口2的前三個采集時刻;其中,該采集窗口2中的a9、a10采集時刻對應(yīng)的數(shù)據(jù)采集速率閾值為5mb/s,即又一周期對應(yīng)的數(shù)據(jù)采集速率閾值為5mb/s,該周期覆蓋了采集窗口2的后兩個采集時刻。
在上述假設(shè)條件下,采集窗口1對應(yīng)的可采集數(shù)據(jù)量上限為10mb,其中的每個預(yù)設(shè)采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量為數(shù)據(jù)采集速率閾值(10mb/s)與多個采集時刻的個數(shù)(5個)的商值所表征的數(shù)據(jù)量大?。?0mb/5=2mb。
在數(shù)據(jù)采集的過程中,如圖9中所示,假設(shè)采集時刻a1采集到的數(shù)據(jù)量為2mb,由于采集時刻a1為當(dāng)前采集窗口1的第一個采集時刻,此時對應(yīng)的累計(jì)數(shù)據(jù)量即為2mb,沒有超過可采集數(shù)據(jù)量上限10mb,隨即將采集到的2mb數(shù)據(jù)傳輸至目的存儲空間存儲;
當(dāng)采集時刻a2到來的時候,采集到的數(shù)據(jù)量為5mb,此時對應(yīng)的累計(jì)數(shù)據(jù)量為2+5=7mb,也沒有超過可采集數(shù)據(jù)量上限10mb,隨即將采集到的5mb數(shù)據(jù)傳輸至目的存儲空間存儲;
當(dāng)采集時刻a3到來的時候,采集到的數(shù)據(jù)量為1mb,此時對應(yīng)的累計(jì)數(shù)據(jù)量為2+5+1=8mb,也沒有超過可采集數(shù)據(jù)量上限10mb,隨即將采集到的1mb數(shù)據(jù)傳輸至目的存儲空間存儲;
當(dāng)采集時刻a4到來的時候,采集到的數(shù)據(jù)量為1mb,此時對應(yīng)的累計(jì)數(shù)據(jù)量為2+5+1+1=9mb,也沒有超過可采集數(shù)據(jù)量上限10mb,隨即將采集到的1mb數(shù)據(jù)傳輸至目的存儲空間存儲;
當(dāng)采集時刻a5到來的時候,采集到的數(shù)據(jù)量為6mb,此時對應(yīng)的累計(jì)數(shù)據(jù)量為2+5+1+1+6=15mb,超過了可采集數(shù)據(jù)量上限10mb。此時,采集時刻a5對應(yīng)的累計(jì)數(shù)據(jù)量15mb超過當(dāng)前采集窗口1的可采集數(shù)據(jù)量上限10mb的差額數(shù)據(jù)量為15mb-10mb=5mb,也就是說,采集時刻a5采集到的6mb數(shù)據(jù)在向目的存儲空間傳輸?shù)倪^程中,理想情況下,在采集窗口1內(nèi)僅能夠傳輸1mb,剩余的5mb無法在采集窗口1完成傳輸。為了保證數(shù)據(jù)的完整性,不丟棄采集到的數(shù)據(jù),則需要延遲下一次采集數(shù)據(jù)的時刻,因?yàn)?,如果在下一個采集時刻即采集窗口2的第一個采集時刻a6就執(zhí)行數(shù)據(jù)采集動作,則此時采集窗口1的采集時刻a5采集到的6mb數(shù)據(jù)還沒有傳輸完畢,不能保證數(shù)據(jù)完整性。
在確定需要延遲到何時才能完成上述差額數(shù)據(jù)量5mb的傳輸時,由于當(dāng)前的采集窗口1內(nèi)已經(jīng)沒有采集時刻了,需要在接下來的一個或多個采集窗口中確定需要延遲幾個采集時刻。針對采集窗口1后續(xù)相鄰的采集窗口2來說,由于采集窗口2到來時,數(shù)據(jù)采集速率閾值已經(jīng)調(diào)整為15mb/s,此時認(rèn)為采集窗口2的可采集數(shù)據(jù)量上限為15mb,其對應(yīng)的每個采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量為數(shù)據(jù)采集速率閾值(15mb/s)與多個采集時刻的個數(shù)(5個)的商值所表征的數(shù)據(jù)量大小:15mb/5=3mb。從而,為了完成差額數(shù)據(jù)量5mb的傳輸,需要2個采集間隔,即求解5mb<min(intn)*3mb,得到n=2,因此,a6和a7采集時刻不執(zhí)行數(shù)據(jù)采集動作,用于差額數(shù)據(jù)量5mb的傳輸,a8才開始執(zhí)行數(shù)據(jù)采集。
但是值得說明的是:由于采集窗口2對應(yīng)的數(shù)據(jù)采集速率閾值15mb/s其實(shí)只覆蓋了其中的前三個采集時刻,即只覆蓋了前三個采集間隔。因此,上述平均數(shù)據(jù)量3mb其實(shí)僅適用于a6、a7、a8三個采集時刻對應(yīng)的采集間隔,后續(xù)a9和a10對應(yīng)的采集間隔對應(yīng)的平均數(shù)據(jù)量為5mb/5=1mb。因此,如果上述差額數(shù)據(jù)量超過a6、a7、a8對應(yīng)的三個采集間隔能夠承擔(dān)的總數(shù)據(jù)量3mb*3=9mb,則后續(xù)需要按照每個采集間隔能夠傳輸平均數(shù)據(jù)量為1mb的情況計(jì)算需要延遲多少個采集間隔。舉例來說,假設(shè)差額數(shù)據(jù)量為10mb,則按照上述公式發(fā)現(xiàn),以每個采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量為3mb來傳輸,則至少需要4個采集間隔,而目前僅有三個采集間隔能支持平均數(shù)據(jù)量為3mb的傳輸,則還剩余10-9=1mb的數(shù)據(jù),此時,由于采集窗口2的a9、a10對應(yīng)的采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量為1mb,則滿足1mb<min(intn)*1mb的n的取值為1,則還需要延遲一個采集時刻a9才能將全部的10mb差額數(shù)據(jù)量傳輸完畢。
再舉例,如圖10所示,與圖9所示實(shí)施例不同的是,圖10中假設(shè)采集窗口1中的a1、a2、a3、a4對應(yīng)的數(shù)據(jù)采集速率閾值為10mb/s,a5以及采集窗口2中的a6、a7、a8對應(yīng)的數(shù)據(jù)采集速率閾值為15mb/s,自采集窗口2的a9開始對應(yīng)的數(shù)據(jù)采集速率閾值為5mb/s。
上述條件下,對于采集窗口1來說,其對應(yīng)的可采集數(shù)據(jù)量上限不再為10mb,而是需要根據(jù)覆蓋采集窗口1的兩個采集速率閾值10mb/s和15mb/s來確定其對應(yīng)的可采集數(shù)據(jù)量上限,具體確定方法參見對步驟2031的介紹,此時,采集窗口1對應(yīng)的可采集數(shù)據(jù)量上限為:(10mb/5)*4+(15mb/5)*1=11mb。
仍舊假設(shè)采集窗口1中各采集時刻采集到的數(shù)據(jù)量與圖9中一致,則采集時刻a5對應(yīng)的累計(jì)數(shù)據(jù)量為15mb,差額數(shù)據(jù)量為15mb-11mb=4mb。滿足4mb<min(intn)*3mb的n取值為2,則需要延遲a6、a7后,從a8開始執(zhí)行數(shù)據(jù)采集動作,即a6、a7時不進(jìn)行數(shù)據(jù)采集。
針對后續(xù)采集時刻以及后續(xù)采集窗口的處理與前述舉例的原理類似,不再贅述。
本實(shí)施例中,在以每個采集窗口對應(yīng)的數(shù)據(jù)采集速率閾值所表征的數(shù)據(jù)量大小為約束的數(shù)據(jù)采集過程中,在每個采集窗口實(shí)際采集到的數(shù)據(jù)量大于其對應(yīng)的數(shù)據(jù)量上限時,通過延遲下一次數(shù)據(jù)采集的時刻的方式保證已經(jīng)采集到的數(shù)據(jù)能夠被完整的存儲,保證了數(shù)據(jù)的完整性。
以下將詳細(xì)描述本發(fā)明的一個或多個實(shí)施例的數(shù)據(jù)采集裝置。這些數(shù)據(jù)采集裝置可以被實(shí)現(xiàn)在服務(wù)器的基礎(chǔ)架構(gòu)中。本領(lǐng)域技術(shù)人員可以理解,這些數(shù)據(jù)采集裝置均可使用市售的硬件組件通過本方案所教導(dǎo)的步驟進(jìn)行配置來構(gòu)成。
圖11為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖,如圖11所示,該數(shù)據(jù)采集裝置包括:第一獲取模塊11、確定模塊12、采集模塊13。
第一獲取模塊11,用于獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,所述業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用所述處理資源。
確定模塊12,用于根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值。
采集模塊13,用于根據(jù)所述數(shù)據(jù)采集速率閾值采集數(shù)據(jù)。
可選地,所述第一獲取模塊11具體用于:
獲取當(dāng)前周期內(nèi)所述業(yè)務(wù)處理節(jié)點(diǎn)在連續(xù)多個時間片段內(nèi)的平均處理資源使用率。
圖11所示裝置可以執(zhí)行圖2所示實(shí)施例的方法,本實(shí)施例未詳細(xì)描述的部分,可參考對圖2所示實(shí)施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖2所示實(shí)施例中的描述,在此不再贅述。
圖12為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖,如圖12所示,在圖11所示實(shí)施例基礎(chǔ)上,該裝置還包括:第二獲取模塊21。
第二獲取模塊21,用于獲取數(shù)據(jù)采集速率閾值加權(quán)因子。
所述確定模塊12具體用于:根據(jù)所述處理資源使用率和所述數(shù)據(jù)采集速率閾值加權(quán)因子,確定所述數(shù)據(jù)采集速率閾值。
可選地,所述第二獲取模塊21包括:獲取單元211、第一確定單元212、計(jì)算單元213。
獲取單元211,用于獲取預(yù)設(shè)歷史時間段內(nèi)所述業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率分布曲線,以及所述數(shù)據(jù)采集節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)采集速率閾值分布曲線。
第一確定單元212,用于確定所述處理資源使用率分布曲線的n分位值對應(yīng)的處理資源使用率,以及所述數(shù)據(jù)采集速率閾值分布曲線的m分位值對應(yīng)的數(shù)據(jù)采集速率閾值,其中,m%=1-n%,50≤n<100。
計(jì)算單元213,用于根據(jù)所述n分位值對應(yīng)的處理資源使用率和所述m分位值對應(yīng)的數(shù)據(jù)采集速率閾值,計(jì)算所述數(shù)據(jù)采集速率閾值加權(quán)因子。
圖12所示裝置可以執(zhí)行圖3所示實(shí)施例的方法,本實(shí)施例未詳細(xì)描述的部分,可參考對圖3所示實(shí)施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖3所示實(shí)施例中的描述,在此不再贅述。
圖13為本發(fā)明又一實(shí)施例提供的數(shù)據(jù)采集裝置的結(jié)構(gòu)示意圖,如圖13所示,在圖12所示實(shí)施例基礎(chǔ)上,所述采集模塊13包括:第二確定單元131、采集處理單元132。
第二確定單元131,用于根據(jù)所述數(shù)據(jù)采集速率閾值確定所述當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限,所述每個采集窗口的時間長度為所述數(shù)據(jù)采集速率閾值對應(yīng)的單位時間,所述每個采集窗口中包括彼此相隔預(yù)設(shè)采集間隔的多個采集時刻。
采集處理單元132,用于對于當(dāng)前采集窗口內(nèi)的當(dāng)前采集時刻,若在所述當(dāng)前采集時刻采集的累計(jì)數(shù)據(jù)量大于所述可采集數(shù)據(jù)量上限,則延遲下一次采集對應(yīng)的采集時刻。
其中,所述累計(jì)數(shù)據(jù)量是指從所述當(dāng)前采集窗口的第一個采集時刻至所述當(dāng)前采集時刻累計(jì)采集到的數(shù)據(jù)量。
可選地,所述第二確定單元131具體用于:
若執(zhí)行所述數(shù)據(jù)采集速率閾值的時刻對齊所述當(dāng)前采集窗口的起始時刻,則確定所述可采集數(shù)據(jù)量上限為所述數(shù)據(jù)采集速率閾值表征的單位時間內(nèi)采集的數(shù)據(jù)量大??;
若執(zhí)行所述數(shù)據(jù)采集速率閾值的時刻未對齊所述當(dāng)前采集窗口的起始時刻,則根據(jù)原數(shù)據(jù)采集速率閾值和所述數(shù)據(jù)采集速率閾值確定所述可采集數(shù)據(jù)量上限,所述原數(shù)據(jù)采集速率閾值為執(zhí)行所述數(shù)據(jù)采集速率閾值之前采用的數(shù)據(jù)采集速率閾值。
可選地,所述采集處理單元132具體用于:
根據(jù)所述累計(jì)數(shù)據(jù)量與所述可采集數(shù)據(jù)量上限之間的差額數(shù)據(jù)量,以及每個預(yù)設(shè)采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量,確定完成所述差額數(shù)據(jù)量的傳輸所需的采集間隔個數(shù);
在與所述當(dāng)前采集時刻相距所述采集間隔個數(shù)后的采集時刻執(zhí)行下一次采集。
其中,所述平均數(shù)據(jù)量為所述每個預(yù)設(shè)采集間隔對應(yīng)的數(shù)據(jù)采集速率閾值與所述多個采集時刻的個數(shù)的商值所表征的數(shù)據(jù)量大小。
圖13所示裝置可以執(zhí)行圖6所示實(shí)施例的方法,本實(shí)施例未詳細(xì)描述的部分,可參考對圖6所示實(shí)施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖6所示實(shí)施例中的描述,在此不再贅述。
以上描述了數(shù)據(jù)采集裝置的內(nèi)部功能和結(jié)構(gòu),在一個可能的設(shè)計(jì)中,該數(shù)據(jù)采集裝置的結(jié)構(gòu)可實(shí)現(xiàn)為服務(wù)器,如圖14所示,可以包括:處理器41和存儲器42。其中,所述存儲器42用于存儲支持?jǐn)?shù)據(jù)采集裝置執(zhí)行上述任一實(shí)施例中提供的數(shù)據(jù)采集方法的程序,所述處理器41被配置為用于執(zhí)行所述存儲器42中存儲的程序。
所述程序包括一條或多條計(jì)算機(jī)指令,其中,所述一條或多條計(jì)算機(jī)指令供所述處理器41調(diào)用執(zhí)行。
所述處理器41用于:獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,所述業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用所述處理資源;根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值;根據(jù)所述數(shù)據(jù)采集速率閾值采集數(shù)據(jù)。
可選地,所述處理器41還用于執(zhí)行前述各方法步驟中的全部或部分步驟。
其中,所述數(shù)據(jù)采集裝置的結(jié)構(gòu)中還可以包括通信接口43,用于數(shù)據(jù)采集裝置與其他設(shè)備或通信網(wǎng)絡(luò)通信。
另外,本發(fā)明實(shí)施例提供了一種計(jì)算機(jī)存儲介質(zhì),用于儲存數(shù)據(jù)采集裝置所用的計(jì)算機(jī)軟件指令,其包含用于執(zhí)行上述第一方面中數(shù)據(jù)采集方法所涉及的程序。
以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動的情況下,即可以理解并實(shí)施。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助加必需的通用硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件。基于這樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)產(chǎn)品可以存儲在計(jì)算機(jī)可讀存儲介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺計(jì)算機(jī)裝置(可以是個人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)裝置等)執(zhí)行各個實(shí)施例或者實(shí)施例的某些部分所述的方法。
最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。
本發(fā)明公共a8、一種數(shù)據(jù)采集裝置,包括:
第一獲取模塊,用于獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,所述業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用所述處理資源;
確定模塊,用于根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值;
采集模塊,用于根據(jù)所述數(shù)據(jù)采集速率閾值采集數(shù)據(jù)。
a9、根據(jù)a8所述的裝置,所述第一獲取模塊具體用于:
獲取當(dāng)前周期內(nèi)所述業(yè)務(wù)處理節(jié)點(diǎn)在連續(xù)多個時間片段內(nèi)的平均處理資源使用率。
a10、根據(jù)a8所述的裝置,還包括:
第二獲取模塊,用于獲取數(shù)據(jù)采集速率閾值加權(quán)因子;
所述確定模塊具體用于:
根據(jù)所述處理資源使用率和所述數(shù)據(jù)采集速率閾值加權(quán)因子,確定所述數(shù)據(jù)采集速率閾值。
a11、根據(jù)a10所述的裝置,所述第二獲取模塊包括:
獲取單元,用于獲取預(yù)設(shè)歷史時間段內(nèi)所述業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率分布曲線,以及所述數(shù)據(jù)采集節(jié)點(diǎn)對應(yīng)的數(shù)據(jù)采集速率閾值分布曲線;
第一確定單元,用于確定所述處理資源使用率分布曲線的n分位值對應(yīng)的處理資源使用率,以及所述數(shù)據(jù)采集速率閾值分布曲線的m分位值對應(yīng)的數(shù)據(jù)采集速率閾值,其中,m%=1-n%,50≤n<100;
計(jì)算單元,用于根據(jù)所述n分位值對應(yīng)的處理資源使用率和所述m分位值對應(yīng)的數(shù)據(jù)采集速率閾值,計(jì)算所述數(shù)據(jù)采集速率閾值加權(quán)因子。
a12、根據(jù)a8至a11中任一項(xiàng)所述的裝置,所述采集模塊包括:
第二確定單元,用于根據(jù)所述數(shù)據(jù)采集速率閾值確定所述當(dāng)前周期內(nèi)每個采集窗口對應(yīng)的可采集數(shù)據(jù)量上限,所述每個采集窗口的時間長度為所述數(shù)據(jù)采集速率閾值對應(yīng)的單位時間,所述每個采集窗口中包括彼此相隔預(yù)設(shè)采集間隔的多個采集時刻;
采集處理單元,用于對于當(dāng)前采集窗口內(nèi)的當(dāng)前采集時刻,若在所述當(dāng)前采集時刻采集的累計(jì)數(shù)據(jù)量大于所述可采集數(shù)據(jù)量上限,則延遲下一次采集對應(yīng)的采集時刻。
a13、根據(jù)a12所述的裝置,所述第二確定單元具體用于:
若執(zhí)行所述數(shù)據(jù)采集速率閾值的時刻對齊所述當(dāng)前采集窗口的起始時刻,則確定所述可采集數(shù)據(jù)量上限為所述數(shù)據(jù)采集速率閾值表征的單位時間內(nèi)采集的數(shù)據(jù)量大??;
若執(zhí)行所述數(shù)據(jù)采集速率閾值的時刻未對齊所述當(dāng)前采集窗口的起始時刻,則根據(jù)原數(shù)據(jù)采集速率閾值和所述數(shù)據(jù)采集速率閾值確定所述可采集數(shù)據(jù)量上限,所述原數(shù)據(jù)采集速率閾值為執(zhí)行所述數(shù)據(jù)采集速率閾值之前采用的數(shù)據(jù)采集速率閾值。
a14、根據(jù)a12所述的裝置,所述采集處理單元具體用于:
根據(jù)所述累計(jì)數(shù)據(jù)量與所述可采集數(shù)據(jù)量上限之間的差額數(shù)據(jù)量,以及每個預(yù)設(shè)采集間隔能夠傳輸?shù)钠骄鶖?shù)據(jù)量,確定完成所述差額數(shù)據(jù)量的傳輸所需的采集間隔個數(shù);在與所述當(dāng)前采集時刻相距所述采集間隔個數(shù)后的采集時刻執(zhí)行下一次采集。
本發(fā)明還公開了b15、一種服務(wù)器,包括存儲器和處理器;其中,
所述存儲器用于存儲一條或多條計(jì)算機(jī)指令,其中,所述一條或多條計(jì)算機(jī)指令供所述處理器調(diào)用執(zhí)行;
所述處理器用于:獲取當(dāng)前周期內(nèi)業(yè)務(wù)處理節(jié)點(diǎn)對應(yīng)的處理資源使用率,所述業(yè)務(wù)處理節(jié)點(diǎn)與數(shù)據(jù)采集節(jié)點(diǎn)共用所述處理資源;根據(jù)所述處理資源使用率,確定數(shù)據(jù)采集速率閾值;根據(jù)所述數(shù)據(jù)采集速率閾值采集數(shù)據(jù)。