欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種數(shù)據(jù)庫的路由方法、裝置及數(shù)據(jù)庫系統(tǒng)與流程

文檔序號:12550816閱讀:280來源:國知局
一種數(shù)據(jù)庫的路由方法、裝置及數(shù)據(jù)庫系統(tǒng)與流程

本申請涉及數(shù)據(jù)庫系統(tǒng),尤其涉及一種數(shù)據(jù)庫路由方法、裝置及數(shù)據(jù)庫系統(tǒng)。



背景技術(shù):

關(guān)系型數(shù)據(jù)庫,是指采用了關(guān)系模型來組織數(shù)據(jù)的數(shù)據(jù)庫。關(guān)系模型是在1970年由IBM的研究員E.F.Codd博士首先提出,在之后的幾十年中,關(guān)系模型的概念得到了充分的發(fā)展并逐漸成為數(shù)據(jù)庫架構(gòu)的主流模型。簡單來說,關(guān)系模型指的就是二維表格模型,而一個關(guān)系型數(shù)據(jù)庫就是由二維表及其之間的聯(lián)系組成的一個數(shù)據(jù)組織。當前主流的關(guān)系型數(shù)據(jù)庫有Oracle、DB2、MySQL、浪潮K-DB等。

隨著業(yè)務(wù)的發(fā)展以及數(shù)據(jù)量的增加,當一個應(yīng)用系統(tǒng)的用戶量和訪問量與日俱增的時候,傳統(tǒng)的關(guān)系型數(shù)據(jù)庫卻沒有辦法像頁面服務(wù)器(Web Server)那樣簡單地通過添加更多的硬件和服務(wù)節(jié)點來擴展性能和負載能力。關(guān)系型數(shù)據(jù)庫自身不支持分布式擴展,而單臺數(shù)據(jù)庫節(jié)點的最大處理能力有限,當關(guān)系數(shù)據(jù)庫達到一定規(guī)模時,非常容易發(fā)生死鎖等并發(fā)問題,導致其讀寫性能下降非常嚴重。



技術(shù)實現(xiàn)要素:

有鑒于此,實有必要提供一種數(shù)據(jù)庫的路由方法、裝置及數(shù)據(jù)庫,使得關(guān)系型數(shù)據(jù)庫能夠支持分布式擴展,提升數(shù)據(jù)庫的性能。

一方面,提供一種數(shù)據(jù)庫的路由方法,應(yīng)用在數(shù)據(jù)庫中,該數(shù)據(jù)庫包括多個數(shù)據(jù)庫節(jié)點,該方法引入數(shù)據(jù)庫路由裝置提供數(shù)據(jù)庫的路由調(diào)度,包括:數(shù)據(jù)庫路由裝置接收應(yīng)用發(fā)送的數(shù)據(jù)路由信息查詢請求,所述數(shù)據(jù)路由信息查詢請求包含數(shù)據(jù)類型;所述數(shù)據(jù)庫路由裝置根據(jù)所述數(shù)據(jù)類型,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點;所述數(shù)據(jù)庫路由裝置向所述應(yīng)用發(fā)送數(shù)據(jù)路由信息查詢響應(yīng),所述數(shù)據(jù)路由信息查詢響應(yīng)包含所述數(shù)據(jù)庫節(jié)點的標識信息。該數(shù)據(jù)庫的路由方法通過引入數(shù)據(jù)庫路由裝置進行數(shù)據(jù)庫的路由調(diào)度,使得關(guān)系型數(shù)據(jù)庫可以進行分布式擴展,從而在數(shù)據(jù)大量爆發(fā)的情況,保證了數(shù)據(jù)庫的讀寫性能。

一種可選的實施方式中,所述路由信息查詢請求還包括:數(shù)據(jù)操作類型,所述路由方法還包括:確定所述數(shù)據(jù)操作類型,用以確定調(diào)用哪個接口進行數(shù)據(jù)查詢。

一種可選的實施方式中,若確定所述數(shù)據(jù)操作類型為數(shù)據(jù)新增操作,則獲取數(shù)據(jù)庫分庫策略,根據(jù)所述數(shù)據(jù)類型以及所述數(shù)據(jù)庫分庫策略,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點。可選的,若根據(jù)數(shù)據(jù)庫分庫策略存在多個可選的數(shù)據(jù)庫,可進一步根據(jù)數(shù)據(jù)庫負載情況選擇一個負載較輕的數(shù)據(jù)庫。

一種可選的實施方式中,若確定所述數(shù)據(jù)操作類型為數(shù)據(jù)刪除或者修改操作,則讀取數(shù)據(jù)庫路由信息,根據(jù)所述數(shù)據(jù)類型以及所述數(shù)據(jù)庫路由信息,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點??蛇x的,若路由信息查詢請求包含路由字段值,則可根據(jù)數(shù)據(jù)類型、路由字段值以及數(shù)據(jù)庫路由信息確定該數(shù)據(jù)對應(yīng)的數(shù)據(jù)庫節(jié)點。

