表检索装置、表检索方法以及表检索系统的制作方法

文档序号:6351332阅读:228来源:国知局
专利名称:表检索装置、表检索方法以及表检索系统的制作方法
技术领域
本发明涉及对在网络内分散存储的表数据进行检索的表检索装置、表检索方法以及表检索系统。
背景技术
以往,作为用于高速地检索以由行和列构成的表结构来表现的数据(以后称为表数据)的技术,广泛使用所谓的数据库。在这样的数据库中,为了高速地检索大量的表数据,预先生成被称为“索引”的用于检索的数据。数据库的检索引擎,不对表数据进行直接检索,而是首先对索引进行检索,从而能够高速地知晓作为检索对象的数据在数据库内的存储位置等(例如参照专利文献I)。现有技术文献专利文献专利文献I :日本特开2001 - 282813号公报发明概要发明要解决的课题但是,在数据库中生成索引时主要存在以下两个课题。作为第一课题,在索引的生成中需要复杂的计算处理,并且每当向数据库追加新数据时都需要进行索引的再生成,因此可以举出该计算成本大的问题。特别是在频繁地发生数据更新的情况下,这一问题成为大问题。并且,作为第二课题,可以举出通常为了解决第一课题而无法避免实现数据库的装置大型化的问题。例如,键值存储(KVS :Key Value Store)方式的数据库具备仅保存并处理索引信息的计算机、和仅保存并处理检索对象的数据的计算机这两种计算机。首先,用前一种计算机进行保存检索对象的数据的计算机的检索,然后,用被检索的计算机检索该计算机内的数据,从而使索引管理的负荷分散。但是,在该方式中,必须具有多台计算机,在设置场所、费用、省电方面存在问题。

发明内容
因此,本发明的目的在于,提供一种表检索装置,即便不生成索引也能够与生成索弓I的情况相同程度地高速进行表数据的检索。解决课题所采用的手段 本发明的一方面的表检索装置,具备多个接收处理部,各存储有多个分解表的每一个,该多个分解表通过将表数据在行方向上分割而得到,该表数据是表示表结构的数据,该表结构由多个行和包含第I列及与上述第I列对应的第2列的多个列构成;发送部;以及控制部,将检索查询向上述发送部发送,接收从上述多个接收处理部的每一个输出的输出值即检索输出值,并将接收到的上述检索输出值输出,上述检索查询包含列标识符和检索值,该列标识符是用于确定上述第I列及上述第2列中的某一方的标识符;上述发送部将从上述控制部接收到的上述检索查询对全部的上述多个接收处理部进行输出;上述接收处理部判定在通过已取得的上述检索查询所含的上述列标识符而确定的列中是否包含上述检索查询所含的上述检索值,在包含的情况下,将与通过上述列标识符而确定的列对应的列所含的值作为上述检索输出值输出。根据该结构,表数据被细分为多个分解表的单位并存储在接收处理部中。因此,与检索表数据整体时相比,各接收处理部能够更高速地检索在通过检索查询所含的列标识符而确定的列中是否包含检索查询所含的检索值。因此,能够提供一种不生成索引也能够与生成索引时相同程度地高速进行表数据检索的表检索装置。此外,也可以是,该表检索装置还具备根据上述表数据而生成上述多个分解表的分割部,上述控制部从上述分割部取得上述多个分解表,使上述多个接收处理部各存储一个所取得的上述分解表。由此,表检索装置取得新的表数据,通过分割部对其进行分割,从而能够生成与新的表数据对应的分解表。因此,能够对成为检索对象的表数据进行更新。此外,上述分割部在上述表数据中将上述第I列及上述第2列中的某一方选择为基准列,生成上述多个分解表,以使得对于上述多个分解表的每一个,上述基准列所含的值在上述分解表内的上述基准列内是唯一的一个。由此,可以保证各接收处理部所存储的分解表的基准列中所含的值在该分解表中是唯一的一个。因此,能够提供一种不生成索引也能够更高速地进行表数据的检索的表检
索装置。此外,上述分割部在上述表数据中将上述第I列及上述第2列中的某一方选择为基准列,生成上述多个分解表,以使得对于上述多个分解表的每一个,上述基准列所含的值(A)在上述分解表内的上述基准列内是唯一的一个,并且(B)在上述多个分解表的每一个在上述基准列所含的值中是唯一的一个。由此,能够保证各接收处理部所存储的分解表的基准列中所含的值在该分解表中是唯一的一个、并且不存在除此以外的包含该值的分解表。因此,能够提供一种能够更加高速地进行表数据的检索的表检索装置。具体而言,上述控制部将确定上述基准列的标识符作为上述列标识符,将检索是否包含在上述基准列中的值作为上述检索值,将上述检索查询向上述发送部发送。或者,也可以是,上述控制部将确定第3列的标识符作为上述列标识符,将检索是否包含在上述第3列中的值作为上述检索值,将上述检索查询向上述发送部发送,上述第3列是与上述第I列及上述第2列中的一方即上述基准列对应的其他方的列。在本发明另一方面的表检索装置中,上述分割部将上述表数据按每一行进行分害I],从而生成多个上述分解表。由此,能够使分割部的处理简化,能够实现表检索系统的小型化、省电化、低价格 化等。在本发明另一方面的表检索装置中,上述多个接收处理部中的两个以上接收处理部共有地具备一个检索部,该检索部是判定上述检索值是否包含在通过上述列标识符而确定的列中的处理部。由此,通过共有检索部,能够使构成表检索装置的部件数减少。结果,能够实现表检索装置的小型化、省电化、低价格化等。另外,本发明不仅能够作为这样的表检索装置来实现,也可以作为将表检索装置所含的技术特征作为步骤的表检索方法来实现,或者也可以作为使计算机执行这样的特征的步骤的程序来实现。并且,这样的程序 当然也可以经由CD - ROM等记录介质以及因特网等传输介质而流通。此外,本发明也可以作为实现这样的表检索装置的功能的一部分或全部的半导体集成电路(LSI)来实现。并且,本发明可以作为包含这样的表检索装置的表检索系统来实现。发明效果根据以上,本发明能够提供一种即便不生成索引也能够与生成索引的情况相同程度地高速进行表数据的检索的表检索装置。


