数据的传输方法、装置及系统与流程

文档序号:12491215阅读:197来源:国知局
数据的传输方法、装置及系统与流程

本发明涉及通信领域,具体而言,涉及一种数据的传输方法、装置及系统。



背景技术:

在相关技术中Master与各个Node进行信息交互的过程中,首先的建立传输控制协议(Transmission Control Protocol,简称为TCP)连接,然后再Master有需要广播到Node的数据时候,就直接将数据广播到Node,但是对于Node而言,并不是所有的Node都需要Master广播的数据,因为有可能Node本地已经存在了当前Master广播的数据,这就导致了Master广播数据的浪费,而且对于Node而言也再一次接收到了无用的数据,导致了资源的浪费。

针对相关技术中Master广播数据的过程中导致资源的浪费的问题。



技术实现要素:

本发明实施例提供了一种数据的传输方法、装置及系统,以至少解决相关技术中Master广播数据的过程中导致资源的浪费的问题。

根据本发明的一个方面,提供了一种数据的传输方法,包括:在主节点向与所述主节点连接的从节点广播数据之前,所述主节点向所述从节点通知所要广播的数据;所述主节点接收所述从节点响应于所述通知反馈的检查结果,其中,所述检查结果用于指示从节点本地是否存在所述主节点所要广播的数据;所述主节点根据所述检查结果确定是否向所述从节点广播所述数据。

进一步地,所述主节点向所述从节点通知所要广播的数据包括:所述主节点检测本地的数据文件是否更新;在本地数据文件更新的情况下,所述主节点向所述从节点通知更新后所要广播的数据。

进一步地,所述主节点根据所述检查结果确定是否向所述从节点广播所述数据包括:所述主节点禁止向检查结果指示本地存在所述主节点更新后所要广播的数据的从节点广播所述数据;所述主节点向检查结果指示本地未存在所述主节点更新后所要广播的数据的从节点广播所述数据。

进一步地,所述主节点向检查结果指示本地未存在所述主节点更新后所要广播的数据的从节点广播所述数据包括:所述主节点通过与从节点预先设置的速率向本地未存在所述主节点更新后所要广播的数据的从节点广播所述数据;在接收到从节点反馈发的调整发送速率的指示时,所述主节点在调整发送速率之后再向从节点广播所述数据。

进一步地,所述主节点通过UDP端口广播所述数据。

进一步地,所述方法还包括:在有新的从节点加入到所述主节点时,所述主节点与所述新的从节点建立传输控制协议TCP连接;所述主节点接收所述新的从节点发送的用于注册的本机信息。

根据本发明的另一个方面,提供了一种数据的传输方法,包括:在主节点向与所述主节点连接的从节点广播数据之前,所述从节点接收所述主节点所要广播数据的通知;所述从节点响应于所述通知向所述主节点反馈检查结果,其中,所述检查结果用于指示从节点本地是否存在所述主节点所要广播的数据;在所述检查结果指示从节点本地未存在所述主节点所要广播的数据的情况下,所述从节点接收所述主节点广播的所述数据。

进一步地,所述从节点接收所述主节点广播的所述数据包括:所述从节点接收所述主节点与从节点预先设置的速率发送的所述数据;在当前所述主节点的发送速率超过从节点的接收速率的情况下,所述从节点向所述主节点反馈用于调整当前发送速率的指示,并接收所述主节点通过调整后的发送速率发送的所述数据;在从节点的接收速率小于预设阈值时,所述从节点停止接收所述主节点发送的所述数据。

进一步地,所述数据为所述主节点本地更新后的数据。

进一步地,所述方法还包括:在有新的从节点加入到所述主节点时,所述新的从节点与所述主节点建立传输控制协议TCP连接;所述新的从节点向所述主节点发送用于注册到所述主节点的本机信息。

根据本发明的再一个方面,提供了一种数据的传输装置,应用于主节点侧,包括:通知模块,用于在主节点向与所述主节点连接的从节点广播数据之前,向所述从节点通知所要广播的数据;第一接收模块,用于接收所述从节点响应于所述通知反馈的检查结果,其中,所述检查结果用于指示从节点本地是否存在所述主节点所要广播的数据;确定模块,用于根据所述检查结果确定是否向所述从节点广播所述数据。

