專利名稱:用于調(diào)查處理的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及調(diào)查數(shù)據(jù)處理和分析。更具體地,本發(fā)明涉及改進(jìn)的實時調(diào)查數(shù)據(jù)處理和分析。
背景技術(shù):
很多公司重視例如雇員評估和滿意度調(diào)查的調(diào)查。例如,公司使用雇員評估來判斷表現(xiàn)和給予晉升。公司還使用客戶滿意度調(diào)查來衡量產(chǎn)品和服務(wù)的成功,并確定改進(jìn)。使用調(diào)查,經(jīng)理還可以由雇員來評估。
例如,調(diào)查可以幫助啟動工作地點環(huán)境、產(chǎn)品或服務(wù)改進(jìn)以及雇員培訓(xùn)中的變化。調(diào)查結(jié)果可能影響到公司的重大戰(zhàn)略決策。當(dāng)前的調(diào)查系統(tǒng)不能提供快速的響應(yīng)來幫助做出重要、及時的商務(wù)決策。而且,當(dāng)前的調(diào)查系統(tǒng)很難按需訪問。
因此,提供對調(diào)查的實時管理和處理的系統(tǒng)將是非常令人期待的。而且,提高了對調(diào)查、調(diào)查數(shù)據(jù)和調(diào)查統(tǒng)計的可訪問性的系統(tǒng)將是非常令人期待的。允許調(diào)查信息和分類被動態(tài)地調(diào)整的調(diào)查處理系統(tǒng)也將是非常令人期待的。因此,存在對用于改進(jìn)的實時調(diào)查數(shù)據(jù)處理和分析的系統(tǒng)和方法的需求。
發(fā)明內(nèi)容
本發(fā)明的一些實施例提供了用于改進(jìn)的實時調(diào)查數(shù)據(jù)處理和分析的系統(tǒng)和方法。一些實施例使用分布式計算技術(shù)來執(zhí)行對例如通用目的和多層次反饋數(shù)據(jù)(multi rater feedback data)的調(diào)查數(shù)據(jù)的統(tǒng)計計算。一些實施例使用與哈希表耦合的矩陣結(jié)構(gòu),用于有效處理貫穿整個調(diào)查的調(diào)查統(tǒng)計。一些實施例使用基于外部可定義語義規(guī)則的標(biāo)準(zhǔn)分析器(parser)來確定哪些調(diào)查響應(yīng)屬于哪些組。一些實施例允許在各摘要服務(wù)器之間復(fù)用摘要請求,以實現(xiàn)貫穿任意數(shù)量的調(diào)查的峰值性能。一些實施例提供了可縮放(scalable)、自適應(yīng)的調(diào)查處理系統(tǒng)和實時處理調(diào)查結(jié)果的方法,允許在調(diào)查過程期間的即時反饋。
在一個實施例中,調(diào)查處理系統(tǒng)包括讀引擎適配器,用于讀取調(diào)查數(shù)據(jù)并標(biāo)記對調(diào)查數(shù)據(jù)的處理的起始點;統(tǒng)計調(diào)查處理器,用于使用語義分析來處理調(diào)查數(shù)據(jù),所述統(tǒng)計調(diào)查處理器根據(jù)調(diào)查數(shù)據(jù),針對調(diào)查、問題和范圍其中的至少一個產(chǎn)生統(tǒng)計;和,寫引擎適配器,用于輸出更新的調(diào)查統(tǒng)計。
讀引擎可以從數(shù)據(jù)庫讀出先前的摘要狀態(tài),以便為摘要和統(tǒng)計處理建立初始狀態(tài)。在一個實施例中,統(tǒng)計調(diào)查處理器包括標(biāo)準(zhǔn)分析器,用于根據(jù)可定義語義規(guī)則對調(diào)查數(shù)據(jù)加以歸類。統(tǒng)計調(diào)查處理器可以標(biāo)識調(diào)查數(shù)據(jù)是其成員的報告組。系統(tǒng)還可以包括哈希矩陣,用于存儲對調(diào)查的統(tǒng)計。
在一個實施例中,實時調(diào)查分析系統(tǒng)包括運行時間引擎,用于接收調(diào)查數(shù)據(jù);至少一個摘要并合器,用于分類調(diào)查數(shù)據(jù)并將調(diào)查數(shù)據(jù)路由到至少一個統(tǒng)計摘要引擎;和,至少一個統(tǒng)計摘要引擎,用于實時地分析調(diào)查數(shù)據(jù)以執(zhí)行摘要和統(tǒng)計分析其中至少一個。所述至少一個摘要并合器根據(jù)至少一個標(biāo)準(zhǔn)來分類和路由調(diào)查數(shù)據(jù)。
在一個實施例中,所述至少一個摘要并合器從多個來源接收調(diào)查數(shù)據(jù)流。調(diào)查數(shù)據(jù)可以包括調(diào)查完成數(shù)據(jù)和/或新調(diào)查報告組數(shù)據(jù)。一個或更多個標(biāo)準(zhǔn)可以包括一個或更多個允許摘要并合器對進(jìn)入(incoming)的調(diào)查數(shù)據(jù)按照處理的最優(yōu)順序進(jìn)行分組的標(biāo)準(zhǔn)。在一個實施例中,摘要并合器將多個調(diào)查數(shù)據(jù)與最近被處理的調(diào)查的歷史列表進(jìn)行比較,以便把所述多個調(diào)查數(shù)據(jù)路由到至少一個統(tǒng)計摘要引擎。所述至少一個或更多個統(tǒng)計摘要引擎可以從數(shù)據(jù)庫讀取先前的摘要狀態(tài),以便為使用調(diào)查數(shù)據(jù)的增量統(tǒng)計計算標(biāo)記起始點。
在一個實施例中,實施調(diào)查分析系統(tǒng)還包括報告引擎,用于產(chǎn)生用于調(diào)查報告的新組。系統(tǒng)還可以包括數(shù)據(jù)庫,用于存儲調(diào)查數(shù)據(jù)和調(diào)查報告組定義其中至少一個。此外,系統(tǒng)還包括用戶接口,用于輸入調(diào)查數(shù)據(jù)。在一個實施例中,用戶接口是基于網(wǎng)絡(luò)(Web-based)的用戶接口。
用于調(diào)查數(shù)據(jù)的實時處理的方法的實施例包括接收調(diào)查事件;根據(jù)至少一個標(biāo)準(zhǔn)來確定所述調(diào)查事件的路由;將所述調(diào)查事件路由到調(diào)查處理器;在調(diào)查處理器實時地處理所述調(diào)查事件;和,提供來自所述調(diào)查事件的實時反饋。該方法還可以包括確定進(jìn)入事件是否包括調(diào)查數(shù)據(jù)或者新的調(diào)查組。在一個實施例中,處理步驟包括對調(diào)查數(shù)據(jù)的統(tǒng)計處理。處理步驟還可以包括創(chuàng)建新的調(diào)查組。在一個實施例中,處理步驟按照調(diào)查、問題和/或主題來分析調(diào)查響應(yīng)。該方法還可以包括根據(jù)被處理的調(diào)查事件來更新所存儲的數(shù)據(jù)。
圖1示出了依照本發(fā)明的實施例使用的調(diào)查系統(tǒng)。
圖2示出了依照本發(fā)明的實施例使用的調(diào)查分析系統(tǒng)。
圖3示出了依照本發(fā)明的實施例使用的統(tǒng)計摘要引擎。
圖4示出了用于在依照本發(fā)明的實施例使用的統(tǒng)計摘要引擎中對事件消息分類的方法的流程圖。
圖5示出了為依照本發(fā)明的實施例使用的摘要做準(zhǔn)備時讀摘要請求的方法的流程圖。
圖6示出了用于依照本發(fā)明的實施例使用的統(tǒng)計摘要的方法的流程圖。
圖7示出了依照本發(fā)明的實施例,用于產(chǎn)生顯示調(diào)查分析數(shù)據(jù)的文檔的報告布局系統(tǒng)。
圖8示出了用于依照本發(fā)明的實施例使用的電子調(diào)查管理和分析的方法的流程圖。
當(dāng)結(jié)合附圖閱讀時,將更好地理解前面的發(fā)明內(nèi)容以及下面對本發(fā)明的一些實施例的詳細(xì)描述。為了說明本發(fā)明的目的,在圖中示出了一些實施例。但是,應(yīng)該理解,本發(fā)明不局限于在附圖中所示的配置和手段。
具體實施例方式
圖1示出了依照本發(fā)明的實施例使用的調(diào)查系統(tǒng)100。系統(tǒng)100包括用戶接口110、數(shù)據(jù)庫120、調(diào)查分析系統(tǒng)130和輸出140。
用戶接口110向用戶展示調(diào)查并接受用戶的調(diào)查數(shù)據(jù)。然后,調(diào)查數(shù)據(jù)被傳送到數(shù)據(jù)庫120用于存儲。調(diào)查分析系統(tǒng)130處理來自數(shù)據(jù)庫120的數(shù)據(jù)以產(chǎn)生期望的輸出。被處理的結(jié)果可以在輸出140顯示和/或存儲在數(shù)據(jù)庫120中。
例如,在一個實施例中,用戶接口110可以是基于網(wǎng)絡(luò)的接口或其他的數(shù)據(jù)輸入形式。可以用例如超文本標(biāo)記語言(HTML)、可擴(kuò)展標(biāo)記語言(XML)、簡單對象訪問協(xié)議(SOAP)、perl、java或其他的公共網(wǎng)關(guān)接口(CGI)腳本來實施用戶接口110,以捕獲用戶調(diào)查響應(yīng),作為數(shù)據(jù)庫120的數(shù)據(jù)。使用例如微軟消息隊列的消息傳輸,數(shù)據(jù)和其他消息可以被從用戶接口110傳遞到數(shù)據(jù)庫120。在一個實施例中,數(shù)據(jù)庫120是例如運行結(jié)構(gòu)化查詢語言(Structured Query Language,SQL)服務(wù)器,并被配置成為數(shù)據(jù)提供冗余性和安全性的四處理器服務(wù)器集群的服務(wù)器。用戶接口110可以駐留在和數(shù)據(jù)庫120或調(diào)查分析系統(tǒng)130相同的計算機(jī)上,或者可以被實施在單獨的計算機(jī)上。例如,用戶接口110可以被在單處理器或雙處理器服務(wù)器上運行。系統(tǒng)100的部件可以被通過例如以太網(wǎng)、吉比特以太網(wǎng)的連接、無線連接或其他的有線連接來聯(lián)網(wǎng)。在一個實施例中,使用TCP/IP作為在系統(tǒng)100的部件之間通訊的網(wǎng)絡(luò)協(xié)議。例如在一個實施例中,調(diào)查分析系統(tǒng)130是四處理器服務(wù)器。系統(tǒng)100的部件可以被實施在軟件和/或硬件中。
圖2示出了依照本發(fā)明的實施例使用的調(diào)查分析系統(tǒng)200。調(diào)查分析系統(tǒng)200和上面參照圖1所描述的調(diào)查分析系統(tǒng)130類似。分析系統(tǒng)200包括調(diào)查運行時間引擎210、調(diào)查報告引擎220、摘要并合器230-233和統(tǒng)計摘要引擎240-243。
調(diào)查運行時間引擎210從用戶接口110接收調(diào)查數(shù)據(jù)。調(diào)查數(shù)據(jù)被傳送到數(shù)據(jù)庫120。調(diào)查運行時間引擎210還向摘要并合器230-233其中的一個發(fā)送調(diào)查完成消息。類似地,調(diào)查報告引擎220還向數(shù)據(jù)庫120發(fā)送組定義,并向摘要并合器230-233其中的一個發(fā)送組定義完成消息。摘要并合器230-233和統(tǒng)計摘要引擎240-243通訊,以便總結(jié)摘要并執(zhí)行例如調(diào)查數(shù)據(jù)或組定義的統(tǒng)計分析。統(tǒng)計摘要引擎240-243從數(shù)據(jù)庫120接收信息并更新數(shù)據(jù)庫120。
在一個實施例中,在用戶已在用戶接口110處完成了例如基于網(wǎng)絡(luò)的調(diào)查的調(diào)查后,調(diào)查運行時間引擎210產(chǎn)生調(diào)查完成事件。該事件包括標(biāo)識調(diào)查響應(yīng)記錄的信息,例如,調(diào)查響應(yīng)記錄是數(shù)據(jù)庫標(biāo)識符、調(diào)查標(biāo)識符和用戶應(yīng)答者標(biāo)識符組合的形式。調(diào)查完成事件可以被直接發(fā)送到統(tǒng)計摘要引擎240-243,或者被發(fā)送到摘要并合器230-233用于路由到適當(dāng)?shù)慕y(tǒng)計摘要引擎240-243。摘要完成事件還可以在數(shù)據(jù)庫120中被標(biāo)記為對用戶的摘要的未被完成的請求。
類似地,在另一個實施例中,用戶可以為報告創(chuàng)建新組。調(diào)查報告引擎220產(chǎn)生新組事件,新組事件報告該組的標(biāo)識符。新組事件可以被直接發(fā)送到統(tǒng)計摘要引擎240-243,或者被發(fā)送到摘要并合器230-233,用于路由到適當(dāng)?shù)慕y(tǒng)計摘要引擎240-243。調(diào)查報告引擎220還可以向數(shù)據(jù)庫120發(fā)送新組定義,用于在例如為該組創(chuàng)建新摘要記錄時使用。
摘要并合器230-233從多個來源接收事件流。事件流包括例如新組定義事件和/或新組完成事件。摘要并合器230-233對進(jìn)入的消息進(jìn)行分組,例如按最優(yōu)順序?qū)ο⑦M(jìn)行分組,以有助于有效的總結(jié)摘要。消息被根據(jù)應(yīng)答者正在對哪個調(diào)查做出響應(yīng)(對于調(diào)查完成事件)或正被定義的組(對于新組定義事件)發(fā)送到統(tǒng)計摘要引擎240-243。
圖3示出了依照本發(fā)明的實施例使用的統(tǒng)計摘要引擎300。統(tǒng)計摘要引擎300和上面參照圖2所描述的統(tǒng)計摘要引擎240-243類似。統(tǒng)計摘要引擎300包括引擎適配器(讀)310、統(tǒng)計處理器320和引擎適配器(寫)330。下面更為詳細(xì)地描述摘要引擎300的部件。
摘要并合器230接收新事件。摘要并合器230分類隊列中進(jìn)入的消息。摘要并合器230還按照最優(yōu)順序?qū)M(jìn)入的消息進(jìn)行分組以有助于有效的摘要。在一個實施例中,摘要并合器230具有優(yōu)化目標(biāo),包括根據(jù)當(dāng)前隊列狀態(tài),按可能的最大組對摘要消息進(jìn)行分組,并保證每一個調(diào)查被給予“關(guān)注”。例如,即使調(diào)查A比調(diào)查B具有多1000倍的調(diào)查提交事件,調(diào)查B也將不必要等待過長的時間以被分析和更新。在一個實施例中,摘要并合器230一直運行,直到在消息隊列中不存在消息為止。當(dāng)隊列為空時,摘要并合器230“休眠”,直到接收到新消息為止。如果隊列從來不空,則摘要并合器230可以持續(xù)地運行。
圖4示出了用于在依照本發(fā)明的實施例使用的摘要并合器230中對事件消息分類或并合的方法的流程圖400。在一個實施例中,摘要并合器230盡可能多的處理屬于調(diào)查的事件。首先,在步驟410,在摘要并合器230從例如MicrosoftMessage Queue(微軟消息隊列)的消息傳遞(messaging)系統(tǒng)接收到新消息通知。接著,在步驟420,摘要并合器230確定要處理的調(diào)查。然后,在步驟430,摘要并合器230檢查隊列中的記錄(例如,直到“t”個元素的限制)。在步驟440,從隊列去掉屬于已經(jīng)被選擇用于處理的調(diào)查的記錄。接著,在步驟450,來自事件的數(shù)據(jù)被分組,并被傳遞到摘要引擎300。
如上所述,摘要并合器230確定要處理哪一個調(diào)查。在一個實施例中,摘要并合器230保留有最近被處理的調(diào)查的歷史列表。為了確定要處理哪一個調(diào)查,摘要并合器230通過找到在直到某個深度“d”的隊列中被代表的所有唯一的調(diào)查來編輯可能的組合的候選者列表。一旦形成了候選者列表“C”,則候選者列表被與歷史類別比較。歷史列表“H”代表近來已經(jīng)被處理的調(diào)查,直到深度“h”。歷史列表中的記錄可以被按完成的順序列出,例如最近被完成的調(diào)查在頂部。
在一個實施例中,摘要并合器230試圖在“C”中找到第一個不在“H”中的記錄(C/H),而同時計算有序集合“HC”,集合“HC”代表“H”和“C”的交集(H∩C)。如果(C/H)求值得到非空集合,則來自(C/H)的第一項被選作摘要候選者。如果(C/H)求值得到空集,則從由“HC”所代表的集合(H∩C)中的最后元素選擇候選者。如果該集合是非空的,則第一個候選者被從近來還沒有被處理的候選者列表取出。如果該集合是空的,則所有的候選者近來已經(jīng)被處理。這樣,代表最近被處理的調(diào)查的候選者(來自(H∩C)的最后一個元素)被處理。一旦確定了消息列表,則該列表被編輯為集合“M”,集合“M”可以在內(nèi)部由矢量結(jié)構(gòu)來代表。然后,該矢量被傳遞到摘要引擎300用于處理。
如上所述,“t”代表當(dāng)計算在統(tǒng)計摘要引擎300的單次迭代中要被處理的“M”消息集合時“查找(peek)”隊列的條目的數(shù)量。在一個實施例中,“t”被根據(jù)運行統(tǒng)計摘要引擎300的計算機(jī)上可用的RAM設(shè)置。例如,具有2GBRAM的服務(wù)器可以處理來自單個調(diào)查的大約100,000個調(diào)查完成事件。
候選者搜索深度“d”代表當(dāng)計算要被處理的候選者調(diào)查集合“C”時“查找”隊列的條目的數(shù)量。深度“d”幫助保證在摘要并合器230的實例中的調(diào)查處理主要是少量的調(diào)查時,摘要并合器230不在收集候選者上花費太多時間。
候選者集合限制“c”指示要收集的候選者事件的最大數(shù)量。例如,如果候選者收集操作在隊列中達(dá)到深度“d”之前產(chǎn)生了“c”個條目,則候選者收集操作循環(huán)停止。當(dāng)大量不同的調(diào)查正在被同時處理時,限制“c”幫助優(yōu)化在收集候選者上所花費的時間。
歷史集合限制“h”指示要記憶的候選者歷史條目的最大數(shù)量。對“h”的較低設(shè)置可能導(dǎo)致用于小調(diào)查的“資源枯竭”,小調(diào)查正在與大調(diào)查相同的服務(wù)器上被總結(jié)摘要。對“h”的較高設(shè)置可能導(dǎo)致過長的用于找到候選者的計算時間。
如上所述,在一個實施例中,摘要并合器230處理隊列中的記錄,以使請求被以下列方式分組不因在特定時間為照顧主要調(diào)查而使得摘要請求被處理而使調(diào)查枯竭。然后,可以通過控制候選者搜索的深度和存儲的變量來控制避免資源枯竭隨著并合操作的性能的變化。在一個替代實施例中,摘要并合器230可以簡單地檢查隊列中的第一項,然后提取和第一項匹配的前“z”項。資源枯竭將被避免,但是主要調(diào)查可能能夠影響數(shù)量較少的調(diào)查的摘要。例如,來自一個調(diào)查的很多請求可能引起影響小得多的調(diào)查的摘要速度的阻塞。但是,更簡單的方法可以提供配置上較少的開銷和復(fù)雜性。
摘要引擎300接收摘要并合器230所編輯的摘要請求,并根據(jù)請求驅(qū)動摘要計算。引擎適配器(讀)310根據(jù)來自摘要并合器230的消息,從數(shù)據(jù)庫120讀取調(diào)查數(shù)據(jù)。引擎適配器(讀)310從數(shù)據(jù)庫120讀取先前的摘要狀態(tài),以便為增量統(tǒng)計計算標(biāo)記起始點。
圖5示出了為依照本發(fā)明的實施例使用的摘要做準(zhǔn)備時讀摘要請求的方法的流程圖500。首先,在步驟510,引擎適配器(讀)310從摘要并合器230接收摘要調(diào)用。然后,在步驟520,引擎適配器(讀)310確定消息是否涉及調(diào)查提交事件或新組事件。
如果摘要請求消息涉及調(diào)查提交事件,則在步驟530,引擎適配器(讀)310從數(shù)據(jù)庫120讀用于新調(diào)查響應(yīng)的調(diào)查數(shù)據(jù)集合。調(diào)查數(shù)據(jù)集合包括關(guān)于調(diào)查的結(jié)構(gòu)信息(例如,相關(guān)問題或項目的組,由子部件構(gòu)成的主范圍或者主題)。如果摘要請求消息涉及新組事件,則在步驟535,引擎適配器(讀)310從數(shù)據(jù)庫讀整個調(diào)查數(shù)據(jù)集合。該數(shù)據(jù)集合可以包括例如項目、范圍、響應(yīng)規(guī)模和其他相關(guān)的信息。
接著,對于調(diào)查提交事件,在步驟540,從數(shù)據(jù)庫120讀取先前的摘要狀態(tài)。先前的摘要狀態(tài)可以包括例如項目、范圍、響應(yīng)狀態(tài)和其他相關(guān)的信息。先前的摘要狀態(tài)代表在增量摘要之前的初始狀態(tài)。
然后,對于調(diào)查提交事件,在步驟550,針對每一行數(shù)據(jù)找到組,例如,根據(jù)該數(shù)據(jù),應(yīng)答者是該數(shù)據(jù)的成員。統(tǒng)計處理器320可以被調(diào)用,以確定每一單行數(shù)據(jù)屬于哪些組。調(diào)查的組成員關(guān)系可以被基于來自調(diào)查或預(yù)編碼信息的回答,所述信息例如部門或人口統(tǒng)計學(xué)信息,被附加到應(yīng)答者上。對于新組事件,在步驟555,找到新組將總結(jié)摘要的數(shù)據(jù)行。統(tǒng)計處理器320可以被調(diào)用以確定哪些行數(shù)據(jù)屬于新組。最初可以根據(jù)在創(chuàng)建該組之前已經(jīng)被提交的調(diào)查來計算該組。在一個實施例中,組事件和調(diào)查提交事件可以順次地運行,以使不正確的數(shù)據(jù)不被調(diào)查事件創(chuàng)建,所述調(diào)查事件和其所屬的組在同一時間被處理。操作的順序不重要。
在步驟560,讀引擎適配器(讀)310調(diào)用統(tǒng)計處理器320執(zhí)行對受到影響(對于新組,如果事件是新組事件)的組的計算。例如,結(jié)構(gòu)、信息、要被摘要的數(shù)據(jù)和數(shù)據(jù)應(yīng)用到的組可以被傳遞到統(tǒng)計處理器320。
在一個實施例中,統(tǒng)計處理器320根據(jù)新調(diào)查響應(yīng)來更新統(tǒng)計或根據(jù)新組來創(chuàng)建新統(tǒng)計行。例如,統(tǒng)計處理器320執(zhí)行增量統(tǒng)計計算,以根據(jù)新接收到的調(diào)查數(shù)據(jù)(例如,增量摘要)來確定經(jīng)調(diào)整的統(tǒng)計狀態(tài)。統(tǒng)計處理器320還執(zhí)行對數(shù)據(jù)的分析,以便為給定的應(yīng)答者確定組成員關(guān)系。按組分析允許讀引擎適配器310把組加載到統(tǒng)計摘要引擎300中,統(tǒng)計摘要引擎300可應(yīng)用于特定一輪的增量摘要。
在一個實施例中,統(tǒng)計處理器320包括標(biāo)準(zhǔn)分析器。標(biāo)準(zhǔn)分析器使用例如說明邏輯語句來執(zhí)行對調(diào)查數(shù)據(jù)流的語義分析。標(biāo)準(zhǔn)分析器執(zhí)行對數(shù)據(jù)流的語義分析,以確定例如哪些數(shù)據(jù)屬于哪個組。分析器可以被定制,以便實施允許更快和更有效的調(diào)查數(shù)據(jù)分析的操作符(operator)。例如,具有專用操作符的分析器可以被使用Unix工具lex和yacc產(chǎn)生,并被使用C或C++編程語言編程。
圖6示出了用于依照本發(fā)明的實施例使用的統(tǒng)計摘要的方法的流程圖600。首先,在步驟610,統(tǒng)計處理器320接收例如項目、主題或范圍、響應(yīng)規(guī)模、重新編碼存儲桶(recode bucket)的結(jié)構(gòu)和其他相關(guān)信息。然后,在步驟620,統(tǒng)計處理器320接收要被包括在摘要中的組。接著,在步驟630,統(tǒng)計處理器320分配哈希矩陣數(shù)據(jù)結(jié)構(gòu)來為數(shù)據(jù)保持初始狀態(tài)。
在步驟640,統(tǒng)計處理器320接收數(shù)據(jù)的每一個相關(guān)行,并執(zhí)行增量摘要。即,統(tǒng)計處理器320遞增數(shù)據(jù)集合中的適當(dāng)行。對每一行數(shù)據(jù),統(tǒng)計處理器320針對該行作為其成員的每一個組,使用先前的狀態(tài)和新的數(shù)據(jù)行。統(tǒng)計處理器320用更新過的數(shù)據(jù)更新哈希矩陣。然后,在步驟650,一旦所有行數(shù)據(jù)都被處理,則更新過的摘要狀態(tài)被返回到引擎適配器(寫)330。
在摘要中使用的哈希矩陣結(jié)構(gòu)以節(jié)省存儲器的方式存儲調(diào)查的統(tǒng)計。哈希矩陣結(jié)構(gòu)包括在矩陣的每一個軸上的哈希表。在一個實施例中,哈希矩陣提供了具有最少沖突的恒定查找時間。
在一個實施例中,哈希矩陣在矩陣的“項目/范圍”元素和矩陣的“組”元素中存儲調(diào)查的統(tǒng)計。矩陣中的組是相關(guān)數(shù)據(jù)行作為其成員的組,除非哈希矩陣是包括所有組的批矩陣(batch matrix)。在一個實施例中,哈希矩陣是與三哈希表結(jié)構(gòu)耦合的統(tǒng)計對象兩維陣列。哈希表結(jié)構(gòu)包括例如項目的結(jié)構(gòu)、組的結(jié)構(gòu)和項目的每一個范圍或組的結(jié)構(gòu)。例如,哈希表結(jié)構(gòu)在項目/組或范圍/組對的基礎(chǔ)上,在哈希矩陣中提供了關(guān)聯(lián)查找。結(jié)果,對特定統(tǒng)計的查找(例如為了檢索或更新的目的)被在O(C)的時間內(nèi)執(zhí)行。在一個實施例中,針對在保持統(tǒng)計狀態(tài)的同時可能的最小存儲器使用來優(yōu)化存儲器使用。
在一個實施例中,哈希表是10×N的分布配置,其中N是組元素的大小或組合項目和范圍元素的大小。在典型情況下,哈希表中的沖突是罕見的。可以使用更高的哈希表分布配置因子來減少在某些情況下的沖突。
例如,在哈希矩陣內(nèi)總的存儲器利用可能是200字節(jié)×G×(I+D),其中,G是組計數(shù),I是項目計數(shù),并且D是范圍(或項目的組)計數(shù)。例如,如果G=10,000,并且I+D=1000,則用于保持摘要狀態(tài)的總存儲器利用略高于2G字節(jié),包括哈希表所用的空間。
一旦摘要總結(jié)完成,則被遞增的統(tǒng)計被寫回數(shù)據(jù)庫120??刂屏鞒瘫粋骰卣⒑掀?30。如果更多的消息仍在消息隊列中,則摘要并合器230可以重復(fù)統(tǒng)計摘要過程。引擎適配器(寫)330接收統(tǒng)計處理器320所產(chǎn)生的結(jié)果。引擎適配器(寫)330將更新過的統(tǒng)計寫到數(shù)據(jù)庫120。這樣,數(shù)據(jù)庫120被用經(jīng)過分析的調(diào)查結(jié)果和/或新組更新。
特定項目/組對的統(tǒng)計可以包括例如平均值、標(biāo)準(zhǔn)差、每一個響應(yīng)選項的響應(yīng)頻率、每一重新編碼的重新編碼頻率、實際的N、加權(quán)的N和被存儲的非響應(yīng)計數(shù)。特定范圍/組對的統(tǒng)計包括例如平均值、標(biāo)準(zhǔn)差、每一個響應(yīng)選項的響應(yīng)頻率、每一重新編碼的重新編碼頻率、實際的N、加權(quán)的N和被存儲的非響應(yīng)計數(shù)。
可以為調(diào)查中的每一個問題計算統(tǒng)計。此外,可以為調(diào)查中的范圍或主題計算統(tǒng)計或分?jǐn)?shù)。在一個實施例中,計算在由于不足數(shù)量的應(yīng)答者所致而抑制數(shù)據(jù)之前被完成。此外,忽略有效回答范圍之外的響應(yīng)。在一個實施例中,當(dāng)數(shù)據(jù)被檢索而非在統(tǒng)計被計算時發(fā)生舍入。在一個實施例中,數(shù)據(jù)庫120中的空白記錄被向著響應(yīng)總數(shù)計數(shù)而非針對問題層響應(yīng)計算。在計算中也可以使用倒轉(zhuǎn)分?jǐn)?shù)設(shè)置(例如,具有從1到5變化的有效值的響應(yīng)可以被記錄為1=5,2=4,3=3,4=2和5=1)。
可以使用響應(yīng)的抑制來保證每一組對問題或范圍至少具有N個響應(yīng)?;蛘?,根據(jù)其他組的響應(yīng),可以抑制結(jié)果。組和抑制規(guī)則之間的關(guān)系可以被配置。例如,對于特定問題或者問題組,可以給一個組分配最少數(shù)量或?qū)哟蔚捻憫?yīng)。
在用于確定統(tǒng)計的集合方法中,從問題層次結(jié)果創(chuàng)建主題或范圍結(jié)果。從包含感興趣的范圍的問題來對響應(yīng)頻率求和。計算和調(diào)查問題響應(yīng)計算類似,但是應(yīng)答者的數(shù)量被針對范圍或者主題分?jǐn)?shù)平均。首先,響應(yīng)類別或存儲桶(例如贊同、兩者都不、不贊同、良、差、公平、是、否,等等)被從用來計算范圍的問題添加。然后,對于百分比統(tǒng)計,來自范圍的響應(yīng)頻率存儲桶計數(shù)被所有頻率存儲桶的總計數(shù)來除。每一個響應(yīng)存儲桶可以被分配一個用于例如平均值和標(biāo)準(zhǔn)差計算的值。對于平均值或平均分?jǐn)?shù),范圍頻率存儲桶值被乘以范圍頻率存儲桶計數(shù)。然后總數(shù)被總的應(yīng)答者數(shù)量來除。例如,平均值=((頻率存儲桶1×1)+(頻率存儲桶2×2)+(頻率存儲桶3×3))/總的應(yīng)答者數(shù)量。對范圍響應(yīng)的很多用戶可以被計算為貫穿用來計算該范圍的問題做出響應(yīng)的數(shù)的平均。每一個問題的應(yīng)答者的數(shù)量被相加,然后,總數(shù)除以用來計算范圍的問題的總數(shù)量。在一個實施例中,具有零個應(yīng)答者的問題被包括在響應(yīng)計算的范圍數(shù)量中。通過對非響應(yīng)頻率存儲桶求和,還可以計算非響應(yīng)的計數(shù)。
在一個實施例中,調(diào)查問題統(tǒng)計遵循在集合方法下定義的規(guī)則?;蛘?,可以用其他的統(tǒng)計方法來處理調(diào)查數(shù)據(jù)。在一個實施例中,如果問題被包括在組的數(shù)據(jù)文件布局定義中,則問題結(jié)果被針對該組生成。
在用于確定統(tǒng)計的“按情況”的方法中,對每一個回答了范圍內(nèi)的至少一個問題的應(yīng)答者創(chuàng)建了范圍結(jié)果。應(yīng)答者范圍分?jǐn)?shù)被平均。首先,問題結(jié)果被針對每一個應(yīng)答者處理。然后,通過對項目響應(yīng)求和并除以在范圍內(nèi)被回答的問題的數(shù)量,為每一個應(yīng)答者創(chuàng)建了范圍分?jǐn)?shù)。使用下列公式,從被求和的項目存儲桶可以計算項目平均值/平均范圍分?jǐn)?shù),例如平均值=((頻率存儲桶1×1)+(頻率存儲桶2×2)+(頻率存儲桶3×3))/貫穿項目的總的響應(yīng)數(shù)量。通過平均應(yīng)答者范圍分?jǐn)?shù),計算可以被完成。
一種“按項目”的方法使用上面所描述的集合方法來計算項目結(jié)果。然后,項目結(jié)果可以被平均,以創(chuàng)建范圍分?jǐn)?shù)。在一個實施例中,不滿足最小N要求的項目被忽略。此外,范圍計算可以被基于舍入的項目結(jié)果。
還可以計算主要主題或者范圍。從子范圍而非項目來構(gòu)建主要范圍。子范圍可以被基于問題結(jié)果來計算。例如,使用“按情況”或“按項目”計算方法,可以使用子范圍結(jié)果來計算主要范圍結(jié)果。
當(dāng)應(yīng)答者被添加到組時,可以重新計算平均值和標(biāo)準(zhǔn)差??梢允褂孟铝械仁絹碛嬎闫骄岛蜆?biāo)準(zhǔn)差DX=(X-S1)/N (1);DX2=DX2(2);S2=S2+(N×(N-1)×DX2)(3);S1=S1+DX (4);SD=SQR(S2/(N-1)) (5),其中,X是應(yīng)答者的回答,N是應(yīng)答者的數(shù)量,S1代表平均值,S2指示平方和,SD是標(biāo)準(zhǔn)差,并且,SQR是平方根。這樣,利用應(yīng)答者的答案和應(yīng)答者的數(shù)量,可以使用先前的平均值來計算新的平均值。類似地,利用應(yīng)答者的答案和應(yīng)答者的數(shù)量,可以使用先前的平方和來確定更新過的標(biāo)準(zhǔn)差。
在一個實施例中,可以按應(yīng)答者來對結(jié)果加權(quán),以反映母體特征。如果加權(quán)值存在于用于一個應(yīng)答者的數(shù)據(jù)表中,則該應(yīng)答者的結(jié)果被該加權(quán)值加權(quán)。為了加權(quán)數(shù)據(jù),加權(quán)值被添加到數(shù)據(jù)而非遞增響應(yīng)存儲桶。代表應(yīng)答者數(shù)量的統(tǒng)計通常不被加權(quán),而是代表對一個問題做出響應(yīng)的人的真實數(shù)量。
統(tǒng)計摘要引擎240-243可以包括大量用于統(tǒng)計和數(shù)據(jù)的例程。例如,引擎240-243可以包括用于返回被請求的統(tǒng)計的“獲得數(shù)據(jù)”例程。在一個實施例中,獲得數(shù)據(jù)例程既包容抑制也包容舍入結(jié)果。在一個實施例中,獲得數(shù)據(jù)例程取幾個參數(shù),包括用于被請求的組的標(biāo)識符、用于被請求的問題或范圍的標(biāo)識符、請求類型(例如問題還是范圍)、期望的統(tǒng)計、期望的抑制,和舍入格式(例如小數(shù)點的數(shù)量)。例如,可以使用額外的參數(shù)來指定抑制的條件。期望的統(tǒng)計可以是例如頻率存儲桶(對被請求的特定存儲桶響應(yīng)的數(shù)量)、百分比存儲桶(對被請求的特定存儲桶響應(yīng)的百分比)、非響應(yīng)存儲桶(存儲桶的非響應(yīng)的數(shù)量)、平均值或平均分?jǐn)?shù)、標(biāo)準(zhǔn)差、對被請求的問題或范圍的有效響應(yīng)的數(shù)量(實際的N),和/或無論問題或范圍如何,組的應(yīng)答者的總的數(shù)量(總的N)。期望的抑制可以包括例如無抑制、最小N個響應(yīng)、組抑制、習(xí)慣抑制(custom suppression)或其他的抑制例程。
獲得數(shù)據(jù)例程可以返回期望的統(tǒng)計和數(shù)據(jù)查找的結(jié)果。例程可以返回例如成功(統(tǒng)計被找到并且沒有被抑制)、被抑制(統(tǒng)計被找到,但是由于所選擇的抑制規(guī)則而被抑制)或無效(未找到統(tǒng)計或者沒有返回數(shù)據(jù))。
統(tǒng)計摘要引擎240-243還可以包括例如“獲得人口(population)”例程。在一個實施例中,獲得人口例程對和組的標(biāo)準(zhǔn)匹配的條目的數(shù)量進(jìn)行計數(shù),作為人口大小。或者,在記錄集合中的所有記錄可以被返回,以使來自記錄的信息可以被打印。
另一例程是“獲得書面評論”例程。獲得書面評論例程從被指定組的書面評論文件檢索書面評論。例如,書面評論可以被按問題和/或按問題內(nèi)的話題被返回。除了實際的評論以外,還可以提供其他的統(tǒng)計,例如來自該組的問題的評論的數(shù)量,提供對該問題的評論的應(yīng)答者的數(shù)量,書面評論問題的話題內(nèi)的評論的數(shù)量,和書面評論問題的話題內(nèi)的評論的百分比。
在一個替代實施例中,系統(tǒng)100可以包括報告系統(tǒng)(未被畫出)。例如,報告系統(tǒng)可以起到定義用于分析和調(diào)查統(tǒng)計分析的商務(wù)規(guī)則的批處理器的作用。在一個實施例中,報告系統(tǒng)包括單個統(tǒng)計處理器,該處理器執(zhí)行例如增量統(tǒng)計處理。在一個實施例中,消息沒有像在圖2或圖3中那樣被復(fù)用或者并合。數(shù)據(jù)和組被在報告系統(tǒng)的統(tǒng)計處理器中檢索和總結(jié)摘要。例如,統(tǒng)計結(jié)果可以被顯示、打印和/存儲在數(shù)據(jù)庫120中。例如,可以使用報告系統(tǒng)來定義和分析組、范圍項目、響應(yīng)、數(shù)據(jù)字段,和/或報告數(shù)據(jù)。報告系統(tǒng)可以更新數(shù)據(jù)庫120,用于和調(diào)查分析系統(tǒng)200一起使用。
圖7示出了依照本發(fā)明的實施例,用于產(chǎn)生顯示調(diào)查分析數(shù)據(jù)的文檔的報告布局系統(tǒng)700。在一個實施例中,系統(tǒng)700簡化了例如Adobe便攜式文檔文件(PDF)格式、Microsoft文字格式或Microsoft電子表格格式的報告布局的產(chǎn)生。在一個實施例中,系統(tǒng)700包括字體模塊710、顏色模塊720和PDF模塊730。在一個實施例中,系統(tǒng)700被和PDFlib和PDFGen庫一起使用,以產(chǎn)生PDF格式的報告,包括文本和/或圖形。此外,可以使用應(yīng)用程序,例如Excel WriterTM(電子表格書寫器)來在萬維網(wǎng)上產(chǎn)生MicrosoftExcel(微軟電子表格)文檔。
字體模塊710輔助例如報告PDF文件的報告的字體選擇和產(chǎn)生。在一個實施例中,字體模塊710是公共應(yīng)用程序編程接口(API)。字體模塊710封裝了在產(chǎn)生PDF或其他文檔格式文件中使用的字體。字體模塊710允許獨立于特定字符集工作的字體選擇。例如,如果正使用基于拉丁文字的字體打印日文漢字字符,則字體模塊710替代適當(dāng)?shù)淖煮w。
為了配置用于報告的字體,字體模塊710可以使用例如嵌入(Embeded)、編碼(Encoding)、字體名(FontName)、字體比例(FontScale)、GetLangEnum、加粗(IsBold)、傾斜(IsItalic)、下劃線(IsUnderlined)、統(tǒng)一字符編碼(IsUnicode)、語言和大小的屬性。字體模塊還可以使用例如復(fù)制(Copy)、GetLanguageList、SetFontByName、SetFontCustom和SetStyle的方法。
例如,顏色模塊720也可以被實施為公共API。在一個實施例中,當(dāng)產(chǎn)生例如PDF文件的文檔時,顏色模塊720簡化了給對象分配顏色。例如,顏色模塊720允許使用RGB三元組或來自預(yù)先設(shè)置的枚舉的“指定顏色(namedcolors)”來創(chuàng)建顏色。對于顏色產(chǎn)生,顏色模塊720可以使用例如顏色(例如紅、綠和藍(lán))和名字的屬性。顏色模塊720還可以使用復(fù)制、SetByName和SetByRGB的方法。
PDF模塊730包括在產(chǎn)生PDF、Microsoft電子表格、MicrosoftWord、HTML、XML或其他文檔文件中使用的繪制、測量和布局例程。例如,PDF模塊730包括PrintTextInBox(打印框中的文本)例程,該例程取字體模塊710創(chuàng)建的FontPDF對象(用于文本字體)和顏色模塊720創(chuàng)建的ColorPDF對象(用于文本顏色)。PrintTextInBox例程還使用例如文檔布局的坐標(biāo)、校正計數(shù)器值和可選參數(shù)來指示在試圖打印時不被打印的字符的數(shù)量(對于了解要布局多少行是有用的)。PDF模塊730還可以使用來自字體模塊710和顏色模塊720的輸出產(chǎn)生報告布局,用于在輸出140處顯示調(diào)查數(shù)據(jù)和統(tǒng)計數(shù)據(jù)。調(diào)查統(tǒng)計數(shù)據(jù)可以被插入由系統(tǒng)700所產(chǎn)生的報告模板。已完成的報告可以被存儲和/或顯示。在一個實施例中,報告PDF文件被在網(wǎng)上顯示。在另一個實施例中,報告文件被轉(zhuǎn)換為可擴(kuò)展標(biāo)記語言(XML)格式文檔,用于在網(wǎng)上顯示。
為了生成報告文檔布局,PDF模塊730可以使用例如創(chuàng)建者(Creator)、當(dāng)前頁面(CurrentPage)、文檔狀態(tài)(DocumentStatus)和m PDF的屬性。PDF模塊730還可以使用例如AddBookMark(添加書標(biāo))、AddImage(添加圖像)、AddImageInBox(在框中添加圖像)、AddWebLinkBox(添加網(wǎng)絡(luò)鏈接框)、BeginPage(開始頁)、CloseFile(關(guān)閉文件)、Copy(復(fù)制)、CurHGraphPos(圖形光標(biāo)的當(dāng)前水平位置)、CurHPos(文本光標(biāo)的當(dāng)前水平位置)、CurPageHeight、CurPageWidth、CurVGraphPos、(圖形光標(biāo)垂直位置)、CurVPos(文本光標(biāo)垂直位置)、DrawShape(例如棒、線、框、圓、多邊形)、EndPage(最后頁)、GetActualX/Y(得到實際的X/Y)、GetMatchingPenColor(得到匹配的筆顏色)、HTMLColorToRGB(HTML顏色到RGB)、MoveHPos(移動水平位置)、MoveVPos(移動垂直位置)、OpenFile(打開文件)、PlacePDI(放置PDI)、PrintText(打印文本)、PrintTextInBox(打印框中的文本)、PrintTextInBoxHTML(打印框中文本HTML)、ScalePage(尺度頁)和SetCursomPageSize(設(shè)置客戶頁尺寸)的方法。
因此,本發(fā)明的一些實施例展示了實時電子調(diào)查處理系統(tǒng)。一些實施例允許用戶創(chuàng)建調(diào)查并收集數(shù)據(jù)??梢远x例如問題、組和范圍(主題)。引擎可以處理數(shù)據(jù)。然后,從被處理的數(shù)據(jù)產(chǎn)生報告。
圖8示出了用于依照本發(fā)明的實施例使用的電子調(diào)查管理和分析的方法的流程圖800。首先,在步驟810,編輯調(diào)查參加者的列表。例如,可以編輯電子郵件列表,用于在管理調(diào)查中使用。然后,在步驟820,調(diào)查被分發(fā)到列表上的調(diào)查參加者。例如,利用到調(diào)查網(wǎng)頁的鏈接和口令,調(diào)查被通過電子郵件發(fā)給電子郵件列表上的每一個參加者。
接著,在步驟830,調(diào)查參加者連接到調(diào)查管理系統(tǒng),并完成調(diào)查。例如,調(diào)查參加者訪問網(wǎng)頁來參與調(diào)查。參加者的身份可以被認(rèn)證。然后,在步驟840,參加者的響應(yīng)被捕獲。例如,基于網(wǎng)絡(luò)的表格捕獲參加者的響應(yīng)。
在步驟850,除了應(yīng)答者標(biāo)識符之外的標(biāo)識和口令信息被從調(diào)查數(shù)據(jù)剝離。然后,在步驟860,調(diào)查數(shù)據(jù)被發(fā)送到處理和報告系統(tǒng)。在一個替代實施例中,紙質(zhì)調(diào)查可以被輸入數(shù)據(jù)文件用于處理。最后,在步驟870,可以產(chǎn)生統(tǒng)計調(diào)查數(shù)據(jù)的報告。
調(diào)查和報告顯示可以被翻譯成不同語言。在一個實施例中,當(dāng)調(diào)查被創(chuàng)建時,可以提交調(diào)查問題的翻譯,并且,響應(yīng)和最終輸出被相應(yīng)地翻譯。
在一個實施例中,管理員可以為處理調(diào)查數(shù)據(jù)選擇不同的規(guī)則。管理可以為調(diào)查設(shè)置不同的響應(yīng)值、響應(yīng)規(guī)模和/或參考項目。統(tǒng)計報告的類型和樣式可以被選擇,并送入報告系統(tǒng)700。組可以被根據(jù)被選擇的問題的某個值的集合定義。還可以使用語法解譯器來選擇組。解譯器可以使用定義數(shù)據(jù)組的統(tǒng)計操作符來構(gòu)造數(shù)據(jù)選擇語句。
在一個替代實施例中,可以使用取樣工具來取樣調(diào)查數(shù)據(jù)和統(tǒng)計。取樣工具可以對調(diào)查數(shù)據(jù)執(zhí)行統(tǒng)計計算。取樣工具可以使用調(diào)查響應(yīng)數(shù)據(jù)來執(zhí)行隨機(jī)統(tǒng)計計算和分層統(tǒng)計計算(例如,數(shù)據(jù)被劃分為小組)。
這樣,本發(fā)明的一些實施例提供了用于分析調(diào)查和統(tǒng)計數(shù)據(jù)的系統(tǒng)和方法。一些實施例使用分布式計算技術(shù)來執(zhí)行對例如通用目的和多層次反饋數(shù)據(jù)的調(diào)查數(shù)據(jù)的統(tǒng)計計算。某些系統(tǒng)提供了可縮放系統(tǒng),可縮放系統(tǒng)可以添加或削減硬件,以容納調(diào)查負(fù)載而不影響軟件或功能。一些實施例包括與哈希表耦合的矩陣結(jié)構(gòu),用于貫穿整個調(diào)查高效處理調(diào)查統(tǒng)計。在一些實施例中,可以使用基于外部可定義語義規(guī)則的標(biāo)準(zhǔn)分析器來確定例如哪些調(diào)查響應(yīng)屬于哪些組。在一個實施例中,用戶可以定義標(biāo)準(zhǔn)語句并實時檢索結(jié)果。一些實施例在多個摘要服務(wù)器之間復(fù)用調(diào)查摘要請求,以允許貫穿多個調(diào)查的峰值性能。多個調(diào)查和/或多個數(shù)據(jù)庫可以被容納。因此,一些實施例提供了對調(diào)查數(shù)據(jù)的實時處理,并允許在調(diào)查過程期間的即時反饋。
雖然已經(jīng)參考一些實施例描述了本發(fā)明,但是,本領(lǐng)域熟練技術(shù)人員將理解,可以做出各種改變,并且,不偏離本發(fā)明的范圍,等效物可以被替代。此外,根據(jù)本發(fā)明的教導(dǎo),不偏離本發(fā)明的范圍可以做出很多修改,以適應(yīng)特定情況或材料。因此,期望本發(fā)明不局限于所公開的實施例,而且本發(fā)明將包括落入所附權(quán)利要求范圍內(nèi)的所有實施例。
權(quán)利要求
1.一種用于處理調(diào)查數(shù)據(jù)的處理系統(tǒng),所述系統(tǒng)包含讀引擎適配器,用于讀取調(diào)查數(shù)據(jù)并且標(biāo)記用于處理調(diào)查數(shù)據(jù)的起始點;統(tǒng)計調(diào)查處理器,用于使用語義分析來處理所述調(diào)查數(shù)據(jù),所述統(tǒng)計調(diào)查處理器根據(jù)所述調(diào)查數(shù)據(jù),為調(diào)查、問題和范圍中的至少一個產(chǎn)生統(tǒng)計;和寫引擎適配器,用于輸出更新的調(diào)查統(tǒng)計。
2.如權(quán)利要求1所述的系統(tǒng),其中,所述讀引擎適配器從數(shù)據(jù)庫讀取先前的摘要狀態(tài)。
3.如權(quán)利要求1所述的系統(tǒng),其中,所述統(tǒng)計調(diào)查處理器包含用于根據(jù)可定義語義規(guī)則對調(diào)查數(shù)據(jù)進(jìn)行歸類的標(biāo)準(zhǔn)分析器。
4.如權(quán)利要求1所述的系統(tǒng),其中,所述統(tǒng)計調(diào)查處理器標(biāo)識所述調(diào)查數(shù)據(jù)作為其成員的報告組。
5.如權(quán)利要求1所述的系統(tǒng),還包含用于存儲調(diào)查的統(tǒng)計的哈希矩陣。
6.一種實時調(diào)查分析系統(tǒng),所述系統(tǒng)包含運行時間引擎,用于接收調(diào)查數(shù)據(jù);至少一個摘要并合器,用于分類調(diào)查數(shù)據(jù),并將所述調(diào)查數(shù)據(jù)路由到至少一個統(tǒng)計摘要引擎,所述至少一個摘要并合器根據(jù)至少一個標(biāo)準(zhǔn)來分類和路由所述調(diào)查數(shù)據(jù);和至少一個統(tǒng)計摘要引擎,用于實時地分析所述調(diào)查數(shù)據(jù),以執(zhí)行摘要和統(tǒng)計分析中的至少一個。
7.如權(quán)利要求6所述的系統(tǒng),其中,所述至少一個摘要并合器從多個來源接收調(diào)查數(shù)據(jù)流。
8.如權(quán)利要求6所述的系統(tǒng),其中,所述調(diào)查數(shù)據(jù)包含調(diào)查完成數(shù)據(jù)和新調(diào)查報告組數(shù)據(jù)中的至少一個。
9.如權(quán)利要求6所述的系統(tǒng),其中,所述至少一個標(biāo)準(zhǔn)還包含允許所述摘要并合器按照對于處理最優(yōu)的順序?qū)M(jìn)入的調(diào)查數(shù)據(jù)進(jìn)行分組的至少一個標(biāo)準(zhǔn)。
10.如權(quán)利要求6所述的系統(tǒng),其中,所述摘要并合器將多個調(diào)查數(shù)據(jù)與近來被處理的調(diào)查的歷史列表進(jìn)行比較,以便把所述多個調(diào)查數(shù)據(jù)路由到所述至少一個統(tǒng)計摘要引擎。
11.如權(quán)利要求6所述的系統(tǒng),其中,所述至少一個統(tǒng)計摘要引擎從數(shù)據(jù)庫讀取先前的摘要狀態(tài),以便使用所述調(diào)查數(shù)據(jù)標(biāo)記增量統(tǒng)計計算的起始點。
12.如權(quán)利要求6所述的系統(tǒng),還包含報告引擎,用于產(chǎn)生用于調(diào)查報告的新的組。
13.如權(quán)利要求6所述的系統(tǒng),還包含數(shù)據(jù)庫,用于存儲調(diào)查數(shù)據(jù)和調(diào)查報告組定義中的至少一個。
14.如權(quán)利要求6所述的系統(tǒng),還包含用于輸入調(diào)查數(shù)據(jù)的用戶接口。
15.如權(quán)利要求14所述的系統(tǒng),其中,所述用戶接口還包含基于網(wǎng)絡(luò)的用戶接口。
16.一種用于實時處理調(diào)查數(shù)據(jù)的方法,所述方法包含接收調(diào)查事件;根據(jù)至少一個標(biāo)準(zhǔn)確定所述調(diào)查事件的路由;將所述調(diào)查事件路由到調(diào)查處理器;在所述調(diào)查處理器實時地處理所述調(diào)查事件;和提供來自所述調(diào)查事件的實時反饋。
17.如權(quán)利要求16所述的方法,還包含確定進(jìn)入的事件是否包括調(diào)查數(shù)據(jù)或新的調(diào)查組。
18.如權(quán)利要求16所述的方法,其中,所述處理步驟還包含對調(diào)查數(shù)據(jù)進(jìn)行統(tǒng)計處理。
19.如權(quán)利要求16所述的方法,其中,所述處理步驟還包含創(chuàng)建新的調(diào)查組。
20.如權(quán)利要求16所述的方法,其中,所述調(diào)查步驟還包含按照調(diào)查、問題和主題其中的至少一個來分析調(diào)查響應(yīng)。
21.如權(quán)利要求16所述的方法,還包含根據(jù)所述被處理的調(diào)查事件來更新被存儲的數(shù)據(jù)。
全文摘要
本發(fā)明的一些實施例提供了用于改進(jìn)的實時調(diào)查數(shù)據(jù)處理和分析的系統(tǒng)。一些實施例使用分布式計算技術(shù)來執(zhí)行對例如通用目的和多層次反饋數(shù)據(jù)的調(diào)查數(shù)據(jù)的統(tǒng)計計算。一些實施例使用與哈希表耦合的矩陣結(jié)構(gòu)用于貫穿整個調(diào)查進(jìn)行高效處理調(diào)查統(tǒng)計。一些實施例使用基于外部可定義語義規(guī)則的標(biāo)準(zhǔn)分析器來確定哪些調(diào)查響應(yīng)屬于哪些組。一些實施例允許在各摘要服務(wù)器之間并合摘要請求,以允許貫穿任意數(shù)量的調(diào)查的峰值性能。一些實施例提供了可縮放、自適應(yīng)的調(diào)查處理系統(tǒng)和實時地處理調(diào)查結(jié)果的方法,允許在調(diào)查過程期間的即時反饋。
文檔編號G06F15/16GK1973281SQ200480013206
公開日2007年5月30日 申請日期2004年5月14日 優(yōu)先權(quán)日2003年5月16日
發(fā)明者威廉·H·麥塞, 馬修·W·赫克, 阿倫·埃里克森 申請人:瓦爾特拉公司