一種可選的實施方式中,所述數(shù)據(jù)庫分庫策略包括數(shù)據(jù)類型和數(shù)據(jù)庫節(jié)點之間的映射關(guān)系,可選的數(shù)據(jù)庫分庫策略可以通過二維圖表的形式描述。

一種可選的實施方式中,所述數(shù)據(jù)庫路由信息包括數(shù)據(jù)類型、路由字段值和數(shù)據(jù)庫節(jié)點之間的映射關(guān)系,可選的數(shù)據(jù)庫路由信息可以通過二維圖表的形式描述??蛇x的,各個數(shù)據(jù)庫的路由信息可以分別以獨立的二維圖表描述,方便進行數(shù)據(jù)庫路由信息的更新校正。可選的,多個數(shù)據(jù)庫的路由信息也可在一個二維圖表中合并描述,降低管理的復(fù)雜度。

一種可選的實施方式中,所述路由方法還包括:獲取數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu),根據(jù)所述數(shù)據(jù)庫節(jié)點信息從應(yīng)用系統(tǒng)各個數(shù)據(jù)庫節(jié)點讀取數(shù)據(jù),按照所述數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)加載所述數(shù)據(jù)庫路由信息,將所述數(shù)據(jù)庫路由信息存儲到本地內(nèi)存中,其中所述數(shù)據(jù)庫節(jié)點信息包括數(shù)據(jù)類型、數(shù)據(jù)庫節(jié)點、數(shù)據(jù)庫表和路由字段之間的映射關(guān)系??蛇x的數(shù)據(jù)庫節(jié)點信息可通過二維圖表的形式描述。

一種可選的實施方式中,所述路由方法還包括:

定時從應(yīng)用系統(tǒng)各個數(shù)據(jù)庫節(jié)點加載數(shù)據(jù)庫路由信息,將本地存儲的數(shù)據(jù)庫路由信息與新加載的數(shù)據(jù)庫路由信息進行校對,更新本地存儲的數(shù)據(jù)庫路由信息。保證數(shù)據(jù)庫路由信息的準確性。

第二方面,提供一種數(shù)據(jù)庫路由裝置,該數(shù)據(jù)庫路由裝置包括:路由模塊,用于接收應(yīng)用發(fā)送的數(shù)據(jù)路由信息查詢請求,所述數(shù)據(jù)路由信息查詢請求包含數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點;向所述應(yīng)用發(fā)送數(shù)據(jù)路由信息查詢響應(yīng),所述數(shù)據(jù)路由信息查詢響應(yīng)包含所述數(shù)據(jù)庫節(jié)點的標識信息。本數(shù)據(jù)庫路由路由可適用于視頻、電信、IT、互聯(lián)網(wǎng)等領(lǐng)域的業(yè)務(wù)應(yīng)用系統(tǒng),使得本身不支持分布式的業(yè)務(wù)數(shù)據(jù)庫可以進行分布式部署,提升了數(shù)據(jù)庫整體性能,且不需對業(yè)務(wù)系統(tǒng)原有業(yè)務(wù)數(shù)據(jù)結(jié)構(gòu)進行任何變化。

一種可選的實施方式中,所述路由信息查詢請求還包括:數(shù)據(jù)操作類型,所述路由模塊還用于:確定所述數(shù)據(jù)操作類型。

一種可選的實施方式中,該數(shù)據(jù)庫路由裝置還包括:存儲模塊,用于存儲數(shù)據(jù)庫分庫策略,所述路由模塊具體用于若確定所述數(shù)據(jù)操作類型為數(shù)據(jù)新增操作,則從存儲模塊獲取數(shù)據(jù)庫分庫策略,根據(jù)所述數(shù)據(jù)類型以及所述數(shù)據(jù)庫分庫策略,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點。

一種可選的實施方式中,所述存儲模塊,還用于存儲數(shù)據(jù)庫路由信息,所述路由模塊還具體用于:若確定所述數(shù)據(jù)操作類型為數(shù)據(jù)刪除或者修改操作,則讀取數(shù)據(jù)庫路由信息,根據(jù)所述數(shù)據(jù)類型以及所述數(shù)據(jù)庫路由信息,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點。

一種可選的實施方式中,該數(shù)據(jù)庫路由裝置還包括:策略配置模塊,用于配置數(shù)據(jù)庫分庫策略,所述數(shù)據(jù)庫分庫策略包括數(shù)據(jù)類型和數(shù)據(jù)庫節(jié)點之間的映射關(guān)系。

一種可選的實施方式中,所述策略配置模塊,還用于配置數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)包括:數(shù)據(jù)類型、路由字段和數(shù)據(jù)庫節(jié)點。

一種可選的實施方式中,所述路由模塊還用于:從策略配置模塊獲取數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu),根據(jù)所述數(shù)據(jù)庫節(jié)點信息從應(yīng)用系統(tǒng)各個數(shù)據(jù)庫節(jié)點讀取數(shù)據(jù),按照所述數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)加載所述數(shù)據(jù)庫路由信息,將所述數(shù)據(jù)庫路由信息存儲到存儲模塊中,其中所述數(shù)據(jù)庫節(jié)點信息包括數(shù)據(jù)類型、數(shù)據(jù)庫節(jié)點、數(shù)據(jù)庫表和路由字段之間的映射關(guān)系。