图I为表示包含本发明实施方式I的表检索装置的表检索系统的整体结构的框图。图2为表示用于实现包含本发明实施方式I 4的表检索装置的表检索系统的、计算机系统的硬件结构的框图。图3A为表示本发明实施方式I 4的表检索装置中记录的表数据的图。图3B为表示图3A所示的表数据示出的神经细胞的结合状态的图。图4A为表示本发明实施方式I的表检索装置中存储的第I分解表的图。图4B为表示本发明实施方式I的表检索装置中存储的第2分解表的图。图5A为表示本发明实施方式I 4的表检索系统的第I检索查询的图。图5B为表示本发明实施方式I 4的表检索系统的第2检索查询的图。图6为表示本发明实施方式I 4的表检索装置进行图5B所示的第2检索查询的检索处理的图。图7为表示本发明实施方式I 4的表检索系统的处理流程的流程图。图8为表示本发明实施方式I 4的接收处理部进行的检索处理流程的流程图。图9为表示包含本发明实施方式2的表检索装置的表检索系统的整体结构的框图。图IOA为表示本发明实施方式2的表检索装置中存储的第I分解表的图。图IOB为表示本发明实施方式2的表检索装置中存储的第2分解表的图。图IOC为表示本发明实施方式2的表检索装置中存储的第3分解表的图。图11为表示包含本发明实施方式3的表检索装置的表检索系统的整体结构的框图。图12为表示包含本发明实施方式4的表检索装置的表检索系统的整体结构的框图。
具体实施例方式以下参照附图对本发明的表检索装置的实施方式进行具体说明。(实施方式I)图I为表示包含本发明的表检索装置200的表检索系统100的整体结构的框图。如图I所示,表检索系统100具备表检索装置200和查询(query)装置300。表检索装置200存储有按后述的称作分解表的单位而被分割的作为检索对象的表数据。并且,表检索装置200从表数据中检索从查询装置300发送的检索处理的请求信号即检索查询中所含的检索值,将检索结果作为检索输出值向查询装置300发送。并且,在表数据中,在由表数据的行和列指定的格子(7 ^目)中存储值。更具体而言,在表数据内,将第I列的I个值与第2列的I个值对应起来,将对应起来的第I列的 值与第2列的值配置在相同的行。这里,在格子中没有存储值的情况下,使该格子的值是称为null的值。此外,只要在表数据的第I列和第2列的某个的、至少一个格子中存储有值,表检索装置200就能够进行检索。另外,在表数据中,即使在第I列和第2列的任一个格子中都没有存储值的情况下,表检索装置200也能够进行检索,但是没有进行检索的意义。表检索装置200具备发送部210、接收处理部220 221、控制部230、第I通信路径202、第2通信路径204。发送部210是将从查询装置300取得的检索查询向表检索装置200具备的各个接收处理部发送的处理部。发送部210具备发送缓冲器212和输出部213。发送缓冲器212,在一次接收到多个检索查询的情况下,在将它们向接收处理部发送为止的期间,暂时进行缓冲处理。具体而言,由DRAM(Dynamic Random Access Memory)>SRAM (Static Random Access Memory)等构成。输出部213,将接收到的检索查询变换为与第I通信路径202相应的信号类别并输出。例如,若第I通信路径202为LSI内部的总线、或以太网(注册商标)的有线电缆,则输出部213将检索查询输出为适当格式的电信号,若第I通信路径202为光缆,则输出部213将检索查询输出为适当格式的光信号。另外,输出部213如上所述地始终对表检索装置200具有的全部接收处理部发送检索查询。接收处理部220 221是实质地执行表检索处理的接收处理部。表检索装置200具备的接收处理部的数量至少需要成为后述的分解表的数量。这里,为了进行说明,假设表检索装置200具备接收处理部220以及接收处理部221这两个接收处理部来进行说明。接收处理部220具备取得部231、存储部232和检索部233。此外,接收处理部221具备取得部231、存储部234和检索部233。取得部231是用于经由第I通信路径202取得从发送部210发送的检索查询的通
信接口。存储部232及存储部234分别存储有分解表,该分解表是作为从控制部发送的检索对象的表数据的一部分。另外,I个接收处理部仅存储I个分解表。存储部具体而言由闪存等非易失性存储器、DRAM、SRAM等构成。检索部233执行对取得部231取得的检索查询中所含的检索值是否存储在存储部中进行判定的检索处理。通过该检索处理,在检索部233判定为检索查询中所含的检索值存储在存储部中的情况下,检索部233将检索结果作为检索输出值经由第2通信路径204向控制部230输出。控制部230从查询装置取得多个分解表,经由第2通信路径204,将取得的各个分解表向通过查询装置按每个分解表而指定的接收处理部发送。此外,控制部230从查询装置取得检索查询,将取得的检索查询经由第2通信路径204向发送部210发送。并且,控制部230经由第2通信路径204取得由接收处理部220 221具备的检索部233输出的检索输出值,并向查询装置300输出。
第I通信路径202是用于从发送部210具备的输出部213向各个接收处理部220 221发送检索查询的通信路径。作为第I通信路径202,如上所述,可以考虑使用集成电路的内部总线、以太网的有线电缆以及光通信用电缆等。第2通信路径204是用于从控制部230向发送部210发送检索查询的通信路径。第2通信路径204还用于从控制部230向各接收处理部发送分解表,从各接收处理部向控制部230发送检索结果。与第I通信路径202同样,作为第2通信路径204,也可以考虑使用集成电路的内部总线、以太网的有线电缆以及光通信用电缆等。查询装置300具备分割部302和查询部303。分割部302将作为检索对象的表数据分割为利用了用于使表检索装置200进行存储的表的数据结构即多个分解表的形式,将各分解表向表检索装置200具备的各接收处理部各分配一个并使其进行存储。更具体而言,分割部302若例如使用查询装置300具备的⑶I (Graphical UserInterface,未图示)等取得用户指定的表数据,则按照后述那样的规则将其分割为多个分解表。接着,分割部302将表检索装置200具有的固有的标识符即网络地址、和表检索装置200具备的各个接收处理部具有的固有的标识符即接收处理部地址这两个地址的组,对于各个分解表作为其发送目的地来进行指定。然后,分割部302使控制部230朝向指定的发送目的地发送各个分解表。另外,分割部302以具有表示当前正在向哪个接收处理部分配分解表的管理表为前提,例如按照以下方式进行各分解表向各接收处理部的分配。分割部302从上述管理表的上方起(或从下方起)顺序地检索当前未被分配分解表的接收处理部,对检索出的接收处理部各分配一个所生成的分解表即可。查询部303将用于检索在接收处理部中存储的各个分解表的检索查询向控制部230发送。检索查询例如可以基于通过查询装置300具备的Gn从用户取得的信息而每次生成,也可以由查询部303读出预先在ROM (Read Only Memory)等中存储的检索查询。并且,查询装置300从控制部230取得与发送的检索查询对应的检索结果。在查询装置300具备显示装置(未图示)的情况下,可以将取得的检索结果在显示装置上显示。此外,在查询装置300具备印刷装置(未图示)的情况下,可以将取得的检索结果从印刷装置印刷出来。
图2为表不用于实现包含本发明实施方式I的表检索装置200的表检索系统100的、计算机系统的硬件结构的框图。构成实施方式I的表检索系统100的表检索装置200以及查询装置300可以通过计算机实现。图2为表示用于实现构成表检索系统100的表检索装置200以及查询装置300的计算机系统的硬件结构的框图。构成表检索系统100的表检索装置200以及查询装置300包含计算机34、用于向计算机34提供指示的键盘36以及鼠标38、用于提示计算机34的运算结果等信息的显示器32、用于读取由计算机34执行的程序的⑶一 ROM (Compact Disc-Read Only Memory)装置40以及通信调制解调器(未图示)。 构成表检索系统100的表检索装置200以及查询装置300进行的处理即程序被存储在作为计算机可读取的介质的⑶一 R0M42中,由⑶一 ROM装置40进行读取。或者,通过计算机网络由通信调制解调器52读取。计算机34 包含 CPU (Central Processing Unit) 44、ROM (Read Only Memory)46、RAM (Random Access Memory) 48、硬盘 50、通信调制解调器 52 和总线 54。CPU44执行经由⑶一 ROM装置40或通信调制解调器52读取的程序。R0M46存储计算机34的工作所需的程序和数据。RAM48存储程序执行时的参数等数据。硬盘50存储程序和数据等。通信调制解调器52经由计算机网络进行与其它计算机的通信。总线54将CPU44、R0M46、RAM48、硬盘50、通信调制解调器52、显示器32、键盘36、鼠标38以及⑶一ROM装置40相互连接。并且,构成上述各装置的构成要素的一部分或全部可以由I个系统LSI (LargeScale Integrated Circuit :大规模集成电路)构成。系统LSI是将多个构成部在I个芯片上集成制造的超多功能LSI,具体而言,是包含微处理器、ROM、RAM等而构成的计算机系统。在RAM中存储有计算机程序。通过由微处理器按照计算机程序工作,从而系统LSI实现其功能。另外,构成上述各装置的构成要素的一部分或全部可以由对各装置可装拆的IC卡或单体的模块构成。IC卡或模块是由微处理器、R0M、RAM等构成的计算机系统。IC卡或模块也可以包含上述超多功能LSI。通过由微处理器按照计算机程序工作,从而IC卡或模块实现其功能。该IC卡或该模块可以具有耐篡改性。此外,本发明可以是具备微处理器和存储器的计算机系统,上述存储器存储上述计算机程序,上述微处理器按照上述计算机程序工作。此外,也可以是,通过将上述程序向上述介质记录并移送,或通过将上述程序经由上述网络等移送,从而由独立的其它计算机系统实施。图3A为表示本发明实施方式I的表检索装置200中记录的表数据240的图。如图3A所示,表数据具有第I列241及与第I列241对应的第2列242。另外,表数据也可以包含除此之外的列。此外,图3A所示的表数据中,除了第I行的标题(header)行以外包含3行数据,但也可以包含更多的行。另外,这里,假设图3A所示的数据是表示神经细胞间的结合状态的表数据。图3B是使用有向图形表示图3A所示的神经细胞的结合状态的图。第I列241表示成为母节点的神经细胞的节点编号(例如3098、4001),第2列242表示成为子节点的神经细胞的节点编号(例如14、107)。另外,本实施方式的表检索系统100中记录的数据不限于此,可以是包含第I列及与第I列对应的第2列的任意的表数据。图4A为表示本发明实施方式I的表检索装置具备的存储部232中记录的第I分解表的图。图4B为表示本发明实施方式I的表检索装置具备的存储部234中记录的第2分解表的图。如图4A以及图4B所示,分解表具有第I列241和第2列242。分割部302以满足如下条件的方式将表数据240在行方向上分割(以及结合),从 而生成多个分解表。首先,分割部302将第I列241及第2列242中的某一方选择为“基准列”。这里,为了进行说明,将第I列241选择为基准列。接着,分割部302在行方向上分割表数据240,以使得对于多个分解表的每一个而言,作为基准列的第I列241所含的值(A)在该分解表内成为唯一的一个,并且,(B)各个分解表在作为基准列的第I列241所含的值中成为唯一的一个。更具体而言,可以考虑分割部302以如下方式等在行方向上分割表数据240,即
(I)将表数据240所含的各行以第I列241所含的值为基准降序或升序地排列而更换;(2)仅使在第I列241中包含相同值的全部行包含在I个分解表中。结果,表数据240被分割为图4A所示的第I分解表和图4B所示的第2分解表这两个。在第I分解表的第I列241中仅包含3098,在第2分解表的第I列241中仅包含4001。此外,在第I列241中包含值3098的分解表仅为第I分解表,在第I列241中包含值4001的分解表仅为第2分解表。另外,在生成分解表时使用的基准列也可以是第2列。此外,分解表的生成方法也可以考虑其它方法,后面将对其进行详述。图5A为表示本发明实施方式I的表检索系统100具备的检索部233所处理的第I检索查询的图。图5B为表示本发明实施方式I的表检索系统100具备的检索部233所处理的第2检索查询的图。各检索查询例如在表示是检索查询的字符串“SELECT”之后包含指定对各分解表的第I列241和第2列242中的哪个进行检索的列标识符420,以及检索是否包含于由列标识符420指定的列的值即检索值422。这里,具体说明接收处理部220及接收处理部221从发送部210取得了图5A所示的第I检索查询的情况下的处理。在第I检索查询中,作为列标识符420指定第I列241,作为检索值422指定3098。因此,接收处理部220具备的检索部233检索在存储部232中存储的第I分解表的第I列241中是否包含3098。这里,根据分解表的生成方法明确可知,可以保证作为基准列的第I列241所含的值是只有一个。因此,接收处理部220具备的检索部233仅通过将第I列241的除了标题行以外的第I行的值与作为检索值的3098进行比较,就能够判断在第I分解表的第I列241中是否包含3098。这里,在第I分解表中,第I列241的除了标题行以外的第I行的值与3098 —致,因此接收处理部220具备的检索部233将与第I列241对应的第2列242中所含的值全部输出。即,接收处理部220具备的检索部233将14、107作为检索输出值向控制部230输出。另外,作为检索部233得知第I列241和第2列242中的哪个为基准列的方法,可以考虑分割部302使各个分解表预先包含表示第I列241和第2列242中的哪个是基准列的信息。或者,也可以是,分割部302将表示第I列241和第2列242中的哪个是基准列的信息向控制部230而不是分解表进行发送,控制部230将该信息经由发送部210向全部的接收处理部发送。接着,同样地,接收处理部221具备的检索部233判定在存储部234中存储的第2分解表的第I列241的、除了标题行以外的第I行的值是否为3098。这里,第2分解表的第I列241的第I行的值为4001,因此接收处理部221具备的检索部233什么也不输出。 通过以上的接收处理部220及接收处理部221具备的各检索部233的处理,表检索装置200具备的控制部230能够将在表数据240中作为基准列的第I列的值为3098时的、对应的第2列所含的全部值(14、107)向查询装置300输出。接着,具体说明接收处理部220及接收处理部221从发送部210取得了图5B所示的第2检索查询的情况下的处理。在第2检索查询中,作为列标识符420指定第2列242,作为检索值422指定14。因此,接收处理部220具备的检索部233检索在存储部232中存储的第I分解表的第2列242中是否包含14,在找到的情况下,将与第2列242对应的第I列241的值全部作为检索输出值输出。参照图6对该检索处理进行更具体的说明。图6为表示本发明实施方式I的表检索装置进行的、图5B所示的第2检索查询的处理的图。根据本实施方式的分解表的生成方法明确可知,第I分解表的第I列241所含的值仅为3098。因此,接收处理部220具备的检索部233能够在作为检索值的14在第2列242中最初被发现的时刻,停止之后的第2列242的检索,将第I列241所含的全部值(3098)输出。即,利用了第I列241所含的值只有一个的情况,能够实现对应的第2列242的检索区域的删减。这里,接收处理部220具备的检索部233,在判定为在第I分解表的第2列242中除了标题行以外的第I行的值与14 一致的时刻,停止之后的检索,将对应的第I列241中所含的全部值即3098作为检索输出值输出。同样地,接收处理部221具备的检索部233,检索在存储部234中存储的第2分解表的第2列242中是否包含14。这里,第2分解表的第2列242中的第I行的值与14 一致,因此接收处理部221具备的检索部233将对应的第I列241中所含的全部值即4001作为检索输出值输出。通过以上的接收处理部220及接收处理部221具备的各检索部233的处理,表检索装置200具备的控制部230能够将表数据240中的第2列242的值为14时的、对应的第I列241所含的全部值(3098、4001)向查询装置300输出。另外,图5A及图5B所示的检索查询是一个例子,不必一定是与这些相同的格式。检索查询至少包含列标识符和检索值即可。参照图7对以上叙述的表检索系统100中的各处理部的处理流程进行归纳。
图7为表示本发明实施方式I的表检索系统100的处理流程的流程图。首先,分割部302将作为检索对象的表数据分割为多个分解表(S500)。接着,分割部302将各个分解表向表检索装置200具备的各个接收处理部一一对应地进行分配(S502)。接着,查询部303将检索查询向控制部230发送。检索查询至少包含列标识符420和检索值422。接着,控制部230将接收到的检索查询向发送部210发送。此外,发送部210将取得的检索查询始终对表检索装置200具备的全部接收处理部发送(S504)。接着,取得了检索查询的各个接收处理部,在检索部233中执行检索处理(S506), 将其结果向控制部230输出。最后,控制部230将从各个接收处理部取得的检索结果根据需要进行合计,将最终的检索结果向查询装置300输出(S508)。图8为表示本发明实施方式I的接收处理部具备的检索部233进行的检索处理的流程的流程图。首先,检索部233判定是否取得了检索查询(S520)。这里,在还没有从发送部210接收到检索查询的情况下(S520 :否),检索部233再次等待检索查询。另一方面,在取得了检索查询的情况下(S520 :是),检索部233取得检索查询所含的列标识符和检索值。接着,检索部233判定在存储部中存储的列中、由列标识符指定的列(第I列241或第2列242)的检索对象行的值是否与检索值一致(S522)。这里,检索对象行例如被指定为存储部所存储的分解表的除了标题以外的第I行。另外,本实施方式的以检索部233为检索对象的存储部,限于“具备自身的接收处理部”所具备的一个存储部。这里,在开头行的值与检索值不一致的情况下(S522 :否),检索部233判定由列标识符指定的列是否为基准列(S523)。在由列标识符指定的列为基准列的情况下(S523 是),继续检索显然是徒劳,因此结束检索处理。另一方面,在由列标识符指定的列不是基准列的情况下(S523 :否),检索部233将下一行指定为检索对象行(S524),判定在相同列中检索对象行的值是否与检索值一致(S522 )。另一方面,在开头行的值与检索值一致的情况下(S522 :是),检索部233将与由列标识符指定的列对应的列所含的全部值作为检索输出值输出(S526)。例如,在由列标识符指定了第I列241的情况下,将第2列242所含的全部值输出。根据以上叙述的本实施方式的表检索装置200,各接收处理部各存储有一个将作为检索对象的表数据预先分割而得到的分解表。这里,表数据包含第I列和第2列。此外,各个分解表以作为第I列及第2列中的某一个的基准列所含的值在全部分解表中成为唯一的一个的方式生成。因此,表检索装置200对以下(I)及(2)的询问,不预先制作索引也能够与在生成了索引的情况下同程度地高速输出检索结果。(I)对于表数据所含的各行,使第I列为检索值这样的第2列的值全部输出。(2)对于表数据所含的各行,使第2列为检索值这样的第I列的值全部输出。对以上进行归纳,则本实施方式的表检索装置200具备(I)多个接收处理部,各存储有多个分解表的每一个,该分解表通过将表数据在行方向上分割而得到,该表数据是表示表结构的数据,该表结构由多个行以及包含第I列及与第I列对应的第2列的多个列构成;(2)发送部210 ;(3)控制部230,将检索查询向发送部210发送,接收从各个接收处理部输出的输出值即检索输出值,并将接收到的检索输出值输出,上述检索查询包含列标识符和检索值,该列标识符是用于确定第I列及第2列中的某一方的标识符。
这里,发送部210将从控制部230接收到的检索查询对全部的多个接收处理部进行输出。此外,接收处理部判定在通过取得的检索查询所含的列标识符而确定的列中是否包含检索查询所含的检索值,在包含的情况下,将与通过列标识符而确定的列对应的列中所含的值作为检索输出值输出。此外,本实施方式的表检索装置200还可以具备根据表数据而生成多个分解表的分割部302。此时,控制部230从分割部302取得多个分解表,使多个接收处理部各存储一个所取得的分解表。另外,分割部302在表数据中将第I列及第2列中的某一方选择为基准列,生成多个分解表,以使得对于多个分解表的每一个,基准列所含的值在分解表内的基准列内是唯
一的一个。此外,也可以是,分割部302在表数据中将第I列及第2列中的某一方选择为基准列,生成多个分解表,以使得对于多个分解表的每一个,基准列所含的值(A)在分解表内的基准列内是唯一的一个,并且(B)多个分解表的每一个在基准列所含的值中是唯一的一个。此外,控制部230将确定基准列的标识符作为列标识符,将检索是否包含在基准列中的值作为检索值,将检索查询向发送部210发送。此外,也可以是,控制部230将确定第3列的标识符作为列标识符,将检索是否包含在第3列中的值作为检索值,将检索查询向发送部210发送,上述第3列是与作为第I列及第2列中的一方的基准列对应的其他方的列。(实施方式2)接着,对实施方式2的表检索系统100以及表检索装置200进行说明。在本实施方式中,在各接收处理部中存储的分解表的生成方式与实施方式I不同。图9为表示包含本发明实施方式2的表检索装置200的表检索系统100的整体结构的框图。本实施方式的表检索装置200,除了具备3个接收处理部(接收处理部220 接收处理部222)以外,与实施方式I的表检索装置200为相同结构。在本实施方式中,将表数据240中所含的多个行分别与各I个不同的接收处理部对应起来进行存储。使用图10对其进行具体说明。图IOA为表示本发明实施方式2的表检索装置200中存储的第I分解表的图。图IOB为表示本发明实施方式2的表检索装置200中存储的第2分解表的图。图IOC为表示本发明实施方式2的表检索装置200中存储的第3分解表的图。第I分解表 第3分解表与表数据240的各行分别对应。即,分割部302将表数据240按每I行进行分割,从而生成与各行对应的多个分解表。具体而言,表数据240的第I行与第I分解表对应,表数据240的第2行与第2分解表对应,表数据240的第3行与第3分解表对应。以下,与实施方式I同样地,假设分割部302将第I列241选择为基准列来进行说明。首先,分割部302使各I个的不同的接收处理部存储所生成的多个分解表。在本实施方式中,将第I分解表存储到接收处理部220具备的存储部232中,将第2分解表存储到接收处理部221具备的存储部234中,将第3分解表存储到接收处理部222具备的存储部235中。另外,分割部302指定存储分解表的接收处理部的方法与实施方式I同样。这样,对将除了标题行以外仅有I行的分解表在存储部中存储的各个接收处理部,发送部210发送所取得的检索查询。以下,以接收处理部220为例,对取得了检索查询的接收处理部的处理进行说明,但处理的内容在其它接收处理部中也是同样的。接收处理部220具备的检索部233从检索查询中取得列标识符420和检索值422。接着,检索部233对于存储部232中存储的第I分解表,判定由列标识符420指定的列的值是否与检索值422 —致。由于第I分解表仅包含I行,因此该判定处理必定通过一次的比较处理而结束。例如,参照图5A,在接收处理部220取得了第I检索查询的情况下,检索部233判定作为列标识符420而被指定的第I列241的值是否与3098 —致。判定的结果是第I列241的值与3098 —致,因此检索部233将另一方的列即第2列242中所含的全部值(14)向控制部230输出。通过像这样由控制部230取得从全部的接收处理部具备的检索部233输出的值,从而表检索装置200能够对表数据240执行由第I检索查询指定的检索。另外,在接收处理部220取得了第2检索查询的情况下,检索部233判定作为列标识符420而被指定的第2列242中所含的值是否与14 一致,除此以外进行与取得第I检索查询时同样的处理。即,本实施方式的表检索装置200具备的分割部302,将表数据按每一行进行分害I],从而生成多个分解表。根据以上叙述的实施方式2的表检索系统100,表数据240的各行与不同的I个接收处理部对应,被存储在各接收处理部具备的存储部中。结果,各接收处理部对取得的检索查询仅进行一次比较处理就能够输出检索结果。控制部230将这样输出的来自各接收处理部的输出集中起来,从而表检索装置200不生成索引也能够比实施方式I更高速地进行表数据的检索。(实施方式3)图11为表示包含本发明实施方式3的表检索装置200的表检索系统100的整体结构的框图。本实施方式与实施方式2的不同点在于,多个接收处理部(接收处理部220 接收处理部222)共有1个检索部233。在实施方式2中,在各接收处理部具备的存储部中,仅存储有与表数据I行量相当的分解表。因此,检索部233进行的检索处理为简单处理即可。因此,不需要表检索装置200具备的全部接收处理部都具有检索部233,如图11所示,一定数量的接收处理部可以共有检索部233。根据该结构,能够简化接收处理部221的结构,实现表检索装置200的成本削减、小型化、省电化。(实施方式4)图12为表示包含本发明实施方式4的表检索装置200的表检索系统100的整体结构的框图。在本实施方式中,表检索系统100具备多个表检索装置200。表检索装置200的结构例如可以是实施方式I 3中的任一个。在本实施方式的表检索系统100中的检索时,查询装置300具备的查询部303将检索查询向全部的表检索装置200同时发送。取得了检索查询的各个表检索装置200向自身具备的全部接收处理部发送所取得的检索查询。之后,各个接收处理部进行的检索处理可以通过与实施方式I 3同样的处理进行。 该结构例如对于在通过集成电路等硬件来安装表检索装置200的情况下、能够确保表检索系统100的可扩展性(scalability)而言特别有效。具体而言,在表数据240的大小较大、从而对其进行分割而得到的分解表的数量比I个表检索装置200具备的接收处理部的数量大的情况下,也能够通过将表检索装置200按必要的数量对查询装置300并联连接,来增加表检索系统100具备的接收处理部的数量。结果,能够与表数据240的大小无关地实现可检索的表检索系统100。另外,在实施方式I 4的表检索系统100中,也可以由表检索装置200具备的控制部230具备分割部302,而不是由查询装置300具备分割部302。另外,在实施方式I 4的表检索系统100中,查询装置300也可以将多个表数据存储在I个表检索装置200中。这种情况下,具体而言,成为如下步骤(I)查询装置300对表数据分配对该表进行唯一识别的表标识符;(2)分割部302将表数据分割而生成的各个分解表中,包含向表数据附加的表标识符;(3)存储部保存包含表标识符的分解表;(4)查询部303生成包含作为检索对象的表数据的表标识符的查询,并向控制部230发送;(5)检索部233判断表标识符及检索值是否一致。由此,在与表检索装置200具备的接收处理部的数量相比、表数据的数据大小较小的情况下,能够将多个表数据存储在I个表检索装置200中,使表检索装置200的利用效率提高。另外,实施方式I 4的表检索系统100具备的检索部233也可以判定被指定了范围的值中的任意值是否包含于存储部,而不是判定I个值是否包含于存储部。例如,也可以是,第I列只要是3040 3090中的任意值,则判定为单元格(cell)的值与检索值一致(步骤 S522)。另外,本发明不限于上述实施方式I 4。例如也可以将上述实施方式I 4分别组合。此外,这里公开的实施方式在各方面都应视为例示而非限制。本发明的范围不限于上述说明而由权利要求的范围示出,可以包含与权利要求范围等同的含义以及范围内的全部变更。工业实用性本发明能够适用于表检索装置,特别是能够适用于检索在网络内分散保存的表的表检索装置等。符号说明32 :显示器34:计算机36:键盘38:鼠标
40: CD —ROM 装置42 : CD — ROM44 : CPU46 R0M48 : RAM50:硬盘52 :通信调制解调器54:总线100 :表检索系统200 :表检索装置202 :第I通信路径204 :第2通信路径210 :发送部212 :发送缓冲器213 :输出部220、221、222 :接收处理部230 :控制部231 :取得部232、234、235 :存储部233 :检索部240 :表数据241:第 I 列242:第 2 列300 :查询装置302 :分割部303 :查询部420 :列标识符422:检索值
权利要求
1.一种表检索装置,具备 多个接收处理部,各存储有多个分解表的每一个,该多个分解表通过将表数据在行方向上分割而得到,该表数据是表示由多个行和包含第I列及与上述第I列对应的第2列的多个列构成的表结构的数据; 发送部;以及 控制部,将检索查询向上述发送部发送,接收从上述多个接收处理部的每一个输出的输出值即检索输出值,并将接收到的上述检索输出值输出,上述检索查询包含列标识符和检索值,该列标识符是用于确定上述第I列及上述第2列中的某一方的标识符, 上述发送部将从上述控制部接收到的上述检索查询对全部的上述多个接收处理部进行输出, 上述接收处理部判定在通过已取得的上述检索查询所含的上述列标识符而确定的列中是否包含上述检索查询所含的上述检索值,在包含的情况下,将与通过上述列标识符而确定的列对应的列所含的值作为上述检索输出值输出。
2.如权利要求I所述的表检索装置,其特征在于, 该表检索装置还具备根据上述表数据而生成上述多个分解表的分割部, 上述控制部从上述分割部取得上述多个分解表,使上述多个接收处理部各存储一个所取得的上述分解表。
3.如权利要求2所述的表检索装置,其特征在于, 上述分割部在上述表数据中将上述第I列及上述第2列中的某一方选择为基准列,生成上述多个分解表,以使得对于上述多个分解表的每一个,上述基准列所含的值在上述分解表内的上述基准列内是唯一的一个。
4.如权利要求2所述的表检索装置,其特征在于, 上述分割部在上述表数据中将上述第I列及上述第2列中的某一方选择为基准列,生成上述多个分解表,以使得对于上述多个分解表的每一个,上述基准列所含的值(A)在上述分解表内的上述基准列内是唯一的一个,并且(B)在上述多个分解表的每一个在上述基准列所含的值中是唯一的一个。
5.如权利要求3或4所述的表检索装置,其特征在于, 上述控制部将确定上述基准列的标识符作为上述列标识符,将检索是否包含在上述基准列中的值作为上述检索值,将上述检索查询向上述发送部发送。
6.如权利要求3或4所述的表检索装置,其特征在于, 上述控制部将确定第3列的标识符作为上述列标识符,将检索是否包含在上述第3列中的值作为上述检索值,将上述检索查询向上述发送部发送,上述第3列是与上述第I列及上述第2列中的一方即上述基准列对应的其他方的列。
7.如权利要求2所述的表检索装置,其特征在于, 上述分割部将上述表数据按每一行进行分割,从而生成多个上述分解表。
8.如权利要求7所述的表检索装置,其特征在于, 上述多个接收处理部中的两个以上接收处理部共有地具备一个检索部,该检索部是判定上述检索值是否包含在通过上述列标识符而确定的列中的处理部。
9.一种表检索系统,其特征在于,具备多个在权利要求I 8中的任一项中记载的表检索装置;以及 与上述多个表检索装置的每一个都连接的查询装置, 上述查询装置对全部的上述多个表检索装置输出相同的上述检索查询。
10.一种表检索方法,是表检索装置的表检索方法,该表检索装置具备 多个存储部,各存储多个分解表的每一个,该多个分解表通过将表数据在行方向上分割而得到,该表数据是表示由多个行和包含第I列及与上述第I列对应的第2列的多个列构成的表结构的数据;以及 检索部,对上述多个存储部的至少一个进行检索, 该表检索方法的特征在于, 接收包含列标识符和检索值的检索查询,该列标识符是用于确定上述第I列及上述第 2列中的某一方的标识符, 将上述检索查询向上述检索部发送, 上述检索部,判定在对应的上述存储部所存储的分解表中、在通过上述检索查询所含的上述列标识符而确定的列中是否包含上述检索查询所含的上述检索值, 判定为包含的上述检索部,将与通过上述列标识符而确定的列对应的列所含的值作为上述检索输出值输出。
11.一种程序,使计算机执行权利要求10所记载的表检索方法。
12.—种计算机可读取的记录介质,记录了权利要求11所记载的程序。
13.一种集成电路,具备 多个接收处理部,各存储多个分解表的每一个,该多个分解表通过将表数据在行方向上分割而得到,该表数据是表示由多个行和包含第I列及与上述第I列对应的第2列的多个列构成的表结构的数据; 发送部;以及 控制部,将检索查询向上述发送部发送,接收从上述多个接收处理部的每一个输出的输出值即检索输出值,并将接收到的上述检索输出值输出,上述检索查询包含列标识符和检索值,该列标识符是用于确定上述第I列及上述第2列中的某一方的标识符, 上述发送部将从上述控制部接收到的上述检索查询对上述多个接收处理部中的存储有上述多个分解表的全部接收处理部输出, 上述接收处理部判定在通过已取得的上述检索查询所含的上述列标识符而确定的列中是否包含上述检索查询所含的上述检索值,在包含的情况下,将与通过上述列标识符而确定的列对应的列所含的值作为上述检索输出值输出。
全文摘要
一种表检索装置,不预先生成索引也能够高速进行检索,具备多个接收处理部(220、221),各存储有多个分解表的每一个,该多个分解表通过将包含第1列及第2列的表数据在行方向上分割得到;发送部(210);以及控制部(230),将包含列标识符和检索值的检索查询向发送部(210)发送,并接收从多个接收处理部的每一个输出的检索输出值,将接收到的检索输出值输出,上述列标识符确定第1列及第2列中的某一方;发送部将从控制部接收到的检索查询对全部的多个接收处理部输出,接收处理部,在通过已取得的检索查询所含的列标识符而确定的列中含有检索查询所含的检索值的情况下,将与通过列标识符而确定的列对应的其他方的列中所含的值作为检索输出值输出。
文档编号G06F17/30GK102648468SQ20108005487
公开日2012年8月22日 申请日期2010年12月2日 优先权日2009年12月4日
发明者柳濑隆敏 申请人:柳濑隆敏
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1