[發明專利]數據庫操作方法和裝置在審
| 申請號: | 202011333380.2 | 申請日: | 2020-11-24 |
| 公開(公告)號: | CN114546981A | 公開(公告)日: | 2022-05-27 |
| 發明(設計)人: | 汪勇;齊向東;吳云坤 | 申請(專利權)人: | 奇安信科技集團股份有限公司;網神信息技術(北京)股份有限公司 |
| 主分類號: | G06F16/21 | 分類號: | G06F16/21;G06F16/242;G06F16/25;G06F16/28 |
| 代理公司: | 中科專利商標代理有限責任公司 11021 | 代理人: | 趙婷 |
| 地址: | 100088 北京市西城區*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 數據庫 操作方法 裝置 | ||
本公開提供了一種數據庫操作方法,該方法包括:接收請求方輸入的基于第一操作語言的操作請求;解析所述操作請求,得到針對所述操作請求的語法樹對象;對所述語法樹對象進行詞法轉換處理,得到基于第二操作語言的操作指令,其中,所述第二操作語言為適用于所述操作請求所指示的目標數據庫的操作語言;根據所述操作指令對所述目標數據庫進行操作,并將接收到的操作結果返回請求方。本公開還提供了一種數據庫操作裝置、一種電子設備以及一種計算機可讀存儲介質。
技術領域
本公開涉及互聯網技術領域,特別是涉及一種數據庫操作方法、一種數據庫操作裝置、一種電子設備、一種計算機可讀存儲介質以及一種計算機程序產品。
背景技術
隨著互聯網技術的迅速發展,各領域數據呈現爆炸式增長。為實現存儲與檢索方便,通常根據數據結構與數據規模的不同,將數據通過不同形式進行存儲,例如通過文檔數據庫或關系型數據庫形式進行存儲。
在實現本公開發明構思的過程中,發明人發現相關技術中在操作不同類型的數據庫時,不同類型數據庫對操作語言的要求可能不同,這提高了程序員學習不同操作語言的學習成本,同時也可能造成程序員操作數據庫失誤,影響數據庫性能和數據庫操作效率的問題。
發明內容
本公開的一個方面提供了一種數據庫操作方法,包括:接收請求方輸入的基于第一操作語言的操作請求;解析所述操作請求,得到針對所述操作請求的語法樹對象;對所述語法樹對象進行詞法轉換處理,得到基于第二操作語言的操作指令,其中,所述第二操作語言為適用于所述操作請求所指示的目標數據庫的操作語言;根據所述操作指令對所述目標數據庫進行操作,并將接收到的操作結果返回請求方。
可選地,所述第一操作語言包括伯克利包過濾BPF語言,所述第二操作語言包括結構化查詢語言SQL。
可選地,所述解析所述操作請求,得到針對所述操作請求的語法樹對象,包括:進行針對所述操作請求的字符解析處理,得到與所述操作請求關聯的字符集;進行針對所述操作請求的語法解析處理,得到與所述操作請求關聯的語法結構;基于所述字符集和所述語法結構,構建針對所述操作請求的語法樹對象。
可選地,所述進行針對所述操作請求的語法解析處理,得到與所述操作請求關聯的語法結構,包括:利用基于所述第一操作語言的解析器,識別所述操作請求的語法結構;其中,所述解析器是根據所述第一操作語言的預設詞法范例生成的。
可選地,所述對所述語法樹對象進行詞法轉換處理,得到基于第二操作語言的操作指令,包括:確定所述語法樹對象指示的至少一個第一子語句;利用基于所述第二操作語言的轉換器,將各所述第一子語句轉換為基于所述第二操作語言的第二子語句,得到所述操作指令。
可選地,所述利用基于所述第二操作語言的轉換器,將各所述第一子語句轉換為基于所述第二操作語言的第二子語句,得到所述操作指令,包括:基于關鍵字與算子間的預設映射關系,根據各所述第一子語句的關鍵字,確定與各所述第一子語句關聯的算子,其中,每個算子對應至少一個計算步驟;根據與各所述第一子語句關聯的算子,以及根據所述語法樹對象描述的各所述第一子語句間的順序關系,生成針對所述語法樹對象的關系模型,其中,所述關系模型包括與各所述第一子語句關聯的算子,各所述算子間的順序關系與各所述第一子語句間的順序關系相對應;利用基于所述第二操作語言的轉換器,對所述關系模型中的各算子進行轉換,得到所述操作指令。
可選地,所述目標數據庫為關系型數據庫,所述操作包括查詢、修改、增加、刪除中的至少之一。
本公開的另一個方面提供了一種數據庫操作裝置,包括:接收模塊,用于接收請求方輸入的基于第一操作語言的操作請求;第一處理模塊,用于解析所述操作請求,得到針對所述操作請求的語法樹對象;第二處理模塊,用于對所述語法樹對象進行詞法轉換處理,得到基于第二操作語言的操作指令,其中,所述第二操作語言為適用于所述操作請求所指示的目標數據庫的操作語言;第三處理模塊,用于根據所述操作指令對所述目標數據庫進行操作,并將接收到的操作結果返回請求方。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于奇安信科技集團股份有限公司;網神信息技術(北京)股份有限公司,未經奇安信科技集團股份有限公司;網神信息技術(北京)股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011333380.2/2.html,轉載請聲明來源鉆瓜專利網。