一種可選的實施方式中,所述路由模塊還用于:定時從應(yīng)用系統(tǒng)各個數(shù)據(jù)庫節(jié)點加載數(shù)據(jù)庫路由信息,將存儲模塊存儲的數(shù)據(jù)庫路由信息與新加載的數(shù)據(jù)庫路由信息進行校對,更存儲模塊存儲的數(shù)據(jù)庫路由信息。

第三方面,提供一種數(shù)據(jù)庫路由服務(wù)器,包括:包括存儲器,用于存儲計算機可執(zhí)行程序代碼,以及處理器用于執(zhí)行存儲器中可執(zhí)行的程序代碼;

其中所述程序代碼包括指令,當所述處理器執(zhí)行所述指令時,所述指令使所述數(shù)據(jù)庫路由服務(wù)器執(zhí)行以下操作:接收應(yīng)用發(fā)送的數(shù)據(jù)路由信息查詢請求,所述數(shù)據(jù)路由信息查詢請求包含數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點;向所述應(yīng)用發(fā)送數(shù)據(jù)路由信息查詢響應(yīng),所述數(shù)據(jù)路由信息查詢響應(yīng)包含所述數(shù)據(jù)庫節(jié)點的標識信息。

第四方面,提供一種計算機程序產(chǎn)品,包括可執(zhí)行程序代碼,其中所述程序代碼包括指令,當所述處理器執(zhí)行所述指令時,所述指令使所述數(shù)據(jù)庫路由服務(wù)器執(zhí)行以下操作:接收應(yīng)用發(fā)送的數(shù)據(jù)路由信息查詢請求,所述數(shù)據(jù)路由信息查詢請求包含數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型,確定所述數(shù)據(jù)類型對應(yīng)的數(shù)據(jù)庫節(jié)點;向所述應(yīng)用發(fā)送數(shù)據(jù)路由信息查詢響應(yīng),所述數(shù)據(jù)路由信息查詢響應(yīng)包含所述數(shù)據(jù)庫節(jié)點的標識信息。

第五方面,本申請實施例提供了一種計算機存儲介質(zhì),用于儲存為上述數(shù)據(jù)庫路由裝置所用的計算機軟件指令,其包含用于執(zhí)行上述方面所設(shè)計的程序。

第六方面,提供一種數(shù)據(jù)庫系統(tǒng),包括如上所述數(shù)據(jù)庫路由裝置用于提供數(shù)據(jù)庫路由和調(diào)度,數(shù)據(jù)庫,包括多個數(shù)據(jù)庫,用于存儲業(yè)務(wù)數(shù)據(jù);應(yīng)用系統(tǒng),用于從所述數(shù)據(jù)庫讀取和調(diào)用業(yè)務(wù)數(shù)據(jù)向用戶提供業(yè)務(wù)??蛇x的,所述數(shù)據(jù)庫是關(guān)系型數(shù)據(jù)庫。

本申請實施例的數(shù)據(jù)庫的路由方法通過引入數(shù)據(jù)庫路由裝置進行數(shù)據(jù)庫的路由調(diào)度,使得關(guān)系型數(shù)據(jù)庫可以進行分布式擴展,從而在數(shù)據(jù)大量增長的情況,保證了數(shù)據(jù)庫的讀寫性能。

附圖說明

圖1是本申請一實施例的數(shù)據(jù)庫系統(tǒng)架構(gòu)圖;

圖2是本申請一實施例中數(shù)據(jù)庫節(jié)點信息示意圖;

圖3是本申請一實施例中分庫策略信息示意圖;

圖4是本申請一實施例中數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)示意圖;

圖5是本申請一實施例的數(shù)據(jù)庫路由服務(wù)器結(jié)構(gòu)示意圖;

圖6是本申請一實施例中數(shù)據(jù)庫路由信息加載流程示意圖;

圖7是本申請一實施例中數(shù)據(jù)新增場景的流程示意圖;

圖8是本申請一實施例中數(shù)據(jù)刪除/修改場景流程示意圖;

圖9是本申請一實施例中數(shù)據(jù)查詢場景流程示意圖;

圖10是本申請一實施例中路由信息自動校正流程示意圖;

圖11A本申請一實施例中UGC視頻系統(tǒng)數(shù)據(jù)庫節(jié)點信息示意圖;

圖11B本申請一實施例中UGC視頻系統(tǒng)分庫策略信息示意圖;

圖11C本申請一實施例中UGC視頻系統(tǒng)數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)示意圖;

圖12A本申請一實施例中支付賬務(wù)系統(tǒng)數(shù)據(jù)庫節(jié)點信息示意圖;

圖12B本申請一實施例中支付賬務(wù)系統(tǒng)分庫策略信息示意圖;

圖12C本申請一實施例中支付賬務(wù)系統(tǒng)數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)示意圖。

具體實施方式

下面將結(jié)合本申請實施例中的附圖,對本申請實施例中的技術(shù)方案進行描述。

