一种基于分步式idc的邮件转发方法、系统及设备的制作方法

文档序号:7973167阅读:466来源:国知局
专利名称:一种基于分步式idc的邮件转发方法、系统及设备的制作方法
技术领域
本发明涉及通信领域,更具体地说,涉及一种基于分布式互联网数据中心(International Data Corporation,IDC)的邮件转发方法、系统及设备。
背景技术
由于互联网的迅速发展,电子邮件产品日趋普及,随着用户访问量越来越大,系统的存储容量和响应速度都成为了一个亟待解决的问题。
目前的网络邮件运营服务与邮件存储都集中在一个枢纽机房的网络设备环境中,网络邮件投递所采用的是单IDC的管理方式,即利用集中在某地区(比如深圳)的IDC来管理邮件,所有的邮件投递出来时并不是直接发送到对方的邮箱,而是先发送到IDC postfix管理的一个邮件队列当中,从而可以配置postfix将本地邮件直接投递到用户主目录下的用户邮箱文件,或者递交给一个外部的程序(例如procmail)来处理,或者递交给其它的postfix投递代理来处理。
在该现有技术中,当大量异地登陆的用户并发访问集中的邮件队列时,庞大的邮件访问请求将对该单IDC的系统处理能力构成极大的压力,邮件队列过长导致用户对邮件的阅读和存储的响应速度非常迟缓。
因此需要一种新的邮件转发方法,提高异地登陆用户访问邮件队列的效率。

发明内容
本发明的目的在于提供一种基于分布式IDC的邮件转发系统,旨在解决现有技术中在异地登陆的用户访问邮件队列时效率低下的问题。
本发明的目的还在于提供一种基于分布式IDC的邮件转发设备,以更好地解决现有技术中存在的上述问题。
本发明的目的还在于提供一种基于分布式IDC的邮件转发方法,以更好地解决现有技术中存在的上述问题。
为了实现发明目的,所述基于分布式IDC的邮件转发系统中,所述IDC包括邮件收发模块、邮件文件解析模块、邮件保存模块,所述系统包括至少两个IDC,所述IDC进一步包括IDC标识分配判断模块和临时邮件文件生成模块;所述IDC标识分配判断模块与所述邮件文件解析模块相连,用于为用户分配一个当前IDC标识,以及判断所述邮件文件解析模块解析得到的邮件的IDC标识是否与所述用户的当前IDC标识一致;所述临时邮件文件生成模块与所述邮件文件解析模块、邮件收发模块相连,用于当所接收到的邮件的IDC标识与用户的当前IDC标识不一致时,生成临时邮件文件,并通过所述邮件收发模块将所述临时邮件文件发送给其他IDC。
所述其他IDC是指所述用户的归属地IDC,或者所述系统中除所述用户当前登陆IDC以外的任意一个或多个IDC。
所述邮件收发模块与所述邮件文件解析模块相连,用于接收邮件并送入所述邮件文件解析模块,以及将邮件转发给其他IDC。
所述邮件文件解析模块与所述邮件收发模块、IDC标识分配判断模块、临时邮件文件生成模块、邮件保存模块相连,用于对所述邮件收发模块所接收到的邮件文件进行解析,将所述邮件文件恢复为邮件基本信息以及邮件IDC标识;将所述邮件IDC标识送入IDC标识分配判断模块进行判断;将邮件基本信息送入临时邮件文件生成模块和/或邮件保存模块进行处理。
为了更好地实现发明目的,所述基于分步式IDC的邮件转发设备,即IDC,包括邮件收发模块、邮件文件解析模块、邮件保存模块,所述IDC进一步包括IDC标识分配判断模块和临时邮件文件生成模块;所述IDC标识分配判断模块与所述邮件文件解析模块相连,用于为用户分配一个当前IDC标识,以及判断所述邮件文件解析模块解析得到的邮件的IDC标识是否与所述用户的当前IDC标识一致;所述临时邮件文件生成模块与所述邮件文件解析模块、邮件收发模块相连,用于当所接收到的邮件的IDC标识与用户的当前IDC标识不一致时,生成临时邮件文件,并通过所述邮件收发模块将所述临时邮件文件发送给其他IDC。
为了更好地实现发明目的,所述基于分步式IDC的邮件转发方法中,所述分布式IDC至少包括第一IDC和第二IDC,所述方法包括以下步骤A.用户登陆第一IDC时,所述第一IDC为所述用户分配第一IDC标识;B.所述第一IDC扫描邮件入口队列,若接收到新邮件,则解析并判断所述邮件的IDC标识是否与所述第一IDC标识一致,若一致则将所述邮件保存在所述第一IDC的邮件队列中,若不一致则转步骤C;C.将所述邮件保存在所述第一IDC的邮件队列中,并同时将其转发至所述第二IDC;D.所述第二IDC接收所述第一IDC转发的邮件,并保存在所述第二IDC的邮件队列中。
在所述步骤A之前还包括所述分布式IDC根据用户的历史登陆情况将所述用户的数据分配至各IDC中,并为所述用户分配一个归属地IDC标识,所述归属地IDC是指所述用户长期登陆的IDC;所述用户的数据包括用户的邮件信息及其帐户信息。
所述步骤C中的转发进一步包括C1.根据所述邮件生成临时邮件文件,并存入临时邮件目录;C2.扫描所述临时邮件目录,将所述临时邮件文件读入转发列表;C3.将所述转发列表中的临时邮件文件读出,并发送给所述第二IDC。
所述步骤D包括D1.所述第二IDC接收所述第一IDC发送的临时邮件文件,并保存在所述第二IDC的临时邮件目录中;D2.所述第二IDC解析所述临时邮件目录中的临时邮件文件,并生成与所述步骤B中的新邮件一致的邮件文件;D3.将所述邮件文件保存在所述第二IDC的邮件队列中。
所述方法进一步包括在所述第一IDC中设置异地登陆阈值N,N为不小于1的正整数,当所述步骤B中所述邮件的IDC标识与所述第一IDC标识不一致的次数累计为N时,则将所述用户在其归属地IDC中的数据迁移至所述第一IDC中。
本发明通过将单IDC结构扩展为多IDC的分布式结构,当用户登陆其中一个IDC并接收到新邮件时可将该邮件转发至其他IDC中,从而可为异地登陆的用户提供就近服务,极大地提高了访问邮件的效率,同时该多IDC的分布式结构也提高了系统存储容量。


