邮件系统中的数据存储服务器的数据存储方法及邮件中继方法

文档序号:6354323阅读:477来源:国知局
专利名称:邮件系统中的数据存储服务器的数据存储方法及邮件中继方法
技术领域
本发明涉及邮件服务器的技术。
背景技术
由于便携式电话的电子邮件(以下表记为邮件)的普及,在提供面向便携式电话或便携式终端(以下称为便携式电话)的通信服务的公司(以下称为便携式通信运营商) 的提供邮件服务的系统(以下称为邮件系统)中要处理大量的邮件。以下对便携式通信运营商的邮件系统的事例进行说明。便携式通信运营商进行将从便携式电话或因特网接收到的邮件中继到目的地的处理或邮件的字符编码、附加的图像等的变换处理,并分发邮件。另外,便携式通信运营商通过分发邮件,向发送侧或接收侧便携式电话收费。通过设置在便携式通信运营商内的称为邮件网关的服务器装置(以下将服务器装置称为服务器)实现上述处理。一般的邮件网关为了中继一封邮件而进行下面的处理。首先,邮件网关从发送侧便携式电话接收邮件,并将所接收的邮件的信息存储在RAM (Random Access Memory) 等易失性存储器(为了保持存储需要电源供电的存储器)和使用磁盘或闪速存储器的 SSD(Solid State Drive)等非易失性存储器(即使没有电源供给也保持存储的存储器) 中,将表示正常接收到了邮件的应答返回到发送侧便携式电话。接着,邮件网关将接收到的邮件中继到目的地邮件转发服务器(MTA =Message Transfer Agent)。当中继成功时,邮件网关删除易失性存储器和非易失性存储器中所存储的邮件的信息,结束处理。上述邮件网关中继邮件的一系列处理一般被称为存储和转发 (Store & Forward)。在邮件网关的邮件的中继处理中,当发生服务器故障,丢失了邮件网关存储在易失性存储器中的邮件信息时,邮件网关将在非易失性存储器中所存储的邮件的信息复制到易失性存储器上继续处理。即,邮件网关通过将所接收的邮件临时存储在非易失性存储器中,能够防止邮件的中继处理中的邮件丢失。但是,向非易失性存储器的存取速度与向易失性存储器的存取速度相比较慢,因此进行上述中继处理的邮件网关向非易失性存储器的存取成为瓶颈。即邮件网关能够在一秒间处理的邮件数(以下表述为分发性能)由于向非易失性存储器的存取而恶化。为了实现向非易失性存储器的存取的高速化,有做成通过SAN(St0rage Area Network)将邮件网关的非易失性存储器的设备连接而成的高速存储装置的方法,但是这些设备在可扩展性、成本、运行方面存在问题。近年来,因为每一个用户的邮件的收发件数的增加和邮件大小的巨大化,所以预见到通信量的增大。根据这样的背景,提高邮件网关的分发性能成为课题。为了提高邮件网关的分发性能,存在以下两种方法·减少作为瓶颈的向非易失性存储器的存取或使其高速化(以下表述为存取性能提高方法)。·横向扩展非易失性存储器及邮件网关(增加台数来谋求性能提高)来提高整体性能(以下表述为规模提高方法)作为存取性能提高方法的实现方法,有邮件网关将所接收到的邮件存储在易失性存储器中而不存储在非易失性存储器中的方法。一般来讲,上述技术是被称为分布式内存缓存(distributed in-memory cache)、内存键值存储(in-memory key-value store)或内存数据网格(in-memory data grid)的技术(关于规模提高方法,在将一般的分布式内存缓存应用到邮件网关中时会发生扩展性问题,因此,在此对规模提高方法不予考虑)。在上述方法中,为了防止因邮件网关的服务器故障导致的邮件丢失,考虑了如下方法设置邮件网关以外的存储邮件的服务器装置(以下表述为数据存储服务器),将邮件也存储在数据存储服务器的易失性存储器中。由此,只要邮件网关和数据存储服务器不同时发生服务器故障,邮件网关就能够防止在中继处理中丢失邮件。但是,在该方法中,当在设置邮件网关和数据存储服务器的场所发生电源故障时有可能丢失邮件。另外,邮件网关在向邮件转发服务器中继邮件失败时,必须保持邮件几个小时到几天,直到中继失败的邮件的中继成功为止,因此邮件网关和数据存储服务器同时发生故障的概率变高。作为解决上述课题的一个方法,有日本特开平8463348号公报(以下称为文献1) 的方法。该方法采取存取性能提高方法。文献1的技术预先对各数据赋予表示是易失性存储器的数据还是非易失性存储器的数据的属性信息。当运行开始时,数据存储服务器根据属性信息,将全部存储在非易失性存储器中的数据,如果是应该保持在易失性存储器中的数据就复制到易失性存储器。当应用程序指定存取对象数据时,数据存储服务器判断是易失性存储器的数据还是非易失性存储器的数据,然后对易失性存储器或非易失性存储器进行存取。当将其应用到邮件网关时,邮件网关将必须长期保持的数据(例如邮件中继失败的邮件)存储到非易失性存储器,将除此以外的数据存储到易失性存储器,由此能够减少向非易失性存储器的存取。但是,文献1的方法以数据存储服务器预先对所保持的数据附加决定向易失性存储器还是向非易失性存储器存储的属性信息为前提,在邮件网关这样的进行存储和转发的服务器所进行的处理中,存储的数据几乎都是新数据,因此无法对应。另外,在文献1中没有考虑规模提高方法。例如在并用文献1的方法和横向扩展的情况下,需要如何把握怎样将在数据存储服务器中存储的数据进行分散来横向扩展、或邮件网关107将哪个数据放入到数据存储服务器中等机制,但是在文献1中并未对此进行公开。另外,以上的课题是邮件系统的例子,但是在向通信终端提供商品或服务的服务提供商的系统中也存在同样的课题。服务提供商装置为了提供商品或服务,通过 RDB (Relational Database)等管理便携式电话的用户信息,通过Web服务器处理上述用户信息来提供服务。将RDB的数据存储在通过SAN连接的存储装置等中,因此存在对非易失性存储器的存取成为瓶颈和难于横向扩展的问题。服务提供商装置为了向更多的通信终端提供服务,与邮件系统同样地需要采取存取性能提高方法和规模提高方法。专利文献1日本特开平8463348号公报

发明内容
在本说明书中公开了如下技术设置邮件网关和一个以上的数据存储服务器,通过邮件网关和数据存储服务器间的通信方法和数据的存储方法,提高邮件网关的分发性能。具体来讲,公开了分别与存取性能提高方法和规模提高方法对应的以下处理。·邮件网关和数据存储服务器在邮件中继处理中,为了降低数据丢失的可能性,将长期保持的可能性大的数据、重要性高的数据存储在易失性存储器和非易失性存储器两方中,这之外的数据存储在多个服务器的易失性存储器中,而不存储在非易失性存储器中,由此来减少对非易失性存储器的存取。另外,也可以通过将对非易失性存储器的多个存取汇总为一个存取来实现对非易失性存储器存取的高速化。·为了实现邮件网关和数据存储服务器的可扩展性,将邮件网关和数据存储服务器内保持的队列对应起来进行管理,数据存储服务器进行上述对应起来的邮件网关的生存监视以及邮件网关的故障时的处理。公开的邮件系统具有邮件网关和具备易失性存储器及非易失性存储器的数据存储服务器,邮件网关和数据存储服务器互相合作,能够以二重或二重以上的方式来保持数据。在邮件网关处理的数据中有邮件、与费用相关的信息、拒绝接收的垃圾邮件等在邮件网关间共享的信息等种类。邮件网关根据数据的种类、邮件中继的处理状态以及邮件中继的结果等,判定写入到非易失性存储器和易失性存储器,还是写入到易失性存储器中而不写入到非易失性存储器。例如,邮件网关判定为写入到易失性存储器而不写入到非易失性存储器的情况为无法向邮件转发服务器发送邮件,从邮件转发服务器接收到暂时出错(temporary error)的情况;以及与费用有关的信息等重要的数据的情况等。另外,邮件网关在邮件中继处理中向数据存储服务器发出将相同数据写入到非易失性存储器和易失性存储器的请求、或作为写入目的地指定易失性存储器而不指定非易失性存储器的请求等,数据存储服务器根据接收到的请求进行处理。另外,数据存储服务器具有如下功能即使没有来自邮件网关的请求,也将未在非易失性存储器中存在、而在易失性存储器中存在的数据复制到非易失性存储器,并向邮件网关通知。此时,为了实现向非易失性存储器的写入处理的高速化,数据存储服务器可以将多个数据进行汇总后写入到非易失性存储器。数据存储服务器将上述接收到的数据存储到与作为发送源的邮件网关对应起来的队列中。队列在易失性存储器中存在,并且在使用非易失性存储器时作为备份存在于非易失性存储器中。数据存储服务器,接收在邮件网关启动时(或故障等的再启动时)所发送的信息,并将邮件网关和队列对应起来。数据存储服务器根据上述队列的信息进行如下处理存储在队列中的数据的存取控制、在更新存储在队列中的数据时发送更新通知的处理、 与队列对应的邮件网关的生存监视、以及邮件网关故障时的处理等。具体的一个方式是提供一种邮件系统,该邮件系统具备从邮件发送装置接收邮件的邮件服务器和存储邮件和/或与该邮件有关的关联信息的数据存储服务器,在该邮件系统中,邮件服务器具备如下功能生成与邮件有关的关联信息;生成与邮件和/或关联信息的存储有关的控制信息;以及将邮件和/或关联信息和控制信息发送到数据存储服务器, 数据存储服务器具备用于存储的非易失性存储器和易失性存储器;根据所述控制信息决定邮件和/或关联信息的存储方法的数据管理部;以及按照所决定的存储方法,将邮件和/ 或关联信息存储到非易失性存储器和/或易失性存储器的数据管理部。另外,在上述邮件系统中,可以如下地构成生成邮件服务器的关联信息的功能, 生成设定将邮件和/或关联信息写入到非易失性存储器和易失性存储器的两方、或请求将邮件和/或关联信息写入到易失性存储器和非易失性存储器中的某一方而不请求写入到另一方的控制信息,数据存储服务器的数据管理部根据控制信息来存储邮件和/或关联信息。根据本发明,提供一种能够防止服务器故障时的数据丢失并且具有高分发性能的邮件系统。另外,也能够确保邮件系统的可扩展性。


