• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法和裝置制造方法及圖紙

    技術(shù)編號:15690874 閱讀:75 留言:0更新日期:2017-06-24 03:37
    本發(fā)明專利技術(shù)公開了一種實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法和裝置,屬于數(shù)據(jù)處理技術(shù)領(lǐng)域。數(shù)據(jù)庫包括主庫和從庫,從庫是對主庫的備份,該方法包括:接收應(yīng)用服務(wù)器發(fā)送的結(jié)構(gòu)化查詢語言SQL訪問請求;根據(jù)該SQL訪問請求,獲取該SQL訪問請求對應(yīng)的操作類型和該SQL訪問請求的請求標(biāo)識;如果該操作類型為寫操作類型,則將該SQL訪問請求對應(yīng)的待寫入數(shù)據(jù)寫入主庫中;如果該操作類型為讀操作類型,根據(jù)該請求標(biāo)識和讀寫分離表確定是否需要讀寫分離,如果需要讀寫分離,從從庫中讀取該SQL訪問請求對應(yīng)的數(shù)據(jù),讀寫分離表包括需要進(jìn)行讀寫分離的SQL訪問請求的請求標(biāo)識。裝置包括:接收模塊,第一獲取模塊,寫入模塊和讀取模塊。本發(fā)明專利技術(shù)可以減少應(yīng)用程序的開發(fā)難度。

    Method and device for realizing read and write separation of database

    The invention discloses a method and a device for realizing read and write separation of a database, belonging to the technical field of data processing. The database includes the main library and from the library, from the library is on the primary database backup, the method includes: receiving the application server sends the structured query language SQL access request; according to the SQL access request access to the SQL access request corresponding to the type of operation and the SQL access request identifier; if the operation type is written the type of operation, the SQL access request to the corresponding writing data to be written to the main library; if the operation type is a read operation type, according to the request identifier and write separate table to determine whether the need to separate read and write, if you need to read and write separate, read from the SQL library from the corresponding data access request, read write separate table including request identification need to read and write separate SQL access requests. The device comprises a receiving module, a first acquiring module, a writing module and a reading module. The invention can reduce the difficulty of application development.

    【技術(shù)實(shí)現(xiàn)步驟摘要】
    實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法和裝置
    本專利技術(shù)涉及數(shù)據(jù)處理
    ,特別涉及一種實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法和裝置。
    技術(shù)介紹
    在互聯(lián)網(wǎng)數(shù)據(jù)庫解決方案中,MySQL(關(guān)系型數(shù)據(jù)庫)是一種比較常用的數(shù)據(jù)庫,MySQL在數(shù)據(jù)訪問并發(fā)量較高的情況下,一般會采用讀寫分離的技術(shù)實(shí)現(xiàn)數(shù)據(jù)的讀操作和寫操作,讀寫分離是指在數(shù)據(jù)庫中設(shè)置一個主庫和至少一個從庫,主庫中的數(shù)據(jù)實(shí)時(shí)同步到從庫中,主庫擔(dān)任寫操作,從庫擔(dān)任讀操作。其中,主庫對應(yīng)的連接串,用于唯一標(biāo)識主庫,每個從庫對應(yīng)的連接串,用于唯一標(biāo)識從庫。當(dāng)某個應(yīng)用程序想要實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離時(shí),該應(yīng)用程序的開發(fā)人員先將主庫的連接串寫入該應(yīng)用程序包括的所有寫操作的SQL(StructuredQueryLanguage,結(jié)構(gòu)化查詢語言)語句中,將從庫的連接串寫入該應(yīng)用程序包括的所有讀操作的SQL語句中。在運(yùn)行該應(yīng)用程序時(shí),當(dāng)運(yùn)行到讀操作類型的SQL語句且該SQL語句中包括主庫的連接串時(shí),應(yīng)用程序根據(jù)主庫的連接串,從主庫中讀取該SQL語句對應(yīng)的數(shù)據(jù);當(dāng)運(yùn)行到讀操作類型的SQL語句且該SQL語句中包括從庫的連接串時(shí),應(yīng)用程序根據(jù)從庫的連接串,從從庫中讀取該SQL語句對應(yīng)的數(shù)據(jù)。在實(shí)現(xiàn)本專利技術(shù)的過程中,專利技術(shù)人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:上述方法是通過編程實(shí)現(xiàn)讀寫分離,這樣增加了應(yīng)用程序的開發(fā)難度。
    技術(shù)實(shí)現(xiàn)思路
    為了解決現(xiàn)有技術(shù)的問題,本專利技術(shù)提供了一種實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法和裝置。技術(shù)方案如下:一種實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法,所述數(shù)據(jù)庫包括主庫和從庫,所述從庫是對所述主庫的備份,所述方法包括:接收應(yīng)用服務(wù)器發(fā)送的結(jié)構(gòu)化查詢語言SQL訪問請求;根據(jù)所述SQL訪問請求,獲取所述SQL訪問請求對應(yīng)的操作類型和所述SQL訪問請求的請求標(biāo)識;如果所述操作類型為寫操作類型,則將所述SQL訪問請求對應(yīng)的待寫入數(shù)據(jù)寫入所述主庫中;如果所述操作類型為讀操作類型,根據(jù)所述請求標(biāo)識和讀寫分離表確定是否需要讀寫分離,如果需要讀寫分離,從所述從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù),所述讀寫分離表包括需要進(jìn)行讀寫分離的SQL訪問請求的請求標(biāo)識。優(yōu)選的,所述方法還包括:根據(jù)讀寫信息記錄表,在所述讀寫分離表中添加或刪除SQL訪問請求的請求標(biāo)識,所述讀寫信息記錄表用于存儲所述應(yīng)用服務(wù)器歷史發(fā)送的SQL訪問請求的讀寫信息;或者,在所述讀寫分離表中添加或刪除用戶選擇的SQL訪問請求。優(yōu)選的,所述根據(jù)讀寫信息記錄表,在所述讀寫分離表中添加或刪除SQL訪問請求的請求標(biāo)識,包括:從讀寫信息記錄表中選擇操作類型為讀操作類型且讀寫信息滿足預(yù)設(shè)讀寫分離條件的SQL訪問請求的請求標(biāo)識,將所述選擇的請求標(biāo)識添加到所述讀寫分離表中;或者,根據(jù)讀寫信息記錄表,從所述讀寫分離表中選擇讀寫信息不滿足預(yù)設(shè)讀寫分離條件的SQL訪問請求的請求標(biāo)識,將所述選擇的請求標(biāo)識,從所述讀寫分離表中刪除。優(yōu)選的,所述方法還包括:獲取所述SQL訪問請求的讀寫信息;根據(jù)所述讀寫信息,更新所述讀寫信息記錄表中的所述SQL訪問請求對應(yīng)的讀寫信息。優(yōu)選的,所述根據(jù)所述SQL訪問請求,獲取所述SQL訪問請求對應(yīng)的操作類型和所述SQL訪問請求的請求標(biāo)識,包括:解析所述SQL訪問請求,從所述SQL訪問請求中獲取所述SQL訪問請求對應(yīng)的操作類型;對所述SQL訪問請求進(jìn)行歸一化處理,得到處理后的SQL訪問請求;對所述處理后的SQL訪問請求進(jìn)行消息摘要算法第五版MD5類運(yùn)算,得到所述SQL訪問請求的請求標(biāo)識。優(yōu)選的,如果所述數(shù)據(jù)庫包括多個從庫,所述從所述從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù),包括:從所述多個從庫中選擇從庫,從所述選擇的從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù)。優(yōu)選的,所述從所述多個從庫中選擇從庫,包括:獲取所述多個從庫中的每個從庫的同步時(shí)延信息,根據(jù)所述每個從庫的同步時(shí)延信息,從所述多個從庫中選擇同步時(shí)延最小或者同步時(shí)延信息滿足所述SQL訪問請求對應(yīng)的同步時(shí)延要求的從庫;或者,從所述讀寫分離表中獲取所述SQL訪問請求對應(yīng)的從庫,所述讀寫分離表還包括需要進(jìn)行讀寫分離的SQL訪問請求對應(yīng)的從庫;或者,獲取所述多個從庫中的每個從庫的負(fù)載信息,根據(jù)所述每個從庫的負(fù)載信息,從所述多個從庫中選擇負(fù)載最小的從庫。一種實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的裝置,所述數(shù)據(jù)庫包括主庫和從庫,所述從庫是對所述主庫的備份,所述裝置包括:接收模塊,用于接收應(yīng)用服務(wù)器發(fā)送的結(jié)構(gòu)化查詢語言SQL訪問請求;第一獲取模塊,用于根據(jù)所述SQL訪問請求,獲取所述SQL訪問請求對應(yīng)的操作類型和所述SQL訪問請求的請求標(biāo)識;寫入模塊,用于如果所述操作類型為寫操作類型,則將所述SQL訪問請求對應(yīng)的待寫入數(shù)據(jù)寫入所述主庫中;讀取模塊,用于如果所述操作類型為讀操作類型,根據(jù)所述請求標(biāo)識和讀寫分離表確定是否需要讀寫分離,如果需要讀寫分離,從所述從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù),所述讀寫分離表包括需要進(jìn)行讀寫分離的SQL訪問請求的請求標(biāo)識。優(yōu)選的,所述裝置還包括:第一更新模塊,用于根據(jù)讀寫信息記錄表,在所述讀寫分離表中添加或刪除SQL訪問請求的請求標(biāo)識,所述讀寫信息記錄表用于存儲所述應(yīng)用服務(wù)器歷史發(fā)送的SQL訪問請求的讀寫信息;或者,在所述讀寫分離表中添加或刪除用戶選擇的SQL訪問請求。優(yōu)選的,所述第一更新模塊,具體用于從讀寫信息記錄表中選擇操作類型為讀操作類型且讀寫信息滿足預(yù)設(shè)讀寫分離條件的SQL訪問請求的請求標(biāo)識,將所述選擇的請求標(biāo)識添加到所述讀寫分離表中;或者,所述第一更新模塊,具體用于根據(jù)讀寫信息記錄表,從所述讀寫分離表中選擇讀寫信息不滿足預(yù)設(shè)讀寫分離條件的SQL訪問請求的請求標(biāo)識,將所述選擇的請求標(biāo)識,從所述讀寫分離表中刪除。優(yōu)選的,所述裝置還包括:第二獲取模塊,用于獲取所述SQL訪問請求的讀寫信息;第二更新模塊,用于根據(jù)所述讀寫信息,更新所述讀寫信息記錄表中的所述SQL訪問請求對應(yīng)的讀寫信息。優(yōu)選的,所述第一獲取模塊,包括:解析單元,用于解析所述SQL訪問請求,從所述SQL訪問請求中獲取所述SQL訪問請求對應(yīng)的操作類型;處理單元,用于對所述SQL訪問請求進(jìn)行歸一化處理,得到處理后的SQL訪問請求;計(jì)算單元,用于對所述處理后的SQL訪問請求進(jìn)行消息摘要算法第五版MD10類運(yùn)算,得到所述SQL訪問請求的請求標(biāo)識。優(yōu)選的,所述讀取模塊,包括:選擇單元,用于從所述多個從庫中選擇從庫;讀取單元,用于從所述選擇的從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù)。優(yōu)選的,所述選擇單元,具體用于獲取所述多個從庫中的每個從庫的同步時(shí)延信息,根據(jù)所述每個從庫的同步時(shí)延信息,從所述多個從庫中選擇同步時(shí)延最小或者同步時(shí)延信息滿足所述SQL訪問請求對應(yīng)的同步時(shí)延要求的從庫;或者,所述選擇單元,具體用于從所述讀寫分離表中獲取所述SQL訪問請求對應(yīng)的從庫,所述讀寫分離表還包括需要進(jìn)行讀寫分離的SQL訪問請求對應(yīng)的從庫;或者,所述選擇單元,具體用于獲取所述多個從庫中的每個從庫的負(fù)載信息,根據(jù)所述每個從庫的負(fù)載信息,從所述多個從庫中選擇負(fù)載最小的從庫。在本專利技術(shù)實(shí)施例中,事先配置讀寫分離表,讀寫分離表包括需要進(jìn)行讀寫分離的SQL訪問請求的請求標(biāo)識;接收應(yīng)用服務(wù)器發(fā)送的SQL訪問請求;根據(jù)該SQL訪問請求,獲取該SQL訪問請求對應(yīng)的操作類型和該SQL訪問請求的本文檔來自技高網(wǎng)...
    實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法和裝置

    【技術(shù)保護(hù)點(diǎn)】
    一種實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法,其特征在于,所述數(shù)據(jù)庫包括主庫和從庫,所述從庫是對所述主庫的備份,所述方法包括:接收應(yīng)用服務(wù)器發(fā)送的結(jié)構(gòu)化查詢語言SQL訪問請求;根據(jù)所述SQL訪問請求,獲取所述SQL訪問請求對應(yīng)的操作類型和所述SQL訪問請求的請求標(biāo)識;如果所述操作類型為寫操作類型,則將所述SQL訪問請求對應(yīng)的待寫入數(shù)據(jù)寫入所述主庫中;如果所述操作類型為讀操作類型,根據(jù)所述請求標(biāo)識和讀寫分離表確定是否需要讀寫分離,如果需要讀寫分離,從所述從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù),所述讀寫分離表包括需要進(jìn)行讀寫分離的SQL訪問請求的請求標(biāo)識。

    【技術(shù)特征摘要】
    1.一種實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離的方法,其特征在于,所述數(shù)據(jù)庫包括主庫和從庫,所述從庫是對所述主庫的備份,所述方法包括:接收應(yīng)用服務(wù)器發(fā)送的結(jié)構(gòu)化查詢語言SQL訪問請求;根據(jù)所述SQL訪問請求,獲取所述SQL訪問請求對應(yīng)的操作類型和所述SQL訪問請求的請求標(biāo)識;如果所述操作類型為寫操作類型,則將所述SQL訪問請求對應(yīng)的待寫入數(shù)據(jù)寫入所述主庫中;如果所述操作類型為讀操作類型,根據(jù)所述請求標(biāo)識和讀寫分離表確定是否需要讀寫分離,如果需要讀寫分離,從所述從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù),所述讀寫分離表包括需要進(jìn)行讀寫分離的SQL訪問請求的請求標(biāo)識。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述方法還包括:根據(jù)讀寫信息記錄表,在所述讀寫分離表中添加或刪除SQL訪問請求的請求標(biāo)識,所述讀寫信息記錄表用于存儲所述應(yīng)用服務(wù)器歷史發(fā)送的SQL訪問請求的讀寫信息;或者,在所述讀寫分離表中添加或刪除用戶選擇的SQL訪問請求。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述根據(jù)讀寫信息記錄表,在所述讀寫分離表中添加或刪除SQL訪問請求的請求標(biāo)識或刪除所述讀寫分離表包括的部分SQL訪問請求的請求標(biāo)識,包括:從讀寫信息記錄表中選擇操作類型為讀操作類型且讀寫信息滿足預(yù)設(shè)讀寫分離條件的SQL訪問請求的請求標(biāo)識,將所述選擇的請求標(biāo)識添加到所述讀寫分離表中;或者,根據(jù)讀寫信息記錄表,從所述讀寫分離表中選擇讀寫信息不滿足預(yù)設(shè)讀寫分離條件的SQL訪問請求的請求標(biāo)識,將所述選擇的請求標(biāo)識,從所述讀寫分離表中刪除。4.根據(jù)所述權(quán)利要求2所述的方法,其特征在于,所述方法還包括:獲取所述SQL訪問請求的讀寫信息;根據(jù)所述讀寫信息,更新所述讀寫信息記錄表中的所述SQL訪問請求對應(yīng)的讀寫信息。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)所述SQL訪問請求,獲取所述SQL訪問請求對應(yīng)的操作類型和所述SQL訪問請求的請求標(biāo)識,包括:解析所述SQL訪問請求,從所述SQL訪問請求中獲取所述SQL訪問請求對應(yīng)的操作類型;對所述SQL訪問請求進(jìn)行歸一化處理,得到處理后的SQL訪問請求;對所述處理后的SQL訪問請求進(jìn)行消息摘要算法第五版MD5類運(yùn)算,得到所述SQL訪問請求的請求標(biāo)識。6.根據(jù)權(quán)利要求1所述的方法,其特征在于,如果所述數(shù)據(jù)庫包括多個從庫,所述從所述從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù),包括:從所述多個從庫中選擇從庫,從所述選擇的從庫中讀取所述SQL訪問請求對應(yīng)的數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的方法,其特征在于,所述從所述多個從庫中選擇從庫,包括:獲取所述多個從庫中的每個從庫的同步時(shí)延信息,根據(jù)所述每個從庫的同步時(shí)延信息,從所述多個從庫中選擇同步時(shí)延最小或者同步時(shí)延信息滿足所述SQL訪問請求對應(yīng)的同步時(shí)延要求的從庫;或者,從所述讀寫分離表中獲取所述SQL訪問請求對應(yīng)的從庫,所述讀寫分離表還包括需要進(jìn)行讀寫分離的SQL訪問請求對應(yīng)的從庫;或者,獲取所述多個從庫中的每個...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:吳炳錫
    申請(專利權(quán))人:北京新媒傳信科技有限公司
    類型:發(fā)明
    國別省市:北京,11

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲成av人无码亚洲成av人| 中文字字幕在线中文无码| 亚洲一区二区三区AV无码 | 亚洲AV无码一区二区三区牛牛| 久久午夜无码鲁丝片秋霞| 天码av无码一区二区三区四区 | 亚洲中文久久精品无码1 | 亚洲av午夜精品无码专区| 永久免费无码网站在线观看 | 少妇无码?V无码专区在线观看| 国产真人无码作爱视频免费| 无码人妻一区二区三区兔费| 国产无遮挡无码视频免费软件| 国产免费av片在线无码免费看| 无码人妻黑人中文字幕| 久久精品无码一区二区app| 97碰碰碰人妻视频无码| 国产色爽免费无码视频| 无码日韩人妻精品久久| 91久久精品无码一区二区毛片| 亚洲色中文字幕无码AV| 亚洲精品无码av天堂| 少妇爆乳无码专区| 无码av免费毛片一区二区| 亚洲av激情无码专区在线播放 | 久久成人无码国产免费播放| av无码aV天天aV天天爽| 国产AV无码专区亚洲AV麻豆丫| 91精品国产综合久久四虎久久无码一级| 国产成人AV一区二区三区无码| 日韩乱码人妻无码中文字幕视频| 亚洲欧洲免费无码| 亚洲成a∨人片在无码2023| 无码人妻一区二区三区免费手机| 午夜亚洲AV日韩AV无码大全| 中文字幕无码av激情不卡久久| 国产精品一区二区久久精品无码 | 中文字幕无码久久精品青草| 中文字幕无码久久人妻| 亚洲精品高清无码视频| 无码精品人妻一区二区三区人妻斩|