本申請(qǐng)涉及計(jì)算機(jī)應(yīng)用領(lǐng)域,特別是涉及無落地的數(shù)據(jù)處理方法及裝置。
背景技術(shù):
::數(shù)據(jù)已經(jīng)成為信息時(shí)代的一種重要資源,為了管理和利用這種資源,企業(yè)都會(huì)采用數(shù)據(jù)庫存儲(chǔ)數(shù)據(jù),如關(guān)系型數(shù)據(jù)庫、分布式數(shù)據(jù)庫等。在對(duì)數(shù)據(jù)的管理中,最重要的一個(gè)功能是數(shù)據(jù)共享,而在數(shù)據(jù)共享過程中往往會(huì)涉及到一些敏感數(shù)據(jù)(如涉及到隱私的數(shù)據(jù)),這些敏感數(shù)據(jù)并不想隨意的被別人查看,因此,需要將這些敏感數(shù)據(jù)進(jìn)行加密,以防止別人隨意查看。目前常采用的加密方案是一種落地加密方案,該落地加密方案具體實(shí)現(xiàn)過程是,數(shù)據(jù)擁有者將線上的數(shù)據(jù)庫存儲(chǔ)的數(shù)據(jù)表中的敏感數(shù)據(jù)進(jìn)行加密,將加密后的數(shù)據(jù)表存儲(chǔ)在線下的數(shù)據(jù)庫中,這樣,用戶訪問數(shù)據(jù)表時(shí),實(shí)際上訪問的是線下數(shù)據(jù)庫中存儲(chǔ)的加密后的數(shù)據(jù)表。加密過程需要將數(shù)據(jù)從線上數(shù)據(jù)庫導(dǎo)入到線下數(shù)據(jù)庫,需要較長的數(shù)據(jù)導(dǎo)入時(shí)間。當(dāng)線上數(shù)據(jù)庫中的數(shù)據(jù)表的數(shù)據(jù)發(fā)生變化或表結(jié)構(gòu)發(fā)生變化時(shí),線下數(shù)據(jù)庫沒有做到及時(shí)更新,導(dǎo)致用戶無法及時(shí)訪問到最新的數(shù)據(jù)表,數(shù)據(jù)具有滯后性。另外,不同的數(shù)據(jù)擁有者往往很難得知其他數(shù)據(jù)擁有者采用的加密方案,原始數(shù)據(jù)表之間的關(guān)聯(lián)性在加密之后會(huì)被丟失,進(jìn)而影響用戶查詢關(guān)聯(lián)數(shù)據(jù)表的相關(guān)數(shù)據(jù)。技術(shù)實(shí)現(xiàn)要素:為了解決上述技術(shù)問題,本發(fā)明實(shí)施例提供了無落地的數(shù)據(jù)處理方法及裝置,通過實(shí)時(shí)對(duì)查詢語句的改動(dòng)方式,達(dá)到在防止數(shù)據(jù)泄露的同時(shí)避免數(shù)據(jù)滯后的目的,進(jìn)而以提高用戶體驗(yàn)。本發(fā)明實(shí)施例公開了如下技術(shù)方案:一種無落地的數(shù)據(jù)處理方法,所述方法包括:接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字 段對(duì)應(yīng)的數(shù)據(jù);采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密;根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句;執(zhí)行所述第三查詢語句得到查詢結(jié)果??蛇x的,采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,包括:從預(yù)先設(shè)置的加密函數(shù)庫中,獲取與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);根據(jù)獲取的加密函數(shù)和數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密。可選的,采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,包括:向用戶展示與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);響應(yīng)于用戶觸發(fā)的選擇操作,根據(jù)用戶選擇的加密函數(shù)和對(duì)應(yīng)的數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密??蛇x的,根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句,包括:解析所述第一查詢語句得到對(duì)應(yīng)的語法樹;根據(jù)所述語法樹的結(jié)構(gòu)確定數(shù)據(jù)表名的位置,在該位置之前插入與該數(shù)據(jù)表名對(duì)應(yīng)的第二查詢語句得到第三查詢語句??蛇x的,所述加密函數(shù)是預(yù)先設(shè)定的用戶自定義函數(shù)。可選的,當(dāng)所述第一查詢語句用于查詢具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù)時(shí),則在執(zhí)行所述第三查詢語句得到查詢結(jié)果之前,所述方法還包括:根據(jù)第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段的關(guān)系以及關(guān)聯(lián)字段與查詢字段的關(guān)系,對(duì)第三查詢語句中涉及關(guān)聯(lián)字段的加密函數(shù)作改動(dòng),以使改動(dòng)后的第三查詢語句的關(guān)聯(lián)字段具備關(guān)聯(lián)性;則執(zhí)行所述第三查詢語句得到查詢結(jié)果,具體為:執(zhí)行改動(dòng)后的第三查詢語句得到查詢結(jié)果??蛇x的,根據(jù)第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段的關(guān)系以及關(guān)聯(lián)字段與查詢字段的關(guān)系,對(duì)第三查詢語句中涉及關(guān)聯(lián)字段的加密函數(shù)作改動(dòng),以使改動(dòng)后的第三查詢語句的關(guān)聯(lián)字段具備關(guān)聯(lián)性,包括:當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),刪除所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的加密函數(shù);或者,當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中,再過濾該關(guān)聯(lián)字段。可選的,根據(jù)第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段的關(guān)系以及關(guān)聯(lián)字段與查詢字段的關(guān)系,對(duì)第三查詢語句中涉及關(guān)聯(lián)字段的加密函數(shù)作改動(dòng),以使改動(dòng)后的第三查詢語句的關(guān)聯(lián)字段具備關(guān)聯(lián)性,包括:當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中。一種無落地的數(shù)據(jù)處理裝置,所述裝置包括:接收單元,用于接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù);加密單元,用于采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密;生成單元,用于根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句;查詢單元,用于執(zhí)行所述第三查詢語句得到查詢結(jié)果。可選的,所述加密單元,包括:獲取子單元,用于從預(yù)先設(shè)置的加密函數(shù)庫中,獲取與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);第一加密子單元,用于根據(jù)獲取的加密函數(shù)和數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密??蛇x的,所述加密單元,包括:展示子單元,用于向用戶展示與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);第二加密子單元,用于響應(yīng)于用戶觸發(fā)的選擇操作,根據(jù)用戶選擇的加密函數(shù)和對(duì)應(yīng)的數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密??蛇x的,所述生成單元,包括:解析子單元,用于解析所述第一查詢語句得到對(duì)應(yīng)的語法樹;生成子單元,用于根據(jù)所述語法樹的結(jié)構(gòu)確定數(shù)據(jù)表名的位置,在該位置之前插入與該數(shù)據(jù)表名對(duì)應(yīng)的第二查詢語句得到第三查詢語句??蛇x的,當(dāng)所述第一查詢語句用于查詢具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù)時(shí),所述裝置還包括:改動(dòng)單元,用于根據(jù)第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段的關(guān)系以及關(guān)聯(lián)字段與查詢字段的關(guān)系,對(duì)第三查詢語句中涉及關(guān)聯(lián)字段的加密函數(shù)作改動(dòng),以使改動(dòng)后的第三查詢語句的關(guān)聯(lián)字段具備關(guān)聯(lián)性;則所述查詢單元,具體用于:執(zhí)行改動(dòng)后的第三查詢語句得到查詢結(jié)果??蛇x的,所述改動(dòng)單元,包括:改動(dòng)子單元一,用于當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),刪除所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的加密函數(shù);或者,改動(dòng)子單元二,用于當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中,再過濾該關(guān)聯(lián)字段。可選的,所述改動(dòng)單元,包括:改動(dòng)子單元三,用于當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中。由上述實(shí)施例可以看出,與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)在于:本發(fā)明提出的技術(shù)方案拋棄了現(xiàn)有技術(shù)的數(shù)據(jù)落地處理方式,而提出無落地的數(shù)據(jù)處理方案,首先接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù);然后,采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密;再根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句;最后,執(zhí)行所述第三查詢語句得到查詢結(jié)果。本發(fā)明的技術(shù)方案無需預(yù)先下載數(shù)據(jù)、加密數(shù)據(jù)、保存數(shù)據(jù),而是根據(jù)用戶實(shí)際查詢需求,實(shí)時(shí)地對(duì)查詢語句進(jìn)行改動(dòng),使得改動(dòng)的查詢語句能夠?qū)?shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密,這樣就在執(zhí)行改動(dòng)后的查詢語句得到的查詢結(jié)果中關(guān)于該特定字段的數(shù)據(jù)就是加密數(shù)據(jù),則該特定字段的原始數(shù)據(jù)對(duì)用戶而言不可見的,因此本發(fā)明通過這種實(shí)時(shí)對(duì)查詢語句的改動(dòng)方式,達(dá)到在防止數(shù)據(jù)泄露的同時(shí)避免數(shù)據(jù)滯后的目的,進(jìn)而以提高用戶體驗(yàn)。附圖說明為了更清楚地說明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖1是本發(fā)明提供的一種無落地的數(shù)據(jù)處理方法的實(shí)施例1的流程圖;圖2是本發(fā)明提供的一種無落地的數(shù)據(jù)處理方法的實(shí)施例2的流程圖;圖3是本發(fā)明提供的一種無落地的數(shù)據(jù)處理裝置的實(shí)施例1的結(jié)構(gòu)圖;圖4是本發(fā)明提供的一種無落地的數(shù)據(jù)處理裝置的實(shí)施例2的結(jié)構(gòu)圖。具體實(shí)施方式下面將結(jié)合本發(fā)明實(shí)施例中附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計(jì)。因此,以下對(duì)在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。本發(fā)明實(shí)施例提供的一種無落地的數(shù)據(jù)處理方法及裝置,適用于查詢數(shù)據(jù)庫的環(huán)境,數(shù)據(jù)庫的類型有很多種,如關(guān)系型數(shù)據(jù)庫、分布式數(shù)據(jù)庫等,本發(fā)明實(shí)施例對(duì)應(yīng)用環(huán)境中數(shù)據(jù)庫的類型并沒有限制,只要這些數(shù)據(jù)庫支持SQL關(guān)系查詢語言即可,一般的應(yīng)用場景是,用戶訪問數(shù)據(jù)庫查詢數(shù)據(jù)時(shí),通過SQL的查詢語句來查詢感興趣的數(shù)據(jù),查詢語句中攜帶有需要查詢的字段,數(shù)據(jù)表名等信息,系統(tǒng)會(huì)根據(jù)用戶輸入的查詢語句為用戶反饋相關(guān)的查詢結(jié)果。本發(fā)明實(shí)施例就是基于這種應(yīng)用環(huán)境,在用戶訪問數(shù)據(jù)庫查詢數(shù)據(jù)時(shí),既能夠做到防止敏感數(shù)據(jù)泄密,又能夠避免數(shù)據(jù)滯后,另外,在用戶訪問多數(shù)據(jù)表的情況下,還能夠保證數(shù)據(jù)關(guān)聯(lián)性,從而提升用戶體驗(yàn)。為使本申請(qǐng)的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖對(duì)本發(fā)明實(shí)施例進(jìn)行詳細(xì)描述。方法實(shí)施例請(qǐng)參閱圖1,圖1是本發(fā)明提供的一種無落地的數(shù)據(jù)處理方法的實(shí)施例1的流程圖,如圖1所示,該方法可以包括以下步驟:步驟101:接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù)。用戶可以使用SQL語句查詢數(shù)據(jù)庫中的數(shù)據(jù),數(shù)據(jù)庫中的數(shù)據(jù)以數(shù)據(jù)表的形式存儲(chǔ),數(shù)據(jù)表名與數(shù)據(jù)表之間具有一一對(duì)應(yīng)關(guān)系,一個(gè)數(shù)據(jù)表只有一個(gè)數(shù)據(jù)表名。用戶一次可以對(duì)一個(gè)數(shù)據(jù)表的一個(gè)字段或多個(gè)字段進(jìn)行查詢,也可以對(duì)多個(gè)不關(guān)聯(lián)的數(shù)據(jù)表的一個(gè)字段或多個(gè)字段進(jìn)行查詢,還可以對(duì)具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)表的一個(gè)字段或多個(gè)字段進(jìn)行查詢,本發(fā)明技術(shù)方案可以適用于任 何一種場景。步驟102:采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密。在具體實(shí)現(xiàn)時(shí),步驟102可以有以下幾種實(shí)現(xiàn)方式,下面對(duì)這幾種實(shí)現(xiàn)方式分別解釋說明。第一種實(shí)現(xiàn)方式,包括:從預(yù)先設(shè)置的加密函數(shù)庫中,獲取與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);根據(jù)獲取的加密函數(shù)和數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密。第一種實(shí)現(xiàn)方式的本質(zhì)就是按照系統(tǒng)默認(rèn)的加密函數(shù),根據(jù)第一查詢語句中涉及到的數(shù)據(jù)表名和與該數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成對(duì)應(yīng)的第二查詢語句。這里需要說明的是,一個(gè)數(shù)據(jù)表可能涉及多個(gè)字段,而一個(gè)加密函數(shù)只用于對(duì)數(shù)據(jù)表中一個(gè)特定字段進(jìn)行加密;因此,針對(duì)一個(gè)數(shù)據(jù)表可以預(yù)先設(shè)置一個(gè)加密函數(shù),也可以預(yù)先設(shè)置多個(gè)加密函數(shù),不同的加密函數(shù)是針對(duì)不同的字段進(jìn)行加密,為了準(zhǔn)確定位數(shù)據(jù)表與加密函數(shù)之間的對(duì)應(yīng)關(guān)系,則建立數(shù)據(jù)表名與加密函數(shù)之間的對(duì)應(yīng)關(guān)系,則數(shù)據(jù)表名與加密函數(shù)之間可以是一對(duì)一的對(duì)應(yīng)關(guān)系,也可以是一對(duì)多的對(duì)應(yīng)關(guān)系。下面通過具體示例來對(duì)第一種實(shí)現(xiàn)方式進(jìn)行解釋說明。示例1,假設(shè),用戶輸入的第一查詢語句如下:selectuser_id,user_name,user_age,fromuser_table;這里的第一查詢語句用于從數(shù)據(jù)表user_table中查詢用戶user_id、user_name、user_age三個(gè)字段對(duì)應(yīng)的數(shù)據(jù);其中,數(shù)據(jù)表名為user_table。假設(shè),在預(yù)先設(shè)置的加密函數(shù)庫中,與數(shù)據(jù)表名user_table對(duì)應(yīng)的加密函數(shù)共有兩個(gè),分別是udf1(user_name)和udf2(user_age),則根據(jù)獲取的加密函數(shù)和數(shù)據(jù)表名生成第二查詢語句,第二查詢語句如下:selectudf1(user_name)asuser_name,udf2(user_age)asuser_age,fromuser_table;這里的第二查詢語句用于從數(shù)據(jù)表user_table查詢user_name和user_age這兩個(gè)字段的數(shù)據(jù),并采用加密函數(shù)udf1和udf2分別對(duì)這兩個(gè)字段的數(shù)據(jù)進(jìn)行加密。第二種實(shí)現(xiàn)方式,包括:向用戶展示與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);響應(yīng)于用戶觸發(fā)的選擇操作,根據(jù)用戶選擇的加密函數(shù)和對(duì)應(yīng)的數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密。第二種實(shí)現(xiàn)方式的本質(zhì)是向用戶提供一種選擇性加密的服務(wù),由用戶決定對(duì)哪些字段進(jìn)行加密,這樣既能夠起到加密作用,又能夠滿足用戶僅查詢部分?jǐn)?shù)據(jù)的需求。另外,這樣也使得用戶操作更透明,能夠提高用戶體驗(yàn)。第二種實(shí)現(xiàn)方式主要是考慮到,用戶有時(shí)僅需要查詢部分信息,而并不需要完整的信息,如用戶查詢數(shù)據(jù)表中手機(jī)號(hào)時(shí),可能只需要查詢前三位和后四位信息,而并不需要查詢中間的四位信息,此時(shí),用戶就可以選擇一個(gè)加密函數(shù)對(duì)中間四位信息的特定字段進(jìn)行加密處理。第二種方式的實(shí)現(xiàn)過程可以是,在用戶使用的客戶端上向用戶展示第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);一個(gè)數(shù)據(jù)表名可以對(duì)應(yīng)一個(gè)或多個(gè)加密函數(shù),加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段進(jìn)行加密處理;這些加密函數(shù)是針對(duì)涉及敏感數(shù)據(jù)的字段進(jìn)行加密,以達(dá)到脫敏的目的。而哪些字段的數(shù)據(jù)屬于敏感數(shù)據(jù),則主要取決于數(shù)據(jù)擁有者對(duì)數(shù)據(jù)敏感與否的定義;在實(shí)現(xiàn)過程中,為了便于靈活設(shè)置加密函數(shù),可以采用用戶自定義函數(shù)(UDF,User DefinedFeatures),其設(shè)置靈活性較高。在實(shí)際應(yīng)用中,可以根據(jù)數(shù)據(jù)擁有者的實(shí)際需求來預(yù)先設(shè)置加密函數(shù),例如,手機(jī)號(hào)、姓名、身份證號(hào)、郵編、地址、生日會(huì)涉及到個(gè)人隱私的數(shù)據(jù),這些數(shù)據(jù)通常情況下被認(rèn)定為敏感數(shù)據(jù),若為了防止這些敏感數(shù)據(jù)泄露,可以針對(duì)這些數(shù)據(jù)對(duì)應(yīng)的字段,或者這些數(shù)據(jù)中特定范圍數(shù)值對(duì)應(yīng)的字段,預(yù)先設(shè)置對(duì)應(yīng)的UDF,那么用戶在查看相關(guān)數(shù)據(jù)時(shí),就會(huì)選擇對(duì)應(yīng)的UDF對(duì)這些敏感數(shù)據(jù)進(jìn)行加密處理,從而達(dá)到防止泄露的目的。如果用戶輸入的第一查詢語句僅包含一個(gè)數(shù)據(jù)表名,則通過客戶端向用戶展示與該數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);如果用戶輸入的第一查詢語句包含多個(gè)數(shù)據(jù)表名時(shí),對(duì)應(yīng)的,就需要通過客戶端向用戶展示與每個(gè)數(shù)據(jù)表名各自對(duì)應(yīng)的加密函數(shù)??紤]到用戶在實(shí)際應(yīng)用過程中,可能對(duì)加密函數(shù)沒有特別需求,則在向用戶展示與數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù),還可以突出顯示默認(rèn)的加密函數(shù),如果用戶沒有特別的需求并未作出對(duì)應(yīng)的選擇,可以直接按照默認(rèn)加密函數(shù)進(jìn)行處理。步驟103:根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句。結(jié)合查詢語句的語法結(jié)構(gòu),步驟103可以按照如下方式實(shí)現(xiàn):在所述第一查詢語句中的數(shù)據(jù)表名之前,插入與該數(shù)據(jù)表名對(duì)應(yīng)的第二查詢語句以生成第三查詢語句。為了快速、準(zhǔn)確地實(shí)現(xiàn)插入操作以生成第三查詢語句,則進(jìn)一步地可以按照如下方式實(shí)現(xiàn):首先,解析所述第一查詢語句得到對(duì)應(yīng)的語法樹;然后,根據(jù)所述語法樹的結(jié)構(gòu)確定數(shù)據(jù)表名的位置,在該位置之前插入與該數(shù)據(jù)表名對(duì)應(yīng)的第二查詢語句得到第三查詢語句。當(dāng)然,除了利用語法樹的方式之外,也可以利用其它方式來實(shí)現(xiàn)插入操作。如,采用正則表達(dá)式來定位數(shù)據(jù)表名,進(jìn)而實(shí)現(xiàn)插入操作。下面通過具體示例對(duì)第三查詢語句的生成過程進(jìn)行解釋說明。仍舊以上述示例1的場景為例,結(jié)合上述示例1中的第一查詢語句和第 二查詢語句,按照步驟103的方式生成的第三查詢語句如下:在上述第三查詢語句中的黑色加粗部分就是第二查詢語句,可以看出,在第一查詢語句的數(shù)據(jù)表名“user_table”之前插入對(duì)應(yīng)的第二查詢語句,其本質(zhì)就是采用第二查詢語句替換第一查詢語句中對(duì)應(yīng)的數(shù)據(jù)表名,并將原來的數(shù)據(jù)表名作為該第二查詢語句的別名,以保證查詢語句語法正確性。步驟104:執(zhí)行所述第三查詢語句得到查詢結(jié)果。如上述第三查詢語句所示,則執(zhí)行完第三查詢語句得到查詢結(jié)果中關(guān)于數(shù)據(jù)表“user_table”中的字段“user_name”和字段“user_age”對(duì)應(yīng)的數(shù)據(jù)是加密的,這兩個(gè)字段對(duì)應(yīng)的原始數(shù)據(jù)對(duì)于用戶而言是不可見的。從這個(gè)實(shí)施例可以看出,本發(fā)明提供的技術(shù)方案在針對(duì)用戶的查詢需求時(shí),無需預(yù)先下載數(shù)據(jù)、加密數(shù)據(jù)、保存數(shù)據(jù),而是用戶輸入的查詢語句進(jìn)行實(shí)時(shí)改動(dòng),增加加密部分以達(dá)到對(duì)特定字段加密的目的,進(jìn)而執(zhí)行改動(dòng)后的查詢語句,就直接查詢到相應(yīng)的加密數(shù)據(jù),在防止數(shù)據(jù)泄露的同時(shí)避免數(shù)據(jù)滯后,能夠提高用戶體驗(yàn)。在上述實(shí)施例的基礎(chǔ)上,發(fā)明人還考慮到用戶的一個(gè)實(shí)際應(yīng)用需求,即,用戶可能需要一次查詢具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)表,在這種場景下,就會(huì)出現(xiàn)一個(gè)關(guān)聯(lián)字段的關(guān)聯(lián)性問題,下面通過具體示例先對(duì)這種場景以及關(guān)聯(lián)性問題 進(jìn)行解釋說明。舉個(gè)例子,示例2,假設(shè)數(shù)據(jù)庫中儲(chǔ)存有兩張數(shù)據(jù)表,分別是用戶信息表user_table和用戶交易表trade_table,兩張表的具體情況如下:用戶信息表user_table字段名稱字段含義user_id用戶標(biāo)識(shí)user_name用戶姓名user_age用戶年齡user_idcard用戶身份證號(hào)用戶交易表trade_table字段名稱字段含義user_id用戶標(biāo)識(shí)trade_time交易時(shí)間trade_amount交易金額address收貨地址Trade_items交易商品如果用戶需要查詢用戶信息表中的用戶名稱以及用戶交易表中的交易金額和交易時(shí)間,這種情況就是存在數(shù)據(jù)表關(guān)聯(lián)的情況。則用戶輸入的第一查詢語句就包含具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)表名。為了便于解釋,這里僅是以兩個(gè)數(shù)據(jù)表為例來進(jìn)行說明,在實(shí)際應(yīng)用中還可能是多個(gè)數(shù)據(jù)表相關(guān)聯(lián),其原理相同,此處不贅述。以上述兩個(gè)數(shù)據(jù)表為例,假設(shè)用戶輸入的第一查詢語句具體如下:selectuser_table.user_id,user_table.user_name,trade_table.trade_amount,trade_table.trade_time,fromuser_table,trade_tablewhereuser_table.user_id=trade_table.user_id在這個(gè)第一查詢語句中,user_table.user_id表示數(shù)據(jù)表user-table中的“user-id”字段;user_table.user_name表示數(shù)據(jù)表user-table中的“user_name”字段;trade_table.trade_amount表示數(shù)據(jù)表trade_table中的“trade_amount”字段;trade_table.trade_time表示數(shù)據(jù)表trade_table中的“trade_time”字段;其中,where字符之后的“user_table.user_id=trade_table.user_id”表示關(guān)聯(lián)條件,關(guān)聯(lián)條件中涉及到數(shù)據(jù)表中的相同字段為關(guān)聯(lián)字段,即,在這個(gè)第一查詢語句中“user_id”為關(guān)聯(lián)字段。若采用上述實(shí)施例的方法,則先接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù);然后采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密;再根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句。假設(shè),采用與所述第一查詢語句中的數(shù)據(jù)表名user_table對(duì)應(yīng)的加密函數(shù)加密函數(shù)udf1(user_id)和udf2(user_name)生成與用戶信息表user_table對(duì)應(yīng)的第二查詢語句;采用與所述第一查詢語句中的數(shù)據(jù)表名trade_table對(duì)應(yīng)的加密函數(shù)有udf3(user_id)、udf4(trade_amount)和udf5(trade_time)生成與用戶交易表trade_table對(duì)應(yīng)的第二查詢語句。則與用戶信息表user_table對(duì)應(yīng)的第二查詢語句如下:selectudf1(user_id)asuser_id,udf2(user_name)asuser_name,fromuser_table;則與用戶信息表trade_table對(duì)應(yīng)的第二查詢語句如下:selectudf3(user_id)asuser_id,udf4(trade_amount)astrade_amount,udf5(trade_time)astrade_time,fromtrade_table;由上述示例可以看出,針對(duì)第一查詢語句中的每個(gè)數(shù)據(jù)表均生成一個(gè)第二查詢語句。這里需要說明的是,在實(shí)際應(yīng)用中,有些數(shù)據(jù)表并不涉及到敏感數(shù)據(jù),無需脫敏處理,也就沒有對(duì)應(yīng)的加密函數(shù),也就不存在對(duì)應(yīng)的第二查詢語句。在得到數(shù)據(jù)表名對(duì)應(yīng)的第二查詢語句之后,結(jié)合第一查詢語句和第二查詢語句以生成第三查詢語句,第三查詢語句如下:在上述第三查詢語句中的黑色加粗部分就是第二查詢語句,可以看出,在第一查詢語句的數(shù)據(jù)表名“user_table”之前插入對(duì)應(yīng)的第二查詢語句,其本質(zhì)就是采用第二查詢語句替換第一查詢語句中對(duì)應(yīng)的數(shù)據(jù)表名,并將原來的數(shù)據(jù)表名作為該第二查詢語句的別名,以保證查詢語句語法正確性。從上述示例可以看出:數(shù)據(jù)表user_table和數(shù)據(jù)表trade_table以字段user_id作為關(guān)聯(lián)字段,而在第三查詢語句中兩個(gè)子查詢中分別使用了加密函數(shù)udf1和加密函數(shù)udf3對(duì)字段user_id進(jìn)行了加密處理,由于udf1和udf3的加密結(jié)果不一致,則關(guān)聯(lián)條件就會(huì)失敗,從而導(dǎo)致查詢結(jié)果為空。因此,在多數(shù)據(jù)表關(guān)聯(lián)查詢的情況下,還需要進(jìn)一步考慮關(guān)聯(lián)性的問題。發(fā)明人針對(duì)這一特殊情況,提出了對(duì)應(yīng)的解決方案。下面通過實(shí)施例來進(jìn)行解釋說明。請(qǐng)參閱圖2,圖2是本發(fā)明提供的一種無落地的數(shù)據(jù)處理方法的實(shí)施例2的流程圖,如圖2所示,該方法可以包括以下步驟:步驟201:接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù)。步驟202:采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密。步驟203:根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句。步驟204:根據(jù)第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段的關(guān)系以及關(guān)聯(lián)字段與查詢字段的關(guān)系,對(duì)第三查詢語句中涉及關(guān)聯(lián)字段的加密函數(shù)作改動(dòng),以使改動(dòng)后的第三查詢語句的關(guān)聯(lián)字段具備關(guān)聯(lián)性。步驟205:執(zhí)行改動(dòng)后的第三查詢語句得到查詢結(jié)果。上述步驟201-203與上文方法實(shí)施例1描述的步驟101-103相同,可以參照上文描述,此處不再贅述。下面重點(diǎn)對(duì)步驟204進(jìn)行解釋說明。下面先對(duì)多個(gè)數(shù)據(jù)表關(guān)聯(lián)的場景下容易出現(xiàn)了幾種情況進(jìn)行說明。第一種情況是,關(guān)聯(lián)條件涉及的關(guān)聯(lián)字段并不需要加密,即,第三查詢 語句中加密函數(shù)并不涉及到關(guān)聯(lián)字段,其與關(guān)聯(lián)字段不相關(guān)??梢?,在這種情況下,關(guān)聯(lián)字段是不會(huì)被加密的,因此也不會(huì)出現(xiàn)失去關(guān)聯(lián)性的問題,按照上述方法實(shí)施例1的方案處理即可。第二種情況是,關(guān)聯(lián)字段需要加密,但該關(guān)聯(lián)字段不是查詢字段,即,第三查詢語句中涉及的加密函數(shù)與關(guān)聯(lián)字段相關(guān),但該關(guān)聯(lián)字段不是查詢字段。首先解釋一下查詢字段,“查詢字段”是指用戶輸入的第一查詢語句中涉及到的待查詢的字段;如上述示例2中的第一查詢語句中select與from之間描述的幾個(gè)字段。由于第三查詢語句并沒有改變第一查詢語句的查詢字段,第三查詢語句中和第一查詢語句中的查詢字段是一致的。在第二種情況中,由于查詢字段不包含該關(guān)聯(lián)字段,也就是說,關(guān)聯(lián)字段對(duì)應(yīng)的數(shù)據(jù)不會(huì)作為最終的查詢結(jié)果,因此,不論該關(guān)聯(lián)字段加密與否,對(duì)于用戶而言最終都是不可見的,這種情況下,由于關(guān)聯(lián)字段被加密后可能會(huì)引起關(guān)聯(lián)失效的問題,因此,可以直接忽略該關(guān)聯(lián)字段相關(guān)的加密函數(shù),不對(duì)該關(guān)聯(lián)字段進(jìn)行加密,從而避免出現(xiàn)關(guān)聯(lián)失效的問題;當(dāng)然,也可以考慮對(duì)第三查詢語句進(jìn)行改動(dòng),以保證完成加密的同時(shí)避免失去關(guān)聯(lián)的處理方式。第三種情況是,關(guān)聯(lián)字段需要加密且該關(guān)聯(lián)字段是查詢字段,即,第三查詢語句中涉及的加密函數(shù)與關(guān)聯(lián)字段相關(guān),且該關(guān)聯(lián)字段是查詢字段,這種情況下,該關(guān)聯(lián)字段對(duì)于用戶而言最終是可見的,因此,就需要考慮對(duì)第三查詢語句進(jìn)行改動(dòng),以保證完成加密的同時(shí)避免失去關(guān)聯(lián)的處理方式。針對(duì)第二種和第三種情況,發(fā)明人進(jìn)一步提出了不同的處理方式:針對(duì)第二種情況,步驟204可以按照如下方式實(shí)現(xiàn):第一種方式是,當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),刪除所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的加密函數(shù)。下面通過示例對(duì)第一種方式進(jìn)行解釋說明。示例3,假設(shè),第三查詢語句如下:從上述第三查詢語句可以看出:關(guān)聯(lián)字段“user_id”并不是查詢字段,但第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段“user_id”相關(guān);這種情況下,可以對(duì)第三查詢語句進(jìn)行改動(dòng),具體改動(dòng)方式是,刪除所述第三查詢語句中與該關(guān)聯(lián)字段相關(guān)的加密函數(shù)udf1(user_id)和udf3(user_id);則改動(dòng)后的第三查詢語句如下:第二種方式是,當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中,再過濾該關(guān)聯(lián)字段。下面通過示例對(duì)第二種方式進(jìn)行解釋說明。示例4,結(jié)合示例3中的第三查詢語句,按照第二種方式對(duì)第三查詢語句進(jìn)行改動(dòng),改動(dòng)后的第三查詢語句如下:從上述示例4可以看出,從第三查詢語句中的與關(guān)聯(lián)字段user_id相關(guān)的所有加密函數(shù)udf1和udf3中選擇了udf1,將udf1移動(dòng)到第三查詢語句的最外層中(如上述修改后的第三查詢語句中的黑色加粗部分),并刪除了udf3;將udf1移動(dòng)到第三查詢語句的最外層中,由于該關(guān)聯(lián)字段并不是第一查詢語句中的查詢字段,并不是用戶實(shí)際要查詢的字段,因此還需要進(jìn)一步將該關(guān)聯(lián)字段過濾掉,即,僅保留用戶原始的查詢字段。當(dāng)然,上述示例4中,也可以選擇udf3,將udf3移動(dòng)到查詢語句的最外層,同時(shí)刪除了udf1。針對(duì)第三種情況,步驟204可以按照如下方式實(shí)現(xiàn):第三種實(shí)現(xiàn)方式,當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中。下面通過示例對(duì)第三種方式進(jìn)行解釋說明。示例5,假設(shè)第三查詢語句如下:從上述示例5的第三查詢語句可以看出:關(guān)聯(lián)字段user_id是查詢字段且加密函數(shù)與該關(guān)聯(lián)字段相關(guān),則對(duì)該第三查詢語句進(jìn)行改動(dòng),改動(dòng)的第三查詢語句具體如下:上述示例5是從與關(guān)聯(lián)字段user_id相關(guān)的所有加密函數(shù)udf1和udf3中選擇了udf1,刪除了udf3,再將所選擇的udf1移動(dòng)到第三查詢語句的最外層,這樣完成對(duì)第三查詢語句的改動(dòng)。當(dāng)然,也可以選擇udf3,刪除了udf1,再將udf3移動(dòng)到第三查詢語句的最外層中。從上述示例5可以看出:對(duì)第三查詢語句進(jìn)行改動(dòng),使得改動(dòng)后的第三查詢語句中,涉及到關(guān)聯(lián)字段的加密部分被提到最外層,而子查詢就不再對(duì)關(guān)聯(lián)字段加密,這樣就不會(huì)引起關(guān)聯(lián)失效;而執(zhí)行改動(dòng)后的第三查詢語句得到的查詢結(jié)果,仍舊會(huì)對(duì)關(guān)聯(lián)字段進(jìn)行加密,從而防止數(shù)據(jù)泄密。從這個(gè)實(shí)施例可以看出,本發(fā)明提供的技術(shù)方案在針對(duì)用戶的查詢需求時(shí),無需預(yù)先下載數(shù)據(jù)、加密數(shù)據(jù)、保存數(shù)據(jù),而是用戶輸入的查詢語句進(jìn)行實(shí)時(shí)改動(dòng),增加加密部分以達(dá)到對(duì)特定字段加密的目的;進(jìn)一步地,針對(duì)多關(guān)聯(lián)數(shù)據(jù)表查詢的情況,對(duì)查詢語句作了進(jìn)一步改動(dòng),以實(shí)現(xiàn)不影響關(guān)聯(lián) 關(guān)系的加密處理,最后執(zhí)行改動(dòng)后的查詢語句,就直接查詢到相應(yīng)的加密數(shù)據(jù),在防止數(shù)據(jù)泄露的同時(shí)避免數(shù)據(jù)滯后,能夠提高用戶體驗(yàn)。裝置實(shí)施例與上述方法相對(duì)應(yīng),本申請(qǐng)實(shí)施例還提供了一種無落地的數(shù)據(jù)處理裝置。請(qǐng)參閱圖3,圖3是本發(fā)明提供的一種無落地的數(shù)據(jù)處理裝置的實(shí)施例1的結(jié)構(gòu)圖,下面結(jié)合該裝置的工作原理進(jìn)一步介紹其內(nèi)部結(jié)構(gòu)以及連接關(guān)系。如圖3所示,該裝置可以包括:接收單元301,用于接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù);加密單元302,用于采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密;生成單元303,用于根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句;查詢單元304,用于執(zhí)行所述第三查詢語句得到查詢結(jié)果??蛇x的,所述加密單元,包括:獲取子單元,用于從預(yù)先設(shè)置的加密函數(shù)庫中,獲取與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);第一加密子單元,用于根據(jù)獲取的加密函數(shù)和數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密??蛇x的,所述加密單元,包括:展示子單元,用于向用戶展示與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù);第二加密子單元,用于響應(yīng)于用戶觸發(fā)的選擇操作,根據(jù)用戶選擇的加密函數(shù)和對(duì)應(yīng)的數(shù)據(jù)表名生成第二查詢語句,所述第二查詢語句用于查詢數(shù)據(jù)表中特定字段,并利用加密函數(shù)對(duì)特定字段的數(shù)據(jù)進(jìn)行加密??蛇x的,所述生成單元,包括:插入子單元,用于在所述第一查詢語句中的數(shù)據(jù)表名之前,插入與該數(shù) 據(jù)表名對(duì)應(yīng)的第二查詢語句以生成第三查詢語句。從這個(gè)實(shí)施例可以看出,本發(fā)明提供的技術(shù)方案在針對(duì)用戶的查詢需求時(shí),無需預(yù)先下載數(shù)據(jù)、加密數(shù)據(jù)、保存數(shù)據(jù),而是用戶輸入的查詢語句進(jìn)行實(shí)時(shí)改動(dòng),增加加密部分以達(dá)到對(duì)特定字段加密的目的,進(jìn)而執(zhí)行改動(dòng)后的查詢語句,就直接查詢到相應(yīng)的加密數(shù)據(jù),在防止數(shù)據(jù)泄露的同時(shí)避免數(shù)據(jù)滯后,能夠提高用戶體驗(yàn)。另外,考慮到多關(guān)聯(lián)數(shù)據(jù)表的查詢情況,本發(fā)明提供了另一種裝置。請(qǐng)參閱圖4,圖4是本發(fā)明提供的一種無落地的數(shù)據(jù)處理裝置的實(shí)施例2的結(jié)構(gòu)圖,下面結(jié)合該裝置的工作原理進(jìn)一步介紹其內(nèi)部結(jié)構(gòu)以及連接關(guān)系。如圖4所示,該裝置可以包括:接收單元401,用于接收用戶輸入的第一查詢語句,所述第一查詢語句用于查詢數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù);加密單元402,用于采用與所述第一查詢語句中的數(shù)據(jù)表名對(duì)應(yīng)的加密函數(shù)生成第二查詢語句,所述加密函數(shù)用于對(duì)數(shù)據(jù)表中特定字段的數(shù)據(jù)進(jìn)行加密;生成單元403,用于根據(jù)所述第一查詢語句和所述第二查詢語句生成第三查詢語句;改動(dòng)單元404,用于當(dāng)所述第一查詢語句用于查詢具有關(guān)聯(lián)關(guān)系的數(shù)據(jù)表中字段對(duì)應(yīng)的數(shù)據(jù)時(shí),根據(jù)第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段的關(guān)系以及關(guān)聯(lián)字段與查詢字段的關(guān)系,對(duì)第三查詢語句中涉及關(guān)聯(lián)字段的加密函數(shù)作改動(dòng),以使改動(dòng)后的第三查詢語句的關(guān)聯(lián)字段具備關(guān)聯(lián)性;查詢單元405,用于執(zhí)行所述改動(dòng)單元改動(dòng)后的第三查詢語句得到查詢結(jié)果。進(jìn)一步地,所述改動(dòng)單元,可以包括:改動(dòng)子單元一,用于當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),刪除所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的加密函數(shù);或者,改動(dòng)子單元二,用于當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段不是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有 加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中,再過濾該關(guān)聯(lián)字段。進(jìn)一步地,所述改動(dòng)單元,可以包括:改動(dòng)子單元三,用于當(dāng)所述第三查詢語句中的加密函數(shù)與關(guān)聯(lián)字段相關(guān)且關(guān)聯(lián)字段是查詢字段時(shí),從所述第三查詢語句中與關(guān)聯(lián)字段相關(guān)的所有加密函數(shù)中選擇一個(gè)加密函數(shù)并將未被選擇的加密函數(shù)刪除,將所選擇的加密函數(shù)移動(dòng)到第三查詢語句的最外層中。從這個(gè)實(shí)施例可以看出,本發(fā)明提供的技術(shù)方案在針對(duì)用戶的查詢需求時(shí),無需預(yù)先下載數(shù)據(jù)、加密數(shù)據(jù)、保存數(shù)據(jù),而是用戶輸入的查詢語句進(jìn)行實(shí)時(shí)改動(dòng),增加加密部分以達(dá)到對(duì)特定字段加密的目的;進(jìn)一步地,針對(duì)多關(guān)聯(lián)數(shù)據(jù)表查詢的情況,對(duì)查詢語句作了進(jìn)一步改動(dòng),以實(shí)現(xiàn)不影響關(guān)聯(lián)關(guān)系的加密處理,進(jìn)而執(zhí)行改動(dòng)后的查詢語句,就直接查詢到相應(yīng)的加密數(shù)據(jù),在防止數(shù)據(jù)泄露的同時(shí)避免數(shù)據(jù)滯后,能夠提高用戶體驗(yàn)。所述領(lǐng)域的技術(shù)人員可以清楚地了解到,為了描述的方便和簡潔,上述描述的裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述到的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性、機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本申請(qǐng)各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單 元中。上述集成的單元既可以采用硬件的形式實(shí)現(xiàn),可以采用軟件功能單元的形式實(shí)現(xiàn)。需要說明的是,本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法中的全部或部分流程,是可以通過計(jì)算機(jī)程序來指令相關(guān)的硬件來完成,所述的程序可存儲(chǔ)于一計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中,該程序在執(zhí)行時(shí),可包括如上述各方法的實(shí)施例的流程。其中,所述的存儲(chǔ)介質(zhì)可為磁碟、光盤、只讀存儲(chǔ)記憶體(Read-OnlyMemory,ROM)或隨機(jī)存儲(chǔ)記憶體(RandomAccessMemory,RAM)等。最后,還需要說明的是,在本文中,諸如第一和第二等之類的關(guān)系術(shù)語僅僅用來將一個(gè)實(shí)體或者操作與另一個(gè)實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。以上對(duì)本申請(qǐng)所提供的一種無落地的數(shù)據(jù)處理方法及裝置進(jìn)行了詳細(xì)介紹,本文中應(yīng)用了具體實(shí)施例對(duì)本申請(qǐng)的原理及實(shí)施方式進(jìn)行了闡述,以上實(shí)施例的說明只是用于幫助理解本申請(qǐng)的方法及其核心思想;同時(shí),對(duì)于本領(lǐng)域的一般技術(shù)人員,依據(jù)本申請(qǐng)的思想,在具體實(shí)施方式及應(yīng)用范圍上均會(huì)有改變之處,綜上所述,本說明書內(nèi)容不應(yīng)理解為對(duì)本申請(qǐng)的限制。當(dāng)前第1頁1 2 3 當(dāng)前第1頁1 2 3