圖1是本申請一實施例的數(shù)據(jù)庫系統(tǒng)架構(gòu)圖,如圖1所示,該數(shù)據(jù)庫系統(tǒng)包括:

應(yīng)用系統(tǒng)101、數(shù)據(jù)庫102以及數(shù)據(jù)庫路由裝置103,應(yīng)用系統(tǒng)101包含多個不同的業(yè)務(wù)應(yīng)用(應(yīng)用1-應(yīng)用N),可以從數(shù)據(jù)庫102讀取和調(diào)用業(yè)務(wù)數(shù)據(jù)用以提供不同的業(yè)務(wù),數(shù)據(jù)庫102包含多個數(shù)據(jù)庫節(jié)點(數(shù)據(jù)庫1-數(shù)據(jù)庫N)用以存儲業(yè)務(wù)數(shù)據(jù)供應(yīng)用系統(tǒng)101使用,數(shù)據(jù)庫的各個節(jié)點存儲的業(yè)務(wù)數(shù)據(jù)可以是不同的。數(shù)據(jù)庫路由裝置103向應(yīng)用系統(tǒng)101提供數(shù)據(jù)路由查詢功能。數(shù)據(jù)庫路由裝置103包括:

策略配置模塊1031、路由模塊1032、存儲模塊1033。

策略配置模塊1031用于配置數(shù)據(jù)庫節(jié)點的節(jié)點信息,分庫策略信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)等。其中數(shù)據(jù)庫節(jié)點信息如圖2所述,該圖僅為舉例說明,在實際使用中,數(shù)據(jù)庫節(jié)點信息具體內(nèi)容和表現(xiàn)形式可以根據(jù)實際使用場景進行調(diào)整。如圖2所示,數(shù)據(jù)庫節(jié)點信息包括:數(shù)據(jù)類型、描述、數(shù)據(jù)庫類型、數(shù)據(jù)庫節(jié)點、數(shù)據(jù)庫表、路由字段之間的映射關(guān)系。分庫策略信息如圖3所示,該圖僅為舉例說明,在實際使用中,分庫策略信息具體內(nèi)容和表現(xiàn)形式可以根據(jù)實際使用場景進行調(diào)整,如圖3所示,分庫策略信息包括:數(shù)據(jù)類型、策略描述、開始時間、結(jié)束時間、選庫策略之間的映射關(guān)系。數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)如圖4所示,該圖僅為舉例說明,在實際使用中,數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)具體內(nèi)容和表現(xiàn)形式可以根據(jù)實際使用場景進行調(diào)整。數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)如圖4所示,包括數(shù)據(jù)類型、路由字段值以及數(shù)據(jù)庫節(jié)點。

路由模塊1032為應(yīng)用系統(tǒng)訪問數(shù)據(jù)庫節(jié)點提供數(shù)據(jù)路由查詢服務(wù),還用于從數(shù)據(jù)庫加載數(shù)據(jù)庫路由信息。具體的,路由模塊1032從策略配置模塊1031獲取數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu),根據(jù)所述數(shù)據(jù)庫節(jié)點信息從應(yīng)用系統(tǒng)各個數(shù)據(jù)庫節(jié)點讀取數(shù)據(jù),按照所述數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)加載數(shù)據(jù)庫路由信息,將數(shù)據(jù)庫路由信息存儲到存儲模塊1033中,數(shù)據(jù)庫路由信息包括數(shù)據(jù)類型、路由字段值和數(shù)據(jù)庫節(jié)點之間的映射關(guān)系。

需要注意的是,本申請方案主要是為了解決關(guān)系型數(shù)據(jù)庫不能支持分布式擴展問題,但是本申請方案也可以適用于其他類型的數(shù)據(jù)庫,比如非關(guān)系型數(shù)據(jù)庫。本申請實施例對數(shù)據(jù)庫類型不做限定。

在實際應(yīng)用場景中,數(shù)據(jù)庫路由裝置可以由服務(wù)器提供,比如數(shù)據(jù)庫路由服務(wù)器,下面結(jié)合附圖對本申請實施例中的數(shù)據(jù)庫路由服務(wù)器作進一步介紹,圖5為本申請實施例的數(shù)據(jù)庫路由服務(wù)器的結(jié)構(gòu)示意圖,如圖5所示,數(shù)據(jù)庫路由服務(wù)器500可包括:

包括至少一個處理器501,通信總線502,存儲器503以及至少一個通信接口504。

處理器501可以是一個通用中央處理器(CPU),微處理器,特定應(yīng)用集成電路(application-specific integrated circuit,ASIC),或一個或多個用于控制本申請方案程序執(zhí)行的集成電路。

通信總線502可包括一通路,在上述組件之間傳送信息。所述通信接口504,使用任何收發(fā)器一類的裝置,用于與其他設(shè)備或通信網(wǎng)絡(luò)通信,如以太網(wǎng),無線接入網(wǎng)(RAN),無線局域網(wǎng)(Wireless Local Area Networks,WLAN)等。

