本發(fā)明涉及一種面向存儲加密服務的數據庫流量調度方法及裝置,屬于數據庫安全。
背景技術:
1、目前,數據庫系統(tǒng)應用于各行各業(yè),其重要性不言而喻。在涉及國計民生的金融、電力、交通等行業(yè),數據庫系統(tǒng)存儲了大量的用戶隱私數據。
2、數據庫的隱私保護成為近年來的研究熱點。為此,多家數據庫廠商開始提供存儲加密服務,可搜索加密、同態(tài)加密、安全多方計算、零知識證明等安全手段初步嶄露頭角。目前相關技術處于研究的初步階段,尚無大型機構在該領域的大規(guī)模應用實踐。此外,國內金融、交通等關鍵基礎設施平臺業(yè)務活動較為復雜,單一的安全手段無法滿足不同業(yè)務場景的安全需求,進一步限制了數據庫對隱私數據的保護能力。
3、多種技術路線并存的存儲加密方案為數據庫的發(fā)展趨勢,然而,不同的技術路線對系統(tǒng)資源提出了不同的需求,為提升系統(tǒng)的性能,需保證所有系統(tǒng)資源的利用率最大化。當前的數據庫由于無需處理復雜的存儲加密服務,導致其部署模式往往只考慮了單一維度(如cpu利用率、流量均分等)的資源均衡利用。該資源均衡轉發(fā)的策略顯然無法滿足不同加密方案對異構硬件的不同需求,極端情況下,將可能導致一種資源利用率近100%而其他資源則處于閑置狀態(tài)。這將帶來極大的資源損失,特別是在云計算的場景影響尤為顯著。而針對不同存儲加密方案,面向異構資源利用率最大化的數據庫流量調度策略尚無成熟的研究方案。
技術實現思路
1、為了解決上述問題,本發(fā)明提出了一種面向存儲加密服務的數據庫流量調度方法及裝置,能夠利實現不同存儲加密任務在異構資源環(huán)境中的自適應調度,提高異構資源的利用率。
2、本發(fā)明為解決其技術問題所采取的技術方案是:
3、第一方面,本發(fā)明實施例提供的一種面向存儲加密服務的數據庫流量調度方法,包括如下步驟:
4、步驟s1,監(jiān)測存儲加密處理集群的負載情況,并對監(jiān)測負載情況的流量進行解析,根據協(xié)議相關字段提取其任務類型;
5、步驟s2,獲取不同處理集群的“基準任務”執(zhí)行時間,并根據所有集群的“基準任務”執(zhí)行時間計算不同處理集群的資源負載情況;
6、步驟s3,基于每個任務的類型及當前不同處理集群的資源負載情況,計算所有處理集群對每個任務的轉發(fā)權重,并選擇轉發(fā)權重最小的處理集群作為當前任務的最優(yōu)處理集群;
7、步驟s4,將每個任務按照選擇好的最優(yōu)處理集群進行轉發(fā),完成數據庫流量調度。
8、作為本實施例一種可能的實現方式,所述存儲加密處理集群至少包括cpu、gpu、fpga和asci四種處理資源。
9、作為本實施例一種可能的實現方式,所述步驟s2,獲取不同處理集群的“基準任務”執(zhí)行時間,并根據所有集群的“基準任務”執(zhí)行時間計算不同處理集群的資源負載情況,包括:
10、步驟s21,對于每一種硬件資源,根據其特點設置“基準任務”,并將不同的“基準任務”同時分配到某一個集群響應的處理資源上進行處理,并根據任務發(fā)起與結果返回的時間差刻畫該資源的負載情況;
11、步驟s22,根據所有任務在不同處理集群的處理時間進行歸一化處理,獲得不同處理集群資源的橫向負載情況。
12、作為本實施例一種可能的實現方式,所述步驟s21,對于每一種硬件資源,根據其特點設置“基準任務”,并將不同的“基準任務”同時分配到某一個集群響應的處理資源上進行處理,并根據任務發(fā)起與結果返回的時間差刻畫該資源的負載情況,包括:
13、假設共有n個處理集群,每個集群有m種類型的資源,則流量調度服務器對應設置m種“基準任務”,將m種“基準任務”發(fā)送給n個處理集群的相應資源進行處理;
14、待基準任務處理完后,接收處理結果并計算任務執(zhí)行時間;
15、對同一種資源進行歸一化處理,獲得資源的負載情況:
16、,
17、其中,代表集群i的j類資源的歸一化負載情況,n為處理集群的數量,為集群i中j類資源的執(zhí)行時間,i≤n,j≤m。
18、作為本實施例一種可能的實現方式,所述步驟s3,基于每個任務的類型及當前不同處理集群的資源負載情況,計算所有處理集群對每個任務的轉發(fā)權重,并選擇轉發(fā)權重最小的處理集群作為當前任務的最優(yōu)處理集群,包括:
19、獲取每個處理集群中資源需求權重;
20、接收到任務后根據不同處理集群的資源負載情況計算每個處理集群的轉發(fā)權重:
21、,
22、其中,代表處理集群i的轉發(fā)權重,代表任務t對j類資源需求的權重,代表集群i的j類資源的歸一化負載情況;
23、選取轉發(fā)權重中最小轉發(fā)權重的處理集群的作為該任務的轉發(fā)集群。
24、第二方面,本發(fā)明實施例提供的一種面向存儲加密服務的數據庫流量調度裝置,包括:
25、負載監(jiān)測模塊,用于監(jiān)測存儲加密處理集群的負載情況,并對監(jiān)測負載情況的流量進行解析,根據協(xié)議相關字段提取其任務類型;
26、資源負載計算模塊,用于獲取不同處理集群的“基準任務”執(zhí)行時間,并根據所有集群的“基準任務”執(zhí)行時間計算不同處理集群的資源負載情況;
27、轉發(fā)權重計算模塊,用于基于每個任務的類型及當前不同處理集群的資源負載情況,計算所有處理集群對每個任務的轉發(fā)權重,并選擇轉發(fā)權重最小的處理集群作為當前任務的最優(yōu)處理集群;
28、流量調度模塊,用于將每個任務按照選擇好的最優(yōu)處理集群進行轉發(fā),完成數據庫流量調度。
29、作為本實施例一種可能的實現方式,所述存儲加密處理集群至少包括cpu、gpu、fpga和asci四種處理資源。
30、作為本實施例一種可能的實現方式,所述資源負載計算模塊包括:
31、處理資源負載情況計算模塊,用于對于每一種硬件資源,根據其特點設置“基準任務”,并將不同的“基準任務”同時分配到某一個集群響應的處理資源上進行處理,并根據任務發(fā)起與結果返回的時間差刻畫該資源的負載情況;
32、處理集群資源負載計算模塊,用于根據所有任務在不同處理集群的處理時間進行歸一化處理,獲得不同處理集群資源的橫向負載情況。
33、作為本實施例一種可能的實現方式,所述處理資源負載情況計算模塊,具體用于:
34、假設共有n個處理集群,每個集群有m種類型的資源,則流量調度服務器對應設置m種“基準任務”,將m種“基準任務”發(fā)送給n個處理集群的相應資源進行處理;
35、待基準任務處理完后,接收處理結果并計算任務執(zhí)行時間;
36、對同一種資源進行歸一化處理,獲得資源的負載情況:
37、,
38、其中,代表集群i的j類資源的歸一化負載情況,n為處理集群的數量,為集群i中j類資源的執(zhí)行時間,i≤n,j≤m。
39、作為本實施例一種可能的實現方式,所述轉發(fā)權重計算模塊包括:
40、權重獲取模塊,用于獲取每個處理集群中資源需求權重;
41、轉發(fā)權重計算模塊,用于接收到任務后根據不同處理集群的資源負載情況計算每個處理集群的轉發(fā)權重:
42、,
43、其中,代表處理集群i的轉發(fā)權重,代表任務t對j類資源需求的權重,代表集群i的j類資源的歸一化負載情況;
44、轉發(fā)集群確定模塊,用于選取轉發(fā)權重中最小轉發(fā)權重的處理集群的作為該任務的轉發(fā)集群。
45、第三方面,本發(fā)明實施例提供的一種電子設備,包括處理器、存儲器和總線,所述存儲器存儲有所述處理器可執(zhí)行的機器可讀指令,當所述電子設備運行時,所述處理器與所述存儲器之間通過總線通信,所述處理器執(zhí)行所述機器可讀指令,以執(zhí)行如上述任意面向存儲加密服務的數據庫流量調度方法的步驟。
46、第四方面,本發(fā)明實施例提供的一種存儲介質,該存儲介質上存儲有計算機程序,該計算機程序被處理器運行時執(zhí)行如上述任意面向存儲加密服務的數據庫流量調度方法的步驟。
47、本發(fā)明實施例的技術方案所產生的有益效果如下:
48、本發(fā)明實施例的技術方案的一種面向存儲加密服務的數據庫流量調度方法,包括如下步驟:步驟s1,監(jiān)測存儲加密處理集群的負載情況,并對監(jiān)測負載情況的流量進行解析,根據協(xié)議相關字段提取其任務類型;步驟s2,獲取不同處理集群的“基準任務”執(zhí)行時間,并根據所有集群的“基準任務”執(zhí)行時間計算不同處理集群的資源負載情況;步驟s3,基于每個任務的類型及當前不同處理集群的資源負載情況,計算所有處理集群對每個任務的轉發(fā)權重,并選擇轉發(fā)權重最小的處理集群作為當前任務的最優(yōu)處理集群;步驟s4,將每個任務按照選擇好的最優(yōu)處理集群進行轉發(fā),完成數據庫流量調度。本發(fā)明實現了不同存儲加密任務在異構資源環(huán)境中的自適應調度,無需用戶介入即可輕松提高異構資源的利用率。本發(fā)明提供的面向存儲加密服務的數據庫流量調度策略可以作為企業(yè)自建數據中心的基礎調度中間件,也可作為云服務廠商對外提供的調度服務,亦可由用戶以定制化的方式集成于其數據庫應用邏輯中,具有較好的靈活性及發(fā)展前景。
49、本發(fā)明實施例的技術方案的一種面向存儲加密服務的數據庫流量調度裝置,具有與本發(fā)明實施例的技術方案的一種面向存儲加密服務的數據庫流量調度方法一樣的有益效果。