亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

服務(wù)器中的數(shù)據(jù)處理方法及系統(tǒng)的制作方法

文檔序號:6526427閱讀:141來源:國知局
服務(wù)器中的數(shù)據(jù)處理方法及系統(tǒng)的制作方法
【專利摘要】本申請公開了一種服務(wù)器中的數(shù)據(jù)處理方法,用于避免數(shù)據(jù)文件在切分時或?qū)懭氪疟P陣列時所發(fā)生的傳輸錯誤,降低網(wǎng)絡(luò)重復(fù)傳輸數(shù)據(jù)文件。所述方法包括:接收數(shù)據(jù)文件;把所述數(shù)據(jù)文件放置于對應(yīng)的內(nèi)部隊列中;取得所述內(nèi)部隊列中的所述數(shù)據(jù)文件并根據(jù)所述數(shù)據(jù)文件的文件大小決定切分?jǐn)?shù)量;根據(jù)所述切分?jǐn)?shù)量對所述數(shù)據(jù)文件進(jìn)行切分,并得到多個切分片段;判斷所述切分片段的切分點是否位于所述內(nèi)部隊列的尾端;若所述切分點位于所述尾端之前,則減縮切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;若所述切分點位于所述尾端之后,則延伸切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;以及把所述切分片段依序?qū)懭肽繕?biāo)文件。
【專利說明】服務(wù)器中的數(shù)據(jù)處理方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本申請涉及數(shù)據(jù)傳輸?shù)姆椒跋到y(tǒng),具體涉及一種服務(wù)器中的數(shù)據(jù)處理方法及系統(tǒng)。
【背景技術(shù)】
[0002]隨著網(wǎng)絡(luò)流量的快速成長,許多過去不容易實現(xiàn)的服務(wù)也可以被輕易的完成。例如:寬帶的上傳多媒體文件(multimedia file)。由于海量的傳輸仍會影響服務(wù)器的負(fù)荷量。因此在已知的多媒體服務(wù)器也會具備帶寬管理(Bandwidth Manager)的功能。服務(wù)器可以透過帶寬分布或緩存等方式減輕同時間的資料傳輸量。
[0003]此外,所述的傳輸方式更結(jié)合了多個實體磁盤,使得數(shù)據(jù)可以同步的寫入所述磁盤中。而現(xiàn)有技術(shù)對數(shù)據(jù)寫入磁盤的方式,是將數(shù)據(jù)同步的由來源端寫入服務(wù)器中。服務(wù)器會暫存這些數(shù)據(jù)文件。之后,服務(wù)器在將這些數(shù)據(jù)文件分批的寫入實體磁盤。
[0004]這種寫入的方式的實現(xiàn)成本低廉且快速。但是數(shù)據(jù)寫入的過程中若發(fā)生錯誤,則數(shù)據(jù)只能重新寫入。因此數(shù)據(jù)重新傳輸?shù)臅r間就會拉長,而且也會增加網(wǎng)絡(luò)帶寬的負(fù)載。此夕卜,同一份數(shù)據(jù)文件除了要從客戶端中重新載入,而且也要在服務(wù)器內(nèi)部重新傳輸。

【發(fā)明內(nèi)容】

