本發(fā)明涉及計(jì)算機(jī)程序領(lǐng)域,具體涉及一種安全訪問(wèn)數(shù)據(jù)庫(kù)的安全接口及其交易流程。
背景技術(shù):
目前,客戶端在遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器時(shí)采用直接操作的形式,加大了數(shù)據(jù)庫(kù)的危險(xiǎn)性,從而很容易導(dǎo)致數(shù)據(jù)庫(kù)遭到攻擊,造成數(shù)據(jù)的丟失或泄露。
技術(shù)實(shí)現(xiàn)要素:
為解決上述問(wèn)題,本發(fā)明提供了一種安全訪問(wèn)數(shù)據(jù)庫(kù)的安全接口及其交易流程,中間件聯(lián)網(wǎng)接口程序防止了客戶端對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作,很大程度地提高了數(shù)據(jù)庫(kù)的安全性。
為實(shí)現(xiàn)上述目的,本發(fā)明采取的技術(shù)方案為:
一種安全訪問(wèn)數(shù)據(jù)庫(kù)的安全接口,包括客戶端、中間件聯(lián)網(wǎng)接口和數(shù)據(jù)庫(kù)服務(wù)器,中間件聯(lián)網(wǎng)接口包括通訊層,客戶端請(qǐng)求處理層,數(shù)據(jù)操作層,客戶端請(qǐng)求處理層采用多線程并發(fā)處理客戶端請(qǐng)求,當(dāng)請(qǐng)求繁忙時(shí)將客戶端請(qǐng)求信息進(jìn)行緩沖,以防止丟失請(qǐng)求;將客戶端軟件送來(lái)的交易包拆包后送本地軟件高層,并將本地軟件高層送來(lái)的數(shù)據(jù)打包發(fā)送至客戶端軟件。為了保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全,并不是所有的請(qǐng)求都可以處理。如修改、刪除等請(qǐng)求是不能接受的。因此必須實(shí)現(xiàn)在數(shù)據(jù)庫(kù)服務(wù)器和客戶端之間建立一些約定,也就是通信協(xié)議。
上述安全訪問(wèn)數(shù)據(jù)庫(kù)的安全接口的交易流程,包括如下步驟:
S1、由客戶端程序向中間件應(yīng)用程序程序發(fā)起連接請(qǐng)求;
S2、連接成功后,利客戶端程序方能向中間件應(yīng)用接口程序提交交易包;
S3、中間件應(yīng)用程序獲得客戶端傳遞下來(lái)的交易包;并作相應(yīng)的變換、處理,在后臺(tái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作處理;
S4、后臺(tái)處理完畢,中間件應(yīng)用程序根據(jù)處理結(jié)果,進(jìn)行適當(dāng)轉(zhuǎn)換后返回處理結(jié)果包。
S5、客戶端接收到中間件應(yīng)用程序返回的處理結(jié)果包,在終端進(jìn)行顯示或其他操作。
本發(fā)明具有以下有益效果:
客戶端在遠(yuǎn)程訪問(wèn)數(shù)據(jù)庫(kù)服務(wù)器時(shí),中間件聯(lián)網(wǎng)接口程序防止了客戶端對(duì)數(shù)據(jù)庫(kù)進(jìn)行直接操作,很大程度地提高了數(shù)據(jù)庫(kù)的安全性。
附圖說(shuō)明
圖1為本發(fā)明實(shí)施例一種安全訪問(wèn)數(shù)據(jù)庫(kù)的安全接口的請(qǐng)求響應(yīng)圖。
圖2為本發(fā)明實(shí)施例一種安全訪問(wèn)數(shù)據(jù)庫(kù)的安全接口的交易流程圖。
具體實(shí)施方式
為了使本發(fā)明的目的及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施例對(duì)本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
如圖1所示,本發(fā)明實(shí)施例提供了一種安全訪問(wèn)數(shù)據(jù)庫(kù)的安全接口,包括客戶端、中間件聯(lián)網(wǎng)接口和數(shù)據(jù)庫(kù)服務(wù)器,中間件聯(lián)網(wǎng)接口包括通訊層,客戶端請(qǐng)求處理層,數(shù)據(jù)操作層,客戶端請(qǐng)求處理層采用多線程并發(fā)處理客戶端請(qǐng)求,當(dāng)請(qǐng)求繁忙時(shí)將客戶端請(qǐng)求信息進(jìn)行緩沖,以防止丟失請(qǐng)求;將客戶端軟件送來(lái)的交易包拆包后送本地軟件高層,并將本地軟件高層送來(lái)的數(shù)據(jù)打包發(fā)送至客戶端軟件。為了保證數(shù)據(jù)庫(kù)中數(shù)據(jù)的安全,并不是所有的請(qǐng)求都可以處理。如修改、刪除等請(qǐng)求是不能接受的。因此必須實(shí)現(xiàn)在數(shù)據(jù)庫(kù)服務(wù)器和客戶端之間建立一些約定,也就是通信協(xié)議。
如圖2所示,本具體實(shí)施采用同步短聯(lián)接,中間件應(yīng)用作為服務(wù)器方,客戶方通過(guò)中間件訪問(wèn)服務(wù)器方,交易流程包括如下步驟:
S1、由客戶端程序向中間件應(yīng)用程序程序發(fā)起連接請(qǐng)求;
S2、連接成功后,利客戶端程序方能向中間件應(yīng)用接口程序提交交易包;
S3、中間件應(yīng)用程序獲得客戶端傳遞下來(lái)的交易包;并作相應(yīng)的變換、處理,在后臺(tái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作處理;
S4、后臺(tái)處理完畢,中間件應(yīng)用程序根據(jù)處理結(jié)果,進(jìn)行適當(dāng)轉(zhuǎn)換后返回處理結(jié)果包。
S5、客戶端接收到中間件應(yīng)用程序返回的處理結(jié)果包,在終端進(jìn)行顯示或其他操作。
所述服務(wù)端中間件用于解決客戶端的連接請(qǐng)求,并對(duì)客戶端的請(qǐng)求進(jìn)行相應(yīng)的應(yīng)答;具體的,通過(guò)以下步驟實(shí)現(xiàn):
創(chuàng)建一個(gè)新的Socket;
將該socket綁定到主機(jī)上面的某個(gè)端口;
啟動(dòng)監(jiān)聽,并且設(shè)置一個(gè)最大的隊(duì)列長(zhǎng)度;
開始接受客戶端連接請(qǐng)求;
接收客戶端的消息;
準(zhǔn)備接受下一個(gè)客戶端請(qǐng)求。
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也應(yīng)視為本發(fā)明的保護(hù)范圍。