本发明涉及邮件安全认证技术领域,具体为一种邮件服务器与多因子认证平台同步用户的方法。
背景技术:
随着互联网环境的显著发展,现在不仅是大企业,像中小企业及个人都可以方便廉价地使用电子邮件。像没有邮件服务器的个人和中小企业等,利用互联网供应商所拥有的邮件服务器,与外界进行电子邮件的交换。但是,目前的邮件服务器的安全认证效率比较低,而且安全性较差。
技术实现要素:
本发明所解决的技术问题在于提供一种邮件服务器与多因子认证平台同步用户的方法,以解决上述背景技术中提出的问题。
本发明所解决的技术问题采用以下技术方案来实现:一种邮件服务器与多因子认证平台同步用户的方法,包括:多因子认证平台接收邮件服务器发送的数据同步请求,其中,所述同步请求中携带有该邮件服务器的标识、所述邮件服务器上一次进行数据同步的时间和该邮件服务器与多因子认证平台进行数据同步的同步账号;所述多因子认证平台判断出待同步数据的记录操作时间大于所述邮件服务器上一次进行数据同步的时间,其中,所述待同步数据为所述多因子认证平台上所述同步账号下对应于所述标识的数据;所述多因子认证平台与所述邮件服务器进行所述待同步数据的同步;所述邮件服务器包括数据库、服务器状态表以及数据同步模块。
进一步地,所述其中服务器状态表包括网络中每个服务器的ip地址、最高版本号和服务器类型,服务器类型分为决策服务器、备份服务器和普通服务器;网络中每个服务器包括的数据库均拥有相同的数据库名、数据表名和数据表结构。
进一步地,所述数据同步模块具体包括:服务器上线初始化模块、服务器状态维护模块、服务器类型选择模块、同步请求生成模块、同步请求发送模块、串行化调度模块、决策调控模块、同步更新接收模块、同步更新重发模块:、同步更新执行模块。
进一步地,所述服务器上线初始化模块:负责在服务器新上线时通过服务器类型选择模块,确定新上线服务器类型,然后向网络中其他服务器发送上线消息,上线消息包括本服务器的ip地址、最高版本号和服务器类型;在服务器状态表中增加本服务器信息。
进一步地,所述服务器状态维护模块:负责接收网络中其它服务器的上线消息,修改服务器状态表,并每隔一定时间在网络中广播本服务器的ip地址、最高版本号和服务器类型。
进一步地,所述服务器类型选择模块:根据设置的服务器类型选择策略确定本服务器的服务器类型,所述服务器类型选择策略为:当网络中有新上线服务器时,新上线服务器首先接收获得其他服务器的状态信息,修改本地服务器状态表;当服务器状态表中没有发现决策服务器时即表示只有自身服务器在线,则将本服务器定义为决策服务器;当服务器状态表中只存在决策服务器时,则将本服务器定义为备份服务器;当服务器状态表中已经存在决策服务器和备份服务器时,则将本服务器定义为普通服务器;当网络中已有决策服务器以及备份服务器和其他普通服务器的环境下:当决策服务器下线,备份服务器自动升级成决策服务器,其他在线服务器在本地服务器状态表中删除已下线的决策服务器信息,并广播当前本服务器状态;当决策服务器在线,备份服务器下线时,选择ip地址中最大的服务器作为新的备份服务器,各在线服务器在本地服务器状态表中删除已下线的备份服务器信息,并广播当前本服务器状态;当决策服务器和备份服务器同时下线时,选择在线服务器中ip地址最大的服务器为当前的决策服务器,选择在线服务器中ip地址次大的服务器为备份服务器,各在线服务器在本地服务器状态表中删除已下线的决策服务器和备份服务器信息,并广播当前本服务器状态;当普通服务器下线时,不发生决策服务器、备份服务器的变更,各在线服务器在本地服务器状态表中删除已下线普通服务器的信息,并广播当前本服务器状态。
进一步地,所述同步请求生成模块:在本服务器有数据同步请求时,生成数据同步操作序列。
进一步地,所述同步请求发送模块:负责向网络中其他在线服务器发送本服务器的数据同步操作序列。
进一步地,所述串行化调度模块:负责接收网络中所有服务器的数据同步操作序列,并将这些操作序列串行化,形成串行化操作序列,序列中每个操作均对应一个版本号。
进一步地,所述决策调控模块:如果是决策服务器,则在有新上线服务器且其最高版本号与决策服务器不一致时,向该服务器发送使其最高版本号与决策服务器一致的串行化操作序列;在网络中有数据同步请求时,将决策服务器最高版本号之后的串行化操作序列发送给网络中其他服务器。
进一步地,所述同步更新接收模块:接收从决策服务器发送来的串行化操作序列。
进一步地,所述同步更新重发模块:负责向决策服务器发送重发串行化操作序列的请求,决策服务器也使用该模块接收其他服务器发送的重发串行化操作序列的请求。
进一步地,所述同步更新执行模块:网络中的服务器根据接收的决策服务器发送来的串行化操作序列执行本地数据库操作,并更新最高版本号以及本地的串行化操作序列。
与现有技术相比,本发明的有益效果是:本发明通过各服务器与认证平台实时同步,用户要通过两种以上的认证机制之后,才能得到授权,使用计算机资源,这种认证方式可以提高安全性。
附图说明
图1为本发明的架构示意图。
具体实施方式
为了使本发明的实现技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体图示,进一步阐述本发明,在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以两个元件内部的连通。
实施例1
如图1所示,一种邮件服务器与多因子认证平台同步用户的方法,包括:多因子认证平台接收邮件服务器发送的数据同步请求,其中,所述同步请求中携带有该邮件服务器的标识、所述邮件服务器上一次进行数据同步的时间和该邮件服务器与多因子认证平台进行数据同步的同步账号;所述多因子认证平台判断出待同步数据的记录操作时间大于所述邮件服务器上一次进行数据同步的时间,其中,所述待同步数据为所述多因子认证平台上所述同步账号下对应于所述标识的数据;所述多因子认证平台与所述邮件服务器进行所述待同步数据的同步;所述邮件服务器包括数据库、服务器状态表以及数据同步模块。所述其中服务器状态表包括网络中每个服务器的ip地址、最高版本号和服务器类型,服务器类型分为决策服务器、备份服务器和普通服务器;网络中每个服务器包括的数据库均拥有相同的数据库名、数据表名和数据表结构。
实施例2
如图1所示,一种邮件服务器与多因子认证平台同步用户的方法,包括:多因子认证平台接收邮件服务器发送的数据同步请求,其中,所述同步请求中携带有该邮件服务器的标识、所述邮件服务器上一次进行数据同步的时间和该邮件服务器与多因子认证平台进行数据同步的同步账号;所述多因子认证平台判断出待同步数据的记录操作时间大于所述邮件服务器上一次进行数据同步的时间,其中,所述待同步数据为所述多因子认证平台上所述同步账号下对应于所述标识的数据;所述多因子认证平台与所述邮件服务器进行所述待同步数据的同步;所述邮件服务器包括数据库、服务器状态表以及数据同步模块。所述数据同步模块具体包括:服务器上线初始化模块、服务器状态维护模块、服务器类型选择模块、同步请求生成模块、同步请求发送模块、串行化调度模块、决策调控模块、同步更新接收模块、同步更新重发模块:、同步更新执行模块。所述服务器上线初始化模块:负责在服务器新上线时通过服务器类型选择模块,确定新上线服务器类型,然后向网络中其他服务器发送上线消息,上线消息包括本服务器的ip地址、最高版本号和服务器类型;在服务器状态表中增加本服务器信息。所述服务器状态维护模块:负责接收网络中其它服务器的上线消息,修改服务器状态表,并每隔一定时间在网络中广播本服务器的ip地址、最高版本号和服务器类型。所述服务器类型选择模块:根据设置的服务器类型选择策略确定本服务器的服务器类型,所述服务器类型选择策略为:当网络中有新上线服务器时,新上线服务器首先接收获得其他服务器的状态信息,修改本地服务器状态表;当服务器状态表中没有发现决策服务器时即表示只有自身服务器在线,则将本服务器定义为决策服务器;当服务器状态表中只存在决策服务器时,则将本服务器定义为备份服务器;当服务器状态表中已经存在决策服务器和备份服务器时,则将本服务器定义为普通服务器;当网络中已有决策服务器以及备份服务器和其他普通服务器的环境下:当决策服务器下线,备份服务器自动升级成决策服务器,其他在线服务器在本地服务器状态表中删除已下线的决策服务器信息,并广播当前本服务器状态;当决策服务器在线,备份服务器下线时,选择ip地址中最大的服务器作为新的备份服务器,各在线服务器在本地服务器状态表中删除已下线的备份服务器信息,并广播当前本服务器状态;当决策服务器和备份服务器同时下线时,选择在线服务器中ip地址最大的服务器为当前的决策服务器,选择在线服务器中ip地址次大的服务器为备份服务器,各在线服务器在本地服务器状态表中删除已下线的决策服务器和备份服务器信息,并广播当前本服务器状态;当普通服务器下线时,不发生决策服务器、备份服务器的变更,各在线服务器在本地服务器状态表中删除已下线普通服务器的信息,并广播当前本服务器状态。所述同步请求生成模块:在本服务器有数据同步请求时,生成数据同步操作序列。所述同步请求发送模块:负责向网络中其他在线服务器发送本服务器的数据同步操作序列。所述串行化调度模块:负责接收网络中所有服务器的数据同步操作序列,并将这些操作序列串行化,形成串行化操作序列,序列中每个操作均对应一个版本号。所述决策调控模块:如果是决策服务器,则在有新上线服务器且其最高版本号与决策服务器不一致时,向该服务器发送使其最高版本号与决策服务器一致的串行化操作序列;在网络中有数据同步请求时,将决策服务器最高版本号之后的串行化操作序列发送给网络中其他服务器。所述同步更新接收模块:接收从决策服务器发送来的串行化操作序列。所述同步更新重发模块:负责向决策服务器发送重发串行化操作序列的请求,决策服务器也使用该模块接收其他服务器发送的重发串行化操作序列的请求。所述同步更新执行模块:网络中的服务器根据接收的决策服务器发送来的串行化操作序列执行本地数据库操作,并更新最高版本号以及本地的串行化操作序列。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明的要求保护范围由所附的权利要求书及其等效物界定。