进一步地,所述通知模块包括:检测单元,用于检测本地的数据文件是否更新;通知单元,用于在本地数据文件更新的情况下,向所述从节点通知更新后所要广播的数据。

进一步地,所述确定模块包括:禁止单元,用于禁止向检查结果指示本地存在所述主节点更新后所要广播的数据的从节点广播所述数据;广播单元,用于向检查结果指示本地未存在所述主节点更新后所要广播的数据的从节点广播所述数据。

进一步地,所述广播单元包括:第一广播单元,用于通过与从节点预先设置的速率向本地未存在所述主节点更新后所要广播的数据的从节点广播所述数据;第二广播单元,用于在接收到从节点反馈发的调整发送速率的指示时,在调整发送速率之后再向从节点广播所述数据。

进一步地,所述广播单元通过UDP端口广播所述数据。

进一步地,所述装置还包括:第一建立模块,用于在有新的从节点加入到所述主节点时,与所述新的从节点建立传输控制协议TCP连接;第二接收模块,用于接收所述新的从节点发送的用于注册的本机信息。

根据本发明的额再一个方面,提供了一种数据的传输装置,应用于从节点侧,包括:第三接收模块,用于在主节点向与所述主节点连接的从节点广播数据之前,接收所述主节点所要广播数据的通知;反馈模块,用于响应于所述通知向所述主节点反馈检查结果,其中,所述检查结果用于指示从节点本地是否存在所述主节点所要广播的数据;第四接收模块,用于在所述检查结果指示从节点本地未存在所述主节点所要广播的数据的情况下,接收所述主节点广播的所述数据。

进一步地,所述第四接收模块包括:第一接收单元,用于接收所述主节点与所述从节点预先设置的速率发送的所述数据;第二接收单元,用于在当前所述主节点的发送速率超过从节点的接收速率的情况下,向所述主节点反馈用于调整当前发送速率的指示,并接收所述主节点通过调整后的发送速率发送的所述数据;第三接收单元,用于在从节点的接收速率小于预设阈值时,停止接收所述主节点发送的所述数据。

进一步地,所述数据为所述主节点本地更新后的数据。

进一步地,所述装置还包括:第二建立模块,用于在有新的从节点加入到所述主节点时,与所述主节点建立传输控制协议TCP连接;发送模块,用于向所述主节点发送用于注册到所述主节点的本机信息。

根据本发明的又一个方面,提供了一种数据的传输系统,其特征在于,包括:上述任一项应用于主节点侧的数据的传输装置、以及上述任一项应用于从节点侧的数据的传输装置。

通过本发明,主节点首先向从节点通知所要广播的数据,然后再接收从节点反馈的用于指示从节点本地是否存在主节点所要广播的数据检查结果,然后根据该检查结果确定是否广播数据,也即能够有方向的向从节点广播数据,解决了相关技术中Master广播数据的过程中导致资源的浪费的问题,达到了提高广播效率的效果。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的数据的传输方法的流程图一;

图2是根据本发明实施例的数据的传输方法的流程图二;

图3是根据本发明实施例的数据的传输装置的结构框图一;

图4是根据本发明实施例的数据的传输装置的结构框图二;

图5是根据本实施例的数据的传输系统结构框图;

图6是根据本发明实施例的集群可靠多播传输系统的结构示意图一;

图7是根据本发明实施例的集群可靠多播传输系统的结构示意图二;

图8是根据本发明实施例的Monitor操作方法的流程图;

图9是根据本发明实施例的Check操作方法流程图;

图10是根据本发明实施例的Publisher部分以及Subscriber部分的结构示意图;

图11是根据本发明实施例的Publisher操作方法流程图;

图12是根据本发明实施例的Subscriber操作方法流程图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。

实施例1

在本实施例中提供了一种数据的传输方法,图1是根据本发明实施例的数据的传输方法的流程图一,如图1所示,该流程包括如下步骤:

步骤S102:在主节点向与主节点连接的从节点广播数据之前,主节点向从节点通知所要广播的数据;

步骤S104:主节点接收从节点响应于通知反馈的检查结果,其中,检查结果用于指示从节点本地是否存在主节点所要广播的数据;

步骤S106:主节点根据检查结果确定是否向从节点广播数据。

