本發(fā)明屬于數(shù)據(jù)脫敏,尤其涉及一種支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法。
背景技術(shù):
1、現(xiàn)有的數(shù)據(jù)脫敏技術(shù)實(shí)現(xiàn)多是基于已經(jīng)提前開(kāi)發(fā)好的脫敏策略來(lái)支撐脫敏能力,這種方式如果需要新增脫敏策略,必須改造原有代碼來(lái)支持新的脫敏邏輯,比較耗時(shí)耗力,不能快速響應(yīng)客戶在不同業(yè)務(wù)場(chǎng)景下的脫敏需求,進(jìn)而導(dǎo)致產(chǎn)品交付效率低下,已不適應(yīng)企業(yè)產(chǎn)品快速交付的節(jié)奏和應(yīng)用需求。
技術(shù)實(shí)現(xiàn)思路
1、為了克服現(xiàn)有數(shù)據(jù)脫敏技術(shù)更改脫敏策略耗時(shí)耗力、響應(yīng)速度慢,導(dǎo)致產(chǎn)品交付效率低下的缺陷,本發(fā)明提出了一種新的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法。通過(guò)本方法可以在脫敏平臺(tái)中靈活配置不同敏感字段的脫敏策略,且配置后無(wú)須對(duì)底層代碼進(jìn)行二次開(kāi)發(fā)改造就能實(shí)現(xiàn)不同敏感字段用于不同脫敏場(chǎng)景,既能滿足客戶針對(duì)不同業(yè)務(wù)場(chǎng)景的脫敏需求,又能提高脫敏產(chǎn)品的快速交付能力,從而能夠更好地適應(yīng)業(yè)務(wù)市場(chǎng)的瞬息萬(wàn)變。
2、具體地,本發(fā)明提供了一種支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,如圖4所示,本方法包括下述步驟:
3、s1.?獲取數(shù)據(jù)庫(kù)連接,通過(guò)代理或攔截器方式攔截原始sql語(yǔ)句;
4、s2.?基于脫敏平臺(tái)中定義的敏感字段,jdbc驅(qū)動(dòng)查找原始sql語(yǔ)句中是否存在該敏感字段;
5、s3.?若原始sql語(yǔ)句中存在該敏感字段,jdbc驅(qū)動(dòng)基于脫敏平臺(tái)中預(yù)先配置的該敏感字段對(duì)應(yīng)的脫敏策略,將原始sql語(yǔ)句中的該敏感字段替換為該敏感字段對(duì)應(yīng)的脫敏策略,作為新的查詢字段生成脫敏sql語(yǔ)句;
6、s4.?將脫敏sql語(yǔ)句發(fā)送給數(shù)據(jù)庫(kù),jdbc驅(qū)動(dòng)執(zhí)行該脫敏sql語(yǔ)句并返回查詢結(jié)果。
7、進(jìn)一步地,本發(fā)明支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法中還包括:預(yù)先對(duì)jdbc驅(qū)動(dòng)進(jìn)行改造,在jdbc驅(qū)動(dòng)中配置統(tǒng)一的sql語(yǔ)句改造代碼,改造后的jdbc驅(qū)動(dòng)支持不同數(shù)據(jù)庫(kù)不同脫敏策略的sql語(yǔ)句改造。
8、進(jìn)一步地,本發(fā)明支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,業(yè)務(wù)系統(tǒng)在操作數(shù)據(jù)庫(kù)時(shí),業(yè)務(wù)系統(tǒng)將自身引用的jdbc驅(qū)動(dòng)更換為改造后的jdbc驅(qū)動(dòng),然后使用改造后的jdbc驅(qū)動(dòng)執(zhí)行脫敏任務(wù),其實(shí)現(xiàn)過(guò)程如下:
9、1)業(yè)務(wù)系統(tǒng)將自身引用的jdbc驅(qū)動(dòng)更換為改造后的jdbc驅(qū)動(dòng);
10、2)改造后的jdbc驅(qū)動(dòng)提取原始sql語(yǔ)句,若在原始sql語(yǔ)句中發(fā)現(xiàn)有敏感字段,則用脫敏平臺(tái)中配置的該敏感字段對(duì)應(yīng)的脫敏策略替換該敏感字段獲得脫敏sql語(yǔ)句,然后執(zhí)行該脫敏sql語(yǔ)句。
11、進(jìn)一步地,本發(fā)明支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法步驟s2中所述脫敏平臺(tái)針對(duì)不同敏感字段采用不同的脫敏策略。
12、進(jìn)一步地,本發(fā)明支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法步驟s2中所述jdbc驅(qū)動(dòng)基于分類(lèi)分級(jí)原理識(shí)別和查找原始sql語(yǔ)句中存在的敏感字段。
13、進(jìn)一步地,本發(fā)明支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法步驟s3中所述脫敏平臺(tái)中預(yù)先配置的該敏感字段對(duì)應(yīng)的脫敏策略,若敏感字段為name,原始sql語(yǔ)句為select?name?from?users?where?id?=?1,則包括以下脫敏策略:
14、1)保留前n后m
15、select?case?when?length(name)>n?+?m?then?left(name,?n)?||?rpad('*',length(name)?-?n?-?m,?'*')?||?right(name,?m)?else?name?end?as?name?from?userswhere?id?=?1;
16、2)保留自x至y
17、select?case?when?length(col_name)>n?-?1?then?rpad('*',?n?-?1,?'*')?||substring(col_name?from?n?for?m-?n?+?1)?||?rpad('*',?length(col_name)?-?m,'*')else?rpad('*',?length(col_name),?'*')?end?as?name?from?users?where?id?=1;
18、3)遮蓋前n后m
19、select?case?when?length(col_name)>n?+?m?then?rpad('*',?n,?'*')?||substring(col_name?from?n?+?1?for?length(col_name)?-?n?-?m)?||?rpad('*',m,'*')?else?rpad('*',?length(col_name),?'*')?end?as?name?from?users?where?id=?1;
20、4)遮蓋自x至y
21、select?case?when?length(col_name)?=?x?then?concat(left(col_name,?x?-1),?rpad('*',?y?-?x?+?1,?'*'))?when?length(col_name)>x?then?concat(left(col_name,?x?-?1),?rpad('*',?y?-?x?+?1,?'*'),?substring(col_namefrom?y?+?1))?elsecol_name?end?as?name?from?users?where?id?=?1。
22、進(jìn)一步地,本發(fā)明支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法步驟s3中所述脫敏平臺(tái)中預(yù)先配置的該敏感字段對(duì)應(yīng)的脫敏策略,若敏感字段為name,原始sql語(yǔ)句為select?name?from?users?where?id?=?1,還包括以下脫敏策略:
23、1)特殊字符前遮蓋;
24、2)特殊字符后遮蓋。
25、另一方面,本發(fā)明還提供了一種支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的系統(tǒng),本系統(tǒng)運(yùn)行時(shí)實(shí)現(xiàn)上述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法的步驟。
26、另外,本發(fā)明還提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)上述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法的步驟。
27、綜上,通過(guò)本發(fā)明方法可在線配置不同脫敏策略,無(wú)需脫敏產(chǎn)品的二次開(kāi)發(fā)改造,在滿足客戶針對(duì)不同業(yè)務(wù)場(chǎng)景的脫敏需求的同時(shí),提高了脫敏產(chǎn)品的快速交付能力。
1.一種支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,其特征在于,所述方法中還包括:預(yù)先對(duì)jdbc驅(qū)動(dòng)進(jìn)行改造,在jdbc驅(qū)動(dòng)中配置統(tǒng)一的sql語(yǔ)句改造代碼,改造后的jdbc驅(qū)動(dòng)支持不同數(shù)據(jù)庫(kù)不同脫敏策略的sql語(yǔ)句改造。
3.根據(jù)權(quán)利要求2所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,其特征在于,業(yè)務(wù)系統(tǒng)在操作數(shù)據(jù)庫(kù)時(shí),業(yè)務(wù)系統(tǒng)將自身引用的jdbc驅(qū)動(dòng)更換為改造后的jdbc驅(qū)動(dòng),然后使用改造后的jdbc驅(qū)動(dòng)執(zhí)行脫敏任務(wù),其實(shí)現(xiàn)過(guò)程如下:
4.根據(jù)權(quán)利要求1所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,其特征在于,步驟s2中所述脫敏平臺(tái)針對(duì)不同敏感字段采用不同的脫敏策略。
5.根據(jù)權(quán)利要求1所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,其特征在于,步驟s2中所述jdbc驅(qū)動(dòng)基于分類(lèi)分級(jí)原理識(shí)別和查找原始sql語(yǔ)句中存在的敏感字段。
6.?根據(jù)權(quán)利要求1所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,其特征在于,步驟s3中所述脫敏平臺(tái)中預(yù)先配置的該敏感字段對(duì)應(yīng)的脫敏策略,若敏感字段為name,原始sql語(yǔ)句為select?name?from?users?where?id?=?1,則包括以下脫敏策略:
7.?根據(jù)權(quán)利要求1所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法,其特征在于,步驟s3中所述脫敏平臺(tái)中預(yù)先配置的該敏感字段對(duì)應(yīng)的脫敏策略,若敏感字段為name,原始sql語(yǔ)句為select?name?from?users?where?id?=?1,還包括以下脫敏策略:
8.一種支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的系統(tǒng),其特征在于,所述系統(tǒng)運(yùn)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7任一項(xiàng)所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法的步驟。
9.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),所述存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)權(quán)利要求1-7任一項(xiàng)所述的支持可在線配置脫敏策略提高脫敏產(chǎn)品快速交付能力的方法的步驟。