專利名稱:智能問卷系統(tǒng)、問卷開發(fā)方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計算機及信息處理技術(shù),具體涉及一種智能問卷系統(tǒng)、問卷開發(fā)方法及裝置。
背景技術(shù):
問卷系統(tǒng)作為多種信息系統(tǒng)都需要的功能,隨著信息系統(tǒng)的發(fā)展,對問卷的要求也越來越高,通過問卷輔助完成各類業(yè)務(wù)功能已經(jīng)成為一種非常重要的手段。問卷可以使得離散的業(yè)務(wù)能夠很好地連成一條清晰的路線,因此不但要求問卷系統(tǒng)能夠成為一個通用的公共組件,同時也要求問卷具有智能能力,根據(jù)各個使用系統(tǒng)的特有信息實現(xiàn)問卷中的邏輯跳轉(zhuǎn)功能,這對問卷系統(tǒng)的集成性、擴展能力以及業(yè)務(wù)邏輯變更適應(yīng)能力都提出了很高的要求。
在現(xiàn)有技術(shù)中,通常采用以下兩種方式開發(fā)問卷1.直接將問題、選項的定義保存在數(shù)據(jù)庫中,對于邏輯控制跳轉(zhuǎn),直接根據(jù)業(yè)務(wù)固化在代碼中。
這種問卷只支持簡單的邏輯控制,基本無法結(jié)合業(yè)務(wù)數(shù)據(jù)進行跳轉(zhuǎn)控制或者只能與特有業(yè)務(wù)邏輯綁定,處理范圍有限;而且擴展和集成都不方便,如果需要與使用系統(tǒng)業(yè)務(wù)數(shù)據(jù)結(jié)合,則必須重新開發(fā)對應(yīng)的處理邏輯和規(guī)則,因而適應(yīng)性差,開發(fā)周期長。
2.通過腳本實現(xiàn)的智能問卷,其原理在于通過查找已經(jīng)配置的數(shù)據(jù),調(diào)用相應(yīng)的事件處理腳本,通過腳本解釋器進行解釋,綁定了事件與要觸發(fā)的動作之間的響應(yīng)。其關(guān)鍵是使用配置文件定義和擴展問卷內(nèi)支持的事件和動作。在使用者操作問卷的時候,執(zhí)行不同的操作,即可觸發(fā)不同的事件,并根據(jù)綁定關(guān)系執(zhí)行事件處理腳本中的問卷、子問卷、問題及選項等。
如圖1所示為現(xiàn)有技術(shù)中通過腳本實現(xiàn)智能問卷的流程,包括以下步驟步驟101開發(fā)人員使用腳本引入數(shù)據(jù)對象/服務(wù)對象;步驟102編寫腳本中定義的事件,并完成事件和要觸發(fā)的動作之間邏輯綁定的編寫;步驟103根據(jù)用戶定義的問卷(包括問卷下的問題和選項,以及答卷過程的事件),選擇已有的事件,完成問卷的開發(fā)。
當用戶需要新的問卷時,需要修改腳本中定義的事件,并重新完成事件和要觸發(fā)的動作之間邏輯綁定的編寫。
腳本的一大優(yōu)點是可以如同寫代碼一樣完成腳本的編寫,而不必在運行前編譯它,只需通過腳本引擎解釋執(zhí)行即可,因此采用腳本可以方便地類似寫代碼引用對象一樣新增對象。腳本中可以直接編寫事件觸發(fā)的邏輯動作,可以類似修改代碼一樣新增或修改已有的邏輯,達到擴展的目的,而不用修改核心的代碼和重新編譯;在這些邏輯中,事件和要觸發(fā)的動作聲明了一定的條件綁定關(guān)系,即事件只能觸發(fā)部分固定的動作,且觸發(fā)具體動作的判斷邏輯是由開發(fā)人員完成的,用戶不能自行定義規(guī)則。可見,這種方式開發(fā)的問卷雖然通過較為簡單的腳本語言可以進行部分業(yè)務(wù)邏輯的擴展,而不必修改已有軟件代碼,但仍存在以下缺點(1)對于控制和跳轉(zhuǎn),總是需要事先定義對應(yīng)控制事件類型的環(huán)節(jié),即需要預(yù)先將事件與動作進行綁定,在功能擴展時需要定義的工作量很大;(2)問卷沒有版本控制,不便于將歷史數(shù)據(jù)和現(xiàn)有數(shù)據(jù)連貫起來進行分析;(3)對于數(shù)據(jù)對象的規(guī)則匹配是傳統(tǒng)的配置疊加,嵌套邏輯相當復(fù)雜;(4)規(guī)則匹配的效率受匹配對象的影響較大,匹配效率較低。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種智能問卷系統(tǒng),以克服現(xiàn)有技術(shù)中通過腳本實現(xiàn)的智能問卷系統(tǒng)開發(fā)工作量大、效率低及擴展性差的缺點,提高系統(tǒng)靈活性,方便系統(tǒng)的擴展及集成。
本發(fā)明的另一個目的是提供一種問卷開發(fā)方法及裝置,使用戶可以根據(jù)自己的需求進行簡單的配置即可獲得所需的要的問卷,提高問卷開發(fā)效率,并提高問卷系統(tǒng)的擴展性,加快系統(tǒng)滿足新業(yè)務(wù)的能力。
為此,本發(fā)明實施例提供如下的技術(shù)方案一種智能問卷系統(tǒng),包括規(guī)則包存儲單元,用于存儲規(guī)則包,每個規(guī)則包對應(yīng)一個問卷,包括至少一條規(guī)則;問卷交互單元,提供用戶接口,通過所述用戶接口獲取用戶提交的問卷及答案數(shù)據(jù);規(guī)則引擎單元,用于根據(jù)所述問卷交互單元獲取的問卷從所述規(guī)則包存儲單元中加載所述問卷對應(yīng)的規(guī)則包,并根據(jù)所述答案數(shù)據(jù)觸發(fā)所述規(guī)則包中的動作;問題處理單元,用于執(zhí)行規(guī)則引擎單元觸發(fā)的動作的具體處理過程。
一種問卷開發(fā)方法,包括確定問卷的內(nèi)容及答卷過程中動作觸發(fā)的邏輯規(guī)則;利用預(yù)先設(shè)定的問卷基本元素及關(guān)系符建立符合所述邏輯規(guī)則的問卷規(guī)則;利用所述問卷規(guī)則生成問卷。
一種問卷開發(fā)裝置,包括數(shù)據(jù)庫,用于存儲設(shè)定的問卷的基本元素及關(guān)系符;問卷單元,提供用戶接口,用于獲取用戶輸入的問卷信息,所述問卷信息包括問卷的內(nèi)容及答卷過程中動作觸發(fā)的邏輯規(guī)則;
規(guī)則建立單元,用于根據(jù)所述問卷信息從所述數(shù)據(jù)庫中獲取對應(yīng)的基本元素及關(guān)系符,并利用所述基本元素及關(guān)系符建立符合所述邏輯規(guī)則的問卷規(guī)則;規(guī)則包存儲單元,用于保存由所述問卷規(guī)則組成的規(guī)則包,每個規(guī)則包對應(yīng)一個問卷。
由以上本發(fā)明實施例提供的技術(shù)方案可以看出,本發(fā)明由開發(fā)人員設(shè)定問卷的基本元素及關(guān)系符,并將包括數(shù)據(jù)對象、服務(wù)對象、常量、變量、動作等這些基本元素由數(shù)據(jù)庫來管理,當用戶定需要定制問卷時,首先由用戶設(shè)定問卷的內(nèi)容及答卷過程中動作觸發(fā)的邏輯規(guī)則,然后由用戶利用這些基本元素及關(guān)系符即可建立起符合所述邏輯規(guī)則的問卷規(guī)則,然后由這些問卷規(guī)則組成所需的問卷。因此,利用本發(fā)明,定制開發(fā)問卷及簡單集成時無需重新開發(fā),即不需要修改代碼,只需要做相對開發(fā)較簡單的配置(即建立問卷規(guī)則)就能很好地支撐業(yè)務(wù)的發(fā)展變化。
另外,本發(fā)明在智能問卷系統(tǒng)中引入了規(guī)則引擎,將答卷過程中對規(guī)則的解析,以及復(fù)雜的匹配過程交由規(guī)則引擎處理,從而加快了業(yè)務(wù)的適應(yīng)能力,并且提高了對象匹配的效率。
圖1是現(xiàn)有技術(shù)中通過腳本實現(xiàn)智能問卷的流程圖;圖2是本發(fā)明智能問卷系統(tǒng)的優(yōu)選實施例的原理框圖;圖3是本發(fā)明中問卷的結(jié)構(gòu)層次示意圖;圖4是圖2所示本發(fā)明智能問卷系統(tǒng)實施例對問卷的處理流程圖;圖5是本發(fā)明問卷開發(fā)方法的一個優(yōu)選實施例的流程圖;圖6是本發(fā)明中問卷與問卷規(guī)則的關(guān)系示意圖;圖7是本發(fā)明問卷開發(fā)裝置第一實施例的原理框圖;
圖8是圖7所示本發(fā)明問卷開發(fā)裝置中各單元的交互流程圖;圖9是本發(fā)明問卷開發(fā)裝置第二實施例的原理框圖。
具體實施例方式
本發(fā)明由通過設(shè)定問卷的基本元素及關(guān)系符,并將包括常量、變量、動作等這些基本元素定義由數(shù)據(jù)庫來存儲,當用戶定需要定制問卷時,根據(jù)用戶提交的問卷請求,利用這些基本元素及關(guān)系符即可建立起符合所述邏輯規(guī)則的問卷規(guī)則,然后由這些問卷規(guī)則組成所需的規(guī)則包。在智能問卷系統(tǒng)中引入了規(guī)則引擎,將答卷過程中對規(guī)則的解析,以及復(fù)雜的匹配過程交由規(guī)則引擎處理,以提高規(guī)則匹配效率。
所謂規(guī)則引擎是一種嵌入在應(yīng)用程序中的組件,它的任務(wù)是將當前提交給引擎的數(shù)據(jù)對象與加載在引擎中的業(yè)務(wù)規(guī)則進行測試和比對,激活那些符合當前數(shù)據(jù)狀態(tài)下的業(yè)務(wù)規(guī)則,根據(jù)業(yè)務(wù)規(guī)則中聲明的執(zhí)行邏輯,觸發(fā)應(yīng)用程序中對應(yīng)的操作。規(guī)則引擎的優(yōu)點是匹配效率高,比如,Rete(快速的模式匹配)算法,易于適應(yīng)規(guī)則變化,易于開發(fā)客戶操作界面。
為了使本技術(shù)領(lǐng)域的人員更好地理解本發(fā)明方案,下面結(jié)合附圖和實施方式對本發(fā)明作進一步的詳細說明。
參照圖2所示本發(fā)明智能問卷系統(tǒng)的一個優(yōu)選實施例的原理框圖在該實施例中,本發(fā)明智能問卷系統(tǒng)包括問卷交互單元20、規(guī)則包存儲單元21、規(guī)則引擎單元23、問題處理單元24。其中,規(guī)則包存儲單元21用于存儲規(guī)則包,每個規(guī)則包對應(yīng)一個問卷,包括至少一條規(guī)則;問卷交互單元20提供用戶接口,通過所述用戶接口獲取用戶提交的問卷及答案數(shù)據(jù);規(guī)則引擎單元23用于根據(jù)問卷交互單元20獲取的問卷從規(guī)則包存儲單元21中加載所述問卷對應(yīng)的規(guī)則包,并根據(jù)所述答案數(shù)據(jù)觸發(fā)所述規(guī)則包中的動作;問題處理單元24用于執(zhí)行規(guī)則引擎單元23觸發(fā)的動作的具體處理過程。
問卷的結(jié)構(gòu)層次如圖3所示,一個問卷由其編號及版本號唯一標識,每個問卷中包含一個或多個問題,每個問題下有多個選項。在規(guī)則包存儲單元21中保存了對問卷、問題、選項之間依賴關(guān)系的描述,這些數(shù)據(jù)是由用戶根據(jù)問卷定制界面進行配置的,這些配置數(shù)據(jù)用于動態(tài)生成問卷。對于問卷的生成過程將在后面詳細描述。
規(guī)則引擎單元23采用規(guī)則引擎的基本機制,對提交給引擎的數(shù)據(jù)對象進行檢索,根據(jù)這些對象的當前屬性值和它們之間的關(guān)系,從加載到引擎的對應(yīng)用戶提交的問卷的規(guī)則包中發(fā)現(xiàn)符合條件的規(guī)則,創(chuàng)建這些規(guī)則的執(zhí)行實例。這些實例將在引擎接到執(zhí)行指令時,依照各實例的優(yōu)先順序依次執(zhí)行。
規(guī)則引擎內(nèi)部由下面幾個部分構(gòu)成工作內(nèi)存,用于存放被引擎引用的數(shù)據(jù)對象集合;規(guī)則執(zhí)行隊列,用于存放被激活的規(guī)則執(zhí)行實例;靜態(tài)規(guī)則區(qū),用于存放所有被加載的業(yè)務(wù)規(guī)則,這些規(guī)則將按照某種數(shù)據(jù)結(jié)構(gòu)組織,當工作區(qū)中的數(shù)據(jù)發(fā)生改變后,引擎需要迅速根據(jù)工作區(qū)中的對象現(xiàn)狀,調(diào)整規(guī)則執(zhí)行隊列中的規(guī)則執(zhí)行實例。
規(guī)則引擎單元23可以采用基于Java或C++程序語言環(huán)境的規(guī)則引擎組件,當然,也可以采用其他的規(guī)則引擎組件。
在該實施例中,規(guī)則引擎單元23包括加載子單元231、匹配子單元232、觸發(fā)子單元233。其中,加載子單元231用于根據(jù)問卷交互單元獲取的問卷從規(guī)則包存儲單元中加載問卷對應(yīng)的規(guī)則包;匹配子單元232用于根據(jù)答卷的數(shù)據(jù)對象匹配所述規(guī)則包中定義的條件;觸發(fā)子單元233用于觸發(fā)所述匹配的條件對應(yīng)的動作。
圖4示出了本發(fā)明智能問卷系統(tǒng)對問卷的處理過程,包括以下步驟步驟41、問卷交互單元通過用戶接口獲取用戶提交的問卷(問卷包括問題,問題包括選項);步驟42、規(guī)則引擎單元根據(jù)提交的問卷從規(guī)則包存儲單元加載當前問卷對應(yīng)的規(guī)則包;步驟43、向問卷交互單元返回加載結(jié)果;步驟44、用戶通過問卷交互單元輸入答案數(shù)據(jù);步驟45、規(guī)則引擎單元根據(jù)答卷的數(shù)據(jù)對象集合,匹配規(guī)則包中定義的條件,并根據(jù)匹配的條件觸發(fā)相應(yīng)的動作(訪問數(shù)據(jù)對象或服務(wù)對象的方法),可以是跳轉(zhuǎn)到第N道題目,也可以是打開某個特定的服務(wù)頁面等;步驟46、規(guī)則引擎單元調(diào)用問題處理單元執(zhí)行觸發(fā)的動作的具體處理過程;步驟47、規(guī)則引擎單元將下一道問題返回給問卷交互單元,進行新一輪交互。
當所述問卷有多個問題時,需要重復(fù)上述步驟44至步驟46,以完成所有問題的處理。
步驟48、所有問題處理完成后,將最終執(zhí)行結(jié)果返回給問卷交互單元。
對于這種以規(guī)則包方式形成的問卷,本發(fā)明還提供了相應(yīng)的開發(fā)方法及開發(fā)系統(tǒng),以開發(fā)出使用靈活方便的問卷,解決使用問卷引入數(shù)據(jù)對象困難的問題,使問卷如同一個公共組件般易于使用,在進行系統(tǒng)集成或者需要引入已有新數(shù)據(jù)對象或服務(wù)對象作為規(guī)則因子時,不需要修改代碼邏輯,只需要做相對開發(fā)較簡單的配置就能夠很好地支撐業(yè)務(wù)的發(fā)展變化。
參照圖5所示本發(fā)明問卷開發(fā)方法的一個優(yōu)選實施例的流程,包括以下步驟步驟501、確定問卷的內(nèi)容及答卷過程中動作觸發(fā)的邏輯規(guī)則;所述問卷的內(nèi)容包括問題、選項,還包括問卷信息、在問卷各層次上設(shè)定的規(guī)則等。問卷的結(jié)構(gòu)層次在前面已有詳細描述,在此不再贅述。
步驟502、利用預(yù)先設(shè)定的問卷基本元素及關(guān)系符建立符合所述邏輯規(guī)則的問卷規(guī)則。
問卷的基本元素包括數(shù)據(jù)對象、服務(wù)對象、常量、變量、動作。為了使問卷可以作為公共組件提供給各種業(yè)務(wù)系統(tǒng)使用,也就是說要和業(yè)務(wù)結(jié)合,在本發(fā)明中引入了各種業(yè)務(wù)的數(shù)據(jù)和服務(wù)對象,即變量、變量、動作等。例如可以想象定義問卷時,開發(fā)前基本可以確定客戶基本的信息,包括名字、性別、電話號碼,這些公共信息可以事前定義作為問卷的動態(tài)顯示內(nèi)容和跳轉(zhuǎn)邏輯選項。首先由用戶利用所述關(guān)系符定義所述基本元素間的條件及符合所述條件觸發(fā)的動作;然后就可以由這些條件及動作組成問卷規(guī)則。一組問卷規(guī)則組成一個規(guī)則包,這個規(guī)則包完整地描述了該問卷的所有規(guī)則。
步驟503、利用建立的問卷規(guī)則生成問卷。
利用本發(fā)明方法,可以在問卷開發(fā)時,由用戶根據(jù)問卷基本元素及關(guān)系符建立符合所需邏輯規(guī)則的問卷規(guī)則,這些問卷規(guī)則組成了一個完整的問卷??梢姡帽景l(fā)明,只需用戶理解提供給用戶的問卷基本元素及關(guān)系符,就可以使用戶簡單、方便地定制所需問卷。
圖6示出了本發(fā)明中問卷與問卷規(guī)則的關(guān)系問卷規(guī)則中描述了規(guī)則條件和符合條件的動作,一個問卷一般對應(yīng)多個規(guī)則,規(guī)則的集合就是規(guī)則包。為了便于管理,問卷和規(guī)則包為一一對應(yīng)的管理關(guān)系,即將一個問卷相關(guān)的問卷規(guī)則都集中于一個規(guī)則包進行管理。變量和常量以及關(guān)系符都是組成條件的元素,它們的組合形成完整的問卷規(guī)則描述。
例如,以.drl格式文件描述的問卷規(guī)則的部分內(nèi)容如下import com.test.examples.Person;import com.test.examples.Pension;rule″Find the retired person″when(Person.sex==″f″,Person.age>60)||Person.sex==″m″,Person.age>55)then
sendPension(personID,200);end對上述文件內(nèi)容按非空行解釋如下1)引入一個數(shù)據(jù)對象,數(shù)據(jù)對象包含了人的信息,如性別、年齡;2)引入一個服務(wù)對象,服務(wù)對象包含了方法sendPension,該方法的作用是根據(jù)用戶ID發(fā)送退休金;3)規(guī)則尋找退休的人;4)如果條件滿足;5)性別(sex)是“男”(f),年齡(age)大于60歲或者性別是“女”(m),年齡大于55歲;6)條件滿足;7)發(fā)放退休金,接收人編號為(personID),發(fā)放金額為(200);8)規(guī)則結(jié)束。
對照圖6,上述文件中的性別(sex)、年齡都是變量,“男”(m)、“女”(f)為常量,“==”、“>”都屬于條件關(guān)系符。
為了使用戶更好地利用本發(fā)明方法開發(fā)自己所需的問卷,可以將問卷規(guī)則的描述文件使用的語言翻譯為解釋語言,在數(shù)據(jù)庫中保存變量、常量、條件、動作的同時,保存這些信息的來源關(guān)系綁定以及對應(yīng)的客戶語言,通過配置界面呈現(xiàn)給用戶客戶化的描述語句,從而使一般的用戶不需要理解開發(fā)人員設(shè)定的問卷的基本元素及關(guān)系符,即可簡單、方便地進行問卷規(guī)則的配置。
可見,在本發(fā)明中,結(jié)合規(guī)則引擎解決了數(shù)據(jù)對象、服務(wù)對象的引入問題。
規(guī)則引擎支持原生的規(guī)則語言,通常支持Import語句的使用,很像Java語言中的import語句,它的含義是“引入”,即只要在規(guī)則中使用的對象,指定完整的路徑和類名,規(guī)則引擎自動從相同命名的Java包中引入所需的類。下面舉例進行說明
例如,建立如下的規(guī)則import com.test.examples.Person;rule″Find the retired person″when(Person.sex==″f″,Person.age>60)||(Person.sex==″m″,Person.age>65)thennextQuestion(6);end其中,com.test.examples.Person是一個數(shù)據(jù)對象,它包含了答卷用戶的個人信息,包括性別、年齡等。因為有了該對象,所以條件中就可以引用相關(guān)的信息。這樣,當答復(fù)問卷的用戶的性別(sex)是“男”(f),年齡(age)大于60歲或者性別是“女”(m),年齡大于55歲的時候,就跳轉(zhuǎn)到第6題,這里目的是根據(jù)用戶的信息,按照預(yù)設(shè)的軌跡進行引導(dǎo)答卷。
對上述規(guī)則進行擴展,建立如下的規(guī)則import com.test.examples.Person;import com.test.examples.Pension;rule″Find the retired person″when(Person.sex==″f″,Person.age>60)||(Person.sex==″m″,Person.age>65)thensendPension(personID,pension(Person.age));end與前面所建立的規(guī)則的區(qū)別是,在該規(guī)則中,com.test.examples.pension是一個服務(wù)對象,它包含了兩個新的可用方法,即根據(jù)人的年齡計算應(yīng)該發(fā)放的退金。其中,pension(Person.age)的目的是根據(jù)退休人員的年齡算出應(yīng)該獲得的退休金;sendPension(personID,pension(Person.age))是根據(jù)退休人員的帳號發(fā)送退休金。
由以上描述可見,規(guī)則引擎提供了原生語言描述來支撐動態(tài)擴展,在運行時進行動態(tài)解析,無需像編寫程序一樣在運行前必須經(jīng)過編譯??梢?,利用本發(fā)明在問卷開發(fā)過程中,可以方便地擴展動作、變量和常量,大大提高了問卷的擴展和集成的效率。
當系統(tǒng)從數(shù)據(jù)庫中讀取出問卷、問卷包括的問題、針對每個問題的選項等信息時,可以根據(jù)不同應(yīng)用場景初始化為問卷或答卷。問卷作為展示內(nèi)容的定義,可以根據(jù)用戶的設(shè)定的結(jié)果變更修改問卷的內(nèi)容,例如題目的數(shù)量、新增選項、問卷邏輯控制規(guī)則的制定等。答卷則用于和用戶進行交互并保存交互信息,在答卷結(jié)束時將用戶的交互信息保存到數(shù)據(jù)庫中。
由于答卷的信息常常需要保存一段時間以便長期分析,但隨著業(yè)務(wù)的發(fā)展,問題的內(nèi)容一般會有相應(yīng)的變化,為了保證一定的持續(xù)性,方便對問卷的管理,還可以將對應(yīng)一個問卷、包含一組問卷規(guī)則的規(guī)則包保存到數(shù)據(jù)庫中時,設(shè)定該規(guī)則包的版本號。當用戶修改問卷的內(nèi)容后將其保存到數(shù)據(jù)庫時,為修改后的問卷設(shè)定新的版本號。
版本管理保存了問卷和問題之間的版本對應(yīng)關(guān)系,可以保證歷史數(shù)據(jù)可以正確地顯示和分析,新版本的問卷又可展示新的內(nèi)容,極好地適應(yīng)了當前的業(yè)務(wù)需要。
例如,一個問卷A,存在1、2、3、4、5個問題,使用了一段時間后發(fā)現(xiàn)問題3中問及的問題選項由于業(yè)務(wù)的變化,使得問題的選項也需要產(chǎn)生變化,但是如果直接在原有問卷上修改,會導(dǎo)致原來已經(jīng)存儲的答卷信息可能無法正常顯示,因為原有的定義已經(jīng)改變,此時如果要保證舊的數(shù)據(jù)能夠正常顯示,而往后的問卷又要以新的定義進行展示,則對新定義的問卷產(chǎn)生一個新的版本號,例如舊的問卷對應(yīng)的是1.0的問題3,新的問卷對應(yīng)的是1.1的問題3,問題3的選項不同,這樣舊的數(shù)據(jù)采用1.0版本的問卷定義進行展示,新的問卷采用1.1版本的問卷定義進行展示,每個版本的數(shù)據(jù)對應(yīng)該版本的問卷,保證了問卷數(shù)據(jù)總能正常顯示。
參照圖7,圖7示出了本發(fā)明問卷開發(fā)裝置第一實施例的原理框圖在該實施例中,本發(fā)明問卷開發(fā)裝置包括數(shù)據(jù)庫70、問卷單元71、規(guī)則建立單元72、規(guī)則包存儲單元73。其中,數(shù)據(jù)庫70用于存儲設(shè)定的問卷的基本元素及關(guān)系符,還存儲了對應(yīng)問卷的規(guī)則;問卷單元71提供用戶接口,用于獲取用戶輸入的問卷信息,所述問卷信息包括問卷的內(nèi)容及答卷過程中動作觸發(fā)的邏輯規(guī)則;規(guī)則建立單元72用于根據(jù)所述問卷信息從數(shù)據(jù)庫70中獲取對應(yīng)的基本元素及關(guān)系符,并利用所述基本元素及關(guān)系符建立符合所述邏輯規(guī)則的問卷規(guī)則;規(guī)則包存儲單元73用于保存由所述問卷規(guī)則組成的規(guī)則包,每個規(guī)則包對應(yīng)一個問卷。
規(guī)則建立單元72包括條件設(shè)定子單元721和規(guī)則生成子單元722。其中,條件設(shè)定子單元721用于根據(jù)所述關(guān)系符定義所述基本元素間的條件及符合所述條件觸發(fā)的動作;規(guī)則生成子單元722根據(jù)所述條件及所述動作組成所述問卷規(guī)則。
圖8示出了圖7所示本發(fā)明問卷開發(fā)裝置中各單元的交互流程,包括以下步驟步驟81、問卷單元獲取用戶提交的問卷請求;步驟82、問卷單元從用戶提交的問卷請求中取得問卷的基本信息,并提取問題信息和選項信息;步驟83、問卷單元請求規(guī)則建立單元進行問卷規(guī)則配置;步驟84、規(guī)則建立單元根據(jù)問卷的基本信息從數(shù)據(jù)庫中獲取相應(yīng)的對象、變量、常量、關(guān)系符和動作的定義;步驟85、規(guī)則建立單元向問卷單元返回用戶配置界面,在該配置界面將從數(shù)據(jù)庫中獲取相應(yīng)的對象、變量、常量、關(guān)系符和動作的定義展示給用戶;步驟86、用戶通過配置界面進行問卷規(guī)則配置;步驟87、規(guī)則建立單元將用戶配置的問卷規(guī)則保存到數(shù)據(jù)庫中;步驟88、規(guī)則建立單元根據(jù)用戶的配置生成問卷規(guī)則文件;步驟89、規(guī)則建立單元將生成的問卷規(guī)則文件保存到規(guī)則包存儲單元中;步驟90、規(guī)則建立單元向問卷單元中的用戶配置界面返回配置成功消息(該步驟為可選步驟)。
在配置界面用戶上可以利用關(guān)系符定義對象、變量、常量間的條件關(guān)系,并設(shè)定符合該條件觸發(fā)的動作;用戶配置界面上的配置舉例如下規(guī)則1條件1性別=男與年齡>60或 條件2性別=男與年齡>65結(jié)果發(fā)送退休金數(shù)據(jù)庫中保存如下相關(guān)內(nèi)容com.test.examples.Person;com.test.examples.Pension;rule″Find the retired person″(Person.sex==″f″,Person.age>60)||Person.sex==″m″,Person.age>55)sendPension(personID,200);生成的規(guī)則文件包含以下內(nèi)容import com.test.examples.Persionimport com.test.examples.Pension;rule″Find the retired person″when
(Person.sex==″f″,Person.age>60)||Person.sex==″m″,Person.age>55)ThensendPension(personID,200);end參照圖9,圖9是本發(fā)明問卷開發(fā)裝置第二實施例的原理框圖與圖7所示實施例不同的是,在該實施例中,在規(guī)則建立單元72和規(guī)則包存儲單元73之間還設(shè)置有版本號添加單元74,用于為所述問卷規(guī)則組成的規(guī)則包添加版本號。版本號的添加過程及方式在前面本發(fā)明方法的描述中已有詳細介紹,在此不再贅述。
雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化而不脫離本發(fā)明的精神。
權(quán)利要求
1.一種智能問卷系統(tǒng),其特征在于,包括規(guī)則包存儲單元,用于存儲規(guī)則包,每個規(guī)則包對應(yīng)一個問卷,包括至少一條規(guī)則;問卷交互單元,提供用戶接口,通過所述用戶接口獲取用戶提交的問卷及答案數(shù)據(jù);規(guī)則引擎單元,用于根據(jù)所述問卷交互單元獲取的問卷從所述規(guī)則包存儲單元中加載所述問卷對應(yīng)的規(guī)則包,并根據(jù)所述答案數(shù)據(jù)觸發(fā)所述規(guī)則包中的動作;問題處理單元,用于執(zhí)行規(guī)則引擎單元觸發(fā)的動作的具體處理過程。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述規(guī)則引擎單元包括加載子單元,用于根據(jù)所述問卷交互單元獲取的問卷從所述規(guī)則包存儲單元中加載所述問卷對應(yīng)的規(guī)則包;匹配子單元,用于根據(jù)所述答卷的數(shù)據(jù)對象匹配所述規(guī)則包中定義的條件;觸發(fā)子單元,用于觸發(fā)所述匹配的條件對應(yīng)的動作。
3.一種問卷開發(fā)方法,其特征在于,包括確定問卷的內(nèi)容及答卷過程中動作觸發(fā)的邏輯規(guī)則;利用預(yù)先設(shè)定的問卷基本元素及關(guān)系符建立符合所述邏輯規(guī)則的問卷規(guī)則;利用所述問卷規(guī)則生成問卷。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述問卷基本元素包括數(shù)據(jù)對象、服務(wù)對象、常量、變量、動作。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述問卷的內(nèi)容包括問題和選項。
6.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述利用預(yù)先設(shè)定的問卷基本元素及關(guān)系符建立符合所述邏輯規(guī)則的問卷規(guī)則的步驟包括利用所述關(guān)系符定義所述基本元素間的條件及符合所述條件觸發(fā)的動作;由所述條件及所述動作組成所述問卷規(guī)則。
7.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述方法還包括設(shè)定所述問卷的版本號,并將所述問卷保存到數(shù)據(jù)庫中;當用戶修改所述問卷的內(nèi)容后將其保存到數(shù)據(jù)庫時,為修改后的問卷設(shè)定新的版本號。
8.一種問卷開發(fā)裝置,其特征在于,包括數(shù)據(jù)庫,用于存儲設(shè)定的問卷的基本元素及關(guān)系符;問卷單元,提供用戶接口,用于獲取用戶輸入的問卷信息,所述問卷信息包括問卷的內(nèi)容及答卷過程中動作觸發(fā)的邏輯規(guī)則;規(guī)則建立單元,用于根據(jù)所述問卷信息從所述數(shù)據(jù)庫中獲取對應(yīng)的基本元素及關(guān)系符,并利用所述基本元素及關(guān)系符建立符合所述邏輯規(guī)則的問卷規(guī)則;規(guī)則包存儲單元,用于保存由所述問卷規(guī)則組成的規(guī)則包,每個規(guī)則包對應(yīng)一個問卷。
9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,所述規(guī)則建立單元包括條件設(shè)定子單元,用于根據(jù)所述關(guān)系符定義所述基本元素間的條件及符合所述條件觸發(fā)的動作;規(guī)則生成子單元,根據(jù)所述條件及所述動作組成所述問卷規(guī)則。
10.根據(jù)權(quán)利要求8或9所述的裝置,其特征在于,所述裝置還包括版本號添加單元,分別與所述規(guī)則建立單元和所述規(guī)則包存儲單元耦接,用于為所述問卷規(guī)則組成的規(guī)則包添加版本號。
全文摘要
本發(fā)明公開了一種智能問卷系統(tǒng),包括規(guī)則包存儲單元,用于存儲規(guī)則包;問卷交互單元,提交問卷及答案數(shù)據(jù);規(guī)則引擎單元,根據(jù)問卷交互單元提交的問卷從規(guī)則包存儲單元中加載所述問卷對應(yīng)的規(guī)則包,并根據(jù)答案數(shù)據(jù)觸發(fā)規(guī)則包中的動作;問題處理單元,用于執(zhí)行規(guī)則引擎單元觸發(fā)的動作的具體處理過程。本發(fā)明還公開了一種問卷開發(fā)方法及裝置,所述裝置包括數(shù)據(jù)庫,存儲設(shè)定的問卷的基本元素及關(guān)系符;問卷單元,支持用戶輸入的問卷信息;規(guī)則建立單元,根據(jù)問卷信息從數(shù)據(jù)庫中獲取對應(yīng)的基本元素及關(guān)系符,并利用所述基本元素及關(guān)系符建立符合邏輯規(guī)則的問卷規(guī)則;規(guī)則包存儲單元,用于存儲規(guī)則包。利用本發(fā)明,可以提高開發(fā)效率,方便業(yè)務(wù)及系統(tǒng)擴展。
文檔編號G06Q10/00GK101017540SQ20071000265
公開日2007年8月15日 申請日期2007年1月24日 優(yōu)先權(quán)日2007年1月24日
發(fā)明者簡春安 申請人:華為技術(shù)有限公司