一種基于多客戶端輪循排隊的數(shù)據(jù)上傳方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)據(jù)上傳技術(shù)領(lǐng)域,特別涉及一種基于多客戶端輪循排隊的數(shù)據(jù)上傳方法及系統(tǒng)。
【背景技術(shù)】
[0002]在以往的ERP 產(chǎn)品(ERP,即 Enterprise Resource Planning,企業(yè)資源計劃)中,云概念、大數(shù)據(jù)等尚未普及,較少有用戶數(shù)據(jù)需要進行上傳處理,即便有也僅僅是對小量數(shù)據(jù)進行上傳,一般由當臺客戶端或者能夠聯(lián)網(wǎng)的中間層統(tǒng)一發(fā)送數(shù)據(jù)便可。
[0003]然而,隨著大數(shù)據(jù)時代的到來,以往對小量數(shù)據(jù)進行上傳的技術(shù)手段已經(jīng)無法滿足現(xiàn)實對大數(shù)據(jù)進行上傳處理的需求,這種小量數(shù)據(jù)上傳的技術(shù)手段會對多客戶端系統(tǒng)造成諸多不便,例如大量消耗系統(tǒng)的整體性能、降低系統(tǒng)整體的數(shù)據(jù)傳輸效率等。
[0004]綜上所述可以看出,如何在對大數(shù)據(jù)進行上傳處理的過程中,提高數(shù)據(jù)的上傳效率以及避免消耗過多的系統(tǒng)性能是目前亟待解決的問題。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明的目的在于提供一種基于多客戶端輪循排隊的數(shù)據(jù)上傳方法及系統(tǒng),提高了數(shù)據(jù)的上傳效率,并避免了消耗過多的系統(tǒng)性能。其具體方案如下:
[0006]—種基于多客戶端輪循排隊的數(shù)據(jù)上傳方法,包括:
[0007]按照預(yù)設(shè)的數(shù)據(jù)上傳周期,定期根據(jù)預(yù)設(shè)終端評分規(guī)則,對當前數(shù)據(jù)上傳周期內(nèi)所有客戶端中的每一客戶端進行評分;其中,每一客戶端的當前綜合性能優(yōu)良程度與該客戶端當前的評分呈正相關(guān)關(guān)系;
[0008]按照評分由高到低的順序,對所有客戶端進行排序,并從排序好的所有客戶端中選取出前N個客戶端,其中,N為正整數(shù);
[0009]對當前數(shù)據(jù)上傳周期內(nèi)需要進行上傳的大數(shù)據(jù)進行分割處理,并將分割處理后得到的所有小數(shù)據(jù)塊不重復(fù)地分配至所述前N個客戶端,以利用所述前N個客戶端,將所有小數(shù)據(jù)塊并行地上傳至云服務(wù)器。
[0010]優(yōu)選的,所述預(yù)設(shè)終端評分規(guī)則為根據(jù)當前所有客戶端的性能狀況、當前所有客戶端的負載壓力狀況以及所有客戶端的歷史數(shù)據(jù)傳輸效果,預(yù)先建立的評分規(guī)則。
[0011]優(yōu)選的,客戶端的性能狀況包括網(wǎng)速狀況、硬件性能參數(shù)以及數(shù)據(jù)上傳行為對自身性能的影響程度。
[0012]優(yōu)選的,客戶端的歷史數(shù)據(jù)傳輸效果包括數(shù)據(jù)上傳準確率、數(shù)據(jù)上傳成功率以及單位時間內(nèi)上傳數(shù)據(jù)量。
[0013]優(yōu)選的,所述數(shù)據(jù)上傳方法,還包括:
[0014]當所述前N個客戶端中的任一客戶端完成當前數(shù)據(jù)上傳周期內(nèi)的數(shù)據(jù)上傳任務(wù)后,記錄相應(yīng)的數(shù)據(jù)上傳日志文件,并根據(jù)該數(shù)據(jù)上傳日志文件分析出相應(yīng)的數(shù)據(jù)傳輸效果Ο
[0015]優(yōu)選的,所述將分割處理后得到的所有小數(shù)據(jù)塊不重復(fù)地分配至所述前N個客戶端的過程,包括:
[0016]根據(jù)所述前N個客戶端的評分情況,對分割處理后得到的所有小數(shù)據(jù)塊進行分組,相應(yīng)地得到N組小數(shù)據(jù)塊;其中,所述N組小數(shù)據(jù)塊與所述前N個客戶端一一對應(yīng),并且在所述前N個客戶端中,每一客戶端對應(yīng)的一組小數(shù)據(jù)塊中所包含的小數(shù)據(jù)塊的數(shù)量與該客戶端的評分呈正相關(guān)關(guān)系;
[0017]將所述N組小數(shù)據(jù)塊中的每一組小數(shù)據(jù)塊分配至所述前N個客戶端中相應(yīng)的客戶端。
[0018]優(yōu)選的,在所述將所述N組小數(shù)據(jù)塊中的每一組小數(shù)據(jù)塊分配至所述前N個客戶端中相應(yīng)的客戶端過程之前,還包括:
[0019]根據(jù)所述前N個客戶端的評分情況以及每一客戶端對應(yīng)的小數(shù)據(jù)塊的數(shù)量情況,為所述前N個客戶端中的每一客戶端分配相應(yīng)的數(shù)據(jù)上傳時間片,以使每一客戶端在對應(yīng)的數(shù)據(jù)上傳時間片內(nèi)將接收到的小數(shù)據(jù)塊并行地上傳至所述云服務(wù)器;其中,任一客戶端所對應(yīng)的數(shù)據(jù)上傳時間片的時間長度均不大于當前數(shù)據(jù)上傳周期的時間長度。
[0020]本發(fā)明還公開了一種基于多客戶端輪循排隊的數(shù)據(jù)上傳系統(tǒng),包括:
[0021]客戶端評分模塊,按照預(yù)設(shè)的數(shù)據(jù)上傳周期,定期根據(jù)預(yù)設(shè)終端評分規(guī)則,對當前數(shù)據(jù)上傳周期內(nèi)所有客戶端中的每一客戶端進行評分;其中,每一客戶端的當前綜合性能優(yōu)良程度與該客戶端當前的評分呈正相關(guān)關(guān)系;
[0022]客戶端選取模塊,按照評分由高到低的順序,對所有客戶端進行排序,并從排序好的所有客戶端中選取出前N個客戶端,其中,N為正整數(shù);
[0023]大數(shù)據(jù)分配模塊,對當前數(shù)據(jù)上傳周期內(nèi)需要進行上傳的大數(shù)據(jù)進行分割處理,并將分割處理后得到的所有小數(shù)據(jù)塊不重復(fù)地分配至所述前N個客戶端,以利用所述前N個客戶端,將所有小數(shù)據(jù)塊并行地上傳至云服務(wù)器。
[0024]優(yōu)選的,所述大數(shù)據(jù)分配模塊包括:
[0025]大數(shù)據(jù)分割單元,用于對當前數(shù)據(jù)上傳周期內(nèi)需要進行上傳的大數(shù)據(jù)進行分割處理;
[0026]數(shù)據(jù)塊分組單元,用于根據(jù)所述前N個客戶端的評分情況,對所述大數(shù)據(jù)分割單元進行分割處理后得到的所有小數(shù)據(jù)塊進行分組,相應(yīng)地得到N組小數(shù)據(jù)塊;其中,所述N組小數(shù)據(jù)塊與所述前N個客戶端一一對應(yīng),并且在所述前N個客戶端中,每一客戶端對應(yīng)的一組小數(shù)據(jù)塊中所包含的小數(shù)據(jù)塊的數(shù)量與該客戶端的評分呈正相關(guān)關(guān)系;
[0027]數(shù)據(jù)塊分配單元,用于將所述N組小數(shù)據(jù)塊中的每一組小數(shù)據(jù)塊分配至所述前N個客戶端中相應(yīng)的客戶端,以利用所述前N個客戶端,將所有小數(shù)據(jù)塊并行地上傳至所述云服務(wù)器。
[0028]優(yōu)選的,所述大數(shù)據(jù)分配模塊還包括:
[0029]上傳時間分配單元,用于根據(jù)所述前N個客戶端的評分情況以及每一客戶端對應(yīng)的小數(shù)據(jù)塊的數(shù)量情況,為所述前N個客戶端中的每一客戶端分配相應(yīng)的數(shù)據(jù)上傳時間片,以使每一客戶端在對應(yīng)的數(shù)據(jù)上傳時間片內(nèi)將接收到的小數(shù)據(jù)塊并行地上傳至所述云服務(wù)器;其中,任一客戶端所對應(yīng)的數(shù)據(jù)上傳時間片的時間長度均不大于當前數(shù)據(jù)上傳周期的時間長度。
[0030]本發(fā)明中,數(shù)據(jù)上傳方法包括:按照預(yù)設(shè)的數(shù)據(jù)上傳周期,定期根據(jù)預(yù)設(shè)終端評分規(guī)則,對當前數(shù)據(jù)上傳周期內(nèi)所有客戶端中的每一客戶端進行評分;其中,每一客戶端的當前綜合性能優(yōu)良程度與該客戶端當前的評分呈正相關(guān)關(guān)系;按照評分由高到低的順序,對所有客戶端進行排序,并從排序好的所有客戶端中選取出前N個客戶端;對當前數(shù)據(jù)上傳周期內(nèi)需要進行上傳的大數(shù)據(jù)進行分割處理,并將分割處理后得到的所有小數(shù)據(jù)塊不重復(fù)地分配至上述前N個客戶端,以利用上述前N個客戶端,將所有小數(shù)據(jù)塊并行地上傳至云服務(wù)器。可見,本發(fā)明在任一數(shù)據(jù)上傳周期內(nèi),均會從所有客戶端中選取出當前綜合性能優(yōu)良程度最大的N個客戶端作為本周期內(nèi)能夠進行數(shù)據(jù)上傳處理的客戶端,從而杜絕了當前性能較差的客戶端進行數(shù)據(jù)上傳處理的可能性,有利于避免消耗過多的系統(tǒng)性能;并且,在對大數(shù)據(jù)進行上傳處理之前,會對大數(shù)據(jù)進行分割處理,然后將分割處理后得到的多個小數(shù)據(jù)塊通過上述N個客戶端發(fā)送至云服務(wù)器,從而避免客戶端上傳的每一個數(shù)據(jù)文件出現(xiàn)文件過大的情況,由此提升了數(shù)據(jù)的上傳效率,同時也有利于進一步降低系統(tǒng)的性能消耗。
【附圖說明】
[0031]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0032]圖1為本發(fā)明實施例公開的一種基于多客戶端輪循排隊的數(shù)據(jù)上傳方法流程圖;
[0033]圖2為本發(fā)明實施例公開的一種具體的基于多客戶端輪循排隊的數(shù)據(jù)上傳方法流程圖;
[0034]圖3為本發(fā)明實施例公開的一種基于多客戶端輪循排隊的數(shù)據(jù)上傳系統(tǒng)結(jié)構(gòu)示意圖;
[0035]圖4為本發(fā)明實施例公開的一種具體的基于多客戶端輪循排隊的數(shù)據(jù)上傳系統(tǒng)結(jié)構(gòu)示意圖。
【具體實施方式】
[0036]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做