CN103297555A - 影码寻址方法 - Google Patents
影码寻址方法 Download PDFInfo
- Publication number
- CN103297555A CN103297555A CN201310049772XA CN201310049772A CN103297555A CN 103297555 A CN103297555 A CN 103297555A CN 201310049772X A CN201310049772X A CN 201310049772XA CN 201310049772 A CN201310049772 A CN 201310049772A CN 103297555 A CN103297555 A CN 103297555A
- Authority
- CN
- China
- Prior art keywords
- hsvr
- sign indicating
- indicating number
- corresponding relation
- message
- 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
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开一种影码寻址方法:通过建立H2T与HSvr的对应关系,能根据一个影码的H2T来确定该影码归属的HSvr。本发明还提供一种影码通信方法,通过该方法,可以给一个影码用户发送消息。本发明还提供动态配置H2T与SS连接的对应关系的方法,帮助HSvr实现对H2T与SS连接的对应关系数据的智能维护。本发明还提供一种消息交换方法,通过该方法,让HSvr能够直接选择消息路由,减少对相关的数据访问,提高消息交换效率。本发明还提出一种H2TAlias转换方法,通过该方法,可将一个H2TAlias转换为一个TeleH2T。
Description
技术领域
本发明涉及互联网通信,更确切地说涉及在互联网中,根据影码进行寻址的方法。
背景技术
在互联网中,多个即时通信系统(IMS,Instant Messenger System)通过互联互通形成的即时通信网络(IMN,IM Network),能够实现不同IMS系统的互联网用户(IUsr,Internet User)之间的跨域沟通。参见申请号为201210041577.8或201310037232X的《通信方法和系统》发明专利。由于IUsr之间可以直接进行文字、语音或视频等会话,因此,基于互联网的IMN也可以作为现有电信网络的一个替代。
与电信网用户(TNUsr,Telecommunication Network User)都维护一套电话号码薄一样,IUsr也都维护了一套好友列表,用于记录各个好友的名称和GUID(全球统一身份,Global Unified Identity),以用于对互联网用户的访问。这种电话号码和GUID的神合(二者对应同一个IUsr)貌离(二者表现形式不同,例如,一个是电话号码,一个可以是邮箱地址),不只是增加了用户维护信息的数量,还不利于IUsr的GUID的传播。特别地,出于交流的需要,用于社交的本来已经很拥挤的名片上,有时还要插入用户的GUID。
所述GUID包括两部分:归属码(HCode,Home Code)和用户码(UCode,User Code)。其中,HCode指示该GUID,也即该GUID对应的用户归属于哪一个IMS,UCode用于指示一个HCode下不同的用户。参见所述《通信方法和系统》发明专利。
虽然,通过互联网实现电信业务,更加便捷,更易于扩展,但由于人们长期积累了使用电话号码进行通信的习惯,因此,要尽快地让TNUsr将基于电信网的业务流量逐步转移到互联网中,还需要充分照顾TNUsr现有的通信习惯。
发明内容
有鉴于此,本发明提供了一种影码寻址方法,通过建立H2T与HSvr的对应关系,能根据一个影码的H2T来确定该影码归属的HSvr,从而可以实现向一个影码对应的IUsr发送信息(包括发送短消息、发起语音或视频呼叫等等各种消息)的目的。这样,一个TNUsr就可以通过注册与其电话号码形同的影码来与其他IUsr进行信息交互。
一种影码寻址方法,其特征在于,所述方法包括以下步骤:
a、建立H2T与HSvr的对应关系;
b、根据影码的H2T按照所述H2T与HSvr的对应关系,确定该影码归属的HSvr。
步骤a是指:将所述H2T和HSvr的对应关系保存在本地,相应的,步骤b是指:根据影码的H2T从本地保存的所述H2T与HSvr的对应关系中确定该影码归属的HSvr;
或者,步骤a是指:建立与GUIDAS的通信连接,所述GUIDAS保存了H2T和HSvr的对应关系,相应的,步骤b是指:根据影码的H2T,访问GUIDAS确定该影码归属的HSvr;
或者,步骤a是指:通过设置域名构造模块来建立所述H2T与HSvr的对应关系,相应的,步骤b是指:根据影码的H2T,通过设置的域名构造模块产生对应的HDomain,通过解析所述HDomain,得到所指向的该影码归属的HSvr。
进一步建立CTLD与TCC的对应关系,所述H2T与HSvr的对应关系中,对应的CC是TCC;在步骤b中,根据影码对应的H2T寻址该影码归属的HSvr时,如果H2T中的CC为一个CTLD,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC,根据该TCC和该H2T中的NBC,按照所述H2T与HSvr的对应关系来确定对应的HSvr。
进一步建立NBCAlias与TeleCode的对应关系,所述H2T与HSvr的对应关系中,对应的NBC是TeleCode;在步骤b中,根据影码对应的H2T寻址该影码归属的HSvr时,如果H2T中的NBC为一个NBCAlias,则根据该NBCAlias和相应的CC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode,根据该TeleCode和该H2T中的CC,按照所述H2T与HSvr的对应关系来确定对应的HSvr。
本发明还提供一种影码通信方法,通过该方法,可以给一个影码用户发送消息。
一种通信方法,其特征在于,建立H2T与HSvr的对应关系;所述方法包括以下步骤:
a、客户端将包括目的影码的消息发送给归属的HSvr,即本地HSvr;
b、所述本地HSvr按照所述H2T与HSvr的对应关系,确定所述目的影码归属的HSvr,即对端HSvr,将包括目的影码的消息发送给该对端HSvr;
c、所述对端HSvr收到来自所述本地HSvr的消息后,根据消息里的目的影码,将该消息发送给该目的影码对应的客户端。
所述本地HSvr与至少一个对端HSvr建立SS连接,并保存SS连接与H2T的对应关系;步骤b所述根据所述目的影码,按照所述H2T与HSvr的对应关系,确定对端HSvr是指,根据所述目的影码的H2T,按照保存的SS连接与H2T的对应关系,确定对应的SS连接;所述将包括目的影码的消息发送给该对端HSvr是指,通过确定的SS连接,将包括目的影码的消息发送出去。
本发明还提供动态配置H2T与SS连接的对应关系的方法,帮助HSvr实现对H2T与SS连接的对应关系数据的智能维护。
一种动态配置H2T与SS连接的对应关系的方法,其特征在于,所述方法包括以下步骤:
a、HSvr根据寻址目的影码的H2T,按照保存的SS连接与H2T的对应关系,获取对应的SS连接,判断是否得到,如果得不到对应的SS连接,则根据所述寻址目的影码,按照预先建立的H2T与HSvr的对应关系获取对应的主机IP地址;
b、按照该主机IP地址连接所述对端HSvr,建立SS连接;
c、保存得到的SS连接与所述寻址目的影码的H2T的对应关系。
在步骤b之前,进一步根据所述对应的主机IP地址获取面向所述对端HSvr的SS连接,判断是否得到,如果是,则直接执行步骤c;否则,执行步骤b。
本发明还提供一种消息交换方法,通过该方法,让HSvr能够直接选择消息路由,减少对相关的数据访问,提高消息交换效率。
一种消息交换方法,其特征在于,建立H2T与SS连接的对应关系;所述方法包括以下步骤:
a、根据消息中寻址目的影码的H2T,按照所述H2T和SS连接的对应关系,进行寻址,从而获取对应的SS连接;
b、通过获取的SS连接将所述消息发送给对端HSvr。
本发明还提出一种H2TAlias转换方法,通过该方法,可将一个H2TAlias转换为一个TeleH2T。
一种H2TAlias转换方法,其特征在于,建立CTLD与TCC的对应关系,以及建立NBCAlias与TeleCode的对应关系;所述方法包括以下步骤:
a、判断H2TAlias的CC是否为一个CTLD,如果是,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到该H2TAlias对应的TCC;
b、判断该H2TAlias的NBC是否为一个NBCAlias,如果是,则根据该NBCAlias和该H2TAlias的TCC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode;
c、根据所述TCC和所述TeleCode得到对应的TeleH2T。
基于该影码寻址方法,可以在互联网中构建一个电信网的影子网络,即电信影子网,使得一个HSvr可以根据一个TNUsr的电话号码,也即根据该电话号码的影子码来寻址IMN中的HSvr,以及对应的IUsr,从而达到,在互联网中,根据电话号码进行寻址的效果。这样,还可以极大地减少用户维护的GUID数量,从而极大地方便了用户。
附图说明
图1所示,为IMN组网图。
图2所示,为基于GUIDAS的IMS互联互通组网图。
图3所示,为本发明总体实施例流程图。
图4所示,为本发明根据影码进行通信实施例流程图。
图5所示,为本发明动态配置H2T与SS连接的对应关系流程图。
具体实施方式
本发明首先提出一种影码寻址方法。所述影码是一种特殊的GUID,影码对应的HCode是一个归属二元组(H2T,Home Two-Tuple),所述H2T包括两部分:国家码(CC,Country Code)和国内商码(NBC,National Business Code),即(CC, NBC)。此时,GUID表示形式一般为:CC*NBC*UCode,这里*为影码指示符。
CC一般是电话国家码(TCC,Telecom Country Code),即现有电话系统的国家码或区域码,例如,中国的为86,美国的为1,印度为91,香港为852、越南的为84。
CC也可以是国家顶级域名(CTLD,Country Top Level Domain),例如中国的为cn,美国的为us,印度的为in,香港的为hk、越南的为VN。
NBC是国家或地区内的运营代码。NBC可以是字母、数字的任意组合。当NBC是纯数字时,本发明称之为电码(TeleCode,Telegraphic Code);当NBC中含有非数字字符时,本发明称之为别名型NBC,或NBC别名(NBCAlias,NBC Alias)。
一个影码对应的IUsr,也称为影码用户(SCUsr,Shadow Code User)。本发明里,一个SCUsr的H2T是指该SCUsr的影码对应的H2T。
一个IMS可以被指配多个H2T,例如,网易可以拥有中国的10、133、139、188、jing等NBC,还可以拥有印度的183、562、581等NBC;百度可以拥有中国的21、130、135、136、138、hu等NBC;腾讯可以拥有中国的20、92、99、755、guang、shen等NBC,还拥有印度的92等NBC;Google可以拥有中国的900、90091等NBC;微软可以拥有中国的35、352等NBC。通过CC和NBC可以确定一个IMS。例如,腾讯在印度的92下有一个QQ号码123789,对应的影码可以表示为91*92*123789,其中,CC为91,NBC为92,UCode为123789。相应地,百度在中国的138下也可以有一个Hi号码123789,对应的影码可以表示为86*138*123789,其中,CC为86,NBC为138,UCode为123789。
实际当中,影码的表示形式也可以是:CC*NBC+U-Prefix+UCode,这里*为影码指示符,+为字串合并运算符。其中,U-Prefix为UCode字冠,因CC值不同而不同,例如,CC值对应中国时,对应的U-Prefix为空值null;CC值对应印度时,对应的U-Prefix为2。例如,腾讯在印度的92下有一个QQ号码123789,对应的影码可以表示为91*922123789,其中,CC为91,NBC为92,UCode为123789。相应地,百度在中国的138下也可以有一个Hi号码123789,对应的影码可以表示为86*138123789,其中,CC为86,NBC为138,UCode为123789。
实际当中,影码的表示形式也可以是:CC*+N-Prefix +NBC+U-Prefix+UCode,这里*为影码指示符,+为字串合并运算符。其中,N-Prefix为NBC字冠,N-Prefix和U-Prefix因CC值与NBC值不同而不同,例如,CC值对应中国时,对应的U-Prefix总为空值null,如果NBC为138,对应的N-Prefix为空,如果NBC为10,对应的N-Prefix为0。例如,网易在中国的10下有一个UCode为123789的SCUsr,对应的影码可以表示为86*010123789,其中,CC为86,NBC为10,UCode为123789。而对于百度在中国的138下的一个Hi号码123789,对应的影码表示为86*138123789,其中,CC为86,NBC为138,UCode为123789。
当然,影码的表示形式也可以是:*CC+N-Prefix +NBC+U-Prefix+UCode,这里*为影码指示符,+为字串合并运算符。
本发明无法穷尽影码的所有可能的表示形式,作为例子,本发明后面所述影码的表示形式为CC*NBC*UCode。
要将一个消息发送给一个SCUsr,就需要对该SCUsr进行寻址,也即对该SCUsr的影码进行寻址,以确定该影码的归属服务器(HSvr,HomeServer)。关于HSvr更多信息,参见同时提交的《通信方法和系统》发明专利,这里不再重复。
如图1所示,为IMN组网图。在图1中,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)。其中,UsrB为一个SCUsr。
为便于理解,后面的描述中,我们以,SP-A是腾讯、SP-B是网易、SP-C是微软,为例。
为了实现对一个SCUsr进行寻址,本发明建立H2T与HSvr的对应关系,使一个HSvr能够根据一个SCUsr的H2T,按照所述H2T与HSvr的对应关系确定该SCUsr归属于哪个HSvr。如图3所示,为本发明总体实施例流程图。
下面提供几种建立所述H2T与HSvr的对应关系的方式供技术人员参考:
方式一、所述建立H2T与HSvr的对应关系是:建立H2T与HSvr的主机IP地址的对应关系。如表1所示:
表1
CC | NBC | HSvr主机IP地址 | Remark |
86 | 133,139 | HSvr-B的主机IP地址 | HSvr-B |
91 | 183,562,581 | HSvr-B的主机IP地址 | HSvr-B |
86 | 35,352 | HSvr-C的主机IP地址 | HSvr-C |
86 | 20,92,99,755 | HSvr-A的主机IP地址 | HSvr-A |
91 | 92 | HSvr-A的主机IP地址 | HSvr-A |
在表1中,HSvr-B在中国拥有(86, 133)和(86, 139)等二个H2T;在印度拥有(91, 183)、(91, 562)、(91, 581)等三个H2T。这些H2T都对应了HSvr-B的主机IP地址。
根据表1,一个HSvr可以根据一个H2T获取相应的HSvr的主机IP地址。
方式二、所述建立H2T与HSvr的对应关系是:建立H2T与指向相应HSvr的域名的对应关系。本发明称用于指向HSvr的主机IP地址的域名为归属域名(HDomain,Home Domain)。
例如,可以设置H2T与指向相应HSvr的域名的对应关系表来建立所述H2T与HSvr的对应关系,如表1-1所示:
表1-1
CC | NBC | HDomain | Remark |
86 | 133,139 | 指向HSvr-B的域名 | HSvr-B |
91 | 183,562,581 | 指向HSvr-B的域名 | HSvr-B |
86 | 35,352 | 指向HSvr-C的域名 | HSvr-C |
86 | 20,92,99,755 | 指向HSvr-A的域名 | HSvr-A |
91 | 92 | 指向HSvr-A的域名 | HSvr-A |
根据表1-1,一个HSvr可以根据一个H2T获取指向相应的HSvr的域名。
按照方式二,还建立所述域名与相应HSvr的主机IP地址的对应关系,例如,所述域名是主机名,在域名服务器(DNS,Domain Name Server)中,通过设置A记录,将所述主机名直接指向相应的HSvr的主机IP地址;或者,在DNS中,通过设置别名记录,将所述域名间接指向相应的HSvr的主机IP地址。这样,根据一个H2T,可以得到对应的域名,通过进一步解析该域名可以得到所指向的主机IP地址。
在HSvr和H2T都比较明确的情况下,一个HSvr可以在本地建立所述H2T和HSvr的对应关系。通常情况下,一个HSvr并不能事先完全确定要连接的HSvr以及相应的H2T,对此,也可以设置一个GUID联盟服务器(GUIDAS,GUID Alliance Server),将所述H2T和HSvr的对应关系保存到该GUIDAS中,如图2所示。
按照方式一,各个HSvr可以通过访问GUIDAS直接得到一个H2T对应的HSvr的主机IP地址,如图2所示。
不难理解,按照方式二,如果所述H2T和HSvr的对应关系在本地保存,或者在GUIDAS中保存,则根据一个H2T,从本地查询,或者访问GUIDAS,可以得到对应的域名;进一步通过域名解析,得到该H2T对应的主机IP地址。
方式三、所述建立H2T与HSvr的对应关系是:设置域名构造模块,通过设置的域名构造模块,来根据H2T产生对应的HDomain。例如,所述域名构造模块设置域名构造函数、或域名构造方法、或域名构造表达式,通过设置的域名构造函数、或域名构造方法、或域名构造表达式,来根据H2T产生对应的HDomain。
相应地,在DNS中让该HDomain直接或间接指向HSvr主机IP地址。例如,在DNS中,通过设置A记录,让该HDomain直接指向HSvr主机IP地址,或者,通过设置别名记录,让该HDomain间接指向HSvr主机IP地址。
例如,所述域名由NBC、CC和一个顶级域名“homesvr”所构成。这时,可以约定所述域名构造表达式为:NBC+“.”+CC+“.homesvr”。这样,对于H2T值(86, 133),对应的HDomain为133.86.homesvr。在DNS中,通过添加相应的A记录或别名记录,将133.86.homesvr指向HSvr-B的主机IP地址。同样,H2T值(91, 92)对应的HDomain为92.91.homesvr,在DNS中,通过添加相应的A记录或别名记录,将92.91.homesvr指向HSvr-A的主机IP地址。这样,对于86*133*16882012这个影码,HSvr-A通过所述域名构造表达式得到的HDomain为133.86.homesvr,通过解析133.86.homesvr,即可得到HSvr-B的IP地址。
还例如,所述域名由NBC和CC对应的CTLD所构成。这时,可以约定所述域名构造表达式为:NBC+“.”+f(CC)。其中,当CC为CTLD时,f(CC)= CC;当CC为TCC时,f(CC)= 该TCC对应的国家的CTLD。这样,对于H2T值(86, 133),对应的HDomain为133.cn。在DNS中,通过添加相应的A记录或别名记录,将133.cn指向HSvr-B的主机IP地址。同样,H2T值(91, 92)对应的HDomain为92.in,在DNS中,通过添加相应的A记录或别名记录,将92.in指向HSvr-A的主机IP地址。这样,对于86*133*16882012这个影码,HSvr-A通过所述域名构造表达式得到的HDomain为133.cn,通过解析133.cn,即可得到HSvr-B的IP地址。
还例如,所述域名由NBC、子域“tel”和CC对应的CTLD所构成。这样,可以约定所述域名构造表达式为:NBC+“.tel.”+CC。其中,当CC为CTLD时,f(CC)= CC;当CC为TCC时,f(CC)= 该TCC对应的国家的CTLD。这样,对于H2T值(86, 133),对应的HDomain为133.tel.cn。在DNS中,通过添加相应的A记录或别名记录,将133.tel.cn指向HSvr-B的主机IP地址。同样,H2T值(91, 92)对应的HDomain为92.tel.in,在DNS中,通过添加相应的A记录或别名记录,将92.tel.in指向HSvr-A的主机IP地址。这样,对于86*133*16882012这个影码,HSvr-A通过所述域名构造表达式得到的HDomain为133.tel.cn,通过解析133.tel.cn,即可得到HSvr-B的IP地址。
可以通过一个MX(Mail Exchanger)记录来将一个域名直接或间接指向对应的HSvr的主机IP地址。
实际当中,可以在DNS中增加新的记录类型,本发明称之为H类型,用来指示一个记录为H记录。通过一个H记录来将一个域名直接或间接指向对应的HSvr的主机IP地址。例如,DNS中的H记录可以如表2所示。
表2
名称 | 刷新间隔 | 类型 | 主机名或IP地址 |
133.86.homesvr | 3600秒 | H | 119.84.66.17 |
139.86.homesvr | 3600秒 | H | 133.86.homesvr |
92.91.homesvr | 3600秒 | H | 119.147.15.56 |
按照表2所示的H记录,根据一个域名和用于指示要访问的记录为H记录的记录类型值,通过访问DNS可以得到对应的主机IP地址。
按照方式三,设置域名构造模块来建立所述H2T与HSvr的对应关系,这样通过设置的域名构造模块,来根据H2T产生对应的HDomain。进一步通过域名解析,例如,根据该HDomain,通过访问DNS,得到该H2T对应的主机IP地址。
这样,通过方式一、或方式二、或方式三所建立的H2T和HSvr的对应关系,根据一个H2T,可以得到对应的主机IP地址。
一个HSvr可以根据一个影码的H2T,按照所述H2T与HSvr的对应关系获取相应的主机IP地址,通过判断所述相应的主机IP地址是否是该HSvr自己的IP地址,该HSvr可以确认该影码是否归属于自己。
较佳地,HSvr进一步保存自己拥有的相关H2T,即一种特殊形式的H2T与HSvr的对应关系,这样,通过判断一个影码的H2T是否是自己拥有的H2T即可直接确认一个影码是否归属于自己。HSvr可以从一个自身H2T配置文件中读取自己拥有的H2T。
上述通过建立H2T和HSvr的对应关系,HSvr-A可以得到一个影码所归属的HSvr的主机IP地址。一般地,当HSvr-A发现一个不属于自己的H2T所对应的HSvr的主机IP地址为自己的主机IP地址时,可以作为异常处理。
UsrA通过HSvr-A向UsrB发送消息,按照如下步骤进行:
步骤101、UsrA将携带了UsrB的地址信息的消息发送给HSvr-A。
步骤102、HSvr-A接收来自UsrA的消息,根据UsrB的地址信息进行寻址,即,根据UsrB的地址信息对应的H2T确定UsrB归属的HSvr,即HSvr-B;将携带了UsrB的地址信息的消息发送给该HSvr-B。
这里,HSvr-A按照UsrB的地址信息对应的H2T,根据建立的H2T和HSvr的对应关系,得到对应的HSvr的主机IP地址,根据该IP地址将相关消息发送给所述对应的HSvr。由于UsrB归属于HSvr-B,即其地址信息对应的H2T对应于HSvr-B,因此,HSvr-A就将携带了UsrB的地址信息的消息发送给HSvr-B。
步骤103、HSvr-B接收来自HSvr-A的消息,根据UsrB的地址信息,将所述消息发送给UsrB。
这样,UsrB就可以通过HSvr-B接收来自UsrA的消息。
如图4所示,为本发明根据影码进行通信实施例流程图。
这里,一个IUsr的地址信息可以是该IUsr的影码的部分,例如UCode,或全部。为简化描述,后续的提到的IUsr地址信息为该IUsr的影码的全部。
这样就实现了UsrA通过HSvr-A向UsrB发送消息的目的。同样,或如所述《通信方法和系统》发明专利中的所述方法,UsrB可以通过HSvr-B向UsrA发送消息。这样就实现了一个SCUsr与其它SCUsr或IUsr的信息交互。
实际当中,UsrA还可能给本IMS内的用户发送消息,例如UsrA给UsrX发送消息。因此,步骤102进一步是,HSvr-A收到来自UsrA的消息后,判断UsrB是否归属于自己,即UsrB的H2T是否为HSvr-A所拥有,如果是,则直接根据UsrB的影码,将所述消息发送给UsrB;如果UsrB不归属于自己,即UsrB的H2T不为HSvr-A所拥有,则根据UsrB的H2T确定UsrB归属的HSvr,将携带了UsrB的影码的消息发送给该HSvr。或者,步骤102进一步是,HSvr-A收到来自UsrA的消息后,根据UsrB的H2T确定UsrB归属的HSvr,判断该HSvr是否是HSvr-A自身(例如IP地址是否相同),如果是,则直接根据UsrB的影码,将所述消息发送给UsrB,结束流程;如果不是,则将携带了UsrB的影码的消息发送给该HSvr。
在步骤102中,HSvr-A收到UsrA的消息后,可以进一步判断UsrB是否是SCUsr,例如,消息中携带一个影码标志,根据该标志判断UsrB是否为SCUsr,或者,通过UsrB的GUID里是否包含影码指示符“*”来判断UsrB是否为SCUsr。当HSvr-A判断UsrB不是一个SCUsr时,可以按照所述《通信方法和系统》发明专利中的所述方法来进行处理。当判断UsrB是一个SCUsr时,根据UsrB的地址信息对应的H2T寻址UsrB归属的HSvr。
上述消息发送可以是通过基于IP的UDP(User Datagram Protocol)数据包来完成,也可以是通过建立的通信连接来完成。
在步骤101中,UsrA可以通过UDP数据包向HSvr-A发送相关消息。UsrA也可以与HSvr-A建立通信连接(本发明称客户端,包括浏览器,到服务器的通信连接为CS连接),通过建立的CS连接向HSvr-A发送所述消息。
在步骤102中,HSvr-A可以通过UDP数据包向HSvr-B发送相关消息。HSvr-A也可以与HSvr-B建立通信连接(本发明称HSvr到HSvr的通信连接为SS连接),通过建立的SS连接向HSvr-B发送所述消息。
一般地,所述CS连接是TCP(Transmission Control Protocol)连接。所述SS连接可以是TCP连接,也可以是采用其它技术,例如ATM(Asynchronous Transfer Mode)技术,或协议建立的通信连接。下面以所述CS连接和SS连接是TCP连接为例。
在步骤103中,HSvr-B可以根据预先保存的UsrB的IP地址和端口号,通过UDP数据包将所述消息发送给UsrB。也可以是UsrB和HSvr-B建立了CS连接,HSvr-B通过该CS连接将所述消息发送给UsrB。
在步骤103中,如果HSvr-B既没有与UsrB建立CS连接,也没有保存UsrB的IP地址,则HSvr-B可以直接结束处理,或者将该消息保存起来,等到UsrB下次登录后,发送给UsrB。
建立CS连接时,一般地,是HSvr作为TCP服务器提供IP地址和端口号,由用户客户端通过发送连接请求来连接。用于建立CS连接的TCP服务器端口号可以由各个IMS自己规定,也可以统一约定。
建立SS连接时,一般地,是接收连接请求的HSvr作为TCP服务器提供IP地址和端口号,由发起连接请求的HSvr作为TCP客户端来建立连接。一般地,统一约定用于建立SS连接的TCP服务器端口号,例如,约定统一的端口号为1868。当然,也可以不约定统一的端口号,例如,在表1中增加端口号字段,用以特别指明相应HSvr提供的用于建立SS连接的TCP服务器端口号。
一般地,针对建立的TCP连接,相互通信的双方各有一个与之相应的套接口(Socket),参见unix或linux套接口方面的技术资料。套接口是一个描述通信连接的数据结构,一般包括五部分基本信息:协议描述信息,本地IP地址,本地端口号,对端IP地址和对端端口号。虽然,通过本地IP地址,本地端口号,对端IP地址和对端端口号等四部分信息可以唯一确定一个TCP连接。但是,为方便应用层使用,针对所述数据结构,有一个编号与之对应,一般地,称该编号为套接口描述符(SktD,Socket Descriptor),这样,应用层就可以通过不同的SktD来识别不同的TCP连接。
例如,TCP服务器通过Socket()函数调用产生一个套接口,得到一个SktD,并通过bind()函数调用,对该套接口进行本地参数初始化。TCP服务器通过listen()函数调用将该套接口转换为侦听套接口,用以等待客户端的连接请求,并通过accept()函数调用得到针对不同TCP客户端的套接口,以及SktD,将该SktD作为发送函数send()或接收函数recv()的参数,即可进行数据的发送或接收。
还例如,TCP客户端通过Socket()函数调用产生一个套接口,得到一个SktD,并通过connect()函数调用,对该套接口进行初始化,在成功初始化后,将对应的SktD作为发送函数send()或接收函数recv()的参数,即可进行数据的发送或接收。
一般地,对于CS连接,HSvr作为TCP服务器,侦听IUsr侧发起的连接请求,并在建立TCP连接时,创建面向IUsr侧的套接口(USoSS,UserSide-oriented Server Socket)。对于SS连接,HSvr作为TCP服务器,侦听其它HSvr发起的连接请求,并在建立TCP连接时,创建面向其它HSvr的套接口(PHoSS,PeerHSvr-oriented Server Socket);HSvr作为TCP客户端,向其它HSvr发起连接请求,并在建立TCP连接时,创建面向其它HSvr的套接口(PHoCS,PeerHSvr-oriented ClientSocket)。
实际当中,为了便于UsrB了解消息来源,在步骤102中,在将携带了UsrB的影码的消息发送给HSvr-B时,在消息中还携带UsrA的相关信息,一般地是携带UsrA的GUID。相应地,在步骤103中,HSvr-B根据UsrB的影码,将携带了UsrA的GUID的所述消息发送给UsrB。
如果HSvr-A没有建立UsrA的客户端与UsrA的对应关系,例如,UsrA没有登陆到HSvr-A,则在步骤101中,UsrA还将自己的GUID包含在所述消息中。例如,UsrA通过一个UDP数据包发送所述消息。
如果HSvr-A已经建立UsrA的客户端与UsrA的对应关系,例如,UsrA已经登入HSvr-A,则HSvr-A可以根据发送消息的客户端,按照所述对应关系得到UsrA的GUID。
实际当中,HSvr在用户注册时,根据注册帐号,即GUID,保存了相应的密码,参见表4所示的用户账户信息表。
表4
GUID | Password | Remark |
UsrB的影码 | ******** | UsrB的帐户记录 |
UsrY的GUID | ******** | UsrY的帐户记录 |
一般地,一个账户信息中包括这些基本属性:GUID、Password、ClientIP和ClientPort。其中,Password为该账户密码,ClientIP和ClientPort为该账户的在线信息。当该账户处于登入状态时,ClientIP和ClientPort对应该账户的客户端的IP地址和端口号,当该账户处于登出状态时,一般地,ClientIP和/或ClientPort为空值null或0。
HSvr在一个账户登录时可以获取对应客户端的IP地址和端口号,并将获取的IP地址和端口号保存在该账户的ClientIP和ClientPort属性中。
可以将一个账户的属性信息存放于一个表中。例如,可以在如表4所示的用户账户信息表中增加ClientIP和ClientPort字段来保存对应账户的客户端的IP地址和端口号。
考虑到并不是所有的账户都处于登入状态,因此,也可以通过设置在线用户信息表来保存所述客户端与GUID的对应关系,如表3所示。
表3
GUID | IP地址 | Port | Remark |
UsrB的影码 | UsrB的IP地址 | UsrB的端口号 | UsrB的在线信息 |
UsrY的GUID | UsrY的IP地址 | UsrY的端口号 | UsrY的在线信息 |
在表3中,保存了一个GUID和相应客户端的对应关系,其中,用客户端IP地址和端口号来标识一个客户端。
这样,通过如表3所示的在线用户信息表和如表4所示的用户账户信息表就可以保存一个账户的账户信息。
下面给出两种登入HSvr的方式:
方式一、客户端通过UDP数据包向Hsvr发送登陆请求消息,在登陆请求消息中指示登陆GUID和密码,HSvr收到该数据包后,根据该GUID获取对应保存的密码,对登录请求消息进行验证,在验证通过时,保存该GUID和相应客户端的对应关系,例如,根据所述登录GUID,将获取的客户端的IP地址和端口号保存在如表3所示的在线用户信息表中。例如,判断保存的密码和接收的密码是否一致,例如是否相等,如果一致,则验证通过,否则,验证不通过。
方式二、客户端请求HSvr建立TCP连接,并在连接到HSvr后,发送登录消息,在登陆消息中指示登陆GUID和密码,HSvr收到该登录消息后,根据该GUID从如表4所示的用户账户信息中获取相应的密码,对该登录消息进行验证,在验证通过时,保存该GUID和相应客户端的对应关系。例如,判断保存的密码和接收的密码是否一致,例如是否相等,如果一致,则验证通过,否则,验证不通过。
参见表3-1所示的在线用户信息表。
表3-1
GUID | CS连接 | Remark |
UsrB的GUID | CS1的SktD | UsrB的在线信息 |
UsrY的GUID | CS2的SktD | UsrY的在线信息 |
在表3-1中,用CS连接的标识作为相应客户端的标识。
这样,通过如表3-1所示的在线用户信息表和如表4所示的用户账户信息表就可以保存一个账户的账户信息。
按照方式一或方式二,HSvr在对登录消息验证成功后还可以向登录客户端返回登录成功的消息。
基于方式二,HSvr还可以进一步保存获取的对应客户端的IP地址和端口号。参见表3-2所示的在线用户信息表:
表3-2
GUID | CS连接 | IP地址 | Port | Remark |
UsrB的影码 | CS1的SktD | UsrB的IP地址 | UsrB的端口号 | UsrB的在线信息 |
UsrY的GUID | CS2的SktD | UsrY的IP地址 | UsrY的端口号 | UsrY的在线信息 |
如表3-2所示,如果客户端不需要与HSvr进行其它的信息交互,那么,客户端在HSvr中登记了自己的IP地址后,还可以断开与HSvr的连接。相应地,HSvr将对应CS连接设置为一个特殊值,例如-100,表示相应的TCP连接已经断开。这种情况下,HSvr可以用客户端IP地址和端口号来标识一个客户端。这种情况下,客户端在自己的IP地址发生变化时,重新在HSvr中登记新的IP地址。
客户端退出时,HSvr可以从所述在线用户信息表中将该客户端对应的记录删除。
需要说明的是,HSvr在接收TCP客户端或其它HSvr的连接请求时,或者是UDP数据包时,通过解析相应的IP协议头可以获取对端的IP地址,通过解析相应的TCP协议头或UDP协议头,可以获取对端的端口号。例如,使用套接口技术,HSvr可以在接受连接请求时,通过accept()函数来获取TCP客户端的IP地址和端口号。HSvr还可以通过getpeername()函数来获取TCP客户端的IP地址和端口号。
当然,也可以在登录消息的数据部分(非协议头)来特别指定所述客户端的IP地址或端口号。相应地,根据所述GUID保存获取的客户端的IP地址可以是根据该GUID保存所述特别指定的IP地址。
所述登录消息中还可以进一步包括客户端类型、版本号以及用户客户端的登录时间等等信息。例如所述客户端类型是专有类型,例如腾讯的QQ客户端,百度的Hi客户端等等C类型客户端,也可以是通用类型,例如浏览器形式的客户端,即B类型客户端。
根据表3-2,客户端采用方式一进行登入时,对应的CS连接设置为特殊值,例如-100。
按照如表3-2所示的在线用户信息表,HSvr可以根据发送消息的客户端获得对应的GUID。这样,在步骤101中,所述消息可以不携带UsrA的相关信息,相应地,在步骤102中,HSvr-A进一步根据相应CS连接的SktD或者根据相应客户端IP地址和端口号,按照如表3-2所示的在线用户信息表得到UsrA的GUID,这样,HSvr-A在将携带了UsrB的GUID的消息发送给HSvr-B时,就可以进一步在消息中携带所述得到的UsrA的GUID。
后面以所述在线用户信息表是表3-1为例对本发明进行进一步说明。
下面以IUsr通过与HSvr建立CS连接与HSvr进行信息交互为例。
例如,UsrA和HSvr-A建立CS连接,并登录到HSvr-A,HSvr-A通过如表3-1所示的在线用户信息表保存UsrA与相应客户端的对应关系;UsrB登录到HSvr-B,HSvr-B通过如表3-1所示的在线用户信息表保存UsrB与相应客户端的对应关系。此时,UsrA通过HSvr-A向UsrB发送消息,可以按照如下步骤进行:
步骤201、UsrA通过建立的CS连接将携带了UsrB的GUID的消息发送给HSvr-A。
步骤202、HSvr-A通过该CS连接,也即根据该CS连接的SktD,接收来自UsrA的消息,根据该CS连接的SktD,按照如表3-1所示的在线用户信息表得到UsrA的GUID。根据UsrB的H2T进行寻址,即,判断UsrB是否归属于自己,也即UsrB的H2T是否为HSvr-A所拥有,如果是,则直接根据UsrB的GUID,按照如表3-1所示的在线用户信息表确定对应的CS连接,也即,得到该CS连接的SktD,通过该CS连接,也即根据该SktD,将所述消息发送给UsrB。由于UsrB不归属于自己,即UsrB的H2T不为HSvr-A所拥有,因此,根据UsrB的H2T确定UsrB归属的HSvr,将携带了UsrB的影码和UsrA的GUID的消息发送给UsrB归属的HSvr。
这里,HSvr-A根据UsrB的H2T,按照所述H2T和HSvr的对应关系,得到对应的HSvr的主机IP地址,根据该IP地址将相关消息发送给所述对应的HSvr。由于UsrB归属于HSvr-B,即其H2T对应于HSvr-B,因此,HSvr-A就将携带了UsrB的影码和UsrA的GUID的消息发送给HSvr-B。
步骤203、HSvr-B接收来自HSvr-A的消息,根据UsrB的影码按照如表3-1所示的在线用户信息表确定UsrB对应的CS连接,也即,得到该CS连接的SktD,通过该CS连接,也即根据该SktD,将所述消息发送给UsrB。
步骤204、UsrB接收HSvr-B发送的消息。
当然,在步骤101步骤201中,UsrA将携带了UsrB的地址信息的消息发送给HSvr-A时,也可以将自己的地址信息,例如自己的GUID,包含在所述消息中。
为了便于描述本发明,这里定义一种简单的消息格式,但不用于限定本发明:
ToUsr:用于指定消息的目的地址,一般地,是目的用户GUID的部分或全部;
FromUsr:用于指定消息的源地址,一般地,是源用户GUID的部分或全部;
MsgCode:消息码(MsgCode,Message Code):例如,ShortMsg,表示这是一个短消息。
MsgContent:消息内容。
这样,就可以把UsrB的GUID填写到ToUsr中,把UsrA的GUID填写到FromUsr中。
在步骤102中,HSvr-A可以通过建立的SS连接,向HSvr-B发送相应的消息。HSvr-A可以根据UsrB的影码确定UsrB归属的HSvr,即HSvr-B的主机IP地址,并通过该IP地址和约定的端口号,例如统一约定1868,来连接到HSvr-B,从而建立SS连接。通过该SS连接,HSvr-A将携带了UsrB的影码的消息发送给HSvr-B。而步骤103中,HSvr-B还可以通过该连接来向HSvr-A发送回复消息。
较佳地,HSvr保存H2T与SS连接的对应关系,以便在HSvr之间发送消息时,根据消息中目的地址的H2T来确定发送所述消息所需要通过的SS连接。例如,将H2T与SS连接的对应关系保存到表5中。
表5
CC | NBC | SS连接 | Remark |
86 | 35 | SS2的SktD | HSvr-C |
86 | 133 | SS1的SktD | HSvr-B |
86 | 139 | SS1的SktD | HSvr-B |
86 | 352 | SS2的SktD | HSvr-C |
91 | 183 | SS1的SktD | HSvr-B |
91 | 562 | SS1的SktD | HSvr-B |
91 | 581 | SS1的SktD | HSvr-B |
这样,在步骤102中,HSvr-A收到来自UsrA的消息后,判断UsrB是否归属于自己,如果是,则直接根据UsrB的影码,确定相应的CS连接,通过该CS连接,将所述消息发送给UsrB。如果UsrB不归属于自己,则根据UsrB的H2T从表5所示的H2T与SS连接的对应关系中确定对应的SS连接,通过该SS连接将携带了UsrB的影码的消息发送出去,即发送给对应的HSvr,例如,用得到的SS连接的SktD作为参数,使用send()函数,将携带了UsrB的影码的消息发送出去。
可以根据CC值类型将如表5所示的H2T与SS连接的对应关系保存到两个表中。例如,将CC值为TCC的所述对应关系放到一个表中,将CC值为CTLD的所述对应关系放到另一个表中。这样,在根据一个H2T寻址对应的SS连接时,可以先根据CC值类型选择相应的对应关系表,而后再从对应的表中查找对应的SS连接。
也可以根据CC值,来建立所述H2T与SS连接的对应关系表,即对应一个国家建立一个所述H2T与SS连接的对应关系表。这样,在根据一个H2T寻址对应的SS连接时,可以先根据CC值选择相应的对应关系表,而后再从对应的表中查找对应的SS连接。
不难理解,也可以根据NBC值的类型来分别建立所述H2T与SS连接的对应关系表,并在根据一个H2T寻址对应的SS连接时,按照NBC值的类型来选择相应的对应关系表,而后再从对应的表中查找对应的SS连接。
本发明中,由于影码也是GUID,因此,UsrB的影码也是UsrB的GUID。
HSvr-A也可以按照所述H2T与HSvr的对应关系,得到的UsrB的H2T对应的主机IP地址,并判断是否是自己的IP地址,如果是,则UsrB归属于自己,否则不归属于自己。
较佳地,HSvr-A预先保存自己拥有的相关H2T,HSvr-A判断UsrB的H2T是否为自己所拥有,如果是,则UsrB归属于自己,否则不归属于自己。
需要特别说明的是,所述H2T与SS连接的对应关系,实际上是H2T与HSvr的对应关系的一种特殊形式,即对端HSvr(PeerHSvr,Peer HSvr)相关的SS连接与H2T的对应关系。因此,实际当中,按照所述H2T与HSvr的对应关系,或者预先保存的自己拥有的相关H2T,HSvr-A可以在表5中添加一些特殊记录,所述特殊记录的H2T为HSvr-A自己所拥有,对应的SS连接为某一特定值,例如-100。如表5-1所示:
表5-1
CC | NBC | SS连接 | Remark |
86 | 20 | -100 | null |
86 | 35 | SS2的SktD | HSvr-C |
86 | 92 | -100 | null |
86 | 99 | -100 | null |
86 | 133 | SS1的SktD | HSvr-B |
86 | 139 | SS1的SktD | HSvr-B |
86 | 352 | SS2的SktD | HSvr-C |
86 | 755 | -100 | null |
91 | 92 | -100 | null |
91 | 183 | SS1的SktD | HSvr-B |
91 | 562 | SS1的SktD | HSvr-B |
91 | 581 | SS1的SktD | HSvr-B |
这样,在步骤102中,HSvr-A收到来自UsrA的消息后,根据UsrB的H2T从表5-1所示的H2T与SS连接的对应关系中确定对应的SS连接,判断所述对应的SS连接是否是-100,如果是,则说明UsrB的GUID归属于自己,则直接根据UsrB的GUID,确定相应的CS连接,将所述消息发送给UsrB;如果所述对应的SS连接不是-100,则,通过该SS连接将携带了UsrB的GUID的消息发送给对应的HSvr。
一个HSvr中,如表5或表5-1所示的H2T与SS连接的对应关系,对应的SS连接根据连接的C/S类型分为两种:PHoSS型和PHoCS型。
实际当中,也可以按照SS连接的C/S类型,将表5分成两部分,即,H2T与PHoSS型连接的对应关系表,H2T与PHoCS型连接的对应关系表。
例如,腾讯、网易和微软可以达成瓜分全球H2T的协议,这样,所述H2T与HSvr的对应关系将按照该协约建立。这种情况下,腾讯可以得到相应的HSvr的主机IP地址,或者根据网易或微软的H2T,得到对应的HDomain,通过域名解析等操作得到相应的HSvr的主机IP地址。分别与这些HSvr建立SS连接,并按照所述HSvr与H2T的对应关系,建立如表5所示的H2T与SS连接的对应关系。
还例如,腾讯预先在HSvr-A中设置一个相关HSvr描述文件,该文件中,有各个HSvr,例如HSvr-B和HSvr-C等,的主机IP地址,以及相应HSvr拥有的H2T。HSvr-A启动时,加载该文件,针对该文件中的每一个HSvr,逐个执行如下过程:
步骤21、从所述HSvr描述文件中读取该HSvr的主机IP地址,以及其拥有的H2T。
步骤22、根据读取的主机IP地址,建立与该HSvr的SS连接。
步骤23、根据该HSvr对应的H2T,在表5中建立这些H2T与该SS连接的对应关系。
这样,就可以根据所述HSvr描述文件对表5进行初始化配置。
同样,网易的HSvr-B也按照腾讯的HSvr-A的处理方式来初始化表5。这样,腾讯和网易将建立双SS连接:
在HSvr-A中有两个面向HSvr-B的套接口:1、HSvr-A作为TCP服务器,侦听HSvr-B发起的连接请求并建立TCP连接时而创建的PHoSS;2、HSvr-A作为TCP客户端,向HSvr-B发起连接请求并建立TCP连接时而创建的PHoCS。这种情况下,较佳地,HSvr-A通过所述PHoSS接收来自HSvr-B的消息,通过所述PHoCS向HSvr-B发送消息。
在HSvr-B中有两个面向HSvr-A的套接口:1、HSvr-B作为TCP服务器,侦听HSvr-A发起的连接请求并建立TCP连接时而创建的PHoSS;2、HSvr-B作为TCP客户端,向HSvr-A发起连接请求并建立TCP连接时而创建的PHoCS。这种情况下,较佳地,HSvr-B通过所述PHoSS接收来自HSvr-A的消息,通过所述PHoCS向HSvr-A发送消息。
由于TCP连接可以用于双向通信,因此,HSvr-A和HSvr-B只需建立一个TCP连接即可进行信息交互。例如,HSvr-A在根据一个HSvr的主机IP地址后向该HSvr发起连接请求,建立与该HSvr的SS连接之前,还可以进一步判断是否已经建立了与该HSvr的SS连接,如果是,则在表5中建立该SS连接与该HSvr拥有的H2T的对应关系,然后结束。例如,HSvr-A从创建的各个PHoSS中查找对端IP地址与所述读取的该HSvr的主机IP地址相同的PHoSS,判断是否查找到,如果查找到,则在表5中建立该SS连接与该HSvr拥有的H2T的对应关系,然后结束。如果HSvr-B也安照这种方式处理,则,在HSvr-A和HSvr-B之间,只建立一个SS连接。
实际当中,一个国家的NBC也会发生变化。还有,全球有那么多的H2T,可能需要分配给很多家SP(服务商,Service Provider)来分别运营,而随着运营的变化,某些SP将分配给自己的H2T转让给其它SP,这也会导致原来建立的所述H2T与HSvr的对应关系发生变化。也就是说,一个HSvr所需要连接的其它HSvr可能是变化的,甚至是不确定的,并且,一个HSvr所拥有的H2T也可能会变化。因此,较佳地,通过动态维护的方式来管理表5中的对应关系数据。为便于运营维护,下面介绍HSvr动态智能配置表5的方法。
所述动态智能配置表5是指,在执行根据一个H2T从表5中查找对应的SS连接的操作时,如果没有查找到对应的SS连接,则执行如下三个步骤:
步骤31、根据该H2T按照所述H2T与HSvr的对应关系,获取对应的HSvr的主机IP地址。
步骤33、根据获取的主机IP地址和约定的端口号来连接所述对应的HSvr,建立面向所述对应的HSvr的SS连接。
步骤35、保存面向所述对应的HSvr的SS连接与该H2T的对应关系。例如,保存在如表5所示的H2T与SS连接的对应关系表中。
考虑到一个HSvr可能拥有多个H2T,因此,执行步骤33之前,还可以先执行步骤32:判断是否已经存在面向所述对应的HSvr的SS连接,如果是,则直接执行步骤35;否则,执行步骤33。如图5所示,为本发明动态配置H2T与SS连接的对应关系流程图。
如果允许两个HSvr之间建立双SS连接,则所述步骤32可以进一步是步骤32B:从创建的各个PHoCS中查找对端HSvr的IP地址与在步骤31中获取的主机IP地址相同的PHoCS,判断是否查找到,如果查找到,则认为该PHoCS对应了面向所述对应的HSvr的SS连接,则直接执行步骤35;否则,认为不存在面向所述对应的HSvr的SS连接,执行步骤33。
实际当中,根据一个PHoCS对应的SktD可以获取该PHoCS对应的对端IP地址,例如通过getpeername()函数获取所述对端的IP地址。
例如,HSvr-A要向其它的HSvr发送一个消息时,对如表5所示的H2T与SS连接的对应关系表进行动态智能配置的过程如下所示:
步骤3101、HSvr-A根据该消息的寻址目的,例如,消息的ToUsr所指示的H2T从表5中查找相应的SS连接,如果查找到,则通过该SS连接将所述消息发送出去,然后结束;否则,执行步骤3102。
步骤3102、根据所指示的H2T按照所述H2T和HSvr的对应关系,得到对应的HSvr的主机IP地址;从各个PHoCS中查找对端IP地址为所述得到的主机IP地址的PHoCS,看是否存在对应的PHoCS,如果存在,则执行步骤3103;否则,执行步骤3104。
3103、将所指示的H2T与查找到的PHoCS相应的SS连接的对应关系保存到表5中;并通过该SS连接,将所述消息发送出去,然后结束。
步骤3104、根据得到的主机IP地址和约定的端口号,例如1868,连接所述对应的HSvr,以建立面向所述对应的HSvr的SS连接,将新建立的SS连接与所指示的H2T的对应关系保存到表5中;并通过新建立的SS连接,将所述消息发送出去。
这样,就可以对如表5所示的H2T与SS连接的对应关系表进行动态智能配置。
还例如,UsrB的GUID为86*133*16882012,HSvr-A的如表5所示的H2T与SS连接的对应关系表还是一个空表,或者其中没有关于H2T值(86, 133)的记录,那么,在步骤102中,当HSvr-A发现UsrB的H2T即(86, 133)在表5中没有对应的SS连接时,HSvr-A根据H2T值(86, 133)按照所述H2T和HSvr的对应关系,找到对应的HSvr,即HSvr-B,的主机IP地址。根据HSvr-B的主机IP地址查找各个PHoCS,看能否找到对端IP地址为HSvr-B的主机IP地址的PHoCS,如果找到,则直接将该PHoCS相应的SS连接和H2T值(86, 133)的对应关系添加到表5中。如果没有找到对应的PHoCS,则根据HSvr-B的主机IP地址和约定的端口号,建立面向HSvr-B的SS连接,将新建立的SS连接和H2T值(86, 133)对应关系添加到表5中。通过所述查找到的PHoCS所对应的SS连接或所述新建立的SS连接,将携带了86*133*16882012的消息发送出去,即发送给HSvr-B。
同样,HSvr-B也保存如表5所示的H2T与SS连接的对应关系表,并且,在初始化时,可以将表5初始化为空表。HSvr-B在向HSvr-A发送消息时,例如UsrY通过HSvr-B向UsrA发送短消息,HSvr-B可以根据消息的寻址目的,按照上述HSvr-A向自己发送消息的处理方式来对表5进行动态智能配置。
按照步骤32B的处理方式,HSvr-A和HSvr-B之间可能会建立双TCP连接,即:
在HSvr-A中有两个面向HSvr-B的套接口:1、HSvr-A作为TCP服务器,侦听HSvr-B发起的连接请求并建立TCP连接时而创建的PHoSS;2、HSvr-A作为TCP客户端,向HSvr-B发起连接请求并建立TCP连接时而创建的PHoCS。这种情况下,较佳地,HSvr-A通过所述PHoSS接收来自HSvr-B的消息,通过所述PHoCS向HSvr-B发送消息。
在HSvr-B中有两个面向HSvr-A的套接口:1、HSvr-B作为TCP服务器,侦听HSvr-A发起的连接请求并建立TCP连接时而创建的PHoSS;2、HSvr-B作为TCP客户端,向HSvr-A发起连接请求并建立TCP连接时而创建的PHoCS。这种情况下,较佳地,HSvr-B通过所述PHoSS接收来自HSvr-A的消息,通过所述PHoCS向HSvr-A发送消息。
这种情况下,对于一个HSvr来说,所述H2T与SS连接的对应关系实际是H2T与PHoCS的对应关系。
由于TCP连接可以用于双向通信,因此,HSvr-A和HSvr-B只需建立一个TCP连接即可进行信息交互。如果只允许两个HSvr之间建立一个SS连接,则,所述步骤32进一步是步骤32C:从创建的各个PHoCS和PHoSS中查找对端IP地址与在步骤31中获取的主机IP地址相同的PHoCS或PHoSS,判断是否查找到,如果查找到,则认为该PHoCS或PHoSS对应了面向所述对应的HSvr的SS连接,则直接执行步骤35;否则,认为不存在面向所述对应的HSvr的SS连接,执行步骤33。
这样,在对如表5所示的H2T与SS连接的对应关系表进行动态智能配置时,可以保证HSvr-A和HSvr-B之间只建立一个TCP连接。
可以通过在表5中增加主机IP地址字段来记录对应的SS连接所面向的HSvr,这样,所述步骤32可以进一步是步骤32D:根据在步骤31中获取的主机IP地址,从表5中查找对应的SS连接,若查找到,则说明已经存在面向所述对应的HSvr的SS连接,则直接执行步骤35;否则,认为不存在面向所述对应的HSvr的SS连接,执行步骤33。
需要说明的是,实际实施本发明时,上述各个表中,对应于各个SS连接字段的值,一般地是各个HSvr内部分配给该SS连接的一个编号,例如,就象SktD一样,或者是一个指向该连接对象的指针。例如,针对SS1这个SS连接,HSvr-A内部分配的编号是123,而HSvr-B内部分配的编号是891,虽然,HSvr-A和HSvr-B分配给同一个SS连接的编号不同,但二者通过自己内部分配的编号可以确定到同一个SS连接。
本发明里,一个HSvr获取一个GUID对应的SS连接是指:根据该GUID对应的H2T,按照所述H2T与SS连接的对应关系,确定相应的SS连接。一个HSvr获取一个GUID对应的CS连接是指:根据该GUID,按照如表3-1所示建立的CS连接与IUsr的对应关系,确定相应的CS连接。
上面阐述了一个本地HSvr,例如HSvr-A,在向对端HSvr,例如HSvr-B,发送消息时,在根据目的用户的GUID进行寻址时,如果从如表5所示的H2T与SS连接的对应关系表中无法确定对应的SS连接,则该本地HSvr采用动态智能配置方法,自动配置如表5所示的H2T与SS连接的对应关系表。
一个HSvr通过如下操作中的一个或多个对用户之间的消息进行处理或交换:
消息补充(MC,Message Complement):HSvr通过CS连接收到来自客户端的消息后,根据该CS连接,按照如表3-1所示建立的CS连接与相应SCUsr的对应关系,得到源用户,即消息发送者的GUID,用该GUID更新消息的FromUsr。
消息处理(MsgProc,Message Processing):判断消息的ToUsr是否归属于自己,如果是,则执行下面提到的HomeMsgProc操作;否则,获取ToUsr对应的SS连接,通过该SS连接将所述消息发送出去。
归属消息处理(HomeMsgProc,Home Message Processing):获取消息的ToUsr对应的CS连接,通过该CS连接,将该消息发送出去。
上述基于套接口进行通信时,所述通过一个连接,例如CS连接或SS连接,将一个消息发送出去,是指通过该连接的套接口将所述消息发送出去,例如根据该套接口的套接口描述符采用send()或sendto()等函数将所述消息发送给该连接的对端。
下面以UsrA的GUID为86*755*82880808,UsrB的GUID为86*139*23812345,UsrX的GUID为86*20*39158168,为例说明UsrA向UsrB发送消息,以及UsrA向UsrX发送消息的处理过程。
该例子中,三个用户都各自连接到自己归属的HSvr,并成功登入。HSvr-A和HSvr-B建立了SS连接。
UsrA向UsrB发送消息内容为“请于本月18号上午我司研发中心面试”,过程如下:
首先,UsrA向HSvr-A发送消息如下:
ToUsr = 86*139*23812345,FromUsr = null,
MsgCode = ShortMsg,MsgContent = “请于本月18号上午来我司面试”
HSvr-A收到来自UsrA的上述消息后,先执行MC操作,得到如下消息:
ToUsr = 86*139*23812345,FromUsr = 86*755*82880808,
MsgCode = ShortMsg,MsgContent = “请于本月18号上午来我司面试”
HSvr-A而后执行MsgProc操作。
在执行MsgProc操作时,由于消息的ToUsr的H2T值为(86, 139),归属于HSvr-B,因此,通过获取的该消息的ToUsr对应的SS连接,向HSvr-B发送所述消息。
HSvr-B接收HSvr-A发送的所述消息,直接执行HomeMsgProc操作:获取86*139*23812345对应的CS连接,通过该CS连接,将该消息发送出去,由UsrB接收。
HSvr-B还可以进一步向HSvr-A发送回复消息,以告知消息是否发送成功。例如:
HSvr-B先构造回复消息,将该回复消息的MsgCode设置为消息码ShortMsg对应的回复消息码ResShortMsg,MsgContent值设置为1,表示发送成功。所述回复消息如下所示:
ToUsr = 86*755*82880808,FromUsr = 86*139*23812345,
MsgCode = ResShortMsg,MsgContent = “1”
HSvr-B通过所述回复消息的ToUsr对应的SS连接,将所述回复信息发送给HSvr-A。HSvr-B可以根据所述回复消息的ToUsr对应的H2T,从如表5所示的H2T与SS连接的对应关系表中确定相应的SS连接。
HSvr-A接收所述回复消息后,获得回复消息的ToUsr对应的CS连接,通过该CS连接,将该回复消息发送出去。
UsrA向UsrX发送消息内容为“请您于本月8日前到我司报到”,过程如下:
UsrA向HSvr-A发送消息如下:
ToUsr = 86*20*39158168,FromUsr = null,
MsgCode = ShortMsg,MsgContent = “请您于本月8日前到我司报到”
HSvr-A收到来自UsrA的上述消息后,先执行MC操作,得到如下消息:
ToUsr = 86*20*39158168,FromUsr = 86*755*82880808,
MsgCode = ShortMsg,MsgContent = “请您于本月8日前到我司报到”
HSvr-A而后执行MsgProc操作。
在执行MsgProc操作时,由于消息的ToUsr的H2T为H2T值为(86, 20),归属于HSvr-A,因此,获取86*20*39158168对应的CS连接,通过该CS连接,将该消息发送出去。
同样,HSvr-A还可以进一步向UsrA发送回复消息,以告知消息是否发送成功。例如:
HSvr-A先构造回复消息,将该回复消息的MsgCode设置为ResShortMsg,MsgContent值设置为1,表示发送成功。产生的回复消息如下所示:
ToUsr = 86*755*82880808,FromUsr = 86*20*39158168,
MsgCode = ResShortMsg,MsgContent = “1”
HSvr-B通过所述回复消息的ToUsr对应的CS连接,将该回复消息发送出去。HSvr-B可以根据所述回复消息的ToUsr,从如表3-1所示的在线用户信息表中确定相应的CS连接。
通过上述方式,UsrA还可以向UsrB发送自己的连接信息(例如IP地址、端口等),或者其它信息。
按照同样方式,UsrB可以向UsrA发送短信息或其它信息,例如IP地址信息。这样,就实现了UsrA和UsrB的跨IMS的信息交互。
同样,通过这种方式UsrA和UsrB可以进行文件交互,甚至是音频或视频信息交互。
上面为了便于理解,采用了通用的消息格式,实际当中,客户端发送到服务器的消息可以没有FromUsr部分。同样,服务器发送给客户的消息,可以没有ToUsr部分。这样做,虽然可以节省有限的消息流量,但实际应用中,往往会更加关注系统的可扩展性。
上面提到,所述SS连接可以是通过TCP协议建立的可靠连接。实际上,所述SS连接也可以是通过UDP协议建立的不可靠的虚拟连接。这样,本地HSvr仍然可以通过对应的套接口的套接口描述符来标识该虚拟连接,从而建立该虚拟连接与H2T的对应关系,以用于数据发送时的寻址,以及对上述表5所示的H2T和SS连接的对应关系的动态智能配置。本地HSvr可以通过解析接收自对端HSvr的UDP数据报得到对端HSvr的IP地址和端口号。
所述CS连接也可以是通过UDP协议建立的不可靠的虚拟连接。这样,HSvr仍然可以通过对应的套接口的套接口描述符来标识该虚拟连接,从而建立该连接与对应SCUsr的GUID的对应关系,以根据相应SCUsr的GUID确定对应的CS连接,进行消息的发送,或者,根据对应的CS连接得到对应的GUID,进行消息补充。HSvr可以通过解析接收自SCUsr的UDP数据报得到该IUsr的IP地址和端口号。
一般地,两个GUID的UCode部分相同,但HCode不同时,对应的是不同的用户。实际当中,当HCode为H2T时,有时会希望两个H2T不同,但UCode相同的影码对应同一个用户。例如,人们希望86*shen*82880808和86*755*82880808是同一个影码,当记不清楚755这个NBC时,希望用一个别名来替代它。对此,本发明提出CC等价处理方法,以及NBC等价处理方法。
本发明进一步建立CTLD与TCC的对应关系,如表9所示:
表9
CTLD | TCC | Remark |
cn | 86 | 中国 |
us | 1 | 美国 |
in | 91 | 印度 |
hk | 852 | 香港 |
vn | 84 | 越南 |
所述H2T与HSvr的对应关系中,对应的CC是TCC。这样,根据影码的H2T寻址该影码归属的HSvr时,如果H2T中的CC为一个CTLD,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC,根据该TCC和该H2T中的NBC,按照所述H2T与HSvr的对应关系来确定对应的HSvr。
相应地,所述H2T与SS连接的对应关系中,对应的CC是TCC。根据影码的H2T寻址该影码归属的HSvr时,即寻址对端HSvr为该影码归属的HSvr的SS连接时,如果该H2T中的CC为一个CTLD,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC,根据该TCC和该H2T中的NBC,按照所述H2T与SS连接的对应关系来确定对应的SS连接。
当然,考虑到数据交换的效率需要,可以直接将CTLD与相应NBC所对应的H2T与相应SS连接的对应关系也保存到如表5所示的H2T与SS连接的对应关系中。这样,根据影码的H2T寻址对端HSvr为该影码归属的HSvr的SS连接时,可以直接根据该H2T从所述H2T与SS连接的对应关系中查获对应的SS连接。这样,就免去了根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC的操作。
所述用户账户信息中,SCUsr的影码中的CC是TCC。在登陆时,如果获取的登录帐号中包括的CC为CTLD,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC,根据该TCC,和该SCUsr的NBC和UCode对应的GUID,从所述账户信息表中获取对应的账户记录数据来对登录消息进行验证。
所述在线用户信息表中,SCUsr的影码的CC是TCC。在获取SCUsr对应的CS连接时,如果该SCUsr的H2T中的CC是CTLD,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC,根据该TCC,和该SCUsr的NBC和UCode对应的GUID,从所述在线用户信息表中获取对应的CS连接。
这样,当给一个SCUsr发送消息时,如果忘记了其对应的TCC,则可以根据对应的CTLD进行呼叫。
本发明进一步建立NBCAlias与TeleCode的对应关系,如表10所示:
表10
CC | NBCAlias | TeleCode | Remark |
86 | beijing | 10 | 中国北京 |
86 | jing | 10 | 中国北京 |
86 | guang | 20 | 中国广州 |
86 | shanghai | 21 | 中国上海 |
86 | hu | 21 | 中国上海 |
86 | shen | 755 | 中国深圳 |
91 | mumbai | 22 | 印度孟买 |
91 | delhi | 11 | 印度德里 |
所述H2T与HSvr的对应关系中,对应的NBC是TeleCode。这样,根据影码的H2T寻址该影码归属的HSvr时,如果H2T中的NBC为一个NBCAlias,则根据该NBCAlias和相应的CC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode,根据该TeleCode和该H2T中的CC所对应的H2T,按照所述H2T与HSvr的对应关系来确定对应的HSvr。
相应地,所述H2T与SS连接的对应关系中,对应的NBC是TeleCode。根据影码的H2T寻址对应的SS连接时,即寻址对端HSvr为该影码归属的HSvr的SS连接时,如果该H2T中的NBC为一个NBCAlias,则根据该NBCAlias和相应的CC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode,根据该TeleCode和该H2T中的CC所对应的H2T,按照所述H2T与SS连接的对应关系来确定对应的SS连接。
当然,考虑到数据交换的效率需要,可以直接将NBCAlias与相应CC所对应的H2T与相应SS连接的对应关系也保存到如表5所示的H2T与SS连接的对应关系中。这样,根据影码的H2T寻址对端HSvr为该影码归属的HSvr的SS连接时,可以直接根据该H2T从所述H2T与SS连接的对应关系中查获对应的SS连接。这样,就免去了根据该NBCAlias和相应的CC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode的操作。
所述用户账户信息中,SCUsr的影码中的NBC是TeleCode。在登陆时,如果获取的登录帐号中包括的NBC是NBCAlias,则根据该NBCAlias和相应的CC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode,根据该TeleCode,和该SCUsr的CC和UCode对应的GUID,从所述账户信息表中获取对应的账户记录数据来对登录消息进行验证。
所述在线用户信息表中,SCUsr的影码的NBC是TeleCode。在获取SCUsr对应的CS连接时,如果该SCUsr的H2T中的NBC是NBCAlias,则根据该NBCAlias和相应的CC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode,根据该TeleCode,和该SCUsr的CC和UCode对应的新GUID,根据新的账号从所述在线用户信息表中获取对应的CS连接。
这样,当给一个SCUsr发送消息时,如果忘记了其对应的FAC,则可以根据对应的地区别名进行呼叫。关于FAC,参见后面描述。
本发明称CC为TCC且NBC为TeleCode的H2T为电码型H2T(TeleH2T,Telegraphic H2T)。当一个H2T的CC为CTLD,或者NBC为NBCAlias,则称该H2T为一个别名类H2T,或H2T别名(H2TAlias,H2T Alias)。
通过建立CTLD与TCC的对应关系,以及建立NBCAlias与TeleCode的对应关系,可以将一个H2TAlias转换成一个TeleH2T。
例如,通过表9建立CTLD与TCC的对应关系,通过表10建立NBCAlias与TeleCode的对应关系。在表10中,对应的CC是TCC。这种情况下,将一个H2TAlias转换成一个TeleH2T的过程如下:
步骤51、如果该H2TAlias的CC为一个CTLD,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC。
步骤52、如果该H2TAlias的NBC为一个NBCAlias,则根据该NBCAlias和该H2TAlias的TCC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode。
这样由所述TCC和所述TeleCode得到对应的TeleH2T。
为了减少所述H2T与HSvr的对应关系数据,该对应关系中,对应的H2T是TeleH2T。这样,根据影码的H2T寻址该影码归属的HSvr进一步是:根据影码的H2T对应的TeleH2T寻址该影码归属的HSvr。
为了减少所述H2T与SS连接的对应关系数据,该对应关系中,对应的H2T可以是TeleH2T。这样,根据影码的H2T寻址该影码对应的SS连接时,即寻址对端HSvr为该影码归属的HSvr的SS连接进一步是:根据影码的H2T对应的TeleH2T寻址该影码对应的SS连接。
所述在线用户信息表中,SCUsr的影码中,对应的H2T是TeleH2T。在获取SCUsr对应的CS连接时,先得到该SCUsr的H2T对应的TeleH2T,根据该TeleH2T和该SCUsr的UCode等所对应的影码,从所述在线用户信息表中获取对应的CS连接。
按照影码寻址技术,可以将电信网中的实际电话号码完全映射到IMN中的影码里,即,所述电话号码集是影码集的一个子集。可以从电话号码左边截取对应的TCC和NBC,将截取TCC和NBC后剩余的部分作为一个影码的UCode。所述NBC是电话号码中,所述TCC之后的若干位数字串,例如,对于8613923812345来说,对应的TCC为86,对应的NBC是139,或13、或1。实际当中,不同的TCC,对应的NBC长度可以不同,例如:TCC为86,NBC长度为3;TCC为84,NBC长度为2。
一般地,对应于固定电话号码,所述NBC为固定电话区号(FAC,Fixed Area Code);对应于移动电话号码,所述NBC为移动接入号(MAN,Mobile Access Number)。
可以将一个电话号码转换成一个影码。例如,根据一个电话号码,匹配全球TCC码表,可以从该电话号码中截取对应的TCC,将该TCC作为对应影码的CC值。而后用截取该TCC后剩下的部分匹配该TCC所对应国家的FAC码表以及MAN码表,得到对应影码的NBC值。一个电话号码在截取对应的CC值和NBC值后,得到的部分即为对应影码的UCode值。
可见,基于本发明的影码寻址技术,可以根据一个TNUsr的电话号码寻址IMN中的HSvr,从而可以实现GUID与电话号码形影合一的目的。
例如,手机号码8613923812345中,86为中国的TCC,NBC为139,UCode为23812345。这样,一个TNUsr要在IMN中注册一个与其电话号码完全相同的影码就成为可能。例如,一个手机号码为13316882012的中国用户,如果在网易的IMS中,在中国的133这个NBC下注册一个UCode为16882012的影码,即86*133*16882012,那么,这个用户就可以告诉朋友或家人其GUID和手机号码相同,从而方便了他人记忆。还例如,对于深圳固定电话号码82880808,可以在腾讯的即时通信系统中,在中国的755这个NBC下注册一个UCode为82880808的影码,即86*755*82880808。这里,755对应了深圳的区号。
由于影码可以作为现有电信网络中电话号码的影子,通过影码寻址实现的通信网络中,可以让影码达到和现有电话号码如影随形的效果,因此,影码具备推动GUID的主动发现能力,从而加快即时通信业的发展。例如,一个用户在得到他人的电话号码后,虽然不知道这个人是否有GUID,但却可以尝试根据伴随这个电话号码的“影子”,即对应的影码与这个人进行即时通信。
基于上述影码寻址方法,可以在互联网中构建一个电信网的影子网络,即电信影子网,这样,就可以实现在互联网中,根据电话号码进行寻址的技术效果。
以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之类,所作的任何修改、改进、等同替换等均应包含在本发明的保护范围之内。
Claims (10)
1.一种影码寻址方法,其特征在于,所述方法包括以下步骤:
a、建立H2T与HSvr的对应关系;
b、根据影码的H2T按照所述H2T与HSvr的对应关系,确定该影码归属的HSvr。
2.根据权利要求1所述的方法,其特征在于,
步骤a是指:将所述H2T和HSvr的对应关系保存在本地,相应的,步骤b是指:根据影码的H2T从本地保存的所述H2T与HSvr的对应关系中确定该影码归属的HSvr;
或者,步骤a是指:建立与GUIDAS的通信连接,所述GUIDAS保存了H2T和HSvr的对应关系,相应的,步骤b是指:根据影码的H2T,访问GUIDAS确定该影码归属的HSvr;
或者,步骤a是指:通过设置域名构造模块来建立所述H2T与HSvr的对应关系,相应的,步骤b是指:根据影码的H2T,通过设置的域名构造模块产生对应的HDomain,通过解析所述HDomain,得到所指向的该影码归属的HSvr。
3.根据权利要求1所述的方法,其特征在于,进一步建立CTLD与TCC的对应关系,所述H2T与HSvr的对应关系中,对应的CC是TCC;在步骤b中,根据影码对应的H2T寻址该影码归属的HSvr时,如果H2T中的CC为一个CTLD,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到对应的TCC,根据该TCC和该H2T中的NBC,按照所述H2T与HSvr的对应关系来确定对应的HSvr。
4.根据权利要求1所述的方法,其特征在于,进一步建立NBCAlias与TeleCode的对应关系,所述H2T与HSvr的对应关系中,对应的NBC是TeleCode;在步骤b中,根据影码对应的H2T寻址该影码归属的HSvr时,如果H2T中的NBC为一个NBCAlias,则根据该NBCAlias和相应的CC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode,根据该TeleCode和该H2T中的CC,按照所述H2T与HSvr的对应关系来确定对应的HSvr。
5.一种通信方法,其特征在于,建立H2T与HSvr的对应关系;所述方法包括以下步骤:
a、客户端将包括目的影码的消息发送给归属的HSvr,即本地HSvr;
b、所述本地HSvr按照所述H2T与HSvr的对应关系,确定所述目的影码归属的HSvr,即对端HSvr,将包括目的影码的消息发送给该对端HSvr;
c、所述对端HSvr收到来自所述本地HSvr的消息后,根据消息里的目的影码,将该消息发送给该目的影码对应的客户端。
6.根据权利要求5所述的方法,其特征在于,所述本地HSvr与至少一个对端HSvr建立SS连接,并保存SS连接与H2T的对应关系;步骤b所述根据所述目的影码,按照所述H2T与HSvr的对应关系,确定对端HSvr是指,根据所述目的影码的H2T,按照保存的SS连接与H2T的对应关系,确定对应的SS连接;所述将包括目的影码的消息发送给该对端HSvr是指,通过确定的SS连接,将包括目的影码的消息发送出去。
7.一种动态配置H2T与SS连接的对应关系的方法,其特征在于,所述方法包括以下步骤:
a、HSvr根据寻址目的影码的H2T,按照保存的SS连接与H2T的对应关系,获取对应的SS连接,判断是否得到,如果得不到对应的SS连接,则根据所述寻址目的影码,按照预先建立的H2T与HSvr的对应关系获取对应的主机IP地址;
b、按照该主机IP地址连接所述对端HSvr,建立SS连接;
c、保存得到的SS连接与所述寻址目的影码的H2T的对应关系。
8.根据权利要求7所述的方法,其特征在于,在步骤b之前,进一步根据所述对应的主机IP地址获取面向所述对端HSvr的SS连接,判断是否得到,如果是,则直接执行步骤c;否则,执行步骤b。
9.一种消息交换方法,其特征在于,建立H2T与SS连接的对应关系;所述方法包括以下步骤:
a、根据消息中寻址目的影码的H2T,按照所述H2T和SS连接的对应关系,进行寻址,从而获取对应的SS连接;
b、通过获取的SS连接将所述消息发送给对端HSvr。
10.一种H2TAlias转换方法,其特征在于,建立CTLD与TCC的对应关系,以及建立NBCAlias与TeleCode的对应关系;所述方法包括以下步骤:
a、判断H2TAlias的CC是否为一个CTLD,如果是,则根据该CTLD,按照所述CTLD与TCC的对应关系,得到该H2TAlias对应的TCC;
b、判断该H2TAlias的NBC是否为一个NBCAlias,如果是,则根据该NBCAlias和该H2TAlias的TCC,按照所述NBCAlias与TeleCode的对应关系,得到对应的TeleCode;
c、根据所述TCC和所述TeleCode得到对应的TeleH2T。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310049772XA CN103297555A (zh) | 2012-02-23 | 2013-02-08 | 影码寻址方法 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210041677 | 2012-02-23 | ||
CN201210041677.0 | 2012-02-23 | ||
CN201310049772XA CN103297555A (zh) | 2012-02-23 | 2013-02-08 | 影码寻址方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103297555A true CN103297555A (zh) | 2013-09-11 |
Family
ID=49097857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310049772XA Pending CN103297555A (zh) | 2012-02-23 | 2013-02-08 | 影码寻址方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297555A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657425A (zh) * | 2015-11-03 | 2017-05-10 | 王正伟 | 驻地码自动发现方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713621A (zh) * | 2004-06-25 | 2005-12-28 | 腾讯科技(深圳)有限公司 | 一种企业即时通信方法及系统 |
CN1735052A (zh) * | 2004-08-09 | 2006-02-15 | 岳东晓 | 以现有dns(域名服务)为基础实现由电话号码向ip网络地址映射的系统和方法 |
CN1754162A (zh) * | 2002-12-27 | 2006-03-29 | 诺基亚公司 | 用于促进不同服务提供商之间即时通讯事务的方法和系统 |
CN101102336A (zh) * | 2007-06-14 | 2008-01-09 | 中兴通讯股份有限公司 | 一种电话号码映射域名服务器的内存处理方法及装置 |
CN101753636A (zh) * | 2009-12-23 | 2010-06-23 | 新太科技股份有限公司 | 一种统一通信实现动态域名访问方法及系统 |
CN102333105A (zh) * | 2010-07-14 | 2012-01-25 | 华为技术有限公司 | 业务通信的方法、系统、推送客户端和用户设备 |
-
2013
- 2013-02-08 CN CN201310049772XA patent/CN103297555A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1754162A (zh) * | 2002-12-27 | 2006-03-29 | 诺基亚公司 | 用于促进不同服务提供商之间即时通讯事务的方法和系统 |
CN1713621A (zh) * | 2004-06-25 | 2005-12-28 | 腾讯科技(深圳)有限公司 | 一种企业即时通信方法及系统 |
CN1735052A (zh) * | 2004-08-09 | 2006-02-15 | 岳东晓 | 以现有dns(域名服务)为基础实现由电话号码向ip网络地址映射的系统和方法 |
CN101102336A (zh) * | 2007-06-14 | 2008-01-09 | 中兴通讯股份有限公司 | 一种电话号码映射域名服务器的内存处理方法及装置 |
CN101753636A (zh) * | 2009-12-23 | 2010-06-23 | 新太科技股份有限公司 | 一种统一通信实现动态域名访问方法及系统 |
CN102333105A (zh) * | 2010-07-14 | 2012-01-25 | 华为技术有限公司 | 业务通信的方法、系统、推送客户端和用户设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106657425A (zh) * | 2015-11-03 | 2017-05-10 | 王正伟 | 驻地码自动发现方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11411897B2 (en) | Communication method and communication apparatus for message queue telemetry transport | |
US9961164B2 (en) | DNS overriding-based methods of accelerating content delivery | |
US8874718B2 (en) | Method and device for storing domain name system records, method and device for parsing domain name | |
US8370457B2 (en) | Network communication through a virtual domain | |
CN1930848B (zh) | 用于万维网服务处理的方法和系统 | |
CN109151009B (zh) | 一种基于mec的cdn节点分配方法和系统 | |
JP2007143172A (ja) | テレコミュニケーションサービスへの汎用アクセスのための一体化されたディレクトリ及び存在状況システム | |
US12015661B2 (en) | Domain name services servers management to share data efficiently | |
KR20040034612A (ko) | 무선 장치들과의 양방향 개시 데이터 통신을 위한 방법 및시스템 | |
CN101834910A (zh) | 域名解析方法及装置 | |
US8583826B2 (en) | Method and arrangement for delivering electronic state message information | |
CN101282368A (zh) | 保存域名系统记录的方法、装置、域名解析方法及装置 | |
WO2007085167A1 (en) | A method, system and application of implementing an identification of a service based on an address | |
US20040034705A1 (en) | Connecting devices in a data network | |
CN104125310B (zh) | 基于半永久地址的消息发送方法 | |
CN101567879A (zh) | 处理终端请求的方法、服务器、设备和系统 | |
CN101938789A (zh) | 选择具有指定能力的分组网络网关的方法及系统 | |
CN103297555A (zh) | 影码寻址方法 | |
JP5241665B2 (ja) | 通信装置、通信システムおよび通信方法 | |
CN103391333A (zh) | 支持guid迁移的网络及相关消息处理方法 | |
CN100355315C (zh) | 一种电话号码到统一资源标识映射的业务实现方法 | |
KR20020044823A (ko) | 인터넷망에서 개인 식별자에 의한 통신 서비스를 제공하는장치 및 그 방법 | |
KR101485764B1 (ko) | 오픈 api를 사용한 도메인 네임 관리 서비스 제공방법 | |
CN103297444A (zh) | 身份解析方法和装置 | |
CN103986795A (zh) | 电话号码映射方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 |
|
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130911 |
|
WD01 | Invention patent application deemed withdrawn after publication |