CN102036188B - 多节点系统下的邮件代理方法、设备和系统 - Google Patents

多节点系统下的邮件代理方法、设备和系统 Download PDF

Info

Publication number
CN102036188B
CN102036188B CN 200910093257 CN200910093257A CN102036188B CN 102036188 B CN102036188 B CN 102036188B CN 200910093257 CN200910093257 CN 200910093257 CN 200910093257 A CN200910093257 A CN 200910093257A CN 102036188 B CN102036188 B CN 102036188B
Authority
CN
China
Prior art keywords
node
service node
notification message
service
mail notification
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.)
Expired - Fee Related
Application number
CN 200910093257
Other languages
English (en)
Other versions
CN102036188A (zh
Inventor
王磊
范晓晖
赵辉
刘越
于蓉蓉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Mobile Communications Group Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Mobile Communications Group Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN 200910093257 priority Critical patent/CN102036188B/zh
Publication of CN102036188A publication Critical patent/CN102036188A/zh
Application granted granted Critical
Publication of CN102036188B publication Critical patent/CN102036188B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种多节点系统下的邮件代理方法、设备和系统,通过对系统整体功能的规划,按照不同的职能对系统划分为管理节点、业务节点、备份节点,各个节点可独立运行,根据网络环境状态为用户提供服务,没有局域网或虚拟局域网的物理依赖,并遏制通过局域网传播的病毒,有效地提高了系统的管理效率和网络安全性,节约了资源。

Description

多节点系统下的邮件代理方法、设备和系统
技术领域
本发明涉及通信技术领域,特别涉及一种多节点系统下的邮件代理方法、设备和系统。
背景技术
在现有技术中,通常可以通过集中部署,将具有同类业务操作需求的用户集中部署到同一个公共平台系统,由公共平台实现对外提供统一的服务,使得该公共平台融业务处理及系统管理于一体。
如果出现用户人数增多、系统负载压力过大或者有新功能需求时,系统通过新添机器设备、购买软件产品等方式或通过新增节点的方式为新增加的业务用户提供服务,既不影响已有用户的服务品质同时也能解决过多用户造成的负载过大的问题。
其中,新增节点与已有节点完全独立、互不影响,各个节点既具备业务处理的功能同时也具备系统管理的能力,可以通过建立公共的通道使各个节点产生的性能数据、监控数据能集中汇集至固定的位置方便系统统一上报。
电子邮件技术的发展以及手机终端的普及,使得人们的生活方式得到了极大地改变,利用手机终端随时随地进行电子邮件的处理已经变得异常重要。为使移动用户能通过手机终端接收电子邮件,现有技术中通过部署“邮件代理网关”的模式向移动用户提供业务服务。
目前为了解决海量用户的并发访问以及对富数据操作的时效性的要求,对应前述两种解决方案,系统通常采用以下两种通用技术方案解决相应的问题:
方案一、尽可能地提高单节点的的处理能力及性能,通过购买新的软硬件设备并进行对系统中存在的瓶颈进行针对性地小范围的修改优化,采用虚拟专用网络(Virtual Private Network,VPN)连接的方式将各个小的系统组合成一个超大规模的平台整合系统。
方案二、通过部署多个独立的分节点容纳新开的用户,新节点为新开用户服务,已有系统服务于先前已经开通服务的用户,因此,新用户的增加并未降低系统对先前已经开通服务的用户提供的服务品质。各个独立节点从结构到功能都完全一致,唯一不同之处在于其部署的位置不同。
进一步,通过提供公共通道的模式使各个节点产生的性能数据、监控数据能集中汇集至固定的位置方便系统统一上报。
在实现本发明的过程中,申请人发现现有技术至少存在以下问题:
首先,方案一的VPN方式的连接会成为系统新的性能瓶颈,即使采用硬件VPN连接性能也不能完全解决而且还增加了系统的运营成本。
其次,对于方案二所部署的新的分节点,由于各个分节点完全独立而且功能完全一致,都具备完整的管理、配置功能,所以,管理员只能通过依次远程连接的方式连接各个分节点进行管理维护的工作,增加了管理成本,而各个分节点中的重复存在的备份配置也造成了资源的冗余浪费。
发明内容
本发明提供一种多节点系统下的邮件代理方法、设备和系统,将系统划分为可独立运行的管理节点和业务节点,并通过管理节点实现多节点系统的管理。
为达到上述目的,本发明一方面提供了一种多节点系统下的邮件代理方法,应用于包括至少一个业务节点和一个管理节点的多节点系统中,其中,所述管理节点中保存各业务节点的位置信息,所述方法包括:
所述管理节点解析接收到的邮件通知消息,确定所述邮件通知消息所对应的业务节点;
在保存的所述业务节点的位置信息中查询所述业务节点的位置信息;
向所述位置信息所对应的业务节点转发所述邮件通知消息,通知所述业务节点处理所述邮件通知消息所对应的邮件业务。
另一方面,本发明还提供了一种管理节点,应用于包括至少一个业务节点和一个管理节点的多节点系统中,包括:
存储模块,用于保存所述多节点系统中的各业务节点的位置信息;
解析模块,用于解析接收到的邮件通知消息,确定所述邮件通知消息所对应的业务节点;
查询模块,用于在所述存储模块保存的各业务节点的位置信息中查询所述解析模块确定的业务节点的位置信息;
通信模块,用于接收邮件通知消息,并向所述查询模块所查询到的位置信息所对应的业务节点转发所述邮件通知消息,使所述业务节点处理所述邮件通知消息所对应的邮件业务。
另一方面,本发明还提供了一种业务节点,应用于包括至少一个业务节点和一个管理节点的多节点系统中,包括:
接收模块,用于接收管理节点发送的邮件通知消息;
识别模块,用于识别所述接收模块所接收的邮件通知消息中是否包含合法的识别标识;
处理模块,用于当所述识别模块识别所述邮件通知消息包含合法的识别标识时,处理所述邮件通知消息所对应的邮件业务。
另一方面,本发明还提供了一种多节点系统,包括至少一个业务节点和一个管理节点,其中,所述管理节点中保存各业务节点的位置信息,
所述管理节点,用于解析接收到的邮件通知消息,确定所述邮件通知消息所对应的业务节点,并根据保存的所述业务节点的位置信息,向所述邮件通知消息的指定业务节点或当前资源占用指数最小的业务节点发送所述邮件通知消息;
所述业务节点,用于根据所述管理节点发送的邮件通知消息处理相应的邮件业务。
与现有技术相比,本发明具有以下优点:
通过将系统划分为管理节点、业务节点和备份节点,各个节点可独立运行,没有局域网或虚拟局域网的物理依赖,所以当在新的地点部署系统时,节点可依赖周边的网络环境,通过配置而独立为用户提供服务,减少了网络的修改和配置工作量,同时,网络上的无依赖性也使得通过局域网传播的病毒得到遏制,无法扩散到整个多节点系统。
附图说明
图1为本发明实施例所提出的一种多节点系统下的邮件代理方法的流程示意图;
图2为本发明实施例所提出的一种多节点系统下的邮件代理方法中的管理节点对各个业务节点进行管理维护操作的流程示意图;
图3为本发明实施例所提出的一种管理节点进行管理操作的流程示意图;
图4为本发明实施例所提出的多节点系统的管理方法中的性能监控流程的示意图;
图5为本发明实施例所提出的多节点系统的管理方法中的性能监控流程的示意图;
图6为本发明实施例所提出的多节点系统的管理方法中的邮件通知转发流程的示意图;
图7为本发明实施例所提出的一种进行用户分发的网络结构示意图;
图8为本发明实施例所提出的一种用户分发流程的示意图;
图9为本发明实施例所提出的一种多节点系统的结构示意图;
图10为本发明实施例所提出的一种管理节点的结构示意图;
图11为本发明实施例所提出的一种业务节点的结构示意图;
图12为本发明实施例所提出的一种具体场景下的多节点系统的结构示意图。
具体实施方式
如背景技术所述,现有的物理上部署在不同位置或地点的应用系统,每一个位置或地点的系统只是在物理地点上不同,通过网络设置手段,使每个地点的服务器设备处在相同的局域网或虚拟局域网,而且,当某个节点的系统由于意外原因出现故障时,会扩展到整个局域网或虚拟局域网,影响到整个多节点系统。
本发明实施例提出了一种多节点系统下的邮件代理方法,通过对系统整体功能的规划,按照不同的职能对系统划分为管理节点、业务节点和备份节点,各个节点可独立运行,没有局域网或虚拟局域网的物理依赖。
需要说明的是,物理上部署在不同位置或地点的系统,每一个位置或地点的都是一个具备完整功能的业务系统(也即是节点),各节点可按职能进行组织、部署,各节点在逻辑或物理上,可以不在相同的局域网或虚拟局域网中。
上述的管理节点、业务节点和备份节点职能独立,依赖性少,各节点可独立工作。当管理节点出故障的时候,业务节点不需管理节点的干预可以正常运行,当把邮件通知消息通过网络配置映射到正常的业务节点时,业务节点可以正常服务于已有用户,而当业务节点出现故障时,管理节点的用户订购管理、业务通知的接收等均可正常工作,业务节点一旦恢复正常,新订购用户和业务通知可由业务节点继续处理。备份节点则为系统安全稳定运行提供了额外保证手段。
基于上述技术思路,本发明实施例提供了一种多节点系统下的邮件代理方法,应用于包括至少一个业务节点和一个管理节点的多节点系统中,其中,管理节点中保存各业务节点的位置信息。
如图1所示,为本发明实施例提供的一种多节点系统下的邮件代理方法的流程示意图,该方法具体包括以下步骤:
步骤S101、管理节点解析接收到的邮件通知消息,确定该邮件通知消息所对应的业务节点。
在具体的应用场景中,本步骤的实现过程具体为:
管理节点解析接收到的邮件通知消息,确定邮件通知消息所对应的用户信息;
管理节点根据用户信息与业务节点的对应关系,确定邮件通知消息所对应的业务节点。
其中,管理节点所接收到的邮件通知消息,具体为:
电子邮件服务器在用户的电子邮箱接收到新的电子邮件信息后,向管理节点发送的超文本传输协议(Hypertext Transfer Protocol,HTTP)格式的消息包。
步骤S102、管理节点在保存的各业务节点位置信息中查询邮件通知消息所对应的业务节点的位置信息。
步骤S103、管理节点向该位置信息所对应的业务节点转发邮件通知消息,通知该业务节点处理邮件通知消息所对应的邮件业务。
在具体的应用场景中,本步骤具体包括:
管理节点根据业务节点的位置信息,建立与业务节点之间的网络连接;
管理节点通过网络连接向业务节点发送该邮件通知消息。
进一步的,为了实现网络安全方面的保证,本步骤中还可以包括以下的鉴权策略:
管理节点在待转发的邮件通知消息中添加识别标识;
管理节点向业务节点发送包含识别标识的邮件通知消息,使业务节点在识别邮件通知消息中携带的识别标识成功的情况下,根据邮件通知消息处理对应的邮件业务。
在具体的应用场景中,当网络系统中还包括备份节点时,方法还包括以下的备份流程:
各业务节点按照预设的备份周期将自身的数据信息备份到网络系统中的备份节点中,其中,备份节点中根据不同的用户标识对个用户所对应的数据信息进行区分;
当一个业务节点中的一个或多个用户的数据信息需要进行数据恢复时,业务节点向备份节点获取相应用户的数据信息,进行数据恢复。
为了更好的管理系统中各业务节点的业务负载情况,在具体的应用场景中,本方法还可以包括以下的性能监控流程:
管理节点按照预设的检测周期获取各业务节点的性能数据信息,并根据性能数据信息对各业务节点进行性能监控。
根据系统设置的不同,性能监控流程包括以下两种方式:
方式一、管理节点按照预设的检测周期主动获取各业务节点的性能数据信息。
这是主动的性能监控,可以在管理节点侧进行控制,便于管理。
方式二、管理节点接收各业务节点按照预设的上报周期广播发送的性能数据信息。
这是被动的性能监控,可以简化网络设置,只需要简单的业务节点配置策略,就可以实现性能监控机制的建立。
在此种情况下,业务节点并不需要相应的反馈,只要向管理接点活预设的组播地址发送了性能数据信息即可,减少了信息交互的资源消耗。
基于上述的性能监控结果,管理节点对邮件通知消息进行调度调控,相应的处理流程具体包括以下步骤:
首先,管理节点判断邮件通知消息是否指定业务节点,即判断发起该邮件通知消息的用户是否是订购用户。
如果管理节点判断该邮件通知消息没有指定业务节点,则管理节点根据多节点系统中各业务节点的当前系统资源占用情况,向当前系统资源占用最少的业务节点发送该邮件通知消息,使该业务节点根据该邮件通知消息处理对应的邮件业务。
其中,多节点系统中各业务节点的当前系统资源占用情况具体通过各业务节点的当前资源占用指数来表示,具体通过以下方式进行计算:
管理节点获取多节点系统中各业务节点所对应的各种设备的CPU占用率、MEM占用率和网络流量占用率;
管理节点根据多节点系统中各业务节点所对应的各种设备的CPU占用率、MEM占用率和网络流量占用率,以及各种设备及资源参数所对应的权重值,计算业务节点的当前资源占用指数。
如果管理节点判断邮件通知消息指定了业务节点,则管理节点向指定的业务节点发送该业务请求,使指定的业务节点根据该邮件通知消息处理对应的邮件业务。
与现有技术相比,本发明实施例具有以下优点:
通过将系统划分为管理节点、业务节点和备份节点,各个节点可独立运行,没有局域网或虚拟局域网的物理依赖,所以当在新的地点部署系统时,节点可依赖周边的网络环境,通过配置而独立为用户提供服务,减少了网络的修改和配置工作量,同时,网络上的无依赖性也使得通过局域网传播的病毒得到遏制,无法扩散到整个多节点系统。
下面,进一步结合具体的应用场景,对本发明实施例所提出的技术方案进行说明。
多节点部署方式所建立的系统由于将配置管理系统进行了突出,系统的维护管理功能进行了集中规划及部署,通过设立特定的“管理节点”专门对系统进行管理配置、维护等方面的工作,管理节点通过与部署于各个业务节点的代理模块进行交互通行此而实现对整个系统的管理。代理模块可以简化到以插件的形式“安插”到各个业务节点,所以管理员可以根据实际需要按需部署配置各个业务节点,同时后期随着业务的开展,通过开发新的“插件”以实现对新功能的管理配置工作。
如图2所示,为本发明实施例提出的一种多节点系统下的邮件代理方法中的管理节点对各个业务节点进行管理维护操作的流程示意图,该流程具体包括以下步骤:
步骤S201、管理节点查找定位各个业务节点的节点位置。
由于存在多个业务业务节点,各个业务节点的网络物理位置各异,管理员对系统进行配置之前需要定位到待操作的业务节点具体物理位置(例如待连接的网络地址)。
通常各个业务节点的物理位置存放在管理节点数据库系统中,为了提高系统的访问性能,这些位置信息被放置在系统高速缓存中。
步骤S202、管理节点连接待操作业务节点。
通过步骤S201得到业务节点的连接IP地址并与之建立远程网络连接,以后的各种配置管理维护等操作都是通过此连接完成。
步骤S203、管理节点通过管理员发送管理配置指令。
与业务节点建立连接以后,管理节点就可以向业务节点发送各种管理、配置等指令最终实现对各个业务节点的管理工作。
为了提高系统内通信的安全性,各种管理、配置维护类指令通过预设的指令码予以识别。
步骤S204、业务节点接收管理配置指令并进行解析。
业务节点接收到来自管理节点的各种指令以后通过解析指令码以及各种操作参数获取相应的管理配置操作内容,并可选的进行管理配置命令的合法性验证。
步骤S205、业务节点根据解析结果实现具体的管理配置操作。
例如修改配置文件,插件将根据参数值修改相应的配置文件;
例如启停进程,插件将启动或停止收到参数指定的系统进程(执行命令killall-9 process_name)。
为了便于对系统的维护,管理节点的管理服务模块以及各个业务节点的代理模块交互过程采用可靠交互方式,即代理操作完成以后需要向请求方发送确认消息;同时双方在操作过程中都通过记录行为日志的方式进行记录,以便检查。
如果是由管理员通过管理节点进行管理操作,相应的示意图如图3所示。
另一方面,如图4所示,为本发明实施例所提出的多节点系统的管理方法中的性能监控流程的示意图。
通过部署在各个业务节点的性能监控代理单元定时收集各个业务节点的性能数据并上报给管理节点,最终存入相应的数据库或存入文件中,并由相应的性能分析模块/程序所处理。
这样的触发可以是管理节点定期向业务节点发送性能数据请求信息,并根据返回的性能数据进行性能监控。
也可以是由业务节点定期上报的方式实现。
为了简化系统的处理,业务节点将采用广播/组播的技术上报本节点的各种性能数据,由于各个业务节点只想将性能数据组播到指定的组播地址即可,所以无需等待接收方的应答。由于采用广播/组播技术,此而降低了系统间的耦合性、减少了系统的性能开销,同时也便于系统的部署工作。
另一方面,如图5所示,为本发明实施例所提出的多节点系统的管理方法中的性能监控流程的示意图,该流程包括以下步骤:
步骤S501、各个业务节点在进行各种业务处理的过程中定时将业务数据备份到指定的备份节点上。
步骤S502、备份节点按照各用户所对应的信息进行备份信息的存储。
由于系统根据各个用户的号码(针对邮件代理业务系统是根据用户的手机号码)在存储系统中(例如硬盘上)对用户进行了分块划分,各个用户自己的数据将被存放到特定的存储位置。
步骤S503、业务节点判断用户信息是否需要恢复。
具体的恢复原因可能是数据丢失,或者数据复位需求等情况。
当业务节点判断用户信息需要进行用户数据恢复时,执行步骤S504;
当业务节点判断用户信息不需要进行用户数据恢复时,继续执行步骤S501,进行数据备份。
步骤S504、业务节点向备份节点请求相应的用户数据。
步骤S505、业务节点根据备份节点返回的用户数据进行数据恢复。
备份系统将把存放在各个不同存储位置的用户数据读出并复制到相应业务节点的相应目录中。
实际上,管理节点除了实现管理配置功能以外还充当着中央调度的角色。下面,以电子邮件的接收流程为例,对本发明实施例提出的多节点系统的管理方法进行说明。
作为完整的系统,多节点部署方式的邮件代理网关系统主要由管理节点负责与外界的交互(如与139邮箱、与中国移动网管系统等)。由于邮件代理网关采用“邮件通知”的形式收取用户邮件(即当用户邮箱有新邮件到达时139邮箱会向邮件代理网关系统发送一个HTTP格式的消息包),而且邮件通知统一被发送到管理节点并由其转发至相应业务节点完成最终的邮件接收操作。
如图6所示,为本发明实施例所提出的多节点系统的管理方法中的邮件通知转发流程的示意图,具体包括以下步骤:
步骤S601、管理节点接收来自139邮箱的邮件通知。
由于邮件通知被统一发送到管理节点,随着用户数目的增加,系统接收处理的性能会有所下降,为此需要采用多机、多进程及多线程的方式处理,而且要求具备高扩展性以便能通过新增机器的形式平滑提高系统的处理能力。
步骤S602、管理节点解析通知内容并通过缓存系统定位待处理的节点位置。
由于用户被安置于某一固定业务节点中,则此用户的邮件通知只能被转发至相应的业务节点方能被正确处理,为此,管理节点接收下用户邮件通知以后通过解析内容获得用户身份信息(手机号)并查找缓存内容定位到用户的节点位置并将邮件通知请求转发到相应的业务节点中。
步骤S603、业务节点完成最终的邮件收取。
业务节点中相应的程序模块接收下来做管理节点转发来的邮件通知请求,连接139邮箱完成用户的邮件收取工作。
除了上述对于接收电子邮件的处理,本发明技术方案对于其他业务也可以通过管理节点进行调度。
在一个大型的应用系统当中,如果系统支撑的用户数量巨大,用户如何进行管理就成为了一个问题。通常为了有效、方便的管理系统中的用户,采用把用户按一定规则分散到不同的用户管理域中进行管理。
如果系统中存在多个用户管理域,分别对应不同的业务节点,当用户动态增加时,如何在不同的用户管理域中分发用户,成为改善系统可维护性、改善系统性能的一个重要问题。通常的方法是按照用户所处地域或用户拥有的服务类型进行分发,但这些方式均不能兼顾整个应用系统的动态指标,如不同区域的设备能力,不同地域、不同服务类型用户数量的差别,系统的扩容、设备升级等。也有采用人工分发或用户数据人工迁移的,这样的网络维护成本过于高昂,并且对人力投入和人员操作精度的依赖较大,存在安全隐患。
为了能更加有效的管理不同用户管理域的用户,加强各用户域的数据共享,提高用户管理效率,提供高效的服务,本发明实施例所提出的技术方案中的管理节点进行用户管理域的分发,从而解决现有用户管理技术上的缺陷。
如图7所示,为本发明实施例所提出的一种进行用户分发的网络结构示意图。
当用户发出订购请求后,管理节点会根据各用户管理域(业务节点)中的系统实际消耗的资源大小动态的将用户分配到系统消耗最小的用户管理域中。
下面,结合图8所示的用户分发流程的示意图,对本发明实施例技术方案中的用户分发流程进行说明,具体包括以下步骤:
(一)预处理阶段
在本阶段中,管理节点需要计算系统中各用户管理域所对应的业务节点的当前系统资源消耗量,并根据计算结果生成相应的用户分发策略。为了实现上述的处理流程,管理节点中需要建立相应的用户分发策略中心,进行相应用户分发策略的生成。
步骤S801、用户分发策略中心定时查询各用户管理域的系统监控数据。
其中,在具体的应用场景中,系统监控数据包括每个业务节点中所包含的每台设备的CPU占用率、MEM占用率和网络流量占用率。
步骤S802、用户分发策略中心根据系统监控数据进行资源占用指数的计算。
用户分发策略中心将每个节点所有业务设备的CPU占用率、MEM占用率、网络流量占用率(NETFLOW)等数据按不同业务设备所占权重不同进行加权平均计算,计算出的值作为各业务节点进行系统消耗的一个比较依据。
下面,结合具体的实施场景,对计算过程说明如下:
(1)管理节点确定每个用户管理域中不同设备的权重。
例如,确定业务处理设备A的权重为0.8,管理系统设备B的权重为0.1,经分系统设备C的权重为0.1。
(2)管理节点计算各项资源的占用率。
其中,计算某个用户管理域Y(即业务节点)CPU资源占用率的公式为:Y.cpu=(A1.cpu×0.8+A2.cpu×0.8+...+An.cpu×0.8+B1.cpu×0.1+B2.cpu×0.1+...+Bn.cpu×0.1+C1.cpu×0.1+C2.cpu×0.1+...+Cn.cpu×0.1)/设备总数
计算某个用户管理域Y(即业务节点)MEM资源占用率的公式为:Y.mem=(A1.mem×0.8+A2.mem×0.8+...+An.mem×0.8+B1.mem×0.1+B2.mem×0.1+...+Bn.mem×0.1+C1.mem×0.1+C2.mem×0.1+...+Cn.mem×0.1)/设备总数
计算某个用户管理域Y(即业务节点)网络占用率的公式为:Y.netflow=(A1.netflow×0.8+A2.netflow×0.8+...+An.netflow×0.8+B1.netflow×0.1+B2.netflow×0.1+...+Bn.netflow×0.1+C1.netflow×0.1+C2.netflow×0.1+...+Cn.netflow×0.1)/设备总数
其中,A1...An为业务处理设备,B1...Bn为管理系统设备,C1...Cn为经分系统设备。
需要指出的是,上述的各项参数均是为了方便说明而选择的一种优选示例,在具体的应用场景中,也可以选择其他能够表征系统资源占用情况的指数,这样的变化并不影响本发明的保护范围。
(3)管理节点确定每种性能指标的权重。
例如,确定CPU占用率的权重为0.4,MEM占用率的权重为0.4,网络占用率的权重为0.2。
(4)管理节点计算整个系统的资源占用指数。
Y=(Y.cpu×0.4+Y.mem×0.4+Y.netflow×0.2)/3
计算出的Y值和相应的用户分发策略存储在管理节点中的数据中心中,以备查询。
步骤S803、管理节点接收用户发送的业务请求。
步骤S804、管理设备识别业务请求所对应的用户是否是订购用户。
如果是订购用户,即该业务请求存在指定的用户管理域(业务节点),则执行步骤S805;
如果是非订购用户,即该业务请求不存在指定的用户管理域(业务节点),则执行步骤S806。
步骤S805、管理设备直接通过用户分发模块将该业务请求发送给指定的业务节点。
步骤S806、管理设备将该业务请求转发给用户分发模块,用户分发模块查询用户分发策略中心的数据和用户分发策略。
即查询各用户管理域(业务节点)中的系统消耗的资源情况,即上述计算过程所得到的Y值。
步骤S807、管理设备通过用户分发模块将用户分发到系统资源消耗最小的业务节点。
通过这样的处理可以实现各业务节点动态负载均衡。
需要指出的是,上述的管理节点中的各模块的名称只是为了便于说明而选取的一种称谓,在实际的处理过程中,上述的不同模块的功能可能由物理上相同的设备来实现,上述的一个模块也可能由多个不同的物理设备来充当,这样的变化并不影响本发明的保护范围。
这样的处理优化了用户分配和定位策略,根据系统实际的资源消耗动态的将用户分配到系统资源消耗最小的用户管理域,从而实现各用户管理域的用户均衡和业务均衡,保证各用户管理域对应的业务域能更好的响应用户的服务,提高用户服务质量。
为了实现上述的技术方案,本发明实施例还提供了一种多节点系统,包括至少一个业务节点和一个管理节点,其中,管理节点中保存各业务节点的位置信息。
如图9所示,为本发明实施例所提出的一种多节点系统的结构示意图,包括:
管理节点91,用于解析接收到的邮件通知消息,确定邮件通知消息所对应的业务节点92,并根据保存的业务节点的位置信息,向邮件通知消息的指定业务节点或当前资源占用指数最小的业务节点发送邮件通知消息。
业务节点92,用于根据管理节点91发送的邮件通知消息处理相应的邮件业务。
在具体的应用场景中,多节点系统还包括:
备份节点93,用于对各业务节点92按照预设的备份周期发送的数据信息进行备份,并根据不同的用户标识对各用户所对应的数据信息进行区分,以及在一个业务节点92中的一个或多个用户的数据信息需要进行数据恢复时,为业务节点92提供相应用户的数据信息,进行数据恢复。
下面,具体对上述多节点系统中的各个设备进行说明。
如图10所示,为本发明实施例所提出的一种管理节点91的结构示意图,包括:
存储模块911,用于保存多节点系统中的各业务节点的位置信息;
解析模块912,用于解析接收到的邮件通知消息,确定该邮件通知消息所对应的业务节点92;
查询模块913,用于在存储模块911所保存的业务节点的位置信息中查询解析模块912确定的业务节点92的位置信息;
通信模块914,用于接收邮件通知消息,并向查询模块913所查询到的位置信息所对应的业务节点转发邮件通知消息,使业务节点92处理所述邮件通知消息所对应的邮件业务。
在具体的应用场景中,通信模块914还用于在邮件通知消息中添加识别标识,以使业务节点92根据所述识别标识识别邮件通知消息的合法性。
另一方面,为了实现性能监控功能,管理节点91还包括:
监控模块915,用于按照预设的检测周期获取各业务节点的性能数据信息,并根据性能数据信息对各业务节点进行性能监控,其中,性能数据信息至少包括各业务节点所对应的各种设备的CPU占用率、MEM占用率和网络流量占用率。
计算模块916,用于根据监控模块915所获取的各业务节点的性能数据信息,以及各种设备及资源参数所对应的权重值,计算各业务节点所对应的当前资源占用指数。
此种情况下,存储模块911还用于存储计算模块916所计算的各业务节点所对应的当前资源占用指数。
解析模块912,还用于在通信模块914接收到邮件通知消息时,判断该邮件通知消息是否指定了业务节点。
通信模块914,还用于在解析模块912判断该邮件通知消息指定业务节点时,向该邮件通知消息的指定业务节点发送业务请求,或在解析模块912判断该邮件通知消息没有指定业务节点时,向存储模块911所存储的当前资源占用指数最小的业务节点发送邮件通知消息。
如图11所示,为本发明实施例所提出的一种业务节点92的结构示意图,包括:
接收模块921,用于接收管理节点发送的邮件通知消息;
识别模块922,用于识别接收模块921所接收的邮件通知消息中是否包含合法的识别标识;
处理模块923,用于当识别模块922识别邮件通知消息包含合法的识别标识时,处理邮件通知消息所对应的邮件业务。
为了实现性能监控,业务节点92还包括:
反馈模块924,用于按照预设的上报周期向管理模块或预设的组播地址广播发送业务节点的性能数据信息。
另一方面,当网络系统中还包括用于备份各业务节点的数据信息的备份节点93时,业务节点92还包括:
备份模块925,用于按照预设的备份周期将业务节点92的数据信息备份到网络系统中的备份节点93中,其中,备份节点93中根据不同的用户标识对各用户所对应的数据信息进行区分;
备份模块925,还用于当一个业务节点92中的一个或多个用户的数据信息需要进行数据恢复时,向备份节点93获取相应用户的数据信息,进行数据恢复。
在具体的应用场景中,基于上述的技术思路,如图12所示,本发明实施例提出了一种多节点系统。该系统从结构上分为“管理节点121”、“业务节点122”以及“备份节点123”三种逻辑结构。
逻辑上系统由这三种结构组成,在实际部署上各个逻辑节点可以根据实际情况进行整合,例如:备份节点123与管理节点121部署在同一位置。总体上系统由备份节点123的存储系统1231、管理节点121的管理服务模块1211、性能监控模块1212、订购系统1213、分发处理模块1214、存储系统1215、经分系统1216、业务节点122的业务处理模块1221、管理代理模块1222、存储系统1223以及性能监控代理模块1224组成。
其中,部署于各个业务节点122的业务处理模块1221负责处理系统核心的邮件代理收发、附件转换等操作;
业务节点122的管理代理模块1222则接收来着管理节点121的管理服务模块1211发来的各种管理配置数据及指令完成对本业务节点的维护管理工作;
业务节点122的存储系统1223用于存放本业务节点的业务类数据(例如,用户的收发邮件、用户过滤规则等);
业务节点122的性能监控代理模块1224定时收集并向管理节点121的性能监控模块1212上报本业务节点的各种性能、网管类经营数据;
管理节点121的分发服务模块1214用于分发各种需要转发至各个业务节点122上的处理请求并最终由各个业务节点122完成处理(例如,邮件代理网关需要处理的邮件通知的转发);
各个业务节点122通过将各自节点上的业务数据备份到独立的“备份节点123”上的存储系统1231此而实现对系统数据备份的功能,确保了系统整体上的安全可靠性。
与现有技术相比,本发明实施例具有以下优点:
通过将系统划分为管理节点、业务节点和备份节点,各个节点可独立运行,没有局域网或虚拟局域网的物理依赖,所以当在新的地点部署系统时,节点可依赖周边的网络环境,通过配置而独立为用户提供服务,减少了网络的修改和配置工作量,同时,网络上的无依赖性也使得通过局域网传播的病毒得到遏制,无法扩散到整个多节点系统。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施场景所述的方法。
本领域技术人员可以理解附图只是一个优选实施场景的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
本领域技术人员可以理解实施场景中的装置中的模块可以按照实施场景描述进行分布于实施场景的装置中,也可以进行相应变化位于不同于本实施场景的一个或多个装置中。上述实施场景的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
上述本发明序号仅仅为了描述,不代表实施场景的优劣。
以上公开的仅为本发明的几个具体实施场景,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。

Claims (15)

1.一种多节点系统下的邮件代理方法,其特征在于,应用于包括一个管理节点和至少一个业务节点的多节点系统中,其中,所述管理节点中保存各业务节点的位置信息,所述方法包括: 
所述管理节点解析接收到的邮件通知消息,确定所述邮件通知消息所对应的业务节点; 
在保存的所述业务节点的位置信息中查询所述业务节点的位置信息; 
向所述位置信息所对应的业务节点转发所述邮件通知消息,通知所述业务节点处理所述邮件通知消息所对应的邮件业务。 
2.如权利要求1所述的方法,其特征在于,所述管理节点解析接收到的邮件通知消息,确定所述邮件通知消息所对应的业务节点,具体为: 
所述管理节点解析接收到的邮件通知消息,确定所述邮件通知消息所对应的用户信息; 
所述管理节点根据用户信息与业务节点的对应关系,确定所述邮件通知消息所对应的业务节点; 
其中,所述管理节点所接收到的邮件通知消息,具体为: 
电子邮件服务器在用户的电子邮箱接收到新的电子邮件信息后,向所述管理节点发送的超文本传输协议HTTP格式的消息包。 
3.如权利要求1所述的方法,其特征在于,所述管理节点向所述位置信息所对应的业务节点转发所述邮件通知消息,具体包括: 
所述管理节点根据所述业务节点的位置信息,建立与所述业务节点之间的网络连接; 
所述管理节点通过所述网络连接向所述业务节点发送所述邮件通知消息。 
4.如权利要求3所述的方法,其特征在于,所述管理节点向所述位置信息所对应的业务节点转发所述邮件通知消息,还包括: 
所述管理节点在所述邮件通知消息中添加识别标识; 
所述管理节点向所述业务节点发送包含识别标识的邮件通知消息,使所述业务节点在识别所述识别标识成功的情况下,根据所述邮件通知消息处理 对应的邮件业务。 
5.如权利要求1所述的方法,其特征在于,当所述多节点系统中还包括用于备份各业务节点的数据信息的备份节点时,所述方法还包括: 
各所述业务节点按照预设的备份周期将自身的数据信息备份到所述多节点系统中的备份节点中,其中,所述备份节点根据不同的用户标识对各用户所对应的数据信息进行区分; 
当一个业务节点中的一个或多个用户的数据信息需要进行数据恢复时,所述业务节点向所述备份节点获取相应用户的数据信息,进行数据恢复。 
6.如权利要求1所述的方法,其特征在于,还包括: 
所述管理节点按照预设的检测周期主动获取各所述业务节点的性能数据信息,或接收各所述业务节点按照预设的上报周期广播发送的性能数据信息; 
所述管理节点根据所述性能数据信息对各所述业务节点进行性能监控。 
7.如权利要求6所述的方法,其特征在于,所述管理节点获取到各业务节点的性能数据信息之后,如果所述管理节点接收到新的邮件通知消息,所述方法还包括: 
所述管理节点判断所述邮件通知消息是否指定业务节点; 
如果所述邮件通知消息没有指定业务节点,所述管理节点根据获取到的各业务节点的性能数据信息识别各业务节点当前资源占用情况,并向当前资源占用最少的业务节点发送所述邮件通知消息,使所述当前资源占用最少的业务节点根据所述邮件通知消息处理对应的邮件业务; 
如果所述邮件通知消息指定了业务节点,所述管理节点向指定的业务节点发送所述邮件通知消息,使所述指定的业务节点根据所述邮件通知消息处理对应的邮件业务。 
8.如权利要求7所述的方法,其特征在于,所述管理节点根据获取到的各业务节点的性能数据信息识别各业务节点当前资源占用情况,具体为根据各业务节点所对应的当前资源占用指数进行识别; 
其中,所述当前资源占用指数,具体通过以下方式确定: 
所述管理节点获取所述多节点系统中各业务节点所对应的各种设备的中 央处理器CPU占用率、存储器MEM占用率和网络流量占用率; 
所述管理节点根据所述多节点系统中各业务节点所对应的各种设备的CPU占用率、MEM占用率和网络流量占用率,以及所述各种设备及资源参数所对应的权重值,计算所述业务节点的当前资源占用指数。 
9.一种管理节点,其特征在于,应用于包括一个管理节点和至少一个业务节点的多节点系统中,包括: 
存储模块,用于保存所述多节点系统中的各业务节点的位置信息; 
解析模块,用于解析接收到的邮件通知消息,确定所述邮件通知消息所对应的业务节点; 
查询模块,用于在所述存储模块保存的各业务节点的位置信息中查询所述解析模块确定的业务节点的位置信息; 
通信模块,用于接收邮件通知消息,并向所述查询模块所查询到的位置信息所对应的业务节点转发所述邮件通知消息,使所述业务节点处理所述邮件通知消息所对应的邮件业务。 
10.如权利要求9所述的管理节点,其特征在于,所述通信模块,还用于在所述邮件通知消息中添加识别标识,以使所述业务节点根据所述识别标识识别所述邮件通知消息的合法性。 
11.如权利要求9所述的管理节点,其特征在于,还包括: 
监控模块,用于按照预设的检测周期获取各业务节点的性能数据信息,并根据所述性能数据信息对各所述业务节点进行性能监控,其中,所述性能数据信息至少包括各业务节点所对应的各种设备的CPU占用率、MEM占用率和网络流量占用率; 
计算模块,用于根据所述监控模块所获取的各业务节点的性能数据信息,以及所述各种设备及资源参数所对应的权重值,计算各业务节点所对应的当前资源占用指数; 
所述存储模块,还用于存储所述计算模块所计算的各业务节点所对应的当前资源占用指数; 
所述解析模块,还用于在所述通信模块接收到邮件通知消息时,判断所述邮件通知消息是否指定业务节点; 
所述通信模块,还用于在所述解析模块判断所述邮件通知消息指定业务节点时,向所述邮件通知消息的指定业务节点发送业务请求,或在所述解析模块判断所述邮件通知消息没有指定业务节点时,向所述存储模块所存储的当前资源占用指数最小的业务节点发送所述邮件通知消息。 
12.一种业务节点,其特征在于,应用于包括一个管理节点和至少一个业务节点的多节点系统中,包括: 
接收模块,用于接收管理节点发送的邮件通知消息; 
识别模块,用于识别所述接收模块所接收的邮件通知消息中是否包含合法的识别标识; 
处理模块,用于当所述识别模块识别所述邮件通知消息包含合法的识别标识时,处理所述邮件通知消息所对应的邮件业务; 
其中,当所述多节点系统中还包括用于备份各业务节点的数据信息的备份节点时,所述业务节点还包括: 
备份模块,用于按照预设的备份周期将所述业务节点的数据信息备份到所述多节点系统中的备份节点中,其中,所述备份节点根据不同的用户标识对各用户所对应的数据信息进行区分; 
所述备份模块,还用于当一个业务节点中的一个或多个用户的数据信息需要进行数据恢复时,向所述备份节点获取相应用户的数据信息,进行数据恢复。 
13.如权利要求12所述的业务节点,其特征在于,还包括: 
反馈模块,用于按照预设的上报周期向管理模块或预设的组播地址广播发送所述业务节点的性能数据信息。 
14.一种多节点系统,其特征在于,包括一个管理节点和至少一个业务节点,其中,所述管理节点中保存各业务节点的位置信息, 
所述管理节点,用于解析接收到的邮件通知消息,确定所述邮件通知消息所对应的业务节点,并根据保存的所述业务节点的位置信息,向所述邮件通知消息的指定业务节点或当前资源占用指数最小的业务节点发送所述邮件通知消息; 
所述业务节点,用于根据所述管理节点发送的邮件通知消息处理相应的邮件业务。 
15.如权利要求14所述的多节点系统,其特征在于,还包括: 
备份节点,用于对各所述业务节点按照预设的备份周期发送的数据信息进行备份,并根据不同的用户标识对各用户所对应的数据信息进行区分,以及在一个业务节点中的一个或多个用户的数据信息需要进行数据恢复时,为所述业务节点提供相应用户的数据信息,进行数据恢复。 
CN 200910093257 2009-09-24 2009-09-24 多节点系统下的邮件代理方法、设备和系统 Expired - Fee Related CN102036188B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200910093257 CN102036188B (zh) 2009-09-24 2009-09-24 多节点系统下的邮件代理方法、设备和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200910093257 CN102036188B (zh) 2009-09-24 2009-09-24 多节点系统下的邮件代理方法、设备和系统

Publications (2)

Publication Number Publication Date
CN102036188A CN102036188A (zh) 2011-04-27
CN102036188B true CN102036188B (zh) 2013-07-31

Family

ID=43888370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200910093257 Expired - Fee Related CN102036188B (zh) 2009-09-24 2009-09-24 多节点系统下的邮件代理方法、设备和系统

Country Status (1)

Country Link
CN (1) CN102036188B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102905299B (zh) * 2012-10-23 2014-10-08 三维通信股份有限公司 一种模拟用户行为对无线ap自动监测与异常告警的方法
CN103532833B (zh) * 2013-11-05 2017-01-11 中国联合网络通信集团有限公司 一种业务系统访问方法、终端及代理服务系统
CN106933662A (zh) * 2017-03-03 2017-07-07 广东神马搜索科技有限公司 分布式系统及其调度方法和调度装置
CN109842547A (zh) * 2019-03-07 2019-06-04 上海腾道信息技术有限公司 一种优化邮件发送的方法及优化系统
CN112118030B (zh) * 2020-08-27 2022-02-11 深圳市力合微电子股份有限公司 一种适用于泛dali系统的预应答方法
CN113242174B (zh) * 2021-07-09 2021-11-09 太平金融科技服务(上海)有限公司深圳分公司 邮件同步方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867105A (zh) * 2006-06-12 2006-11-22 北京立通无限科技有限公司 一种利用IP Push技术实现邮件推送的系统及方法
CN101163066A (zh) * 2006-12-19 2008-04-16 冲浪平台(北京)网络技术有限公司 分布式电子邮件系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4576074B2 (ja) * 2000-07-24 2010-11-04 パナソニック株式会社 添付ファイルを含む電子メールの送受信システム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1867105A (zh) * 2006-06-12 2006-11-22 北京立通无限科技有限公司 一种利用IP Push技术实现邮件推送的系统及方法
CN101163066A (zh) * 2006-12-19 2008-04-16 冲浪平台(北京)网络技术有限公司 分布式电子邮件系统

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"中国移动PushEmail邮件推送网关与邮件代理网关接口规范";王磊、范晓晖、魏晨光等;《中国移动通信企业标准》;20090629;第4-5大节 *
JP特开2002-111743A 2002.04.12
王磊、范晓晖、魏晨光等."中国移动PushEmail邮件推送网关与邮件代理网关接口规范".《中国移动通信企业标准》.2009,

Also Published As

Publication number Publication date
CN102036188A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
US10795737B2 (en) Generic distributed processing for multi-agent systems
US20030126196A1 (en) System for optimizing the invocation of computer-based services deployed in a distributed computing environment
CN102204187B (zh) 一种虚拟网络迁移方法、相关装置以及系统
CN101535978B (zh) 分布式服务器系统中的消息转发备份管理器
CN102036188B (zh) 多节点系统下的邮件代理方法、设备和系统
CN101729412B (zh) 地理信息服务的分布式层次集群方法和系统
CN101124565B (zh) 基于应用层消息的数据流量负载平衡
CN104468648B (zh) 数据处理系统及方法
CN100462957C (zh) 基于隐私策略的消息路由方法和系统
CN102387075B (zh) 面向企业服务总线的动态服务路由装置
CN101729491B (zh) 一种增强基于脚本业务的应用可靠性的方法、装置和系统
CN104468838B (zh) 一种P2P网路和发布订阅模式的Web服务选择方法
CN111339145A (zh) 流程整合方法和平台、计算机可读存储介质
US8909189B2 (en) System, method and program product for maintaining deployed response team members synchronized
CN102138307A (zh) 服务的负载平衡
Buchholz et al. CoCo: dynamic composition of context information
CN109327503A (zh) 信息管理系统和方法、服务路由器
CN101771724B (zh) 异构分布式信息集成方法、装置及系统
CN110661780A (zh) 一种基于saas应用的无线城市数据共享方法与系统
EP2439881B1 (en) Cluster system and request message distribution method for processing multi-node transaction
CN1326035C (zh) 在移动应用程序环境中使用的产品
Han et al. CALM: an intelligent agent-based middleware for community computing
CN105516271A (zh) 业务处理系统、业务处理方法及装置
Kim et al. COSMOS: a middleware platform for sensor networks and a u-healthcare service
CN101719865A (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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130731

Termination date: 20210924