System.ArgumentOutOfRangeException: 索引和長度必須引用該字符串內的位置。 參數名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技術實現步驟摘要】
本申請涉及數據處理,尤其涉及一種傳輸方法和電子設備。
技術介紹
1、在數據處理
,隨著云計算的發展,鏡像技術也得到了越來越廣泛的應用。鏡像文件通常包含了系統的配置信息、文件系統、安裝的軟件等內容,用于備份、遷移、部署或者創建隔離的工作環境,使得用戶可以通過鏡像文件快速復制并啟動一個相同的狀態,而無需從頭安裝或設置。
2、由于鏡像文件的數據量較大,因此通常會按照鏡像分層對鏡像文件進行逐層傳輸。然而,相關技術中提供的傳輸方式均不支持層內斷點續傳,也即在鏡像分層傳輸中斷的情況下需要重新將整個分層上傳。進而導致文件傳輸的可靠性和重傳效率降低。
技術實現思路
1、本申請提供一種傳輸方法和電子設備,用于提高鏡像文件傳輸的可靠性和重傳效率。
2、為實現上述技術目的,本申請采用如下技術方案:
3、第一方面,本申請提供一種傳輸方法,應用于第一節點,該方法包括:獲取待傳輸的鏡像文件,鏡像文件包括至少一個鏡像分層,每個鏡像分層對應一個分層標識;向第二節點傳輸第一鏡像分層的鏡像數據,鏡像數據攜帶有第一鏡像分層對應的第一分層標識;第一鏡像分層為待傳輸的鏡像文件中的任一鏡像分層;若第一鏡像分層傳輸中斷,則根據第一鏡像分層當前的傳輸偏移量,確定傳輸中斷位置;其中,當前的傳輸偏移量用于指示當前傳輸成功的數據的長度;傳輸中斷位置表示第一鏡像分層中當前傳輸成功的數據與其余數據的分界位置;在傳輸中斷位置處向第二節點傳輸第一鏡像分層中的目標鏡像數據,目標鏡像數據位于傳輸中斷位置處
4、可以看出,本申請實施例提供的傳輸方法,在將鏡像文件中的第一鏡像分層向第二節點進行分層傳輸的過程中,若出現傳輸中斷的現象,根據第一鏡像分層當前的傳輸偏移量確定出傳輸中斷位置。其中,當前的傳輸偏移量用于指示當前傳輸成功的數據的長度。也即根據已經傳輸成功的數據的長度確定出傳輸成功的數據與其余數據的分界位置。進而將分界位置之后的目標鏡像數據繼續向第二節點進行傳輸,以實現鏡像分層內斷點續傳的效果。本申請提供的方案通過傳輸偏移量的設置,使得鏡像分層中未傳輸的目標數據能夠被準確定位,尤其在需要進行數據重傳時,能迅速定位到鏡像分層中的目標數據進行傳輸;基于此,提高了鏡像文件傳輸的可靠性和重傳效率。
5、在一些實施例中,傳輸偏移量為第二節點成功接收第一鏡像分層中鏡像數據后產生的索引值;不同索引值代表不同的數據長度;根據第一鏡像分層當前的傳輸偏移量,確定傳輸中斷位置,包括:根據索引值,確定第一鏡像分層中當前傳輸成功的數據的長度;根據第一鏡像分層的數據長度和當前傳輸成功的數據的長度,確定傳輸中斷位置。
6、在一些實施例中,方法還包括:開始向第二節點傳輸第一鏡像分層后,獲取第一鏡像分層的傳輸偏移量,并檢測是否傳輸中斷;若第一鏡像分層傳輸中斷,則根據第一鏡像分層當前的傳輸偏移量,確定傳輸中斷位置,包括:根據第一鏡像分層當前的傳輸偏移量和第一鏡像分層的數據長度,確定第一鏡像分層是否傳輸完成;若第一鏡像分層未傳輸完成,則根據第一鏡像分層當前的傳輸偏移量,確定傳輸中斷位置;若第一鏡像分層傳輸完成,則向第二節點發送第二鏡像分層,和/或,輸出第一提示信息,第一提示信息用于提示第一鏡像分層已傳輸完成。
7、在一些實施例中,在獲取鏡像文件之后,方法還包括:確定鏡像文件的所有鏡像分層,并向第二節點查詢第二節點上已存在的鏡像分層;將鏡像文件中在第二節點上不存在的鏡像分層標記為待傳輸的目標鏡像分層;向第二節點傳輸鏡像文件,包括:向第二節點逐個傳輸目標鏡像分層,第一鏡像分層為任一目標鏡像分層。
8、第二方面,本申請提供一種傳輸方法,應用于第二節點,方法包括:接收由第一節點發送的鏡像數據,并基于鏡像數據攜帶的分層標識存儲鏡像數據。
9、在一些實施例中,方法還包括:根據接收到的鏡像數據的長度生成第一鏡像分層的傳輸偏移量,第一鏡像分層為鏡像數據攜帶的分層標識中對應的鏡像分層;向第一節點返回第一鏡像分層的傳輸偏移量;傳輸偏移量用于第一節點在第一鏡像分層傳輸中斷時確定傳輸中斷位置,傳輸中斷位置表示第一鏡像分層中當前傳輸成功的數據與其余數據的分界位置。
10、在一些實施例中,向第一節點返回第一鏡像分層的傳輸偏移量,包括:向第三節點返回第一鏡像分層的傳輸偏移量;第三節點為第二節點的代理節點,第三節點用于在第一節點向第二節點傳輸第一鏡像分層的過程中,接收并存儲由第二節點發送的第一鏡像分層的傳輸偏移量;第三節點還用于將第一鏡像分層的傳輸偏移量發送給第一節點。
11、在一些實施例中,根據接收到的鏡像數據的長度生成第一鏡像分層的傳輸偏移量,包括:每接收到預設長度的鏡像數據,根據已接收的所有所屬第一鏡像分層鏡像數據的長度確定對應的索引值;不同的索引值對應不同的數據長度。
12、在一些實施例中,方法還包括:接收目標鏡像數據,目標鏡像數據是在鏡像數據傳輸中斷后接收到的數據;
13、根據目標鏡像數據攜帶的分層標識,將目標鏡像數據與已接收的與目標鏡像數據攜帶的分層標識相同的鏡像數據合并。
14、在一些實施例中,方法還包括:接收到第三節點發送的查詢請求,查詢請求中包括鏡像文件中的各個鏡像分層的分層標識或摘要信息;其中,摘要信息用于描述鏡像分層的數據內容;從鏡像文件中的各個鏡像分層中,確定出目標分層,目標分層為在第二節點上存在的鏡像分層;向第三節點返回目標分層。
15、第三方面,本申請提供一種傳輸方法,應用于第三節點,方法包括:在第一節點向第二節點傳輸第一鏡像分層中鏡像數據的過程中,獲取到第二節點產生的第一鏡像分層的傳輸偏移量;第一鏡像分層的傳輸偏移量用于指示第一鏡像分層中傳輸成功的數據的長度;第一鏡像分層為鏡像文件中的任一個鏡像分層;每獲取到一次第一鏡像分層的傳輸偏移量,將第一鏡像分層的傳輸偏移量返回給第一節點;和/或,響應于第一節點發送的第一查詢請求,將最近一次獲取到的第一鏡像分層的傳輸偏移量返回給第一節點;其中,傳輸偏移量用于第一節點在第一鏡像分層傳輸中斷時確定傳輸中斷位置,傳輸中斷位置表示第一鏡像分層中當前傳輸成功的數據與其余數據的分界位置。
16、在一些實施例中,方法還包括:接收到由第一節點發送的第二查詢請求;第二查詢請求包括鏡像文件中每個鏡像分層的分層標識或摘要信息;其中,摘要信息用于描述鏡像分層的數據內容;根據每個鏡像分層的分層標識或摘要信息,向第二節點查詢第二節點上已存在且所屬鏡像文件的鏡像分層,獲得目標分層,目標分層為在第二節點上存在的鏡像分層;向第一節點返回目標分層。
17、第四方面,本申請提供一種計算機可讀存儲介質,所述計算機可讀存儲介質上存儲有計算機程序指令,所述計算機程序指令在計算機上運行時,使得所述計算機實現本申請實施例提供的任一項傳輸方法。
18、第五方面,本申請提供一種電子設備,包括:處理器和用于存儲所述處理器可執行指令的存儲器;所述處理器被配置為執行所述指令,使得所述電子設本文檔來自技高網...
【技術保護點】
1.一種傳輸方法,其特征在于,應用于第一節點,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述傳輸偏移量為所述第二節點成功接收所述第一鏡像分層中鏡像數據后產生的索引值;不同索引值代表不同的數據長度;
3.根據權利要求1所述的方法,其特征在于,所述方法還包括:開始向所述第二節點傳輸所述第一鏡像分層后,獲取所述第一鏡像分層的傳輸偏移量,并檢測是否傳輸中斷;
4.根據權利要求1至3任一項所述的方法,其特征在于,在所述獲取所述鏡像文件之后,所述方法還包括:
5.一種傳輸方法,其特征在于,應用于第二節點,所述方法包括:
6.根據權利要求5所述的方法,其特征在于,所述方法還包括:
7.根據權利要求6所述的方法,其特征在于,所述方法還包括:
8.一種傳輸方法,其特征在于,應用于第三節點,所述方法包括:
9.根據權利要求8所述的方法,其特征在于,所述方法還包括:
10.一種電子設備,包括存儲器、處理器及存儲在存儲器上的計算機程序,其特征在于,所述處理器執行所述計算機程序以實現
...【技術特征摘要】
1.一種傳輸方法,其特征在于,應用于第一節點,所述方法包括:
2.根據權利要求1所述的方法,其特征在于,所述傳輸偏移量為所述第二節點成功接收所述第一鏡像分層中鏡像數據后產生的索引值;不同索引值代表不同的數據長度;
3.根據權利要求1所述的方法,其特征在于,所述方法還包括:開始向所述第二節點傳輸所述第一鏡像分層后,獲取所述第一鏡像分層的傳輸偏移量,并檢測是否傳輸中斷;
4.根據權利要求1至3任一項所述的方法,其特征在于,在所述獲取所述鏡像文件之后,所述方法還包括:
5.一種...
【專利技術屬性】
技術研發人員:王榮栓,徐垚,沈敏杰,郭彥娟,
申請(專利權)人:杭州海康威視系統技術有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。