合计系统转让专利

申请号 : CN200480007643.3

文献号 : CN1762141B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 深泽隆茂比留间裕新垣好二三科达治

申请人 : EATH株式会社

摘要 :

本发明提供一种能够通过通信网高速地对利用者的操作信息进行合计并赋予序号的合计系统。向利用者分配ID号,代理服务器根据该ID号,将来自利用者的带有ID号的操作信息高速地转送到特定的管理服务器。管理服务器,根据该ID号高速地访问利用者信息。而且,规定的服务器使用特殊的交接数组数据收集并合成与从受理开始的经过时间等得分信息对应的人数数据,在该交接数组中存储序号信息并向管理服务器发送。加载平衡器将呼叫分配给任意的代理服务器,代理服务器能够高速地中继呼叫,管理服务器能够高速地进行利用者信息的参照。另外,因为由多个管理服务器进行分散处理,所以能够容易地扩张。

权利要求 :

1.一种合计系统,其特征在于,具有:

ID生成单元,给每个利用者生成ID号;

页发送单元,向终端发送希望终端发送包含所述ID号的操作信息的页信息;

负荷分散单元,将从终端发送来的操作信息分配给多个操作信息转送单元;

多个操作信息转送单元,接收从终端发送来的包含所述ID号的操作信息,根据ID号来确定应该连接的利用者管理单元,将该操作信息转送给所确定的利用者管理单元;

多个利用者管理单元,将从所述操作信息转送单元转送来的操作信息和受理时间信息一起,对应于利用者存储到存储单元中;

多个存储单元,与所述利用者管理单元相对应,各自分担存储利用者信息;以及序号赋予单元,根据存储在所述多个存储单元中的利用者的操作信息和受理时间信息的至少一种信息,给利用者信息赋予序号,如果设所述利用者管理单元的数为N,所述存储单元中的与利用者信息的登录位置对应的数值为I,登录利用者的所述利用者管理单元的编号为M,则所述ID号包含由ID=I×N+M所表达的数值,所述操作信息转送单元根据将所述ID号除以利用者管理单元的数N后的余数,来确定应该连接的利用者管理单元,所述利用者管理单元根据将所述ID号除以利用者管理单元的数N所得出的商数,来确定所述存储单元中的利用者信息的登录位置,所述合计系统对应于多个所述存储单元设有多个所述序号赋予单元,并具有:数组生成单元,生成用于将存储在所述存储单元中的信息分配给多个所述序号赋予单元的多个交接数组;

合成单元,收集并合成应该由自己合成的多个所述交接数组,并发布合成结果;

转换单元,将合成的数组的人数数据转换为序号数据;以及序号赋予单元,根据所述序号数据,给存储于对应的存储单元内的利用者信息赋予序号。

2.根据权利要求1所述的合计系统,其特征在于,

所述交接数组是由规定数的一维数据数组形成的数组单元的集合,在最下位层的数组单元中,存储有表示信息的数量的数据,该信息具有被存储在与应该赋予序号的数值对应的数组位置上的相应数值,在上位多层数组单元的与应赋予序号的数值对应的数组位置上存储表示下位数组单元位置的指针,数组单元仅生成在内部或者下位存在有效数据的数组单元。

3.根据权利要求1所述的合计系统,其特征在于,所述应赋予序号的数值是根据利用者的个人信息、利用者的环境、利用者的操作信息、从受理开始起的经过时间而求出的得分,按照得分的从小到大的顺序赋予序号。

说明书 :

技术领域

本发明涉及合计系统,尤其涉及能够通过因特网等通信网高速地对多个利用者在短时间内操作的信息进行合计并赋予序号的合计系统。

背景技术

以往,提出有用于与观众参与的电视节目联动,将观众(利用者)操作的投票信息等进行合计反映给节目的系统。例如,在下述专利文献1中,公开了由WWW服务器经由因特网收集观众的投票信息的系统。
专利文献1特开2002-344928号公报
上述现有的WWW服务器系统例如由加载平衡器、http服务器、RDB(关系型数据库)服务器等构成。可是,在这些装置中,针对高速化存在着如下的问题。
在第7层加载平衡器(具备会话管理功能)中,由于需要对用于将同一利用者转送到同一http服务器的应用协议进行解读,和进行一边检索所保持的过去的信息一边进行确定http服务器的处理,所以在速度上存在限制。另外,也存在着由于根据保存的利用者信息进行负荷分散,所以不能进行按比例的增设的问题。
基于http服务器(具备会话管理功能、表高速缓冲功能)的并列配备的性能的界限依赖于RDB(关系型数据库)。并且存在着如果同一利用者不在同一http服务器进行处理,就不能与并列的其他的http服务器保持一致性的问题。这是由于为了不给RDB服务器增加负担而进行了高速缓存。
RDB服务器不能在RDB以上与成本成比例地增强性能,即使使用价格非常高的系统,也存在着不能对应集中的访问的问题。
另外,在上述的现有系统中,例如在需要根据利用者已发送的对问答题的回答的操作信息,按照利用者发送正确操作的先后顺序来赋予序号的情况下,在WWW服务器中对全部利用者信息进行赋予序号的处理。但在为了使处理高速化而设置了多台WWW服务器的情况下,为了进行序号赋予处理,需要将利用者的操作信息收集到1台服务器中,进行赋予序号处理,并将结果分配到多台WWW服务器中。
可是,在从各个WWW服务器仅收集全部利用者信息,或分配赋予序号的结果数据时,要转送的数据量变大,并且综合收集的数据赋予序号的处理,或者在各WWW服务器中进行在利用者数据中反映序号信息的处理的负荷变大,因此存在着在得出结果之前耗费时间的问题。

