本申請涉及計算機領域,尤其涉及一種數(shù)據(jù)庫訪問方法及設備。
背景技術:
隨著信息技術的發(fā)展和數(shù)據(jù)應用場景的增加,數(shù)據(jù)的訪問需求也呈現(xiàn)出明顯增加的趨勢。在企業(yè)中由于業(yè)務和運維的需要,越來越多的人員需要獲得數(shù)據(jù)庫的訪問權(quán)限。一方面伴隨著不同的訪問需求會出現(xiàn)以下四種訪問行為控制:(1)用戶需要一直具有能夠訪問數(shù)據(jù)庫的持久性的訪問行為;(2)用戶只能在規(guī)定的預設時間段內(nèi)訪問數(shù)據(jù)庫的規(guī)定性的訪問行為,例如用戶只能在周一至周五的上午九點至下午六點可以訪問數(shù)據(jù)庫,并在其他時間段不能訪問數(shù)據(jù)庫;(3)用戶只能周期性的訪問數(shù)據(jù)庫一段預設時間段的周期性的訪問行為,例如用戶只能在每月一日的上午九點至十點訪問數(shù)據(jù)庫,其他時間不能訪問數(shù)據(jù)庫;(4)用戶被臨時授予了一段預設時間段可以訪問數(shù)據(jù)庫的臨時性的訪問行為,例如用戶臨時被授予本周一上午九點至下午六點可以訪問數(shù)據(jù)庫,其他時間不能訪問數(shù)據(jù)庫。另一方面,伴隨著不同的訪問需求會出現(xiàn)以下兩種訪問內(nèi)容控制:(1)用戶可以訪問數(shù)據(jù)庫中所有的表和字段的全局性的訪問內(nèi)容控制;(2)用戶只可以訪問數(shù)據(jù)庫中指定的表和字段的局部性的訪問內(nèi)容控制。如上所述,不同的訪問需求導致了不同的訪問行為控制和不同的訪問內(nèi)容控制。
現(xiàn)有技術中的訪問控制方案主要通過數(shù)據(jù)庫本身來實現(xiàn)。例如通過共用的數(shù)據(jù)庫賬號來滿足不同用戶對數(shù)據(jù)庫的不同訪問需求,若一旦共用的數(shù)據(jù)庫賬號被某一用戶丟失或被泄露的話,將會增加數(shù)據(jù)庫數(shù)據(jù)被泄露的風險;又例如通過新建和刪除數(shù)據(jù)庫賬號來滿足不同用戶對數(shù)據(jù)庫的不同訪問需求,這樣雖然滿足了不同的用戶擁有不同的訪問時間段和訪問內(nèi)容,但是這種的訪問方式增加了數(shù)據(jù)庫維護和管理的難度,并且可能會存在新建的數(shù)據(jù)庫賬號沒有及時刪除,從而也增加了數(shù)據(jù)庫數(shù)據(jù)被泄露的風險。
技術實現(xiàn)要素:
本申請的一個目的是提供一種數(shù)據(jù)庫訪問方法及設備,以解決現(xiàn)有技術中通過數(shù)據(jù)庫本身來訪問數(shù)據(jù)庫中的數(shù)據(jù)時,可能導致的數(shù)據(jù)被泄露的高風險的問題。
根據(jù)本申請的一個方面,提供了一種在從賬號管理設備端的數(shù)據(jù)庫訪問方法,該方法包括:
創(chuàng)建數(shù)據(jù)庫的從賬號,并預置所述從賬號的訪問權(quán)限;
接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求;
基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,并將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備;
接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備。
進一步地,上述方法中,所述從賬號的數(shù)量為至少一個。
進一步地,上述方法中,所述從賬號包括用戶名,
所述接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求包括:
接收與所述用戶名對應的用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求。
進一步地,上述方法中,所述基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,包括:
對所述訪問請求進行解析處理,得到至少一個sql語句;
基于所述訪問權(quán)限對所述至少一個sql語句進行過濾處理,得到處理后的sql語句。
進一步地,上述方法中,所述對所述訪問請求進行解析處理,得到至少一個sql語句,包括:
基于預設的解析規(guī)則對所述訪問請求進行解析處理,得到至少一個sql語句。
進一步地,上述方法中,所述接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備之后,還包括:
獲取并保存所述用戶設備通過所述從賬號訪問數(shù)據(jù)庫時對應的訪問日志。
進一步地,上述方法中,所述方法還包括:
基于預設時間間隔刪除所述從賬號。
進一步地,上述方法中,所述方法還包括:
更新所述從賬號的訪問權(quán)限。
進一步地,上述方法中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。
根據(jù)本申請的另一方面,還提供了一種在數(shù)據(jù)庫服務設備端的數(shù)據(jù)庫訪問方法,其中,所述方法包括
接收從賬號管理設備發(fā)送的過濾后的sql語句,其中,所述過濾后的sql語句由所述從賬號管理設備基于預置的從賬號的訪問權(quán)限,對用戶設備通過所述從賬號訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理得到;
執(zhí)行所述過濾后的sql語句,得到對應的執(zhí)行結(jié)果;
將與所述執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備。
進一步地,上述方法中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。
根據(jù)本申請的另一方面,還提供了一種用于數(shù)據(jù)庫訪問的從賬號管理設備,其中,所述從賬號管理設備包括:
創(chuàng)建裝置,用于創(chuàng)建數(shù)據(jù)庫的從賬號,并預置所述從賬號的訪問權(quán)限;
請求接收裝置,用于接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求;
處理裝置,用于基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,并將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備;
信息轉(zhuǎn)發(fā)裝置,用于接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備。
進一步地,上述從賬號管理設備中,所述從賬號的數(shù)量為至少一個。
進一步地,上述從賬號管理設備中,所述從賬號包括用戶名,
所述請求接收裝置用于:
接收與所述用戶名對應的用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求。
進一步地,上述從賬號管理設備中,所述處理裝置用于:
對所述訪問請求進行解析處理,得到至少一個sql語句;
基于所述訪問權(quán)限對所述至少一個sql語句進行過濾處理,得到處理后的sql語句。
進一步地,上述從賬號管理設備中,所述處理裝置用于:
基于預設的解析規(guī)則對所述訪問請求進行解析處理,得到至少一個sql語句。
進一步地,上述從賬號管理設備中,所述信息轉(zhuǎn)發(fā)裝置14還用于:
獲取并保存所述用戶設備通過所述從賬號訪問數(shù)據(jù)庫時對應的訪問日志。
進一步地,上述從賬號管理設備中,所述從賬號管理設備還包括刪除裝置,其中,所述刪除裝置用于:
基于預設時間間隔刪除所述從賬號。
進一步地,上述從賬號管理設備中,所述從賬號管理設備還包括更新裝置,其中,所述更新裝置用于:
更新所述從賬號的訪問權(quán)限。
進一步地,上述從賬號管理設備中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。
根據(jù)本申請的另一方面,還提供了一種用于數(shù)據(jù)庫訪問的數(shù)據(jù)庫服務設備,其中,所述數(shù)據(jù)庫服務設備包括
語句接收裝置,用于接收從賬號管理設備發(fā)送的過濾后的sql語句,其中,所述過濾后的sql語句由所述從賬號管理設備基于預置的從賬號的訪問權(quán)限,對用戶設備通過所述從賬號訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理得到;
執(zhí)行裝置,用于執(zhí)行所述過濾后的sql語句,得到對應的執(zhí)行結(jié)果;
信息發(fā)送裝置,用于將與所述執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備。
進一步地,上述數(shù)據(jù)庫服務設備中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。
與現(xiàn)有技術相比,本申請通過在數(shù)據(jù)庫的從賬號管理設備端創(chuàng)建數(shù)據(jù)庫的從賬號,并預置所述從賬號的訪問權(quán)限;當用戶需要通過該從賬號訪問數(shù)據(jù)庫時,所述從賬號管理設備接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求;基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,并將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備;之后接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備。利用創(chuàng)建的數(shù)據(jù)庫的從賬號,不僅滿足了不同用戶的訪問請求,還避免了共用或改變數(shù)據(jù)庫的主賬號可能導致的數(shù)據(jù)庫的數(shù)據(jù)信息被泄露的風險,同時通過預置的從賬號的訪問權(quán)限確保了訪問數(shù)據(jù)庫的數(shù)據(jù)信息的安全性和高效性,進一步地保證了數(shù)據(jù)庫的主賬號的安全性。
進一步地,本申請還通過在數(shù)據(jù)庫服務設備端接收從賬號管理設備發(fā)送的過濾后的sql語句,其中,所述過濾后的sql語句由所述從賬號管理設備基于預置的從賬號的訪問權(quán)限,對用戶設備通過所述從賬號訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理得到;執(zhí)行所述過濾后的sql語句,得到對應的執(zhí)行結(jié)果;將與所述執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備,使得所述從賬號管理設備將接收到的所述數(shù)據(jù)信息轉(zhuǎn)發(fā)給所述訪問請求對應的用戶設備,進而實現(xiàn)用戶通過創(chuàng)建的所述從賬號能夠訪問數(shù)據(jù)庫中的數(shù)據(jù)信息,不僅保證了數(shù)據(jù)庫的主賬號的安全性,還避免了數(shù)據(jù)庫中的數(shù)據(jù)信息的泄露或丟失,通過所述從賬號確保了對數(shù)據(jù)庫中的數(shù)據(jù)信息進行訪問的安全性和靈活性。
附圖說明
通過閱讀參照以下附圖所作的對非限制性實施例所作的詳細描述,本申請的其它特征、目的和優(yōu)點將會變得更明顯:
圖1示出根據(jù)本申請一個方面的一種在從賬號管理設備端的數(shù)據(jù)庫訪問方法的流程示意圖;
圖2示出本申請的另一個方面提供的一種在數(shù)據(jù)庫服務設備端的數(shù)據(jù)庫訪問方法的流程示意圖;
圖3示出根據(jù)本申請一個方面的一種用于數(shù)據(jù)庫訪問的從賬號管理設備的結(jié)構(gòu)示意圖;
圖4示出根據(jù)本申請一個方面的一種用于數(shù)據(jù)庫訪問的數(shù)據(jù)庫服務設備的結(jié)構(gòu)示意圖。
附圖中相同或相似的附圖標記代表相同或相似的部件。
具體實施方式
下面結(jié)合附圖對本申請作進一步詳細描述。
在本申請一個典型的配置中,終端、服務網(wǎng)絡的設備和可信方均包括一個或多個處理器(cpu)、輸入/輸出接口、網(wǎng)絡接口和內(nèi)存。
內(nèi)存可能包括計算機可讀介質(zhì)中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。內(nèi)存是計算機可讀介質(zhì)的示例。
計算機可讀介質(zhì)包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質(zhì)的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質(zhì),可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質(zhì)不包括非暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
在本申請實施例中的數(shù)據(jù)庫訪問過程中,當用戶需要訪問數(shù)據(jù)庫時,數(shù)據(jù)庫的用戶設備端獲取用戶訪問數(shù)據(jù)庫的訪問請求,并將該訪問請求發(fā)送給數(shù)據(jù)庫的從賬號管理設備,其中,圖1示出根據(jù)本申請一個方面的一種在從賬號管理設備端的數(shù)據(jù)庫訪問方法的流程示意圖;該方法應用于數(shù)據(jù)庫訪問過程中的數(shù)據(jù)庫的從賬號管理服務設備端,包括步驟s11、步驟s12、步驟s13和步驟s14,其中,具體包括:
所述步驟s11,創(chuàng)建數(shù)據(jù)庫的從賬號,并預置所述從賬號的訪問權(quán)限,通過創(chuàng)建的數(shù)據(jù)庫的從賬號,可以在不需要改變數(shù)據(jù)庫的主賬號的前提下,基于預置的從賬號的訪問權(quán)限實現(xiàn)對數(shù)據(jù)庫的數(shù)據(jù)信息的靈活高效的訪問控制;當用戶需要通過該從賬號訪問數(shù)據(jù)庫時,所述步驟s12,接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求,其中所述訪問請求中包含用戶訪問數(shù)據(jù)庫時的操作數(shù)據(jù)庫的語句sql語句(structuredquerylanguage語句,結(jié)構(gòu)化查詢語言語句);所述步驟s13,基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,并將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備;在所述數(shù)據(jù)庫服務設備執(zhí)行完過濾后的sql語句得到執(zhí)行結(jié)果之后,將數(shù)據(jù)庫中的與執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備,之后所述步驟s14,接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備。利用創(chuàng)建的數(shù)據(jù)庫的從賬號,不僅滿足了不同用戶的訪問請求,還避免了共用或改變數(shù)據(jù)庫的主賬號可能導致的數(shù)據(jù)庫的數(shù)據(jù)信息被泄露的風險,同時通過預置的從賬號的訪問權(quán)限確保了訪問數(shù)據(jù)庫的數(shù)據(jù)信息的安全性和高效性,進一步地保證了數(shù)據(jù)庫的主賬號的安全性。
需要說明的是,所述步驟s13中通過java數(shù)據(jù)庫連接(javadatabaseconnectivity,jdbc)或開放數(shù)據(jù)庫連接(opendatabaseconnectivity,odbc)的方式,將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使得數(shù)據(jù)庫服務設備接收并執(zhí)行所述過濾后的sql語句。
本申請一實施例中,為了滿足不同用戶對數(shù)據(jù)庫中的數(shù)據(jù)的訪問需求,所述步驟s11中可以同時創(chuàng)建至少一個可以進行訪問數(shù)據(jù)庫的從賬號,因而創(chuàng)建的所述從賬號的數(shù)量為至少一個,以滿足不同用戶對數(shù)據(jù)庫中的數(shù)據(jù)的訪問需求。進一步地,在創(chuàng)建至少一個從賬號時,為了保證一個從賬號對應滿足一個用戶的訪問需求,則所述從賬號包括用戶的用戶名,則所述步驟s12接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求包括:接收與所述用戶名對應的用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求,實現(xiàn)創(chuàng)建的每個從賬號對應滿足一個用戶名對應的用戶的數(shù)據(jù)庫訪問需求,保證對數(shù)據(jù)庫訪問的簡單高效。
例如,對于數(shù)據(jù)庫a,若存在100個用戶需要對數(shù)據(jù)庫a中的數(shù)據(jù)進行訪問控制,則同時創(chuàng)建100個可以進行訪問數(shù)據(jù)庫a的從賬號,以分別供著100個用戶使用;為了防止從賬號與用戶之間的對應關系換亂,因為創(chuàng)建所述從賬號時,所述從賬號還包括用戶名,例如從賬號1包括對應的用戶名id1,從賬號2包括對應的用戶名id2,……,從賬號100包括對應的用戶名id100;當用戶名id25需要對數(shù)據(jù)庫a進行訪問時,則所述用戶名id25對應的用戶設備向通過所述從賬號25向從賬號管理設備發(fā)送訪問數(shù)據(jù)庫的訪問請求,之后所述步驟s12接收與所述用戶名id25對應的用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求,通過所述從賬號可以非常簡單高效地解決對應的用戶名下的用戶的訪問數(shù)據(jù)庫的需求,提高了訪問數(shù)據(jù)庫的效率。
本申請一實施例中,所述步驟s11中在創(chuàng)建數(shù)據(jù)庫的從賬號之后,需要對每個從賬號設置對應的訪問權(quán)限,以保證不同的從賬號來滿足不同的用戶的訪問請求,其中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。例如在創(chuàng)建從賬號25時,還需預置從賬號25可以訪問數(shù)據(jù)庫的訪問時間,和/或,預置從賬號25可以訪問數(shù)據(jù)庫的訪問數(shù)據(jù)(即訪問內(nèi)容),通過預置的從賬號的訪問時間和訪問數(shù)據(jù),可以使用戶能夠快速高效地在預置的訪問時間和/或訪問數(shù)據(jù)下來訪問數(shù)據(jù)庫,減少訪問數(shù)據(jù)庫的訪問過程所需時間,提高訪問數(shù)據(jù)庫的訪問過程的訪問效率。
本申請一實施例中,所述步驟s13中的基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,包括:
對所述訪問請求進行解析處理,得到至少一個sql語句;
基于所述訪問權(quán)限對所述至少一個sql語句進行過濾處理,得到處理后的sql語句。
本申請一實施例中,所述訪問請求以數(shù)據(jù)包的形式呈現(xiàn),則所述訪問請求為數(shù)據(jù)庫的用戶設備端使用從賬號訪問數(shù)據(jù)庫時,包含數(shù)據(jù)庫操作語句(即sql語句)的數(shù)據(jù)包,則所述步驟s13需首先對以數(shù)據(jù)包的形式呈現(xiàn)的訪問請求進行解析處理,得到解析處理之后的至少一個sql語句。進一步地,為了對以數(shù)據(jù)包的形式呈現(xiàn)的訪問請求進行更好地解析處理,所述步驟s13中之后對所述訪問請求進行解析處理,得到至少一個sql語句包括:基于預設的解析規(guī)則對所述訪問請求進行解析處理,得到至少一個sql語句。在此,所述預設的解析規(guī)則可以包括但不限于是數(shù)據(jù)查詢語句解析規(guī)則、數(shù)據(jù)操縱語句解析規(guī)則、數(shù)據(jù)定義語句解析規(guī)則及數(shù)據(jù)控制語句解析規(guī)則。例如,所述步驟s13采用上述舉例的幾種預設的解析規(guī)則,對以數(shù)據(jù)包的形式呈現(xiàn)的訪問請求進行解析處理,得到數(shù)據(jù)庫的用戶設備端通過從賬號訪問數(shù)據(jù)庫時包含的至少一個sql語句,進而實現(xiàn)對所述訪問請求的解析處理,以得到具體的數(shù)據(jù)庫操作語句。
接著本申請的上述實施例,所述步驟s13在對所述訪問請求進行解析處理之后,為了防止非法的數(shù)據(jù)庫操作語句對數(shù)據(jù)庫進行非法訪問,所述步驟s13基于訪問權(quán)限對解析處理得到的至少一個sql進行過濾處理,以過濾掉解析處理得到的至少一個sql中的非法的sql語句,以得到過濾后的sql語句。在此,若所述訪問權(quán)限包括訪問時間,則對sql語句進行的過濾處理過程為:分別判斷每個sql語句的執(zhí)行時間是否在從賬號管理設備預置的所述訪問時間內(nèi),若不在,則將該sql語句丟棄不執(zhí)行;若在,則將該sql語句保留,在對解析處理得到的所有的sql語句進行過濾處理后,將保留下來的處理后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使該數(shù)據(jù)庫服務設備執(zhí)行過濾后的sql語句,實現(xiàn)了對訪問請求解析處理之后得到的至少一個sql語句進行過濾處理,保證了訪問數(shù)據(jù)庫的sql語句的合法性,進而確保了訪問數(shù)據(jù)庫時的安全性。
接著本申請上述實施例,若所述訪問權(quán)限包括訪問數(shù)據(jù),則對sql語句進行的過濾處理過程為:分別判斷每個sql語句中的訪問內(nèi)容(例如數(shù)據(jù)庫中的表,字段等)是否在從賬號管理設備預置的所述訪問數(shù)據(jù)內(nèi),若不在,則將該sql語句丟棄不執(zhí)行;若在,則將該sql語句保留,在對解析處理得到的所有的sql語句進行過濾處理后,將保留下來的處理后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使該數(shù)據(jù)庫服務設備執(zhí)行過濾后的sql語句,實現(xiàn)了對訪問請求解析處理之后得到的至少一個sql語句進行過濾處理,保證了訪問數(shù)據(jù)庫的sql語句的合法性,進而確保了訪問數(shù)據(jù)庫時的安全性。
接著本申請上述實施例,若所述訪問權(quán)限包括訪問數(shù)據(jù)和訪問時間,則對sql語句進行的過濾處理過程為:分別判斷每個sql語句的執(zhí)行時間是否在從賬號管理設備預置的所述訪問時間內(nèi),且每個sql語句的訪問內(nèi)容(例如數(shù)據(jù)庫中的表,字段等)是否在從賬號管理設備預置的所述訪問數(shù)據(jù)內(nèi),若均不在,則將該sql語句丟棄不執(zhí)行;若均在,則將該sql語句保留,在對解析處理得到的所有的sql語句進行過濾處理后,將保留下來的處理后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使該數(shù)據(jù)庫服務設備執(zhí)行過濾后的sql語句,實現(xiàn)了對訪問請求解析處理之后得到的至少一個sql語句進行精確過濾處理,保證了訪問數(shù)據(jù)庫的sql語句的合法性,更進一步地確保了訪問數(shù)據(jù)庫時的安全性,使得只有滿足訪問權(quán)限的用戶設備才能夠在預置的訪問時間內(nèi)獲取到預置的訪問數(shù)據(jù)內(nèi)的數(shù)據(jù)信息。
本申請一實施例中,為了避免數(shù)據(jù)庫出現(xiàn)數(shù)據(jù)泄露或丟失時找不到根源所在,所述步驟s14接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備之后,還包括:獲取并保存所述用戶設備通過所述從賬號訪問數(shù)據(jù)庫時對應的訪問日志,使得,數(shù)據(jù)庫中的數(shù)據(jù)信息出現(xiàn)泄露或丟失之后,能夠基于數(shù)據(jù)庫中的數(shù)據(jù)信息被被泄露的時間和/或數(shù)據(jù)信息,通過該訪問日志追溯并查找到訪問該數(shù)據(jù)庫被泄露的數(shù)據(jù)信息被哪個用戶設備通過從賬號訪問過,進而查找到到時數(shù)據(jù)庫中的數(shù)據(jù)信息被泄露和/或丟失的根源所在,確保在數(shù)據(jù)庫中的數(shù)據(jù)信息發(fā)送泄露和/或丟失之后能夠快速地解決問題。
本申請一實施例中,本申請?zhí)峁┮环N在從賬號管理設備端的數(shù)據(jù)庫訪問方法,還包括:基于預設時間間隔刪除所述從賬號。為了節(jié)省從賬號管理設備的存儲資源以及避免創(chuàng)建的從賬號的泄露和/或丟失導致的數(shù)據(jù)庫中的數(shù)據(jù)信息的不安全性,本申請實施例中對創(chuàng)建的每一個從賬號都是有生命周期的,即每一個從賬號自創(chuàng)建開始,超過預設時間間隔之后,則將創(chuàng)建的所述從賬號刪除,以避免該從賬號的泄露和/或丟失,進而進一步地保證數(shù)據(jù)庫中的數(shù)據(jù)信息的安全性,同時刪除了所述從賬號,也節(jié)省了從賬號管理設備的存儲資源。
本申請一實施例中,本申請?zhí)峁┮环N在從賬號管理設備端的數(shù)據(jù)庫訪問方法,還包括:更新所述從賬號的訪問權(quán)限。為了滿足不同的用戶對數(shù)據(jù)庫的不同的訪問請求,需要對所述從賬號的訪問權(quán)限進行更新,以滿足用戶設備通過所述從賬號能夠在不同的訪問時間內(nèi)和/或訪問數(shù)據(jù)內(nèi)進行數(shù)據(jù)庫的訪問,進而滿足用戶通過所述從賬號進行數(shù)據(jù)庫訪問時的不同訪問需求。
在數(shù)據(jù)庫從賬號管理設備將用戶設備發(fā)送的訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理之后,得到訪問請求對應的過濾后的sql語句,并將過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備進行后續(xù)訪問處理如圖2所示,圖2示出本申請的另一個方面提供的一種在數(shù)據(jù)庫服務設備端的數(shù)據(jù)庫訪問方法的流程示意圖;該方法應用于數(shù)據(jù)庫訪問過程中的數(shù)據(jù)庫服務設備端,其中,所述方法包括步驟s21、步驟s22和步驟s23,其中,具體包括:所述步驟s21,接收從賬號管理設備發(fā)送的過濾后的sql語句,其中,所述過濾后的sql語句由所述從賬號管理設備基于預置的從賬號的訪問權(quán)限,對用戶設備通過所述從賬號訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理得到;所述步驟s22,執(zhí)行所述過濾后的sql語句,得到對應的執(zhí)行結(jié)果;所述步驟s23,將與所述執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備,使得所述從賬號管理設備將接收到的所述數(shù)據(jù)信息轉(zhuǎn)發(fā)給所述訪問請求對應的用戶設備,進而實現(xiàn)用戶通過創(chuàng)建的所述從賬號能夠訪問數(shù)據(jù)庫中的數(shù)據(jù)信息,不僅保證了數(shù)據(jù)庫的主賬號的安全性,還避免了數(shù)據(jù)庫中的數(shù)據(jù)信息的泄露或丟失,通過所述從賬號確保了對數(shù)據(jù)庫中的數(shù)據(jù)信息進行訪問的安全性和靈活性。
為了滿足不同的用戶對數(shù)據(jù)庫進行訪問時的不同的訪問請求,需要對每個從賬號設置對應的訪問權(quán)限,以保證不同的從賬號來滿足不同的用戶的訪問請求,其中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。例如從賬號管理設備在創(chuàng)建從賬號25時,還需預置從賬號25可以訪問數(shù)據(jù)庫的訪問時間,和/或,預置從賬號25可以訪問數(shù)據(jù)庫的訪問數(shù)據(jù)(即訪問內(nèi)容),通過預置的從賬號的訪問時間和訪問數(shù)據(jù),可以使用戶能夠快速高效地在預置的訪問時間和/或訪問數(shù)據(jù)下來訪問數(shù)據(jù)庫,減少訪問數(shù)據(jù)庫的訪問過程所需時間,提高訪問數(shù)據(jù)庫的訪問過程的訪問效率。
在本申請實施例中的數(shù)據(jù)庫訪問過程中,當用戶需要訪問數(shù)據(jù)庫時,數(shù)據(jù)庫的用戶設備端獲取用戶訪問數(shù)據(jù)庫的訪問請求,并將該訪問請求發(fā)送給數(shù)據(jù)庫的從賬號管理設備,其中,圖3示出根據(jù)本申請一個方面的一種用于數(shù)據(jù)庫訪問的從賬號管理設備的結(jié)構(gòu)示意圖;應用于數(shù)據(jù)庫訪問過程中的數(shù)據(jù)庫的從賬號管理服務設備端,包括創(chuàng)建裝置11、請求接收裝置12、處理裝置13和信息發(fā)送裝置14,其中,具體包括:
所述創(chuàng)建裝置11,用于創(chuàng)建數(shù)據(jù)庫的從賬號,并預置所述從賬號的訪問權(quán)限,通過創(chuàng)建的數(shù)據(jù)庫的從賬號,可以在不需要改變數(shù)據(jù)庫的主賬號的前提下,基于預置的從賬號的訪問權(quán)限實現(xiàn)對數(shù)據(jù)庫的數(shù)據(jù)信息的靈活高效的訪問控制;當用戶需要通過該從賬號訪問數(shù)據(jù)庫時,所述請求接收裝置12,用于接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求;所述處理裝置13,用于基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,并將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備;在所述數(shù)據(jù)庫服務設備執(zhí)行完過濾后的sql語句得到執(zhí)行結(jié)果之后,將數(shù)據(jù)庫中的與執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備,之后所述信息發(fā)送裝置14,用于接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備。利用創(chuàng)建的數(shù)據(jù)庫的從賬號,不僅滿足了不同用戶的訪問請求,還避免了共用或改變數(shù)據(jù)庫的主賬號可能導致的數(shù)據(jù)庫的數(shù)據(jù)信息被泄露的風險,同時通過預置的從賬號的訪問權(quán)限確保了訪問數(shù)據(jù)庫的數(shù)據(jù)信息的安全性和高效性,進一步地保證了數(shù)據(jù)庫的主賬號的安全性。
需要說明的是,所述處理裝置13中通過java數(shù)據(jù)庫連接(javadatabaseconnectivity,jdbc)或開放數(shù)據(jù)庫連接(opendatabaseconnectivity,odbc)的方式,將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使得數(shù)據(jù)庫服務設備接收并執(zhí)行所述過濾后的sql語句。
本申請一實施例中,為了滿足不同用戶對數(shù)據(jù)庫中的數(shù)據(jù)的訪問需求,所述創(chuàng)建裝置11中可以同時創(chuàng)建至少一個可以進行訪問數(shù)據(jù)庫的從賬號,因而創(chuàng)建的所述從賬號的數(shù)量為至少一個,以滿足不同用戶對數(shù)據(jù)庫中的數(shù)據(jù)的訪問需求。進一步地,在創(chuàng)建至少一個從賬號時,為了保證一個從賬號對應滿足一個用戶的訪問需求,則所述從賬號包括用戶的用戶名,則所述請求接收裝置12用于:接收與所述用戶名對應的用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求,實現(xiàn)創(chuàng)建的每個從賬號對應滿足一個用戶名對應的用戶的數(shù)據(jù)庫訪問需求,保證對數(shù)據(jù)庫訪問的簡單高效。
例如,對于數(shù)據(jù)庫a,若存在100個用戶需要對數(shù)據(jù)庫a中的數(shù)據(jù)進行訪問控制,則同時創(chuàng)建100個可以進行訪問數(shù)據(jù)庫a的從賬號,以分別供著100個用戶使用;為了防止從賬號與用戶之間的對應關系換亂,因為創(chuàng)建所述從賬號時,所述從賬號還包括用戶名,例如從賬號1包括對應的用戶名id1,從賬號2包括對應的用戶名id2,……,從賬號100包括對應的用戶名id100;當用戶名id25需要對數(shù)據(jù)庫a進行訪問時,則所述用戶名id25對應的用戶設備向通過所述從賬號25向從賬號管理設備發(fā)送訪問數(shù)據(jù)庫的訪問請求,之后所述請求接收裝置12接收與所述用戶名id25對應的用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求,通過所述從賬號可以非常簡單高效地解決對應的用戶名下的用戶的訪問數(shù)據(jù)庫的需求,提高了訪問數(shù)據(jù)庫的效率。
本申請一實施例中,所述創(chuàng)建裝置11中在創(chuàng)建數(shù)據(jù)庫的從賬號之后,需要對每個從賬號設置對應的訪問權(quán)限,以保證不同的從賬號來滿足不同的用戶的訪問請求,其中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。例如在創(chuàng)建從賬號25時,還需預置從賬號25可以訪問數(shù)據(jù)庫的訪問時間,和/或,預置從賬號25可以訪問數(shù)據(jù)庫的訪問數(shù)據(jù)(即訪問內(nèi)容),通過預置的從賬號的訪問時間和訪問數(shù)據(jù),可以使用戶能夠快速高效地在預置的訪問時間和/或訪問數(shù)據(jù)下來訪問數(shù)據(jù)庫,減少訪問數(shù)據(jù)庫的訪問過程所需時間,提高訪問數(shù)據(jù)庫的訪問過程的訪問效率。
本申請一實施例中,所述處理裝置13用于:
對所述訪問請求進行解析處理,得到至少一個sql語句;
基于所述訪問權(quán)限對所述至少一個sql語句進行過濾處理,得到處理后的sql語句。
本申請一實施例中,所述訪問請求以數(shù)據(jù)包的形式呈現(xiàn),則所述訪問請求為數(shù)據(jù)庫的用戶設備端使用從賬號訪問數(shù)據(jù)庫時,包含數(shù)據(jù)庫操作語句(即sql語句)的數(shù)據(jù)包,則所述處理裝置13需首先對以數(shù)據(jù)包的形式呈現(xiàn)的訪問請求進行解析處理,得到解析處理之后的至少一個sql語句。
進一步地,為了對以數(shù)據(jù)包的形式呈現(xiàn)的訪問請求進行更好地解析處理,所述處理裝置13用于:基于預設的解析規(guī)則對所述訪問請求進行解析處理,得到至少一個sql語句。在此,所述預設的解析規(guī)則可以包括但不限于是數(shù)據(jù)查詢語句解析規(guī)則、數(shù)據(jù)操縱語句解析規(guī)則、數(shù)據(jù)定義語句解析規(guī)則及數(shù)據(jù)控制語句解析規(guī)則。例如,所述處理裝置13采用上述舉例的幾種預設的解析規(guī)則,對以數(shù)據(jù)包的形式呈現(xiàn)的訪問請求進行解析處理,得到數(shù)據(jù)庫的用戶設備端通過從賬號訪問數(shù)據(jù)庫時包含的至少一個sql語句,進而實現(xiàn)對所述訪問請求的解析處理,以得到具體的數(shù)據(jù)庫操作語句。
接著本申請的上述實施例,所述處理裝置13在對所述訪問請求進行解析處理之后,為了防止非法的數(shù)據(jù)庫操作語句對數(shù)據(jù)庫進行非法訪問,所述處理裝置13基于訪問權(quán)限對解析處理得到的至少一個sql進行過濾處理,以過濾掉解析處理得到的至少一個sql中的非法的sql語句,以得到過濾后的sql語句。在此,若所述訪問權(quán)限包括訪問時間,則對sql語句進行的過濾處理過程為:分別判斷每個sql語句的執(zhí)行時間是否在從賬號管理設備預置的所述訪問時間內(nèi),若不在,則將該sql語句丟棄不執(zhí)行;若在,則將該sql語句保留,在對解析處理得到的所有的sql語句進行過濾處理后,將保留下來的處理后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使該數(shù)據(jù)庫服務設備執(zhí)行過濾后的sql語句,實現(xiàn)了對訪問請求解析處理之后得到的至少一個sql語句進行過濾處理,保證了訪問數(shù)據(jù)庫的sql語句的合法性,進而確保了訪問數(shù)據(jù)庫時的安全性。
接著本申請上述實施例,若所述訪問權(quán)限包括訪問數(shù)據(jù),則對sql語句進行的過濾處理過程為:分別判斷每個sql語句中的訪問內(nèi)容(例如數(shù)據(jù)庫中的表,字段等)是否在從賬號管理設備預置的所述訪問數(shù)據(jù)內(nèi),若不在,則將該sql語句丟棄不執(zhí)行;若在,則將該sql語句保留,在對解析處理得到的所有的sql語句進行過濾處理后,將保留下來的處理后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使該數(shù)據(jù)庫服務設備執(zhí)行過濾后的sql語句,實現(xiàn)了對訪問請求解析處理之后得到的至少一個sql語句進行過濾處理,保證了訪問數(shù)據(jù)庫的sql語句的合法性,進而確保了訪問數(shù)據(jù)庫時的安全性。
接著本申請上述實施例,若所述訪問權(quán)限包括訪問數(shù)據(jù)和訪問時間,則對sql語句進行的過濾處理過程為:分別判斷每個sql語句的執(zhí)行時間是否在從賬號管理設備預置的所述訪問時間內(nèi),且每個sql語句的訪問內(nèi)容(例如數(shù)據(jù)庫中的表,字段等)是否在從賬號管理設備預置的所述訪問數(shù)據(jù)內(nèi),若均不在,則將該sql語句丟棄不執(zhí)行;若均在,則將該sql語句保留,在對解析處理得到的所有的sql語句進行過濾處理后,將保留下來的處理后的sql語句發(fā)送給數(shù)據(jù)庫服務設備,使該數(shù)據(jù)庫服務設備執(zhí)行過濾后的sql語句,實現(xiàn)了對訪問請求解析處理之后得到的至少一個sql語句進行精確過濾處理,保證了訪問數(shù)據(jù)庫的sql語句的合法性,更進一步地確保了訪問數(shù)據(jù)庫時的安全性,使得只有滿足訪問權(quán)限的用戶設備才能夠在預置的訪問時間內(nèi)獲取到預置的訪問數(shù)據(jù)內(nèi)的數(shù)據(jù)信息。
本申請一實施例中,為了避免數(shù)據(jù)庫出現(xiàn)數(shù)據(jù)泄露或丟失時找不到根源所在,所述信息發(fā)送裝置14在用于接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備之后,還用于:獲取并保存所述用戶設備通過所述從賬號訪問數(shù)據(jù)庫時對應的訪問日志,使得,數(shù)據(jù)庫中的數(shù)據(jù)信息出現(xiàn)泄露或丟失之后,能夠基于數(shù)據(jù)庫中的數(shù)據(jù)信息被被泄露的時間和/或數(shù)據(jù)信息,通過該訪問日志追溯并查找到訪問該數(shù)據(jù)庫被泄露的數(shù)據(jù)信息被哪個用戶設備通過從賬號訪問過,進而查找到到時數(shù)據(jù)庫中的數(shù)據(jù)信息被泄露和/或丟失的根源所在,確保在數(shù)據(jù)庫中的數(shù)據(jù)信息發(fā)送泄露和/或丟失之后能夠快速地解決問題。
本申請一實施例中,本申請?zhí)峁┮环N用于數(shù)據(jù)庫訪問的從賬號管理設備,還包括刪除裝置,其中,所述刪除裝置用于:基于預設時間間隔刪除所述從賬號。為了節(jié)省從賬號管理設備的存儲資源以及避免創(chuàng)建的從賬號的泄露和/或丟失導致的數(shù)據(jù)庫中的數(shù)據(jù)信息的不安全性,本申請實施例中對創(chuàng)建的每一個從賬號都是有生命周期的,即每一個從賬號自創(chuàng)建開始,超過預設時間間隔之后,則將創(chuàng)建的所述從賬號刪除,以避免該從賬號的泄露和/或丟失,進而進一步地保證數(shù)據(jù)庫中的數(shù)據(jù)信息的安全性,同時刪除了所述從賬號,也節(jié)省了從賬號管理設備的存儲資源。
本申請一實施例中,本申請?zhí)峁┮环N用于數(shù)據(jù)庫訪問的從賬號管理設備,還包括更新裝置,其中,所述更新裝置用于:更新所述從賬號的訪問權(quán)限。為了滿足不同的用戶對數(shù)據(jù)庫的不同的訪問請求,需要對所述從賬號的訪問權(quán)限進行更新,以滿足用戶設備通過所述從賬號能夠在不同的訪問時間內(nèi)和/或訪問數(shù)據(jù)內(nèi)進行數(shù)據(jù)庫的訪問,進而滿足用戶通過所述從賬號進行數(shù)據(jù)庫訪問時的不同訪問需求。
在數(shù)據(jù)庫從賬號管理設備將用戶設備發(fā)送的訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理之后,得到訪問請求對應的過濾后的sql語句,并將過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備進行后續(xù)訪問處理,該數(shù)據(jù)庫服務設備如圖4所示,圖4示出根據(jù)本申請一個方面的一種用于數(shù)據(jù)庫訪問的數(shù)據(jù)庫服務設備的結(jié)構(gòu)示意圖;應用于數(shù)據(jù)庫訪問過程中的數(shù)據(jù)庫服務設備端,其中,所述方法包括語句接收裝置21、執(zhí)行裝置22和信息發(fā)送裝置23,其中,具體包括:所述語句接收裝置21,用于接收從賬號管理設備發(fā)送的過濾后的sql語句,其中,所述過濾后的sql語句由所述從賬號管理設備基于預置的從賬號的訪問權(quán)限,對用戶設備通過所述從賬號訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理得到;所述執(zhí)行裝置22,用于執(zhí)行所述過濾后的sql語句,得到對應的執(zhí)行結(jié)果;所述信息發(fā)送裝置23,用于將與所述執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備,使得所述從賬號管理設備將接收到的所述數(shù)據(jù)信息轉(zhuǎn)發(fā)給所述訪問請求對應的用戶設備,進而實現(xiàn)用戶通過創(chuàng)建的所述從賬號能夠訪問數(shù)據(jù)庫中的數(shù)據(jù)信息,不僅保證了數(shù)據(jù)庫的主賬號的安全性,還避免了數(shù)據(jù)庫中的數(shù)據(jù)信息的泄露或丟失,通過所述從賬號確保了對數(shù)據(jù)庫中的數(shù)據(jù)信息進行訪問的安全性和靈活性。
為了滿足不同的用戶對數(shù)據(jù)庫進行訪問時的不同的訪問請求,需要對每個從賬號設置對應的訪問權(quán)限,以保證不同的從賬號來滿足不同的用戶的訪問請求,其中,所述訪問權(quán)限包括訪問時間和/或訪問數(shù)據(jù)。例如從賬號管理設備在創(chuàng)建從賬號25時,還需預置從賬號25可以訪問數(shù)據(jù)庫的訪問時間,和/或,預置從賬號25可以訪問數(shù)據(jù)庫的訪問數(shù)據(jù)(即訪問內(nèi)容),通過預置的從賬號的訪問時間和訪問數(shù)據(jù),可以使用戶能夠快速高效地在預置的訪問時間和/或訪問數(shù)據(jù)下來訪問數(shù)據(jù)庫,減少訪問數(shù)據(jù)庫的訪問過程所需時間,提高訪問數(shù)據(jù)庫的訪問過程的訪問效率。
綜上所述,本申請通過在數(shù)據(jù)庫的從賬號管理設備端創(chuàng)建數(shù)據(jù)庫的從賬號,并預置所述從賬號的訪問權(quán)限;當用戶需要通過該從賬號訪問數(shù)據(jù)庫時,所述從賬號管理設備接收用戶設備發(fā)送的通過所述從賬號訪問數(shù)據(jù)庫的訪問請求;基于所述訪問權(quán)限對所述訪問請求進行解析過濾處理,得到過濾后的sql語句,并將所述過濾后的sql語句發(fā)送給數(shù)據(jù)庫服務設備;之后接收所述數(shù)據(jù)庫服務設備基于所述過濾后的sql語句返回的數(shù)據(jù)信息,并將所述數(shù)據(jù)信息發(fā)送給所述用戶設備。利用創(chuàng)建的數(shù)據(jù)庫的從賬號,不僅滿足了不同用戶的訪問請求,還避免了共用或改變數(shù)據(jù)庫的主賬號可能導致的數(shù)據(jù)庫的數(shù)據(jù)信息被泄露的風險,同時通過預置的從賬號的訪問權(quán)限確保了訪問數(shù)據(jù)庫的數(shù)據(jù)信息的安全性和高效性,進一步地保證了數(shù)據(jù)庫的主賬號的安全性。即本申請的實施例中,在訪問數(shù)據(jù)庫的訪問過程中,增加了數(shù)據(jù)庫的從賬號管理設備來控制用戶訪問數(shù)據(jù)庫的權(quán)限,大大簡化了對數(shù)據(jù)庫的主賬號的改變及刪除等管理的復雜性,并且通過創(chuàng)建的數(shù)據(jù)庫的從賬號的訪問權(quán)限的預置,來提高了用戶訪問數(shù)據(jù)庫的安全性。
進一步地,本申請還通過在數(shù)據(jù)庫服務設備端接收從賬號管理設備發(fā)送的過濾后的sql語句,其中,所述過濾后的sql語句由所述從賬號管理設備基于預置的從賬號的訪問權(quán)限,對用戶設備通過所述從賬號訪問數(shù)據(jù)庫的訪問請求進行解析過濾處理得到;執(zhí)行所述過濾后的sql語句,得到對應的執(zhí)行結(jié)果;將與所述執(zhí)行結(jié)果對應的數(shù)據(jù)信息發(fā)送給所述從賬號管理設備,使得所述從賬號管理設備將接收到的所述數(shù)據(jù)信息轉(zhuǎn)發(fā)給所述訪問請求對應的用戶設備,進而實現(xiàn)用戶通過創(chuàng)建的所述從賬號能夠訪問數(shù)據(jù)庫中的數(shù)據(jù)信息,不僅保證了數(shù)據(jù)庫的主賬號的安全性,還避免了數(shù)據(jù)庫中的數(shù)據(jù)信息的泄露或丟失,通過所述從賬號確保了對數(shù)據(jù)庫中的數(shù)據(jù)信息進行訪問的安全性和靈活性。
需要注意的是,本申請可在軟件和/或軟件與硬件的組合體中被實施,例如,可采用專用集成電路(asic)、通用目的計算機或任何其他類似硬件設備來實現(xiàn)。在一個實施例中,本申請的軟件程序可以通過處理器執(zhí)行以實現(xiàn)上文所述步驟或功能。同樣地,本申請的軟件程序(包括相關的數(shù)據(jù)結(jié)構(gòu))可以被存儲到計算機可讀記錄介質(zhì)中,例如,ram存儲器,磁或光驅(qū)動器或軟磁盤及類似設備。另外,本申請的一些步驟或功能可采用硬件來實現(xiàn),例如,作為與處理器配合從而執(zhí)行各個步驟或功能的電路。
另外,本申請的一部分可被應用為計算機程序產(chǎn)品,例如計算機程序指令,當其被計算機執(zhí)行時,通過該計算機的操作,可以調(diào)用或提供根據(jù)本申請的方法和/或技術方案。而調(diào)用本申請的方法的程序指令,可能被存儲在固定的或可移動的記錄介質(zhì)中,和/或通過廣播或其他信號承載媒體中的數(shù)據(jù)流而被傳輸,和/或被存儲在根據(jù)所述程序指令運行的計算機設備的工作存儲器中。在此,根據(jù)本申請的一個實施例包括一個裝置,該裝置包括用于存儲計算機程序指令的存儲器和用于執(zhí)行程序指令的處理器,其中,當該計算機程序指令被該處理器執(zhí)行時,觸發(fā)該裝置運行基于前述根據(jù)本申請的多個實施例的方法和/或技術方案。
對于本領域技術人員而言,顯然本申請不限于上述示范性實施例的細節(jié),而且在不背離本申請的精神或基本特征的情況下,能夠以其他的具體形式實現(xiàn)本申請。因此,無論從哪一點來看,均應將實施例看作是示范性的,而且是非限制性的,本申請的范圍由所附權(quán)利要求而不是上述說明限定,因此旨在將落在權(quán)利要求的等同要件的含義和范圍內(nèi)的所有變化涵括在本申請內(nèi)。不應將權(quán)利要求中的任何附圖標記視為限制所涉及的權(quán)利要求。此外,顯然“包括”一詞不排除其他單元或步驟,單數(shù)不排除復數(shù)。裝置權(quán)利要求中陳述的多個單元或裝置也可以由一個單元或裝置通過軟件或者硬件來實現(xiàn)。第一,第二等詞語用來表示名稱,而并不表示任何特定的順序。