通过本实施例的上述步骤S102至步骤S106,主节点首先向从节点通知所要广播的数据,然后再接收从节点反馈的用于指示从节点本地是否存在主节点所要广播的数据检查结果,然后根据该检查结果确定是否广播数据,也即能够有方向的向从节点广播数据,解决了相关技术中Master广播数据的过程中导致资源的浪费的问题,达到了提高广播效率的效果。

在本实施例的一个可选实施方式中,本实施例步骤S102中涉及到的主节点向从节点通知所要广播的数据的方式包括:

步骤S102-1:主节点检测本地的数据文件是否更新;

步骤S102-2:在本地数据文件更新的情况下,主节点向从节点通知更新后所要广播的数据。

由上述步骤S102-1和步骤S102-2可知,本实施例中所要广播的数据是主节点本地更新后的数据。

基于上述主节点本地更新后的数据,本实施例步骤S106中涉及到的主节点根据检查结果确定是否向从节点广播数据的方式包括:

步骤S106-1:主节点禁止向检查结果指示本地存在主节点更新后所要广播的数据的从节点广播数据;

步骤S106-2:主节点向检查结果指示本地未存在主节点更新后所要广播的数据的从节点广播数据。

可见,在本实施例中主节点只有向本地未存在主节点更新后所要广播的数据的从节点广播数据,而本地已经存在更新后所要广播的数据的从节点,主节点是不用广播数据的,也就进一步解释了在本实施例中可以更加有效和有方向的向从节点广播数据,并不是有需求就要想所有从节点广播数据。

此外,在本实施例中另一个可选和实施方式中,对于上述步骤S106-2中涉及到的主节点向检查结果指示本地未存在主节点更新后所要广播的数据的从节点广播数据的方式包括:

方式一:主节点通过与从节点预先设置的速率向本地未存在主节点更新后所要广播的数据的从节点广播数据;

方式二:在接收到从节点反馈发的调整发送速率的指示时,主节点在调整发送速率之后再向从节点广播数据。

也就是说,通过该方式一和方式二可知,主节点与从节点之间进行数据交互时,首先是根据预设设置的速率进行交互,而当网络繁忙导致从节点无法承受当前主节点的发送速率时,会向主节点发送调整发送速率的指示,而主节点会在调整之后再向从节点发送数据。

需要说明的是,本实施例中涉及到的主节点是通过UDP端口广播数据。

另外,在本实施例中在有新的从节点加入到主节点时,本实施例的方法还可以包括:主节点与新的从节点建立传输控制协议TCP连接;主节点接收新的从节点发送的用于注册的本机信息。

实施例2

本实施例提供了一种数据的传输方法,图2是根据本发明实施例的数据的传输方法的流程图二,如图2所示,该方法的步骤包括:

步骤S202:在主节点向与主节点连接的从节点广播数据之前,从节点接收主节点所要广播数据的通知;

步骤S204:从节点响应于通知向主节点反馈检查结果,其中,检查结果用于指示从节点本地是否存在主节点所要广播的数据;

步骤S206:在检查结果指示从节点本地未存在主节点所要广播的数据的情况下,从节点接收主节点广播的数据。

从上述步骤S202至步骤S206可知,只有在本地未存在主节点所要广播的数据的从节点才会接收主节点广播的数据,使得主节点广播的数据能够有效的达到从节点。

对于本实施例步骤S206中涉及到的从节点接收主节点广播的数据包括:

步骤S206-1:从节点接收主节点与从节点预先设置的速率发送的数据;

步骤S206-2:在当前主节点的发送速率超过从节点的接收速率的情况下,从节点向主节点反馈用于调整当前发送速率的指示,并接收主节点通过调整后的发送速率发送的数据;

步骤S206-3:在从节点的接收速率小于预设阈值时,从节点停止接收主节点发送的数据。

可见,在本实施例中从节点是需要和主节点协商交互速率,已接收数据,使得能够有效的接收到主节点发送的数据。其中,本实施例中涉及到的数据为主节点本地更新后的数据。

此外,在有新的从节点加入到主节点时,本实施例的方法还可以包括:新的从节点与主节点建立传输控制协议TCP连接;新的从节点向主节点发送用于注册到主节点的本机信息。

需要说明的是上述实施例1和实施例2是从主节点和从节点分别进行描述的,两者是相互对应的交互双方,所有流程都是对应的。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。

实施例3

