分布式网络通讯系统及其建立通讯的方法

文档序号:7621978阅读:93来源:国知局
专利名称:分布式网络通讯系统及其建立通讯的方法
技术领域
本发明涉及一种网络通讯系统,特别是跨地域的、跨越不同网络如因特网、固定电话网和无线网等、能支持数量巨大的用户的分布式网络通讯系统及其建立通讯的方法。
背景技术
网络通讯系统,以下简称通讯系统,是分布在远程的诸多用户通过其所连接的公共网络,包括因特网、固定电话网和无线网等,来进行相互音频或音视频通讯的应用系统。因为通讯系统建立在已经存在的公网上,故它不是一个专用的物理网络,而是一个专用的逻辑网络。通讯网络的特性由它的结构和路由规则决定。
目前,公知的网络通讯系统分为集中式和分布式两种。由于网络的复杂性,建立在公网上的大规模的网络通讯系统都采用分布式的系统。该分布式系统又包括两层结构的分布式系统和三层结构的分布式系统,其中两层结构的分布式系统的第一层为分布的通讯服务器群,其分布的通讯服务器相互链接组成一个虚拟的服务器网络;第二层为连接在各通讯服务器上的通讯终端。三层结构的分布式系统则加上第三层的另外的少量的中心服务器。其中通讯终端即用户直接使用的设备,负责用户本地原始音视频数据的采集、处理和传送以及远程音视频数据的接收、处理和显示;通讯服务器负责接收、处理和管理通讯终端用户的注册以及通讯终端相互之间的通讯请求,并在需要的时候转发音视频数据。在跨网络的时候通讯服务器需要附带网关模块以连接不同性质的网络,如因特网和固话网。
为了让通讯终端用户可以相互呼叫,每个用户必须分配一个通讯号码。为了实现认证和寻呼,现有技术里通讯号码一般与服务器绑定,即某一组号码固定在某一服务器上注册,如同传统固定电话,某一电话号码从属于某一电话接口或某一电话局。通讯终端用户,如因特网上的用户,在服务器注册时向服务器登记所使用的该通讯终端的网络地址和用户号码,以便其他用户呼叫。我们称发动呼叫的用户为主叫用户,接受呼叫的用户称为被叫用户。主叫用户所登录的服务器为主叫服务器,被叫用户所登录的服务器为被叫服务器。
当主叫用户通过主叫服务器向被叫用户发出通讯请求,如果被叫用户也在同一服务器注册,服务器或者直接向被叫用户转发通讯请求,或者向主叫用户提供被叫用户的网络地址让主叫用户向被叫用户发送通讯请求。如果被叫用户在另一服务器注册,因为用户号码跟服务器绑定,主叫服务器从被叫号码可以查到被叫号码在哪个服务器注册,主叫服务器可以将呼叫转移到被叫服务器,完成路由。
目前的这样的通讯系统有一定缺陷,举例如下(1)因为用户号码从属于通讯服务器,即使对因特网的用户,用户的号码也必须带有地域性的特征号,如同固定电话的区域号码,这样对号码的分配会一定限制,也没有表现出因特网无地域的特性;(2)当用户在不同的地域连网时,也必须链接到其原来从属的服务器登录,而从网络连接的方面来说,该服务器已经不是一个好的选择,甚至可能已经无法登录;(3)当某一服务器出现故障时,就会造成属下的用户无法通讯,即使服务器采用双备份,服务器所在的网段也可能出现故障而无法登录,即系统具有单点失败的危险;(4)对于大规模的通讯系统,可能有很大数量的通讯服务器,而通讯服务器要能够协作必须有一定的相互关系,大量的固定的通讯服务器关系造成配置困难和难于管理;(5)固定的通讯服务器关系,使得无法进行服务器负载分配。

