[發明專利]處理數據庫操作請求的方法和設備有效
| 申請號: | 201210511128.5 | 申請日: | 2012-12-03 |
| 公開(公告)號: | CN103020193A | 公開(公告)日: | 2013-04-03 |
| 發明(設計)人: | 朱超;陳超;桂勇哲;代兵;王超 | 申請(專利權)人: | 北京奇虎科技有限公司;奇智軟件(北京)有限公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京市中倫律師事務所 11410 | 代理人: | 程義貴;張思悅 |
| 地址: | 100088 北京市西城區新*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 處理 數據庫 操作 請求 方法 設備 | ||
技術領域
本發明涉及數據庫技術,尤其涉及一種處理數據庫操作請求的方法和設備。
背景技術
在計算機時代,出現了專門用于存儲、管理數據的數據庫系統,而且數據庫系統在網絡應用上日益普及。一般來說,數據庫系統中會包括一個或者多個數據庫,專門用于存儲某個應用的數據。在關系型數據庫中,數據一般分布在多張數據表中,每張數據表存在某個方面的數據。例如在一個常用的網絡應用的數據庫中,有一張數據表存儲用戶的基本信息,有另一張數據表存儲用戶的登錄信息等。
隨著時代的發展和技術的進步,目前人類社會每天產生的數據量相當驚人,海量數據造成關系型數據庫(例如諸如MySQL)的數據表容量越來越大,一張表的條目(記錄)數可達幾千萬甚至上億條。數據庫在對數據表進行處理時,需要鎖表、操作、解鎖等幾個階段,一張數據表的記錄數過多,會造成很多操作同時等待解鎖,造成數據庫處理大型數據表時顯得力不從心,性能下降嚴重。為了提高數據庫操作數據表的性能,有必要將邏輯上的一張較大的表拆分成物理上的多張較小的子表。
最常見的分表方案是在表結構里設置一個特殊的字段,以下稱其為分表字段,其類型一般為整數,也可能為字符串等等。不同的記錄根據分表字段值的不同,使用哈希等方式,將分表字段值與某個編號的子表關聯。此方案最大的缺點是需要應用編寫人員自己控制數據與具體的子表之間的對應關系,應用編寫人員必須對數據庫底層子表的實現方式非常了解,在編寫具體的業務邏輯的同時,還要分心于邏輯表與物理子表的關系處理上,開發效率受到嚴重影響。其次,此方案的分表策略定得過于死板,不夠靈活。如果要調整子表數量或是修改分表字段值與子表序號的對應關系,則應用編寫人員必須也對代碼作出相應修改,才能使應用在新的分表架構上正確運行,應用系統的維護成本很高。
發明內容
鑒于上述問題,提出了本發明,以便提供一種克服上述問題或者至少部分地解決上述問題的分配數據庫操作請求的方法和設備。
依據本發明的一個方面,提供了一種處理數據庫操作請求的方法,其包括步驟:接收對于數據庫的操作請求;解析該操作請求,以獲取該操作請求中的第一數據表名;根據分表信息解析該操作請求,以獲取該操作請求中與該第一數據表名相關聯的分表字段以及與該分表字段相對應的字段值,其中該分表信息包括要進行分表的數據表的數據表名以及與該數據表名相關聯的分表字段;根據該分表信息和所獲取的分表字段相對應的字段值,將該操作請求中的第一數據表名修改為第二數據表名;以及將修改后的操作請求發送給數據庫服務器。
可選地,根據本發明的實施例的處理數據庫操作請求的方法還包括步驟:如果該操作請求中不存在第一數據表名,則將該操作請求發送給數據庫服務器。
可選地,根據本發明的實施例的處理數據庫操作請求的方法還包括步驟:在該根據分表信息解析操作請求的步驟中,如果該第一數據表名不在該分表信息中,則將該操作請求發送給數據庫服務器;如果該第一數據表名在該分表信息中、但未從該操作請求中解析出與該第一數據表名相關聯的分表字段及該分表字段相對應的字段值,則返回錯誤提示。
可選地,在根據本發明的實施例的處理數據庫操作請求的方法中,該分表信息還包括要進行分表的數據表的子表數量,該將操作請求中的第一數據表名修改為第二數據表名的步驟還包括:根據與該分表字段相對應的字段值以及該數據表的子表數量,將該第一數據表名修改為第二數據表名。
可選地,在根據本發明的實施例的處理數據庫操作請求的方法中,該第二數據表名對應于第一數據表分表之后生成的多個第二數據表之一,其包括第一數據表名以及第二數據表標識。
可選地,在根據本發明的實施例的處理數據庫操作請求的方法中,該操作請求包括數據庫程序語言語句。
可選地,在根據本發明的實施例的處理數據庫操作請求的方法中,該數據庫程序語言語句是結構化查詢語言SQL語句,該數據庫是MySQL數據庫。
依據本發明的另一方面,提供了一種處理數據庫操作請求的設備,包括:應用程序接口,適于從應用服務器接收對于數據庫的操作請求;解析器,適于解析該操作請求,以獲取該操作請求中的第一數據表名,并且根據分表信息解析該操作請求,以獲取該操作請求中與該第一數據表名相關聯的分表字段以及與該分表字段相對應的字段值,其中該分表信息包括要進行分表的數據表的數據表名以及與該數據表名相關聯的分表字段;操作請求修改器,適于根據該分表信息和所獲取的分表字段相對應的字段值,將該操作請求中的第一數據表名修改為第二數據表名;以及數據庫接口,適于將修改后的操作請求發送給數據庫服務器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京奇虎科技有限公司;奇智軟件(北京)有限公司,未經北京奇虎科技有限公司;奇智軟件(北京)有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210511128.5/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:二級減速后驅動橋總成
- 下一篇:移動終端及其快捷文件管理方法