发明内容

本发明的目的就是要解决上述的现有的问题。
本发明提供一种合计系统,其特征在于,具有:ID生成单元,给每个利用者生成ID号;页发送单元,向终端发送希望终端发送包含所述ID号的操作信息的页信息;负荷分散单元,将从终端发送来的操作信息分配给多个操作信息转送单元;多个操作信息转送单元,接收从终端发送来的包含所述ID号的操作信息,根据ID号来确定应该连接的利用者管理单元,将该操作信息转送给所确定的利用者管理单元;多个利用者管理单元,将从所述操作信息转送单元转送来的操作信息和受理时间信息一起,对应于利用者存储到存储单元中;多个存储单元,与所述利用者管理单元相对应,各自分担存储利用者信息;以及序号赋予单元,根据存储在所述多个存储单元中的利用者的操作信息和受理时间信息的至少一种信息,给利用者信息赋予序号,如果设所述利用者管理单元的数为N,所述存储单元中的与利用者信息的登录位置对应的数值为I,登录利用者的所述利用者管理单元的编号为M,则所述ID号包含由ID=I×N+M所表达的数值,所述操作信息转送单元根据将所述ID号除以利用者管理单元的数N后的余数,来确定应该连接的利用者管理单元,所述利用者管理单元根据将所述ID号除以利用者管理单元的数N所得出的商数,来确定所述存储单元中的利用者信息的登录位置,所述合计系统对应于多个所述存储单元设有多个所述序号赋予单元,并具有:数组生成单元,生成用于将存储在所述存储单元中的信息分配给多个所述序号赋予单元的多个交接数组;合成单元,收集并合成应该由自己合成的多个所述交接数组,并发布合成结果;转换单元,将合成的数组的人数数据转换为序号数据;以及序号赋予单元,根据所述序号数据,给存储于对应的存储单元内的利用者信息赋予序号。
本发明的最主要的特征为,给利用者分配特殊的ID号,使来自利用者的操作信息包含该ID号。并且,通过被任意地分配给呼叫的利用者代理服务器进行基于该ID号的计算来指定利用者管理服务器,高速地连接到特定的利用者管理服务器。另外的特征是,在利用者管理服务器,不是根据该ID号进行费时的检索而是通过计算对所记录的利用者信息进行高速的访问,根据操作信息更新利用者数据。
另外,另一特征是,将由多个利用者管理服务器算出的与每个利用者的信息,例如从受理开始的经过时间等得分信息对应的人数数据存储成为特殊的交接数组数据。并且,其他特征是,通过将交接数组数据收集到规定的号码赋予服务器,进行加法合成在系统整体求出与得分信息对应的人数。另外,交接数组数据能够以一定的规则进行分割,在已分割的情况下可以在多个服务器进行加法合成,能够提高性能。还有将加法合成后的交接数组数据的人数转换为序号的特征。
根据本发明的构成例如达到如下的效果。根据本发明的构成,由于在加载平衡器不需要将同一利用者转送到同一利用者代理服务器,所以能够将数据包在第3层的水平上按照到达顺序分配给任意的利用者代理服务器,由于不需要为了分散而进行的信息存储和应用协议的解读、判定,所以能够进行高速处理且能进行任意的增设。
由于利用者代理服务器能够将利用者的ID除以利用者管理服务器数,利用其余数来指定存储有利用者信息的利用者管理服务器,所以不必进行检索,能够高速地进行信息的中继转送。利用者管理服务器在以利用者的ID除以利用者管理服务器数的商为索引的数组的位置上存储有利用者的信息,所以可以不必进行检索,高速地进行利用者信息的参照和重写。
另外,根据本发明的构成,在由多个利用者管理服务器进行分散处理的利用者信息数据的收集/分配中使用特殊的交接数组数据。该交接数组数据由于仅由与存在数据的得分信息对应的人数数据的单元构成,所以可减少在服务器之间转送的数据量,缩短处理/转送时间。
另外,通过多个利用者管理服务器同时生成交接数组数据,并且还通过多个利用者管理服务器同时分散处理从被发布的数组向利用者信息赋予序号信息的处理,所以能够实现处理的高速化。而且,对于多个交接数组的合成处理也能够通过多个利用者管理服务器同时进行分散处理。由此,可以不必将分散于多个利用者管理服务器的利用者数据集中在一个地方进行排序处理,从而能高速地求出序号。
另外,在本发明的构成中,利用者管理服务器为了进行最大限度的高速动作,将利用者信息和操作信息等存储在存储器中。通过使用RDB等存储方法,能够得到这样的效果:可以展开既能够确保与需要持续性的已有的WWW/RDB系统等相同的功能和安全性,又能够容易地增加处理能力的系统。
因此,本发明的系统具有这样的效果:即使在短时间内有大量呼叫集中,也能够高速地进行应答处理和通过序号赋予的优劣处理等的合计,并且通过根据需要增加利用者管理服务器等,可容易地增加处理能力。

附图说明

