CN106302827A - 基于分布式系统的通信方法、设备及分布式系统 - Google Patents
基于分布式系统的通信方法、设备及分布式系统 Download PDFInfo
- Publication number
- CN106302827A CN106302827A CN201610941059.XA CN201610941059A CN106302827A CN 106302827 A CN106302827 A CN 106302827A CN 201610941059 A CN201610941059 A CN 201610941059A CN 106302827 A CN106302827 A CN 106302827A
- Authority
- CN
- China
- Prior art keywords
- service server
- terminal unit
- communication information
- server
- caching
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种基于分布式系统的通信方法、设备及分布式系统,该方法包括:接收第一终端设备发送的通信消息,所述通信消息的目的地址为第二终端设备;判断所述第二终端设备是否接入所述第一业务服务器;若判断结果为否,则将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,并向所述第二终端设备发送所述通信消息。用于提高通信的可靠性。
Description
技术领域
本发明实施例涉及通信技术领域,尤其涉及一种基于分布式系统的通信方法、设备及分布式系统。
背景技术
在分布式系统中通常设置多个业务服务器,由该多个业务服务器为多个终端设备提供业务服务(例如在终端设备之间进行数据转发)。
在现有技术中,通常对业务服务器的服务范围进行划分,以使一个业务服务器为一部分终端设备提供服务。当接入不同业务服务器的两个终端设备进行通信时,需要先将终端设备接入同一个业务服务器,并通过该同一业务服务器实现该两个终端设备之间的通信;具体的,假设接入第一业务服务器的第一终端设备需要和接入第二业务服务器的第二终端设备进行通信时,第一终端设备需要先从第一业务服务器断开,接入第二业务服务器,再通过第二业务服务器实现和第二终端设备进行通信。然而,在现有技术中,当第一终端设备从第一业务服务器断开之后,通过第一业务服务器与第一终端设备进行通信的其它终端设备将无法正常与第一终端设备进行通信,导致通信的可靠性较差。
发明内容
本发明实施例提供一种基于分布式系统的通信方法、设备及分布式系统,用于提高通信的可靠性。
第一方面,本发明实施例提供一种基于分布式系统的通信方法,应用于第一业务服务器,所述方法包括:
接收第一终端设备发送的通信消息,所述通信消息的目的地址为第二终端设备;
判断所述第二终端设备是否接入所述第一业务服务器;
若判断结果为否,则将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
在一种可能的实施方式中,判断所述第二终端设备是否接入所述第一业务服务器,包括:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,确定所述第二终端设备接入的业务服务器;
根据所述第二终端设备接入的业务服务器,判断所述第二终端设备是否接入所述第一业务服务器。
在另一种可能的实施方式中,判断所述第二终端设备是否接入所述第一业务服务器,包括:
在所述第一业务服务器中获取接入所述第一业务服务器的终端设备列表;
根据所述终端设备列表,判断所述第二终端设备是否接入所述第一业务服务器。
在另一种可能的实施方式中,将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,包括:
向所述缓存服务器发送包括所述通信消息的缓存信息,以使所述述缓存服务器确定所述第二终端设备接入的第二业务服务器,并将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息;
或者,
获取所述第二终端设备接入的第二业务服务器的标识,并向所述缓存服务器发送包括所述通信消息和所述第二业务服务器的标识的缓存信息,以使所述缓存服务器将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息。
在另一种可能的实施方式中,若判断所述第二终端设备接入所述第一业务服务器,所述方法还包括:
向所述第二终端设备发送所述通信消息。
第二方面,本发明实施例提供一种基于分布式系统的通信方法,应用于缓存服务器,所述方法包括:
接收第一业务服务器发送的缓存信息,所述缓存信息中包括目的地址为第二终端设备的通信消息;
获取所述第二终端设备接入的第二业务服务器的标识;
在所述第二业务服务器对应的消息队列中缓存所述通信消息,以使所述第二业务服务器在所述消息队列中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
在一种可能的实施方式中,所述缓存信息中还包括所述第二终端设备接入的第二业务服务器的标识,相应的,所述获取所述第二终端设备接入的第二业务服务器的标识,包括:
在所述缓存信息中获取所述第二业务服务器的标识。
在另一种可能的实施方式中,所述获取所述第二终端设备接入的第二业务服务器的标识,包括:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,获取所述第二终端设备接入的第二业务服务器的标识。
第三方面,本发明实施例提供一种第一业务服务器,包括:
接收模块,用于接收第一终端设备发送的通信消息,所述通信消息的目的地址为第二终端设备;
判断模块,用于判断所述第二终端设备是否接入所述第一业务服务器;
缓存模块,用于在所述判断模块判断所述第二终端设备未接入所述第一业务服务器时,将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
在一种可能的实施方式中,所述判断模块具体用于:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,确定所述第二终端设备接入的业务服务器;
根据所述第二终端设备接入的业务服务器,判断所述第二终端设备是否接入所述第一业务服务器。
在另一种可能的实施方式中,所述缓存模块具体用于:
向所述缓存服务器发送包括所述通信消息的缓存信息,以使所述述缓存服务器确定所述第二终端设备接入的第二业务服务器,并将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息;
或者,
获取所述第二终端设备接入的第二业务服务器的标识,并向所述缓存服务器发送包括所述通信消息和所述第二业务服务器的标识的缓存信息,以使所述缓存服务器将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息。
在另一种可能的实施方式中,所述第一业务服务器还包括发送模块,其中,
所述发送模块用于,在所述判断模块判断所述第二终端设备接入所述第一业务服务器,向所述第二终端设备发送所述通信消息。
第四方面,本发明实施例提供一种缓存服务器,包括:
接收模块,用于接收第一业务服务器发送的缓存信息,所述缓存信息中包括目的地址为第二终端设备的通信消息;
获取模块,用于获取所述第二终端设备接入的第二业务服务器的标识;
缓存模块,用于在所述第二业务服务器对应的消息队列中缓存所述通信消息,以使所述第二业务服务器在所述消息队列中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
在一种可能的实施方式中,所述缓存信息中还包括所述第二终端设备接入的第二业务服务器的标识,相应的,所述获取模块具体用于:
在所述缓存信息中获取所述第二业务服务器的标识。
在另一种可能的实施方式中,所述获取模块具体用于:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,获取所述第二终端设备接入的第二业务服务器的标识。
第五方面,本发明实施例提供一种分布式系统,包括第三方面任一项所述的第一业务服务器、第二业务服务器及第四方面任一项所述的缓存服务器。
本发明实施例提供的基于分布式系统的通信方法、设备及分布式系统,在第一业务服务器接收到第一终端设备发送的目的地址为第二终端设备的通信消息之后,第一业务服务器判断第二终端设备未接入第一业务服务器,则第一业务服务器将通信消息缓存至缓存服务器,以使第二终端设备接入的第二业务服务器在缓存服务器中获取通信消息,并向第二终端设备发送通信消息。在该过程中,接入不同业务服务器的终端设备可以通过其接入的业务服务器及缓存服务器进行通信,无需改变终端设备和业务服务器的连接关系,进而避免了在改变终端设备和业务服务器的连接关系时,对该终端设备与其它终端设备的通信造成影响的问题,进而提高通信的可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的基于分布式系统的通信方法的应用场景示意图;
图2为本发明提供的基于分布式系统的通信方法的流程示意图一;
图3为本发明提供的判断第二终端设备是否接入第一业务服务器方法的流程示意;
图4为本发明提供的基于分布式系统的通信方法的流程示意图二;
图5为本发明提供的基于分布式系统的通信方法的流程示意图三;
图6为本发明提供的基于分布式系统的通信方法的流程示意图四;
图7为本发明提供的第一业务服务器的结构示意图一;
图8为本发明提供的第一业务服务器的结构示意图二;
图9为本发明提供的缓存服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明提供的基于分布式系统的通信方法的应用场景示意图,请参见图1,包括多个业务服务器101、多个终端设备102、及缓存服务器103。其中,每个业务服务器101可以为多个终端设备102提供服务,每一个业务服务器101均可以与缓存服务器103进行通信。可选的,业务服务器101可以为NETTY服务器,终端设备102可以为手机、电脑、电视等设备。在本申请中,在接入不同业务服务器的终端设备进行通信的过程中,第一业务服务器可以将第一终端设备向接入第二业务服务器的第二终端设备发送的通信消息缓存至缓存服务器,以使第二业务服务器可以在缓存服务器中获取对应的通信消息,并将通信消息发送至第二终端设备,这样,接入不同业务服务器的终端设备可以通过其接入的业务服务器及缓存服务器进行通信,无需改变终端设备和业务服务器的连接关系,进而避免了在改变终端设备和业务服务器的连接关系时,对该终端设备与其它终端设备的通信造成影响的问题,进而提高通信的可靠性。
下面,以在第一终端设备接入第一业务服务器、第二终端设备接入第二业务服务器时,第一终端设备与第二终端设备的通信过程为例,对本申请所示的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本发明提供的基于分布式系统的通信方法的流程示意图一,该方法的执行主体为第一业务服务器,请参见图2,该方法可以包括:
S201、接收第一终端设备发送的通信消息,通信消息的目的地址为第二终端设备;
S202、判断第二终端设备是否接入第一业务服务器;
S203、若判断结果为否,将通信消息缓存至缓存服务器,以使第二终端设备接入的第二业务服务器在缓存服务器中获取通信消息,并向第二终端设备发送通信消息。
在本申请中,当第一终端设备需要向第二终端设备发送通信消息时,第一终端设备向其接入的第一业务服务器发送目的地址为第二终端设备的通信消息。可选的,该通信消息中可以包括源地址(第一终端设备的地址)、目的地址(第二终端设备的地址)、及通信内容。
在第一业务服务器接收到第一终端设备发送的通信消息之后,第一业务服务器对通信消息进行解析,以获取该通信消息的接收者(第二终端设备),第一业务服务器判断该第二终端设备是否接入第一业务服务器。
若第一业务服务器判断第二终端设备接入第一业务服务器,则第一业务服务器直接向第二终端设备发送该通信消息。
若第一业务服务器判断第二终端设备未接入第一业务服务器,则第一业务服务器将通信消息缓存至缓存服务器,以使第二终端设备接入的第二业务服务器在缓存服务器中获取通信消息,并向第二终端设备发送通信消息。可选的,在缓存服务器接收到第一业务服务器发送的通信消息之后,缓存服务器可以直接向第二业务服务器发送该通信消息,当然,也可以是第二业务服务器周期性的到缓存服务器中获取对应的通信消息,该对应的通信消息为目的地址为接入第二业务服务器的终端设备的地址。
本发明实施例提供的基于分布式系统的通信方法,在第一业务服务器接收到第一终端设备发送的目的地址为第二终端设备的通信消息之后,第一业务服务器判断第二终端设备未接入第一业务服务器,则第一业务服务器将通信消息缓存至缓存服务器,以使第二终端设备接入的第二业务服务器在缓存服务器中获取通信消息,并向第二终端设备发送通信消息。在该过程中,接入不同业务服务器的终端设备可以通过其接入的业务服务器及缓存服务器进行通信,无需改变终端设备和业务服务器的连接关系,进而避免了在改变终端设备和业务服务器的连接关系时,对该终端设备与其它终端设备的通信造成影响的问题,进而提高通信的可靠性,进一步的,由于各个终端设备之间的通信的耦合性较低,易于对分布式系统进行扩展,以使得该通信方法可应用于大规模通信。
在图2所示实施例的基础上,可选的,第一业务服务器可以通过如下可行的实现方式判断第二终端设备是否接入第一业务服务器(图2所示实施例中的S202),具体的,请参见图3所示的实施例。
图3为本发明提供的判断第二终端设备是否接入第一业务服务器方法的流程示意,该方法的执行主体为第一业务服务器,请参见图3,该方法可以包括:
S301、在预设数据库中获取业务服务器和终端设备的对应关系;
S302、根据该对应关系,确定第二终端设备接入的业务服务器;
S303、根据第二终端设备接入的业务服务器,判断第二终端设备是否接入第一业务服务器。
在图3所示的实施例中,在分布式系统中还设置有预设数据库,可选的,该预设数据库可以为redis数据库,在该预设数据库中存储有业务服务器和终端设备的对应关系,可选的,该对应关系可以如表1所示:
表1
可选的,可以在部署分布式系统时,在预设数据库中存储业务服务器和终端设备的对应关系,当业务服务器和终端设备的对应关系发生变化时,更新该预设数据库中的对应关系。
当第一业务服务器需要判断第二终端设备是否接入第一业务服务器时,第一业务服务器根据预设数据库中存储的对应关系,确定第二终端设备接入的服务器,并根据第二终端设备接入的服务器,判断第二终端设备是否接入第一业务服务器。当然,第一业务服务器还可以根据该对应关系,在预设数据库中获取接入第一业务服务器的终端设备的标识,并根据接入第一业务服务器的终端设备的标识,判断第二终端设备是否接入第一业务服务器。具体的,第一业务服务器判断接入第一业务服务器的终端设备的标识中是否包括第二终端设备的标识,若是,则确定第二终端设备接入第一业务服务器,若否,则确定第二终端设备未接入第一业务服务器。
在上述过程中,在预设数据库中存储有业务服务器和终端设备的对应关系,这样,第一业务服务器可以根据该对应关系快速确定第二终端设备接入的业务服务器,并判断第二终端设备是否接入该第一业务服务器,进而提高通信效率。
在实际应用过程中,可选的,第一业务服务器可以维护当前接入的终端设备列表,该终端设备列表中包括当前接入第一业务服务器的所有终端设备的标识;相应的,当第一业务服务器需要判断第二终端设备是否接入第一业务服务器时,第一业务服务器可以在本地获取接入第一业务服务器的终端设备列表,并根据终端设备列表,判断第二终端设备是否接入第一业务服务器。在该过程中,第一业务服务器自身对终端设备列表进行维护,这样,当第一业务服务器需要判断第二终端设备是否接入第一业务服务器时,第一业务服务器根据本地的终端设备列表即可判断,无需在预设数据库中获取接入第一业务服务器的终端设备,进而提高了第一业务服务器的处理效率。
图4为本发明提供的基于分布式系统的通信方法的流程示意图二,该方法的执行主体为缓存服务器,请参见图4,该方法可以包括:
S401、接收第一业务服务器发送的缓存信息,缓存信息中包括目的地址为第二终端设备的通信消息;
S402、获取第二终端设备接入的第二业务服务器的标识;
S403、在第二业务服务器对应的消息队列中缓存通信消息,以使第二业务服务器在消息队列中获取通信消息,并向第二终端设备发送通信消息。
在图4所示的实施例中,在缓存服务器中设置有多个消息队列,每一个消息队列对应一个业务服务器,一个业务服务器对应的消息队列用于存储其它终端设备发送至接入该业务服务器的终端设备的通信消息。
在实际应用过程中,在缓存服务器接收到第一业务服务器发送的缓存信息之后,缓存服务器获取第二终端设备接入的第二业务服务器的标识;可选的,若缓存信息中包括第二终端设备接入的第二业务服务器的标识,则缓存服务器可以在缓存信息中获取第二终端设备接入的第二业务服务器的标识,若缓存信息中不包括第二终端设备接入的第二业务服务器的标识,则缓存服务器可以在预设数据库中获取业务服务器和终端设备的对应关系,并根据该对应关系,获取第二终端设备接入的第二业务服务器的标识。
缓存服务器获取得到第二终端设备接入的第二业务服务器的标识之后,缓存服务器确定第二业务服务器对应的消息队列,并将该通知消息缓存在第二业务服务器对应的消息队列中,以使第二业务服务器在消息队列中获取通信消息,并向第二终端设备发送通信消息。
在上述过程中,在缓存服务器中设置有各个业务服务器对应的消息队列,缓存服务器将通信消息缓存至对应的消息队列中,并由业务服务器在消息队列中获取该通信消息,这样,不需要缓存服务器向所有业务服务器发送通信消息,避免了由于缓存服务器由于负载过大而引起的网络阻塞问题,进而提高通信的效率。
在上述实施例的基础上,下面,以第一终端设备、第一业务服务器、缓存服务器、第二业务服务器、及第二终端设备的交互过程为例,对本申请所示的通信方法进行详细说明。具体的,请参见图5所示的实施例。
图5为本发明提供的基于分布式系统的通信方法的流程示意图三,请参见图5,该方法可以包括:
S501、第一终端设备向第一业务服务器发送目的地址为第二终端设备的通信消息;
S502、第一业务服务器判断第二终端设备是否接入第一业务服务器;
若是,则执行S503;
若否,则执行S504;
S503、第一业务服务器向第二终端设备发送该通信消息;
S504、第一业务服务器向缓存服务器发送包括该通信消息的缓存信息;
S505、缓存服务器获取第二终端设备接入的第二业务服务器的标识;
S506、缓存服务器在第二业务服务器对应的消息队列中缓存通信消息;
S507、第二业务服务器在其对应的消息队列中获取该通信消息;
S508、第二业务服务器向第二终端设备发送该通信消息。
在图5所示的实施例中,S501-S503的执行过程可以参见图2所示的实施例,此处不再进行赘述。
在S504中,在第一业务服务器判断第二终端设备未接入第一业务服务器时,第一业务服务器向缓存服务器发送缓存信息,该缓存信息中包括目的地址为第二终端设备的通信消息。
在S505-S506中,在缓存服务器接收到缓存信息之后,缓存服务器可以在预设数据库中获取业务服务器和终端设备的对应关系,并根据该对应关系,获取第二终端设备接入的第二业务服务器的标识,然后,缓存服务器确定第二业务服务器对应的消息队列,并在第二业务服务器对应的消息队列中缓存该通信消息。
在S507-S508中,第二业务服务器周期性的在其对应的消息队列中获取通信消息,并根据通信消息的目的地址,将通信消息转发给相应的终端设备。在实际应用过程中,可以根据实际需要设置该周期,可选的,该周期可以为0.5秒、1秒等。
在图5所示实施例的基础上,为了降低缓存服务器的负载,第一业务服务器在向缓存服务器发送缓存信息时,可以在缓存信息中携带第二终端设备接入的第二业务服务器的标识,具体的,请参见图6所示的实施例。
图6为本发明提供的基于分布式系统的通信方法的流程示意图四,请参见图6,该方法可以包括:
S601、第一终端设备向第一业务服务器发送目的地址为第二终端设备的通信消息;
S602、第一业务服务器判断第二终端设备是否接入第一业务服务器;
若是,则执行S603;
若否,则执行S604;
S603、第一业务服务器向第二终端设备发送该通信消息;
S604、第一业务服务器获取第二终端设备接入的第二业务服务器的标识;
S605、第一业务服务器向缓存服务器发送包括该通信消息和第二业务服务器的标识的缓存信息;
S606、缓存服务器在缓存信息中获取第二终端设备接入的第二业务服务器的标识;
S607、缓存服务器在第二业务服务器对应的消息队列中缓存通信消息;
S608、第二业务服务器在其对应的消息队列中获取通信消息;
S609、第二业务服务器向第二终端设备发送通信消息。
在图6所示的实施例中,S601-S603的执行过程可以参见图5所示实施例中的S501-S503,S607-S609的执行过程可以参见图5所示实施例中的S506-S508,此处不再进行赘述。
在S604中,在第一业务服务器确定第二终端设备未接入第一业务服务器时,第一业务服务器获取第二终端设备接入的第二业务服务器的标识;可选的,第一业务服务器可以在预设数据库中获取业务服务器和终端设备的对应关系,并根据该对应关系,获取第二终端设备接入的第二业务服务器的标识。
在S605中,第一业务服务器向缓存服务器发送包括目的地址为第二终端设备的通信消息和第二业务服务器的标识的缓存信息,相应的,在S606中,在缓存服务器接收到缓存信息之后,缓存服务器可以在缓存信息中获取第二终端设备接入的第二业务服务器的标识.
在上述过程中,在第一业务服务器向缓存服务器发送缓存信息时,在缓存信息中携带第二终端设备接入的第二业务服务器的标识,以使缓存服务器直接在缓存信息中获取第二业务服务器的标识即可,降低了业务服务器的负载,避免了由于缓存服务器由于负载过大而引起的网络阻塞问题,进而提高通信的效率。
图7为本发明提供的第一业务服务器的结构示意图一,请参见图7,该第一业务服务器可以包括:
接收模块701,用于接收第一终端设备发送的通信消息,所述通信消息的目的地址为第二终端设备;
判断模块702,用于判断所述第二终端设备是否接入所述第一业务服务器;
缓存模块703,用于在所述判断模块判断所述第二终端设备未接入所述第一业务服务器时,将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
本发明实施例所示的第一业务服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述判断模块702具体用于:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,确定所述第二终端设备接入的业务服务器;
根据所述第二终端设备接入的业务服务器,判断所述第二终端设备是否接入所述第一业务服务器。
在另一种可能的实施方式中,所述缓存模块703具体用于:
向所述缓存服务器发送包括所述通信消息的缓存信息,以使所述述缓存服务器确定所述第二终端设备接入的第二业务服务器,并将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息;
或者,
获取所述第二终端设备接入的第二业务服务器的标识,并向所述缓存服务器发送包括所述通信消息和所述第二业务服务器的标识的缓存信息,以使所述缓存服务器将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息。
图8为本发明提供的第一业务服务器的结构示意图二,在图7所示实施例的基础上,请参见图8,所述第一业务服务器还包括发送模块704,其中,
所述发送模块704用于,在所述判断模块702判断所述第二终端设备接入所述第一业务服务器,向所述第二终端设备发送所述通信消息。
本发明实施例所示的第一业务服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
图9为本发明提供的缓存服务器的结构示意图,请参见图9,该缓存服务器包括:
接收模块901,用于接收第一业务服务器发送的缓存信息,所述缓存信息中包括目的地址为第二终端设备的通信消息;
获取模块902,用于获取所述第二终端设备接入的第二业务服务器的标识;
缓存模块903,用于在所述第二业务服务器对应的消息队列中缓存所述通信消息,以使所述第二业务服务器在所述消息队列中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
本发明实施例所示的缓存服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
在一种可能的实施方式中,所述缓存信息中还包括所述第二终端设备接入的第二业务服务器的标识,相应的,所述获取模块902具体用于:
在所述缓存信息中获取所述第二业务服务器的标识。
在另一种可能的实施方式中,所述获取模块902具体用于:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,获取所述第二终端设备接入的第二业务服务器的标识。
本发明实施例所示的缓存服务器可以执行上述方法实施例所示的技术方案,其实现原理以及有益效果类似,此处不再进行赘述。
本发明实施例还提供一种分布式系统,该分布式系统包括图7或图8实施例所示的第一业务服务器、第二业务服务器及图9实施例所述的缓存服务器。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (10)
1.一种基于分布式系统的通信方法,其特征在于,应用于第一业务服务器,所述方法包括:
接收第一终端设备发送的通信消息,所述通信消息的目的地址为第二终端设备;
判断所述第二终端设备是否接入所述第一业务服务器;
若判断结果为否,则将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
2.根据权利要求1所述的方法,其特征在于,判断所述第二终端设备是否接入所述第一业务服务器,包括:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,确定所述第二终端设备接入的业务服务器;
根据所述第二终端设备接入的业务服务器,判断所述第二终端设备是否接入所述第一业务服务器。
3.根据权利要求1或2所述的方法,其特征在于,将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,包括:
向所述缓存服务器发送包括所述通信消息的缓存信息,以使所述述缓存服务器确定所述第二终端设备接入的第二业务服务器,并将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息;
或者,
获取所述第二终端设备接入的第二业务服务器的标识,并向所述缓存服务器发送包括所述通信消息和所述第二业务服务器的标识的缓存信息,以使所述缓存服务器将所述通信消息缓存至所述第二业务服务器对应的消息队列,以使所述第二业务服务器在所述消息队列中获取所述通信消息。
4.根据权利要求1或2所述的方法,其特征在于,若判断所述第二终端设备接入所述第一业务服务器,所述方法还包括:
向所述第二终端设备发送所述通信消息。
5.一种基于分布式系统的通信方法,其特征在于,应用于缓存服务器,所述方法包括:
接收第一业务服务器发送的缓存信息,所述缓存信息中包括目的地址为第二终端设备的通信消息;
获取所述第二终端设备接入的第二业务服务器的标识;
在所述第二业务服务器对应的消息队列中缓存所述通信消息,以使所述第二业务服务器在所述消息队列中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
6.根据权利要求5所述的方法,其特征在于,所述缓存信息中还包括所述第二终端设备接入的第二业务服务器的标识,相应的,所述获取所述第二终端设备接入的第二业务服务器的标识,包括:
在所述缓存信息中获取所述第二业务服务器的标识。
7.根据权利要求5所述的方法,其特征在于,所述获取所述第二终端设备接入的第二业务服务器的标识,包括:
在预设数据库中获取业务服务器和终端设备的对应关系;
根据所述对应关系,获取所述第二终端设备接入的第二业务服务器的标识。
8.一种第一业务服务器,其特征在于,包括:
接收模块,用于接收第一终端设备发送的通信消息,所述通信消息的目的地址为第二终端设备;
判断模块,用于判断所述第二终端设备是否接入所述第一业务服务器;
缓存模块,用于在所述判断模块判断所述第二终端设备未接入所述第一业务服务器时,将所述通信消息缓存至缓存服务器,以使所述第二终端设备接入的第二业务服务器在所述缓存服务器中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
9.一种缓存服务器,其特征在于,包括:
接收模块,用于接收第一业务服务器发送的缓存信息,所述缓存信息中包括目的地址为第二终端设备的通信消息;
获取模块,用于获取所述第二终端设备接入的第二业务服务器的标识;
缓存模块,用于在所述第二业务服务器对应的消息队列中缓存所述通信消息,以使所述第二业务服务器在所述消息队列中获取所述通信消息,并向所述第二终端设备发送所述通信消息。
10.一种分布式系统,其特征在于,包括权利要求8所述的第一业务服务器、第二业务服务器及权利要求9所述的缓存服务器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610941059.XA CN106302827B (zh) | 2016-10-25 | 2016-10-25 | 基于分布式系统的通信方法、设备及分布式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610941059.XA CN106302827B (zh) | 2016-10-25 | 2016-10-25 | 基于分布式系统的通信方法、设备及分布式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106302827A true CN106302827A (zh) | 2017-01-04 |
CN106302827B CN106302827B (zh) | 2019-09-17 |
Family
ID=57720228
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610941059.XA Active CN106302827B (zh) | 2016-10-25 | 2016-10-25 | 基于分布式系统的通信方法、设备及分布式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106302827B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108200219A (zh) * | 2018-03-13 | 2018-06-22 | 广东欧珀移动通信有限公司 | 数据同步方法、装置、服务器及存储介质 |
CN108200184A (zh) * | 2018-01-12 | 2018-06-22 | 郑州云海信息技术有限公司 | 一种分布式Web即时消息发送系统和方法 |
CN108428182A (zh) * | 2017-06-25 | 2018-08-21 | 平安科技(深圳)有限公司 | 开发平台装置、获取保单号的方法及计算机可读存储介质 |
CN109286668A (zh) * | 2018-09-26 | 2019-01-29 | 上海点融信息科技有限责任公司 | 用于区块链网络的通信、消息发送、消息接收方法 |
CN109451063A (zh) * | 2018-12-24 | 2019-03-08 | 北京东土科技股份有限公司 | 一种服务器热备方法和系统 |
CN111159233A (zh) * | 2019-12-18 | 2020-05-15 | 金蝶软件(中国)有限公司 | 分布式缓存方法、系统、计算机设备以及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327669A1 (en) * | 2008-06-30 | 2009-12-31 | Kabushiki Kaisha Toshiba | Information processing apparatus, program execution method, and storage medium |
CN101631140A (zh) * | 2009-08-03 | 2010-01-20 | 中兴通讯股份有限公司 | 即时通信系统的集群服务器和集群间通信的方法 |
CN102664899A (zh) * | 2012-05-04 | 2012-09-12 | 华为技术有限公司 | 一种业务处理方法、装置及系统 |
CN103475743A (zh) * | 2013-09-30 | 2013-12-25 | 广州博冠信息科技有限公司 | 一种用于云服务的方法、装置及系统 |
CN104158891A (zh) * | 2014-08-21 | 2014-11-19 | 腾讯科技(深圳)有限公司 | 一种跨区域数据传输方法、装置、系统及服务器 |
CN104184756A (zh) * | 2013-05-21 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置及系统 |
US20150039717A1 (en) * | 2013-08-02 | 2015-02-05 | International Business Machines Corporation | Cache migration management in a virtualized distributed computing system |
-
2016
- 2016-10-25 CN CN201610941059.XA patent/CN106302827B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090327669A1 (en) * | 2008-06-30 | 2009-12-31 | Kabushiki Kaisha Toshiba | Information processing apparatus, program execution method, and storage medium |
CN101631140A (zh) * | 2009-08-03 | 2010-01-20 | 中兴通讯股份有限公司 | 即时通信系统的集群服务器和集群间通信的方法 |
CN102664899A (zh) * | 2012-05-04 | 2012-09-12 | 华为技术有限公司 | 一种业务处理方法、装置及系统 |
CN104184756A (zh) * | 2013-05-21 | 2014-12-03 | 阿里巴巴集团控股有限公司 | 一种数据同步方法、装置及系统 |
US20150039717A1 (en) * | 2013-08-02 | 2015-02-05 | International Business Machines Corporation | Cache migration management in a virtualized distributed computing system |
CN103475743A (zh) * | 2013-09-30 | 2013-12-25 | 广州博冠信息科技有限公司 | 一种用于云服务的方法、装置及系统 |
CN104158891A (zh) * | 2014-08-21 | 2014-11-19 | 腾讯科技(深圳)有限公司 | 一种跨区域数据传输方法、装置、系统及服务器 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108428182A (zh) * | 2017-06-25 | 2018-08-21 | 平安科技(深圳)有限公司 | 开发平台装置、获取保单号的方法及计算机可读存储介质 |
CN108428182B (zh) * | 2017-06-25 | 2021-08-24 | 平安科技(深圳)有限公司 | 开发平台装置、获取保单号的方法及计算机可读存储介质 |
CN108200184A (zh) * | 2018-01-12 | 2018-06-22 | 郑州云海信息技术有限公司 | 一种分布式Web即时消息发送系统和方法 |
CN108200219A (zh) * | 2018-03-13 | 2018-06-22 | 广东欧珀移动通信有限公司 | 数据同步方法、装置、服务器及存储介质 |
CN109286668A (zh) * | 2018-09-26 | 2019-01-29 | 上海点融信息科技有限责任公司 | 用于区块链网络的通信、消息发送、消息接收方法 |
CN109451063A (zh) * | 2018-12-24 | 2019-03-08 | 北京东土科技股份有限公司 | 一种服务器热备方法和系统 |
CN109451063B (zh) * | 2018-12-24 | 2021-08-17 | 北京东土科技股份有限公司 | 一种服务器热备方法和系统 |
CN111159233A (zh) * | 2019-12-18 | 2020-05-15 | 金蝶软件(中国)有限公司 | 分布式缓存方法、系统、计算机设备以及存储介质 |
CN111159233B (zh) * | 2019-12-18 | 2024-03-08 | 金蝶软件(中国)有限公司 | 分布式缓存方法、系统、计算机设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106302827B (zh) | 2019-09-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106302827A (zh) | 基于分布式系统的通信方法、设备及分布式系统 | |
CN102404229B (zh) | 负载均衡系统、装置及方法 | |
CN101488928B (zh) | 一种互联企业群通信设备及互联企业群通信方法 | |
CN103024008B (zh) | 物联网中数据传输的方法、设备和系统 | |
CN105468302B (zh) | 一种处理数据的方法、装置及系统 | |
CN101984692A (zh) | 一种防止恶意软件发送数据的方法及装置 | |
CN101616083A (zh) | 一种报文转发方法和装置 | |
CN101894092B (zh) | 多核cpu及其核间通信方法 | |
CN105430747A (zh) | 一种通信方法、装置及系统 | |
CN102624691A (zh) | 可共用广告拦截配置信息的多代理上网方法 | |
CN103248407A (zh) | 一种移动终端及其访问、共享网络资源的方法和系统 | |
CN103297477B (zh) | 一种数据采集上报系统及数据处理方法和代理服务器 | |
CN101312573B (zh) | 一种gps手机及gps监控系统 | |
CN100456747C (zh) | 一种单播反向路径检查的实现方法和网络设备 | |
CN103647622A (zh) | 一种实现跨机房数据传输的方法、装置和系统 | |
CN103701865A (zh) | 一种数据传输的方法及系统 | |
CN104375967B (zh) | 一种应用于pci‑e的流量控制方法、设备及系统 | |
CN102594787A (zh) | 数据抓取方法、系统和路由服务器 | |
CN105657014A (zh) | 一种负载均衡方法、系统及装置 | |
CN105264808A (zh) | 一种信息传输方法及设备 | |
CN104468041A (zh) | 一种基于swp数据链路的数据处理装置及方法 | |
CN102970669A (zh) | 一种话单的发送、处理方法及设备 | |
CN104765888B (zh) | 一种数据访问系统、方法及装置 | |
CN101945477B (zh) | 基站、移动台及其通信方法 | |
CN101079802B (zh) | 无线网络中获取dhcp类型的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |