CN1954560A - 固定长数据的检索装置及检索管理方法 - Google Patents
固定长数据的检索装置及检索管理方法 Download PDFInfo
- Publication number
- CN1954560A CN1954560A CNA200480042951XA CN200480042951A CN1954560A CN 1954560 A CN1954560 A CN 1954560A CN A200480042951X A CNA200480042951X A CN A200480042951XA CN 200480042951 A CN200480042951 A CN 200480042951A CN 1954560 A CN1954560 A CN 1954560A
- Authority
- CN
- China
- Prior art keywords
- data
- fixed length
- mentioned
- length data
- retrieval
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种固定长数据的检索装置及检索管理方法。把数据库(560)具有的固定长数据(560)一次细分化至可检索数,高速地进行检索。作为其方案,具备指针表格(500)、2次指针表格、局部表格和固定长数据表格,并且在需要更细分化的场合,具备具有数值比较功能的表格。这些表格作为用于进行效率很好的构筑·管理,进行不妨碍检索动作的管理的单元,可以具备空家表格(700)、空室表格(720)、室管理表格(740)和构造管理表格(760)。
Description
技术领域
本发明一般涉及数据的检索装置、检索方法。特别涉及具备从数据的比特长一定的固定长数据的集合即数据库中,高速地检索在指定了的检索规则下一致的数据的功能的控制装置、控制方法、控制程序、控制用数据构造和计算机可读取的记录介质,还涉及具备效率很好地构筑·管理考虑了检索功能的数据库的功能的控制装置、控制方法、控制程序、控制用数据构造和计算机可读取的记录介质。再详细一些,涉及用于实现网络间中继装置中的目的地路径的高速检索及过滤功能所必要的高速检索的通信控制装置、通信控制方法、通信控制程序、通信控制用数据构造和通信计算机可读取的记录介质。
背景技术
从数据库中高速地检索希望的固定长数据的要求在各种领域中都存在。特别是在网络内中继装置及网络间中继装置中使用的中继处判定及中继判定所用的数据库中,在采用不同的检索规则的场合,对高速检索、有效的数据库的构筑·管理等以及检索后的数据库的读出·修正等,有更高的要求。
高速地检索数据库的现有技术涉及MAC(Media Access Control)地址表格(テ一ブル)的检索而被采用。其中,作为高速地检索MAC地址表格的现有技术,有适用散列(ハツシュ)函数的方法,使用CAM(Content Addressable Memory)的方法以及其他方法,例如,适用二分检索算法的方法等。在MAC地址表格由数十万个以上的MAC地址构筑而成的场合,存在以下问题点。
在从数据库中检索希望的固定长数据的场合,公知的是希望的固定长数据与数据库内的固定长数据完全一致的检索法。实际上,还实现·使用了许多其他检索规则的检索。例如在从网络间中继装置中使用的路径表格中检索希望的IP(Internet Protocol)地址的场合,需要基于LPM(Longest Prefix Match)法的检索。IP地址由网络地址(也称为Prefix或前缀)和主地址构成。前缀是可变长的,是被集约(aggregated)了的。集约是指把前缀的上位比特共用而具有相同的目的地的多个前缀以1个前缀来代表。代表的前缀以共用的上位比特来表达。结果,检索含有被集约了的IP地址的路径表格的话,就会出现多个IP地址一致的情况。LPM法是把一致的多个IP地址中最长的前缀作为检索结果的检索方法。实现基于LPM法的高速检索的现有技术是TCAM(TernaryContent Addressable)。高速检索是可以实现的,不过存在与上述的CAM相同的问题。即对于TCAM,由于其电路构造,大规模(大容量的)TCAM难以制造,不能保持大量的固定长数据。
带屏蔽功能的检索规则也是一般的。此规则是例如在从数据库中检索希望的固定长数据的场合,如果希望的固定长数据与数据库内的固定长数据的一部分(也有全部的场合)一致就将其作为检索结果的检索规则。在此场合,屏蔽具有能以具有与固定长数据相同的数据长的、构成固定长数据的比特单位来屏蔽的功能,按本规则可以实现许多检索方法。以网络内中继装置及网络间中继装置作为例子来说明本规则。在本例的装置中,把输入了的数据包往哪个送出端口输出是由路径表格的检索来决定的。在这里,送出与否的判断由过滤功能来进行。此过滤功能是带屏蔽功能的检索的代表例。例如,在输入数据包中,由发送地IP地址(32比特)、目的地IP地址(32比特)、协议(8比特)、发送地端口(16比特)以及目的地端口(16比特)这五个数据构成的104比特的固定长数据所构筑的流程表格用于过滤功能。在此场合,在104比特中可以通过比较对照而除掉一部分比特(进行屏蔽),未被屏蔽的比特全部一致的固定长数据成为检索结果。带屏蔽功能的检索的现有技术一般使用散列法、CAM。在散列法、CAM中也存在以下问题点。
即,现有技术的检索方式中的大问题是数据库的构筑及其管理。在选择、实现各种检索法的场合,如果不综合评价数据库的构筑及管理法,作为目标的检索方式就不能实现。
以二分检索所涉及的快速检索和利用了TCAM的检索法作为例子来说明现有技术所具有的数据库的构筑·管理的问题点。在二分检索法中,首先准备作为数据库的构成员的m个固定长数据按大小顺序变换排列的数据库。检索是从比较位于数据库的中点[m/2](m/2是指在m为奇数的场合,四舍五入而获得整数)的固定长数据和希望检索的固定长数据来开始。比较的结果,在希望检索的固定长数据大的场合,比较位于[m/2]和m的中点[(m/2)+m]/2]的固定长数据和希望检索的固定长数据。在最初的比较中希望检索的固定长数据小的场合,比较位于m/2」和1的中点[([m/2]+1)/2]的固定长数据和希望检索的固定长数据。如果比较了的固定长数据与希望检索的固定长数据一致,比较了的固定长数据就作为检索结果,检索结束。只要中点计算可行,就进行以上的比较动作。此处,在中点计算以1和2来进行的场合,选择1进行比较。在m为262,144(2的18次方)的场合,需要最大18+1次从数据库的读出。以上的检索动作简单,检索法可实现。可是,构筑、管理数据库不简单。特别是在m比上述例的大,由通信用控制装置来构筑一般的大规模数据库的场合,需要许多时间和大的计算能力。此外,在数据库随时间强行变更的移动产品增加的最近的环境下,数据库中固定长数据的删除·追加频繁产生。在固定长数据的现有技术的删除·追加中,每次都需要进行上述变换排列。这样,数据库的构筑·管理成就为大负荷,对于检索能力成为大的障碍,这是现状。
在现有技术中,大多利用TCAM作为高速地检索IP地址的方法。可是,TCAM具有与CAM相同的问题。其存储容量没有DRAM(Dynamic Random Access Memory)那样大,因此,构筑具有许多IP地址的数据库的话,就需要许多TCAM,由于功率供给及数据包的制约,不能构筑大的数据库。此外,在采用TCAM的场合,会产生数据库的构筑·管理上的问题。根据上述LPM规则,有与希望固定长数据一致的许多固定长数据存在,这一点已经说明。为了从其中选择具有最长的前缀的固定长数据,就需要按一致的许多固定长数据中的前缀的长度顺序来变换排列数据。即,把IP地址的上位比特成为共用的IP地址的集合小组化,将其在小组内按长度顺序变换排列的作业作为数据库构筑的作业是必要的。在此场合,为了使得对变更时的检索能力的影响最小,在小组间要准备几个空地,其目的在于,对于追加动作,要以最小的时间来完成其追加作业。这样,在采用TCAM的场合,不使其检索能力减小地构筑·管理数据库就隐含着大问题。还有,由于在小组间准备了几个空地,导致TCAM的使用效率减小,使得TCAM的容量不足更加恶性循环。
在通信控制装置中,在检索数据库后,根据其检索结果来读出目的地端口等用户数据,修正一致了的固定长数据的统计数据等,一般都具有这种功能。作为现有技术的高速检索法是把用户数据及统计数据等存放在外部存储器单元中,因而从检索开始到获得目的地端口的时间长。
发明内容
一般而言,检索法是对广泛分类而(1)包含检索所必要的数据、用户数据、统计数据等的(2)大的数据库,(3)在数据库所要求的检索规则下,(4)进行高速检索,(5)对数据库有效地进行构筑·管理。可是现有技术的检索法对于上述要求在各要求项目上存在大的问题。一般而言,解决(1)和(2)的话(3)和(4)就留有问题,反过来解决(3)和(4)的话(1)和(2)就有问题存在。(5)的问题在现有技术中都明显存在。
本发明是为了解除上述问题点而提出的,其主要的目的在于,对数据库中大量存放的包含检索所必要的数据、用户数据、统计数据等各种数据的固定长数据(1)进行高速检索,(2)按照检索结果进行修正,(3)实现在数据库的构筑时不需要空地的高的存储器使用效率,(4)使得数据库的追加·删除动作不会减小检索能力的数据库管理能够进行,提供用于此的装置或方法或计算机用记录介质。
从数据库内的固定长数据中检索希望的固定长数据是对希望的固定长数据和数据库内的固定长数据进行比较。并且,在获得了一致的固定长数据时,或在比较了最后的固定长数据时检索就结束。此方法是数据库越大,检索时间越长,越没有实现性。
因此,高速检索方法之一等同于如何减少与希望的固定长数据进行比较的数据库内的固定长数据的数这样的命题。本发明提出的检索方法具备对数据库内的固定长数据的数进行细分化,使与希望的固定长数据进行比较的固定长数据的数为最小的单元。主要的单元是使用散列值、散列值的一部分、固定长数据及固定长数据的一部分,对构成数据库的固定长数据进行细分化。另外,现有单元是使用散列值的一部分或固定长数据的一部分来构筑表格,或者适用应用了二分检索法的L(L是Q*K以上的整数。Q和K后述)分支检索法,从而实现作为目的的细分化。
还有,在本发明中提出了为了高速地进行检索,以增加一次进行比较的固定长数据的数为目的,使Q个存储器阵列和从该存储器阵列读出的比特数(R)为最大的存储器。还有,在本发明中,具有与这些比特对应的比较器,从而在R相当于K个固定长数据长的场合,能一次进行Q*K个固定长数据的比较。结果,在固定长数据的数为Q*K个以下的场合,通过一次存储器读出就能获得检索结果。在成员数为Q*K个以上,2*Q*K以下的场合,还可以把存储器读出的次数设为2次。同样,在本发明中,把存储器读出的次数设为可变的,还可以解决数据库内的固定长数据数的细分化所涉及的固定长数据数不均衡的问题。在本手法中,在把262,144个随机数值(成员)细分化为65,536个小组的场合,4~5成员的小组数最多,具有15~16成员的小组也存在。具有更多成员的小组则没有。这是对随机数值进行了细分化的一个例子,而如果假定Q*K为4的场合,按最大4次存储器读出,目的检索就结束。以上是本发明提出的基本的检索法。不过,存储器阵列的数Q有上限,对于从存储器阵列读出的比特数也有限制。为了在这些限制下削减存储器读出的次数,就要更加强化数据库的细分化。对此,本发明提出了解决固定长数据数不均衡的问题的方法,提出了也能对应大的不均衡的检索方法。
数据库内的固定长数据数的细分化适用一般的手法,即散列函数,在其不能适用的场合,适用该数据本身。后者的例子是IP地址的细分化。要计算用于细分化的全索引(インデツクス)。在适用了散列函数的场合,全索引是散列值,在IP地址的场合,全索引是IP地址。在此处理中采用把全索引或全索引的一部分作为索引的指针(ポインタ)表格。这样,被检索的数据库就被细分化为指针表格的登录(ェントリ一)数的小组。细分化了的小组被存放在固定长数据表格中。固定长数据表格的1个登录可存放Q*K个成员。此时,把存放Q*K个成员的登录定义为家,把该家存放1个成员的地方定义为室。在由指针表格细分化了的小组数比家的室数小的场合,通过指针表格读出和固定长数据表格的一次读出,检索就结束。如果把指针表格和固定长数据表格存放在分别的存储器中,各自被独立读出的话,就通过并列动作,检索时间花费二次存储器读出的时间,不过,检索次数与一次存储器读出所进行的检索数相等。
问题是由指针表格细分化了的小组数比家的室数大的场合。按此场合的小组的细分化,本发明提出了二个方法。一个是SPT(2次指针表格)和局部表格。SPT被存放在指针表格所存放的存储器中,局部表格被存放固定长数据表格中。也可以把SPT和局部表格存放在别的存储器中。两表格对属于具有小登录数即4~16登录的指针表格的登录的Q*K个成员进行细分化。把通过指针表格和固定长数据表格的读出而被检索的成员数设为1的话,(1)通过指针表格、SPT、固定长数据表格的读出而被检索的成员数的最大数为4~16,(2)通过指针表格、局部表格的读出而被检索的成员数的最大数为4~16,(3)通过指针表格、SPT、局部表格的读出而被检索的成员数的最大数为16~256。可是,这些手法存在两个问题。一个是在IP地址的检索的场合产生。在通过IP地址的屏蔽,SPT或局部表格的索引的部分和屏蔽长互相重合的场合,必须考虑具有该屏蔽的IP地址的处理。这一点的详细情况以用于实施发明的最佳方式来说明。另一个是在最坏的场合,SPT和局部表格有时得不到细分化的解。即全部成员分布于SPT或局部表格的一个登录的场合。这种情况非常稀少,也许可以不考虑。可是,为了追求完全的解,在本发明中提出采用数值比较(NVC)法。NVC法是进行基本上与二分检索相同的原理的L分支检索。能用一次NVC法一下子检索的成员数是二分检索的L倍,在二次NVC法的场合为二分检索的L*L倍。数值比较法的详细说明以用于实施发明的最佳方式来进行。根据以上方法,根据本发明,提出了能以2、3次存储器读出次数来检索作为目的的固定长数据的高速检索法。
在本发明中为了把检索法一般化,提出了伴随进行检索的各种检索规则的检索装置。它们是(1)使用全局屏蔽的检索规则,(2)使用局部屏蔽的检索规则,(3)使用LPM(Longest Prefix Mask)进行检索的规则。检索是只比较未被屏蔽的比特,在(1)和(2)的场合,一致了的数据成为检索结果,在(3)的场合,许多一致了的数据中具有最长的屏蔽长的数据成为检索结果。
在本发明提出的检索装置中,为了使一秒钟所检索的次数最大化,检索动作根据存储器读出的时期,不一定按输入顺序来检索,而是按可处理顺序来检索。在本发明中,以取得检索动作所必要的各处理的同步为目的,把检索号码导入检索装置中,实现非同步处理的检索。并且,通过把检索号码输入到本发明的检索装置中,使得取得检索命令和检索结果的同步成为可能。同时,还有防止过输入(溢出)所涉及的本装置的过渡运行的优点。即,如果按检索号码N输入检索命令,得不到检索号码N的检索结果的话,就不能按检索号码N输入新的检索命令。如果预先定下N的最大值,就能防止过输入所涉及的问题。
本发明是解决现有技术具有的存放检索对象的表格的构筑或管理的问题点。与现有技术关联而说明了的表格的构筑·管理的问题点是(1)只能利用存放检索对象的表格的可存放数的70~80%,(2)表格的构筑·管理需要大量作业。本发明通过管理家、室、表格的构造,解决了(1),降低了主控制装置进行的(2)。本发明基本上以家全部保持满室的方法进行管理。以用于实施发明的最佳方式来说明的管理是由大团体和小团体,或者以具有相同尺寸的二个团体使家成为满室。具有以空家表格来管理一个团体都不存在的家,并且在小团体不在的,或者相同尺寸二个团体之一不在的场合,以空室表格及室管理表格来管理它们的家。因此,满室的家不进行管理。本发明的检索法具有各种表格方式,具有检索次序的构造。因此,提出了表格检索次序的变更所伴随的构造变更能在短期间简单地进行的手法。
附图说明
图1是表示本发明有的实施方式中的本发明固定长数据检索及管理装置所涉及的实施例的框图。
图2是表示本发明有的实施方式中的固定长数据检索装置10的动作的流程图。
图3是表示构成本发明有的实施方式中的固定长数据检索装置10的输入固定长数据处理单元100的功能的框图。
图4是表示本发明有的实施方式中的构成固定长数据检索装置10的指针表格存储器500的构成、构成固定长数据检索装置10的固定长数据表格存储器560的构成、构成固定长数据检索装置10的数据表格存储器540的构成的框图。
图5是表示本发明有的实施方式中的指针表格存储器500中存放的指针表格的索引、指针表格存储器500的读出的功能块、固定长数据表格存储器560中存放的固定长数据表格的索引、固定长数据表格存储器560的读出的功能块、对数据表格存储器540中存放的数据表格的读出及写入的索引、数据表格存储器540的读出的功能块的说明图。
图6是表示本发明有的实施方式中的指针表格的登录数据的形式及其内容、固定长数据表格的登录控制数据的形式及其内容的图。
图7是表示本发明有的实施方式中的构成固定长数据检索装置10的指针处理单元200的功能的框图。
图8是表示本发明有的实施方式中的固定长数据表格的登录数据的形式及其内容、固定长数据表格的登录数据的要素的种类及其内容的图。
图9是进行本发明有的实施方式中的固定长数据表格具有的NVC形式的动作说明的图。
图10是表示本发明有的实施方式中的构成本发明有的实施方式中的固定长数据检索装置10的比较单元400的功能的框图。
图11是表示本发明有的实施方式中的比较单元400进行的比较方法和与其对应的屏蔽的功能块和表示比较单元400进行的大小比较方法的功能块图。
图12是表示本发明有的实施方式中的比较单元400输出的输出数据的种类及其内容的图。
图13是表示本发明有的实施方式中的构成固定长数据检索装置10的修正单元300的功能块、修正单元300输出的输出数据、数据表格的登录数据的内容的说明图。
图14是表示本发明有的实施方式中的构成固定长数据检索装置10的输出单元800的功能块和输出单元800输出的输出数据的说明图。
图15是表示本发明有的实施方式中的空家表格存储器700中存放的空家表格和其内容以及空家表格的登录的关系的图。
图16是表示本发明有的实施方式中的空家表格存储器720中存放的空家表格和其内容以及空家表格的登录的关系的图。
图17是表示本发明有的实施方式中的室的管理法的图。
图18是表示本发明有的实施方式中的空室管理表格存储器740中存放的空室管理表格及其内容的图。
图19是表示本发明有的实施方式中的固定长数据检索及管理装置所涉及的表格的关系的图。
图20是表示本发明有的实施方式中的管理表格的图。
图21是表示本发明有的实施方式中的构造管理表格存储器760中存放的构造管理表格和其内容以及固定长数据表格的构造的演变的图。
图22是表示本发明有的实施方式中的检索次序的实施例的图。
图23是本发明有的实施方式中的固定长数据检索及管理装置所涉及的表格管理控制单元的实施例、本发明有的实施方式中的固定长数据检索及管理装置所涉及的表格管理控制单元以及控制器或是定序器的框图。
图24是表示对本发明有的实施方式中的表格管理控制单元的命令、输入命令·执行功能的动作及自动删除命令功能的动作的流程图。
图25是表示本发明有的实施方式中的附加命令的执行及删除命令的执行的流程图。
图26是表示本发明有的实施方式中的统计数据引出命令的执行及自动删除名引出命令的执行的流程图。
图27是表示本发明有的实施方式中的自动删除命令的执行的流程图和固定长数据表格的要素控制数据的内容的说明图。
图28是表示本发明有的实施方式中的单纯附加功能及构造变更附加功能的流程图。
图29是表示本发明有的实施方式中的单纯删除功能及构造变更删除功能的流程图。
图30是表示本发明有的实施方式中的管理输出功能的块和管理输出数据的说明图。
图31是表示可适用本发明有的实施方式中的本发明的计算机程序及记录介质的计算机系统的构成例的框图。
具体实施方式
以下,就用于实施本发明的最佳方式及实施例具体地进行说明。不过,本发明不限于以下说明的实施方式及实施例,而是可以在不越出其要旨的范围进行各种改良。
[整体的构成]
图1表示本发明中的固定长数据的检索及管理所涉及的实施例的功能块图。为容易理解,先通过图1~14说明检索所必要的功能,其次说明构筑、维护成为其基本功能的各种表格的管理功能。
图1是表示本发明中的固定长数据检索及管理装置所涉及的实施例的框图。图1表示的固定长数据检索及管理装置50在一部分具有固定长数据检索装置10。图1所示的固定长数据检索装置10具备:对输入了的输入固定长数据9和检索号码8及统计数据11进行指定了的处理而将其输出的输入固定长数据处理单元100;存放由上述输入固定长数据处理单元100的输出或指针处理单元200的输出来索引的指针表格的指针表格存储器500;把下述固定长数据表格存储器560的输出或上述指针表格存储器500的输出与上述输入固定长数据处理单元100的输出的一部分一起进行运算,输出其结果的上述指针处理单元200;存放把上述指针处理单元200的输出作为索引的固定长数据表格的固定长数据表格存储器560;以指定了的规则来比较上述固定长数据表格存储器560输出的许多固定长数据和上述输入固定长数据9的比较单元400;根据上述比较单元400的一致结果的输出,存放把上述指针处理单元200的输出作为索引的一部分的保持用户数据和统计数据的数据表格的数据表格存储器540;输出上述数据表格存储器540的输出的一部分,或对其一部分数据进行运算,在上述数据表格存储器相同的地方写入的修正单元300;以及使上述比较单元400的输出和上述修正单元300的输出同步而将其输出的输出单元800。另外,也可以由单一存储器来构成上述指针表格存储器500、固定长数据表格存储器560和数据表格存储器540。
图2是图1记载的固定长数据检索装置10的处理流程图。说明其概略,首先,想检索的输入固定长数据9被输入(S202)。然后由输入固定长数据处理单元100来计算指针表格的索引(S204)。再读出指针表格(S206)。此后,由指针处理单元200来处理指针表格的输出(S208)。如果它指示指针表格(S210),就再次进行指针表格读出(S206)。如果指针处理单元200的输出指示固定长数据表格的读出,就执行它(S212)。如果一次固定长数据表格读出而比较动作(S214)结束的话(S216),就作成检索结果,如果一致(S218~S222),就由修正单元300进行数据表格读出和写入(S224)。然后由输出单元输出检索结果(S226)。在比较结果不一致(S218)的场合,就作成不一致结果(S228)。由输出单元输出检索结果(S226)。如果上述比较动作未结束(S216~S230),就再次通过指针处理来进行表格的地址计算,进行表格的选择(S232)。在选择了局部表格的场合,执行固定长数据表格的读出(S212)。在通过表格的选择(S232)而选择了SPT的场合,执行来自指针表格的读出(S206)。本发明中的数据库的细分化的特征通过多个指针表格的读出,多个固定长数据表格的读出,以及指针表格和固定长数据表格的组合所涉及的多个读出来实现。以下与图1、图2一起详细说明固定长数据检索装置10的动作。
固定长数据检索装置10中输入的检索号码8主要作为上述指针处理单元200、较单元400、修正单元300、各存储器的动作并列化及比较单元400、修正单元300、输出单元800的输出的名称来使用,并且被输入的统计数据11由修正单元300来使用,因而不是检索手法的本质,所以图2未记述。
[输入固定长数据处理单元]
输入固定长数据9、检索号码8、统计数据11被输入给输入固定长数据处理单元100。输入固定长数据处理单元100运算、输出指针表格500中存放了的指针表格的索引。指针表格的任务是把数据库内的固定长数据分割为小组,使该小组内的固定长数据的数(成员数)均匀化,使其尽可能减少。因此,运算方法准备了以下4个。
(1)通过散列法计算出的散列值
(2)通过散列法计算出的散列值的一部分
(3)输入固定长数据
(4)输入固定长数据的一部分
运算方法、从散列值或输入固定长数据中取出一部分的方法是可指定的。图3表示输入固定长数据处理单元100的实施例。
输入固定长数据处理单元100中输入了的输入固定长数据9被临时储藏在寄存器D中,检索号码8及统计数据11被临时储藏在寄存器C中,在后述的其他输出数据从输入固定长数据处理单元100被输出时,同步被输出。因此,把寄存器C的输出称为同步检索号码192及同步统计数据194,把寄存器D的输出称为同步输入固定长数据193。在固定长数据检索装置10的说明中为了避免混乱,对同步了的号码、数据也使用相同的名称,不过该号码每次作为不同的东西。各信号成为向指针处理单元200、比较单元400和修正单元300的输入。并且,在对输入固定长数据处理单元100追加的输入中,如图3所示,有管理数据699。管理数据669由管理固定长数据、管理检索号码、管理统计数据构成,与输入固定长数据9、检索号码8、统计数据11同样处置。管理数据699在固定长数据检索装置10的各种表格的管理进行的场合被输入。管理数据699的详细情况参照固定长数据检索及管理装置50的说明。
输入固定长数据9被输入提取功能110输入。输入提取功能110提取、输出从由输入固定长数据9的输入提取开始值171指定的比特位置的比特,到由输入提取结束值172指定的比特位置的比特。在输入提取开始值171表示输入固定长数据9的最初的比特位置,输入提取结束值172表示最后的比特位置的场合,被输出的值是输入固定长数据9本身。另外,假定输入提取开始值171或输入提取结束值172以比特单位来指定而进行了说明,不过,也可以以字节单位来指定。输入提取功能110的次序由输入固定长数据处理控制功能160来控制。
输入提取功能110的输出被后述的3:1选择器140和加法器120输入。在提取了的数据超过输入提取功能110的输出总线幅度的场合,输入提取功能110输出借助于多个输出总线传送周期提取了的数据。在此场合,在各总线周期输出了的输出值由加法器120来累计。作为一个例子,在输入提取功能110的输出总线幅度为3比特,加法器120具备32比特加法器,提取了的数据为64比特的场合,提取了的数据借助于2次输出总线传送周期而被输出。在输入前,寄存器A180设定为初始值(零)。提取了的数据的第2次输出值同样通过加法器120而与寄存器A180保持的值(在此场合是最初的输出值)相加,其结果被寄存器A180保持。提取了的数据的处理结束后,输入固定长数据处理控制功能160把寄存器A180的数据传送给寄存器B181。寄存器A180及寄存器B181的数据保持信号的产生由输入固定长数据处理控制功能160来生成及控制。
寄存器B181的输出向后述的3:1选择器140和散列运算装置130输入。散列运算装置130根据输入了的寄存器B181的输出值,参照散列函数值173,输出散列值。散列运算装置130的输出值被3:1选择器140输入。关于散列函数提出了各种方法。例如,作为散列函数,把输入了的寄存器B181的输出值除以散列函数值,获得商和余数,于是把余数作为散列值的方法。在本实施例中,把散列函数值定为可变更值,不过,也可以是把散列函数值设为固定的,使寄存器B181的输出值根据移动动作等而变化的方法。
输入提取功能110的输出、寄存器B181的输出及散列运算装置130的输出被3:1选择器140输入。3:1选择器140参照选择值174,把输入了的3输出中的一个作为全索引190而输出。全索引190被输出提取功能150输入。
输出提取功能150提取从由全索引190的输出提取开始值175指定的比特位置的比特到由输出提取结束值176指定的比特位置的比特,提取了的比特作为指针表格索引191而被输出。在输出提取开始值175表示全索引190的最初的比特位置,输出提取结束值176表示最后的比特位置的场合,被输出的值就是全索引190本身。假定以比特单位来指定输出提取开始值175或输出提取结束值176而进行了说明,不过,也可以以字节单位来指定。输入提取功能110的次序由输入固定长数据处理控制功能160来控制。
在图3中,输入提取开始值171及输入提取结束值172、散列函数值173、选择值174、输出提取开始值175及输出提取结束值176被可变更的寄存器保持。
输入固定长数据处理单元100将其电路分割为输入提取功能110、加法器120和寄存器A180、散列运算装置130、3:1选择器及输出提取功能150,把它们分别称为阶段(ステ一ヅと)的话,在各阶段具有不同的检索号码8的检索动作就成为可能。这样输入固定长数据处理单元100就进行使检索处理能力增大的管道(パイプライン)处理。
一般而言,输入固定长数据9的全部或其一部分用于检索IP地址,散列值的全部或其一部分用于其他检索。
[指针表格]
图4表示指针表格存储器500的构成例。另外,图4归结记载了指针表格存储器500、固定长表格存储器560、数据表格540的构成相似的场合的例子。在图4的下段记载了它们作为各存储器使用的场合的控制信号、地址、数据组合。
指针表格存储器500由存储器阵列501所构成的存储器部分和写入及读出电路509构成。输入固定长数据处理单元100的输出中的指针表格索引191(图3)用于指针表格存储器500的存储器的地址,同步检索号码192用于使指针表格存储器500的读出的电路同步。指针表格索引191如图5所示,由存储器阵列501的地址、存储器区段502其本身的地址和存储器区段502内的地址(取代(デイスプレ一スメント))构成,成为指针表格存储器500的存储器地址。
写入功能通过执行由被输入到写入及读出电路509中的写入地址·控制信号503和数据504给予的写入命令来实现。指针表格存储器500上的写入功能是主要由固定长数据检索及管理装置来使用的功能,因而详细的说明在固定长数据检索及管理装置的说明中进行。
写入及读出电路509上的读出功能能接受来自2处的读出命令而动作。读出命令之一是来自输入固定长数据处理单元100的读出命令505,另一个是来自指针处理单元200的读出命令506。两命令都包含要读出的存储器的地址及控制信号,伴随着命令所固有的同步检索号码192。这样构成的理由在于,读出命令不一定按顺序来执行,而是根据可执行的命令来执行。读出命令被执行之后,被读出的数据作为图4的读出数据507,伴随输入了的同步检索号码192而被输出。由此就能判断读出数据507是哪个读出命令所涉及的东西。
指针表格存储器500的存储器部分由Q(Q为1以上的整数)个存储器阵列501组成,各存储器阵列由P(P为1以上的整数)个存储器区段502构成。各存储器阵列501独立动作,能使全部或是一部分的多个存储器阵列501同时动作。在存储器阵列501中,各存储器区段502具有独立的定时产生电路而独立地动作。不过连接各区段的地址、数据总线和控制信号是共用的,因而一次可开始动作的存储器区段502只是一个。与存储器动作命令间隔相比,各存储器区段502的动作时间长,因而存储器阵列501内的多个存储器区段502能动作。指针表格存储器500由P*Q个存储器区段构成。不由P*Q个存储器阵列501构成的理由在于,地址·数据总线及控制信号具有庞大的量。
指针表格存储器500对于一个相同的存储器阵列501能以存储器动作命令间隔给予读出命令。存储器动作命令间隔(t秒)在全部存储器区段502可动作的场合,依赖于运送读出地址·控制信号的总线和运送读出数据的总线的传送能力。可执行每1秒最大Q/t次的存储器动作命令即指针表格的读出。然而,在多个读出命令被给予相同的存储器区段502的场合,只能按存储器的动作时间间隔来执行该命令。在该场合,指针表格存储器500失去了可并列动作这样的优点。在出现了此状况的场合,解决办法除了缩短存储器的动作时间以外没有其它方案,不过,在此状况短时间内出现的场合,可改善存储器的并列动作,以下说明这种手法。
图5表示指针表格存储器500的读出功能510。存储器阵列501的读出功能510由n个寄存器511和指针表格存储器控制单元512构成。n个寄存器被命名为R、R2、R3、Rn,存放读出命令。读出命令包含存储器地址和控制信号,该存储器地址包含要读出的存储器区段502的地址。各寄存器由能进行用于使R2的读出命令向R1,R3的读出命令向R2移动的独立的移动动作的线路来连结。各移动动作由指针表格存储器控制单元512所引发的执行命令来控制。例如,在3个读出命令为待执行状态时,指针表格存储器控制单元512进行管理,把3个命令存放在R1、R2及R3中。在这里,接受了命令的时间是,R1的命令在最初,R3的命令在最后。指针表格存储器控制单元512对担任的存储器阵列501内的各存储器区段502的动作状况进行管理。
读出命令520是归结了来自输入固定长数据处理单元100的读出命令505和来自指针处理单元200的读出命令506所得的信号。读出命令520被输入到读出功能510的话,指针表格存储器控制单元512就选择最后存放了的寄存器的其次的寄存器来存放命令。例如,在寄存器R1、R2及R3满室的场合,寄存器R4被选择,命令被寄存器R4存放。在对存储器阵列501的访问开始时间前,指针表格存储器控制单元512从被寄存器R1、R2、R3及R4存放的命令中选择对其次可执行的存储器区段的命令。在这里,在可执行的命令有多个场合,从旧的命令按顺序来执行。例如,在寄存器R2和R4内的命令是可执行的场合,寄存器R2的命令被执行。R2的命令被传送给存储器区段502之后,寄存器R3的命令被移动到R2,寄存器R4的命令被移动到R3。寄存器的数n是考虑了存储器阵列501内的存储器区段502的数、存储器动作命令间隔、存储器的动作时间而被决定的。这样,根据可执行的命令依次执行被给予的读出命令520,就能使每单位时间的存储器读出次数增大。
指针表格存储器500的输出是读出了的读出数据507(图4)及其读出命令520所附带的同步检索号码192(图3)。读出数据507是指针表格的登录数据。
图6表示被指针表格存储器500存放的指针表格的登录数据的内容。如图6所示,登录数据很大地分类,分成3个要素。它们是(1)次工序,(2)次工序所必要的数据,(3)存储器控制数据。存储器控制数据是对构成包含其次被读出的存储器阵列在内的存放固定长数据表格的固定长数据表格存储器560的存储器阵列561进行控制的数据。对于固定长数据表格存储器560,仅固定长数据被存放的存储器阵列根据存储器控制数据而被读出。
指针表格的登录数据具备以下6个次工序。
(1)在指针表格的此登录中没有固定长数据。检索结束。
(2)在指针表格的此登录中存在一个固定长数据。检索结束。
(3)进行指针表格的再读出。
(4)进行局部表格(LT)的读出,执行比较。
(5)进行固定长数据表格的读出,执行NVC(数值比较)。
(6)进行固定长数据表格的读出,执行比较。
以下详细地说明这些次工序。
在次工序为上述(1)的场合,即,在指针表格的此登录中没有固定长数据的场合,经过指针处理单元200、固定长数据表格存储器560、比较单元400,从输出单元800输出检索结果。当然,不根据输入到了固定长数据表格存储器560中的来自指针处理单元200的此场合的命令进行读出动作,该命令原样被输出到比较单元400。如果与同步检索号码192相当的检索结果未被比较单元400储藏,表示不一致的检索结果就与同步检索号码192一起被输出。
在次工序为上述(2)的场合,即,在指针表格的该登录中存在一个固定长数据的场合,此登录数据具有固定长数据的地址。在此场合,经过指针处理单元200、固定长数据表格存储器560、比较单元400,由修正单元300获得用户数据。然后统计数据被变更之后,一致检索结果和用户数据与同步检索号码192一起从输出单元被输出。此情况是用于IP地址的检索的工序,因而后边的比较处理没有必要。固定长数据表格存储器560上的此场合的动作与次工序(1)相同。
在次工序为上述(3)的场合,即,在进行指针表格的再读出的场合,因为在指针表格的此登录中存在许多固定长数据,所以是需要更进一步细分化的场合。作为其方案,偿试指针表格所涉及的细分化。为了区别于最初的指针表格,把此指针表格称为第二指针表格(SPT)或2次指针表格。此登录,按生成SPT的索引的目的,具备指针表格存储器500的基地址、指针表格的尺寸、全索引的开始比特位置及全索引的结束比特位置。SPT的索引是把从指针表格存储器500的基地址和全索引的开始比特位置到结束比特位置存在的比特联结起来获得的。从全索引的开始比特位置到结束比特位置存在的比特是与指针表格索引不同的部分。获得SPT的索引之后,再次读出指针表格。此后的工序遵从读出了的指针表格的登录。
在次工序为上述(4)的场合,即,在进行局部表格(LT)的读出,执行比较的场合,进行固定长数据表格内构筑了的LT的读出,进行获得了的许多固定长数据的比较。此次工序,因为在指针表格的此登录中存在许多固定长数据,所以是需要偿试更进一步细分化的场合。LT是其方案之一。LT是固定长数据表格内的多个登录作为表格而被活用了的东西。LT的索引是把从固定长数据表格的索引的上位部分和全索引的开始比特位置到结束比特位置存在的比特联结起来获得的。获得LT的索引之后,与获得(6)的工序的固定长数据表格的索引之后相同。
在次工序为上述(5)的场合,即,在进行固定长数据表格的读出,执行NVC的场合,因为在指针表格的此登录中存在超多固定长数据,所以是需要更进一步认真小组化的场合。此登录数据具备固定长数据表格的索引,基于该索引来进行固定长数据表格的读出,基于读出了的数据来执行NVC。此次工序很少使用。在NVC中通过进行数值比较对数据库进行细分化。NVC动作的详细情况的说明在固定数据表格存储器的说明中进行。此次工序的其次是(5)或(6)。在(5)被选中的场合,可以预想,此登录具有巨大的数的固定长数据。
在次工序为上述(6)的场合,即,在进行固定长数据表格的读出,执行比较的场合,此登录数据具备固定长数据表格的索引和固定长数据表格的存储器控制数据,基于该索引来进行固定长数据表格的读出,基于读出了的数据来执行比较。在固定长数据表格的读出时,根据固定长数据表格的存储器控制数据,仅读出存放了属于此登录的固定长数据的存储器阵列501。由此增大存储器读出次数,节约存储器读出所必要的功率。一般而言,固定长数据检索装置10所涉及的检索的大部分通过此次工序来完成。根据此登录数据而获得固定长数据表格的索引之后,读出固定长数据表格。所获得的多个固定长数据表格的登录被送给比较单元,与同步输入固定长数据193进行比较,从而获得比较结果。
[指针处理单元]
作为指针表格存储器500的输出的登录数据(读出数据507)被指针处理单元200输入(图1)。指针处理单元200的目的是根据输入了的信息,输出属于次工序的固定长数据表格存储器的索引。图7表示指针处理单元200的实施例。指针处理单元200的输入是指针表格的上述登录数据、输入固定长数据处理单元100的输出、固定长数据表格的登录控制数据。指针表格的上述登录数据和固定长数据表格的登录控制数据具有相同的形式,因而在以下说明中简称登录数据。
在图7中,指针处理单元200受取从输入固定长数据处理单元100输出了的同步检索号码192和全索引190,对同步检索号码192进行解码,在与其号码x相当的寄存器Sx中存放全索引190。
在图7中,指针处理单元200受取指针表格存储器500的读出数据507中包含的同步检索号码514和比较单元400的同步检索号码451,同样受取指针表格存储器500的读出数据507中包含的登录数据516和比较单元400的登录数据452。二个同步检索号码514及451被输入到AND-OR231。在指针处理控制功能240的管理下,AND-OR231生成同步检索号码251。同样,登录数据516及登录控制数据452被输入到AND-OR221。再在指针处理控制功能240的管理下,AND-OR221生成登录数据。
同步检索号码用于处理登录数据,为了使之产生固定长数据表格的索引而获得与同步检索号码相当的全索引,并且作为同步检索号码251而被输入到固定长数据表格存储器560。与同步检索号码相当的全索引由n:1选择器213来准备,存放于寄存器E。
登录数据由AND-OR221输出之后,存放于寄存器F。此后,登录数据由其自身具有的次工序比特来解码,使之产生目的表格索引252和存储器控制数据253。其次,说明次工序和表格索引252及存储器控制数据253的关系。
(1)在指针表格的此登录中没有固定长数据的场合,存储器控制数据253成为无一致数据的数据,并且成为非存储器读出的数据。两数据根据被6:1选择器233输入的固定控制数据234来生成。固定控制数据234是指针处理控制单元240生成的控制数据之一。表格索引252成为无意义的数据。表格索引252和存储器控制数据253被送给固定长数据表格存储器560(图1)。
(2)在指针表格的此登录中存在一个固定长数据的场合,存储器控制数据253成为有一致数据的数据,并且成为非存储器读出的数据。两数据根据被6:1选择器233输入的固定控制数据来产生。表格索引252成为从登录数据提取了的固定长数据的地址。表格索引252和存储器控制数据253被送给固定长数据表格存储器560。
(3)在进行指针表格的再读出的场合,存储器控制数据253成为指针表格的读出的数据。该数据根据被6:1选择器233输入的固定控制数据234来生成。选择寄存器G216的输出作为表格索引252。从登录数据提取了的指针表格基地址、SPT的尺寸、开始比特位置、结束比特位置被提取功能215输入,从全索引的开始比特位置到结束比特位置的比特被寄存器G216存放。结果就形成了指针表格索引。表格索引252和存储器控制数据253被送给指针表格存储器500。
(4)在进行局部表格(LT)的读出,执行比较的场合,存储器控制数据253成为固定长数据表格的读出的数据。该数据根据输入到6:1选择器233的固定控制数据234来生成。选择寄存器G216的输出作为表格索引252。从登录数据提取了的固定长数据表格的索引的上位比特、LT的尺寸、开始比特位置、结束比特位置被提取功能215输入,全索引的开始比特位置到结束比特位置的比特被寄存器G216存放。结果就形成了固定长数据表格索引。表格索引252和存储器控制数据253被送给固定长数据表格存储器560。
(5)在进行固定长数据表格的读出,执行NVC的场合,存储器控制数据253成为读出固定长数据表格所得的数据及NVC动作的数据。该数据根据输入到6:1选择器233的固定控制数据234来生成。表格索引252成为从登录数据提取了的固定长数据表格的索引。表格索引252和存储器控制数据253被送给固定长数据表格存储器560。
(6)在进行固定长数据表格的读出,执行比较的场合,存储器控制数据253成为读出固定长数据表格所得的数据和从登录数据提取了的固定长数据表格存储器的控制数据。固定长数据表格的读出数据根据输入到6:1选择器233的固定控制数据234来产生。表格索引252输出从登录数据提取了的固定长数据表格的索引。表格索引252和存储器控制数据253被送给固定长数据表格存储器560。
指针处理单元200的寄存器P217中存放由指针处理单元200输出的具有处置管理数据的检索号码的表格索引252。在寄存器P217中,在具有处置管理数据的检索号码的表格索引252被多次生成了的场合,每次生成都进行存放动作。结果,寄存器P217保持最后生成了的表格索引252。
在指针处理单元200中,在寄存器E214、寄存器F232、寄存器G216的前后把电路构造分为多个阶段的话,就可以对各阶段采用不同的检索号码8进行检索动作。这样指针处理单元200进行使检索处理能力增大的管道处理。指针处理单元200的指针处理控制功能240进行提取功能215、寄存器G216的存放信号产生,以及管道处理的管理。
[固定长数据表格存储器]
图4表示固定长数据表格存储器560(图1)的构成例。固定长数据表格存储器560由存储器阵列561所构成的存储器部分和写入及读出电路569构成。指针处理单元200的输出、固定长数据表格索引252用于固定长数据表格存储器560的存储器的地址指定,同步检索号码251用于固定长数据表格存储器560的读出电路的同步。固定长数据表格索引252,如图5所示,由存储器区段562其本身的地址和存储器区段562内的地址(取代)构成,成为固定长数据表格存储器560的存储器地址。在此场合,存储器阵列561的地址不被输出,通过作为指针处理单元200的输出的存储器控制数据(未图示),固定长数据表格存储器560独立地被控制。因此,可以读出固定长数据表格存储器560的全部存储器阵列561。
固定长数据表格存储器560的写入功能通过被输入到写入及读出电路569的写入地址·控制信号563和由写入数据564给予的写入命令来实现。此写入功能主要是固定长数据检索及管理装置中使用的功能,详细的说明在固定长数据检索及管理装置的说明中进行。
固定长数据表格存储器560的读出功能通过来自指针处理单元200的读出命令565来执行。读出命令565包含要读出的存储器的地址及控制信号,并且伴随命令所固有的同步检索号码251。其理由在于,读出命令不一定按顺序来执行,而是根据可执行的命令来执行。读出命令执行后,读出了的数据根据图4的读出数据567,伴随输入了的同步检索号码251而被输出。由此就能判断读出数据567是哪个读出命令所涉及的东西。
固定长数据表格存储器560的存储器部分由N(N为1以上的整数)个存储器阵列561组成,各存储器阵列由M(M为1以上的整数)个存储器区段562组成。各存储器阵列561独立动作,能使全部或是一部分的多个存储器阵列561同时动作。在存储器阵列561中,各存储器区段562具有独立的定时产生电路而独立地动作。不过连接各区段的地址、数据总线和控制信号是共用的,因而一次可开始动作的存储器区段562只是一个。与存储器动作命令间隔相比,各存储器区段562的动作时间长,因而存储器阵列561内的多个存储器区段562能动作。固定长数据表格存储器560由M*N个存储器区段构成,而不由M*N个存储器阵列561构成的理由在于,地址·数据总线及控制信号具有庞大的量。
固定长数据表格存储器560能对于一个存储器阵列561按存储器动作命令间隔(t秒)给予读出命令。存储器动作命令间隔在全部存储器区段562可动作的场合,依赖于运送读出地址·控制信号的总线和运送读出数据的总线的传送能力。可执行每1秒最小1/t,最大N/t次的存储器动作命令即固定长数据表格的读出。然而,在多个读出命令被给予相同的存储器区段562的场合,只能按存储器的动作时间间隔来执行该命令。在该场合,固定长数据表格存储器560失去了可并列动作这样的优点。在出现了此状况的场合,解决办法除了缩短动作时间以外没有其它方案,不过,在此状况短时间内出现的场合,可改善存储器的并列动作,以下说明这种手法。
图5表示固定长数据表格存储器560的读出功能570。存储器阵列561的读出功能570由n个寄存器571和固定长数据表格存储器控制单元572构成。n个寄存器被命名为R、R2、R3、Rn,存放读出命令。读出命令包含存储器地址和控制信号,该存储器地址包含要读出的存储器区段562的地址。各寄存器由能进行用于使R2的读出命令向R1,R3的读出命令向R2移动的独立的移动动作的线路来连结。各移动动作由固定长数据表格存储器控制单元572所引发的执行命令来控制。例如,在3个读出命令为待执行状态时,指针表格存储器控制单元512进行管理,把3个命令存放在R1、R2及R3中。在这里,接受了命令的时间是,R1的命令在最初,R3的命令在最后。固定长数据表格存储器控制单元572对担任的存储器阵列561内的各存储器区段562的动作状况进行管理。
读出命令565被输入到读出功能570的话,固定长数据表格存储器控制单元572就选择最后存放了的寄存器的其次的寄存器来存放命令。例如,在寄存器R1、R2及R3满室的场合,寄存器R4被选择,命令被其存放。在对存储器阵列561的访问开始时间前,固定长数据表格存储器控制单元572从被寄存器R1、R2、R3及R4存放的命令中选择对其次可执行的存储器区段的命令。在这里,在可执行的命令有多个场合,从旧的命令按顺序来执行。例如,在寄存器R2和R4内的命令是可执行的场合,寄存器R2中存放的命令被执行。R2的命令被传送给存储器区段562之后,寄存器R3的命令被移动到R2,寄存器R4的命令被移动到R3。寄存器的数n是考虑了存储器阵列561内的存储器区段562的数、存储器动作命令间隔、存储器的动作时间而被决定的。这样,根据可执行的命令来执行被给予的读出命令565,就能使每单位时间的存储器读出次数增大。
固定长数据表格存储器560的输出是读出了的读出数据577及其读出命令565所附带的同步检索号码251。读出数据567是固定长数据表格的登录数据。
如图5所示,固定长数据表格的索引由存储器区段562其本身的地址和存储器区段562中的地址(取代)构成。并且存储器阵列由存储器控制数据253来控制。此理由是为了使得一次被比较的固定长数据的数尽可能多,为了防止不必要的存储器阵列的读出。图8表示以固定长数据表格之一的索引读出的固定长数据的构成。从存储器阵列561读出的登录数据由登录控制数据和多个、单个或一部分固定值数据构成。存储器阵列561中包含的固定值数据的数依赖于固定值数据的长度。作为例子,图8表示在固定长数据表格之一的索引中存在最大数的固定长数据的场合。在此情况下,除存储器阵列1以外的各存储器阵列具有的登录控制数据可以忽略,因而未图示。
图8表示固定长数据表格的要素的构成。作为固定长数据表格的要素,存在2个形式,由前次工序决定其形式。一个是前次工序指示了比较动作的场合的形式(1),另一个是指示了NVC动作的场合的形式(2)。形式(1)由固定长数据、屏蔽及固定长数据名构成。在形式(1)的场合,关于屏蔽,也有根据检索规则而不存在的场合(全局屏蔽的场合)。在此场合,比较对照数据是固定长数据,屏蔽在该比较动作中被使用。在此场合,比较动作的结果,固定长数据名一致了的场合,比较对照数据是作为一致了的固定长数据的名称而被输出的数据。形式(2)由提取索引和固定长数据表格索引构成。为了理解形式(2),以下说明NVC动作。
根据图9来说明NVC动作。为了更容易理解NVC动作,根据图9来说明NVC动作的登录数据的作成次序。作为例子,假定指针表格有的登录保持了m个固定长数据。固定长数据具体是固定长数据、对应的全索引、屏蔽及固定长数据名。如图9的作业1所示,首先,从全索引提取指定了的部分,将其称为提取索引的话,就获得对m个固定长数据的提取索引。其次,在作业2中,把m个提取索引按大小顺序与其他数据一起排列。再其次,在作业3中,把与按大小顺序排列了的其他数据相伴的m个提取索引在给定的数以内按大的顺序进行分割,作成给定的数的小组。此给定的数是固定长数据表格之一的登录数据中能存放的数。如果是此给定的数以内就能在登录数据存储器中存放,因而该小组的给定的数能任意选择。然后,在作业4中,把各小组的固定长数据和其他数据存放在登录数据中。它就成为用于比较动作的登录数据。各登录数据分别具有索引。此外,在作业5中,作成NVC动作的登录数据。另外,在以上说明中表示了通过NVC动作来作成登录数据的方法,不过,在本发明中作成NVC形式的表格构造的方法是不同的。
根据图9的说明,NVC动作的登录数据可以理解。即,NVC动作进行如下。例如,在指针表格的登录数据的次工序指示了NVC动作的场合,按照该登录数据指定的固定长数据表格索引来读出固定长数据表格存储器,获得NVC动作的登录数据,此后,根据输入固定长数据9的全索引190,提取该NVC动作的登录数据的次工序指定了的部分。提取了的提取索引与NVC动作的登录数据中的各固定长数据表格的要素的提取索引,其值被进行大小比较。在图9的作业5中获得了的NVC动作的登录数据排列成,左侧的提取索引最小,向右成为大的提取索引。按照此例,值的大小比较的结果,从左侧记述跟提取索引的大小比较结果的话,就能获得大、大、大、大、小、小这样的排列。在此场合,紧接从大向小变迁之前的「大」具有的固定长数据表格索引就成为其次的固定长数据表格的读出索引。大小比较的结果如果全部为大的话,最右侧的提取索引具有的固定长数据表格索引就成为其次的固定长数据表格的读出索引。
在也许用NVC动作的登录数据和比较动作的登录数据不能存放那样显著多的固定长数据属于指针表格有的登录的场合,增加NVC动作的登录数据,以NVC动作的登录数据、NVC动作的登录数据以及比较动作的登录数据这样的构成,非常大的数的固定长数据就能检索。另外,NVC动作自身是非常稀少的事态,因而可以认为NVC动作的登录数据不会出现二个连续的情况,但功能上作了准备。
图6表示被固定长数据表格存储器560存放的固定长数据表格的登录控制数据的内容。登录控制数据是与指针表格的登录数据相同的构成。如图6所示,登录控制数据很大地分类,分成3个要素。它们是(1)次工序,(2)次工序所必要的数据,(3)存储器控制数据。存储器控制数据是对构成存放固定长数据表格的固定长数据表格存储器560的存储器阵列561,即其次被读出的存储器阵列561进行控制的数据。在固定长数据表格存储器560中,仅固定长数据被存放的存储器阵列根据存储器控制数据而被读出。在其次被读出的存储器是指针表格存储器500的场合,可以忽略存储器控制数据。
登录控制数据具备以下5个次工序。
(1)固定长数据表格的此登录中没有固定长数据。检索结束。
(2)进行指针表格的再读出。
(3)进行局部表格(LT)的读出,执行比较。
(4)进行固定长数据表格的读出,执行NVC。
(5)进行固定长数据表格的读出,执行比较。
以下详细地说明这些次工序。
在次工序为上述(1)的场合,即,固定长数据表格的此登录中没有固定长数据的场合,经过比较单元从输出单元800输出检索结果。如果比较单元400中没有储藏与同步检索号码192相当的检索结果,不一致的检索结果就与同步检索号码192一起被输出。
在次工序为上述(2)的场合,即,在进行指针表格的再读出的场合,因为在指针表格的此登录中存在许多固定长数据,所以意味着需要更进一步细分化。作为其方案,偿试指针表格所涉及的细分化。按产生SPT的索引的目的,此登录具备指针表格存储器500的基地址、指针表格的尺寸、全索引的开始比特位置及全索引的结束比特位置。SPT的索引是把从指针表格存储器500的基地址和全索引的开始比特位置到结束比特位置存在的比特联结起来获得的。从全索引的开始比特位置到结束比特位置存在的比特是与指针表格索引不同的部分。获得SPT的索引之后,经过比较单元而再次进行指针表格的读出。此后的工序遵从读出了的指针表格的登录。
在次工序为上述(3)的场合,即,在进行局部表格(LT)的读出,执行比较的场合,进行固定长数据表格内构筑了的LT的读出,进行获得了的许多固定长数据的比较。这是因为在指针表格的此登录中存在许多固定长数据,所以意味着需要偿试更进一步细分化,LT是其方案之一。LT把固定长数据表格内的多个登录作为表格来活用。LT的索引是把从固定长数据表格的索引的上位部分和全索引的开始比特位置到结束比特位置存在的比特联结起来获得的。获得LT的索引之后,与(5)的工序的获得固定长数据表格的索引之后相同。
在次工序为上述(4)的场合,即,在进行固定长数据表格的读出,执行NVC的场合,因为在指针表格的此登录中存在超多固定长数据,所以意味着需要更进一步认真小组化。此登录数据具备固定长数据表格的索引,以该索引来进行固定长数据表格的读出,以读出了的数据来执行NVC。此次工序很少使用。此次工序的其次是(4)或(5)。在(4)被选中的场合,可以预想,此登录具有巨大的数的固定长数据。在前次工序指示了NVC的执行的场合,如图6所示,登录控制数据包含从全索引提取的数据。
在次工序为上述(5)的场合,即,在进行固定长数据表格的读出,执行比较的场合,此登录数据具备固定长数据表格的索引和固定长数据表格的存储器控制数据,通过该索引的作用来进行固定长数据表格的读出,用读出了的数据来执行比较。在固定长数据表格的读出时,固定长数据表格的存储器控制数据仅读出存放属于此登录的固定长数据的存储器阵列561。由此增大存储器读出次数,节约存储器读出所必要的功率。一般而言,由固定长数据检索装置10检索的大部分通过此次工序来完成检索。根据此登录数据而获得固定长数据表格的索引之后,读出固定长数据表格。所获得的多个固定长数据表格的登录被送给比较单元400,与同步输入固定长数据193进行比较,获得比较结果。在前次工序指示了NVC的执行的场合,如图6所示,登录控制数据包含从全索引提取的数据。
[比较单元]
作为固定长数据表格存储器560的输出的登录数据被比较单元400输入。比较单元400的目的是对输入了的登录数据和预先保存了的同步输入固定值数据193进行比较(比较动作),保持通过比较获得的结果,对输入了的登录数据和从全索引提取了的提取索引进行大小比较,以及按照输入了的登录控制数据的次工序,决定其次的工序。
图10表示比较单元400的实施例。到比较单元400的输入是作为固定长数据表格存储器560的输出的固定长数据表格的登录数据和输入固定长数据处理单元的输出。如图10所示,比较单元400受取从输入固定长数据处理单元100输出了的同步检索号码192和全索引190,由解码器411对同步检索号码192进行解码,在与该号码x相当的寄存器Tx、412中存放同步输入固定值数据193和全索引190。同步输入固定值数据193用于与从固定值数据表格存储器560输出了的固定值数据表格的登录数据进行比较,全索引190用于指针表格索引或固定值数据表格索引的产生。
从固定长数据表格存储器560输入的同步检索号码和登录数据被寄存器H保持。比较单元400的功能是寄存器H、421的存储器控制数据以外的登录数据的处理,即前次工序的处理和寄存器H的登录数据具有的次工序的处理。因此,最初说明前次工序表示的处理,此后说明由登录数据包含的次工序执行的比较单元400的处理。各说明中的动作次序由比较控制功能440管理。比较控制功能440通过被输入的次工序来产生比较单元400的其他电路的控制信号。
在前次工序中从固定长数据表格存储器560到比较单元400的输入的产生是下面5种情况。
(1)在指针表格的此登录中没有固定长数据。检索结束。
(2)在指针表格的此登录中存在一个固定长数据。检索结束。
(3)进行局部表格(LT)的读出,执行比较。
(4)进行固定长数据表格的读出,执行NVC。
(5)进行固定长数据表格的读出,执行比较。
以下,针对各情况来说明比较单元400的处理。
在次工序为上述(1)的场合,即,在此登录中没有固定长数据的场合,比较控制功能440识别为检索结束。这时,与寄存器H中保持的同步检索号码x相当的寄存器Ux的内容,即,检索结果453和固定长数据名452通过n:1选择器424,伴随同步检索号码451,被输出到输出单元800。与此同时,在检索结果表示一致结果的场合,同步检索号码451和与同步检索号码x相当的寄存器Ux中保持的数据表格索引455被送给修正单元300。
在次工序为上述(2)的场合,即,在此登录中有一个固定长数据存在的场合,比较控制功能440识别为检索结束及一致结果,让比较器431把寄存器H中保持的固定长数据表格的索引的地址向n:1选择器432输出,使之输出一致结果。n:1选择器432输出固定长数据名和固定长数据表格索引,比较器431输出检索结果和固定长数据表格的索引的地址,该输出被写入到与同步检索号码x相当的寄存器Ux。写入动作后,通过n:1选择器424,被输出到输出单元800和修正单元300。通过联结固定长数据表格索引和固定长数据表格的索引的地址来获得数据表格索引455。被输出到输出单元800的数据是检索结果453、同步检索号码451和固定长数据名。被输出到修正单元300的数据是同步检索号码451和数据表格索引455。
在次工序为上述(3)的场合,即,在进行局部表格(LT)的读出,执行比较,以及(5)进行固定长数据表格的读出,执行比较的场合,寄存器H中保持的登录数据的比较单元400进行的处理是相同的。根据寄存器H中保持的同步检索号码,n:1选择器413选择寄存器Tx,输出其内容即同步输入固定长数据和全索引。因为次工序是(3)或(5),所以2:1选择器根据寄存器Tx的输出来选择同步输入固定长数据。然后,其输出被提取功能415输入。这时,同样因为次工序是(3)或(5),所以提取功能415没有作用,输入了的同步输入固定长数据不原样被输出,而是被比较器431输入。另一方面,寄存器H中保持的固定长数据表格的各要素被比较器431输入,进行比较动作。
比较器431进行图11表示的3种逻辑比较。在检索规则是LPM(Longest Prefix Match)法的场合,固定长数据表格的要素具有屏蔽值。屏蔽按具有固定长数据的比特长的比特列展开。展开方法是按屏蔽具有的值(图11中为m)加1所得的和从左侧的比特位置起排列1,其后排列0直到固定长数据的比特长的地方。具有与固定长数据相同长度的展开了的比特列作为逻辑比较动作的屏蔽来动作。在此场合,从固定长数据的左侧起按(m+1)比特进行逻辑比较。逻辑比较中如果固定长数据表格的要素和同步输入固定长数据的左侧的(m+1)比特一致,就判断为一致,此外的场合判断为不一致。在检索规则采用局部屏蔽规则法来进行的场合,固定长数据表格的要素具有屏蔽其本身,使用该屏蔽进行固定长数据表格的要素和同步输入固定长数据的逻辑比较。逻辑比较与LPM法的屏蔽展开后的处理相同。不过,屏蔽是在任意的比特位置有1存在的东西,因而只在成为1的比特位置执行逻辑比较。在检索规则采用全局屏蔽规则法来进行的场合,固定长数据表格的要素不具有屏蔽。改为屏蔽被可指定的寄存器保存。使用该屏蔽来进行固定长数据表格的要素和同步输入固定长数据的逻辑比较。逻辑比较与局部屏蔽规则法完全相同。
逻辑比较的结果,如果一致的固定长数据表格的要素存在,就产生一致要素的地址,由寄存器H421中保持的同步检索号码x来指定地址的寄存器Ux423中保存检索结果、固定长数据名、固定长数据表格索引及一致要素的地址。如果联结固定长数据表格索引和一致要素的地址,就能获得数据表格的索引。
在次工序为上述(4)的场合,即,进行固定长数据表格的读出,执行NVC的场合,进行图11表示的大小比较,持续检索。根据寄存器H中保持的同步检索号码x,n:1选择器413从寄存器T1~Tn412中选择寄存器Tx,输出其内容,即同步输入固定长数据和全索引。根据它们,2:1选择器,因为次工序是(4),所以选择全索引。然后,其输出被提取功能415输入,同样因为次工序是(4),所以提取功能415由寄存器H421中保持的NVC的长度、开始比特位置及结束比特位置来控制,根据它们来提取提取索引,输入到比较器431。另一方面,寄存器H421中保持的固定长数据表格的各要素被输入到比较器431,进行大小比较动作。NVC的长度、开始比特位置及结束比特位置,在前次工序指示了NVC动作的场合,被保存在寄存器H的登录数据具有的次工序中。
比较器431,如图11所示,对来自提取功能415的提取索引(A)和固定长数据表格的各要素的提取索引(B)进行大小比较。结果,比较器431产生A>B,A=B,以及A<B。
作为结果,比较器431具备比较电路和大小比较电路。这些电路为了能处理具有各种比特长的固定长数据,具有可变更电路的比特长的构成。在可进行以1比特单位再配置的电路太浪费的场合,具备可进行以字节或字单位规定的再配置的电路。
在比较单元400中,与记述了的前次工序的处理同时,进行寄存器H的登录数据具有的次工序的处理。固定长数据表格的登录控制数据进行图6表示的下列次工序的处理。
(1)在固定长数据表格的该登录中没有固定长数据。检索结束。
(2)进行指针表格的再读出。
(3)进行局部表格(LT)的读出,执行比较。
(4)进行固定长数据表格的读出,执行NVC。
(5)进行固定长数据表格的读出,执行比较。
还有,根据前次工序是否是动作,这些次工序的处理有所不同,因此,最初详细地说明前次工序不动作的场合。然后,说明前次工序动作的场合。
在次工序为上述(1)的场合,即,在固定长数据表格的此登录中没有固定长数据的场合,比较控制功能440识别为检索结束,与寄存器H中保持的同步检索号码x相当的寄存器Ux的内容(即,检索结果453和固定长数据名452)通过n:1选择器424,伴随同步检索号码451,被输出到输出单元800。同时,在检索结果表示一致结果的场合,同步检索号码451和与同步检索号码x相当的寄存器Ux中保持的数据表格索引455被送给修正单元300。
在其余(2)~(5)的次工序中登录控制数据被寄存器1433输入,通过2:1选择器434而被输出。被输出的登录控制数据454被输出到指针处理单元200。
在前次工序动作的场合,作为登录控制数据的次工序可以使用以下3个。
(1)在固定长数据表格的此登录中没有固定长数据。
(2)进行固定长数据表格的读出,执行NVC。
(3)进行固定长数据表格的读出,执行比较。
其中,次工序(1)进行与前次工序不是NVC动作的场合的次工序(1)完全相同的处理。
在次工序是上述(2)和(3)的场合,被输出的登录控制数据与前次工序不是NVC动作的场合不同。因为前次工序指定NVC动作,所以与寄存器H中保持的登录数据的固定长数据表格的各要素进行大小比较。这时的比较是大小比较,因而存在符合条件的要素。该要素具有的固定长数据表格的索引通过n:1选择器432,被寄存器1433保存。然后固定长数据表格的索引与次工序一起,通过2:1选择器434而被输出。被输出的登录控制数据454被输出到指针处理单元200。
图12表示比较单元400输出的数据的汇总。在比较单元400判断为检索动作结束了的场合,向修正单元300和输出单元800(图1)输出图12表示的数据。即向修正单元300伴随同步检索号码而输出数据表格的索引。使用它的修正单元300访问用户数据和统计数据。伴随检索结果和同步检索号码,只在比较结果一致了的场合,加上固定长数据名,输出到输出单元800。还有,比较单元400在判断为检索动作持续的场合,向指针处理单元200输出图12表示的数据。即,伴随同步检索号码,在前次工序为NVC的场合,输出通过NVC动作获得了的固定长数据表格索引,在其他场合,输出登录控制数据。
比较单元400(图10)按寄存器H421和寄存器I433的前后区分其电路,将它们称为阶段,可由各阶段进行具有不同的同步检索号码的检索动作。这样比较单元400进行使检索处理能力增大的管道处理。比较单元400的比较控制功能440进行提取功能415、比较器431、寄存器Ux的存放信号产生,以及管道处理的管理。
被输出到指针处理单元200的登录控制数据的处理以对于上述指针处理单元200说明了的方法来进行。
[修正单元]
被输出到修正单元300的同步检索号码451和数据表格索引455进行被数据表格存放的用户数据的读出和统计数据的变更。图13表示修正单元300的实施例。
在图13中,修正单元300受取从输入固定长数据处理单元100输出了的同步检索号码192和同步统计数据194,由解码器311对同步检索号码192进行解码,在与其号码x相当的寄存器Tx中存放同步统计数据194。同步统计数据194与作为从数据表格存储器540输出了的数据表格的登录数据之一的统计数据相加。相加结果被写入与存放统计数据的登录相同的登录中。数据表格的登录数据中的其他数据、用户数据与统计数据一起被读入,与同步检索号码一起被输出到输出单元800。
在图13中,从比较单元400,数据表格索引455和同步检索号码451被输入,存放在寄存器K316中。作为寄存器K的输出的读入同步检索号码336和读入数据表格索引335为了进行读出动作被输出到数据表格存储器540。还有,数据表格索引335为了进行统计数据的变更后的写入而被寄存器M322存放。
数据表格存储器540的读出动作结束后,数据表格存储器540的读出数据556,即,同步检索号码和登录数据被输入,同步检索号码被寄存器M322存放,登录数据被寄存器J315存放。同步检索号码作为n:1选择器的选择信号而被使用,选择被与同步检索号码x相当的寄存器Vx312存放的统计数据。选择了的统计数据被寄存器L313存放,被加法器321输入。另一方面,被寄存器J315存放的登录数据的统计数据被送给加法器321的另一方输入。登录数据的用户数据被寄存器M322存放。
加法器321输出相加结果,相加结果被寄存器M322存放。然后,把寄存器M322存放的读入数据表格索引335、同步检索号码及加法器的结果分别以写入数据表格索引334、写入及输出同步检索号码333、写入累积统计数据331的名称向数据表格存储器540输出,进行写入动作。这时,在受取了处理管理数据的检索号码的场合,加法器321也可以在寄存器O323中存放相加结果。处置管理数据的检索号码由解码器324来识别,成为寄存器O323的存放信号。寄存器O323的输出由固定长数据检索及管理装置50来读出。其详细情况与后述的固定长数据检索及管理装置50关联起来进行说明。
被寄存器M322存放的用户数据作为输出用户数据332,与写入及输出同步检索号码333一起被输出到输出单元300。图13表示向输出单元300的输出数据。
修正单元300按寄存器K316、寄存器J315、寄存器L313和寄存器M322的前后区分其电路,将它们称为阶段,可由各阶段进行具有不同的同步检索号码的检索动作。这样修正单元300进行使检索处理能力增大的管道处理。还有,修正单元300的修正控制功能340进行加法器321的控制和寄存器K316、寄存器J315、寄存器L313和寄存器M322的存放信号产生,以及管道处理的管理。特别是,需要产生与寄存器M322存放的各种数据相合的存放信号。
[数据表格存储器]
图4表示数据表格存储器540的构成例。数据表格存储器540包括由存储器阵列541构成的存储器部分和写入及读出电路550。作为修正单元300的输出的写入数据表格索引334及读出数据表格索引335用于数据表格存储器540的存储器的地址指定,读出同步检索号码336用于数据表格存储器540的读出电路的同步。写入数据表格索引334及读出数据表格索引335,如图5所示,由存储器阵列551的地址、存储器区段542的地址及存储器区段542内的地址(取代)构成,成为数据表格存储器540的存储器地址。
写入功能受理来自2处的写入命令,是可执行的。一个是来自修正单元300的写入命令,另一个是来自数据表格存储器540的管理功能的写入命令。来自修正单元300的写入命令根据被输入到写入及读出电路550的写入地址·控制信号A551和写入数据552来执行。来自数据表格存储器540的管理功能的写入命令根据被输入到写入及读出电路550的写入地址·控制信号B553和写入数据554来执行。来自管理功能的写入功能是主要由固定长数据检索及管理装置来使用的功能,因而详细说明在固定长数据检索及管理装置的说明中进行。
读出功能是来自修正单元300的读出命令,读出命令伴随地址·控制信号555和命令所固有的读出同步检索号码336。这是因为,读出命令不是按顺序来执行,而是根据可执行的命令来执行。读出命令执行后,读出了的数据根据图4的读出数据556,伴随输入了的同步检索号码336而被输出。由此就能判断读出数据556是哪个读出命令所涉及的东西。
数据表格存储器540的存储器部分由U(U为1以上的整数)个存储器阵列541组成,各存储器阵列由V(V为1以上的整数)个存储器区段542组成。各存储器阵列541独立动作,能使多个存储器阵列561的全部或是一部分同时动作。在存储器阵列541中,各存储器区段542具有独立的定时产生电路而独立地动作。不过连接各区段的地址、数据总线和控制信号是共用的,因而一次可开始动作的存储器区段542只是一个。与存储器动作命令间隔相比,各存储器区段542的动作时间长,因而存储器阵列541内的多个存储器区段542能动作。数据表格存储器540由U*V个存储器区段构成,而不由U*V个存储器阵列541构成的理由在于,地址·数据总线及控制信号具有庞大的量。
数据表格存储器540能对于相同的存储器阵列541按存储器动作命令间隔给予读出命令。存储器动作命令间隔(t秒)在全部存储器区段542可动作的场合,依赖于运送读出地址·控制信号的总线和运送读出数据的总线的传送能力。可执行每1秒最大Q/t次的存储器动作命令即数据表格的读出。然而,在多个读出命令被给予相同的存储器区段542的场合,只能按存储器的动作时间间隔来执行该命令。在该场合,数据表格存储器540失去了可并列动作这样的优点。在出现了此状况的场合,解决办法除了缩短动作时间以外没有其它方案,不过,在此状况短时间内出现的场合,可改善存储器的并列动作,以下说明这种单元。图5表示数据表格存储器540的读出功能549。
存储器阵列541的读出功能549由n个寄存器543和数据表格存储器控制单元544构成。n个寄存器被命名为R、R2、R3、Rn,存放读出命令。读出命令包含存储器地址和控制信号,该存储器地址包含要读出的存储器区段542的地址。各寄存器由能进行用于使R2的读出命令向R1,R3的读出命令向R2移动的独立的移动动作的线路来连结。各移动动作由数据表格存储器控制单元544发出执行命令。例如,在3个读出命令为待执行状态时,数据表格存储器控制单元544进行管理,把3个命令存放在R1、R2 及R3中。在此场合,接受了命令的时间是,R1的命令在最初,R3的命令在最后。数据表格存储器控制单元544对担任的存储器阵列541内的各存储器区段542的动作状况进行管理。
读出命令557被输入到读出功能549的话,数据表格存储器控制单元544就选择最后存放了的寄存器的其次的寄存器来存放命令。例如,在寄存器R1、R2及R3满室的场合,寄存器R4被选择,命令被其存放。在对存储器阵列541的访问开始时间前,数据表格存储器控制单元544从被寄存器R1、R2、R3及R4存放的命令中选择对其次可执行的存储器区段的命令。例如,在寄存器R2和R4内的命令是可执行的场合,执行旧的命令。在此场合,R2的命令被执行。R2的命令被传送给存储器区段542之后,寄存器R3的命令被移动到R2,寄存器R4的命令被移动到R3。寄存器的数n是考虑了存储器阵列541内的存储器区段542的数、存储器动作命令间隔、存储器的动作时间而被决定的。这样,根据可执行的命令来执行被给予的读出命令557,就能使每单位时间的存储器读出次数增大。
以上说明了数据表格存储器的读出功能,不过,数据表格存储器与读出同样地按读出了的数据进行修正,在相同的地方写入。因此,也可以按上述说明同时控制读出命令和写入命令。
数据表格存储器540的输出是读出了的读出数据556及其读出命令565所附带的同步检索号码336。读出数据556是数据表格的登录数据。
图13表示被数据表格存储器540存放的数据表格的登录数据的内容。如图13所示,登录数据被分成2个要素。它们是累积统计数据和用户数据。这些数据的处理在修正单元300中进行了说明。
[输出单元]
输出单元800输出检索结果。图14表示输出单元800的实施例。输出单元800从比较单元400输入同步检索号码451、检索结果453和固定长数据名452。输入了的这些数据由同步检索号码451的解码器811存放在与同步检索号码451(设为x)相当的寄存器Sx812中。
同样,输出单元800从修正单元300输入输出同步检索号码333和输出用户数据332。输入了的这些数据由输出同步检索号码333的解码器815存放在与输出同步检索号码333(设为y)相当的寄存器Sy812中。
在输出单元800从比较单元400输入了的检索结果453不一致的场合,同步检索号码451、检索结果453及固定长数据名从比较单元400被输入,被寄存器Sx812存放,从AND-OR选择器813被输出,被寄存器N存放,然后作为检索结果输出820而被输出。图14作为输出单元800的输出而表示检索结果输出820。此时,寄存器Sx812的名称,即同步检索号码也从AND-OR选择器813被输出,然后被寄存器N存放,作为检索结果输出820而被输出。
在从比较单元400输入了的检索结果453一致的场合,同步检索号码451、检索结果453及固定长数据名452从比较单元400被输入,被寄存器Sx存放。然后等待来自修正单元的输出用户数据332。从修正单元300,输出同步检索号码333和输出用户数据332被输入,被寄存器Sx812存放之后,寄存器Sx的全部内容(包含同步检索号码)从AND-OR选择器813被输出,被寄存器N814存放,作为检索结果输出820而被输出。图14中作为输出单元800的输出而表示检索结果输出820。
输出单元800进行的输出判断由输出控制功能840来进行。在同步检索号码处置管理数据的场合,输出控制功能840不把与其相当的寄存器Sx812的内容向检索结果输出820输出,而是向管理检索结果输出821直接输出寄存器Sx812的内容。
把寄存器Sx812中存放的电路和寄存器N814的电路分别称为阶段的话,可以由各阶段进行具有不同的同步检索号码的检索动作。这样输出单元800进行使检索处理能力增大的管道处理。还有,输出单元800的输出控制功能800的输出判断进行寄存器N814的存放信号产生,以及管道处理的管理。
[实施例]
图1是表示本发明固定长数据检索及管理装置50所涉及的实施例的框图。图1表示的固定长数据检索及管理装置50具备上述固定长数据检索装置10(图1),此外还具备:解释、执行输入了的表格管理命令1的表格管理控制单元600;在固定长数据表格存储器560中,在把用一个存储器地址或多个存储器区段562的不相同的存储器地址来读出的单位定义为家的场合,存放管理未使用的家的空家表格的空家表格存储器700;在上述家中,把保持固定长数据和与检索所必要的固定长数据对应的数据以及检索所必要的数据的单位定义为室的场合,存放管理具有未使用的室的家的空室表格的空室表格存储器;存放管理室的使用状态的室管理表格的室管理存储器740;以及存放管理由检索方法构筑了的表格的构造的构造管理表格的构造管理表格存储器760。另外,也可以用单一存储器来构成上述空室表格存储器700、空家表格存储器720、室管理表格存储器740和构造管理表格存储器760。
除了上述存储器以外,固定长数据检索装置10中包含的指针表格存储器500、固定长数据表格存储器560和数据表格存储器540具有即使在用于检索动作的读出·写入动作中,也可以被表格管理控制单元600中断而进行读出以及写入的构成。在此场合,对表格管理控制单元600的这些存储器的读入和写入动作不会给检索动作带来问题或干扰。
图15表示被空家表格存储器700存放的空家表格701及其登录数据。空家表格701的登录数据由家控制比特703和其次的空家的索引704构成。空家表格701的登录数最大是固定长数据表格具有的家的数。空家表格701只起管理空家的作用,因而除此之外还可以考虑各种实施例。
[空家表格存储器]
图15表示空家表格701的实施例之一及其使用法。在空家的管理中登记了的空家依次被使用,因而从空家表格701和空家开始寄存器702起进行。空家开始寄存器702保持空家可用比特和最初的空家的索引。图15表示6个空家,A、B、C、D、E、F的管理。空家表格701具有一方向链接构造,空家表格701的登录A具有结束比特为关断的家控制比特703和其次的空家的索引704中B的值。同样,登录B、C、D、E分别具有结束比特为关断的家控制比特703和其次的空家的索引704、C、D、E、F。登录F只保持结束比特为接通的家控制比特703。并且,空家开始寄存器702具有最初的空家的索引A。在有对空家的要求的场合,如果能确认空家开始寄存器702保持的空家可用比特为接通,家的索引A就可以使用。如果空家可用比特为关断,就能确认没有空家。然后,以空家的索引A读出空家表格701,在家控制比特的结束比特为关断时,把处于读出了的索引A中的其次的空家的索引704、B保持在空家开始寄存器702中。此动作进行到空家开始寄存器702存放空家索引F为止。此后,对于寻求空家的要求,因为空家开始寄存器702保持的空家可用比特为接通,所以空家的索引704、F作为空家被使用。此后,读出空家的索引704、F,使之与家控制比特的结束比特为接通这一点对应,把空家开始寄存器702的空家可用比特变更为关断。此后对于空家的要求,无空家的状态持续。在登记空家的场合,在空家开始寄存器702具有的索引中写入要登记的空家的索引,同时把写入了的索引的结束比特设为关断。此时,在空家开始寄存器702的空家可用比特为关断的场合,把空家可用比特变更为接通。根据以上方法,空家的获得及登记成为可能。
[空室表格存储器]
图16表示被空室表格存储器720存放的空室表格721及其登录数据。具有登记了的空室的家在必要时被使用,因而空室表格721的登录数据由室控制数据723、前面的空家的索引725和其次的空家的索引726构成。空室表格721的登录数最大为固定长数据表格具有的家的数。空家表格701起着只管理有空室的家的作用,因而可以考虑各种实施例。
图16是空室表格721的实施例之一,与使用法一起表示。有空室的家的管理由空室表格721和x空室开始寄存器722来进行。x是表示空室数的整数,图16表示管理1室空了的家的1空室开始寄存器和同样地管理2室、3室以及4室空了的家的2空室开始寄存器、3空室开始寄存器以及4空室开始寄存器。各x空室开始寄存器722起着与上述空家开始寄存器702相同的作用。以下说明图16中表示的伴随2空室开始寄存器的空室管理动作。
2空室开始寄存器722保持空室可用比特和最初的有2空室的家的索引。图16表示5个具有2空室的家A、B、C、D、E的管理。空室表格721具有双方向链接构造,空室表格721的登录A具有结束比特为关断的室控制比特723和其次的家的索引726、B。在此场合,有2空室的前面的家的索引725是最初的登录,因而没有必要。同样,登录B、C、D分别具有结束比特为关断的室控制比特723、前面的家的索引725、A、B、C和其次的家的索引726、C、D以及E。登录E只保持结束比特被设为接通的室控制比特723和前面的家的索引725、D。并且,在2空室开始寄存器722具有具有最初的2空室的家的索引A。在有具有2空室的家的要求的场合,如果能确认2空室开始寄存器722保持的空室可用比特的接通,2空室开始寄存器722的家的索引A就可以使用。如果空室可用比特为关断,就能确认没有有空室的家。然后,以家的索引A读出空室表格721,在室控制比特的结束比特为关断时,在2空室开始寄存器722中保持读出了的索引A的其次的家的索引724、B。此动作进行到2空室开始寄存器722存放家索引E为止。此后,对于2空室的要求,因为2空室开始寄存器722保持的空室可用比特为接通,所以其次的家的索引726、E作为具有2空室的家被使用。此后,读出其次的家的索引726、E,因为室控制比特的结束比特为接通,所以把2空室开始寄存器722的空室可用比特变更为关断。此后对于具有2空室的家的要求,没有具有2空室的家的状态就会持续。
在登记具有2空室的家的场合,把要登记的具有2空室的家的索引写入2空室开始寄存器722具有的索引中的前面的家的索引725中,同时把写入了的索引的结束比特设为关断。还有,要登记的具有2空室的家的索引中的前面的家的索引725中写入2空室开始寄存器722具有的索引,然后在2空室开始寄存器722中写入要登记的具有2空室的家的索引。此时,在2空室开始寄存器722的2空室可用比特为关断的场合,把2空室可用比特变更为接通。
在具有2空室的家的1室中写入要求产生了的场合,需要把空室表格721其家从2空室开始寄存器722作成的链接中删除登记。在此场合,例如,表示该家的索引为C的话,就读出索引C,获得前面的家的索引725、B和其次的家的索引726、D。在索引B中的其次的家的索引726中写入索引D,再在索引D的前面的家的索引725中写入索引B。结果,索引C就从2空室开始寄存器722作成的链接中被删除,链接成为索引A、B、D以及E。根据以上方法,具有2空室的家的获得、登记及登记删除就成为可能。
图17表示室的管理法。为了简化说明,假定2个存储器阵列构成家,家具有8个室,不过,本发明不限于此。以下把以检索动作进行逻辑比较的固定长数据的集合,即室的集合称为团体。室的管理法的基本思想是使全部家成为满室状态。满室状态是如图17所示,由一个团体或多个团体来使用家中存在的全部室。为了成为满室而增加团体的数,伴随着管理的复杂性及必要的存储器及寄存器的增大等,有时其效果小,因而把一个家中可存在的团体的数设为例如2。在家中有2个团体存在时,把拥有比其他团体多的室的团体称为大团体,把其他称为小团体。在家中保存团体时基本上考虑大团体。即,保存了大团体的家以空室的数来管理。管理由上述空室表格和x空室开始寄存器来进行。x是1~4的整数。有比与大团体同居的多的小团体存在的场合,如图17的最下段所示,把家分割为2,在分割了的家中存放2个小团体。在此场合,拥有1室、2室以及3室的团体入居。为了管理这些团体,x′空室开始寄存器被用于管理。此理由是,对于由x′空室开始寄存器管理的家的数,考虑到固定长数据表格的有效利用,要努力使其成为最小。因此,在x空室成为必要时,最初利用x′空室开始寄存器中登记的家。如果这些家没有了,就利用x空室开始寄存器中登记的家。
图18表示被室管理表格存储器740存放的室管理表格及其登录数据。室管理表格741的登录数与固定长数据表格的家的数相同,室管理表格741的各登录与各家对应。室管理表格741的登录的一般形式如图18所示,由室管理数据742和n个团体数据745构筑。对于n为2场合进行说明。室管理数据742具有家的形式744和具有家的数据的形式743。数据的形式743为1比特,选择家所存放的数据NVC或者逻辑比较数据。家由(1)一个团体,或(2)大团体和小团体,或(3)二个团体构成,所以家的形式744以2比特来表示,选择性地具有上述3个形式中的一个。一个团体被家存放了时,团体1数据表示该团体,团体2数据可以忽略。大团体和小团体被选择了时,团体1数据记述大团体,团体2数据记述小团体。二个团体被选择了时,团体1数据和团体2数据记述各个团体。团体数据745具有表示调出存放团体的家的上位表格的索引或地址的表格类型746和上位地址748及团体所占据的室数747。表格类型746为指针表格时,上位地址748表示指针表格的索引,表格类型746为固定长数据表格时,上位地址748表示固定长数据表格的索引。表格类型746为空室表格时,上位地址748表示空室表格的索引,即家的索引。在大团体需要一个室的场合,需要把小团体移动到其他家,让大团体使用成为空室的室。在此场合,为了获得·修正小团体的各参数而利用室管理表格的数据。
图19表示上述固定长数据表格的家、指针表格的索引、室管理表格741的登录数据和空室表格721的关联。在家为满室的场合,固定长数据表格的索引S包含在指定大团体的指针表格的索引A的登录中,也包含在指定小团体的指针表格的索引B的登录中。此关系被室管理表格741的索引S的登录数据记述。在有空室的场合,有空室的家R包含在指定大团体的指针表格的索引A的登录中,该空室由以其数表示的x空室表格来管理。在此场合,室管理表格741的索引R的登录数据具有记述大团体的指针表格的索引A和记述空室的x空室表格的索引R。图19中x空室表格是空室表格,意味着由x空室开始寄存器链接了的表格。
图20表示把空家表格701、空室表格721和室管理表格741按一个表格归结所得的家管理表格751的例子。家管理表格751的登录数据由家·室控制数据、其次的空家的索引或前面的有空室的家的索引、其次的有空室的家的索引和n个团体数据构成。家·室控制数据具有结束比特、数据形式和家的形式。能以家·室控制数据和其次的空家的索引或前面的有空室的家的索引来实现空家表格的功能,以家·室控制数据、其次的空家的索引或前面的有空室的家的索引和其次的有空室的家的索引来实现空室表格,能由家·室控制数据和n个团体数据来实现室管理表格的功能。此时,空家开始寄存器和n空室开始寄存器是实装3个功能所必要的。
[构造管理表格存储器]
图21表示被构造管理表格存储器760存放的构造管理表格761及其登录数据。构造管理表格761的登录数与指针表格的登录数相同。登录数据由构造控制比特、指针表格的登录具有的固定数据长数据数和链接地址构成。在本发明中,作为检索方法,已经叙述了把检索对象的固定长数据的集团分解为可一次比较的数而进行比较的情况。可是,在固定长数据的集团的分布中,一般不会成为可一次比较的数的分布。因此,本发明导入二次指针表格、局部表格、NVC比较法的表格等手法,偿试固定长数据的集团的分散化。在本发明的实际实装中把这些方法组合起来。在进行图21的详细说明之前,以图22来说明从表格的构造看出的检索次序,用图21来说明其构造的演变。此后,参考图21的构造管理表格来说明构造演变所必要的数据。
图22表示检索次序的例子。也可以作成其他检索次序,不过,因为说明,在检索单元的说明中使用次序1至次序5。次序1读出指针表格,获得固定值数据表格的索引,读出固定值数据表格,进行比较。此次序在指针表格的登录具有的比较数据数为一个家能存放的固定长数据的数以下的场合实现。在说明中假定家具有的室数(固定长数据的数)为8,因而是指针表格的登录具有的固定长数据的数为8以下的场合。本发明的固定长数据检索装置10能通过次序1来检索大许多固定长数据。次序2是在次序1中增加了固定长数据表格的读出和比较动作。此次序在指针表格的登录具有的比较数据数为16以下的场合被使用。在次序1和次序2之间不存在构造的变化。
次序3是在次序1的其次,进行第2指针表格(SPT)的读出,以获得了的固定长数据表格的索引进行固定长数据表格的读出和比较动作。在最初的固定长数据表格的读出·比较动作后进行SPT和固定长数据表格的读出的理由是,在按LPM规则进行检索的场合,由于为产生SPT的索引所使用的全索引190的一部分的比特的比特位置和作为固定长数据的要素的屏蔽的关系,存在在SPT前需要比较的固定长数据。次序3处置的固定长数据的数是最低17个,最高(8*n+8)个。n是SPT的尺寸。考虑SRT以3比特来索引的话,就能以次序3处理最高72个固定长数据。
次序4是次序3中的最后的固定长数据表格的读出·比较动作被置换为局部表格的读出·比较动作的东西。次序4是次序3中的SPT之一的登录要求了局部表格的场合。即使其他SPT的登录以次序3进行动作,如果一个局部表格存在就是次序4。因此,次序4处置的固定长数据的数是最低17个,最高(8*n*m+8)个。m是局部表格的尺寸。考虑局部表格以3比特来索引的话就能以次序4处理最高520个固定长数据。
次序5与到次序4为止的单元有很大不同,它是作成NVC构造的表格,以大小比较进行检索。因此,次序5处置的固定长数据的数是最高(8*p*p)个。此处,p是一个家能存放的NVC类型的数据数。图22中的次序5表示二个构造,不过,实际情况是二个构造的组合。一般考虑NVC类型的数据数为固定长数据的数的2倍的话,就能由次序5处理最高2048个固定长数据。一般而言,家存放的室的数按指针表格把固定长数据的集团理想地分散了的场合的数,即指针表格的登录具有的平均固定长数据数的2倍的数来设定。考虑指针表格的登录具有的平均固定长数据数为4的话,次序3和次序4处置的固定长数据数就非常大,可以推测,需要次序3和次序4的场合很少。次序5是次序3和次序4以上的场合,存在必要与否的议论。不过可以看出,通过采用次序5,即使在被实装的固定长数据的分布非常大地偏了的场合,检索动作也可以进行。
图21表示各次序所必要的表格的构造的演变。演变A在条件774成立了时,演变B在条件775成立了时,演变C在条件775成立了时,演变D在条件779成立了时,演变E条件778成立了时,演变F在条件777成立了时被执行。在图21中,次序1和次序2的表格的构造看作相同。在图21中长方形770内的次序1/次序2意味着由次序1或2来检索的表格构造。其他长方形也同样。
在指针表格的登录具有的固定长数据数(为简化,称为PT的固定长数据数)为16以内的场合,该登录以次序1或次序2来进行检索。对于PT的固定长数据数为16个的登录,执行了固定长数据的附加命令时,即,指针表格的登录具有的固定长数据数超过16时(条件774),演变A被执行,演变为以次序3检索的表格构造。
由次序3检索的登录的表格构造最初是指针表格,其次是固定长数据表格,其次是SPT,最后是固定长数据表格。最后的固定长数据表格的家为满室,固定长数据的附加命令被执行了时,即,SPT的登录具有的固定长数据数超过8时(条件775),演变为由次序4检索的表格构造。
由次序4检索的登录的表格构造最初是指针表格,其次是固定长数据表格,其次是SPT,最后是局部表格。在最后的局部表格的登录中的家为满室,固定长数据的附加命令被执行了时,即,LT的登录具有的固定长数据数超过8时(条件776),演变为由次序5检索的表格构造。次序5具有与次序1至次序4为止的表格构造完全不同的表格构造。为此,管理构造的方法使用与管理了次序1至次序4为止的表格构造的手法相同的东西。不过,由次序5检索的登录的表格构造最初是指针表格,其次是NVC构造的固定长数据表格,其次是NVC构造的固定长数据表格,最后是固定长数据表格。
对于由次序5检索的登录执行了几个固定长数据的删除命令时,其结果如果局部表格的全部的登录具有8以下的固定长数据,即,LT的登录具有的固定长数据数成为8以下时(条件779),由次序5检索的表格构造就演变为由次序4检索的表格构造。同样,对于由次序4检索的登录执行了几个固定长数据的删除命令时,其结果如果SPT的全部的登录具有8以下的固定长数据,即,SPT的登录具有的固定长数据数成为8以下时(条件778),由次序4检索的表格构造就演变为由次序3检索的表格构造。最后,对于由次序3检索的登录执行了几个固定长数据的删除命令时,其结果如果PT的全部的登录具有16以下的固定长数据,即,指针表格的登录具有的固定长数据数成为16以下时(条件777),由次序3检索的表格构造就演变为由次序1/次序2检索的表格构造。上述条件,以777、778、779分别规定了16以下、8以下、8以下的尺度,不过,实际的值可以指定。
图21表示的构造管理表格对进行由各次序检索的表格构造的演变(图21)的数据进行管理。构造管理表格761具有与指针表格相同的登录数,各登录与指针表格的登录对应。构造管理表格761的登录由构造控制数据762、指针表格的登录具有的固定长数据数763和链接地址764构成。构造控制数据762由次序号码765、SPT的尺寸766和局部表格的尺寸767构成。在次序号码765为次序1或次序2的场合,SPT的尺寸766、局部表格的尺寸767和链接地址可以忽略。指针表格的大部分的登录进入这些次序。
在次序号码765为次序3的场合,SPT的尺寸766和链接地址被使用,局部表格的尺寸767可以忽略。在此场合,链接地址764表示SPT的各登录具有的固定长数据数的表格768的位置。SPT的尺寸766是SPT的登录数n。
在次序号码765为次序4或次序5的场合,SPT的尺寸766、局部表格的尺寸767和链接地址被使用。在此场合,链接地址764表示SPT和局部表格的各登录具有的固定长数据数的表格769的位置。SPT的尺寸766是SPT的登录数n,局部表格的尺寸767是局部表格的登录数n。这样,通过活用构造管理表格761,就能进行与检索次序对应的表格构造的演变。在这里应该注意的是,次序5使用NVC构造的表格进行检索,不过,构造管理表格所涉及的表格构造管理是以SPT和局部表格的形式进行管理。根据此方法,构造管理具有一贯性,构造管理能有效、简单地进行。
[表格管理单元]
图23表示表格管理单元600的实施例。表格管理单元600包括:CPU601;提供输入输出总线、CPU总线、存储器总线、存储器信号的控制电路602;以及存放CPU601的程序和数据的存储器603。在图23中说明的表格管理的方法很复杂,因而由图23所示的CPU601来执行。输入总线用于命令的输入,存储器总线用于在控制电路602和各表格存储器间,或控制电路602和输入固定长数据处理单元100间,或控制电路602和输出单元800间的数据传送。本实施例中进行表格的管理的程序在命令的同时执行,有时会成为复杂的构成。
图23表示表格管理单元600的其他实施例。本实施例为实施例1,是把CPU601实现的功能进行细分化,细分化了的功能由图23所示的控制器或定序器来实现。在图23中表格管理控制单元600包括:接受来自主控制装置的命令,进行其解析、执行的输入命令·执行功能670;在输入命令·执行功能670的附加命令执行时,辅助不把表格的构造的演变作为必要的附加的单纯附加功能630;辅助把表格的构造的演变作为必要的附加的构造变更附加功能640;在输入命令·执行功能670的删除命令执行时,辅助不把表格的构造的演变作为必要的删除的单纯删除功能650;辅助把表格的构造的演变作为必要的删除的构造变更附加功能660;使得产生自动删除命令,将其送到输入命令执行功能670的自动删除命令功能620;以及输入命令执行功能670临时地存放数据的临时存储功能610。
除图23所示的临时存储功能610以外的各功能由图23所示的控制器或定序器来实现。在图23中控制器或定序器包括:由初始化信号来初始化,或由指令执行电路607的执行结果来变更的指令计数器604;存放由指令计数器604索引而读出的指令的指令存储器605;对读出了的指令进行解码的指令解码器606;由解码了的信号来控制,执行指定了的功能的执行电路607;临时地存放执行电路607所必要的数据的寄存器608;以及进行执行电路607、寄存器608和其他电路间的数据传送的内部总线609。控制器或定序器执行的功能细分化了,并且实装了有该功能的执行电路,因而指令存储器605的尺寸能最小,或者控制器或定序器可以简化。以下说明使用了控制器或定序器的各功能。
图24表示输入命令·执行功能670(图23)接收的来自主控制装置的4个命令。如图24所示,附加命令伴随固定长数据、屏蔽、固定长数据名、用户数据、状态比特而被输入。在此场合,根据检索规则,有时不送屏蔽。被送来的固定长数据、屏蔽及固定长数据名被固定长数据表格存放,用户数据和初始化了的统计数据被用户数据表格存放。状态比特用于要素控制数据的作成。在状态比特表示使此要素常驻的场合,要素控制数据设定为常驻状态,此外设定为使用状态。删除命令伴随固定长数据而被输入。被送来的固定长数据和与其关联的数据从固定长数据表格及用户数据表格中被删除。统计数据引出命令伴随固定长数据而被输入。与输入了的固定长数据有关的统计数据被送给主控制装置。最后,自动删除名引出命令伴随引出自动删除名数而被输入。由自动删除功能删除了的引出自动删除名数的固定长数据的固定长数据名被送给主控制装置。在由自动删除功能删除了的固定长数据为引出自动删除名数以下的场合,删除了的固定长数据数的删除固定长数据名被发送。
图24表示输入命令·执行功能670的实施例。输入命令·执行功能670具有二个控制器或定序器,一个处理来自主控制装置的输入命令,另一个处理来自自动删除命令功能620的输入命令。具有二个控制器或定序器的理由是能独立地处理来自主控制装置的输入命令和来自自动删除命令功能620的输入命令。因此,就需要有处理相互不影响的机制。关于此点,以自动删除命令的执行来说明。输入命令·执行功能670受取来自主控制装置的输入命令,在命令解码后,让担当控制器或定序器进行动作,进行与输入命令对应的执行,附加命令的执行671,或删除命令的执行672,或统计数据引出命令的执行673,或自动删除名引出命令的执行674。然后,向主控制装置发送执行结果,与输入命令对应的执行就结束,因而在担当着某个执行的控制器或定序器进行动作的过程中,来自主控制装置的别的输入命令不会被送来。在等候来自主控制装置的输入命令,或执行输入命令的过程中,输入命令·执行功能670可以受取、执行来自自动删除命令功能620的输入命令。在担当控制器或定序器执行自动删除命令的过程中,其他自动删除命令不会被输入命令·执行功能670输入。理由是检查了自动删除命令功能620的可动作的状态。
图24表示自动删除命令功能620的实施例。从图24可以看出,自动删除命令功能620是单纯的定时器电路。自动删除命令功能620具有自动删除命令发布时间寄存器621,在自动删除命令发布时间寄存器621的使能比特为1时,以自动删除命令发布时间寄存器621决定的时间间隔发布自动删除命令。图24的可动作判断是通过确认自动删除命令功能620发布了的自动删除命令已经结束的情况和自动删除命令发布时间寄存器621的使能比特为1的情况来进行的。这样自动删除命令功能620就没有必要由控制器或定序器来实现。
图25表示执行来自主控制装置的附加命令的控制器或定序器的动作例。输入命令·执行功能670接收附加命令,首先,读出构造管理表格761,确认次序号码,从构造管理表格761获得在该次序的最后读出的表格的固定长数据的数(S6710)。然后,确认该数是不是图21所示的构造演变所必要的条件(S6711)。如果是构造演变的条件,输入命令·执行功能670就启动构造变更附加功能640,直到其结束而停止(S6712)。如果不是构造演变的条件,输入命令·执行功能670就启动单纯附加功能630,直到其结束而停止(S6713)。构造变更附加功能640,或单纯附加功能630的执行结束的结果,输入命令·执行功能670获得执行结果而再开始。解析所获得的执行结果(S6714),如果报告了执行结果没有问题地被执行了,就作成执行结束结果数据,将其送到管理输出功能(S6715)。在此场合,最后再在与构造管理表格对应的要素数上加上1(S6716)。在所获得的执行结果未能执行的场合,作成不执行结果数据(S6717),将其送到管理输出功能。然后,输入命令·执行功能670等侯来自主控制装置的其次的命令。所获得的执行结果不能执行的情况可以认为是(1)固定长数据表格中没有附加固定长数据的地点,(2)在固定长数据表格中附加的固定长数据已经存在等。在(2)的情况下,与要附加的固定长数据伴随的屏蔽、固定长数据名及用户数据能与现存的数据置换的选择能力可以由寄存器来实现。
图25表示执行来自主控制装置的删除命令的控制器或定序器的动作例。输入命令·执行功能670接收删除命令的话,首先,读出构造管理表格761,确认次序号码,从构造管理表格761获得在该次序的最后读出的表格的固定长数据的数(S6720)。确认该数是不是图21所示的构造演变所必要的条件(S6721)。如果是构造演变的条件,输入命令·执行功能670就启动构造变更删除功能660,直到其结束而停止(S6722)。如果不是构造演变的条件,输入命令·执行功能670就启动单纯删除功能650,直到其结束而停止(S6723)。构造变更删除功能660,或单纯删除功能650的执行结束的结果,输入命令·执行功能670获得执行结果而再开始。解析所获得的执行结果,如果报告了执行结果没有问题地被执行了(S6724),就作成执行结束结果数据,将其送到管理输出功能(S6725)。最后从与构造管理表格对应的要素数中减去1(S6726)。在所获得的执行结果不能执行的场合,作成不执行结果数据,将其送到管理输出功能(S6727)。然后,输入命令·执行功能670等候来自主控制装置的其次的命令。所获得的执行结果不能执行的情况可以认为是(1)固定长数据表格中没有附加固定长数据的地点,(2)固定长数据表格中没有要删除的固定长数据等。在(1)的场合,不进行构造变更,而是进行命令内的固定长数据删除,从与构造管理表格对应的要素数中减去1之后报告,这种手法也存在。
图26表示执行来自主控制装置的统计数据引出命令的控制器或定序器的动作例。输入命令·执行功能670接收统计数据引出命令,首先,检索统计数据引出命令内的固定长数据(S6730)。输入命令·执行功能670从输入固定值数据处理单元100的管理数据699中输入统计数据引出命令内的固定长数据。输入检索号码是向表格管理控制单元600分配了的检索号码,并且向输入统计数据中输入零。伴随向表格管理控制单元600分配了的检索号码的检索动作通过输出控制功能840,在寄存器S812中存放了数据的时点结束。那时,检索结果被向表格管理控制单元600分配了的检索号码的寄存器S812存放,通过管理检索结果输出821,被输入命令·执行功能670读入。与统计数据引出命令内的固定长数据有关的统计数据被修正单元300的寄存器O存放,通过统计数据337,被输入命令·执行功能670读入(S6732)。读入了的统计数据向输出单元800内的管理输出功能输出(S6733)。根据读入了的检索结果来作成执行结果。在检索结果一致的场合,伴随固定长数据名把统计数据和执行结果向输出单元800的管理输出功能输出(S6734)。在检索结果不一致的场合,只把不一致的执行结果向输出单元800的管理输出功能输出(S6735)。
图26表示执行来自主控制装置的自动删除名引出命令的控制器或定序器的动作例。输入命令·执行功能670接收自动删除名引出命令,首先,如图26所示,对引出自动删除数寄存器进行初始化。自动删除命令的执行的结果,删除了的固定长数据的固定长数据名被表格管理单元600的临时存储功能610存放。自动删除名引出命令是按指定了数来读出被存放的固定长数据名,将其向管理输出功能输出。因此,如图26所示,确认是不是有被临时存储功能610存放的自动删除了的固定长数据名(S6741)。如果有,就获得一个临时被存储功能610存放的固定长数据名(S6742),将其向管理输出功能输出(S6743)。然后使引出自动删除数寄存器增加1(S6744)。增加后,确认引出自动删除数寄存器是不是与自动删除名引出命令内的引出数相同(S6745)。在引出自动删除数寄存器比引出数少的场合,再次确认是不是有被临时存储功能610存放的自动删除了的固定长数据名。持续进行此动作,直到引出自动删除数寄存器和引出数变得相同。引出自动删除数寄存器达到了引出数时,伴随引出数,执行结果数据被输出到管理输出功能(S6746)。在引出自动删除数寄存器达到引出数之前,被临时存储功能610存放的自动删除了的固定长数据名没有了的场合,伴随引出自动删除数寄存器的引出数,执行结果数据被输出到管理输出功能(S6746)。
图27表示执行来自自动删除命令功能的自动删除命令的控制器或定序器的动作例。输入命令·执行功能670接收自动删除命令,首先,如图27所示,对固定长数据地址寄存器进行初始化(S6750)。自动删除命令参照图8所示的固定长数据表格的要素控制数据来进行。
图27表示要素控制数据的详细情况。要素控制数据由要素状态和位置变更构成。要素状态保持4个状态之一。4个状态是(1)空室状态,(2)常驻状态,(3)删除状态,以及(4)使用状态。固定长数据被初始化了时,要素状态设定为空室状态。对于处于空室状态的固定长数据表格的要素附加了具有常驻的状态比特的固定长数据时,该要素的要素控制数据就演变为常驻状态。自动删除命令所涉及的删除对象中不包含处于此状态的固定长数据。即,处于此状态的固定长数据除了执行来自主控制装置的删除命令以外,不被删除。对于处于空室状态的固定长数据表格的要素附加了具有非常驻的状态比特的固定长数据时,该要素的要素控制数据就演变为删除状态。然后,设定位置变更。自动删除命令所涉及的删除对象中包含处于删除状态的固定长数据。即,处于此状态的固定长数据通过来自主控制装置的删除命令和自动删除命令的执行来删除。(设定了位置变更的删除状态从自动删除命令的对象中被去除。位置变更后述。)处于删除状态的固定长数据表格的要素在检索动作下与检索目的固定长数据一致的话,处于删除状态的固定长数据表格的要素状态就演变为使用状态。自动删除命令的目的是删除在某时间间隔不被使用的固定长数据。自动删除命令被周期性地发布。在该时间之间,不被使用,即处于删除状态的固定长数据被删除。处于使用状态的固定长数据表格的要素状态通过自动删除命令的执行而向删除状态演变。然后根据其次的自动删除命令,调查是不是被使用了,如果未使用就被删除。
在图27中位置变更是在执行了来自主控制装置的附加命令或删除命令,或来自自动删除命令功能的自动删除命令时,设定在固定长数据表格内移动的固定长数据的位置变更,将其从执行中的自动删除命令的对象中除去。然后,自动删除命令被执行了时,位置变更被设定了的固定长数据不被删除,而是作为其次的自动删除命令的执行对象,因而位置变更被复位。
在图27中,把固定长数据地址寄存器作为索引来读出固定长数据表格的家(S6751)。在读出了的家中检查固定长数据的要素控制数据(S6752)。在该要素状态为空室状态或常驻状态的场合,检查其次的固定长数据。在要素状态处于删除状态,位置变更没被设定的场合(没有访问的场合),该固定长数据被删除(S6753)。删除是进行与删除命令相同的动作来删除固定长数据。然后在表格管理控制单元600的临时存储功能中保存删除了的固定长数据的固定长数据名(S6754)。在要素状态处于删除状态,位置变更被设定了的场合(有访问),该固定长数据不被删除,并且把位置变更复位。此作业对读入了的家的全固定长数据进行。读入了的家的全部的固定长数据被检查的话(S6755),就把固定长数据地址寄存器增加1(S6756)。然后进行把固定长数据地址寄存器作为索引来读出固定长数据表格的家的作业。对固定长数据表格的全部的家进行这样的作业(S6757),结束自动删除命令的执行。
图28表示在输入命令·执行功能670的请求下执行没有构造变更的必要的附加功能(单纯附加功能630)的控制器或定序器的动作例的一部分。在图28中记述单纯附加功能630的全部情况会很复杂,因而详细的功能通过说明来进行。从输入命令·执行功能670接收单纯附加命令的执行的话,首先,检索附加命令内的固定长数据(S6300)。单纯附加功能630从输入固定值数据处理单元100的管理数据699输入附加命令内的固定长数据。输入检索号码是向表格管理控制单元600分配了的检索号码,并且向输入统计数据输入零。与向表格管理控制单元600分配了的检索号码伴随的检索动作根据输出控制功能840,在寄存器S812中存放了数据的时点结束。还有,在图7的指针处理单元200中,在使之产生向表格管理控制单元600分配了的检索号码的索引时,该索引被寄存器P217保存。在检索过程中寄存器P217每当指针处理单元200产生表格索引252时就被改正。因此,在检索结束时,寄存器P217保持读入固定长数据表格所得的最后的索引。此外,与附加命令内的固定长数据有关的检索结果、固定长数据名及用户数据被向表格管理控制单元600分配了的检索号码的寄存器S812存放,被单纯附加功能630读入。在今后的说明中省略,不过,被附加的固定长数据设为按大小顺序排列的东西,并且根据被附加的固定长数据以外的固定长数据名、屏蔽和状态比特所作成的要素控制数据在固定长数据表格中,用户数据和初始化了的统计数据在数据表格中,在固定长数据被存放的时点同时被存放。
图28中没记述,不过,在获得了不一致的检索结果时,单纯附加功能630的执行可以继续。在获得一致了的结果时,二个选择项可以考虑。一个是中止单纯附加功能630的执行,向主控制装置报告该结果。另一个是继续单纯附加功能630的执行,把与应该附加的固定长数据关联的各种数据与附加命令内的数据置换,进行改正。这些选择项由寄存器来进行。
以指针处理单元200的寄存器P217保持的索引,参照室管理表格741(S6301),确认家是不是满室(8室被单一团体所占)。在不是满室的场合,由二个团体构成家。此时,按家的占有的状况和固定长数据被附加的团体来分的话,可以考虑以下情况。(1)在家中大团体和小团体同居着,向大团体附加,(2)在家中大团体和小团体同居着,向小团体附加,(3)在家中大团体和小团体可以同居,不过,仅大团体存在,向其附加,(4)在家中尺寸相等的二团体同居着,向其中一个团体附加,(5)在家中尺寸相等的二团体可以同居,不过,只有一个存在,向该团体附加,(6)没有附加的团体。图28表示了上述(1)和(2)的情况,不过,以下对于(1)~(6)的情况进行说明。
(1)在家(P)中大团体和小团体同居着,向大团体附加的场合,移动小团体,在空了的室中存放要附加的固定长数据及其关联的数据。作业的顺序是最初从空室表格721获得具有小团体所具有的室数的空室的家(Q)的索引。把小团体迁移到家(Q)中(S6304)。然后在家(Q)的室管理表格741中抄写与小团体关联的参数,使用室管理表格741具有的上位地址在上位表格的登录控制数据中写入家(Q)的索引。其次在大团体的家(P)中存放附加命令内的固定长数据及其关联数据。在通过附加,该家成为了满室的场合,变更该家的室管理表格741和构造管理表格761的参数。在该家不是满室的场合,在那些变更之外,再在(小团体的室数-1)的空室表格721中登记家(P)(S6305)。
(2)在家(P)中大团体和小团体同居着,向小团体附加的场合,从空室表格721获得具有比小团体的室数大一个的空室的家(Q),把小团体移动到家(Q)中,然后把要附加的固定长数据及其关联的数据存放在家(Q)中(S6306)。然后在家(Q)的室管理表格741中抄写与小团体关联的参数,使用室管理表格741具有的上位地址来变更上位表格的登录控制数据和构造管理表格761。其次在小团体的室数的空室表格721中登记大团体的家(P),在家(P)的室管理表格的上位地址中写入在空室表格721中登记了的地址,变更与它们对应的参数(S6307)。
(3)在家中大团体和小团体可以同居,不过,仅大团体存,向其附加的场合,在大团体的家中存放附加命令内的固定长数据及其关联数据。从处于空室的小团体的室数的空室表格721中删除此家。在通过附加,该家成为了满室的场合,变更该家的室管理表格741和构造管理表格761的参数。在该家不是满室的场合,在那些变更之外,再在(处于空室的小团体的室数-1)的空室表格721中登记家。
(4)在家(P)中尺寸相等的二团体(称为A和B)同居着,向其中一个团体A附加的场合,团体的室数为1、2或3时,从空室表格721获得具有比团体A的室数大一个的空室的家(Q),移动团体A,然后在该家中存放要附加的固定长数据及其关联的数据。然后抄写与家(Q)的室管理表格741的团体A关联的参数,使用室管理表格741具有的上位地址,在上位表格的登录控制数据中写入家(Q)的索引,变更构造管理表格761。其次在团体B的室数的空室表格721中登记家(P),然后把团体B的家(P)的室管理表格741的团体A的参数变更为登记了的空室表格721的地址。在团体的室数为4时,从空家表格701获得空家(R),移动团体A,然后在该家中存放要附加的固定长数据及其关联的数据。然后在新的家(R)的室管理表格741中抄写与团体A关联的参数,使用室管理表格741具有的上位地址来变更上位表格的登录控制数据和构造管理表格761。其次在团体B的室数的空室表格721中登记家(P),然后把团体B的家(P)的室管理表格741的团体B的参数变更为登记了的空室表格721的地址。
(5)在家中尺寸相等的二团体(称为A和B)可以同居,不过,只有一个(团体A)存在,向该团体附加的场合,在团体A的家中存放附加命令内的固定长数据及其关联数据。从处于空室的团体(B)的室数的空室表格721中删除此家。在(处于空室的团体B的室数+1)的空室表格721中登记家。写入在该家的室管理表格741的空室的上位地址中登记了的空室表格721的地址,变更构造管理表格761的参数。
(6)在没有要附加的团体的场合,从1空室表格721获得具有1室的空室的家。向该家附加要附加的固定长数据,在指针表格中登记该家,在该家的室管理表格741的空室中登记指针表格的索引。最后变更构造管理表格761的参数。
在图28中,在家为满室(8室被单一团体所占)的场合,根据二个情况来处理。一个是NVC形式的场合,另一个是此外的场合(S6308)。在NVC形式的场合,进行再排列(S6309),存放附加命令内的固定长数据及其关联数据。然后,再配置的结果,对于必须附加的家,在上述(1)至(5)中,进行一个附加动作(S6310)。在不是NVC形式的场合,从空室表格721获得具有一个空室的家(Q),通过跟家(P)的8个固定长数据的大小比较,在家(P)和家(Q)中存放9个固定长数据(S6311)。变更家(P)的登录控制数据,使其与家(Q)链接(S6312),修正家(Q)的登录控制数据,在家(Q)的室管理表格741中写入家(P)的索引,最后变更构造管理表格761。
图28表示在输入命令·执行功能670的请求下执行有构造变更的必要的附加功能(构造变更附加功能640)的控制器或定序器的动作例的一部分。与单纯附加功能630的说明相同,在图28中记述构造变更附加功能640的全部情况会很复杂,因而详细的功能通过说明来进行。从输入命令·执行功能670接收单纯附加命令的执行的话,首先,检索附加命令内的固定长数据(S6400)。构造变更附加功能640从输入固定值数据处理单元100的管理数据699输入附加命令内的固定长数据。输入检索号码是向表格管理控制单元600分配了的检索号码,并且向输入统计数据输入零。与向表格管理控制单元600分配了的检索号码伴随的检索动作根据输出控制功能840,在寄存器S812中存放了数据的时点结束。还有,在图7的指针处理单元200中,在使之产生向表格管理控制单元600分配了的检索号码的索引时,该索引被寄存器P217保存。在检索过程中寄存器P217每当指针处理单元200产生表格索引252时就被改正。因此,在检索结束时,寄存器P217保持读入固定长数据表格所得的最后的索引。此外,与附加命令内的固定长数据有关的检索结果、固定长数据名及用户数据被向表格管理控制单元600分配了的检索号码的寄存器S812存放,被构造变更附加功能640读入。
图28中没记述,不过,在获得不一致的检索结果时,构造变更附加功能640的执行可以继续。在获得一致了的结果时,二个选择项可以考虑。一个是中止构造变更附加功能640的执行,向主控制装置报告该结果。另一个是继续构造变更附加功能640的执行,把与应该附加的固定长数据关联的各种数据与附加命令内的数据置换,进行改正。这些选择项由寄存器来进行。
以指针处理单元200的寄存器P217保持的索引,参照室管理表格741(S6301),确认家是不是被一个团体所占(S6401)。然后,获得上位地址。其次参照构造管理表格761,确认次序号码和构造变更理由(S6402,S6403)。在次序2的场合,构筑SPT。在次序3的场合,构筑局部表格。在次序4的场合,变更为NVC形式的表格构造。
构造管理表格761的次序号码为2时,通过SPT的构筑来再配置被固定长数据表格的二个家(P和Q)存放的16个固定长数据和被附加的固定长数据(S6405)。该作业的最初是17个固定长数据的区分。已经说明了假定SPT的尺寸为8的情况,因而按9个来区分(区分0至区分8)。区分中使用的数据是来自全索引中用于指针表格的索引的比特的3比特。例如,如果指针表格的索引是全索引(例如32比特)的31比特中的16比特,SPT的索引就是比特15、比特14及比特13。以(比特15、比特14、比特13)表示它们。在此场合,区分0以(000)来表示,区分1以(001)来表示,同样区分7以(111)来表示。区分8处置17个固定长数据中其屏蔽的长度具有17比特(32比特-15比特)或者18比特(32比特-14比特)的固定长数据。区分后,从空室表格721获得具有属于区分8的固定长数据的数的空室的家(R),把属于区分8的固定长数据迁移到该家(R)(S6406)。此时的动作如按单纯附加功能630说明了的。在指针表格的登录数据中写入该家(R)的索引。
在指针表格存储器500中构筑具有8登录的表格、SPT,将其初始化。在家(R)的登录控制数据中写入SPT的索引(000)的存储器地址,即基地址和SPT的参数。
从空室表格721获得具有属于区分0的固定长数据的数的空室的家(S),把属于区分0的固定长数据迁移到该家(S)。此时的动作如按单纯附加功能630说明了的。在SPT的登录数据中写入该家(S)的索引、次工序101和存储器控制数据。如果固定长数据的数的空室是4以下,就把只对存放它的存储器阵列进行激活的数据写入存储器控制数据中。最后写入该家(S)的登录控制数据的次工序000。从区分1到区分7进行此作业。进行构造管理表格的变更。然后在空家表格701中登记家P和家Q,对SPT的构造变更就告结束(S6411)。
构造管理表格761的次序号码为3时(S6403),通过局部表格的构筑来再配置被固定长数据表格之一家(P)存放的8个固定长数据和被附加的固定长数据(S6407)。因为这9个固定长数据是SPT的一个登录中不能存放的。该作业的最初是9个固定长数据的区分。已经说明了假定局部表格的尺寸为8,因而按8个来区分(区分0至区分7)。区分中使用的数据是来自全索引中用于指针表格和SPT的索引的比特的3比特。例如,如果指针表格的索引是全索引(例如32比特)的31比特中的16比特,SPT的索引就是比特15、比特14及比特13。因此,局部表格的索引是比特12、比特11及比特10。以(比特12、比特11、比特10)表示它们。在此场合,区分0以(000)来表示,区分1以(001)来表示,同样区分7以(111)来表示。
在固定长数据表格存储器560中构筑具有8登录的局部表格,将其初始化。把局部表格的索引(000)的存储器地址,即基地址和局部表格的参数写入家(P)的室管理表格741的上位地址表示的SPT的登录的登录控制数据中。固定长数据表格的一部分的家被预约于局部表格。
把属于区分0的固定长数据迁移到按基地址来索引的固定长数据表格的家中(S6408)。此时的动作如按单纯附加功能630说明了的。通过设定该家的室管理表格741的LT比特,使得团体不会根据附加命令及删除命令从该家移动。最后写入该家的登录控制数据的次工序000。从区分1到区分7进行此作业。进行构造管理表格的变更。然后在空家表格701中登记家P,对局部表格的构造变更就告结束(S6411)。
构造管理表格761的次序号码为4时,属于要附加的固定长数据所属的指针表格的登录的全部固定长数据和要附加的固定长数据成为构造变更的对象(S6409)。全部的家具有的固定长数据在该家的团体中按大小顺序排列。因此,属于要附加的固定长数据所属的指针表格的登录的SPT和局部表格的固定长数据按大小顺序排列。例如,如果把不含局部表格的SPT的索引0表示为(000),把包含局部表格(其索引0)的SPT的索引1表示为(001、000)的话,固定长数据的大小顺序从大的一方起,为(111),(110),(101),(100),(011),(010),(001、111),(001、110),(001、101),(001、100),(001、011),(001、010),(001、001),(001、000),(000)。按此顺序来中断指针表格的其次被读入的固定长数据表格的家(P)的固定长数据。
以下说明按大小顺序排列了的固定长数据的大小比较的方法。用上述例子,如果指针表格的索引是全索引(例如32比特)的31比特中的16比特,SPT的索引就是比特15、比特14及比特13。局部表格的索引是比特12、比特11及比特11。它们只不过是为了按各表格分类而使用的方法,即使对于全索引的比特15至比特0进行大小比较,到现在为止的说明也不产生问题。还有,因为是带屏蔽的大小比较,所以被屏蔽的比特即使比较也没有意义。即,如果屏蔽是23,全索引的比特31到比特8被比较,比特7到比特0没有意义。因此,被屏蔽的比特作为0来对待。NVC形式的固定长数据表格的要素由提取了的索引(全索引的比特15至比特0)和此索引的大小比较的结果、被参照的固定长数据表格索引构成(参照图8)。还有,次序5可以在固定长数据表格中具有直到二个NVC形式的家。在一个家中固定长数据能存放到8个,而NVC形式的数据在一个家中能存放到16个,因而在二个家中能存放最高256个NVC形式的数据。对NVC形式的构造变更利用此性质。
如果假定在上述例子中SPT和一个局部表格存在,索引数就是15。因此,把要附加的固定长数据和被附加的家的8个固定长数据分解为二个,全部具有16个家。此后进行在图9中记述了的作业3、作业4以及作业5(S6411)。从空家表格701获得家(P)。从各家的具有最小值的固定长数据的比特15中提取比特0,将其按大的顺序在家(P)中存放。把与那些固定值数据相当的家的索引作为各提取索引的固定长数据表格索引来存放。在指针表格的登录数据中保存家(P)的索引,次工序设定NVC形式。修正构造管理表格。构成局部表格的家的室管理表格741的LT比特不变更。通过以上处理,构造变更即告完成。
以下说明上述把要附加的固定长数据和被附加的家(R)的8个固定长数据分解为二个的方法。假定要附加的固定长数据是被附加的8个固定长数据按大的顺序的第m个。m是从0到8的值。0是要附加的固定长数据为最大,8是要附加的固定长数据为最小。m为1、2、3时,从空室表格721获得具有m+1空室的家(S),从大的顺序开始移动m个固定长数据和要附加的固定长数据。在m个空室表格中登记家(R),在家(R)的室管理表格中写入其地址。全部都在家的室管理表格的上位地址中写入指针表格的索引。m为1、2、3以外时,从空室表格721获得具有m空室的家(S),从小的顺序开始移动(8-m)个固定长数据。保存向家(R)附加的固定长数据,在(7-m)个空室表格中登记,在家(R)的室管理表格中写入其地址。全部都在家的室管理表格的上位地址中写入指针表格的索引。
NVC形式的表格的构筑变更以一个局部表格为例子进行了说明,不过,即使局部表格有多个存在,说明了的手法也能使用。在SPT的全部的登录具有局部表格的场合,有64个家存在。虽然NVC形式的家在说明中是一个,不过,可以具有多达二个,因而能处理256个家。即,从次序4到次序5的构造变更的手法的上述说明中,次序4具有任何表格构造都可以变更为次序5的NVC形式的表格构造。
图29表示在输入命令·执行功能670的请求下执行没有构造变更的必要的删除功能(单纯删除功能650)的控制器或定序器的动作例的一部分。在图29中记述单纯删除功能650的全部情况会很复杂,因而详细的功能通过说明来进行。从输入命令·执行功能670接收单纯命令的执行的话,首先,检索删除命令内的固定长数据(S6500)。单纯删除功能650从输入固定值数据处理单元100的管理数据699输入删除命令内的固定长数据。输入检索号码是向表格管理控制单元600分配了的检索号码,并且向输入统计数据输入零。与向表格管理控制单元600分配了的检索号码伴随的检索动作根据输出控制功能840,在寄存器S812中存放了数据的时点结束。还有,在图7的指针处理单元200中,在使之产生向表格管理控制单元600分配了的检索号码的索引时,该索引被寄存器P217保存。在检索过程中寄存器P217每当指针处理单元200产生表格索引252时就被改正。因此,在检索结束时,寄存器P217保持读入固定长数据表格所得的最后的索引。此外,与删除命令内的固定长数据有关的检索结果、固定长数据名及用户数据被向表格管理控制单元600分配了的检索号码的寄存器S812存放,被单纯删除功能650读入。
图29没记述,不过,在获得不一致的检索结果时,单纯删除功能650的执行可以继续。在获得一致了的结果时,中止单纯删除功能650的执行,向主控制装置报告该结果。以下说明检索结果一致了的场合。
以指针处理单元200的寄存器P217保持的索引,参照室管理表格741(S6501),确认家是不是满室(8室被单一团体所占)。在不是满室的场合,由二个团体构成家。此时,按家的占有的状况和固定长数据被附加的团体来分的话,可以考虑以下情况。(1)在家中大团体和小团体同居着,从大团体中被删除,(2)在家中大团体和小团体同居着,从小团体中被删除,(3)在家中大团体和小团体可以同居,不过,仅大团体存在,从其中被删除,(4)在家中尺寸相等的二团体同居着,从其中一个团体中被删除,(5)在家中尺寸相等的二团体可以同居,不过,只有一个存在,从该团体中被删除。图29表示(1)和(2)满室的场合。以下,进行(1)至(5)的说明。
(1)在家(P)中大团体和小团体同居着,从大团体中被删除的场合,移动小团体从(S6503),大团体删除了之后,在(小团体的室数+1)的空室表格721中登记家(P)(S6504)。作业的顺序是最初从空室表格721获得具有小团体具有的室数的空室的家(Q)的索引。把小团体迁移到家(Q)。然后在家(Q)的室管理表格741中抄写与小团体关联的参数,使用室管理表格741具有的上位地址,在上位表格的登录控制数据中写入家(Q)的索引。其次从大团体的家(P)中删除删除命令内的固定长数据,变更家(P)的室管理表格741和构造管理表格761的参数。在(小团体的室数+1)的空室表格721中登记家(P)(S6505)。
(2)在家(P)中大团体和小团体同居着,从小团体中被删除的场合,从空室表格721获得具有比小团体的室数小一个的空室的家(Q),从小团体中删除删除命令内的固定长数据,把小团体移动到家(Q)(S6506)。然后在家(Q)的室管理表格741中抄写与小团体关联的参数,使用室管理表格741具有的上位地址,变更上位表格的登录控制数据和构造管理表格761。其次在删除前的小团体的室数的空室表格721中登记大团体的家(P)(S6507),在家(P)的室管理表格的上位地址中写入在空室表格721中登记了的地址,变更与它们对应的参数(S6505)。
(3)在家中大团体和小团体可以同居,不过,仅大团体存在,从其中被删除的场合,从大团体的家中删除删除命令内的固定长数据及其关联的数据。从处于空室的小团体的室数的空室表格721中删除此家。变更该家的室管理表格741和构造管理表格761的参数,并且在(处于空室的小团体的室数+1)的空室表格721中登记家。
(4)在家(P)中尺寸相等的二团体(称为A和B)同居着,从其中一个团体中被删除的场合,团体的室数为2、3或4时,从空室表格721获得具有比小团体的室数小一个的空室的家(Q)。从团体A中删除删除命令内的固定长数据及其关联的数据后,把团体A移动到家(Q)。然后抄写与家(Q)的室管理表格741的团体A关联的参数,使用室管理表格741具有的上位地址,在上位表格的登录控制数据中写入家(Q)的索引,变更构造管理表格761。其次在团体B的室数的空室表格721中登记家(P),然后把团体B的家(P)的室管理表格741的团体A的参数变更为登记了的空室表格721的地址。在团体的室数为1场合,从团体A中删除删除命令内的固定长数据及其关联的数据。然后变更此家(P)的团体A的上位地址所示的表格的次工序及其有关的参数。其次在1室数的空室表格721中登记家(P),然后把团体B的家(P)的室管理表格741的团体A的参数变更为登记了的空室表格721的地址。
(5)在家中尺寸相等的二团体(称为A和B)可以同居,不过,只有一个(团体A)存在,从该团体中被删除的场合,从团体A的家中删除删除命令内的固定长数据及其关联的数据。团体的室数为2、3或4时,从处于空室的团体(B)的室数的空室表格721中删除此家。在(处于空室的团体B的室数-1)的空室表格721中登记家。写入在该家的室管理表格741的空室的上位地址中登记了的空室表格721的地址,变更构造管理表格761的参数。团体的室数为1时,在空家表格701中登记该家。然后变更此家的团体A的上位地址所示的表格的次工序及其有关的参数。
在图29中,在家为满室(8室被单一团体所占)的场合,从该家中删除删除命令内的固定长数据及其关联数据。然后,在具有1室数的空室表格721中登记该家(S6508)。最后变更构造管理表格761的参数(S6509)。
图29表示在输入命令·执行功能670的请求下执行有构造变更的必要的删除功能(构造变更删除功能660)的控制器或定序器的动作例的一部分。与单纯删除功能650的说明相同,在图29中记述构造变更删除功能660的全部情况会很复杂,因而详细的功能通过说明来进行。从输入命令·执行功能670接收构造变更附加命令的执行的话,首先,检索附加命令内的固定长数据(S6600)。构造变更删除功能660从输入固定值数据处理单元100的管理数据699输入附加命令内的固定长数据(S6600)。输入检索号码是向表格管理控制单元600分配了的检索号码,并且向输入统计数据输入零。与向表格管理控制单元600分配了的检索号码伴随的检索动作根据输出控制功能840,在寄存器S812中存放了数据的时点结束。还有,在图7的指针处理单元200中,在使之产生向表格管理控制单元600分配了的检索号码的索引时,该索引被寄存器P217保存。在检索过程中寄存器P217每当指针处理单元200产生表格索引252时就被改正。因此,在检索结束时,寄存器P217保持着读入固定长数据表格所得的最后的索引。此外,与附加命令内的固定长数据有关的检索结果、固定长数据名及用户数据被向表格管理控制单元600分配了的检索号码的寄存器S812存放,被构造变更删除功能660读入。
图29中没记述,不过,在获得一致了的结果时,构造变更删除功能660的执行可以继续。在获得不一致的结果时,中止构造变更删除功能660的执行,向主控制装置报告其结果。今后说明检索结果一致了的场合。
以指针处理单元200的寄存器P217保持的索引,参照室管理表格741(S6601),获得上位地址。其次参照构造管理表格761,确认次序号码和构造变更理由。在次序3的场合,分解SPT。在次序4的场合,分解局部表格。在次序5的场合,分解NVC形式的表格构造。
构造管理表格761的次序号码为3时,把被SPT管理的家和指针表格管理的家存放的固定长数据及其关联数据移动到二个家(S6604,S6605),构筑指针表格管理的形式。已经说明了假定SPT的尺寸为8的情况,因而按9个来区分(区分0至区分8)。区分中使用的数据是来自全索引中指针表格的索引所使用的比特中的3比特。例如,如果指针表格的索引是全索引(例如32比特)的31比特中的16比特,SPT的索引就是比特15、比特14及比特13。以(比特15、比特14、比特13)表示它们。在此场合,区分0以(000)来表示,区分1以(001)来表示,同样区分7以(111)来表示。区分8处置17个固定长数据中其屏蔽的长度具有17比特(32比特-15比特)或者18比特(32比特-14比特)的固定长数据。区分0至区分7是由SPT来管理,区分8是由指针表格来管理的家。还有,被各家存放的固定长数据按大小顺序来排列。
以下叙述把处于区分0至区分8的家中的固定长数据移动到二个家的方法。最初从空家表格701获得二个家(P和Q)。然后对区分7和8的家的具有最大值的固定长数据进行大小比较。把其结果大的一方移动·存放的家P的最大值位于的地方。大小比较按全索引的比特15至比特0来进行。其次,把大的一方的其次的固定长数据与比较结果小的一方进行大小比较。把此作业进行到区分8的家具有的固定长数据被移动·存放为止。此后,把属于余下的区分的固定长数据依次移动·存放到家P和家Q。在此场合,删除命令内的固定长数据从大小比较以及移动·存放的对象中被除去。
在空家表格701中登记属于区分0至区分8的家。在此场合,根据区分,从最初起不具有固定长数据的家会存在。在此场合,对该家不进行移动·存放,向空家表格701的登记也不进行。最后,在各自的登录控制数据中写入家P和家Q的参数,在指针表格对应的登录中写入家P的地址,变更与该登录对应的构造管理表格761。通过以上处理,来自SPT的构造变更就告结束(S6606)。
构造管理表格761的次序号码为4时,分解从指针处理单元200的寄存器P217保持的索引中获得了的上位地址即SPT的登录地址所管理的局部表格,局部表格所管理的固定长数据,除了删除命令内的固定长数据,移动·存放到一个家(S6607,S6608)。这些固定长数据在SPT的一个登录中不能存放,因而构筑了局部表格,不过,通过删除命令就可以在一个家中存放了。局部表格的索引是来自全索引中指针表格和SPT的索引所使用的比特中的3比特。例如,如果指针表格的索引是全索引(例如32比特)的31比特中的16比特,SPT的索引就是比特15、比特14及比特13。因此,局部表格的索引是比特12、比特11及比特10。以(比特12、比特11、比特10)表示它们。在此场合,区分0以(000)来表示,区分1以(001)来表示,同样区分7以(111)来表示。
该作业的最初是从空家表格701获得一个家P。已经说明了假定局部表格的尺寸为8,因而把按8个来区分(区分0至区分7)的家中存放的固定长数据从区分7的家起,依次进行移动·存放。区分7的家的固定长数据的处理结束之后,进行区分6的家的固定长数据的处理。对区分0的家的固定长数据进行这样的处理。在此场合,删除命令内的固定长数据从移动·存放的对象中被去除。
在空家表格701中登记属于区分0至区分7的家。在此场合,根据区分,从最初起不具有固定长数据的家会存在。在此场合,对该家不进行移动·存放,向空家表格701的登记也不进行。最后,在自身的登录控制数据中写入家P的参数,在SPT对应的登录中写入家P的地址,变更与该登录对应的构造管理表格761。通过以上处理,来自局部表格的构造变更就告结束。
构造管理表格761的次序号码为5时,次序5的NVC形式的表格构造被转换为SPT和局部表格的组合的表格构造。此时指出重点。删除命令内的固定长数据属于的指针表格的登录在该次工序中指示NVC动作所涉及的检索,与该登录相连的表格构造是NVC形式。可是,与该登录对应的构造管理表格761是以SPT和局部表格的组合来管理以NVC形式进行动作的固定长数据。因此,NVC形式对应的构造管理表格761会很大地干预构造变更动作。在说明构造变更动作之前,说明NVC形式的构造管理表格761的构造。
例如像构造变更附加命令的说明那样,把不含局部表格的SPT的索引0表示为(000),把包含局部表格(其索引0)的SPT的索引1表示为(001、000)。构造管理表格761的NVC形式所对应的登录数据从左起按顺序,是构造控制数据,指针表格的登录具有的固定长数据数,其次的家具有的固定长数据数,以及SPT和局部表格的各登录存放的固定长数据数。SPT和局部表格的各登录存放的固定长数据数按登录顺序排列,从大的一方起,为(111),(110),(101),(100),(011),(010),(001、111),(001、110),(001、101),(001、100),(001、011),(001、010),(001、001),(001、000),(000)。上述顺序表示NVC形式由构造管理表格以SPT和一个局部表格的形式来管理的例子。如果由多个局部表格来管理,就按(7*局部表格数)来增加存放固定长数据数的登录数。还有,使之产生构造变更删除命令的判断是在构造管理表格的登录的其次的家具有的固定长数据数,以及SPT和局部表格的各登录存放的固定长数据数成为了某个指定了的数以下时进行。
以下说明按大小顺序排列了的固定长数据的大小比较的方法。在上述例子中,如果指针表格的索引是全索引(例如32比特)的31比特中的16比特,SPT的索引就是比特15、比特14及比特13。局部表格的索引是比特12、比特11及比特11。它们只不过是为了按各表格分类而使用的方法,即使对于全索引的比特15至比特0进行大小比较,到现在为止的说明也不产生问题。还有,因为是带屏蔽的大小比较,所以被屏蔽的比特即使比较也没有意义。即,如果屏蔽是23,全索引的比特31到比特8被比较,比特7到比特0没有意义。因此,被屏蔽的比特作为0来对待。NVC形式的固定长数据表格的要素由提取了的索引(全索引的比特15至比特0)和此索引的大小比较的结果、被参照的固定长数据表格索引构成(参照图8)。
按以上的说明来说明构造变更删除命令的次序5的构造变更动作。构造变更删除命令的构造变更动作与构造变更附加命令的构造变更动作相反。最初参照构造管理表格761(S6609),构筑SPT和局部表格(S6610和S6611),从空家表格701获得家(P)。对指针表格的登录的次工序设定B′101′,对固定长数据表格的索引设定家(P)的索引。对家(P)的登录控制数据的次工序设定B′010′,对指针表格存储器的地址设定SPT的登录0地址,设定其他参数(S6610)。然后对具有局部表格的SPT的登录的登录控制数据的次工序设定B′011′,对固定长数据表格的索引设定局部表格的登录0的索引,设定其他参数(S6611)。这样,构造变更动作的准备就告结束。
以被指针表格的登录保持的NVC形式的家的索引对NVC形式的表格构造进行解析·构造变更。基本上是以构造管理表格761具有的SPT和局部表格的构造来构成家,因而使用上述构造管理表格761的登录的例子进行说明。在上述例子中,SPT和局部表格的各登录存放的固定长数据数按登录顺序排列,从大的一方起,为(111),(110),(101),(100),(011),(010),(001、111),(001、110),(001、101),(001、100),(001、011),(001、010),(001、001),(001、000),(000)。即,存在与15个数对应的家,这是基本想法。当然,在固定长数据数为0场合,家不存在,即使某登录固定长数据数为指定了的数以下,也可以被几个家分割存放。如果在NVC形式的家的索引中最高位的要素与上述(111)相当,就在SPT的登录(111)中存放该要素中包含的固定长数据表格索引,次工序设定B′101′。在此场合,屏蔽位于比特15至比特11之间的固定长数据就从该家向家(P)移动。还有,构造变更命令中有的固定长数据当然从该家中被删除。该家的固定长数据数有变化时,就进行在单纯删除功能的说明中进行了的各种表格的修正。
在上述例子中SPT的登录为(001)的场合,就轮到属于局部表格的家的处理。如果在NVC形式的家的索引中该要素与上述(001,111)相当,就在局部表格的登录(111)中存放该要素中包含的固定长数据表格索引,次工序设定B′101′(S6612)。与SPT相同,在此场合,屏蔽位于比特15至比特11之间的固定长数据就从该家向家(P)移动。还有,构造变更命令中有的固定长数据当然从该家中被删除。该家的固定长数据数有变化时,就进行在单纯删除功能的说明中进行了的各种表格的修正。
例如,如果按NVC形式的家的索引,该多个要素相当于上述(001,100),就向其中具有最高值的家中移动·存放其后接着的家的固定长数据。把与(001,100)相当的全部的要素的家的固定长数据移动·存放后,成为了空室的家被登记在空室数的空室表格中,空室表格的地址被存放在该家的空室管理表格的参数中。然后,存放了全部的固定长数据的家的索引被存放在局部表格的登录(100)中,次工序设定B′101′(S6612)。与SPT同样,在此场合,屏蔽位于比特15至比特11之间的固定长数据从该家向家(P)移动。还有,构造变更命令中有的固定长数据当然从该家中被删除。移动·存放到该家中的固定长数据由单纯删除功能来进行。通过以上处理,构造变更就告结束。
图30是输出由表格管理控制单元600执行了的命令(图24表示的命令)的执行结果的管理输出功能的实施例。寄存器X存放从输入命令·执行功能670送来的执行结果,FIFO寄存器存放其附带的数据。FIFO寄存器在许许多据被送来时,守护其顺序,以写指针在FIFO寄存器内保持。全部的数据被送来时,输出控制功能840最初输出被寄存器X存放的执行结果,其次数据存在的话,就把被FIFO寄存器保持的数据向读指针随之输出。
图30表示管理输出数据的内容。作为附加命令的执行的结果,只送执行结果数据。执行结果数据的内容是表示(1)没有问题地执行结束,(2)因为附加的固定长数据存在,所以不附加,或(2)要附加的固定长数据存在但已执行结束,(3)因为要附加的存储器不足,所以不能附加等的数据。作为删除命令的执行的结果,只送执行结果数据。此场合的执行结果数据的内容是表示(1)没有问题地执行结束,(2)要删除的固定长数据不存在等的数据。统计数据引出命令的执行的结果,执行结果数据、统计数据和固定长数据名被输出。在此场合,执行结果数据是输出执行结束数据。自动删除名引出命令的执行的结果,执行结果数据和由命令指定了的数的或存在的全部的自动地删除了的固定长数据名被输出。在此场合,执行结果数据是输出执行结束数据。
图31是表示本发明的计算机程序及记录介质可适用的硬件的构成例的框图。在图31中,计算机系统90包含与系统总线94连接的CPU(Central Processing Unit)91、存储装置92和输入输出装置93。CPU91至少具备运算装置和控制装置,存储装置92例如由内藏主存储存储器、硬盘驱动器、软盘驱动器等构成。在计算机系统90中安装本发明的计算机程序的话,上述计算机程序就被存放在上述硬盘驱动器内,根据需要被调入上述主存储存储器中。由存储装置55的上述主存储存储器或CPU91具有的缓存构成本发明中的指针·表格·存储器、固定长数据表格存储器、数据表格存储器及空家表格存储器、空室表格存储器、空室管理表格存储器、构造管理表格存储器等。输入输出装置93具备多个输入输出端口,能进行与外部的数据通信。由存储装置92内的例如硬盘驱动器、软盘驱动器等从记录了本发明的计算机程序的记录介质中读出程序。
如以上详细说明了的,根据适用了本发明的实施方式,存放了许多固定长数据的固定长数据表格的检索处理可以按各种检索规则,以2至3个存储器周期的程度的速度来执行。还有,因为管道构成是可能的,所以每一秒钟的检索处理数成为庞大的数。因为除了检索处理之外,还进行用户数据、统计数据的管理,所以能削减检索后的数据处理,实现检索处理的高速化及检索处理数的增大。除此之外,还进行固定长数据的附加、删除及自动删除,因而能削减主控制装置进行的沉重的处理。还有,本发明的固定长数据检索装置和固定长数据检索及管理装置及管理方法和检索方法,如实施例中说明了的,可适用于网络通信中用得多的IP地址的检索、各种过滤。还有,本发明,作为适用了本发明的固定长数据检索及管理装置或管理·检索方法的信息处理装置,可适用于使计算机起作用的计算机程序。再有,本发明也可适用于记录了上述计算机程序的计算机可读取的记录介质。
以上就本发明详细说明了几个例示性的实施方式。应当指出,本领域技术人员可以实质上不脱离本发明的新披露及效果而改良这些实施方式。因此,这样的改良也应当全部包含在本发明的范围中。
Claims (64)
1.一种固定长数据检索装置,具备:
对输入了的应该被检索的固定长数据进行指定了的处理而将其输出的输入固定长数据处理单元;
存放把来自上述输入固定长数据处理单元或指针处理单元的输出值作为索引来保持的指针表格的指针表格存储器;
采用从上述指针表格存储器输出的指针值、上述输入固定长数据处理单元的输出和固定长数据表格存储器的输出值,进行指定了的处理的上述指针处理单元;
存放保持与检索所必要的固定长数据对应的数据及检索所必要的数据中的至少任意一个数据和由上述指针处理单元的输出来指定地址的许多固定长数据的上述固定长数据表格的固定长数据表格存储器;
根据指定了的方法来比较被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据,输出该比较所涉及的比较结果的比较单元;
存放保持与被上述固定长数据表格存放的固定长数据对应的各种数据的数据表格的数据表格存储器;
读出、修正被上述数据表格存放的与在上述比较结果中符合了的固定长数据对应的数据的修正单元;以及
输出从上述比较单元及上述修正单元输出了的检索结果、固定长数据名和其他数据的输出单元。
2.根据权利要求1所述的固定长数据检索装置,其特征在于,
上述输入固定长数据处理单元具备为了进行上述输入了的应该检索的固定长数据的检索处理,把输入所带着的名称或检索号码作为检索处理轨迹来输出的单元,
从上述输入固定长数据处理单元输出了的检索号码在上述固定长数据检索装置的各存储器及各单元中用于对许多检索处理并列地进行处理。
3.根据权利要求1所述的固定长数据检索装置,其特征在于,上述处理输入了的应该检索的固定长数据的输入固定长数据处理单元具备:
采用输入了的固定长数据的全部或一部分,通过指定了的散列函数来计算散列值,输出该散列值的单元,及输出输入了的固定长数据的全部或一部分的单元中的至少任意一个单元。
4.根据权利要求1所述的固定长数据检索装置,其特征在于,上述指针表格具备
采用来自上述指针表格的输入的单元中的地址产生单元所必要的数据,
采用来自上述指针表格的输入的单元中的表示处理次序的多个比特,
表示只读出构成存放上述固定长数据表格的固定长数据表格存储器的多个存储器阵列中的关联的存储器阵列的次序的多个比特,
对于在上述比较单元中不用进行与输入固定长数据的比较就可检索的上述固定长数据表格中的固定长数据,表示地址的多个比特的数据或比特中的至少任意一个。
5.根据权利要求1所述的固定长数据检索装置,其特征在于,上述指针处理单元具备
基于上述指针表格的输出及固定长数据表格的输出中的至少任意一个输出,产生上述固定长数据表格的地址,
在包含上述固定长数据表格和上述数据表格的数据库中作成了的数值比较表格的地址,
2次指针表格的地址,
在上述数据库中作成了的局部表格的地址
中的至少任意一个地址的单元。
6.根据权利要求1所述的固定长数据检索装置,其特征在于,上述固定长数据表格具备读出上述指针处理单元所输出的一个存储器地址所对的多个要素和登录控制数据的单元,上述多个要素是固定长数据和与该固定长数据对应的数据。
7.根据权利要求6所述的固定长数据检索装置,其特征在于,上述要素具备固定长数据、固定长数据所固有的名称即固定长数据名和要素控制数据。
8.根据权利要求7所述的固定长数据检索装置,其特征在于,
上述要素还具备前缀屏蔽单元中使用的前缀屏蔽及局部屏蔽单元中使用的局部屏蔽中的任意一个屏蔽,
上述前缀屏蔽单元是通过比较器对被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据进行比特比较,对该比较器的输出只使用固定长数据的固有的来自其最上位比特的比特长来获得比较结果的上述比较单元中的单元,上述局部屏蔽单元是通过比较器对被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据进行比特比较,对该比较器的输出由固定长数据固有的屏蔽数据来屏蔽而获得比较结果的单元。
9.根据权利要求7所述的固定长数据检索装置,其特征在于,上述要素控制数据具备对自动地删除上述固定长数据表格的要素的单元进行控制的多个比特。
10.根据权利要求6所述的固定长数据检索装置,其特征在于,上述登录控制数据具备表示对读出上述固定长数据表格所得的输出的处理内容的多个比特。
11.根据权利要求1所述的固定长数据检索装置,其特征在于,上述固定长数据表格具备
读出上述固定长数据表格的地址,
读出上述2次指针表格的地址,
读出其内部的局部表格的地址,
读出其内部的数值比较表格的地址
中的至少任意一个地址,将其作为登录控制数据。
12.根据权利要求1所述的固定长数据检索装置,其特征在于,上述固定长数据表格具备在其内部可构筑局部表格和数值比较表格的构成。
13.根据权利要求1所述的固定长数据检索装置,其特征在于,
上述指针表格存储器、上述固定长数据表格存储器和上述数据表格存储器分别具有Q、N和U(Q、N和U为1以上的整数)个存储器阵列,各存储器阵列分别具有P、M和V(P、M和V为1以上的整数)个存储器区段,
上述指针表格存储器、上述固定长数据表格存储器、上述数据表格存储器中的至少任意一个存储器中的各存储器阵列及各存储器区段可独立动作地进行并列动作,各存储器区段具备可一次读出或写入多个比特的单元,或用于使存储器阵列内的存储器区段的并列动作效率很好地动作的读出单元中的至少任意一个单元。
14.根据权利要求1所述的固定长数据检索装置,其特征在于,上述数据表格具备保持与被固定长数据表格存放的固定长数据所对应的检索动作没有关系的静态数据和以检索动作结果来修正的动态数据的单元。
15.根据权利要求1所述的固定长数据检索装置,其特征在于,上述修正单元具备根据上述比较单元所输出的结果从上述数据表格中读出的单元和修正读出了的数据而将其写入上述数据表格中的单元。
16.根据权利要求1所述的固定长数据检索装置,其特征在于,上述比较单元具备:
根据指定了的方法,把被上述固定长数据表格存放的多个固定长数据与上述输入了的应该检索的固定长数据同时进行比较,输出比较结果的N*R(*是表示乘法的运算符号)个可屏蔽的比特比较器和大小比较器;以及
为了使得N*R个可屏蔽的比特比较器和大小比较器对上述固定长数据或其一部分进行比较,可按可变比特长再配置的单元,
N是表示存储器阵列的数的1以上的整数,R是在上述存储器阵列中的存储器区段可一次读出或写入的比特数。
17.根据权利要求1所述的固定长数据检索装置,其特征在于,上述比较单元具备
通过比较器对被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据进行比特比较,对该比较器的输出按每比特进行屏蔽而获得比较结果的全局屏蔽单元,
对该比较器的输出由固定长数据固有的屏蔽数据进行屏蔽而获得比较结果的局部屏蔽单元,
对该比较器的输出只使用固定长数据的固有的来自其最上位比特的比特长来获得比较结果的前缀屏蔽单元
中的至少任意一个单元。
18.根据权利要求1所述的固定长数据检索装置,其特征在于,上述比较单元具备伴随上述输入所带着的名称或检索号码而输出比较结果的单元。
19.根据权利要求1所述的固定长数据检索装置,其特征在于,上述输出单元具备
使从上述比较单元受取了的比较结果和从修正单元受取了的用户数据同步而将其输出的单元,
为了防止上述输入了的应该检索的固定长数据的过输入即溢出,把该输入所带着的名称或检索号码作为固定长数据检索装置的命令轨迹来输出的单元,
中的至少任意一个单元。
20.一种固定长数据检索方法,具有:
对伴随输入各自所带着的名称或检索号码而输入了的应该检索的固定长数据进行指定了的处理而将其输出的输入固定长数据处理步骤;
把来自上述输入固定长数据处理步骤的输出值作为索引而从指针表格读出指针值的步骤;
采用从上述指针表格存储器输出了的上述指针值和输入固定长数据处理步骤的输出值,进行指定了的处理的指针处理步骤;
读出保持与检索所必要的固定长数据对应的数据及检索所必要的数据中的至少任意一个数据和由上述指针处理步骤的输出来指定地址的许多固定长数据的固定长数据表格的步骤;
根据指定了的方法,把被上述固定长数据表格存放的多个固定长数据与上述输入了的应该检索的固定长数据同时进行比较,输出比较结果的比较步骤;
基于上述比较结果来读出保持被固定长数据表格存放,与固定长数据对应的各种数据的数据表格的步骤;
根据比较结果来修正读出了的数据的修正步骤;以及
输出从上述比较步骤及修正步骤输出了的检索结果、固定长数据名和其他数据的输出步骤。
21.一种固定长数据检索方法,具有:
对伴随输入各自所带着的名称或检索号码而输入了的应该检索的固定长数据进行指定了的处理而将其输出的输入固定长数据处理步骤;
把上述输入固定长数据处理步骤的输出值作为索引而从指针表格读出第1指针值的步骤;
采用上述第1指针值和输入固定长数据处理步骤的输出,进行指定了的处理的指针处理步骤;
把采用上述第1指针值的指针处理步骤的输出值作为索引而从上述指针表格读出第2指针值的步骤;
采用上述第2指针值和输入了的固定长数据,进行指定了的处理的指针处理步骤;
读出保持与检索所必要的固定长数据对应的数据及检索所必要的数据中的至少任意一个数据和由采用上述第2指针的上述指针处理步骤的输出来指定地址的许多固定长数据的固定长数据表格的步骤;
根据指定了的方法,把被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据进行比较,输出该比较所涉及的比较结果的比较步骤;
基于上述比较结果来读出保持与被上述固定长数据表格存放的固定长数据对应的各种数据的数据表格的步骤;
基于比较结果来修正读出了的数据的修正步骤;以及
输出从上述比较步骤和上述修正步骤输出了的检索结果、固定长数据名和其他数据的输出步骤。
22.一种固定长数据检索方法,具有:
对伴随输入各自所带着的名称或检索号码而输入了的应该检索的固定长数据进行指定了的处理而将其输出的输入固定长数据处理步骤;
作为上述输入固定长数据处理指针表格索引而从指针表格读出指针值的步骤;
采用从上述指针表格存储器输出了的上述指针值和输入固定长数据处理步骤的输出值,进行指定了的处理的指针处理步骤;
读出保持与检索所必要的固定长数据对应的数据及检索所必要的数据中的至少任意一个数据和由上述指针处理步骤的输出来指定地址的许多固定长数据的固定长数据表格的步骤;
采用来自上述固定长数据表格的输出,进行指定了的处理的指针处理步骤;
读出上述固定长数据表格的步骤;
根据指定了的方法,把被上述固定长数据表格存放的多个固定长数据与上述输入了的应该检索的固定长数据同时进行比较,输出比较结果的比较步骤;
基于上述比较结果来读出保持被固定长数据表格存放,与固定长数据对应的各种数据的数据表格的步骤;
根据比较结果来修正读出了的数据的修正步骤;以及
输出从上述比较步骤及修正步骤输出了的检索结果、固定长数据名和其他数据的输出步骤。
23.一种固定长数据检索方法,具有:
对伴随输入各自所带着的名称或检索号码而输入了的应该检索的固定长数据进行指定了的处理而将其输出的输入固定长数据处理步骤;
把上述输入固定长数据处理步骤的输出值作为索引而从指针表格读出第1指针值的步骤;
采用上述第1指针值和输入固定长数据处理步骤的输出,进行指定了的处理的指针处理步骤;
把采用上述第1指针值的指针处理步骤的输出值作为索引而从上述指针表格读出第2指针值的步骤;
采用上述第2指针值和输入了的固定长数据,进行指定了的处理的指针处理步骤;
读出保持与检索所必要的固定长数据对应的数据及检索所必要的数据中的至少任意一个数据和由采用上述第2指针的上述指针处理步骤的输出来指定地址的许多固定长数据的固定长数据表格的步骤;
采用来自上述固定长数据表格的输出,进行指定了的处理的指针处理步骤;
读出上述固定长数据表格的步骤;
根据指定了的方法,把被上述固定长数据表格存放的多个固定长数据与上述输入了的应该检索的固定长数据进行同时比较,输出比较结果的比较步骤;
基于上述比较结果来读出保持被固定长数据表格存放,与固定长数据对应的各种数据的数据表格的步骤;
根据比较结果来修正读出了的数据的修正步骤;以及
输出从上述比较步骤和修正步骤输出了的检索结果、固定长数据名和其他数据的输出步骤。
24.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述输入固定长数据处理步骤为了进行上述输入了的应该检索的固定长数据的检索处理,具有:
把输入所带着的名称或检索号码作为检索处理轨迹来输出的步骤;以及
从上述输入固定长数据处理步骤输出了的检索号码被用于在上述固定长数据检索方法中的各存储器的读出的步骤及写入步骤的各步骤中,许多检索处理并列地进行处理的步骤。
25.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述输入固定长数据处理步骤具有:
采用输入了的固定长数据的全部或一部分,通过指定了的散列函数来计算散列值的步骤;以及
输出散列值的步骤及输出输入了的固定长数据的全部或一部分的步骤中的任意一个步骤。
26.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,具有
对次步骤的地址产生所必要的上述指针表格的数据进行参照的步骤,
对规定次步骤的上述指针表格的多个比特进行参照的步骤,
对以下多个比特进行参照的步骤,该多个比特表示只读出构成存放上述指针表格中的上述固定长数据表格的上述固定长数据表格存储器的多个存储器阵列中的关联的存储器阵列的方法,
对以下多个比特进行参照的步骤,该多个比特表示不把上述指针表格中的上述固定长数据表格的输出与输入固定长数据经过比较步骤就能检索的固定长数据的地址
中的至少任意一个步骤。
27.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述指针处理步骤具有
基于上述指针表格的输出及固定长数据表格的输出中的至少任意一个输出,产生上述固定长数据表格的地址的步骤,
基于上述至少任意一个步骤,产生在上述数据库中作成了的数值比较表格的地址的步骤,
基于上述至少任意一个步骤,产生上述2次指针表格的地址的步骤,
基于上述至少任意一个步骤,产生在上述数据库中作成了的局部表格的地址的步骤
中的至少任意一个步骤。
28.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,具有通过上述固定长数据表格中的上述指针处理步骤所输出的一个存储器地址来参照多个要素和登录控制数据的步骤。
29.根据权利要求28所述的固定长数据检索方法,其特征在于,上述要素具备固定长数据、固定长数据名和要素控制数据。
30.根据权利要求29所述的固定长数据检索方法,其特征在于,
上述要素还具备前缀屏蔽功能中使用的前缀屏蔽及局部屏蔽功能中使用的局部屏蔽中的至少任意一个屏蔽,
上述前缀屏蔽功能是对被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据进行比特比较,对比较器的结果只使用固定长数据的固有的来自其最上位比特的比特长来获得比较结果的上述比较单元中的功能,上述局部屏蔽功能是对被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据进行比特比较,对比较器的结果由固定长数据固有的屏蔽数据来屏蔽而获得比较结果的功能。
31.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,具有对以下多个比特进行参照的步骤,该多个比特是对自动地删除上述固定长数据表格的要素的功能进行控制的上述要素控制数据中的多个比特。
32.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,具有对以下多个比特进行参照的步骤,该多个比特是表示读出上述固定长数据表格之后的次步骤中的处理内容的上述登录控制数据中的多个比特。
33.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,具有把
读出上述固定长数据表格的地址,
读出上述2次指针表格的地址,
读出其内部的局部表格的地址,
读出其内部的数值比较表格的地址
中的至少任意一个地址作为登录控制数据来参照的步骤。
34.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,具有在上述固定长数据表格的内部构筑局部表格和数值比较表格的步骤和参照它们的步骤。
35.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,
上述指针表格存储器、上述固定长数据表格存储器和上述数据表格存储器分别具有Q、N和U(Q、N和U为1以上的整数)个存储器阵列,
各存储器阵列分别具有P、M和V(P、M和V为1以上的整数)个存储器区段,
上述指针表格存储器、上述固定长数据表格存储器、上述数据表格存储器中的至少任意一个存储器中的各存储器阵列或各存储器区段可独立动作地进行并列动作,
各存储器区段执行一次读出或写入多个比特的动作和用于使存储器阵列内的存储器区段的并列动作效率很好地动作的读出动作。
36.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,对上述数据表格中的与被固定长数据表格存放的固定长数据所对应的检索动作没有关系的静态数据和以检索动作结果来修正的动态数据进行参照的步骤。
37.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述修正步骤具有根据上述比较步骤所输出的结果,修正来自上述数据表格的输出的步骤。
38.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述比较步骤具有根据指定了的方法,把被上述固定长数据表格存放的多个固定长数据与上述输入了的应该检索的固定长数据同时进行比较的步骤。
39.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,
具有使得上述比较步骤中具备的N*R个可屏蔽的比特比较器和大小比较器为了对上述固定长数据或其一部分进行比较,可按可变比特长再配置的方法,
N是表示存储器阵列的数的1以上的整数,R是在上述存储器阵列中的存储器区段可一次读出或写入的比特数。
40.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述比较步骤具有
对被上述固定长数据表格存放的多个固定长数据和上述输入了的应该检索的固定长数据进行比特比较,对比较器的结果由表格具有的屏蔽按每比特进行屏蔽而获得比较结果的步骤,
由固定长数据固有的屏蔽数据按每比特进行屏蔽而获得比较结果的步骤,
只使用固定长数据的固有的来自其最上位比特的比特长来获得比较结果的步骤
中的至少任意一个步骤。
41.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述比较步骤具有伴随上述输入所带着的名称而送回比较结果的步骤。
42.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述输出步骤具有使通过上述比较步骤获得的比较结果和通过修正步骤获得的用户数据同步而将其输出的步骤。
43.根据权利要求20~23中任意一项所述的固定长数据检索方法,其特征在于,上述输入固定长数据处理步骤具有为了防止上述输入了的应该检索的固定长数据的溢出,把该输入所带着的名称作为命令轨迹来处理的步骤。
44.一种固定长数据检索及管理装置,具备:
权利要求1所述的固定长数据检索装置;
执行输入了的表格变更命令的表格管理控制单元;
在上述表格管理控制单元执行表格变更命令时,存放被参照的空家表格的空家表格存储器;
在上述表格管理控制单元执行表格变更命令时,存放被参照的空室表格的空室表格存储器;
在上述表格管理控制单元执行表格变更命令时,存放被参照的室管理表格的室管理表格存储器;
在上述表格管理控制单元执行表格变更命令时,存放被参照的构造管理表格的构造管理表格存储器;以及
在上述表格管理控制单元执行表格变更命令后,输出执行结果的管理输出单元。
45.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述表格管理控制单元具备
作为上述表格变更命令之一的把上述固定长数据和与上述固定长数据有关的数据加在上述数据库中的单元,
在把与上述固定长数据有关的数据加在上述数据库中的上述表格变更命令因为上述室的不足而不可执行的场合,进行与由指针表格和固定长数据表格组成的检索表格的构造的变更中的检索方法的变更伴随的变更的单元,
作为上述表格变更命令之一的把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除的单元,
在把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除的上述表格变更命令被执行之后,在更有效的检索方法能实现的场合,进行与检索表格(指针表格和固定长数据表格)的构造的变更中的检索方法的变更伴随的变更的单元
中的至少任意一个单元。
46.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述表格管理控制单元具备在上述表格变更命令被执行之后,送回命令执行结果的单元。
47.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述表格管理控制单元具备
不采用上述表格变更命令而把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除的单元,
在不采用上述表格变更命令而把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除之后,更有效的检索方法能实现的场合,进行与由指针表格和固定长数据表格组成的检索表格的构造的变更中的检索方法的变更伴随的变更的单元
中的至少任意一个单元。
48.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述表格管理控制单元具备在不采用上述表格变更命令而把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除之后,送回删除了的上述固定长数据和与上述固定长数据有关的数据的单元。
49.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述空家表格具备把以上述固定长数据表格中的一个地址来读出或写入的单位定义为家的话,管理未使用的家即空家的单元。
50.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述空室表格具备把保持上述家中的上述固定长数据和与检索所必要的固定长数据对应的数据及检索所必要的数据中的至少任意一个数据的单位定义为室的话,管理未使用的室即空室的单元。
51.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述家中的属于它的各室可由上述指针表格的不同的输出来指定地址,把与上述指针表格的一个输出关联的1个以上的上述固定长数据和检索所必要的固定长数据所对应的数据或检索所必要的数据定义为团体的话,上述室管理表格具备管理上述家中存放的上述团体的单元。
52.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,
上述室管理表格具备在上述家中应该存放的上述团体不在而被登记在上述空室表格中时,管理上述团体的单元,
具备对上述家中存放的上述团体进行分类、管理的多个比特。
53.根据权利要求44所述的固定长数据检索及管理装置,其特征在于,上述构造管理表格具备
管理上述检索表格的检索次序的构造的单元,
在变更上述检索表格的检索次序的构造的场合,局部地进行变更的单元
中的至少任意一个单元。
54.一种其特征在于使计算机作为权利要求1~权利要求19、权利要求44~权利要求53中的任意一项所述的装置来发挥作用的程序。
55.一种记录了权利要求54所述的程序的计算机可读取的记录介质。
56.一种固定长数据检索及管理方法,具有:
权利要求20~权利要求23中任意一项所述的固定长数据检索方法的各步骤;
执行输入了的表格变更命令的表格管理控制步骤;
在上述表格管理控制步骤执行表格变更命令时,参照或变更上述空家表格的的步骤;
在上述表格管理控制步骤执行表格变更命令时,参照或变更上述空室表格的步骤;
在上述表格管理控制步骤执行表格变更命令时,参照或变更上述室管理表格的步骤;以及
在上述表格管理控制步骤执行表格变更命令时,参照或变更上述构造管理表格的步骤。
57.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,上述表格管理控制步骤具有
作为上述表格变更命令之一的把上述固定长数据和与上述固定长数据有关的数据加在上述数据库中的步骤,
在把上述固定长数据和与上述固定长数据有关的数据加在上述数据库中的上述表格变更命令因为上述室的不足而不可执行的场合,与检索方法的变更伴随而变更检索表格构造的步骤,
作为上述表格变更命令之一的把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除的步骤,
在把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除的上述表格变更命令被执行之后,在更有效的检索方法能实现的场合,与检索方法的变更伴随而变更检索表格构造的步骤
中的至少任意一个步骤。
58.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,上述表格管理控制步骤具有在上述表格变更命令被执行之后,送回命令执行结果的步骤。
59.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,上述表格管理控制步骤具有:
不采用上述表格变更命令而把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除的步骤;以及
在把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除之后,更有效的检索方法能实现的场合,与检索方法的变更伴随而变更检索表格构造的步骤。
60.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,上述表格管理控制步骤具有在不采用上述表格变更命令而把上述固定长数据和与上述固定长数据有关的数据从上述数据库中删除之后,送回删除了的上述固定长数据和与上述固定长数据有关的数据的步骤。
61.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,具有对上述空家表格的上述固定长数据表格中的空家进行管理的步骤。
62.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,具有对上述空室表格的上述家中的空室进行管理的步骤。
63.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,具有
对上述室管理表格中的上述家中存放的上述团体进行管理的步骤,
在上述家中应该存放的上述团体不在而被登记在上述空室表格中时,管理上述团体的步骤,
以多个比特进行上述家中存放的上述团体的分类·管理的步骤中的至少任意一个步骤。
64.根据权利要求56所述的固定长数据检索及管理方法,其特征在于,具有:
对上述构造管理表格中的上述检索表格的检索次序的构造进行管理的步骤;以及
在变更上述构造管理表格中的上述检索表格的检索次序的构造的场合,局部地进行变更的步骤。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2004/004641 WO2005104456A1 (ja) | 2004-03-31 | 2004-03-31 | 固定長データの検索装置および検索管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1954560A true CN1954560A (zh) | 2007-04-25 |
CN1954560B CN1954560B (zh) | 2011-06-15 |
Family
ID=35197345
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200480042951XA Expired - Fee Related CN1954560B (zh) | 2004-03-31 | 2004-03-31 | 固定长数据的检索装置及检索管理方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US7565343B2 (zh) |
JP (1) | JP4435156B2 (zh) |
CN (1) | CN1954560B (zh) |
WO (1) | WO2005104456A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149738B (zh) * | 2007-06-06 | 2011-09-21 | 中兴通讯股份有限公司 | 一种利用定长字段优化迭代查询的方法 |
Families Citing this family (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7822032B1 (en) * | 2004-03-30 | 2010-10-26 | Extreme Networks, Inc. | Data structures for supporting packet data modification operations |
US7304996B1 (en) | 2004-03-30 | 2007-12-04 | Extreme Networks, Inc. | System and method for assembling a data packet |
CN1954560B (zh) | 2004-03-31 | 2011-06-15 | Ipt株式会社 | 固定长数据的检索装置及检索管理方法 |
US7132963B2 (en) * | 2004-09-13 | 2006-11-07 | Ati Technologies Inc. | Methods and apparatus for processing variable length coded data |
US7616137B2 (en) * | 2005-07-01 | 2009-11-10 | Stmicroelectronics, Sa | Method and apparatus for compression and decompression of an executable code with a RISC processor |
KR20080036946A (ko) * | 2005-08-29 | 2008-04-29 | 소니 가부시끼 가이샤 | 기록 장치, 기록 방법, 재생 장치, 재생 방법, 프로그램 및기록 매체 |
US7756828B2 (en) * | 2006-02-28 | 2010-07-13 | Microsoft Corporation | Configuration management database state model |
US7852851B2 (en) * | 2006-11-10 | 2010-12-14 | Broadcom Corporation | Method and system for hash table based routing via a prefix transformation |
WO2009031474A1 (ja) * | 2007-09-07 | 2009-03-12 | Humming Heads Inc. | 情報検索システム、情報検索方法及びプログラム |
JP4995125B2 (ja) * | 2008-03-12 | 2012-08-08 | 株式会社アイピーティ | 固定長データの検索方法 |
US8139583B1 (en) | 2008-09-30 | 2012-03-20 | Extreme Networks, Inc. | Command selection in a packet forwarding device |
US8312066B2 (en) * | 2010-11-30 | 2012-11-13 | Telefonaktiebolaget L M Ericsson (Publ) | Hash collision resolution with key compression in a MAC forwarding data structure |
JP5652363B2 (ja) * | 2011-03-28 | 2015-01-14 | ソニー株式会社 | 暗号処理装置、および暗号処理方法、並びにプログラム |
US9015494B2 (en) | 2011-07-11 | 2015-04-21 | Salesforce.Com, Inc. | Methods and apparatus for digital steganography |
US20140233392A1 (en) * | 2011-09-21 | 2014-08-21 | Nec Corporation | Communication apparatus, communication system, communication control method, and program |
CN102902801B (zh) * | 2012-10-12 | 2015-06-24 | 深圳友讯达科技股份有限公司 | 一种电能表地址检索方法、相关设备及系统 |
US9853889B2 (en) | 2013-05-20 | 2017-12-26 | Brocade Communications Systems, Inc. | Broadcast and multicast traffic reduction in stacking systems |
US9313102B2 (en) | 2013-05-20 | 2016-04-12 | Brocade Communications Systems, Inc. | Configuration validation in a mixed node topology |
US10284499B2 (en) | 2013-08-22 | 2019-05-07 | Arris Enterprises Llc | Dedicated control path architecture for systems of devices |
US9185049B2 (en) | 2013-10-31 | 2015-11-10 | Brocade Communications Systems, Inc. | Techniques for simplifying stacking trunk creation and management |
US10817467B2 (en) | 2013-10-31 | 2020-10-27 | Oxford University Innovation Limited | Parallel materialisation of a set of logical rules on a logical database |
US9577932B2 (en) * | 2014-02-12 | 2017-02-21 | Brocade Communications Systems, Inc. | Techniques for managing ternary content-addressable memory (TCAM) resources in heterogeneous systems |
US9692695B2 (en) | 2014-03-27 | 2017-06-27 | Brocade Communications Systems, Inc. | Techniques for aggregating hardware routing resources in a multi-packet processor networking system |
US9692652B2 (en) | 2014-04-03 | 2017-06-27 | Brocade Communications Systems, Inc. | Framework for reliably communicating port information in a system of devices |
US10091059B2 (en) | 2014-12-16 | 2018-10-02 | Arris Enterprises Llc | Handling connections between network devices that support multiple port communication modes |
CN105142154A (zh) * | 2015-09-15 | 2015-12-09 | 合肥工业大学 | 基于干扰管理的井下机车无线通信方法 |
CN106199122B (zh) * | 2016-06-30 | 2019-01-18 | 广东雅达电子股份有限公司 | 一种电量数据组合方法 |
US11270339B1 (en) * | 2018-08-21 | 2022-03-08 | Amdocs Development Limited | System, method, and computer program for using full and partial dynamic customer criteria sets for targeting promotions |
US11163761B2 (en) | 2020-03-20 | 2021-11-02 | International Business Machines Corporation | Vector embedding models for relational tables with null or equivalent values |
CN111599389B (zh) * | 2020-05-13 | 2022-09-06 | 芯颖科技有限公司 | 数据存取方法、数据存取电路、芯片和电子设备 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
USRE26429E (en) * | 1964-12-08 | 1968-08-06 | Information retrieval system and method | |
US4558302A (en) * | 1983-06-20 | 1985-12-10 | Sperry Corporation | High speed data compression and decompression apparatus and method |
JP3294326B2 (ja) * | 1992-07-09 | 2002-06-24 | 株式会社日立製作所 | データ処理方法および装置 |
JPH0974419A (ja) * | 1995-09-06 | 1997-03-18 | Fujitsu Ltd | 複数データユニットを用いてメッセージを伝送する通信システムにおける同時発生メッセージ制御方式 |
US6058392A (en) * | 1996-11-18 | 2000-05-02 | Wesley C. Sampson Revocable Trust | Method for the organizational indexing, storage, and retrieval of data according to data pattern signatures |
JP3250544B2 (ja) | 1999-04-16 | 2002-01-28 | 日本電気株式会社 | 転送先検索方法、転送先検索装置、検索テーブル記録媒体及び検索プログラム記録媒体 |
KR100424244B1 (ko) | 1999-05-12 | 2004-03-22 | 인터내셔널 비지네스 머신즈 코포레이션 | 출력 결정 방법 및 저장된 데이터 구조체 |
US6678678B2 (en) * | 2000-03-09 | 2004-01-13 | Braodcom Corporation | Method and apparatus for high speed table search |
US7178100B2 (en) * | 2000-12-15 | 2007-02-13 | Call Charles G | Methods and apparatus for storing and manipulating variable length and fixed length data elements as a sequence of fixed length integers |
CN1305166A (zh) * | 2000-12-15 | 2001-07-25 | 新华书店总店 | 信息检索系统及信息检索方法 |
JP2002305539A (ja) * | 2001-04-03 | 2002-10-18 | Nippon Telegr & Teleph Corp <Ntt> | 連想メモリおよび経路表検索方法 |
JP2002334114A (ja) * | 2001-05-10 | 2002-11-22 | Allied Tereshisu Kk | テーブル管理方法及び装置 |
US7054855B2 (en) * | 2001-07-03 | 2006-05-30 | International Business Machines Corporation | Method and system for performing a pattern match search for text strings |
JP3639553B2 (ja) | 2001-10-23 | 2005-04-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ルーティング処理装置およびルーティング方法 |
US6892176B2 (en) * | 2001-12-18 | 2005-05-10 | Matsushita Electric Industrial Co., Ltd. | Hash function based transcription database |
JP2003256265A (ja) | 2002-02-18 | 2003-09-10 | Internatl Business Mach Corp <Ibm> | 検索メモリ、メモリ検索用コントローラ、メモリ検索方法 |
US7085271B2 (en) * | 2002-03-14 | 2006-08-01 | Hewlett-Packard Development Company, L.P. | Method and system for performing flow based hash transformation to generate hash pointers for a network device |
JP3784054B2 (ja) | 2002-06-10 | 2006-06-07 | インターナショナル・ビジネス・マシーンズ・コーポレーション | Macアドレスを並べ替えさせる方法および記録媒体 |
JP4014155B2 (ja) | 2003-01-27 | 2007-11-28 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 情報処理装置及び方法、プログラム、データ構造、並びにコンピュータ読取り可能な記録媒体 |
JP3823089B2 (ja) | 2003-01-27 | 2006-09-20 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 固定長データ検索装置、及び固定長データ検索方法、及びコンピュータプログラム、並びにコンピュータ読み取り可能な記録媒体 |
JP3813136B2 (ja) | 2003-04-25 | 2006-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信制御装置、通信制御方法、通信制御プログラム、通信制御用データ構造 |
CN1954560B (zh) | 2004-03-31 | 2011-06-15 | Ipt株式会社 | 固定长数据的检索装置及检索管理方法 |
-
2004
- 2004-03-31 CN CN200480042951XA patent/CN1954560B/zh not_active Expired - Fee Related
- 2004-03-31 JP JP2006512434A patent/JP4435156B2/ja not_active Expired - Fee Related
- 2004-03-31 US US10/599,589 patent/US7565343B2/en not_active Expired - Fee Related
- 2004-03-31 WO PCT/JP2004/004641 patent/WO2005104456A1/ja active Application Filing
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101149738B (zh) * | 2007-06-06 | 2011-09-21 | 中兴通讯股份有限公司 | 一种利用定长字段优化迭代查询的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1954560B (zh) | 2011-06-15 |
JP4435156B2 (ja) | 2010-03-17 |
JPWO2005104456A1 (ja) | 2008-03-13 |
US20070194957A1 (en) | 2007-08-23 |
US7565343B2 (en) | 2009-07-21 |
WO2005104456A1 (ja) | 2005-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1954560B (zh) | 固定长数据的检索装置及检索管理方法 | |
US6434144B1 (en) | Multi-level table lookup | |
Basu et al. | Fast incremental updates for pipelined forwarding engines | |
US6389579B1 (en) | Reconfigurable logic for table lookup | |
EP2438512B1 (en) | Methods, systems and computer program products for providing a distributed associative memory base | |
CA2305475C (en) | Forwarding information retrieval technique | |
CA2088577A1 (en) | Active storage means in a reduction processor | |
CN101491015A (zh) | 用于ip查找和更新的动态树位图 | |
JP4995125B2 (ja) | 固定長データの検索方法 | |
JP2004518226A (ja) | データベースシステムおよびクエリオプティマイザ | |
CN103177094B (zh) | 一种物联网数据清洗方法 | |
CN103118132B (zh) | 一种面向时空数据的分布式缓存系统及方法 | |
Le et al. | Memory-efficient and scalable virtual routers using FPGA | |
JPH11507457A (ja) | メモリ構造 | |
CN106503008A (zh) | 文件存储方法和装置及文件查询方法和装置 | |
CN100479436C (zh) | 静态多接口范围匹配表的管理维护方法 | |
CN102591958B (zh) | 基于tcam的确定性有穷状态自动机的匹配方法和装置 | |
Song et al. | Packet classification using coarse-grained tuple spaces | |
CN113297266B (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN109951577A (zh) | 指派拓扑地址的方法和服务器,相应程序及服务器集群 | |
Zegour | Scalable distributed compact trie hashing (CTH*) | |
KR20090056061A (ko) | 내비게이션을 위한 모바일 데이터베이스 시스템 및 그 방법 | |
Rios | Scaling IP Database Size Using Trees of Content Addressable Memories | |
KR102648743B1 (ko) | 인-네트워크 관리 장치, 네트워크 스위치, 인-네트워크 데이터 집약 시스템 및 방법 | |
CN111597262B (zh) | 一种区块链中的区块数据的管理方法和管理系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110615 Termination date: 20160331 |
|
CF01 | Termination of patent right due to non-payment of annual fee |