图1是表示本发明的实施例的系统整体的结构的方框图。
图2是表示本发明的合计节点11~13的结构的方框图。
图3是表示本发明的管理、登录节点的结构的方框图。
图4是表示本发明的各装置间的处理的交换的流程图1。
图5是表示本发明的各装置间的处理的交换的流程图2。
图6是表示本发明的操作信息的登录处理的详细情况的流程图。
图7是表示本发明的交接数组的数据结构的说明图。
图8是表示本发明的合计/序号赋予处理的详细情况的流程图。
图9是表示操作信息的登录处理的例子的说明图1。
图10是表示操作信息的登录处理的例子的说明图2。
图11是表示操作信息的登录处理的例子的说明图3。
图12是表示操作信息的登录处理的例子的说明图4。
图13是表示图8的步骤S40的处理例的说明图1。
图14是表示图8的步骤S41~步骤S45的处理例的说明图1。
图15是表示图8的步骤S40的处理例的说明图2。
图16是表示图8的步骤S41~步骤S45的处理例的说明图2。
图17是表示图8的步骤S50、步骤S51的处理例的说明图。
图18是表示图8的步骤S52、步骤S53的处理例的说明图1。
图19是表示图8的步骤S52、步骤S53的处理例的说明图2。
图20是表示图8的步骤S55~步骤S59的处理例的说明图1。
图21是表示图8的步骤S55~步骤S59的处理例的说明图2。
图22是表示图8的步骤S55~步骤S59的处理例的说明图3。
图23是表示图8的步骤S55~步骤S59的处理例的说明图4。
图24是表示图8的步骤S55~步骤S59的处理例的说明图5。
图25是表示图8的步骤S55~步骤S59的处理例的说明图6。
图26是表示图8的步骤S55~步骤S59的处理例的说明图7。
图27是表示图8的步骤S55~步骤S59的处理例的说明图8。
图28是表示图8的步骤S70的处理例的说明图。
图29是表示图8的步骤S71的处理例的说明图。
图30是表示图8的步骤S72的处理例的说明图。
图31是表示序号赋予处理已结束的状态的说明图。
图32是表示本发明的第二实施例的各装置间的交换的流程图。
图33是表示本发明的第二实施例的合计/序号赋予处理的说明图。
图34是表示本发明的第二实施例的序号赋予处理的流程图。
图35是表示本发明的第二实施例的数组生成处理的流程图。
图36是表示本发明的第二实施例的序号转换处理的流程图。
图37是表示第二实施例的下位阶层子程序的流程图。
图38是表示本发明的第二实施例的序号赋予处理的流程图。
图中:10:登录节点;11~13:合计节点;14:管理节点;15:演播室终端;16:DNS;20:电视台;21:专用网络;22:因特网;25、28:移动体通信网;30:移动终端(移动电话机);31:电视。

具体实施方式