存儲器502可以是只讀存儲器(read-only memory,ROM)或可存儲靜態(tài)信息和指令的其他類型的靜態(tài)存儲設(shè)備,隨機存取存儲器(random access memory,RAM)或者可存儲信息和指令的其他類型的動態(tài)存儲設(shè)備,也可以是電可擦可編程只讀存儲器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、只讀光盤(Compact Disc Read-Only Memory,CD-ROM)或其他光盤存儲、光碟存儲(包括壓縮光碟、激光碟、光碟、數(shù)字通用光碟、藍光光碟等)、磁盤存儲介質(zhì)或者其他磁存儲設(shè)備、或者能夠用于攜帶或存儲具有指令或數(shù)據(jù)結(jié)構(gòu)形式的期望的程序代碼并能夠由計算機存取的任何其他介質(zhì),但不限于此。存儲器可以是獨立存在,通過總線與處理器相連接。存儲器也可以和處理器集成在一起。

其中,所述存儲器503用于存儲執(zhí)行本申請方案的應(yīng)用程序代碼,并由處理器501來控制執(zhí)行。所述處理器501用于執(zhí)行所述存儲器503中存儲的應(yīng)用程序代碼。

在具體實現(xiàn)中,作為一種實施例,處理器501可以包括一個或多個CPU,例如圖5中的CPU0和CPU1。

在具體實現(xiàn)中,作為一種實施例,數(shù)據(jù)庫路由服務(wù)器500可以包括多個處理器,例如圖5中的處理器501和處理器508。這些處理器中的每一個可以是一個單核(single-CPU)處理器,也可以是一個多核(multi-CPU)處理器。這里的處理器可以指一個或多個設(shè)備、電路、和/或用于處理數(shù)據(jù)(例如計算機程序指令)的處理核。

在具體實現(xiàn)中,作為一種實施例,數(shù)據(jù)庫路由服務(wù)器500還可以包括輸出設(shè)備505和輸入設(shè)備506。輸出設(shè)備505和處理器501通信,可以以多種方式來顯示信息。例如,輸出設(shè)備505可以是液晶顯示器(liquid crystal display,LCD),發(fā)光二級管(light emitting diode,LED)顯示設(shè)備,陰極射線管(cathode ray tube,CRT)顯示設(shè)備,或投影儀(projector)等。輸入設(shè)備506和處理器501通信,可以以多種方式接受用戶的輸入。例如,輸入設(shè)備506可以是鼠標、鍵盤、觸摸屏設(shè)備或傳感設(shè)備等。

上述的數(shù)據(jù)庫路由服務(wù)器500可以是一個通用計算機設(shè)備或者是一個專用計算機設(shè)備。在具體實現(xiàn)中,數(shù)據(jù)庫路由服務(wù)器500可以是臺式機、便攜式電腦、網(wǎng)絡(luò)服務(wù)器、掌上電腦(Personal Digital Assistant,PDA)、移動手機、平板電腦、無線終端設(shè)備、通信設(shè)備、嵌入式設(shè)備或有圖5中類似結(jié)構(gòu)的設(shè)備。本申請實施例不限定數(shù)據(jù)庫路由服務(wù)器的類型。

在具體的使用場景中,數(shù)據(jù)庫路由服務(wù)器500的存儲器506可以存儲如圖2-圖4所示的數(shù)據(jù)庫節(jié)點信息,分庫策略信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫路由信息等,還可以存儲可執(zhí)行程序,該可執(zhí)行程序可以包含如圖1所示數(shù)據(jù)庫路由裝置的各個模塊,處理器在執(zhí)行本申請方案時,通過調(diào)用和執(zhí)行數(shù)據(jù)庫路由裝置的各個模塊來實現(xiàn)如下所述的數(shù)據(jù)庫路由查詢方法。

下面結(jié)合實際使用場景對本申請實施例做詳細介紹,如圖6所示,為數(shù)據(jù)庫路由信息加載流程,包括如下步驟:

601、路由模塊從策略配置模塊讀取配置信息,包括數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)。

602、路由模塊根據(jù)數(shù)據(jù)庫節(jié)點信息循環(huán)從各個數(shù)據(jù)庫節(jié)點加載所有數(shù)據(jù)庫路由信息。

具體的,路由模塊根據(jù)數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)從各個數(shù)據(jù)庫逐一讀取數(shù)據(jù)庫表中每條數(shù)據(jù)的路由字段值,將獲取的路由字段值添加在數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)中,得到數(shù)據(jù)庫路由信息??蛇x的,數(shù)據(jù)庫路由信息可以由二維圖表的方式進行描述,各個數(shù)據(jù)庫的路由信息可以分別以獨立的二維圖表描述,方便進行數(shù)據(jù)庫路由信息的更新校正。當然多個數(shù)據(jù)庫的路由信息也可在一個二維圖表中合并描述,降低管理的復(fù)雜度。

603、將數(shù)據(jù)庫路由信息發(fā)送給存儲模塊進行存儲。

在本實施例執(zhí)行前,運營人員還需要根據(jù)各個數(shù)據(jù)庫節(jié)點的數(shù)據(jù)情況在策略配置模塊上配置數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)。具體的的配置操作可以直接修改策略配置模塊的配置信息,或者在策略配置模塊提供的用戶操作界面上進行操作。

