CN103812760A - 同基账户通知机制实现方法 - Google Patents
同基账户通知机制实现方法 Download PDFInfo
- Publication number
- CN103812760A CN103812760A CN201310501013.2A CN201310501013A CN103812760A CN 103812760 A CN103812760 A CN 103812760A CN 201310501013 A CN201310501013 A CN 201310501013A CN 103812760 A CN103812760 A CN 103812760A
- Authority
- CN
- China
- Prior art keywords
- account
- hsvr
- com
- value
- attribute
- 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.)
- Pending
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明公开一种同基账户通知机制实现方法,该方法通过在HSvr中登记一个账户相应的同基账户信息,在该账户发生相关变化,或发生相关事件时,按照登记的所述同基账户信息向对应的其它HSvr发送通知消息,以便相应的同基账户根据需要执行约定的操作,从而达到一个同基账户族中所有同基账户间相关变化联动的效果,这样,极大地方便IUsr对其多个同基账户的管理。本发明还公开一种同基账户互操作方法,按照该方法,通过一个同基账户可以操作该账户的同基账户族中其它的同基账户,这样,可以极大地方便IUsr管理自己的多个同基账户。
Description
技术领域
本发明涉及互联网通信,更确切地说涉及互联网中同基账户间通知机制的实现方法,以及同基账户间互操作的方法。
背景技术
在互联网通信中,涉及到全球统一身份(GUID,Global Unified Identity),所述GUID包括两部分:归属码(HCode,Home Code)和用户码(UCode,User Code)。其中,HCode指示该GUID,也即该GUID对应的互联网用户(IUsr,Internet User)归属于即时通信网络(IMN,Instant Messenger Network)中哪一个即时通信系统(IMS,Instant Messenger System)的哪一个归属服务器(HSvr,Home Server);UCode用于指示一个HCode下不同的GUID或IUsr。通过建立HCode和HSvr的对应关系,根据一个HCode可以获得所指向的一个HSvr。
影码作为一种特殊的GUID,其对应的HCode是一个归属二元组(H2T,Home Two-Tuple)。所述H2T包括两部分:国家码(CC,Country Code)和国内商码(NBC,National Business Code),即(CC,NBC)或CC*NBC。影码的表示形式一般为:CC*NBC*UCode,这里*为影码指示符或分隔符。
更多信息,参见申请号为201210041577.8或201310037232.X的《通信方法和系统》发明专利,以及申请号为201210041677.0或201310049772.X的《影码寻址方法》发明专利。
关于IMN组网图,参见图3所示。在该图中:
A服务商(SP-A)的HSvr为HSvr-A,其中,注册有用户A(UsrA)和用户X(UsrX);
B服务商(SP-B)的HSvr为HSvr-B,其中,注册有用户B(UsrB)和用户Y(UsrY);
C服务商(SP-C)的HSvr为HSvr-C,其中,注册有用户C(UsrC)和用户Z(UsrZ);
D服务商(SP-D)的HSvr为HSvr-D,其中,注册有用户D(UsrD)和用户O(UsrO)。
例如,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等等。
一个GUID归属的HSvr为该GUID的迁移源HSvr(MSSvr,Migration Source HSvr)。根据一个GUID在其MSSvr中注册的账户为该GUID的源账户。例如,根据GUID值liubeiOutlook.com,在HSvr-C中注册的账户为liubeiOutlook.com的源账户。在一个GUID的MSSvr之外的HSvr中,根据该GUID注册的账户为该GUID的迁移账户,该HSvr为该GUID的迁移目的HSvr(MDSvr,Migration Destination HSvr)。例如,根据GUID值liubeiOutlook.com,在HSvr-A、HSvr-B和HSvr-D中的注册的账户都为liubeiOutlook.com的迁移账户。关于GUID迁移的更多描述,参见申请号为201310079118.3的《支持GUID迁移的网络及相关消息处理方法》发明专利。
GUID相同的账户为基于该GUID的同族账户,即,一个GUID的源账户与其所有的迁移账户共同组成该GUID的账户族。在一个GUID的账户族中,该GUID为该账户族中所有的迁移账户的根。一个IUsr的账户族为该IUsr的GUID的账户族。所述源账户为所述迁移账户的源账户。所述迁移账户为所述源账户的迁移账户。
跨域地址码(CDAddr,Cross-domain Address)简称跨域码,是一个跨域地址二元组,包括跨末HSvr信息(CeSvrDesc,Cross-end HSvr Description)和本基GUID(BaseGUID,The Base GUID)两部分。其中,CeSvrDesc用于指示该CDAddr对应的跨末HSvr,可以是该HSvr的主机IP地址或主机域名,一般地,是该HSvr所拥有的任意一个HCode。参见申请号为201310073334.7的《辅助寻址方法》发明专利。
后面以一个CeSvrDesc是对应HSvr所拥有的一个HCode为例,但不用于限定本发明。
一般地,一个CDAddr可以写作(CeSvrDesc,BaseGUID)形式,或者写作BaseGUID$CeSvrDesc的形式,其中,“$”是分隔符。
E-mail地址由三部分组成:用户名域名。本发明将BaseGUID为E-mail地址的CDAddr称为邮址跨域码。
CeSvrDesc为域名的邮址跨域码称为双域名跨域码,简称双域跨域码或双域CDAddr。
一个CDAddr也可以写作BaseGUIDCeSvrDesc的形式,其中,“”是分隔符。这样,从该形式的CDAddr尾部向前查找第一个“”分隔符,截取该分隔符后边的部分得到对应的CeSvrDesc,截取该分隔符前边的部分得到对应的BaseGUID。例如,在双域跨域码guanycOutlook.com163.com中,BaseGUID为guanycOutlook.com,CeSvrDesc为163.com。
实际当中,会出现这种情况:liubei在登入某一账户后,希望原来登入的其它账户自动退出,或者,liubei在将某一账户激活后,希望原来激活的其它账户被冻结,这种情况下,liubei需要分别登录到在HSvr-A、HSvr-B和HSvr-D中的账户来完成相应账户的激活与冻结操作,显然,这样这很麻烦。
实际当中,还会出现这种情况:不同的网站有不同的用户群,liubei希望尽快让尽量多的人分享自己的一条消息,liubei需要登入到不同的网站来分别发布这条消息。例如,liubei需要将一条消息发布到不同网站的微博上,或将一篇博文发到不同网站的博客上,这时,liubei就要分别登入到对应的网站来发布相应的信息。这也很麻烦。
实际当中,还存在这种情况:liubei需要更改自己的多个账户的个性签名,或者查看多个账户的收件箱收到的消息,那么,liubei需要分别登录到在HSvr-A、HSvr-B和HSvr-D中的账户来完成这些操作。这也很麻烦。
对于liubei来说,拥有多个账户时,如何才能方便、高效地管理这些账户呢?这是未来网络要解决的问题。
发明内容
有鉴于此,本发明公开一种同基账户通知机制实现方法,该方法通过在HSvr中登记一个账户相应的同基账户信息,在该账户发生相关变化,或发生相关事件时,按照登记的所述同基账户信息向对应的其它HSvr发送通知消息,以便相应的同基账户根据需要执行约定的操作,从而达到一个同基账户族中所有同基账户间相关变化联动的效果,这样,极大地方便IUsr对其多个同基账户的管理。
一种同基账户通知机制实现方法,其特征在于,在HSvr中登记一个账户相应的同基账户信息;所述方法包括以下步骤:
a、HSvr获取当前账户相应的同基账户的AddrHome;
b、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送通知消息,通知中包括所述当前账户的AddrBase和相应的通知内容;
c、所述其它HSvr收到所述通知消息后,根据所述当前账户的AddrBase确定相应的同基账户;将所述通知消息终结于所确定的同基账户。
所述通知内容是所述当前账户登入/激活;相应地,在步骤c中,所述将所述通知消息终结于所确定的同基账户是指:在所确定的同基账户处于登入状态/激活状态时,将所确定的同基账户退出/冻结。
所述通知内容是属性值更新,包括属性指示值和属性新值;相应地,在步骤c中,所述将所述通知消息终结于所确定的同基账户是指:针对所确定的同基账户,将所述属性指示值所指定的属性更新为所述属性新值。
所述通知内容是增加条目/删除条目,包括属性指示值和新条目/条目标识;相应地,在步骤c中,所述将所述通知消息终结于所确定的同基账户是指:针对所确定的同基账户,在所述属性指示值所指定的属性中,增加所述新条目/删除所述条目标识所对应的条目。
一种同基账户互操作方法,其特征在于,在HSvr中登记一个账户相应的同基账户信息;所述方法包括以下步骤:
a、HSvr获取当前账户相应的同基账户的AddrHome;
b、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送操作指令,指令中包括所述当前账户的AddrBase和相应的操作参数。
c、所述其它HSvr收到所述操作指令后,根据所述当前账户的AddrBase确定相应的同基账户;按照所述操作参数针对所确定的同基账户进行操作。
所述操作参数包括登出操作码/冻结操作码,用于指示相应同基账户登出/冻结;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:在所确定的同基账户处于登入状态/激活状态时,将所确定的同基账户退出/冻结。
所述操作参数包括属性设置操作码、属性指示值和属性新值;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:针对所确定的同基账户,将所述属性指示值所指定的属性设置为所述属性新值。
所述操作参数包括增加条目操作码/删除条目操作码,属性指示值和新条目/条目标识;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:针对所确定的同基账户,在所述属性指示值所指定的属性中,增加所述新条目/删除所述条目标识所对应的条目。
所述操作参数包括获取属性操作码和属性指示值;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:针对所确定的同基账户,获取所述属性指示值所指定的属性的值,将获取的值回复给所述当前账户。
一种账户状态联动变化方法,其特征在于,在HSvr中登记一个账户相应的同基账户信息;所述方法包括以下步骤:
a、HSvr在当前账户状态发生变化后,获取当前账户相应的同基账户的AddrHome;所述状态是登入状态或激活状态;
b、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送联动消息,消息中包括所述当前账户的AddrBase和联动指示信息;所述联动消息是通知消息或操作指令;
c、所述其它HSvr收到所述联动消息后,根据所述当前账户的AddrBase确定相应的同基账户;根据所述联动指示信息,将所确定的同基账户退出/冻结。
通过本发明提供的方法,使得IUsr可以灵活地管理自己的多个同基账户,从而极大地方便了IUsr。
附图说明
图1所示,为本发明同基账户通知机制实现方法实施方式流程图。
图2所示,为本发明同基账户互操作方法实施方式流程图。
图3所示,为IMN组网图。
具体实施方式
为了便于IUsr管理自己的多个账户,提高账户管理效率,本发明提供了同基账户通知机制实现方法,通过该方法,使得一个账户在有相应的变化或事件发生时,能及时通知到相应的同基账户,以便相应的同基账户做出有效的反应。
每个账户都有一个账户地址(AccountAddr,Account Address)。在一个GUID的账户族中,源账户的AccountAddr为该GUID,迁移账户的AccountAddr为该迁移账户对应的CDAddr,是该GUID的某一CDAddr。
本发明以CDAddr写作BaseGUIDCeSvrDesc形式为例,但不用于限定本发明。
例如:
1、liubei根据GUID值liubeiOutlook.com在HSvr-C中注册了源账户,对应的AccountAddr为liubeiOutlook.com;根据GUID值liubeiOutlook.com分别在HSvr-A、HSvr-B和HSvr-D中注册了迁移账户,对应的AccountAddr分别为:liubeiOutlook.comqq.com、liubeiOutlook.com163.com和liubeiOutlook.comgmail.com。
2、guanyunchang根据GUID值guanycOutlook.com在HSvr-C中注册了源账户,对应的AccountAddr为guanycOutlook.com;根据GUID值guanycOutlook.com,分别在HSvr-A和HSvr-B中注册了迁移账户,对应的AccountAddr分别为:guanycOutlook.comqq.com和guanycOutlook.com163.com。
3、zhaoyun根据在中国的手机号码8613316882012或影码86*133*16882012,分别在HSvr-A、HSvr-C和HSvr-D中注册了邮箱源账户,也即相应影码的迁移账户,对应的AccountAddr分别为:8613316882012qq.com、8613316882012Outlook.com和8613316882012gmail.com。
4、machao根据GUID值machaogmail.com在HSvr-D中注册了源账户,对应的AccountAddr为machaogmail.com。
每个地址都由一个地址基(AddrBase,Address Base)和一个地址归属(AddrHome,AddressHome)构成。当一个地址是一个GUID时,该地址的AddrBase是该GUID的UCode,该地址的AddrHome是该GUID的HCode;当一个地址是一个CDAddr时,该地址的AddrBase是该CDAddr的BaseGUID,该地址的AddrHome是该CDAddr的CeSvrDesc。
一个地址的AddrHome指向一个HSvr,则称该地址归属于该HSvr。
一个账户的AddrHome,是该账户的AccountAddr的AddrHome;一个账户的AddrBase,是该账户的AccountAddr的AddrBase。一个账户的AddrBase值为AB,则称该账户为基于AddrBase值AB的账户。例如,基于AddrBase值8613316882012的账户有8613316882012qq.com、8613316882012Outlook.com和8613316882012gmail.com等三个AccountAddr值对应的账户;基于AddrBase值liubeiOutlook.com的账户有liubeiOutlook.comqq.com,liubeiOutlook.com163.com和liubeiOutlook.comgmail.com等三个AccountAddr值对应的账户。
本发明称:AddrBase相同的地址为同基地址,AddrBase相同的账户称为同基账户。显然,一个账户族中所有的迁移账户是同基的。
基于一个AddrBase值的所有账户组成一个同基账户族,该同基账户族被称为基于该AddrBase值的同基账户族,该AddrBase值为该同基账户族的AddrBase值。
一个账户的同基账户族是基于该账户的AddrBase值的同基账户族。显然,每个账户属于该账户自己的同基账户族。
如图1所示,为本发明同基账户通知机制实现方法实施方式流程图。在该实施方式中,在HSvr中登记一个账户相应的同基账户信息。
一般地,一个账户信息中包括这些基本属性:AddrBase、AddrHome、Password、ClientIP和ClientPort。其中AddrBase和AddrHome构成该账户的AccountAddr。Password为该账户密码,ClientIP和ClientPort为该账户的在线信息,当该账户处于登入状态时,ClientIP和ClientPort对应该账户的客户端的IP地址和端口号,当该账户处于登出状态时,一般地,ClientIP和/或ClientPort为空值null或0。
一般地,HSvr在一个账户登录时可以获取对应客户端的IP地址和端口号,并将获取的IP地址和端口号保存在该账户的ClientIP和ClientPort属性中。
当所述客户端与HSvr建立TCP连接时,HSvr还可以用对应的连接标识,例如相应的套接口描述符(SktD,Socket Descriptor)来替代ClientIP和ClientPort属性,作为相应账户的在线信息。
本发明以{用客户端IP地址和端口号来作为相应账户的在线信息,并且当一个账户处于登出状态时,对应ClientIP和ClientPort为0}为例,但不用于限定本发明。
HSvr可以通过在账户信息中设置OtherAddrHomes属性,来保存一个账户的同基账户信息。例如,在HSvr-A中:
sunquan的账户信息为:AddrBase=sunquan;AddrHome=qq.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
zhouyu的账户信息为:AddrBase=zhouyu;AddrHome=qq.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
liubei的账户信息为:AddrBase=liubeiOutlook.com;AddrHome=qq.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes={163.com;gmail.com}。
guanyunchang的账户信息为:AddrBase=guanycOutlook.com;AddrHome=qq.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes={163.com}。
zhaoyun的账户信息为:AddrBase=8613316882012;AddrHome=qq.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes={Outlook.com;gmail.com}。
一个账户的OtherAddrHomes属性中相应的AddrHome值与该账户的AddrBase构成了该账户的相应同基账户的AccountAddr。例如,在liubei的账户信息中,在OtherAddrHomes属性里,记录了两个同基账户相应的AddrHome值:163.com和gmail.com,对应的AccountAddr分别为liubeiOutlook.com163.com和liubeiOutlook.comgmail.com。
如果一个账户的OtherAddrHomes属性为空值null,则说明该账户没有同基账户。
还例如,在HSvr-B中:
caocao的账户信息为:AddrBase=caocao;AddrHome=163.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
zhangliao的账户信息为:AddrBase=zhangliao;AddrHome=163.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
liubei的账户信息为:AddrBase=liubeiOutlook.com;AddrHome=163.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes={qq.com;gmail.com}。
guanyunchang的账户信息为:AddrBase=guanycOutlook.com;AddrHome=163.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes={qq.com}。
还例如,在HSvr-C中:
liubei的账户信息为:AddrBase=liubei;AddrHome=Outlook.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes=null。
guanyunchang的账户信息为:AddrBase=guanyc;AddrHome=Outlook.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
zhaoyun的账户信息为:AddrBase=8613316882012;AddrHome=Outlook.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes={qq.com;gmail.com}。
还例如,在HSvrD中:
machao的账户信息为:AddrBase=machao;AddrHome=gmail.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
liubei的账户信息为:AddrBase=liubeiOutlook.com;AddrHome=gmail.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes={qq.com;163.com}。
zhaoyun的账户信息为:AddrBase=8613316882012;AddrHome=gmail.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes={qq.com;Outlook.com}。
如果不考虑扩展性,在一个账户信息中,也可以用GUID属性和CeSvrDesc属性来替代AddrBase属性和AddrHome属性,这样,由GUID和CeSvrDesc构成该账户的AccountAddr。当CeSvrDesc为空值null时,说明对应的AccountAddr为一个GUID;当CeSvrDesc为一个有效的HCode值时,说明对应的AccountAddr为一个CDAddr。
例如,在HSvr-A中:
sunquan的账户信息为:GUID=sunquanqq.com;CeSvrDesc=null;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
zhouyu的账户信息为:GUID=zhouyuqq.com;CeSvrDesc=null;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes=null。
liubei的账户信息为:GUID=liubeiOutlook.com;CeSvrDesc=qq.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes={163.com;gmail.com}。
guanyunchang的账户信息为:GUID=guanycOutlook.com;CeSvrDesc=qq.com;Password=********;ClientIP=0;ClientPort=0;OtherAddrHomes={163.com}。
zhaoyun的账户信息为:GUID=8613316882012qq.com;CeSvrDesc=null;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes={Outlook.com;gmail.com}。或者,zhaoyun的账户信息为:GUID=8613316882012;CeSvrDesc=qq.com;Password=********;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes={Outlook.com;gmail.com}。
本发明以{在一个账户信息中,用AddrBase属性和AddrHome属性来存放该账户的AccountAddr}为例,但并不用于限定本发明。
还可以在账户信息中增加地址类型(AddrType,Address Type)属性,来指示相应账户的AccountAddr类型。例如:AddrType=1,表示对应的AccountAddr为邮址码;AddrType=2,表示对应的AccountAddr为影码;AddrType=3,表示对应的AccountAddr为主从码;AddrType=11,表示对应的AccountAddr为双域跨域码;AddrType=21,表示对应的AccountAddr为影码跨域码,即BaseGUID为影码的CDAddr;AddrType=31,表示对应的AccountAddr为主从码跨域码,即BaseGUID为主从码的CDAddr。
实际当中,通过解析一个AccountAddr,可以获得该AccountAddr的类型。例如,约定:1、主从码分隔符为“#”,影码分隔符为“*”;2、CDAddr的CeSvrDesc只能为域名。这样,对一个AccountAddr的解析过程如下:
一、当AccountAddr出现“”符号时,将最右边的“”符号之后的部分作为该AccountAddr的AddrHome,而后解析该AccountAddr的AddrBase:
当该AddrBase中含有“”时,说明AddrType=11;当该AddrBase中含有“*”时,说明AddrType=21;当该AddrBase中含有“#”时,说明AddrType=31。当该AddrBase中不含有“*”、“#”和“”之一时,说明AddrType=1。
二、当AccountAddr没有出现“”符号时,如果AccountAddr含有“*”,则AddrType=2;如果AccountAddr含有“#”,则AddrType=3。
这样,sunquanqq.com对应的AddrType为1,而LiubeiOutlook.comqq.com对应的AddrType为11。
根据一个AccountAddr,可以确定一个账户。例如:当liubei的登录帐号是其在HSvr-A中的账户的AccountAddr值liubeiOutlook.comqq.com时,HSvr-A判断liubeiOutlook.comqq.com归属于自己,因此,将liubeiOutlook.comqq.com作为一个AccountAddr值,并根据该AccountAddr值来确定相应的登录账户。
在一个HSvr中,根据一个AddrBase,可以确定一个或多个账户,当该HSvr只有一个HCode时,根据一个AddrBase可以确定一个账户。例如,当liubei的登录账号是其在HSvr-A中的账户的AddrBase值liubeiOutlook.com时,HSvr-A判断liubeiOutlook.com不归属于自己,因此,将liubeiOutlook.com作为一个AddrBase值,并根据AddrBase值liubeiOutlook.com来确定相应的登录账户。这种情况下,当HSvr-A只拥有一个HCode时,HSvr-A根据AddrBase值liubeiOutlook.com只能确定一个账户。
以{所有的GUID都是邮址码,所有的CDAddr都是双域跨域码}为例,HSvr从登录账号字符串的尾部向前查找第一个“”字符,截取该at符号后面的部分,得到一个HCode值,如果该HCode归属于该HSvr,则该登录账号归属于该HSvr。如果登录账号字符串中没有“”字符,则说明该登录账号是一个用户名,可能对应某个账户的AddrBase值。
在图1中,
首先在步骤11、HSvr获取当前账户相应的同基账户的AddrHome。
步骤12、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送通知消息,通知中包括所述当前账户的AddrBase和相应的通知内容。
步骤13、所述其它HSvr收到所述通知消息后,根据所述当前账户的AddrBase确定相应的同基账户;将所述通知消息终结于所确定的同基账户。
下面通过例子,展示所述通知机制的用途和用法。
一、所述通知内容是同基账户登入(Login),包括参数:通知类型(NotifyType)值Login。用于指示,相应账户登入。
HSvr可以在一个IUsr登入时启动所述通知流程。例如,HSvr在IUsr登录时,获取相应登录客户端的IP地址和端口号,根据登录账号确定对应的账户,并在对登录消息验证通过后,将所述客户端的IP地址和端口号保存在该账户的ClientIP和ClientPort属性中,而后启动通知流程。
例1.1.1:通过所述通知机制,实现登入账户自动登出的第一种方法。
例如,通过该方法,可以实现这样的技术效果:一个账户登入时,其同基账户中,处于登入状态的账户自动退出。
步骤1-1-101、HSvr-A收到客户端发送的携带了登录账号liubeiOutlook.com和相应登录密码的登录消息时,将登录账号liubeiOutlook.com作为AddrBase值,确定登录账户;在对登录消息中的登录密码验证通过后(例如,判断出所述登录密码与所确定的登录账户中保存的密码一致,该登录账户进入登入状态),获取该登录账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤1-1-102、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送通知消息,通知中包括所述登录账户的AddrBase值liubeiOutlook.com、通知内容{Login},即NotifyType=Login。
步骤1-1-103、HSvr-B和HSvr-D收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为Login,得知有一个账户登入,因此,在所确定的同基账户处于登入状态时,将所确定的同基账户退出。
这里,一个账户的ClientIP属性值不为0,可以视该账户处于登入状态。
将一个账户退出可以是:将该账户的ClientIP和ClientPort属性设置为0。实际当中,在将一个账户退出时,还可以进一步向该账户的客户端发送退出消息。
这样,当liubei在HSvr-A中登入后,liubei在HSvr-B和HSvr-D中的同基账户都处于登出状态,从而使一个同基账户族中只有一个账户处于登入状态。
二、所述通知内容是同基账户属性值更新(PropertyUpdate),包括参数:NotifyType值PropertyUpdate,属性指示值和属性新值。用于指示,相应账户的由所述属性指示值所指示的属性被更新为所述属性新值。
例1.2.1:通过所述通知机制,实现登入账户自动登出的第二种方法。
例如,通过该方法,可以实现这样的技术效果:一个账户登入时,其同基账户中,处于登入状态的账户自动退出。
步骤1-2-101、HSvr-A收到客户端发送的携带了登录账号liubeiOutlook.com和相应登录密码的登录消息时,获取登录客户端的IP地址和端口号;将登录账号liubeiOutlook.com作为AddrBase值,确定登录账户;在对登录消息中的登录密码验证通过后,获取该登录账户的同基账户的AddrHome值,得到163.com和gmail.com;将获取的IP地址和端口号保存在所述登录账户的ClientIP和ClientPort属性中。
步骤1-2-102、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送通知消息,通知中包括所述登录账户的AddrBase值liubeiOutlook.com、通知内容{PropertyUpdate,“ClientIP”,所述登录账户的ClientIP值}。即NotifyType=PropertyUpdate。
步骤1-2-103、HSvr-B和HSvr-D收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“ClientIP”,且属性新值不为0,得知有一个账户登入,因此,在所确定的同基账户处于登入状态时,将所确定的同基账户退出。
这样,当liubei在HSvr-A中登入后,liubei在HSvr-B和HSvr-D中的同基账户都处于登出状态,从而使一个同基账户族中只有一个账户处于登入状态。
可见,例1.2.1中通知内容{PropertyUpdate,“ClientIP”,所述登录账户的ClientIP值}等价于例1.1.1中通知内容{Login},起到宣示所述登录账户进入登入状态的作用。
实际当中,HSvr可以将处于登入状态的账户作为激活账户,将处于登出状态的账户作为休眠账户。
考虑到某些情况下,一个IUsr可能不登入任何账户,例如在该IUsr夜晚休息时。这种情况下,如果将登出账户视作休眠状态,则该IUsr就没有了激活账户。因此,可以采用其它方式来标识一个账户的激活状态。
对此,可以在账户信息中设置账户状态属性(AStatus,Account Status),来指示相应的账户是否为激活状态。其中,AStatus属性值为1,表示激活(Activation);AStatus属性值为0,表示休眠(Deactivation)。这样,通过将一个账户的AStatus属性设置为1,来将该账户激活,反之,将一个账户的AStatus属性设置为0,来将该账户冻结。例如,在HSvr-A中,将sunquan的账户的AStatus设置为1,将zhouyu的账户的AStatus设置为1,将liubei的账户的AStatus设置为1,将guanyunchang的账户的AStatus设置为0,将zhaoyun的账户的AStatus设置为1。
例1.2.2:通过所述通知机制,实现激活账户自动冻结的方法。
例如,通过该方法,可以实现这样的技术效果:一个账户由休眠状态被激活时,其同基账户族中,原来的激活账户自动冻结。
例如,liubei根据GUID值liubeiOutlook.com登入HSvr-A后,冻结其它同基账户的流程如下所示:
步骤1-2-201、HSvr-A在liubei登入时,将登录账户激活;获取该登录账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤1-2-202、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送通知消息,通知中包括所述登录账户的AddrBase值liubeiOutlook.com、通知内容{PropertyUpdate,“AStatus”,1}。
步骤1-2-203、HSvr-B和HSvr-D收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“AStatus”且属性新值为1,得知有一个账户激活,因此,在所确定的同基账户处于激活状态时,将所确定的同基账户冻结。
这样,当liubei在HSvr-A中的账户被激活后,在HSvr-B和HSvr-D中的同基账户都被冻结。从而使一个同基账户族中只有一个账户处于激活状态。
按照所述的激活账户自动冻结方法,在liubei登入HSvr-A时,在HSvr-B和HSvr-D中,liubei的账户都被冻结。这样,在他人根据AccountAddr值liubeiOutlook.com163.com将消息发送到163.com指向的HSvr-B时,或根据AccountAddr值liubeiOutlook.comgmail.com将消息发送到gmail.com指向的HSvr-D时,HSvr-B或HSvr-D都可以因为liubei的账户进入休眠状态而向消息的发送者回复异常消息,通过该异常消息,告诉消息发送者,“使用的AccountAddr值无效”,或“对应的账户进入休眠状态”。这样,消息发送者可以根据所述AccountAddr的AddrBase值liubeiOutlook.com,获取新的AccountAddr值,并根据新的AccountAddr值给liubei发送消息。
例如,在liubeiOutlook.com归属的HSvr中,设置GUID值liubeiOutlook.com面向HSvr-A的迁移,对应的CeSvrDesc值为qq.com,并且将该迁移激活,这样,按照迁移识别方法,根据GUID值liubeiOutlook.com可以获取对应的CeSvrDesc值qq.com,这样就可以得到新的AccountAddr值:liubeiOutlook.comqq.com。关于迁移识别方法的更多描述,参见申请号为201310362788.6的《消息寻址方法》发明专利。这样,liubei登入自己的任一账户,他人都可以联系到liubei。
同样,zhaoyun登入HSvr-A时,在HSvr-C和HSvr-D中,zhaoyun的账户都被冻结。这样,在他人根据AccountAddr值8613316882012Outlook.com将消息发送到Outlook.com指向的HSvr-C时,或根据AccountAddr值8613316882012gmail.com将消息发送到gmail.com指向的HSvr-D时,HSvr-C或HSvr-D都可以因为zhaoyun的账户进入休眠状态而向消息的发送者回复异常消息,通过该异常消息,告诉消息发送者,“使用的AccountAddr值无效”,或“对应的账户进入休眠状态”。这样,消息发送者可以根据所述AccountAddr的AddrBase值8613316882012,获取新的AccountAddr值,并根据新的AccountAddr值给zhaoyun发送消息。
例如,在8613316882012对应的影码86*133*16882012归属的HSvr中,设置该影码面向HSvr-A的迁移,对应的CeSvrDesc值为qq.com,并且将该迁移激活,这样,按照迁移识别方法,根据该影码可以获取对应的CeSvrDesc值qq.com,这样就可以得到该影码对应的影码CDAddr值:86*133*16882012qq.com,将86*133*16882012qq.com转换为叠加影码GUID,即可得到对应的AccountAddr值8613316882012qq.com。关于叠加影码GUID的更多描述,参见所述《支持GUID迁移的网络及相关消息处理方法》发明专利。这样,zhaoyun登入自己的任一账户,他人都可以联系到zhaoyun。
还例如,按照ENUM(Telephone Number Mapping)协议,可以将8613316882012转换为域名2.1.0.2.8.8.6.1.3.3.1.6.8.e164.tld,在相应的DNS服务器中,将该域名指向zhaoyun的激活的同基账户的AccountAddr值,例如8613316882012qq.com。这样,通过查找对应的DNS服务器,即可得到该域名所指向的AccountAddr值8613316882012qq.com。
关于ENUM的更多描述,参见RFC2916文档。
可见,通过本发明提供的同基账户通知机制实现方法,在一个IUsr选择了多个SP来提供服务时,该IUsr可以方便地管理自己的多个账户。特别地,该IUsr可以根据环境的需要,任意选择自己满意的SP来提供当前的服务。
实际当中,liubei可以通过移动终端或PC终端分别登入在不同HSvr中的账户。通过所述激活账户自动冻结方法,liubei可以随时选择自己的某一终端来作为激活的通信终端。
例1.2.3:liubei反复选择移动终端和PC终端作为激活的通信终端的应用场景:
第一阶段:liubei先通过移动终端,根据GUID值liubeiOutlook.com登入在HSvr-A中的账户。
步骤1-2-301、HSvr-A在liubei登入时,将登录账户激活;获取该登录账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤1-2-302、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送通知消息,通知中包括所述登录账户的AddrBase值liubeiOutlook.com、通知内容{PropertyUpdate,“AStatus”,1}。
步骤1-2-303、HSvr-B和HSvr-D收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“AStatus”且属性新值为1,得知有一个账户激活,因此,在所确定的同基账户处于激活状态时,将所确定的同基账户冻结。
这样,liubei的移动终端就成为激活终端。
第二阶段:liubei上班后,通过PC终端,根据GUID值liubeiOutlook.com登入在HSvr-B中的账户。
步骤1-2-301b、HSvr-B在liubei登入时,将登录账户激活;获取该登录账户的同基账户的AddrHome值,得到qq.com和gmail.com。
步骤1-2-302b、HSvr-B分别向qq.com指向的HSvr-A和gmail.com指向的HSvr-D发送通知消息,通知中包括所述登录账户的AddrBase值liubeiOutlook.com、通知内容{PropertyUpdate,“AStatus”,1}。
步骤1-2-303b、HSvr-A和HSvr-D收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“AStatus”且属性新值为1,得知有一个账户激活,因此,在所确定的同基账户处于激活状态时,将所确定的同基账户冻结。
这样,liubei的PC终端就成为激活终端,而原来激活的移动终端被冻结。
第三阶段:liubei离开PC终端,携带了移动终端出门办事。此时,liubei通过移动终端,将在HSvr-A中的账户激活,并按照所述激活账户自动冻结方法,将在HSvr-B中的账户冻结。
步骤1-2-301c、HSvr-A在收到liubei的移动终端发送的请求激活liubei的账户的消息后,将liubei的账户设置为激活状态;获取该账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤1-2-302c、同步骤1-2-302。步骤1-2-303c、同步骤1-2-303。
这样,liubei的PC终端就被冻结,而liubei的移动终端就又成为激活终端。
第四阶段:liubei办完事后,回到PC终端前。此时,liubei通过PC终端,将在HSvr-B中的账户激活,并按照所述激活账户自动冻结方法,将在HSvr-A中的账户冻结。
步骤1-2-301d、HSvr-B在收到liubei的PC终端发送的请求激活liubei的账户的消息后,将liubei的账户设置为激活状态;获取该账户的同基账户的AddrHome值,得到qq.com和gmail.com。
步骤1-2-302d、同步骤1-2-302b。步骤1-2-303d、同步骤1-2-303b。
这样,liubei的移动终端就被冻结,而liubei的PC终端就又成为激活终端。
需要说明的是,HSvr在将一个账户冻结时,一般地,并不需要将该账户退出。例如,在第二阶段中,HSvr-A在将liubei的账户冻结时,并不将其退出。这样,liubei在通过移动终端激活在HSvr-A中的账户时,就不必再执行相关登录的流程。
第五阶段:liubei下班,关闭了PC终端,离开单位。PC终端关闭时,会将liubei在HSvr-B中的账户退出,但该账户还处于激活状态。为了切换激活的账户,liubei再按照第三阶段的步骤,再次将在HSvr-A中的账户激活。
第六阶段:liubei夜晚准备休息,将移动终端关闭,这时,liubei通过移动终端,将在HSvr-A中的账户退出,此时,liubei在HSvr-A中的账户仍处于激活状态。
由上可见,应用基于所述通知机制实现的激活账户自动冻结的方法,同基账户间,相关状态可以实现联动,这样,IUsr可以随时随地,将自己的任一账户设置为激活账户,从而,极大地方便了IUsr。
实际当中,可以在账户信息中设置ActiveAddrHome属性,用于指示相应账户的同基账户族中,哪一个账户处于激活状态。这样,就不再需要用AStatus属性来标记一个账户是否处于激活状态,而且更有利于业务扩展。
方式一:在ActiveAddrHome属性中保存一个同基账户族中激活账户的AddrHome值字典序号
例如,liubei的基于AddrBase值liubeiOutlook.com的三个同基账户的AddrHome值分别为qq.com、163.com和gmail.com,按字典排序为163.com、gmail.com、qq.com,因此,可以将AddrHome值163.com对应的字典序号设置为1,将AddrHome值gmail.com对应的字典序号设置为2,将AddrHome值qq.com对应的字典序号设置为3。在OtherAddrHomes属性中,还针对每个AddrHome值登记相应的字典序号,这样,通过ActiveAddrHome属性中的序号,可以确定一个账户的同基账户族中哪一个账户处于激活状态。例如,一个账户的ActiveAddrHome属性值为0,则将该账户的同基账户族中所有的同基账户视为处于休眠状态;如果一个账户的ActiveAddrHome属性值不为0,且根据该账户的ActiveAddrHome属性值从该账户的OtherAddrHomes属性中找不到对应的AddrHome值,则将该账户视为激活状态。
方式二、在ActiveAddrHome属性中保存激活账户的AddrHome值
为方便维护,较佳地,在ActiveAddrHome属性中保存激活账户的AddrHome值。
当一个账户的ActiveAddrHome属性含有有效的HCode值时,表示该ActiveAddrHome属性值与该账户的AddrBase对应的AccountAddr是一个激活账户的AccountAddr值;当一个账户的ActiveAddrHome属性值为无效的HCode值时,例如,为空值null时,表示该账户的同基账户族中,所有账户都处于休眠状态。
例如,以{liubei在HSvr-B中的账户处于激活状态}为例:
在HSvr-A中,liubei的账户信息为:AddrBase=liubeiOutlook.com;AddrHome=qq.com;Password=********;ActiveAddrHome=163.com;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes={163.com;gmail.com}。处于登入状态,但没有激活。
在HSvr-B中,liubei的账户信息为:AddrBase=liubeiOutlook.com;AddrHome=163.com;Password=********;ActiveAddrHome=163.com;ClientIP=相应IP;ClientPort=相应端口;OtherAddrHomes={qq.com;gmail.com}。处于登入状态,且激活。
在HSvrD中,liubei的账户信息为:AddrBase=liubeiOutlook.com;AddrHome=gmail.com;Password=********;ActiveAddrHome=163.com;ClientIP=0;ClientPort=0;OtherAddrHomes={qq.com;163.com}。处于登出状态,且没有激活。
一个账户的ActiveAddrHome值和该账户的AddrHome值一致,则说明该账户处于激活状态,否则,说明该账户处于休眠状态。
在HSvr-A、HSvr-B和HSvr-D中,liubei的账户的ActiveAddrHome值都是163.com,指示出liubei在HSvr-B中的账户是激活账户。
还例如,以{guanyunchang在HSvr-A和HSvr-B中的账户都处于休眠状态}为例:
在HSvr-A中,guanyunchang的账户信息为:AddrBase=guanycOutlook.com;AddrHome=qq.com;Password=********;ActiveAddrHome=null;ClientIP=0;ClientPort=0;OtherAddrHomes={163.com}。
在HSvr-B中,guanyunchang的账户信息为:AddrBase=guanycOutlook.com;AddrHome=163.com;Password=********;ActiveAddrHome=null;ClientIP=0;ClientPort=0;OtherAddrHomes={qq.com}。
在HSvr-A和HSvr-B中,guanyunchang的账户的ActiveAddrHome值都是null,说明guanyunchang在HSvr-A和HSvr-B中的账户都处于休眠状态,也即,基于AddrBase值guanycOutlook.com的账户都处于休眠状态。
一个账户的ActiveAddrHome值为null时,可以将该账户的源账户视为激活状态。例如,guanyunchang的账户的ActiveAddrHome为null,这时,在HSvr-C中,可以将guanycOutlook.com对应源账户标记为激活状态。
一个账户的ActiveAddrHome值不为null,说明该账户的同基账户族中有一个账户处于激活状态。特别地,如果在一个账户族中有一个迁移账户处于激活状态,也可以将该账户族的源账户视为休眠状态。例如,liubei在HSvr-B中的账户的ActiveAddrHome值为qq.com,说明,该账户的同基账户族中,有一个在HSvr-A里的账户处于激活状态。这种情况下,如果考虑源账户因素,则可以将liubei在HSvr-C中的源账户视为休眠状态。例如,在HSvr-C中,把liubei的基于AddrBase值liubei的账户,即liubei的源账户,标记为休眠状态。
本发明后面将以方式二为例,但不用于限定本发明。
例1.2.4:通过所述通知机制,实现同基账户间ActiveAddrHome属性值协同更新,从而实现激活账户自动冻结。
例如,通过该方法,可以实现这样的技术效果:一个账户由休眠状态被激活时,其同基账户族中,原来的激活账户自动冻结。
例如,liubei根据GUID值liubeiOutlook.com登入HSvr-A后,冻结其它同基账户的流程如下所示:
步骤1-2-401:HSvr-A在liubei登入时,将登录账户激活,即将登录账户的ActiveAddrHome属性值设置为该账户的AddrHome值qq.com;获取该登录账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤1-2-402:HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送通知消息,通知中包括所述登录账户的AddrBase值liubeiOutlook.com、通知内容{PropertyUpdate,“ActiveAddrHome”,“qq.com”}。
步骤1-2-403:HSvr-B和HSvr-D收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的ActiveAddrHome属性值更新了,因此,将所确定的同基账户的ActiveAddrHome属性设置为所述属性新值“qq.com”。
这样,当liubei在HSvr-A中的账户被激活后,在HSvr-B和HSvr-D中的同基账户都通过将liubei在HSvr-A中的账户标记为激活状态而被冻结。这样,也能使一个同基账户族中只有一个账户处于激活状态。
例1.2.5:liubei反复选择移动终端和PC终端作为激活的通信终端的应用场景:
第一阶段:liubei先通过移动终端登入在HSvr-A中的账户。
步骤1-2-501、同步骤1-2-401。
步骤1-2-502、同步骤1-2-402。
步骤1-2-503、同步骤1-2-403。
这样,liubei的移动终端就成为激活终端。
第二阶段:liubei上班后,通过PC终端,根据GUID值liubeiOutlook.com登入在HSvr-B中的账户。
步骤1-2-501b、HSvr-B在liubei登入时,将登录账户的ActiveAddrHome属性值设置为该账户的AddrHome值163.com;获取该登录账户的同基账户的AddrHome值,得到qq.com和gmail.com。
步骤1-2-502b、HSvr-B分别向qq.com指向的HSvr-A和gmail.com指向的HSvr-D发送通知消息,通知中包括所述登录账户的AddrBase值liubeiOutlook.com、通知内容{PropertyUpdate,“ActiveAddrHome”,“163.com”}。
步骤1-2-503b、HSvr-A和HSvr-D收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的激活信息更新了,因此,将所确定的同基账户的ActiveAddrHome属性设置为所述属性新值“163.com”。
这样,liubei的PC终端就成为激活终端,而原来激活的移动终端被冻结。
第三阶段:liubei离开PC终端,携带了移动终端出门办事。此时,liubei通过移动终端,将在HSvr-A中的账户激活,并按照所述激活账户自动冻结方法,将在HSvr-B中的账户冻结。
步骤1-2-501c、HSvr-A在收到liubei的移动终端发送的请求激活liubei的账户的消息后,将该账户的ActiveAddrHome属性值设置为该账户的AddrHome值qq.com;获取该账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤1-2-502c、同步骤1-2-502。步骤1-2-503c、同步骤1-2-503。
这样,liubei的PC终端就被冻结,而liubei的移动终端就又成为激活终端。
第四阶段:liubei办完事后,回到PC终端前。此时,liubei通过PC终端,将在HSvr-B中的账户激活,并按照所述激活账户自动冻结方法,将在HSvr-A中的账户冻结。
步骤1-2-501d、HSvr-B在收到liubei的PC终端发送的请求激活liubei的账户的消息后,将该账户的ActiveAddrHome属性值设置为该账户的AddrHome值163.com;获取该账户的同基账户的AddrHome值,得到qq.com和gmail.com。
步骤1-2-502d、同步骤1-2-502b。步骤1-2-503d、同步骤1-2-503b。
这样,liubei的移动终端就被冻结,而liubei的PC终端就又成为激活终端。
需要说明的是,HSvr在将一个账户冻结时,一般地,并不需要将该账户退出。例如,在第二阶段中,HSvr-A在将liubei的账户冻结时,并不将其退出。这样,liubei在通过移动终端激活在HSvr-A中的账户时,就不必再执行相关登录的流程。
第五阶段:liubei下班,关闭了PC终端,离开单位。PC终端关闭时,会将liubei在HSvr-B中的账户退出,但该账户还处于激活状态。为了切换激活的账户,liubei再按照第三阶段的步骤,再次将在HSvr-A中的账户激活。
第六阶段:liubei夜晚准备休息,将移动终端关闭,这时,liubei通过移动终端,将在HSvr-A中的账户退出,此时,liubei在HSvr-A中的账户仍处于激活状态。
在例1.2.5中,通过所述通知机制,实现多个同基账户的ActiveAddrHome属性值协同更新。这样,就为以后基于ActiveAddrHome属性进行消息处理的业务扩展提供了基础。特别地,如果将liubei的GUID由liubeiOutlook.com更换为一个影码,或一个电话号码,甚至是一个身份证号码,可以达到同样的技术效果。由此可见,本发明通知机制实现方法对于促进通信行业的业务发展具有重要作用。
在步骤1-2-402中,所述通知内容中的属性新值部分可以省去。
例如,所述其它HSvr与所述HSvr间建立了SS连接,所述其它HSvr保存HCode与SS连接的对应关系。这样,在步骤13中,所述其它HSvr在收到所述通知消息后,根据发送所述通知消息的HSvr相关的连接信息,按照保存的HCode与SS连接的对应关系,可以获得该HSvr拥有的HCode,并可以将获得的HCode作为所述当前账户的AddrHome。关于SS连接,以及HCode与SS连接的对应关系,等等的更多描述,参见所述《通信方法和系统》发明专利。按照这种方式,在步骤1-2-403中,HSvr-B和HSvr-D在接收所述通知消息后,按照HCode与SS连接的对应关系,获得HSvr-A拥有的HCode值qq.com,并将qq.com作为所述激活账户的AddrHome值,也即ActiveAddrHome属性的新值。
考虑到一个HSvr可能拥有多个HCode值,特别地,出于可扩展性方面的考虑,较佳地,在步骤12中,所述通知消息中进一步携带所述当前账户的AddrHome值。这样,在步骤13中,所述其它HSvr可以直接从所述通知消息中获取所述当前账户的AddrHome值。
例如,所述步骤12进一步是:所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送通知消息,通知中包括源AccountAddr值和相应的通知内容。所述源AccountAddr值是所述当前账户的AccountAddr值。
例如,所述步骤1-2-402进一步是:HSvr-A分别向AddrHome值163.com指向的HSvr-B和AddrHome值gmail.com指向的HSvr-D发送通知消息,通知中包括源AccountAddr值liubeiOutlook.comqq.com、通知内容{PropertyUpdate,“ActiveAddrHome”}。
相应地,所述步骤1-2-403进一步是:HSvr-B和HSvr-D收到所述通知消息后,根据源AccountAddr的AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的ActiveAddrHome属性值更新了,因此,将所确定的同基账户的ActiveAddrHome属性设置为所述源AccountAddr的AddrHome值qq.com。
所述账户信息进一步包括个性签名(Signature)属性。
例1.2.6:通过所述通知机制,实现同基账户间相关属性同步更新的方法。
例如,通过该方法,可以实现这样的技术效果:IUsr更改一个账户的个性签名时,其同基账户的个性签名都同步更改。
liubei在东吴招亲期间,根据GUID值liubeiOutlook.com登入了HSvr-A,liubei更新个性签名的流程如下所示:
步骤1-2-601、liubei的客户端向HSvr-A发送个性签名更新请求消息,消息中包括表示更新属性的操作码:Opcode_SetProperty,属性指示值:“Signature”,属性新值:“人生得意须尽欢”。
步骤1-2-602、HSvr-A收到所述请求消息后,针对当前账户,将Signature属性设置为所述属性新值;获取当前账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤1-2-603、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送通知消息,通知中包括所述当前账户的AddrBase值liubeiOutlook.com、通知内容{PropertyUpdate,“Signature”,“人生得意须尽欢”}。
步骤1-2-604、HSvr-A和HSvr-B收到所述通知消息后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;根据NotifyType值为PropertyUpdate,且属性指示值为“Signature”,得知一个账户的个性签名更新了,因此,将所确定的同基账户的Signature属性设置为所述属性新值。
由上可见,基于所述通知机制实现的同基账户间相关属性同步更新方法,可以实现同基账户间,同步更新指定属性值,这样,IUsr选择自己的任一账户来更新个性签名,都能实现在相应的同基账户同步更新个性签名的效果,从而,极大地方便了IUsr。
所述账户信息进一步包括微博(Microblog)属性。本发明里,以{所述Microblog属性是一个列表,用于存放相应IUsr发布的微博信息}为例。
三、所述通知内容是增加条目(AddItem),包括参数:NotifyType值AddItem,属性指示值和新条目。用于指示,针对相应的同基账户,在所述属性指示值所指定的属性中增加所述新条目。
例1.3.1:通过所述通知机制,实现同基账户间指定属性同步增加相关条目的方法。
例如,通过该方法,可以实现这样的技术效果:同基账户微博消息同步发布。
zhaoyun护卫liubei到东吴招亲期间,根据手机号码8613316882012登入了HSvr-A。zhaoyun发布微博的流程如下所示:
步骤1-3-101、zhaoyun的客户端向HSvr-A发送微博发布请求消息,消息中包括表示发布微博的操作码:Opcode_PostMicrobloging,和微博内容:“孙夫人与主公今晚参加了周公瑾举办的假面舞会”。
步骤1-3-102、HSvr-A收到所述请求消息后,针对当前账户,发布所述微博内容;获取当前账户的同基账户的AddrHome值,得到Outlook.com和gmail.com。
步骤1-3-103、HSvr-A分别向Outlook.com指向的HSvr-C和gmail.com指向的HSvr-D发送通知消息,通知中包括所述当前账户的AddrBase值8613316882012、通知内容{AddItem,“Microblog”,所述微博内容}。
步骤1-3-104、HSvr-C和HSvr-D收到HSvr-A发送的所述通知消息后,都根据AddrBase值8613316882012确定相应的同基账户,根据NotifyType值为AddItem,且属性指示值为“Microblog”,得知一个账户发布了一条微博,因此,针对所确定的同基账户发布所述微博内容。
所述针对一个账户发布所述微博内容可以是,在该账户的Microblog属性中增加一条内容为所述微博内容的新微博记录。
例1.3.2:通过所述通知机制,实现同基账户间指定属性同步增加相关条目的方法。
例如,通过该方法,可以实现这样的技术效果:一个账户收到邮件后,将该邮件同步到其同基账户。
zhaoyun在HSvr-C中的账户收到邮件后,执行如下流程:
步骤1-3-201、HSvr-C收到收件人为8613316882012Outlook.com新邮件后,根据收件人8613316882012Outlook.com,确定相应的账户,即当前账户,将该邮件投入到该账户的收件箱中;获取当前账户的同基账户的AddrHome值,得到qq.com和gmail.com。
步骤1-3-202、HSvr-C分别向qq.com指向的HSvr-A和gmail.com指向的HSvr-D发送通知消息,通知中包括所述当前账户的AddrBase值8613316882012、通知内容{AddItem,“Inbox”,所述新邮件}。
步骤1-3-203、HSvr-A和HSvr-D收到HSvr-C发送的所述通知消息后,都根据AddrBase值8613316882012确定相应的同基账户;根据NotifyType值为AddItem,且属性指示值为“Inbox”,得知一个账户收到了新邮件,因此,将所述新邮件投入到所确定的同基账户的收件箱中。
由上可见,基于所述通知机制实现的同基账户间指定属性同步增加相关条目的方法,可以实现同基账户间,同步增加指定属性的相关条目。这样,zhaoyun选择自己的任一账户发布微博消息,都能实现在相应的同基账户中同步发布相应微博消息的效果;而zhaoyun的任一账户收到邮件时,都能同步到其它的同基账户中。这样,就极大地方便了IUsr。
四、所述通知内容是删除条目(DeleteItem),包括参数:NotifyType值DeleteItem,属性指示值和条目标识。用于指示,针对相应的同基账户,在所述属性指示值所指定的属性中删除所述条目标识所对应的条目。
例1.4.1:通过所述通知机制,实现同基账户间指定属性同步删除相关条目的方法。
例如,通过该方法,可以实现这样的技术效果:同基账户微博记录同步删除。
zhaoyun根据手机号码8613316882012登入HSvr-A后删除相应的微博的流程如下所示:
步骤1-4-101、zhaoyun的客户端向HSvr-A发送微博删除请求消息,消息中包括表示删除微博的操作码:Opcode_DeleteMicrobloging,和微博标识。
步骤1-4-102、HSvr-A收到所述请求消息后,针对当前账户,根据所述微博标识删除对应的微博记录;获取当前账户的同基账户的AddrHome值,得到Outlook.com和gmail.com。
步骤1-4-103、HSvr-A分别向Outlook.com指向的HSvr-C和gmail.com指向的HSvr-D发送通知消息,通知中包括所述当前账户的AddrBase值8613316882012、通知内容{DeleteItem,“Microblog”,微博标识}。
步骤1-4-104、HSvr-C和HSvr-D收到HSvr-A发送的所述通知消息后,都根据AddrBase值8613316882012确定相应的同基账户;根据NotifyType值为DeleteItem,且属性指示值为“Microblog”,得知一个账户的Microblog属性中删除了相应的微博记录,因此,针对所确定的同基账户,按照所述微博标识删除相应的微博记录。
所述微博标识是微博序列号;或者所述微博标识是微博发布的时间;或者所述微博标识是微博内容,例如“周公瑾欲构陷主公”;或者所述微博标识是微博中某个关键词,例如“周公瑾”。
例1.4.2:通过所述通知机制,实现同基账户间指定属性同步删除相关条目的方法。
例如,通过该方法,可以实现这样的技术效果:同基账户邮件同步删除。
zhaoyun根据手机号码8613316882012登入HSvr-A后删除相应的邮件的流程如下所示:
步骤1-4-201、zhaoyun的客户端向HSvr-A发送邮件删除请求消息,消息中包括表示删除邮件的操作码:Opcode_DeleteEmail,邮箱类型:InBox,和邮件标识。
步骤1-4-202、HSvr-A收到所述请求消息后,针对当前账户,根据所述邮件标识从收件箱中删除对应的邮件;获取当前账户的同基账户的AddrHome值,得到Outlook.com和gmail.com。
步骤1-4-204、HSvr-A分别向Outlook.com指向的HSvr-C和gmail.com指向的HSvr-D发送通知消息,通知中包括所述当前账户的AddrBase值8613316882012、通知内容{DeleteItem,“Inbox”,邮件标识}。
步骤1-4-205、HSvr-C和HSvr-D收到HSvr-A发送的所述通知消息后,都根据AddrBase值8613316882012确定相应的账户,根据NotifyType值为DeleteItem,且属性指示值为“Inbox”,得知一个账户的收件箱中删除了相应的邮件,因此,针对所确定的同基账户,按照所述邮件标识从收件箱中删除相应的邮件。
所述邮件标识是邮件序列号;或者所述邮件标识是邮件接收或发送的时间;或者所述邮件标识是邮件主题,例如“周公瑾欲构陷主公”;或者所述邮件标识是邮件主题或邮件内容中某个关键词,例如“周公瑾”;或者所述邮件标识是邮件发件人。
由上可见,基于所述通知机制实现的同基账户间指定属性同步删除相关条目的方法,可以实现同基账户间,同步删除指定属性的相关条目,这样,zhaoyun选择自己的任一账户删除微博记录或邮件,都能实现在相应的同基账户中同步删除相应的微薄记录或邮件的效果。这样,就极大地方便了IUsr。
通过上面所述通知机制,一个账户的相关属性数据发生变化后,可以通知到其同基账户,这样,相应的同基账户可以根据需要,来执行约定的操作,从而达到一个同基账户族中所有同基账户间相关变化联动的效果。
实际当中,一个账户的相关属性数据发生变化后,也可以直接指示其同基账户完成相应的操作。对此,本发明还提出了同基账户互操作方法,使得通过一个账户,能对其相应的同基账户进行操作,从而免去用户登入不同账户的麻烦。
如图2所示,为本发明同基账户互操作方法实施方式流程图。在该实施方式中,如上所述,在HSvr中登记一个账户相应的同基账户信息。
在需要操作同基账户时,执行如下流程:
步骤21、HSvr获取当前账户相应的同基账户的AddrHome。
步骤22、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送操作指令,指令中包括所述当前账户的AddrBase和相应的操作参数。
步骤23、所述其它HSvr收到所述操作指令后,根据所述当前账户的AddrBase确定相应的同基账户;按照所述操作参数,针对所确定的同基账户进行操作。
下面通过例子,展示所述互操作方法的用途和用法。
一、所述操作参数包括:登出操作码Opcode_Logout,用于指示相应同基账户登出。
HSvr可以在一个IUsr登入时启动所述互操作流程。
例2.1.1:通过所述互操作方法,实现登入账户自动登出的方法。
例如,通过该方法,可以实现这样的技术效果:一个账户登入时,其同基账户中,处于登入状态的账户自动登出。
步骤2-1-101、同步骤1-1-101:HSvr-A收到客户端发送的携带了登录账号liubeiOutlook.com和相应登录密码的登录消息时,将登录账号liubeiOutlook.com作为AddrBase值,确定登录账户;在对登录消息中的登录密码验证通过后,获取该登录账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤2-1-102、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送操作指令,指令中包括所述登录账户的AddrBase值liubeiOutlook.com、操作参数{Opcode_Logout}。
步骤2-1-103、HSvr-B和HSvr-D收到所述操作指令后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;按照所述操作参数{Opcode_Logout},在所确定的同基账户处于登入状态时,将所确定的同基账户退出。
将一个账户退出可以是:将该账户的ClientIP和ClientPort属性设置为0。实际当中,还可以进一步向该账户的客户端发送退出消息。
二、所述操作参数包括:属性设置操作码Opcode_SetProperty,属性指示值和属性新值。用于指示,针对相应的同基账户,将所述属性指示值所指定的属性设置为所述属性新值。
例2.2.1:通过所述互操作方法,实现激活账户自动冻结的方法。
例如,通过该方法,可以实现这样的技术效果:一个账户由休眠状态被激活时,其同基账户中激活账户自动冻结。
例如,liubei根据GUID值liubeiOutlook.com登入HSvr-A后,冻结其它同基账户的流程如下所示:
步骤2-2-101、同步骤1-2-201:HSvr-A在liubei登入时,将登录账户激活;获取该登录账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤2-2-102、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送操作指令,指令中包括所述登录账户的AddrBase值liubeiOutlook.com、操作参数{Opcode_SetProperty,“AStatus”,0}。
步骤2-2-103、HSvr-B和HSvr-D收到所述操作指令后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;按照所述操作参数,将所确定的同基账户的AStatus属性设置为0,即将该账户冻结。
这样,当liubeiOutlook.com在HSvr-A中的账户被激活后,在HSvr-B和HSvr-D中的同基账户都被冻结。
在步骤2-2-103中,在执行将所确定的同基账户冻结的操作之前,还可以进一步判断所确定的同基账户是否处于休眠状态,如果是,则可以直接结束。
例2.2.2:通过所述互操作方法,实现同基账户间相关属性同步更新的方法。
例如,通过该方法,可以实现这样的技术效果:IUsr更改一个账户的个性签名时,其同基账户的个性签名都同步更改。
liubei在东吴招亲期间,根据GUID值liubeiOutlook.com登入了HSvr-A,liubei更新个性签名的流程如下所示:
步骤2-2-201、同步骤1-2-601:liubei的客户端向HSvr-A发送个性签名更新请求消息,消息中包括表示更新属性的操作码:Opcode_SetProperty,属性指示值:“Signature”,属性新值:“人生得意须尽欢”。
步骤2-2-202、同步骤1-2-602:HSvr-A收到所述请求消息后,针对当前账户,将Signature属性设置为所述属性新值;获取当前账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤2-2-203、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送操作指令,指令中包括所述当前账户的AddrBase值liubeiOutlook.com、操作参数{Opcode_SetProperty,“Signature”,“人生得意须尽欢”}。
步骤2-2-204、HSvr-A和HSvr-B收到所述操作指令后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户;按照所述操作参数,将所确定的同基账户的Signature属性设置为所述属性新值。
由上可见,基于所述互操作方法实现的同基账户间相关属性同步更新方法,可以实现同基账户间,同步更新指定属性,这样,IUsr选择自己的任一账户来更新个性签名,都能实现在相应的同基账户中同步更新个性签名的效果,从而,极大地方便了IUsr。
三、所述操作参数包括:增加条目操作码Opcode_AddItem,属性指示值和新条目。用于指示,针对相应的同基账户,在所述属性指示值所指定的属性中增加所述新条目。
例2.3.1:通过所述互操作方法,实现同基账户间指定属性同步增加相关条目的方法。
例如,通过该方法,可以实现这样的技术效果:同基账户微博消息同步发布。
zhaoyun护卫liubei到东吴招亲期间,根据手机号码8613316882012登入了HSvr-A。zhaoyun发布微博的流程如下所示:
步骤2-3-101、同步骤1-3-101:zhaoyun的客户端向HSvr-A发送微博发布请求消息,消息中包括表示发布微博的操作码:Opcode_PostMicrobloging,和微博内容:“孙夫人与主公今晚参加了周公瑾举办的假面舞会”。
步骤2-3-102、同步骤1-3-102:HSvr-A收到所述请求消息后,针对当前账户,发布所述微博内容;获取当前账户的同基账户的AddrHome值,得到Outlook.com和gmail.com。
步骤2-3-103、HSvr-A分别向Outlook.com指向的HSvr-C和gmail.com指向的HSvr-D发送操作指令,指令中包括所述当前账户的AddrBase值8613316882012、操作参数{Opcode_AddItem,“Microblog”,所述微博内容}。
步骤2-3-104、HSvr-C和HSvr-D收到HSvr-A发送的所述操作指令后,都根据AddrBase值8613316882012确定相应的同基账户,按照所述操作参数,针对所确定的同基账户发布所述微博内容。
所述针对一个账户发布所述微博内容可以是,在该账户的Microblog属性中增加一条内容为所述微博内容的新微博记录。
四、所述操作参数包括:删除条目操作码:Opcode_DeleteItem,属性指示值和条目标识。用于指示,针对相应的同基账户,在所述属性指示值所指定的属性中删除所述条目标识所对应的条目。
例2.4.1:通过所述互操作方法,实现同基账户间指定属性同步删除相关条目的方法。
例如,通过该方法,可以实现这样的技术效果:同基账户微博消息同步删除。
zhaoyun根据手机号码8613316882012登入HSvr-A后删除相应的微博的流程如下所示:
步骤2-4-101、同步骤1-4-101:zhaoyun的客户端向HSvr-A发送微博删除请求消息,消息中包括表示删除微博的操作码:Opcode_DeleteMicrobloging,和微博标识。
步骤2-4-102、同步骤1-4-102:HSvr-A收到所述请求消息后,针对当前账户,根据所述微博标识删除对应的微博记录;获取当前账户的同基账户的AddrHome值,得到Outlook.com和gmail.com。
步骤2-4-103、HSvr-A分别向Outlook.com指向的HSvr-C和gmail.com指向的HSvr-D发送操作指令,指令中包括所述当前账户的AddrBase值8613316882012、操作参数{Opcode_DeleteItem,“Microblog”,微博标识}。
步骤2-4-104、HSvr-C和HSvr-D收到HSvr-A发送的所述操作指令后,都根据AddrBase值8613316882012确定相应的同基账户,并针对所确定的同基账户,按照所述操作参数中的所述微博标识,删除相应的微博记录。
所述微博标识是微博序列号;或者所述微博标识是微博发布的时间;或者所述微博标识是微博内容,例如“周公瑾欲构陷主公”;或者所述微博标识是微博中某个关键词,例如“周公瑾”。
五、所述操作参数包括:获取属性操作码:Opcode_GetProperty,属性指示值。用于指示,针对相应的同基账户,获取所述属性指示值所指定的属性的值。
例2.5.1:通过所述互操作方法,实现获取同基账户的指定属性值的方法。
例如,通过该方法,可以实现这样的技术效果:通过一个账户,获取其同基账户的收件箱收到的消息或邮件。
liubei根据GUID值liubeiOutlook.com登入HSvr-A后获取其它账户收到的消息的流程如下所示:
步骤2-5-101、liubei的客户端向HSvr-A发送查看其同基账户的收件箱的请求消息,消息中包括表示查看同基账户收件箱的操作码:Opcode_GetOtherInbox。
步骤2-5-102、HSvr-A收到所述请求消息后,获取当前账户的同基账户的AddrHome值,得到163.com和gmail.com。
步骤2-5-103、HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送操作指令,指令中包括所述当前账户的AddrBase值liubeiOutlook.com、操作参数{Opcode_GetProperty,“Inbox”}。
步骤2-5-104、HSvr-B和HSvr-D收到HSvr-A发送的所述操作指令后,都根据AddrBase值liubeiOutlook.com确定相应的同基账户,并获取所确定的同基账户的收件箱里保存的消息;通过回复消息,将获取的所述收件箱里保存的消息发送给HSvr-A。
步骤2-5-105、HSvr-A收到所述回复消息后,将该回复消息发送给AddrBase值liubeiOutlook.com对应的客户端。
在步骤2-5-104中,所述回复消息中包括所述当前账户的AddrBase值liubeiOutlook.com,表示操作码Opcode_GetProperty对应的回复操作码:Opcode_ResGetProperty,属性指示值“Inbox”,以及所述获取的所述收件箱里保存的消息。相应地,在步骤2-5-105中,HSvr-A根据AddrBase值liubeiOutlook.com确定liubei的客户端。
在步骤2-5-103中,所述指令中可以进一步包括所述当前账户的AddrHome值qq.com,例如:所述指令中包括所述当前账户的AccountAddr值liubeiOutlook.comqq.com、操作参数{Opcode_GetProperty,“Inbox”}。这样,步骤2-5-104中,直接根据AccountAddr值liubeiOutlook.comqq.com的AddrBase值liubeiOutlook.com来确定相应的同基账户。这样,所述回复消息中,可以用所述当前账户的AccountAddr值liubeiOutlook.comqq.com来替代所述当前账户的AddrBase值liubeiOutlook.com。
作为一种等价的实现方式,在例2.5.1中,所述操作参数可以是获取收件箱操作码:Opcode_GetInbox,用于指示获取相应账户的收件箱所收到的消息。这样,只需要将例2.5.1中所述操作指令中的操作参数由{Opcode_GetProperty,“Inbox”}更换为{Opcode_GetInbox},即可达到同样的技术效果。
如果允许一个HSvr拥有多个HCode值,且该HSvr还允许根据一个AddrBase值,按照不同的HCode创建不同的账户,例如,允许HSvr-A拥有99.com和qq.com两个HCode值,HSvr-A在允许liubei创建一个AccountAddr值为liubeiOutlook.comqq.com的账户后,还允许liubei创建一个AccountAddr值为liubeiOutlook.com99.com的账户。这样,在HSvr-A中,就存在两个同基的账户。
如果允许一个HSvr中存在两个同基的账户,则,较佳地,在步骤12中,所述通知消息中进一步包括当前账户的对应的同基账户的AddrHome值。这样,在步骤13中,所述其它HSvr在确定目标账户时,可以根据通知中包括的所述同基账户的AddrHome值与所述当前账户的AddrBase值来确定目标账户。这里,所述通知中包括的所述同基账户的AddrHome值与所述当前账户的AddrBase值对应了所述目标账户的AccountAddr值。
同样,如果允许一个HSvr中存在两个同基的账户,则,较佳地,在步骤22中,所述操作指令中进一步包括当前账户的对应的同基账户的AddrHome值。这样,在步骤23中,所述其它HSvr在确定目标账户时,可以根据指令中包括的所述同基账户的AddrHome值与所述当前账户的AddrBase值来确定目标账户。这里,所述指令中包括的所述同基账户的AddrHome值与所述当前账户的AddrBase值对应了所述目标账户的AccountAddr值。
例如,所述步骤1-2-402进一步是:HSvr-A向163.com指向的HSvr-B发送通知消息,通知中包括目的AccountAddr值liubeiOutlook.com163.com、通知内容{PropertyUpdate,“ActiveAddrHome”,“qq.com”};向gmail.com指向的HSvr-D发送通知消息,通知中包括目的AccountAddr值liubeiOutlook.comgmail.com、通知内容{PropertyUpdate,“ActiveAddrHome”,“qq.com”}。
相应地,所述步骤1-2-403进一步是:HSvr-B收到所述通知消息后,根据所述目的AccountAddr值liubeiOutlook.com163.com确定相应的账户,根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的ActiveAddrHome属性值更新了,因此,将所确定的账户的ActiveAddrHome属性设置为所述属性新值“qq.com”;HSvr-D收到所述通知消息后,根据所述目的AccountAddr值liubeiOutlook.comgmail.com确定相应的账户,根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的ActiveAddrHome属性值更新了,因此,将所确定的账户的ActiveAddrHome属性设置为所述属性新值“qq.com”。
在步骤13中,在执行将所述通知消息终结于所确定的同基账户的操作之前,还可以进一步判断是否登记了所述当前账户,如果是,才执行该操作;否则,直接结束。这样,可以防止欺骗,从而增强所述通知机制的安全性。
同样,在步骤23中,在执行按照所述操作参数针对所确定的同基账户进行操作的操作之前,还可以进一步判断是否登记了所述当前账户,如果是,才执行该操作;否则,直接结束。
例如,在步骤13中,或者在步骤23中,所述其它HSvr可以获取所述当前账户的AddrHome值,在根据所述当前账户的AddrBase确定相应的同基账户后,判断所确定的同基账户的OtherAddrHomes属性中,是否含有所述当前账户的AddrHome值,如果含有,则说明登记了所述当前账户,否则,说明没有登记。
一般地,在步骤12中,所述通知消息中进一步携带所述当前账户的AddrHome值。这样,在步骤13中,所述其它HSvr可以直接从所述通知消息中获取所述当前账户的AddrHome值。
一般地,在步骤22中,所述操作指令中进一步携带所述当前账户的AddrHome值。这样,在步骤23中,所述其它HSvr可以直接从所述操作指令中获取所述当前账户的AddrHome值。
例如,所述步骤1-2-402进一步是:HSvr-A分别向163.com指向的HSvr-B和gmail.com指向的HSvr-D发送通知消息,通知中包括源AccountAddr值liubeiOutlook.comqq.com、通知内容{PropertyUpdate,“ActiveAddrHome”,“qq.com”}。
相应地,所述步骤1-2-403进一步是:HSvr-B和HSvr-D收到所述通知消息后,根据源AccountAddr的AddrBase值liubeiOutlook.com确定相应的同基账户;由于HSvr-B和HSvr-D所确定的同基账户的OtherAddrHomes属性中都登记了源AccountAddr的AddrHome值qq.com,因此,说明HSvr-B和HSvr-D都登记了源AccountAddr对应的账户,于是,继续执行如下操作:根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的激活信息更新了,于是,HSvr-B和HSvr-D将所确定的同基账户的ActiveAddrHome属性设置为属性新值“qq.com”。
在步骤12中,在所述通知消息中携带所述当前账户的AddrHome值时,在步骤13中,所述其它HSvr还可以进一步判断所述通知消息中携带的所述当前账户的AddrHome值是否由所述HSvr所拥有,如果不是,说明通知消息中携带的所述当前账户的AddrHome值错误,则结束流程。
同样,在步骤22中,在所述操作指令中携带所述当前账户的AddrHome值时,在步骤23中,所述其它HSvr还可以进一步判断所述操作指令中携带的所述当前账户的AddrHome值是否由所述HSvr所拥有,如果不是,说明操作指令中携带的所述当前账户的AddrHome值错误,则结束流程。
根据所述当前账户的AddrHome值,按照建立的HCode和HSvr的对应关系来获取相应的主机IP地址,判断获取的主机IP地址是否是所述HSvr的IP地址,如果是,则所述当前账户的AddrHome值由所述HSvr所拥有,否则,不是。实际当中,通过接收来自对端HSvr的消息可以获取所述对端HSvr的IP地址。关于HCode和HSvr的对应关系的更多描述,参见所述《通信方法和系统》发明专利。
当然,如果其它HSvr保存了HCode与SS连接的对应关系,则在步骤12或者步骤22之后,所述其它HSvr在接收来自所述HSvr发送的消息时,可以根据所述HSvr的链接信息,从HCode与SS连接的对应关系中得到对应的HCode,而后将该HCode作为所述当前账户的AddrHome值。
考虑到消息格式的兼容性,所述步骤12可以进一步是:所述HSvr向所述相应的同基账户所在的其它HSvr发送通知消息,通知中包括源AccountAddr和目的AccountAddr,以及相应的通知内容;所述源AccountAddr为所述当前账户的AccountAddr,所述目的AccountAddr为所述相应的同基账户的AccountAddr。这里,根据所述相应的同基账户的AddrHome与所述当前账户的AddrBase,可以得到所述相应的同基账户的AccountAddr。
相应地,所述步骤13进一步是:所述其它HSvr收到所述通知消息后,根据所述目的AccountAddr确定相应的账户;将所述通知消息终结于所确定的账户。
考虑到消息格式的兼容性,所述步骤22可以进一步是:所述HSvr向所述相应的同基账户所在的其它HSvr发送操作指令,指令中包括源AccountAddr和目的AccountAddr,以及相应的操作参数;所述源AccountAddr为所述当前账户的AccountAddr,所述目的AccountAddr为所述相应的同基账户的AccountAddr。这里,根据所述相应的同基账户的AddrHome与所述当前账户的AddrBase,可以得到所述相应的同基账户的AccountAddr。
相应地,所述步骤23进一步是:所述其它HSvr收到所述操作指令后,根据所述目的AccountAddr确定相应的账户;按照所述操作参数针对所确定的账户进行操作。
例如:所述步骤1-2-402进一步是:HSvr-A向liubeiOutlook.com163.com归属的HSvr-B发送通知消息,通知中包括源AccountAddr值liubeiOutlook.comqq.com、目的AccountAddr值liubeiOutlook.com163.com、通知内容{PropertyUpdate,“ActiveAddrHome”,“qq.com”};向liubeiOutlook.comgmail.com归属的HSvr-D发送通知消息,通知中包括源AccountAddr值liubeiOutlook.comqq.com、目的AccountAddr值liubeiOutlook.comgmail.com、通知内容{PropertyUpdate,“ActiveAddrHome”,“qq.com”}。
相应地,所述步骤1-2-403进一步是:HSvr-B收到所述通知消息后,根据所述目的AccountAddr值liubeiOutlook.com163.com确定相应的账户,根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的激活信息更新了,因此,将所确定的账户的ActiveAddrHome属性设置为属性新值“qq.com”;HSvr-D收到所述通知消息后,根据所述目的AccountAddr值liubeiOutlook.comgmail.com确定相应的账户,根据NotifyType值为PropertyUpdate,且属性指示值为“ActiveAddrHome”,得知有一个账户的激活信息更新了,因此,将所确定的账户的ActiveAddrHome属性设置为属性新值“qq.com”。
需要说明的是,可以将一个账户的属性信息保存在一个表中,也可以将一个账户的属性信息分别保存在多个表中。
由于并不是所有的账户都处于登入状态,因此,也可以使用一个在线用户信息表来保存各个账户的在线信息,例如,该表中包括AddrBase、AddrHome、ClientIP和ClientPort等字段。相应地,将账户其它属性保存在另外一个表中,例如,该表中包括AddrBase、AddrHome和Password等字段。例如,在所述《通信方法和系统》发明专利中,相关实施例里,就将一个账户的信息分别保存在在线用户信息表和账户信息表中。
如果统一约定端口号为某一特定值,则ClientPort属性可以省略。当一个HSvr只拥有一个HCode值时,AddrHome属性也可以省略。
实际当中,也可以通过设置同基账户描述表来保存相应账户的同基账户的描述信息,例如,该表中包括AddrBase和AddrHome等字段,其中,每个AddrHome字段保存一个相应同基账户的AddrHome值。
对于所提到的双域跨域码,可以将其编码为掩域跨域码形式;例如,用两个连续的下划线:“__”作为at替代码。这样,对于CDAddr值liubeiOutlook.comqq.com,经过编码后得到的是形式为liubei__Outlook.comqq.com的掩域跨域码。关于双域跨域码编码方法,参见申请号为201310435356.3的《E-mail地址编码方法》发明专利。
如果将上述说明中,所有的GUID值liubeiOutlook.com,包括跨域码中出现的liubeiOutlook.com,等等,全部替换成掩域E-mail地址liubei__Outlook.com,可以达到相应的技术效果。
同样,将上述说明中,所有8613316882012,包括E-mail地址中的8613316882012都替换成对应的影码86*133*16882012,也可以达到相应的技术效果。
以上仅为本发明的较佳实施方式或实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之类,所作的任何修改、改进、等同替换等均应包含在本发明的保护范围之内。
Claims (10)
1.一种同基账户通知机制实现方法,其特征在于,在HSvr中登记一个账户相应的同基账户信息;所述方法包括以下步骤:
a、HSvr获取当前账户相应的同基账户的AddrHome;
b、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送通知消息,通知中包括所述当前账户的AddrBase和相应的通知内容;
c、所述其它HSvr收到所述通知消息后,根据所述当前账户的AddrBase确定相应的同基账户;将所述通知消息终结于所确定的同基账户。
2.根据权利要求1所述的方法,其特征在于,所述通知内容是所述当前账户登入/激活;相应地,在步骤c中,所述将所述通知消息终结于所确定的同基账户是指:在所确定的同基账户处于登入状态/激活状态时,将所确定的同基账户退出/冻结。
3.根据权利要求1所述的方法,其特征在于,所述通知内容是属性值更新,包括属性指示值和属性新值;相应地,在步骤c中,所述将所述通知消息终结于所确定的同基账户是指:针对所确定的同基账户,将所述属性指示值所指定的属性更新为所述属性新值。
4.根据权利要求1所述的方法,其特征在于,所述通知内容是增加条目/删除条目,包括属性指示值和新条目/条目标识;相应地,在步骤c中,所述将所述通知消息终结于所确定的同基账户是指:针对所确定的同基账户,在所述属性指示值所指定的属性中,增加所述新条目/删除所述条目标识所对应的条目。
5.一种同基账户互操作方法,其特征在于,在HSvr中登记一个账户相应的同基账户信息;所述方法包括以下步骤:
a、HSvr获取当前账户相应的同基账户的AddrHome;
b、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送操作指令,指令中包括所述当前账户的AddrBase和相应的操作参数。
c、所述其它HSvr收到所述操作指令后,根据所述当前账户的AddrBase确定相应的同基账户;按照所述操作参数针对所确定的同基账户进行操作。
6.根据权利要求5所述的方法,其特征在于,所述操作参数包括登出操作码/冻结操作码,用于指示相应同基账户登出/冻结;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:在所确定的同基账户处于登入状态/激活状态时,将所确定的同基账户退出/冻结。
7.根据权利要求5所述的方法,其特征在于,所述操作参数包括属性设置操作码、属性指示值和属性新值;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:针对所确定的同基账户,将所述属性指示值所指定的属性设置为所述属性新值。
8.根据权利要求5所述的方法,其特征在于,所述操作参数包括增加条目操作码/删除条目操作码,属性指示值和新条目/条目标识;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:针对所确定的同基账户,在所述属性指示值所指定的属性中,增加所述新条目/删除所述条目标识所对应的条目。
9.根据权利要求5所述的方法,其特征在于,所述操作参数包括获取属性操作码和属性指示值;相应地,在步骤c中,所述按照所述操作参数针对所确定的同基账户进行操作是指:针对所确定的同基账户,获取所述属性指示值所指定的属性的值,将获取的值回复给所述当前账户。
10.一种账户状态联动变化方法,其特征在于,在HSvr中登记一个账户相应的同基账户信息;所述方法包括以下步骤:
a、HSvr在当前账户状态发生变化后,获取当前账户相应的同基账户的AddrHome;所述状态是登入状态或激活状态;
b、所述HSvr根据获取的AddrHome确定其它HSvr,向所述其它HSvr发送联动消息,消息中包括所述当前账户的AddrBase和联动指示信息;所述联动消息是通知消息或操作指令;
c、所述其它HSvr收到所述联动消息后,根据所述当前账户的AddrBase确定相应的同基账户;根据所述联动指示信息,将所确定的同基账户退出/冻结。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310501013.2A CN103812760A (zh) | 2012-11-05 | 2013-10-23 | 同基账户通知机制实现方法 |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210436516.1 | 2012-11-05 | ||
CN201210436516 | 2012-11-05 | ||
CN201310009912.0 | 2013-01-11 | ||
CN201310009912 | 2013-01-11 | ||
CN201310501013.2A CN103812760A (zh) | 2012-11-05 | 2013-10-23 | 同基账户通知机制实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103812760A true CN103812760A (zh) | 2014-05-21 |
Family
ID=50708990
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310501013.2A Pending CN103812760A (zh) | 2012-11-05 | 2013-10-23 | 同基账户通知机制实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103812760A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070293202A1 (en) * | 2006-05-25 | 2007-12-20 | Celltrust Corporation | Secure mobile information management system and method |
CN101202737A (zh) * | 2006-12-11 | 2008-06-18 | 腾讯科技(深圳)有限公司 | 一种实现第三方邮件账户管理的方法及系统 |
CN102123109A (zh) * | 2011-02-25 | 2011-07-13 | 朱才倍 | 一种电子邮件发送方法及系统 |
-
2013
- 2013-10-23 CN CN201310501013.2A patent/CN103812760A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070293202A1 (en) * | 2006-05-25 | 2007-12-20 | Celltrust Corporation | Secure mobile information management system and method |
CN101202737A (zh) * | 2006-12-11 | 2008-06-18 | 腾讯科技(深圳)有限公司 | 一种实现第三方邮件账户管理的方法及系统 |
CN102123109A (zh) * | 2011-02-25 | 2011-07-13 | 朱才倍 | 一种电子邮件发送方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9264388B2 (en) | Re-routing incoming email for a multi-tenant database system | |
US9961032B2 (en) | Extended email functionality | |
KR101709791B1 (ko) | 컴퓨터 네트워크 상의 단일 착신지에 대한 중복 메시지 통합 | |
US20160269336A1 (en) | Common email database for a plurality of users | |
US20180219810A1 (en) | Transmitting tagged electronic messages | |
WO2014022712A2 (en) | Publish information on website | |
JP4521480B1 (ja) | 未送信の受信者のあるeメール・メッセージを訂正するための方法、システム、およびコンピュータ・プログラム | |
US20100161748A1 (en) | Apparatus, a Method, a Program and a System for Processing an E-Mail | |
CN103688495A (zh) | 在国际化电子邮件系统和非国际化电子邮件系统之间传输消息 | |
CN103391333B (zh) | 支持guid迁移的网络及相关消息处理方法 | |
US20090280781A1 (en) | Method and device for storing and transmitting messages | |
US7818384B2 (en) | Simultaneous synchronous split-domain email routing with conflict resolution | |
US8375089B2 (en) | Methods and systems for protecting E-mail addresses in publicly available network content | |
US20110314097A1 (en) | Methods, systems, and computer program products for identifying a communicant in a communication | |
CA2835193A1 (en) | Email address and telephone number unification systems and methods | |
CN103812760A (zh) | 同基账户通知机制实现方法 | |
CN101247369A (zh) | 即时通信中用户信息的表现方法、即时通信系统及设备 | |
JP2004523046A (ja) | ターゲットにメッセージを送信するシステム及びその操作方法 | |
CN104579924A (zh) | 显示邮件的方法和邮件客户端 | |
CN103812922A (zh) | 迁移账户互操作方法 | |
WO2016148814A1 (en) | Extended email functionality | |
CN103716417B (zh) | E-mail地址编码方法 | |
EP3066793B1 (en) | A management system for the exchange of messages | |
WO2008096346A2 (en) | System and method for enabling transfer of data and communication between individuals | |
WO2024100437A1 (en) | System and method for collaborative communication |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: Wuhou District Shaoling road Chengdu city Sichuan province 610000 No. 29 2-2-3 Li Huaijiang Applicant after: Wang Zhengwei Address before: 610000 Sichuan city in Chengdu province Wuhou Temple Street No. 87 (empty Jiashuyuan) 1 Building 1 unit 3 Applicant before: Wang Zhengwei |
|
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140521 |