图1是本发明中分布式IDC的拓扑结构示意图;图2是本发明中基于分布式IDC的邮件转发系统结构图;图3是本发明中基于分布式IDC的邮件转发方法流程图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明中,将单IDC结构扩展为分布式IDC结构,从而当用户在异地登陆时,可登陆最近的IDC,通过分配IDC标识对所接收到的新邮件进行判断,从而在将该新邮件保存在本地IDC的同时将其转发至其他IDC中。这样当用户下次登陆其他IDC时可直接就近访问该邮件,不必到归属地去排队读取,缩短了邮件访问请求的时间,极大地提高了访问邮件的效率。
图1示出了本发明中分布式IDC的拓扑结构。与现有技术的单IDC结构相比,本发明是由多个(至少两个)IDC组成的分布式结构,各IDC之间通过数字数据网(Digital Data Network,DDN)专线连接,拥有更高的网络带宽。
图2示出了本发明中基于如图1所示分布式IDC的邮件转发系统结构,应当说明的是,图2中的系统结构是本发明实现邮件转发的一个最简系统,包括第一IDC100和第二IDC200,且两者在内部结构和功能方面一致。
第一IDC100包括IDC标识分配判断模块101、邮件收发模块102、邮件文件解析模块103、临时邮件文件生成模块104和邮件保存模块105,其中(1)IDC标识分配判断模块101用于当用户登陆该IDC时为其分配一个当前IDC标识,并当用户通过邮件收发模块102接收到邮件并由邮件文件解析模块103解析得到该邮件的IDC标识后,判断该邮件的IDC标识是否与用户的当前IDC标识一致。若一致则将该邮件送入邮件保存模块105中保存;若不一致则将邮件送入邮件保存模块105保存的同时,还将该邮件送入临时邮件文件生成模块104生成临时邮件文件,并进一步通过邮件收发模块102进行转发。需要作出说明的是,本发明所称的邮件由邮件基本信息和邮件的IDC标识所构成,其中邮件基本信息包括收件人、发件人、邮件正文、附件个数、附件内容等信息,邮件的IDC标识由用户长期登陆的IDC(即用户分归属地IDC)所分配,与用户的归属地IDC标识一致。
(2)邮件收发模块102与邮件文件解析模块103以及临时邮件文件生成模块104相连,用于接收邮件并将邮件送入邮件文件解析模块103中进行解析,以及将临时邮件文件生成模块104生成的临时邮件文件发送到第二IDC200中。
(3)邮件文件解析模块103与IDC标识分配判断模块101、邮件收发模块102、临时邮件文件生成模块104以及邮件保存模块105相连,用于对邮件收发模块102所接收到的邮件文件进行解析,从邮件文件中恢复出邮件基本信息以及该邮件的IDC标识;并将解析出的该邮件的IDC标识送入IDC标识分配判断模块101中进行判断;若该邮件的IDC标识与用户的当前IDC标识一致,则将该邮件送入邮件保存模块105保存;若该邮件的IDC标识与用户的当前IDC标识不一致,则将在该邮件送入邮件保存模块105保存的同时,还将该邮件送入临时邮件文件生成模块104中。
(4)临时邮件文件生成模块104与邮件文件解析模块103、邮件收发模块102相连,用于当IDC标识分配判断模块101判断得知用户所接收到的邮件的IDC标识与用户的当前IDC标识不一致时,根据邮件文件解析模块103解析出来的邮件基本信息生成临时邮件文件,并送入邮件收发模块102进行转发。
(5)邮件保存模块105与邮件文件解析模块103相连,用于当邮件收发模块102接收到邮件并经邮件文件解析模块103解析,再经IDC标识分配判断模块101判断后,将该邮件存入本地IDC(即第一IDC100)的邮件队列中。本发明中,邮件的IDC标识与用户的当前IDC标识一致或者不一致,都要将邮件保存到本地邮件队列中,若不一致,则在保存的同时还要进行转发。
第二IDC200的结构与第一IDC100一致,包括IDC标识分配判断模块201、邮件收发模块202、邮件文件解析模块203、临时邮件文件生成模块204和邮件保存模块205,各个模块的结构与功能分别与第一IDC100中的上述模块一致,在此不再赘述。
图3示出了本发明中基于分布式IDC的邮件转发方法流程。
在执行所有步骤之前,本发明的分布式IDC系统根据用户的历史登陆情况将原来集中在单一IDC中的用户数据分配到了该分布式IDC结构中的各个IDC中,并为每个用户分配一个归属地IDC标识。例如,若某用户长期在深圳IDC上登陆,则将其数据分配至深圳IDC,并为该用户分配一个深圳IDC标识,该标识即为该用户的归属地IDC标识。本发明所称的用户数据是指该用户的邮件信息以及用户帐号的信息,每个邮件都由邮件基本信息和邮件的IDC标识所组成。
本发明对邮件进行转发的流程包括以下步骤
在步骤S301中,用户登陆第一IDC100时,该第一IDC100利用IDC标识分配判断模块101为其分配一个第一IDC标识,该第一IDC标识成为用户的当前IDC标识。
在步骤S302中,第一IDC100利用邮件收发模块102接收到该用户的新邮件,具体过程包括(1)初始化线程池,读取配置文件;(2)启动扫描(Scanner)线程扫描邮件入口队列(incoming queue),发现该邮件入口队列中有新邮件;(3)将所扫描到的新邮件送入邮件文件解析模块103中。
在步骤S303中,邮件文件解析模块103对该邮件解析,并由IDC标识分配判断模块101对该邮件的IDC标识进行判断,具体包括(1)邮件文件解析模块103将该新邮件解析为邮件基本信息与邮件的IDC标识,如前所述该邮件基本信息包括收件人、发件人、邮件正文、附件个数、附件内容等信息,邮件的IDC标识与用户归属地IDC标识一致;(2)IDC标识分配判断模块101判断用户所收到的新邮件的IDC标识是否与该用户的当前IDC标识(即第一IDC标识)一致若两者一致,则转步骤S304将该邮件存储到本地(即第一IDC100);若不一致,则转步骤S305将该邮件转发至其归属地。
在步骤S304中,若IDC标识分配判断模块101判断得知该邮件的IDC标识与第一IDC标识一致,则利用邮件保存模块105将该邮件存入本地(即第一IDC100)的邮件队列中。
在步骤S305中,若IDC标识分配判断模块101判断得知该邮件的IDC标识与第一IDC标识不一致,其归属地是第二IDC200,则将该邮件保存在本地并同时将其转发至第二IDC200中。转发的具体过程包括(1)利用临时邮件文件生成模块104根据解析出来的邮件基本信息生成临时邮件文件,将该临时邮件文件的文件名存入转发队列;(2)通过线程池中的转发线程从转发队列中读取所存储的文件名,每读取一个则将其从原队列中删除;(3)根据读取的文件名到邮件入口队列中读取相应的临时邮件文件内容,并存入预先分配的本地缓存中;(4)将本地缓存中的临时邮件文件封装成数据包,并通过邮件收发模块102将该数据包发送给第二IDC200。
在步骤S306中,第二IDC200接收该临时邮件文件,并最终将该邮件存入本地(即第二IDC200)的邮件队列中。具体过程包括(1)第二IDC200通过邮件收发模块202接收数据包,并将其保存在本地的临时目录中,此步骤在执行的同时还可进一步返回接收成功的文件名给第一IDC100,则转发线程可根据文件名到邮件入口队列中删除对应的临时邮件文件;(2)通过邮件文件解析模块203对本地临时目录中的临时邮件文件进行解析,从而恢复出邮件基本信息,包括收件人、发件人、邮件正文、附件个数、附件内容等信息;(3)根据解析出来的邮件基本信息生成邮件文件,并将该邮件存入第二IDC200的邮件队列中。
这样,最终的结果是,该归属地为第二IDC200的邮件在第一IDC100和第二IDC200中各有一份,当用户下次登陆两个IDC时均可直接就近访问该邮件,不必到归属地去排队读取,缩短了邮件访问请求的时间,极大地提高了访问的效率。
此外,若用户反复多次登陆第一IDC100,则可将该用户保存在第二IDC200上的数据迁移至第一IDC100中,以后再登陆第一IDC100便可就近访问其全部历史邮件。具体实现是将用户登陆该第一IDC100的次数设置为一个阈值N(N为正整数,N≥1),当用户登陆第一IDC100的次数小于该阈值N时,则到该用户的归属地IDC中获取数据(即该用户的邮件信息及其帐户信息),若用户登陆第一IDC100的次数超过该阈值N时,本发明的分布式IDC系统则将用户在归属地的数据迁移到第一IDC100中,此后当用户再登陆第一IDC100时则可直接在该第一IDC100中就近访问其历史邮件。
应当说明的是,上述方法流程中是将新邮件有针对地转发到了其归属地IDC(即第二IDC200)中,但是本发明的邮件转发并不限定于针对性的转发,若该分布式邮件系统中包括更多个IDC,如图1中所示,则在上述步骤S303中判断得知所收到的邮件的IDC标识与用户的当前IDC标识不一致时,步骤S304可保存该邮件并将其转发至本分布式IDC系统中的其他所有IDC中。例如,若分布式IDC系统中包括北京IDC、上海IDC、武汉IDC、广州IDC、西安IDC、西藏IDC,且用户的归属地IDC是北京IDC,则当用户在上海IDC中登陆并接收到新邮件时,可将该邮件投递到上海IDC的同时转发至北京IDC、武汉IDC、广州IDC、西安IDC、西藏IDC中。最终的结果是,该归属地为北京IDC的邮件在所有IDC中各有一份,当用户下次登陆任一IDC时均可直接就近访问该邮件,不必到归属地去排队读取,缩短了邮件访问请求的时间,极大地提高了访问邮件的效率。
在本发明的其中一个实施例中,当如图3所示步骤S303的判断结果是一致时,执行步骤S304之后也可以执行步骤S305和S306,并不会造成冲突。也即,当用户登陆其归属地IDC并收到新邮件时,也可以将该新邮件转发至分布式IDC系统中的其他所有IDC中进行备份,当用户下次登陆其中任一IDC时均可直接就近访问该邮件。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种基于分布式IDC的邮件转发系统,所述IDC包括邮件收发模块、邮件文件解析模块、邮件保存模块,其特征在于,所述系统包括至少两个IDC,所述IDC进一步包括IDC标识分配判断模块和临时邮件文件生成模块;所述IDC标识分配判断模块与所述邮件文件解析模块相连,用于为用户分配一个当前IDC标识,以及判断所述邮件文件解析模块解析得到的邮件的IDC标识是否与所述用户的当前IDC标识一致;所述临时邮件文件生成模块与所述邮件文件解析模块、邮件收发模块相连,用于当所接收到的邮件的IDC标识与用户的当前IDC标识不一致时,生成临时邮件文件,并通过所述邮件收发模块将所述临时邮件文件发送给其他IDC。
2.根据权利要求1所述的基于分布式IDC的邮件转发系统,其特征在于,所述其他IDC是指所述用户的归属地IDC,或者所述系统中除所述用户当前登陆IDC以外的任意一个或多个IDC。
3.根据权利要求1所述的基于分布式IDC的邮件转发系统,其特征在于,所述邮件收发模块与所述邮件文件解析模块相连,用于接收邮件并送入所述邮件文件解析模块,以及将邮件转发给其他IDC。
4.根据权利要求1所述的基于分布式IDC的邮件转发系统,其特征在于,所述邮件文件解析模块与所述邮件收发模块、IDC标识分配判断模块、临时邮件文件生成模块、邮件保存模块相连,用于对所述邮件收发模块所接收到的邮件文件进行解析,将所述邮件文件恢复为邮件基本信息以及邮件IDC标识;将所述邮件IDC标识送入IDC标识分配判断模块进行判断;将邮件基本信息送入临时邮件文件生成模块和/或邮件保存模块进行处理。
5.一种基于分步式IDC的邮件转发设备,即IDC,所述IDC包括邮件收发模块、邮件文件解析模块、邮件保存模块,其特征在于,所述IDC进一步包括IDC标识分配判断模块和临时邮件文件生成模块;所述IDC标识分配判断模块与所述邮件文件解析模块相连,用于为用户分配一个当前IDC标识,以及判断所述邮件文件解析模块解析得到的邮件的IDC标识是否与所述用户的当前IDC标识一致;所述临时邮件文件生成模块与所述邮件文件解析模块、邮件收发模块相连,用于当所接收到的邮件的IDC标识与用户的当前IDC标识不一致时,生成临时邮件文件,并通过所述邮件收发模块将所述临时邮件文件发送给其他IDC。
6.一种基于分步式IDC的邮件转发方法,其特征在于,所述分布式IDC至少包括第一IDC和第二IDC,所述方法包括以下步骤A.用户登陆第一IDC时,所述第一IDC为所述用户分配第一IDC标识;B.所述第一IDC扫描邮件入口队列,若接收到新邮件,则解析并判断所述邮件的IDC标识是否与所述第一IDC标识一致,若一致则将所述邮件保存在所述第一IDC的邮件队列中,若不一致则转步骤C;C.将所述邮件保存在所述第一IDC的邮件队列中,并同时将其转发至所述第二IDC;D.所述第二IDC接收所述第一IDC转发的邮件,并保存在所述第二IDC的邮件队列中。
7.根据权利要求6所述的基于分步式IDC的邮件转发方法,其特征在于,在所述步骤A之前还包括所述分布式IDC根据用户的历史登陆情况将所述用户的数据分配至各IDC中,并为所述用户分配一个归属地IDC标识,所述归属地IDC是指所述用户长期登陆的IDC;所述用户的数据包括用户的邮件信息及其帐户信息。
8.根据权利要求6所述的基于分步式IDC的邮件转发方法,其特征在于,所述步骤C中的转发进一步包括C1.根据所述邮件生成临时邮件文件,并存入临时邮件目录;C2.扫描所述临时邮件目录,将所述临时邮件文件读入转发列表;C3.将所述转发列表中的临时邮件文件读出,并发送给所述第二IDC。
9.根据权利要求6所述的基于分步式IDC的邮件转发方法,其特征在于,所述步骤D包括D1.所述第二IDC接收所述第一IDC发送的临时邮件文件,并保存在所述第二IDC的临时邮件目录中;D2.所述第二IDC解析所述临时邮件目录中的临时邮件文件,并生成与所述步骤B中的新邮件一致的邮件文件;D3.将所述邮件文件保存在所述第二IDC的邮件队列中。
10.根据权利要求6至9中任一权利要求所述的基于分步式IDC的邮件转发方法,其特征在于,所述方法进一步包括在所述第一IDC中设置异地登陆阈值N,N为不小于1的正整数,当所述步骤B中所述邮件的IDC标识与所述第一IDC标识不一致的次数累计为N时,则将所述用户在其归属地IDC中的数据迁移至所述第一IDC中。
全文摘要
本发明涉及通信领域,提供了一种基于分步式IDC的邮件转发方法、系统及设备。所述分布式IDC至少包括第一IDC和第二IDC,所述方法包括以下步骤A.用户登陆第一IDC时,所述第一IDC为所述用户分配第一IDC标识;B.所述第一IDC扫描邮件入口队列,若接收到新邮件,则解析并判断所述邮件的IDC标识是否与所述第一IDC标识一致,若一致则将所述邮件保存在所述第一IDC的邮件队列中,若不一致则转步骤C;C.将所述邮件保存在所述第一IDC的邮件队列中,并同时将其转发至所述第二IDC;D.所述第二IDC接收所述第一IDC转发的邮件,并保存在所述第二IDC的邮件队列中。本发明极大地提高了异地登陆用户访问邮件的效率。
文档编号H04L12/58GK101079834SQ20061015782
公开日2007年11月28日 申请日期2006年12月21日 优先权日2006年12月21日
发明者母天石 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1