本申請涉及網絡技術,特別涉及一種業(yè)務校驗方法和裝置。
背景技術:
在處理業(yè)務時,經常使用到業(yè)務校驗功能,即校驗某個業(yè)務請求是否符合一定的校驗條件,并根據(jù)校驗結果進行不同的處理。例如,網站在新功能或運營活動上線時,希望特定的用戶人群來使用該功能或參與該活動,這種情況下可以設置一些名單,名單中包括根據(jù)以往的業(yè)務數(shù)據(jù)分析挖掘得到的目標用戶人群。當接收到一個業(yè)務請求時,可以根據(jù)名單進行校驗,比如,判斷發(fā)送該請求的用戶是否在黑名單中,若在則拒絕本次業(yè)務請求。業(yè)務校驗中設置的校驗條件的數(shù)量可以為多個,比如,在名單校驗時,運營活動需要的目標用戶條件可以是,用戶在a名單且在b名單,并且不能在c名單。
對于復雜的校驗條件,現(xiàn)有技術通常是分多次查詢,比如,查詢一次是否在a名單,再查詢一次是否在b名單等,這種方式使得業(yè)務校驗效率較低。并且,目前校驗相關的業(yè)務數(shù)據(jù)在存儲時也比較浪費存儲空間,比如,如果一個用戶同時在a名單和b名單,那么在數(shù)據(jù)庫中要存儲兩條對應的記錄,一條記錄是a用戶在a名單,另一條記錄是a用戶在b名單。當用戶在多個名單中存在時,將記錄多條對應的記錄,用戶標識信息將重復多次記錄,使得數(shù)據(jù)庫表的存儲量較大,也進一步增加了校驗查詢時的耗費時間。
技術實現(xiàn)要素:
有鑒于此,本申請?zhí)峁┮环N業(yè)務校驗方法和裝置,以節(jié)省存儲空間且提 高業(yè)務校驗的效率。
具體地,本申請是通過如下技術方案實現(xiàn)的:
第一方面,提供一種業(yè)務校驗方法,所述方法用于校驗業(yè)務請求是否符合業(yè)務校驗條件,所述業(yè)務校驗條件包括多個校驗條件因子;所述方法包括:
根據(jù)業(yè)務請求中包括的特征標識,獲取與所述特征標識對應的特征條件信息,所述特征條件信息包括多個標識位,每個標識位對應一個校驗條件因子,且所述標識位的取值用于表示特征標識與校驗條件因子的匹配結果;
根據(jù)所述特征條件信息,確定所述業(yè)務校驗條件是否滿足。
第二方面,提供一種業(yè)務校驗裝置,所述裝置用于校驗業(yè)務請求是否符合業(yè)務校驗條件,所述業(yè)務校驗條件包括多個校驗條件因子;所述裝置包括:
查詢模塊,用于根據(jù)業(yè)務請求中包括的特征標識,獲取與所述特征標識對應的特征條件信息,所述特征條件信息包括多個標識位,每個標識位對應一個校驗條件因子,且所述標識位的取值用于表示特征標識與校驗條件因子的匹配結果;
校驗模塊,用于根據(jù)所述特征條件信息,確定業(yè)務校驗條件是否滿足。
本申請?zhí)峁┑臉I(yè)務校驗方法和裝置,通過使用包括多個標識位的特征條件信息表示特征標識與各個校驗條件因子的匹配結果,使得在進行校驗時,根據(jù)用戶標識就可以一次性得到所有的該用戶標識與各校驗條件因子的匹配結果,從而根據(jù)該特征條件信息確定是否滿足業(yè)務校驗條件,該方式相對于傳統(tǒng)的多次查詢將顯著提高校驗的效率,并且,這種通過多個標識位表示特征標識與各個校驗條件因子關系的存儲方式,相比于傳統(tǒng)的多條記錄存儲,也大大節(jié)省了存儲空間。
附圖說明
圖1是本申請一示例性實施例示出的一種業(yè)務校驗方法的應用場景;
圖2是本申請一示例性實施例示出的一種業(yè)務校驗方法的流程圖;
圖3是本申請一示例性實施例示出的另一種業(yè)務校驗方法的流程圖;
圖4是本申請一示例性實施例示出的一種業(yè)務校驗裝置的結構圖;
圖5是本申請一示例性實施例示出的一種業(yè)務校驗裝置的結構圖。
具體實施方式
這里將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實施例中所描述的實施方式并不代表與本申請相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本申請的一些方面相一致的裝置和方法的例子。
本申請?zhí)峁┝艘环N業(yè)務校驗方法,該方法可以應用于在業(yè)務處理中,判斷某個業(yè)務請求是否符合業(yè)務校驗條件。例如,假設業(yè)務校驗條件是“用戶在a名單和b名單,并且不能在c名單”,其中,a、b或c名單可以是管理人員設置的能夠參加本次運營活動或不能參加本次運營活動的用戶名單,那么當接收到一個業(yè)務請求時,可以根據(jù)業(yè)務請求中攜帶的用戶標識,判斷發(fā)送該請求的用戶是否符合上述的業(yè)務校驗條件,如果符合才允許用戶繼續(xù)訪問該業(yè)務。當然,以上只是一個示例性的業(yè)務校驗的應用場景說明,還可以有其他的業(yè)務校驗場景,比如,判斷用戶是否符合多個權限的要求等。
如下的例子,以業(yè)務校驗是名單校驗為例,說明本申請的業(yè)務校驗方法,但該方法也可以應用于其他類似的校驗場景。仍然以業(yè)務校驗條件是“用戶在a名單和b名單,并且不能在c名單”為例,判斷發(fā)送業(yè)務請求的用戶是否符合上述的業(yè)務校驗條件。為了方便對業(yè)務校驗方法的清楚描述,首先定義如下概念:
校驗條件因子:例如,業(yè)務校驗條件中的“a名單”、“b名單”或者“c名單”,本實施例可以稱為“校驗條件因子”,即校驗條件因子是在業(yè)務校驗條件中包括的與校驗相關的因素,在校驗中可依據(jù)這些因子進行校驗。
特征標識:該特征標識是攜帶在業(yè)務請求中,在接收到業(yè)務請求時,可以從中獲取到特征標識,該特征標識其實也相當于一個與業(yè)務校驗相關的因 素,根據(jù)該特征標識來判斷業(yè)務校驗條件是否滿足。
例如,在根據(jù)業(yè)務請求中攜帶的用戶標識,判斷發(fā)送該請求的用戶是否符合業(yè)務校驗條件的例子中,“用戶標識”即為“特征標識”,業(yè)務校驗條件可以限定了“特征標識”與“校驗條件因子”之間的關系,比如,在業(yè)務校驗條件“用戶在a名單和b名單,并且不能在c名單”中,即限定了用戶標識與各個名單之間的關系,在名單中或者不在名單中。
特征標識與校驗條件因子的匹配結果:在該名單校驗的例子中,“用戶標識在a名單中”可以稱為一個“匹配結果”,即特征標識“用戶標識”與校驗條件因子“a名單”之間的關系;又比如,“用戶標識不能在c名單中”也可以稱為一個“匹配結果”,是特征標識“用戶標識”與校驗條件因子“c名單”之間的關系。
本申請實施例的業(yè)務校驗方法中,可以在數(shù)據(jù)庫中存儲某個特征標識與各個校驗條件因子之間的匹配結果,在名單校驗的例子中,假設名單有a、b、c多個名單,某個用戶標識分別與這些名單之間的匹配結果(例如,在名單或者不在名單),均可以表示在一個字符串中,該字符串可以稱為“特征條件信息”,并且在數(shù)據(jù)庫中存儲用戶標識與該特征條件信息的對應關系。如下的表1示例了一種字符串的結構:
表1特征條件信息
參見表1所示,以該字符串包括三個字節(jié)(byte0/byte1/byte2)為例,實際實施中,還可以擴展字節(jié)的數(shù)量。每個字節(jié)可以包括八個比特位,即表1中所示的“byte的標識位”,其中,為了防止字符串亂碼和字符集錯亂等問題的出現(xiàn),每個字節(jié)中的首位比特位不使用,即不用于名單位的分配(關于名單位分配后續(xù)將說明),相當于標識位包括“1”至“7”七個比特位。
在設計表1所示結構的基礎上,進行如下兩方面設置:
名單位的分配:業(yè)務校驗條件中可以包括多個校驗條件因子,可以將表1中的各個標識位分配為與校驗條件因子對應,一個標識位對應一個校驗條件因子。例如,在名單校驗中,校驗條件因子包括“a名單”、“b名單”和“c名單”,可以為這三個名單分別分配一個對應的標識位。
比如,在表1中的最后一行,可以將這些待分配的位置稱為“名單位”,即用于分配至各個名單,并為這些名單位進行編號,如表1所示的標識為“1”至“21”的這些名單位??梢詫⒈?中的名單位“11”分配給“a名單”,將名單位“16”分配給“b名單”,將名單位“20”分配給“c名單”??梢钥吹?,各個名單位與上面的標識位是對應的,例如,byte[0]的標識位“5”對應的是名單位“5”,byte[1]的標識位“5”對應名單位“12”。
標識位的取值:特征標識與校驗條件因子的匹配結果可以用該標識位的取值來表示,例如,在名單校驗的例子中,如果用戶標識不在a名單中,可以用取值“0”表示,如果用戶標識在a名單中,可以用取值“1”表示。參見上述表1,示例性的給出一種對應名單位“11”、“16”和“20”的取值,分別為“1”、“0”“1”,結合名單位對應的名單,則表示“用戶在a名單、不在b名單,且在c名單”。
圖1示例了一種業(yè)務校驗方法的應用場景,用戶11要訪問一個網站,網站服務器12可以接收到用戶11通過終端13發(fā)送的請求訪問網站的業(yè)務請求。此時,網站服務器12將進行業(yè)務校驗,校驗該用戶11是否有權訪問該網站。校驗的依據(jù)可以是,網站服務器12查詢數(shù)據(jù)庫14中存儲的用戶標識與特征條件信息的對應關系,獲取到該用戶的特征條件信息,并將其與預設的業(yè)務校驗條件比較,來判斷該業(yè)務請求是否滿足業(yè)務校驗條件。參見圖2所示:
在步驟201中,根據(jù)業(yè)務請求中包括的特征標識,獲取與所述特征標識對應的特征條件信息。
例如,在本例子中,數(shù)據(jù)庫可以存儲兩張表,一張用于記錄名單位的分配,包括已經創(chuàng)建的名單、以及為該名單分配的名單位;另一張用于記錄用戶標識與對應的特征條件信息。參見如下的表2和表3:
表2名單位分配表
表3用戶的特征條件信息表
其中,表3中的特征條件信息即可以用表1的結構表示。本步驟中,當接收到業(yè)務請求時,可以提取出請求中攜帶的特征標識,例如,在名單校驗的例子中,提取中的特征標識即用戶標識??梢圆樵儽?,獲取到與用戶標識對應的特征條件信息,例如,在表1的示例中,得到的特征條件信息包括“名單位11和20的取值均為1”。還可以查詢表2,根據(jù)名單名稱和分配的名單位的對應關系,得知名單位11對應a名單,名單位20對應c名單,那么“名單位11和20的取值均為1”則表示“用戶標識在a名單和c名單”。
在步驟202中,根據(jù)特征條件信息,確定所述業(yè)務校驗條件是否滿足。
例如,假設預設的業(yè)務校驗條件為“用戶在a名單和b名單,并且不能在c名單”,那么很明顯,步驟201中得到的特征條件信息與該業(yè)務校驗條件是不符合的,因此,可以確定業(yè)務校驗條件不滿足。根據(jù)校驗結果,網站服務器12可以拒絕用戶11對網站的訪問。
本實施例的業(yè)務校驗方法,通過使用包括多個標識位的特征條件信息表示特征標識與各個校驗條件因子的匹配結果,使得在進行校驗時,根據(jù)用戶標識就可以一次性得到所有的該用戶標識與各校驗條件因子的匹配結果,從而根據(jù)該特征條件信息確定是否滿足業(yè)務校驗條件,該方式相對于傳統(tǒng)的多次查詢將顯著提高校驗的效率。
并且,這種通過多個標識位表示特征標識與各個校驗條件因子關系的存儲方式,相比于傳統(tǒng)的多條記錄存儲,也大大節(jié)省了存儲空間。例如,假設用戶在a名單和b名單都有,那么傳統(tǒng)方式將存儲兩條記錄,而本申請的方 案中將存儲一條記錄即可,特征條件信息中的兩個標識位就足以表示出用戶同時存在于a名單和b名單。不論用戶屬于幾個名單,都可以在一條特征條件信息中表示出來,存儲于數(shù)據(jù)庫中的對應該用戶的一條記錄。
再次,本申請的方法還具有較好的擴展性。比如,在傳統(tǒng)方式中假設要增加一個新名單,那么數(shù)據(jù)庫中會將該新名單中包括的各個用戶都分別存儲一條記錄,用于記錄該各個用戶在該新名單中,并且,校驗邏輯也要調整,以適應對新名單的查詢;而本申請的方法中,如果增加一個新名單,只要給該新名單分配一個名單位即可,如果某個用戶在該新名單中,也只需要將該用戶對應的特征條件信息中對應新名單位的標識位取值變更一下即可,相對于傳統(tǒng)方式,不需要再增加很多的存儲記錄,節(jié)約存儲空間,且實施簡單。
對于如上所述的擴展性,實際實施中可以是,網絡服務器接收到一個校驗條件變更信息,該校驗條件變更信息用于表示業(yè)務校驗條件中的校驗條件因子發(fā)生變更,所述變更包括增加或刪除。例如,新增一個名單,或者刪除一個名單。根據(jù)該校驗條件變更信息,可以為增加的校驗條件因子分配對應的標識位,比如上面提到的為新名單分配一個名單位;或者,將刪除的校驗條件因子對應的標識位取消,比如,將一個名單刪除后取消為其分配的名單位,該名單位可以用于重新分配給其他名單。
如下通過一個例子,來說明應用本申請的業(yè)務校驗方法進行用戶加入或移除名單的過程。在本例子中,網絡服務器可以接收到特征條件變更信息,該特征條件變更信息用于表示業(yè)務請求中的特征標識與目標校驗條件因子的匹配結果發(fā)生變更。例如,特征標識可以是用戶標識,目標校驗條件因子指的是匹配結果變化的校驗條件因子,且本例子中的校驗條件因子是名單;比如,假設用戶在a名單和b名單,如果用戶變更為從b名單刪除,即不再屬于b名單,那么b名單就是匹配結果變化的校驗條件因子,可以稱為目標校驗條件因子,用戶標識與該b名單的匹配結果變更,即由原來的“用戶標識在b名單”變更為“用戶標識不在b名單”。參見圖3,該流程可以包括:
在步驟301中,網絡服務器接收到特征條件變更信息,該信息表示用戶 加入或移除某個名單。
例如,本步驟的特征條件變更信息,表示用戶加入了a名單,或者從b名單移除,即用戶標識與a名單或b名單的匹配結果發(fā)生了變更。
在步驟302中,網絡服務器查詢名單位分配表,得到與名單對應的名單位。例如,名單位分配表可以是表2的示例,根據(jù)名單名稱與名單位的對應關系,可以得到匹配結果發(fā)生變更的目標校驗條件因子對應的名單位。名單位與某個標識位是對應的,這個標識位可以稱為目標標識位。
參見如下表4的示例,假設本例子中用戶與b名單的匹配結果發(fā)生了變更,b名單的名單位是“16”,對應的標識位是byte2的標識位2,該標識位也稱為目標標識位。需要說明的是,如下表4示例的是變更后的結果,相比于表1,目標標識位的取值由“0”變更為“1”,變更過程后續(xù)步驟描述,本步驟只是說明根據(jù)名單可以查找到對應的名單位,也能得到對應的目標標識位。
表4變更后的特征條件信息
在步驟303中,網絡服務器查詢用戶的特征條件信息表,得到與用戶標識對應的特征條件信息。例如,還可以根據(jù)用戶標識,查詢表3所示例的特征條件信息表,得到該用戶的特征條件信息。
在步驟304中,網絡服務器將字符串形式的特征條件信息解析成二進制形式。本步驟中,特征條件信息可以是以字符串形式存儲,在本步驟中,可以將其解析成二進制形式。
在步驟305中,網絡服務器將二進制的特征條件信息中,與名單對應的名單位設置為0或者1。
在本步驟中,在二進制的特征條件信息中,找到與步驟302中的名單位對應的目標標識位,取值設置為與變更后的匹配結果對應的取值。例如,目標標識位是byte2的標識位2,變更后的匹配結果為用戶在b名單中,則將該目標標識位的取值由“0”變更為“1”,該取值“1”即可用于表示用戶在名單位16對應的b名單中。
在步驟306中,網絡服務器將特征條件信息還原成字符串形式。在完成變更后,將特征條件信息由二進制再還原為字符串。此外,上述例子是以用戶加入某個名單為例,如果用戶從某個名單移除,則將對應名單的目標標識位的取值由“1”變更為“0”即可。例如,若用戶從a名單移除,則將表4中對應a名單的目標標識位(byte1的標識位4)的取值,由“1”變更為“0”。
在步驟307中,網絡服務器更新用戶的特征條件信息表。本步驟主要是更新用戶的特征條件信息表,在數(shù)據(jù)庫中存儲更新后的表,以便在后續(xù)的業(yè) 務校驗時,根據(jù)該新表獲取新的用戶特征條件信息。
通過本實施例的業(yè)務校驗方法可以看到,使用該方法,用戶能夠很方便的快速的變更特征條件,比如加入某個名單或移除某個名單,只要將該用戶對應的特征條件信息中與名單對應的標識位取值對應變更即可,與名單位的分配同樣實施方便,簡單快速。
本申請還提供一種業(yè)務校驗裝置,該裝置可以用于校驗業(yè)務請求是否符合業(yè)務校驗條件,所述業(yè)務校驗條件包括多個校驗條件因子。該裝置可以應用于例如網絡服務器上,使得網絡服務器可以執(zhí)行本申請的業(yè)務校驗方法。如圖4所示,該裝置可以包括:查詢模塊41和校驗模塊42。
查詢模塊41,用于根據(jù)業(yè)務請求中包括的特征標識,獲取與所述特征標識對應的特征條件信息,所述特征條件信息包括多個標識位,每個標識位對應一個校驗條件因子,且所述標識位的取值用于表示特征標識與校驗條件因子的匹配結果;
校驗模塊42,用于根據(jù)所述特征條件信息,確定業(yè)務校驗條件是否滿足。
參見圖5,該裝置還可以包括:接收模塊43和變更模塊44。
在一個例子中,接收模塊43,用于接收特征條件變更信息,所述特征條件變更信息用于表示所述業(yè)務請求中的特征標識與目標校驗條件因子的匹配結果發(fā)生變更;
變更模塊44,用于將所述目標校驗條件因子對應的標識位的取值,設置為變更后的匹配結果對應的取值。
在一個例子中,變更模塊44,用于查詢所述目標校驗條件因子對應的目標標識位、以及所述特征標識對應的特征條件信息;將所述特征條件信息中的所述目標標識位的取值,設置為變更后的匹配結果對應的取值。
在一個例子中,接收模塊43,還用于接收校驗條件變更信息,所述校驗條件變更信息用于表示所述業(yè)務校驗條件中的校驗條件因子發(fā)生變更,所述變更包括增加或刪除;
變更模塊44,還用于為增加的校驗條件因子分配對應的標識位,或者, 將刪除的校驗條件因子對應的標識位取消。
此外,所述多個標識位分布于多個字節(jié)中,且是每個字節(jié)中除首位比特位之外的比特位。
通過使用本申請的業(yè)務校驗裝置,可以執(zhí)行本申請的業(yè)務校驗方法,進行更為快速的業(yè)務校驗,并且對業(yè)務校驗條件的變更方便操作。
以上所述僅為本申請的較佳實施例而已,并不用以限制本申請,凡在本申請的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本申請保護的范圍之內。