CN109379277B - 一种基于路由寻址的分布式im通信方法及其装置 - Google Patents
一种基于路由寻址的分布式im通信方法及其装置 Download PDFInfo
- Publication number
- CN109379277B CN109379277B CN201811503587.2A CN201811503587A CN109379277B CN 109379277 B CN109379277 B CN 109379277B CN 201811503587 A CN201811503587 A CN 201811503587A CN 109379277 B CN109379277 B CN 109379277B
- Authority
- CN
- China
- Prior art keywords
- receiving
- address
- node
- terminal
- message data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/04—Real-time or near real-time messaging, e.g. instant messaging [IM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L51/00—User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
- H04L51/48—Message addressing, e.g. address format or anonymous messages, aliases
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于路由寻址的分布式IM通信方法及其装置。所述方法包括:在发信端向收信端进行消息数据发送时,路由服务端接收发信端发出的第一解析请求;路由服务端判断发信节点和收信节点之间的通信状态是否处于跨境状态;若是,则将收信端的IP地址和端口解析到专线境内端对应的IP地址和端口;路由服务端通过专线境外端将消息数据经收信节点发送至收信端对应的所述当前收信地址。本发明实现了基于IM节点的动态解析的收发双方的通信,在跨境IM通讯场景中,大大提高了信息传输的稳定性。
Description
技术领域
本发明涉及IM通信技术领域,更具体地说,涉及一种基于路由寻址的分布式IM通信方法及其装置。
背景技术
即时通讯(Instant Messaging,IM)是目前Internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷;服务提供商也提供了越来越丰富的通讯服务功能。
现有的基于IM开源解决方案的通信方法,均为基于云端进行数据中转交互,导致不能覆盖全终端,无法满足跨境传输所要求的稳定性。
发明内容
有鉴于此,本发明提供一种基于路由寻址的分布式IM通信方法及其装置以解决现有技术的不足。
为解决上述问题,本发明提供一种基于路由寻址的分布式IM通信方法,包括:
在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求;
所述路由服务端在接收到所述第一解析请求后,根据所述第一解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态;
若所述通信状态为跨境状态,所述路由服务端将所述收信端的IP地址和端口解析到专线境内端对应的IP地址和端口;
基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址。
优选地,所述“基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址”包括:
在所述专线境内端通过所述专线境内端对应的IP地址和端口接收到所述发信节点发送的所述消息数据后,所述专线境内端将所述消息数据转发至所述专线境外端;
所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址。
优选地,所述“所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址”包括:
在所述专线境内端将所述消息数据转发至所述专线境外端之后,所述路由服务端接收所述专线境外端发出的针对于所述收信端的所述收信节点对应的IP地址和端口的第二解析请求;
根据所述第二解析请求,所述路由服务端判断所述专线境外端和所述收信节点是否均处于境外;
若所述专线境外端和所述收信节点均处于境外,则所述路由服务端将所述收信端对应的IP地址和端口解析到所述收信节点对应的IP地址和端口;
基于所述收信节点对应的IP地址和端口,所述专线境外端将所述消息数据发送至所述收信节点;并且,基于所述收信节点将所述消息数据下发至所述收信端。
优选地,所述“在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求”之前,还包括:
在所述发送端基于所述发信节点登录后,获取所述发送端的当前用户地址;并且,获取所述收信端的当前收信地址;
所述发送端将所述消息数据上传至所述发信节点,并通过所述发信节点向所述路由服务端发送针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求。
优选地,所述“根据所述解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态”之后,还包括:
若所述通信状态为非跨境状态,则所述路由服务端将所述收信端的IP地址和端口解析到所述收信节点对应的IP地址和端口;
基于所述收信节点对应的IP地址和端口,所述路由服务端将所述消息数据通过所述发信节点发送至所述收信节点,并经所述收信节点下发至所述收信端对应的当前收信地址。
优选地,所述收信端为多个,并且,所述收信节点为多个所述收信端所在的群组对应的收信节点;
所述“根据所述解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态”之后,还包括:
若所述通信状态为非跨境状态,则所述路由服务端将所述收信端的IP地址和端口解析到所述群组对应的所述收信节点的IP地址和端口;
基于所述收信节点对应的IP地址和端口,所述路由服务端将所述消息数据通过所述发信节点发送至群组对应的所述收信节点;并经所述收信节点下发至所述群组中的每个所述收信端。
优选地,所述“基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址”之后,还包括:
所述路由服务端实时记录所述消息数据转发的交互次数;
若所述交互次数达到预设报错阈值,则所述路由服务端停止所述消息数据的发送;生成一数据交互错误信息,并通过所述发信节点将所述交互错误信息向所述发信端对应的当前发信地址。
此外,为解决上述问题,本发明还提供一种基于路由寻址的分布式IM通信装置,包括:
请求模块,用于在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求;
判断模块,用于所述路由服务端在接收到所述第一解析请求后,根据所述第一解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态;
解析模块,用于在若所述通信状态为跨境状态时,所述路由服务端将所述收信端的IP地址和端口解析到专线境内端对应的IP地址和端口;
发送模块,用于基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址。
此外,为解决上述问题,本发明还提供一种计算机设备,所述计算机设备包括发信端、收信端和路由服务端;其中,所述发信端包括第一存储器以及第一处理器;所述收信端包括第二存储器以及第二处理器;所述路由服务端包括第三存储器以及第三处理器;
所述第一存储器、所述第二存储器和所述第三存储器均用于存储基于路由寻址的分布式IM通信程序,所述第一处理器、所述第二存储器和所述第三存储器均运行所述基于路由寻址的分布式IM通信程序以使所述计算机设备执行如上述所述基于路由寻址的分布式IM通信方法。
此外,为解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于路由寻址的分布式IM通信程序,所述基于路由寻址的分布式IM通信程序被处理器执行时实现如上述所述基于路由寻址的分布式IM通信方法。
本发明提供的一种基于路由寻址的分布式IM通信方法及其装置。在发信端与收信端进行消息数据的发送时,通过路由服务端接收第一解析请求,如果交互双方为跨境状态,则将收信端的IP地址和端口解析到专线境内端,并通过与该专线境内端连接的专线境外端将消息数据发送到收信端。从而实现了基于IM节点的动态解析的收发双方的通信,在跨境IM通讯场景中,大大提高了信息传输的稳定性。
附图说明
图1为本发明基于路由寻址的分布式IM通信方法实施例方案涉及的硬件运行环境的结构示意图;
图2为本发明基于路由寻址的分布式IM通信方法第一实施例的流程示意图;
图3为本发明基于路由寻址的分布式IM通信方法第二实施例的流程示意图;
图4为本发明基于路由寻址的分布式IM通信方法第二实施例中步骤S420细化的流程示意图;
图5为本发明基于路由寻址的分布式IM通信方法第三实施例的流程示意图;
图6为本发明基于路由寻址的分布式IM通信方法第三实施例的另一种实施方式的流程示意图;
图7为本发明基于路由寻址的分布式IM通信方法第四实施例的流程示意图;
图8为本发明基于路由寻址的分布式IM通信方法第五实施例的点对点消息发送的流程示意图;
图9为本发明基于路由寻址的分布式IM通信方法第五实施例的群消息发送的流程示意图;
图10为本发明基于路由寻址的分布式IM通信方法第五实施例的路由、节点和专线之间的结构连接示意图;
图11为本发明基于路由寻址的分布式IM通信装置的功能模块示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面详细描述本发明的实施例,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的终端的硬件运行环境的结构示意图。
本发明实施例计算机设备均可以是的PC,也可以是智能手机、平板电脑或者便携计算机等可移动式终端设备。如图1所示,该计算机设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏、输入单元比如键盘、遥控器,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器,例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。可选地,计算机设备还可以包括RF(Radio Frequency,射频)电路、音频电路、WiFi模块等等。此外,移动终端和待解锁端还可配置陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
本领域技术人员可以理解,图1中示出的计算机设备并不构成对其的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。如图1所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、数据接口控制程序、网络连接程序以及基于路由寻址的分布式IM通信程序。
本发明提供的一种基于路由寻址的分布式IM通信方法及其装置。其中,所述方法实现了基于IM节点的动态解析的收发双方的通信,在跨境IM通讯场景中,大大提高了信息传输的稳定性。
实施例1:
参照图2,本发明第一实施例提供一种基于路由寻址的分布式IM通信方法,包括:
步骤S100,在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求;
上述,本技术使用分布式的IM架构,引入路由寻址的方法,从IM节点、IM专线中,构造出一条稳定可靠的IM通讯线路。
在路由服务中设置节点的初始数据,包括IP地址、端口、区域地址、带宽上限、节点ID等数据。给路由服务配置相关的策略及算法,根据IM节点实时上报的网络状况,来调度节点之间的数据传输。IM数据采用二进制传输协议,RSA非对称加密算法加密。
上述,其中,发信端在登录后,设有一当前发信地址;收信端设有一当前收信地址。路由服务端用于进行数据交互路由。
上述,发信节点在本实施例中设于境内。用于将发信端的消息数据进行转发。
上述,第一解析请求是发信端通过发信节点发送的请求,是用于请求解析收信端的对应的IP地址和端口。
步骤S200,所述路由服务端在接收到所述第一解析请求后,根据所述第一解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态;
步骤S300,若所述通信状态为跨境状态,所述路由服务端将所述收信端的IP地址和端口解析到专线境内端对应的IP地址和端口;
步骤S400,基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址。
本实施例,应用场景可以为跨境的信息交互。在接收到解析请求后,需判断消息数据交互双方是否为跨境交互,即其通信状态是否为跨境状态。为解决跨境数据交互时节点不统一、数据交互不稳定的问题,本实施例中通过在发信端和收信端之间设置专线,从而通过专线作为发信端和收信端之间的桥接载体,从而通过载体实现收发双方的稳定通信。
上述,发信端和收信端之间的信息交互载体,本实施例中设置为专线,并且在收信端为境外时,专线为专线境内端和与之进行连接的专线境外端,通过在数据交互过程中,分别对需要进行数据传输的结点进行解析,从而将发送结点的IP地址和端口解析到需要进行接收信息的结点的IP地址和端口,从而实现数据的转发。
在本实施例中,IM在发信节点解析收信节点,不是直接解析到收信节点的IP地址,而是解析到专线的IP地址,是因为发信节点与收信节点是跨境的,它们之间不能联通。IM的节点是动态解析的,在跨境IM通讯场景,能极大提高传输的稳定性。此外,构成基本节点可以是点或专线,当两个网络直联不通时(例如境内境外),可以在两个网络之间配置专线。只要点和专线足够,该IM系统可以在任何网络中打通稳定的传输通道。
本实施例提供的一种基于路由寻址的分布式IM通信方法。在发信端与收信端进行消息数据的发送时,通过路由服务端接收第一解析请求,如果交互双方为跨境状态,则将收信端的IP地址和端口解析到专线境内端,并通过与该专线境内端连接的专线境外端将消息数据发送到收信端。从而实现了基于IM节点的动态解析的收发双方的通信,在跨境IM通讯场景中,大大提高了信息传输的稳定性。
实施例2:
参照图3-4,本发明第二实施例提供一种基于路由寻址的分布式IM通信方法,基于上述图2所示的第一实施例,所述步骤S400,“基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址”包括:
步骤S410,在所述专线境内端通过所述专线境内端对应的IP地址和端口接收到所述发信节点发送的所述消息数据后,所述专线境内端将所述消息数据转发至所述专线境外端;
上述,在路由服务端将收信端的地址解析到专线境内端的IP和端口后,发信节点将消息数据发送给专线境内端,专线境内端在收到消息数据后,转发该消息到专线境外端。
步骤S420,所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址。
专线境外端为进行数据中转的结点之一,在接收到数据后,路由服务端通过该专线的境外端将消息数据进行发送,发送至收信端对应的当前收信地址。
此外,在某种实施方式下,所述步骤S420,“所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址”包括:
步骤S421,在所述专线境内端将所述消息数据转发至所述专线境外端之后,所述路由服务端接收所述专线境外端发出的针对于所述收信端的所述收信节点对应的IP地址和端口的第二解析请求;
上述,第二解析请求,为用于专线境外端向路由服务端请求解析收信端对应的IP地址和端口。
步骤S422,根据所述第二解析请求,所述路由服务端判断所述专线境外端和所述收信节点是否均处于境外;
步骤S423,若所述专线境外端和所述收信节点均处于境外,则所述路由服务端将所述收信端对应的IP地址和端口解析到所述收信节点对应的IP地址和端口;
如果专线境外端和收信节点均处于境外,则可将收信端的地址解析到收信节点的IP地址和端口。
步骤S424,基于所述收信节点对应的IP地址和端口,所述专线境外端将所述消息数据发送至所述收信节点;并且,基于所述收信节点将所述消息数据下发至所述收信端。
在基于上述收信节点和对应的ip地址和端口,即已经解析后的地址,专线境外端将消息数据发送至收信节点,进而该收信节点进一步的将数据下发到收信端,即其所对应的地址。
所述步骤S100,“在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求”之前,还包括:
步骤S500,在所述发送端基于所述发信节点登录后,获取所述发送端的当前用户地址;并且,获取所述收信端的当前收信地址;
步骤S600,所述发送端将所述消息数据上传至所述发信节点,并通过所述发信节点向所述路由服务端发送针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求。
上述,用户从发信节点登录后,获取到当前的用户地址,进而用户作为发信端,需要发信息给收信端,向用户管理服务查询到收信端对应的当前地址。而发信端向收信端发送消息时,消息首先上传到发信节点处,并通过发信节点向路由服务端发送第一解析请求。
本实施例中,通过动态解析节点对应的名称到对应的IP地址中,在跨境IM通讯场景,能极大提高传输的稳定性。
实施例3:
参照图5-6,本发明第三实施例提供一种基于路由寻址的分布式IM通信方法,基于上述图2所示的第一实施例,所述步骤S200,“根据所述解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态”之后,还包括:
步骤S700,若所述通信状态为非跨境状态,则所述路由服务端将所述收信端的IP地址和端口解析到所述收信节点对应的IP地址和端口;
步骤S800,基于所述收信节点对应的IP地址和端口,所述路由服务端将所述消息数据通过所述发信节点发送至所述收信节点,并经所述收信节点下发至所述收信端对应的当前收信地址。
上述,如果当前的通信状态为非跨境状态,即为信息交互的双方均为境内的双方,则可进行对于收信端的地址和端口解析到收信节点处,并且基于解析后的收信节点,路由服务端将消息数据通过发信节点发送到收信节点,并进一步可下发到当前收信地址中,从而即完成了信息数据的由发信端到收信端的信息传递,中间数据传输时,通过动态解析IP地址和端口,从而实现了信息的高效稳定的传输。
此外,在另一种实施方式中,所述收信端为多个,并且,所述收信节点为多个所述收信端所在的群组对应的收信节点;在此情况下,所述步骤S200,“根据所述解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态”之后,还包括:
步骤S900,若所述通信状态为非跨境状态,则所述路由服务端将所述收信端的IP地址和端口解析到所述群组对应的所述收信节点的IP地址和端口;
步骤S1000,基于所述收信节点对应的IP地址和端口,所述路由服务端将所述消息数据通过所述发信节点发送至群组对应的所述收信节点;并经所述收信节点下发至所述群组中的每个所述收信端。
此外,群组,即为聊天群所在的房间,其中包括群众的所有收信端。当需要进行一对多的消息发送时,且该群组处于境内,则可进行对于群组所在的收信节点的解析后的ip地址和端口进行数据交互,进而再通过收信节点下发到每一个其中所包含的收信端,从而实现了有一对多的信息数据交互。
实施例4:
参照图7,本发明第四实施例提供一种基于路由寻址的分布式IM通信方法,基于上述图2所示的第一实施例,所述步骤S400,“基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址”之后,还包括:
步骤S1100,所述路由服务端实时记录所述消息数据转发的交互次数;
步骤S1200,若所述交互次数达到预设报错阈值,则所述路由服务端停止所述消息数据的发送;生成一数据交互错误信息,并通过所述发信节点将所述交互错误信息向所述发信端对应的当前发信地址。
需要说明的是,数据在交互过程中,如果出现数据传输失败,则会出现数据不停的在端与端之间进行无线转发的情况,造成系统出现大量无用的数据传输,一方面造成系统运行的负担,另一方面产生大量的垃圾信息,造成系统冗余,从而大大降低了IM数据交互的效率。
上述,交互次数,为数据每经过依次转发即记录一次交互次数,每次转发即进行交互次数的叠加。
上述,预设报错阈值,为用于对于交互次数进行比对的评价标准,当交互次数达到一定的报错阈值,则可判定当前IM数据信息在出现多次转发,出现转发错误,则生成一进行报错的错误信息,并发送至发信放端进行报错,提示发信端进行排查或进行信息的重新发送。从而提高了IM数据交互的效率,避免了信息交互错误造成的数据不停转发。
实施例5:
此外,为了更好的说明本发明所提供的方法,本实施例中提供一种基于路由寻址的分布式IM通信方法,包括如下:
本实施例中,使用分布式的IM架构,引入路由寻址的方法,从IM节点、IM专线中,构造出一条稳定可靠的IM通讯线路。
本实施例中,在路由服务中设置节点的初始数据,包括IP地址、端口、区域地址、带宽上限、节点ID等数据。给路由服务配置相关的策略及算法,根据IM节点实时上报的网络状况,来调度节点之间的数据传输。IM数据采用二进制传输协议,RSA非对称加密算法加密。
参考图8,时序图中的组成的单元有:用户管理、用户1001、用户1002、SZ节点(国内)、PH节点(国外)、专线(广州-香港)、路由。
用户管理:可以查询用户对应的状态信息,及当前用户地址。
用户1001、1002:分别代表深圳用户和菲律宾用户。
SZ节点:深圳节点;
PH节点:菲律宾节点;
路由:动态解析节点名称到IP地址;
以下步骤为用户1001@SZ.User给用户1002@PH.User发送点对点消息的过程。
步骤:
步骤1、用户1001从SZ节点登录,获取当前的用户地址:1001@SZ.User;
步骤2、用户1001需要发消息给1002,向用户管理服务查询到1002的当前地址:1002@PH.User;
步骤3、用户1001@SZ.User向用户1002@PH.User发送消息,消息首先上传到SZ节点;
步骤4、SZ节点向路由服务请求解析PH.User对应的IP地址和端口;
步骤5、路由服务发现SZ节点与PH节点处于跨境状态,把PH.User的地址解析到专线的境内端的IP地址和端口;
步骤6、SZ节点把消息发送给专线境内端,消息转发次数累加1;
步骤7、专线境内端转发到专线境外端,消息转发次数累加1;
步骤8、专线境外端向路由服务请求解析PH.User对应的IP地址和端口;
步骤9、路由服务发现专线境外端与PH.User节点都属于境外,把PH.User解析到PH节点的IP地址和端口;
步骤10、专线境外端把消息发送到PH节点,消息转发次数累加1;
步骤11、PH节点把数据下发到用户1002,消息转发次数累加1;
参考图9,以下步骤为用户1001@SZ.User在群组5000@SZ.Room中发送群消息的过程:
步骤1、用户1001从SZ节点登录,获取当前的用户地址:1001@SZ.User;
步骤2、用户1001需要发消息给房间(群)5000,向房间管理服务查询到5000的当前地址:5000@SZ.Room;
步骤3、用户1001@SZ.User向房间5000@SZ.Room发送消息,消息首先上传到SZ节点;
步骤4、SZ节点向路由服务请求解析SZ.Room对应的IP地址和端口;
步骤5、路由服务发现SZ节点与SZ.Room服务都处于境内,把SZ.Room的地址解析到SZ Room服务的IP地址和端口;
步骤6、SZ节点把消息发送给SZ Room服务,消息转发次数累加1;
步骤7、SZ Room服务转发消息给当前在房间中的其他用户,转发过程同样需要查询路由后转发,消息转发次数累加1。
参阅图10,路由结构图:
该结构图中包含了2个网络(境内网络、境外网络),专线L1、L2,路由1、2。
网络中的节点根据路由的调配算法,实现节点之间的互联。
例一:
在节点A解析B,则直接解析到节点B;
例二:
在节点A解析a,则解析到专线的L1。专线是一个管道,从L1进则L2出,从L2进则从L1出。从L2解析a,则解析到节点a;
由此,可得出:
1、图10IM节点境内有5个,境外有4个,专线2条,这些节点和专线的数量,可以从候补资源中补充,或者删除后归还给候补资源。IM节点的数量可以根据网络使用率增减。
2、图10IM境内节点有五个节点A、B、C、D、E,除了C-D之间没有直联外,其他节点都有直联。这是因为C-D之间此刻直联的效率不高,当达到直联的效率后C-D即可直联,而直联的效率判断是由路由给出判断的。节点间的连接由路由调配,很灵活。
3、图8步骤4-6,IM在SZ节点解析PH节点,不是直接解析到PH节点的IP地址,而是解析到专线的IP地址,是因为SZ节点与PH节点是跨境的,它们之间不能联通。IM节点是动态解析的,在跨境IM通讯场景,能极大提高传输的稳定性。
4、构成基本节点可以是点或专线,当两个网络直联不通时(例如境内境外),可以在两个网络之间配置专线。只要点和专线足够,该IM系统可以在任何网络中打通稳定的传输通道。
此外,参考图11,本发明还提供一种基于路由寻址的分布式IM通信装置,包括:
请求模块10,用于在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求;
判断模块20,用于所述路由服务端在接收到所述第一解析请求后,根据所述第一解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态;
解析模块30,用于在若所述通信状态为跨境状态时,所述路由服务端将所述收信端的IP地址和端口解析到专线境内端对应的IP地址和端口;
发送模块40,用于基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址。
此外,本发明还提供一种计算机设备,所述计算机设备包括发信端、收信端和路由服务端;其中,所述发信端包括第一存储器以及第一处理器;所述收信端包括第二存储器以及第二处理器;所述路由服务端包括第三存储器以及第三处理器;
所述第一存储器、所述第二存储器和所述第三存储器均用于存储基于路由寻址的分布式IM通信程序,所述第一处理器、所述第二存储器和所述第三存储器均运行所述基于路由寻址的分布式IM通信程序以使所述计算机设备执行如上述所述基于路由寻址的分布式IM通信方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有基于路由寻址的分布式IM通信程序,所述基于路由寻址的分布式IM通信程序被处理器执行时实现如上述所述基于路由寻址的分布式IM通信方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (8)
1.一种基于路由寻址的分布式IM通信方法,其特征在于,包括:
在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求;
所述路由服务端在接收到所述第一解析请求后,根据所述第一解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态;
若所述通信状态为跨境状态,所述路由服务端将所述收信端的IP地址和端口解析到专线境内端对应的IP地址和端口;
基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址;
其中,所述“基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址”包括:
在所述专线境内端通过所述专线境内端对应的IP地址和端口接收到所述发信节点发送的所述消息数据后,所述专线境内端将所述消息数据转发至所述专线境外端;
所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址;
其中,所述“所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址”包括:
在所述专线境内端将所述消息数据转发至所述专线境外端之后,所述路由服务端接收所述专线境外端发出的针对于所述收信端的所述收信节点对应的IP地址和端口的第二解析请求;
根据所述第二解析请求,所述路由服务端判断所述专线境外端和所述收信节点是否均处于境外;
若所述专线境外端和所述收信节点均处于境外,则所述路由服务端将所述收信端对应的IP地址和端口解析到所述收信节点对应的IP地址和端口;
基于所述收信节点对应的IP地址和端口,所述专线境外端将所述消息数据发送至所述收信节点;并且,基于所述收信节点将所述消息数据下发至所述收信端。
2.如权利要求1所述基于路由寻址的分布式IM通信方法,其特征在于,所述“在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求”之前,还包括:
在所述发送端基于所述发信节点登录后,获取所述发送端的当前用户地址;并且,获取所述收信端的当前收信地址;
所述发送端将所述消息数据上传至所述发信节点,并通过所述发信节点向所述路由服务端发送针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求。
3.如权利要求1所述基于路由寻址的分布式IM通信方法,其特征在于,所述“根据所述解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态”之后,还包括:
若所述通信状态为非跨境状态,则所述路由服务端将所述收信端的IP地址和端口解析到所述收信节点对应的IP地址和端口;
基于所述收信节点对应的IP地址和端口,所述路由服务端将所述消息数据通过所述发信节点发送至所述收信节点,并经所述收信节点下发至所述收信端对应的当前收信地址。
4.如权利要求1所述基于路由寻址的分布式IM通信方法,其特征在于,
所述收信端为多个,并且,所述收信节点为多个所述收信端所在的群组对应的收信节点;
所述“根据所述解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态”之后,还包括:
若所述通信状态为非跨境状态,则所述路由服务端将所述收信端的IP地址和端口解析到所述群组对应的所述收信节点的IP地址和端口;
基于所述收信节点对应的IP地址和端口,所述路由服务端将所述消息数据通过所述发信节点发送至群组对应的所述收信节点;并经所述收信节点下发至所述群组中的每个所述收信端。
5.如权利要求1所述基于路由寻址的分布式IM通信方法,其特征在于,所述“基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址”之后,还包括:
所述路由服务端实时记录所述消息数据转发的交互次数;
若所述交互次数达到预设报错阈值,则所述路由服务端停止所述消息数据的发送;生成一数据交互错误信息,并通过所述发信节点将所述交互错误信息向所述发信端对应的当前发信地址。
6.一种基于路由寻址的分布式IM通信装置,其特征在于,包括:
请求模块,用于在发信端基于当前发信地址向收信端对应的当前收信地址进行消息数据发送时,路由服务端接收所述发信端基于发信节点发出的针对于所述收信端的收信节点对应的IP地址和端口的第一解析请求;
判断模块,用于所述路由服务端在接收到所述第一解析请求后,根据所述第一解析请求判断所述发信节点和所述收信节点之间的通信状态是否处于跨境状态;
解析模块,用于在若所述通信状态为跨境状态时,所述路由服务端将所述收信端的IP地址和端口解析到专线境内端对应的IP地址和端口;
发送模块,用于基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址;
其中,所述“基于所述专线境内端对应的IP地址和端口,所述路由服务端通过与所述专线境内端连接的专线境外端将所述消息数据经所述收信节点发送至所述收信端对应的所述当前收信地址”包括:
在所述专线境内端通过所述专线境内端对应的IP地址和端口接收到所述发信节点发送的所述消息数据后,所述专线境内端将所述消息数据转发至所述专线境外端;
所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址;
其中,所述“所述路由服务端通过所述专线境外端将所述消息数据发送至所述收信端对应的所述当前收信地址”包括:
在所述专线境内端将所述消息数据转发至所述专线境外端之后,所述路由服务端接收所述专线境外端发出的针对于所述收信端的所述收信节点对应的IP地址和端口的第二解析请求;
根据所述第二解析请求,所述路由服务端判断所述专线境外端和所述收信节点是否均处于境外;
若所述专线境外端和所述收信节点均处于境外,则所述路由服务端将所述收信端对应的IP地址和端口解析到所述收信节点对应的IP地址和端口;
基于所述收信节点对应的IP地址和端口,所述专线境外端将所述消息数据发送至所述收信节点;并且,基于所述收信节点将所述消息数据下发至所述收信端。
7.一种计算机设备,其特征在于,所述计算机设备包括发信端、收信端和路由服务端;其中,所述发信端包括第一存储器以及第一处理器;所述收信端包括第二存储器以及第二处理器;所述路由服务端包括第三存储器以及第三处理器;
所述第一存储器、所述第二存储器和所述第三存储器均用于存储基于路由寻址的分布式IM通信程序,所述第一处理器、所述第二存储器和所述第三存储器均运行所述基于路由寻址的分布式IM通信程序以使所述计算机设备执行如权利要求1-5中任一项所述基于路由寻址的分布式IM通信方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有基于路由寻址的分布式IM通信程序,所述基于路由寻址的分布式IM通信程序被处理器执行时实现如权利要求1-5中任一项所述基于路由寻址的分布式IM通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811503587.2A CN109379277B (zh) | 2018-12-10 | 2018-12-10 | 一种基于路由寻址的分布式im通信方法及其装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811503587.2A CN109379277B (zh) | 2018-12-10 | 2018-12-10 | 一种基于路由寻址的分布式im通信方法及其装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109379277A CN109379277A (zh) | 2019-02-22 |
CN109379277B true CN109379277B (zh) | 2021-04-09 |
Family
ID=65372908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811503587.2A Active CN109379277B (zh) | 2018-12-10 | 2018-12-10 | 一种基于路由寻址的分布式im通信方法及其装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109379277B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111835812B (zh) * | 2019-11-13 | 2023-01-31 | 厦门雅基软件有限公司 | 全球的数据获取方法、装置、电子设备及计算机存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745229B1 (en) * | 1997-09-26 | 2004-06-01 | Worldcom, Inc. | Web based integrated customer interface for invoice reporting |
CN101501665A (zh) * | 2005-04-25 | 2009-08-05 | 微软公司 | 使用针对设备的web服务进行的跨网络漫游及解析 |
CN105517068A (zh) * | 2015-11-30 | 2016-04-20 | 华为技术有限公司 | 一种漫游处理方法及装置 |
CN106921703A (zh) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 跨境数据同步的方法、系统,以及境内和境外数据中心 |
-
2018
- 2018-12-10 CN CN201811503587.2A patent/CN109379277B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6745229B1 (en) * | 1997-09-26 | 2004-06-01 | Worldcom, Inc. | Web based integrated customer interface for invoice reporting |
CN101501665A (zh) * | 2005-04-25 | 2009-08-05 | 微软公司 | 使用针对设备的web服务进行的跨网络漫游及解析 |
CN105517068A (zh) * | 2015-11-30 | 2016-04-20 | 华为技术有限公司 | 一种漫游处理方法及装置 |
CN106921703A (zh) * | 2015-12-25 | 2017-07-04 | 阿里巴巴集团控股有限公司 | 跨境数据同步的方法、系统,以及境内和境外数据中心 |
Non-Patent Citations (2)
Title |
---|
《IEEE Standard Computer Dictionary: A Compilation of IEEE Standard Computer Glossaries》;Anonymous;《IEEE Std 610》;19911231;全文 * |
《MSTP技术及南宁铁通数据通信网络应用研究》;刘国进;《中国优秀硕士学位论文全文数据库》;20111231;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109379277A (zh) | 2019-02-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101997370B1 (ko) | 사물 인터넷(iot)에서의 디바이스 로케이션 등록을 위한 서버 | |
CN104767679B (zh) | 一种在网络系统中传输数据的方法及装置 | |
US20100011110A1 (en) | Mobile terminal to media server connection apparatus, system, and method | |
JP2017504854A (ja) | サブスクリプション通知を実施するための方法および装置 | |
CN113411215B (zh) | 基于opc ua的时间敏感网络集中用户配置方法及系统 | |
US9130823B2 (en) | Apparatus and method for configuring personal network using PN routing table | |
CN113596191A (zh) | 一种数据处理方法、网元设备以及可读存储介质 | |
CN109891826B (zh) | 网络数据处理方法及装置 | |
EP3226518B1 (en) | Content delivery across heterogeneous networks | |
CN104980426A (zh) | 用于内容中心网络中的动态名称配置的系统和方法 | |
CN112866413A (zh) | 数据传输方法、装置、电子设备和计算机可读存储介质 | |
US8051157B2 (en) | Discovery apparatus and method | |
CN109379277B (zh) | 一种基于路由寻址的分布式im通信方法及其装置 | |
JP2024511907A (ja) | ネットワーク機能登録方法、発見方法、装置、デバイス及び媒体 | |
CN110365790B (zh) | 消息传输方法、装置、级联组网设备以及可读存储介质 | |
CN102984697A (zh) | 基于移动终端的ip通信方法、设备和系统 | |
CN107071038B (zh) | 一种传输多媒体数据的方法及装置 | |
US20200076494A1 (en) | Communication system, relay server, communication method and program | |
CN111315037B (zh) | 通信链路建立方法、装置、计算机设备及存储介质 | |
KR20100090613A (ko) | Iptv 서비스 오버레이 네트워크 시스템에서의 위치 관리 장치 및 방법 | |
US20230171673A1 (en) | Method and system for routing an internet protocol data packet between wireless computer devices connected to a cellular network | |
CN110809033B (zh) | 报文转发方法、装置及交换服务器 | |
KR102095563B1 (ko) | Mac 주소를 이용하는 이더넷 네트워크 장치 및 방법 | |
JP2020198654A (ja) | 通信システム、通信方法及びプログラム | |
KR101546387B1 (ko) | 단말들간의 콘텐츠 공유 프로세스를 수행하는 콘텐츠 공유 서버 및 방법, 그리고 단말 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200730 Address after: Room 903, South Block, Yuanxing science and technology building, Xili street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: Bell hekong (Shenzhen) Technology Co., Ltd Address before: 518000 Guangdong city of Shenzhen province Nanshan District Xili Street Song Ping mountain road 1 Lite Technology Building South 902 Applicant before: SHENZHEN BELL CREATIVE SCIENCE AND EDUCATION Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |