云服務器的數據存儲方法和系統的制作方法
【技術領域】
[0001]本發明涉及云服務器領域,具體來說,涉及一種云服務器的數據存儲方法和系統。
【背景技術】
[0002]目前,隨著云服務器的應用越來越廣泛,人們對云服務器的不同需求也在日益增加,例如低成本、可配置、結構簡單等,而為了滿足這些需求,主要是通過將虛擬化技術應用到云計算當中,從而實現云服務器的桌面虛擬化,網絡虛擬化以及存儲虛擬化等虛擬化功能,而對于存儲虛擬化來說,其具體的應用原理是通過將云計算服務器的存儲模塊進行虛擬化處理,從而使得在對云計算服務器的存儲空間進行訪問時,能夠根據需求集中訪問存儲設備,進而使云服務器的結構更加簡單,降低系統功耗。
[0003]而為了實現云計算服務器的存儲模塊的虛擬化,在現有技術中,主要是通過軟件的方式將服務器的存儲空間進行邏輯的分隔,從而組成不同的邏輯存儲空間,其中,通過一個邏輯存儲實體來代表底層復雜的物理驅動器,從而在一定程度上屏蔽單個存儲設備的容量、速度等物理特性,以實現云服務器的存儲虛擬化,但是這種軟件方式的存儲虛擬化方法只能使單個處理器來共享同一實體的存儲空間(例如硬盤);而且,在多個FPGA(現場可編程門陣列)電路板全互聯的架構下,現有的這種軟件方式的存儲虛擬化方法并不能夠實現對應不同FPGA電路板的多個硬盤的跨板虛擬化存儲。
[0004]針對相關技術中的上述問題,目前尚未提出有效的解決方案。
【發明內容】
[0005]針對相關技術中的上述問題,本發明提出一種云服務器的數據存儲方法和系統,能夠實現對應不同FPGA電路板的多個硬盤的跨板虛擬化存儲,提高系統的存儲性能。
[0006]本發明的技術方案是這樣實現的:
[0007]根據本發明的一個方面,提供了一種云服務器的數據存儲方法,用于包括多個FPGA的數據存儲系統。
[0008]該數據存儲方法包括:
[0009]本地FPGA接收來自本地處理器的請求指令;
[0010]本地FPGA通過對請求指令進行地址映射處理,確定請求指令所對應的目標硬盤;
[0011]本地FPGA將地址映射處理后的請求指令發送至目標硬盤所對應的目標FPGA。
[0012]其中,在本地FPGA通過對請求指令進行地址映射處理,來確定請求指令所對應的目標硬盤時,可由本地FPGA通過對請求指令進行分析,確定請求指令中對應于本地虛擬磁盤的第一地址信息;本地FPGA通過預定的地址映射規則對第一地址信息作地址映射處理,確定請求指令所對應的目標硬盤和第一地址信息在目標硬盤中所對應的第二地址信息;本地FPGA將請求指令中的第一地址信息更新為第二地址信息。
[0013]此外,該數據存儲方法進一步包括:
[0014]目標FPGA根據請求指令中的第二地址信息將地址映射處理后的請求指令發送至目標硬盤的目標地址。
[0015]此外,該數據存儲方法進一步包括:
[0016]本地FPGA接收來自目標FPGA的對應請求指令的響應指令;
[0017]本地FPGA對響應指令進行地址反映射處理,并將經過地址反映射處理后的響應指令發送至本地處理器。
[0018]其中,本地FPGA在對響應指令進行地址反映射處理時,本地FPGA可通過對響應指令進行分析,來確定響應指令中對應于目標硬盤的第三地址信息;本地FPGA通過預定的地址反映射規則對第三地址信息作地址反映射處理,確定響應指令中的第三地址信息在本地虛擬磁盤中所對應的第四地址信息;本地FPGA將響應指令中的第三地址信息更新為第四地址信息。
[0019]根據本發明的另一方面,提供了一種用于云服務器的數據存儲系統。
[0020]該數據存儲系統包括:
[0021]SfFPGA;
[0022]每個FPGA均連接有多個處理器,以及每個FPGA均連接有一個硬盤;
[0023]其中,每個FPGA包括與多個處理器相連的多個處理器控制器、與多個處理器控制器相連的交換器、與交換器相連的存儲控制器;
[0024]每個FPGA中的處理器控制器用于接收與該處理器控制器連接的處理器的請求指令;
[0025]每個FPGA中的處理器控制器進一步用于對請求指令進行地址映射處理,確定請求指令所對應的目標硬盤;
[0026]每個FPGA中的處理器控制器進一步用于將地址映射處理后的請求指令發送至目標硬盤所對應的目標FPGA。
[0027]此外,每個FPGA進一步包括遠端接口,用于與其他的FPGA通信。
[0028]優選的,存儲控制器包括遠端控制器和硬盤控制器。
[0029]其中,每個FPGA中的遠端接口與遠端控制器的一端相連,遠端控制器的另一端與交換器相連;每個FPGA中的硬盤控制器的一端與交換器相連,硬盤控制器的另一端與硬盤相連。
[0030]優選的,硬盤控制器用于接收和/或響應硬盤發送的指令;
[0031]遠端控制器用于接收遠端接口發送的指令并將該指令轉發至交換器;并且遠端控制器進一步用于接收交換器發送的指令,并將該指令轉發至遠端接口 ;
[0032]交換器用于將來自處理控制器的指令分發至硬盤控制器或遠端控制器;交換器進一步用于將硬盤或遠端接口的響應指令發送至處理器控制器。
[0033]本發明通過對一個FPGA的處理器所發送的指令進行地址映射處理,從而可以確定該指令所對應的目標硬盤,進而實現了對應不同FPGA電路板的多個硬盤的跨板虛擬化存儲,提高了系統的存儲性能。
【附圖說明】
[0034]為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
[0035]圖1是根據本發明實施例的云服務器的數據存儲方法的流程圖;
[0036]圖2是根據本發明實施例的云服務器的數據存儲系統的示意圖;
[0037]圖3是根據本發明實施例的處理器控制器和硬盤控制器所包含的模塊的傳輸示意圖。
【具體實施方式】
[0038]下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0039]根據本發明的實施例,提供了一種云服務器的數據存儲方法,用于包括多個FPGA的數據存儲系統。
[0040]如圖1所示,根據本發明實施例的數據存儲方法包括:
[0041]步驟SlOl,本地FPGA接收來自本地處理器的請求指令;
[0042]步驟S103,本地FPGA通過對請求指令進行地址映射處理,確定請求指令所對應的目標硬盤;
[0043]步驟S105,本地FPGA將地址映射處理后的請求指令發送至目標硬盤所對應的目標 FPGA。
[0044]借助于本發明的上述技術方案,能夠實現跨FPGA板的數據虛擬化存儲,提高數據的存儲性能。
[0045]為了更好的理解本發明的上述技術方案,下面結合圖2所示的包括多個FPGA的數據存儲系統來對本發明的數據存儲方法進行詳細闡述。
[0046]從圖2可以看出,根據本發明實施例的數據存儲系統由多個FPGA電路板(FPGA板0、FPGA板1、FPGA板2、FPGA板3)構成,并且,每個FPGA均外接有多個處理器(在本實施例中僅示意了一個處理器),對應的在FPGA板內也配置有與其外接的處理器數量相同的處理器控制器,從而使得一個FPGA板內部的每個處理器控制器與對應的外接的處理器相互通信連接;并且,每個FPGA板內還設置有一個交換器,其中,板內的交換器(例如交換器O)與FPGA板O中的每個處理器控制器(這里只是示意了一個處理器交換器O)均連接;此外,每個FPGA板還外接由一個硬盤,這里為硬盤O、硬盤1、硬盤2、硬盤3分別外接于FPGA板
O,FPGA板1、FPGA板2、FPGA板3 ;并且,每個FPGA板內還設有與板內的處理器控制器和存儲控制器相連的交換器,其中存儲控制器由硬盤控制器和遠端控制器構成;每個FPGA板所外接的硬盤通過板內的硬盤控制器外接于FPGA板;另外,每個FPGA板內設有遠端接口與遠端控制器相連。從圖2可以看出,在各個FPGA板之間相互通信時可通過板內的遠端接口互相通信。
[0047]其中,每個FPGA板中的硬盤控制器用于接收和應答處理器發送的指令,遠端控制器用于接收遠端接口發來的指令,以及將接收自交換器的指令