一种基于分布式网络的邮件通信方法及相关装置与流程

文档序号:17071188发布日期:2019-03-08 23:19阅读:186来源:国知局
一种基于分布式网络的邮件通信方法及相关装置与流程

本发明涉及通信领域,尤其涉及一种邮件通信方法、装置、系统及计算机可读存储介质。



背景技术:

随着信息技术的发展,电子邮件已成为通信领域十分重要的一种通信手段。电子邮件,即email,是一种用电子手段提供信息交换的通信方式,是互联网应用最广的服务。通过电子邮件系统,用户可以以非常低廉的价格、非常快速的方式与世界任何一个角落的网络用户联系。

但是现有的电子邮件系统是中心化的,需要先在电子邮箱服务商的服务器上注册邮箱地址,然后连接服务器,由服务器来提供邮件收发服务,邮件内容也存储与服务器上,不同的邮箱服务商按照标准的电子邮件收发协议来通讯。

现有技术中依赖服务器的邮件通信模式,非常依赖服务商,一旦服务器出现问题,可能导致无法正常收发邮件。

因此,如何提供一种可靠性更高的邮件通信方法,是本领域技术人员亟待解决的问题。



技术实现要素:

本发明的主要目的在于提供一种基于分布式网络的邮件通信方法、装置、系统及计算机可读存储介质,旨在解决如何提供一种可靠性更高的邮件通信方法的技术问题。

为实现上述目的,本发明提供的一种基于分布式网络的邮件通信方法,应用于分布式网络中的一个网络节点,所述方法包括:

利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息;其中,所述邮件接收节点为接收待发送邮件的网络节点,每个所述网络节点中的路由表保存有多个网络节点的网络地址信息;

利用所述邮件接收节点的网络地址信息将所述待发送邮件发送至所述邮件接收节点。

可选地,每个所述网络节点中保存预设逻辑距离内的网络节点的网络地址信息。

可选地,所述利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息,包括:

利用分布式网络中的至少一个网络节点中保存的路由表获取所述邮件接收节点的网络地址信息与所述邮件接收节点的公钥;其中每个所述网络节点中的路由表保存有多个网络节点的网络地址信息与对应网络地址信息的网络节点的公钥;

则所述利用所述邮件接收节点的网络地址信息将所述待发送邮件发送至所述邮件接收节点,包括:

利用所述邮件接收节点的公钥对所述待发送邮件进行加密,得到待发送加密邮件;

利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点。

可选地,所述利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点之前,还包括:

判断所述邮件接收节点当前是否为可接收邮件状态;

若是,则执行所述利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点的步骤;

若否,则利用分布式网络中的至少一个所述网络节点中保存的路由表获取与所述邮件接收节点的逻辑距离在预设范围内的至少一个近距离节点的网络地址信息;

利用所述近距离节点的网络地址信息将所述待发送加密邮件发送至所述近距离节点,以使所述邮件接收节点为可接收邮件状态时,向所述近距离节点获取所述待发送加密邮件。

可选地,所述逻辑距离包括:

两个网络节点的邮箱地址的异或结果。

可选地,邮件接收节点的网络地址信息包括所述邮件接收节点的邮箱地址与所述邮件接收节点所属物理节点的标识信息。

可选地,所述利用至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息包括:

向分布式网络中的超级节点发送获取邮件接收节点的网络地址信息的请求;其中,所述超级节点保存分布式网络中所有节点的网络地址信息;

接收所述超级节点返回的所述邮件接收节点的网络地址信息。

可选地,所述利用至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息之前,还包括:

在当前网络节点本地生成当前网络节点的公钥与对应的私钥;

计算当前网络节点的公钥的哈希值,将所述哈希值作为当前网络节点的邮箱地址;

将当前网络节点的邮箱地址、当前网络节点的公钥与当前网络节点所属物理节点的标识信息作为当前网络节点的路由信息发送至任一网络节点,以使接收到所述路由信息的网络节点利用所述路由信息更新自身保存的路由表。