圖7為本申請實施例的數(shù)據(jù)新增場景的流程示意圖,如圖7所示,包括如下步驟:

701、路由模塊接收應(yīng)用發(fā)送的路由信息查詢請求,該路由信息查詢請求中包括數(shù)據(jù)類型、數(shù)據(jù)新增操作。

具體的,當應(yīng)用要新增數(shù)據(jù)時,需要調(diào)用路由模塊提供的新增數(shù)據(jù)存儲節(jié)點申請接口,該接口數(shù)據(jù)接口定義如下:

請求:數(shù)據(jù)類型

響應(yīng):數(shù)據(jù)庫節(jié)點標識

702、路由模塊從存儲模塊讀取數(shù)據(jù)分庫策略。

703、路由模塊根據(jù)分庫策略和數(shù)據(jù)類型選擇一個數(shù)據(jù)庫節(jié)點用于存儲新增數(shù)據(jù)。

具體的,路由模塊還可根據(jù)系統(tǒng)當前時間確定使用的分庫策略,然后根據(jù)分庫策略和數(shù)據(jù)類型選擇一個數(shù)據(jù)庫節(jié)點,進一步的,當存在多個滿足分庫策略的數(shù)據(jù)庫時,還可以根據(jù)數(shù)據(jù)庫存儲情況,負載情況等,選擇負載較輕的數(shù)據(jù)庫節(jié)點作為新增數(shù)據(jù)的存儲節(jié)點。

704、路由模塊將選擇的數(shù)據(jù)庫節(jié)點標識反饋給所述應(yīng)用。

705、應(yīng)用根據(jù)數(shù)據(jù)庫節(jié)點標識到對應(yīng)的數(shù)據(jù)庫節(jié)點存儲新增數(shù)據(jù)。

706、應(yīng)用將新增數(shù)據(jù)的路由信息發(fā)送給路由模塊。

具體的,如果數(shù)據(jù)新增成功,應(yīng)用調(diào)用路由信息新增數(shù)據(jù)同步接口將新增數(shù)據(jù)的路由信息同步給路由模塊,該路由信息同步接口結(jié)構(gòu)定義如下:

請求:數(shù)據(jù)類型、路由字段值、數(shù)據(jù)庫節(jié)點標識

響應(yīng):成功/失敗

707、路由模塊更新存儲模塊存儲的數(shù)據(jù)庫路由信息。

路由模塊將新增數(shù)據(jù)的路由信息添加到存儲模塊存儲的數(shù)據(jù)庫路由信息中。

圖8為本實施例的數(shù)據(jù)刪除/修改場景流程示意圖,如圖8所示,包括如下步驟:

801、路由模塊接收應(yīng)用發(fā)送的路由信息查詢請求,該路由信息查詢請求中包括數(shù)據(jù)類型、路由字段值、數(shù)據(jù)刪除或者修改操作。

具體的,當應(yīng)用要對數(shù)據(jù)進行刪除或者修改操作時,需要調(diào)用路由模塊提供的路由信息查詢接口,該接口數(shù)據(jù)接口定義如下:

請求:數(shù)據(jù)類型、路由字段值

響應(yīng):數(shù)據(jù)庫節(jié)點標識

802、路由模塊從存儲模塊讀取數(shù)據(jù)庫路由信息。

803、路由模塊根據(jù)路由字段值、數(shù)據(jù)類型與數(shù)據(jù)庫路由信息確定該數(shù)據(jù)存儲的數(shù)據(jù)庫節(jié)點。

804、路由模塊將確定的數(shù)據(jù)庫節(jié)點標識反饋給所述應(yīng)用。

805、應(yīng)用根據(jù)數(shù)據(jù)庫節(jié)點標識到對應(yīng)的數(shù)據(jù)庫節(jié)點修改或者刪除數(shù)據(jù)。

806、應(yīng)用將修改或者刪除的數(shù)據(jù)的路由信息發(fā)送給路由模塊。

具體的,如果數(shù)據(jù)修改或者刪除成功,應(yīng)用調(diào)用刪除數(shù)據(jù)同步接口將刪除的數(shù)據(jù)的路由信息同步給路由模塊。

該刪除數(shù)據(jù)同步接口定義如下:

請求:數(shù)據(jù)類型、路由字段值

響應(yīng):成功/失敗

如果修改數(shù)據(jù)成功,應(yīng)用調(diào)用修改數(shù)據(jù)同步接口將修改的數(shù)據(jù)的路由信息同步給路由模塊。

該修改數(shù)據(jù)同步接口定義如下:

請求:數(shù)據(jù)類型、路由字段值、原數(shù)據(jù)庫節(jié)點標識、新的數(shù)據(jù)庫節(jié)點

響應(yīng):成功/失敗

807、路由模塊更新存儲模塊存儲的數(shù)據(jù)庫路由信息。

若刪除數(shù)據(jù)成功路由模塊根據(jù)數(shù)據(jù)類型、路由字段值刪除該數(shù)據(jù)的路由信息。

