本發(fā)明涉及計算機,具體涉及數(shù)據(jù)庫管理系統(tǒng)、機器學習以及微服務(wù)架構(gòu)優(yōu)化技術(shù),更具體地,涉及微服務(wù)調(diào)控方法及其裝置。
背景技術(shù):
1、微服務(wù)是一個新興的軟件架構(gòu),就是把一個大型的單個應(yīng)用程序和服務(wù)拆分為數(shù)十個的支持微服務(wù)。一個微服務(wù)的策略可以讓工作變得更為簡便,它可擴展單個組件而不是整個的應(yīng)用程序堆棧,從而滿足服務(wù)等級協(xié)議。目前,在微服務(wù)架構(gòu)環(huán)境中,由于環(huán)境高度動態(tài)且日益復雜,數(shù)據(jù)庫管理面臨著前所未有的挑戰(zhàn)。
2、在實現(xiàn)本發(fā)明構(gòu)思的過程中,發(fā)明人發(fā)現(xiàn)雖然微服務(wù)管理和協(xié)調(diào)平臺(istio),為服務(wù)網(wǎng)格提供了高級的服務(wù)發(fā)現(xiàn)、負載均衡、流量管理和安全控制等功能,增強了微服務(wù)架構(gòu)的靈活性和可控性。但是,?istio在服務(wù)層面的治理能力上缺乏對數(shù)據(jù)庫緩存的有效利用和數(shù)據(jù)分片的優(yōu)化布局。
技術(shù)實現(xiàn)思路
1、有鑒于此,本發(fā)明提供了一種微服務(wù)調(diào)控方法、裝置、設(shè)備、介質(zhì)和程序產(chǎn)品。
2、本發(fā)明的一個方面提供了一種微服務(wù)調(diào)控方法,包括:從調(diào)用微服務(wù)后生成的日志記錄中提取針對數(shù)據(jù)庫緩存的第一數(shù)據(jù)查詢特征和針對數(shù)據(jù)分片的第二數(shù)據(jù)查詢特征;從微服務(wù)的性能指標中提取性能指標特征;基于第一數(shù)據(jù)查詢特征、第二數(shù)據(jù)查詢特征以及性能指標特征,確定動作策略,其中,動作策略用于表征對數(shù)據(jù)庫緩存和/或數(shù)據(jù)分片的調(diào)整方式;基于與動作策略的策略類型匹配的預設(shè)解析規(guī)則,對動作策略進行解析,得到解析結(jié)果;以及基于解析結(jié)果,生成用于調(diào)控微服務(wù)的配置文件。
3、根據(jù)本發(fā)明的實施例,日志記錄包括服務(wù)間調(diào)用日志記錄和數(shù)據(jù)庫訪問日志記錄;基于第一數(shù)據(jù)查詢特征、第二數(shù)據(jù)查詢特征以及性能指標特征,確定動作策略,包括:基于第一數(shù)據(jù)查詢特征、第二數(shù)據(jù)查詢特征和性能指標特征,確定對數(shù)據(jù)庫緩存的調(diào)整方式;和/或基于第二數(shù)據(jù)查詢特征,確定對數(shù)據(jù)分片的調(diào)整方式。
4、根據(jù)本發(fā)明的實施例,第二數(shù)據(jù)查詢特征包括讀寫請求量和請求響應(yīng)時長;基于第二數(shù)據(jù)查詢特征,確定對數(shù)據(jù)分片的調(diào)整方式,包括:根據(jù)讀寫請求量和請求響應(yīng)時長,識別針對數(shù)據(jù)分片的數(shù)據(jù)訪問模式,其中,數(shù)據(jù)訪問模式用于表征讀寫數(shù)據(jù)的交互情況;以及基于數(shù)據(jù)訪問模式,確定對數(shù)據(jù)分片的調(diào)整方式。
5、根據(jù)本發(fā)明的實施例,數(shù)據(jù)分片包括多個,多個數(shù)據(jù)分片中每個數(shù)據(jù)分片存儲的數(shù)據(jù)不同;基于數(shù)據(jù)訪問模式,確定對數(shù)據(jù)分片的調(diào)整方式,包括:在確定多個數(shù)據(jù)分片中僅存在第一目標數(shù)據(jù)分片的情況下,增加數(shù)據(jù)分片的數(shù)量,其中,第一目標數(shù)據(jù)分片的數(shù)據(jù)訪問模式表征讀寫請求量高于第一預設(shè)請求量,且請求響應(yīng)時長大于預設(shè)時長;在確定多個數(shù)據(jù)分片中僅存在第二目標數(shù)據(jù)分片的情況下,減少數(shù)據(jù)分片的數(shù)量,其中,第二目標數(shù)據(jù)分片的數(shù)據(jù)訪問模式表征讀寫請求量低于第二預設(shè)請求量,且請求響應(yīng)時長小于預設(shè)時長,第一預設(shè)請求量高于第二預設(shè)請求量;以及在確定多個數(shù)據(jù)分片中同時存在第一目標數(shù)據(jù)分片和第二目標數(shù)據(jù)分片的情況下,調(diào)整數(shù)據(jù)分片的分片鍵。
6、根據(jù)本發(fā)明的實施例,基于數(shù)據(jù)訪問模式,確定對數(shù)據(jù)分片的調(diào)整方式,還包括:統(tǒng)計多個數(shù)據(jù)分片的數(shù)據(jù)訪問模式,確定是否存在同一讀寫請求關(guān)聯(lián)多個數(shù)據(jù)分片中的至少兩個數(shù)據(jù)分片的情況;以及在確定存在同一讀寫請求關(guān)聯(lián)多個數(shù)據(jù)分片中的至少兩個數(shù)據(jù)分片的情況下,重新調(diào)整多個數(shù)據(jù)分片中的數(shù)據(jù)。
7、根據(jù)本發(fā)明的實施例,基于數(shù)據(jù)訪問模式,確定對數(shù)據(jù)分片的調(diào)整方式,還包括:在確定多個數(shù)據(jù)分片中同時存在第一目標數(shù)據(jù)分片和第二目標數(shù)據(jù)分片的情況下,對第一目標數(shù)據(jù)分片和第二目標數(shù)據(jù)分片中的數(shù)據(jù)進行調(diào)整,得到新的第一目標數(shù)據(jù)分片和新的第二目標數(shù)據(jù)分片,其中,新的第一目標數(shù)據(jù)分片和新的第二目標數(shù)據(jù)分片各自的數(shù)據(jù)訪問模式均表征讀寫請求量低于第一預設(shè)請求量,且高于第二預設(shè)請求量。
8、根據(jù)本發(fā)明的實施例,第一數(shù)據(jù)查詢特征包括:緩存中存儲數(shù)據(jù)的屬性特征、緩存占用率和緩存并發(fā)特征,第二數(shù)據(jù)查詢特征包括讀寫請求量,性能指標特征包括資源使用特征;基于第一數(shù)據(jù)查詢特征、第二數(shù)據(jù)查詢特征和性能指標特征,確定對數(shù)據(jù)庫緩存的調(diào)整方式,包括:基于緩存占用率和資源使用特征,對數(shù)據(jù)庫緩存的大小進行調(diào)整;根據(jù)緩存并發(fā)特征,對數(shù)據(jù)庫緩存實施鎖機制;根據(jù)讀寫請求量,對數(shù)據(jù)庫緩存配置緩存優(yōu)先級;根據(jù)緩存中存儲數(shù)據(jù)的屬性特征,對數(shù)據(jù)庫緩存的失效時間進行調(diào)整;在確定與緩存中存儲數(shù)據(jù)關(guān)聯(lián)的數(shù)據(jù)分片中的數(shù)據(jù)發(fā)生變更的情況下,對數(shù)據(jù)庫緩存的緩存數(shù)據(jù)進行更新;以及根據(jù)與緩存中存儲數(shù)據(jù)關(guān)聯(lián)的讀寫請求量和緩存中存儲數(shù)據(jù)的屬性特征,對數(shù)據(jù)庫緩存的緩存數(shù)據(jù)進行移除。
9、根據(jù)本發(fā)明的實施例,預設(shè)解析規(guī)則包括與策略類型匹配的解析字段;基于與動作策略的策略類型匹配的預設(shè)解析規(guī)則,對動作策略進行解析,得到解析結(jié)果,包括:根據(jù)解析字段,對動作策略進行解析,得到解析結(jié)果。
10、根據(jù)本發(fā)明的實施例,基于第一數(shù)據(jù)查詢特征、第二數(shù)據(jù)查詢特征以及性能指標特征,確定動作策略,包括:根據(jù)第一數(shù)據(jù)查詢特征、第二數(shù)據(jù)查詢特征以及性能指標特征構(gòu)建針對數(shù)據(jù)庫緩存的第一狀態(tài)向量和針對數(shù)據(jù)分片的第二狀態(tài)向量;將第一狀態(tài)向量輸入深度強化學習模型,輸出對數(shù)據(jù)庫緩存的調(diào)整方式,其中,深度強化學習模型是基于調(diào)用微服務(wù)后生成的樣本日志記錄和微服務(wù)的樣本性能指標預先訓練得到的;和/或?qū)⒌诙顟B(tài)向量輸入深度強化學習模型,輸出對數(shù)據(jù)分片的調(diào)整方式。
11、本發(fā)明的另一個方面提供了一種微服務(wù)調(diào)控裝置,包括:第一特征提取模塊,用于從調(diào)用微服務(wù)后生成的日志記錄中提取針對數(shù)據(jù)庫緩存的第一數(shù)據(jù)查詢特征和針對數(shù)據(jù)分片的第二數(shù)據(jù)查詢特征;第二特征提取模塊,用于從微服務(wù)的性能指標中提取性能指標特征;策略確定模塊,用于基于第一數(shù)據(jù)查詢特征、第二數(shù)據(jù)查詢特征以及性能指標特征,確定動作策略,其中,動作策略用于表征對數(shù)據(jù)庫緩存和/或數(shù)據(jù)分片的調(diào)整方式;解析模塊,用于基于與動作策略的策略類型匹配的預設(shè)解析規(guī)則,對動作策略進行解析,得到解析結(jié)果;以及生成模塊,用于基于解析結(jié)果,生成用于調(diào)控微服務(wù)的配置文件,以便對微服務(wù)進行調(diào)控。
12、本發(fā)明的另一個方面提供了一種電子設(shè)備,包括:一個或多個處理器;存儲器,用于存儲一個或多個程序,其中,當一個或多個程序被一個或多個處理器執(zhí)行時,使得一個或多個處理器實現(xiàn)如上的方法。
13、本發(fā)明的另一方面提供了一種計算機可讀存儲介質(zhì),存儲有計算機可執(zhí)行指令,指令在被執(zhí)行時用于實現(xiàn)如上的方法。
14、本發(fā)明的另一方面提供了一種計算機程序產(chǎn)品,計算機程序產(chǎn)品包括計算機可執(zhí)行指令,指令在被執(zhí)行時用于實現(xiàn)如上的方法。
15、根據(jù)本發(fā)明的實施例,通過從調(diào)用微服務(wù)后生成的日志記錄中提取的針對數(shù)據(jù)庫緩存的第一數(shù)據(jù)查詢特征和針對數(shù)據(jù)分片的第二數(shù)據(jù)查詢特征,以及從微服務(wù)的性能指標中提取的性能指標特征,能夠?qū)崟r確定針對數(shù)據(jù)庫緩存和/或數(shù)據(jù)分片的調(diào)整策略,并基于策略的類型對策略解析轉(zhuǎn)化到istio能夠識別的配置文件,實現(xiàn)針對微服務(wù)的自適應(yīng)調(diào)控,提升數(shù)據(jù)訪問效率、降低延遲并優(yōu)化資源利用,尤其適用于大規(guī)模分布式微服務(wù)環(huán)境下的高性能數(shù)據(jù)處理需求。