[發(fā)明專利]一種面向?qū)ο蟮臄?shù)據(jù)庫動態(tài)接口生成方法及操作方法有效
| 申請?zhí)枺?/td> | 202211428705.4 | 申請日: | 2022-11-15 |
| 公開(公告)號: | CN115757462B | 公開(公告)日: | 2023-06-06 |
| 發(fā)明(設(shè)計)人: | 劉雨蒙;趙怡婧;李思登;閆紫滕;王潮 | 申請(專利權(quán))人: | 中國科學(xué)院軟件研究所 |
| 主分類號: | G06F16/242 | 分類號: | G06F16/242 |
| 代理公司: | 北京君尚知識產(chǎn)權(quán)代理有限公司 11200 | 代理人: | 司立彬 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 面向 對象 數(shù)據(jù)庫 動態(tài) 接口 生成 方法 操作方法 | ||
本發(fā)明公開了一種面向?qū)ο蟮臄?shù)據(jù)庫動態(tài)接口生成方法及操作方法。本發(fā)明首先設(shè)計一語法規(guī)范文件,其包括預(yù)處理語句、類型聲明語句、庫定義語句、表定義語句、表字段定義語句以及表索引定義語句;然后用戶根據(jù)語法規(guī)范文件編寫操作數(shù)據(jù)庫所需的DDL文件并發(fā)送給DDL編譯器;DDL編譯器解析DDL文件生成訪問數(shù)據(jù)庫的動態(tài)接口;其方法為:首先根據(jù)DDL文件生成一語法樹,遍歷語法樹中內(nèi)容將庫信息、表信息、索引信息等存放到字典中,同時將表成員排序編號信息存放到操作記錄成員接口的實現(xiàn)中,將索引編號存放到索引查詢接口的實現(xiàn)中;然后將字典和接口實現(xiàn)寫入文件生成動態(tài)接口文件,然后根據(jù)動態(tài)接口文件為生成操作數(shù)據(jù)庫所需的動態(tài)接口。
技術(shù)領(lǐng)域
本發(fā)明屬于數(shù)據(jù)管理技術(shù)領(lǐng)域,具體涉及一種面向?qū)ο蟮臄?shù)據(jù)庫定義語言設(shè)計,再通過對應(yīng)的編譯器編譯對象數(shù)據(jù)庫定義文件生成動態(tài)接口文件的方法。
背景技術(shù)
結(jié)構(gòu)查詢語言(SQL)用于訪問、操作和與數(shù)據(jù)庫通信,如從數(shù)據(jù)庫中檢索數(shù)據(jù)、創(chuàng)建新數(shù)據(jù)庫、操作數(shù)據(jù)和數(shù)據(jù)庫,如插入,刪除和更新,都可以使用SQL來執(zhí)行。通過SQL語句來訪問數(shù)據(jù)庫,數(shù)據(jù)庫內(nèi)核中需要經(jīng)過分析器處理,分析器包括詞法解析,語法解析,語義分析來判斷用戶輸入的SQL語句是否符合語法。再經(jīng)過優(yōu)化器處理選擇效率最高的查詢方式生成執(zhí)行計劃。將執(zhí)行計劃輸入執(zhí)行器得到符合SQL語句語義的數(shù)據(jù)。
在使用傳統(tǒng)數(shù)據(jù)庫時,通過SQL語句來建庫建表和訪問數(shù)據(jù),數(shù)據(jù)庫收到SQL語句后內(nèi)部還需要經(jīng)過分析器處理,對比通過接口訪問數(shù)據(jù)庫,分析器模塊會降低數(shù)據(jù)庫性能。
發(fā)明內(nèi)容
針對現(xiàn)有技術(shù)中存在的問題,本發(fā)明的目的在于提供一種面向?qū)ο蟮臄?shù)據(jù)庫動態(tài)接口生成方法及操作方法。通過DDL編譯器編譯生成動態(tài)接口的方式將分析器模塊前置,與傳統(tǒng)數(shù)據(jù)庫相比,機(jī)載嵌入式數(shù)據(jù)庫內(nèi)核中減少了分析SQL語句的時間,提升了系統(tǒng)響應(yīng)的時間。
本發(fā)明首先設(shè)計DDL文件語法規(guī)范,文件中的定義語句和面向?qū)ο笳Z言C++語言的定義語句類似。具體語法遵循規(guī)范如下,DDL語法文件中包含有預(yù)處理語句、類型聲明語句、庫定義語句、表定義語句、表字段定義語句、以及表索引定義語句。預(yù)處理語句和類型聲明語句聲明了定義語句中可用類型,定義語句定義了需要構(gòu)建的庫、表、字段、索引信息。其中預(yù)處理語句使用define關(guān)鍵字聲明,枚舉聲明語句使用enum關(guān)鍵字聲明,結(jié)構(gòu)體聲明語句使用struct關(guān)鍵字聲明。庫定義語句用declare關(guān)鍵字定義,表定義語句使用class關(guān)鍵字定義,表字段定義語句采用“成員類型”+“成員名”格式定義,表索引定義語句采用“索引類型及索引字段”+“索引名”格式定義。
解析上述DDL文件中信息,設(shè)計生成動態(tài)接口方法來將DDL文件中庫、表、字段、索引生成對應(yīng)的操作接口文件。接口文件中包含字典數(shù)據(jù)供建庫、建表、建索引、使用,包含插入接口(“表名”+“new”格式)實現(xiàn)向數(shù)據(jù)庫中插入一條記錄,刪除接口(“表名”+“delete”格式)實現(xiàn)刪除數(shù)據(jù)庫中一條記錄,記錄中字段數(shù)據(jù)修改接口(“表名”+“字段名”+“put”格式)實現(xiàn)修改記錄中對應(yīng)的字段值,記錄中字段數(shù)據(jù)獲取接口(“表名”+“字段名”+“get”格式)實現(xiàn)獲取記錄中對應(yīng)的字段值,索引查詢數(shù)據(jù)接口(“表名”+“索引名”+“search”格式)實現(xiàn)根據(jù)索引查詢符合條件的數(shù)據(jù)。用戶應(yīng)用層調(diào)用這些接口和機(jī)載嵌入式數(shù)據(jù)庫靜態(tài)庫文件共同編譯生成可執(zhí)行文件來操作數(shù)據(jù)庫,且這些接口的命名方式類似面向?qū)ο笳Z言方法的命名方式,可以使得應(yīng)用開發(fā)人員快速掌握通過接口操作數(shù)據(jù)庫的方法。
為實現(xiàn)上述的發(fā)明目的,本發(fā)明采用如下的技術(shù)方案:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于中國科學(xué)院軟件研究所,未經(jīng)中國科學(xué)院軟件研究所許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202211428705.4/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置
- 動態(tài)矢量譯碼方法和動態(tài)矢量譯碼裝置
- 動態(tài)口令的顯示方法及動態(tài)令牌
- 動態(tài)庫管理方法和裝置
- 動態(tài)令牌的身份認(rèn)證方法及裝置
- 令牌、動態(tài)口令生成方法、動態(tài)口令認(rèn)證方法及系統(tǒng)
- 一種動態(tài)模糊控制系統(tǒng)
- 一種基于動態(tài)信號的POS機(jī)和安全保護(hù)方法
- 圖像動態(tài)展示的方法、裝置、系統(tǒng)及介質(zhì)
- 一種基于POS機(jī)聚合碼功能分離顯示動態(tài)聚合碼的系統(tǒng)
- 基于動態(tài)口令的身份認(rèn)證方法、裝置和動態(tài)令牌