[0005]本申請所要解決的技術(shù)問題在于提供一種服務(wù)器中的數(shù)據(jù)處理系統(tǒng),避免數(shù)據(jù)文件在切分時或?qū)懭氪疟P陣列時所發(fā)生的傳輸錯誤,用以降低網(wǎng)絡(luò)重復(fù)傳輸數(shù)據(jù)文件。
[0006]為了解決上述問題,本申請另揭示了一種數(shù)據(jù)切分的傳輸方法,包括以下步驟:接收數(shù)據(jù)文件;把所述數(shù)據(jù)文件放置于對應(yīng)的內(nèi)部隊列中;取得所述內(nèi)部隊列中的所述數(shù)據(jù)文件并根據(jù)所述數(shù)據(jù)文件的文件大小決定切分?jǐn)?shù)量;根據(jù)所述切分?jǐn)?shù)量對所述數(shù)據(jù)文件進(jìn)行切分,并得到多個切分片段;判斷所述切分片段的切分點是否位于所述內(nèi)部隊列的尾端;若所述切分點位于所述尾端之前,則減縮切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;若所述切分點位于所述尾端之后,則延伸切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;把所述切分片段依序?qū)懭肽繕?biāo)文件。
[0007]進(jìn)一步地包括:若所述切分位置與尾端的長度是否小于長度閥值,減縮所述切分片段的長度。
[0008]進(jìn)一步地包括:若所述切分位置與尾端的長度是否大于所述長度閥值,延伸所述切分片段的長度。
[0009]進(jìn)一步地包括:若分散式文件裝置中不存在目標(biāo)文件,則分散式文件裝置中創(chuàng)建目標(biāo)文件。
[0010]為了解決上述問題,本申請揭示了一種服務(wù)器中的數(shù)據(jù)處理系統(tǒng)包括:本地目錄、掃描模塊、控制模塊、上傳模塊與隊列監(jiān)視模塊。本地目錄接收客戶端所發(fā)送的數(shù)據(jù)文件;掃描模塊連接于本地目錄,掃描模塊監(jiān)視本地目錄的數(shù)據(jù)文件是否異動;控制模塊耦接于掃描模塊,控制模塊包括至少一內(nèi)部隊列,每一內(nèi)部隊列儲存對應(yīng)的數(shù)據(jù)文件的路徑資訊,本地目錄的任一數(shù)據(jù)文件異動時,掃描模塊根據(jù)異動的種類的數(shù)據(jù)文件令控制模塊創(chuàng)建新的內(nèi)部隊列或更新已知的數(shù)據(jù)文件的內(nèi)容;上傳模塊連接于本地目錄,本地目錄的任一數(shù)據(jù)文件異動時,上傳模塊偵測異動的數(shù)據(jù)文件的文件種類,并根據(jù)文件種類將數(shù)據(jù)文件指派至對應(yīng)的內(nèi)部隊列;至少一隊列監(jiān)視模塊連接于控制模塊,隊列監(jiān)視模塊根據(jù)內(nèi)部隊列的數(shù)量產(chǎn)生對應(yīng)數(shù)量的隊列監(jiān)視模塊;隊列監(jiān)視模塊根據(jù)內(nèi)部隊列的數(shù)據(jù)文件的大小決定數(shù)據(jù)文件的切分?jǐn)?shù)量,并根據(jù)切分?jǐn)?shù)量對數(shù)據(jù)文件進(jìn)行切分。
[0011]進(jìn)一步地包括隊列監(jiān)視模塊對所監(jiān)控的內(nèi)部隊列的數(shù)據(jù)文件根據(jù)先進(jìn)先出的方式從內(nèi)部隊列中取出數(shù)據(jù)文件。
[0012]進(jìn)一步地當(dāng)隊列監(jiān)視模塊于切分時確認(rèn)數(shù)據(jù)文件的切分位置落于內(nèi)部隊列的尾端,且數(shù)據(jù)文件的切分點位于尾端之前,則隊列監(jiān)視模塊修改數(shù)據(jù)文件的切分位置至切分點上。
[0013]進(jìn)一步地包括至少一工作線程,每一隊列監(jiān)視模塊連接于所屬的工作線程,工作線程的數(shù)量等同于切分?jǐn)?shù)量,工作線程根據(jù)切分?jǐn)?shù)量把數(shù)據(jù)文件切分為多個切分片段,工作線程根據(jù)切分片段的位置讀取切分片段的數(shù)據(jù)。
[0014]進(jìn)一步地包括分散式文件裝置,連接于工作線程,工作線程將切分片段依序的寫入分散式文件裝置中。
[0015]與現(xiàn)有技術(shù)相比,本申請可以獲得包括以下技術(shù)效果:
[0016]1)本申請改進(jìn)數(shù)據(jù)文件的傳輸過程,數(shù)據(jù)文件寫入時若發(fā)生錯誤,本申請不需重新從客戶端中取得數(shù)據(jù)文件。
[0017]2)本申請若于傳輸數(shù)據(jù)文件的期間中發(fā)生錯誤,本申請可以透過至少一臺心跳服務(wù)器發(fā)報給后臺,使得后臺人員可以實時的得知何項組件發(fā)生異常。
[0018]當(dāng)然,實施本申請的任一產(chǎn)品必不一定需要同時達(dá)到以上所述的所有技術(shù)效果。
【專利附圖】