为实现上述目的,本发明提供一种基于分布式网络的邮件通信装置,所述装置包括:

存储器和处理器,所述存储器上存储有可在所述处理器上运行的邮件通信程序,所述邮件通信程序被所述处理器执行时实现如所述的方法。

为实现上述目的,本发明还提供一种基于分布式网络的邮件通信系统,所述系统包括至少二个网络节点,其中:

每个网络节点均保存多个网络节点的网络地址信息;

所述网络节点利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息,以利用所述邮件接收节点的网络地址信息将待发送邮件发送至所述邮件接收节点。为实现上述目的,本发明提供一种基于分布式网络的邮件通信系统,所述系统包括:

网络地址信息获取模块,用于利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息;其中,所述邮件接收节点为接收待发送邮件的网络节点,每个所述网络节点中的路由表保存有多个网络节点的网络地址信息;

邮件发送模块,用于利用所述邮件接收节点的网络地址信息将所述待发送邮件发送至所述邮件接收节点。

为实现上述目的,本发明提供一种计算机可读存储介质,所述计算机可读存储介质上存储有邮件通信程序,所述邮件通信程序可被一个或多个处理器执行,以实现如所述的邮件通信方法。

为实现上述目的,本发明进一步提供一种计算机程序产品,包括计算机指令,当所述计算机指令在计算机上运行时,使得所述计算机可以执行前述公开的邮件通信方法。

由此可见,本申请实施例提供的一种基于分布式网络的邮件通信方法,网络中每一个节点中均保存有多个网络节点的网络地址信息,当任一网络节点需要发送邮件时,通过至少一个网络节点中保存的网络地址信息来获取邮件接收节点的网络地址信息,然后再利用网络地址信息发送至邮件接收节点。在邮件通信的过程中,不依赖于服务器,利用邮件通信网络中的节点即可完成通信,因此不会出现服务器不稳定导致的不能收发邮件,或者服务器被盗导致邮件泄露等问题,使邮件通信过程更加稳定。

附图说明

图1为本发明一实施例的流程示意图;

图2本发明另一实施例的流程示意图;

图3为本发明另一实施例的流程示意图;

图4为本发明另一实施例的流程示意图;

图5为本发明一实施例揭露的邮件通信装置的内部结构示意图;

图6为本发明一实施例揭露的邮件通信系统的结构示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

需要说明的是,在本发明中涉及“第一”、“第二”等的描述仅用于描述目的,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,各个实施例之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。

目前电子邮件服务严重依赖服务商,如果服务器被关闭,或者服务器不稳定会导致不能收发邮件,而且由于邮件存放在第三方服务器上,也会存在邮件在第三方服务器上泄露的风险,本发明提供一种基于分布式网络的邮件通信方法可以提高邮件通信的可靠性。

本发明提供一种基于分布式网络的邮件通信方法。

参照图1,图1为本发明一实施例的流程示意图。

在一实施例中,该方法包括:

s101,利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息;其中,所述邮件接收节点为接收待发送邮件的网络节点,每个所述网络节点中的路由表保存有多个网络节点的网络地址信息。

在本方案中,分布式网络中存在多个网络节点,每个网络节点均可用于收或发邮件,在每个网络节点中又维护有一个路由表,每个路由表中包括多个网络节点的网络地址信息。

首先利用分布式网络中的至少一个网络节点中保存的路由表获取到邮件接收节点的网络地址信息。邮件接收节点为分布式网络中接收当前网络节点发送的邮件的任一网络节点。

需要说明的是,每个网络节点中保存的路由表可以保存网络内所有网络节点的网络地址信息,也可以保存部分网络节点的网络地址信息,而考虑到存储资源等问题,优选在一个路由表中保存部分网络节点的网络地址信息。当每个网络节点只保存部分网络地址信息时,当前要发送邮件的网络节点可能不能在自己保存的路由表中查询到邮件接收节点的网络地址信息,因此还需要根据自己保存的网络节点信息,向对应的网络节点获取这些网络节点保存的路由表信息,直到查询到邮件接收节点的网络地址信息。

