CN114422591A - 点对点通信方法、数据通信系统、计算机设备、存储介质 - Google Patents

点对点通信方法、数据通信系统、计算机设备、存储介质 Download PDF

Info

Publication number
CN114422591A
CN114422591A CN202111580278.7A CN202111580278A CN114422591A CN 114422591 A CN114422591 A CN 114422591A CN 202111580278 A CN202111580278 A CN 202111580278A CN 114422591 A CN114422591 A CN 114422591A
Authority
CN
China
Prior art keywords
node
receiving node
target data
data
intermediate node
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
Application number
CN202111580278.7A
Other languages
English (en)
Other versions
CN114422591B (zh
Inventor
何俊杰
黄卓杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Xuanwu Wireless Technology Co Ltd
Original Assignee
Guangzhou Xuanwu Wireless Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Guangzhou Xuanwu Wireless Technology Co Ltd filed Critical Guangzhou Xuanwu Wireless Technology Co Ltd
Priority to CN202111580278.7A priority Critical patent/CN114422591B/zh
Publication of CN114422591A publication Critical patent/CN114422591A/zh
Application granted granted Critical
Publication of CN114422591B publication Critical patent/CN114422591B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开实施例提供一种点对点通信方法、数据通信系统、计算机设备、存储介质,属于通信技术领域,所述方法包括:数据发送节点从多个中间节点中选择一个主中间节点;所述数据发送节点向所述主中间节点发送目标数据;所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据。通过数据发送节点直接选择主中间节点,避免通过查询注册中心的海量数据的方式来确定主中间节点,减少了注册中心处理海量数据的负担。

Description

点对点通信方法、数据通信系统、计算机设备、存储介质
技术领域
本发明涉及通信技术领域,尤其涉及一种点对点通信方法、数据通信系统、计算机设备、存储介质。
背景技术
目前,现成的broker服务在集群情况下的点对点通信是通过注册中心进行的,订阅者连接上broker后,注册中心记录订阅者和broker的连接关系。发布者发送消息前,首先通过注册中心查询订阅者所连接的broker,然后将消息发送到对应的broker上,最后broker向订阅者发送消息。由于发布者给每个订阅者发送消息前都需要查询一次注册中心,发布者和注册中心的数据交互频繁,增加了注册中心处理数据的负担。
发明内容
本公开实施例的主要目的在于提出一种点对点通信方法、数据通信系统、计算机设备、存储介质,使注册中心不必处理海量数据,能够减少发布者与注册中心的数据交互,降低点对点通信对注册中心的依赖。
为实现上述目的,本公开实施例的第一方面提出了一种点对点通信方法,应用于数据通信系统,所述数据通信系统包括数据发送节点、接收节点和多个中间节点,每个所述中间节点均存储有第一接收节点信息,所述方法包括:
所述数据发送节点从多个所述中间节点中选择一个主中间节点;
所述数据发送节点向所述主中间节点发送目标数据;
所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据。
在一些实施例,所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,包括:
若所述主中间节点存储的所述第一接收节点信息中包括所述接收节点的第二接收节点信息,根据所述第二接收节点信息向所述接收节点发送所述目标数据。
在一些实施例,所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,还包括:
若所述主中间节点存储的所述第一接收节点信息中不包括所述接收节点的第二接收节点信息,向多个从中间节点广播所述目标数据;
所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据;
其中,所述从中间节点为多个所述中间节点中除了所述主中间节点以外的其他节点。
在一些实施例,所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,包括:
若所述从中间节点存储的所述第一接收节点信息中包括所述接收节点的第二接收节点信息,根据所述第二接收节点信息向所述接收节点发送所述目标数据;
所述从中间节点向所述主中间节点返回第一结果消息。
在一些实施例,所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,还包括:
若所述从中间节点存储的所述第一接收节点信息中不包括所述接收节点的第二接收节点信息,所述从中间节点向所述主中间节点返回第二结果消息;
若所有的所述从中间节点均向所述主中间节点返回所述第二结果消息,所述主中间节点为所述目标数据添加发送失败标记。
在一些实施例,所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,还包括:
若所述主中间节点未在预设时长内接收到所述第一结果消息或者所述第二结果消息,所述主中间节点为所述目标数据添加发送失败标记。
在一些实施例,所述主中间节点为所述目标数据添加发送失败标记,包括:
所述主中间节点将所述目标数据作为离线数据,再次进行预设次数的发送;
当对所述离线数据的所述预设次数的发送依旧失败,所述主中间节点为所述目标数据添加发送失败标记。
本公开实施例的第二方面提出了一种数据通信系统,所述系统包括:
数据发送节点、接收节点和多个中间节点,每个所述中间节点均存储有第一接收节点信息;
其中,所述数据发送节点从多个所述中间节点中选择一个主中间节点,向所述主中间节点发送目标数据,所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据。
本公开实施例的第三方面提出了一种计算机设备,所述计算机设备包括存储器和处理器,其中,所述存储器中存储有程序,所述程序被所述处理器执行时所述处理器用于执行如本申请第一方面实施例任一项所述的方法。
本公开实施例的第四方面提出了一种存储介质,该存储介质为计算机可读存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本申请第一方面实施例任一项所述的方法。
本公开实施例提出的点对点通信方法、数据通信系统、计算机设备、存储介质,数据发送节点从多个中间节点中选择一个主中间节点,并向主中间节点发送目标数据,主中间节点根据存储的第一接收节点信息,向接收节点发送目标数据。通过数据发送节点直接选择主中间节点,避免通过查询注册中心的海量数据的方式来确定主中间节点,减少了注册中心处理海量数据的负担。
附图说明
图1是本公开实施例提供的点对点通信方法的第一流程图;
图2是图1中的步骤S130的第一流程图;
图3是图1中的步骤S130的第二流程图;
图4是图3中的步骤S320的第一流程图;
图5是图3中的步骤S320的第二流程图;
图6是图3中的步骤S320的第三流程图;
图7是本公开实施例提供的点对点通信方法的第二流程图;
图8是本公开实施例提供的点对点通信方法的第三流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本申请中涉及的若干名词进行解析:
mqtt:中文名称为消息队列遥测传输协议,是一种基于发布/订阅(Publish/Subscribe)模式的轻量级通讯协议,该协议构建于TCP/IP协议上。
broker:用于处理mqtt协议,管理长连接,接受发布者发布的所有消息,并将消息过滤后分发给不同的消息订阅者的中间件。
点对点通信:是指发布者发送一条消息有且只有一个订阅者能接收到该消息。
目前,broker服务在集群情况下的点对点通信大多是借助注册中心来存储订阅者和broker的连接关系,发布者发送消息前,首先通过注册中心查询订阅者所连接的broker,然后将消息发送到对应的broker上,最后由该broker向订阅者发送消息。发布者给每个订阅者发送消息前,都需要查询一次注册中心,以确定订阅者和broker的连接关系。若发布者有海量的订阅者,则注册中心需要存储海量的全量数据。当发布者有百万个订阅者,那么发布者向订阅者发送消息前,就需要查询百万次注册中心,发布者和注册中心的数据交互过于频繁,增加了注册中心处理数据的负担。
基于此,本公开实施例的主要目的在于提出一种点对点通信方法,通过发布者直接选择确定broker,而不是通过注册中心以查询方式确定broker,能够减少发布者和注册中心的数据交互,降低点对点通信对注册中心的依赖。
本公开实施例提供的点对点通信方法、数据通信系统、计算机设备、存储介质,具体通过如下实施例进行说明,首先描述本公开实施例中的点对点通信方法。
参照图1,本公开实施例第一方面实施例的点对点通信方法,应用于数据通信系统,数据通信系统包括数据发送节点、接收节点和多个中间节点,每个中间节点均存储有第一接收节点信息,该方法包括但不限于步骤S110至步骤S130。
S110,数据发送节点从多个中间节点中选择一个主中间节点;
S120,数据发送节点向主中间节点发送目标数据;
S130,主中间节点根据存储的第一接收节点信息,向接收节点发送目标数据。
在步骤S110中,数据发送节点从多个中间节点中随机选择一个节点作为主中间节点。数据发送节点即发布者,可以是接收节点下载的APP、订阅的公众号等。
在步骤S120中,目标数据可以是APP、公众号推送的文章、视频、图片等信息,数据发送节点向主中间节点发送文章、视频或图片等信息。
在步骤S130中,第一接收节点信息包括多个接收节点的id、中间节点与多个接收节点的连接关系。主中间节点根据接收节点的id、主中间节点与接收节点的连接关系,将目标数据即文章、视频、图片等信息,发送至对应的接收节点。接收节点即订阅者,可以是下载有相应APP或订阅有相应公众号的移动终端等设备。
在一些实施例中,如图2所示,步骤S130具体包括步骤:
S210,若主中间节点存储的第一接收节点信息中包括接收节点的第二接收节点信息,根据第二接收节点信息向接收节点发送目标数据。
在步骤S210中,第二接收节点信息可以是某一特定接收节点的id、中间节点与该接收节点的连接关系。在第一接收节点信息中,若多个接收节点的id中包括该特定接收节点的id,以及主中间节点与多个接收节点的连接关系中包括该主中间节点与该特定接收节点的连接关系,则主中间节点向该特定接收节点发送目标数据,以实现点对点通信。
在一些实施例中,如图3所示,步骤S130具体包括步骤:
S310,若主中间节点存储的第一接收节点信息中不包括接收节点的第二接收节点信息,向多个从中间节点广播目标数据;
S320,从中间节点根据存储的第一接收节点信息,向接收节点发送目标数据。
在步骤S310和步骤S320中,若主中间节点存储的第一接收节点信息中不包括某一特定接收节点的第二接收节点信息,则主中间节点向多个从中间节点广播目标数据,以使多个从中间节点获取到目标数据。从中间节点获取到目标数据后,根据其存储的第一接收节点信息,向该特定接收节点发送目标数据。当主中间节点未存储特定接收节点的第二接收节点信息,通过主中间节点广播目标数据的方式,将目标数据的发送任务交由从中间节点执行,使中间节点不必存储所有其他中间节点与所有其他接收节点的第一接收节点信息。
需要说明的是,从中间节点为多个中间节点中除了主中间节点以外的其他节点。
在一些实施例中,如图4所示,步骤S320具体包括步骤:
S410,若从中间节点存储的第一接收节点信息中包括接收节点的第二接收节点信息,根据第二接收节点信息向接收节点发送目标数据;
S420,从中间节点向主中间节点返回第一结果消息。
在步骤S420中,第一结果消息可以为从中间节点能够根据第二接收节点信息,找到其需要发送目标数据的接收节点,也可以为目标数据的发送结果,如发送成功或发送失败。
在一些实施例,如图5所示,步骤S320具体包括步骤:
S510,若从中间节点存储的第一接收节点信息中不包括接收节点的第二接收节点信息,从中间节点向主中间节点返回第二结果消息;
S520,若所有的从中间节点均向主中间节点返回第二结果消息,主中间节点为目标数据添加发送失败标记。
在步骤S520中,若所有的从中间节点均向主中间节点返回第二结果信息,说明所有的从中间节点存储的第一接收节点信息均不包括需要发送目标数据的接收节点的第二接收节点信息,即所有的从中间节点都无法查询到需要发送目标数据的接收节点,则视为向该接收节点发送目标数据的任务失败。
需要说明的是,第二结果消息为从中间节点无法找到其需要发送数据的接收节点。
在一些实施例,如图6所示,步骤S320具体包括步骤:
S610,若主中间节点未在预设时长内接收到第一结果消息或者第二结果消息,主中间节点为目标数据添加发送失败标记。
在步骤S610中,由于网络等原因,从中间节点无法及时向主中间节点返回第一结果消息或第二结果消息,则主中间节点会等待来自从中间节点的响应。若等待时间超过预设时长,则主中间节点不再等待来自从中间节点的响应,视为向接收节点发送目标数据的任务失败。
需要说明的是,若首次向接收节点发送目标数据失败后,主中间节点将目标数据作为离线数据,再次进行预设次数的发送,当对离线数据的预设次数的发送依旧失败,则视为向接收节点发送目标数据的任务失败。若预设次数为3,当对离线数据进行3次发送后,数据依然无法到达特定接收节点,主中间节点认为该目标数据发送失败。
在一些实施例中,如图7所示,点对点通信方法包括但不限于步骤S710至S760。
S710,发布者在broker集群中随机选择一个broker作为主broker;
S720,发布者向主broker发送目标数据;
S730,主broker接收到目标数据后,查询本地是否存储有对应订阅者的信息;若查询结果为是,则执行步骤S740;若查询结果为否,则执行步骤S750;
S740,主broker获取订阅者的信息,将目标数据发送给订阅者;
S750,主broker向从broker广播目标数据,等待从broker的响应结果;
S760,从broker根据响应结果,向主broker发送通知消息。
在步骤S730中,订阅者和broker集群中的某一broker建立连接,建立连接的信息只需保存在该broker,该建立连接的信息即为订阅者的信息。
在步骤S750中,从broker为broker集群中除主broker以外的其他broker,主broker发出广播,从broker接收广播的信息后,查询本地是否存储有对应订阅者的信息,并根据查询结果作出不同的响应。从broker的响应结果包括找到订阅者、找不到订阅者、没有响应。
在步骤S760中,若从broker找到订阅者,向该订阅者发送目标数据,并将目标数据的发送结果返回给主broker以告知主broker数据的发送结果。目标数据的发送结果为目标数据发送成功或目标数据发送失败。若从broker找不到订阅者,向主broker发送找不到订阅者的通知消息。若所有的从broker都无法查询到订阅者信息,则视为目标数据发送失败,主broker可以将目标数据离线发送或直接丢弃目标数据。若从broker无法返回响应给主broker,主broker会等待预设的一段时长,当等待超时,主broekr就不再等待从broker的响应结果,认为目标数据发送失败。
需要说明的是,broker集群情况下,订阅者只会和集群中的一个broker建立长连接。当发布者通过broker集群向某个订阅者发送消息时,就需要在broker集群中找到和订阅者建立长连接的broker。本公开实施例不仅满足broker部署集群,同时可以进行点对点需求。
在一些实施例,如图8所示,若发布者向一百万台手机设备推送APP消息,点对点通信方法包括但不限于步骤S810至S880。
S810,手机上的APP和broker建立TCP长连接,将设备id上报到broker;
S820,broker将设备id交由指定的业务模块保存到数据库,并将设备id和TCP长连接绑定;
S830,业务模块从数据库中查找出一百万台手机设备的设备id,然后对一百万手机设备下发消息;
S840,消息到达broker后,broker根据设备id查找连接信息;
S850,判断当前broker能否找到连接信息,若判断结果为是,执行步骤S860;若判断结果为否,执行步骤S870;
S860,将消息推送到设备;
S870,将消息广播到其他broker,其他broker接收到消息后,根据消息中的设备id查找连接信息,查找出连接信息则直接推送消息,并给当前broker响应推送成功结果;查找不到连接信息以及处理超时的情况,则给当前broker响应推送失败结果;
S880,对于推送失败的消息,当前broker会将其作为离线消息,后续再进行3次推送尝试,3次尝试后依旧失败,则将该消息标记为推送失败。
在步骤S830中,下发消息的消息体中包含设备id以及消息内容。
在步骤S850中,当前broker把消息分为两组,在当前broker中能够查找得到设备id的消息(记为f组消息)和查找不到设备id的消息(记为nf组消息)。
在步骤S860中,对于f组消息,在当前broker查找连接信息,接着将消息推送到设备。
在步骤S870中,对于nf组消息,将消息广播到其他broker。这时当前broker就是主broker,接收广播的其他broker就是从broker。
现成的broker服务,如HiveMQ、ActiveMQ、EMQ等等,除通过注册中心的方式进行点对点通信外,还可以通过如下方式进行,当订阅者和broker建立连接的时候,通过广播的方式告知集群内所有的broker,每个broker都拥有所有订阅者和所有broker的连接关系。发布者随机向一个broker发送消息,该broker先获取这条消息对应的订阅者,接着查询出该订阅者所连接的broker。如果查询出的broker是当前broker,则获取到和订阅者的连接,然后给订阅者推送消息;如果不是当前broker,则将消息转发到对应的broker。但这种方式会出现集群中不同broker的信息不一致的情况,且集群广播过程中,会出现数据处理失败导致数据丢失的情况。虽然集群数据的一致性可以通过Raft算法来保证,但增加了系统的技术难度以及系统的复杂度。
本公开实施例的点对点通信方法通过广播目标数据的方式,将数据发送任务交由存储有相应订阅者连接关系的broker执行,使broker不必存储所有订阅者和所有broker的连接关系,避免了不同broker存储的订阅者连接关系等数据不一致,也避免了广播过程中broker对连接关系等数据处理失败而导致该数据丢失的情况,降低了技术难度,让broker集群的点对点通信变得简单。
本公开实施例提出的点对点通信方法,数据发送节点从多个中间节点中选择一个主中间节点,并向主中间节点发送目标数据,主中间节点根据存储的第一接收节点信息,向接收节点发送目标数据。通过数据发送节点直接选择主中间节点,避免通过查询注册中心的海量数据的方式来确定主中间节点,减少了注册中心处理海量数据的负担。
本公开实施例还提供一种数据通信系统,可以实现上述点对点通信方法,该系统包括:数据发送节点、接收节点和多个中间节点,每个中间节点均存储有第一接收节点信息;其中,数据发送节点从多个中间节点中选择一个主中间节点,向主中间节点发送目标数据,主中间节点根据存储的第一接收节点信息,向接收节点发送目标数据。本公开实施例的数据通信系统用于执行上述实施例中的点对点通信方法,其具体处理过程与上述实施例中的点对点通信方法相同,此处不再一一赘述。
本公开实施例提出的数据通信系统,该系统包括:数据发送节点、接收节点和多个中间节点,每个中间节点均存储有第一接收节点信息。数据发送节点从多个中间节点中选择一个主中间节点,并向主中间节点发送目标数据,主中间节点根据存储的第一接收节点信息,向接收节点发送目标数据。通过数据发送节点直接选择主中间节点,避免通过查询注册中心的海量数据的方式来确定主中间节点,减少了注册中心处理海量数据的负担。
本公开实施例还提供了一种计算机设备,包括:
至少一个处理器,以及,
与至少一个处理器通信连接的存储器;其中,
存储器存储有指令,指令被至少一个处理器执行,以使至少一个处理器执行指令时实现如本申请第一方面实施例中任一项的方法。
该计算机设备包括:处理器、存储器、输入/输出接口、通信接口和总线。
处理器,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
存储器,可以采用ROM(Read Only Memory,只读存储器)、静态存储设备、动态存储设备或者RAM(Random Access Memory,随机存取存储器)等形式实现。存储器可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器中,并由处理器来调用执行本公开实施例的点对点通信方法;
输入/输出接口,用于实现信息输入及输出;
通信接口,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和
总线,在设备的各个组件(例如处理器、存储器、输入/输出接口和通信接口)之间传输信息;
其中处理器、存储器、输入/输出接口和通信接口通过总线实现彼此之间在设备内部的通信连接。
本公开实施例还提供一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行本公开实施例的点对点通信方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图1至图8中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本公开实施例的优选实施例,并非因此局限本公开实施例的权利范围。本领域技术人员不脱离本公开实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本公开实施例的权利范围之内。

Claims (10)

1.一种点对点通信方法,其特征在于,应用于数据通信系统,所述数据通信系统包括数据发送节点、接收节点和多个中间节点,每个所述中间节点均存储有第一接收节点信息,所述方法包括:
所述数据发送节点从多个所述中间节点中选择一个主中间节点;
所述数据发送节点向所述主中间节点发送目标数据;
所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据。
2.根据权利要求1所述的一种点对点通信方法,其特征在于,所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,包括:
若所述主中间节点存储的所述第一接收节点信息中包括所述接收节点的第二接收节点信息,根据所述第二接收节点信息向所述接收节点发送所述目标数据。
3.根据权利要求2所述的一种点对点通信方法,其特征在于,所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,还包括:
若所述主中间节点存储的所述第一接收节点信息中不包括所述接收节点的第二接收节点信息,向多个从中间节点广播所述目标数据;
所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据;
其中,所述从中间节点为多个所述中间节点中除了所述主中间节点以外的其他节点。
4.根据权利要求3所述的一种点对点通信方法,其特征在于,所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,包括:
若所述从中间节点存储的所述第一接收节点信息中包括所述接收节点的第二接收节点信息,根据所述第二接收节点信息向所述接收节点发送所述目标数据;
所述从中间节点向所述主中间节点返回第一结果消息。
5.根据权利要求4所述的一种点对点通信方法,其特征在于,所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,还包括:
若所述从中间节点存储的所述第一接收节点信息中不包括所述接收节点的第二接收节点信息,所述从中间节点向所述主中间节点返回第二结果消息;
若所有的所述从中间节点均向所述主中间节点返回所述第二结果消息,所述主中间节点为所述目标数据添加发送失败标记。
6.根据权利要求5所述的一种点对点通信方法,其特征在于,所述从中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据,还包括:
若所述主中间节点未在预设时长内接收到所述第一结果消息或者所述第二结果消息,所述主中间节点为所述目标数据添加发送失败标记。
7.根据权利要求5或6所述的一种点对点通信方法,其特征在于,所述主中间节点为所述目标数据添加发送失败标记,包括:
所述主中间节点将所述目标数据作为离线数据,再次进行预设次数的发送;
当对所述离线数据的所述预设次数的发送依旧失败,所述主中间节点为所述目标数据添加发送失败标记。
8.一种数据通信系统,其特征在于,所述系统包括:
数据发送节点、接收节点和多个中间节点,每个所述中间节点均存储有第一接收节点信息;
其中,所述数据发送节点从多个所述中间节点中选择一个主中间节点,向所述主中间节点发送目标数据,所述主中间节点根据存储的所述第一接收节点信息,向所述接收节点发送所述目标数据。
9.一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,其中,所述存储器中存储有程序,所述程序被所述处理器执行时所述处理器用于执行:
如权利要求1至7中任一项所述的方法。
10.一种存储介质,所述存储介质为计算机可读存储介质,其特征在于,所述计算机可读存储有计算机程序,在所述计算机程序被计算机执行时,所述计算机用于执行:
如权利要求1至7中任一项所述的方法。
CN202111580278.7A 2021-12-22 2021-12-22 点对点通信方法、数据通信系统、计算机设备、存储介质 Active CN114422591B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111580278.7A CN114422591B (zh) 2021-12-22 2021-12-22 点对点通信方法、数据通信系统、计算机设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111580278.7A CN114422591B (zh) 2021-12-22 2021-12-22 点对点通信方法、数据通信系统、计算机设备、存储介质

Publications (2)

Publication Number Publication Date
CN114422591A true CN114422591A (zh) 2022-04-29
CN114422591B CN114422591B (zh) 2023-01-10

Family

ID=81267749

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111580278.7A Active CN114422591B (zh) 2021-12-22 2021-12-22 点对点通信方法、数据通信系统、计算机设备、存储介质

Country Status (1)

Country Link
CN (1) CN114422591B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115914246A (zh) * 2022-10-08 2023-04-04 广州市玄武无线科技股份有限公司 离线消息的点对点通信方法、系统、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199415A1 (en) * 2014-01-16 2015-07-16 International Business Machines Corporation Parallel transaction messages for database replication
CN109857572A (zh) * 2018-12-29 2019-06-07 北京百度网讯科技有限公司 实现远程调用的方法、装置、设备及计算机可读存储介质
CN110247957A (zh) * 2019-05-22 2019-09-17 东软集团股份有限公司 网络系统及其数据传输方法、电子设备
CN112527520A (zh) * 2020-12-01 2021-03-19 中国建设银行股份有限公司 一种部署消息中间件的方法和装置
CN113641511A (zh) * 2021-07-09 2021-11-12 阿里云计算有限公司 一种消息通信方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150199415A1 (en) * 2014-01-16 2015-07-16 International Business Machines Corporation Parallel transaction messages for database replication
CN109857572A (zh) * 2018-12-29 2019-06-07 北京百度网讯科技有限公司 实现远程调用的方法、装置、设备及计算机可读存储介质
CN110247957A (zh) * 2019-05-22 2019-09-17 东软集团股份有限公司 网络系统及其数据传输方法、电子设备
CN112527520A (zh) * 2020-12-01 2021-03-19 中国建设银行股份有限公司 一种部署消息中间件的方法和装置
CN113641511A (zh) * 2021-07-09 2021-11-12 阿里云计算有限公司 一种消息通信方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115914246A (zh) * 2022-10-08 2023-04-04 广州市玄武无线科技股份有限公司 离线消息的点对点通信方法、系统、装置及存储介质

Also Published As

Publication number Publication date
CN114422591B (zh) 2023-01-10

Similar Documents

Publication Publication Date Title
CN108696374B (zh) 更新客户端配置的方法和装置
CN109347968B (zh) 一种下载资源文件的数据块的方法、设备和系统
US20090119388A1 (en) Content relaying device and content relaying method
CN105827694B (zh) 网络资源的获取方法和装置
CN110012083B (zh) 一种数据传输方法、服务器及数据传输装置
CN102118263A (zh) 配置信息的发布方法及系统
CN104601702B (zh) 集群远程过程调用方法及系统
CN110413845B (zh) 基于物联网操作系统的资源存储方法及装置
CN108235051B (zh) 直播系统及直播数据的存储和获取方法
CN111917687A (zh) 一种循环推送提醒消息的方法和装置
CN108228625B (zh) 一种推送消息处理方法及装置
CN113452808A (zh) 域名解析方法、装置、设备及存储介质
CN114328618A (zh) 一种缓存数据同步方法、装置、设备及存储介质
CN114422591B (zh) 点对点通信方法、数据通信系统、计算机设备、存储介质
US8984100B2 (en) Data downloading method, terminal, server, and system
EP3879787A1 (en) Communication method and system under micro-service architecture
CN112769671B (zh) 消息处理方法、装置与系统
CN108965359B (zh) 通信方法、通信装置、可读介质和电子设备
CN107844310B (zh) 一种配置信息更新方法及系统
CN114416508A (zh) 应用性能监控方法和装置、存储介质及电子设备
CN108337280B (zh) 一种资源更新方法及装置
CN110798495A (zh) 用于在集群架构模式下端到端的消息推送的方法和服务器
CN114338794B (zh) 一种服务消息的推送方法、装置、电子设备及存储介质
CN105978853B (zh) 一种会话调度方法、调度服务器及终端
CN107835225B (zh) 数据信息的获取方法、装置和设备

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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Point-to-point communication methods, data communication systems, computer equipment, storage media

Effective date of registration: 20230331

Granted publication date: 20230110

Pledgee: Shanghai Pudong Development Bank Limited by Share Ltd. Guangzhou branch

Pledgor: GUANGZHOU XUANWU WIRELESS TECHNOLOGY Co.,Ltd.

Registration number: Y2023980037128

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Granted publication date: 20230110

Pledgee: Shanghai Pudong Development Bank Limited by Share Ltd. Guangzhou branch

Pledgor: GUANGZHOU XUANWU WIRELESS TECHNOLOGY Co.,Ltd.

Registration number: Y2023980037128

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: Point-to-point communication methods, data communication systems, computer equipment, storage media

Granted publication date: 20230110

Pledgee: Shanghai Pudong Development Bank Limited by Share Ltd. Guangzhou branch

Pledgor: GUANGZHOU XUANWU WIRELESS TECHNOLOGY Co.,Ltd.

Registration number: Y2024980017460