【附圖說明】
[0019]此處所說明的附圖用來提供對本申請的進(jìn)一步理解,構(gòu)成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構(gòu)成對本申請的不當(dāng)限定。在附圖中:
[0020]圖1是本申請實施例的系統(tǒng)架構(gòu)示意圖;
[0021]圖2A是本申請內(nèi)部隊列的切分片段的另一種示意圖;
[0022]圖2B是本申請實施例的內(nèi)部架構(gòu)示意圖;
[0023]圖3是本申請實施例的方法流程不意圖。
【具體實施方式】
[0024]以下將配合附圖及實施例來詳細(xì)說明本申請的實施方式,藉此對本申請如何應(yīng)用技術(shù)手段來解決技術(shù)問題并達(dá)成技術(shù)功效的實現(xiàn)過程能充分理解并據(jù)以實施。
[0025]如在說明書及權(quán)利要求當(dāng)中使用了某些詞匯來指稱特定組件。本領(lǐng)域技術(shù)人員應(yīng)可理解,硬件制造商可能會用不同名詞來稱呼同一個組件。本說明書及權(quán)利要求并不以名稱的差異來作為區(qū)分組件的方式,而是以組件在功能上的差異來作為區(qū)分的準(zhǔn)則。如在通篇說明書及權(quán)利要求當(dāng)中所提及的“包含”為一開放式用語,故應(yīng)解釋成“包含但不限定于”。“大致”是指在可接收的誤差范圍內(nèi),本領(lǐng)域技術(shù)人員能夠在一定誤差范圍內(nèi)解決所述技術(shù)問題,基本達(dá)到所述技術(shù)效果。此外,“耦接”一詞在此包含任何直接及間接的電性耦接手段。因此,若文中描述一第一裝置耦接于一第二裝置,則代表所述第一裝置可直接電性耦接于所述第二裝置,或通過其他裝置或耦接手段間接地電性耦接至所述第二裝置。說明書后續(xù)描述為實施本申請的較佳實施方式,然所述描述乃以說明本申請的一般原則為目的,并非用以限定本申請的范圍。本申請的保護(hù)范圍當(dāng)視所附權(quán)利要求所界定者為準(zhǔn)。
[0026]本申請的服務(wù)器中的數(shù)據(jù)上傳系統(tǒng),請參考圖1。本申請的傳輸系統(tǒng)包括:本地端110與多臺心跳服務(wù)器120。而本地端110由以下元件所構(gòu)成:本地目錄111、上傳模塊112、掃描模塊113、控制模塊114、隊列監(jiān)視模塊115、工作線程116與分散式文件裝置117。
[0027]本地目錄111,接收客戶端所發(fā)送的數(shù)據(jù)文件。掃描模塊113,連接于本地目錄111,掃描模塊113監(jiān)視本地目錄的數(shù)據(jù)文件是否異動??刂颇K114,耦接于掃描模塊113,控制模塊113包括至少一內(nèi)部隊列1141,每一內(nèi)部隊列1141儲存對應(yīng)的數(shù)據(jù)文件的路徑資訊,本地目錄111的任一數(shù)據(jù)文件異動時,掃描模塊113根據(jù)異動的種類的數(shù)據(jù)文件令控制模塊114創(chuàng)建新的內(nèi)部隊列1141或更新已知的數(shù)據(jù)文件的內(nèi)容。上傳模塊112,連接于本地目錄111,本地目錄111的任一數(shù)據(jù)文件異動時,上傳模塊112偵測異動的數(shù)據(jù)文件的文件種類,并根據(jù)文件種類將數(shù)據(jù)文件指派至對應(yīng)的內(nèi)部隊列。隊列監(jiān)視模塊115,連接于控制模塊114,隊列監(jiān)視模塊115根據(jù)內(nèi)部隊列1141的數(shù)量產(chǎn)生對應(yīng)數(shù)量的隊列監(jiān)視模塊115。隊列監(jiān)視模塊115根據(jù)內(nèi)部隊列1141的數(shù)據(jù)文件的大小決定數(shù)據(jù)文件的切分?jǐn)?shù)量,并根據(jù)切分?jǐn)?shù)量對數(shù)據(jù)文件進(jìn)行切分。
[0028]而本申請所述的各項元件執(zhí)行以下步驟:
[0029]接收數(shù)據(jù)文件;
[0030]把所述數(shù)據(jù)文件放置于對應(yīng)的內(nèi)部隊列中;
[0031]取得所述內(nèi)部隊列中的所述數(shù)據(jù)文件并根據(jù)所述數(shù)據(jù)文件的文件大小決定切分
數(shù)量;
[0032]根據(jù)所述切分?jǐn)?shù)量對所述數(shù)據(jù)文件進(jìn)行切分,并得到多個切分片段;
[0033]判斷所述切分片段的切分點是否位于所述內(nèi)部隊列的尾端;
[0034]若所述切分點位于所述尾端之前,則減縮切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;
[0035]若所述切分點位于所述尾端之后,則延伸切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;以及
[0036]把所述切分片段依序?qū)懭肽繕?biāo)文件。
[0037]上傳模塊112連接于本地目錄111與控制模塊114。掃描模塊113連接于本地目錄111與控制模塊114。在本申請中為能簡單且清楚的說明整體的運作方式,因此設(shè)置第一心跳服務(wù)器121與第二心跳服務(wù)器122。但實際上心跳服務(wù)器120的數(shù)量可以根據(jù)服務(wù)器的運行能力、帶寬或安全性等因素所決定。
[0038]控制模塊114連接于掃描模塊113、上傳模塊112、隊列監(jiān)視模塊115、第一心跳服務(wù)器121與第二心跳服務(wù)器122。每一個本地目錄111可以存放各自數(shù)據(jù)文件。例如:視頻文件可以被存放置視頻本地目錄,而廣告文件則放至于廣告本地目錄中。一般而言,本地目錄111會定時的接收客戶端所傳送過來的數(shù)據(jù)文件。掃描模塊113監(jiān)視本地目錄111中的文件是否有所異動。所述文件異動指的是數(shù)據(jù)的新增、搬移、修改或刪除。當(dāng)本地目錄111中的文件有所異動時,則上傳模塊112將會把異動的數(shù)據(jù)文件在服務(wù)器中的路徑傳遞至控制模塊114。
[0039]此外,上傳模塊112偵測本地目錄111所異動的數(shù)據(jù)文件的文件種類。廣義而言所述文件種類可能是音頻文件、影片文件或文字文件等等。進(jìn)一步而言,音頻文件又可能細(xì)分為mp3、m4a、AAC或ARM等;影片文件又可細(xì)分為mov、flv、m4v、mkv或mp4等。
[0040]若控制模塊114中未存在數(shù)據(jù)文件的種類的內(nèi)部隊列1141時,上傳模塊會驅(qū)動控制模塊114生成新的內(nèi)部隊列1141。爾后,若有同一種類的數(shù)據(jù)文件被載入,上傳模塊112會將新載入的數(shù)據(jù)文件放入對應(yīng)的內(nèi)部隊列1141中。
[0041]控制模塊114會根據(jù)所接收到的文件路徑依次分類并產(chǎn)生各自對應(yīng)的內(nèi)部隊列,且不同的內(nèi)部隊列會指派不同的隊列監(jiān)視模塊115來進(jìn)行處理。在圖1中是以第一內(nèi)部隊列、第二內(nèi)部隊列與第三內(nèi)部隊列作為示意。每一個隊列監(jiān)視模塊115會記錄所屬的文件的切分資訊。所述的切分資訊指的是文件被上傳至本地目錄111時,文件長度也會隨之異動。在數(shù)據(jù)文件切分之前,隊列監(jiān)視模塊115先從第一個內(nèi)部隊列取出對頭元素(隊列的第一個元素),然后才進(jìn)行切分。而內(nèi)部隊列的數(shù)據(jù)取出方式是依照先進(jìn)先出(First InFirst Out, FIFO)的方式所實現(xiàn)。
[0042]隊列監(jiān)視模塊115對文件進(jìn)行等長的切分。在完成文件的切分后,每一個文件切分的片段則定義為切分片段(slice)。隊列監(jiān)視模塊115偵測所屬的內(nèi)部隊列1141的堆疊數(shù)量超過上限時,隊列監(jiān)視模塊115會向第一心跳服務(wù)器121與第二心跳服務(wù)器122發(fā)出
報警信息。
[0043]而切分片段的數(shù)量是可以根據(jù)本地端110的性能所決定。例如:1個工作線程116可處理50兆的切分片段,那么一個200兆的數(shù)據(jù)文件分配給4個工作線程116處理。同理,500兆的數(shù)據(jù)文件,可以分配給10個工作線程116處理。
[0044]本申請中對于切分片段也對例外情況做出了相應(yīng)的調(diào)整方式。一般而言,內(nèi)部隊列1141可以透過二維陣列的方式實現(xiàn)。因此在二維陣列中,數(shù)據(jù)的存放可能會有跨不同行的情況。因此若是以一行作為單位,來進(jìn)行數(shù)據(jù)切分就會發(fā)生有分散的數(shù)據(jù)在其他行中或是同一行的切分片段存在有其他的數(shù)據(jù),請參考圖2A與圖2B所示。在圖2A與圖2B中虛線區(qū)塊表示非屬于同一切分片段的數(shù)據(jù)。對此為能方便說明切分位置的所在處,將切分片段的末端于內(nèi)部隊列中的位置定義為切分點,如圖2A與圖2B中的三角所指位置。
[0045]對于切分時所記錄的相關(guān)資訊則稱為切分資訊。例如,切分時的每一個切分長度與文件位置的在磁盤中的偏移量(offset)。掃描模塊113發(fā)現(xiàn)本地目錄111中的數(shù)據(jù)文件被刪除時,掃描模塊113會把控制模塊114中的對應(yīng)內(nèi)部隊列1141予以刪除。
[0046]接著,不同的切分片段會被指派各自對應(yīng)的工作線程116,作為讀取本地目錄111的數(shù)據(jù)文件。工作線程116的實現(xiàn)可以由不同的程序語言所實現(xiàn)。在本申請中并不局限程序語言的種類,例如,JAVA語言或ASP語言。實際上,隊列監(jiān)視模塊115是對本地目錄111的數(shù)據(jù)文件進(jìn)行切分的估算,用以得到所述數(shù)據(jù)文件的每一個應(yīng)該要被切分的位置。而實際上進(jìn)行文件切分處理的對象是由隊列監(jiān)視模塊115所實現(xiàn)。隊列監(jiān)視模塊115接獲切分片段后會根據(jù)切分片段的長度,并分派給工作線程116所屬的部分?jǐn)?shù)據(jù)文件。工作線程116在把所述部分的數(shù)據(jù)文件寫入分散式文件裝置117中。
[0047]一般而言,第一心跳服務(wù)器121或第二心跳服務(wù)器122在超過一預(yù)設(shè)的期間后未收到心跳要求,心跳服務(wù)器120會向發(fā)出報警信息。但工作線程116在寫入的過程中發(fā)生錯誤時。工作線程116會發(fā)送報警信息給第一心跳服務(wù)器121與第二心跳服務(wù)器122。所述工作線程116同時間也會通知其他工作線程116,要求其他工作線程116停止對分散式文件裝置117的寫入處理,藉以避免分散式文件裝置117中的數(shù)據(jù)完整性。
[0048]在此將前述各組件的運作方式以下述步驟表示,請配合圖3所示:
[0049]步驟S300:將接收的數(shù)據(jù)文件存儲至本地目錄,并由掃描模塊偵測本地目錄的數(shù)據(jù)文件的異動;
[0050]步驟S310:若本地目錄新增數(shù)據(jù)文件或修改數(shù)據(jù)文件,控制模塊創(chuàng)建內(nèi)部隊列,并指派內(nèi)部隊列紀(jì)錄數(shù)據(jù)文件的路徑名稱;
[0051]步驟S320:由上傳模塊偵測本地目錄所異動的數(shù)據(jù)文件的文件種類;
[0052]步驟S331:若存在相同文件種類的內(nèi)部對列,上傳模塊根據(jù)文件種類調(diào)派數(shù)據(jù)文件至相應(yīng)的內(nèi)部隊列;
[0053]步驟S332:若不存在相同文件種類的內(nèi)部對列,驅(qū)動控制模塊創(chuàng)建新的內(nèi)部隊列,并將數(shù)據(jù)文件存入所述內(nèi)部隊列;
[0054]步驟S340:指派隊列監(jiān)視模塊,隊列監(jiān)視模塊取得內(nèi)部隊列中的數(shù)據(jù)文件并根據(jù)數(shù)據(jù)文件的文件大小決定切分?jǐn)?shù)量;
[0055]步驟S350:隊列監(jiān)視模塊根據(jù)切分?jǐn)?shù)量對數(shù)據(jù)文件進(jìn)行切分,并得到多個切分片段;
[0056]步驟S360:若本地目錄的數(shù)據(jù)文件被刪除,控制模塊刪除對應(yīng)數(shù)據(jù)文件的內(nèi)部隊列與對應(yīng)的工作線程;
[0057]步驟S370:配置多個工作線程,工作線程從內(nèi)部隊列中取得數(shù)據(jù)文件,工作線程根據(jù)切分片段的數(shù)量對數(shù)據(jù)文件進(jìn)行切分;
[0058]步驟S380:判斷所述切分片段的切分點是否位于所述內(nèi)部隊列的尾端;
[0059]步驟S381:若所述切分點位于所述尾端之前,則所述隊列監(jiān)視模塊減縮切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;以及
[0060]步驟S382:若所述切分點位于所述尾端之后,則所述隊列監(jiān)視模塊延伸切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上。
[0061]本地目錄111除了接收來自于客戶端的數(shù)據(jù)文件外,本地目錄111中的數(shù)據(jù)文件也可能會被修改、搬移或刪除等異動。隊列監(jiān)視模塊115會實時的偵測本地目錄111中的數(shù)據(jù)文件是否有異動。當(dāng)數(shù)據(jù)文件異動時,隊列監(jiān)視模塊115會向上傳模塊112發(fā)出數(shù)據(jù)文件異動的訊息。
[0062]當(dāng)有新的數(shù)據(jù)文件存入本地目錄111時,掃描模塊113會令控制模塊建立新的內(nèi)部隊列1141,并將數(shù)據(jù)文件存入新的內(nèi)部隊列1141。一般而言,內(nèi)部隊列1141的數(shù)量限制取決于服務(wù)器的運行能力。但若是有過多的數(shù)據(jù)文件新創(chuàng),可能會發(fā)生內(nèi)部隊列1141堆疊的問題。一旦有過量的數(shù)據(jù)文件被創(chuàng)建,則掃描模塊113會透過控制模塊114向心跳服務(wù)器發(fā)出報警要求。
[0063]當(dāng)現(xiàn)有的數(shù)據(jù)文件的內(nèi)容有所異動時,掃描模塊113會將變更后的數(shù)據(jù)文件再次存入內(nèi)部隊列1141中。若是本地目錄111刪除數(shù)據(jù)文件時,則掃描模塊113會要求控制模塊114將對應(yīng)的數(shù)據(jù)文件的內(nèi)部隊列1141進(jìn)行刪除。[0064]上傳模塊112偵測本地目錄111所異動的數(shù)據(jù)文件的文件種類。上傳模塊112根據(jù)文件種類是否存在,上傳模塊112要求控制模塊113創(chuàng)建新的內(nèi)部隊列1141或把數(shù)據(jù)文件放入對應(yīng)的內(nèi)部隊列1141中。上傳模塊112接獲數(shù)據(jù)文件異動的訊息后,上傳模塊112會重新取得數(shù)據(jù)文件的路徑名稱并將路徑名稱儲存至內(nèi)部隊列1141中。對于不同的數(shù)據(jù)文件會設(shè)置唯一的內(nèi)部隊列1141。當(dāng)本地目錄111儲存大量的數(shù)據(jù)文件時,控制模塊114中的內(nèi)部隊列1141的數(shù)量也會快速的成長。
[0065]由于過多的內(nèi)部隊列1141會造成過量的堆疊,會使得后續(xù)的工作線程116無法即時的處理完數(shù)據(jù)文件。因此本申請會監(jiān)控內(nèi)部隊列1141的服務(wù)量是否超過設(shè)定的壓力閥值。當(dāng)服務(wù)量超過壓力閥值時,控制模塊114會向第一心跳服務(wù)器121或第二心跳服務(wù)器122發(fā)出報警信息。
[0066]接著,根據(jù)切分片段的數(shù)量產(chǎn)生相應(yīng)的工作線程116。每一個工作線程116根據(jù)各自的切分片段的起始位置與偏移量取得數(shù)據(jù)文件的部分片段。本申請為確定對同一數(shù)據(jù)文件的切分完整性,因此本申請對于切分點的位置提出了可以變動的判斷方式。在切分?jǐn)?shù)據(jù)文件時,隊列監(jiān)視模塊115會檢查切分點是否落于內(nèi)部隊列1141的尾端上。如果如圖2A所示,則隊列監(jiān)視模塊115會減縮切分片段的長度,使得切分片段不會包含有其他數(shù)據(jù)文件的內(nèi)容。另一種情況如圖2B所示,隊列監(jiān)視模塊115會加長切分片段的長度。
[0067]接著,隊列監(jiān)視模塊115把切分片段轉(zhuǎn)由工作線程116開始讀取。工作線程116把取得的片段寫入分散式文件裝置117中。在寫入的過程中可能會發(fā)生錯誤,所以本申請當(dāng)偵測到寫入的切分片段的內(nèi)容有誤時,會向第一心跳服務(wù)器121或第二心跳服務(wù)器122發(fā)出報警要求。
[0068]還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者系統(tǒng)所固有的要
素。在沒有更多限制的情況下,由語句“包括一個......”限定的要素,并不排除在包括所
述要素的過程、方法、商品或者系統(tǒng)中還存在另外的相同要素。
[0069]本領(lǐng)域技術(shù)人員應(yīng)明白,本申請的實施例可提供為方法、系統(tǒng)或計算機(jī)程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結(jié)合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機(jī)可用程序代碼的計算機(jī)可用存儲介質(zhì)(包括但不限于磁盤存儲器、CD-ROM、光學(xué)存儲器等)上實施的計算機(jī)程序產(chǎn)品的形式。
[0070]以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領(lǐng)域技術(shù)人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本申請的權(quán)利要求范圍之內(nèi)。
【權(quán)利要求】
1.一種服務(wù)器中的數(shù)據(jù)處理方法,其特征在于,包括以下步驟: 接收數(shù)據(jù)文件; 把所述數(shù)據(jù)文件放置于對應(yīng)的內(nèi)部隊列中; 取得所述內(nèi)部隊列中的所述數(shù)據(jù)文件并根據(jù)所述數(shù)據(jù)文件的文件大小決定切分?jǐn)?shù)量; 根據(jù)所述切分?jǐn)?shù)量對所述數(shù)據(jù)文件進(jìn)行切分,并得到多個切分片段; 判斷所述切分片段的切分點是否位于所述內(nèi)部隊列的尾端; 若所述切分點位于所述尾端之前,則減縮切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上; 若所述切分點位于所述尾端之后,則延伸切分片段的長度,令所述數(shù)據(jù)文件的切分位置至所述切分點上;以及 把所述切分片段依序?qū)懭肽繕?biāo)文件。
2.如權(quán)利要求1所述的服務(wù)器中的數(shù)據(jù)處理方法,其特征在于,若分散式文件裝置中不存在目標(biāo)文件,則分散式文件裝置中創(chuàng)建目標(biāo)文件。
3.如權(quán)利要求1所述的服務(wù)器中的數(shù)據(jù)處理方法,其特征在于,減縮所述切分片段的長度進(jìn)一步包括:` 若所述切分位置與尾端的長度小于長度閥值,減縮所述切分片段的長度。
4.如權(quán)利要求1所述的服務(wù)器中的數(shù)據(jù)處理方法,其特征在于,延伸所述切分片段的長度進(jìn)一步包括: 若所述切分位置與尾端的長度大于所述長度閥值,延伸所述切分片段的長度。
5.一種服務(wù)器中的數(shù)據(jù)處理系統(tǒng),其特征在于包括: 本地目錄,接收客戶端所發(fā)送的數(shù)據(jù)文件; 掃描模塊,連接于本地目錄,所述掃描模塊監(jiān)視所述本地目錄的數(shù)據(jù)文件是否異動; 控制模塊,耦接于所述掃描模塊,所述控制模塊包括至少一內(nèi)部隊列,每一所述內(nèi)部隊列儲存對應(yīng)的所述數(shù)據(jù)文件的路徑資訊,所述本地目錄的任一所述數(shù)據(jù)文件異動時,所述掃描模塊根據(jù)異動的種類的所述數(shù)據(jù)文件令所述控制模塊創(chuàng)建新的所述內(nèi)部隊列或更新已知的所述數(shù)據(jù)文件的內(nèi)容; 上傳模塊,連接于所述本地目錄,所述本地目錄的任一所述數(shù)據(jù)文件異動時,所述上傳模塊偵測異動的數(shù)據(jù)文件的文件種類,并根據(jù)文件種類將數(shù)據(jù)文件指派至對應(yīng)的內(nèi)部隊列;以及 至少一隊列監(jiān)視模塊,連接于控制模塊,隊列監(jiān)視模塊根據(jù)內(nèi)部隊列的數(shù)量產(chǎn)生對應(yīng)數(shù)量的隊列監(jiān)視模塊; 其中,隊列監(jiān)視模塊根據(jù)內(nèi)部隊列的數(shù)據(jù)文件的大小決定數(shù)據(jù)文件的切分?jǐn)?shù)量,并根據(jù)切分?jǐn)?shù)量對數(shù)據(jù)文件進(jìn)行切分。
6.如權(quán)利要求5所述的服務(wù)器中的數(shù)據(jù)處理系統(tǒng),其特征在于,所述隊列監(jiān)視模塊對所監(jiān)控的所述內(nèi)部隊列的數(shù)據(jù)文件根據(jù)先進(jìn)先出的方式從所述內(nèi)部隊列中取出所述數(shù)據(jù)文件。
7.如權(quán)利要求5所述的服務(wù)器中的數(shù)據(jù)處理系統(tǒng),其特征在于,當(dāng)所述隊列監(jiān)視模塊于切分時確認(rèn)所述數(shù)據(jù)文件的切分位置落于所述內(nèi)部隊列的尾端,且所述數(shù)據(jù)文件的切分點位于所述尾端之前,則所述隊列監(jiān)視模塊修改所述數(shù)據(jù)文件的切分位置至所述切分點上。
8.如權(quán)利要求5所述的服務(wù)器中的數(shù)據(jù)處理系統(tǒng),其特征在于,進(jìn)一步包括至少一工作線程,每一所述隊列監(jiān)視模塊連接于所屬的工作線程,工作線程的數(shù)量等同于切分?jǐn)?shù)量,所述工作線程根據(jù)切分?jǐn)?shù)量把所述數(shù)據(jù)文件切分為多個切分片段,所述工作線程根據(jù)切分片段的位置讀取切分片段的數(shù)據(jù)。
9.如權(quán)利要求8所述的服務(wù)器中的數(shù)據(jù)處理系統(tǒng),其特征在于,進(jìn)一步包括分散式文件裝置,連接于工作線程,`工作線程將切分片段依序的寫入所述分散式文件裝置中。
【文檔編號】G06F9/44GK103685559SQ201310741753
【公開日】2014年3月26日 申請日期:2013年12月27日 優(yōu)先權(quán)日:2013年12月27日
【發(fā)明者】于鳳東, 張磊, 馬一鳴 申請人:樂視網(wǎng)信息技術(shù)(北京)股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1