在一个具体的实施方式中,每个所述网络节点中保存预设逻辑距离内的网络节点的网络地址信息。

需要说明的是,逻辑距离并不是实际的距离,有数据传输的距离没有直接关系,仅用于方便管理每个网络节点,因此逻辑距离只要是按照同一的标准确定的数据,即该数据能够适用于每个网络节点即可。在一个具体的实施方式中,逻辑距离为两个网络节点的邮箱地址的异或结果。

在一个具体的实施方式中,也可以在分布式网络中设置一个超级节点,其存储能力与网络传输能力均较高,用于存储整个分布式网络节点中所有节点的网络地址信息,也就是说,其维护的路由表中包括所有节点的网络地址信息。

具体地,向分布式网络中的超级节点发送获取邮件接收节点的网络地址信息的请求;其中,所述超级节点保存分布式网络中所有节点的网络地址信息;接收所述超级节点返回的所述邮件接收节点的网络地址信息。

为了便于查找接收邮件的节点的地址,以及更方便管理分布式网络节点的网络地址,可以将分布式网络中所有节点的网络地址信息均维护在一个超级节点中,可以直接向超级节点中进行查找,从而避免借助于多个网络节点才能找到邮件接收节点的信息,也无需使其他节点再占用部分存储于计算资源,来维护相应的路由表。

需要说明的是,在分布式网络中的每个网络节点中均保存有多个网络地址信息还是在分布式网络中设置一个超级节点维护所有节点的网络地址信息,可以根据实际情况进行设定,当然,也可以将二者结合,使超级节点作为备份,当在分布式网络中的其他节点没有获取到邮件接收节点的网络地址信息时,再向超级节点获取,或者在普通节点获取到邮件接收节点的网络地址后,再向超级节点获取该地址,从而通过对比保证该地址的准确定。s102,利用所述邮件接收节点的网络地址信息将所述待发送邮件发送至所述邮件接收节点。

具体地,在获取到邮件接收节点的网络地址信息后,即可利用邮件接收节点的网络地址信息将待发送邮件发送至邮件接收节点。

由此可见,本申请实施例提供的一种基于分布式网络的邮件通信方法,网络中每一个节点中均保存有预设个数的网络节点的网络地址信息,当任一网络节点需要发送邮件时,通过至少一个网络节点中保存的网络地址信息来获取邮件接收节点的网络地址信息,然后再利用网络地址信息发送至邮件接收节点。在邮件通信的过程中,不依赖于服务器,利用邮件通信网络中的节点即可完成通信,因此不会出现服务器不稳定导致的不能收发邮件,或者服务器被盗导致邮件泄露等问题,使邮件通信过程更加稳定。

下面对本申请实施例提供的一种具体的邮件通信方法进行介绍,下文描述的一种具体的邮件通信方法与上述任一实施例可以相互参照。

参见图2,本申请实施例提供的一种具体的邮件通信方法,具体包括:

s201,利用分布式网络中的至少一个网络节点中保存的路由表获取所述邮件接收节点的网络地址信息与所述邮件接收节点的公钥;其中每个所述网络节点中的路由表保存有多个网络节点的网络地址信息与对应网络地址信息的网络节点的公钥。

优选地,分布式网络可以是为区块链网络或者cdn网络;

需要说明的是,为了保证邮件传输的安全性,需要为邮件内容进行加密处理。

