专利名称:数据处理系统的制作方法
技术领域:
本发明涉及数据处理技术,尤其涉及操作多个数据库的技术。
技术背景在互联网的基础设施得以完善,便携式电话终端、个人电脑、VoIP (Voice over Internet Protocol:基于因特网协议的语音传输)电话终端等 通信终端得到广泛普及的今天,互联网的用户正在激增。在这种状况下, 计算机病毒、黑客、垃圾邮件等与安全有关的问题越来越显著,因此需 要有对通信进行适当控制的技术。虽然使用因特网易于对大量的信息进行访问,但是有害信息泛滥也 是事实,呈现出一种来不及对有害信息的发出源进行限制的状态。为了 对任何人都能够安心且有效地使用因特网的环境进行整顿,需要有对有 害的内容的访问进行适当控制的技术。例如,准备好允许访问的网站清单、禁止访问的网站清单、禁止语 关键词、有用语关键词等的数据库,当通过因特网对外部信息进行访问 时,参照这些数据库来控制访问,这样的技术已经被提出了 (例如,参 照专利文献1 )。专利文献l:特开2001-282797号公报
发明内容
发明要解决的课题在专利文献l所记载的实现访问控制的系统中,当用户数量增加时, 数据库将变得庞大,可能会超出可储存的容量。此时,如果是必须更换 系统整体的话,将造成不必要的浪费,因而效率低。而且,当必须停止 操作时,再准备一台代为操作的系统,这样,系统规模变得越大浪费就 越多,因而效率也越低。
本发明是鉴于这样的状况而提出的,其目的在于提供一种适当地操 作多个数据库的技术。解决课题的方法本发明的一个方面涉及数据处理装置。这种数据处理系统包括处 理获取的数据的数据处理单元;多个数据保持单元,储存所述数据的 处理所使用的数据库,其特征在于,所述多个数据保持单元共同保持 第一数据库,并将第二数据库分开而分别保持,所述数据处理系统还 包括至少 一个能够保持所述第 一数据库和分开后的所述第二数据库的 数据保持单元。通过将数据库分开保持到多个数据保持单元中并使多个数据保持 单元协同操作,可以控制各个数据保持单元的规模,可以在由于数据 量的增大等原因带来系统规模增大时,降低费用和节省工时。而且, 没有必要为了数据库更新等目的而对大规模的数据处理装置整体进行 双重备份和使其待机,只要另外准备至少 一 台较小规模的数据保持单 元使其处于待机状态就可以,使得系统构成单纯化,能够控制初期投 资和操作费用。在上述第 一数据库中可以储存用于判断应使用被分开的第二数据 库中的哪个来处理上述数据的数据。例如,在第一数据库中储存用于 认证用户的数据,在第二数据库中,可以储存对于每个用户的数据处 理内容等的信息。数据处理系统的特征在于,还可包括管理上述多个数据保持单元 的操作状况的操作管理单元,上述操作管理单元在使分开保持上述第 二数据库所需个数的数据保持单元操作的同时,使其它的数据保持单 元处于待机状态。上述操作管理单元可以在更新上述数据保持单元中 所保持的数据库时,将操作中的数据保持单元中的某一个所保持的数 据库更新数据储存到待机中的数据保持单元后,将从保持更新前数据 库的上述数据保持单元的操作切换至保持更新后数据库的数据保持单 元的操作。因此,不停止操作也能够更新数据库。上述操作管理单元在检测到操作中的数据保持单元处于不能操作 的状态时,可以将该数据保持单元所保持的数据库保持到待机中的数 据保持单元,并将待机中的数据保持单元切换为操作状态。因此,即使是某个数据保持单元由于故障等原因而停止的场合,也可以适当地 继续操作。在上述待机的数据保持单元中可以预先储存上述第 一数据库。所 述第 一数据库为共同使用的数据库,并储存有用于判断使用分开的第二 数据库中哪一个来对数据进行处理的数据。通过预先将第 一数据库储存 起来,当某个数据保持单元处于不能操作的状态时,可以立即将待机 中的数据保持单元切换为操作状态。上述数据处理单元可以设置有多个,并与上述多个数据保持单元 的分别相对应。上述数据处理系统还可以包括数据提供单元,其将获 取的数据向上述多个数据处理单元并行提供。因此,即使追加数据保 持单元,以及由于数据库的更新导致各个数据保持单元所保持的数据 库内容发生变化时,也可以适当地通过数据处理单元处理数据。上述数据提供单元,可以对获取的数据不作任何加工,以原样向 所述多个数据处理单元并行提供。因此,数据提供单元省去了对数据 进行加工的处理,能够提高数据处理速度。上述多个数据处理单元在从上述数据提供单元获取数据时,可以 参照对应的上述数据保持单元所保持的数据库,来判断是否为自己应 处理的数据。因此,可以使应进行处理的数据处理单元适当地处理数 据。上述数据处理单元可以是获取数据包以控制通信的通信控制装 置,在从上述数据提供单元获取数据包时,可以不判断数据包是否是 发给自己的而直接获取该数据包,然后参照对应的上述数据保持单元 所保持的数据库,来判断所获取数据包是否为自己应处理的数据包。因此,数据处理单元可以省去核对MAC地址或者IP地址等的处理, 从而提高数据包的处理速度。上述通信控制装置可以不使用上述数据包的报头部分所储存的信 息,而是使用其数据部所储存的信息来判断是否为自己应处理的数据 包。上述通信控制装置可以参照对应的上述数据保持单元所保持的第
一数据库,来判断是否为自己应处理的数据包。判断数据包为自己应处理的数据包的数据处理单元可以对该数据 包进行处理,而判断所获取的数据包不是自己应处理的数据包的数据 处理单元可以将该数据包废弃。在上述第一数据库中,可以储存用于识别数据应由上述多个处理单元中的哪一个来处理的ID清单。上述数据处理单元可以在得到关于 所述第一数据库所储存的ID清单中包含的应由自己处理的ID范围的 通知、并获取含有位于所述应处理的ID范围中的相应ID的数据包时, 对该数据包进行处理。上述多个数据处理单元中至少之一可以在获取 的数据包中不包含上述第一数据库所储存的ID清单中的任何一个ID 时,不对该数据包作处理而使其按原样通过。上述数据提供单元可以对获取的数据包不进行广播变换,而是将 其作为单播向多个通信控制装置并行提供。因此,数据提供单元可以省去为对数据包进行广播变换而对报头进行加工等处理,从而提高数 据包的处理速度。另外,作为本发明的实施方式,以上构成要素的任意组合、以及 将本发明的描述在方法、装置、系统、记录介质、计算机程序等之间 进行变换的方式也是有效的。发明的效果根据本发明,提供一种可以适当地操作多个数据库的技术。
图1是表示前提技术涉及的通信控制系统的构成的图。图2是表示现有的通信控制装置的构成的图。图3是表示前提技术涉及的通信控制装置的构成的图。图4是表示数据包处理电路的内部构成的图。图5是表示位置检测电路的内部构成的图。图6是表示第 一数据库的内部数据的例子的图。图7是表示第一数据库的内部数据的另一个例子的图。
图8是表示第一数据库的内部数据的又一个例子的图。图9是表示对分检索电路中所包含的比较电路的构成的图。图IO是表示第二数据库的内部数据的例子的图。图11是表示第二数据库的内部数据的另一个例子的图。图12是表示前提技术涉及的通信控制装置的另外构成例子的图。图13是表示用于URL过滤的数据包处理电路的内部构成的图。图14 (a)是表示病毒/网络钓鱼网站清单的内部数据的例子的图,图14 (b)是表示白清单的内部数据的例子的图,图14 (c)是表示黑清单的内部数据的例子的图。图15是表示公共类别清单的内部数据的例子的图。图16 (a)、 (b)、 (c)、 (d)是表示第二数据库的内部数据的例子的图。图17是表示病毒/网络钓鱼网站清单、白清单、黑清单以及公共类别 清单的优先顺序的图。图18是表示涉及实施方式的通信控制系统的构成的图。 图19是表示涉及实施方式的通信控制装置的构成的图。 图20是表示设置在操作监视服务器的管理表的内部数据例子的图。 图21是表示用于说明通信控制装置发生故障时运行方法的图。 图22 (a)、 (b)、 (c)表示用于说明更新通信控制装置的数据库的方 法的图。图23表示用于通过多个通信控制装置处理凄t据包而设置的通信路径 控制装置的构成图。图24表示通过多个通信控制装置中的某一个来处理数据包的示意图。图25表示通过多个通信控制装置中的某一个来^f吏数据包透传的示意图。符号说明10通信控制装置、12通信控制单元、14切换控制部、20数据包处 理电路、30 4企索电3各、32位置4全测电路、33比库交电路、34索引电路、 35比较电路、36对分检索电路、40处理执行电路、50第一数据库、 57用户数据库、60第二数据库、100通信控制系统、110操作监视服 务器、111管理表、120连接管理服务器、130信息输出服务器、140日 志管理服务器、150数据库服务器、160URL数据库,161病毒/网络钓 鱼网站清单、162白清单、163黑清单、164公共类别清单、200通信 路径控制装置、210开关、220光分路器、230开关。
具体实施方式
(前提技术)首先,作为前提技术,对作为数据处理装置一例的通信控制装置及 其外围装置的构成和操作概要进行说明,而且,对使用通信控制装置的 URL过滤技术进行说明,然后,作为实施方式,对运用多个通信控制装 置的技术进行说明。图1示出了前提技术涉及的通信控制系统的构成。通信控制系统100 包括通信控制装置10和为支持通信控制装置10的操作而设置的各种外 围装置。作为前提技术的通信控制装置10实现由因特网服务提供商等提 供的URL过滤功能。设置在网络路径上的通信控制装置10获取对内容 的访问请求,对该内容进行分析,判断对该内容的访问是否许可。当对 内容的访问被许可时,通信控制装置IO将该访问请求发送给保持有该内 容的服务器。当对内容的访问被禁止时,通信控制装置IO将废弃该访问 请求,并对请求源返回警告信息等。在前提技术中,通信控制装置10接 收HTTP (HyperText Transfer Protocol:超级文本传输协议)的"GET"请 求消息等访问请求,对要被访问的内容的URL是否与用于判断访问是否 许可的基准数据的清单相一致进行;险索,判断是否允许访问该内容。外围装置包括操作监视服务器110、连接管理服务器120、消息输 出服务器130、日志管理服务器140和数据库服务器150。连接管理服务 器120管理对通信控制装置10的连接。例如当通信控制装置10对由移 动电话终端送出的数据包进行处理时,连接管理服务器120使用数据包 中所含的唯一识别移动电话终端的信息来对通信控制装置10的用户进行 认证。 一旦认证成功,则从暂时赋予该移动电话终端的IP地址送出的数
据包在一定的期间内无需通过连接管理服务器120认证而发送到通信控 制装置10进行处理。消息输出服务器130根据由通信控制装置10判断 的访问是否许可的结果,对访问的被请求目标或者请求源输出消息。曰 志管理服务器140管理通信控制装置10的操作历史。数据库服务器150 从URL数据库获取最新的数据库,并将其输入到通信控制装置10。为了 在不停止通信控制装置10的情况下更新数据库,通信控制装置10可以 有备份用的数据库。操作监视服务器IIO对通信控制装置10、连接管理 服务器120、消息输出服务器130、日志管理服务器140和数据库服务器 150等外围装置的操作状况进行监视。操作监视服务器IIO在通信控制系 统100中优先级最高,并对通信控制装置10及全部的外围装置进行监-见 控制。通信控制装置IO如下面所述,由专用的硬件电路构成,而操作监 视服务器110使用本申请人的专利第3041340号等技术,通过利用边界 扫描电路使用于监视的数据在通信控制装置IO等之间进行输入输出,从 而即使在通信控制装置IO的操作中,也可以对操作状况进行监视。前提技术的通信控制系统IOO如以下所述,由在外围连接的具有各 种功能的服务器群对为实现高速化而以专用硬件电路构成的通信控制装 置IO进行控制,由此,通过适当替换服务器群的软件,可以由同样的构 成实现各种功能。根据前提技术,可以提供这种灵活性好的通信控制系 统。图2示出了现有的通信控制装置1的构成.。现有的通信控制装置1 包括接收侧的通信控制部2、数据包处理部3、和发送侧的通信控制部 4。通信控制部2及4分别包括PHY处理部5a及5b,进行数据包的物 理层的处理;MAC处理部6a及6b,进行数据包的MAC层的处理。数 据包处理部3包括IP处理部7,进行IP (Internet Protocol:互联网协i义) 的协议处理;TCP处理部8等,进行TCP (Transport Control Protocol: 传送控制协议)的协议处理;协议处理部,进行与协议对应的处理;AP 处理部9,进行应用层的处理。AP处理部9根据数据包中包含的数据, 执行过滤等处理。在现有的通信控制装置1中,数据包处理部3是利用作为通用处理 器的CPU和在CPU上操作的OS,通过软件来实现的。但是,在这种构
成中,通信控制装置1的性能将依赖于CPU的性能,想要实现能够高速 地对大容量的数据包进行处理的通信控制装置,自然存在限制。例如,如果是64位的CPU, 一次同时能够处理的数据量最大是64位,具有在 此以上性能的通信装置不存在。而且,由于将具有通用功能的OS的存在 作为前提,因此存在安全漏洞等的可能性不是绝对没有的,OS的版本升 级等的维护作业是必要的。图3示出了前提技术的通信控制装置的构成。通信控制装置10包括 由基于布线逻辑电路的专用硬件构成的数据包处理电路20,以取代图2 所示的现有通信控制装置1中由包含CPU及OS的软件实现的数据包处 理部3。不是通过在作为通用处理电路的CPU中操作的OS和软件来处 理通信数据,而是设置对通信数据进行处理的专用硬件电路,由此能够 克服由CPU和OS等造成的性能限制,实现高处理能力的通信控制装置。例如,在为了执行数据包过滤等而检索数据包所含的数据中是否含 有作为过滤判断基准的基准数据的情况下,在使用CPU对通信数据和基 准数据进行比较时, 一次最多只能比较64比特,所以存在的问题是,即 使想提高处理速度也将受到CPU性能的限制。由于在CPU中必须无数 次重复进行以下处理,即,从通信数据将64比特读入到存储器,将其与 基准数据进行比较,接着再把下一64比特读入到存储器,因此读入到存 储器的时间将制约速度,处理速度存在极限。相反,在前提技术中,设置了由布线逻辑电路构成的专用硬件电路, 以对通信数据和基准数据进行比较。该电路包括并列设置的多个比较器, 以能够对比64位更长的数据长度、例如1024位的数据长度进行比较。 这样,通过设置有专用的硬件,可以同时并行执行许多的位匹配。可以 从现有的使用CPU的通信控制装置1 一次只能处理64位提高到一次可 以处理1024位,可以使处理速度有一个飞跃。虽然增多比较器的数量也 能够提高处理能力,但是成本和尺寸也会增大,因此可以在考虑预期的 处理性能和成本、尺寸等条件下,设计最适当的硬件电路。专用的硬件 电^各可以-使用FPGA( Field Programmable Gate Array::见场可编牙呈门阵列) 等实现。此外,由于前提技术的通信控制装置IO是由布线逻辑电路形成的专
用硬件构成的,因此不需要OS (Operating System:操作系统)。为此, 不需要OS的安装、故障处理、版本升级等作业,从而可以减少用于管理 和维护的费用和工时。此外,与要求具有通用功能的CPU不同,由于不 包含不必要的功能,因此有望实现不使用多余的资源、低成本化、电路 面积减小、以及处理速度的提高。而且,与使用OS的现有通信控制装置 不同,由于没有多余的功能,因此降低了安全漏洞等发生的可能性,对 于恶意第三者通过网络的攻击具有优良的抵抗性。现有的通信控制装置1通过基于CPU和OS的软件对数据包进行处 理,在进行协议处理之前需要接收所有数据包数据,然后将数据交给应 用程序。相反,在本前提技术的通信控制装置10中,由于使用专用的硬 件电路进行处理,因此没有必要在协议处理之前接收数据包的所有数据。 如果接收到处理所需的数据,则不用等待接收后续的数据就可以在任何 时候开始处理。例如,在后述的位置检测电路中进行的位置检测处理可 以是在接收到用于确定比较对象数据位置的位置确定数据时开始。这样,理,因此能够缩短处理数据包的数据所需的时间。图4示出了数据包处理电路的内部构成。数据包处理电路20包括 第一数据库50,存储基准数据,所述基准数据作为基准,用于决定对通 信数据执行的处理内容;检索电路30,通过比较通信数据和基准数据, 对接收的通信数据中是否含有基准数据进行检索;第二数据库60,将检 索电路30的检索结果和对通信数据执行处理的内容进行关联对应存储; 处理执行电路40,基于检索电路30的检索结果和第二数据库60所存储 的条件对通信数据进行处理。检索电路30包括位置检测电路32,从通信数据中检测应与基准数 据进行比较的比较对象数据的位置;作为判断电路的实施例的索引电路 34,当把所述第一数据库50所存储的基准数据分成3个以上的范围时, 判断比较对象数据属于这些范围中的哪一个;对分检索电路36,在所判 断的范围中,检索与比较对象数据一致的基准数据。作为从基准数据中 检索比较对象数据的方法,可以使用任意的检索技术,但在前提技术中 使用的是对分检索法。
图5示出了位置检测电路的内部构成。位置检测电路32包括多个 比较电路33a 33f,用于将确定比较对象数据位置的位置确定数据和通信 数据进行比较。在此,设置有6个比较电路33a 33f,但如后所述,比较 电路的个数可以是任意的。通信数据以各错开预定的数据长度(例如1 字节)的形式输入到各比较电路33a 33f中。然后,在这些比较电路 33a 33f中,同时并行地进行应检测的位置确定数据和通信数据的比较。在前提技术中,将进行以下处理时的情况作为用于说明通信控制装 置IO操作的例子进行说明,即,检测通信数据中包含的"No.弁# #"的字 符串,将该字符串中包含的数字"# # #"与基准数据进行比较,与基准 数据一致时允许数据包通过,不一致时将数据包废弃。在图5的例子中,为了从通信数据中检测用于确定数字"# # #"位 置的位置确定数据"No.",将通信数据"OlNo. 361..."各错开1个字符而输 入到比4交电3各33a 33f中。即,比專交电-各33a中输入"01N",比4交电路33b 中输入"lNo",比较电路33c中输入"No.",比较电路33d中输入"o.", 比專交电3各中33e输入".3",比较电路33f中输入"36"。在此,比较电 路33a 33f同时执行与位置确定数据"No."的比较。由此,比较电路33c 进行比对,从而检测出在通信数据的最前头开始第3个字符处存在"No." 的字符串。这样,在由位置检测电路32检测出的位置确定数据"No."之后, 将检测出存在作为比较对象数据的数字数据。如果由CPU进行同样的处理,则首先将字符串"01N"与"No."进行比 较,然后将字符串"lNo"与"No."进行比较,由于必须从最前头开始依次 逐一执行比较处理,因此无法期待提高检测速度。相反,在前提技术的 通信控制装置10中,通过并列设置多个比较电路33a 33f,使得CPU中 无法实现的同时并列的比较处理成为可能,可以极大地提高处理速度。 虽然比较电路越多能够同时比较的位置就越多,检测速度也将提高,但 是在考虑到成本和尺寸等条件下,设置用于获得所需检测速度的足够数 量的比较电路就可以了。位置检测电路32不只用于检测位置确定数据,也可以用作检测通用 的字符串的电路。此外,不^f义可以;f企测字符串,而且还可以检测以位为单位的位置确定数据。
图6示出了第一数据库的内部数据的例子。作为用于决定数据包的 过滤、路径选择、交换、置换等处理内容基准的基准数据按照某种分类 条件进行分类并储存在第一数据库50中。在图6的例子中,存储有1000 个基准数据。在第一数据库50的最前面的纪录中,储存有表示通信数据中的比较 对象数据位置的偏移量51。例如,在TCP数据包中,由于数据包内的数 据结构以位为单位确定,因此如果将用于决定数据包的处理内容的标记 信息等位置以偏移量51的形式设定,则可以只比较必要的位来决定处理 内容,从而可以提高处理效率。此外,即使在数据包的数据结构变更的 情况下,也可以通过改变偏移量51来进行对应。在第一数据库50中, 也可以储存比较对象数据的数据长度。由此,可以只使必要的比较器操 作来进行比较,从而可以提高检索效率。索引电路34在将第一数据库50储存的基准数据分成3个以上的范 围52a 52d时,判断比较对象数据属于这些范围中的哪一个。在图6的 例子中,1000个基准数据被分成4个范围52a 52d,每个范围有250个 基准数据。索引电路34包括对范围的边界的基准数据与对象数据进行比 较的多个比较电路35a 35c。通过比较电路35a 35c对比较对象数据与边 界的基准数据同时并行地进行比较,从而用 一次比较处理就可以判断比 较对象数据属于哪个范围。输入到索引电路34的比较电路35a 35c中的边界基准数据可以通过 通信控制装置10外部所设置的装置来设定,也可以事先将第一数据库50 预定位置的基准数据自动地输入。在后一种情况下,即使更新第一数据 库50,也可以自动地将第一数据库50预定位置的基准数据输入到比较电 路35a 35c中,因此无需进行初始设定就能立即执行通信控制处理。如上所述,在由CPU执行对分检索的场合,不能同时执行多个比较, 而在前提技术的通信控制装置10中,通过并列设置有多个比较电路 35a 35c,可以同时并行地进行比较处理,从而极大地提高了检索速度。当由索引电路34判断了范围时,对分检索电路36以对分检索法执 行检索。对分检索电路36将由索引电路34判断的范围进一步分成2个, 通过对位于该边界位置的基准数据和比较对象数据进行比较,来判断比
较对象数据属于哪个范围。对分检索电路36包括以位为单位对基准数据 和比较对象数据进行比较的多个比较电路,例如在前提技术中包括1024 个,同时执行1024位的位比对。当判断了比较对象数据属于被分成2个 的范围中的哪一个时,进一步将该范围分成2个并读出位于边界位置的 基准数据,将其与对象数据进行比较。之后,通过重复该处理来进一步 限定范围,最后检索出与比较对象数据一致的基准数据。使用上述的例子进一步对操作进行详细说明。在图5所示的通信数 据中,位置确定数据"No."之后的比较对象数据是数字"361"。由于在确 定数据"No."与比较对象数据"361"之间存在一个字符的空格,因此为了 从比较对象数据中除去该空格,偏移量51被设定为"8"位。对分检索电 路36从位置确定数据"No."之后的通信数据跳过"8"位,即l个字节,将 之后的"361"作为比较对象数据读入。在索引电路34的比较电路35a 35c中,输入"361 "作为比较对象数据, 作为基准数据,在比较电路35a中输入位于范围52a和52b边界的基准 数据"378",在比较电路35b中输入位于范围52b和52c边界的基准数据 "704",在比较电路35c中输入位于范围52c和52d边界的基准数据"937"。 由比较电路35a 35c同时进行比较,判断出比较对象数据"361"属于范围 52a。之后,对分检索电路36将检索基准数据中是否存在比较对象数据 "361"。图7示出了第一凄t据库内部数据的另一个例子。在图7的例子中, 基准数据的数据个数比第一数据库50所能够保持的数据数1000个少。 此时,在第一数据库50中,从最后数据位置开始降序储存基准数据。然 后,将剩余的数据位置中储存O。作为数据库的加载方法,不是从最前面 配置数据而是从加载区域的后方配置,当加载区域的开头产生空位时, 对所有的空位进行清零,由此使数据库一直处于满的状态,从而可以使 对分检索时的最大时间恒定。此外,当对分检索电路36在检索中读入"0" 作为基准数据时,由于比较结果是明显的,因此可以不进行比较而确定 范围,并转到下一比较。由此,可以提高检索速度。在基于CPU的软件处理中,在将基准数据储存到第一数据库50时, 从最初的数据位置以升序储存基准数据。在剩余的数据中例如储存最大 值,在这种情况下,在对分检索中不可能省略上述的比较处理。上述的比较技术通过由专用的硬件电路构成检索电路30来实现。图8示出了第一数据库内部数据的又一个例子。在图8的例子中, 不是把基准数据均等地分成3个以上的范围,而是范围所属的基准数据 的个数是不均等的,例如范围52a为500个,范围52b为100个。这些 范围可以根据通信数据中的基准数据的出现频度的分布来进行设定。也 就是说,可以对范围进行设定以使各范围所属的基准数据的出现频度的 和大致相同。由此,可以提高检索效率。输入到索引电路34的比较电路 35a 35c中的基准数据,也可以从外部进行变更。由此,能够动态地设定 范围,从而可以使;险索效率最佳化。图9示出了对分4全索电路中包含的比较电路的构成。如上所述,对分检索电路36包括1024个比较电路36a、 36b.....。在各个比较电路36a、 36b.....中,基准数据54和比较对象数据56按每1位来输入,并比较其大小。索引电路34的各比较电路35a 35c的内部构成也是同样 的。这样,通过以专用的硬件电路执行比较处理,可以使多个比较电路 并行操作,同时对多位进行比较,从而可以使比较处理高速化。图10示出了第二数据库内部数据的例子。第二数据库60包括储存 检索电路30的检索结果的检索结果栏62、以及储存对通信数据执行的处 理内容的处理内容栏64,并将检索结果和处理内容对应地保持。在图10 的例子中设定如下条件当通信数据中包含基准数据时,允许该数据包 通过;当不包含基准数据时,将该数据包废弃。处理执行电路40根据检 索结果从第二数据库60检索处理内容,对通信数据执行处理。处理执行 电路40也可以由布线逻辑电路来实现。图11示出了第二婆:据库内部数据的另一个例子。在图ll的例子中, 对每个基准数据设定处理内容。当进行数据包的置换时,可以将待置换 的数据储存到第二数据库60中。在进行数据包的路径选择或者交换时, 可以将与路经有关的信息储存到第二数据库60中。处理执行电路40根 据-险索电路30的检索结果,执行第二数据库60中储存的过滤、路径选 择、交换、置换等处理。如图11所示,当对每个基准数据设定处理内容 时,可以对第一数据库50和第二数据库60进行合并。
第一数据库及第二数据库被设置为可以从外部进行重写。通过对这些数据库进行替换,可以使用相同的通信控制装置10实现各种各样的数 据处理或者通信控制。此外,也可以设置2个以上储存作为检索对象的 基准数据的数据库,来进行多阶段的检索处理。此时,也可以设置2个 以上关联对应储存了;f全索结果和处理内容的数据库,来实现更复杂的条 件分支。这样,当设置多个数据库进行多阶段的检索时,也可以设置多 个位置检测电路32、索引电路34、对分检索电路36等。上述用于比较的数据可以用同样的压缩逻辑进行压缩。在进行比较 时,如果比较源数据与比较目标数据用同样的方式压缩,则可以像通常 一样进行比较。由此,比较时可以减少载入的数据量。如果载入的数据 量变少,则从存储器读出数据所需的时间就会缩短,全部的处理时间也 可以缩短。此外,由于可以削减比较器的数量,因而有助于装置的小型 化、轻型化、低成本化。用于比较的数据可以用压缩的形式储存,也可 以在从存储器读出后,在比较之前进行压缩。图12示出了前提技术的通信控制装置的另外的构成例子。本图所示 的通信控制装置10包括两个具有与图3所示的通信控制装置10同样构 成的通信控制单元12。此外,设有对各通信控制单元12的操作进行控制 的切换控制部14。各通信控制单元12包括两个输入输出接口 16,通过 各输入输出接口 16连接到上游侧和下游侧两个网络上。通信控制单元12 从任一侧的网络输入通信数据,将处理后的数据输出到另 一侧的网络。 切换控制部14通过切换各通信控制单元12设置的输入输出接口 16的输 入输出,对通信控制单元12中的通信数据的流向进行切换。由此,不仅 可以进行单向的通信控制,而且还可以进行双向的通信控制。切换控制部14也可以进行控制以使通信控制单元12之一处理入站 的数据包、另一个则处理出站的数据包,也可以进行控制以使双方都处 理出站的数据包。由此,例如根据业务量的状况或者目的等,可以使进 行控制的通信方向变化。切换控制部14也可以通过获取各通信控制单元12的操作状况、并 根据该操作状况对通信控制的方向进行切换。例如,在使通信控制单元 12之一处于待机状态,而使另一通信控制单元12操作的情况下,当检测
到该通信控制单元12由于故障等原因停止时,可以使待机中的通信控制 单元12工作以作为替代。由此,可以提高通信控制装置10的容错度。 此外,当对一方的通信控制单元12进行数据库的更新等维护时,也可以 使另一方通信控制单元12工作以作为替代。由此,在不停止通信控制装 置10运行的情况下,能够适当地进行维护。在通信控制装置10中也可以设置3个以上的通信控制单元12。切换 控制部14例如可以获取业务量的状况,并对各通信控制单元12的通信 方向进行控制,以便将更多的通信控制单元12分配给通信量多的方向的 通信控制处理。由此,即使某个方向的通信量增加,也可以将通信速度 的降低限制到最小程度。另外,在多个通信控制单元12之间可以共用通信控制部2或者4的 一部分。此外,数据包处理电路20的一部分也可以共用。作为上述的数据处理装置,可以考虑采用以下的方式实现。 [方式1]一种数据处理装置,其特征在于,包括第一存储部,存储基准数据以作为决定的基准,来决定对获取的数 据执行的处理内容;检索部,通过对所述数据和所述基准数据进行比较,检索所述数据 中是否包含所述基准数据;第二存储部,将所述检索部的检索结果与所述处理的内容对应地存储;处理部,根据所述检索结果,对所述数据执行与所述检索结果进行 关耳关对应的处理,所述检索部由布线逻辑电路构成。 [方式2]在上述方式1的数据处理装置中,所述布线逻辑电^^包括多个第 一比较电路,以位为单位对所述数据和所述基准数据进行比较。 [方式3]在上述方式1的数据处理装置中,所述检索部包括位置检测电路, 从所述数据中检测要与所述基准数据进行比较的比较对象数据的位置。[方式4]在上述方式3的数据处理装置中,所述位置检测电路包括对所述 数据和用于确定所述比较对象数据位置的位置确定数据进行比较的多个 第二比较电路,所述数据每错开预定数据长度的位输入到所述多个第二 比较电路,并与所述位置确定数据同时并行地进行比较。 [方式5]在上述方式1至方式2任一项的数据处理装置中,所述检索部包括 对分检索电路,通过对分检索对所述数据中是否包含所述基准数据进行 检索。 [方式6]在上述方式5的数据处理装置中,所述基准数据的数据数比所述第 一存储部所能保持的数据数少时,从所述第 一存储部的最后数据位置开 始降序储存所述基准数据,并将0储存到剩余的数据中。 [方式7]在上述方式1至方式6任一项的ft据处理装置中,所述^f企索部包括 判断电路,当所述第一存储部所存储的多个基准数据分成三个以上的范 围时,判断应与所述基准数据进行比较的对象数据属于这些范围中的哪 一个。 [方式8]在上述方式7的数据处理装置中,所述判断电路包括对作为所述 范围的边界的基准数据和所述比较对象数据进行比较的多个第三比较电 路,由所述多个第三比较电路同时并行地对所述比较对象数据属于所述 三个以上范围中的哪一个进行判断。 [方式9]在上述方式8的数据处理装置中,所述第一存储部的预定位置储存 的所述基准数据输入到所述第三比较电路,以作为所述边界的基准数据。[方式10]在上述方式7或方式8的数据处理装置中,根据所述数据中的所述 基准数据的出现频率的分布来设定所述范围。[方式ll]在上述方式1至方式10中任一方式的数据处理装置中,所述第一存储部还存储有表示所述数据中的比较对象数据位置的信息,所述检索部 基于表示所述位置的信息提取所述比较对象数据。[方式12]在上述方式1至方式11中任一方式的数据处理装置中,所述第一存 储部或者所述第二存储部被设置为能够从外部进行重写。 [方式13]在上述方式1至方式12任一项的数据处理装置中,所述检索部不等 到获取通信数据包的所有数据,而是在获取了应与所述基准数据进行比 较的数据时,就开始对该数据和所述基准数据进行比较。 [方式14]一种数据处理装置,其特征在于,包括多个上述方式1至13任一 项所述的数据处理装置,各所述数据处理装置包括两个在与通信线路之 间输入输出数据的接口,通过切换各所述接口的输入和输出,对处理所 述数据的方向进行可变控制。接下来,对使用上述通信控制装置10的URL过滤技术进行说明。 图13示出了用于URL过滤的数据包处理电路20的内部结构。数据 包处理电路20包括作为第一数据库50的用户数据库57、病毒/网络钓 鱼网站清单161、白清单162、黑清单163以及公共类别清单164。用户 数据库57储存使用通信控制装置10的用户的信息。通信控制装置10从 用户接收识别用户的信息,将检索电路30接收的信息与用户数据库57 进行匹配来对用户进行认证。作为识别用户的信息,可以使用TCP/IP数 据包的IP才艮头中储存的源地址,也可以从用户接收用户ID和口令。在 前者的情况下,由于数据包中的源地址的储存位置已经确定了,因此在 检索电路30中与用户数据库57进行匹配时,没有必要通过位置检索电 路32检测位置,以偏移量51的方式来指定源地址的储存位置就可以了 。 当认证了是登记在用户数据库57中的用户时,接着将内容的URL参照 病毒/网络钓鱼网站清单161、白清单162、黑清单163以及公共类别清单 164进行核对,以判断对内容的访问是否许可。由于白清单162和黑清单 163按每个用户设置,因此当用户被认证并唯一地确定了用户ID时,将 该用户的白清单162和黑清单163提供给检索电路30。病毒/网络钓鱼网站清单161储存包含计算机病毒的内容的URL清 单,以及网络钓鱼诈骗中使用的"陷阱"网站的URL清单。对储存在病 毒/网络钓鱼网站清单161中的URL的内容的访问请求将被拒绝。这样, 即使在用户不注意或者被骗而要访问病毒网站或者网络钓鱼网站的情况 下,也可以适当地禁止访问,保护用户免受病毒网站或者网络钓鱼诈骗 所害。此外,由于不是在用户终端中储存病毒或网络钓鱼网站清单从而 在终端侧进行访问限制,而是由设置在通信路径上的通信控制装置10集 中进行访问限制,从而能够可靠且高效地进行访问限制。通信控制装置 10可以获取并保持由认证机构证明为不是病毒或者网络钓鱼网站而是正 当网站的认证后的网站清单,从而许可对该清单中保存的URL进行访问。 此外,当正当的网站被黑客等攻陷、被嵌入病毒、被用于网络钓鱼诈骗 等事态发生时,正当网站的运营者等可以将被攻陷的网站的URL登记到 病毒/网络钓鱼网站清单161中,在网站恢复到正常状态之前,暂时禁止 对网站的访问。此外,可以将IP号、TCP号、MAC地址等信息与URL 的清单组合进行校验。由此,可以设定更高精度的检索条件,从而能够 更可靠地对病毒或者网络钓鱼网站进行过滤。白清单162是对每个用户设定的,储存了允许访问其内容的URL清 单。黑清单163也是对每个用户设定的,储存了禁止访问其内容的URL 清单。图14 (a)示出了病毒/网络钓鱼网站清单161内部数据的例子, 图14 (b)示出了白清单162内部数据的例子,图14 (c)示出了黑清单 163内部数据的例子。在病毒/网络钓鱼网站清单161、白清单162和黑清 单163中,分别设有类别号栏165、 URL栏166和标题栏167。 URL栏 166中储存允许访问或者禁止访问内容的URL。类别栏165中储存内容 的类别号。标题栏167中储存内容的标题。公共类别清单164中储存用于将URL所示的内容按多个类别分类的 清单。图15示出了公共类别清单164内部数据的例子。在公共类别清单 164中也设有类别号栏165、 URL栏166和标题栏167。通信控制装置10在从"GET"请求消息中提取URL后,通过检索电路
30来检索该URL是否包含在病毒/网络钓鱼网站清单161、白清单162、 黑清单163或公共类别清单164中。此时,例如,可以由位置检测电路 32检测"http:〃"的字符串,并提取该字符串后续的数据串作为对象数据。 提取的URL通过索引电路34及对分检索电路36与病毒/网络钓鱼网站清 单161、白清单162、黑清单163以及公共类别清单164的基准数据进行 比对。图16 (a)、 (b)、 (c)及(d)示出了用于URL过滤的第二数据库 60的内部数据的例子。图16 (a)示出了对病毒/网络钓鱼网站清单161 的检索结果和处理内容。当"GET"请求中包含的URL与病毒/网络钓鱼网 站清单161中包含的URL —致时,对该URL的访问将被禁止。图16(b) 示出了对白清单162的检索结果和处理内容。当"GET"请求中包含的URL 与白清单162中包含的URL —致时,对该URL的访问将被许可。图16 (c)示出了对黑清单163的检索结果和处理内容。当"GET"请求中包含 的URL与黑清单163中包含的URL —致时,对该URL的访问将被禁止。图16 (d)示出了对公共类别清单164的检索结果和处理内容。如图 16(d)所示,对于对公共类别清单164的检索结果,用户可以按各个类 别对属于该类别的内容的访问是许可还是禁止分别进行设定。在与公共 类别清单164有关的第二凝:据库60中,设置有用户ID栏168及类别栏 169。在用户ID栏168中储存有用于识别用户的ID。在类别栏169中, 对于被分为57种的各个类别,储存有表示用户对属于某类别的内容的访 问是许可还是禁止的信息。当"GET"请求中包含的URL与公共类别清单 164中包含的URL —致时,根据该URL的类别和用户ID,将判断对该 URL的访问是否许可。此外,在图16 (d)中,公共类别的个数是57,但也可以是其他个it。图17示出了病毒/网络钓鱼网站清单161、白清单162、黑清单163 以及公共类别清单164的优先级。在前提技术中,优先级的高低是按照 病毒/网络钓鱼网站清单161、白清单162、黑清单163、公共类别清单164 的顺序,例如,即使是白清单162中储存的允许访问内容的URL,如果 该URL储存在病毒/网络钓鱼网站清单161中,则也将被一见作含有计算机 病毒或用于网络钓鱼诈骗的内容而^皮禁止访问。
以往,当使用软件来进行考虑了这样的优先级的匹配时,例如,可以采用以下方法之一从优先级高的清单开始依次进行比对并采用最初 命中者,或者从优先级低的清单开始依次进行比对并用后命中的替换先 命中的。但是,在前提技术中,通过使用由专用的硬件电路构成的通信 控制装置10,设置有进行病毒/网络钓鱼网站清单161比对的检索电路 30a、进行白清单162比对的检索电路30b、进行黑清单163比对的检索 电路30c和进行公共类别清单164比对的检索电路30d,在各检索电路 30中同时并行地进行匹配。其次,在多个清单的比对中都有命中的情况 下,则采用优先级最高的。由此,即使在设有多个数据库时,在对其设 定了优先级的情况下,也可以大幅度缩短^r索时间。对病毒/网络钓鱼网站清单161、白清单162、黑清单163以及公共类 别清单164中之一是否许可访问进行判断的优先级例如可以在第二数据 库60中设定。才艮据哪个清单被设定为优先,可以对第二数据库60的条 件进行修改。这样,当使用多个数据库进行基于URL的过滤时,可以对数据库设 定优先级并根据所设定的优先级进行过滤处理。而且,通过将病毒/网络 钓鱼网站清单161的过滤设定为最优先,而不管用户对白清单162等的 设定状况如何,都能够可靠地禁止对病毒网站或者网络钓鱼网站的访问。 由此,可以适当地保护用户免受病毒或者网络钓鱼诈骗所害。当对内容的访问被许可时,处理执行电路40向消息输出服务器130 输出用于通知该情况的信号。消息输出服务器130向保持有该内容的服 务器发送"GET"请求消息。当对内容的访问被禁止时,处理执行电路40 向消息输出服务器130输出用于通知该情况的信号,而消息输出服务器 130不向访问目标的服务器发送"GET"请求消息而是将其废弃。此时,也 可以将访问被禁止的响应消息发送给请求源。此外,也可以强制地转送 到其他网页。这时,处理执行电路40将目的地址和URL更换为转送目 标的目的地址和URL并进行发送。诸如响应消息和转送目标的URL等 信息也可以储存在第二数据库60或消息输出服务器130中。消息输出服务器130也可以使用ping命令等来确认实际存在请求源, 并且当请求源存在时对其状态进行确认,然后对该请求源输出信息。从 消息输出服务器130向请求源发送的消息也可以按每个用户进行设定, 也可以按每个访问目标的内容、按每个类别、或者按每个白清单162或 黑清单163等的数据库进行设定。例如,在访问被禁止时,用户可以对 显示的画面进行定制并登记到消息输出服务器130。此外,如上所述,当 正当的网站被黑客攻击并且暂时限制访问时,可以输出向正当网站的镜 像网站引导的消息。消息输出服务器130可以管理信息的输送历史,并可以将该消息输 送历史信息用于各种控制。例如,当从相同的请求源在短时间内发出多 次访问请求时,由于有可能是服务妨碍攻击(Denial of Service attack: Dos 攻击)等,因而可以将该请求源登记到访问拒绝清单中,截断来自该请 求源的数据包而不将其向请求目的地发送。另外,可以对信息输送历史 进行统计处理,并将其提供给WEB网站的管理者等。由此,用户的访问 历史可以用于市场营销或者或用于通信状况的控制等。此外,可以根据 状况减少消息送出的次数,或者相反也可以增加次数。例如,从特定的 IP号码发出访问请求时,对其一条请求消息,可以发送多倍的消息。通过以上的构成及才喿作,可以禁止对不适当的内容进行访问。此外, 由于检索电路30是由FPGA等构成的专用硬件电路,因此,如上所述, 可以实现高速的检索处理,并将对通信量的影响抑制到最小限度,而且 可以执行过滤处理。因特网服务提供商等通过提供这样的过滤服务,可 以提高附加价值,争取更多的用户。白清单162或者黑清单163也可以设为对所有的用户共享。 (实施方式)接下来,对通信控制系统100中设置多个通信控制装置10时的操作 技术进行说明。例如,上述的通过URL进行滤波控制的通信控制装置10, 假定用于储存数据库的RAM (Random Access Memory)等存储装置具有 可容纳10万用户所对应的数据的容量。此时,如果通信控制装置10的 用户超过10万人时,按以往技术,需要更换为设置有可容纳10万人以 上的用户数据的存储装置的通信控制装置10。但是,根据本实施方式, 设置多个通信控制装置,并在这些通信控制装置的存储装置中将白清单 和黑清单等数据库分开来保持,通过它们的协同才喿作,可以实现1台大
规模通信控制装置IO的功能。因此,即使用户数超过了通信控制装置10的容量,通过新增加通信控制装置,可以适应用户的增加。这样,本实施方式中提出对具有通用性和高灵活性的通信控制系统10的操作技术方案。根据该技术,可以降低随着用户的增加而变更系统所需的工时和费 用,同时,没有必要在最初就考虑到用户的增加而构筑大规模的系统, 根据用户数量来设置适当的通信控制系统就可以,能够控制最初的投资。图18示出了涉及实施方式通信控制系统100的构成。在本实施方式 的通信控制系统100中,设置有多个通信控制装置10a、 10b、 10c、…, 并使它们协同操作,实现前提技术中说明的通信控制装置IO的功能。其 他的构成以及操作与图1所示的前提技术的通信控制装置100相同。在本实施方式的通信控制系统100中,设置比用于将数据包处理所 需的数据库中的至少一部分分开保持所需的台数至少多 一台的通信控制 装置。例如,对于上述的例子,当用户数在30万以上和不超过40万的 场合,操作所需的通信控制装置的台数是4台,另外可设置一台以上的 通信控制装置作为当某个通信控制装置发生故障时替代操作的待机用 机,因此总计最少设置5台通信控制装置。在现有技术中,为了容错, 需要对系统整体实行双机化,根据本实施方式的技术,只要冗余设置分 开的通信控制装置10,就能够降低成本。这样多个通信控制装置10a、 10b、 10c、…的操作状况由操作监视服务器IIO管理。本实施方式的操作 监视服务器110包含用于管理通信控制装置的操作状况的管理表。图19示出了涉及本实施方式的通信控制装置IO的构成。关于图18 的构成,检索电路30及处理执行电路40相当于本发明的数据处理单元, 保持第一数据库50及第二数据库60的构成相当于数据保持单元。在图 18所示的例子中,每个通信控制装置10a、 10b、 10c中设置有数据保持 单元以及与其对应的数据处理单元,这些通信控制装置也可以集中设置 在一个装置内。此外,上述构成也可以是一个数据处理单元参照多个数 据保持单元所保持的数据库来进行数据处理。此外,数据保持单元可以 相当于RAM等存储装置,也可以相当于存储装置内部的一部分区域,多 个存储装置也可以相当于一个数据保持单元。在通信控制装置10的用于数据包处理的数据库中,第一数据库50 的白清单162 (图14 (b))、黑清单163 (图14 ( c))以及第二数据库60 储存的对于每个用户确定可否访问的公共类别清单部分(图16 (d))需 要与用户数成比例的大容量。因此,将这些数据库分开保持在通信控制 装置10a、 10b、 10c、…的数据保持单元中。也就是说,白清单162、黑 清单163相当于本发明的第二数据库。病毒/网络钓鱼网站清单161 (图 14 (a))及公共类别清单164 (图15)由所有用户共同使用并且没有多 大的容量,故共同保持在所有通信控制装置10a、 10b、 10c、…的lt据保 持单元中。如下面所述,在本实施方式的通信控制装置100中,将要处理的通 信数据包提供给操作中的所有通信控制装置10a、 10b、 10c、…,各个通 信控制装置对提供的数据包是否处理进行判断。只有担任该数据包处理 的通信控制装置(即保持有发送该ft据包的用户的凄t据的通信控制装置) 才对数据包进行处理,其他的通信控制装置将该数据包废弃。为此,用 户数据库57是必须的,用户数据库57储存的数据用于判断是哪个通信 控制装置应处理数据包,如果没有的话将无法处理数据包。也就是说, 用户数据库57相当于本发明的第 一数据库。本实施方式中,在所有的通信控制装置10a、 10b、 10c、…中保持储 存所有用户数据的用户数据库57。通信控制装置在得到操作监视服务器 110通知的自己所应负责的用户的用户ID范围后,使用用户数据库57 中被通知范围的用户ID的数据进行用户认证,判断是否处理接收的数据 包。图20示出了设在操作监视服务器110中的管理表111的内部数据的 例子。在管理表lll中设有装置ID栏112、操作状况栏113、用户ID栏 114。在装置ID栏112中储存通信控制装置10a、 10b、…的装置ID,在 操作状况栏113中储存该通信控制装置的操作状况,在用户ID栏114中 储存该通信控制装置应负责的用户的ID范围。操作状况例如有"操作中"、 "待机中"、"故障中"、"数据更新中"等。在每次通信控制装置10a、 10b、…的 操作状况发生变化时,都由操作监视服务器110来更新操作状况栏113。 在图20所示的例子中,由于有"465183"名用户在使用通信控制系统100, 装置ID为'T, ~ "5"的5台通信控制装置10在操作中,装置ID为"6"的通
信控制装置IO处于待机状态。操作监视服务器110监视多个通信控制装置IO操作状况,在检测到 某一个通信控制装置IO发生了问题而处于不能操作的状态时,在将与停 止的通信控制装置IO相同的数据储存在处于待机状态的通信控制装置10 中后,将该通信控制装置IO切换为才喿作。例如,如图21所示,在装置 ID为"2"的通信控制装置10由于故障停止操作的场合,向待机中的装置 ID为"6"的通信控制装置IO储存用户ID为"100001 200000"的数据并使 其开始操作。因此,即使由于某种问题使通信控制装置IO处于停止的状 态,也能够适当地继续操作。在通信控制装置10中,可以预先将某个通 信控制装置10的数据储存起来,使其处于热待机状态,也可以使其处于冷待才几状态。在本实施方式中,在待机中的通信控制装置IO的数据保持单元中预 先储存有用户数据库57。因此,即^f吏某个通信控制装置IO处于不能操作 的状态,也可以立即将待机中的通信控制装置IO切换为操作。如上所述, 由于每个通信控制装置IO使用用户ID判断是否处理数据包,则当某个 通信控制装置IO成为不能操作的状态的情况下,在接收该通信控制装置 10负责的用户的数据包时,处理该数据包的通信控制装置IO将处于不存 在的状态,从而将发生数据包不被处理的情况。为了能尽快从这种情况 中恢复,在待机中的通信控制装置IO的数据保持单元中也预先将用户数 据库57储存起来。这样,操作监视服务器IIO为使处于不能操作状态的 通信控制装置10所负责的用户改由待机中的通信控制装置10来负责, 要通知用户ID的范围。因此,可以使待机中的通信控制装置10立即投 入操作,使得数据包不被处理的情况被限制在最小卩艮度。如果把白清单162和黑清单163等数据库完全储存到待机中的通信 控制装置IO后才开始切换的话,数据库的存储要花费时间,有可能使数 据包不被处理的情况长时间持续。因此,可以在只储存有用户数据库57 后的状态下将待机中的通信控制装置IO切换为操作。由此,虽然不能提 供完全的URL过滤服务,但是可以避免数据包不被处理的情况。而没有络钓鱼网站清单161以及公共类别清单164等共同使用的数据库也可以
预先储存到待机中的通信控制装置10中。这样,当操作切换后,可以提供拒绝访问储存在病毒/网络钓鱼网站清单161中的URL等一部分服务。接下来,对更新通信控制装置10中包含的数据库的步骤进行说明。 数据库服务器150在预定的时机从URL数据库160获取最新数据库并保 持。此外,随着用户的新注册或者退出来更新和保持用户数据库。操作 监视服务器110为了在预定的时机使数据库服务器150所保持的最新数 据反映到通信控制装置10,由数据库服务器150向通信控制装置10传送 数据并使其储存该数据。图22(a)、 (b)、 (c)是用于说明更新数据库的情形的图。图22(a) 与图20同样,装置ID为'T, ~ "5"的通信控制装置10处于操作中,装置 ID为"6"的通信控制装置10处于待机中的状态。操作监视服务器110在 更新数据库的时机到来时,确定处于待机中的通信控制装置IO后,向数 据库服务器150发出对该通信控制装置IO储存数据的指示。在图22 (a) 的例子中,由于装置ID为"6"的通信控制装置IO处于待机中,数据库服 务器150将向该通信控制装置IO储存数据。此时,操作监视服务器110 将装置ID为"6"的4喿作状况栏113变更为"数据更新中"。图22 (b)示出了通信控制装置10的数据库是更新中的状态。数据 库服务器150将才喿作中的通信控制装置IO的其中某一个所负责的用户的 数据储存到待机中的装置ID为"6"的通信控制装置10的用户数据库57 中。同时,也储存病毒/网络钓鱼网站清单161、白清单162、黑清单163、 公共类别清单164以及第二数据库60的数据。在图22 (b)的例子中, 装置ID为"l"的通信控制装置10所负责的用户ID为"OOOOOl ~ 100000" 的用户数据储存在装置ID为"6"的通信控制装置10中。图22 (c)示出了装置ID为"6"的通信控制装置10的数据库被更新 并且开始操作,而装置ID为'T,的通信控制装置10成为待机状态的状况。 操作监视服务器110在对装置ID为"6"的通信控制装置IO储存完数据后, 在启动保持有更新后数据库的装置ID为"6"的通信控制装置10的同时, 停止保持有更新前数据的装置ID"1"的通信控制装置10的操作并使其处 于待机状态。这样,切换至lt据库更新后的通信控制装置10的4乘作。接 下来,在将用户ID为"IOOOOI 200000"的用户数据储存到装置ID为"l"
的通信控制装置io后,启动装置id为"r的通信控制装置10的才喿作,停止装置ID为"2"的通信控制装置IO的操作。之后,同样以巡回的方式 对数据库进行更新,在不停止通信控制系统IOO操作的情况下,能够将 所有的通信控制装置10的数据库进行后台更新。这样,在本实施方式的通信控制装置10中,各个通信控制装置10 中储存的数据不是固定的,某个用户的数据储存在哪个通信控制装置10 中是随时间而变化的。在向各个通信控制装置IO发送数据包之前,如果 要对该用户的数据存在于哪个通信控制装置10中进行判断,则该处理将更费时间。为此,在本实施方式中,将接收的数据包提供给所有的通信控制装置10,各通信控制装置IO对其是否保持有发出数据包的用户的数 据进行判断,只有保持有该用户数据的通信控制装置IO才对该数据包进 行处理,没有保持有该用户数据的通信控制装置IO对该数据包不作处理。下面对实现这种结构的技术进行说明。图23示出了通过多个通信控制装置IO对数据包进行处理而设置的 通信路径控制装置的构成。通信路径控制装置200包括开关210、作为 数据提供单元一例的光分路器220和开关230。开关210将接收的数据包 发送给通信控制装置10。在此,在开关210与通信控制装置IO之间,设 置有向多个通信控制装置10a、 10b、 10c并行提供数据包的光分路器220, 实际上,开关210向光分路器220发送数据包,光分路器220向各个通 信控制装置并行发送数据包。为了向多个通信控制装置10a、 10b、 10c发送数据包,如果将数据 包进行广播变换,将会发生诸如将时间标记附加到报头中等多余的处 理,从而降低处理速度。为此,对数据包不作变更,通过光分路器220 进行分路后,按单播原样向多个通信控制装置10a、 10b、 10c发送数据 包。这种方式在本说明书中称作"并行传播(Z, k》《Y久卜)"。各个通信控制装置不限于只接收发给自己的MAC地址的数据包 的模式,而可以设定为对所有的数据包进行接收而不管其发送目标的 MAC地址,即所谓的混杂模式。各个通信控制装置在从光分路器220 接收混杂模式变换后的数据包时,省去MAC地址的匹配处理,而是 在暂时获取所有的数据包后,参照数据保持单元所保持的用户数据库 57进行在前提技术中说明的用户ID的比对处理,从而判断是否为要 由自己处理的数据包。在图23示出的例子中,由于发出数据包的用户 数据存在于通信控制装置10c中,所以,通信控制装置10a以及10b将 该数据包废弃,通信控制装置10c执行上述的URL过滤处理。通信控制装置10c在访问被禁止等情况下向用户返回数据包时,不 经过光分路器220而是向开关210发送应答数据包。通信控制装置10c 在处理数据包的结果为允许访问的场合,将该数据包向请求该内容的目 标方发送。在通信控制装置10c与上游通信线路之间设置有用于汇总由 多个通信控制装置10a、 10b、 10c发出数据包的开关230。实际上,通信 控制装置10c向开关230发送数据包,而开关230将数据包向上游的通 信线路送出。当开关230接收到由请求该内容的目标方返回的数据包时,由于该 数据包没有必要通过通信控制装置10处理,所以从开关230的端口 232 向开关210的端口 212发送,由开关210向用户送出。 一般来讲,在因 特网中,为了确保回信路径以保证将对于数据包的应答数据包可靠地返 回给发信源,要将发送的路径记录在数据包中。但是,在本实施方式中, 由于在通信控制路径装置200中预先准备有回信路径,所以不用记录路 径,即不对数据包进行加工而在装置之间进行通信。这样,可以省去不 必要的处理,从而提高处理速度。在图23的例子中,描述了只在将用户发出的包含有内容获取要求的 数据包向保持有内容的服务器发送时才处理数据包、而对保持有内容的 服务器向用户发送的数据包则不作处理而使其通过。然而,通信控制装 置IO也可以对双方向的数据包进行处理。而且,也可以不设置由开关230 至开关210的旁路路径。这样,即使不是预先确定多个通信控制装置之中应处理数据包的通 信控制装置,通过对所有的通信控制装置并行传播相同的数据包,能够 使应处理数据包的通信控制装置适当地处理该数据包。当多个通信控制装置中的至少一个通信控制装置接收到数据包,而 该数据包中不包含用户数据库57中所储存的用户ID清单中的任何一个 用户ID时,可以将数据包按原样向网络送出。因此,在接收到任何一个
通信控制装置都没有必要处理的数据包时,都可以使该数据包适当地透 传。当多个通信控制装置使数据包透传时,将会有多个相同的数据包被 送出,因而优选只由其中的某一个通信控制装置使数据包透传。具有这 种功能的通信控制装置称作"主装置",其他通信控制装置称作"次装置"。操作监^L服务器110可以进行控制,将任意一个通信控制装置指定为主装置并使其执行上述功能,将其他通信控制装置指定为次装置并使 其只对自己应负责的数据包进行处理。在这种情况下,主装置对与储存于用户数据库57中的ID清单中自己应处理的用户ID范围相符合的数据 包进行处理,而废弃具有与储存于用户数据库57中的ID相一致、但不 属于自己应负责范围的用户ID的凝:据包。此外,在数据包的用户ID与 储存于用户婆:据库57中的任何用户ID都不一致的场合,对该婆:据包不 作处理而使其透传。次装置只对符合储存于用户数据库57的ID清单中 自己应处理的用户ID范围的数据包进行处理,而废弃其他的数据包。图24示出了由多个通信控制装置中的任意一个对数据包进行处理的 情形。在图24的例子中,通信控制装置10包括通信控制装置10a、 10b、 10c的3台,在用户数据库57中储存有"000001-300000"的用户ID清 单。通信控制装置10a处理用户ID为"000001-100000"的用户的数据包, 通信控制装置10b处理用户ID为"100001-200000"的用户的数据包, 通信控制装置10c处理用户ID为"200001-300000"的用户的数据包。此 外,通信控制装置10a被指定为主装置,通信控制装置10b和10c为次 装置。在此,^底定4^收了用户ID为"148890"的用户的凝:据包。由于该用 户ID包含在储存于用户数据库57的清单中,所以,该数据包必须由某 个通信控制装置处理。在此,处理用户ID为"100001-200000"的数据 包的通信控制装置10b对该数据包进行处理,而通信控制装置10a和10c 废弃该数据包。图25示出了由多个通信控制装置中的任意一个使数据包通过的情 形。与图24的例子同样,假定接收了用户ID为"513482"的用户的数 据包。由于该用户ID未包含在储存于用户数据库57的清单中,所以任 何通信控制装置都没有必要处理。于是,为了对该数据包不作处理而使 其透传,只有被指定为主装置的通信控制装置10a使该数据包通过,其 他的通信控制装置10b、 10c则废弃该数据包。通过这样的技术,可以对 应处理的数据包通过某一个通信控制装置进行适当处理的同时,而使不 应处理的数据包按原样通过。如上所述,这些通信控制装置由于对通过通信^4圣控制装置200进 行并行传播的所有数据包进行处理或者废弃,因此没有必要预先赋予在 互联网上唯一地识别该装置的IP地址。在如上所述的通过服务器装置等 执行数据包处理的场合,有必要考虑服务器装置受到的攻击,而本实施 方式的通信控制装置不会受到来自恶意第三者通过互联网的直接攻击, 因而能够安全地进行通信控制。以上,通过实施方式对本发明进行了说明。本领域的技术人员应该 理解,实施方式仅为示例,本发明还存在对各构成元素或各处理过程进 行组合的各种各样的变型实施例,这些变型实施例也包含在本发明的范 围内。虽然在实施方式中对于为多台通信控制装置中的每一 台设置数据处 理单元和数据保持单元的通信控制系统进行了说明,本发明的技术同样 可以适用于一 台数据处理装置内部包含多个数据保持单元的场合。此外, 在一个数据处理单元参照多个数据保持单元所保持的数据库处理数据的 场合,本发明也同样可以适用。此外,也可以设置两个以上的用于待机 的数据保持单元。产业上的可利用性本发明可以适用于包含多个数据库的数据处理系统。
权利要求
1.数据处理系统,包括数据处理单元,处理获取的数据;多个数据保持单元,储存处理所述数据所使用的数据库,其特征在于,所述多个数据保持单元共同保持第一数据库,并将第二数据库分开而分别保持,所述数据处理系统还包括至少一个能够保持所述第一数据库和被分开的所述第二数据库的数据保持单元。
2. 根据权利要求1所述的数据处理系统,其特征在于,在所述第 一数据库中,储存有用于对应使用被分开的第二数据库中的哪个来处 理所述数据进行判断的数据。
3. 根据权利要求1或2所述的数据处理系统,其特征在于,还包 括管理所述多个数据保持单元的操作状况的操作管理单元,所述操作管理单元使分开并保持所述第二数据库所需要个数的数 据保持单元操作,并使除此以外的数据保持单元待机,在所述数据保持单元中所保持的数据库被更新时,所述操作管理 单元将操作中的数据保持单元中的任意之一所保持的数据库的更新数 据储存到待机中的数据保持单元后,从保持更新前数据库的所述数据 保持单元的操作切换至保持更新后数据库的所述数据保持单元的操 作。
4. 根据权利要求3所述的数据处理系统,其特征在于,所述操作 管理单元在检测到操作中的数据保持单元处于不能操作的状态时,将 该数据保持单元所保持的数据库保持到待机中的数据保持单元中,并 将待机中的数据保持单元切换为操作状态。
5. 根据权利要求3或4所述的数据处理系统,其特征在于,将所 述第一数据库预先储存在所述待机中的数据保持单元中。
6. 根据权利要求3至5的任意一项所述的数据处理系统,其特征 在于,设置有与所述多个数据保持单元分别相对应的多个所述数据处 理单元,所述数据处理系统还包括数据提供单元,其向所述多个数据处理 单元并行提供所获取的数据。
7. 根据权利要求6所述的数据处理系统,其特征在于,所述数据 提供单元将获取的数据原样地并行提供给所述多个数据处理单元而不 做任何加工。
8. 根据权利要求6或7所述的数据处理系统,其特征在于,所述 多个数据处理单元在从所述数据提供单元获取数据时,参照对应的所 述数据保持单元所保持的第一数据库,来判断所获取的数据是否为自 己应处理的数据。
9. 根据权利要求8所述的数据处理系统,其特征在于,所述数据 处理单元是获取数据包以控制通信的通信控制装置,在从所述数据提 供单元获取数据包时,所述数据处理单元直接获取该数据包而不判断 该数据包是否为发给自己的,并参照对应的所述数据保持单元所保持 的数据库,来判断所获取的数据包是否为自己应处理的数据包。
10. 根据权利要求所述的数据处理系统,其特征在于,所述通信 控制装置不是使用所述数据包的报头部分所储存的信息,而是使用数 据部分所储存的信息来判断所获取的数据包是否为自己应处理的数据包。
11. 根据权利要求9或IO所述的数据处理系统,其特征在于,所述通信控制装置参照对应的所述数据保持单元所保持的第 一数据库, 来判断所述数据包是否为自己应处理的数据包。
12.根据权利要求9至11的任意一项所述的数据处理系统,其特据包进行处理,判断出数据包不是自己应处理的数据包的数据处理单 元将该数据包废弃。
13.根据权利要求9至12的任意一项所述的数据处理系统,其特 征在于,在所述第一数据库中储存有ID清单,所述ID清单用于识别 所述多个处理单元中之一处理的数据,所述数据处理单元在得到关于所述第一数据库所储存的ID清单 中包含的应由自己处理的ID范围的通知,并获取了含有处于所述应处 理的ID范围中的相应ID的数据包时,对该数据包进行处理。
14.根据权利要求13所述的数据处理系统,其特征在于,所述多 个数据处理单元中的至少之一在获取的数据包中不包含所述第 一数据 库所储存的ID清单中的任何一个ID时,不对该数据包作处理而使其 按原样通过。
15.根据权利要求9至14的任意一项所述的数据处理系统,其特 征在于,所述数据提供单元不将获取的数据包变换为广播形式,而以 单播形式原样向所述多个通信控制装置并行提供。
全文摘要
本发明提供适当地操作多个数据库的技术。通信控制系统(100)包括用于处理数据包的多个通信控制装置10a、10b、10c、…以及管理多个通信控制装置(10)的操作状况的操作监视服务器(110)。多个通信控制装置(10)将数据包的处理所使用的数据库拆分开进行保持。为分开保持数据库,设置比必需的台数至少多一台以上的通信控制装置(10)。操作监视服务器(110)操作分开保持数据库所需台数的通信控制装置(10)的同时,至少使一台通信控制装置(10)待机。操作监视服务器(110)在更新数据库的同时,将操作中的通信控制装置(10)之一所保持的数据库更新数据保存到待机中的通信控制装置(10)中后,从保持更新前的数据库的通信控制装置(10)的操作切换至保持更新后的数据库的通信控制装置(10)的操作。
文档编号G06F13/00GK101213529SQ200580050928
公开日2008年7月2日 申请日期2005年7月27日 优先权日2005年5月20日
发明者名古屋贡 申请人:Duaxes株式会社