消息处理方法

文档序号:7774201阅读:164来源:国知局
消息处理方法
【专利摘要】本发明公开了一种消息处理方法:通过在HSvr中登记账户的激活信息,并根据登记的激活信息来处理消息,使得IUsr通过控制自己账户的激活状态,就可以选择用于接收消息的账户。本发明还公开一种新地址确定方法:通过接收异常报告,来确定出目的用户最新选择的账户的地址。本发明还公开一种消息发送方法:通过接收异常报告,来更新消息的目的地址,从而保证将一个消息发送到目的用户最新选择的账户。本发明还公开一种地址自动更新方法:通过接收异常报告,来自动更新目的用户的联系地址。本发明还公开一种地址补偿方法:通过设置地址列表,对待补偿地址进行匹配,从而实现地址补偿。
【专利说明】 消息处理方法
【技术领域】
[0001]本发明涉及互联网通信,更确切地说涉及消息的处理方法,以及基于该方法所提出的新地址确定方法、消息发送方法、地址自动更新方法。
【背景技术】
[0002]在互联网通信中,涉及到全球统一身份(⑶ID, Global Unified Identity),所述GUID 包括两部分:归属码(HCode,Home Code)和用户码(UCode,User Code)。其中,HCode指示该⑶ID,也即该⑶ID对应的互联网用户(IUsr,Internet User)归属于即时通信网络(IMN, Instant Messenger Network)中哪一个即时通信系统(IMS, Instant MessengerSystem)的哪一个归属服务器(HSvr, Home Server) ;UCode用于指示一个HCode下不同的⑶ID或IUsr。通过建立HCode和HSvr的对应关系,根据一个HCode可以获得所指向的一个 HSvr0
[0003]影码作为一种特殊的⑶ID,其对应的HCode是一个归属二元组(H2T,HomeTwo-Tuple)。所述H2T包括两部分:国家码(CC, Country Code)和国内商码(NBC,NationalBusiness Code),即(CC, NBC)或CONBC。影码的表示形式一般为:CONBOUCode,这里*为影码指示符或分隔符。
[0004]更多信息,参见申请号为201210041577.8或201310037232.X的《通信方法和系统》发明专利,以及申请号为201210041677.0或201310049772.X的《影码寻址方法》发明专利。
[0005]关于MN组网图,参见图5所示。在该图中:
[0006]A服务商(SP-A)的HSvr为HSvr-A,其中,注册有用户A (UsrA)和用户X (UsrX);
[0007]B服务商(SP-B)的HSvr为HSvr-B,其中,注册有用户B (UsrB)和用户Y (UsrY);
[0008]C服务商(SP-C)的HSvr为HSvr-C,其中,注册有用户C (UsrC)和用户Z (UsrZ);
[0009]D服务商(SP-D)的HSvr为HSvr-D,其中,注册有用户D (UsrD)和用户O (UsrO)。
[0010]例如,SP-A是腾讯、SP-B是网易、SP-C是微软、SP-D是谷歌,还例如,HCode值qq.com 归属于 HSvr-A, HCode 值 163.com 归属于 HSvr-B, HCode 值 Outlook, com 归属于HSvr-C, HCode 值 gmail.com 归属于 HSvr-D 等等。
[0011]一个GUID归属的HSvr 为该GUID 的迁移源HSvKMSSvr,Migration Source HSvr)。根据一个⑶ID在其MSSvr中注册的账户为该⑶ID的源账户。例如,根据⑶ID值IiubeiOOutlook, com,在HSvr-C中注册的账户为liubeiOOutlook.com的源账户。在一个GUID的MSSvr之外的HSvr中,根据该⑶ID注册的账户为该⑶ID的迁移账户,该HSvr为该⑶ID的迁移目的 HSvr (MDSvr, Migration Destination HSvr)。例如,根据 GUID 值 IiubeiOOutlook, com,在 HSvr-A、HSvr_B 和 HSvr-D 中的注册的账户都为 liubeiOOutlook.com 的迁移账户。关于⑶ID迁移的更多描述,参见申请号为201310079118.3的《支持⑶ID迁移的网络及相关消息处理方法》发明专利。
[0012]⑶ID相同的账户为基于该⑶ID的同族账户,8卩,一个⑶ID的源账户与其所有的迁移账户共同组成该GUID的账户族。在一个GUID的账户族中,该GUID为该账户族中所有的迁移账户的根。一个IUsr的账户族为该IUsr的GUID的账户族。所述源账户为所述迁移账户的源账户。所述迁移账户为所述源账户的迁移账户。
[0013]跨域地址码(CDAddr, Cross-domain Address)简称跨域码,是一个跨域地址二兀组,包括跨末 HSvr 信息(CeSvrDesc, Cross-end HSvr Description)和本基 GUID(Base⑶ID,The Base⑶ID)两部分。其中,CeSvrDesc用于指示该CDAddr对应的跨末HSvr,可以是该HSvr的主机IP地址或主机域名,一般地,是该HSvr所拥有的任意一个HCode。参见申请号为201310073334.7的《辅助寻址方法》发明专利。
[0014]后面以一个CeSvrDesc是对应HSvr所拥有的一个HCode为例,但不用于限定本发明。
[0015]一般地,一个CDAddr可以写作(CeSvrDesc, BaseGUID)形式,或者写作Base⑶ID$CeSvrDesc的形式,其中,“$”是分隔符。
[0016]E-mail地址由三部分组成:用户名@域名。本发明将Base⑶ID为E-mail地址的CDAddr称为邮址跨域码。
[0017]CeSvrDesc为域名的邮址跨域码称为双域名跨域码,简称双域跨域码或双域CDAddr。
[0018]一个CDAddr也可以写作Base⑶IDOCeSvrDesc的形式,其中,“O”是分隔符。这样,从该形式的CDAddr尾部向前查找第一个“O”分隔符,截取该分隔符后边的部分得到对应的CeSvrDesc,截取该分隔符前边的部分得到对应的Base⑶ID。例如,在双域跨域码guanycOOutlook.comil63.com 中,BaseGUID 为 guanyciOutlook.com, CeSvrDesc 为 163.com。
[0019]实际当中,当Iiubei登入其在HSvr-A中的迁移账户时,不希望他人发送给自己的消息被发送到自己的其它迁移账户。但是,machao的号码薄中记录的却是Iiubei的CDAddr值 liubeiOOutlook.comil63.com,这样,machao 给 Iiubei 发信时,会根据 IiubeiOOutlook.comil63.com将消息发送到HSvr-B,这样,即使按照《同基账户间通知机制实现方法》中的互操作方法,Iiubei通过其在HSvr-A中的迁移账户可以获取自己在HSvr-B中的账户的消息,但是,实时性无法保证。
[0020]还例如,zhaoyun根据在中国的手机号码8613316882012,分别在HSvr-A,HSvr-C和HSvr-D中注册了邮箱,对应的E-mail地址分别为8613316882012iqq.com、8613316882012i0utlook.com和 8613316882012@gmail.com。当 zhaoyun根据手机号码登入其在HSvr-A中的邮箱时,不希望他人发送给自己的消息被发送到自己的其它邮箱。但是,machao 的号码薄中记录的 zhaoyun 的 Enail 地址是 8613316882012@0utlook.com,这样,machao给zhaoyun发信时,会根据Enail地址8613316882012@0utlook.com将消息发送到HSvr-C,这样,即使zhaoyun在HSvr-C中的账户将所述消息转发给了 zhaoyun在HSvr-Α中的账户,仍然存在消息迂回的问题。这其实也是目前邮件代收所存在的问题。

【发明内容】

[0021]有鉴于此,本发明公开了一种消息处理方法:通过在HSvr中登记账户的激活信息,并根据登记的激活信息来处理消息,使得IUsr通过控制自己账户的激活状态,就可以选择用于接收消息的账户。[0022]一种消息处理方法,其特征在于,在HSvr中登记账户的激活信息,用于指示一个账户的同基账户族中,哪一个账户处于激活状态;所述方法包括以下步骤:
[0023]步骤a、所述HSvr判断所述消息的目标账户是否处于激活状态,如果是,则执行步骤b;否则,执行步骤c ;
[0024]步骤b、所述HSvr将该消息终结于该目标账户;
[0025]步骤C、所述HSvr按照消息的源地址回复所述目标账户的激活信息;或者所述HSvr按照消息的源地址回复异常消息。
[0026]所述消息中进一步携带强制终结标志,用于指示该消息是否为强制终结消息;
[0027]相应地,在步骤a之前,进一步包括:所述HSvr判断所述消息是否为强制终结消息,如果是,则直接将所述消息终结于该消息的目标账户,然后结束。
[0028]本发明还公开一种新地址确定方法:通过接收异常报告,来确定出目的用户最新选择的账户的地址。
[0029]一种新地址确定方法,其特征在于,所述方法包括以下步骤:
[0030]a、将一个消息发送出去,接收回复消息。
[0031]b、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。
[0032]所述回复消息中含有相应的激活信息。相应地,所述步骤b进一步是:根据所述消息的目的地址的AddrBase和所述激活信息确定新地址。
[0033]所述回复消息中含有相应的激活信息,相应地,步骤b进一步是:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,直接根据所述消息的目的地址的AddrBase值来确定新地址。
[0034]所述消息的目的地址的AddrBase值是一个⑶ID,所述根据所述消息的目的地址的AddrBase值来确定新地址是:直接将该消息的目的地址的AddrBase值作为新地址;
[0035]或者,所述消息的目的地址的AddrBase值是一个掩域E-mail地址,所述根据所述消息的目的地址的AddrBase值来确定新地址是:解码该掩域E-mail地址得到对应的E-mail地址,将解码得到的E-mail地址作为所述新地址;
[0036]或者,所述消息的目的地址的AddrBase值是一个电话号码,所述根据所述消息的目的地址的AddrBase值来确定新地址是:将该电话号码对应的影码作为所述新地址;
[0037]或者,所述消息的目的地址的AddrBase值是一个⑶ID,所述根据所述消息的目的地址的AddrBase值来确定新地址是:根据该⑶ID,通过迁移识别方法,获取该⑶ID对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址;
[0038]或者,所述消息的目的地址的AddrBase值是一个掩域E-mail地址,所述根据所述消息的目的地址的AddrBase值来确定新地址是:对该掩域E-mail地址解码得到一个邮址型⑶ID,根据该⑶ID,通过迁移识别方法,获取该⑶ID对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址;
[0039]或者,所述消息的目的地址的AddrBase值是一个电话号码,所述根据所述消息的目的地址的AddrBase值来确定新地址是:根据该电话号码对应的影码,通过迁移识别方法,获取该影码对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址;[0040]或者,所述消息的目的地址的AddrBase值是一个电话号码,所述根据所述消息的目的地址的AddrBase值来确定新地址是:按照ENUM协议,将电话号码转换为一个域名,通过域名解析,获取该域名指向的地址,将该地址作为所述新地址。
[0041]本发明还公开一种消息发送方法:通过接收异常报告,来更新消息的目的地址,从而保证将一个消息发送到目的用户最新选择的账户。
[0042]一种消息发送方法,其特征在于,所述方法包括以下步骤:
[0043]a、将一个消息发送出去,接收回复消息。
[0044]b、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。
[0045]C、将所述消息的目的地址设置为所述新地址,发送该消息。
[0046]所述回复消息中含有相应的激活信息。相应地,所述步骤b进一步是:根据所述消息的目的地址的AddrBase和所述激活信息确定新地址。
[0047]所述回复消息中含有相应的激活信息。相应地,所述步骤b进一步是:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,根据所述消息的目的地址的AddrBase值来确定新地址。
[0048]本发明还公开一种地址自动更新方法:通过接收异常报告,来自动更新目的用户的联系地址。
[0049]一种地址自动更新方法,其特征在于,所述方法包括以下步骤:
[0050]a、在将一个消息发送出去后,接收回复消息。
[0051]b、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。
[0052]C、根据所述消息的目的地址确定对应的地址记录,将该记录的地址更新为所述新地址。
[0053]所述回复消息中含有相应的激活信息。相应地,所述步骤b进一步是:根据所述消息的目的地址的AddrBase和所述激活信息确定新地址。
[0054]所述回复消息中含有相应的激活信息。相应地,所述步骤b进一步是:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,根据所述消息的目的地址的AddrBase值来确定新地址。
[0055]本发明还公开一种地址补偿方法:通过设置地址列表,对待补偿地址进行匹配,从而实现地址补偿。
[0056]一种地址补偿方法,其特征在于,设置地址列表;在执行地址补偿流程时,根据待补偿地址,从所述地址列表中选择左匹配地址,判断是否存在左匹配地址,如果存在,则将选择到的左匹配地址作为补偿后的地址;否则,直接将该待补偿地址作为补偿后的地址。
[0057]通过本发明提供的方法,能够使IUsr通过控制自己账户的激活状态,来选择用于接收消息的账户,从而方便了用户选择不同的运营商,方便了用户账户的整合。
【专利附图】