图1是举例表示第一实施例的系统的结构的图。图2是举例表示在各实施例中应用的邮件网关106的结构的图。图3是举例表示在各实施例中应用的数据存储服务器107的结构的图。图4是举例表示存储数据和存储应答的内容的图。图5是举例表示邮件网关106的邮件中继时序的图。图6是举例表示在无法向邮件转发服务器105发送邮件的状态下的邮件网关106 的邮件中继时序的图。图7是举例表示从多个邮件网关106参照存储在数据存储服务器107中的信息的时序的图。图8是举例表示邮件网关106的启动时序和生存确认的时序的图。图9是举例表示邮件网关106的故障发生和恢复时序的图。图10是举例表示数据存储服务器107的数据存储处理流程的图。图11是举例表示数据存储服务器107的数据存储处理流程的图。图12是举例表示第二实施例的系统的结构的图。图13是举例表示第三实施例的系统的结构的图。图14是举例表示第三实施例的系统的时序的图。
具体实施例方式以下参照附图对实施例进行说明。图1是本实施例中的系统结构的一个例子。在该图中,符号101是通信终端,符号102是无线网,符号103是运营商设备网,符号104是因特网等网络,符号105是邮件转发服务器,符号106是邮件网关,符号107是数据存储服务器(storage system),符号108是收费服务器。通信终端101表示便携式电话终端或PC等能够进行数据通信的终端装置,经由无线网102与运营商设备网103连接。无线网102是便携式电话通信运营商管理的无线网络。 运营商设备网103是将来自无线网102的通信中继到因特网104、邮件网关106以及数据存储服务器107的网络及网络设备。
通过管理本实施例的邮件网关106的便携式电话通信运营商来管理无线网102和运营商设备网103。邮件转发服务器105也称为MTA,经由因特网104与邮件网关106进行邮件的收发。邮件转发服务器105设置在因特网供应商或管理运营商设备网103的便携式电话通信运营商以外的便携式电话通信运营商、即其它通信运营商所管理的设备网中。邮件转发服务器105进行将从邮件网关106接收到的邮件中继到目的地的处理、以及与此相反将管理邮件转发服务器105的其它通信运营商的邮件中继到邮件网关106的处理。在以下的说明中,为了简化,对从邮件网关106向邮件转发服务器105的邮件发送进行说明,但是本实施例并不限于此,也能够应用到从邮件转发服务器105向邮件网关106 的邮件发送。邮件网关106被设置在运营商设备网103中,接收通信终端101向运营商设备网 103发送的邮件,并将邮件中继到邮件转发服务器105。在本实施例中,通过多台邮件网关 106来分散负荷,如邮件网关106a那样将字母作为下标来表记的符号表示特定的服务器单体,在统称的情况下,不附带下标地进行表记。在本实施例中,不限定在邮件网关106和通信终端101之间、邮件网关106和邮件转发服务器105之间的通信协议,但是一般来讲使用SMTP、ESMTP (Extended SMTP)、 MMS (Multimedia Messaging Service)中的某一个。此夕卜,艮口使应用 HTTP (Hypertext Transfer Protocol)、IMAP(Internet Message Access Protocol)、POP (Post Office Protocol)等协议也能够实现。数据存储服务器107被设置在运营商设备网103中,接收来自邮件网关106的邮件或与收费有关的信息(以下称为收费信息)、与垃圾邮件有关的信息等数据并进行存储。 另外,在邮件网关106中发生故障时,数据存储服务器107将上述所存储的数据发送到邮件网关106。在本实施例中,对邮件网关106和数据存储服务器107为一对一的情况进行说明,但是也能够使邮件网关106和数据存储服务器107为一对多,来实现在数据存储服务器间互相保持数据。例如,在邮件网关106和数据存储服务器107为一对二时,邮件网关106 将数据发送到数据存储服务器107,接收到数据的数据存储服务器107将数据发送到另一台数据存储服务器107,对数据进行双重化。另外,邮件网关106也能够分别将数据发送到两台数据存储服务器107来将数据双重化。收费服务器108被设置在运营商设备网103中,从邮件网关106接收收费信息。便携式通信运营商根据在该收费服务器中所存储的收费信息,进行向通信终端101的收费。图2是实现邮件网关106的信息处理装置的硬件结构。实现邮件网关106的信息处理装置包含处理器202、易失性存储器207、非易失性存储器209、用于向运营商设备网103收发数据的输入输出电路接口 203以及将它们连接的总线等内部通信线来构成。易失性存储器207存储有邮件网关程序204,还具备存储数据的易失性存储部 205。在邮件网关程序204中记录实现邮件网关106从通信终端101接收邮件并中继到目的地邮件服务器的处理的各种控制程序,通过处理器202被执行。可以将程序预先存储在邮件网关程序204中,也可以经由未图示的能够拆装的存储介质或通信介质(即网络或在其中传播的数字信号或载波)导入到邮件网关程序204。在易失性存储部205中存储由邮件网关程序204管理的数据。如果由于电源故障或服务器故障导致发生服务器停止或再启动,则存储在易失性存储部205中的信息就会丢失。非易失性存储器209具备非易失性存储部208。在非易失性存储部208中存储由邮件网关程序204管理的数据。即使发生由于电源故障或服务器故障导致的服务器的停止或再启动,也能够保持在非易失性存储部208中所存储的信息。图3是实现数据存储服务器107的信息处理装置的硬件结构及软件结构。实现数据存储服务器107的信息处理装置包含处理器302、易失性存储器307、非易失性存储器 309、用于对运营商设备网103收发数据的输入输出电路接口 303以及将它们连接的总线等内部通信线来构成。在易失性存储器307中存储有数据存储服务器程序304,还具备存储数据的易失性存储部305。在数据存储服务器程序304中记录实现数据存储服务器107从邮件网关106 接收邮件或收费信息等数据并存储的处理的各种控制程序,通过处理器302被执行。可以将程序预先存储在数据存储服务器程序304中,也可以经由未图示的可拆装的存储介质或通信介质(即网络或在其中传播的数字信号或载波)导入到数据存储服务器程序304中。在易失性存储部305中存储数据存储服务器程序304管理的数据。如果发生因电源故障或服务器故障导致的服务器的停止或再启动,则在易失性存储部305中所存储的信息丢失ο非易失性存储器309具备非易失性存储部308。在非易失性存储部308中存储由数据存储服务器程序304管理的数据。即使发生因电源故障或服务器故障导致的服务器的停止或再启动,也能够保持在非易失性存储部308中存储的信息。数据存储服务器程序304包含元数据管理部(super node program) 312和数据管 JMrP (data node program) 313 而构元数据管理部312是用于管理在数据存储服务器107中存储的数据及数据管理部 313的数据,即管理元数据的部分。元数据管理部312保存存储在数据存储服务器107中的数据长度(data size)或数据配置、当前使用的数据长度及其区域、能够使用的数据长度及其区域、以及对各数据的存取权等信息。数据存储服务器107为多台时,只要一台具备元数据管理部312即可,在其它数据存储服务器107中,数据管理部313不是必需的(可以作为元数据管理部312的备份来具备)。在上述情况下,元数据管理部312管理多台数据存储服务器107的数据管理部313, 并保存如下信息整体的数据长度或数据的配置、当前使用的数据长度及其区域、能够使用的数据长度及其区域、数据被存储在哪个数据存储服务器107中、以及在哪个数据存储服务器107间复制了数据。数据管理部313管理在数据存储服务器107的易失性存储器307或非易失性存储器309中存储的数据。数据管理部313将队列数据321、数据340、数据管理信息341存储在易失性存储器305和非易失性存储器308中。数据管理部313主要使用与易失性存储器305的队列数据321关联的数据340、数据管理信息341来管理数据。在非易失性存储器308中存储被设定为存储在非易失性存储器中的数据340和数据管理信息341。数据340是数据管理部313所存储的邮件、收费信息以及垃圾邮件信息等数据,数据管理信息341是用于管理数据340的信息。后面通过图4阐述数据管理信息341的内容。通过包含队列ID322、队列长度(queue length) 323、队列类别324、复制信息325、 日期时间信息326、管理服务器(owner node) 327、存取服务器(allowed client node) 328, 存取信息(client information) 329、故障信息330来构成队列数据321。另外,将队列数据 321与数据存储服务器107存储在易失性存储部305或非易失性存储部308中的数据340 及数据管理信息341对应起来进行管理。数据存储服务器107的数据管理部313为了存储数据,将数据340与队列数据321关联,并将数据存储到易失性存储部305或非易失性存储部 308。队列ID322是用于唯一识别队列的识别符。队列长度323表示能够存储在队列数据321中的数据的数量及数据长度双方(以下称为队列长度)。在队列类别324中设定队列的优先度、用途。在本实施例中,在一个队列数据321 中并存如下三种数据未存储在非易失性存储器中而向易失性存储器存储的数据、向非易失性存储器和易失性存储器存储的数据、向非易失性存储器存储而未存储在易失性存储器中的数据。另外,作为其它方法,可以在队列类别3M中指定队列的存储目的地,并分别生成上述三种数据用的队列数据321。此时,在队列存储目的地中设定易失性存储器、易失性存储器和非易失性存储器、或非易失性存储器中的某一个。如果队列类别3M是存储在易失性存储器中的设定,则将与队列数据321关联的数据340、数据管信息341存储在易失性存储器中而不存储在非易失性存储器中。如果队列类别3M是存储在易失性存储器和非易失性存储器中的设定,则将与队列数据321关联的数据340、数据管理信息341存储在易失性存储器和非易失性存储器中,并且将在非易失性存储器中所存储的队列数据321、数据 340、数据管理信息341作为备份来使用。如果队列类别3M是存储在非易失性存储器中的设定,则将队列数据321暂时存储到易失性存储器和非易失性存储器中,数据340、数据管理信息341在被存储到非易失性存储器之前被保存在易失性存储器中,数据340、数据管理信息341在被存储到非易失性存储器之后被从易失性存储器中删除。在数据存储服务器107为多个时使用队列的优先度,邮件网关106使用最高的优先度(以下称为主数据存储服务器(primary))。主数据存储服务器以外的队列不由邮件网关106识别,通常作为数据存储服务器107间的备份,在主数据存储服务器发生故障时作为主数据存储服务器的代行来使用。另外,作为用途,能够设定是否使用非易失性存储器的选择、是否将邮件网关106与队列一一对应起来的选择等。在数据存储服务器107之间有主数据存储服务器和备用数据存储服务器的关系时,在复制信息325中存储哪里的数据存储服务器107是主数据存储器或者是备用数据存储服务器这样的信息。在日期时间信息326中存储数据存储服务器107生成队列数据321的日期和时刻 (称为日期时间)以及最终更新的日期时间。在管理服务器327中存储用于唯一识别与队列数据321对应的邮件网关106的信息,例如IP地址。数据存储服务器107与作为管理服务器的邮件网关106相互进行生存监视,在故障发生时将通知发送到元数据管理部312(通过图8、图9进行详细说明)。在存取服务器328中存储具有存储数据400的管理权限或存取权限的邮件网关106的服务器的IP地址、或能够唯一识别邮件网关106的识别信息。在存取服务器328中能够存储多个邮件网关106的识别信息。在存取信息329中设定与存取服务器3 —一对应的邮件网关106的读取、写入的权限。数据存储服务器107除了一般的文件系统的存取权限的功能外,还具有自动向存取服务器328中设定的多个邮件网关106通知数据的更新的功能(通过图7进行详细说明)、或以在存取服务器3 中设定的邮件网关106为单位实现参照了存取信息3 的存取限制。也能够在存取服务器3 中设定预先登录在数据存储服务器107中的全部邮件网关 106。故障信息330是在管理服务器327中所设定的邮件网关106中发生故障时,数据存储服务器107存储的信息。具体来讲,设定了故障发生日期时间、故障检测内容(通过图 9进行详细说明)。在本实施例中,在一个数据存储服务器107(数据存储服务器程序304)内并存元数据管理部312和数据管理部313,但是也可以将元数据管理部312分割到一个数据存储服务器,将数据管理部313分割到另一个数据存储服务器。如上述那样分割元数据管理部312 和数据管理部313的结构在横向扩展邮件系统时有效。此时,邮件网关106在向数据存储服务器进行数据写入时,首先对具有元数据管理部312的数据存储服务器进行元数据的更新,接着将数据发送到具有数据管理部313的数据存储服务器。图4是表示在邮件网关106和数据存储服务器107之间交换的数据的例子的图。 在该图中,符号400表示在邮件网关106和数据存储服务器107之间存储数据时使用的数据的结构(以下称为存储数据),符号450表示在进行队列登录时从邮件网关106向数据存储服务器107发送的数据的结构(以下称为登录请求)(通过图8、图9进行说明),存储数据400通过包含存储数据头411、有效载荷(paylOad)410来构成。数据存储服务器107在接收到存储数据400时,将存储数据400存储到易失性存储器(根据情况也可以是非易失性存储器),解析在存储数据头411中包含的控制信息,数据存储服务器107 将存储数据400存储到数据管理区域341,复制存储数据头411中包含的控制信息的内容。有效载荷410是邮件网关106存储的数据的主体。例如存储邮件、收费信息、垃圾邮件信息、日志等数据。另外,如果是数据存储服务器107已保存的数据的更新,则能够在有效载荷410中包含用于更新的差分数据。存储数据头411作为控制信息而包含数据长度(data length)401、数据类别 402、状态码403、序列ID404、密钥(key) 405、处理期限406、状态迁移日期时间(state transition time) 407、存取信息(client information) 408、时间戳 409 以及复制次数 412。数据长度401是存储数据400的整体长度。数据类别402是表示该数据是什么用途的值,数据存储服务器107参照该值来决定怎样处理数据。以下表示在本实施例中设定的数据类别402的例子。 要求或应答的设定。从邮件网关106向数据存储服务器107发送请求,数据存储服务器107发送应答。·新存储或已存储的数据的更新、删除、状态查询、请求的撤销等数据存储服务器 107进行的处理的设定。关于已存储的数据,数据存储服务器107对密钥405—致的数据进行处理。·数据的存储目的地的设定(作为写入目的地,是指定易失性存储器不指定非易失性存储器、指定易失性存储器和非易失性存储器、不指定易失性存储器而指定非易失性存储器中的某一种)。·在向非易失性存储器的写入中,同步写入或异步写入的设定。所谓向非易失性存储器的同步写入是指关于数据存储服务器107从邮件网关 106接收到的存储数据400,在对非易失性存储器的写入结束后向邮件网关106返回应答。 另外,异步写入是指关于上述存储数据400,不等待对非易失性存储器的写入结束,例如在数据存储服务器107从邮件网关106接收到存储数据400的时刻就向邮件网关106返回应答。同步写入,在邮件网关106从数据存储服务器107接收到应答的时刻,保证存储数据400在非易失性存储器中,相反,在异步写入的情况下,即使邮件网关106接收到应答,也无法保证存储数据400在非易失性存储器中。另外,在异步写入中,数据存储服务器107也可以将对非易失性存储器的写入与其它存储数据400的对非易失性存储器的写入一起进行写入。通过一起写入,能够实现对非易失性存储器的写入处理的高效化,结果是能够实现对数据存储服务器107全体的非易失性存储器的写入处理的高速化。 状态迁移日期时间407经过后的处理设定(对非易失性存储器复制、删除以及无效化等)。 非易失性存储器的类别的设定(SSD、硬盘、NAS(Network Attached Storage)以及SAN等)。·在有对非易失性存储器的存取时,数据存储服务器107是否能够变更处理期限的设定。另外,在上述项目中,能够在数据类别402中设定的并非一个项目,可以在数据类别402中存储多个项目。在数据类别402为应答时,在状态码403中存储应答的细节即状态码,如果不是应答则不使用。序列ID404是表示唯一识别在邮件网关106和数据存储服务器107之间的数据交换的识别符,对存储数据400和其应答(存储应答420)分配相同识别符。邮件网关106,每当向数据存储服务器107发送数据时,发行不同的序列ID404。密钥405是用于唯一识别存储数据400的识别符,为了存储数据,由邮件网关106 进行设定。通过密钥405来决定对存储数据进行存储的数据存储服务器107的数据管理部 313。在本实施例中,也能够使用密钥405将发送存储数据400的邮件网关106、和具有上述邮件网关106是管理服务器327的队列数据321的数据存储服务器107联系起来。数据存储服务器107能够进行如下处理对通过密钥405所指定的数据进行更新、 删除、所指定的数据是否在非易失性存储器中等的状态查询、所指定的密钥正在进行处理时的取消、以及将在易失性存储器中而不在非易失性存储器中的数据复制到非易失性存储
ο处理期限406是数据存储服务器107处理数据的时间的期限日期时间,数据存储服务器107不超过处理期限406地进行处理。在经过处理期限406仍无法处理的情况下, 将出错应答返回到邮件网关106。
状态迁移日期时间407是数据存储服务器107使数据的状态(state)迁移的日期时间。在即使经过状态迁移日期时间407,数据仍存在于易失性存储器或非易失性存储器中时,数据存储服务器107进行在数据类别402中指定的处理(数据的状态迁移)。例如,邮件网关106能够设定将数据暂时存储在易失性存储器中,经过状态迁移日期时间407后, 数据存储服务器107自动地存储到非易失性存储器。另外,邮件网关106还能够设定在经过状态迁移日期时间407后删除数据,拒绝对数据的存取等。在存取信息408中与存取信息3 同样地存储数据的存取权限。也能够通过选择, 在存取信息408中附加存取服务器328的信息。时间戳409是邮件网关106所附加的日期时间。在邮件网关106和数据存储服务器107之间、或数据存储服务器107为多台时在数据存储服务器之间数据出现不同时,邮件网关106为了判断哪个数据正确而使用时间戳409。另外,也可以指定数据的版本(更新次数)来代替时间戳409。复制次数412决定在几台数据存储服务器107中存储存储数据400。例如如果复制次数412设定为“2”,则表示两台数据存储服务器107分别存储存储数据400(以下将向多台数据存储服务器107存储存储数据400的副本表述为数据复制)。数据存储服务器107 在接收到的存储数据400为“2”以上时,从复制次数412中减“1”,并将存储数据400转发到其它的数据存储服务器107(通过图10进行详细说明)。登录请求(initiationrequest) 450 通过包含登录类别(initiation type) 451, 队列长度(queue length) 452、队列类别453、复制信息454、存取服务器455、存取信息456 以及协议信息457来构成。登录类别451表示邮件网关106作为新连接登录到数据存储服务器107的元数据管理部312还是作为再连接进行登录。队列长度452是邮件网关106要确保的队列长度,由数据存储服务器107反映到队列数据321的队列长度323。同样,队列类别453、复制信息454、存取服务器455、存取信息456与队列数据321的各项目对应。协议信息457是邮件网关106与队列数据321通过哪个协议进行通信、通过哪个协议以哪个端口进行通信的信息,在本实施例中,存储通信协议是TCP (Transmission Control Protocol)、 UDP (User Datagram Protocol)独自,还存储使用的端口。图5是举例表示邮件的中继时序的图。在邮件的中继时序中,在邮件网关106和数据存储服务器107的数据管理部313 之间进行存储数据400、存储应答420的数据交换,但是在以下的说明中,为了说明邮件的中继处理中特有的时序,不表记存储数据400,而通过在有效载荷410中所存储的数据的种类来表记。在有效载荷410中所存储的数据中没有名称时,直接用存储数据400来表记。 另外,从数据存储服务器107向邮件网关106发送的、表示应答的存储数据400表记为存储应答。另外,数据存储服务器107将数据存储在易失性存储部305和非易失性存储部308 中,但是另一方面,因为仅从数据存储服务器107进行非易失性存储器和易失性存储器的判别,所以将数据存储服务器107的存储场所也统一表现为易失性存储器和非易失性存储器。首先,通信终端101将邮件506发送到邮件网关106。接着,邮件网关106进行判定发送目的地的域(Domain)的处理(步骤507)。所谓发送目的地的域,是指邮件的目的地邮件地址的单价符号(atmark)(@)以后的部分,邮件网关106通过向DNS(Domain NameSystem)服务器查询发送目的地的域,可以判定应该向哪个邮件转发服务器105发送。在步骤507中,邮件网关106根据发送目的地的域,来判定存储在易失性存储器中还是存储在非易失性存储器中。例如,如果发送目的地域是便携式通信运营商或大型因特网供应商等能够信任的域,则从邮件网关106向邮件转发服务器105的邮件发送(步骤 516)中失败的可能性较低,因此判定为不在非易失性存储器中存储,而在易失性存储器中存储。另外,如果是已经积压了无法发送到邮件网关106的邮件的域、或过去发送失败频发的域,则邮件网关106判定为存储到非易失性存储器和易失性存储器的双方。接着,邮件网关106将邮件508发送到数据管理部313。此时,在邮件508的数据类别402中设定了向易失性存储器进行新写入、在经过状态迁移日期时间407后复制到非易失性存储器。接着,数据管理部313根据所接收到的邮件508,进行存储到易失性存储器的处理 (步骤509)。在步骤509中,在进行存储的处理成功的情况下,数据管理部313向邮件网关106返回表示成功的存储应答510,邮件网关106向通信终端101发送正常应答(步骤 511)。数据管理部313在存储应答510的数据类别402中设定表示应答的编码。虽然在图 5中没有记载,但是当在步骤509中存储失败时,数据管理部313向邮件网关106返回表示失败的存储应答510,在步骤511中邮件网关106向通信终端101返回出错应答。接着,邮件网关106进行生成收费信息的处理(步骤51幻。接下来,邮件网关106 将收费信息和控制信息发送到数据管理部313 (步骤512)。邮件网关106判定收费信息为重要,并在收费信息513的数据类别402中进行如下设定对非易失性存储器和易失性存储器进行新写入、在进行向非易失性存储器的写入时设定处理期限、以及同步进行对非易失性存储器的写入。接着,数据管理部313根据接收到的收费信息513进行存储到易失性存储器和非易失性存储器的处理(步骤509)。在步骤509中,数据管理部313进行向非易失性存储器的写入,但是如果有其它向非易失性存储器的写入则汇总在一起处理,并在对非易失性存储器的写入结束后,发送存储应答515。接着,数据管理部313将存储应答515发送到邮件网关106。接下来,邮件网关106将邮件516发送到邮件转发服务器105。接着,邮件转发服务器105将应答517发送到邮件网关106。如果邮件转发服务器105正常接收邮件516,则发送是正常应答的应答517,前进到步骤519。在邮件转发服务器105暂时无法接收邮件 516的情况下,发送表示暂时出错(temporary error)的应答517,前进到步骤528。在没有来自邮件转发服务器105的应答517,邮件网关106在应答等待中超时的情况下,前进到步骤Ml。当应答517为正常应答时,邮件网关106将收费信息519发送到收费服务器108。接着,收费服务器108将正常应答520发送到邮件网关106。接着,邮件网关106 发送邮件/收费信息删除521。此时,在邮件/收费信息删除521的数据类别402中设定了密钥一致的数据的删除。接下来,数据管理部313根据邮件/收费信息删除521进行删除与所指定的密钥一致的数据的处理,处理结束时将正常应答522发送到邮件网关106。接着,邮件网关106进行生成日志信息的处理523,并将日志5M发送到数据管理部313。此时,在日志524的数据类别402中,作为写入目的地,指定非易失性存储器而不指定易失性存储器,并且设定向非易失性存储器的写入为异步。接着,数据管理部313根据接收到的日志524,进行不写入到易失性存储器,而是异步地存储到非易失性存储器的处理(步骤525)。在步骤525中数据管理部313将日志5 暂时写入到易失性存储器的时刻,发送存储应答526,并将写入到易失性存储器的数据复制到非易失性存储器,删除易失性存储器中的数据。在应答517为暂时出错应答时,邮件网关106发送存储数据528。在存储请求5 的数据类别402中设定将与密钥一致的数据复制到非易失性存储器、存在处理期限406。 接着,数据管理部313根据接收到的存储数据528,将已经存在于易失性存储器上的、密钥一致的数据向非易失性存储器复制(步骤530)。接着,数据管理部313将存储应答530发送到邮件网关106。接着,邮件网关106等待向邮件转发服务器105的邮件再发送,如果变成能够再发送的状态,则返回到步骤516。在没有来自邮件转发服务器105的应答517,邮件网关106等待应答超时的情况下,成为等待向邮件转发服务器105再发送邮件的状态(步骤Ml)。如果从步骤541变成能够再发送的状态,则返回到步骤516。接着,数据管理部313检测出经过邮件508的状态迁移日期时间407,将已经在易失性存储器中的邮件508复制到非易失性存储器(步骤M2)。 在本实施例中,通过邮件网关106的应答等待超时和邮件508的状态迁移日期时间407的值的设定,按照步骤Ml、步骤542的顺序发生步骤。接着,数据管理部313向邮件508的存取服务器408中所记载的邮件网关106发送表示已将数据复制到非易失性存储器的存储应答M3。另外,步骤M2中也可以仅在发生了错误时发送存储应答M3,没有存储应答543 本身也能够实现。图6是举例表示无法向邮件转发服务器105发送邮件的状态持续一定期间时的邮件网关106的邮件的中继时序的图。无法向邮件转发服务器105发送邮件的状态持续的原因是正处于对邮件转发服务器105的故障或拥挤状态中,或邮件网关106和邮件转发服务器105之间的网络处于不通状态等。在上述情况下,邮件网关106向不可发送状态下的邮件转发服务器105的邮件全部出错,必须保存邮件直到能够向邮件转发服务器105发送为止。如通过图5所说明的那样,在邮件中继时序中,在来自邮件转发服务器的应答为暂时出错或无应答时,数据管理部313最终进行复制到非易失性存储器的处理。在无法将邮件发送到邮件转发服务器105的情况下,特别是在向邮件转发服务器105的邮件通信量较大时, 数据管理部313的向非易失性存储器复制的处理成为瓶颈的可能性较高。因此,在图6中, 为了解决上述问题,数据管理部313根据数据管理部313的情况,进行将向非易失性存储器的复制处理汇总起来的处理。在图6中,邮件网关106和邮件转发服务器105之间成为一定期间以上无法连接 (步骤60 的状况。最初,通信终端101将邮件606发送到邮件网关106。接着,邮件网关 106进行判定邮件606的发送目的地是否是当前无法转发的域(以下表记为限制域)的处理 607。邮件网关106针对每个发送目的地域来管理邮件,当发往某个域的邮件无法发送时,发往上述域的邮件滞留。邮件网关106在滞留的邮件超过了预定的阈值时,判断出上述域为限制域。另外,邮件网关106在规定时间内的邮件的发送失败数为预定的阈值以上时, 也判断出该域为限制域。另外,也可以由邮件网关106的操作员通过手动设定限制域。在步骤607中,如果以上那样判定出的限制域与邮件606的发送目的地一致,则在规定时间以上期间无法发送邮件606,因此邮件网关106决定将邮件606也存储到非易失性存储器。接着,邮件网关106将邮件608发送到数据管理部313。此时,在邮件608的数据类别402中设定对非易失性存储器和易失性存储器进行新写入、以及异步进行向非易失性存储器的写入。接下来,数据管理部313根据接收到的邮件608进行存储到易失性存储器的处理 (步骤609)。在步骤609中,当存储的处理成功时,数据管理部313将表示成功的存储应答 610返回到邮件网关106,邮件网关106将正常应答611发送到通信终端101。接着,邮件网关106成为等待向邮件转发服务器105再发送的状态(步骤620),如果成为能够再发送的状态,则返回到步骤608。接着,数据管理部313接着步骤609,将多个向非易失性存储器的复制汇总在一起后进行处理612。数据管理部313决定步骤609和步骤612的间隔(通过图11说明决定方法)。数据管理部313通过其它邮件在数据类别402中设定对非易失性存储器和易失性存储器进行新写入、以及将向非易失性存储器写入时等待时间设为最小的情况下,在图6的状态下数据管理部313也可以采用无视处理期限408的方法。接着,对通信终端101发送了与邮件606不同的邮件613的情况进行说明。邮件网关106接收邮件613,将邮件615发送到数据管理部313。此时,在邮件613的数据类别402中设定向非易失性存储器和易失性存储器进行新写入、和同步向非易失性存储器的写入。接着,数据管理部313根据接收到的邮件608,进行存储到易失性存储器的处理, 但是检测出超过了数据管理部313的向非易失性存储器的复制处理的界限阈值(步骤 621),返回为出错的存储应答616。在存储应答616的状态码403中设定表示向非易失性存储器的写入处理出错的状态。邮件网关106在接收到存储应答616时,将作为出错应答的应答616发送到通信终端101。邮件网关106在接收到存储应答616时刻,将数据类别402的同步进行向非易失性存储器的写入设定变更为异步进行向非易失性存储器的写入,能够选择向数据存储服务器再发送邮件616还是将邮件发送到其它的数据存储服务器107。其结果是,在邮件网关106接收到作为正常应答的存储应答616时,将作为正常应答的应答617发送到通信终端 101。在步骤615之后,数据管理部313将表示当前正在限制对非易失性存储器的写入的限制信息618发送到预先登录的邮件网关106。邮件网关106限制向发送了限制信息618 的数据存储服务器107发送存储数据。图7是举例表示从多个邮件网关106参照存储在数据管理部313中的信息的时序的图。在本实施例中,作为由多个服务器邮件网关106参照的数据,将垃圾邮件信息作为例子,但是也可以是这之外的信息。所谓垃圾邮件信息是邮件网关106作为垃圾邮件而检测出的邮件的信息,其它邮件网关106看到上述信息后,将以后接收到的邮件判定为垃圾邮件。最初,通信终端101将邮件706发送到邮件网关106。邮件网关106检测接收到的邮件是否为垃圾邮件(步骤707),并将出错应答708发送到通信终端101。另外,邮件网关106几乎与步骤708同时将垃圾邮件信息709发送到数据管理部313。邮件网关106在垃圾邮件信息709的数据类别402中设定向易失性存储器进行新写入,并在存取服务器408中设定参照垃圾邮件的邮件网关106的全部的服务器的信息。数据管理部313进行将接收到的垃圾邮件信息709存储到易失性存储器的处理710,并将存储应答711发送到邮件网关 702。接着,数据管理部313将更新通知712发送到在垃圾邮件信息709的存取服务器408 中所记述的邮件网关106的全部邮件网关。接收到更新通知712的邮件网关703参照更新后的信息(步骤713)。另外,数据管理部313即使将在步骤713中由邮件网关106取得的更新后的信息包含在更新通知712中进行发送,也能够实现。此时省略步骤713。图8是表示邮件网关106的启动时序和、邮件网关106和数据存储服务器107间的生存确认的时序的图。在图8、图9中,将数据存储服务器107分割成元数据处理部312和数据管理部313来进行说明。另外,图8、图9的登录请求805、911的结构与登录请求450 相同。首先,邮件网关106将用于登录邮件网关106的登录请求805发送到元数据管理部312。登录请求805是与登录请求450相同结构的数据,元数据管理部312,当接收到登录请求805时,从未使用的队列321中搜索与条件一致的数据管理部313 (步骤806),并将包含数据管理部313的IP地址的登录应答807发送到邮件网关106。接着,元数据管理部 312进行更新队列数据321的处理808。接着,邮件网关106发送要新登录在数据管理部803的队列信息中的请求(以下称为新连接请求)809。在新连接请求809中记述邮件网关106的认证信息、使用的数据长度、用途。接着,数据管理部313进行生成队列信息的处理810。然后,数据管理部313将作为对新连接请求809的正常应答的连接应答811发送到邮件网关106。邮件网关106在接收到连接应答811时,变成能够中继邮件的状态,能够进行图5所示的邮件中继。邮件网关106为了监视数据存储服务器107是否在正常运转,将生存监视请求812 发送到数据管理部313。数据管理部313接收生存监视请求812,并将其正常应答813发送到邮件网关106。另外,为了也从数据管理部313监视邮件网关106的正常运转,数据管理部313发送生存监视请求814,并且邮件网关106发送正常应答815。另外,也可以邮件网关106、数据管理部313不进行811 815的生存监视,邮件网关106、数据管理部313根据在如图5所示那样的时序中不发生异常来判断(生存监视)各服务器处于生存中。图9是表示邮件网关106的再启动、邮件网关106的切换以及邮件网关106的退化的各种情况下的邮件网关106和数据存储服务器107间的时序的图。在此,邮件网关106 的切换表示在邮件网关106中发生故障时,代替发生了故障的邮件网关106,启动其它邮件网关106来进行代行。另外,邮件网关106的退化表示多台正在运转的邮件网关106中的一台或一部分停止,邮件网关106的运转台数减少。在服务器发生故障并且发生故障的服务器没有再启动时、或运行时停止一部分服务器的情况下,进行邮件网关106的退化。在图9中标记了表示多台邮件网关106中的一台的邮件网关A106A和邮件网关 B106B,将数据存储服务器107分割成元数据管理部312和数据管理部313进行说明。首先,假设在邮件网关A106A中发生了故障(步骤90 。数据管理部313根据与邮件网关A106A的连接(connection)切断906,进行故障检测的处理907。连接切断906, 通过新连接请求来确立,通常是在步骤812 815的生存监视中使用的连接。数据管理部 313将故障通知908发送到元数据管理部312。元数据管理部312根据故障通知908检测出数据管理部313的管理服务器即邮件网关A106A中发生了故障,数据管理部313将表示等待管理服务器的恢复的信息写入到队列数据321(更新)(步骤909)。从步骤911起,对在故障发生905之后邮件网关A106A再启动的情况、或发生了邮件网关106的切换的情况进行说明。在此,当发生了邮件网关A106A的切换时,发生了故障的邮件网关106与切换后的邮件网关106的服务器实际上不同,但是因为邮件网关进行的处理及收发的数据几乎相同,所以在本实施例中将发生了故障的邮件网关106和切换后的邮件网关106汇总在一起,表记为邮件网关A106A。首先,邮件网关A106A将登录请求911发送到元数据管理部312。在登录请求911 中包含的信息,除了登录请求805的信息以外,还在登录类别451中设定了表示再连接的信息(以下称为再连接标志)。元数据管理部312在接收到登录请求911时,搜索队列数据 321并进行更新(步骤912)。在步骤912中,当登录请求911的发送服务器与管理服务器正在故障中的数据管理部313的管理服务器的信息一致时,将包含上述数据管理部313的 IP地址的登录应答913发送到邮件网关106。另外,在步骤912中,当登录请求911的发送服务器与管理服务器正在故障中的数据管理部313的管理服务器的信息一致时,元数据管理部312将包含上述数据管理部313的IP地址的登录应答913发送到邮件网关106。在步骤912中,如果在登录请求911中有再连接标志,则元数据管理部312将包含管理服务器正在故障中的数据管理部313的IP地址的登录应答913发送到邮件网关106。在步骤912 中,虽然没有图示,但是如果与上述的两个条件不一致,则以后的处理为与登录请求805相同的时序。接下来,邮件网关A106A将恢复连接914发送到数据管理部313。接着,数据管理部313将应答和邮件数据915发送到邮件网关A106A。在步骤915以后,邮件网关A106A成为能够进行邮件中继的状态。另外,通过邮件网关A106A和数据管理部313进行步骤812 815的生存监视。接下来,从步骤917对在故障发生905之后发生了邮件网关A106A的退化的情况进行说明。元数据管理部312检测到管理服务器的故障后,检测出超过了等待来自邮件网关A106A的登录请求911的时间(以下称为故障待机时间)(步骤917)。接着,元数据管理部 312检索接管邮件网关A106A的处理的邮件网关106(以下称为代行管理服务器(standby owner node)),作为代行管理服务器将请求继续处理的代行管理服务器请求918发送到邮件网关B106B。另外,步骤917和代行管理服务器请求918的发送,也可以由数据管理部313 代替元数据管理部312来进行。邮件网关B106B在接收到代行管理服务器请求918时,将登录请求919发送到元数据管理部312。步骤919 拟4进行与步骤911 915几乎相同的处理,并且邮件网关 B106B成为能够中继邮件的状态。也可以将图9的元数据管理部312和数据管理部313分别作为不同服务器装置来构成。另外,在图9中没有进行图示,但是在数据存储服务器107为多个的情况下,当在不同服务器中构成元数据管理部312和数据管理部313时,在元数据管理部312和数据管理部313间进行生存监视,当数据管理部313故障时,元数据管理部312进行向其它数据管理部313的切换等。图10、图11是表示数据存储服务器107的数据管理部313的数据存储处理流程的图。首先,数据管理部313从邮件网关106接收存储数据(步骤1001)。数据管理部313在图6所说明的无法将邮件发送到邮件转发服务器105的状态下,调查数据管理部313是否为高负荷状态(步骤1002),如果不是高负荷状态,则前进到步骤 1006。上述高负荷状态,是大量地发生数据管理部313向非易失性存储器的写入,并且等待向非易失性存储器写入的数据数量超过了阈值的状态,或向非易失性存储器的写入时间超过了阈值的状态。在步骤1002中如果是高负荷状态,则数据管理部313调查数据类别402是否为向非易失性存储器同步写入的设定(步骤100 ,当为上述情况时发送出错应答(步骤1004) 然后结束处理。数据管理部313在步骤1005中为高负荷状态,所以为了提高数据管理部313 向非易失性存储器的存取效率,将处理期限406变更为对最适合于数据管理部313的值,而不是由邮件网关106所设定的值。数据管理部313,在步骤1006中进行调查在数据管理部313中是否已有密钥405 的处理。如果有密钥405则取得与密钥405 —致的数据(步骤1007),根据数据类别进行存储处理(步骤1008)。在步骤1008中,数据管理部313进行易失性存储器中的数据的更新、删除、状态确认、以及正在进行存储时的取消中的某一个处理。在步骤1009中,数据管理部313根据数据类别402继续进行处理时,判定是否需要进行向非易失性存储器的存取。 具体来讲,是将易失性存储器中的数据复制到非易失性存储器、非易失性存储器中的数据的更新、删除等情况。在步骤1009中,在有向非易失性存储器的存取时,前进到图11的步骤1117,如果没有则前进到步骤1020。步骤1020是在存储数据的复制次数412为“2”以上时进行数据复制的处理。具体来讲,数据管理部313(以下称为数据管理部A)将从复制次数412中减去“1”后的存储数据转发到其它数据管理部313(以下称为数据管理部B),并从数据管理部B接收表示已正常存储了的存储应答。在数据管理部B接收到存储应答400的时刻,如果复制次数412为“2”以上时(即在数据管理部A接收到的时刻,复制次数为“3”以上时),数据管理部B将存储数据转发到其它数据管理部313 (以下称为数据管理部C),从数据管理部C接收到正常应答后,将正常应答发送到数据管理部A。随着复制次数412增加,数据管理部313将存储数据转发到下一个数据管理部313。接收到复制次数412为“2”以上的存储数据的数据管理部,将从复制次数中减去 “1”后的存储数据发送到其它数据管理部313,从发送后的其它数据管理部313接收到正常应答后,将正常应答发送到作为所接收到的存储数据的发送源的数据管理部313。接收到复制次数412为“1”的存储数据的数据管理部将正常应答发送到作为发送源的数据管理部, 而不进行向其它数据管理部313的发送。通过步骤1010,数据存储服务器发送存储应答,然后结束处理。在步骤1011中,数据管理部313进行将所接收到的存储数据写入到易失性存储器的处理。在步骤1012中,如果数据类别402为有必要向非易失性存储器进行存取的处理, 则前进到图11的步骤1114,如果没有必要向非易失性存储器存取,而发送存储应答(步骤1013)。在步骤1014中,在存储数据中设定了状态迁移时间407,在上述数据经过状态迁移时间后还存在的情况下(步骤1015),判定在数据类别402中所指定的处理是否有向非易失性存储器的存取(步骤1016)。具体来讲,是从易失性存储器向非易失性存储器的复制、从非易失性存储器中的删除等。在步骤1016中有向非易失性存储器的存取的情况下,数据管理部313前进到步骤1117,在步骤1016中没有向非易失性存储器的存取的情况下,进行根据数据类别402的处理,例如从易失性存储器的删除、或数据的无效化(不从邮件网关106 进行存取)等处理(步骤1017),并结束处理。在步骤1014中没有设定状态迁移时间时,或在步骤1015中在状态迁移时间经过前删除了上述数据时,结束处理。下面对图11进行说明。步骤1114是调查在数据类别402中是否有写入装置的指定的处理,如果有写入装置的指定,则进行写入装置的选择(步骤1114)。在写入装置中有硬盘、SSD、NAS以及SAN等。在步骤1116中,是数据管理部313调查数据类别402中是否有向非易失性存储器进行同步或异步复制的设定的处理。如果为向非易失性存储器进行异步复制的设定,则前进到步骤1122,如果是向非易失性存储器进行同步复制的设定,则前进到步骤1117。在步骤1117中,是数据管理部313调查在存储数据中是否有处理期限406的处理。在步骤1117中,如果在存储数据中没有处理期限406,则数据管理部313立即向非易失性存储器写入。在步骤1117中,如果在存储数据中有处理期限406,则可以延迟到处理期限 406为止向邮件网关106存储,因此等待向非易失性存储器的写入,直到处理期限406或与向非易失性存储器进行写入的条件一致时为止(步骤1119),在条件一致的时刻,写入到非易失性存储器(步骤1120)。步骤1119的写入条件是用于使向非易失性存储器的写入处理高效化的条件,以下表示例子。·数据管理部313保存的等待向非易失性存储器写入的数据的数量为规定值以上的情况。在该条件下,数据管理部313将上述等待向非易失性存储器写入的数据一起写入。·在数据管理部313内保存的等待向非易失性存储器写入的数据中有经过处理期限406前不久的数据的情况。在该条件下,数据管理部313将上述处理期限406前不久的数据和等待向其它非易失性存储器写入的数据一起写入。·数据管理部313为了使数据管理部313整体的向非易失性存储器的写入高效化而进行写入的情况。该条件,除等待向非易失性存储器写入的数据数量或各数据的处理期限406以外,通过数据管理部313向非易失性存储器的复制以外的处理等来决定。通过以上条件,能够实现数据管理部313向非易失性存储器的写入高效率化。在步骤1122中,数据管理部313与步骤1119同样地等待向非易失性存储器的写入,直到与其它多个写入条件一致时为止,在条件一致的时刻写入到非易失性存储器(步骤112 。在步骤1122中,数据管理部313调查是否在数据类别402中设定了 “作为写入目的地指定非易失性存储器而不指定易失性存储器”,如果设定了,则删除易失性存储器中的数据(步骤1125),如果没有设定,则前进到步骤11沈。在步骤11 中,数据管理部313 将存储应答发送到邮件网关。接下来,对第二实施例进行说明。第二实施例不采用第一实施例的将邮件网关106和数据存储服务器107作为不同服务器的结构,而是采用将邮件网关106的程序和数据存储服务器107的程序存储在相同服务器中的结构。使用图12来说明第二实施例与第一实施例的不同点。在图12中是第二实施例中设想的系统结构的一个例子。符号101 105、108与图1相同。符号1209是存储了邮件网关的程序1206和数据存储服务器的程序1007的服务器。数据存储服务器的程序1207B和数据存储服务器的程序1207C,将邮件网关的程序 1206A作为管理服务器,通过上述三个程序进行复制。在第一实施例中,作为邮件网关106、 数据存储服务器107记述了以服务器为单位的处理,但是在第二实施例中,不是以服务器为单位的处理,而是将邮件网关1206、数据存储服务器1207作为以程序为单位的处理。在图2中,邮件网关1206由邮件网关程序204和易失性存储部205、非易失性存储部208构成。在图3中,数据存储服务器1207由数据存储服务器程序304和易失性存储部305、 非易失性存储部308构成。除了上述以外,仅将邮件网关106变更为邮件网关1206,将数据存储服务器107变更为数据存储服务器1207,没有变更时序、处理。通过以上的结构的不同之处,第二实施例能够比第一实施例更容易进行横向扩展或运行。第一实施例中,邮件网关106和数据存储服务器107的台数比根据服务器资源(处理器、易失性存储器、非易失性存储器、网络的带宽等)而有所不同,在规划邮件系统时,必须充分考虑上述条件来决定邮件网关106和数据存储服务器107的台数。另一方面,第二实施例中,并列地构成存储了邮件网关的程序1206和数据存储服务器的程序1007的一种服务器,因此不需要如第一实施例那样考虑服务器间的服务器资源的差,因为是一种服务器, 所以也容易运行。另外,第一与第二实施例不仅能够适用于邮件系统,也能够适用于短消息或使用了 HTTP、PAP (Push Access Protocol)以及其它协议的消息服务。接着,对第三实施例进行说明。第三实施例是将数据存储服务器1307应用到邮件系统以外的系统中的例子。使用图13来说明第三实施例与第一实施例的不同点。在图13中是第三实施例中设想的系统结构的一个例子。符号101、104、107与图 1相同。符号1305是向通信终端101销售商品的Web服务器。Web服务器1305是相当于第一实施例的邮件网关106的服务器,接受来自通信终端101的通信请求,并将数据存储到数据存储服务器107。数据存储服务器107在本实施例中存储基于通信终端101的用户信息的信息,在本实施例中,例如存储用户(通信终端101)的商品的检索履历和买入商品时的收费信息。Web服务器1305在通信终端101已进行了商品检索时,将其检索履历向数据存储服务器107发送,将作为存储目的地指定了易失性存储器的存储请求(不指定非易失性存储器)发送到数据存储服务器107。另外,Web服务器1305在通信终端101已买入商品时,向数据存储服务器107发送将与向通信终端101的收费有关的信息(以下称为收费信息)存储到非易失性存储器和易失性存储器存储的请求。图2表示应用于本实施例时实现Web服务器1305而不是邮件网关106的结构,存储实现Web服务器1305的程序来代替邮件网关程序204。
图3、图4不需要从第一实施例进行变更就能够应用于本实施例。关于图5、图6以及图7,在本实施例中不使用。取而代之,在图14中举例表示从通信终端101检索商品开始到买入商品为止的时序。在图14中,首先,通信终端101向Web服务器1305A发送检索商品的请求(以下称为商品检索请求)1406。Web服务器1305A接收商品检索请求1406,并返回检索结果1407。 并且,Web服务器1305A将履历信息1408发送到数据存储服务器107的数据管理部313。 此时,在履历信息1408的数据类别402中,设定对易失性存储器进行新写入、并在经过状态迁移日期时间407后复制到非易失性存储器。另外,在履历信息1408的密钥405中设定基于能够唯一识别通信终端101的识别信息的密钥。接着,数据管理部313根据接收到的履历信息1408的数据类别402,进行存储到易失性存储器的处理(步骤1409),并将存储应答1410发送到Web服务器1305A。接着,通信终端101向Web服务器1305A发送买入商品的请求(以下称为商品买入请求)1411。Web服务器1305A接收商品买入请求1411,然后进行用于买入商品的处理(步骤 1412),并将收费信息1413发送到数据管理部313。收费信息1413的重要度比履历信息 1408高,因此在收费信息1413的数据类别402中设定对易失性存储器和非易失性存储器进行新写入。另外,Web服务器1305A判别通信终端101的使用者是否为优先顾客,当为优先顾客时,存储表示收费信息1413的处理期限406的最优先的值,反之,存储通过Web服务器 1305A的通常的处理设定的值(缺省值)。数据管理部313根据所接收到的收费信息1413的数据类别402进行存储到易失性存储器和非易失性存储器的处理(步骤141 ,并将存储应答1416发送到Web服务器 1305A。Web服务器1305A接收到存储应答1416后,将表示已正常买入的应答1417发送到通信终端101。接着,Web服务器1305A提取能够判断为与买入处理1412关联的履历信息1408, 将履历信息1418发送到数据管理部313。在履历信息1418的数据类别402中,设定将指定了密钥的数据移动到非易失性存储器(不将易失性存储器作为存储目的地)。数据管理部313根据所接收到的履历信息1418的数据类别402,进行将易失性存储器中存在的履历信息1408复制到非易失性存储器,然后从易失性存储器中删除的处理 (步骤1419),并将存储应答1420发送到Web服务器1305A。数据管理部313如果在履历信息1418的存取信息408中设定了存取服务器,或者设定了存储履历信息1418的队列数据321的存取服务器328,则将更新通知1421发送到在存取服务器中设定的Web服务器1305B。关于图8、图9、图10、图11,不需要进行从第一实施例的变更就能够应用到本实施例。如以上说明的那样,在第三实施例中,关于进行将用户信息存储到数据存储服务器107的处理的Web服务器1305,可以实现具备抗故障性(防止重要数据的丢失),并能够在多个Web服务器1305之间共享数据的Web服务器1305。
权利要求
1.一种邮件系统,其具备从邮件发送装置接收邮件的邮件服务器和存储所述邮件和/ 或与该邮件有关的关联信息的数据存储服务器,该邮件系统的特征在于,所述邮件服务器具备如下功能 生成与所述邮件有关的所述关联信息;生成与所述邮件和/或所述关联信息的存储有关的控制信息;以及将所述邮件和/或所述关联信息和所述控制信息发送到所述数据存储服务器, 所述数据存储服务器具备用于进行所述存储的非易失性存储器和易失性存储器;根据上述控制信息决定所述邮件和/或所述关联信息的所述存储方法的数据管理部;以及按照所决定的所述存储方法,将所述邮件和/或所述关联信息存储到所述非易失性存储器和/或所述易失性存储器的数据管理部。
2.根据权利要求1所述的邮件系统,其特征在于, 在具备一个以上所述邮件服务器时,所述数据存储服务器具备 一个以上的队列;以及将一个所述队列与某一个所述邮件服务器对应起来的元数据管理部,所述数据管理部以一个所述邮件服务器为单位来管理要存储的所述邮件和/或所述关联信息。
3.根据权利要求1所述的邮件系统,其特征在于,所述数据存储服务器的所述数据管理部监视所述邮件服务器有无故障,如果通过所述监视检测到故障,则发出故障通知。
4.根据权利要求1所述的邮件系统,其特征在于, 所述数据存储服务器的所述数据管理部,通过能够唯一识别可以存取在所述数据存储服务器中所存储的数据的邮件服务器的识别信息进行管理,当更新了与上述识别信息对应的所述邮件和/或所述关联信息时,将更新的信息通知给上述邮件服务器。
5.根据权利要求1所述的邮件系统,其特征在于, 所述数据存储服务器的所述数据管理部,监视向非易失性存储器进行的写入的状态,当从所述邮件服务器接收到存储请求时,如果该数据存储服务器的负荷为规定值以上,则将出错应答发送到所述邮件服务器。
6.根据权利要求1所述的邮件系统,其特征在于, 所述邮件服务器具备如下功能向所述数据存储服务器发送唯一识别要存储的所述邮件和/或所述关联信息的识别信息;以及在所述数据存储服务器将所述邮件和/或所述关联信息保持在易失性存储器中时,使用所述识别信息请求所述数据存储服务器进行将所述邮件和/或所述关联信息复制到非易失性存储器的处理,所述数据存储服务器的数据管理部根据所述识别信息进行所请求的处理。
7.根据权利要求1所述的邮件系统,其特征在于,所述邮件服务器具备将所述邮件和/或所述关联信息的存储的处理期限包含在所述控制信息中进行生成的功能,如果在所述处理期限内,则所述数据存储服务器的所述数据管理部将所述数据的存储处理和其它的所述邮件和/或所述关联信息的存储处理一起进行。
8.根据权利要求1所述的邮件系统,其特征在于,所述邮件服务器的生成所述关联信息的功能生成控制信息,该控制信息设定为将所述邮件和/或所述关联信息写入到所述非易失性存储器和所述易失性存储器的两方、或请求将所述邮件和/或所述关联信息写入到所述易失性存储器和所述非易失性存储器中的某一方而不请求写入到另一方,所述数据存储服务器的所述数据管理部根据所述控制信息来存储所述邮件和/或所述关联信息。
9.根据权利要求8所述的邮件系统,其特征在于, 所述数据存储服务器的所述数据管理部,参照所述控制信息,决定是在向所述非易失性存储器的写入结束后发送应答,还是不等待向所述非易失性存储器的写入结束就发送应答, 根据所述决定来存储所述邮件和/或所述关联信息。
10.根据权利要求8所述的邮件系统,其特征在于, 所述邮件服务器具备如下功能生成设定为将从通信终端接收到的邮件存储在易失性存储器中而不存储在非易失性存储器中的控制信息,将包含所述控制信息的关联信息发送到所述数据存储服务器;在从所述数据存储服务器接收到正常存储了所述请求的应答时,向所述通信终端发送正常应答;以及向邮件转发服务器发送已将设定为存储到易失性存储器而不存储到非易失性存储器的处理请求发送到所述数据存储服务器的邮件,当从所述邮件转发服务器接收到暂时出错时,向所述数据存储服务器发送将存储在易失性存储器的所述邮件复制到所述非易失性存储器中的请求,所述数据存储服务器的所述数据管理部,具备根据所述处理请求来存储或复制所述数据的功能。
11.根据权利要求8所述的邮件系统,其特征在于,所述邮件服务器具备如下功能在所述邮件和/或所述关联信息在数据存储服务器的易失性存储器中时,设定包含状态迁移日期时间和从易失性存储器向非易失性存储器复制的指示的请求,所述数据存储服务器的所述数据管理部,即使经过了上述请求中包含的所述状态迁移日期时间,只要所述邮件和/或所述关联信息存在,就进行根据上述请求的处理。
12.根据权利要求8所述的邮件系统,其特征在于, 所述邮件服务器具备如下功能以邮件的目的域为单位来管理从所述邮件发送装置接收到的邮件;以及判定目的域是否为限制域,根据判定结果设定将所述邮件存储到非易失性存储器和易失性存储器、还是不存储到非易失性存储器而存储到易失性存储器。
13.一种数据存储服务器,其接收用于存储数据的请求,并存储所述数据,该数据存储服务器的特征在于,所述数据是邮件和/或与该邮件有关的关联信息,所述数据存储服务器具备用于进行所述存储的非易失性存储器和易失性存储器、以及数据管理部,所述数据管理部,接收所述邮件和/或所述关联信息、以及与所述邮件和/或所述关联信息的存储有关的控制信息,根据所述控制信息决定所述邮件和/或所述关联信息的所述存储方法,按照所决定的所述存储方法,将接收到的所述邮件和/或所述关联信息存储到所述非易失性存储器和/或所述易失性存储器。
14.根据权利要求13所述的数据存储服务器,其特征在于,所述控制信息包含以下设定将所述邮件和/或所述关联信息写入到所述非易失性存储器和所述易失性存储器的两方、或请求将所述邮件和/或所述关联信息写入到所述易失性存储器和所述非易失性存储器中的某一方而不请求写入到另一方,所述数据管理部根据所述设定来存储所述邮件和/或所述关联信息。
15.根据权利要求13所述的数据存储服务器,其特征在于,所述控制信息包含所述邮件和/或所述关联信息的存储的处理期限,如果在所述处理期限内,则所述数据管理部将所述数据向非易失性存储器的存储处理和其它的所述邮件和/或所述关联信息数据的存储处理一起进行。
全文摘要
本发明提供一种邮件系统中的数据存储服务器的数据存储方法及邮件中继方法。在邮件系统中,防止服务器故障时的数据丢失,并实现高分发性能的邮件网关。设置邮件网关和多个数据存储服务器,通过在邮件网关和数据存储服务器之间的通信方法和数据的存储方法,提高网关的分发性能。具体来讲,邮件网关和数据存储服务器将邮件网关应该保存的邮件分别保存在邮件网关和数据存储服务器中的易失性存储器中。将因故障导致丢失的可能性大的邮件、收费信息等重要性高的数据写入到数据存储服务器中的非易失性存储器中。另外,数据存储服务器将多个对非易失性存储器的存取进行汇总,提高对非易失性存储器写入的速度。
文档编号G06F17/30GK102164097SQ201110035609
公开日2011年8月24日 申请日期2011年2月1日 优先权日2010年2月17日
发明者木下雅文 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1