非对称加密体系不要求通信双方事先传递密钥或有任何约定就能完成保密通信,并且密钥管理方便,可实现防止假冒和抵赖,因此,更适合网络通信中的保密通信要求。非对称加密算法需要两个密钥:公开密钥(公钥,publickey)和私有密钥(私钥,privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。因为加密和解密使用的是两个不同的密钥。

在本方案中,采用非对称加密算法对邮件内容进行加密处理,因此,在路由表中,除了保存每个节点的网络地址信息外,还需要保存每个节点的公钥,而每个节点的私钥在自己节点中保存。

在本步骤中,利用至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息与邮件接收节点的公钥。需要说明的是,该获取过程与上述实施例获取网络地址信息的过程一致,仅获取的信息包括网络地址信息与对应的公钥,因此,具体的获取过程在本实施例将不再进行赘述。

s202,利用所述邮件接收节点的公钥对所述待发送邮件进行加密,得到待发送加密邮件。

具体地,利用邮件接收节点的公钥对待发送邮件进行加密,得到邮件密文,即待发送加密邮件。根据非对称加密算法的原理,由于该待发送加密邮件是由邮件接收节点的公钥加密得到,因此,也只能由邮件接收节点在本地保存的私钥才能够解密得到明文邮件,因此在传输过程中,如果其他任一节点拦截或接收了该邮件,都不能够得到对应的明文,从而可以保证邮件传输的安全与可靠性。

s203,利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点。

由此可见,本申请实施例提供的一种具体的邮件通信方法,利用非对称加密算法,实现对邮件内容的加密与解密处理,从而保证了邮件在传输过程中的安全性。

由于节点可能会出现不在线的情况,即暂不能接收邮件的情况,此种情况下,为了保证邮件依然能够正常的被发送到邮件接收节点,本申请实施例提供一种具体的邮件通信方法。

下面对本申请实施例提供的一种具体的邮件通信方法进行介绍,下文描述的一种邮件通信方法与上述任一实施例可以相互参照。

参见图3,本申请实施例提供的一种邮件通信方法,具体包括:

s301,利用分布式网络中至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息;其中,所述邮件接收节点为接收待发送邮件的网络节点,每个所述网络节点中的路由表保存有预设个数的网络地址信息。

s302,判断所述邮件接收节点当前是否为可接收邮件状态。

在本方案中,在发送待发送加密邮件之前,先确定邮件接收节点当前是否为可接收邮件的状态。若是,则执行s303,若否,则执行s304。

s303,利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点。

s304,利用分布式网络中的至少一个所述网络节点中保存的路由表获取与所述邮件接收节点的逻辑距离在预设范围内的至少一个近距离节点的网络地址信息。

具体的,如果邮件接收节点当前不能接收邮件,则获取该邮件接收节点的近距离节点的网络地址信息,即获取该邮件接收节点自己保存的路由表中的网络地址信息。

s305,利用所述近距离节点的网络地址信息将所述待发送加密邮件发送至所述近距离节点,以使所述邮件接收节点为可接收邮件状态时,向所述近距离节点获取所述待发送加密邮件。

具体的,利用上述近距离节点的网络地址信息将待发送加密邮件发送至近距离节点,由近距离节点暂时保存,当邮件接收节点可以接收邮件后,再向其近距离节点中获取对应自己的邮件。

需要说明的是,上述待发送加密邮件也可以保存在任一网络节点中,如果保存在非近距离节点的其他节点上,则邮件接收节点还需要利用至少两个路由表中的信息,遍历多个网络节点才能够找到自己的邮件,过程十分耗时,因此,在本方案中,优选将待发送加密邮件暂时存储在邮件接收节点的路由表中保存的网络节点信息对应的网络节点中,以方便邮件接收节点查找自己的邮件。当邮件接收节点读取了自己的邮件后,即可向存储该邮件的近距离网络节点发送确认收取成功的信息,以使近距离网络节点删除对应的邮件,从而避免浪费近距离网络节点的存储资源。

上述实施例所述的逻辑距离并不是实际的距离,有数据传输的距离没有直接关系,仅用于方便管理每个网络节点,因此逻辑距离只要是按照同一的标准确定的数据,即该数据能够适用于每个网络节点即可。在一个具体的实施方式中,逻辑距离为两个网络节点的邮箱地址的异或结果。

下面对本申请实施例提供的一种具体的邮件通信方法进行介绍,下文描述的一种邮件通信方法与上述任一实施例可以相互参照。

参见图4,本申请实施例在上述任一实施例的基础上,还包括:

s401,在当前网络节点本地生成当前网络节点的公钥与对应的私钥。

需要说明的是,网络节点在初次使用时,在本地生成自己的公钥与私钥,公钥与私钥用于对邮件进行非对称加密操作。

s402,计算当前网络节点的公钥的哈希值,将所述哈希值作为当前网络节点的邮箱地址。

计算网络节点的公钥的哈希值,该哈希值作为当前网络节点的邮箱地址。

s403,将当前网络节点的邮箱地址、当前网络节点的公钥与当前网络节点所属物理节点的标识信息作为当前网络节点的路由信息发送至任一网络节点,以使接收到所述路由信息的网络节点利用所述路由信息更新自身保存的路由表。

将网络节点的邮箱地址、公钥以及所属物理节点的标识信息作为网络节点的路由信息,发送到任一网络节点,使接收到该路由信息的网络节点将路由信息更新到自身保存的路由表中,从而当有其他网络节点需要向当前网络节点传输邮件时,即可从网络中至少一个网络节点的路由表中查询到该网络节点的信息,进行邮件的发送。

在本方案中,网络节点在本地生成自己的邮箱信息,如邮件地址、公钥等,然后将其发送到任一网络节点,使任一网络节点在路由表中添加自己的邮箱信息,使其他节点在向自己发送邮件时,通过网络中的路由表即可获取到对应的信息,进行邮件发送,从而可以不依赖服务器就能够完成邮件通信过程,使邮件通信过程更加可靠。

下面对本申请实施例提供的一种基于分布式网络的邮件通信装置进行介绍,下文描述的一种邮件通信装置与上述任一实施例可以相互参照。

参照图5,图5为本发明一实施例揭露的邮件通信装置的内部结构示意图。图5中,邮件通信装置1包括存储器11和处理器12,所述存储器11上存储有可在所述处理器12上运行的邮件通信程序,所述邮件通信程序被所述处理器12执行时实现如下方法:

利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息;其中,所述邮件接收节点为接收待发送邮件的网络节点,每个所述网络节点中的路由表保存有多个网络节点的网络地址信息;利用所述邮件接收节点的网络地址信息将所述待发送邮件发送至所述邮件接收节点。

由此可见,本申请实施例提供的一种基于分布式网络中的邮件通信装置,网络中每一个节点中均保存有预设个数的网络节点的网络地址信息,当任一网络节点需要发送邮件时,通过至少一个网络节点中保存的网络地址信息来获取邮件接收节点的网络地址信息,然后再利用网络地址信息发送至邮件接收节点。在邮件通信的过程中,不依赖于服务器,利用邮件通信网络中的节点即可完成通信,因此不会出现服务器不稳定导致的不能收发邮件,或者服务器被盗导致邮件泄露等问题,使邮件通信过程更加稳定。

其中每个所述网络节点中保存预设逻辑内的网络节点的网络地址信息。

所述邮件通信程序被所述处理器12执行时,具体可以实现:利用分布式网络中的至少一个网络节点中保存的路由表获取所述邮件接收节点的网络地址信息与所述邮件接收节点的公钥;其中每个所述网络节点中的路由表保存有多个网络节点的网络地址信息与对应网络地址信息的网络节点的公钥;利用所述邮件接收节点的公钥对所述待发送邮件进行加密,得到待发送加密邮件;利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点。

所述邮件通信程序被所述处理器12执行时,还可以实现:判断所述邮件接收节点当前是否为可接收邮件状态;若是,则执行所述利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点的步骤;若否,则利用分布式网络中的至少一个所述网络节点中保存的路由表获取与所述邮件接收节点的逻辑距离在预设范围内的至少一个近距离节点的网络地址信息;利用所述近距离节点的网络地址信息将所述待发送加密邮件发送至所述近距离节点,以使所述邮件接收节点为可接收邮件状态时,向所述近距离节点获取所述待发送加密邮件。

其中,所述逻辑距离包括两个网络节点的邮箱地址的异或结果。

其中,邮件接收节点的网络地址信息包括所述邮件接收节点的邮箱地址与所述邮件接收节点所属物理节点的标识信息。

所述邮件通信程序被所述处理器12执行时,还可以实现:向分布式网络中的超级节点发送获取邮件接收节点的网络地址信息的请求;其中,所述超级节点保存分布式网络中所有节点的网络地址信息;接收所述超级节点返回的所述邮件接收节点的网络地址信息。

所述邮件通信程序被所述处理器12执行时,具体可以实现:在当前网络节点本地生成当前网络节点的公钥与对应的私钥;计算当前网络节点的公钥的哈希值,将所述哈希值作为当前网络节点的邮箱地址;将当前网络节点的邮箱地址、当前网络节点的公钥与当前网络节点所属物理节点的标识信息作为当前网络节点的路由信息发送至任一网络节点,以使接收到所述路由信息的网络节点利用所述路由信息更新自身保存的路由表。

在本实施例中,所述邮件通信装置1可以是pc(personalcomputer,个人电脑),也可以是智能手机、平板电脑、掌上电脑、便携计算机。

进一步的,参照图5,所述邮件通信装置1还可以包括总线13,其中,所述存储器11和所述处理器12通过所述总线13连接。

其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,sd或dx存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是邮件通信装置1的内部存储单元,例如该邮件通信装置1的硬盘。存储器11在另一些实施例中也可以是邮件通信装置1的外部存储设备,例如邮件通信装置1上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,存储器11还可以既包括邮件通信装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于邮件通信装置1的应用软件及各类数据,例如邮件通信程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。

处理器12在一些实施例中可以是一中央处理器(centralprocessingunit,cpu)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行邮件通信程序等。

总线13可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

进一步地,邮件通信装置1还可以包括网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该邮件通信装置1与其他电子设备之间建立通信连接。

可选地,该邮件通信装置1还可以包括用户接口15,用户接口15可以包括显示器(display)、输入单元比如键盘(keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在邮件通信装置1中处理的信息以及用于显示可视化的用户界面。

图5仅示出了具有组件11-15的邮件通信装置1,本领域技术人员可以理解的是,图5示出的结构并不构成对邮件通信装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。

进一步的,本实施例还公开了一种基于分布式网络的邮件通信系统。

参照图6,图6为本发明一实施例揭露的邮件通信系统结构示意图。图6中,所述邮件通信系统,包括:

网络地址信息获取模块501,用于利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息;其中,所述邮件接收节点为接收待发送邮件的网络节点,每个所述网络节点中的路由表保存有多个网络节点的网络地址信息;

邮件发送模块502,用于利用所述邮件接收节点的网络地址信息将所述待发送邮件发送至所述邮件接收节点。

由此可见,本申请实施例提供的基于分布式网络的一种邮件通信系统,网络中每一个节点中均保存有预设个数的网络节点的网络地址信息,当任一网络节点需要发送邮件时,通过至少一个网络节点中保存的网络地址信息来获取邮件接收节点的网络地址信息,然后再利用网络地址信息发送至邮件接收节点。在邮件通信的过程中,不依赖于服务器,利用邮件通信网络中的节点即可完成通信,因此不会出现服务器不稳定导致的不能收发邮件,或者服务器被盗导致邮件泄露等问题,使邮件通信过程更加稳定。

本实施例中,每个所述网络节点中保存预设逻辑距离内的网络节点的网络地址信息。

本实施例中,网络地址信息获取模块501,具体用于利用分布式网络中的至少一个网络节点中保存的路由表获取所述邮件接收节点的网络地址信息与所述邮件接收节点的公钥;其中每个所述网络节点中的路由表保存有多个网络节点的网络地址信息与对应网络地址信息的网络节点的公钥;

邮件发送模块502,具体用于利用所述邮件接收节点的公钥对所述待发送邮件进行加密,得到待发送加密邮件;利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点。

进一步的,所述邮件通信系统,还可以包括:

判断单元,用于判断所述邮件接收节点当前是否为可接收邮件状态;

第一发送单元,用于当所述邮件接收节点为可接收邮件状态时,利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点;

近距离节点确定单元,用于当所述邮件接收节点不为可接收邮件状态时,利用分布式网络中的至少一个所述网络节点中保存的路由表获取与所述邮件接收节点的逻辑距离在预设范围内的至少一个近距离节点的网络地址信息;

第二发送单元,用于利用所述近距离节点的网络地址信息将所述待发送加密邮件发送至所述近距离节点,以使所述邮件接收节点为可接收邮件状态时,向所述近距离节点获取所述待发送加密邮件。

本实施例中,所述逻辑距离包括:两个网络节点的邮箱地址的异或结果。

本实施例中,邮件接收节点的网络地址信息包括所述邮件接收节点的邮箱地址与所述邮件接收节点所属物理节点的标识信息。

本实施例中,网络地址信息获取模块501,具体用于向分布式网络中的超级节点发送获取邮件接收节点的网络地址信息的请求;其中,所述超级节点保存分布式网络中所有节点的网络地址信息;接收所述超级节点返回的所述邮件接收节点的网络地址信息。进一步的,所述邮件通信系统,还可以包括:

密钥生成模块,用于在当前网络节点本地生成当前网络节点的公钥与对应的私钥;

邮箱地址生成模块,用于计算当前网络节点的公钥的哈希值,将所述哈希值作为当前网络节点的邮箱地址;

上传模块,用于将当前网络节点的邮箱地址、当前网络节点的公钥与当前网络节点所属物理节点的标识信息作为当前网络节点的路由信息发送至任一网络节点,以使接收到所述路由信息的网络节点利用所述路由信息更新自身保存的路由表。

进一步的,本实施例还提供了一种基于分布式网络的邮件通信系统,所述系统包括至少二个网络节点,其中:

每个网络节点均保存多个网络节点的网络地址信息;

所述网络节点利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息,以利用所述邮件接收节点的网络地址信息将待发送邮件发送至所述邮件接收节点。

在一个具体的实施方式中,每个所述网络节点中保存预设逻辑距离内的网络节点的网络地址信息。

在一个具体的实施方式中,所述网络节点利用分布式网络中的至少一个网络节点中保存的路由表获取所述邮件接收节点的网络地址信息与所述邮件接收节点的公钥;其中每个所述网络节点中的路由表保存有多个网络节点的网络地址信息与对应网络地址信息的网络节点的公钥;利用所述邮件接收节点的公钥对所述待发送邮件进行加密,得到待发送加密邮件;利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点。

在一个具体的实施方式中,所述网络节点判断所述邮件接收节点当前是否为可接收邮件状态;若是,则执行所述利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点的步骤;若否,则利用分布式网络中的至少一个所述网络节点中保存的路由表获取与所述邮件接收节点的逻辑距离在预设范围内的至少一个近距离节点的网络地址信息;利用所述近距离节点的网络地址信息将所述待发送加密邮件发送至所述近距离节点,以使所述邮件接收节点为可接收邮件状态时,向所述近距离节点获取所述待发送加密邮件。

在一个具体的实施方式中,所述逻辑距离包括:两个网络节点的邮箱地址的异或结果。

在一个具体的实施方式中,邮件接收节点的网络地址信息包括所述邮件接收节点的邮箱地址与所述邮件接收节点所属物理节点的标识信息。

在一个具体的实施方式中,网络节点向分布式网络中的超级节点发送获取邮件接收节点的网络地址信息的请求;其中,所述超级节点保存分布式网络中所有节点的网络地址信息;接收所述超级节点返回的所述邮件接收节点的网络地址信息。

在一个具体的实施方式中,网络节点在当前网络节点本地生成当前网络节点的公钥与对应的私钥;计算当前网络节点的公钥的哈希值,将所述哈希值作为当前网络节点的邮箱地址;将当前网络节点的邮箱地址、当前网络节点的公钥与当前网络节点所属物理节点的标识信息作为当前网络节点的路由信息发送至一网络节点,以使接收到所述路由信息的网络节点利用所述路由信息更新自身保存的路由表。

进一步的,本实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有邮件通信程序,所述邮件通信程序可被一个或多个处理器执行,以实现如下方法:

利用分布式网络中的至少一个网络节点中保存的路由表获取邮件接收节点的网络地址信息;其中,所述邮件接收节点为接收待发送邮件的网络节点,每个所述网络节点中的路由表保存有多个网络节点的网络地址信息;利用所述邮件接收节点的网络地址信息将所述待发送邮件发送至所述邮件接收节点。

由此可见,本申请实施例提供的一种计算机可读存储介质,网络中每一个节点中均保存有预设个数的网络节点的网络地址信息,当任一网络节点需要发送邮件时,通过至少一个网络节点中保存的网络地址信息来获取邮件接收节点的网络地址信息,然后再利用网络地址信息发送至邮件接收节点。在邮件通信的过程中,不依赖于服务器,利用邮件通信网络中的节点即可完成通信,因此不会出现服务器不稳定导致的不能收发邮件,或者服务器被盗导致邮件泄露等问题,使邮件通信过程更加稳定。

其中每个所述网络节点中保存预设逻辑内的网络节点的网络地址信息。

所述邮件通信程序被一个或多个处理器执行时,具体可以实现:利用分布式网络中的至少一个网络节点中保存的路由表获取所述邮件接收节点的网络地址信息与所述邮件接收节点的公钥;其中每个所述网络节点中的路由表保存有多个网络节点的网络地址信息与对应网络地址信息的网络节点的公钥;利用所述邮件接收节点的公钥对所述待发送邮件进行加密,得到待发送加密邮件;利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点。

所述邮件通信程序被一个或多个处理器执行时,具体可以实现:判断所述邮件接收节点当前是否为可接收邮件状态;若是,则执行所述利用所述邮件接收节点的网络地址信息将所述待发送加密邮件发送至所述邮件接收节点的步骤;若否,则利用分布式网络中的至少一个所述网络节点中保存的路由表获取与所述邮件接收节点的逻辑距离在预设范围内的至少一个近距离节点的网络地址信息;利用所述近距离节点的网络地址信息将所述待发送加密邮件发送至所述近距离节点,以使所述邮件接收节点为可接收邮件状态时,向所述近距离节点获取所述待发送加密邮件。

其中,所述逻辑距离包括两个网络节点的邮箱地址的异或结果。

其中,件接收节点的网络地址信息包括所述邮件接收节点的邮箱地址与所述邮件接收节点所属物理节点的标识信息。

所述邮件通信程序被一个或多个处理器执行时,具体可以实现:向分布式网络中的超级节点发送获取邮件接收节点的网络地址信息的请求;其中,所述超级节点保存分布式网络中所有节点的网络地址信息;接收所述超级节点返回的所述邮件接收节点的网络地址信息。所述邮件通信程序被一个或多个处理器执行时,具体可以实现:在当前网络节点本地生成当前网络节点的公钥与对应的私钥;计算当前网络节点的公钥的哈希值,将所述哈希值作为当前网络节点的邮箱地址;将当前网络节点的邮箱地址、当前网络节点的公钥与当前网络节点所属物理节点的标识信息作为当前网络节点的路由信息发送至任一网络节点,以使接收到所述路由信息的网络节点利用所述路由信息更新自身保存的路由表。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

需要说明的是,上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。并且本文中的术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1