组播方法及终端设备与流程

文档序号:17319890发布日期:2019-04-05 21:29阅读:160来源:国知局
组播方法及终端设备与流程

本发明属于通信技术领域,尤其涉及一种组播方法及终端设备。



背景技术:

组播传输:在发送者和每一接收者之间实现点对多点网络连接。如果一台发送者同时给多个的接收者传输相同的数据,也只需复制一份的相同数据包。它提高了数据传送效率。减少了骨干网络出现拥塞的可能性。

rdma(remotedirectmemoryaccess,远程直接数据存取)是为了解决网络传输中服务器端数据处理的延迟而产生的。rdma通过网络把资料直接传入计算机的存储区,将数据从一个系统快速移动到远程系统存储器中,而不对操作系统造成任何影响,这样就不需要用到多少计算机的处理功能。它消除了外部存储器复制和上下文切换的开销,因而能解放内存带宽和cpu周期用于改进应用系统性能。

将rdma技术引入组播方案中,在局域网内实现快速组播,但此种方法存在数据传输不稳定的问题。



技术实现要素:

有鉴于此,本发明实施例提供了一种组播方法及终端设备,以解决现有技术中组播传输数据丢失、传输不可靠的问题。

为解决上述技术问题,本发明实施例的第一方面提供了一种组播方法,包括:

向所述接收方发送目标数据;

接收所述接收方发送的第一指令,更新可发送目标数据的个数,对接收到所述接收方发送的控制指令进行计数,当接收到所述接收方发送的控制指令的数量达到第二预设个数时,停止发送目标数据,生成第二指令发送至所述接收方,其中,所述接收方接收到的目标数据的个数达到第一预设个数时,将可接收目标数据个数重置为第一预设个数,生成第一指令;

接收所述接收方发送的第三指令,根据所述第三指令将可接收所述控制指令的数量重置为所述第二预设个数,继续发送目标数据,其中,所述接收方接收所述第二指令,并根据所述第二指令更新可发送控制指令个数,生成所述第三指令。

进一步地,还包括:

接收所述接收方定时发送的第四指令,并根据所述第四指令更新可发送目标数据的数量,其中,所述第四指令由所述接收方定时发送。

进一步地,所述控制指令包括所述第一指令和第三指令。

进一步地,在向所述接收方发送第一预设个数的目标数据之前还包括:

和所述接收方建立用于传输目标数据的ud链路和用于传输控制信息的rc链路,其中,所述控制信息包括所述第一指令、所述第二指令和所述第三指令。

进一步地,还包括:

接收所述接收方发送的重传指令,根据所述重传指令将指定的目标数据重新向所述接收方发送。

本发明实施例的第二方面提供了一种组播装置,包括接收模块、控制模块和发送模块;

所述控制模块通过所述发送模块向所述接收方发送目标数据;

所述接收模块接收所述接收方发送的第一指令并将所述第一指令发送至所述控制模块,所述控制模块根据所述第一指令更新可发送目标数据的个数,对接收到所述接收方发送的控制指令进行计数,当接收到所述接收方发送的控制指令的数量达到第二预设个数时,所述控制模块停止发送目标数据,生成第二指令通过所述发送模块发送至所述接收方,其中,所述接收方接收到的目标数据的个数达到第一预设个数时,将可接收目标数据个数重置为第一预设个数,生成第一指令;

所述接收模块接收所述接收方发送的第三指令并将所述第三指令传送至所述控制模块,所述控制模块根据所述第三指令将可接收所述控制指令的数量重置为所述第二预设个数,继续发送目标数据,其中,所述接收方接收所述第二指令,并根据所述第二指令更新可发送控制指令个数,生成所述第三指令。

进一步地,所述接收模块还用于接收所述接收方定时发送的第四指令,并将所述第四指令发送至所述控制模块,所述控制模块根据所述第四指令更新可发送目标数据的数量,其中,所述第四指令由所述接收方定时发送。

进一步地,所述接收模块还用于接收所述接收方发送的重传指令,并将所述重传指令发送至所述控制模块,所述控制模块根据所述重传指令控制所述发送模块向所述接收方重新发送指定的目标数据。

本发明实施例的第三方面提供了一种组播终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述所述方法的步骤。

本发明实施例的第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述所述方法的步骤。

采用上述技术方案所产生的有益效果在于:本发明发送方向所述接收方发送目标数据;接收所述接收方发送的第一指令,更新可发送目标数据的个数,对接收到所述接收方发送的控制指令进行计数,当接收到所述接收方发送的控制指令的数量达到第二预设个数时,停止发送目标数据,生成第二指令发送至所述接收方,其中,所述接收方接收到的目标数据的个数达到第一预设个数时,将可接收目标数据个数重置为第一预设个数,生成第一指令;接收所述接收方发送的第三指令,根据所述第三指令将可接收所述控制指令的数量重置为所述第二预设个数,继续发送目标数据,其中,所述接收方接收所述第二指令,并根据所述第二指令更新可发送控制指令个数,生成所述第三指令。通过此种方式数据发送方和接收方均对数据个数进行实时计数,当出现数据丢失时,能够及时发现,以此解决数据丢失造成传输不稳定的问题。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例提供的组播方法的逻辑流程图;

