本發(fā)明涉及通信領域,尤其涉及用于篩選的規(guī)則的配置方法、顯示方法和客戶端。
背景技術:
::電信運營商在業(yè)務運營過程中針對業(yè)務需要,需要提取特定客戶群并進行營銷推薦,實現(xiàn)業(yè)務產品推廣及客戶的維系及保有。這里提取特定客戶群需要業(yè)務運營人員根據業(yè)務經驗知識,通過分析用戶的基礎屬性及通信行為屬性及業(yè)務偏好信息,根據標簽規(guī)則進行篩選提取到匹配規(guī)則的目標客戶,并對目標客戶進行標簽標記,這個過程就是創(chuàng)建標簽的過程,同時創(chuàng)建的標簽可作為篩選其它標簽的規(guī)則使用。其中,標簽規(guī)則是應用于創(chuàng)建標簽的過程中的一種用于篩選的規(guī)則,用于篩選的規(guī)則指的是用于篩選用戶的屬性條件的集合。圖1所示為現(xiàn)有技術中標簽規(guī)則的配置界面,如圖1所示,現(xiàn)有技術中通過將屬性值、關系運算符、比較值連接成組成簡單關系表達式,再將關系表達式通過邏輯運算符及括號描述優(yōu)先級來表示標簽規(guī)則。如圖1所示,條件的嵌套級數(shù)受到配置界面的限制,當需要設置的條件的嵌套級數(shù)高于配置界面允許設置的級數(shù)時,需要通過編碼重新修改配置界面,而且條件的邏輯組合的左右括號匹配配置復雜,導致不能靈活設置多級嵌套的條件的邏輯關系,即不能靈活地配置用于篩選的規(guī)則。技術實現(xiàn)要素:本發(fā)明實施例提供了一種用于篩選的規(guī)則的配置方法、顯示方法和客戶端,能夠靈活設置多級嵌套的條件的邏輯關系,從而能夠靈活地配置規(guī)則。第一方面,提供了一種用于篩選的規(guī)則的配置方法,所述規(guī)則配置方法包括:根據用戶的第一輸入確定操作對象,所述操作對象為屬性或標簽;獲取所述操作對象的元數(shù)據,所述元數(shù)據包括所述操作對象的類型;根據所述 操作對象的類型確定用于配置規(guī)則的條件項;將本次確定的所述條件項和已存在的條件項組成樹形結構,所述樹形結構中所述本次確定的條件項的父節(jié)點為所述邏輯運算節(jié)點,所述邏輯運算節(jié)點用于表示所述邏輯運算節(jié)點的子節(jié)點上的條件項之間的邏輯關系;根據所述樹形結構生成規(guī)則表達式。其中,所述已存在的條件項可以是在本次操作之前確定的條件項??蛇x地,所述操作對象的元數(shù)據還可以包括所述操作對象的名稱和所述操作對象的數(shù)據來源信息。通過根據操作對象確定對應的條件項,并將本次確定的條件項和已存在的條件項組成樹形結構,使得能夠靈活設置多級嵌套的條件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則。結合第一方面,在第一種可能的實現(xiàn)方式中,所述根據所述操作對象的類型確定用于配置規(guī)則的條件項,包括:根據所述操作對象的類型選擇匹配的條件模板;接收所述用戶輸入所述條件模板的內容,生成條件項。可選地,根據所述操作對象的類型從條件模型中選擇匹配的條件模板。所述條件模板由所述條件模型中的操作對象、取值方法、關系運算符和比較值連接組成??蛇x地,所述條件模板中還可包括預設的取值約束。結合第一種可能的實現(xiàn)方式,在第二種可能的實現(xiàn)方式中,所述操作對象為屬性,所述條件模板包括屬性的名稱、取值方法、關系運算符和比較值。當操作對象為屬性時,由于屬性對應的條件模板包括取值方法,使得能夠支持對單個屬性求總和、求平均等計算出來的值進行比較。屬性可以包括數(shù)值類屬性、枚舉類屬性、文本類屬性、日期類屬性和計算類屬性??蛇x地,所述操作對象的類型為以下任意一種:數(shù)值類屬性、枚舉類屬性、文本類屬性、日期類屬性、計算類屬性和標簽。結合第一方面或第一種或第二種可能的實現(xiàn)方式,在第三種可能的實現(xiàn)方式中,所述操作對象的類型為計算類屬性,所述獲取所述操作對象的元數(shù)據包括:定義所述計算類屬性的元數(shù)據,所述計算類屬性的元數(shù)據包括名稱、單位和四則運算表達式。其中,所述條件模板包括計算類屬性的名稱、取值方法、關系運算符號和比較值。通過定義計算類屬性的元數(shù)據,使得能夠生成支持多個屬性四則運算的 條件,從而能夠靈活地配置規(guī)則。結合第一方面,在第四種可能的實現(xiàn)方式中,所述操作對象為標簽,所述條件模板包括標簽標識和關系運算符。結合第一方面或第一種至第四種可能的實現(xiàn)方式中的任一種可能的實現(xiàn)方式,在第五種可能的實現(xiàn)方式中,在所述將本次確定的所述條件項和已存在的條件項組成樹形結構之后,所述配置方法還包括:根據所述用戶的第二輸入調整所述樹形結構中多個條件項之間的邏輯關系;所述根據所述樹形結構生成規(guī)則表達式包括:根據調整后的樹形結構生成規(guī)則表達式。通過對調整樹形結構中條件項之間的邏輯關系,能夠更加靈活的配置規(guī)則。結合第五種可能的實現(xiàn)方式,在第六種可能的實現(xiàn)方式中,所述用戶的第二輸入包括將所述樹形結構中的m個條件項進行條件組合,m為大于1的整數(shù),所述根據用戶的第二輸入調整所述樹形結構中多個條件項之間的邏輯關系,包括:在所述m個條件項位于所述樹形結構的同一層級的情況下,在當前層級新增一個第一邏輯運算節(jié)點,將所述m個條件項作為所述第一邏輯運算節(jié)點的子節(jié)點;或者,在所述m個條件項位于所述樹形結構的不同層級的情況下,確定所述m個條件項中所在層級最低的第一條件項,所述所在層級最低的條件項的父節(jié)點為第二邏輯運算節(jié)點,將所述m個條件項作為所述第二邏輯運算節(jié)點的子節(jié)點;或者,在所述m個條件項中包括至少一個條件項和至少一個邏輯組的情況下,確定所述至少一個邏輯組中所在層級最高的邏輯組,所述所在層級最高的邏輯組的父節(jié)點為第三邏輯運算節(jié)點,將所述m個條件項作為所述第三邏輯運算節(jié)點的子節(jié)點。結合第五種可能的實現(xiàn)方式,在第七種可能的實現(xiàn)方式中,所述用戶的第二輸入包括拆分所述樹形結構中的n個條件項經過條件組合組成的邏輯組,所述邏輯組中所述n個條件項的父節(jié)點為第四邏輯運算節(jié)點,n為大于1的整數(shù),所述根據所述用戶的操作調整所述樹形結構中多個條件項之間的邏輯關系,包括:刪除所述第四邏輯運算節(jié)點,并將所述n個條件項作為所述第四邏輯運算節(jié)點的父節(jié)點的子節(jié)點。第二方面,提供了一種用于篩選的規(guī)則的顯示方法,包括:在顯示屏呈現(xiàn)規(guī)則配置界面的第一預設區(qū)域,所述第一預設區(qū)域內包括多個操作對象;檢測用戶的第一輸入,所述第一輸入用于從所述第一預設區(qū)域選擇操作對象;將選擇的操作對象對應的條件項放入所述規(guī)則配置窗口的第二預設區(qū)域;在所述第二預設區(qū)域呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在條件項組成的樹形結構,所述樹形結構中的所述本次選擇的操作對象對應的條件項的父節(jié)點為邏輯運算節(jié)點,所述邏輯運算節(jié)點用于表示所述邏輯運算節(jié)點的子節(jié)點上的條件項之間的邏輯關系。通過呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在的條件項組成的樹形結構,使得用戶能夠直觀地設置多級嵌套的條件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則。結合第二方面,在第二方面的第一種可能的實現(xiàn)方式中,還包括:檢測用戶的第二輸入,所述第二輸入用于選擇所述樹形結構中的m個條件項進行條件組合,m為大于1的整數(shù);根據所述第二輸入,在所述第二預設區(qū)呈現(xiàn)對所述m個條件項進行條件組合后的樹形結構。結合第二方面或第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式中,還包括:檢測用戶的第三輸入,所述第三輸入用于拆分所述樹形結構中的n個條件項經過條件組合組成的邏輯組,n為大于1的整數(shù);根據所述第三輸入,在所述第二預設區(qū)呈現(xiàn)對所述邏輯組進行拆分后的樹形結構。第三方面,提供了一種客戶端,用于執(zhí)行第一方面或第一方面的上述任一種可能的實現(xiàn)方式所述的配置方法。具體地,所述客戶端包括:處理單元,用于根據用戶的第一輸入確定操作對象,所述操作對象為屬性或標簽;獲取單元,用于獲取所述操作對象的元數(shù)據,所述元數(shù)據包括所述操作對象的類型;所述處理單元還用于,根據所述獲取單元獲取的所述操作對象的類型確定用于配置規(guī)則的條件項;所述處理單元還用于,將本次確定的所述條件項和已存在的條件項組成樹形結構,所述樹形結構中所述本次確定的條件項的父節(jié)點為所述邏輯運算節(jié)點,所述邏輯運算節(jié)點用于表示所述邏輯運算節(jié)點的子節(jié)點上的條件項之間的邏輯關系;所述處理單元還用,根據所述樹形結構生成規(guī)則表達式。本發(fā)明實施例中,客戶端通過根據操作對象確定對應的條件項,并將本 次確定的條件項和已存在的條件項組成樹形結構,使得能夠靈活設置多級嵌套的條件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則。結合第三方面,在第三方面的第一種可能的實現(xiàn)方式中,所述處理單元具體用于:根據所述獲取單元獲取的所述操作對象的類型選擇匹配的條件模板;接收所述用戶輸入所述條件模板的內容,生成條件項。結合第三方面的第一種可能的實現(xiàn)方式,在第三方面的第二種可能的實現(xiàn)方式中,所述操作對象為屬性,所述條件模板包括屬性的名稱、取值方法、關系運算符和比較值。結合第三方面或第三方面的第一種或第二種可能的實現(xiàn)方式,在第三方面的第三種可能的實現(xiàn)方式中,所述操作對象的類型為計算類屬性,所述獲取單元具體用于,定義所述計算類屬性的元數(shù)據,所述計算類屬性的元數(shù)據包括名稱、單位和四則運算表達式。結合第三方面或第三方面的上述任一種可能的實現(xiàn)方式,在第三方面的第四種可能的實現(xiàn)方式中,所述處理單元還用于,在將本次確定的所述條件項和已存在的條件項組成所述樹形結構之后,根據所述用戶的第二輸入調整所述樹形結構中多個條件項之間的邏輯關系;所述處理單元具體用于,根據調整后的樹形結構生成規(guī)則表達式。結合第三方面的第四種可能的實現(xiàn)方式,在第三方面的第五種可能的實現(xiàn)方式中,所述用戶的第二輸入包括將所述樹形結構中的m個條件項進行條件組合,m為大于1的整數(shù),所述處理單元具體用于:在所述m個條件項位于所述樹形結構的同一層級的情況下,在當前層級新增一個第一邏輯運算節(jié)點,將所述m個條件項作為所述第一邏輯運算節(jié)點的子節(jié)點;或者,在所述m個條件項位于所述樹形結構的不同層級的情況下,確定所述m個條件項中所在層級最低的條件項,所述所在層級最低的條件項的父節(jié)點為第二邏輯運算節(jié)點,將所述m個條件項作為所述第二邏輯運算節(jié)點的子節(jié)點;或者,在所述m個條件項中包括至少一個條件項和至少一個邏輯組的情況下,確定所述至少一個邏輯組中所在層級最高的邏輯組,所述所在層級最高的邏輯組的父節(jié)點為第三邏輯運算節(jié)點,將所述m個條件項作為所述第三邏輯運算節(jié)點的子節(jié)點。結合第三方面的第四種可能的實現(xiàn)方式,在第三方面的第六種可能的實現(xiàn)方式中,所述用戶的第二輸入包括拆分所述樹形結構中的n個條件項經過條件組合組成的邏輯組,所述邏輯組中所述n個條件項的父節(jié)點為第四邏輯運算節(jié)點,n為大于1的整數(shù),所述處理單元具體用于,刪除所述第四邏輯運算節(jié)點,并將所述n個條件項作為所述第四邏輯運算節(jié)點的父節(jié)點的子節(jié)點。第四方面,提供了一種客戶端,用于執(zhí)行第二方面或第二方面的上述任一種可能的實現(xiàn)方式所述的顯示方法。具體地,所述客戶端包括:顯示單元,用于在顯示屏呈現(xiàn)規(guī)則配置界面的第一預設區(qū)域,所述第一預設區(qū)域內包括多個操作對象;檢測單元,用于檢測用戶的第一輸入,所述第一輸入用于從所述第一預設區(qū)域選擇操作對象;處理單元,用于將所述檢測單元檢測到的所述第一輸入選擇的操作對象對應的條件項放入所述規(guī)則配置窗口的第二預設區(qū)域;所述顯示單元還用于,在所述第二預設區(qū)域呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在條件項組成的樹形結構,所述樹形結構中的所述本次選擇的操作對象對應的條件項的父節(jié)點為所述邏輯運算節(jié)點,所述邏輯運算節(jié)點用于表示所述邏輯運算節(jié)點的子節(jié)點上的條件項之間的邏輯關系。本發(fā)明實施例中,客戶端通過呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在條件項組成的樹形結構,使得用戶能夠直觀地設置多級嵌套的條件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則。結合第四方面,在第四方面的第一種可能的實現(xiàn)方式中,所述檢測單元還用于,檢測所述用戶的第二輸入,所述第二輸入用于選擇所述樹形結構中的m個條件項進行條件組合,m為大于1的整數(shù);所述顯示單元還用于,根據所述檢測單元檢測到的所述第二輸入,在所述第二預設區(qū)呈現(xiàn)對所述m個條件項進行條件組合后的樹形結構。結合第四方面或第四方面的第一種可能的實現(xiàn)方式,在第四方面的第二種可能的實現(xiàn)方式中,所述檢測單元還用于,檢測所述用戶的第三輸入,所述第三輸入用于拆分所述樹形結構中的n個條件項經過條件組合組成的邏輯組,n為大于1的整數(shù);所述顯示單元還用于,根據所述檢測單元檢測到的所述第三輸入,在所述第二預設區(qū)呈現(xiàn)對所述邏輯組進行拆分后的樹形結構。第五方面,提供了一種客戶端,包括:處理器、存儲器、總線系統(tǒng)和輸入設備,所述處理器、所述存儲器和所述輸入設備通過所述總線系統(tǒng)相連,所述存儲器用于存儲指令,所述處理器用于執(zhí)行該存儲器存儲的指令,使得所述客戶端執(zhí)行如第一方面或第一方面的任一種可能的實現(xiàn)方式中所述的方法。第六方面,提供了一種客戶端,包括:處理器、存儲器、總線系統(tǒng)、輸入設備和顯示設備,所述處理器、所述存儲器、所述輸入設備和所述顯示設備通過所述總線系統(tǒng)相連,所述存儲器用于存儲指令,所述處理器用于執(zhí)行該存儲器存儲的指令,使得所述客戶端執(zhí)行如第二方面或第二方面的任一種可能的實現(xiàn)方式中所述的方法。第七方面,提供了一種可讀介質,包括計算機執(zhí)行指令,當客戶端的處理器執(zhí)行所述計算機執(zhí)行指令時,所述客戶端執(zhí)行如上述第一方面或者第一方面的任一種可能的實現(xiàn)方式中所述的方法。第八方面,提供了一種可讀介質,包括計算機執(zhí)行指令,當客戶端的處理器執(zhí)行所述計算機執(zhí)行指令時,所述客戶端執(zhí)行如上述第二方面或者第二方面的任一種可能的實現(xiàn)方式中所述的方法。附圖說明為了更清楚地說明本發(fā)明實施例的技術方案,下面將對本發(fā)明實施例中所需要使用的附圖作簡單地介紹,顯而易見地,下面所描述的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。圖1是現(xiàn)有技術中的標簽規(guī)則的配置界面;圖2是現(xiàn)有技術中創(chuàng)建標簽的系統(tǒng)邏輯架構示意圖;圖3是根據本發(fā)明實施例的客戶端的結構示意圖;圖4是根據本發(fā)明實施例的用于篩選的規(guī)則的配置方法的示意性流程圖;圖5是根據本發(fā)明實施例的規(guī)則配置界面的示意圖;圖6是根據本發(fā)明實施例的計算公式編輯器的示意圖;圖7是根據本發(fā)明實施例的計算類屬性的條件模板的示意圖;圖8是根據本發(fā)明實施例的條件模板的示意圖;圖9是根據本發(fā)明實施例的條件模板的另一示意圖;圖10是根據本發(fā)明實施例的規(guī)則配置界面的另一示意圖;圖11是根據本發(fā)明實施例的對條件項進行條件組合前的示意圖;圖12是根據本發(fā)明實施例的對條件項進行條件組合后的示意圖;圖13是根據本發(fā)明另一實施例的對條件項進行條件組合前的示意圖;圖14是根據本發(fā)明另一實施例的對條件項進行條件組合后的示意圖;圖15是根據本發(fā)明另一實施例的對條件項進行條件組合前的示意圖;圖16是根據本發(fā)明另一實施例的對條件項進行條件組合后的示意圖;圖17是根據本發(fā)明另一實施例的樹形結構的示意圖;圖18是根據本發(fā)明另一實施例的樹形結構的示意圖;圖19是根據本發(fā)明實施例的樹形結構的數(shù)據結構體的示意圖;圖20是根據本發(fā)明實施例的用于篩選的規(guī)則的顯示方法的示意性流程圖;圖21是根據本發(fā)明另一實施例的客戶端的結構示意圖;圖22是根據本發(fā)明另一實施例的客戶端的結構示意圖。具體實施方式下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發(fā)明的一部分實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實施例,都應屬于本發(fā)明保護的范圍。為方便理解本發(fā)明實施例,首先介紹本發(fā)明實施例描述中會引入的術語。屬性:屬性是最小粒度且無法分解、彼此沒有交叉和重復、全面覆蓋數(shù)據源的客戶基本指標,用來表述客戶某一方面特征的量化指標。條件:使用屬性值與其它常量或變量進行比較的表達式,用來描述特定業(yè)務的特征。規(guī)則:由一個或多個條件描述的業(yè)務邏輯關系的組合。標簽:標簽是通過規(guī)則對客戶某種較為穩(wěn)定的特征的描述。客戶標簽是一種采用自然語言方式描述的客戶特性。圖2所示為現(xiàn)有技術中創(chuàng)建標簽的系統(tǒng)邏輯架構示意圖。客戶端包括元 數(shù)據接口和規(guī)則配置裝置,服務端包括元數(shù)據服務器、規(guī)則轉譯器和規(guī)則執(zhí)行引擎??蛻舳送ㄟ^元數(shù)據接口與服務端的元數(shù)據服務器相接。客戶端可以提供配置界面(如圖1),接收用戶在該配置界面中選擇的屬性,并通過元數(shù)據接口從屬性元數(shù)據服務器獲取到用戶所選擇的屬性的元數(shù)據;規(guī)則配置裝置根據元數(shù)據接口獲取到的屬性的元數(shù)據向用戶提供該屬性的比較符,并接收用戶為該屬性選擇的比較符以及比較值從而構造成屬性條件,并接收用戶輸入的各個屬性條件的邏輯關系,得到各個屬性條件的邏輯組合,并根據邏輯組合生成規(guī)則表達式(rule-expression),客戶端將規(guī)則表達式提交到后臺服務端的規(guī)則轉譯器;規(guī)則轉譯器將客戶端提交的規(guī)則表達式進行轉譯生成規(guī)則執(zhí)行引擎可理解的語句;規(guī)則執(zhí)行引擎執(zhí)行規(guī)則轉譯器生成的語句,生成匹配用戶列表,保存匹配結果并將匹配的用戶進行標簽標記。現(xiàn)有技術中的客戶端的規(guī)則配置裝置在配置條件的邏輯關系時,條件的嵌套級數(shù)受到配置界面的限制,當需要設置的條件的嵌套級數(shù)高于配置界面允許設置的級數(shù)時,需要通過編碼重新修改配置界面,而且得到的各個條件的邏輯組合通過左右括號配置邏輯關系,導致多級嵌套的條件的邏輯關系不能靈活設置。本發(fā)明實施例對圖2所示系統(tǒng)邏輯架構中的客戶端進行了改進,提出了一種用于篩選的規(guī)則的配置方法、顯示方法及客戶端,能夠靈活設置多級嵌套的條件的邏輯關系,從而能夠靈活配置規(guī)則。應理解,本發(fā)明實施例中,客戶端和服務端可以是相互獨立的實體設備,但本發(fā)明實施例對此并不限定,客戶端和服務端也可以對應同一實體設備。本發(fā)明實施例的客戶端可以為普通電腦、個人電腦(personalcomputer)、膝上型電腦(laptopcomputer)、平板電腦(tabletcomputer)、上網本(netbook)、智能終端等。圖3所示為根據本發(fā)明實施例的客戶端300的結構示意圖。如圖3所示,客戶端300可包括處理器301、存儲器302、輸入設備303和總線系統(tǒng)304.存儲器302可以包括只讀存儲器和隨機存取存儲器,并向處理器301提供指令和數(shù)據。存儲器302的一部分還可以包括非易失性隨機存取存儲器 (nvram)。處理器301控制客戶端300的操作,處理器301還可以稱為中央處理單元(centralprocessingunit,簡稱cpu)。存儲器302可以包括只讀存儲器和隨機存取存儲器,并向處理器301提供指令和數(shù)據。存儲器302的一部分還可以包括非易失性隨機存取存儲器(nvram)。具體的應用中,客戶端300的各個組件通過總線系統(tǒng)304耦合在一起,其中總線系統(tǒng)304除包括數(shù)據總線之外,還可以包括電源總線、控制總線和狀態(tài)信號總線等。但是為了清楚說明起見,在圖中將各種總線都標為總線系統(tǒng)304。在本發(fā)明實施例中,處理器301通過調用存儲器302存儲的操作指令,使得客戶端執(zhí)行根據本發(fā)明實施例的用于篩選的規(guī)則的配置方法的相應流程,具體可參考下文圖4所示的根據本發(fā)明實施例的用于篩選的規(guī)則的配置方法400的相關描述,為避免重復,在此不再贅述。下文中本發(fā)明實施例揭示的用于篩選的規(guī)則的配置方法400可以應用于處理器301中,或者由處理器301實現(xiàn)。處理器301可能是一種集成電路芯片,具有信號的處理能力。在實現(xiàn)過程中,上述方法的各步驟可以通過處理器301中的硬件的集成邏輯電路或者軟件形式的指令完成。上述的處理器301可以是通用處理器、數(shù)字信號處理器(dsp)、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件??梢詫崿F(xiàn)或者執(zhí)行本發(fā)明實施例中的公開的各方法、步驟及邏輯框圖。通用處理器可以是微處理器或者該處理器也可以是任何常規(guī)的處理器等。結合本發(fā)明實施例所公開的方法的步驟可以直接體現(xiàn)為硬件譯碼處理器執(zhí)行完成,或者用譯碼處理器中的硬件及軟件模塊組合執(zhí)行完成。軟件模塊可以位于隨機存儲器,閃存、只讀存儲器,可編程只讀存儲器或者電可擦寫可編程存儲器、寄存器等本領域成熟的存儲介質中。該存儲介質位于存儲器302,處理器301讀取存儲器302中的信息,結合其硬件完成本發(fā)明實施例所公開的方法的步驟。可選地,客戶端300還可以包括顯示設備305,顯示設備305可以包括液晶顯示器、投影等。相應地,客戶端300還可用于執(zhí)行根據本發(fā)明實施例的用于篩選的規(guī)則的顯示方法的相應流程,具體可參考下文圖20所示的根據本發(fā)明實施例的用于篩選的規(guī)則的顯示方法2000的相關描述,為避免重復,在此不再贅述??蛇x地,客戶端300還可以包括網絡接口,客戶端可以通過網絡接口與服務端進行通信。圖4所示為根據本發(fā)明實施例的用于篩選的規(guī)則的配置方法400,配置方法400可以應用于客戶端。規(guī)則配置方法400包括如下內容。401、客戶端根據用戶的輸入確定操作對象。其中,操作對象可以為屬性或標簽。例如,圖3所示客戶端中的處理器301可以根據輸入設備303檢測到的用戶的輸入確定操作對象。圖5所示為根據本發(fā)明實施例的客戶端的規(guī)則配置界面的示意圖,應理解,圖5所示的例子只是為了幫助本領域技術人員更好地理解本發(fā)明實施例,而非限制本發(fā)明實施例的范圍。例如,用戶可以從圖5所示配置界面左邊的屬性選擇區(qū)選擇屬性/標簽,通過添加按鈕或拖動方式將選擇的屬性/標簽添加到規(guī)則配置區(qū)。402、客戶端從服務端請求獲取操作對象的元數(shù)據。操作對象的元數(shù)據可以包括操作對象的名稱、操作對象的類型、操作對象的數(shù)據來源。例如,客戶端可以通過元數(shù)據接口從服務端請求獲取操作對象的元數(shù)據。需要說明的是,如果用戶添加的屬性為計算類屬性,則計算類屬性的元數(shù)據由本地定義生成。如圖6所示,用戶可以通過計算公式編輯器定義計算類屬性的元數(shù)據,如:名稱、單位及四則運算表達式。對于計算類屬性,可預先定義統(tǒng)一的計算類屬性模板,用戶定義好的計算類屬性可以使用該計算類屬性模板構造條件輸入界面(如圖7)。403、客戶端獲取服務端返回的操作對象的元數(shù)據。例如,客戶端300中的處理器303可以通過網絡接口從服務端獲取操作對象的元數(shù)據。404、客戶端根據操作對象的類型選擇條件模板,并構造條件模板的輸入界面。條件模板主要由條件模型中的各要素(如操作對象、取值方法、關系運算符和比較值)連接組成??蛇x地,條件模板中還可以包括取值約束(如取值默認約束和取值擴展約束)。條件模型中的各要素的取值的不同組合,可對應不同的條件模板。如下表1所示為本發(fā)明實施例的條件模型的例子。表1其中,比較值可以為預設的值,也可以為用戶輸入的值,本發(fā)明實施例對此并不限定。下表2所示為以數(shù)值型屬性為例,按不同的取值方法列舉的條件模板。表2具體地,操作對象的元數(shù)據包括操作對象的類型,條件構造器根據該屬操作對象的類型選擇默認的條件模板,將操作對象的信息應用到該條件模板中生成供用戶輸入的顯示界面。如表1所示,操作對象的類型可以為以下任意一種:數(shù)值類屬性、枚舉類屬性、文本類屬性、日期類屬性、計算類屬性和標簽。例如,假設預先設置的數(shù)值類屬性的默認條件模板為取值方法為當期值的模板,當用戶選擇數(shù)值類屬性“4g使用流量”時,生成的默認條件模板的顯示界面如圖8所示。如圖8所示,屬性的條件模板中可以包括可切換的取值方法、可切換關系運算符、可輸入的比較值。可選地,條件模板還可以包括約束條件。用戶切換取值方法后,條件模板隨之相應切換。在顯示界面中點擊相應的圖標可以切換取值方法,還可以切換關系運算符,還可以輸入比較值。由于本發(fā)明實施例的屬性的條件模板中包括了取值方法,因此,本發(fā)明實施例的規(guī)則配置方法支持對單個屬性求總和、求平均等計算出來的值進行比較。需要說明的是,標簽的條件模板包括標簽標識和可切換的關系運算符。405、通過顯示設備向用戶返回輸入界面。例如,圖3所示客戶端中的處理器301可以控制顯示設備305顯示輸入界面。用戶可以在輸入界面輸入比較值和/或比較符。例如,用戶可以切換屬性取值方法和/或比較符,還可以輸入比較值,如圖8所示。例如,當用戶切換取值方法時,匹配到對應條件模板,按上一步驟更新輸入界面及相應的可切換操作。如圖9所示為將圖8所示條件模板中的取值方法由當期值切換為歷史值之后的輸入界面。406、客戶端接收用戶輸入條件模板的內容。407、客戶端根據用戶輸入的內容生成條件項。根據用戶輸入的內容保存條件信息,包括條件模型中的相關要素,例如:屬性id、取值方法、取值約束,完成條件構造,得到條件項。例如,用戶在顯示界面輸入比較值和/或關系運算符后,生成條件項。根據業(yè)務要求,如果用戶重復添加多個屬性,則根據上述交互處理過程401~407可以重復構造生成多個條件項。408、客戶端將多個條件項進行邏輯組合組成樹形結構,并生成規(guī)則表達式。具體地,客戶端在生成多個條件項時,將多個條件項添加到一個以邏輯運算節(jié)點為根的樹形結構中,如圖10所示??梢詫⒃摱鄠€條件項和邏輯運算節(jié)點組成的樹形結構稱為邏輯描述對象。需要說明的是,如果用戶再次添加了一個操作對象,并根據上述交互處理過程401~407生成一個條件項時,將該條件項添加到已有的樹形結構中時,可以將該條件項作為該樹形結構的根節(jié)點的子節(jié)點。但本發(fā)明實施例對此并不限定,也可以將該條件項作為其他邏輯運算節(jié)點的子節(jié)點。例如,在添加新的條件項之前用戶可以勾選至少一個條件項,則添加該條件項時,該條件項可以與用戶勾選的至少一個條件項自動進行條件組合。條件組合的具體實現(xiàn)方法可以參考下面的描述??蛇x地,本發(fā)明實施例中可以根據用戶的輸入對樹形結構中的條件項進行組合操作,即客戶端可以將用戶勾選的子節(jié)點進行條件組合,實現(xiàn)邏輯關系調整。例如,組合操作會在當前層級生成一個邏輯運算節(jié)點,將被勾選的條件 項添加到該邏輯運算節(jié)點下一級作為子節(jié)點;同時邏輯運算節(jié)點及下一級所有子節(jié)點的整體,可以成為邏輯組,該邏輯組可作為更大粒度的條件項,參與新的條件組合,這樣最終實現(xiàn)多級邏輯關系配置,能夠靈活設置兩級以上嵌套邏輯條件??蛇x地,客戶端還可以根據用戶的輸入拆分樹形結構中的多個條件項經過條件組合組成的邏輯組,實現(xiàn)邏輯關系調整。應理解,步驟404~407為可替代的步驟。步驟404~407描述的生成條件項的方法還可以替代為:步驟404’和步驟405’。404’、客戶端根據操作對象的類型通過顯示設備向用戶返回該操作對象的關系運算符;405’、接收用戶選擇的關系運算符和/或輸入的比較值,生成條件項。也就是說,本發(fā)明實施例的用于篩選的規(guī)則的配置方法可以與現(xiàn)有技術兼容。下面結合圖11至圖18詳細描述樹形結構的邏輯關系的調整方法。從由多個條件項組成的樹形結構中選擇需要組合的條件項,進行條件組合。經條件組合之后的多個條件項組成的邏輯組可以參與新的條件組合。例如,將圖11所示已勾選的兩個條件項進行條件組合之后得到圖12所示的樹形結構。圖12中方框內的部分即為將兩個條件項進行條件組合之后得到的邏輯組。對多個條件項進行條件組合的過程按以下三種原則處理。在多個條件項位于樹形結構的同一層級(如圖11)的情況下,在當前層級新增一個第一邏輯運算節(jié)點,將多個條件項作為該第一邏輯運算節(jié)點的子節(jié)點(如圖12);或者,在多個條件項位于樹形結構的不同層級(如圖13)的情況下,確定多個條件項中所在層級最低的條件項,該所在層級最低的條件項的父節(jié)點為第二邏輯運算節(jié)點,將多個條件項作為該第二邏輯運算節(jié)點的子節(jié)點(如圖14);或者,在m個條件項中包括至少一個條件項和至少一個邏輯組(如圖15)的情況下,確定至少一個邏輯組中所在層級最高的邏輯組,該所在層級最高的邏輯組的父節(jié)點為第三邏輯運算節(jié)點,將m個條件項作為該第三邏輯運算節(jié)點的子節(jié)點(如圖16)。對多個條件項經過條件組合組成的邏輯組進行拆分的過程按以下原則 處理:假設該邏輯組中多個條件項的父節(jié)點為第四邏輯運算節(jié)點,則刪除該第四邏輯運算節(jié)點,并將該多個條件項作為該第四邏輯運算節(jié)點的父節(jié)點的子節(jié)點。換句話說,將該多個條件項作為該第四邏輯運算節(jié)點的兄弟節(jié)點,并刪除該第四邏輯運算節(jié)點。需要說明的是,本發(fā)明實施例中,樹形結構中的邏輯運算節(jié)點上的邏輯運算關系(即邏輯運算符)可以進行切換。如圖17所示,點擊邏輯運算節(jié)點,即可切換邏輯關系,得到圖18所示的樹形結構。具體地,樹形結構的邏輯關系可以通過新增或維護節(jié)點的數(shù)據來實現(xiàn),通過節(jié)點的數(shù)據實現(xiàn)多層級的邏輯關系的描述。如圖19所示為樹形結構的數(shù)據結構體的示意圖。該數(shù)據結構體中各元素的描述請參考下表3的內容。表3例如,樹形結構的數(shù)據結構體可以表示為:[{id:“c-0001”,pid:“root”,level:“1”,type:“l(fā)ogic”,data:{value:“and”}},{id:“c-0004”,pid:“c-0001”,level:“2”,type:“attr”,data:{…}},{id:“c-0005”,pid:“c-0001”,level:“2”,type:“attr”,data:{…}},…]對條件項進行條件組合時會新增一個邏輯運算節(jié)點,按數(shù)據結構填充數(shù)據,被組合的條件項節(jié)點下移并更新數(shù)據結構體的pid、level的值。相反,拆分邏輯組會刪除邏輯運算節(jié)點,下級節(jié)點上移并更新數(shù)據結構體的pid、level的值。圖20是根據本發(fā)明另一實施例的用于篩選的規(guī)則的顯示方法2000的示意性流程圖。如圖20所示,顯示方法2000包括如下內容。2010、客戶端在顯示屏呈現(xiàn)規(guī)則配置界面的第一預設區(qū)域,第一預設區(qū)域內包括多個操作對象。規(guī)則配置界面可以如5所示,但本發(fā)明實施例對此并不限定。其中第一預設區(qū)域可對應于圖5所示的屬性選擇區(qū),多個操作對象對應與圖5所示屬性選擇區(qū)內的多個屬性。2020、客戶端檢測用戶的第一輸入,第一輸入用于從第一預設區(qū)域選擇操作對象。2030、將選擇的操作對象對應的條件項放入規(guī)則配置窗口的第二預設區(qū)域。例如,當顯示屏為觸摸屏時,客戶端可以檢測用戶在顯示屏上的輸入。或者,客戶端可以檢測用戶通過鼠標執(zhí)行的輸入操作。其中第二預設區(qū)域可對應于圖5所示的規(guī)則配置區(qū)。例如,用戶可以通過添加按鈕或者拖動的方式將選擇的操作對象對應的條件項放入規(guī)則配置區(qū)。應理解,客戶端根據用戶選擇的操作對象,可以確定該操作對象對應的條件項,具體過程可以參考圖4所示的方法400中步驟401~407的相關描述,為避免重復,在此不再贅述。2040、客戶端在第二預設區(qū)域呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在條件項組成的樹形結構,樹形結構中的條件項的父節(jié)點為邏輯運算節(jié)點,邏輯運算節(jié)點用于表示邏輯運算節(jié)點的子節(jié)點上的條件項之間邏輯關系。本發(fā)明實施例的樹形結構可以參考上文中配置方法400中的相關描述。本發(fā)明實施例中,通過呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在的條件項組成的樹形結構,使得用戶能夠直觀地設置多層嵌套的條件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則??蛇x地,還可以根據用戶的輸入,相應地呈現(xiàn)邏輯關系調整后的樹形結構。例如,客戶端可以檢測用戶用于將樹形結構中的多個條件項進行條件組合的輸入,并根據該輸入在第二預設區(qū)相應呈現(xiàn)對該多個條件項進行條件組合后的樹形結構??蛻舳诉€可以檢測用戶用于拆分樹形結構中的多個條件項經過條件組合組成的邏輯組的輸入,并根據該輸入在第二預設區(qū)呈現(xiàn)對邏輯組進行拆分后的樹形結構。根據用戶的輸入,對條件項進行條件組合或則拆分邏輯組的方法可以參考前面方法400中的相關描述,為避免重復,在此不再贅述。圖21是根據本發(fā)明實施例的客戶端的結構示意圖。圖21所示的客戶端2100包括獲取單元2110和處理單元2120。處理單元2110,用于根據用戶的第一輸入確定操作對象,操作對象為屬性或標簽。獲取單元2120,用于獲取操作對象的元數(shù)據,元數(shù)據包括操作對象的類型。處理單元2110還用于,根據獲取單元2120獲取的操作對象的類型確定用于配置規(guī)則的條件項。處理單元2110還用于,將本次確定的條件項和已存在的條件項組成樹形結構,樹形結構中條件項的父節(jié)點為邏輯運算節(jié)點,邏輯運算節(jié)點用于表示對邏輯運算節(jié)點的子節(jié)點上的條件項之間的邏輯關系。處理單元2110還用于,根據樹形結構生成規(guī)則表達式。本發(fā)明實施例中,通過根據操作對象確定對應的條件項,并將本次確定的條件項和已存在的條件項組成樹形結構,使得能夠靈活設置多級嵌套的條件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則??蛇x地,處理單元2110具體用于:根據獲取單元2120獲取的操作對象的類型選擇匹配的條件模板;根據用戶輸入條件模板的內容,生成條件項。可選地,操作對象為屬性,條件模板包括屬性的名稱、取值方法、關系運算符和比較值。可選地,操作對象的類型為計算類屬性,獲取單元2120具體用于,定義計算類屬性的元數(shù)據,計算類屬性的元數(shù)據包括名稱、單位和四則運算表達式。可選地,處理單元2110具體用于:根據用戶的第二輸入調整樹形結構中條件項之間的邏輯關系;根據調整后的樹形結構生成規(guī)則表達式。可選地,用戶的第二輸入包括將樹形結構中的m個條件項進行條件組合,m為大于1的整數(shù)。相應地,處理單元2110具體用于:在m個條件項位于樹形結構的同一層級的情況下,在當前層級新增一個第一邏輯運算節(jié)點,將m個條件項作為第一邏輯運算節(jié)點的子節(jié)點;或者,在m個條件項位于樹形結構的不同層級的情況下,確定m個條件項中所在層級最低的條件項,所在層級最低的條件項的父節(jié)點為第二邏輯運算節(jié)點,將m個條件項作為第二邏輯運算節(jié)點的子節(jié)點;或者,在m個條件項中包括至少一個條件項和至少一個邏輯組的情況下,確定至少一個邏輯組中所在層級最高的邏輯組,所在層級最高的邏輯組的父節(jié)點為第三邏輯運算節(jié)點,將m個條件項作為第三邏輯運算節(jié)點的子節(jié)點??蛇x地,用戶的第二輸入包括拆分樹形結構中的n個條件項經過條件組合組成的邏輯組,邏輯組中n個條件項的父節(jié)點為第四邏輯運算節(jié)點,n為大于1的整數(shù)。相應地,處理單元2110具體用于,刪除第四邏輯運算節(jié)點,并將n個條件項作為第四邏輯運算節(jié)點的父節(jié)點的子節(jié)點。根據本發(fā)明實施例的客戶端2100可對應于根據本發(fā)明實施例的用于篩選的規(guī)則的配置方法400的客戶端以及根據本發(fā)明實施例的客戶端300,并且客戶端2100中的各個單元的上述和其它操作和/或功能分別為了實現(xiàn)圖4的方法400的相應流程,為了簡潔,在此不再贅述。應注意,本發(fā)明實施例中,處理單元2110可以由圖3所示客戶端中的處理器301實現(xiàn),獲取單元2120也可以由處理器301實現(xiàn)。需要說明的是,當客戶端和服務端是相互獨立的實體設備,并且操作對象的元數(shù)據存儲在服務端上時,獲取單元2120可以由客戶端中的處理器301通過網絡接口實現(xiàn)。當客戶端和服務端為同一實體設備時,操作對象的元數(shù)據存儲在本地的存儲器上時,獲取單元2120可以由處理器301實現(xiàn)。本發(fā)明實施例中,通過根據操作對象確定對應的條件項,并將本次確定的條件項和已存在的條件項組成樹形結構,使得能夠靈活設置多級嵌套的條 件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則。圖22是根據本發(fā)明另一實施例的客戶端的結構示意圖。如圖22所示,客戶端2200可以包括顯示單元2210、檢測單元2220和處理單元2230。顯示單元2210,用于在顯示屏呈現(xiàn)規(guī)則配置界面的第一預設區(qū)域,第一預設區(qū)域內包括多個操作對象。檢測單元2220,用于檢測用戶的第一輸入,第一輸入用于從第一預設區(qū)域選擇操作對象。處理單元2230,用于將檢測單元2220檢測到的第一輸入選擇的操作對象對應的條件項放入規(guī)則配置窗口的第二預設區(qū)域。應理解,處理單元2230還可以確定該操作對象對應的條件項,具體過程可以參考圖4所示的方法400中步驟401~407的相關描述,為避免重復,在此不再贅述。顯示單元2210還用于,在第二預設區(qū)域呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在條件項組成的樹形結構,樹形結構中的條件項的父節(jié)點為邏輯運算節(jié)點,邏輯運算節(jié)點用于表示邏輯運算節(jié)點的子節(jié)點上的條件項之間的邏輯關系。本發(fā)明實施例中,通過呈現(xiàn)由本次選擇的操作對象對應的條件項和已存在條件項組成的樹形結構,使得用戶能夠直觀地設置多級嵌套的條件的邏輯關系,從而能夠靈活地配置用于篩選的規(guī)則。可選地,檢測單元2220還用于,檢測用戶的第二輸入,第二輸入用于選擇樹形結構中的m個條件項進行條件組合,m為大于1的整數(shù);顯示單元2210還用于,根據檢測單元2210檢測到的第二輸入,在第二預設區(qū)呈現(xiàn)對m個條件項進行條件組合后的樹形結構??蛇x地,檢測單元2210還用于,檢測用戶的第三輸入,第三輸入用于拆分樹形結構中的n個條件項經過條件組合組成的邏輯組,n為大于1的整數(shù);顯示單元2220還用于,根據檢測單元2210檢測到的第三輸入,在第二預設區(qū)呈現(xiàn)對邏輯組進行拆分后的樹形結構。根據本發(fā)明實施例的客戶端2200可對應于根據本發(fā)明實施例的用于篩選的規(guī)則的顯示方法2000的客戶端以及根據本發(fā)明實施例的客戶端300,并且客戶端2200中的各個單元的上述和其它操作和/或功能分別為了實現(xiàn)圖20的方法2000的相應流程,為了簡潔,在此不再贅述。應注意,本發(fā)明實施例中,檢測單元2210可以由圖3所示客戶端中的輸入設備303實現(xiàn),顯示單元2220可以由顯示設備305實現(xiàn),處理單元2230可以由處理器301實現(xiàn)。本領域普通技術人員可以意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計算機軟件和電子硬件的結合來實現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術方案的特定應用和設計約束條件。專業(yè)技術人員可以對每個特定的應用來使用不同方法來實現(xiàn)所描述的功能,但是這種實現(xiàn)不應認為超出本發(fā)明的范圍。所屬領域的技術人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實施例中的對應過程,在此不再贅述。在本申請所提供的幾個實施例中,應該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個單元或組件可以結合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個地方,或者也可以分布到多個網絡單元上??梢愿鶕嶋H的需要選擇其中的部分或者全部單元來實現(xiàn)本實施例方案的目的。另外,在本發(fā)明各個實施例中的各功能單元可以集成在一個處理單元中,也可以是各個單元單獨物理存在,也可以兩個或兩個以上單元集成在一個單元中。所述功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產品銷售或使用時,可以存儲在一個計算機可讀取存儲介質中。基于這樣的理解,本發(fā)明的技術方案本質上或者說對現(xiàn)有技術做出貢獻的部分或者該技術方案的部分可以以軟件產品的形式體現(xiàn)出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前 述的存儲介質包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質。以上所述,僅為本發(fā)明的具體實施方式,但本發(fā)明的保護范圍并不局限于此,任何熟悉本
技術領域:
:的技術人員在本發(fā)明揭露的技術范圍內,可輕易想到變化或替換,都應涵蓋在本發(fā)明的保護范圍之內。因此,本發(fā)明的保護范圍應以所述權利要求的保護范圍為準。當前第1頁12當前第1頁12