发明内容
本发明要解决的技术问题是,针对上述现有技术的缺陷,提供一种分布式网络通讯系统及其建立通讯的方法,能够在全球范围内支持大量流动用户的、高效率,高可用性,便于管理和路由,可实现大规模通讯系统中通讯服务器的动态组合。
为解决上述技术问题,本发明提供一种分布式网络通讯系统,包括中心服务器、多个通讯服务器和多个通讯终端,所述中心服务器为每一用户分配唯一的用户号码,用户通过通讯终端登录中心服务器,中心服务器在接受通讯终端的登录后,根据登录的通讯终端的用户信息和通讯服务器的负载状况,为该登录的通讯终端分配一通讯服务器,该通讯服务器在建立通讯时才与其它通讯服务器连接。
所述用户信息包括通讯终端的网络地址和环境信息。
所述通讯终端还具有固定电话号码,该固定电话号码与分配的用户号码的对应关系在注册的时候缓存在所述中心服务器。
所述通讯终端缓存有常用号码表格,该常用号码表格在其中的各常用号码所在通讯终端登录其所分配的通讯服务器时更新。
所述中心服务器将所述多个通讯服务器的数据备份,且该中心服务器的数据可于不同的公网网络地址远程备份。
本发明还提供一种分布式网络通讯系统建立通讯的方法,该分布式网络通讯系统包括中心服务器、多个通讯服务器和多个通讯终端,包括下列步骤a.用户通过通讯终端利用所述中心服务器为其分配的唯一的用户号码登录所述中心服务器,该中心服务器根据登录的该通讯终端的用户信息和通讯服务器的负载状况,为该通讯终端分配通讯服务器;b.所述通讯终端登录为其分配的通讯服务器;c.所述通讯终端发出呼叫请求,为其分配的通讯服务器作为主叫通讯服务器,建立与被叫号码所在被叫通讯服务器之间的路由;以及d.所述通讯终端通过所述主叫通讯服务器与所述被叫通讯服务器之间建立的路由与被叫号码进行通讯。
所述用户信息包括通讯终端的网络地址和环境信息。
所述步骤b进一步包括所述通讯服务器接收所述通讯终端的登录后,向所述通讯终端发送登录确认信息,并向所述中心服务器报告该通讯终端的状态;所述通讯终端缓存其登录的通讯服务器的信息;所述中心服务器更新通讯终端的状态数据。
所述步骤c进一步包括c1.所述通讯终端判断被叫号码是否缓存在其常用号码表格中,如果是,则从其常用号码表格中提取被叫号码所在被叫通讯服务器的呼叫路由,并将该被叫通讯服务器的呼叫路由加入被叫号码,送到主叫通讯服务器;否则,只将被叫号码送到主叫通讯服务器;c2.主叫通讯服务器接到被叫号码,判断该被叫号码是否在其上注册,如果是,则直接向被叫号码所在被叫通讯终端发出呼叫请求;以及c3.否则,则主叫通讯服务器根据已知的被叫通讯服务器的呼叫路由,或者从中央服务器索取到的被叫通讯服务器的呼叫路由,将呼叫请求传送给该被叫通讯服务器,由被叫通讯服务器向被叫号码所在被叫通讯终端发出呼叫请求。
所述步骤b进一步包括所述通讯终端在为其分配的通讯服务器登录后,通知其常用号码表格中缓存的常用号码其通讯服务器及相应路由信息。
本发明具有以下有益效果(1)每个通讯终端分配全球唯一的用户号码,该用户号码不受地域限制。
(2)通讯终端登录时首先登录中心服务器,由中心服务器根据其用户信息以及系统的状态如负载情况,为通讯终端分配一合适用户终端所在位置的通讯服务器登录,实现通讯服务器动态分配。
(3)通讯服务器采用动态连接的结构,只在有通讯需要的时候才建立连接,没有通讯或通讯结束后不与其它通讯服务器连接或断开连接,改变了现有的通讯服务器之间的固定关系,易于配置、便于管理。
(4)通讯服务器缓存有存储常用号码及其路由关系等信息的常用号码表格,且该常用号码表格可在其中的常用号码登陆时自动更新,便于使用,且通讯服务器有自动二次路由功能,第一次根据常用号码表格缓存的路由,如果路由已改变则访问中心服务器更新缓存,再进行第二次路由,保证了建立通讯的准确性、可靠性。
(5)本发明的中心服务器可将各个通讯服务器的数据备份,当某一通讯服务器出现问题或故障时,中心服务器可重新分配通讯服务器,保证通讯继续进行,且该中心服务器可采用数据远程备份,避免其出现故障时系统中断,保证系统正常运转。由此增强了系统的运行可靠性和稳定性。
(6)本发明能够在全球范围内支持大量流动用户,效率高,可用性高,且便于管理和路由。


