CN102547809B - 一种数据发送方法及系统 - Google Patents
一种数据发送方法及系统 Download PDFInfo
- Publication number
- CN102547809B CN102547809B CN201010606597.6A CN201010606597A CN102547809B CN 102547809 B CN102547809 B CN 102547809B CN 201010606597 A CN201010606597 A CN 201010606597A CN 102547809 B CN102547809 B CN 102547809B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- sent
- section point
- response
- 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.)
- Expired - Fee Related
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 124
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 95
- 230000001360 synchronised effect Effects 0.000 claims abstract description 39
- 238000004321 preservation Methods 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 19
- 238000012546 transfer Methods 0.000 abstract description 13
- 238000012544 monitoring process Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
Landscapes
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种数据发送方法及系统,用以解决现有技术中在大数据量的环境中,数据传输可靠性差的问题。该方法接收到客户端发送的待发送数据的第一节点,将该待发送数据同步到至少一个其他节点,并且在接收到至少一个其他节点返回的成功接收响应后,将成功接收响应同步到控节点确定的进行数据发送的第二节点,第二节点接收到该成功接收响应后,将该待发送数据发送到外部接收节点。由于在本发明实施例中,在进行数据发送的过程中,该待发送数据备份了至少两份,因此可以有效的保证数据传输的可靠性。
Description
技术领域
本发明涉及移动业务处理技术领域,尤其涉及一种数据发送方法及系统。
背景技术
目前消息队列系统大多部署在单个物理节点上,这种实现方式无论该物理节点的性能如何好,软件实现如何科学,都无法保证在数据传输过程中不出现故障。而为了提高数据传输的可靠性,在现有技术中还可以采用双机热备份的方式来实现,这种实现方式虽然可以在一定程度上提高数据传输的可靠性,但是吞吐量上受到很大的限制,因此该实现方式并不适合在大数据量环境中使用。
而由于现有的很多应用系统规模越来越庞大,系统内部的关系越来越复杂,在系统内数据流转的步骤也非常的多,数据在传输的过程中极易出现不一致或丢失的问题,因此如何通过一种可靠的机制来保证在大数据量的环境中,数据传输的可靠性,是各个系统急需解决的一个问题。
发明内容
有鉴于此,本发明实施例提供一种数据发送方法及系统,用以解决现有技术中在大数据量的环境中,数据传输可靠性差的问题。
本发明实施例提供的一种数据发送方法,包括:
接收到客户端发送的待发送数据的第一节点,将该待发送数据同步到至少一个其他节点;
当该第一节点接收到至少一个其他节点返回的成功接收响应后,将该成功接收响应同步到监控节点确定的进行数据发送的第二节点;并
将成功接收到该待发送数据的每个节点的信息上报监控节点;
其中,监控节点通过下述方式确定进行数据发送的第二节点:所述监控节点接收每个进行数据发送的节点上线后上报的信息;根据接收的信息,及监控到的每个节点的状态信息,选择进行数据发送的第二节点;
监控节点确定的进行数据发送的第二节点的接收到该成功接收响应后,将该待发送数据发送到外部接收节点。
本发明实施例提供的一种数据发送系统,包括:
客户端,用于发送待发送数据;
第一节点,用于接收所述客户端发送的待发送数据,并将该待发送数据同步到至少一个其他节点,接收至少一个其他节点返回的成功接收响应,将该成功接收响应同步到监控节点确定的进行数据发送的第二节点;并将成功接收到该待发送数据的每个节点的信息上报监控节点;
第二节点,用于接收所述第一节点同步的待发送数据,并向所述第一节点返回成功接收响应,接收到所述第一节点同步的成功接收响应后,将接收到的待发送数据发送到外部接收节点;
监控节点,用于接收每个进行数据发送的节点上线后上报的信息,根据接收的信息,及监控到的每个节点的状态信息,选择进行数据发送的第二节点;
外部接收节点,用于接收所述第二节点发送的待发送数据。
本发明实施例提供了一种数据发送方法及装置,该方法中接收到客户端发送的待发送数据的第一节点,将该待发送数据同步到至少一个其他节点,并且在接收到至少一个其他节点返回的成功接收响应后将成功接收响应同步到控节点确定的进行数据发送的第二节点,第二节点接收到该成功接收响应后,将该待发送数据发送到外部接收节点。由于在本发明实施例中,在进行数据发送的过程中,该待发送数据备份了至少两份,因此可以有效的保证数据传输的可靠性。
附图说明
图1为本发明实施例提供的数据发送系统的结构示意图;
图2为本发明实施例提供的数据发送的过程;
图3A为本发明实施例提供的数据发送系统的细化结构图;
图3B为本发明实施例提供的以该系统中包括三个进行数据发送的节点为例,对数据发送过程进行的说明;
图4为本发明实施例提供的以进行数据接收和发送的节点包括三个为例,对数据发送过程的详细描述;
图5为本发明实施例提供的包括多个队列的数据传输系统的结构示意图。
具体实施方式
本发明实施例为了在大吞吐量下,提高数据发送的可靠性,提供了一种数据发送方法及系统,该数据发送系统包括发送待发送数据的客户端、进行数据接收和发送的至少两个节点,对进行数据接收和发送的节点进行监控的监控节点以及接收待发送数据的外部接收节点。
图1为本发明实施例提供的数据发送系统的结构示意图,该系统包括:
客户端11,用于发送待发送数据;
第一节点12,用于接收所述客户端发送的待发送数据,并将该待发送数据同步到至少一个其他节点,接收至少一个其他节点返回的成功接收响应,将该成功接收响应同步到监控节点确定的进行数据发送的第二节点;
第二节点13,用于接收所述第一节点同步的待发送数据,并向所述第一节点返回成功接收响应,接收到所述第一节点同步的成功接收响应后,将接收到的待发送数据发送到外部接收节点;
监控节点14,用于确定进行数据发送的第二节点;
外部接收节点15,用于接收所述第二节点发送的待发送数据。
在本发明实施例中进行待发送数据接收的第一节点和对待发送数据进行发送的第二节点,可以是同一个节点,也可以是不同的节点,在这里为了表述方便,分别用第一节点和第二节点表述。另外,第一节点和第二节点的功能完全相同。并且为了保证数据传输的可靠性,在本发明实施例中进行待发送数据接收和发送的节点可以包括至少两个,例如可以为三个,或者更多个。
当客户端存在待发送数据需要发送时,根据向自身提供的每个进行数据发送的节点的地址,任一选择一个进行待发送数据的发送。接收到该待发送数据的第一节点,具体为该第一节点的接收模块接收该待发送数据。当该第一节点的接收模块接收到该待发送数据后,将该待发送数据发送到自身的发送模块中,并且将该待发送数据发送到至少一个其他节点的发送模块中。
接收到该第一节点的接收模块发送的待发送数据的每个发送模块后,向该第一节点的接收模块返回成功接收响应。当该第一节点的接收模块接收到至少两个发送模块返回的成功接收响应后,将该成功接收响应同步到监控节点确定的进行数据发送的第二节点。其中该第一节点将成功接收响应同步到第二节点,可以为监控节点在确定了进行数据发送的第二节点的信息后,将该第二节点的信息通知每个其他节点,当第一节点接收到至少一个其他节点返回的成功接收响应后,将该成功接收响应同步到第二节点。或者也可以是当第一节点接收到至少一个其他节点返回的成功接收响应后,将该成功接收响应同步到接收到该待发送数据的每个其他节点,因为该第二节点由于没有宕机,其一定可以成功接收该待发送数据,并向第一节点返回成功接收响应,并可以接收到第一节点同步的成功接收响应。
由于在本发明实施例中,该接收到待发送数据的第一节点,在接收到该待发送数据,并自身保存了该待发送数据后,同时将该待发送数据同步到至少一个其他节点,当该系统中包含的进行数据接收和发送的其他节点比较多时,为了有效保证数据传输的可靠性,该第一节点可以将该待发送数据一一同步到每个节点中。当该第一节点将该待发送数据同步到至少一个待发送节点后,为了保证数据传输的可靠性,需要存在设定数量的节点接收到该待发送数据,并且在进行数据发送的第二节点出现故障时,其他接收到该待发送数据的节点可以继续进行后续数据的发送。因此第一节点需要判断是否有满足要求的设定数量的节点接收到该待发送数据,当存在设定数量的节点接收到该待发送数据时,该第一节点可以向客户端返回成功接收响应,并且向接收到该待发送数据的每个其他节点同步该成功接收响应,以便进行数据发送的第二节点开始进行数据的发送。
其中该设定数量为至少一个,针对该第一节点的接收模块而言,应该为至少两个接收模块向其返回到了成功接收响应,因为当该第一节点能够接收到其他节点反馈的信息时,说明该第一节点运行正常,一般情况下该第一节点的接收模块应该可以接收到自身的发送模块返回的成功接收响应,因此此时该第一节点只需要再接收到至少一个其他节点返回的成功接收响应即可。当然,为了保证数据传输的高可靠性,当该系统中包含的进行数据发送和接收的节点比较多时,例如4个或5个以上时,该设定数量可以为2个或者3个,这里可以根据需要灵活设定,该设定数量越大,则整个数据传输系统的可靠性越高。
这里为了进一步提高数据传输的可靠性,客户端11还用于,判断在设定的时间长度内是否接收到所述第一节点12返回的成功接收响应,当在设定的时间长度内未接收到所述第一节点12返回的成功接收响应时,重新发送该待发送数据。也就是说该客户端向第一节点发送该待发送数据后,为了保证该待发送数据能够被第一节点同步到设定数量的其他节点上,该客户端在发送该待待发送数据后,需要开启自身的计时器,判断在该计时器的设定时间长度内,是否能够接收到第一节点返回的成功接收响应。当该客户端在该设定的时间长度内接收到第一节点返回的成功接收响应后,说明该第一节点已经将该待发送数据同步到了设定数量的其他节点上,当该设定时间长度内该客户端未接收到第一节点返回的成功接收响应时,说明该第一节点未将该待发送数据同步到设定数量的其他节点上,该客户端需要重新发送该待发送数据,该客户端可以重新向第一节点发送该待发送数据,可以向其他节点重新发送该待发送数据。
监控节点确定的进行数据发送的第二节点的接收模块接收到该成功接收响应后,该第二节点的发送模块将该待发送数据发送到外部接收节点。该外部接收节点15还用于,在接收成功时,向所述第二节点返回接收成功响应信息,该第二节点还用于,接收所述外部接收节点发送的接收成功响应信息,并将所述接收成功响应信息同步到该返回成功接收响应的每个其他节点。
在本发明实施例中该监控节点用于确定进行数据发送的第二节点,监控节点具体在确定该第二节点时,该监控节点14具体用于,接收每个进行数据发送的节点上线后上报的信息,根据接收的信息,及查询到的每个节点是否宕机的信息,选择进行数据发送的第二节点。
每个进行待发送数据接收和发送的节点在上线后,将自身上线后的信息上报监控节点,并且监控节点还会按照设定的时间间隔监控每个节点的状态信息,即监控每个节点是否宕机的信息,监控节点根据接收到的每个节点上报的信息,以及监控到的每个节点的状态信息进行数据送的第二节点的选择。当该监控节点确定了进行数据发送的第二节点后,当第二节点进行数据发送之前,或者该第二节点进行数据发送的过程中,或者在该第二节点进行数据发送后,当该监控节点识别到第二节点出现故障时,需要重新选择进行数据发送的第三节点。
具体的在第二节点在进行数据发送之前、以及该第二节点在数据发送之后,由于监控节点采用设定的时间间隔监控每个节点的状态,因此当该监控节点识别到该第二节点出现故障时,该监控节点根据保存的每个已上线的节点的信息,及当前每个节点是否处于正常状态,选择进行数据发送的第三节点。
而当该第二节点在进行数据发送的过程中出现故障时,为了保证数据的正常发送,需要监控节点确定进行数据发送的第三节点,而为了保证监控节点确定的第三节点可以进行后续数据的发送,即该第三节点必须得保存了该相应的待发送数据,因此此时,该第一节点还用于,向所述客户端发送成功接收响应,并将成功接收到该待发送数据的每个节点的信息上报监控节点。只有监控节点获得了当前有哪些节点已经接收到了该待发送数据,才能够保证在第二节点出现故障时,继续进行该客户端的待发送数据的发送。
当该监控节点识别到该第二节点出现故障,并根据第一节点上报的成功接收到该待发送数据的每个节点的信息,确定进行数据发送的第三节点后,该第三节点可以直接根据自身保存该待发送数据的信息,重新进行数据的发送。当然为了提高数据传输的效率,该第三节点也可以根据第二节点已成功发送的数据长度的信息,发送后续数据。当该第三节点可以根据第二节点已发送的待发送数据的长度信息,继续进行后续数据的发送时,该第二节点还用于,记录已发送数据的长度信息,并将该长度信息同步到该至少一个其他节点。
因此,当监控节点在识别到第二节点出现故障时,在保存的每个成功接收该待发送数据的节点中确定进行数据发送的第三节点,该第三节点,用于根据保存的所述第二节点已发送数据的长度信息,发送后续数据。
由于在本发明实施例中对数据进行接收和发送的节点包括多个,并且接收到待发送数据的第一节点,将该待发送数据同步到至少一个其他节点,并接收到至少一个其他节点的成功接收响应后,该进行数据发送的第二节点才进行数据的发送,因此可以保证在整个系统中至少存在两个节点备份了该待发送数据,当该进行数据发送的第二节点出现故障时,至少还存在一个第三节点可以进行后续数据的发送,因此有效的保证了数据传输的可靠性。
下面结合说明书附图,对本发明实施例进行详细说明。
图2为本发明实施例提供的数据发送的过程,该过程包括以下步骤:
S201:客户端将该待发送数据发送到第一节点。
S202:接收到客户端发送的待发送数据的第一节点,将该待发送数据同步到至少一个其他节点。
S203:接收到该发送数据的至少一个其他节点向该第一节点返回成功接收响应。
S204:当该第一节点接收到至少一个其他节点返回的成功接收响应后,将该成功接收响应同步到监控节点确定的进行数据发送的第二节点。
S205:监控节点确定的进行数据发送的第二节点的接收到该成功接收响应后,将该待发送数据发送到外部接收节点。
具体的在本发明实施例中在每个进行数据接收和发送的节点,即对于第一节点和第二节点,其包括接收模块和发送模块。其中第一节点中接收客户端发送的待发送数据的为该第一节点的接收模块,第二节点进行待发送数据发送的模块为该第二节点的发送模块。
图3A为本发明实施例提供的数据发送系统的细化结构图,每个进行数据发送的节点包括接收模块rd和发送模块ds,接收模块rd接收客户端发送的待发送数据,并接收监控节点发送的确定是否为进行数据发送的节点的信息,并且接收模块还用于在接收到待发送数据时,将该待发送数据发送到发送模块。发送模块用于向监控节点反馈自身所在节点的状态信息,并且还用于向外部接收节点发送待发送数据,在该系统中为了保证系统的安全性,监控节点可以采用主备方式,即采用监控节点master和监控节点slave,在监控节点master正常时,由监控节点master监控各个进行数据发送的节点的状态,并将检测到的节点的状态信息同步到监控节点slave,当监控节点master出现故障时,可以进行主备切换,由监控节点slave切换为主用监控节点,监控各个进行数据发送的节点的状态。
图3B为以该系统中包括三个进行数据发送的节点为例,对本发明实施例中的数据发送过程进行说明,该过程包括以下步骤:
S301:客户端向进行数据接收和发送的节点发送待发送数据。
S302:第一节点的接收模块接收到该待发送数据后,将该待发送数据发送到自身的发送模块中,并将该待发送数据同步到第二节点以及第三节点的发送模块中。
在该过程中,当第一节点的接收模块在向自身的发送模块发送该待发送数据时,当其自身的发送模块因为故障暂时接收不到该待发送数据时,该接收模块会持续重试,直到自身的接收模块成功接收到该待发送数据为止。
因此一般情况下认为,该第一节点的接收模块可以接收到该待发送数据,该第一节点本身没有故障,其发送模块未接收到自身的接收模块发送的待发送数据也只是暂时,通过持续重试,该第一节点的发送模块还是可以接收到该待发送数据的。
S303:第一节点、第二节点以及第三节点的发送模块接收到该待发送数据后,向第一节点的接收模块返回成功接收响应。
在本发明实施例第一节点的接收模块向将待发送数据统一发送到每个发送模块中,再统一接收每个发送模块返回的成功接收响应,可以有效的提高数据发送的效率。当然第一节点的接收模块也可以在接收到自身的发送模块返回的成功接收响应后,再向第二节点或第三节点的发送模块发送待发送数据也是可以的,发送和返回成功接收响应的时机,可以根据需要灵活设定。
S304:第一节点的接收模块在设定的时间长度内,判断是否接收到至少两个发送模块返回的成功接收响应,当判断结果为是时,进行步骤S305,否则,进行步骤S307。
例如,此时该第一节点、第二节点以及第三节点的发送模块都成功接收到该待发送数据时,则第一节点、第二节点以及第三节点的发送模块都向该第一节点的接收模块返回成功接收响应。
S305:第一节点的接收模块将该成功接收响应同步到第二节点以及第三节点的接收模块。
或者,在该步骤中,第一节点的接收模块根据对自身返回成功接收响应的每个发送模块所在的节点,向对应节点的接收模块同步该成功接收响应,以便节省信令的开销。并且由于其他节点此时并没有接收到该第一节点发送的待发送数据,即使第一节点将该成功接收响应同步到该其他节点,其他节点也不能进行数据的发送。另外,其他节点没有接收到该第一节点发送的待发送数据,很可能是该其他节点出现了故障,因此,此时第一节点的接收模块也无法将该成功接收响应同步到该出现了故障的节点中。
S306:监控节点确定的进行数据发送的第二节点的接收模块接收到该成功接收响应后,通知自身的发送模块将接收到的待发送数据发送到外部接收节点。
S307:第一节点的接收模块向客户端返回接收失败响应,并且客户端接收到该接收失败响应后,重新选择进行数据接收的节点,将该节点作为第一节点返回步骤S302。
客户端本身也保存一个设定的时间长度,该客户端也会在该设定的时间长度内判断是否接收到第一节点的接收模块返回的成功接收响应,以此来判断第一节点以及第一节点进行待发送数据同步的其他节点是否故障。当该客户端未在设定的时间长度内接收到该第一节点返回的成功接收响应时,客户端重新向进行数据接收和发送的节点发送该待发送数据,可以选择第一节点,也可以选择其他节点。
当客户端接收到该第一节点返回的成功接收响应后,可以确定第一节点,及接收到该待发送数据的每个节点运行正常,此时监控节点确定的进行数据发送的第二节点就可以进行该发送数据的发送了。
由于第二节点是监控节点根据每个进行数据发送的节点上线后上报的信息、以及查询到的每个节点是否宕机的信息选择的。当该监控节点确定了进行数据发送的第二节点后,监控节点还会按照设定的时间间隔,监控每个节点的状态信息,即监控每个节点是否宕机的信息,当在每次监控的过程中,只要该第二节点为正常状态,则进行数据发送的节点依然是该第二节点。当该监控节点监控到第二节点宕机的信息后,在检测到的以上线的、未宕机的节点中重新选择进行数据发送的第三节点。之后该对数据进行发送的第三节点进行监控的过程,与之前对第二节点进行监控的过程相同,在这里就不一一赘述。
监控节点在监控到第二节点在发送完待发送数据后,或者在发送待发送数据前宕机时,该监控节点确定任意一个上线未宕机的节点进行数据的发送,都不会对之前及之后的数据发送造成影响。但是当该第二节点在发送数据的过程中宕机时,为了保证数据发送的可靠性,以及数据发送的效率,该第二节点需要按照设定的时间间隔,将自身已发送数据的长度信息同步到每个接收到该待发送数据的节点中,以便当该第二节点宕机时,接收到该待发送数据的其他节点可以根据该第二节点已发送数据的长度信息,继续进行后续数据的发送。
在本发明实施例中第二节点将该待发送数据发送到外部接收节点后,当该外部接收节点接收到该待发送数据后,向第二节点的发送模块返回接收成功响应,为了保证该每个节点对再接收到的数据进行准确的处理,该第二节点的发送模块要将该接收成功响应返回自身的接收模块中,该第二节点的接收模块将该成功接收响应返回第一节点的接收模块时,该第一节点的接收模块将该成功接收响应同步到,接收到该待发送数据的其他节点的接收模块中。
图4为本发明实施例提供的以进行数据接收和发送的节点包括三个为例,对数据发送过程的详细描述,该过程包括以下步骤:
S401:客户端向进行数据接收和发送的节点发送待发送数据。
S402:第一节点的接收模块接收到该待发送数据后,将该待发送数据发送到自身的发送模块中,并将该待发送数据同步到第二节点以及第三节点的发送模块中。
S403:第一节点的接收模块在设定的时间长度内,判断是否接收到至少两个发送模块返回的成功接收响应,当判断结果为是时,进行步骤S404,否则,进行步骤S411。
S404:第一节点的接收模块向客户端发送成功接收响应,将该成功接收响应同步到第二节点以及第三节点的接收模块,并将成功接收到该待发送数据的每个节点的信息上报监控节点。
S405:监控节点确定的进行数据发送的第二节点的接收模块接收到该成功接收响应后,通知自身的发送模块将接收到的待发送数据发送到外部接收节点。
S406:第二节点的发送模块将接收到的待发送数据发送到外部接收节点,记录已发送数据的长度信息,并将该长度信息同步到该至少一个其他节点。
该第二节点的发送模块将该长度信息同步到至少一个其他节点的过程包括:
第二节点的发送模块将该长度信息发送到自身的接收模块,自身的接收模块将该长度信息发送到第一节点的接收模块,第一节点的接收模块根据接收到该待发送数据的节点的信息,将该长度信息同步到每个节点的接收模块。
S407:监控节点按照设定的时间间隔,监控每个上线的节点是否宕机,当监控到第二节点宕机时,根据第一节点发送的成功接收到该待发送数据的节点的信息,确定进行数据发送的第三节点,向该第三节点发送进行数据发送的控制命令。
S408:第三节点接收到进行数据发送的控制命令后,根据自身保存的该第二节点已发送数据的长度信息,发送后续数据。
S409:外部接收节点接收到该待发送数据后,向第三节点的发送模块返回接收成功响应,第三节点将接收到的该接收成功响应发送到自身的接收模块,并由自身的接收模块将该接收成功响应同步到第一节点。
S410:第一节点的接收模块接收到该接收成功响应后,根据成功接收到该待发送数据的节点的信息,将该接收成功响应同步到每个节点。
S411:第一节点的接收模块向客户端返回接收失败响应,并且客户端接收到该接收失败响应后,重新选择进行数据接收的节点,将该节点作为第一节点返回步骤S402。
在本发明实施例中为了保证数据发送的可靠性,该监控节点采用双机热备的方式,即采用两个监控节点,其中一个作为主监控节点,一个为备用监控节点。主监控节点正常时,有其监控每个节点的状态,并将监控到的结果实时的同步到备用监控节点,当该主监控节点出现故障时,备用监控节点切换为主监控节点,实现对每个节点状态的监控。
另外,当监控节点确定的进行数据发送的第二节点因为宕机,该监控节点确定了进行数据发送的第三节点后,当该第二节点从故障中恢复,重新上线时,由于该第二节点在宕机之前为进行数据发送的节点,为了避免上线后的第二节点和第三节点同时进行数据的发送,保证数据发送的准确性,在本发明实施例中,当被确定为数据发送的第二节点宕机,并恢复上线后,该第二节点主动向监控节点发送是否继续发送待发送数据的请求,接收到该请求的监控节点,由于已经重新确定了进行数据发送的第三节点,因此监控节点向第二节点返回不继续发送待发送数据的信息,接收到该信息的第二节点停止进行数据的发送。
为了同时处理针对多个客户端,发送每个客户端的待发送数据,或者为了提高对该客户端的所有待发送数据发送的效率,在本发明实施例中可以设置多个队列,每个队列中包括至少两个进行数据接收和发送的节点。如图5所示的包括多个队列的数据传输系统的结构示意图,在该图5中包括多个队列,分别为第一队列、第二队列、第三队列、……,每个队列中包括三个节点,分别为第一节点、第二节点和第三节点,监控节点实现对每个队列中的每个节点的监控,客户端用于发送待发送数据,外部接收节点用于接收待发送数据。其中在该系统中,队列与队列之间是平等的。
当某一队列中的第一节点接收到客户端发送的待发送数据后,例如该第一队列的第一节点接收到该待发送数据后,在该第一队列内部,第一节点将该待发送数据同步到第二节点和第三节点,并且确定为数据发送节点的第二节点进行该待发送数据的发送。同时该第二队列可以用来发送其他客户端的待发送数据,或者发送该客户端的其他待发送数据,同时该系统中包含的队列的数量可以根据需要灵活的设置,从而有效的提高了系统的吞吐量。
另外,在每个队列的每个节点中都可以设置标准化的接口,在每个节点下可以级联多个子节点,当该节点进行数据的发送时,可以通过该节点级联的子节点实现,因此当包括多个外部接收节点时,可以有效的加快数据同步的速度。
本发明实施例提供了一种数据发送方法及系统,该方法中接收到客户端发送的待发送数据的第一节点,将该待发送数据同步到至少一个其他节点,并且在接收到至少一个其他节点返回的成功接收响应后,将成功接收响应同步到控节点确定的进行数据发送的第二节点,第二节点接收到该成功接收响应后,将该待发送数据发送到外部接收节点。由于在本发明实施例中,在进行数据发送的过程中,该待发送数据备份了至少两份,因此可以有效的保证数据传输的可靠性。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (8)
1.一种数据发送方法,其特征在于,包括:
接收到客户端发送的待发送数据的第一节点,将该待发送数据同步到至少一个其他节点;
当该第一节点接收到至少一个其他节点返回的成功接收响应后,将该成功接收响应同步到监控节点确定的进行数据发送的第二节点;并
将成功接收到该待发送数据的每个节点的信息上报监控节点;
其中,监控节点通过下述方式确定进行数据发送的第二节点:所述监控节点接收每个进行数据发送的节点上线后上报的信息;根据接收的信息,及监控到的每个节点的状态信息,选择进行数据发送的第二节点;
监控节点确定的进行数据发送的第二节点接收到该成功接收响应后,将该待发送数据发送到外部接收节点,记录已发送数据的长度信息,并将该长度信息同步到该返回成功接收响应的每个其他节点;
当所述监控节点识别到该第二节点出现故障时,在保存的每个成功接收该待发送数据的节点中确定进行数据发送的第三节点,所述第三节点根据保存的所述第二节点已发送数据的长度信息,发送后续数据。
2.如权利要求1所述的方法,其特征在于,所述当该第一节点接收到至少一个其他节点返回的成功接收响应后,所述方法还包括:
所述第一节点向所述客户端发送成功接收响应。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:
当所述客户端在设定的时间长度内未接收到所述第一节点返回的成功接收响应时,重新发送该待发送数据。
4.如权利要求1所述的方法,其特征在于,所述第二节点将该待发送数据发送到外部接收节点之后,所述方法还包括:
所述第二节点的接收所述外部接收节点发送的接收成功响应信息,并将所述接收成功响应信息同步到该返回成功接收响应的每个其他节点。
5.一种数据发送系统,其特征在于,所述系统包括:
客户端,用于发送待发送数据;
第一节点,用于接收所述客户端发送的待发送数据,并将该待发送数据同步到至少一个其他节点,接收至少一个其他节点返回的成功接收响应,将该成功接收响应同步到监控节点确定的进行数据发送的第二节点;并将成功接收到该待发送数据的每个节点的信息上报监控节点;
第二节点,用于接收所述第一节点同步的待发送数据,并向所述第一节点返回成功接收响应,接收到所述第一节点同步的成功接收响应后,将接收到的待发送数据发送到外部接收节点;以及记录已发送数据的长度信息,并将该长度信息同步到该返回成功接收响应的每个其他节点;
监控节点,用于接收每个进行数据发送的节点上线后上报的信息,根据接收的信息,及监控到的每个节点的状态信息,选择进行数据发送的第二节点;以及识别到该第二节点出现故障时,在保存的每个成功接收该待发送数据的节点中确定进行数据发送的第三节点;
第三节点,用于根据保存的所述第二节点已发送数据的长度信息,发送后续数据;
外部接收节点,用于接收所述第二节点发送的待发送数据。
6.如权利要求5所述的系统,其特征在于,所述系统中,
所述第一节点还用于,向所述客户端发送成功接收响应。
7.如权利要求6所述的系统,其特征在于,所述客户端还用于,判断在设定的时间长度内是否接收到所述第一节点返回的成功接收响应,当在设定的时间长度内未接收到所述第一节点返回的成功接收响应时,重新发送该待发送数据。
8.如权利要求5所述的系统,其特征在于,所述系统中,
所述外部接收节点还用于,在接收成功时,向所述第二节点返回接收成功响应信息;
所述第二节点还用于,接收所述外部接收节点发送的接收成功响应信息,并将
所述接收成功响应信息同步到该返回成功接收响应的每个其他节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010606597.6A CN102547809B (zh) | 2010-12-24 | 2010-12-24 | 一种数据发送方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010606597.6A CN102547809B (zh) | 2010-12-24 | 2010-12-24 | 一种数据发送方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102547809A CN102547809A (zh) | 2012-07-04 |
CN102547809B true CN102547809B (zh) | 2015-07-29 |
Family
ID=46353509
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010606597.6A Expired - Fee Related CN102547809B (zh) | 2010-12-24 | 2010-12-24 | 一种数据发送方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102547809B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101237314A (zh) * | 2008-01-16 | 2008-08-06 | 杭州华三通信技术有限公司 | 一种保障复制业务传输的方法及接入设备 |
CN100499507C (zh) * | 2007-01-26 | 2009-06-10 | 华为技术有限公司 | 一种容灾系统、方法和网络设备 |
CN101667937A (zh) * | 2008-09-02 | 2010-03-10 | 华为技术有限公司 | 实现数据业务设备容灾的方法、数据业务设备和系统 |
CN101729230A (zh) * | 2009-11-30 | 2010-06-09 | 中国人民解放军国防科学技术大学 | 用于容延网络的多路传送路由方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1433606A (zh) * | 2000-12-04 | 2003-07-30 | 三菱电机株式会社 | 通信控制装置及其控制方法 |
-
2010
- 2010-12-24 CN CN201010606597.6A patent/CN102547809B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100499507C (zh) * | 2007-01-26 | 2009-06-10 | 华为技术有限公司 | 一种容灾系统、方法和网络设备 |
CN101237314A (zh) * | 2008-01-16 | 2008-08-06 | 杭州华三通信技术有限公司 | 一种保障复制业务传输的方法及接入设备 |
CN101667937A (zh) * | 2008-09-02 | 2010-03-10 | 华为技术有限公司 | 实现数据业务设备容灾的方法、数据业务设备和系统 |
CN101729230A (zh) * | 2009-11-30 | 2010-06-09 | 中国人民解放军国防科学技术大学 | 用于容延网络的多路传送路由方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102547809A (zh) | 2012-07-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149220B (zh) | 一种管理数据传输通道的方法及装置 | |
US9161242B2 (en) | Radio communication system and radio communication method | |
CN103491102A (zh) | 互联网音视频稳定性监控方法、系统及装置 | |
CN104243239B (zh) | 一种sdn集群中控制器的状态检测方法和装置 | |
CN101729426B (zh) | 一种虚拟路由冗余协议主备用设备快速切换的方法及系统 | |
US20220141733A1 (en) | Cell handover processing method, device and apparatus | |
JP2023501794A (ja) | 情報報告、受信方法、端末及びネットワーク装置 | |
CN110943878A (zh) | 心跳包传输方法、终端及具有存储功能的装置 | |
CN113328916B (zh) | Bfd检测模式的切换方法、装置及设备 | |
CN101437175B (zh) | 一种处理容灾切换的方法、装置及系统 | |
WO2011015068A1 (zh) | 一种故障检测的方法和系统 | |
CN107104822B (zh) | 服务器备灾处理方法、装置、存储介质及电子设备 | |
CN103916226A (zh) | 基于嵌入式设备冗余备份的方法 | |
CN101237314A (zh) | 一种保障复制业务传输的方法及接入设备 | |
CN104602285B (zh) | 一种容灾方法及设备 | |
CN104536853B (zh) | 一种保障双控制器存储设备资源连续可用性的装置 | |
CN106953761B (zh) | 服务器备灾系统及基于备灾系统的处理消息的方法 | |
CN102547809B (zh) | 一种数据发送方法及系统 | |
CN114884805B (zh) | 数据传输方法、装置、终端及存储介质 | |
CN109639640B (zh) | 消息发送方法和装置 | |
WO2016074570A1 (zh) | 安全监听方法及系统 | |
CN107612719B (zh) | 物联网接入点的数据备份方法及装置 | |
CN107872479B (zh) | 云管理平台与控制器集成方法和系统以及相关模块 | |
CN110601972A (zh) | 一种报文传输方法、装置及智能弹性架构系统 | |
CN113890817A (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150729 |
|
CF01 | Termination of patent right due to non-payment of annual fee |