以下,对能够通过因特网高速地对与电视节目联动的利用者操作信息进行合计并赋予序号的序号赋予系统进行说明。
实施例1
图1是表示本发明的实施例的系统整体的结构的方框图。因特网22通过网关23、24与多个移动体通讯网A25、B26连接,移动终端30可以通过基站26、29与因特网连接。因特网还与DNS(域名服务器)16和PC终端33连接。而且,这样的结构是公知的。利用者(观众)一边利用电视机31收视来自电视台20的电视节目,一边使用移动终端30访问本发明的合计系统。
在因特网22上,连接有本发明的登录节点10、三个合计节点A11、B12、C13。这些节点也连接到专用网络(以下记为PN)21。在PN21上还连接有本发明的管理节点14、演播室终端15。PN21既可以由专用线路等构成,也可以在因特网22内设置VPN(虚拟专用网络)。也可以不设置PN21,将全部装置经由因特网连接。
虽然合计节点最少有一个即可,但通过如图所示进行分散配置来分散呼叫,使得即使连接到一个地方的合计节点的线路阻塞或者出故障,也可以利用其他的合计节点的数据来继续进行节目。
图2是表示本发明的合计节点11~13的结构的方框图。在通过路由器40、LAN45与因特网22连接的多个加载平衡器41上,设定有各不相同的IP地址,通过公知的DNS(域名服务器)16的作用,使呼叫(访问)分散到来。各个加载平衡器41按照序号选择多个利用者代理服务器42中的一个,按照呼叫到来的顺序转送呼叫。
通过LAN46与加载平衡器41连接的利用者代理服务器42,进行后述的处理,进行格式转换、利用者管理服务器43的确定以及呼叫的转送和应答。通过LAN46与利用者代理服务器42连接的利用者管理服务器43,进行后述的处理,进行由利用者发送的操作信息等的记录和保持、合计信息的输出、序号信息的登录等。并且,在本发明中使用的各种服务器可以通过在市面上销售的服务器装置中作成、安装后述的本发明的程序来实现。
图3是表示本发明的管理、登录节点的结构的方框图。图3(a)是表示管理节点14的结构的方框图。在管理节点14上,设有管理系统整体的处理状态的状态管理服务器51,接收来自合计节点的利用者管理服务器43的合计数据并赋予序号的序号赋予服务器53,从利用者管理服务器43接收特定(例如上位等)的序号数据、生成节目所必需的名次表的名次表综合服务器52。图3(b)是表示登录节点10的结构的方框图,设置有登录服务器。另外,也可以将管理节点、登录节点、合计节点综合起来设置在一个地方。
图4是表示本发明的各装置间的处理的交换的流程图1。该流程图表示登录处理和参加准备处理。利用者起动终端30的浏览器访问登录服务器61(步骤S1)。登录服务器61返送登录页(步骤S2),并显示于终端(步骤S3)上。利用者输入姓名和住所等个人信息(步骤S4)。
登录服务器61当接收到个人信息时,对成为关键字的字符串(住所、姓名、年龄和从移动通信网得到的唯一的利用者识别码等)的散列码(被无规律地分散的值)进行除法运算,选出应该存储的合计节点。字符串的散列码h例如用下面的方法进行计算:
h=s[0]*31^(n-1)+s[1]*31^(n-2)+…+s[n-1]
在这里,s[i]表示字符串的第i个字符码,n是字符串的长度,^表示求幂。而且,如果相同的字符串被分配了相同的数字(码),则也可以是被有意识地分散的值(例如针对北海道的利用者使北海道的合计节点被选择)。
然后,根据将该散列值除以要连接的合计节点内的利用者管理服务器数后的余数来指定利用者管理服务器序号。该处理用于确保使相同的利用者连接到相同的利用者管理服务器,从而不能进行多次的登录,并且使呼叫均等地分配到多个利用者管理服务器上。登录服务器61向所选择的利用者管理服务器43转送登录信息(步骤S5)。
接收了登录信息的利用者管理服务器43,根据登录利用者信息的数组的新数组位置I(例如如果已有0、1的两个利用者登录,则I=2),和利用者管理服务器数N(例如设N=3)、自身的利用者管理服务器序号M(例如设M=1)生成“ID号”。生成式是ID=I×N+M,在上述例中ID=2×3+1=7。利用者管理服务器43在登录利用者信息的数组的新的数组位置I上登录个人信息等,将生成的ID号通知给登录服务器61(步骤S6)。
登录服务器61将包含了接收到的ID号的参加页发送给终端(步骤S7)。在该参加页上记载有所选择出的合计节点的地址和ID号,利用者只要在参加页上进行参加操作,包含有ID的参加信息就被发送给所选择的合计节点(步骤S8)。
在合计节点中,加载平衡器按照呼叫的到达顺序将呼叫转送给任意的利用者代理服务器(步骤S9),利用者代理服务器42只要接收到参加信息,就发送包含有ID号的操作页(步骤S10),并显示于终端(步骤S11)。由此结束参加准备。
图5是表示本发明的各装置间的处理的交换的流程图2。该流程图表示与节目关联的问答题和民意测验的回答的一次合计处理,实际上在节目中重复多次该处理。首先,状态管理服务器51根据来自演播室终端15的指示,指示“准备”状态(步骤S24)。在“准备”状态下,即使操作终端来发送操作信息,在利用者代理服务器也仅返送相同的操作页、而不进行任何处理的状态。
然后,状态管理服务器51根据来自演播室终端15的回答受理开始指示,指示“收集”状态(步骤S25)。在“收集”状态,利用者一操作终端发送操作信息,就连接到指定的合计节点,加载平衡器按照呼叫到达的顺序向任意的利用者代理服务器转送呼叫(步骤S13)。
在利用者代理服务器42中,统一因不同的利用者的终端而各不相同的数据格式,根据将包含于接收到的操作信息中的ID号除以节点内的利用者管理服务器数后的余数,求出利用者管理服务器号,并向该利用者管理服务器转送操作信息(步骤S14)。利用者管理服务器43,根据将接收到的操作信息的ID号除以节点内的利用者管理服务器数所得的商,求出数组位置,记录利用者信息(步骤S15)。
例如如果商=2,则在数组的第二个利用者数据上一起记录利用者所按压的按钮的信息等操作信息和时间信息(从收集开始起的以毫秒为单位的经过时间)。并且,通过把该数组数据预先配置在存储器上能够使处理更加高速化。
信息的记录一结束,利用者管理服务器43就通知利用者代理服务器,利用者代理服务器42向终端发送操作页(步骤S16)。在终端再次显示操作页(步骤S17)。并且,在利用者在收集期间内进行了多次操作的情况下,既可以改写操作信息等,也可以忽略第二次及之后的操作信息。
然后,状态管理服务器51根据来自演播室终端15的合计(受理结束)指示,指示“合计”状态(步骤S26)。在“合计”状态,即使从终端发送操作信息在利用者代理服务器也仅返送相同的操作页,而不进行任何处理。利用者管理服务器43例如根据利用者的操作信息和时间信息设定得分,根据利用者信息数组生成图7所示的交接数组数据并发送给规定的序号赋予服务器53(步骤S18)。
序号赋予服务器53从多个利用者管理服务器收集数组数据,利用后述的方法将得分转换为名次,将名次信息再次发送给利用者管理服务器43(步骤S19)。另外,虽然在图3中记载有多个序号赋予服务器53,但这是为了分散进行综合得分和各提问的得分等多个序号赋予处理,一个序号赋予处理必须通过一台序号赋予服务器进行。利用者管理服务器43根据所发送的名次信息,在赋予利用者名次的同时,将例如前10名的个人信息等预先确定的范围的信息发送给名次综合服务器52(步骤S20)。
名次综合服务器52根据从多个利用者管理服务器43接收到的信息综合(合成)名次表,发送到演播室终端和外部的Web服务器功能等进行公开。另外,向状态管理服务器51通知序号赋予结束。(步骤S21)
根据如上的构成和处理,即使在短时间内呼叫集中,也能够不产生迟延和错误动作地高速地进行合计和序号赋予。并且,虽然在图5中,举出了在“收集”过程中不进行合计的例子,但全部利用者管理服务器43也可以在收集过程中例如以一秒间隔的周期或者非周期地进行步骤S18的处理,由此进行中间合计。通过中间合计可以几乎实时地判明排名靠前的利用者信息和到当前为止的回答者数等。
下面,对操作信息的合计/名次赋予处理进行更详细的说明。图6是表示本发明的操作信息的登录处理的详细情况的流程图。另外,图9~图12是表示操作信息的收集处理的例子的说明图。并且,在图9~12的例子中,配置有索引为0、1、2的3台利用者管理服务器(=利用者管理员),例如设在索引1的服务器上在利用者信息数组中登录有数组索引为0、1、2的3个利用者。
在图6中,在步骤S13,加载平衡器按照呼叫到达顺序向任意的利用者代理服务器转送呼叫。利用者代理服务器在步骤S30将输入的数据转换/统一为利用者管理服务器形式。这是由于每个终端的数据格式都不同所以是必须的。
利用者代理服务器42,在步骤S31,根据将包含于接收到的操作信息中的ID号除以利用者管理服务器数后的余数,求出利用者管理服务器号,并向该利用者管理服务器转送操作信息。例如如果ID号是7,利用者管理服务器数N=3,则利用者管理服务器号M是7÷3的余数=1。在步骤S32向索引与余数一致的利用者管理服务器输出利用者的操作信息(图11)。
利用者管理服务器43,在步骤S33,根据将接收到的操作信息的ID号除以利用者管理服务器数后的商,求出数组位置(数组索引)。在步骤S34记录接收到的利用者的操作信息。例如如果商=2,在数组索引为第二的利用者数据上一起记录利用者所按压的按钮的信息等操作信息和时间信息(从收集开始起的以毫秒为单位的经过时间)(图12)。在步骤S35,信息的记录一旦结束,利用者管理服务器43就向利用者代理服务器通知结束。
在以上的处理中,加载平衡器由于仅将呼叫分配到任意的代理服务器,所以能够进行高速处理且能容易地进行增设。由于利用者代理服务器能够通过简单的计算根据接收到的ID号判明应该转送的利用者管理服务器,所以也能进行高速处理并容易地进行增设。由于利用者管理服务器能够通过简单的计算判明应该存储数据的利用者信息数组位置,所以也能进行高速处理并容易地进行增设。
本发明的发明者将该系统实际地链接到电视节目来使用,在高峰时候能够正常地接收并响应几千访问/秒,10秒钟左右内几万个访问,进行访问的序号赋予。
图8是表示本发明的合计/名次赋予处理的详细情况的流程图。另外图13~31是表示合计/名次赋予处理的例子的说明图。并且在图13~31所示的例子中,配置有服务器索引为0、1、2的3台利用者管理服务器(=利用者管理员)。
利用者管理服务器在步骤S40中,取得第n个利用者的信息数组。并且给每个利用者设定得分。在该例中操作信息“3”是正确答案,使受理时间信息(根据减分法)即从收集开始起的以毫秒为单位的经过时间为正确解答者的得分。并且,除了每个问题的正确解答者的操作时间信息之外,可以根据需要算出正确解答数、多个问题的正确解答的操作时间的合计时间,和这些的组合等,作为序号赋予的基础的得分信息。图13、图15是表示步骤S40的处理例的说明图。
在步骤S41,根据得分信息,探索交接数组。图7是表示本发明的交接数组的数据结构的说明图。得分(受理时间)信息如前所述是从收集开始起的以毫秒为单位的经过时间信息,将其看作64比特的得分信息,在每个用该64比特确定的得分上存储人数或者表示名次的数值数据。其中,交接数组的数据以256个(=8比特)指针或者数值数据的数组单元为单位,仅生成包含人数是0以外的数据的最下位的数值单元和包含直接或间接指定该单元的指针的指针单元。
交接数组如图7所示有8层,上位的7层分别由前述的64比特的得分信息中的8比特(=256个)的指针单元70、71、72…组成。最下位层是由256个(8比特)的数值组成的数值单元77。由此,例如在图7的右上方的数值单元77存储有从收集时间开始后0毫秒~255毫秒为止进行了正确解答的利用者的人数数据等。并且,在该数值单元77中有0以外的数值的情况下也生成指向该单元的上位的7层的指针单元70、71、72…。
如果以毫秒为单位用64比特表示时间,则其长度会成为天文数字,如果生成交接数组的全部数值单元77,那么数据量也成为天文数字,但在限定的时间段内在得分数据集中的情况下,交接数组数据量有少量就可以,成为个人计算机等能够充分地进行处理的量。
返回到图8,在步骤S42,从上位判断与64比特的得分信息对应的数组是否存在,在判断结果为否定的情况下进入到步骤S43生成新的数组单元,并为上位单元设定指向该数组单元的指针。在步骤S44,判断是否是最下位的数组(=数值单元),在判断结果为否定的情况下进入到步骤S41,为肯定的情况下进入到步骤S45。
在步骤S45,使处于与数值单元内的得分信息对应的位置的人数数据加1。在步骤S46判断对全部的正确解答利用者数据的处理是否已经结束,在判断结果为否定的情况下返回到步骤S40,为肯定的情况下进入到步骤S47。在步骤S47,将生成的交接数组数据输出到序号赋予服务器。
图14、图16是表示步骤S41~步骤S45的处理例的说明图。图中的交接数组中的向下的箭头表示指针,×符号表示指针未被设定的状态。在图14中,生成/参照至最下位的数组单元(=数值单元),使最下位数组单元的第255地址(与得分的下位8比特=255对应)的人数数据(初始值为0)加1。并且,“参照”是指在上位的指针单元内设定指向下位的单元的指针。在图16中,生成下一名次的最下位数组单元,使其第0个人数数据加1。
在序号赋予服务器53,在步骤S50,从利用者管理服务器输入交接数组数据。在步骤S51,判断从所有服务器的输入是否完成,在判断结果为否定的情况下,进入步骤S50,为肯定的情况下,进入步骤S52。在步骤S52,通过合计相同得分的人数数据进行多个交接数组的合成。在步骤S53,判断所有交接数组的合成是否完成,在判断结果为否定的情况下,进入步骤S52,为肯定的情况下,进入步骤S54。根据以上的处理生成存储有人数数据的数组。
在步骤S54,进行变量等的初始化。即,设本次的序号=0,下一序号=1,设定注目数组位置为0(=顶端)。在步骤S55,将下一序号的值代入本次的序号。在步骤S56,将注目数组的值加到下一序号上。在步骤S57,将本次的序号的值代入注目数组。在步骤S58,将注目数组的位置+1。在步骤S59,判断所有存在的人数数据的处理是否完成,在判断结果为否定的情况下,进入步骤S55,为肯定的情况下,进入步骤S60。通过以上的处理生成存储有序号数据的数组。在步骤S60,将生成的序号数组输出到各利用者管理服务器。
图17是表示步骤S50、步骤S51的处理例的说明图。另外,图18、图19是表示步骤S52、步骤S53的处理例的说明图。在合成数组时,通过进行如下的处理进行合成,即,将存在于所收集的数组中的数值数据单元内的、索引值最小的利用者管理服务器的数值单元与其他的相同得分位置的数值单元的值相加,如果指向该数值单元的指针未被登录在所收集的数组之中的索引值最小的数组中,则进行登录。在图18、图19,由于在索引为0的数组中没有名次最高的数值单元,所以索引为1的数值单元被登录到索引为0的数组中,并加上索引为2的相同得分位置的数值单元的第255个数据。进而,在下一名次的数值单元的第0个上加上索引为2的相同得分位置的数值单元的第0个数据。另外,也可以生成新的数组,将接收到的数组的全部数值数据加到新数组的相同得分位置上。
图20~图27是表示步骤S55~步骤S59的处理例的说明图。图中第一处理是步骤S55的处理,第2处理是步骤S56的处理,第3处理是步骤S57的处理。另外,从图20进入图21,从图21进入图22期间注目数组位置被+1。图27表示序号赋予处理已结束的状态,在用指针连结的数值单元中设定有表示名次的1~8的数值。
利用者管理服务器,在步骤S70输入序号数组。在步骤S71,取得第n个人的利用者信息数组。在步骤S72,对于正确解答者根据得分信息从序号数组取得序号数据,写入到利用者信息数组。在步骤S73,判断关于全部利用者的序号赋予处理是否已经结束,在判断结果为否定的情况下,进入步骤S71,为肯定的情况下,结束处理。通过以上的处理,在各利用者管理服务器的利用者信息内写入名次。
图28是表示步骤S70的处理例的说明图。图29是表示步骤S71的处理例的说明图。在该例中,取得关于利用者2(索引为0)的信息。图30是表示步骤S72的处理例的说明图。在该例中,根据利用者2的得分(255)探索序号赋予数组,取得名次数据“2”,并设定到利用者信息数组。图31是表示在所有的利用者服务器中序号赋予处理已结束的状态的说明图。
实施例2
下面对第2实施例进行说明。在第一实施例中由序号赋予服务器53进行序号数据的生成,但必须将全部利用者管理服务器43的数据收集到序号赋予服务器53,进行交接数组的合成,所以可能在处理上存在瓶颈。另外,在序号赋予服务器53进行处理中,利用者管理服务器43处于等待结果的状态而不进行处理。因此在第2实施例中,通过在多个利用者管理服务器43分散进行加法合成和序号数据的生成处理,能够容易地扩充处理能力。
图32是表示本发明的第二实施例的各装置间的交换的流程图。在第二实施例中,不设置序号赋予服务器,而在利用者管理服务器43生成序号数据。与第一实施例的不同点仅在步骤S27的部分。
图33是表示本发明的第二实施例的合计/序号赋予处理的说明图。虽然作为第二实施例,例如将利用者管理服务器43的台数设为3台,但该台数可以任意进行增减。在各利用者管理服务器0(82)~2(82)中存在有受理数据80~82即存储有各个利用者的操作信息的利用者信息。在各利用者管理服务器中,将该受理数据进行分割,生成相当于管理服务器台数的交接数组。该数组的结构与图7所示相同。为了使各数组的数据量平均,根据得分的下位值进行分配。(详情后述)
在各利用者管理服务器,从其他服务器取得应该自己合成的交接数组,关于应该在其他的服务器合成的交接数组则发布到其他的服务器。例如在利用者管理服务器0(80),将生成的3个数组83~85之中的两个数组84、85发布到其他服务器,并从其他利用者管理服务器1、2取得两个数组B-0(86)、C-0(89)。
在取出应该自己合成的交接数组后,进行数组的加法合成。例如利用者管理服务器0(80)从3个数组A-0(83)、B-0(86)、C-0(89)加法合成数组ABC-0(92)。由于加法合成通过多个服务器进行分散处理,所以通过增减服务器数量,能够容易地增减处理能力。
加法合成的数组也发布到其他所有利用者管理服务器。由此在全部利用者管理服务器中在发布结束的时刻,保持有将全部利用者管理服务器加法合成的相同的数组ABC-0(92)、ABC-1(93)、ABC-2(94)。
加法合成的数组存储有各得分(经过时间)的人数数据。然后将该人数数据从先头进行累计并转换为序号数据ABC-0(95)、ABC-1(96)、ABC-2(97)。该处理在各利用者管理服务器并行进行。另外,也可以在1台利用者管理服务器上转换为序号数据,然后将其结果发布到全部利用者管理服务器,但花费在序号赋予上的时间是大致相同的。
根据以上的处理,各利用者管理服务器保持有存储有序号数据的相同数组ABC-0(95)、ABC-1(96)、ABC-2(97)。最后,参照该序号数据,给各利用者管理服务器所管理的利用者信息(受理数据)赋予序号。
图34是表示本发明的第二实施例的步骤S27的序号赋予处理的流程图。该处理根据来自状态管理服务器51的合计指示在各利用者管理服务器43分别被起动。在步骤S80准备利用者管理服务器台数的交接数组,在步骤S81,调用后述的数组生成处理。在这里生成相当于利用者管理服务器台数的交接数组。
在步骤S82,将0代入变量a。在步骤S83,在交接数组被准备好后,从第a个服务器取得在本服务器加法运算的交接数组数据。在步骤S84,判断a是否大于等于利用者管理服务器台数max,在判断结果为否定的情况下进入到步骤S85,为肯定的情况下进入到步骤S86。在步骤S85将a加1然后进入到步骤S83。在步骤S86,在本服务器将应该处理的全部交接数组的内容进行加法合成。合成方法与第一实施例的步骤S52、步骤S53的处理相同。
在步骤S87,将0代入变量a。在步骤S88,在交接数组数据被准备好后,从第a个服务器取得已加法合成的交接数组数据。在步骤S89,判断a是否大于等于管理服务器台数max,在判断结果为否定的情况下进入到步骤S90,为肯定的情况下进入到步骤S91。在步骤S90将a加1然后进入到步骤S88。根据以上的处理,全部利用者管理服务器43都成为保持有已被加法合成的相同数组的状态。
在步骤S91,调用序号转换处理。通过该处理,数组内的人数数据被累计并被转换为序号数据。在步骤S92,调用序号赋予处理。根据该处理,向各利用者管理服务器所管理的利用者信息(受理数据)赋予序号。
图35是表示本发明的第二实施例的数组生成处理(步骤S81)的流程图。该处理是生成被分割为相当于利用者管理服务器台数的利用者信息的交接数组的处理。在步骤S100,在根据未处理的利用者信息(受理数据)算出得分信息的同时写入到利用者信息。在步骤S101,把对利用者的得分除以预先设定的管理服务器台数后的余数代入变量b。在步骤S102,把对利用者的得分除以管理服务器台数后的商数代入变量c。
在步骤S103,选择第b个交接数组。在步骤S104,根据变量c的值按照顺序从上位开始探索交接数组。具体地,将c按照每个与阶层对应的比特数分为阶层数个,检查在从上位将数组单元内的c进行了划分的值对应的地址上有无指示下位的数组单元的有效的指针。
在步骤S105,判断下位的数组是否存在,在判断结果为否定的情况下进入到步骤S106,为肯定的情况下进入到步骤S107。在步骤S106,新生成下位的数组单元和指示其的指针。在步骤S107,判断是否是最下位数组,在判断结果为否定的情况下进入到步骤S104,为肯定的情况下进入到步骤S108。
在步骤S108,在与最下位的数组单元内的c的下位规定比特对应的人数数据上加1。在步骤S109,判断是否已结束,在判断结果为否定的情况下进入到步骤S100,为肯定的情况下结束处理。通过以上的处理,生成分割为利用者管理服务器台数的交接数组。由于各数组的信息量按照得分信息的下位的值(b)进行分配,所以包含于各数组的人数信息大体均等,可以期待在利用者管理服务器中的加法合成处理的负荷也大体均等。
图36是表示本发明的第二实施例的序号转换处理(步骤S91)的内容的流程图。在步骤S120,进行变量等的初始化(J(人数数据临时保持变量)=0、K(序号数据)=1、P(最上位阶层的数组扫描用计数变量)=0、L(阶层)=0(最上位))。在步骤S121,检查最上位的数组单元的第P个指针是否有效(存在)。在步骤S122,判断出是否有效,在判断结果为否定的情况下进入到步骤S124,为肯定的情况下进入到步骤S123。
在步骤S123,将阶层值(L+1)和步骤S121中的有效指针信息作为自变量,调用下位阶层子程序。在步骤S124,将P加1。在步骤S125,判断P是否大于等于256,在判断结果为否定的情况下进入到步骤S121,为肯定的情况下结束处理。
图37是表示第二实施例的下位阶层子程序的流程图。该处理子程序在每个阶层被循环调用,在子程序中使用的变量在各个阶层中分别独立。另外,最下位的阶层中进行的处理和在中间阶层中进行的处理是分离的。在步骤S130,判断是否为最下位层,在判断结果为否定的情况下进入到步骤S131,为肯定的情况下进入到步骤S137。
步骤S131~步骤S136是中间阶层(L=1~6)的处理。在步骤S131,进行初始化使P=0。在步骤S132,检查根据来自上位的子程序的自变量指定的数组单元的第P个指针是否有效(存在)。在步骤S133,判断是否有效,在判断结果为否定的情况下进入到步骤S135,为肯定的情况下进入到步骤S134。
在步骤S134,将阶层值(L+1)和步骤S132中的有效指针信息作为自变量,调用下位阶层子程序。在步骤S135,将P加1。在步骤S136,判断P是否大于等于256,在判断结果为否定的情况下进入到步骤S132,为肯定的情况下结束处理并返回到原来的子程序。
步骤S137~步骤S147是最下位层(L=7)的处理。在步骤S137,进行初始化使P=0。在步骤S138,将从上位子程序交接来的有效的数组数的计数变量Q初始化为1。在步骤S139,读出第Q个数组单元的第P个人数数据。
在步骤S140,判断人数是否大于等于1,在判断结果为否定的情况下进入到步骤S144,为肯定的情况下进入到步骤S141。在步骤S141,为了临时保持人数数据,将其代入变量J。在步骤S142,将名次K写入到第Q个数组单元的第P个中。在步骤S143,将J+K代入名次K,进行名次更新。
在步骤S144,将Q加1。在步骤S145,判断Q是否比从上位子程序交接来的有效的数组数大,在判断结果为否定的情况下进入到步骤S139,为肯定的情况下进入到步骤S146。在步骤S146将P加1。在步骤S147,判断P是否大于等于256,在判断结果为否定的情况下进入到步骤S138,为肯定的情况下结束处理并返回到原来的子程序。通过以上的处理,各数组内的人数数据被转换为序号数据。
图38是表示本发明的第二实施例的序号赋予处理(步骤S92)的内容的流程图。在步骤S150,从利用者信息数组取得未处理的得分信息。在步骤S151,把对利用者的得分除以管理服务器台数后的余数代入变量b。在步骤S152,把对利用者的得分除以管理服务器台数后的商数代入变量c。在步骤S153,选择第b个交接数组。
在步骤S154,根据变量c的值搜索交接数组。在步骤S155,根据变量c的值从最下位数组单元读出序号数据,写入到相应的利用者信息。在步骤S156,判断是否结束,在判断结果为否定的情况下进入到步骤S150,为肯定的情况下结束处理并返回到原来的子程序。
虽然揭示了以上的实施例,但也可以考虑如下的变形例。在实施例中,揭示了使用移动终端的例子,也可以使用连接在因特网上的一般的PC终端。在这种情况下,也可以例如按照向登录服务器的接受顺序向多个利用者管理服务器进行分配。
虽然作为实施例揭示了将直至操作为止的时间作为得分来赋予序号的例子,但下面揭示更有效地使用本发明的交接数组的方法。在该例中,通过一次的序号赋予处理,赋予序号使得正确解答问题数多的利用者处于更靠前的位置,在正确解答问题数相同的情况下正确解答平均时间短的利用者处于更靠前的位置。
例如在利用者A答对3题、正确解答平均时间为13秒,利用者B答对2题、正确解答平均时间为13秒,利用者C答对2题、正确解答平均时间为5秒的情况下,例如用以下的算式求出得分。
得分=(0xFFFFFFFFFFFFFFFF-正确解答数*0x100000000+正确解答平均时间)
该公式的含义是:数组能表示的最大数-将正确解答数向左移位能够数组表现的最大数的一半(32比特)+正确解答平均时间。各人的得分如下:
利用者A
0xFFFFFFFFFFFFFFFF-0x300000000+0xD=0xFFFFFFFD0000000C
利用者B
0xFFFFFFFFFFFFFFFF-0x200000000+0xD=0xFFFFFFFE0000000C
利用者C
0xFFFFFFFFFFFFFFFF-0x200000000+0x5=0xFFFFFFFE00000004
由于本发明的系统是按照值增大的顺序赋予序号的,所以利用者A是第一位,利用者B是第三位,利用者C是第二位。
这样,在数组能够表示的范围内通过对操作信息和存储信息、受理时间等的各数据进行比特移位和+-的替换和组合,能够对应各种各样的序号赋予。因此,在该例中,交接数组在0xFFFFFF(上位3段)的下面使用两个数组,其余使用各一个数组,仅使用13个总共256个要素的数组就能够表示数据。即,本发明的交接数组具有在存在大量的近似的值时最能表现出数据压缩效果的特征。
在该例中,在正确解答数在1~10(0xA)之间、秒数在0~255(0xFF)秒的范围内的情况下,即使存在10亿人的信息,各阶层的数组为1+1+1+0xA+0xA+0xA+0xA+0xA=53,即53×256×4Byte(一般的1要素的大小),最大不超过约54KByte。另外,在正确解答数在1~100(0x64)之间、秒数在0~65535(0xFFFF)这样比较大的范围内的情况下,最大不超过约26MByte,即1+1+1+0x64+0x64+0x64+0x64+(0x64*0xFF)=26003。实际上,由于正确解答数和正确解答时间有聚集(一边倒)现象,所以数据量变得更少。像这样,即使不连续,在一边倒多的得分上也会出效果。
在实施例中,讨论了以利用者的按钮操作为触发器,接收按钮信息进行处理的例子。但本发明也能够应用如下的触发器和信息的组合进行灵活的信息收集。例如可以考虑以下的操作信息的发生方法(触发器)。
(1)操作触发器,(2)0~9(0~9的数字键等)的操作,(3)1~12(电视的遥控器等)的操作,(4)其他的(色和形等)各种按钮的操作,(5)选择(一览等)操作,(6)明暗(光传感器)变化,(7)气温(温度计)变化,(8)气压(气压计)变化,(9)速度(速度计和陀螺仪等)变化,(10)加速度(陀螺仪等等)变化,(11)时间(表和GP S等)变化,(12)位置(GP S等)变化,(13)高度(GP S等)变化,(14)感情(脑波等)变化,(15)动作(姿势等的变化等)变化,(16)其他可被判断出变化的操作信息的发生方法。
另外,可以考虑下述信息作为操作信息。(1)数字信息,(2)文字信息,(3)选择子信息,(4)明暗信息,(5)气温信息,(6)气压信息,(7)速度信息,(8)加速度信息,(9)时间信息,(10)位置信息,(11)高度信息,(12)感情信息,(13)动作信息
本发明的系统,适用于与观众参与的电视节目联动、合计利用者操作了的回答信息等并反映给节目的系统等需要在短时间内进行序号赋予处理的系统。而且,本发明的序号赋予系统不限于与电视节目联动的系统,可以适用于票销售、赌博和比赛的赌率合计、拍卖、网络游戏的等级等在有限的时间内集中大量的访问且需要进行序号赋予的任意的系统。