国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種數(shù)據(jù)處理方法及裝置與流程

      文檔序號(hào):11234105閱讀:950來(lái)源:國(guó)知局
      本發(fā)明涉及數(shù)據(jù)處理領(lǐng)域,尤其涉及一種數(shù)據(jù)處理方法及裝置。
      背景技術(shù)
      ::基于海杜普的結(jié)構(gòu)化查詢(xún)語(yǔ)言(sqlonhadoop)是大數(shù)據(jù)領(lǐng)域一個(gè)重要研究方向,目前的sqlonhadoop系統(tǒng)主要有兩種架構(gòu),一種是基于某個(gè)運(yùn)行時(shí)框架,比如映射歸約(mapreduce,mr)計(jì)算模型,來(lái)構(gòu)建查詢(xún)引擎+分布式文件系統(tǒng)(hadoopdistributedfilesystem,hdfs)/hbase系統(tǒng),比如hive為hadoop的一個(gè)數(shù)據(jù)倉(cāng)庫(kù)工具;另一種是借助關(guān)系數(shù)據(jù)庫(kù)的大規(guī)模并行處理系統(tǒng)(massivelyparallelprocessing,mpp))架構(gòu)及結(jié)構(gòu)化查詢(xún)語(yǔ)言(structuredquerylanguage,sql)引擎+hdfs/hbase系統(tǒng),比如impala,hawq等。但是,無(wú)論哪種架構(gòu)都會(huì)涉及到數(shù)據(jù)分布,數(shù)據(jù)分布如果不均勻,就會(huì)出現(xiàn)數(shù)據(jù)傾斜的情況,而數(shù)據(jù)傾斜將會(huì)進(jìn)一步帶來(lái)系統(tǒng)中央處理器(centralprocessingunit,cpu)cpu、輸入/輸出(input/output,io)等方面執(zhí)行效率低的問(wèn)題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明實(shí)施例的目的是提供一種數(shù)據(jù)處理方法及裝置,用以減輕sqlonhadoop系統(tǒng)中數(shù)據(jù)分布不均勻的問(wèn)題,以提升系統(tǒng)性能。本發(fā)明實(shí)施例的目的是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的:第一方面,一種數(shù)據(jù)處理方法,所述方法應(yīng)用于基于hadoop的結(jié)構(gòu)化查詢(xún)語(yǔ)言sqlonhadoop系統(tǒng),所述系統(tǒng)中包括sql服務(wù)器和hadoop系統(tǒng),所述hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),包括:sql服務(wù)器獲取所述hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,所述文件分配結(jié)果包括所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;根據(jù)所述文件分配結(jié)果從所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),所述待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),所述待處理文件數(shù)量平均值是根據(jù)所述文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;確定與所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,其中,每個(gè)所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中包括的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目小于等于與所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合相對(duì)應(yīng)的待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值;向至少一個(gè)所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示;其中,所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)是指保存相應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本,且待處理文件文件數(shù)量低于所述待處理文件數(shù)量平均值的數(shù)據(jù)節(jié)點(diǎn),所述第一調(diào)度指示用于指示對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)處理保存的目標(biāo)文件以及將處理的結(jié)果返饋至相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn),所述目標(biāo)文件與所述目標(biāo)文件所在的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中保存的待處理文件相對(duì)應(yīng),所述目標(biāo)文件是該待處理文件的文件副本。因此,sql服務(wù)器獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,根據(jù)文件分配結(jié)果從至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。這里的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)為高負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。進(jìn)一步地,確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,并向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示。這里的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)為低負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。采用上述的方法能夠?qū)⒏哓?fù)荷待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的處理負(fù)荷分擔(dān)至保存高負(fù)荷待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn),減輕sqlonhadoop系統(tǒng)中數(shù)據(jù)分布不均勻的問(wèn)題,提升系統(tǒng)性能。結(jié)合第一方面,在第一種可能的實(shí)現(xiàn)方式中,還包括:確定所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存有第一類(lèi)型文件的文件標(biāo)識(shí);獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,所述第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,所述第一類(lèi)型節(jié)點(diǎn)是所述第一類(lèi)型文件當(dāng)前所在的數(shù)據(jù)節(jié)點(diǎn);向所述第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,所述第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于所述待處理文件數(shù)量平均值,所述第二調(diào)度指示用于指示所述第一類(lèi)型節(jié)點(diǎn)處理所述第一類(lèi)型文件,以及將處理結(jié)果反饋至所述第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第二種可能的實(shí)現(xiàn)方式中,確定與所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,包括:確定與所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的備選數(shù)據(jù)節(jié)點(diǎn)集合,其中,所述備選數(shù)據(jù)節(jié)點(diǎn)是指保存對(duì)應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本的數(shù)據(jù)節(jié)點(diǎn);從所述備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合。結(jié)合第一方面或第一方面的任一一種可能的實(shí)現(xiàn)方式,在第三種可能的實(shí)現(xiàn)方式中,從所述備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,包括:針對(duì)所述至少一個(gè)待調(diào)度節(jié)點(diǎn)中的每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合分別執(zhí)行:確定第一差值,所述第一差值是指當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量與所述待處理文件數(shù)量平均值的差值;根據(jù)所述文件分配結(jié)果,查詢(xún)針對(duì)所述當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中每個(gè)備選數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量,確定所述當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的存在目標(biāo)數(shù)據(jù)節(jié)點(diǎn)的至少一個(gè)待處理文件;從針對(duì)所述當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中,確定與所述至少一個(gè)待處理文件中每個(gè)待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若確定針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)小于等于所述第一差值,則所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括所有目標(biāo)數(shù)據(jù)節(jié)點(diǎn);或者,若確定所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)大于所述第一差值,則所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括隨機(jī)選取的與所述第一差值等值的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。結(jié)合第一方面或第一方面的任一一種可能的實(shí)現(xiàn)方式,在第四種可能的實(shí)現(xiàn)方式中,從針對(duì)所述當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中,確定所述至少一個(gè)待處理文件中每個(gè)待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn),包括:針對(duì)所述至少一個(gè)待處理文件中每個(gè)待處理文件分別執(zhí)行:若確定當(dāng)前待處理文件存在一個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則將所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與所述當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若確定所述當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則選取其中待處理文件數(shù)量最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與所述當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。結(jié)合第一方面或第一方面的任一一種可能的實(shí)現(xiàn)方式,在第五種可能的實(shí)現(xiàn)方式中于,若確定所述當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),所述方法還包括:若確定所述當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),且所述至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)中待處理文件數(shù)量最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目不止一個(gè),則選擇其中與所述當(dāng)前待處理數(shù)據(jù)節(jié)點(diǎn)之間的網(wǎng)絡(luò)開(kāi)銷(xiāo)最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與所述當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。此外,在sql服務(wù)器從針對(duì)每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合之后,在向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)分別發(fā)送第一調(diào)度指示之前,為保證調(diào)度后全局達(dá)到最優(yōu),不致出現(xiàn)給待調(diào)度數(shù)據(jù)節(jié)點(diǎn)減輕負(fù)荷后,造成其他數(shù)據(jù)節(jié)點(diǎn)超負(fù)荷??蛇x的,sql服務(wù)器根據(jù)每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,確定每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的最新待處理文件數(shù)量。此時(shí)的最新待處理文件數(shù)量為原來(lái)系統(tǒng)節(jié)點(diǎn)分配的待處理文件數(shù)量加上需要處理的文件副本數(shù)量,或者,原來(lái)系統(tǒng)節(jié)點(diǎn)分配的待處理文件數(shù)量減去即將調(diào)度給其他節(jié)點(diǎn)處理的文件數(shù)量。sql服務(wù)器根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的最新待處理文件數(shù)量確定不存在最新待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn)時(shí),向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)分別發(fā)送第一調(diào)度指示。第二方面,一種數(shù)據(jù)處理方法,所述方法應(yīng)用于基于hadoop的結(jié)構(gòu)化查詢(xún)語(yǔ)言sqlonhadoop系統(tǒng),所述系統(tǒng)中包括sql服務(wù)器和hadoop系統(tǒng),所述hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),包括:sql服務(wù)器獲取所述hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,所述文件分配結(jié)果包括所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;根據(jù)所述文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),所述待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),所述待處理文件數(shù)量平均值是根據(jù)所述文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;在根據(jù)所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第一類(lèi)型文件的文件標(biāo)識(shí),獲取所述第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,所述第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,所述第一類(lèi)型節(jié)點(diǎn)是指所述第一類(lèi)型文件當(dāng)前所在數(shù)據(jù)節(jié)點(diǎn),所述第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于所述待處理文件數(shù)量平均值;向所述第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,所述第二調(diào)度指示用于指示所述第一類(lèi)型節(jié)點(diǎn)處理所述第一類(lèi)型文件,以及將處理結(jié)果反饋至所述第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。因此,本發(fā)明實(shí)施例中提出讓文件移至的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn)執(zhí)行該文件的本地讀,再將相應(yīng)的處理結(jié)果回傳至高負(fù)荷數(shù)據(jù)節(jié)點(diǎn),有效降低了網(wǎng)絡(luò)開(kāi)銷(xiāo)。第一方面和第二方面的兩個(gè)方案可以結(jié)合使用,也可以分別單獨(dú)作為一種數(shù)據(jù)處理方法,即兩者可以并行使用,也可以結(jié)合使用。第三方面,一種數(shù)據(jù)處理裝置,所述裝置位于sql服務(wù)器,所述裝置應(yīng)用于sqlonhadoop系統(tǒng),所述系統(tǒng)中包括所述sql服務(wù)器和hadoop系統(tǒng),所述hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),包括:獲取單元,用于獲取所述hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,所述文件分配結(jié)果包括所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;分析單元,用于根據(jù)所述文件分配結(jié)果從所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),所述待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),所述待處理文件數(shù)量平均值是根據(jù)所述文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;處理單元,用于確定與所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合;發(fā)送單元,用于向至少一個(gè)所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示;其中,所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中包括的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目小于等于相應(yīng)待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值,所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)是指保存相應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本,且待處理文件文件數(shù)量低于所述待處理文件數(shù)量平均值的數(shù)據(jù)節(jié)點(diǎn),其中,每個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)相應(yīng)待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件,所述第一調(diào)度指示對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)處理保存的目標(biāo)文件以及將處理的結(jié)果返饋至相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn),所述目標(biāo)文件與所述目標(biāo)文件所在的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中保存的待處理文件相對(duì)應(yīng),所述目標(biāo)文件是該待處理文件的文件副本。第三方面的具體實(shí)現(xiàn)方式參照第一方面的具體實(shí)現(xiàn)方式。第四方面,一種數(shù)據(jù)處理裝置,所述裝置位于sql服務(wù)器,所述裝置應(yīng)用于sqlonhadoop系統(tǒng),所述系統(tǒng)中包括所述sql服務(wù)器和hadoop系統(tǒng),所述hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),包括:獲取單元,用于獲取所述hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,所述文件分配結(jié)果包括所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;分析單元,用于根據(jù)所述文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),所述待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),所述待處理文件數(shù)量平均值是根據(jù)所述文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;處理單元,用于在根據(jù)所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第一類(lèi)型文件的文件標(biāo)識(shí),獲取所述第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,所述第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,所述第一類(lèi)型節(jié)點(diǎn)是指所述第一類(lèi)型文件當(dāng)前所在數(shù)據(jù)節(jié)點(diǎn),所述第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于所述待處理文件數(shù)量平均值;發(fā)送單元,用于向所述第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,所述第二調(diào)度指示用于指示所述第一類(lèi)型節(jié)點(diǎn)處理所述第一類(lèi)型文件,以及將處理結(jié)果反饋至所述第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。第五方面,一種用于數(shù)據(jù)處理的服務(wù)器,所述服務(wù)器應(yīng)用于sqlonhadoop系統(tǒng),所述系統(tǒng)中包括所述服務(wù)器和hadoop系統(tǒng),所述hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn);所述用于數(shù)據(jù)處理的服務(wù)器包括收發(fā)器、處理器和存儲(chǔ)器,所述收發(fā)器、所述處理器以及所述存儲(chǔ)器之間通過(guò)總線(xiàn)連接,其中:所述存儲(chǔ)器,用于存儲(chǔ)所述處理器執(zhí)行的程序代碼;所述處理器,用于通過(guò)所述存儲(chǔ)器中的程序代碼,執(zhí)行以下操作:獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,所述文件分配結(jié)果包括所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;根據(jù)所述文件分配結(jié)果從所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),所述待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),所述待處理文件數(shù)量平均值是根據(jù)所述文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;以及確定與所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,其中,每個(gè)所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中包括的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目小于等于與所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合相對(duì)應(yīng)的待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值;所述處理器,還用于通過(guò)所述存儲(chǔ)器中的程序代碼調(diào)用所述收發(fā)器,執(zhí)行以下操作:向至少一個(gè)所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示;其中,所述目標(biāo)數(shù)據(jù)節(jié)點(diǎn)是指保存相應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本,且待處理文件文件數(shù)量低于待處理文件數(shù)量平均值的數(shù)據(jù)節(jié)點(diǎn),所述第一調(diào)度指示用于指示對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)處理保存的目標(biāo)文件以及將處理的結(jié)果返饋至相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn),目標(biāo)文件與目標(biāo)文件所在的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中保存的待處理文件相對(duì)應(yīng),目標(biāo)文件是該待處理文件的文件副本。第五方面的具體實(shí)現(xiàn)方式參照第一方面的具體實(shí)現(xiàn)方式。第六方面,一種用于數(shù)據(jù)處理的服務(wù)器,所述服務(wù)器應(yīng)用于sqlonhadoop系統(tǒng),所述系統(tǒng)中包括所述服務(wù)器和hadoop系統(tǒng),所述hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn);所述用于數(shù)據(jù)處理的服務(wù)器包括收發(fā)器、處理器和存儲(chǔ)器,所述收發(fā)器、所述處理器以及所述存儲(chǔ)器之間通過(guò)總線(xiàn)連接,其中:所述存儲(chǔ)器,用于存儲(chǔ)所述處理器執(zhí)行的程序代碼;所述處理器,用于通過(guò)所述存儲(chǔ)器中的程序代碼,執(zhí)行以下操作:獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,所述文件分配結(jié)果包括所述至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;根據(jù)文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),待處理文件數(shù)量平均值是根據(jù)文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;以及在根據(jù)至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第二待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第二類(lèi)型文件的文件標(biāo)識(shí),獲取第二類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,第二類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,第二類(lèi)型節(jié)點(diǎn)是指第二類(lèi)型文件當(dāng)前所在數(shù)據(jù)節(jié)點(diǎn),第二類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值;所述處理器,還用于通過(guò)所述存儲(chǔ)器中的程序代碼調(diào)用所述收發(fā)器,執(zhí)行以下操作:向第二類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,第二調(diào)度指示用于指示第二類(lèi)型節(jié)點(diǎn)處理第二類(lèi)型文件,以及將處理結(jié)果反饋至第二待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。本發(fā)明實(shí)施例中主要應(yīng)用于sqlonhadoop系統(tǒng),其一,sql服務(wù)器獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,根據(jù)文件分配結(jié)果從至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。這里的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)為高負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。進(jìn)一步地,確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,并向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示。這里的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)為低負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。采用本發(fā)明實(shí)施例提供的方法能夠?qū)⒏哓?fù)荷待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的處理負(fù)荷分擔(dān)至保存高負(fù)荷待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn),減輕sqlonhadoop系統(tǒng)中數(shù)據(jù)分布不均勻的問(wèn)題,提升系統(tǒng)性能。其二,sql服務(wù)器獲取文件分配結(jié)果,并根據(jù)文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),即高負(fù)荷數(shù)據(jù)節(jié)點(diǎn),在確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第一類(lèi)型文件的文件標(biāo)識(shí)時(shí),確定該文件標(biāo)識(shí)對(duì)應(yīng)的文件發(fā)生移動(dòng),進(jìn)而獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),這里的第一類(lèi)型節(jié)點(diǎn)為保存移動(dòng)文件的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn),以及向第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示。因此,本發(fā)明實(shí)施例中提出讓文件移至的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn)執(zhí)行該文件的本地讀,再將相應(yīng)的處理結(jié)果回傳至高負(fù)荷數(shù)據(jù)節(jié)點(diǎn),有效降低了網(wǎng)絡(luò)開(kāi)銷(xiāo)。附圖說(shuō)明圖1為本發(fā)明實(shí)施例中sqlonhadoop系統(tǒng)結(jié)構(gòu)示意圖;圖2為本發(fā)明實(shí)施例中數(shù)據(jù)處理方法的概述流程圖之一;圖3為本發(fā)明實(shí)施例中數(shù)據(jù)處理方法的概述流程圖之二;圖4為本發(fā)明實(shí)施例中數(shù)據(jù)處理過(guò)程中的分配調(diào)度示意圖;圖5為本發(fā)明實(shí)施例中數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖之一;圖6為本發(fā)明實(shí)施例中數(shù)據(jù)處理裝置的結(jié)構(gòu)示意圖之二;圖7為本發(fā)明實(shí)施例中用于數(shù)據(jù)處理的服務(wù)器的結(jié)構(gòu)示意圖之一;圖8為本發(fā)明實(shí)施例中用于數(shù)據(jù)處理的服務(wù)器的結(jié)構(gòu)示意圖之二。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,并不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍?,F(xiàn)有技術(shù)中,從系統(tǒng)架構(gòu)分層優(yōu)化角度,主要提出兩類(lèi)方案解決數(shù)據(jù)傾斜問(wèn)題:第一類(lèi)是優(yōu)化執(zhí)行層方面的,例如一致性哈希算法等;一致性哈希算法在1997年由麻省理工學(xué)院的karger等人在解決分布式cache中提出的,設(shè)計(jì)目標(biāo)是為了解決因特網(wǎng)中的熱點(diǎn)(hotspot)問(wèn)題,初衷和共用地址冗余協(xié)議(commonaccessredundancyprotocol,carp)十分類(lèi)似。一致性哈希修正了carp使用的簡(jiǎn)單哈希算法帶來(lái)的問(wèn)題,使得分布式哈希表(distributedhashtable,dht)可以在對(duì)等網(wǎng)絡(luò)(peertopeer,p2p)環(huán)境中真正得到應(yīng)用?,F(xiàn)在,一致性hash算法在分布式系統(tǒng)中也得到了廣泛應(yīng)用,比如在數(shù)據(jù)庫(kù)集群中,常采用一致性哈希算法對(duì)集群節(jié)點(diǎn)數(shù)據(jù)進(jìn)行合理劃分,避免數(shù)據(jù)傾斜,進(jìn)而提升系統(tǒng)性能并保持較好的擴(kuò)展性。第二類(lèi)是存儲(chǔ)層方面的,例如hdfs系統(tǒng)采用的負(fù)載平衡(loadbalance)技術(shù)等。hdfs采用的loadbalance技術(shù)主要是依據(jù)一些規(guī)則盡可能的去避免數(shù)據(jù)傾斜帶來(lái)的負(fù)載問(wèn)題,比如以下四個(gè)規(guī)則:1、將數(shù)據(jù)塊的一個(gè)副本放在正在寫(xiě)這個(gè)數(shù)據(jù)塊的節(jié)點(diǎn)上。2、盡量將數(shù)據(jù)塊的不同副本分布在不同的機(jī)架上,這樣集群可在完全失去某一機(jī)架的情況下還能存活。3、一個(gè)副本通常被放置在和寫(xiě)文件的節(jié)點(diǎn)同一機(jī)架的某個(gè)節(jié)點(diǎn)上,這樣可以減少跨越機(jī)架的網(wǎng)絡(luò)i/o。4、盡量均勻地將hdfs數(shù)據(jù)分布在集群的數(shù)據(jù)節(jié)點(diǎn)(datanode)中。本發(fā)明實(shí)施例從一個(gè)新的角度提出了減輕sqlonhadoop系統(tǒng)中數(shù)據(jù)分布不均勻的問(wèn)題的數(shù)據(jù)處理方法,有效提升了系統(tǒng)的性能。參閱圖1所示,本發(fā)明實(shí)施例的主要應(yīng)用場(chǎng)景為sqlonhadoop系統(tǒng),圖1為sqlonhadoop系統(tǒng)結(jié)構(gòu)示意圖。其中,sql服務(wù)器可以與hadoop系統(tǒng)中的系統(tǒng)節(jié)點(diǎn)進(jìn)行通信,也可以與hadoop系統(tǒng)中的數(shù)據(jù)節(jié)點(diǎn)進(jìn)行通信。系統(tǒng)節(jié)點(diǎn)(namenode)為各個(gè)數(shù)據(jù)節(jié)點(diǎn)(datanode)進(jìn)行待處理文件的分配,一般地,系統(tǒng)節(jié)點(diǎn)采用hash分布的方式為為各個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件,sql服務(wù)器(sqlserver)可以獲取系統(tǒng)節(jié)點(diǎn)為各個(gè)數(shù)據(jù)節(jié)點(diǎn)分別分配的待處理文件的文件數(shù)量,并針對(duì)其中的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)發(fā)送調(diào)度指示。參閱圖2所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,具體包括以下步驟:該方法應(yīng)用于sqlonhadoop系統(tǒng),該系統(tǒng)中包括sql服務(wù)器和hadoop系統(tǒng),其中hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)。該方法應(yīng)用于sql處理器。步驟200:sql服務(wù)器獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果。其中,文件分配結(jié)果包括至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量。一般地,系統(tǒng)節(jié)點(diǎn)將所有待處理文件按照hash分布分配至各個(gè)數(shù)據(jù)節(jié)點(diǎn)上,根據(jù)hash分布,每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)不同數(shù)量的待處理文件。在分配結(jié)束后,sql服務(wù)器可以獲取該文件分配結(jié)果。步驟210:sql服務(wù)器根據(jù)文件分配結(jié)果從至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。其中,待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),即高負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。待處理文件數(shù)量平均值是根據(jù)文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的。具體的,sql服務(wù)器根據(jù)文件分配結(jié)果,將所有數(shù)據(jù)節(jié)點(diǎn)分別對(duì)應(yīng)的待處理文件數(shù)量加和,再除以所有數(shù)據(jù)節(jié)點(diǎn)的總數(shù)得到待處理文件數(shù)量平均值。進(jìn)一步地,sql服務(wù)器根據(jù)文件分配結(jié)果確定待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn)。例如,待處理文件數(shù)量平均值為3,而數(shù)據(jù)節(jié)點(diǎn)1的待處理文件數(shù)量為6,預(yù)設(shè)閾值為2,則6-3>2,數(shù)據(jù)節(jié)點(diǎn)1為待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。須知,對(duì)于非待調(diào)度數(shù)據(jù)節(jié)點(diǎn),由數(shù)據(jù)節(jié)點(diǎn)自身完成對(duì)應(yīng)待處理文件的本地處理,例如,本地讀。此外,執(zhí)行步驟210之后,sql服務(wù)器確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存有第一類(lèi)型文件的文件標(biāo)識(shí),則獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,第一類(lèi)型節(jié)點(diǎn)是指第一類(lèi)型文件當(dāng)前所在的數(shù)據(jù)節(jié)點(diǎn)。進(jìn)一步地,sql服務(wù)器向第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,該第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,其中,第二調(diào)度指示用于指示第一類(lèi)型節(jié)點(diǎn)處理第一類(lèi)型文件,以及將處理結(jié)果反饋至第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)?,F(xiàn)有技術(shù)中,在sqlonhadoop系統(tǒng)中,hdfs會(huì)自動(dòng)將高負(fù)荷數(shù)據(jù)節(jié)點(diǎn)中的文件移至低負(fù)荷數(shù)據(jù)節(jié)點(diǎn),因此hdfs中的文件位置不受分配控制,會(huì)出現(xiàn)文件移動(dòng)的現(xiàn)象,導(dǎo)致在將待處理文件進(jìn)行hash分布后,高負(fù)荷數(shù)據(jù)節(jié)點(diǎn)中的文件發(fā)生移動(dòng),本地沒(méi)有該待處理文件?,F(xiàn)有技術(shù)中,高負(fù)荷數(shù)據(jù)節(jié)點(diǎn)需要通過(guò)遠(yuǎn)程讀取移動(dòng)后的待處理文件,但是遠(yuǎn)程讀取的過(guò)程會(huì)產(chǎn)生較大的網(wǎng)絡(luò)傳輸開(kāi)銷(xiāo)。而本發(fā)明實(shí)施例中提出讓文件移至的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn)執(zhí)行該文件的本地讀,再將相應(yīng)的處理結(jié)果回傳至高負(fù)荷數(shù)據(jù)節(jié)點(diǎn),有效降低了網(wǎng)絡(luò)開(kāi)銷(xiāo)。此外,基于與本發(fā)明實(shí)施例相同的思路,針對(duì)一般數(shù)據(jù)節(jié)點(diǎn)如果也發(fā)生文移動(dòng)的現(xiàn)象,此時(shí)也可通過(guò)對(duì)發(fā)生文件移動(dòng)的文件當(dāng)前所在的節(jié)點(diǎn)發(fā)送第二調(diào)度指示,讓該文件在當(dāng)前所在的節(jié)點(diǎn)完成本地讀,再將相應(yīng)的處理結(jié)果反饋至原數(shù)據(jù)節(jié)點(diǎn),以避免大量的網(wǎng)絡(luò)開(kāi)銷(xiāo)。例如,sql服務(wù)器在確定數(shù)據(jù)節(jié)點(diǎn)a為待調(diào)度數(shù)據(jù)節(jié)點(diǎn)后,若進(jìn)一步確定數(shù)據(jù)節(jié)點(diǎn)a對(duì)應(yīng)的文件1發(fā)送文件移動(dòng),不能在數(shù)據(jù)節(jié)點(diǎn)a本地完成針對(duì)文件1的本地讀,假設(shè)文件1此時(shí)已移動(dòng)至數(shù)據(jù)節(jié)點(diǎn)d,則當(dāng)sql服務(wù)器確定數(shù)據(jù)節(jié)點(diǎn)d的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值時(shí),向數(shù)據(jù)節(jié)點(diǎn)d發(fā)送第二調(diào)度指示,指示數(shù)據(jù)節(jié)點(diǎn)d處理文件1,即在數(shù)據(jù)節(jié)點(diǎn)d本地完成針對(duì)文件1的本地讀,然后將處理結(jié)果回傳至節(jié)點(diǎn)a。由于謂詞下推可以提前過(guò)濾大部分?jǐn)?shù)據(jù),故此時(shí)回傳的數(shù)據(jù)量比數(shù)據(jù)節(jié)點(diǎn)a遠(yuǎn)程讀取文件1的數(shù)據(jù)量大小將顯著減小,降低了網(wǎng)絡(luò)傳輸?shù)拈_(kāi)銷(xiāo)。須知上述方案可以與圖2對(duì)應(yīng)的方案結(jié)合使用,也可以作為一種數(shù)據(jù)處理方法,即兩者可以并行使用,也可以結(jié)合使用。步驟220:sql服務(wù)器確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合。其中,目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中包括的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目小于等于相應(yīng)待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值,目標(biāo)數(shù)據(jù)節(jié)點(diǎn)是指保存相應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本,且待處理文件文件數(shù)量低于待處理文件數(shù)量平均值的數(shù)據(jù)節(jié)點(diǎn),其中,每個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)一個(gè)相應(yīng)待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件??蛇x的,sql服務(wù)器首先確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的備選數(shù)據(jù)節(jié)點(diǎn)集合,其中,備選數(shù)據(jù)節(jié)點(diǎn)是指保存對(duì)應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本的數(shù)據(jù)節(jié)點(diǎn),進(jìn)一步地從該備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合?,F(xiàn)有技術(shù)中,根據(jù)hdfs的特點(diǎn),可以設(shè)置每個(gè)待處理文件的文件副本數(shù)目,例如,設(shè)置每個(gè)待處理文件具有三個(gè)文件副本,分別存儲(chǔ)于除被分配節(jié)點(diǎn)外的其它三個(gè)不同數(shù)據(jù)節(jié)點(diǎn)上。例如,系統(tǒng)節(jié)點(diǎn)根據(jù)hash分布將文件1分配至數(shù)據(jù)節(jié)點(diǎn)2,則文件1有三個(gè)副本,假設(shè)根據(jù)hdfs規(guī)則,這三個(gè)副本分別位于數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)5和數(shù)據(jù)節(jié)點(diǎn)6上。因此,若此時(shí)數(shù)據(jù)節(jié)點(diǎn)2為待調(diào)度數(shù)據(jù)節(jié)點(diǎn),則針對(duì)文件1的備選數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)5和數(shù)據(jù)節(jié)點(diǎn)6可選的,sql服務(wù)器確定針對(duì)每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合,針對(duì)每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)分別執(zhí)行:按照預(yù)設(shè)次序查詢(xún)針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的全部或部分待處理文件的文件副本所在的數(shù)據(jù)節(jié)點(diǎn)。然后,將查詢(xún)結(jié)果作為針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合。例如,數(shù)據(jù)節(jié)點(diǎn)3為待調(diào)度數(shù)據(jù)節(jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn)3對(duì)應(yīng)的待處理文件數(shù)量為5,sql服務(wù)器可以按照文件分配順序或者文件標(biāo)識(shí),依次確定每個(gè)待處理文件的文件副本所在節(jié)點(diǎn),則當(dāng)待處理文件數(shù)量為5時(shí),最終得到的備選數(shù)據(jù)節(jié)點(diǎn)集合中包括15個(gè)數(shù)據(jù)節(jié)點(diǎn)。又例如,數(shù)據(jù)節(jié)點(diǎn)3為待調(diào)度數(shù)據(jù)節(jié)點(diǎn),數(shù)據(jù)節(jié)點(diǎn)3對(duì)應(yīng)的待處理文件數(shù)量為5,若此時(shí)待處理文件平均值為3,則sql服務(wù)器只需將數(shù)據(jù)節(jié)點(diǎn)3的2個(gè)待處理文件分配出去,可以無(wú)需確定5個(gè)待處理文件分別對(duì)應(yīng)的備選數(shù)據(jù)節(jié)點(diǎn),此時(shí),sql服務(wù)器可以按照文件分配順序或者文件標(biāo)識(shí),依次確定其中兩個(gè)待處理文件的文件副本所在節(jié)點(diǎn),或者,隨機(jī)選取兩個(gè)待處理文件分別確定它們的文件副本所在節(jié)點(diǎn),則最終得到的備選數(shù)據(jù)節(jié)點(diǎn)集合中包括6個(gè)數(shù)據(jù)節(jié)點(diǎn)。須知,如果確定的備選數(shù)據(jù)節(jié)點(diǎn)數(shù)目較少,也可能對(duì)后續(xù)進(jìn)一步篩選目標(biāo)數(shù)據(jù)節(jié)點(diǎn)帶來(lái)限制??蛇x的,sql服務(wù)器從備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,包括:針對(duì)至少一個(gè)待調(diào)度節(jié)點(diǎn)中的每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合分別執(zhí)行:首先,確定第一差值,第一差值是指當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值。例如,當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)1,數(shù)據(jù)節(jié)點(diǎn)1的待處理文件數(shù)量為7,待處理文件數(shù)量平均值為3,則第一差值為4,即數(shù)據(jù)節(jié)點(diǎn)1需要分出4個(gè)待處理文件,讓其副本所在節(jié)點(diǎn)處理,才能減輕數(shù)據(jù)傾斜的問(wèn)題。第二,根據(jù)文件分配結(jié)果,查詢(xún)針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中每個(gè)備選數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量,確定當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的存在目標(biāo)數(shù)據(jù)節(jié)點(diǎn)的至少一個(gè)待處理文件。仍以上述數(shù)據(jù)節(jié)點(diǎn)1為例,假設(shè)針對(duì)數(shù)據(jù)節(jié)點(diǎn)1的備選數(shù)據(jù)節(jié)點(diǎn)集合包括21個(gè)數(shù)據(jù)節(jié)點(diǎn),針對(duì)文件1的三個(gè)備選數(shù)據(jù)節(jié)點(diǎn)均不滿(mǎn)足待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,則文件1沒(méi)有對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn),文件1繼續(xù)由數(shù)據(jù)節(jié)點(diǎn)1本地處理。針對(duì)文件2的三個(gè)備選數(shù)據(jù)節(jié)點(diǎn)中有一個(gè)數(shù)據(jù)節(jié)點(diǎn)滿(mǎn)足待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,則文件2有對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。針對(duì)文件3的三個(gè)備選數(shù)據(jù)節(jié)點(diǎn)中有兩個(gè)數(shù)據(jù)節(jié)點(diǎn)滿(mǎn)足待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,則文件3有對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。以此類(lèi)推。第三,從針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中,確定與至少一個(gè)待處理文件中每個(gè)待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)??蛇x的,針對(duì)至少一個(gè)待處理文件中每個(gè)待處理文件確定相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn),可有以下兩種具體情況:第一種情況:若確定當(dāng)前待處理文件存在一個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則將目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。以上述文件2為例,文件2的三個(gè)備選數(shù)據(jù)節(jié)點(diǎn)中有一個(gè)數(shù)據(jù)節(jié)點(diǎn)滿(mǎn)足待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,則將該數(shù)據(jù)節(jié)點(diǎn)作為文件2相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。第二種情況:若確定當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則選取其中待處理文件數(shù)量最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。以上述文件3為例,文件3的三個(gè)備選數(shù)據(jù)節(jié)點(diǎn)中有兩個(gè)數(shù)據(jù)節(jié)點(diǎn)滿(mǎn)足待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,則將其中待處理文件數(shù)量最小的數(shù)據(jù)節(jié)點(diǎn)作為文件3相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。進(jìn)一步地,若確定當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),且至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)中待處理文件數(shù)量最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目不止一個(gè),則選擇其中與當(dāng)前待處理數(shù)據(jù)節(jié)點(diǎn)之間的網(wǎng)絡(luò)開(kāi)銷(xiāo)最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)??蛇x地,sql服務(wù)器可以根據(jù)路由距離和帶寬計(jì)算網(wǎng)絡(luò)開(kāi)銷(xiāo),優(yōu)選選擇同一機(jī)架的數(shù)據(jù)節(jié)點(diǎn),其次是同一數(shù)據(jù)中心的數(shù)據(jù)節(jié)點(diǎn)。最后,在sql服務(wù)器確定當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)后,還包括以下兩種情況:第一種情況:若確定針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)小于等于第一差值,則目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括所有目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。例如,仍以上述節(jié)點(diǎn)1為例,針對(duì)節(jié)點(diǎn)1的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)為2,小于第一差值4,則將這兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)構(gòu)成目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合。第二種情況:若確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)大于第一差值,則目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括隨機(jī)選取的與第一差值等值的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。例如,仍以上述節(jié)點(diǎn)1為例,若此時(shí)針對(duì)節(jié)點(diǎn)1中的5個(gè)待處理文件分別確定一個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則針對(duì)節(jié)點(diǎn)1的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)為5,大于第一差值4,則從這5個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)中隨機(jī)選取4個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)構(gòu)成目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合。步驟230:sql服務(wù)器向至少一個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示。其中,第一調(diào)度指示用于指示對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)處理保存的目標(biāo)文件以及將處理的結(jié)果返饋至相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn),目標(biāo)文件與目標(biāo)文件所在的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中保存的待處理文件相對(duì)應(yīng),目標(biāo)文件是該待處理文件的文件副本。此外,在sql服務(wù)器從針對(duì)每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合之后,在向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)分別發(fā)送第一調(diào)度指示之前,為保證調(diào)度后全局達(dá)到最優(yōu),不致出現(xiàn)給待調(diào)度數(shù)據(jù)節(jié)點(diǎn)減輕負(fù)荷后,造成其他數(shù)據(jù)節(jié)點(diǎn)超負(fù)荷,可選的,sql服務(wù)器根據(jù)每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,確定每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的最新待處理文件數(shù)量。此時(shí)的最新待處理文件數(shù)量為原來(lái)系統(tǒng)節(jié)點(diǎn)分配的待處理文件數(shù)量加上需要處理的文件副本數(shù)量,或者,原來(lái)系統(tǒng)節(jié)點(diǎn)分配的待處理文件數(shù)量減去即將調(diào)度給其他節(jié)點(diǎn)處理的文件數(shù)量。sql服務(wù)器根據(jù)每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的最新待處理文件數(shù)量確定不存在最新待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn)時(shí),向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)分別發(fā)送第一調(diào)度指示。例如,數(shù)據(jù)節(jié)點(diǎn)3的目標(biāo)數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)集合中包括兩個(gè)數(shù)據(jù)節(jié)點(diǎn),分別為數(shù)據(jù)節(jié)點(diǎn)2和數(shù)據(jù)節(jié)點(diǎn)6,數(shù)據(jù)節(jié)點(diǎn)3的原來(lái)系統(tǒng)數(shù)據(jù)節(jié)點(diǎn)分配的待處理文件數(shù)量為6,減去即將調(diào)度給其他數(shù)據(jù)節(jié)點(diǎn)處理額文件數(shù)量為2,則最新待處理文件數(shù)量為4;而數(shù)據(jù)節(jié)點(diǎn)2的原來(lái)系統(tǒng)數(shù)據(jù)節(jié)點(diǎn)分配的待處理文件數(shù)量為2,加上需要處理的文件副本數(shù)量為1,則最新待處理文件數(shù)量為3;而數(shù)據(jù)節(jié)點(diǎn)6的原來(lái)系統(tǒng)數(shù)據(jù)節(jié)點(diǎn)分配的待處理文件數(shù)量為3,假設(shè)除數(shù)據(jù)節(jié)點(diǎn)3外,數(shù)據(jù)節(jié)點(diǎn)6還是其他兩個(gè)數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)集合中的一員,此時(shí)需加上需要處理的文件副本數(shù)量為3,則最新待處理文件數(shù)量為6,變成高負(fù)荷數(shù)據(jù)節(jié)點(diǎn),這樣便造成新的數(shù)據(jù)傾斜問(wèn)題。此時(shí),可以選擇放棄將讓數(shù)據(jù)節(jié)點(diǎn)6處理數(shù)據(jù)節(jié)點(diǎn)3的文件副本,或者,尋找負(fù)荷較低且保存有數(shù)據(jù)節(jié)點(diǎn)3對(duì)應(yīng)文件的文件副本的數(shù)據(jù)節(jié)點(diǎn),重新進(jìn)行調(diào)度分配,以達(dá)到全局最優(yōu),避免數(shù)據(jù)傾斜問(wèn)題。參閱圖3所述,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理方法,該方法包括:步驟300:sql服務(wù)器獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,文件分配結(jié)果包括至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量。步驟310:sql服務(wù)器根據(jù)文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),待處理文件數(shù)量平均值是根據(jù)文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的。步驟320:sql服務(wù)器在根據(jù)至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第一類(lèi)型文件的文件標(biāo)識(shí),獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,第一類(lèi)型節(jié)點(diǎn)是指第一類(lèi)型文件當(dāng)前所在數(shù)據(jù)節(jié)點(diǎn),第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值。步驟330:sql服務(wù)器向第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,第二調(diào)度指示用于指示第一類(lèi)型節(jié)點(diǎn)處理第一類(lèi)型文件,以及將處理結(jié)果反饋至第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)??蛇x的,結(jié)合sql服務(wù)器發(fā)送第二調(diào)度指示,以及發(fā)送第一調(diào)度指示兩種方案,能夠更加有效地減輕數(shù)據(jù)傾斜問(wèn)題,提升系統(tǒng)性能。例如,數(shù)據(jù)節(jié)點(diǎn)a為待調(diào)度數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn),待處理文件數(shù)目為7,待處理文件平均值為3,則第一差值為4。數(shù)據(jù)節(jié)點(diǎn)a的文件3發(fā)送文件移動(dòng),文件3移至數(shù)據(jù)節(jié)點(diǎn)d,數(shù)據(jù)節(jié)點(diǎn)d的待處理文件數(shù)量為0,sql服務(wù)器向數(shù)據(jù)節(jié)點(diǎn)d發(fā)送第二調(diào)度指示,指示數(shù)據(jù)節(jié)點(diǎn)d完成文件3的本地讀,并回傳處理數(shù)據(jù)至數(shù)據(jù)節(jié)點(diǎn)a。數(shù)據(jù)節(jié)點(diǎn)a可以不用再確定文件3對(duì)應(yīng)的備選數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn),而針對(duì)其他6個(gè)文件或其中部分文件分別確定對(duì)應(yīng)的備選數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)。假設(shè)數(shù)據(jù)節(jié)點(diǎn)a分別確定其他6個(gè)文件的備選數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn),構(gòu)成備選數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)集合,并從中選出文件1、文件4、文件7分別對(duì)應(yīng)的目標(biāo)數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)??芍繕?biāo)數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)的數(shù)目為3個(gè),并向這3個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)分別發(fā)送第一調(diào)度指示??梢?jiàn),通過(guò)兩種調(diào)度方式的結(jié)合,能夠更加有效地解決數(shù)據(jù)傾斜問(wèn)題,提升系統(tǒng)性能。參閱圖4所示,在系統(tǒng)節(jié)點(diǎn)根據(jù)hash分布完成文件分配后,數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)3均只有2個(gè)待處理文件,數(shù)據(jù)節(jié)點(diǎn)4有6個(gè)待處理文件。圖中只展示了數(shù)據(jù)節(jié)點(diǎn)1至數(shù)據(jù)節(jié)點(diǎn)4,其他數(shù)據(jù)節(jié)點(diǎn)未畫(huà)出,由于系統(tǒng)節(jié)點(diǎn)已經(jīng)為各個(gè)數(shù)據(jù)節(jié)點(diǎn)分配完畢待處理文件,因此系統(tǒng)節(jié)點(diǎn)也未畫(huà)出。這里只展示了sql服務(wù)器與各個(gè)數(shù)據(jù)節(jié)點(diǎn)進(jìn)行通信的場(chǎng)景。這里不考慮數(shù)據(jù)節(jié)點(diǎn)4有文件移動(dòng)的情形發(fā)生。sql服務(wù)器根據(jù)文件分配結(jié)果,計(jì)算待處理文件平均值為(2*3+6)/4=3,預(yù)設(shè)閾值為0,則確定數(shù)據(jù)節(jié)點(diǎn)4的待處理文件數(shù)量6與待處理文件平均值3的差值3大于預(yù)設(shè)閾值0,因此數(shù)據(jù)節(jié)點(diǎn)4為待調(diào)度數(shù)據(jù)節(jié)點(diǎn)??蛇x的,sql服務(wù)器只依次確定文件1、文件2和文件3分別對(duì)應(yīng)的備選數(shù)據(jù)節(jié)點(diǎn),不針對(duì)其他文件確定相應(yīng)的備選數(shù)據(jù)節(jié)點(diǎn)。則文件1的備選數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)5、和數(shù)據(jù)節(jié)點(diǎn)7;文件2的備選數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)6、和數(shù)據(jù)節(jié)點(diǎn)9;文件3的備選數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)3、數(shù)據(jù)節(jié)點(diǎn)4、和數(shù)據(jù)節(jié)點(diǎn)8。因此,數(shù)據(jù)節(jié)點(diǎn)4的備選數(shù)據(jù)節(jié)點(diǎn)集合為針對(duì)文件1的數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)5、和數(shù)據(jù)節(jié)點(diǎn)7;針對(duì)文件2的數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)6、和數(shù)據(jù)節(jié)點(diǎn)9;針對(duì)文件3的數(shù)據(jù)節(jié)點(diǎn)3、數(shù)據(jù)節(jié)點(diǎn)4、和數(shù)據(jù)節(jié)點(diǎn)8。進(jìn)一步地,sql服務(wù)器確定針對(duì)文件1的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)1,數(shù)據(jù)節(jié)點(diǎn)5和數(shù)據(jù)節(jié)點(diǎn)7的待處理文件數(shù)量均大于待處理文件平均值。針對(duì)文件2的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)2,數(shù)據(jù)節(jié)點(diǎn)2是數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)6、和數(shù)據(jù)節(jié)點(diǎn)9當(dāng)中負(fù)載最低的數(shù)據(jù)節(jié)點(diǎn)。針對(duì)文件3的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)為數(shù)據(jù)節(jié)點(diǎn)3,確定方法與上述方法一致,不再贅述。sql服務(wù)器從針對(duì)數(shù)據(jù)節(jié)點(diǎn)4的備選數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)集合,包括數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)2和數(shù)據(jù)節(jié)點(diǎn)3,并向它們分別發(fā)送第一調(diào)度指示??蛇x的,在發(fā)送第一調(diào)度指示之前,sql服務(wù)器還需根據(jù)每個(gè)數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的最新待處理文件數(shù)量確定不存在最新待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)數(shù)據(jù)節(jié)點(diǎn),假設(shè)滿(mǎn)足上述條件,則sql服務(wù)器向數(shù)據(jù)節(jié)點(diǎn)1、數(shù)據(jù)節(jié)點(diǎn)2、數(shù)據(jù)節(jié)點(diǎn)3分別發(fā)送第一調(diào)度指示。數(shù)據(jù)節(jié)點(diǎn)1在收到第一調(diào)度指示后,完成文件1的文本副本的本地讀,并將結(jié)果回傳至數(shù)據(jù)節(jié)點(diǎn)4。數(shù)據(jù)節(jié)點(diǎn)2在收到第一調(diào)度指示后,完成文件2的文本副本的本地讀,并將結(jié)果回傳至數(shù)據(jù)節(jié)點(diǎn)4。數(shù)據(jù)節(jié)點(diǎn)3在收到第一調(diào)度指示后,完成文件3的文本副本的本地讀,并將結(jié)果回傳至數(shù)據(jù)節(jié)點(diǎn)4。數(shù)據(jù)節(jié)點(diǎn)4完成文件4、文件5、和文件6的本地讀。參閱圖5所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理裝置,該裝置位于sql服務(wù)器,應(yīng)用于sqlonhadoop系統(tǒng),系統(tǒng)中包括sql服務(wù)器和hadoop系統(tǒng),hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),包括:獲取單元50,用于獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,文件分配結(jié)果包括至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;分析單元51,用于根據(jù)文件分配結(jié)果從至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),待處理文件數(shù)量平均值是根據(jù)文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;處理單元52,用于確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,其中,每個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中包括的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目小于等于與目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合相對(duì)應(yīng)的待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值;發(fā)送單元53,用于向至少一個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示;其中,目標(biāo)數(shù)據(jù)節(jié)點(diǎn)是指保存相應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本,且待處理文件文件數(shù)量低于待處理文件數(shù)量平均值的數(shù)據(jù)節(jié)點(diǎn),第一調(diào)度指示用于指示對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)處理保存的目標(biāo)文件以及將處理的結(jié)果返饋至相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn),目標(biāo)文件與目標(biāo)文件所在的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中保存的待處理文件相對(duì)應(yīng),目標(biāo)文件是該待處理文件的文件副本。可選的,處理單元52,還用于確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存有第一類(lèi)型文件的文件標(biāo)識(shí);以及獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,第一類(lèi)型節(jié)點(diǎn)是第一類(lèi)型文件當(dāng)前所在的數(shù)據(jù)節(jié)點(diǎn);發(fā)送單元53,還用于向第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,第二調(diào)度指示用于指示第一類(lèi)型節(jié)點(diǎn)處理第一類(lèi)型文件,以及將處理結(jié)果反饋至第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)??蛇x的,在確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合的方面,處理單元52,具體用于:確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的備選數(shù)據(jù)節(jié)點(diǎn)集合,其中,備選數(shù)據(jù)節(jié)點(diǎn)是指保存對(duì)應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本的數(shù)據(jù)節(jié)點(diǎn);從備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合。可選的,處理單元52,在從備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合的方面,具體用于:針對(duì)至少一個(gè)待調(diào)度節(jié)點(diǎn)中的每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合分別執(zhí)行:確定第一差值,第一差值是指當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值;根據(jù)文件分配結(jié)果,查詢(xún)針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中每個(gè)備選數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量,確定當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的存在目標(biāo)數(shù)據(jù)節(jié)點(diǎn)的至少一個(gè)待處理文件;從針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中,確定與至少一個(gè)待處理文件中每個(gè)待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若確定針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)小于等于第一差值,則目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括所有目標(biāo)數(shù)據(jù)節(jié)點(diǎn);或者,若確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)大于第一差值,則目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括隨機(jī)選取的與第一差值等值的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)??蛇x的,處理單元52,在從針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中,確定至少一個(gè)待處理文件中每個(gè)待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)的方面,具體用于:針對(duì)至少一個(gè)待處理文件中每個(gè)待處理文件分別執(zhí)行:若確定當(dāng)前待處理文件存在一個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則將目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若確定當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),則選取其中待處理文件數(shù)量最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)??蛇x的,處理單元52,若確定當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),還用于:若確定當(dāng)前待處理文件存在至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn),且至少兩個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)中待處理文件數(shù)量最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目不止一個(gè),則選擇其中與當(dāng)前待處理數(shù)據(jù)節(jié)點(diǎn)之間的網(wǎng)絡(luò)開(kāi)銷(xiāo)最小的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)作為與當(dāng)前待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。參閱圖6所示,本發(fā)明實(shí)施例提供一種數(shù)據(jù)處理裝置,該裝置位于sql服務(wù)器,應(yīng)用于sqlonhadoop系統(tǒng),系統(tǒng)中包括sql服務(wù)器和hadoop系統(tǒng),hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn),包括:獲取單元60,用于獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,文件分配結(jié)果包括至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;分析單元61,用于根據(jù)文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),待處理文件數(shù)量平均值是根據(jù)文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;處理單元62,用于在根據(jù)至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第一類(lèi)型文件的文件標(biāo)識(shí),獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,第一類(lèi)型節(jié)點(diǎn)是指第一類(lèi)型文件當(dāng)前所在數(shù)據(jù)節(jié)點(diǎn),第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值;發(fā)送單元63,用于向第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,第二調(diào)度指示用于指示第一類(lèi)型節(jié)點(diǎn)處理第一類(lèi)型文件,以及將處理結(jié)果反饋至第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。需要說(shuō)明的是,本發(fā)明實(shí)施例中對(duì)模塊的劃分是示意性的,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能模塊可以集成在一個(gè)處理模塊中,也可以是各個(gè)模塊單獨(dú)物理存在,也可以?xún)蓚€(gè)或兩個(gè)以上模塊集成在一個(gè)模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷(xiāo)售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)的技術(shù)方案本質(zhì)上或者說(shuō)對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)或處理器(processor)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:u盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(rom,read-onlymemory)、隨機(jī)存取存儲(chǔ)器(ram,randomaccessmemory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。本發(fā)明實(shí)施例還提供了一種用于數(shù)據(jù)處理的服務(wù)器,例如,一種sql服務(wù)器。如圖7所示,該服務(wù)器應(yīng)用于sqlonhadoop系統(tǒng),該系統(tǒng)中包括該服務(wù)器和hadoop系統(tǒng),hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn);該用于數(shù)據(jù)處理的服務(wù)器包括收發(fā)器701、處理器702和存儲(chǔ)器703,收發(fā)器701、處理器702以及存儲(chǔ)器703之間通過(guò)總線(xiàn)704連接,其中:存儲(chǔ)器703,用于存儲(chǔ)處理器702執(zhí)行的程序代碼;處理器702,用于通過(guò)存儲(chǔ)器703中的程序代碼,執(zhí)行以下操作:獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,文件分配結(jié)果包括至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;根據(jù)文件分配結(jié)果從至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),待處理文件數(shù)量平均值是根據(jù)文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;以及確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,其中,每個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中包括的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)數(shù)目小于等于與目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合相對(duì)應(yīng)的待處理數(shù)據(jù)節(jié)點(diǎn)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值;處理器702,還用于通過(guò)存儲(chǔ)器703中的程序代碼調(diào)用收發(fā)器,執(zhí)行以下操作:向至少一個(gè)目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示;其中,目標(biāo)數(shù)據(jù)節(jié)點(diǎn)是指保存相應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本,且待處理文件文件數(shù)量低于待處理文件數(shù)量平均值的數(shù)據(jù)節(jié)點(diǎn),第一調(diào)度指示用于指示對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)處理保存的目標(biāo)文件以及將處理的結(jié)果返饋至相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn),目標(biāo)文件與目標(biāo)文件所在的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)相應(yīng)的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中保存的待處理文件相對(duì)應(yīng),目標(biāo)文件是該待處理文件的文件副本。本發(fā)明實(shí)施例中總線(xiàn)704在圖7中以粗線(xiàn)表示,其它部件之間的連接方式,僅是進(jìn)行示意性說(shuō)明,并不引以為限。所述總線(xiàn)704可以分為地址總線(xiàn)、數(shù)據(jù)總線(xiàn)、控制總線(xiàn)等。為便于表示,圖7中僅用一條粗線(xiàn)表示,但并不表示僅有一根總線(xiàn)或一種類(lèi)型的總線(xiàn)。其中,圖5中的獲取單元和發(fā)送單元,可以由該用于數(shù)據(jù)處理的服務(wù)器中的收發(fā)器實(shí)現(xiàn),圖5中的分析單元和處理單元,可以由該用于數(shù)據(jù)處理的服務(wù)器中的處理器實(shí)現(xiàn)。本發(fā)明實(shí)施例中存儲(chǔ)器703,用于存儲(chǔ)處理器702執(zhí)行的程序代碼,可以是易失性存儲(chǔ)器(英文:volatilememory),例如隨機(jī)存取存儲(chǔ)器(英文:random-accessmemory,縮寫(xiě):ram);存儲(chǔ)器703也可以是非易失性存儲(chǔ)器(英文:non-volatilememory),例如只讀存儲(chǔ)器(英文:read-onlymemory,縮寫(xiě):rom),快閃存儲(chǔ)器(英文:flashmemory),硬盤(pán)(英文:harddiskdrive,縮寫(xiě):hdd)或固態(tài)硬盤(pán)(英文:solid-statedrive,縮寫(xiě):ssd)、或者存儲(chǔ)器703是能夠用于攜帶或存儲(chǔ)具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì),但不限于此。存儲(chǔ)器703可以是上述存儲(chǔ)器的組合。本發(fā)明實(shí)施例中處理器702,可以是一個(gè)中央處理單元(英文:centralprocessingunit,簡(jiǎn)稱(chēng)cpu)??蛇x的,處理器702,還用于通過(guò)存儲(chǔ)器703中的程序代碼,執(zhí)行以下操作:確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存有第一類(lèi)型文件的文件標(biāo)識(shí);以及獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,第一類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,第一類(lèi)型節(jié)點(diǎn)是第一類(lèi)型文件當(dāng)前所在的數(shù)據(jù)節(jié)點(diǎn);處理器702,還用于通過(guò)存儲(chǔ)器703中的程序代碼調(diào)用收發(fā)器701,執(zhí)行以下操作:于向第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,第一類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值,第二調(diào)度指示用于指示第一類(lèi)型節(jié)點(diǎn)處理第一類(lèi)型文件,以及將處理結(jié)果反饋至第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)??蛇x的,在確定與所述至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合的方面,處理器702,用于通過(guò)存儲(chǔ)器703中的程序,執(zhí)行以下操作:確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的備選數(shù)據(jù)節(jié)點(diǎn)集合,其中,備選數(shù)據(jù)節(jié)點(diǎn)是指保存對(duì)應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本的數(shù)據(jù)節(jié)點(diǎn);從備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合。可選的,處理器702,在從備選數(shù)據(jù)節(jié)點(diǎn)集合中篩選出對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合的方面,用于通過(guò)存儲(chǔ)器703中的程序代碼,執(zhí)行以下操作:針對(duì)至少一個(gè)待調(diào)度節(jié)點(diǎn)中的每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合分別執(zhí)行:確定第一差值,第一差值是指當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量與待處理文件數(shù)量平均值的差值;根據(jù)文件分配結(jié)果,查詢(xún)針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中每個(gè)備選數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量,確定當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的存在目標(biāo)數(shù)據(jù)節(jié)點(diǎn)的至少一個(gè)待處理文件;從針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的備選數(shù)據(jù)節(jié)點(diǎn)集合中,確定與至少一個(gè)待處理文件中每個(gè)待處理文件相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn);若確定針對(duì)當(dāng)前待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)小于等于第一差值,則目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括所有目標(biāo)數(shù)據(jù)節(jié)點(diǎn);或者,若確定目標(biāo)數(shù)據(jù)節(jié)點(diǎn)總數(shù)大于第一差值,則目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合包括隨機(jī)選取的與第一差值等值的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)。本發(fā)明實(shí)施例還提供了一種用于數(shù)據(jù)處理的服務(wù)器,例如,一種sql服務(wù)器。如圖8所示,該服務(wù)器應(yīng)用于sqlonhadoop系統(tǒng),該系統(tǒng)中包括該服務(wù)器和hadoop系統(tǒng),hadoop系統(tǒng)包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn);該用于數(shù)據(jù)處理的服務(wù)器包括收發(fā)器801、處理器802和存儲(chǔ)器803,收發(fā)器801、處理器802以及存儲(chǔ)器803之間通過(guò)總線(xiàn)804連接,其中:存儲(chǔ)器803,用于存儲(chǔ)處理器802執(zhí)行的程序代碼;處理器802,用于通過(guò)存儲(chǔ)器803中的程序代碼,執(zhí)行以下操作:獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,文件分配結(jié)果包括至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量;根據(jù)文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),待處理文件數(shù)量平均值是根據(jù)文件分配結(jié)果中每個(gè)數(shù)據(jù)節(jié)點(diǎn)對(duì)應(yīng)的待處理文件數(shù)量計(jì)算得到的;以及在根據(jù)至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第二待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第二類(lèi)型文件的文件標(biāo)識(shí),獲取第二類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),其中,第二類(lèi)型文件是指發(fā)生文件移動(dòng)的待處理文件,第二類(lèi)型節(jié)點(diǎn)是指第二類(lèi)型文件當(dāng)前所在數(shù)據(jù)節(jié)點(diǎn),第二類(lèi)型節(jié)點(diǎn)的待處理文件文件數(shù)量低于待處理文件數(shù)量平均值;處理器802,還用于通過(guò)所述存儲(chǔ)器803中的程序代碼調(diào)用收發(fā)器801執(zhí)行以下操作:向第二類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示,第二調(diào)度指示用于指示第二類(lèi)型節(jié)點(diǎn)處理第二類(lèi)型文件,以及將處理結(jié)果反饋至第二待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。本發(fā)明實(shí)施例中總線(xiàn)804在圖8中以粗線(xiàn)表示,其它部件之間的連接方式,僅是進(jìn)行示意性說(shuō)明,并不引以為限。所述總線(xiàn)804可以分為地址總線(xiàn)、數(shù)據(jù)總線(xiàn)、控制總線(xiàn)等。為便于表示,圖8中僅用一條粗線(xiàn)表示,但并不表示僅有一根總線(xiàn)或一種類(lèi)型的總線(xiàn)。其中,圖6中的獲取單元和發(fā)送單元,可以由該用于數(shù)據(jù)處理的服務(wù)器中的收發(fā)器實(shí)現(xiàn),圖6中的分析單元和處理單元,可以由該用于數(shù)據(jù)處理的服務(wù)器中的處理器實(shí)現(xiàn)。本發(fā)明實(shí)施例中存儲(chǔ)器803,用于存儲(chǔ)處理器802執(zhí)行的程序代碼,可以是易失性存儲(chǔ)器(英文:volatilememory),例如隨機(jī)存取存儲(chǔ)器(英文:random-accessmemory,縮寫(xiě):ram);存儲(chǔ)器803也可以是非易失性存儲(chǔ)器(英文:non-volatilememory),例如只讀存儲(chǔ)器(英文:read-onlymemory,縮寫(xiě):rom),快閃存儲(chǔ)器(英文:flashmemory),硬盤(pán)(英文:harddiskdrive,縮寫(xiě):hdd)或固態(tài)硬盤(pán)(英文:solid-statedrive,縮寫(xiě):ssd)、或者存儲(chǔ)器803是能夠用于攜帶或存儲(chǔ)具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計(jì)算機(jī)存取的任何其他介質(zhì),但不限于此。存儲(chǔ)器803可以是上述存儲(chǔ)器的組合。本發(fā)明實(shí)施例中處理器802,可以是一個(gè)中央處理單元(英文:centralprocessingunit,簡(jiǎn)稱(chēng)cpu)。綜上所述,本發(fā)明實(shí)施例中主要應(yīng)用于sqlonhadoop系統(tǒng),即傳統(tǒng)數(shù)據(jù)庫(kù)的sql引擎+hdfs架構(gòu),該系統(tǒng)包括sql服務(wù)器和hadoop系統(tǒng),hadoop系統(tǒng)又包括系統(tǒng)節(jié)點(diǎn)和數(shù)據(jù)節(jié)點(diǎn)。其一,sql服務(wù)器獲取hadoop系統(tǒng)中至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)分配待處理文件的文件分配結(jié)果,根據(jù)文件分配結(jié)果從至少一個(gè)數(shù)據(jù)節(jié)點(diǎn)中確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)。其中,待調(diào)度數(shù)據(jù)節(jié)點(diǎn)是指待處理文件數(shù)量與待處理文件數(shù)量平均值的差值高于預(yù)設(shè)閾值的數(shù)據(jù)節(jié)點(diǎn),因此,這里的待調(diào)度數(shù)據(jù)節(jié)點(diǎn)為高負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。進(jìn)一步地,確定與至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中每個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)相對(duì)應(yīng)的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合,并向目標(biāo)數(shù)據(jù)節(jié)點(diǎn)集合中的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)發(fā)送第一調(diào)度指示。這里的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)指保存相應(yīng)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本,且待處理文件文件數(shù)量低于所述待處理文件數(shù)量平均值的數(shù)據(jù)節(jié)點(diǎn)。因此,這里的目標(biāo)數(shù)據(jù)節(jié)點(diǎn)為低負(fù)荷數(shù)據(jù)節(jié)點(diǎn)。采用本發(fā)明實(shí)施例提供的方法能夠?qū)⒏哓?fù)荷待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的處理負(fù)荷分擔(dān)至保存高負(fù)荷待調(diào)度數(shù)據(jù)節(jié)點(diǎn)的待處理文件的文件副本的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn),減輕sqlonhadoop系統(tǒng)中數(shù)據(jù)分布不均勻的問(wèn)題,提升系統(tǒng)性能。其二,sql服務(wù)器獲取文件分配結(jié)果,并根據(jù)文件分配結(jié)果確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn),即高負(fù)荷數(shù)據(jù)節(jié)點(diǎn),在確定至少一個(gè)待調(diào)度數(shù)據(jù)節(jié)點(diǎn)中的第一待調(diào)度數(shù)據(jù)節(jié)點(diǎn)保存的第一類(lèi)型文件的文件標(biāo)識(shí)時(shí),確定該文件標(biāo)識(shí)對(duì)應(yīng)的文件發(fā)生移動(dòng),進(jìn)而獲取第一類(lèi)型節(jié)點(diǎn)的節(jié)點(diǎn)標(biāo)識(shí),這里的第一類(lèi)型節(jié)點(diǎn)為保存移動(dòng)文件的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn),以及向第一類(lèi)型節(jié)點(diǎn)發(fā)送第二調(diào)度指示。因此,本發(fā)明實(shí)施例中提出讓文件移至的低負(fù)荷數(shù)據(jù)節(jié)點(diǎn)執(zhí)行該文件的本地讀,再將相應(yīng)的處理結(jié)果回傳至高負(fù)荷數(shù)據(jù)節(jié)點(diǎn),有效降低了網(wǎng)絡(luò)開(kāi)銷(xiāo)。本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、cd-rom、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例作出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明實(shí)施例進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明實(shí)施例的精神和范圍。這樣,倘若本發(fā)明實(shí)施例的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。當(dāng)前第1頁(yè)12當(dāng)前第1頁(yè)12
      當(dāng)前第1頁(yè)1 2 
      網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1