專利名稱:一種數(shù)據(jù)分配方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)分析,更具體地說,涉及一種數(shù)據(jù)分配方法和裝置。
背景技術(shù):
在需要同時分析大量的數(shù)據(jù)時,通常使用分布式的計算方式,將大量的數(shù)據(jù)劃分成一份份小數(shù)據(jù)之后再分別在不同的數(shù)據(jù)處理終端上并行分析,或者在同一個數(shù)據(jù)處理終端的不同處理器上并行分析。這些數(shù)據(jù)處理終端或者數(shù)據(jù)處理終端上的線程被定義為計算結(jié)點。
以移動運(yùn)營商分析用戶的話單數(shù)據(jù)為例,為了快速分析指定時間段的話單數(shù)據(jù),移動運(yùn)營商通常將話單數(shù)據(jù)按照應(yīng)用的需要分配給不同的計算終端同時進(jìn)行,這涉及到對數(shù)據(jù)分析任務(wù)的劃分,劃分后的各個子任務(wù)之間應(yīng)相互獨立,所占數(shù)據(jù)的份額應(yīng)大致相同,以便充分利用計算終端的多核多線程計算能力,同時劃分后的各個子任務(wù)還應(yīng)做到完成時間的均衡,以使總的計算時間最少。比如說有兩個應(yīng)用一個是統(tǒng)計每個用戶在不同的扇區(qū)下通話的次數(shù),一個是統(tǒng)計每個扇區(qū)下不同用戶通話的次數(shù),前者需要按照用戶(通常是用戶的手機(jī)號碼),后者需要按照小區(qū)(通常是小區(qū)的編號)對話單數(shù)據(jù)進(jìn)行劃分,這樣才能夠使劃分的任務(wù)獨立互不影響。按照上述方法確定了數(shù)據(jù)劃分的字段(如用戶的手機(jī)號碼、小區(qū)的編號)后,還需要確定需劃分的子任務(wù)的個數(shù),以及保證子任務(wù)所占數(shù)據(jù)的份額大致相同。常用的方法是按照上述字段數(shù)值可能在的范圍區(qū)間進(jìn)行劃分,而這需要人工或者自動地對歷史數(shù)據(jù)進(jìn)行分析,統(tǒng)計上述字段的數(shù)值落在各個范圍區(qū)間內(nèi)的數(shù)量。由于需劃分的子任務(wù)的個數(shù)是已知的,按照各個范圍區(qū)間內(nèi)數(shù)據(jù)的數(shù)量均衡的原則,可以反過來確定劃分范圍區(qū)間。這種根據(jù)歷史數(shù)據(jù)的統(tǒng)計情況進(jìn)行細(xì)微的范圍區(qū)間劃分的方法,能夠部分解決分布式計算中子任務(wù)劃分的問題,但是這種方法由于存在以下缺陷而使其應(yīng)用受到限制(I)用來劃分的字段的數(shù)值需要是一個或者多個連續(xù)范圍內(nèi)的數(shù)值;(2)如果有新的、不在原來的范圍內(nèi)的數(shù)據(jù)加入,通常不能處理;(3)算法繁瑣復(fù)雜,不易實現(xiàn)自動化,如進(jìn)行自動處理的話需要進(jìn)行大量的統(tǒng)計計笪
ο
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題在于,針對現(xiàn)有技術(shù)的上述缺陷,提供一種能夠使數(shù)據(jù)分配得更均勻以充分利用分布式計算終端的計算能力、且實現(xiàn)算法簡單的數(shù)據(jù)分配方法和
>J-U ρ α裝直。本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是提出一種數(shù)據(jù)分配方法,包括如下步驟SI、獲取需要分析的多個數(shù)據(jù);S2、依據(jù)數(shù)據(jù)分析需求確定用于劃分所述需要分析的多個數(shù)據(jù)的字段;
S3、針對每個數(shù)據(jù),將步驟S2中確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算;S4、將所述需要分析的多個數(shù)據(jù)中取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點。一個實施例中,所述步驟SI進(jìn)一步包括將獲取到的所述需要分析的多個數(shù)據(jù)處理成統(tǒng)一的格式。一個實施例中,所述步驟S3具體包括S31、確定所述字段的類型;S32、在所述字段為中文時,將該中文對應(yīng)的國家標(biāo)準(zhǔn)代碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算; S33、在所述字段為英文時,將該英文對應(yīng)的ASCII碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算;S34、在所述字段為數(shù)字時,將該數(shù)字對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。一個實施例中,所述步驟S3具體包括選取所述字段對應(yīng)的值的一部分值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。一個實施例中,所述計算結(jié)點為數(shù)據(jù)處理終端或數(shù)據(jù)處理終端上的線程。本發(fā)明為解決其技術(shù)問題還提出一種數(shù)據(jù)分配裝置,包括數(shù)據(jù)獲取模塊,用于獲取需要分析的多個數(shù)據(jù);字段確定模塊,用于依據(jù)數(shù)據(jù)分析需求確定用于劃分所述需要分析的多個數(shù)據(jù)的字段;取模運(yùn)算模塊,用于針對每個數(shù)據(jù),將所述字段確定模塊確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算;數(shù)據(jù)分配模塊,用于將所述需要分析的多個數(shù)據(jù)中取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點。一個實施例中,所述數(shù)據(jù)獲取模塊進(jìn)一步將獲取到的所述需要分析的多個數(shù)據(jù)處理成統(tǒng)一的格式。 一個實施例中,所述取模運(yùn)算模塊具體包括字段類型確定子模塊,用于確定所述字段的類型;中文取模運(yùn)算子模塊,用于在所述字段為中文時,將該中文對應(yīng)的國家標(biāo)準(zhǔn)代碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算;英文取模運(yùn)算子模塊,用于在所述字段為英文時,將該英文對應(yīng)的ASCII碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算;數(shù)字取模運(yùn)算子模塊,用于在所述字段為數(shù)字時,將該數(shù)字對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。一個實施例中,所述取模運(yùn)算模塊進(jìn)一步選取所述字段對應(yīng)的值的一部分值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算?!獋€實施例中,所述計算結(jié)點為數(shù)據(jù)處理終端或數(shù)據(jù)處理終端上的線程。本發(fā)明的數(shù)據(jù)分配方法和裝置通過簡單易實現(xiàn)的取模算法將獲取的多個數(shù)據(jù)分配到對應(yīng)的終端或?qū)?yīng)的線程進(jìn)行處理,能夠盡量的做到各個子任務(wù)所占數(shù)據(jù)的份額大致相同,使數(shù)據(jù)分配得更均衡,充分利用了數(shù)據(jù)處理終端的多核多線程計算能力,從而使得不同終端或不同線程分析處理數(shù)據(jù)的時間更接近,達(dá)到總的計算時間最少。
下面將結(jié)合附圖及實施例對本發(fā)明作進(jìn)一步說明,附圖中圖I是本發(fā)明一個實施例的數(shù)據(jù)分配方法的流程圖;圖2是圖I中步驟130的一具體實施例的流程圖;圖3是本發(fā)明一個實施例的數(shù)據(jù)分配裝置的邏輯結(jié)構(gòu)示意圖;圖4是圖3中取模運(yùn)算模塊的一具體實施例的邏輯結(jié)構(gòu)示意圖。
具體實施例方式為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。本發(fā)明提出一種數(shù)據(jù)分配方法和裝置,將用于劃分需要分析的多個數(shù)據(jù)的字段與用于分析數(shù)據(jù)的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算,并將取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點,能夠盡量的做到各個計算結(jié)點上子任務(wù)所占數(shù)據(jù)的份額大致相同,使數(shù)據(jù)分配得更均衡,充分利用了數(shù)據(jù)處理終端的多核多線程計算能力,從而使得不同終端或不同線程分析處理數(shù)據(jù)的時間更接近,達(dá)到總的計算時間最少。圖I示出了本發(fā)明一個實施例的數(shù)據(jù)分配方法100的流程圖。如圖I所示,該數(shù)據(jù)分配方法100包括步驟110,獲取需要分析的多個數(shù)據(jù)。該步驟中,需要分析的數(shù)據(jù)可以是任意范圍內(nèi)的數(shù)據(jù),包括中文、英文、數(shù)字中的至少一種,例如,需要分析的數(shù)據(jù)為數(shù)字類型時,該數(shù)字類型可以為用戶的手機(jī)號碼等。獲取的方式可以是定時或?qū)崟r從存儲有數(shù)據(jù)的文件中獲取。一個實施例中,當(dāng)獲取的需要分析的多個數(shù)據(jù)格式不同時,步驟110還包括將獲取到的需要分析的多個數(shù)據(jù)處理成統(tǒng)一的格式,以便后續(xù)能夠更快速地對同一格式的數(shù)據(jù)進(jìn)行處理。步驟120,依據(jù)數(shù)據(jù)分析需求確定用于劃分所述需要分析的多個數(shù)據(jù)的字段。該步驟中,以用戶的實際數(shù)據(jù)分析需求為依據(jù),確定用于將需要分析的數(shù)據(jù)劃分至計算結(jié)點(不同終端或同一終端不同線程)的字段。比如說,在需要統(tǒng)計每個用戶在不同的扇區(qū)下通話的次數(shù)時,將每個用戶的標(biāo)識(通常是該用戶的手機(jī)號碼)作為劃分?jǐn)?shù)據(jù)的字段;在需要統(tǒng)計每個扇區(qū)下不同用戶通話的次數(shù)時,將小區(qū)標(biāo)識(通常是小區(qū)的編號)作為劃分?jǐn)?shù)據(jù)的字段。步驟130,針對每個數(shù)據(jù),將步驟120中確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。其中,取模運(yùn)算是指求余運(yùn)算,取模運(yùn)算的結(jié)果是指對整數(shù)除以被除數(shù)后無法除盡的余數(shù)。例如,28對5取模后的運(yùn)算結(jié)果為3。計算結(jié)點(不同終端或同一終端不同線程)的個數(shù)是預(yù)先已知的。例如,假設(shè)用于劃分需要分析的數(shù)據(jù)的字段為用戶的手機(jī)號碼,該用戶的手機(jī)號碼為13600000000,預(yù)先確定6個終端并行分析數(shù)據(jù),則在終端本身硬件條件允許的情況下,將用戶的手機(jī)號碼對應(yīng)的值13600000000與計算結(jié)點的個數(shù)6取模。一個優(yōu)選實施例中,步驟130中可選取該用于劃分需要分析的多個數(shù)據(jù)的字段對應(yīng)的值的一部分值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。例如,假設(shè)預(yù)先確定的計算結(jié)點個數(shù)為6,用于劃分需要分析的數(shù)據(jù)的字段為用戶的手機(jī)號碼,且該用戶的手機(jī)號碼為13600000000,則可選取該手機(jī)號碼的后9位數(shù)字的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算,即600000000mod6=0,其中,mod指取模運(yùn)算。只選取需要分析的數(shù)據(jù)中的部分值參與取模運(yùn)算能夠加快處理速度,選取的值越少,處理速度越快,但是選取的值越少,分配的數(shù)據(jù)也越不均衡,因此,實際工作中可根據(jù)需要來選取參與取模運(yùn)算的值,當(dāng)側(cè)重于處理速度時,選擇數(shù)據(jù)中較少的值參與取模運(yùn)算,相反,選擇數(shù)據(jù)中較多的值參與取模運(yùn)算。步驟140,以取模運(yùn)算后的值為依據(jù),將所述需要分析的多個數(shù)據(jù)中取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點(同一終端或同一線程)。一個實施例中,將取模運(yùn)算后的 值相同的數(shù)據(jù)都分入同一終端處理,例如,假設(shè)數(shù)據(jù)I、數(shù)據(jù)2、數(shù)據(jù)3取模運(yùn)算后的值都為0,數(shù)據(jù)4、數(shù)據(jù)5、數(shù)據(jù)6取模運(yùn)算后的值都為1,則將取模運(yùn)算后值為O的數(shù)據(jù)I、數(shù)據(jù)2、數(shù)據(jù)3都分入終端O處理,將取模運(yùn)算后值為I的數(shù)據(jù)4、數(shù)據(jù)5、數(shù)據(jù)6都分入終端I處理
坐寸ο在將需要分析的數(shù)據(jù)按照上述數(shù)據(jù)分配方法100分配給相應(yīng)的計算結(jié)點之后,計算結(jié)點根據(jù)接收的分析指令對分配的數(shù)據(jù)進(jìn)行后續(xù)的分析處理。一個實施例中,參見圖2所示,上述步驟130中針對每個數(shù)據(jù)將確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算具體包括步驟131,確定該用于劃分需要分析的多個數(shù)據(jù)的字段的類型。如前所述,需要分析的數(shù)據(jù)可以是任意范圍內(nèi)的數(shù)據(jù),包括中文、英文、數(shù)字中的至少一種。因而,該字段也分中文、英文和數(shù)字三種類型。步驟132,在用于劃分需要分析的數(shù)據(jù)的字段為中文時,將該中文對應(yīng)的國家標(biāo)準(zhǔn)代碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。其中,國家標(biāo)準(zhǔn)代碼,簡稱國標(biāo)碼,是中華人民共和國的中文常用漢字編碼集,每個漢字對應(yīng)一個國家標(biāo)準(zhǔn)代碼的值,比如“啊”字對應(yīng)的國家標(biāo)準(zhǔn)代碼的值為“1601”。步驟133,在用于劃分需要分析的數(shù)據(jù)的字段為英文時,將該英文對應(yīng)的ASCII碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。ASCII碼(American Standard Code forInformation Interchange,美國信息互換標(biāo)準(zhǔn)代碼)是基于拉丁字母的一套電腦編碼系統(tǒng),使用指定的7位或8位二進(jìn)制數(shù)組合來表示128或256種可能的字符。例如,英文字母“e”對應(yīng)的ASCII碼值為01100101。步驟134,在用于劃分需要分析的數(shù)據(jù)的字段為數(shù)字時,將該數(shù)字對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。例如,假設(shè)用于劃分需要分析的數(shù)據(jù)的字段為用戶的手機(jī)號碼,該用戶的手機(jī)號碼為13600000000,預(yù)先確定6個終端并行分析數(shù)據(jù),在終端本身硬件條件允許的情況下,將用戶的手機(jī)號碼對應(yīng)的值13600000000與6取模。本發(fā)明的實施例通過以上取模算法將獲取的多個數(shù)據(jù)分配到對應(yīng)的計算結(jié)點,由于漢字、英文、數(shù)字在計算機(jī)內(nèi)部都是以數(shù)字存放的,因此,都可以適用上述取模算法,并且由于漢字和英文的數(shù)值隨機(jī)性更強(qiáng),更適合上述取模算法。
圖3示出了本發(fā)明一個實施例的數(shù)據(jù)分配裝置200的邏輯結(jié)構(gòu)示意圖。如圖3所示,該數(shù)據(jù)匯總裝置200包括數(shù)據(jù)獲取模塊210、字段確定模塊220、取模運(yùn)算模塊230和數(shù)據(jù)分配模塊240。其中,數(shù)據(jù)獲取模塊210用于獲取需要分析的多個數(shù)據(jù)。優(yōu)選實施例中,數(shù)據(jù)獲取模塊210可以定時或?qū)崟r從存儲有數(shù)據(jù)的文件中獲取需要分析的多個數(shù)據(jù)。進(jìn)一步,數(shù)據(jù)獲取模塊210可以將獲取到的需要分析的多個數(shù)據(jù)處理成統(tǒng)一的格式,以便后續(xù)能夠更快速地對同一格式的數(shù)據(jù)進(jìn)行處理。字段確定模塊220用于依據(jù)數(shù)據(jù)分析需求確定用于劃分需要分析的多個數(shù)據(jù)的字段。例如,在需要統(tǒng)計每個用戶在不同的扇區(qū)下通話的次數(shù)時,字段確定模塊220將每個用戶的標(biāo)識(通常是該用戶的手機(jī)號碼)作為劃分?jǐn)?shù)據(jù)的字段;在需要統(tǒng)計每個扇區(qū)下不同用戶通話的次數(shù)時,字段確定模塊220將小區(qū)標(biāo)識(通常是小區(qū)的編號)作為劃分?jǐn)?shù)據(jù)的字段。取模運(yùn)算模塊230用于針對每個數(shù)據(jù),將字段確定模塊220確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。例如,若字段確定模塊220確定出用于劃分需要分析的數(shù)據(jù)的字段為用戶的手機(jī)號碼,該用戶的手機(jī)號碼為13600000000,預(yù)先確定6個終端并行分析數(shù)據(jù),則取模運(yùn)算模塊230執(zhí)行13600000000mod6,其中,mod指取模運(yùn)算。一個實施例中,取模運(yùn)算模塊230可選取該用于 劃分需要分析的多個數(shù)據(jù)的字段對應(yīng)的值的一部分值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。同樣以上例為例,取模運(yùn)算模塊230可選取該手機(jī)號碼的后9位數(shù)字的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算,即600000000mod6=0。數(shù)據(jù)分配模塊240用于將需要分析的多個數(shù)據(jù)中取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點(同一終端或同一線程)。例如,假設(shè)數(shù)據(jù)I、數(shù)據(jù)2、數(shù)據(jù)3取模運(yùn)算后的值都為0,數(shù)據(jù)4、數(shù)據(jù)5、數(shù)據(jù)6取模運(yùn)算后的值都為1,則將取模運(yùn)算后值為O的數(shù)據(jù)I、數(shù)據(jù)2、數(shù)據(jù)3都分入終端O處理,將取模運(yùn)算后值為I的數(shù)據(jù)4、數(shù)據(jù)5、數(shù)據(jù)6都分入終端I處理等。一個具體實施例中,參見圖4所示,上述取模運(yùn)算模塊230具體包括字段類型確定子模塊231、中文取模運(yùn)算子模塊232、英文取模運(yùn)算子模塊233和數(shù)字取模運(yùn)算子模塊234。其中,字段類型確定子模塊231用于確定所述字段的類型。需要分析的數(shù)據(jù)可以是任意范圍內(nèi)的數(shù)據(jù),包括中文、英文、數(shù)字中的至少一種,因而,該字段也分中文、英文和數(shù)字三種類型。中文取模運(yùn)算子模塊232用于在所述字段為中文時,將該中文對應(yīng)的國家標(biāo)準(zhǔn)代碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。英文取模運(yùn)算子模塊233用于在所述字段為英文時,將該英文對應(yīng)的ASCII碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。數(shù)字取模運(yùn)算子模塊234用于在所述字段為數(shù)字時,將該數(shù)字對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。以上借助方法步驟描述了本發(fā)明的技術(shù)特征及其關(guān)系,所述方法步驟的界限范圍和順序是為了便于描述任意定義的。只要能夠?qū)崿F(xiàn)該技術(shù)特征及其關(guān)系,也可應(yīng)用其它界限和順序。任何這樣的其它界限或順序因此落入本發(fā)明的范圍和精神實質(zhì)。以上還借助功能模塊對本發(fā)明的技術(shù)特征及其關(guān)系進(jìn)行了描述。所述功能模塊的界限和各功能模塊的關(guān)系是為了便于描述任意定義的。只要能夠?qū)崿F(xiàn)該技術(shù)特征及其關(guān)系,也可應(yīng)用其它的界限或關(guān)系。任何這樣的其它界限或關(guān)系也因此落入本發(fā)明的范圍和精神實質(zhì)。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種數(shù)據(jù)分配方法,其特征在于,包括如下步驟 51、獲取需要分析的多個數(shù)據(jù); 52、依據(jù)數(shù)據(jù)分析需求確定用于劃分所述需要分析的多個數(shù)據(jù)的字段; 53、針對每個數(shù)據(jù),將步驟S2中確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算; 54、將所述需要分析的多個數(shù)據(jù)中取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點。
2.根據(jù)權(quán)利要求I所述的數(shù)據(jù)分配方法,其特征在于,所述步驟SI進(jìn)一步包括 將獲取到的所述需要分析的多個數(shù)據(jù)處理成統(tǒng)一的格式。
3.根據(jù)權(quán)利要求I所述的數(shù)據(jù)分配方法,其特征在于,所述步驟S3具體包括 531、確定所述字段的類型; 532、在所述字段為中文時,將該中文對應(yīng)的國家標(biāo)準(zhǔn)代碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算; 533、在所述字段為英文時,將該英文對應(yīng)的ASCII碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算; 534、在所述字段為數(shù)字時,將該數(shù)字對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。
4.根據(jù)權(quán)利要求3所述的數(shù)據(jù)分配方法,其特征在于,所述步驟S3具體包括 選取所述字段對應(yīng)的值的一部分值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。
5.根據(jù)權(quán)利要求I所述的數(shù)據(jù)分配方法,其特征在于,所述計算結(jié)點為數(shù)據(jù)處理終端或數(shù)據(jù)處理終端上的線程。
6.一種數(shù)據(jù)分配裝置,其特征在于,包括 數(shù)據(jù)獲取模塊,用于獲取需要分析的多個數(shù)據(jù); 字段確定模塊,用于依據(jù)數(shù)據(jù)分析需求確定用于劃分所述需要分析的多個數(shù)據(jù)的字段; 取模運(yùn)算模塊,用于針對每個數(shù)據(jù),將所述字段確定模塊確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算; 數(shù)據(jù)分配模塊,用于將所述需要分析的多個數(shù)據(jù)中取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點。
7.根據(jù)權(quán)利要求6所述的數(shù)據(jù)分配裝置,其特征在于,所述數(shù)據(jù)獲取模塊進(jìn)一步將獲取到的所述需要分析的多個數(shù)據(jù)處理成統(tǒng)一的格式。
8.根據(jù)權(quán)利要求6所述的數(shù)據(jù)分配裝置,其特征在于,所述取模運(yùn)算模塊具體包括 字段類型確定子模塊,用于確定所述字段的類型; 中文取模運(yùn)算子模塊,用于在所述字段為中文時,將該中文對應(yīng)的國家標(biāo)準(zhǔn)代碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算; 英文取模運(yùn)算子模塊,用于在所述字段為英文時,將該英文對應(yīng)的ASCII碼值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算; 數(shù)字取模運(yùn)算子模塊,用于在所述字段為數(shù)字時,將該數(shù)字對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。
9.根據(jù)權(quán)利要求6所述的數(shù)據(jù)分配裝置,其特征在于,所述取模運(yùn)算模塊進(jìn)一步選取所述字段對應(yīng)的值的一部分值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算。
10.根據(jù)權(quán)利要求6所述的數(shù)據(jù)分配裝置,其特征在于,所述計算結(jié)點為數(shù)據(jù)處理終端或數(shù)據(jù)處理終端上的線程。
全文摘要
本發(fā)明涉及一種數(shù)據(jù)分配方法和裝置。所述方法包括S1、獲取需要分析的多個數(shù)據(jù);S2、依據(jù)數(shù)據(jù)分析需求確定用于劃分所述需要分析的多個數(shù)據(jù)的字段;S3、針對每個數(shù)據(jù),將步驟S2中確定出的字段對應(yīng)的值與預(yù)先確定的計算結(jié)點的個數(shù)執(zhí)行取模運(yùn)算;S4、將所述需要分析的多個數(shù)據(jù)中取模運(yùn)算后的值相同的數(shù)據(jù)分入同一計算結(jié)點。本發(fā)明通過簡單易實現(xiàn)的取模算法將獲取的多個數(shù)據(jù)分配到對應(yīng)的終端或?qū)?yīng)的線程進(jìn)行處理,能夠盡量的做到各個子任務(wù)所占數(shù)據(jù)的份額大致相同,使數(shù)據(jù)分配得更均衡,充分利用了數(shù)據(jù)處理終端的多核多線程計算能力,從而使得不同終端或不同線程分析處理數(shù)據(jù)的時間更接近,達(dá)到總的計算時間最少。
文檔編號G06F17/30GK102968491SQ201210490608
公開日2013年3月13日 申請日期2012年11月27日 優(yōu)先權(quán)日2012年11月27日
發(fā)明者王立, 祝林 申請人:深圳市網(wǎng)信聯(lián)動技術(shù)有限公司