图2是本发明实施例提供的组播装置的原理图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本发明实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本发明。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本发明的描述。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

如图1所示,本申请公开了一种组播方法,包括:

步骤s101,向所述接收方发送目标数据;

步骤s102,接收所述接收方发送的第一指令,更新可发送目标数据的个数,对接收到所述接收方发送的控制指令进行计数,当接收到所述接收方发送的控制指令的数量达到第二预设个数时,停止发送目标数据,生成第二指令发送至所述接收方,其中,所述接收方接收到的目标数据的个数达到第一预设个数时,将可接收目标数据个数重置为第一预设个数,生成第一指令;

步骤s103,接收所述接收方发送的第三指令,根据所述第三指令将可接收所述控制指令的数量重置为所述第二预设个数,继续发送目标数据,其中,所述接收方接收所述第二指令,并根据所述第二指令更新可发送控制指令个数,生成所述第三指令。

发送方向接收方发送目标数据,在数据传输过程中,发送方对发送目标数据的个数进行计数,接收方对接收目标数据的个数进行计数,并且接收方和发送方相互发送指令告知对方计数信息,通过此种方式实现发送方和接收方对目标数据传输个数的监控,当出现目标数据丢失时,能够及时发现停止目标数据的发送,并进行补救,待目标数据重新发送正常后进行后续的传输,通过此种方式实现组播数据可靠性传输。

本发明的一个实施例中,接收接收方定时发送的第四指令,并根据第四指令更新可发送目标数据的数量,其中,第四指令由接收方定时发送。

发送方虽然发送了超过第一预设个数的目标数据,但是由于目标数据存在丢包的可能,导致接收方没有收到第一预设个数的目标数据,那么接收方就不会向发送方发送第一指令,发送方不会将可发送目标数据的数量重置为第一预设个数,导致接收方虽然有空间可以接收目标数据,但是发送方不知道,也不会继续发送目标数据。接收方定时向发送方发送第四指令,其中,第四指令包括接收方接收目标数据个数的信息,发送方接收到第四指令更新可发送目标数据的数量,通过此种方式即可解决上述问题。

本发明的一个实施例中,控制指令包括第一指令和第三指令。除此之外,控制指令还包括所有接收方向发送方发送的指令。

本发明的一个实施例中,在向接收方发送第一预设个数的目标数据之前还包括:和接收方建立用于传输目标数据的ud链路和用于传输控制信息的rc链路,其中,控制信息包括第一指令、第二指令和第三指令。

本发明的一个实施例中,还包括:接收接收方发送的重传指令,根据重传指令将指定的目标数据重新向接收方发送。

当数据传输有错时,接收方可以向发送方发送重传指令,发送方根据重传指令将指定的目标数据进行重新发送,以此保证数据最终传输的正确性。

如图2所示,本发明公开了一种组播装置,包括接收模块、控制模块和发送模块,各个模块之间的工作关系如下:

所述控制模块通过所述发送模块向所述接收方发送目标数据;所述接收模块接收所述接收方发送的第一指令并将所述第一指令发送至所述控制模块,所述控制模块根据所述第一指令更新可发送目标数据的个数,对接收到所述接收方发送的控制指令进行计数,当接收到所述接收方发送的控制指令的数量达到第二预设个数时,所述控制模块停止发送目标数据,生成第二指令通过所述发送模块发送至所述接收方,其中,所述接收方接收到的目标数据的个数达到第一预设个数时,将可接收目标数据个数重置为第一预设个数,生成第一指令;所述接收模块接收所述接收方发送的第三指令并将所述第三指令传送至所述控制模块,所述控制模块根据所述第三指令将可接收所述控制指令的数量重置为所述第二预设个数,继续发送目标数据,其中,所述接收方接收所述第二指令,并根据所述第二指令更新可发送控制指令个数,生成所述第三指令。

此种组播装置在组播数据传送过程中能够保证数据不会丢失,从而提高传输的稳定性。

本发明的一个实施例中,接收模块还用于接收接收方定时发送的第四指令,并将第四指令发送至控制模块,控制模块根据第四指令更新可发送目标数据的数量,其中,第四指令由接收方定时发送。

发送方虽然发送了超过第一预设个数的目标数据,但是由于目标数据存在丢包的可能,导致接收方没有收到第一预设个数的目标数据,那么接收方就不会向发送方发送第一指令,发送方不会将可发送目标数据的数量重置为第一预设个数,导致接收方虽然有空间可以接收目标数据,但是发送方不知道,也不会继续发送目标数据。接收方定时向发送方发送第四指令,其中,第四指令包括接收方接收目标数据个数的信息,发送方接收到第四指令更新可发送目标数据的数量,通过此种方式即可解决上述问题。

本发明的一个实施例中,接收模块还用于接收接收方发送的重传指令,并将重传指令发送至控制模块,控制模块根据重传指令控制发送模块向接收方重新发送指定的目标数据。

本发明公开了一种组播终端设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法的步骤。

所述组播终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述组播终端设备可以包括,但不仅限于,接收模块、控制模块和发送模块。本领域技术人员可以理解,图2仅仅是所述组播终端设备的示例,并不构成对所述组播终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述组播终端设备还可以包括输入输出设备、网络接入设备、总线等。

本发明公开了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述方法的步骤。

以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1