本实施例提供了一种数据的传输装置,该装置应用于主节点侧,图3是根据本发明实施例的数据的传输装置的结构框图一,如图3所示,该装置包括:通知模块32,用于在主节点向与主节点连接的从节点广播数据之前,向从节点通知所要广播的数据;第一接收模块34,与通知模块32耦合连接,用于接收从节点响应于通知反馈的检查结果,其中,检查结果用于指示从节点本地是否存在主节点所要广播的数据;确定模块36,与第一接收模块34耦合连接,用于根据检查结果确定是否向从节点广播数据。

可选地,该通知模块32包括:检测单元,用于检测本地的数据文件是否更新;通知单元,用于在本地数据文件更新的情况下,向从节点通知更新后所要广播的数据。

可选地,该确定模块36包括:禁止单元,用于禁止向检查结果指示本地存在主节点更新后所要广播的数据的从节点广播数据;广播单元,用于向检查结果指示本地未存在主节点更新后所要广播的数据的从节点广播数据。

其中,该广播单元包括:第一广播单元,用于通过与从节点预先设置的速率向本地未存在主节点更新后所要广播的数据的从节点广播数据;第二广播单元,用于在接收到从节点反馈发的调整发送速率的指示时,在调整发送速率之后再向从节点广播数据。

其中,该广播单元通过UDP端口广播数据。

可选地,装置还包括:第一建立模块,用于在有新的从节点加入到主节点时,与新的从节点建立传输控制协议TCP连接;第二接收模块,用于接收新的从节点发送的用于注册的本机信息。

实施例4

本实施例提供了一种数据的传输装置,该装置应用于从节点侧,图4是根据本发明实施例的数据的传输装置的结构框图二,如图4所示,该装置包括:第三接收模块42,用于在主节点向与主节点连接的从节点广播数据之前,接收主节点所要广播数据的通知;反馈模块44,与第三接收模块42耦合连接,用于响应于通知向主节点反馈检查结果,其中,检查结果用于指示从节点本地是否存在主节点所要广播的数据;第四接收模块46,与反馈模块44耦合连接,用于在检查结果指示从节点本地未存在主节点所要广播的数据的情况下,接收主节点广播的数据。

可选地,该第四接收模块包括:第一接收单元,用于接收主节点与从节点预先设置的速率发送的数据;第二接收单元,用于在当前主节点的发送速率超过从节点的接收速率的情况下,向主节点反馈用于调整当前发送速率的指示,并接收主节点通过调整后的发送速率发送的数据;第三接收单元,用于在从节点的接收速率小于预设阈值时,停止接收主节点发送的数据。

其中,本实施例中涉及到的数据为主节点本地更新后的数据。

可选地,该装置还包括:第二建立模块,用于在有新的从节点加入到主节点时,与主节点建立传输控制协议TCP连接;发送模块,用于向主节点发送用于注册到主节点的本机信息。

需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。

实施例5

本实施例提供了一种数据的传输系统,图5是根据本实施例的数据的传输系统结构框图,如图5所示,该系统包括:实施例3中应用于主节点侧的数据的传输装置、实施例4中应用于从节点侧的数据的传输装置。

实施例6

本实施例是对实施例1至实施例5在具体应用场景中的描述;

图6是根据本发明实施例的集群可靠多播传输系统的结构示意图一,如图6所示,该系统包括Master(对应于主节点)和各个Node(对应于从节点)其中,

Master通过Monitor服务与各个Node的Check服务建立TCP连接,完成对各个节点的状态进行实时监控,端口的控制以及数据的发送。

当有新的Node节点连入集群时,本地的Check服务会与Master建立TCP连接,将本机的信息注册到Master。

而当Master需要推数据时,会告知Node的各个节点,Check服务会检查本地是否已经有Master所推的数据,如果没有则启用Subscriber,Subscriber打开UDP端口,准备接收数据,如果有则不启用Subscriber,并将最后的检查结果告知Master,Master会检测所有Node节点的返回结果,判断是否有节点需要接收数据,如果有则启用本地的Publisher,Publisher会打开UDP端口广播数据,如果没有则不启用Publisher,不进行数据的发送。

其中,控制流是Master的Monitor服务与各个Node节点的Check服务通过TCP连接对节点的文件状态进行实时的控制。数据流是Master的Publisher服务与各个Node节点的Subscriber服务通过UDP连接进行数据的广播和接收。