若修改數(shù)據(jù)成功,路由模塊根據(jù)數(shù)據(jù)類型、路由字段值、原數(shù)據(jù)庫節(jié)點標識、新的數(shù)據(jù)庫節(jié)點標識將該數(shù)據(jù)的路由信息進行修改更新。

圖9為本申請業(yè)務(wù)數(shù)據(jù)查詢場景示意流程圖,如圖9所示包括以下步驟:

901、路由模塊接收應(yīng)用發(fā)送的路由信息查詢請求,該路由信息查詢請求中包括數(shù)據(jù)類型、路由字段值、查詢操作。

具體的,當應(yīng)用要對數(shù)據(jù)進行查詢操作時,需要調(diào)用路由模塊提供的路由信息查詢接口,該接口數(shù)據(jù)接口定義如下:

請求:數(shù)據(jù)類型、路由字段值

響應(yīng):數(shù)據(jù)庫節(jié)點標識

902、路由模塊從存儲模塊讀取數(shù)據(jù)庫路由信息。

903、路由模塊根據(jù)路由字段值、數(shù)據(jù)類型與數(shù)據(jù)庫路由信息確定該數(shù)據(jù)存儲的數(shù)據(jù)庫節(jié)點。

904、路由模塊將確定的數(shù)據(jù)庫節(jié)點標識反饋給所述應(yīng)用。

905、應(yīng)用根據(jù)數(shù)據(jù)庫節(jié)點標識到對應(yīng)的數(shù)據(jù)庫節(jié)點讀取數(shù)據(jù)。

906、應(yīng)用根據(jù)讀取的數(shù)據(jù)進行相應(yīng)的業(yè)務(wù)處理。

本實施例中,應(yīng)用僅需調(diào)用一次數(shù)據(jù)庫路由裝置的路由信息查詢接口即可獲取該數(shù)據(jù)存儲的數(shù)據(jù)庫節(jié)點,數(shù)據(jù)的讀取和調(diào)用還是由應(yīng)用和數(shù)據(jù)庫直接交互,對原來的流程不需要進行修改適配。而且因為數(shù)據(jù)庫路由信息可以放在內(nèi)存中,單節(jié)點路由信息查詢接口性能可達到幾萬TPS,時延小于5毫秒。一般情況下,一套數(shù)據(jù)庫路由裝置至少同時可支撐10個業(yè)務(wù)節(jié)點以上,且能夠?qū)υ瓨I(yè)務(wù)系統(tǒng)的整體性能影響控制在10%以內(nèi)。

圖10為本實施例的路由信息自動校正流程示意圖,如圖10所示包括:

1001、在空閑時間定時啟動校正流程(時間可配置)。

1002、從各個數(shù)據(jù)庫循環(huán)獲取數(shù)據(jù)庫路由信息。

具體的,根據(jù)配置信息,包括數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)庫節(jié)點信息,讀取某數(shù)據(jù)庫數(shù)據(jù)表所有數(shù)據(jù)的路由字段值,按該路由字段值進行排序。

1003、從存儲模塊查詢該數(shù)據(jù)庫在本地數(shù)據(jù)庫路由信息中的路由字段值,也按路由字段值進行排序。

1004、從小到大,對排序后的兩份路由字段值數(shù)據(jù)進行對比。

1005、對于兩邊不一致的數(shù)據(jù),在存儲模塊的數(shù)據(jù)庫路由信息中進行修正。

該實施例可以保證數(shù)據(jù)庫路由裝置存儲的數(shù)據(jù)庫路由信息的準確性,從而保證路由調(diào)度的準確度。

下面基于實際應(yīng)用對本申請實施例進一步說明,以用戶原創(chuàng)內(nèi)容(User Generated Content,UGC)視頻系統(tǒng)(如優(yōu)酷)為例,對本申請方案進行說明。

業(yè)務(wù)場景如下:

在UGC視頻系統(tǒng)中,普通用戶可以上傳自己錄制的小視頻,因此在這個系統(tǒng)中的視頻內(nèi)容會很多,可達到億級,同時業(yè)務(wù)上對這些內(nèi)容數(shù)據(jù)庫的訪問頻率很頻繁,共需要3臺Oracle數(shù)據(jù)庫來分擔內(nèi)容數(shù)據(jù)的存儲和業(yè)務(wù)請求的壓力。在2015年已先上線1臺數(shù)據(jù)庫節(jié)點,后來發(fā)現(xiàn)數(shù)據(jù)庫容量不足,引入本申請方案支持分布式數(shù)據(jù)庫后,規(guī)劃在2016增加數(shù)據(jù)庫服務(wù)器DB2存儲當年的內(nèi)容,在2017年增加數(shù)據(jù)庫服務(wù)器DB3存儲當年的內(nèi)容,2018年后發(fā)布的內(nèi)容向三臺數(shù)據(jù)庫上平均發(fā)布。

首先,在應(yīng)用本申請方案之前,需要作如下適配工作:

UGC系統(tǒng)在內(nèi)容新增管理流程中,實現(xiàn)和本申請實施例中的數(shù)據(jù)庫路由裝置新增數(shù)據(jù)存儲節(jié)點申請接口和新增數(shù)據(jù)同步接口的對接。

