[發明專利]一種SQL語句的自動翻譯方法及裝置有效
| 申請號: | 202010010999.3 | 申請日: | 2020-01-06 |
| 公開(公告)號: | CN111221846B | 公開(公告)日: | 2023-09-29 |
| 發明(設計)人: | 請求不公布姓名 | 申請(專利權)人: | 廣州拉卡拉信息技術有限公司 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242 |
| 代理公司: | 北京墨丘知識產權代理事務所(普通合伙) 11878 | 代理人: | 魏梳芳 |
| 地址: | 510555 廣東省廣州市黃*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 sql 語句 自動 翻譯 方法 裝置 | ||
本公開實施例公開了一種SQL語句的自動翻譯方法及裝置,涉及數據庫領域。其中,該方法包括:從接收到的輸入信息中識別提取出SQL語句;對輸出的SQL語句進行語句分析,生成SQL語句的語法分析樹;根據語法分析樹對SQL語句進行自動翻譯,生成翻譯后的SQL語句;執行翻譯后的SQL語句,返回執行狀態。
技術領域
本公開涉及數據庫領域,具體涉及一種SQL語句的自動翻譯方法及裝置。
背景技術
現代網絡技術的迅速發展,早已進入了云計算的時代,越來越多的軟件供應商把自己的工作流從本地設備轉移到了云端平臺。SaaS(Software?as?a?Service,軟件即服務)是云計算的服務模型之一,其主要特點是通過網絡提供軟件服務,從而為使用軟件應用的客戶們提供了一種按需訂閱的能力。用戶可通過遠程網絡使用軟件供應商提供的服務,且為不同類型的用戶提供的服務可以自由配置,從用戶角度看來看起來他們完全擁有這個應用。通過這種方法可以利用資源共享方式來減少軟件應用整體的擁有成本,因此,SaaS使得那些中小型企業可以負擔得起以往費用高昂的專業軟件服務,從而有機會獲得長尾效應以進一步開發相關市場。
在傳統軟件應用到SaaS服務模型的轉移中,由于SaaS應用獨特的數據設計方法,傳統數據庫的SQL(Structured?Query?Language,結構化查詢語言)語句不能在SaaS應用中直接使用,需要根據SaaS應用的數據庫設計重新改寫SQL語句。但當前這種改寫工作主要依賴人工完成,不但容易出錯,還會耗費大量的人力物力;而且對于常見的DDL(DataDefinition?Language,數據庫模式定義語言)語句和DML(Data?Manipulation?Language,數據操縱語言)語句中insert,update,delete等語句都沒有辦法直接進行翻譯改寫,無法做到從傳統應用到SaaS應用SQL語句翻譯的自動化。因此,亟需一種SQL語句的自動翻譯方案來解決此問題。
發明內容
針對現有技術中的上述技術問題,本公開實施例提出了一種SQL語句的自動翻譯方法及裝置,以解決現有技術中翻譯SQL語句容易出錯,耗費大量人力物力的問題,同時還解決了對常見的DDL語句和DML語句沒有辦法進行翻譯的問題。
本公開實施例的第一方面提供了一種SQL語句的自動翻譯方法,包括:
接收輸入并輸出SQL語句;
對輸出的SQL語句進行語句分析,生成所述SQL語句的語法分析樹;
根據所述語法分析樹對所述SQL語句進行自動翻譯,生成翻譯后的SQL語句;
執行所述翻譯后的SQL語句,返回執行狀態。
在一些實施例中,所述接收并輸出SQL語句,具體包括:接收輸入,并對所述輸入進行預處理,輸出經預處理后的SQL語句。
在一些實施例中,所述預處理,具體包括:
判斷所述輸入中的SQL語句是否符合預定義的語法規則;
若符合所述語法規則,判斷所述輸入中的SQL語句所屬類型,并調用相應的翻譯類型。
在一些實施例中,對所述SQL語句進行語句分析,具體包括:對所述SQL語句進行詞法分析和語法分析。
在一些實施例中,對所述SQL語句進行詞法分析和語法分析,具體包括:根據所述SQL語句,使用分析工具自定義詞法,進行詞法分析,獲得多個詞法單元;根據預定義的語法規則對所述SQL語句進行語法分析;
所述生成所述SQL語句的語法分析樹,具體包括:根據所述詞法單元和所述預定義的語法生成所述SQL語句的語法分析樹。
在一些實施例中,所述SQL語句包括DDL語句和DML語句;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于廣州拉卡拉信息技術有限公司,未經廣州拉卡拉信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010010999.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:終端的定位修正方法、裝置
- 下一篇:適用于設備側的虛擬化系統





