用于调查处理的方法和装置的制作方法

文档序号:6483906阅读:170来源:国知局
专利名称:用于调查处理的方法和装置的制作方法
技术领域
本发明一般涉及调查数据处理和分析。更具体地,本发明涉及改进的实时调查数据处理和分析。
背景技术
很多公司重视例如雇员评估和满意度调查的调查。例如,公司使用雇员评估来判断表现和给予晋升。公司还使用客户满意度调查来衡量产品和服务的成功,并确定改进。使用调查,经理还可以由雇员来评估。
例如,调查可以帮助启动工作地点环境、产品或服务改进以及雇员培训中的变化。调查结果可能影响到公司的重大战略决策。当前的调查系统不能提供快速的响应来帮助做出重要、及时的商务决策。而且,当前的调查系统很难按需访问。
因此,提供对调查的实时管理和处理的系统将是非常令人期待的。而且,提高了对调查、调查数据和调查统计的可访问性的系统将是非常令人期待的。允许调查信息和分类被动态地调整的调查处理系统也将是非常令人期待的。因此,存在对用于改进的实时调查数据处理和分析的系统和方法的需求。

发明内容
本发明的一些实施例提供了用于改进的实时调查数据处理和分析的系统和方法。一些实施例使用分布式计算技术来执行对例如通用目的和多层次反馈数据(multi rater feedback data)的调查数据的统计计算。一些实施例使用与哈希表耦合的矩阵结构,用于有效处理贯穿整个调查的调查统计。一些实施例使用基于外部可定义语义规则的标准分析器(parser)来确定哪些调查响应属于哪些组。一些实施例允许在各摘要服务器之间复用摘要请求,以实现贯穿任意数量的调查的峰值性能。一些实施例提供了可缩放(scalable)、自适应的调查处理系统和实时处理调查结果的方法,允许在调查过程期间的即时反馈。
在一个实施例中,调查处理系统包括读引擎适配器,用于读取调查数据并标记对调查数据的处理的起始点;统计调查处理器,用于使用语义分析来处理调查数据,所述统计调查处理器根据调查数据,针对调查、问题和范围其中的至少一个产生统计;和,写引擎适配器,用于输出更新的调查统计。
读引擎可以从数据库读出先前的摘要状态,以便为摘要和统计处理建立初始状态。在一个实施例中,统计调查处理器包括标准分析器,用于根据可定义语义规则对调查数据加以归类。统计调查处理器可以标识调查数据是其成员的报告组。系统还可以包括哈希矩阵,用于存储对调查的统计。
在一个实施例中,实时调查分析系统包括运行时间引擎,用于接收调查数据;至少一个摘要并合器,用于分类调查数据并将调查数据路由到至少一个统计摘要引擎;和,至少一个统计摘要引擎,用于实时地分析调查数据以执行摘要和统计分析其中至少一个。所述至少一个摘要并合器根据至少一个标准来分类和路由调查数据。
在一个实施例中,所述至少一个摘要并合器从多个来源接收调查数据流。调查数据可以包括调查完成数据和/或新调查报告组数据。一个或更多个标准可以包括一个或更多个允许摘要并合器对进入(incoming)的调查数据按照处理的最优顺序进行分组的标准。在一个实施例中,摘要并合器将多个调查数据与最近被处理的调查的历史列表进行比较,以便把所述多个调查数据路由到至少一个统计摘要引擎。所述至少一个或更多个统计摘要引擎可以从数据库读取先前的摘要状态,以便为使用调查数据的增量统计计算标记起始点。
在一个实施例中,实施调查分析系统还包括报告引擎,用于产生用于调查报告的新组。系统还可以包括数据库,用于存储调查数据和调查报告组定义其中至少一个。此外,系统还包括用户接口,用于输入调查数据。在一个实施例中,用户接口是基于网络(Web-based)的用户接口。
用于调查数据的实时处理的方法的实施例包括接收调查事件;根据至少一个标准来确定所述调查事件的路由;将所述调查事件路由到调查处理器;在调查处理器实时地处理所述调查事件;和,提供来自所述调查事件的实时反馈。该方法还可以包括确定进入事件是否包括调查数据或者新的调查组。在一个实施例中,处理步骤包括对调查数据的统计处理。处理步骤还可以包括创建新的调查组。在一个实施例中,处理步骤按照调查、问题和/或主题来分析调查响应。该方法还可以包括根据被处理的调查事件来更新所存储的数据。


