一種數據傳輸方法及裝置的制造方法
【技術領域】
[0001]本發明涉及計算機技術領域,特別涉及一種數據傳輸方法及裝置。
【背景技術】
[0002]隨著計算機軟硬件技術的不斷發展,特別是云計算技術的廣泛普及,傳統的以二進制數據為主體的數據傳輸/存儲方式已經無法應對越來越復雜、龐大的信息處理需求。這是因為在各部件之間進行復雜數據的傳輸時,可能會由于硬件帶寬的制約、I/O訪問速度的限制,容易造成傳輸通道擁擠、甚至數據丟失的問題。
[0003]傳統的數據傳輸方式通過在各部件之間內置緩存系統來解決上述問題,在進行復雜數據的傳輸且造成傳輸通道擁擠時,可以將復雜數據緩存到該緩存系統中,當傳輸通道有足夠帶寬來傳輸緩存系統中的復雜數據時,則從該緩存系統中將復雜數據繼續進行傳輸。
[0004]然而,傳統的數據傳輸方式雖然解決了傳輸通道擁擠甚至數據丟失的問題,但是數據量所占用的網絡帶寬依然不變,因此傳輸效率較低。
【發明內容】
[0005]有鑒于此,本發明提供一種數據傳輸方法及裝置,以提高數據傳輸的效率。
[0006]本發明實施例提供了一種數據傳輸方法,設定二進制數據流與結構體的轉換關系;設定結構體的融合規則,包括:
[0007]建立數據空間;
[0008]將待傳輸的一個以上的二進制數據流,載入至所述數據空間中;
[0009]根據設定的二進制數據流與結構體的轉換關系,將載入一個以上的二進制數據流分別轉換為相對應地結構體;
[0010]根據設定的所述融合規則,將相鄰結構體進行融合;
[0011]將融合后的目標結構體轉換為二進制的目標數據流,并發送給接收端,以使所述接收端將接收到的所述目標數據流進行解析,并執行相應操作。
[0012]優選地,所述設定二進制數據流與結構體的轉換關系,包括:
[0013]構建立方體,將數據流的每一個二進制數值按照設定標識方式標識到所述立方體的每一個個頂點上,其中,被標識的立方體為二進制數據流轉換的所述結構體。
[0014]優選地,
[0015]所述建立數據空間,包括:設置數據空間的大小及起始坐標,并根據設置的數據空間的大小及起始坐標,新建數據空間;
[0016]或,
[0017]所述建立數據空間,包括:設置數據空間的大小及起始坐標,確定既有數據空間,并根據設置的數據空間的大小及起始坐標將所述既有數據空間進行修改。
[0018]優選地,
[0019]所述設定結構體的融合規則,包括:設置是否允許結構體旋轉,和/或,是否允許結構體多面融合;
[0020]若設置不允許結構體旋轉,所述將相鄰結構體進行融合,包括:當相鄰結構體上的相鄰面上在設定順序頂點數值相等時,將該相鄰結構體的相鄰面以對應相應頂點數值相等的方式融合為同一個融合面的目標結構體;
[0021 ] 若設置允許結構體旋轉,所述將相鄰結構體進行融合,包括:當相鄰結構體上分別包括在設定順序上頂點數值相等的子融合面時,將該相鄰結構體各自的子融合面以對應頂點數值相等的方式融合為同一個融合面的目標結構體;
[0022]進一步包括:若設置不允許結構體多面融合,則對于每一個結構體最多融合一次;若設置允許結構體多面融合,則對于每一個結構體最多融合兩次。
[0023]優選地,
[0024]進一步包括:根據二進制數據流的類型,設置各個類型分別對應的融合輪數,在將相鄰結構體進行融合之后達到對應的融合輪數時,執行所述將融合后的目標結構體轉換為二進制的目標數據流;
[0025]其中,二進制數據流的類型包括:普通數據、存儲數據、可執行數據和網絡數據中的一種或多種;
[0026]其中,在二進制數據流的類型包括普通數據時,設置普通數據對應的融合輪數為I輪;在二進制數據流的類型包括存儲數據時,設置存儲數據對應的融合輪數為2輪;在二進制數據流的類型包括可執行數據時,設置可執行數據對應的融合輪數為O輪;在二進制數據流的類型包括網絡數據時,設置網絡數據對應的融合輪數為2輪。
[0027]優選地,進一步包括:
[0028]N = (M/2) +0.5
[0029]其中,M用于表征相鄰M個結構體相鄰,N用于表征在相鄰M個結構體相等時進行的最大融合輪數。
[0030]本發明實施例還提供了一種數據傳輸裝置,包括:
[0031]存儲單元,用于存儲二進制數據流與結構體的轉換關系,以及存儲結構體的融合規則;
[0032]建立單元,用于建立數據空間;
[0033]載入單元,用于將待傳輸的一個以上的二進制數據流,載入至所述數據空間中;
[0034]轉換單元,用于根據設定的二進制數據流與結構體的轉換關系,將載入一個以上的二進制數據流分別轉換為相對應地結構體;
[0035]融合單元,用于根據設定的所述融合規則,將相鄰結構體進行融合;
[0036]發送單元,用于將融合后的目標結構體轉換為二進制的目標數據流,并發送給接收端,以使所述接收端將接收到的所述目標數據流進行解析,并執行相應操作。
[0037]優選地,
[0038]所述存儲單元,用于構建立方體,將數據流的每一個二進制數值按照設定標識方式標識到所述立方體的每一個個頂點上,其中,被標識的立方體為二進制數據流轉換的所述結構體;
[0039]和/ 或,
[0040]所述建立單元,用于設置數據空間的大小及起始坐標,并根據設置的數據空間的大小及起始坐標,新建數據空間;
[0041]或,
[0042]所述建立單元,用于設置數據空間的大小及起始坐標,確定既有數據空間,并根據設置的數據空間的大小及起始坐標將所述既有數據空間進行修改。
[0043]優選地,
[0044]所述存儲單元,用于存儲是否允許結構體旋轉,和/或,是否允許結構體多面融合;
[0045]若設置不允許結構體旋轉,所述融合單元,用于當相鄰結構體上的相鄰面上在設定順序頂點數值相等時,將該相鄰結構體的相鄰面以對應相應頂點數值相等的方式融合為同一個融合面的目標結構體;
[0046]若設置允許結構體旋轉,所述融合單元,用于當相鄰結構體上分別包括在設定順序上頂點數值相等的子融合面時,將該相鄰結構體各自的子融合面以對應頂點數值相等的方式融合為同一個融合面的目標結構體;
[0047]所述融合單元,用于若設置不允許結構體多面融合,則對于每一個結構體最多融合一次;若設置允許結構體多面融合,則對于每一個結構體最多融合兩次。
[0048]優選地,
[0049]所述存儲單元,用于根據二進制數據流的類型,設置存儲各個類型分別對應的融合輪數,在將相鄰結構體進行融合之后達到對應的融合輪數時,觸發所述轉換單元執行所述將融合后的目標結構體轉換為二進制的目標數據流;
[0050]其中,二進制數據流的類型包括:普通數據、存儲數據、可執行數據和網絡數據中的一種或多種;
[0051]所述存儲單元,用于在二進制數據流的類型包括普通數據時,設置普通數據對應的融合輪數為I輪;在二進制數據流的類型包括存儲數據時,設置存儲數據對應的融合輪數為2輪;在二進制數據流的類型包括可執行數據時,設置可執行數據對應的融合輪數為O輪;在二進制數據流的類型包括網絡數據時,設置網絡數據對應的融合輪數為2輪;
[0052]進一步包括:
[0053]N = (M/2) +0.5
[0054]其中,M用于表征相鄰M個結構體相鄰,N用于表征在相鄰M個結構體相等時進行的最大融合輪數。
[0055]本發明實施例提供了一種數據傳輸方法及裝置,通過建立數據空間,以在該數據空間內將二進制數據流轉換為相應地結構體,可以將不能夠在進行壓縮的二進制數據流以結構體的形式在數據空間中進行融合,并繼續將融合后的結構體轉換為二進制數據流,此時轉換后的二進制數據流所占用的數據空間相對于之前更小,從而可以提高數據傳輸的效率。
【附圖說明】
[0056]圖1是本發明實施例提供的方法流程圖;
[0057]圖2是本發明另一實施例提供的方法流程圖;
[0058]圖3是本發明實施例提供的二進制數據轉換后的結構體示意圖;
[0059]圖4是本發明實施例提供的相鄰兩個結構體的融合方式示意圖;
[0060]圖5是本發明另一實施例提供的相鄰兩個結構體的融合方式示意圖;
[0061]圖6是本發明實施例提供的相鄰三個結構體的融合方式示意圖;
[0062]圖7是本發明另一實施例提供的相鄰三個結構體的融合方式示意圖;
[0063]圖8是本發明實施例提供的第一輪融合示意圖;
[0064]圖9是本發明實施例提供的第二輪融合示意圖;
[0065]圖10是本發明實施例提供的裝置結構示意圖。
【具體實施方式】
[0066]下面將結合本發明實