【附图说明】
[0058]图1所示,为本发明消息处理方法实施方式流程图。
[0059]图2所示,为本发明新地址确定方法实施方式流程图。
[0060]图3所示,为本发明消息发送方法实施方式流程图。
[0061]图4所示,为本发明地址列表自动更新方法实施方式流程图。[0062]图5所示,为MN组网图。
【具体实施方式】
[0063]本发明提出了消息处理方法,按照该方法,使得IUsr通过控制自己账户的状态,就可以选择一个同基账户族中相应的账户来接收他人发送的消息。
[0064]每个账户都有一个账户地址(AccountAddr,Account Address)。在一个(iUID的账户族中,源账户的AccountAddr为该GUID,迀移账户的AccountAddr为该迀移账户对应的CDAddr,是该(;UID 的某一 CDAddr。
[0065]本发明以CDAddr写作Base(iUID@CeSvrDesc形式为例,但不用于限定本发明。
[0066]例如:
[0067]1、Iiubei 根据 GUID 值 IiubeiOOutlook.com 在 HSvr-C 中注册了源账户,对应的AccountAddr 为 IiubeiOOutlook.com ;根据 GUID 值 IiubeiOOutlook.com 分别在 HSvr-A、HSvr-B 和 HSvr-D 中注册了迁移账户,对应的 AccountAddr 分别为:liubei@Outlook.com?qq.com、liubei@Outlook.com@163.com 和 IiubeiOOutlook.com@gmail.com。
[0068]2、guanyunchang 根据 GUID 值 guanycOOutlook.com 在 HSvr-C 中注册了源账户,对应的 AccountAddr 为 guanycOOutlook.com ;根据 GUID 值 guanycOOutlook.com,分别在HSvr-A 和 HSvr-B 中注册了迁移账户,对应的 AccountAddr 分别为:guanyc@Outlook.com?qq.com 和 guanycOOutlook.com@163.com。
[0069]3、zhaoyun根据在中国的手机号码8613316882012,分别在HSvr_A、HSvr-C和HSvr-D中注册了邮箱,也即源账户,对应的AccountAddr分别为:8613316882012@qq.com、8613316882012@0utlook, com 和 8613316882012@gmail.com。
[0070]4、machao 根据 GUID 值 machao@gmail.com 在 HSvr-D 中注册了 源账户,对应的AccountAddr 为 machao@gmail.com。
[0071]每个地址都由一个地址基(AddrBase,Address Base)和一个地址归属(AddrHome,Address Home)构成。当一个地址是一个GUID时,该地址的AddrBase是该GUID的UCode,该地址的AddrHome是该GUID的HCode ;当一个地址是一个CDAddr时,该地址的AddrBase是该 CDAddr 的 BaseGUID,该地址的 AddrHome 是该 CDAddr 的 CeSvrDesc。
[0072]一 个 AccountAddr 的 AddrHome 指向一个 HSvr,则称该 AccountAddr 归属于该HSvr0
[0073]一个账户的AddrHome,是该账户的AccountAddr的AddrHome ; —个账户的AddrBase,是该账户的AccountAddr的AddrBase。一个账户的AddrBase值为AB,则称该账户为基于AddrBase值AB的账户。例如,基于AddrBase值8613316882012的账户有8613316882012@qq.com、8613316882012@0utlook.com 和 8613316882012@gmail.com 等三个 AccountAddr 值对应的账户;基于 AddrBase 值 IiubeiOOutlook.com 的账户有 liubei?Outlook.com@qq.com,liubei@Outlook.com@163.com 和 IiubeiOOutlook.com@gmail.com等三个AccountAddr值对应的账户。
[0074]本发明称:AddrBase相同的地址为同基地址,AddrBase相同的账户称为同基账户。显然,一个账户族中所有的迀移账户是同基的。
[0075]基于一个AddrBase值的所有账户组成一个同基账户族,该同基账户族被称为基于该AddrBase值的同基账户族,该AddrBase值为该同基账户族的AddrBase值。
[0076]一个账户的同基账户族是基于该账户的AddrBase值的同基账户族。显然,每个账户属于该账户自己的同基账户族。
[0077]如图1所示,为本发明消息处理方法实施方式流程图。在该实施方式中,在HSvr中登记账户的激活信息,通过所述激活信息,指示一个账户的同基账户族中,哪一个账户处于激活状态。
[0078]一般地,一个账户信息中包括这些基本属性:AddrBase、AddrHome> Password、ClientIP和 ClientPort。其中 AddrBase 和 AddrHome 构成该账户的 AccountAddr。Password为账户密码,ClientIP和ClientPort为该账户的在线信息,当该账户处于登入状态时,ClientIP和ClientPort对应该账户的客户端的IP地址和端口号,当该账户处于登出状态时,一般地,ClientIP 和 / 或 ClientPort 为空值 null 或 O。
[0079]如果统一约定端口号为某一特定值,则ClientPort属性可以省略。当一个HSvr只拥有一个HCode值时,AddrHome属性也可以省略。
[0080]一般地,HSvr在一个账户登录时可以获取对应客户端的IP地址和端口号,并将获取的IP地址和端口号保存在该账户的ClientIP和ClientPort属性中。
[0081]当客户端与HSvr建立TCP连接时,HSvr还可以用对应的连接标识,例如相应的套接口描述符(SktD, Socket Descriptor)来替代ClientIP和ClientPort属性,作为相应账户的在线信息。
[0082]本发明以{用客户端IP地址和端口号来作为相应账户的在线信息,并且当一个账户处于登出状态时,对应ClientIP和ClientPort为0}为例,但不用于限定本发明。
[0083]需要说明的是,可以将一个账户的属性信息保存在一个表中,也可以将一个账户的属性信息分别保存在多个表中。参见《同基账户通知机制实现方法》发明专利。
[0084]HSvr可以通过在账户信息中设置ActiveAddrHome属性,来保存一个账户的激活信息。这样,根据一个账户的ActiveAddrHome属性,即可得知,该账户的同基账户族中,哪一个账户处于激活状态。
[0085]方式一:在ActiveAddrHome属性中保存一个同基账户族中激活账户的AddrHome
值字典序号
[0086]例如,Iiubei的基于AddrBase值liubeiOOutlook.com的三个同基账户的AddrHome 值分别为 qq.com、163.com 和 gmail.com,按字典排序为 163.com、gmail.com、qq.com,因此,可以将AddrHome值163.com对应的字典序号设置为I,将AddrHome值gmail.com对应的字典序号设置为2,将AddrHome值qq.com对应的字典序号设置为3。在OtherAddrHomes属性中,还针对每个AddrHome值登记相应的字典序号,这样,通过ActiveAddrHome属性中的序号,可以确定一个账户的同基账户族中哪一个账户处于激活状态。例如,一个账户的ActiveAddrHome属性值为0,则将该账户的同基账户族中所有的同基账户视为处于休眠状态;如果一个账户的ActiveAddrHome属性值不为O,且根据该账户的ActiveAddrHome属性值从该账户的OtherAddrHomes属性中找不到对应的AddrHome值,则将该账户视为激活状态。
[0087]方式二、在ActiveAddrHome属性中保存激活账户的AddrHome值
[0088]为方便维护,较佳地,在ActiveAddrHome属性中保存激活账户的AddrHome值。[0089]当一个账户的ActiveAddrHome属性含有有效的HCode值时,表示该ActiveAddrHome属性值与该账户的AddrBase对应的AccountAddr是一个激活账户的AccountAddr值;当一个账户的ActiveAddrHome属性值为无效的HCode值时,例如,为空值null时,表示该账户的同基账户族中,所有账户都处于休眠状态。
[0090]例如,在HSvr-A 中:
[0091]sunquan 的账户信息为:AddrBase=sunquan ;AddrHome=qq.com ;Password=******** ;ClientIP=相应 IP ;ClientPort=相应端口 ;ActiveAddrHome=qq.com。
[0092]zhouyu 的贝长户信息为:AddrBase = zhouyu ;AddrHome = qq.com ;Password=******** ;ClientIP=相应 IP ;ClientPort=相应端口 ;ActiveAddrHome=qq.com。
[0093]liubei 的账户信息为:AddrBase=IiubeiOOutlook, com ;AddrHome=qq.com ;Password=******** ;ClientIP=相应 IP ;ClientPort=相应端口 ;ActiveAddrHome=qq.com。
[0094]guanyunchang 的账户信息为:AddrBase=guanyc@Outlook.com ;AddrHome=qq.com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=null。
[0095]zhaoyun 的账户信息为:AddrBase=8613316882012 ;AddrHome=qq.com ;Password=******** ;ClientIP=相应 IP ;ClientPort=相应端口 ;ActiveAddrHome=qq.com。
[0096]还例如,在HSvr-B中:
[0097]caocao 的账户信息为:AddrBase=caocao ;AddrHome = 163.com ;Password=******** ;ClientIP=相应 IP ;ClientPort=相应端口 ;ActiveAddrHome=163.com。
[0098]zhangliao 的账户信息为:AddrBase=zhangliao ;AddrHome=163.com ;Password=******** ;ClientIP=相应 IP ;ClientPort=相应端口 ;ActiveAddrHome=163.com。
[0099]liubei 的账户信息为:AddrBase=liubei@0utlook.com ;AddrHome=163.com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=qq.com。
[0100]guanyunchang 的账户信息为:AddrBase=guanyc@0utlook.com ;AddrHome=163.com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=null。
[0101]还例如,在HSvr-C中:
[0102]liubei 的账户信息为:AddrBase=Iiubei ;AddrHome=0utlook.com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=null。
[0103]guanyunchang 的账户信息为:AddrBase=guanyc ;AddrHome=Outlook,com ;Password=氺氺氺氺氺氺氺氺;ClientIP=应 IP ;C1ientPort=Bi ^ Π ;ActiveAddrHome=Outlook.com。
[0104]zhaoyun 的账户信息为:AddrBase=8613316882012 ;AddrHome=Outlook, com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=qq.com。
[0105]还例如,在HSvrD中:[0106]machao 的账户信息为:AddrBase=machao ;AddrHome=gmai1.com ;Password=******** ;ClientIP=相应 IP ;ClientPort=相应端口 ;ActiveAddrHome=gmail.com。
[0107]liubei 的账户信息为:AddrBase=liubei@Outlook.com ;AddrHome=gmai1.com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=qq.com。
[0108]zhaoyun 的账户信息为:AddrBase=8613316882012 ;AddrHome=gmai 1.com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=qq.com。
[0109]本发明后面将以方式二为例,但不用于限定本发明。
[0110]如果不考虑扩展性,在一个账户信息中,也可以用⑶ID属性和CeSvrDesc属性来替代AddrBase属性和Addrttome属性,这样,由GUID和CeSvrDesc构成该账户的AccountAddr。当 CeSvrDesc 为空值 null 时,说明对应的 AccountAddr 为一个 GUID ;当CeSvrDesc为一个有效的HCode值时,说明对应的AccountAddr为一个CDAddr。
[0111]例如,在HSvr-A 中:
[0112]sunquan 的账户信息为:GUID=sunquan@qq.com ;CeSvrDesc=nulI ;Password=******** ;ClientIP=相应 IP ;C1 ientPort=相应端 口 ;ActiveAddrHome=qq.com。
[0113]zhouyu 的账户信息为:GUID=zhouyu@qq.com ;CeSvrDesc=nulI ;Password=******** ;ClientIP=相应 IP ;C1 ientPort=相应端 口 ;ActiveAddrHome=qq.com。
[0114]liubei 的账户信息为:GUID=liubei@0utlook.com ;CeSvrDesc=qq.com ;Password=******** ;ClientIP=相应 IP ;C1 ientPort=相应端 口 ;ActiveAddrHome=qq.com。
[0115]guanyunchang 的账户信息为:GUID=guanyc@0utlook.com ;CeSvrDesc=qq.com ;Password=林林林林;ClientIP=0 ;ClientPort=0 ;ActiveAddrHome=null。
[0116]zhaoyun 的账户信息为:GUID=8613316882012@qq.com ;CeSvrDesc=null ;Password=******** ;ClientIP=相应 IP ;C1 ientPort=相应端 口 ;ActiveAddrHome=qq.com。
[0117]本发明以{在一个账户信息中,用AddrBase属性和AddrHome属性来存放该账户的AccountAddr}为例,但并不用于限定本发明。
[0118]还可以在账户信息中增加地址类型(AddrType,Address Type)属性,来指示相应账户的AccountAddr类型。例如:AddrType=l,表示对应的AccountAddr为邮址码;AddrType=2,表示对应的 AccountAddr 为影码;AddrType=3,表示对应的 AccountAddr 为主从码;AddrType=ll,表示对应的AccountAddr为双域跨域码;AddrType=21,表示对应的AccountAddr为影码跨域码,即Base(iUID为影码的CDAddr ;AddrType=31,表示对应的AccountAddr为主从码跨域码,即Base(iUID为主从码的CDAddr。
[0119]实际当中,通过解析一个AccountAddr,可以获得该AccountAddr的类型。例如,约定:1、主从码分隔符为“#”,影码分隔符为;2、⑶Addr的CeSvrDesc只能为域名。这样,对一个AccountAddr的解析过程如下:
[0120]一、当AccountAddr出现符号时,将最右边的符号之后的部分作为该AccountAddr 的 AddrHome,而后解析该 AccountAddr 的 AddrBase:
[0121]当该AddrBase中含有“O”时,说明AddrType=Il ;当该AddrBase中含有时,说明 AddrType=21 ;当该 AddrBase 中含有“#”时,说明 AddrType=31。当该 AddrBase 中不含有 “ * ”、“ # ”和 “ O” 之一时,说明 AddrType=I。
[0122]二、当AccountAddr没有出现“O”符号时,如果AccountAddr含有“*,,,则AddrType=2 ;如果 AccountAddr 含有 ‘‘#,,,则 AddrType=3。
[0123]这样,sunquaniqq.com 对应的 AddrType 为 I,而 LiubeiOOutlook.comiqq.com 对应的 AddrType 为 11。
[0124]根据一个AccountAddr,可以确定一个账户。例如:当liubei的登录帐号是其在 HSvr-A 中的账户的 AccountAddr 值 IiubeiiOutlook.comiqq.com 时,HSvr-A 判断IiubeiiOutlook.comiqq.com 归属于自己,因此,将 liubeiOOutlook.comiqq.com 作为一个AccountAddr值,并根据该AccountAddr值来确定相应的登录账户。
[0125]在一个HSvr中,根据一个AddrBase,可以确定一个或多个账户,当该HSvr只有一个HCode时,根据一个AddrBase可以确定一个账户。例如,当liubei的登录账号是其在HSvr-A 中的账户的 AddrBase 值 IiubeiiOutlook.com 时,HSvr-A 判断 IiubeiiOutlook.com不归属于自己,因此,将liubeiOOutlook.com作为一个AddrBase值,并根据AddrBase值liubeiOOutlook.com来确定相应的登录账户。这种情况下,当HSvr-A只拥有一个HCode时,HSvr-A 根据 AddrBase 值 liubeiOOutlook.com 只能确定一个账户。
[0126]以{所有的⑶ID都是邮址码,所有的CDAddr都是双域跨域码}为例,HSvr从登录账号字符串的尾部向前查找第一个字符,截取该at符号后面的部分,得到一个HCode值,如果该HCode归属于该HSvr,则该登录账号归属于该HSvr。如果登录账号字符串中没有“O”字符,则说明该登录账号是一个用户名,可能对应某个帐户的AddrBase值。
[0127]一个账户的ActiveAddrHome值为null时,可以将该账户的源账户视为激活状态。例如,guanyunchang 的账户的 ActiveAddrHome 为 null,这时,在 HSvr-C 中,可以将 guanycOOutlook, com对应源账户标记为激活状态。
[0128]一个账户的ActiveAddrHome值不为null,说明该账户的同基账户族中有一个账户处于激活状态。特别地,如果在一个账户族中有一个迁移账户处于激活状态,也可以将该账户族的源账户视为休眠状态。例如,liubei在HSvr-B中的账户的ActiveAddrHome值为qq.com,说明,该账户的同基账户族中,有一个在HSvr-A里的账户处于激活状态。这种情况下,如果考虑源账户因素,则可以将liubei在HSvr-C中的源账户视为休眠状态。例如,在HSvr-C中,把liubei的基于AddrBase值liubei的账户,即liubei的源账户,标记为休眠状态。
[0129]在图1中,HSvr对于目的地址归属于自己的消息,执行如下步骤:
[0130]步骤11、所述HSvr判断所述消息的目标账户是否处于激活状态,如果是,则执行步骤12:将该消息终结于该目标账户;否则,执行步骤19。
[0131]步骤19、所述HSvr按照消息的源地址回复所述目标账户的激活信息;或者所述HSvr按照消息的源地址回复异常消息。例如,通过该异常消息,告诉消息发送者,“使用的AccountAddr值无效”,或“对应的账户进入休眠状态”。
[0132]一个账户的ActiveAddrHome值和该账户的AddrHome值一致,则说明该账户处于激活状态,否则,说明该账户处于休眠状态。例如,Iiubei和zhaoyun在HSvr-A中的账户,ActiveAddrHome值和AddrHome值都是qq.com,因此,都处于激活状态;Iiubei和zhaoyun在 HSvr-D 中的账户,ActiveAddrHome 值为 qq.com, AddrHome 值为 gmail.com,因此,都处于休眠状态;guanyunchang在HSvr-Α和HSvr-Β中的账户,AddrHome值分别为qq.com和163.com,而ActiveAddrHome值都为null,因此,也都处于休眠状态。
[0133]在步骤11中,所述HSvr判断所述消息的目标账户是否处于激活状态进一步是:所述HSvr判断所述目标账户的ActiveAddrHome值与AddrHome值是否一致,如果一致,则说明该目标账户处于激活状态,否则,说明该目标账户处于休眠状态。
[0134]下面举详细例对本发明用途和用法进行说明。
[0135]machao登入了在HSvr-D中的源账户,使该源账户处于激活状态。
[0136]例1.1:liubei到东吴招亲,其联系地址更换为双域跨域码LiubeiOOutlook.com?qq.com。machao由于戍边,尚不知道Iiubei的联系地址变化,其号码簿里记录的Iiubei的联系地址还是Iiubei寄居曹营时使用的双域跨域码LiubeiOOutlook.com@163.com。machao给Iiubei发消息的过程如下:
[0137]步骤1-101、machao客户端将消息的目的地址设置为LiubeiOOutlook.com@163.com,消息的源地址设置为machao@gmail.com,并设置好相应的消息体,然后将该消息发送给 HSvr-D。
[0138]步骤1-102、HSvr-D收到所述消息后,判断消息的目的地址LiubeiOOutlook.com@163.com 的 AddrHome 值 163.com 指向 HSvr-B,于是将该消息发送给 HSvr-B。
[0139]步骤1-103、HSvr-B 收到所述消息后,根据 AccountAddr 值 LiubeiOOutlook.com@163.com确定目标账户,由于所确定的目标账户的ActiveAddrHome值为qq.com,不是该目标账户的AddrHome值163.com,因此,确认出该目标账户处于休眠状态,于是,执行步骤 1-104。
[0140]步骤1-104:HSvr_B构造回复消息,该回复消息的目的地址为machao@gmail.com,源地址为LiubeiOOutlook.com@163.com,消息体中包括所述目标账户的激活信息qq.com ;将该回复消息发送给HSvr-D。
[0141]步骤1-105、HSvr-D收到所述回复消息后,根据该回复消息的目的地址machao?gmail.com,确定到machao的客户端,将该回复消息发送给maochao的客户端。
[0142]maochao的客户端收到所述回复消息后,就可以根据所述消息的目的地址,也即所述回复消息的源地址 LiubeiOOutlook.com@163.com 的 AddrBase 值 LiubeiOOutlook.com和返回的激活信息qq.com,得到双域跨域码LiubeiOOutlook.com@qq.com,并使用双域跨域码 LiubeiOOutlook.com@qq.com 给 Iiubei 发消息。
[0143]machao的客户端收到所述回复消息后,还可以将号码薄中Iiubei的联系地址更新为新地址 LiubeiOOutlook.com@qq.com。例如,从号码薄中查找 LiubeiOOutlook.com?qq.com同基地址,即可找到LiubeiOOutlook.com@163.com对应的号码薄记录,或者直接根据回复消息的源地址LiubeiOOutlook.com@163.com查找对应的号码薄记录。
[0144]所述步骤1-105还可以是:HSvr-D收到所述回复消息后,根据返回的激活信息qq.com 和所述回复消息的源地址 LiubeiOOutlook.com@163.com 的 AddrBase 值 Liubei@Outlook, com,得到双域跨域码LiubeiOOutlook.com@qq.com,而后使用双域跨域码LiubeiiOutlook.comiqq.com重新给 liubei 发所述消息。这里,如果 HSvr-D保存了 machao的号码薄或路由表,HSvr-D还可以将machao的号码薄或路由表中,liubei的联系地址更新为新地址 LiubeiOOutlook.comiqq.com。
[0145]例1.2:machao的号码薄里,liubei的联系地址更新为双域跨域码LiubeiOOutlook, comiqq.com。machao 给 liubei 发消息的过程如下:
[0146]步骤1-201、machao客户端将消息的目的地址设置为LiubeiOOutlook.comiqq.com,消息的源地址设置为machaoOgmail.com,并设置好相应的消息体,然后将该消息发送给 HSvr-D。
[0147]步骤l-202、HSvr_D收到所述消息后,判断消息的目的地址LiubeiOOutlook.comiqq.com的AddrHome值qq.com指向HSvr-A,于是将该消息发送给HSvr_A。
[0148]步骤1-203、HSvr-A 收到所述消息后,根据 AccountAddr 值 LiubeiOOutlook.comiqq.com确定目标账户;由于所确定的目标账户的ActiveAddrHome值为qq.com,与其AddrHome值qq.com 一致,因此,确认出该目标账户处于激活状态,于是,将所述消息终结于该目标账户。
[0149]本发明中,将一个消息终结于一个账户可以是以下几种情况之一:
[0150]一、将该消息发送给该账户的客户端。例如,所述消息是用于向该账户的客户端发送请求或者传递信息的消息。
[0151]二、将该消息保存到该账户的收件箱。例如,所述消息是用于向该账户发送邮件或短信息,这样,就可以将消息中携带的邮件和短信息保存到该账户的收件箱。这种情况下,所述目标账户还设置有收件箱属性。
[0152]三、将该账户对应的属性信息回复给消息的发送者归属的HSvr。一般地,所述属性信息是在相应账户处于激活状态时有效,例如,所述消息是用于获取该账户的客户端的IP地址,这种情况下,可以将该账户的客户端的IP地址回复给消息的发送者归属的HSvr。
[0153]所述消息是发送短信息。
[0154]例如,所述消息体中含有短消息命令码ShortMsg和短消息内容“主公,粮草能够维持一月”,则在步骤1-203中,所述将所述消息终结于该目标账户是指:将该消息发送给该目标账户的客户端。例如,根据该目标账户的ClientIP属性和ClientPort属性,将所述消息发送给liubei对应的客户端。如果该目标账户处于登出状态,例如,对应的ClientIP属性值为0,则可以将所述消息保存到该目标账户的收件箱,这种情况下,所述目标账户还设置有收件箱属性。
[0155]所述消息是获取一个账户的属性数据,例如,获取一个账户客户端的IP地址。
[0156]例如,所述消息体中含有表示请求IP地址的命令码GetIP,则在步骤1_203中,所述将所述消息终结于该目标账户是指:将该目标账户的ClientIP属性值作为回复消息的内容回复给machao。例如,HSvr-Α构造回复消息,该回复消息的目的地址为machaoOgma i 1.com,源地址为LiubeiOOutlook.comiqq.com,消息体中包括对应于命令码GetIP的回复命令码ResGetIP以及该目标账户的ClientIP属性值;将该回复消息发送给HSvr-D ;HSvr-D收到所述回复消息后,将该回复消息发送给maochao的客户端。这样,machao这一侧就可以根据收到的IP地址呼叫liubei的客户端,以便建立语音或视频对话。
[0157]例1.3:machao 号码簿里记录的 guanyunchang 的联系地址是 guanycOOutlook.com@163.com,而guanyunchang在过五关斩六将之后,又回到了 Iiubei的阵营,并且将联系地址更新为guanycOOutlook.com。这样,machao给guanyunchang发消息的过程如下:
[0158]步骤1-301、machao客户端将消息的目的地址设置为guanyc@0utlook.com@163.com,消息的源地址设置为machao@gmail.com,并设置好相应的消息体,然后将该消息发送给 HSvr-D。
[0159]步骤1-302、HSvr-D收到所述消息后,判断消息的目的地址guanyc@0utlook.com@163.com 的 AddrHome 值 163.com 指向 HSvr-B,于是将该消息发送给 HSvr-B。
[0160]步骤1-303、HSvr-B 收到所述消息后,根据 AccountAddr 值 guanyc@0utlook.com@163.com确定目标账户,由于所确定的目标账户的ActiveAddrHome值为null,因此,确认出该目标账户处于休眠状态,于是,执行步骤1-304。
[0161]步骤1-304:HSvr_B构造回复消息,该回复消息的目的地址为machao@gmail.com,源地址为guanyc@0utlook.com@163.com,消息体中包括所述目标账户的激活信息null ;将该回复消息发送给HSvr-D。
[0162]步骤1-305、HSvr-D收到所述回复消息后,根据该回复消息的目的地址machao?gmail.com,确定到machao的客户端,将该消息发送给maochao的客户端。
[0163]一个账户的ActiveAddrHome值为null,说明该账户的同基账户族中所有账户都处于休眠状态。特别地,如果在一个账户族中所有的迀移账户都处于休眠状态,则可以将该账户族的源账户视为激活状态。例如,guanyunchang在HSvr-B中的账户的ActiveAddrHome值为null,说明,基于AddrBase值guanyc@0utlook.com的账户都处于休眠状态。这种情况下,如果考虑源账户因素,贝1J可以将guanyunchang在HSvr-C中的源账户视为激活状态。例如,在 HSvr-C 中,把 guanyunchang 的基于 AddrBase 值 guanyc 的账户,即 guanyunchang 的源账户,标记为激活状态。
[0164]maochao的客户端收到所述回复消息后,判断出返回的激活信息为空值null时,可以根据该回复消息的源地址guanyc@0utlook.com@163.com的AddrBase值guanyc?Outlook, com 重新给 guanyunchang 发消息。
[0165]同样,machao的客户端收到所述回复消息后,判断出返回的激活信息为null时,还可以将号码薄中guanyunchang的联系地址由guanyc@0utlook.com@163.com更新为guanyc@0utlook.com@163.com 的 AddrBase 值 guanyc@0utlook.com。
[0166]对于一个HSvr来说,所述目的地址归属于自己的消息可以是来自其它HSvr的消息。例如,在步骤1-103中,HSvr-B收到的来自于HSvr-D的所述消息。
[0167]对于一个HSvr来说,所述目的地址归属于自己的消息可以是来自客户端的消息。
[0168]例1.4:caocao登入在HSvr-B中的源账户,使该源账户处于激活状态。caocao使用联系地址Liubei@0utlook.com@163.com给Iiubei发消息的过程如下:
[0169]步骤1-401、caocao客户端将消息的目的地址设置为Liubei@0utlook.com@163.com,消息的源地址设置为ca0ca0@163.com,并设置好相应的消息体,然后将该消息发送给HSvr-B。
[0170]步骤1-402、HSvr-B收到所述消息后,判断消息的目的地址LiubeiOOutlook.com@163.com 的 AddrHome 值 163.com 指向自己,于是,根据 AccountAddr 值 Liubei?Outlook.com@163.com确定目标账户;由于所确定的目标账户的ActiveAddrHome值为qq.com,不是该目标账户的AddrHome值163.com,因此,确认出该目标账户处于休眠状态,于是,执行步骤1-403。
[0171]步骤1-403:HSvr-B构造回复消息,该回复消息的目的地址为caocao@163.com,源地址为LiubeiOOutlook.comil63.com,消息内容包括所述目标账户的激活信息qq.com ;将该回复消息发送给caocao的客户端。
[0172]例1.5:sunquan登入在HSvr-Α中的源账户,使该源账户处于激活状态。sunquan使用联系地址LiubeiOOutlook.comiqq.com给liubei发消息的过程如下:
[0173]步骤1-501、sunquan客户端将消息的目的地址设置为LiubeiOOutlook.comiqq.com,消息的源地址设置为sunquan@qq.com,并设置好相应的消息体,然后将该消息发送给 HSvr-A0
[0174]步骤l-502、HSvr_A收到所述消息后,判断消息的目的地址LiubeiOOutlook.comiqq.com 的 AddrHome 值 qq.com 指向自己,于是,直接根据 AccountAddr 值 LiubeiOOutlook.comiqq.com确定目标账户;由于所确定的目标账户的ActiveAddrHome值为qq.com,与其AddrHome值qq.com 一致,因此,确认出该目标账户处于激活状态,于是,将所述消息终结于该目标账户。
[0175]HSvr在接收到来自客户端的目的地址不归属于自己的消息时,一般地,将该消息发送给所述目的地址归属的其它HSvr,由所述其它HSvr按照上述本发明的方法来处理所述消息。例如,在步骤1-102中,HSvr-D在收到客户端发送的所述消息后,判断消息的目的地址不归属于自己,于是,就将该消息发送给所述目的地址归属的HSvr-B。
[0176]实际当中,通信系统的不稳定因素,可能会导致一个同基账户族中各个账户的激活信息不一致的情况发生。例如,liubei在HSvr-B的账户中,记录的激活信息为“qq.com”,而liubei在HSvr-A的账户中,记录的激活信息为“163.com”,这种情况下,machao根据联系地址LiubeiOOutlook.comil63.com给liubei发消息时,会收到激活信息qq.com,当machao将消息的目的地址更换为LiubeiOOutlook.comiqq.com后,重新发送消息时,会收到激活信息163.com,这种情况下,就会出现死循环。
[0177]对此,本发明提出这种解决方法:在所述消息中进一步携带强制终结(ForceEnd)标志,用于指示该消息是否为强制终结消息。
[0178]例如,可以在消息中设置一个标志位,用于指示该消息是否为强制终结消息,该标志为1,表示该消息为强制终结消息,否则,不是。或者,对于强制终结消息,在消息中插入一个特殊标记“ForceEnd”,对于非强制终结消息,在消息中,不插入该标记,这样,通过检查一个消息中是否含有该特殊标记,即可判断该消息是否为强制终结消息。
[0179]相应地,在步骤11之前,还可以进一步包括:所述HSvr判断所述消息是否为强制终结消息,如果是,则直接将所述消息终结于该消息的目标账户,否则,才执行步骤11。
[0180]对于强制终结消息,由于HSvr忽略所述消息的目标账户的激活信息,而将该消息强制终结于该目标账户,因此,消息的发送者在第一次发送消息,并接收到相应的激活信息后,就可以根据所述激活信息更新消息的目的地址,并将消息设置为强制终结消息,而后发送该消息,从而将该消息发送到锁定的账户。
[0181]在步骤11之前,还可以进一步包括步骤10:所述HSvr根据消息的目的地址确定消息的目标账户。[0182]在步骤10中,还可以进一步判断根据消息的目的地址是否确定到所述目标账户,如果没有,则结束流程。特别地,在所述结束流程之前还可以进一步按照消息的源地址回复表示“目标账户不存在”的原因值,这样,消息发送者收到了含有表示“目标账户不存在”的原因值的回复消息后,还可以进一步根据所述消息的目的地址的AddrBase值来确定新地址,并根据所确定的新地址来发送相应的消息。关于如何根据所述消息的目的地址的AddrBase值来确定新地址的操作,参见后面提到的新地址确定方法发明专利。
[0183]在步骤11之前,还可以进一步包括:判断所述消息是否是用于请求所述目标账户的属性数据,例如激活信息,如果是,则所述HSvr直接按照消息的源地址回复所述目标账户的属性数据,然后结束;否则,才执行步骤11。
[0184]作为一种扩展性更好的实现方式,较佳地,通过将消息标记为强制终结消息来实现“请求所述目标账户的属性数据”的目的。这样,当不需要目标账户为激活状态时,可以将相应的消息标记为强制终结消息;当需要目标账户为激活状态时,则让相应的消息为非强制终结消息。
[0185]本发明还提供一种新地址确定方法,通过该方法,在发现一个地址无效后,根据回复的激活信息,得到该地址相关的新地址。
[0186]如图2所示,为本发明新地址确定方法实施方式流程图。在该实施方式中:
[0187]首先在步骤21、在将一个消息发送出去后,接收回复消息。
[0188]步骤22、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。
[0189]通常情况下,所述回复消息中携带有目的地址和源地址。一般地,所述回复消息的目的地址为所述消息的源地址;所述回复消息的源地址与所述消息的目的地址是同基的,并且所述回复消息的源地址可以直接是所述消息的目的地址。在这种情况下,所述步骤22可以直接是:按照所述回复消息确定新地址。
[0190]在步骤21中,所述回复消息中含有相应的激活信息。相应地,所述步骤22是:根据所述消息的目的地址的AddrBase和所述激活信息确定新地址。例如,将所述消息的目的地址的AddrBase作为所述新地址的AddrBase,将所述激活信息作为所述新地址的AddrHome。
[0191]machao登入了在HSvr-D中的源账户,使该源账户处于激活状态。
[0192]例2.1:liubei到东吴招亲,其联系地址更换为双域跨域码LiubeiOOutlook.comiqq.com。machao由于戍边,尚不知道Iiubei的联系地址变化,其号码簿里记录的Iiubei的联系地址还是Iiubei寄居曹营时使用的双域跨域码LiubeiOOutlook.comil63.com。machao给Iiubei发消息时,确定Iiubei的新地址的过程如下:
[0193]步骤2-101至步骤2-104、同步骤1-101至步骤1_104。
[0194]步骤2-105、HSvr-D收到所述回复消息后,将该回复消息的源地址LiubeiOOutlook.comil63.com的AddrHome置换为所述回复消息携带的激活信息qq.com,得到新地址 LiubeiiOutlook.comiqq.com。
[0195]例2.2:liubei到东吴招亲,其联系地址更换为双域跨域码LiubeiOOutlook.comiqq.com。machao由于戍边,尚不知道Iiubei的联系地址变化,其号码簿里记录的Iiubei的联系地址还是Iiubei寄居曹营时使用的双域跨域码LiubeiOOutlook.comil63.com。machao给Iiubei发消息时,确定Iiubei的新地址的过程如下:
[0196]步骤2-201至步骤2-205、同步骤1-101至步骤1_105。[0197]步骤2-206、maochao的客户端收到所述回复消息后,将该回复消息的源地址LiubeiiOutlook.comil63.com的AddrHome置换为所述回复消息携带的激活信息qq.com,得到新地址 LiubeiOOutlook.comiqq.com。
[0198]在步骤21中,所述回复消息中含有相应的激活信息。相应地,所述步骤22进一步是步骤22A:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,结束。
[0199]在步骤21中,所述回复消息中含有相应的激活信息。相应地,所述步骤22进一步是步骤22B:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,根据所述消息的目的地址的AddrBase值来确定新地址。
[0200]所述消息的目的地址的AddrBase值是一个⑶ID,在步骤22B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:直接将该消息的目的地址的AddrBase值作为新地址。
[0201]例2.3:machao 号码簿里记录的 guanyunchang 的联系地址是 guanycOOutlook.comil63.com,而guanyunchang在过五关斩六将之后,又回到了 liubei的阵营,并且将联系地址更新为guanycOOutlook.com。这样,machao给guanyunchang发消息时,确定guanyunchang的新地址的过程如下:
[0202]步骤2-301至步骤2-304、同步骤1_301至步骤1_304。
[0203]步骤2-305、HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,将所述回复消息的源地址guanyc@0utlook.comil63.com的 AddrBase 值 guanycOOutlook.com 作为新地址。
[0204]例2.4:machao 号码簿里记录的 guanyunchang 的联系地址是 guanycOOutlook.comil63.com,而guanyunchang在过五关斩六将之后,又回到了 liubei的阵营,并且将联系地址更新为guanycOOutlook.com。这样,machao给guanyunchang发消息时,确定guanyunchang的新地址的过程如下:
[0205]步骤2-401至步骤2-405、同步骤1_301至步骤1_305。
[0206]步骤2-406、maochao的客户端收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,将所述回复消息的源地址guanyc@0utlook.comil63.com 的 AddrBase 值 guanycOOutlook.com 作为新地址。
[0207]所述消息的目的地址的AddrBase值是一个掩域E-mail地址,在步骤22B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:解码该掩域E-mail地址得到对应的E-mail地址,将解码得到的E-mail地址作为新地址。
[0208]对于所提到的双域跨域码,可以将其编码为掩域跨域码形式。以{用两个连续的下划线:“—”作为at替代码}为例。这样,对于CDAddr值guanycOOutlook.comil63.com,经过编码后得到的是形式为guanyc—Outlook.comil63.com的掩域跨域码。
[0209]关于掩域E-mail地址解码方法,以及双域跨域码编码方法的更多描述,参见申请号为201210378120.6或201310435356.3的《E-mail地址编码方法》发明专利。
[0210]如果将上面的所有双域跨域码都等同替换为对应的掩域跨域码,则所述步骤
2-305进一步是=HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,对所述回复消息的源地址guanyc—Outlook.comil63.com的AddrBase 值 guanyc—Outlook, com 进行解码得到对应的 Enail 地址 guanycOOutlook.com,将 guanycOOutlook.com 作为新地址。
[0211]所述消息的目的地址的AddrBase值是一个电话号码,在步骤22B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:将该电话号码对应的影码作为所述新地址。
[0212]例如,用电话号码“8613923812365”置换上述的“guanycOOutlooL com”,则所述步骤2-305进一步是=HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,将所述回复消息的源地址86139238123650163.com的AddrBase 值 8613923812365 对应的影码 86*139*23812365 作为新地址。
[0213]需要说明的是,根据一个电话号码,匹配全球电话国家码码表,可以从该电话号码中截取对应的电话国家码,将该电话国家码作为对应影码的CC值。而后用截取电话国家码后剩下的部分匹配所截取的电话国家码所对应国家的固定电话区号(FAC, Fixed AreaCode)表以及移动接入号(MAN,Mobile Access Number)码表,得到对应影码的NBC值。一个电话号码在截取对应的CC值和NBC值后,得到的部分即为对应影码的UCode值。
[0214]在步骤21中,所述回复消息中没有所述激活消息,例如,在将一个消息发送出去后,没有接收到相应的含有激活信息的回复消息,而是接收到一个含有表示“目标账户不存在”的原因值的回复消息,这时,在步骤22中,可以直接根据所述消息的目的地址的AddrBase值来确定新地址。
[0215]本发明还提供一种消息发送方法,通过该方法,将一个消息发送给一个IUsr的激活账户。
[0216]如图3所示,为本发明消息发送方法实施方式流程图。在该实施方式中:
[0217]首先在步骤31、将一个消息发送出去,接收回复消息。
[0218]步骤32、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。
[0219]步骤33、将所述消息的目的地址设置为所述新地址,发送该消息。
[0220]通常情况下,所述回复消息中携带有目的地址和源地址。一般地,所述回复消息的目的地址为所述消息的源地址;所述回复消息的源地址与所述消息的目的地址是同基的,并且所述回复消息的源地址可以直接是所述消息的目的地址。在这种情况下,所述步骤32可以直接是:按照所述回复消息确定新地址。
[0221]在步骤31中,所述回复消息中含有相应的激活信息。相应地,所述步骤32是:根据所述消息的目的地址的AddrBase和所述激活信息确定新地址。例如,将所述消息的目的地址的AddrBase作为所述新地址的AddrBase,将所述激活信息作为新地址的AddrHome。
[0222]下面以{machao登入了在HSvr-D中的源账户,使该源账户处于激活状态}为背景举例。
[0223]例3.1:liubei到东吴招亲,其联系地址更换为双域跨域码LiubeiOOutlook.comiqq.com。machao由于戍边,尚不知道Iiubei的联系地址变化,其号码簿里记录的Iiubei的联系地址还是Iiubei寄居曹营时使用的双域跨域码LiubeiOOutlook.comil63.com。machao给Iiubei发消息的过程如下:
[0224]步骤3-101至步骤3-104、同步骤1-101至步骤1_104。[0225]步骤3-105、HSvr-D收到所述回复消息后,根据该回复消息的源地址LiubeiOOutlook.comil63.com 的 AddrBase 值 LiubeiOOutlook.com和所携带的激活信息 qq.com得到新地址 LiubeiOOutlook.comiqq.com。
[0226]步骤3-106, HSvr-D将所述消息的目的地址更新为所述新地址LiubeiOOutlook.comiqq.com,重新发送该消息,即,即将该消息发送给所述新地址归属的HSvr_A。
[0227]步骤3-107、同步骤 1-203。
[0228]在例3.1中,如果保证所述回复消息中的激活信息为有效的AddrHome值,则可以将所述步骤3-105和所述步骤3-106合并为一个步骤=HSvr-D收到所述回复消息后,将所述消息的目的地址的AddrHome值更新为所述激活信息qq.com,重新发送该消息。
[0229]考虑到一个HSvr会在同一时间会有很多消息等待处理,因此,较佳地,一个账号可以进一步包括发件箱属性。在一个账户发送消息时,将要发送的消息保存在发件箱中。在一个消息发送出去后,如果接收到一个携带了激活信息的回复消息,则可以将本次发送操作视作异常。而后,根据该回复消息的源地址的AddrBase值和所携带的激活信息得到新地址;根据所述回复消息的目的地址确定相应的账户,并从该账户的发件箱中查找收件人为所述回复消息的源地址的消息,将所查找到的消息的收件人更新为所述新地址,而后再发送该消息。
[0230]例如,在步骤3-102中,HSvr-D在将所述消息发送给HSvr-Β时,还在machao的账户的发件箱里保存该消息。相应地,在步骤3-106中,HSvr-D根据所述回复消息的目的地址machaoOgmail.com,找到machao的账户,从machao的账户的发件箱里查找收件人为所述回复消息的源地址LiubeiOOutlook.comil63.com的消息,将所找到的消息的目的地址更新为所述新地址LiubeiOOutlook.comiqq.com,重新发送该消息。
[0231]例3.2:liubei到东吴招亲,其联系地址更换为双域跨域码LiubeiOOutlook.comiqq.com。machao由于戍边,尚不知道liubei的联系地址变化,其号码簿里记录的liubei的联系地址还是liubei寄居曹营时使用的双域跨域码LiubeiOOutlook.comil63.com。machao给liubei发消息的过程如下:
[0232]步骤3-201至步骤3-205、同步骤1-101至步骤1-105。
[0233]步骤3-206、maochao的客户端收到所述回复消息后,根据该回复消息的源地址LiubeiiOutlook.comil63.com 的 AddrBase 值 LiubeiOOutlook.com 和所携带的激活信息qq.com 得到新地址 LiubeiOOutlook.comiqq.com。
[0234]步骤3-207,maochao的客户端将所述消息的目的地址更新为所述新地址LiubeiOOutlook, comiqq.com,重新发送该消息,即,即将该消息发送给HSvr-D。
[0235]步骤3-208、同步骤 1-202。
[0236]步骤3-209、同步骤 1-203。
[0237]在例3.2中,如果保证所述回复消息中的激活信息为有效的AddrHome值,则可以将所述步骤3-106和所述步骤3-107合并为一个步骤maochao的客户端收到所述回复消息后,将所述消息的目的地址的AddrHome值更新为所述激活信息qq.com,重新发送该消
肩、O
[0238]在步骤31中,所述回复消息中含有相应的激活信息。相应地,所述步骤32进一步是步骤32A:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,结束。
[0239]在步骤31中,所述回复消息中含有相应的激活信息。相应地,所述步骤32进一步是步骤32B:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,根据所述消息的目的地址的AddrBase值来确定新地址。
[0240]所述消息的目的地址的AddrBase值是一个⑶ID,在步骤32B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:直接将该消息的目的地址的AddrBase值作为新地址。
[0241]例3.3:machao 号码簿里记录的 guanyunchang 的联系地址是 guanycOOutlook.comil63.com,而guanyunchang在过五关斩六将之后,又回到了 Iiubei的阵营,并且将联系地址更新为guanycOOutlook.com。这样,machao给guanyunchang发消息的过程如下:
[0242]步骤3-301至步骤3-304、同步骤1_301至步骤1_304。
[0243]步骤3-305、HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,将所述回复消息的源地址guanyc@0utlook.comil63.com的 AddrBase 值 guanycOOutlook.com 作为新地址。
[0244]步骤3-306, HSvr-D将所述消息的目的地址更新为所述新地址guanycOOutlook.com,重新发送该消息,即将该消息发送给所述新地址归属的HSvr-C。
[0245]步骤3-307、HSvr-C 收到所述消息后,根据 AccountAddr 值 guanycOOutlook.com确定目标账户;由于所确定的目标账户的ActiveAddrHome值为Outlook, com,与其AddrHome值Outlook, com 一致,因此,确认出该目标账户处于激活状态,于是,将所述消息终结于该目标账户。
[0246]例3.4:machao 号码簿里记录的 guanyunchang 的联系地址是 guanycOOutlook.comil63.com,而guanyunchang在过五关斩六将之后,又回到了 Iiubei的阵营,并且将联系地址更新为guanycOOutlook.com。这样,machao给guanyunchang发消息的过程如下:
[0247]步骤3-401至步骤3-405、同步骤1-301至步骤1-305。
[0248]步骤3-406、maochao的客户端收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,将所述回复消息的源地址guanyc@0utlook.comil63.com 的 AddrBase 值 guanycOOutlook.com 作为新地址。
[0249]步骤3-407,maochao的客户端将所述消息的目的地址更新为所述新地址guanycOOutlook, com,重新发送该消息,即,即将该消息发送给HSvr_D。
[0250]步骤3-408、HSvr-D收到所述消息后,判断消息的目的地址guanycOOutlook.com的AddrHome值Outlook, com指向HSvr-C,于是将该消息发送给HSvr-C。
[0251]步骤3-409、HSvr-C 收到所述消息后,根据 AccountAddr 值 guanycOOutlook.com确定目标账户;由于所确定的目标账户的ActiveAddrHome值为Outlook, com,与其AddrHome值Outlook, com 一致,因此,确认出该目标账户处于激活状态,于是,将所述消息终结于该目标账户。
[0252]所述消息的目的地址的AddrBase值是一个掩域E-mail地址。相应地,在步骤32B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:解码该掩域E-mail地址得到对应的E-mail地址,将解码得到的E-mail地址作为所述新地址。[0253]对于所提到的双域跨域码,可以将其编码为掩域跨域码形式。以{用两个连续的下划线:“—”作为at替代码}为例。这样,对于CDAddr值guanycOOutlook.comil63.com,经过编码后得到的是形式为guanyc—Outlook.comil63.com的掩域跨域码。
[0254]如果将上面的所有双域跨域码都等同替换为对应的掩域跨域码,则所述步骤
3-305进一步是=HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,对所述回复消息的源地址guanyc—Outlook.comil63.com的AddrBase 值 guanyc—Outlook, com 进行解码得到对应的 Enail 地址 guanycOOutlook.com,将 guanycOOutlook.com 作为新地址。
[0255]所述消息的目的地址的AddrBase值是一个电话号码,在步骤32B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:将该电话号码对应的影码作为所述新地址。
[0256]例如,用电话号码“8613923812365”置换上述的“guanyc@0utlook.com”,则所述步骤3-305进一步是=HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,将所述回复消息的源地址86139238123650163.com的AddrBase 值 8613923812365 对应的影码 86*139*23812365 作为新地址。
[0257]在步骤33中,在发送所述消息之前,还可以进一步将该消息设置为强制终结消息。这样,就可以将所述消息锁定到该消息的目的地址对应的账户。
[0258]例如,在步骤3-106中,HSvr-D在重新发送所述消息前,还在消息体中插入强制终结标记“ForceEnd”,以将该消息设置为强制终结消息。相应地,所述步骤3-107是=HSvr-A收到所述消息后,根据AccountAddr值LiubeiOOutlook.comiqq.com确定目标账户;由于所述消息被标记为强制终结消息,因此,直接将该消息终结于该目标账户。
[0259]在步骤31中,所述消息进一步是用于获取目标账户的属性数据的消息,并且该消息被标记为强制终结消息。
[0260]例如,所述步骤3-101进一步是:machao客户端将消息的目的地址设置为LiubeiOOutlook.comil63.com,消息的源地址设置为machaoOgmail.com,在消息体中包括请求目标账户激活信息的命令码:GetActiveAddrHome,以及强制终结标记:“ForceEnd”,然后将该消息发送给HSvr-D。相应地,所述步骤3-103进一步是:HSvr_B收到所述消息后,根据AccountAddr值LiubeiOOutlook.comil63.com确定目标账户,由于所述消息被标记为强制终结消息,且相应的命令码为GetActiveAddrHome,因此执行步骤3-104。
[0261]在步骤31中,所述回复消息中没有所述激活消息,例如,在将一个消息发送出去后,没有接收到相应的含有激活信息的回复消息,而是接收到一个含有表示“目标账户不存在”的原因值的回复消息,这时,在步骤32中,可以直接根据所述消息的目的地址的AddrBase值来确定新地址。
[0262]本发明还提供一种地址自动更新方法,通过该方法,在发现地址列表中相应地址变化后,可以对该地址进行自动更新,从而免去地址列表维护的麻烦。
[0263]一般地,所述地址列表是号码薄。当然,所述地址列表也可以是一个路由表。
[0264]如图4所示,为本发明地址列表自动更新方法实施方式流程图。在该实施方式中:
[0265]首先在步骤41、在将一个消息发送出去后,接收回复消息。
[0266]步骤42、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。[0267]步骤43、根据所述消息的目的地址从地址列表中确定对应的记录,将该记录的地址更新为所述新地址。
[0268]通常情况下,所述回复消息中携带有目的地址和源地址。一般地,所述回复消息的目的地址为所述消息的源地址;所述回复消息的源地址与所述消息的目的地址是同基的,并且所述回复消息的源地址可以直接是所述消息的目的地址。在这种情况下,所述步骤42可以直接是:按照所述回复消息确定新地址。
[0269]在步骤41中,所述回复消息中含有相应的激活信息。相应地,所述步骤42是:根据所述消息的目的地址的AddrBase和所述激活信息确定新地址。例如,将所述消息的目的地址的AddrBase作为所述新地址的AddrBase,将所述激活信息作为新地址的AddrHome。
[0270]在步骤43中,如果根据所述消息的目的地址从所述地址列表中无法确定对应的记录,还可以进一步根据所述消息的目的地址的AddrBase值来确定对应的记录。
[0271]一般地,在HSvr中,所述号码薄是针对不同帐户分别设置的号码薄,即每个账户可以拥有独立的号码薄。例如,在HSvr里,在一个账户信息中还包括号码薄列表属性,通过该列表属性保存该账户的号码薄信息。这种情况下,在确定了相应的账户后,即可得到规模较小的号码薄列表,从而提高号码薄检索效率。
[0272]实际当中,在HSvr中,所述号码薄也可以是针对所有账户设置的公共号码薄。这种情况下,HSvr 一般地将该号码薄作为一个路由列表来使用。
[0273]下面举例进行说明。
[0274]下面以{machao登入了在HSvr-D中的源账户,使该源账户处于激活状态}为背景举例。
[0275]所述方法由HSvr实施,相应的,在步骤43中,在确定号码薄记录时进一步根据所述消息的源地址进行。
[0276]例4.1:该例子中,在HSvr里的账户信息中还包括号码薄列表属性。Iiubei到东吴招亲,其联系地址更换为双域跨域码LiubeiOOutlook.comiqq.com。machao由于戍边,尚不知道Iiubei的联系地址变化,其号码簿里记录的Iiubei的联系地址还是Iiubei寄居曹营时使用的双域跨域码LiubeiOOutlook.comil63.com。machao给Iiubei发消息时,执行如下流程:
[0277]步骤4-101至步骤4-105、同步骤3-101至步骤3-105。
[0278]步骤4-106, HSvr-D根据所述回复消息的目的地址machaoOgmail.com和源地址LiubeiOOutlook.comil63.com,确定指定账户的对应号码薄记录,将所确定的记录的联系地址更新为新地址LiubeiOOutlook.comiqq.com。例如,根据所述回复消息的目的地址machaoigmail.com确定machao的账户,在该账户中,根据所述回复消息的源地址LiubeiOOutlook.comil63.com查找对应的号码薄记录,将所确定的记录的联系地址更新为新地址LiubeiiOutlook.comiqq.com。
[0279]在步骤4-106之后,还可以进一步包括步骤4-107和步骤4_108。
[0280]所述步骤4-107是:HSvr_D向machao的客户端发送地址更新指令,指令中包括待更新地址的AddrBase值LiubeiOOutlook.com和所述激活信息qq.com。
[0281]所述步骤4-108是:macha0的客户端收到所述地址更新指令后,根据待更新地址的AddrBase值LiubeiOOutlook.com查找对应的号码薄记录,将查找到的号码薄记录中对应地址的AddrHome值更新为所述激活信息qq.com。
[0282]如果在HSvr中,所述号码薄由该HSvr中的多个账户所共同拥有,则所述步骤
4-106进一步是:HSvr_D直接根据所述回复消息的源地址LiubeiOOutlook.comil63.com,从所述号码薄中确定对应的号码薄记录,将所确定的记录的联系地址更新为新地址LiubeiiOutlook.comiqq.com。
[0283]例4.2:liubei到东吴招亲,其联系地址更换为双域跨域码LiubeiOOutlook.comiqq.com。machao由于戍边,尚不知道liubei的联系地址变化,其号码簿里记录的liubei的联系地址还是liubei寄居曹营时使用的双域跨域码LiubeiOOutlook.comil63.com。machao给liubei发消息时,执行如下流程:
[0284]步骤4-201至步骤4-206、同步骤3_201至步骤3_206。
[0285]步骤4-207,maochao的客户端根据回复消息的源地址LiubeiOOutlook.comil63.com查找对应的号码薄记录,将所确定的记录的联系地址更新为新地址LiubeiOOutlook.comiqq.com。
[0286]如果在HSvr里的账户信息中还包括号码薄列表属性,则在步骤4_207之后,还可以进一步包括步骤4-208和步骤4-209。
[0287]所述步骤4-208是:machao的客户端向HSvr-D发送地址更新指令,指令中包括待更新地址的AddrBase值LiubeiOOutlook.com和所述激活信息qq.com。
[0288]所述步骤4-209是:HSvr_D收到所述地址更新指令后,在machao的号码薄中,根据待更新地址的AddrBase值LiubeiOOutlook.com查找对应的号码薄记录,将查找到的号码薄记录中对应地址的AddrHome值更新为所述激活信息qq.com。
[0289]在步骤41中,所述回复消息中含有相应的激活信息。相应地,所述步骤42进一步是步骤42A:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,结束。
[0290]在步骤41中,所述回复消息中含有相应的激活信息。相应地,所述步骤42进一步是步骤42B:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,根据所述消息的目的地址的AddrBase值来确定新地址。
[0291]所述消息的目的地址的AddrBase值是一个⑶ID。在步骤42B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:直接将该消息的目的地址的AddrBase值作为新地址。
[0292]例4.3:该例子中,在HSvr里的账户信息中还包括号码薄列表属性。machao号码簿里记录的 guanyunchang 的联系地址是 guanycOOutlook.comil63.com,而 guanyunchang在过五关斩六将之后,又回到了 liubei的阵营,并且将联系地址更新为guanyc@Outlook.com。这样,machao给guanyunchang发消息时,执行如下流程:
[0293]步骤4-301至步骤4-305、同步骤3_301至步骤3_305。
[0294]步骤4-306, HSvr-D根据所述回复消息的目的地址machaoOgmail.com和源地址guanyciOutlook.comil63.com,确定指定账户的对应号码薄记录,将所确定的记录的联系地址更新为所述新地址guanycOOutlook.com。例如,根据回复消息的目的地址machaoOgmail.com确定machao的账户,在该账户中,根据回复消息的源地址guanycOOutlook.comil63.com查找对应的号码薄记录,将查找到的记录的联系地址更新为所述新地址guanyciOutlook.com。
[0295]在步骤4-306之后,还可以进一步包括步骤4_307和步骤4_308。
[0296]所述步骤4-307是:HSvr_D向machao的客户端发送地址更新指令,指令中包括待更新地址的AddrBase值guanycOOutlook.com和所述激活信息:空值null。
[0297]所述步骤4-308是:macha0的客户端收到所述地址更新指令后,根据待更新地址的AddrBase值guanycOOutlook.com查找对应的号码薄记录,在判断出所述激活信息为null时,将查找到的号码薄记录中对应地址的AddrHome部分删除,即,仅将所述对应地址的AddrBase部分作为新的地址。
[0298]例4.4:machao 号码簿里记录的 guanyunchang 的联系地址是 guanycOOutlook.comil63.com,而guanyunchang在过五关斩六将之后,又回到了 Iiubei的阵营,并且将联系地址更新为guanycOOutlook.com。这样,machao给guanyunchang发消息时,执行如下流程:
[0299]步骤4-401至步骤4-406、同步骤3_401至步骤3_406。
[0300]步骤4-407, maochao的客户端根据所述回复消息的源地址guanycOOutlook.comil63.com查找对应的号码薄记录,将查找到的记录的联系地址更新为所述新地址guanyciOutlook.com。
[0301]如果在HSvr里的账户信息中还包括号码薄列表属性,则在步骤4_407之后,还可以进一步包括步骤4-408和步骤4-409。
[0302]所述步骤4-408是:machao的客户端向HSvr-D发送地址更新指令,指令中包括待更新地址的AddrBase值guanycOOutlook.com和所述激活信息:空值null。
[0303]所述步骤4-409是:HSvr_D收到所述地址更新指令后,在machao的号码薄中,根据待更新地址的AddrBase值guanycOOutlook.com查找对应的号码薄记录,在判断出所述激活信息为null时,将查找到的号码薄记录中对应地址的AddrHome部分删除,即,仅将所述对应地址的AddrBase部分作为新的地址。
[0304]所述消息的目的地址的AddrBase值是一个掩域E-mail地址,在步骤42B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:解码该掩域E-mail地址得到对应的E-mail地址,将解码得到的E-mail地址作为所述新地址。
[0305]对于所提到的双域跨域码,可以将其编码为掩域跨域码形式。以{用两个连续的下划线:“—”作为at替代码}为例。这样,对于CDAddr值guanycOOutlook.comil63.com,经过编码后得到的是形式为guanyc—Outlook.comil63.com的掩域跨域码。
[0306]如果将上面的所有双域跨域码都等同替换为对应的掩域跨域码,则所述步骤4-305进一步是=HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,对所述回复消息的源地址guanyc—Outlook.comil63.com的AddrBase 值 guanyc—Outlook, com 进行解码得到对应的 Enail 地址 guanycOOutlook.com,将 guanycOOutlook.com 作为新地址。
[0307]所述消息的目的地址的AddrBase值是一个电话号码,在步骤42B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:将该电话号码对应的影码作为所述新地址。[0308]例如,用电话号码“8613923812365”置换上述的“guanycOOutlooL com”,则所述步骤4-305进一步是:HSvr-D收到所述回复消息后,根据该回复消息中携带的激活信息为null得知该激活信息无效,于是,将所述回复消息的源地址86139238123650163.com的AddrBase 值 8613923812365 对应的影码 86*139*23812365 作为新地址。
[0309]在步骤41中,所述消息进一步是用于获取目标账户的属性信息的消息,并且该消息被标记为强制终结消息。
[0310]例如,所述步骤4-101进一步是:machao客户端将消息的目的地址设置为LiubeiOOutlook.comil63.com,消息的源地址设置为machaoOgmail.com,在消息体中包括请求目标账户激活信息的命令码:GetActiveAddrHome,以及强制终结标记:“ForceEnd”,然后将该消息发送给HSvr-D。相应地,所述步骤4-103进一步是:HSvr_B收到所述消息后,根据AccountAddr值LiubeiOOutlook.comil63.com确定目标账户,由于所述消息被标记为强制终结消息,且相应的命令码为GetActiveAddrHome,因此执行步骤4-104。
[0311]在步骤41中,所述回复消息中没有所述激活消息,例如,在将一个消息发送出去后,没有接收到相应的含有激活信息的回复消息,而是接收到一个含有表示“目标账户不存在”的原因值的回复消息,这时,在步骤42中,可以直接根据所述消息的目的地址的AddrBase值来确定新地址。
[0312]特别地,所述消息的目的地址的AddrBase值是一个⑶ID,在步骤22B中,或在步骤32B中,或在步骤42B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:根据该⑶ID,通过迁移识别方法,获取该⑶ID对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址。关于迁移识别方法的更多描述,参加所述《⑶ID迁移方法》发明专利或申请号为201310362788.6的《消息寻址方法》发明专利。
[0313]特别地,所述消息的目的地址的AddrBase值是一个掩域E-mail地址,在步骤22B中,或在步骤32B中,或在步骤42B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:对该掩域E-mail地址解码得到一个邮址型⑶ID,根据该⑶ID,通过迁移识别方法,获取该⑶ID对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址。
[0314]特别地,所述消息的目的地址的AddrBase值是一个电话号码,在步骤22B中,或在步骤32B中,或在步骤42B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:根据该电话号码对应的影码,通过迁移识别方法,获取该影码对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址。
[0315]特别地,所述消息的目的地址的AddrBase值是一个电话号码,在步骤22B中,或在步骤32B中,或在步骤42B中,所述根据所述消息的目的地址的AddrBase值来确定新地址是:按照ENUM (Telephone Number Mapping)协议,将该电话号码转换为一个域名,通过域名解析,获取该域名指向的地址,将获取的地址作为所述新地址。
[0316]例如,对于电话号码8613316882012来说,先按照ENUM协议将该电话号码转换为域名2.1.0.2.8.8.6.1.3.3.1.6.8.el64.tld,而后解析该域名。如果预先在相应的DNS服务器中,将该域名指向zhaoyun的某个AccountAddr值,例如8613316882012@qq.com,那么,通过查找对应的DNS服务器,即可得到该域名所指向的AccountAddr值86133168820120qq.com。
[0317]关于ENUM的更多描述,参见RFC2916文档。
[0318]本发明还提供一种地址补偿方法,该方法通过设置地址列表,在执行地址补偿流程时,根据待补偿地址,从所述地址列表中选择左匹配地址,将选择到的左匹配地址作为补偿后的地址。如果查找不到左匹配的地址,则直接将该待补偿地址作为补偿后的地址。
[0319]字串A左匹配字串B是指,字串A中,存在左边的一部分或全部与字串B相等。例如,字串 abcdl23 左匹配 a、ab、abc、abed、abcdl、abcdl2、abcdl23 等字串,因此,字串abcdl23 是 a、ab、abc、abed、abcdl、abcdl2、abcdl23 等字串的左匹配字串。
[0320]为了更好地展示本发明的意义和用法,下面通过实施例5.1和5.2,对上述消息处理方法、新地址确定方法、消息发送方法、号码薄自动更新方法,以及所述地址补偿方法进行联合演示,以帮助技术人员理解和实施本发明。
[0321]在该实施例中,HSvr中还保存地址列表。
[0322]例5.1:在HSvr-D中还保存地址列表,以用于地址补偿。该地址列表中含有地址LiubeiOOutlook.com@163.com。Iiubei到东吴招亲,其联系地址更换为双域跨域码LiubeiiOutlook.comiqq.com。machao懒得去记Iiubei的跨域地址,其根据联系地址LiubeiiOutlook.com给Iiubei发消息的过程如下:
[0323]步骤5-101、machao客户端将消息的目的地址设置为LiubeiOOutlook.com,消息的源地址设置为machaoOgmail.com,并设置好相应的消息体,然后将该消息发送给HSvr-D。
[0324]步骤5-102、HSvr-D收到所述消息后,执行地址补偿流程:根据所述消息的目的地址LiubeiOOutlook.com,从所述地址列表中查找左匹配的地址,得到LiubeiOOutlook.comil63.com,用 LiubeiOOutlook.comil63.com 更新所述消息的目的地址。
[0325]步骤5-103、HSvr-D 判断消息的目的地址 LiubeiiOutlook.comil63.com 的AddrHome值163.com指向HSvr-Β,于是将该消息发送给HSvr-B。
[0326]步骤5-104、同步骤 1-103。
[0327]步骤5-105、同步骤 1-104。
[0328]步骤5-106、同步骤3-105 =HSvr-D收到所述回复消息后,根据该回复消息的源地址 LiubeiOOutlook.comil63.com 的 AddrBase 值 LiubeiOOutlook.com 和所携带的激活信息 qq.com 得到新地址 LiubeiOOutlook.comiqq.com。
[0329]步骤5-107、HSvr-D 根据所述回复消息的源地址 LiubeiOOutlook.comil63.com,查找所述地址列表,确定相应的记录,将所确定的记录的地址由LiubeiOOutlook.comil63.com 更新为新地址 LiubeiOOutlook.comiqq.com。
[0330]步骤5-108、同步骤3-106 =HSvr-D将所述消息的目的地址由LiubeiOOutlook.comil63.com更新为所述新地址LiubeiOOutlook.comiqq.com,重新发送该消息,即,即将该消息发送给所述新地址归属的HSvr-A。
[0331]步骤5-109、同步骤3-107:HSvr-A收到所述消息后,根据AccountAddr值LiubeiOOutlook, comiqq.com确定目标账户;由于所确定的目标账户的ActiveAddrHome值为qq.com,与其AddrHome值qq.com 一致,因此,确认出该目标账户处于激活状态,于是,将所述消息终结于该目标账户。[0332]所述地址列表也可以是针对不同帐户分别设置。例如,在HSvr里的账户信息中还包括号码薄列表属性,通过该号码薄列表属性保存相应账户的号码薄信息。参见例4.1和例 4.3。
[0333]本发明所述地址补偿方法也可用于客户端,以用于对用户输入检查和作相应的补m
\-ΖΧ ο
[0334]为了不影响用户的感受,移动终端号码薄里,通信地址部分还是只保存手机号码,而在HSvr的客户端里保存地址列表。当用户选择号码薄号码,或输入一个电话号码发起呼叫时,客户端将该号码作为待补偿地址,进行地址补偿,而后,根据补偿后的地址进行呼叫。
[0335]例5.2:machao客户端保存了地址列表,以用于地址补偿,该地址列表可以是本地保存的,也可以是在machao登入到HSvr-D里的账户后,从HSvr-D下载到本地临时保存的。该地址列表中含有地址8613316882012@0utlook.com。zhaoyun护liubei到东吴招亲,其联系地址更换为8613316882012@qq.com。machao输入或选择号码薄手机号码8613316882012来给zhaoyun发消息的过程如下:
[0336]步骤5-201、machao客户端获得被叫号码8613316882012后,执行地址补偿流程:根据被叫号码8613316882012,从所述地址列表中查找左匹配的地址,得到8613316882012i0utlook.com,将 8613316882012@0utlook.com 作为补偿后的地址。
[0337]步骤5-202、machao客户端将消息的目的地址设置为8613316882012@0utlook.com,消息的源地址设置为machaoOgmail.com,并设置好相应的消息体,然后将该消息发送给 HSvr-Dο
[0338]步骤5-203、HSvr-D 判断消息的目的地址 8613316882012i0utlook.com 的AddrHome值Outlook, com指向HSvr-C,于是将该消息发送给HSvr-C。
[0339]步骤5-204、HSvr-C 收到所述消息后,根据 AccountAddr 值 86133168820120Outlook, com确定目标账户,由于所确定的目标账户的ActiveAddrHome值为qq.com,不是该目标账户的AddrHome值Outlook, com.com,因此,确认出该目标账户处于休眠状态,于是,执行步骤5-205。
[0340]步骤5-205、HSvr_C构造回复消息,该回复消息的目的地址为machaoOgmail.com,源地址为8613316882012@0utlook.com,消息内容包括所述目标账户的激活信息qq.com ;将该回复消息发送给HSvr-D。
[0341]步骤5-206、HSvr-D收到所述回复消息后,根据该回复消息的目的地址machao@gmail.com,确定到machao的客户端,将该回复消息发送给maochao的客户端。
[0342]步骤5-207、maochao的客户端收到所述回复消息后,根据该回复消息的源地址8613316882012i0utlook.com 的 AddrBase 值 8613316882012 和所携带的激活信息 qq.com得到新地址 8613316882012@qq.com。
[0343]步骤5-208,maochao的客户端根据回复消息的源地址8613316882012@0utlook.com查找所述地址列表,确定相应的记录,将该记录的地址更新为新地址86133168820120qq.com。
[0344]步骤5-209、machao客户端将所述消息的目的地址由8613316882012@0utlook.com更新为8613316882012@qq.com,消息的源地址machao@gmail.com,相应的消息体不变,然后将该消息发送给HSvr-D。[0345]步骤5-210、HSvr-D收到所述消息后,判断消息的目的地址86133168820120qq.com的AddrHome值qq.com指向HSvr-A,于是将该消息发送给HSvr_A。
[0346]步骤5-211、HSvr-A 收到所述消息后,根据 AccountAddr 值 8613316882012iqq.com确定目标账户,由于所确定的目标账户的ActiveAddrHome值为qq.com,与其AddrHome值qq.com 一致,因此,确认出该目标账户处于激活状态,于是,将所述消息终结于该目标账户。
[0347]在步骤5-209中,如果所述消息体中含有用于指示获取一个账户的ClientIP属性值和ClientPort属性值的操作码GetIP_Port,则相应地,在步骤5-211中,将所述消息终结于该目标账户是指:
[0348]HSvr-A构造回复消息,该回复消息的目的地址为machaoOgmai 1.com,源地址为8613316882012iqq.com,消息内容包括所述目标账户的ClientIP属性值和ClientPort属性值,以及操作码GetIP_Port对应的应答操作码ResGetIP_Port ;将该回复消息发送给HSvr-D。HSvr-D收到所述回复消息后,根据该回复消息的目的地址machaoOgmail.com,确定到machao的客户端,将该回复消息发送给maochao的客户端。这样,maochao的客户端就可以根据获得的IP地址和端口号发起呼叫,从而和zhaoyun的客户端建立会话。
[0349]由上面说明可以看出,即使machao的号码薄里,相关联系人的地址发生了变化,通过本发明方法,machao仍然可以给相应的号码薄用户发送消息,并通过地址自动更新,及时更正machao的号码薄地址,从而可以有效地避免消息迂回问题。这样,对于Iiubei来说,他就可以任意选择自己在不同运营商中的账户来接收他人发送的消息,方便了 Iiubei的选择。
[0350]特别地,如果将Iiubei的GUID由liubeiOOutlook.com更换为一个影码,或一个电话号码,可以达到同样的技术效果。这样,人们期待已久的号码迁移携带问题就解决了。由此可见,本发明系列方法有利于对于促进通信行业的业务发展。
[0351]以上仅为本发明的较佳实施方式或实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之类,所作的任何修改、改进、等同替换等均应包含在本发明的保护范围之内。
【权利要求】
1.一种消息处理方法,其特征在于,在HSvr中登记账户的激活信息,用于指示一个账户的同基账户族中,哪一个账户处于激活状态;所述方法包括以下步骤: 步骤a、所述HSvr判断所述消息的目标账户是否处于激活状态,如果是,则执行步骤b ;否则,执行步骤c ; 步骤b、所述HSvr将该消息终结于该目标账户; 步骤C、所述HSvr按照消息的源地址回复所述目标账户的激活信息;或者所述HSvr按照消息的源地址回复异常消息。
2.根据权利要求1所述的方法,其特征在于,所述消息中进一步携带强制终结标志,用于指示该消息是否为强制终结消息; 相应地,在步骤a之前,进一步包括:所述HSvr判断所述消息是否为强制终结消息,如果是,则直接将所述消息终结于该消息的目标账户,然后结束。
3.一种新地址确定方法,其特征在于,所述方法包括以下步骤: a、将一个消息发送出去,接收回复消息。 b、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。
4.根据权利要求3所述的方法,其特征在于,所述回复消息中含有激活信息,相应地,步骤b进一步是:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,直接根据所述消息的目的地址的AddrBase值来确定新地址。
5.根据权利要求4所述的方法,其特征在于,所述消息的目的地址的AddrBase值是一个GUID,所述根据所述消息的目的地址的AddrBase值来确定新地址是:直接将该消息的目的地址的AddrBase值作为新地址; 或者,所述消息的目的地址的AddrBase值是一个掩域E-mail地址,所述根据所述消息的目的地址的AddrBase值来确定新地址是:解码该掩域E-mail地址得到对应的E-mail地址,将解码得到的E-mail地址作为所述新地址; 或者,所述消息的目的地址的AddrBase值是一个电话号码,所述根据所述消息的目的地址的AddrBase值来确定新地址是:将该电话号码对应的影码作为所述新地址; 或者,所述消息的目的地址的AddrBase值是一个⑶ID,所述根据所述消息的目的地址的AddrBase值来确定新地址是:根据该⑶ID,通过迁移识别方法,获取该⑶ID对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址; 或者,所述消息的目的地址的AddrBase值是一个掩域E-mail地址,所述根据所述消息的目的地址的AddrBase值来确定新地址是:对该掩域E-mail地址解码得到一个邮址型⑶ID,根据该⑶ID,通过迁移识别方法,获取该⑶ID对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址; 或者,所述消息的目的地址的AddrBase值是一个电话号码,所述根据所述消息的目的地址的AddrBase值来确定新地址是:根据该电话号码对应的影码,通过迁移识别方法,获取该影码对应的CeSvrDesc值,直接将所述消息的目的地址的AddrHome置换为所述CeSvrDesc值来得到所述新地址; 或者,所述消息的目的地址的AddrBase值是一个电话号码,所述根据所述消息的目的地址的AddrBase值来确定新地址是:按照ENUM协议,将电话号码转换为一个域名,通过域名解析,获取该域名指向的地址,将获取的地址作为所述新地址。
6.一种消息发送方法,其特征在于,所述方法包括以下步骤: a、将一个消息发送出去,接收回复消息。 b、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。 C、将所述消息的目的地址设置为所述新地址,发送该消息。
7.根据权利要求6所述的方法,其特征在于,所述回复消息中含有激活信息,相应地,所述步骤b进一步是:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,根据所述消息的目的地址的AddrBase值来确定新地址。
8.—种地址自动更新方法,其特征在于,所述方法包括以下步骤: a、在将一个消息发送出去后,接收回复消息。 b、按照所述回复消息,根据所述消息的目的地址的AddrBase确定新地址。 C、根据所述消息的目的地址确定对应的地址记录,将该记录的地址更新为所述新地址。
9.根据权利要求8所述的方法,其特征在于,所述回复消息中含有激活信息,相应地,所述步骤b进一步是:判断所述激活信息是否有效,如果有效,则直接将所述消息的目的地址的AddrHome置换为所述激活信息来得到新地址;否则,根据所述消息的目的地址的AddrBase值来确定新地址。
10.一种地址补偿方法,其特征在于,设置地址列表;在执行地址补偿流程时,根据待补偿地址,从所述地址列表中选择左匹配地址,判断是否存在左匹配地址,如果存在,则将选择到的左匹配地址作为补偿后的地址;否则,直接将该待补偿地址作为补偿后的地址。
【文档编号】H04L12/58GK103929505SQ201310500087
【公开日】2014年7月16日 申请日期:2013年10月23日 优先权日:2013年1月11日
【发明者】王正伟 申请人:王正伟
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1