图1是本发明的分布式网络通讯系统的示意图。
图2是本发明的分布式网络通讯系统建立通讯的方法的流程图。
图3是本发明的通讯终端登录通讯服务器的流程图。
图4是本发明的通讯终端建立呼叫路由的流程图。
图5是本发明的通讯终端缓存的常用号码更新的顺序图。
具体实施例方式
如图1所示,本发明的分布式网络通讯系统采用三层结构,即包括中心服务器1、多个通讯服务器2和多个通讯终端3。其中中心服务器1用于通讯终端3注册、通讯服务器2分配、通讯服务器2及通讯终端3的管理以及通讯管理;通讯服务器2负责接收、处理和管理通讯终端3的登录以及通讯终端3相互之间的通讯请求,并转发音视频数据;通讯终端3则是用户直接使用的设备,负责用户本地原始音视频数据的采集、处理和传送以及远程音视频数据的接收、处理和显示。
该通讯终端3在中心服务器1注册,并由中心服务器1分配唯一的用户号码,该用户号码不具有地域特征,可在任何地方登录中心服务器1。当然通讯终端3可以同时具有接入固定电话网的固定电话接口,此时一个通讯终端可以同时有固定电话号码和本系统的用户号码,固定电话号码与本系统的用户号码的对应关系在通讯终端3注册的时候可缓存在中心服务器1。
该中心服务器1在接受任一通讯终端如通讯终端31的登录后,可遵循如STUN(Simple Traversal of UDP Through NATs,是由IETF研制的一种UDP流协议穿透NAT的协议)协议通过与该通讯终端3通讯得到该通讯终端31的用户信息,该用户信息包括该通讯终端所在网络地址和环境信息。而后,该中心服务器1根据该用户信息以及中心服务器1所连接通讯服务器2的状态如负载情况,为该登录的通讯终端31分配一合适该通讯终端31所在位置的通讯服务器如通讯服务器21,指定该通讯终端31由此通讯服务器21登录。
如图2所示,本发明的分布式网络通讯系统建立通讯的方法,基本包括a.通讯终端利用所述中心服务器为其分配的唯一的用户号码登录所述中心服务器,该中心服务器根据登录的该通讯终端的用户信息和通讯服务器的负载状况,为该通讯终端分配通讯服务器;b.所述通讯终端登录为其分配的通讯服务器;c.所述通讯终端发出呼叫请求,为其分配的通讯服务器作为主叫通讯服务器,建立与被叫号码所在被叫通讯服务器之间的路由;以及d.所述通讯终端通过所述主叫通讯服务器与所述被叫通讯服务器之间建立的路由与被叫号码进行通讯。
登录过程如图3所示。首先在步骤301启动通讯终端3,该通讯终端3登录中心服务器1,在步骤302由该中心服务器1判断该通讯终端3是否已经注册,如果该通讯终端3已经在中心服务器1注册,则于步骤303填入用户ID和密码;否则先在步骤304在该中心服务器1中注册后并获得指定用户ID后再执行步骤303。接着在步骤305判断填入的用户ID和密码是否正确,如果不正确,则返回步骤303;否则在步骤306由中心服务器1检查该通讯终端3的用户信息,如网络地址环境等。而后在步骤307判断该通讯终端3的用户信息是否有变,如果没有变化,则在步骤308登录分配给该通讯终端3的通讯服务器2,如果有变化,则先在步骤309由中心服务器1重新根据通讯终端3的用户信息和系统中通讯服务器的状态如负载情况给该通讯终端3分配通讯服务器,再进入步骤308。如果在步骤307成功登录通讯服务器2,则通讯服务器2向通讯终端3发送登录确认信息(步骤310),同时向中心服务器1报告通讯终端3的状态(步骤311)。而后,通讯终端3缓存该登录的通讯服务器2的信息(步骤313),中心服务器1更新通讯终端3的状态数据(步骤314)。完成登录的过程。
通讯终端3可建立并缓存可设多个常用号码及其路由关系等相关信息的常用号码表格,该表格设置可如表所示,其更新方法将在下文中作详细介绍。

