本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及數(shù)據(jù)庫(kù)操作方法和裝置。
背景技術(shù):
管理信息系統(tǒng)是一個(gè)以人為主導(dǎo),利用計(jì)算機(jī)硬件、軟件、網(wǎng)絡(luò)通信設(shè)備以及其他辦公設(shè)備,進(jìn)行信息的收集、傳輸、加工、儲(chǔ)存、更新、拓展和維護(hù)的系統(tǒng)。通常,管理信息系統(tǒng)需要管理不同種類的資源的數(shù)據(jù),并且每種資源設(shè)施對(duì)應(yīng)的空間數(shù)據(jù)和屬性數(shù)據(jù)各異。地理信息系統(tǒng)的引入,使得需要管理的資源種類更為繁多,業(yè)務(wù)邏輯處理也更為復(fù)雜。
管理信息系統(tǒng)中通常都具有用于描述資源或數(shù)據(jù)本身的特征和屬性的技術(shù)元數(shù)據(jù)。對(duì)于資源的技術(shù)元數(shù)據(jù),現(xiàn)有技術(shù)中通過(guò)對(duì)單個(gè)資源的逐一編碼實(shí)現(xiàn),開(kāi)發(fā)人員各自實(shí)現(xiàn)不同的資源,這種方式存在以下問(wèn)題:第一,投入工作量與資源種類成正比,資源種類的增多導(dǎo)致必須投入更多的人員進(jìn)行開(kāi)發(fā)、測(cè)試和維護(hù),從而導(dǎo)致投入的工作量增加;第二、代碼實(shí)現(xiàn)過(guò)程中,即使有開(kāi)發(fā)規(guī)范等約束,也難以保證產(chǎn)品操作習(xí)慣、數(shù)據(jù)呈現(xiàn)方式等統(tǒng)一,容易導(dǎo)致產(chǎn)品整體規(guī)范無(wú)法統(tǒng)一;第三,新增資源則必須重新投入人力進(jìn)行編碼、測(cè)試,使得重新發(fā)布產(chǎn)品拓展性差,不利于資源種類拓展;第四,逐個(gè)資源種類分別實(shí)現(xiàn),維護(hù)人員必須熟知每一種資源實(shí)現(xiàn)方式,維護(hù)性差。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提出一種改進(jìn)的數(shù)據(jù)庫(kù)操作方法和裝置,來(lái)解決以上背景技術(shù)部分提到的技術(shù)問(wèn)題。
第一方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)操作方法,所述方法包括: 接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求,所述數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù);根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段;根據(jù)所述數(shù)據(jù)庫(kù)操作類型、所述表的字段、所述表的表名以及所述操作參數(shù)構(gòu)造數(shù)據(jù)庫(kù)操作語(yǔ)句;執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句并將操作結(jié)果返回所述客戶端。
在一些實(shí)施例中,所述類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系預(yù)先存儲(chǔ)在數(shù)據(jù)庫(kù)中。
在一些實(shí)施例中,所述類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系預(yù)先存儲(chǔ)在數(shù)據(jù)庫(kù)中,所述數(shù)據(jù)庫(kù)中存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系部分存儲(chǔ)在服務(wù)器緩存中;以及所述根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段包括:檢測(cè)所述服務(wù)器緩存中是否存在與所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符對(duì)應(yīng)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系;若存在,則根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符以及所述服務(wù)器緩存中存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符和屬性以及所述服務(wù)器緩存中存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段;否則,根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符以及所述數(shù)據(jù)庫(kù)中存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符和屬性以及所述數(shù)據(jù)庫(kù)中存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段。
在一些實(shí)施例中,在所述接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求之前,所述方法還包括:接收客戶端發(fā)送的類標(biāo)識(shí)符;根據(jù)所述類標(biāo)識(shí)符、 所述類標(biāo)識(shí)符對(duì)應(yīng)的所有屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的界面信息;將所述界面信息發(fā)送給所述客戶端;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是所述客戶端根據(jù)用戶在界面上的操作獲取的,所述界面是所述客戶端根據(jù)所述界面信息生成的界面。
在一些實(shí)施例中,在所述接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求之前,所述方法還包括:接收客戶端發(fā)送的類標(biāo)識(shí)符和屬性;根據(jù)所述類標(biāo)識(shí)符、所述屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的界面信息;將所述界面信息發(fā)送給所述客戶端;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是所述客戶端根據(jù)用戶在界面上的操作獲取的,所述界面是所述客戶端根據(jù)所述界面信息生成的界面。
在一些實(shí)施例中,所述數(shù)據(jù)庫(kù)操作類型包括以下任意一種:新增操作、修改操作、查詢操作以及刪除操作。
第二方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)操作方法,所述方法包括:接收用戶的數(shù)據(jù)庫(kù)操作指令;根據(jù)用戶的數(shù)據(jù)庫(kù)操作指令向服務(wù)器發(fā)送數(shù)據(jù)庫(kù)操作請(qǐng)求,所述數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù);接收所述服務(wù)器返回的操作結(jié)果,其中,所述操作結(jié)果是服務(wù)器通過(guò)執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句而產(chǎn)生的操作結(jié)果,所述數(shù)據(jù)操作語(yǔ)句是所述服務(wù)器根據(jù)所述數(shù)據(jù)庫(kù)操作類型、表的字段、表的表名以及所述操作參數(shù)構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句,所述表的表名是所述服務(wù)器根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取的與所述類標(biāo)識(shí)符獲取對(duì)應(yīng)的表的表名,所述表的字段是所述服務(wù)器根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取的與所述類標(biāo)識(shí)符、所述屬性對(duì)應(yīng)的表的字段。
在一些實(shí)施例中,在所述接收用戶的數(shù)據(jù)庫(kù)操作指令之前,所述方法還包括:接收用戶指定的類標(biāo)識(shí)符;向所述服務(wù)器發(fā)送界面信息請(qǐng)求,所述界面信息請(qǐng)求包括指定類標(biāo)識(shí)符;接收所述服務(wù)器返回的界面信息,并根據(jù)所述界面信息生成界面,其中,所述界面信息是所述服務(wù)器根據(jù)所述指定類標(biāo)識(shí)符、所述指定類標(biāo)識(shí)符對(duì)應(yīng)的所有屬性 以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取的界面信息;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是根據(jù)用戶在所述界面上的操作獲取的。
在一些實(shí)施例中,在所述接收用戶的數(shù)據(jù)庫(kù)操作指令之前,所述方法還包括:接收用戶指定的類標(biāo)識(shí)符與屬性;向所述服務(wù)器發(fā)送界面信息請(qǐng)求,所述界面信息請(qǐng)求包括指定類標(biāo)識(shí)符和指定屬性;接收所述服務(wù)器返回的界面信息,并根據(jù)所述界面信息生成界面,其中,所述界面信息是所述服務(wù)器根據(jù)所述指定類標(biāo)識(shí)符、所述指定屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取的界面信息;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是根據(jù)用戶在所述界面上的操作獲取的。
在一些實(shí)施例中,所述數(shù)據(jù)庫(kù)操作類型包括以下任意一種:新增操作、修改操作、查詢操作以及刪除操作。
第三方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)操作裝置,所述裝置包括:接收單元,配置用于接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求,所述數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù);獲取單元,配置用于根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段;構(gòu)造單元,配置用于根據(jù)所述數(shù)據(jù)庫(kù)操作類型、所述表的字段、所述表的表名以及所述操作參數(shù)構(gòu)造數(shù)據(jù)庫(kù)操作語(yǔ)句;執(zhí)行單元,配置用于執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句并將操作結(jié)果返回所述客戶端。
在一些實(shí)施例中,所述類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系預(yù)先存儲(chǔ)在數(shù)據(jù)庫(kù)中。
在一些實(shí)施例中,所述類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系預(yù)先存儲(chǔ)在數(shù)據(jù)庫(kù)中,所述數(shù)據(jù)庫(kù)中存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系部分存儲(chǔ)在服務(wù)器緩存中;以及所述獲取單元包括:檢測(cè)子單元,檢測(cè)所述服務(wù)器緩存中是否存在與 所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符對(duì)應(yīng)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系;獲取子單元,配置用于,若所述服務(wù)器緩存中存在與所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符對(duì)應(yīng)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系,則根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符以及所述服務(wù)器緩存中存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符和屬性以及所述服務(wù)器緩存中存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段;否則,根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符以及所述數(shù)據(jù)庫(kù)中存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符和屬性以及所述數(shù)據(jù)庫(kù)中存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段。
在一些實(shí)施例中,所述裝置還包括:類標(biāo)識(shí)符接收單元,配置用于接收客戶端發(fā)送的類標(biāo)識(shí)符;界面信息獲取單元,配置用于根據(jù)所述類標(biāo)識(shí)符、所述類標(biāo)識(shí)符對(duì)應(yīng)的所有屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的界面信息;界面信息發(fā)送單元,配置用于將所述界面信息發(fā)送給所述客戶端;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是所述客戶端根據(jù)用戶在界面上的操作獲取的,所述界面是所述客戶端根據(jù)所述界面信息生成的界面。
在一些實(shí)施例中,所述裝置還包括:類標(biāo)識(shí)符與屬性接收單元,配置用于接收客戶端發(fā)送的類標(biāo)識(shí)符和屬性;界面信息獲取單元,配置用于根據(jù)所述類標(biāo)識(shí)符、所述屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的界面信息;界面信息發(fā)送單元,配置用于將所述界面信息發(fā)送給所述客戶端;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是所述客戶端根據(jù)用戶在界面上的操作獲取的,所述界面是所述客戶端根據(jù)所述界面信息生成的界面。
在一些實(shí)施例中,所述數(shù)據(jù)庫(kù)操作類型包括以下任意一種:新增操作、修改操作、查詢操作以及刪除操作。
第四方面,本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)操作裝置,所述裝置包括:指令接收單元,配置用于接收用戶的數(shù)據(jù)庫(kù)操作指令;請(qǐng)求發(fā)送單元,配置用于根據(jù)用戶的數(shù)據(jù)庫(kù)操作指令向服務(wù)器發(fā)送數(shù)據(jù)庫(kù)操作請(qǐng)求,所述數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù);操作結(jié)果接收單元,配置用于接收所述服務(wù)器返回的操作結(jié)果,其中,所述操作結(jié)果是服務(wù)器通過(guò)執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句而產(chǎn)生的操作結(jié)果,所述數(shù)據(jù)操作語(yǔ)句是所述服務(wù)器根據(jù)所述數(shù)據(jù)庫(kù)操作類型、表的字段、表的表名以及所述操作參數(shù)構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句,所述表的表名是所述服務(wù)器根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取的與所述類標(biāo)識(shí)符獲取對(duì)應(yīng)的表的表名,所述表的字段是所述服務(wù)器根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取的與所述類標(biāo)識(shí)符、所述屬性對(duì)應(yīng)的表的字段。
在一些實(shí)施例中,所述裝置還包括:類標(biāo)識(shí)符輸入單元,配置用于接收用戶指定的類標(biāo)識(shí)符;界面信息請(qǐng)求單元,配置用于向所述服務(wù)器發(fā)送界面信息請(qǐng)求,所述界面信息請(qǐng)求包括指定類標(biāo)識(shí)符;界面生成單元,配置用于接收所述服務(wù)器返回的界面信息,并根據(jù)所述界面信息生成界面,其中,所述界面信息是所述服務(wù)器根據(jù)所述指定類標(biāo)識(shí)符、所述指定類標(biāo)識(shí)符對(duì)應(yīng)的所有屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取的界面信息;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是根據(jù)用戶在所述界面上的操作獲取的。
在一些實(shí)施例中,所述裝置還包括:類標(biāo)識(shí)符與屬性輸入單元,配置用于接收用戶指定的類標(biāo)識(shí)符與屬性;界面信息請(qǐng)求單元,配置用于向所述服務(wù)器發(fā)送界面信息請(qǐng)求,所述界面信息請(qǐng)求包括指定類標(biāo)識(shí)符和指定屬性;界面生成單元,配置用于接收所述服務(wù)器返回的界面信息,并根據(jù)所述界面信息生成界面,其中,所述界面信息是所述服務(wù)器根據(jù)所述指定類標(biāo)識(shí)符、所述指定屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取的界面信息;以及所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是根據(jù)用戶在所述界面上的操作獲取的。
在一些實(shí)施例中,所述數(shù)據(jù)庫(kù)操作類型包括以下任意一種:新增操作、修改操作、查詢操作以及刪除操作。
本申請(qǐng)?zhí)峁┑臄?shù)據(jù)庫(kù)操作方法和裝置,預(yù)先存儲(chǔ)了類標(biāo)識(shí)符、屬性、表的表名以及表的字段等元數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,在接收到數(shù)據(jù)庫(kù)操作請(qǐng)求時(shí),通過(guò)上述關(guān)聯(lián)關(guān)系即可獲取與請(qǐng)求中包含的類標(biāo)識(shí)符、屬性對(duì)應(yīng)的表的表名和字段,并將獲取到的表的表名和字段結(jié)合數(shù)據(jù)庫(kù)操作類型以及操作參數(shù)構(gòu)造出操作語(yǔ)句,最后執(zhí)行相應(yīng)的操作語(yǔ)句并返回操作結(jié)果。該方式中不同資源種類對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句可自動(dòng)生成,不需要為每種資源種類進(jìn)行單獨(dú)開(kāi)發(fā),減少了投入的工作量,也有利于實(shí)現(xiàn)整體規(guī)范的統(tǒng)一性。
附圖說(shuō)明
通過(guò)閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是本申請(qǐng)可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)操作方法的一個(gè)實(shí)施例的流程圖;
圖3是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)操作方法的一個(gè)應(yīng)用場(chǎng)景的示意圖;
圖4是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)操作方法的又一個(gè)實(shí)施例的流程圖;
圖5是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)操作裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖6是根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)操作裝置的又一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖7是適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說(shuō)明??梢岳斫獾氖?,此處所描述的具體實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說(shuō)明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本申請(qǐng)。
圖1示出了可以應(yīng)用本申請(qǐng)的數(shù)據(jù)庫(kù)操作方法或數(shù)據(jù)庫(kù)操作裝置的實(shí)施例的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104和服務(wù)器105。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103和服務(wù)器105之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)104可以包括各種連接類型,例如有線、無(wú)線通信鏈路或者光纖電纜等等。
用戶可以使用終端設(shè)備101、102、103通過(guò)網(wǎng)絡(luò)104與服務(wù)器105交互,以發(fā)送數(shù)據(jù)操作請(qǐng)求或接收數(shù)據(jù)操作結(jié)果等。終端設(shè)備101、102、103上可以安裝有各種通訊客戶端應(yīng)用,例如網(wǎng)頁(yè)瀏覽器應(yīng)用、數(shù)據(jù)庫(kù)管理應(yīng)用、搜索類應(yīng)用等。
終端設(shè)備101、102、103可以是具有顯示屏的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書閱讀器、MP3播放器(Moving Picture Experts Group Audio Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3)、MP4(Moving Picture Experts Group Audio Layer IV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
服務(wù)器105可以是提供各種服務(wù)的服務(wù)器,例如對(duì)終端設(shè)備101、102、103上顯示的網(wǎng)頁(yè)瀏覽器應(yīng)用或數(shù)據(jù)庫(kù)應(yīng)用提供支持的后臺(tái)服務(wù)器。后臺(tái)服務(wù)器可以對(duì)接收到的操作請(qǐng)求等數(shù)據(jù)進(jìn)行分析等處理,并將處理結(jié)果反饋給終端設(shè)備。
需要說(shuō)明的是,圖2對(duì)應(yīng)的實(shí)施例提供的數(shù)據(jù)庫(kù)操作方法一般由服務(wù)器105執(zhí)行,相應(yīng)地,圖5對(duì)應(yīng)實(shí)施例提供的數(shù)據(jù)庫(kù)操作裝置一般設(shè)置于服務(wù)器105中。圖4對(duì)應(yīng)的實(shí)施例提供的數(shù)據(jù)庫(kù)操作方法一般由終端設(shè)備101、102、103執(zhí)行,相應(yīng)地,圖6對(duì)應(yīng)實(shí)施例提供的數(shù)據(jù)庫(kù)操作裝置一般設(shè)置于終端設(shè)備101、102、103中。
應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的數(shù)據(jù)庫(kù)操作方法的一個(gè)實(shí)施 例的流程200。所述的數(shù)據(jù)庫(kù)操作方法,包括以下步驟:
步驟201,接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求。
在本實(shí)施例中,數(shù)據(jù)庫(kù)操作方法運(yùn)行于其上的電子設(shè)備(例如圖1所示的服務(wù)器105)可以通過(guò)有線連接方式或者無(wú)線連接方式從用戶使用的終端接收數(shù)據(jù)庫(kù)操作請(qǐng)求。其中,上述數(shù)據(jù)庫(kù)操作請(qǐng)求包括了數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù)。其中,類標(biāo)識(shí)符(class identifier)是與某一個(gè)類對(duì)象相聯(lián)系的唯一標(biāo)記(UUID),在管理系統(tǒng)中類標(biāo)識(shí)符可以與一種資源種類一一對(duì)應(yīng)。例如,光網(wǎng)絡(luò)單元(ONU)類型的設(shè)備資源可以通過(guò)一個(gè)類標(biāo)識(shí)符進(jìn)行表征。在一些資源管理系統(tǒng)中,資源種類可以稱為資源規(guī)格,類標(biāo)識(shí)符可以稱為資源規(guī)格標(biāo)識(shí)。屬性是對(duì)象的性質(zhì)與對(duì)象之間關(guān)系的統(tǒng)稱,一些屬性可能是一個(gè)資源種類的特有屬性,有的屬性則可能是多個(gè)資源種類的共有屬性。數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的屬性可以是作為操作條件的屬性,也可以是作為操作目標(biāo)的屬性。相應(yīng)的,操作參數(shù)可以包括屬性對(duì)應(yīng)的屬性值,也可以包括其他參數(shù)。當(dāng)操作參數(shù)包括屬性值時(shí),屬性值可以是用作操作條件的屬性所對(duì)應(yīng)的屬性值,也可以是用作操作目標(biāo)的屬性所對(duì)應(yīng)的屬性值。需要說(shuō)明的是,上述屬性通常是概念層上的屬性,可以與物理層上的表的字段不相同。
通常,用戶利用終端訪問(wèn)服務(wù)器,用戶可以通過(guò)各種交互方式設(shè)置數(shù)據(jù)庫(kù)操作類型、作為操作條件的屬性及屬性值、作為操作目標(biāo)的屬性。
在本實(shí)施例的一些可選實(shí)現(xiàn)方式中,數(shù)據(jù)庫(kù)操作類型可以是新增操作、修改操作、查詢操作以及刪除操作中的任意一種。
步驟202,根據(jù)數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段。
在本實(shí)施例中,電子設(shè)備可以預(yù)先存儲(chǔ)了類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系。其中,上述兩種關(guān)聯(lián)關(guān)系可以通過(guò)表的格式進(jìn)行存儲(chǔ)。例如,可以將類標(biāo)識(shí) 符和表的表名在同一張數(shù)據(jù)表上進(jìn)行記錄以表征兩者之間的關(guān)聯(lián)關(guān)系,可以將類標(biāo)識(shí)符、屬性、表的字段在同一張數(shù)據(jù)表中進(jìn)行記錄以表征三者之間的關(guān)聯(lián)關(guān)系。需要說(shuō)明的是,還可以通過(guò)多張表記錄上述的一種關(guān)聯(lián)關(guān)系。記錄關(guān)聯(lián)關(guān)系的表中還可以記錄其中相關(guān)的數(shù)據(jù),這里不再贅述。本領(lǐng)域技術(shù)人員還可以想到的是,上述關(guān)聯(lián)關(guān)系還可以通過(guò)其他存儲(chǔ)方式預(yù)先進(jìn)行記錄。
基于步驟201所接收請(qǐng)求中的類標(biāo)識(shí)符以及屬性,電子設(shè)備可以根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取與該類標(biāo)識(shí)對(duì)應(yīng)的表名,也可以根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取與數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性相對(duì)應(yīng)的表的字段。通過(guò)這種方式,電子設(shè)備即可以根據(jù)類標(biāo)識(shí)符以及屬性獲得物理層上表的表名和表的字段。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系預(yù)先存儲(chǔ)在數(shù)據(jù)庫(kù)中。對(duì)應(yīng)的,電子設(shè)備可以根據(jù)數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取與數(shù)據(jù)庫(kù)操作請(qǐng)求中的類標(biāo)識(shí)符對(duì)應(yīng)的表的表名。同理,電子設(shè)備也可以在數(shù)據(jù)庫(kù)中預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取與數(shù)據(jù)庫(kù)操作請(qǐng)求中的類標(biāo)識(shí)以及屬性對(duì)應(yīng)的表的字段。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,上述類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系的數(shù)據(jù)預(yù)先存儲(chǔ)在數(shù)據(jù)庫(kù)中,這兩種關(guān)聯(lián)關(guān)系的數(shù)據(jù)還部分存儲(chǔ)在服務(wù)器緩存中。同時(shí),電子設(shè)備獲取對(duì)應(yīng)的表的表名以及字段的過(guò)程可以通過(guò)如下步驟實(shí)現(xiàn):檢測(cè)服務(wù)器緩存中是否存在與數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符對(duì)應(yīng)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系;若存在,則根據(jù)數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符以及服務(wù)器緩存中存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符和屬性以及服務(wù)器緩存中存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段;否則,根據(jù)數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符以及數(shù)據(jù)庫(kù)中存儲(chǔ)的類 標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)數(shù)據(jù)庫(kù)請(qǐng)求中的類標(biāo)識(shí)符和屬性以及數(shù)據(jù)庫(kù)中存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段。通過(guò)設(shè)置緩存的方式,可以進(jìn)一步提高數(shù)據(jù)庫(kù)操作的效率,減少用戶等待時(shí)間。
步驟203,根據(jù)數(shù)據(jù)庫(kù)操作類型、表的字段、表的表名以及操作參數(shù)構(gòu)造數(shù)據(jù)庫(kù)操作語(yǔ)句。
一個(gè)完整的數(shù)據(jù)庫(kù)操作語(yǔ)句,其基本結(jié)構(gòu)通??梢园〝?shù)據(jù)庫(kù)操作類型、所操作的表的表名、所操作的表的字段以及對(duì)應(yīng)的操作參數(shù)。在本實(shí)施例中,基于步驟202獲得的表的表名以及表的字段,以及基于數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型以及操作參數(shù),電子設(shè)備即可以構(gòu)造出對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句。
步驟204,執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句并將操作結(jié)果返回所述客戶端。
在本實(shí)施例中,基于步驟203構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句,上述電子設(shè)備可以執(zhí)行該數(shù)據(jù)庫(kù)操作語(yǔ)句。電子設(shè)備執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句時(shí),可以向數(shù)據(jù)庫(kù)系統(tǒng)發(fā)送對(duì)應(yīng)的執(zhí)行命令以獲得對(duì)應(yīng)的操作結(jié)果。需要說(shuō)明的是,該數(shù)據(jù)庫(kù)系統(tǒng)可以處于該電子設(shè)備中,也可以部署在與該電子設(shè)備不相同的其他服務(wù)器中。電子設(shè)備在獲得對(duì)應(yīng)的操作結(jié)果后,可以將獲得該操作結(jié)果通過(guò)網(wǎng)絡(luò)返回到客戶端。
繼續(xù)參見(jiàn)圖3,圖3是根據(jù)本實(shí)施例的數(shù)據(jù)庫(kù)操作方法的應(yīng)用場(chǎng)景的一個(gè)示意圖。在圖3的應(yīng)用場(chǎng)景中,用戶首先通過(guò)頁(yè)面發(fā)起一個(gè)數(shù)據(jù)庫(kù)查詢請(qǐng)求,該請(qǐng)求中包括資源種類、作為查詢條件的資源屬性及屬性值、所需查詢的屬性;之后,服務(wù)器可以后臺(tái)獲取該請(qǐng)求并根據(jù)其中的資源種類、資源屬性獲取對(duì)應(yīng)的表名以及字段,再根據(jù)獲取的表名、字段以及“查詢”操作類型、操作請(qǐng)求中的參數(shù)構(gòu)造數(shù)據(jù)庫(kù)查詢語(yǔ)句并執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)查詢語(yǔ)句;最后,服務(wù)器將查找結(jié)果返回到客戶端,用戶即可瀏覽到對(duì)應(yīng)的查找結(jié)果。
本申請(qǐng)的上述實(shí)施例提供的方法,由于預(yù)先存儲(chǔ)了類標(biāo)識(shí)符、屬性、表的表名以及表的字段等元數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系,在接收到數(shù)據(jù)庫(kù)操作請(qǐng)求時(shí),通過(guò)上述關(guān)聯(lián)關(guān)系即可獲取與請(qǐng)求中包含的類標(biāo)識(shí)符、 屬性對(duì)應(yīng)的表的表名和字段,并將獲取到的表的表名和字段結(jié)合數(shù)據(jù)庫(kù)操作類型以及操作參數(shù)構(gòu)造出操作語(yǔ)句,最后執(zhí)行相應(yīng)的操作語(yǔ)句并返回操作結(jié)果,該方式中對(duì)不同資源種類對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句可自動(dòng)生成,不需要為每種資源種類進(jìn)行單獨(dú)開(kāi)發(fā),減少了投入的工作量,也有利于實(shí)現(xiàn)整體規(guī)范的統(tǒng)一性。新增資源時(shí)只需輸入編寫新的關(guān)聯(lián)關(guān)系,有利于實(shí)現(xiàn)資源種類的拓展,提高了系統(tǒng)的可維護(hù)性。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,在步驟201之前,電子設(shè)備還執(zhí)行如下步驟:接收客戶端發(fā)送的類標(biāo)識(shí)符;根據(jù)該類標(biāo)識(shí)符以及該類標(biāo)識(shí)符對(duì)應(yīng)的所有屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的界面信息;將所述界面信息發(fā)送給所述客戶端。同時(shí),步驟201中數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是客戶端根據(jù)用戶在界面上的操作獲取的,該界面是客戶端根據(jù)上述界面信息生成的界面。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,在步驟201之前,電子設(shè)備還執(zhí)行如下步驟:接收客戶端發(fā)送的類標(biāo)識(shí)符和屬性;根據(jù)該類標(biāo)識(shí)符以及該屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的界面信息;將所述界面信息發(fā)送給所述客戶端。同時(shí),步驟201中數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是客戶端根據(jù)用戶在界面上的操作獲取的,該界面是客戶端根據(jù)上述界面信息生成的界面。
上述兩種可選的實(shí)現(xiàn)方式中,界面都可以使用超文本標(biāo)記語(yǔ)言(Hypertext Markup Language,HTML)界面,也可以采用其他類型的界面。界面信息可以包括組件類型、位置順序、數(shù)據(jù)類型、數(shù)據(jù)長(zhǎng)度、布局方式、對(duì)其方式、間距控制、字體等信息中的一種或多種。
這兩種實(shí)現(xiàn)方式使得不同種類的資源對(duì)應(yīng)的界面信息可以自動(dòng)獲取,開(kāi)發(fā)人員不需要為每種資源種類逐一開(kāi)發(fā)界面,進(jìn)一步減少了開(kāi)發(fā)所需的工作量,也提高了界面規(guī)范的統(tǒng)一性。
進(jìn)一步參考圖4,其示出了數(shù)據(jù)庫(kù)操作方法的又一個(gè)實(shí)施例的流程400。該數(shù)據(jù)庫(kù)操作方法的流程400,包括以下步驟:
步驟401,接收用戶的數(shù)據(jù)庫(kù)操作指令。
在本實(shí)施例中,數(shù)據(jù)庫(kù)操作運(yùn)行于其上的電子設(shè)備(例如圖1所示的終端設(shè)備)可以通過(guò)人機(jī)交互界面獲取用戶的數(shù)據(jù)庫(kù)操作指令。可選的,電子設(shè)備可以接收用戶的鍵盤操作、鼠標(biāo)操作、觸摸點(diǎn)擊等操作接收用戶的數(shù)據(jù)庫(kù)操作指令。所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是根據(jù)用戶在所述界面上的操作獲取的。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,在步驟401之前,電子設(shè)備還執(zhí)行如下步驟:接收用戶指定的類標(biāo)識(shí)符;向服務(wù)器發(fā)送界面信息請(qǐng)求,該界面信息請(qǐng)求包括指定類標(biāo)識(shí)符;接收服務(wù)器返回的界面信息,并根據(jù)界面信息生成界面,其中,界面信息是服務(wù)器根據(jù)指定類標(biāo)識(shí)符、指定類標(biāo)識(shí)符對(duì)應(yīng)的所有屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取的界面信息。同時(shí),上述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是根據(jù)用戶在上述界面上的操作獲取的。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,在步驟401之前,電子設(shè)備還執(zhí)行如下步驟:接收用戶指定的類標(biāo)識(shí)符;向服務(wù)器發(fā)送界面信息請(qǐng)求,該界面信息請(qǐng)求包括指定類標(biāo)識(shí)符和指定屬性;接收服務(wù)器返回的界面信息,并根據(jù)界面信息生成界面,其中,界面信息是服務(wù)器根據(jù)指定類標(biāo)識(shí)符、指定屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、界面信息之間的關(guān)聯(lián)關(guān)系獲取的界面信息。同時(shí),上述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型、操作參數(shù)是根據(jù)用戶在上述界面上的操作獲取的。
在上述兩種可選的實(shí)現(xiàn)方式中,界面信息可以包括組件類型、位置順序、數(shù)據(jù)類型、數(shù)據(jù)長(zhǎng)度、布局方式、對(duì)其方式、間距控制、字體等信息中的一種或多種。
步驟402,根據(jù)用戶的數(shù)據(jù)庫(kù)操作指令向服務(wù)器發(fā)送數(shù)據(jù)庫(kù)操作請(qǐng)求。
在本實(shí)施例中,基于步驟401接收到的數(shù)據(jù)庫(kù)操作指令,電子設(shè)備可以向服務(wù)器發(fā)送對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作請(qǐng)求。其中,該數(shù)據(jù)庫(kù)操作請(qǐng)求中可以包含數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù)。其中, 數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù)可以根據(jù)用戶的數(shù)據(jù)操作指令獲取。用戶的數(shù)據(jù)庫(kù)操作指令可以是在數(shù)據(jù)庫(kù)操作界面上的操作,該界面可以通過(guò)文本框、點(diǎn)擊按鈕、下拉菜單以及其他方式獲取用戶的輸入值,并將輸入值作為對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作類型、數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù)。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,數(shù)據(jù)庫(kù)操作類型可以是以下任意一種:新增操作、修改操作、查詢操作以及刪除操作。
步驟403,接收所述服務(wù)器返回的操作結(jié)果。
在本實(shí)施例中,電子設(shè)備可以接收服務(wù)器根據(jù)以上數(shù)據(jù)庫(kù)操作請(qǐng)求返回的操作結(jié)果。服務(wù)器獲得操作結(jié)果的過(guò)程可以通過(guò)以下步驟實(shí)現(xiàn):
首先,服務(wù)器在接收到數(shù)據(jù)庫(kù)操作請(qǐng)求后,可以根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取與該類標(biāo)識(shí)對(duì)應(yīng)的表名以及根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取與數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性相對(duì)應(yīng)的表的字段。通過(guò)這種方式,電子設(shè)備即可以根據(jù)類標(biāo)識(shí)符以及概念層上的屬性獲得物理層上的表名和表的字段。接著,數(shù)據(jù)庫(kù)可以根據(jù)獲得的表的表名以及表的字段以及數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型以及操作參數(shù),構(gòu)造對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句。最后,服務(wù)器可以執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句并獲得對(duì)應(yīng)的操作結(jié)果。
本實(shí)施例中的數(shù)據(jù)庫(kù)操作方法的流程400,將包含類標(biāo)識(shí)符、屬性、數(shù)據(jù)庫(kù)操作類型以及操作參數(shù)的數(shù)據(jù)庫(kù)操作請(qǐng)求發(fā)送給服務(wù)器,服務(wù)器根據(jù)數(shù)據(jù)庫(kù)操作請(qǐng)求以及預(yù)先存儲(chǔ)的關(guān)聯(lián)關(guān)系獲得數(shù)據(jù)庫(kù)操作類型、表的表名以及表的字段等數(shù)據(jù)庫(kù)操作語(yǔ)句所需的數(shù)據(jù)以構(gòu)造對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句,最后獲得數(shù)據(jù)庫(kù)執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句而返回的操作結(jié)果,該方式中對(duì)不同資源種類對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句可自動(dòng)生成,不需要為每種資源種類進(jìn)行單獨(dú)開(kāi)發(fā),減少了投入的工作量,也有利于實(shí)現(xiàn)整體規(guī)范的統(tǒng)一性,新增資源時(shí)只需編寫新的關(guān)聯(lián)關(guān)系即可,有利于實(shí)現(xiàn)資源種類的拓展,提高了系統(tǒng)的可維護(hù)性。
進(jìn)一步參考圖5,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)操作裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖5所示,本實(shí)施例所述的數(shù)據(jù)庫(kù)操作裝置500包括:接收單元501、獲取單元502、構(gòu)造單元503和執(zhí)行單元504。其中,接收單元501配置用于接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求,其中,該數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù);獲取單元502配置用于根據(jù)數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段;構(gòu)造單元503,配置用于根據(jù)上述數(shù)據(jù)庫(kù)操作類型、上述表的字段、上述表的表名以及上述操作參數(shù)構(gòu)造數(shù)據(jù)庫(kù)操作語(yǔ)句;執(zhí)行單元504,配置用于執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句并將操作結(jié)果返回客戶端。
在本實(shí)施例中,數(shù)據(jù)庫(kù)操作裝置500的接收單元501可以通過(guò)有線連接方式或者無(wú)線連接方式從用戶使用的終端接收數(shù)據(jù)庫(kù)操作請(qǐng)求。其中,上述數(shù)據(jù)庫(kù)操作請(qǐng)求包括了數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù)。
在本實(shí)施例中,數(shù)據(jù)庫(kù)操作裝置中可以預(yù)先存儲(chǔ)類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系以及類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系?;跀?shù)據(jù)庫(kù)請(qǐng)求中包含的類標(biāo)識(shí)符和屬性,獲取單元502可以根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取與該類標(biāo)識(shí)對(duì)應(yīng)的表名,根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取與數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性相對(duì)應(yīng)的表的字段。
在本實(shí)施例中,根據(jù)獲取單元502獲得的表的表名以及表的字段,以及數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作類型以及操作參數(shù),構(gòu)造單元503可以構(gòu)造對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句。
在本實(shí)施例中,上述執(zhí)行單元504可以根據(jù)構(gòu)造單元503所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句,執(zhí)行該數(shù)據(jù)庫(kù)操作語(yǔ)句以獲得對(duì)應(yīng)的操作結(jié)果,并可以將獲得操作結(jié)果通過(guò)網(wǎng)絡(luò)返回到客戶端。
進(jìn)一步參考圖6,作為對(duì)圖4所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N數(shù)據(jù)庫(kù)操作裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖4所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖6所示,本實(shí)施例所述的數(shù)據(jù)庫(kù)操作裝置600包括:指令接收單元601、請(qǐng)求發(fā)送單元602、操作結(jié)果接收單元603。其中,指令接收單元601配置用于接收用戶的數(shù)據(jù)庫(kù)操作指令;請(qǐng)求發(fā)送單元602配置用于根據(jù)用戶的數(shù)據(jù)庫(kù)操作指令向服務(wù)器發(fā)送數(shù)據(jù)庫(kù)操作請(qǐng)求,其中,該數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù);操作結(jié)果接收單元603,配置用于接收服務(wù)器返回的操作結(jié)果,其中,該操作結(jié)果是服務(wù)器通過(guò)執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句而產(chǎn)生的操作結(jié)果。
在本實(shí)施例中,數(shù)據(jù)庫(kù)操作裝置600的指令接收單元601可以通過(guò)人機(jī)交互界面獲取用戶的數(shù)據(jù)庫(kù)操作指令。可選的,電子設(shè)備可以接收用戶的鍵盤操作、鼠標(biāo)操作、觸摸點(diǎn)擊等操作接收用戶的數(shù)據(jù)庫(kù)操作指令。
在本實(shí)施例中,基于指令接收單元601接收到的數(shù)據(jù)庫(kù)操作指令,請(qǐng)求發(fā)送單元602可以向服務(wù)器發(fā)送對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作請(qǐng)求。其中,該數(shù)據(jù)庫(kù)操作請(qǐng)求中可以包含數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù)。該數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù)可以是根據(jù)用戶的數(shù)據(jù)操作指令獲取的。
在本實(shí)施例中,操作結(jié)果接收單元603可以接收服務(wù)器根據(jù)以上數(shù)據(jù)庫(kù)操作請(qǐng)求返回的操作結(jié)果。其中,服務(wù)器獲得操作結(jié)果的過(guò)程可以通過(guò)以下步驟實(shí)現(xiàn):首先,服務(wù)器在接收到數(shù)據(jù)庫(kù)操作請(qǐng)求后,可以根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取與該類標(biāo)識(shí)對(duì)應(yīng)的表名以及根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取與數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性相對(duì)應(yīng)的表的字段。通過(guò)這種方式,電子設(shè)備即可以根據(jù)類標(biāo)識(shí)符以及概念層上的屬性獲得物理層上的表名和表的字段。接著,數(shù)據(jù)庫(kù)可以根據(jù)獲得的表的表名以及表的字段以及數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的數(shù)據(jù)庫(kù)操作 類型以及操作參數(shù),構(gòu)造對(duì)應(yīng)的數(shù)據(jù)庫(kù)操作語(yǔ)句。最后,服務(wù)器可以執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句并獲得對(duì)應(yīng)的操作結(jié)果。
本領(lǐng)域技術(shù)人員可以理解,上述數(shù)據(jù)庫(kù)裝置500和600還包括一些其他公知結(jié)構(gòu),例如處理器、存儲(chǔ)器等,為了不必要地模糊本公開(kāi)的實(shí)施例,這些公知的結(jié)構(gòu)在圖5和圖6中未示出。
下面參考圖7,其示出了適于用來(lái)實(shí)現(xiàn)本申請(qǐng)實(shí)施例的終端設(shè)備或服務(wù)器的計(jì)算機(jī)系統(tǒng)700的結(jié)構(gòu)示意圖。
如圖7所示,計(jì)算機(jī)系統(tǒng)700包括中央處理單元(CPU)701,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(ROM)702中的程序或者從存儲(chǔ)部分708加載到隨機(jī)訪問(wèn)存儲(chǔ)器(RAM)703中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在RAM 703中,還存儲(chǔ)有系統(tǒng)700操作所需的各種程序和數(shù)據(jù)。CPU 701、ROM 702以及RAM 703通過(guò)總線704彼此相連。輸入/輸出(I/O)接口705也連接至總線704。
以下部件連接至I/O接口705:包括鍵盤、鼠標(biāo)等的輸入部分706;包括諸如陰極射線管(CRT)、液晶顯示器(LCD)等以及揚(yáng)聲器等的輸出部分707;包括硬盤等的存儲(chǔ)部分708;以及包括諸如LAN卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分709。通信部分709經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器710也根據(jù)需要連接至I/O接口705??刹鹦督橘|(zhì)711,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器710上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分708。
特別地,根據(jù)本公開(kāi)的實(shí)施例,上文參考流程圖描述的過(guò)程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開(kāi)的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括有形地包含在機(jī)器可讀介質(zhì)上的計(jì)算機(jī)程序,所述計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過(guò)通信部分709從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)711被安裝。
附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼 的一部分,所述模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來(lái)實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來(lái)實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元可以通過(guò)軟件的方式實(shí)現(xiàn),也可以通過(guò)硬件的方式來(lái)實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括接收單元、獲取單元、構(gòu)造單元和執(zhí)行單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對(duì)該單元本身的限定,例如,接收單元還可以被描述為“接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求的單元”。
作為另一方面,本申請(qǐng)還提供了一種非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì),該非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)可以是上述實(shí)施例中所述裝置中所包含的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì);也可以是單獨(dú)存在,未裝配入終端中的非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。上述非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)存儲(chǔ)有一個(gè)或者多個(gè)程序,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:接收客戶端發(fā)送的數(shù)據(jù)庫(kù)操作請(qǐng)求,所述數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及操作參數(shù);根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的表名,并根據(jù)所述數(shù)據(jù)庫(kù)操作請(qǐng)求中包含的類標(biāo)識(shí)符、屬性以及預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取對(duì)應(yīng)的表的字段;根據(jù)所述數(shù)據(jù)庫(kù)操作類型、所述表的字段、所述表的表名以及所述操作參數(shù)構(gòu)造數(shù)據(jù)庫(kù)操作語(yǔ)句;執(zhí)行所構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句并將操作結(jié)果返回所述客戶端?;蛘?,當(dāng)所述一個(gè)或者多個(gè)程序被一個(gè)設(shè)備執(zhí)行時(shí),使得所述設(shè)備:接收用戶的數(shù)據(jù)庫(kù)操作指令;根據(jù)用戶的數(shù)據(jù)庫(kù)操作指令向服務(wù)器發(fā)送數(shù)據(jù)庫(kù)操作請(qǐng)求,所述數(shù)據(jù)庫(kù)操作請(qǐng)求包括數(shù)據(jù)庫(kù)操作類型、類標(biāo)識(shí)符、屬性以及 操作參數(shù);接收所述服務(wù)器返回的操作結(jié)果,其中,所述操作結(jié)果是服務(wù)器通過(guò)執(zhí)行數(shù)據(jù)庫(kù)操作語(yǔ)句而產(chǎn)生的操作結(jié)果,所述數(shù)據(jù)操作語(yǔ)句是所述服務(wù)器根據(jù)所述數(shù)據(jù)庫(kù)操作類型、表的字段、表的表名以及所述操作參數(shù)構(gòu)造的數(shù)據(jù)庫(kù)操作語(yǔ)句,所述表的表名是所述服務(wù)器根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符與表的表名之間的關(guān)聯(lián)關(guān)系獲取的與所述類標(biāo)識(shí)符獲取對(duì)應(yīng)的表的表名,所述表的字段是所述服務(wù)器根據(jù)預(yù)先存儲(chǔ)的類標(biāo)識(shí)符、屬性、表的字段之間的關(guān)聯(lián)關(guān)系獲取的與所述類標(biāo)識(shí)符、所述屬性對(duì)應(yīng)的表的字段。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說(shuō)明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離所述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開(kāi)的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。