图1示出了依照本发明的实施例使用的调查系统。
图2示出了依照本发明的实施例使用的调查分析系统。
图3示出了依照本发明的实施例使用的统计摘要引擎。
图4示出了用于在依照本发明的实施例使用的统计摘要引擎中对事件消息分类的方法的流程图。
图5示出了为依照本发明的实施例使用的摘要做准备时读摘要请求的方法的流程图。
图6示出了用于依照本发明的实施例使用的统计摘要的方法的流程图。
图7示出了依照本发明的实施例,用于产生显示调查分析数据的文档的报告布局系统。
图8示出了用于依照本发明的实施例使用的电子调查管理和分析的方法的流程图。
当结合附图阅读时,将更好地理解前面的发明内容以及下面对本发明的一些实施例的详细描述。为了说明本发明的目的,在图中示出了一些实施例。但是,应该理解,本发明不局限于在附图中所示的配置和手段。
具体实施例方式
图1示出了依照本发明的实施例使用的调查系统100。系统100包括用户接口110、数据库120、调查分析系统130和输出140。
用户接口110向用户展示调查并接受用户的调查数据。然后,调查数据被传送到数据库120用于存储。调查分析系统130处理来自数据库120的数据以产生期望的输出。被处理的结果可以在输出140显示和/或存储在数据库120中。
例如,在一个实施例中,用户接口110可以是基于网络的接口或其他的数据输入形式。可以用例如超文本标记语言(HTML)、可扩展标记语言(XML)、简单对象访问协议(SOAP)、perl、java或其他的公共网关接口(CGI)脚本来实施用户接口110,以捕获用户调查响应,作为数据库120的数据。使用例如微软消息队列的消息传输,数据和其他消息可以被从用户接口110传递到数据库120。在一个实施例中,数据库120是例如运行结构化查询语言(Structured Query Language,SQL)服务器,并被配置成为数据提供冗余性和安全性的四处理器服务器集群的服务器。用户接口110可以驻留在和数据库120或调查分析系统130相同的计算机上,或者可以被实施在单独的计算机上。例如,用户接口110可以被在单处理器或双处理器服务器上运行。系统100的部件可以被通过例如以太网、吉比特以太网的连接、无线连接或其他的有线连接来联网。在一个实施例中,使用TCP/IP作为在系统100的部件之间通讯的网络协议。例如在一个实施例中,调查分析系统130是四处理器服务器。系统100的部件可以被实施在软件和/或硬件中。
图2示出了依照本发明的实施例使用的调查分析系统200。调查分析系统200和上面参照图1所描述的调查分析系统130类似。分析系统200包括调查运行时间引擎210、调查报告引擎220、摘要并合器230-233和统计摘要引擎240-243。
调查运行时间引擎210从用户接口110接收调查数据。调查数据被传送到数据库120。调查运行时间引擎210还向摘要并合器230-233其中的一个发送调查完成消息。类似地,调查报告引擎220还向数据库120发送组定义,并向摘要并合器230-233其中的一个发送组定义完成消息。摘要并合器230-233和统计摘要引擎240-243通讯,以便总结摘要并执行例如调查数据或组定义的统计分析。统计摘要引擎240-243从数据库120接收信息并更新数据库120。
在一个实施例中,在用户已在用户接口110处完成了例如基于网络的调查的调查后,调查运行时间引擎210产生调查完成事件。该事件包括标识调查响应记录的信息,例如,调查响应记录是数据库标识符、调查标识符和用户应答者标识符组合的形式。调查完成事件可以被直接发送到统计摘要引擎240-243,或者被发送到摘要并合器230-233用于路由到适当的统计摘要引擎240-243。摘要完成事件还可以在数据库120中被标记为对用户的摘要的未被完成的请求。
类似地,在另一个实施例中,用户可以为报告创建新组。调查报告引擎220产生新组事件,新组事件报告该组的标识符。新组事件可以被直接发送到统计摘要引擎240-243,或者被发送到摘要并合器230-233,用于路由到适当的统计摘要引擎240-243。调查报告引擎220还可以向数据库120发送新组定义,用于在例如为该组创建新摘要记录时使用。
摘要并合器230-233从多个来源接收事件流。事件流包括例如新组定义事件和/或新组完成事件。摘要并合器230-233对进入的消息进行分组,例如按最优顺序对消息进行分组,以有助于有效的总结摘要。消息被根据应答者正在对哪个调查做出响应(对于调查完成事件)或正被定义的组(对于新组定义事件)发送到统计摘要引擎240-243。
图3示出了依照本发明的实施例使用的统计摘要引擎300。统计摘要引擎300和上面参照图2所描述的统计摘要引擎240-243类似。统计摘要引擎300包括引擎适配器(读)310、统计处理器320和引擎适配器(写)330。下面更为详细地描述摘要引擎300的部件。
摘要并合器230接收新事件。摘要并合器230分类队列中进入的消息。摘要并合器230还按照最优顺序对进入的消息进行分组以有助于有效的摘要。在一个实施例中,摘要并合器230具有优化目标,包括根据当前队列状态,按可能的最大组对摘要消息进行分组,并保证每一个调查被给予“关注”。例如,即使调查A比调查B具有多1000倍的调查提交事件,调查B也将不必要等待过长的时间以被分析和更新。在一个实施例中,摘要并合器230一直运行,直到在消息队列中不存在消息为止。当队列为空时,摘要并合器230“休眠”,直到接收到新消息为止。如果队列从来不空,则摘要并合器230可以持续地运行。
图4示出了用于在依照本发明的实施例使用的摘要并合器230中对事件消息分类或并合的方法的流程图400。在一个实施例中,摘要并合器230尽可能多的处理属于调查的事件。首先,在步骤410,在摘要并合器230从例如MicrosoftMessage Queue(微软消息队列)的消息传递(messaging)系统接收到新消息通知。接着,在步骤420,摘要并合器230确定要处理的调查。然后,在步骤430,摘要并合器230检查队列中的记录(例如,直到“t”个元素的限制)。在步骤440,从队列去掉属于已经被选择用于处理的调查的记录。接着,在步骤450,来自事件的数据被分组,并被传递到摘要引擎300。
如上所述,摘要并合器230确定要处理哪一个调查。在一个实施例中,摘要并合器230保留有最近被处理的调查的历史列表。为了确定要处理哪一个调查,摘要并合器230通过找到在直到某个深度“d”的队列中被代表的所有唯一的调查来编辑可能的组合的候选者列表。一旦形成了候选者列表“C”,则候选者列表被与历史类别比较。历史列表“H”代表近来已经被处理的调查,直到深度“h”。历史列表中的记录可以被按完成的顺序列出,例如最近被完成的调查在顶部。
在一个实施例中,摘要并合器230试图在“C”中找到第一个不在“H”中的记录(C/H),而同时计算有序集合“HC”,集合“HC”代表“H”和“C”的交集(H∩C)。如果(C/H)求值得到非空集合,则来自(C/H)的第一项被选作摘要候选者。如果(C/H)求值得到空集,则从由“HC”所代表的集合(H∩C)中的最后元素选择候选者。如果该集合是非空的,则第一个候选者被从近来还没有被处理的候选者列表取出。如果该集合是空的,则所有的候选者近来已经被处理。这样,代表最近被处理的调查的候选者(来自(H∩C)的最后一个元素)被处理。一旦确定了消息列表,则该列表被编辑为集合“M”,集合“M”可以在内部由矢量结构来代表。然后,该矢量被传递到摘要引擎300用于处理。
如上所述,“t”代表当计算在统计摘要引擎300的单次迭代中要被处理的“M”消息集合时“查找(peek)”队列的条目的数量。在一个实施例中,“t”被根据运行统计摘要引擎300的计算机上可用的RAM设置。例如,具有2GBRAM的服务器可以处理来自单个调查的大约100,000个调查完成事件。
候选者搜索深度“d”代表当计算要被处理的候选者调查集合“C”时“查找”队列的条目的数量。深度“d”帮助保证在摘要并合器230的实例中的调查处理主要是少量的调查时,摘要并合器230不在收集候选者上花费太多时间。
候选者集合限制“c”指示要收集的候选者事件的最大数量。例如,如果候选者收集操作在队列中达到深度“d”之前产生了“c”个条目,则候选者收集操作循环停止。当大量不同的调查正在被同时处理时,限制“c”帮助优化在收集候选者上所花费的时间。
历史集合限制“h”指示要记忆的候选者历史条目的最大数量。对“h”的较低设置可能导致用于小调查的“资源枯竭”,小调查正在与大调查相同的服务器上被总结摘要。对“h”的较高设置可能导致过长的用于找到候选者的计算时间。
如上所述,在一个实施例中,摘要并合器230处理队列中的记录,以使请求被以下列方式分组不因在特定时间为照顾主要调查而使得摘要请求被处理而使调查枯竭。然后,可以通过控制候选者搜索的深度和存储的变量来控制避免资源枯竭随着并合操作的性能的变化。在一个替代实施例中,摘要并合器230可以简单地检查队列中的第一项,然后提取和第一项匹配的前“z”项。资源枯竭将被避免,但是主要调查可能能够影响数量较少的调查的摘要。例如,来自一个调查的很多请求可能引起影响小得多的调查的摘要速度的阻塞。但是,更简单的方法可以提供配置上较少的开销和复杂性。
摘要引擎300接收摘要并合器230所编辑的摘要请求,并根据请求驱动摘要计算。引擎适配器(读)310根据来自摘要并合器230的消息,从数据库120读取调查数据。引擎适配器(读)310从数据库120读取先前的摘要状态,以便为增量统计计算标记起始点。
图5示出了为依照本发明的实施例使用的摘要做准备时读摘要请求的方法的流程图500。首先,在步骤510,引擎适配器(读)310从摘要并合器230接收摘要调用。然后,在步骤520,引擎适配器(读)310确定消息是否涉及调查提交事件或新组事件。
如果摘要请求消息涉及调查提交事件,则在步骤530,引擎适配器(读)310从数据库120读用于新调查响应的调查数据集合。调查数据集合包括关于调查的结构信息(例如,相关问题或项目的组,由子部件构成的主范围或者主题)。如果摘要请求消息涉及新组事件,则在步骤535,引擎适配器(读)310从数据库读整个调查数据集合。该数据集合可以包括例如项目、范围、响应规模和其他相关的信息。
接着,对于调查提交事件,在步骤540,从数据库120读取先前的摘要状态。先前的摘要状态可以包括例如项目、范围、响应状态和其他相关的信息。先前的摘要状态代表在增量摘要之前的初始状态。
然后,对于调查提交事件,在步骤550,针对每一行数据找到组,例如,根据该数据,应答者是该数据的成员。统计处理器320可以被调用,以确定每一单行数据属于哪些组。调查的组成员关系可以被基于来自调查或预编码信息的回答,所述信息例如部门或人口统计学信息,被附加到应答者上。对于新组事件,在步骤555,找到新组将总结摘要的数据行。统计处理器320可以被调用以确定哪些行数据属于新组。最初可以根据在创建该组之前已经被提交的调查来计算该组。在一个实施例中,组事件和调查提交事件可以顺次地运行,以使不正确的数据不被调查事件创建,所述调查事件和其所属的组在同一时间被处理。操作的顺序不重要。
在步骤560,读引擎适配器(读)310调用统计处理器320执行对受到影响(对于新组,如果事件是新组事件)的组的计算。例如,结构、信息、要被摘要的数据和数据应用到的组可以被传递到统计处理器320。
在一个实施例中,统计处理器320根据新调查响应来更新统计或根据新组来创建新统计行。例如,统计处理器320执行增量统计计算,以根据新接收到的调查数据(例如,增量摘要)来确定经调整的统计状态。统计处理器320还执行对数据的分析,以便为给定的应答者确定组成员关系。按组分析允许读引擎适配器310把组加载到统计摘要引擎300中,统计摘要引擎300可应用于特定一轮的增量摘要。
在一个实施例中,统计处理器320包括标准分析器。标准分析器使用例如说明逻辑语句来执行对调查数据流的语义分析。标准分析器执行对数据流的语义分析,以确定例如哪些数据属于哪个组。分析器可以被定制,以便实施允许更快和更有效的调查数据分析的操作符(operator)。例如,具有专用操作符的分析器可以被使用Unix工具lex和yacc产生,并被使用C或C++编程语言编程。
图6示出了用于依照本发明的实施例使用的统计摘要的方法的流程图600。首先,在步骤610,统计处理器320接收例如项目、主题或范围、响应规模、重新编码存储桶(recode bucket)的结构和其他相关信息。然后,在步骤620,统计处理器320接收要被包括在摘要中的组。接着,在步骤630,统计处理器320分配哈希矩阵数据结构来为数据保持初始状态。
在步骤640,统计处理器320接收数据的每一个相关行,并执行增量摘要。即,统计处理器320递增数据集合中的适当行。对每一行数据,统计处理器320针对该行作为其成员的每一个组,使用先前的状态和新的数据行。统计处理器320用更新过的数据更新哈希矩阵。然后,在步骤650,一旦所有行数据都被处理,则更新过的摘要状态被返回到引擎适配器(写)330。
在摘要中使用的哈希矩阵结构以节省存储器的方式存储调查的统计。哈希矩阵结构包括在矩阵的每一个轴上的哈希表。在一个实施例中,哈希矩阵提供了具有最少冲突的恒定查找时间。
在一个实施例中,哈希矩阵在矩阵的“项目/范围”元素和矩阵的“组”元素中存储调查的统计。矩阵中的组是相关数据行作为其成员的组,除非哈希矩阵是包括所有组的批矩阵(batch matrix)。在一个实施例中,哈希矩阵是与三哈希表结构耦合的统计对象两维阵列。哈希表结构包括例如项目的结构、组的结构和项目的每一个范围或组的结构。例如,哈希表结构在项目/组或范围/组对的基础上,在哈希矩阵中提供了关联查找。结果,对特定统计的查找(例如为了检索或更新的目的)被在O(C)的时间内执行。在一个实施例中,针对在保持统计状态的同时可能的最小存储器使用来优化存储器使用。
在一个实施例中,哈希表是10×N的分布配置,其中N是组元素的大小或组合项目和范围元素的大小。在典型情况下,哈希表中的冲突是罕见的。可以使用更高的哈希表分布配置因子来减少在某些情况下的冲突。
例如,在哈希矩阵内总的存储器利用可能是200字节×G×(I+D),其中,G是组计数,I是项目计数,并且D是范围(或项目的组)计数。例如,如果G=10,000,并且I+D=1000,则用于保持摘要状态的总存储器利用略高于2G字节,包括哈希表所用的空间。
一旦摘要总结完成,则被递增的统计被写回数据库120。控制流程被传回摘要并合器230。如果更多的消息仍在消息队列中,则摘要并合器230可以重复统计摘要过程。引擎适配器(写)330接收统计处理器320所产生的结果。引擎适配器(写)330将更新过的统计写到数据库120。这样,数据库120被用经过分析的调查结果和/或新组更新。
特定项目/组对的统计可以包括例如平均值、标准差、每一个响应选项的响应频率、每一重新编码的重新编码频率、实际的N、加权的N和被存储的非响应计数。特定范围/组对的统计包括例如平均值、标准差、每一个响应选项的响应频率、每一重新编码的重新编码频率、实际的N、加权的N和被存储的非响应计数。
可以为调查中的每一个问题计算统计。此外,可以为调查中的范围或主题计算统计或分数。在一个实施例中,计算在由于不足数量的应答者所致而抑制数据之前被完成。此外,忽略有效回答范围之外的响应。在一个实施例中,当数据被检索而非在统计被计算时发生舍入。在一个实施例中,数据库120中的空白记录被向着响应总数计数而非针对问题层响应计算。在计算中也可以使用倒转分数设置(例如,具有从1到5变化的有效值的响应可以被记录为1=5,2=4,3=3,4=2和5=1)。
可以使用响应的抑制来保证每一组对问题或范围至少具有N个响应。或者,根据其他组的响应,可以抑制结果。组和抑制规则之间的关系可以被配置。例如,对于特定问题或者问题组,可以给一个组分配最少数量或层次的响应。
在用于确定统计的集合方法中,从问题层次结果创建主题或范围结果。从包含感兴趣的范围的问题来对响应频率求和。计算和调查问题响应计算类似,但是应答者的数量被针对范围或者主题分数平均。首先,响应类别或存储桶(例如赞同、两者都不、不赞同、良、差、公平、是、否,等等)被从用来计算范围的问题添加。然后,对于百分比统计,来自范围的响应频率存储桶计数被所有频率存储桶的总计数来除。每一个响应存储桶可以被分配一个用于例如平均值和标准差计算的值。对于平均值或平均分数,范围频率存储桶值被乘以范围频率存储桶计数。然后总数被总的应答者数量来除。例如,平均值=((频率存储桶1×1)+(频率存储桶2×2)+(频率存储桶3×3))/总的应答者数量。对范围响应的很多用户可以被计算为贯穿用来计算该范围的问题做出响应的数的平均。每一个问题的应答者的数量被相加,然后,总数除以用来计算范围的问题的总数量。在一个实施例中,具有零个应答者的问题被包括在响应计算的范围数量中。通过对非响应频率存储桶求和,还可以计算非响应的计数。
在一个实施例中,调查问题统计遵循在集合方法下定义的规则。或者,可以用其他的统计方法来处理调查数据。在一个实施例中,如果问题被包括在组的数据文件布局定义中,则问题结果被针对该组生成。
在用于确定统计的“按情况”的方法中,对每一个回答了范围内的至少一个问题的应答者创建了范围结果。应答者范围分数被平均。首先,问题结果被针对每一个应答者处理。然后,通过对项目响应求和并除以在范围内被回答的问题的数量,为每一个应答者创建了范围分数。使用下列公式,从被求和的项目存储桶可以计算项目平均值/平均范围分数,例如平均值=((频率存储桶1×1)+(频率存储桶2×2)+(频率存储桶3×3))/贯穿项目的总的响应数量。通过平均应答者范围分数,计算可以被完成。
一种“按项目”的方法使用上面所描述的集合方法来计算项目结果。然后,项目结果可以被平均,以创建范围分数。在一个实施例中,不满足最小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是应答者的回答,N是应答者的数量,S1代表平均值,S2指示平方和,SD是标准差,并且,SQR是平方根。这样,利用应答者的答案和应答者的数量,可以使用先前的平均值来计算新的平均值。类似地,利用应答者的答案和应答者的数量,可以使用先前的平方和来确定更新过的标准差。
在一个实施例中,可以按应答者来对结果加权,以反映母体特征。如果加权值存在于用于一个应答者的数据表中,则该应答者的结果被该加权值加权。为了加权数据,加权值被添加到数据而非递增响应存储桶。代表应答者数量的统计通常不被加权,而是代表对一个问题做出响应的人的真实数量。
统计摘要引擎240-243可以包括大量用于统计和数据的例程。例如,引擎240-243可以包括用于返回被请求的统计的“获得数据”例程。在一个实施例中,获得数据例程既包容抑制也包容舍入结果。在一个实施例中,获得数据例程取几个参数,包括用于被请求的组的标识符、用于被请求的问题或范围的标识符、请求类型(例如问题还是范围)、期望的统计、期望的抑制,和舍入格式(例如小数点的数量)。例如,可以使用额外的参数来指定抑制的条件。期望的统计可以是例如频率存储桶(对被请求的特定存储桶响应的数量)、百分比存储桶(对被请求的特定存储桶响应的百分比)、非响应存储桶(存储桶的非响应的数量)、平均值或平均分数、标准差、对被请求的问题或范围的有效响应的数量(实际的N),和/或无论问题或范围如何,组的应答者的总的数量(总的N)。期望的抑制可以包括例如无抑制、最小N个响应、组抑制、习惯抑制(custom suppression)或其他的抑制例程。
获得数据例程可以返回期望的统计和数据查找的结果。例程可以返回例如成功(统计被找到并且没有被抑制)、被抑制(统计被找到,但是由于所选择的抑制规则而被抑制)或无效(未找到统计或者没有返回数据)。
统计摘要引擎240-243还可以包括例如“获得人口(population)”例程。在一个实施例中,获得人口例程对和组的标准匹配的条目的数量进行计数,作为人口大小。或者,在记录集合中的所有记录可以被返回,以使来自记录的信息可以被打印。
另一例程是“获得书面评论”例程。获得书面评论例程从被指定组的书面评论文件检索书面评论。例如,书面评论可以被按问题和/或按问题内的话题被返回。除了实际的评论以外,还可以提供其他的统计,例如来自该组的问题的评论的数量,提供对该问题的评论的应答者的数量,书面评论问题的话题内的评论的数量,和书面评论问题的话题内的评论的百分比。
在一个替代实施例中,系统100可以包括报告系统(未被画出)。例如,报告系统可以起到定义用于分析和调查统计分析的商务规则的批处理器的作用。在一个实施例中,报告系统包括单个统计处理器,该处理器执行例如增量统计处理。在一个实施例中,消息没有像在图2或图3中那样被复用或者并合。数据和组被在报告系统的统计处理器中检索和总结摘要。例如,统计结果可以被显示、打印和/存储在数据库120中。例如,可以使用报告系统来定义和分析组、范围项目、响应、数据字段,和/或报告数据。报告系统可以更新数据库120,用于和调查分析系统200一起使用。
图7示出了依照本发明的实施例,用于产生显示调查分析数据的文档的报告布局系统700。在一个实施例中,系统700简化了例如Adobe便携式文档文件(PDF)格式、Microsoft文字格式或Microsoft电子表格格式的报告布局的产生。在一个实施例中,系统700包括字体模块710、颜色模块720和PDF模块730。在一个实施例中,系统700被和PDFlib和PDFGen库一起使用,以产生PDF格式的报告,包括文本和/或图形。此外,可以使用应用程序,例如Excel WriterTM(电子表格书写器)来在万维网上产生MicrosoftExcel(微软电子表格)文档。
字体模块710辅助例如报告PDF文件的报告的字体选择和产生。在一个实施例中,字体模块710是公共应用程序编程接口(API)。字体模块710封装了在产生PDF或其他文档格式文件中使用的字体。字体模块710允许独立于特定字符集工作的字体选择。例如,如果正使用基于拉丁文字的字体打印日文汉字字符,则字体模块710替代适当的字体。
为了配置用于报告的字体,字体模块710可以使用例如嵌入(Embeded)、编码(Encoding)、字体名(FontName)、字体比例(FontScale)、GetLangEnum、加粗(IsBold)、倾斜(IsItalic)、下划线(IsUnderlined)、统一字符编码(IsUnicode)、语言和大小的属性。字体模块还可以使用例如复制(Copy)、GetLanguageList、SetFontByName、SetFontCustom和SetStyle的方法。
例如,颜色模块720也可以被实施为公共API。在一个实施例中,当产生例如PDF文件的文档时,颜色模块720简化了给对象分配颜色。例如,颜色模块720允许使用RGB三元组或来自预先设置的枚举的“指定颜色(namedcolors)”来创建颜色。对于颜色产生,颜色模块720可以使用例如颜色(例如红、绿和蓝)和名字的属性。颜色模块720还可以使用复制、SetByName和SetByRGB的方法。
PDF模块730包括在产生PDF、Microsoft电子表格、MicrosoftWord、HTML、XML或其他文档文件中使用的绘制、测量和布局例程。例如,PDF模块730包括PrintTextInBox(打印框中的文本)例程,该例程取字体模块710创建的FontPDF对象(用于文本字体)和颜色模块720创建的ColorPDF对象(用于文本颜色)。PrintTextInBox例程还使用例如文档布局的坐标、校正计数器值和可选参数来指示在试图打印时不被打印的字符的数量(对于了解要布局多少行是有用的)。PDF模块730还可以使用来自字体模块710和颜色模块720的输出产生报告布局,用于在输出140处显示调查数据和统计数据。调查统计数据可以被插入由系统700所产生的报告模板。已完成的报告可以被存储和/或显示。在一个实施例中,报告PDF文件被在网上显示。在另一个实施例中,报告文件被转换为可扩展标记语言(XML)格式文档,用于在网上显示。
为了生成报告文档布局,PDF模块730可以使用例如创建者(Creator)、当前页面(CurrentPage)、文档状态(DocumentStatus)和m PDF的属性。PDF模块730还可以使用例如AddBookMark(添加书标)、AddImage(添加图像)、AddImageInBox(在框中添加图像)、AddWebLinkBox(添加网络链接框)、BeginPage(开始页)、CloseFile(关闭文件)、Copy(复制)、CurHGraphPos(图形光标的当前水平位置)、CurHPos(文本光标的当前水平位置)、CurPageHeight、CurPageWidth、CurVGraphPos、(图形光标垂直位置)、CurVPos(文本光标垂直位置)、DrawShape(例如棒、线、框、圆、多边形)、EndPage(最后页)、GetActualX/Y(得到实际的X/Y)、GetMatchingPenColor(得到匹配的笔颜色)、HTMLColorToRGB(HTML颜色到RGB)、MoveHPos(移动水平位置)、MoveVPos(移动垂直位置)、OpenFile(打开文件)、PlacePDI(放置PDI)、PrintText(打印文本)、PrintTextInBox(打印框中的文本)、PrintTextInBoxHTML(打印框中文本HTML)、ScalePage(尺度页)和SetCursomPageSize(设置客户页尺寸)的方法。
因此,本发明的一些实施例展示了实时电子调查处理系统。一些实施例允许用户创建调查并收集数据。可以定义例如问题、组和范围(主题)。引擎可以处理数据。然后,从被处理的数据产生报告。
图8示出了用于依照本发明的实施例使用的电子调查管理和分析的方法的流程图800。首先,在步骤810,编辑调查参加者的列表。例如,可以编辑电子邮件列表,用于在管理调查中使用。然后,在步骤820,调查被分发到列表上的调查参加者。例如,利用到调查网页的链接和口令,调查被通过电子邮件发给电子邮件列表上的每一个参加者。
接着,在步骤830,调查参加者连接到调查管理系统,并完成调查。例如,调查参加者访问网页来参与调查。参加者的身份可以被认证。然后,在步骤840,参加者的响应被捕获。例如,基于网络的表格捕获参加者的响应。
在步骤850,除了应答者标识符之外的标识和口令信息被从调查数据剥离。然后,在步骤860,调查数据被发送到处理和报告系统。在一个替代实施例中,纸质调查可以被输入数据文件用于处理。最后,在步骤870,可以产生统计调查数据的报告。
调查和报告显示可以被翻译成不同语言。在一个实施例中,当调查被创建时,可以提交调查问题的翻译,并且,响应和最终输出被相应地翻译。
在一个实施例中,管理员可以为处理调查数据选择不同的规则。管理可以为调查设置不同的响应值、响应规模和/或参考项目。统计报告的类型和样式可以被选择,并送入报告系统700。组可以被根据被选择的问题的某个值的集合定义。还可以使用语法解译器来选择组。解译器可以使用定义数据组的统计操作符来构造数据选择语句。
在一个替代实施例中,可以使用取样工具来取样调查数据和统计。取样工具可以对调查数据执行统计计算。取样工具可以使用调查响应数据来执行随机统计计算和分层统计计算(例如,数据被划分为小组)。
这样,本发明的一些实施例提供了用于分析调查和统计数据的系统和方法。一些实施例使用分布式计算技术来执行对例如通用目的和多层次反馈数据的调查数据的统计计算。某些系统提供了可缩放系统,可缩放系统可以添加或削减硬件,以容纳调查负载而不影响软件或功能。一些实施例包括与哈希表耦合的矩阵结构,用于贯穿整个调查高效处理调查统计。在一些实施例中,可以使用基于外部可定义语义规则的标准分析器来确定例如哪些调查响应属于哪些组。在一个实施例中,用户可以定义标准语句并实时检索结果。一些实施例在多个摘要服务器之间复用调查摘要请求,以允许贯穿多个调查的峰值性能。多个调查和/或多个数据库可以被容纳。因此,一些实施例提供了对调查数据的实时处理,并允许在调查过程期间的即时反馈。
虽然已经参考一些实施例描述了本发明,但是,本领域熟练技术人员将理解,可以做出各种改变,并且,不偏离本发明的范围,等效物可以被替代。此外,根据本发明的教导,不偏离本发明的范围可以做出很多修改,以适应特定情况或材料。因此,期望本发明不局限于所公开的实施例,而且本发明将包括落入所附权利要求范围内的所有实施例。
权利要求
1.一种用于处理调查数据的处理系统,所述系统包含读引擎适配器,用于读取调查数据并且标记用于处理调查数据的起始点;统计调查处理器,用于使用语义分析来处理所述调查数据,所述统计调查处理器根据所述调查数据,为调查、问题和范围中的至少一个产生统计;和写引擎适配器,用于输出更新的调查统计。
2.如权利要求1所述的系统,其中,所述读引擎适配器从数据库读取先前的摘要状态。
3.如权利要求1所述的系统,其中,所述统计调查处理器包含用于根据可定义语义规则对调查数据进行归类的标准分析器。
4.如权利要求1所述的系统,其中,所述统计调查处理器标识所述调查数据作为其成员的报告组。
5.如权利要求1所述的系统,还包含用于存储调查的统计的哈希矩阵。
6.一种实时调查分析系统,所述系统包含运行时间引擎,用于接收调查数据;至少一个摘要并合器,用于分类调查数据,并将所述调查数据路由到至少一个统计摘要引擎,所述至少一个摘要并合器根据至少一个标准来分类和路由所述调查数据;和至少一个统计摘要引擎,用于实时地分析所述调查数据,以执行摘要和统计分析中的至少一个。
7.如权利要求6所述的系统,其中,所述至少一个摘要并合器从多个来源接收调查数据流。
8.如权利要求6所述的系统,其中,所述调查数据包含调查完成数据和新调查报告组数据中的至少一个。
9.如权利要求6所述的系统,其中,所述至少一个标准还包含允许所述摘要并合器按照对于处理最优的顺序对进入的调查数据进行分组的至少一个标准。
10.如权利要求6所述的系统,其中,所述摘要并合器将多个调查数据与近来被处理的调查的历史列表进行比较,以便把所述多个调查数据路由到所述至少一个统计摘要引擎。
11.如权利要求6所述的系统,其中,所述至少一个统计摘要引擎从数据库读取先前的摘要状态,以便使用所述调查数据标记增量统计计算的起始点。
12.如权利要求6所述的系统,还包含报告引擎,用于产生用于调查报告的新的组。
13.如权利要求6所述的系统,还包含数据库,用于存储调查数据和调查报告组定义中的至少一个。
14.如权利要求6所述的系统,还包含用于输入调查数据的用户接口。
15.如权利要求14所述的系统,其中,所述用户接口还包含基于网络的用户接口。
16.一种用于实时处理调查数据的方法,所述方法包含接收调查事件;根据至少一个标准确定所述调查事件的路由;将所述调查事件路由到调查处理器;在所述调查处理器实时地处理所述调查事件;和提供来自所述调查事件的实时反馈。
17.如权利要求16所述的方法,还包含确定进入的事件是否包括调查数据或新的调查组。
18.如权利要求16所述的方法,其中,所述处理步骤还包含对调查数据进行统计处理。
19.如权利要求16所述的方法,其中,所述处理步骤还包含创建新的调查组。
20.如权利要求16所述的方法,其中,所述调查步骤还包含按照调查、问题和主题其中的至少一个来分析调查响应。
21.如权利要求16所述的方法,还包含根据所述被处理的调查事件来更新被存储的数据。
全文摘要
本发明的一些实施例提供了用于改进的实时调查数据处理和分析的系统。一些实施例使用分布式计算技术来执行对例如通用目的和多层次反馈数据的调查数据的统计计算。一些实施例使用与哈希表耦合的矩阵结构用于贯穿整个调查进行高效处理调查统计。一些实施例使用基于外部可定义语义规则的标准分析器来确定哪些调查响应属于哪些组。一些实施例允许在各摘要服务器之间并合摘要请求,以允许贯穿任意数量的调查的峰值性能。一些实施例提供了可缩放、自适应的调查处理系统和实时地处理调查结果的方法,允许在调查过程期间的即时反馈。
文档编号G06F15/16GK1973281SQ200480013206
公开日2007年5月30日 申请日期2004年5月14日 优先权日2003年5月16日
发明者威廉·H·麦塞, 马修·W·赫克, 阿伦·埃里克森 申请人:瓦尔特拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1