当通讯终端3如通讯终端31进行呼叫时,如图4所示,先检索被叫号码是否缓存在其常用号码表格中(步骤401),如果在常用号码表格中检索到被叫号码,则通讯终端31从其缓存中提取被叫号码所在通讯服务器如通讯服务器32的ID(步骤402),即被叫通讯服务器22的ID,并将该被叫通讯服务器22的ID加入被叫号码(步骤403),而后在步骤404,将呼叫请求(被叫号码连同被叫通讯服务器22的ID)送到分配给该通讯终端31的通讯服务器21,即主叫通讯服务器21。如果在常用号码表格中没有检索到被叫号码,则直接进入步骤404。主叫通讯服务器21接到呼叫请求后,在步骤405,检索被叫号码是否在其上注册,如果是,则直接向被叫号码所在被叫通讯终端如通讯终端32发出呼叫请求(步骤406),并结束路由。如果被叫号码没有在主叫通讯服务器21上注册,则进入步骤407,主叫通讯服务器21判断是否知道被叫通讯服务器22的呼叫路由。如果主叫通讯服务器21知道其呼叫路由(主叫通讯服务器可以从呼叫请求中解析出被叫通讯服务器ID,从而知道如何路由呼叫),则执行步骤408,将呼叫请求传送给该被叫通讯服务器22;否则,进入步骤409,先从中央服务器1索取到被叫通讯服务器22的路由信息,再执行步骤408。发送呼叫请求的过程中,如果主叫通讯服务器21发现到被叫通讯服务器22的呼叫路由信息错误或者已经过期,则返回步骤409,进行第二次路由,重新从中央服务器1获取被叫通讯服务器22的路由信息,直到确认路由信息正确,则进入步骤410,由被叫通讯服务器22向被叫号码所在被叫通讯终端32发出呼叫请求,并结束路由。
由此可见,通讯服务器2只有在建立通讯时才与其它通讯服务器连接。在没有通讯或通讯结束后通讯服务器2不与其它通讯服务器连接或断开连接。
通讯终端3如通讯终端31在进行呼叫时,需要先对其缓存的常用号码表格进行检索,判断被叫号码是否是缓存在该表格中的常用号码。如果是常用号码表格中的常用号码,则可以直接从缓存中提取被叫号码所在通讯服务器的ID。该常用号码表格中的内容可以在各常用号码所在通讯终端如通讯终端32登录时更新,其更新过程如图5所示。以一好友号码为例,该好友号码所在通讯终端32登录中心服务器1,由中心服务器1根据其用户信息以及通讯服务器的状态如负载情况分配通讯服务器如通讯服务器22,在更新过程中该通讯服务器22为主叫通讯服务器。该好友号码所在通讯终端32登录分配的通讯服务器22,在通讯服务器22返回登录确认后,对好友号码所在通讯终端32缓存的常用号码表格中的常用号码所在通讯终端(包括通讯终端31)的通讯服务器(在此作为被叫通讯服务器)一一发出更新请求,由该通讯服务器通知其各自服务的好友号码所在通讯终端32缓存的常用号码表格中的常用号码所在通讯终端(包括通讯终端31),该好友号码通讯终端32所在通讯服务器22以及相关路由等信息。从而更新了通讯终端31所缓存的该好友号码的相关信息。此一过程也可体现在图3所示的步骤315中。根据这一方法,通讯终端3缓存的常用号码表格中的常用号码的相关信息可以一一在对应常用号码登录时得到更新。当通讯终端呼叫常用号码时,可以直接告诉主叫通讯服务器被叫通讯服务器的ID,让主叫通讯服务器知道如何路由。
此外,本发明的中心服务器1可以将各个通讯服务器2中的数据备份,当某一通讯服务器2出现问题或故障时,原来注册在这个通讯服务器2上的通讯终端3会失去该通讯服务器2,其将自动登录中心服务器1,重新由中心服务器1分配通讯服务器2,并转接至重新分配的通讯服务器2,继续通讯。且已经在通讯中的通讯终端3,由于通讯数据是不经过通讯服务器2的,只是控制信号经过通讯服务器2传送,所以中心服务器1控制由新的通讯服务器2接管该通讯终端3,而通讯终端3正在进行的通讯并不受到影响。
同时,对该中心服务器1可以采用数据远程备份,将其数据远程备份在不同的公网网络地址,当中心服务器1出现故障时,将中心服务器1远程备份的数据传送至一网络条件足够的通讯服务器2,由该通讯服务器作为中心服务器的远程热备份,接替中心服务器1的工作,使系统运转不受影响。
权利要求
1.一种分布式网络通讯系统,包括中心服务器、多个通讯服务器和多个通讯终端,其特征在于所述中心服务器为每一用户分配唯一的用户号码,用户通过通讯终端登录中心服务器,中心服务器在接受通讯终端的登录后,根据登录的通讯终端的用户信息和通讯服务器的负载状况,为该登录的通讯终端分配一通讯服务器,该通讯服务器在建立通讯时才与其它通讯服务器连接。
2.根据权利要求1所述的分布式网络通讯系统,其特征在于所述用户信息包括通讯终端的网络地址和环境信息。
3.根据权利要求1所述的分布式网络通讯系统,其特征在于所述通讯终端还具有固定电话号码,该固定电话号码与分配的用户号码的对应关系在注册的时候缓存在所述中心服务器。
4.根据权利要求1所述的分布式网络通讯系统,其特征在于所述通讯终端缓存有常用号码表格,该常用号码表格在其中的各常用号码所在通讯终端登录其所分配的通讯服务器时更新。
5.根据权利要求1所述的分布式网络通讯系统,其特征在于所述中心服务器将所述多个通讯服务器的数据备份,且该中心服务器的数据可于不同的公网网络地址远程备份。
6.一种分布式网络通讯系统建立通讯的方法,该分布式网络通讯系统包括中心服务器、多个通讯服务器和多个通讯终端,其特征在于包括下列步骤a.用户通过通讯终端利用所述中心服务器为其分配的唯一的用户号码登录所述中心服务器,该中心服务器根据登录的该通讯终端的用户信息和通讯服务器的负载状况,为该通讯终端分配通讯服务器;b.所述通讯终端登录为其分配的通讯服务器;c.所述通讯终端发出呼叫请求,为其分配的通讯服务器作为主叫通讯服务器,建立与被叫号码所在被叫通讯服务器之间的路由;以及d.所述通讯终端通过所述主叫通讯服务器与所述被叫通讯服务器之间建立的路由与被叫号码进行通讯。
7.根据权利要求6所述的方法,其特征在于所述用户信息包括通讯终端的网络地址和环境信息。
8.根据权利要求6所述的方法,其特征在于所述步骤b进一步包括所述通讯服务器接收所述通讯终端的登录后,向所述通讯终端发送登录确认信息,并向所述中心服务器报告该通讯终端的状态;所述通讯终端缓存其登录的通讯服务器的信息;所述中心服务器更新通讯终端的状态数据。
9.根据权利要求6所述的方法,其特征在于所述步骤c进一步包括c1.所述通讯终端判断被叫号码是否缓存在其常用号码表格中,如果是,则从其常用号码表格中提取被叫号码所在被叫通讯服务器的呼叫路由,并将该被叫通讯服务器的呼叫路由加入被叫号码,送到主叫通讯服务器;否则,只将被叫号码送到主叫通讯服务器;c2.主叫通讯服务器接到被叫号码,判断该被叫号码是否在其上注册,如果是,则直接向被叫号码所在被叫通讯终端发出呼叫请求;以及c3.否则,则主叫通讯服务器根据已知的被叫通讯服务器的呼叫路由,或者从中央服务器索取到的被叫通讯服务器的呼叫路由,将呼叫请求传送给该被叫通讯服务器,由被叫通讯服务器向被叫号码所在被叫通讯终端发出呼叫请求。
10.根据权利要求6所述的方法,其特征在于所述步骤b进一步包括所述通讯终端在为其分配的通讯服务器登录后,通知其常用号码表格中缓存的常用号码其通讯服务器及相应路由信息。
全文摘要
本发明提供一种分布式网络通讯系统,包括中心服务器、多个通讯服务器和多个通讯终端,所述中心服务器为每一用户分配唯一的用户号码,用户通过通讯终端登录中心服务器,中心服务器在接受通讯终端的登录后,根据登录的通讯终端的用户信息和通讯服务器的负载状况,为该登录的通讯终端分配一通讯服务器,该通讯服务器在建立通讯时才与其它通讯服务器连接。本发明还提供一种分布式网络通讯系统建立通讯的方法。
文档编号H04L29/12GK1913469SQ20051009070
公开日2007年2月14日 申请日期2005年8月11日 优先权日2005年8月11日
发明者程明 申请人:邦和数码有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1