UGC系統(tǒng)在內(nèi)容修改和內(nèi)容刪除管理流程中,實現(xiàn)和本申請實施例中的數(shù)據(jù)庫路由裝置路由信息查詢接口、修改數(shù)據(jù)同步接口和刪除數(shù)據(jù)同步接口的對接。

UGC系統(tǒng)在業(yè)務(wù)查詢流程中,實現(xiàn)和本申請實施例中的數(shù)據(jù)庫路由裝置路由信息查詢接口的對接。

同時還需要在數(shù)據(jù)庫路由裝置上根據(jù)UGC視頻系統(tǒng)的實際情況配置數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫分庫策略以及數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)如圖11A,11B,11C所示。

具體內(nèi)容查詢、修改、刪除等流程可參照如圖6-10對應(yīng)的實施例。

本UGC視頻系統(tǒng)在引入數(shù)據(jù)庫路由裝置的情況下,可以根據(jù)實際業(yè)務(wù)需求對數(shù)據(jù)庫節(jié)點進行分布式擴展,從而極大的提升了UGC視頻系統(tǒng)數(shù)據(jù)庫的讀寫性能。

下面以支付賬務(wù)系統(tǒng)(如支付寶)中的應(yīng)用為例,對本申請方案進行說明。

業(yè)務(wù)場景:

在支付賬務(wù)系統(tǒng)中,用戶賬號數(shù)量可能到達億級別,并且用戶的賬號可能包含注冊賬號,手機號碼、Email等幾種方式。一次性規(guī)劃10個對等的MySQL數(shù)據(jù)庫。

在應(yīng)用本申請方案之前,需要作如下適配工作:

支付賬務(wù)系統(tǒng)在內(nèi)容新增管理流程中,實現(xiàn)和本申請實施例中的數(shù)據(jù)庫路由裝置新增數(shù)據(jù)存儲節(jié)點申請接口和新增數(shù)據(jù)同步接口的對接。

支付賬務(wù)系統(tǒng)在內(nèi)容修改和內(nèi)容刪除管理流程中,實現(xiàn)和本申請實施例中的數(shù)據(jù)庫路由裝置路由信息查詢接口、修改數(shù)據(jù)同步接口和刪除數(shù)據(jù)同步接口的對接。

支付賬務(wù)系統(tǒng)系統(tǒng)在業(yè)務(wù)查詢流程中,實現(xiàn)和本申請實施例中的數(shù)據(jù)庫路由裝置路由信息查詢接口的對接。

同時還需要在數(shù)據(jù)庫路由裝置上根據(jù)支付賬務(wù)系統(tǒng)的實際情況配置數(shù)據(jù)庫節(jié)點信息和數(shù)據(jù)庫分庫策略以及數(shù)據(jù)庫路由信息數(shù)據(jù)結(jié)構(gòu)如圖12A,12B,12C所示。

具體內(nèi)容查詢、新增、修改、刪除等流程可參照如圖6-10對應(yīng)的實施例。

本支付賬務(wù)系統(tǒng)在引入數(shù)據(jù)庫路由裝置的情況下,可以根據(jù)實際業(yè)務(wù)需求對數(shù)據(jù)庫節(jié)點進行分布式擴展,從而極大的提升了支付賬戶系統(tǒng)數(shù)據(jù)庫的讀寫性能。

本領(lǐng)域普通技術(shù)人員可以意識到,結(jié)合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結(jié)合來實現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計約束條件。專業(yè)技術(shù)人員可以對每個特定的應(yīng)用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應(yīng)認為超出本申請的范圍。

所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應(yīng)過程,在此不再贅述。

在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另外,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口、裝置或單元的間接耦合或通信連接,也可以是電的,機械的或其它的形式連接。

所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)單元上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部單元來實現(xiàn)本申請實施例方案的目的。

另外,在本申請各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以是兩個或兩個以上單元集成在一個單元中。上述集成的單元既可以采用硬件的形式實現(xiàn),也可以采用軟件功能單元的形式實現(xiàn)。

所述集成的單元如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本申請的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分,或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM,Read-Only Memory)、隨機存取存儲器(RAM,Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。

以上所述,僅為本申請的具體實施方式,但本申請的保護范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本申請揭露的技術(shù)范圍內(nèi),可輕易想到各種等效的修改或替換,這些修改或替換都應(yīng)涵蓋在本申請的保護范圍之內(nèi)。因此,本申請的保護范圍應(yīng)以權(quán)利要求的保護范圍為準。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
定州市| 图木舒克市| 南通市| 锡林郭勒盟| 阿城市| 景谷| 扶风县| 剑河县| 子洲县| 疏勒县| 五家渠市| 江门市| 石嘴山市| 武夷山市| 屯门区| 乌苏市| 邳州市| 莆田市| 连城县| 永寿县| 鄢陵县| 荣成市| 青州市| 五华县| 长泰县| 项城市| 睢宁县| 濮阳市| 陆良县| 盐城市| 聂荣县| 东台市| 揭西县| 新兴县| 韶山市| 基隆市| 辽阳市| 清新县| 漳平市| 铜山县| 介休市|