[發(fā)明專利]一種通用基礎(chǔ)存儲(chǔ)框架及存儲(chǔ)方法在審
| 申請(qǐng)?zhí)枺?/td> | 201710158597.6 | 申請(qǐng)日: | 2017-03-17 |
| 公開(公告)號(hào): | CN107015802A | 公開(公告)日: | 2017-08-04 |
| 發(fā)明(設(shè)計(jì))人: | 楊偉策 | 申請(qǐng)(專利權(quán))人: | 廣東蜂助手網(wǎng)絡(luò)技術(shù)股份有限公司 |
| 主分類號(hào): | G06F9/44 | 分類號(hào): | G06F9/44 |
| 代理公司: | 廣州市南鋒專利事務(wù)所有限公司44228 | 代理人: | 李銀惠 |
| 地址: | 510635 廣東省廣州*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 通用 基礎(chǔ) 存儲(chǔ) 框架 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)據(jù)庫技術(shù)領(lǐng)域,尤其涉及一種通用基礎(chǔ)存儲(chǔ)框架及存儲(chǔ)方法。
背景技術(shù)
在數(shù)據(jù)庫日常的開發(fā)中,普通的增刪改查是程序員經(jīng)常要做的工作。對(duì)于不同技術(shù)熟練程度的開發(fā)人員來說,寫一個(gè)增刪改查的速度各有不同,工作多年較有經(jīng)驗(yàn)的可以一天寫幾個(gè),剛工作不久的可能平均一天寫完一個(gè)增刪改查。如果經(jīng)驗(yàn)不夠的話,質(zhì)量不能保證,容易出錯(cuò),例如事務(wù)忘了提交,連接忘了關(guān)閉等。
Web數(shù)據(jù)庫開發(fā)中,主流技術(shù)方案是采用三層設(shè)計(jì),控制跳轉(zhuǎn)—業(yè)務(wù)層—數(shù)據(jù)層,簡單的一個(gè)增刪改查需求,需要編寫(控制層)Controller,(業(yè)務(wù)層)Service,(數(shù)據(jù)層)Dao這三層的代碼,在控制層提取請(qǐng)求的數(shù)據(jù),提供給業(yè)務(wù)層處理,然后調(diào)用數(shù)據(jù)層的接口實(shí)現(xiàn)數(shù)據(jù)持久化。現(xiàn)有三層方案雖說采用分治法將各層不同功能的代碼進(jìn)行歸類,但同時(shí)增加了不少復(fù)雜性,三層代碼重復(fù)編寫過多,耗時(shí)耗力,且無謂的重復(fù)太多。代碼耦合程度仍然過高,功能變動(dòng)時(shí)容易出現(xiàn)級(jí)聯(lián)修改,其中一層進(jìn)行改動(dòng),其他兩層為了適配,都需要進(jìn)行相應(yīng)修改,如此導(dǎo)致出錯(cuò)率高。
發(fā)明內(nèi)容
本發(fā)明的目的在于提出一種通用基礎(chǔ)存儲(chǔ)框架,使數(shù)據(jù)從發(fā)起請(qǐng)求到寫入數(shù)據(jù)庫全由框架本身處理,不需要開發(fā)人員額外編寫代碼,只需要開發(fā)人員提供相應(yīng)功能的SQL腳本即可,從而減少了出錯(cuò)率。
本發(fā)明的另一目的在于提出一種通用基礎(chǔ)存儲(chǔ)框架的存儲(chǔ)方法,使數(shù)據(jù)從發(fā)起請(qǐng)求到寫入數(shù)據(jù)庫全由框架本身處理,不需要開發(fā)人員額外編寫代碼,只需要開發(fā)人員提供相應(yīng)功能的SQL腳本即可,從而減少了出錯(cuò)率。
為達(dá)此目的,本發(fā)明采用以下技術(shù)方案:
一種通用基礎(chǔ)存儲(chǔ)框架,包括處理請(qǐng)求模塊DataService、系統(tǒng)核心模塊Core和數(shù)據(jù)庫持久化模塊JdbcConnection;
所述處理請(qǐng)求模塊DataService用于從HTTP請(qǐng)求解析出相關(guān)數(shù)據(jù)交由所述系統(tǒng)核心模塊Core處理;
所述系統(tǒng)核心模塊Core用于根據(jù)規(guī)則匹配SQL相關(guān)參數(shù),實(shí)現(xiàn)從所述HTTP請(qǐng)求到數(shù)據(jù)庫一步操作;
所述數(shù)據(jù)庫持久化模塊JdbcConnection用于管理不同數(shù)據(jù)連接的封裝,并直接對(duì)數(shù)據(jù)庫操作;
所述系統(tǒng)核心模塊Core包括數(shù)據(jù)格式解析模塊DataConverter、關(guān)系數(shù)據(jù)庫SQLID解析模塊Executor、業(yè)務(wù)處理模塊Moudle、數(shù)據(jù)庫連接池模塊Pools和會(huì)話檢查模塊Session;
所述數(shù)據(jù)格式解析模塊DataConverter用于解析所述HTTP請(qǐng)求,所述HTTP請(qǐng)求包括Json、XML、JsonP或JAVA序列化的數(shù)據(jù)格式;
所述關(guān)系數(shù)據(jù)庫SQLID解析模塊Executor用于解析Mysql、Oracle或SQL Server的SQL語句與參數(shù)類型;
所述業(yè)務(wù)處理模塊Moudle為數(shù)據(jù)庫操作的業(yè)務(wù)處理器;
所述數(shù)據(jù)庫連接池模塊Pools用于適配數(shù)據(jù)庫連接池;
所述會(huì)話檢查模塊Session用于檢查當(dāng)前請(qǐng)求的處理程序是否實(shí)現(xiàn)了接口。
還設(shè)置有插件擴(kuò)展模塊PluginManager和工具模塊Utils;
所述插件擴(kuò)展模塊PluginManager用于處理程序本身不支持的復(fù)雜業(yè)務(wù);
所述工具模塊Utils用于封裝常用組件并加以監(jiān)控。
所述業(yè)務(wù)處理模塊Moudle的數(shù)據(jù)庫操作包括保存save、查詢query、更新update、刪除delete以及所述插件擴(kuò)展模塊PluginManage定義的業(yè)務(wù)處理。
所述數(shù)據(jù)庫連接池包括C3P0,DRUID或DBCP。
如上所述的通用基礎(chǔ)存儲(chǔ)框架的存儲(chǔ)方法,包括通用基礎(chǔ)數(shù)據(jù)存儲(chǔ)SQL錄入步驟和通用基礎(chǔ)數(shù)據(jù)存儲(chǔ)SQL執(zhí)行步驟:
所述通用基礎(chǔ)數(shù)據(jù)存儲(chǔ)SQL錄入步驟包括:
步驟1.1、編寫相應(yīng)基礎(chǔ)存儲(chǔ)功能的SQL語句,并在所述通用基礎(chǔ)存儲(chǔ)框架提供的管理界面錄入該SQL語句;
步驟1.2、該SQL語句錄入后,所述通用基礎(chǔ)存儲(chǔ)框架使用正則表達(dá)式,根據(jù)SQL規(guī)范進(jìn)行解析,解析過程中,所述通用基礎(chǔ)存儲(chǔ)框架根據(jù)不同的數(shù)據(jù)庫特征,從數(shù)據(jù)庫提供的相應(yīng)系統(tǒng)表獲取SQL的參數(shù)類型;
步驟1.3、所述通用基礎(chǔ)存儲(chǔ)框架將解析出來的SQL參數(shù)類型與參數(shù)名記錄到所述通用基礎(chǔ)存儲(chǔ)框架本身的數(shù)據(jù)表中,為其生成相應(yīng)SQLID;
步驟1.4、將數(shù)據(jù)持久化到數(shù)據(jù)庫,并刷新SQLID緩存;
所述通用基礎(chǔ)數(shù)據(jù)存儲(chǔ)SQL執(zhí)行步驟包括:
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于廣東蜂助手網(wǎng)絡(luò)技術(shù)股份有限公司,未經(jīng)廣東蜂助手網(wǎng)絡(luò)技術(shù)股份有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710158597.6/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 動(dòng)態(tài)存儲(chǔ)管理裝置及方法
- 一種存儲(chǔ)方法、服務(wù)器及存儲(chǔ)控制器
- 一種基于存儲(chǔ)系統(tǒng)的控制方法及裝置
- 一種信息的存儲(chǔ)控制方法
- 一種數(shù)據(jù)存儲(chǔ)方法及裝置
- 數(shù)據(jù)存儲(chǔ)方法、裝置、計(jì)算機(jī)設(shè)備以及存儲(chǔ)介質(zhì)
- 一種數(shù)據(jù)存儲(chǔ)控制方法及裝置
- 存儲(chǔ)設(shè)備、存儲(chǔ)系統(tǒng)及存儲(chǔ)方法
- 物料存儲(chǔ)方法及系統(tǒng)
- 基于雙芯智能電表的數(shù)據(jù)分類存儲(chǔ)方法和裝置