下面将对本系统在具体应用场景中进行详细说明,其中:

图7是根据本发明实施例的集群可靠多播传输系统的结构示意图二,如图7所示,该系统一共分为Master的Publisher服务和Monitor服务,以及Node的Subscriber服务和Check服务四部分。

图8是根据本发明实施例的Monitor操作方法的流程图,如图8所示,该方法的步骤包括:

步骤S802:Monitor服务会将首次接入的Node信息注册到本机中。

步骤S804:Master会检测本地的数据文件是否有更新,如果是则执行步骤S806,如果不是则流程结束。

步骤S806:如果有更新会与各个Node节点的Check服务进行通信,并得到返回结果;

其中,Check服务会查看本地的数据文件是否已更新,并将检测结果告知Monitor服务。Monitor服务判断所有节点的返回结果,来决定是否推送数据。

步骤S808:根据各个Node节点的返回结果,判断是否发送数据;在判断为是时执行步骤S810,否则流程结束。

步骤S810:启用本地的Publisher服务,Publisher打开UDP端口广播数据,发送完成后关闭UDP端口。

图9是根据本发明实施例的Check操作方法流程图,如图9所示,该方法的步骤包括:

步骤S902:如果是首次连入集群,Check服务会将本机的信息注册到Master。

步骤S904:与Master的Monitor服务进行通信;

步骤S906:检测本地的数据文件信息,决定是否需要接收推送的数据。如果需要执行步骤S908;否则执行步骤S910;

步骤S908:启用Subscriber服务,Subscriber服务打开UDP端口,接收广播的数据,接收完成后关闭UDP端口。

步骤S910:Check服务检测到本地是否有新的数据文件;在检测到时执行步骤S912,否则流程结束;

步骤S912:会关闭旧的数据文件,导入新的数据文件。

图10是根据本发明实施例的Publisher部分以及Subscriber部分的结构示意图,如图10所示,该Publisher部分包括:Sender主控、速度限制器、反馈接收器、Config;其中,

Sender主控,用于完成数据的发送,与Receiver主控进行通信,告知Receiver以何种速率进行数据的发送。

速度限制器,用于控制调节Sender主控的发送速度,快速或者慢速,以避免Sender的发送速度过快,Receiver无法正确接收。

反馈接收器,用于当Sender主控发送速率过快时或者当前网络比较繁忙时,导致Receiver主控无法正常接收,Receiver主控会给反馈接收器发送信息号,来降低Sender主控的发送速率。

Config,用于为配置文件保存Sender主控的发送速率等相关信息,在启动前初始化Sender主控。

其中,该Subscriber部分包括:Receiver主控、速度监测器、数据接收器;其中,

Receiver主控,用于完成数据的接收,与Sender主控进行通信,得到以何种速率进行数据的接收。

速度监测器,用于监测Receiver主控的数据接收速度,如果速度过慢,影响系统的整体性能就停止数据的接收。

数据接收器,用于数据接收线程,完成对Sender主控发送来的数据进行接收,并放入本地的缓存池中。

图11是根据本发明实施例的Publisher操作方法流程图,如图11所示,该方法的步骤包括:

步骤S1102:Sender主控会读取Config的配置信息,包括发送的速率等。

步骤S1104:Sender主控会与Receiver主控进行通信,告知Receiver主控当前的接收速率。

步骤S1106:Sender主控会以当前的速率将数据发送出去。

步骤S1108:在发送的过程中,当Receiver主控无法正常接收数据时,会给反馈接收器发送信号,让Sender主控放慢发送的速度。

图12是根据本发明实施例的Subscriber操作方法流程图,如图12所示,该方法的步骤包括:

步骤1202:Receiver主控与Sender主控进行通信,得到当前相关的配置信息,包括接收速率等。

步骤S1204:数据接收器接收Sender主控发来的数据信息,并将其放入缓存池中。

步骤S1206:是否通知Sender主控放慢发送速率;

其中,如果在这期间发现Sender主控发送速率过快或者当前网络繁忙时,Receiver主控会通知反馈接收器,来调节Sender主控的发送速率。

步骤S1208:速度监测器检测当前Receiver主控接收的速度;

步骤S1210:在当前Receiver主控接收的速度很慢时,就会停止数据接收,以避免降低系统的整体性能。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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