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