CN107819811A - 数据通信方法、装置及设备 - Google Patents

数据通信方法、装置及设备 Download PDF

Info

Publication number
CN107819811A
CN107819811A CN201610827576.4A CN201610827576A CN107819811A CN 107819811 A CN107819811 A CN 107819811A CN 201610827576 A CN201610827576 A CN 201610827576A CN 107819811 A CN107819811 A CN 107819811A
Authority
CN
China
Prior art keywords
data
transmission channel
data transmission
version number
virtual machine
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
CN201610827576.4A
Other languages
English (en)
Other versions
CN107819811B (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.)
Alibaba Group Holding Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610827576.4A priority Critical patent/CN107819811B/zh
Publication of CN107819811A publication Critical patent/CN107819811A/zh
Application granted granted Critical
Publication of CN107819811B publication Critical patent/CN107819811B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种数据通信方法、装置及设备,该方法包括:获取待发送的第一数据;在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;通过所述目标数据传输通道向所述接收端发送所述第一数据。本实施例可以并发传输,提高了数据发送效率,并保证了数据传输的可靠性。

Description

数据通信方法、装置及设备
技术领域
本申请涉及通信技术,尤其涉及一种数据通信方法、装置及设备。
背景技术
云计算是一种利用互联网实现随时随地、按需、弹性地访问共享资源池的计算模式。具体地,云计算管理系统需要通过灵活的部署和搭建不同规模与类型的虚拟机群来应对各异的用户需求,从而实现其弹性服务。
现有技术中,云计算管理系统需要管理上百万台的虚拟机。当云计算管理系统需要向上百万台的虚拟机发送数据时,云计算管理系统需要与各虚拟机通过3次握手来实现TCP连接,然后云计算管理系统基于该TCP连接向虚拟机发送数据。以专有虚拟网络VPC为例,当用户增加一条路由信息时,云计算管理系统基于TCP连接,同时向VPC中的所有虚拟机都发送路由配置指令,从而实现用户的需求。
然而,现有技术中当云计算管理系统向上百万台的虚拟机同时发送数据时,会受到TCP连接数的限制,导致发送任务需要花费很长的时间才能完成。
发明内容
本发明提供一种数据通信方法、装置及设备,可以并发传输,提高了数据发送效率,并保证了数据传输的可靠性。
第一方面,本发明提供一种数据通信方法,包括:
获取待发送的第一数据;
在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
通过所述目标数据传输通道向所述接收端发送所述第一数据。
在一种可能的设计中,所述在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道,包括:
获取预先建立的每个数据传输通道对应的下发列表,所述下发列表中存储有数据传输通道对应的接收端的标识;
根据每个数据传输通道对应的下发列表和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道。
在一种可能的设计中,所述数据传输通道对应至少一个专有虚拟网络,各所述专有虚拟网络中设置有至少一个虚拟机。
在一种可能的设计中,所述数据传输通道对应通信系统中的所有虚拟机。
在一种可能的设计中,所述数据传输通道对应一组虚拟机。
发送端与虚拟机之间的数据传输通道的建立非常灵活,可以一个数据传输通道对应至少一个专有虚拟网络,或者对应通信系统中的所有虚拟机,再或者对应一组虚拟机,从而满足各种通信需求。
在一种可能的设计中,所述通过所述目标数据传输通道向所述接收端发送所述第一数据之前,还包括:
在所述第一数据中加入所述目标数据传输通道的标识。
在一种可能的设计中,所述通过所述目标数据传输通道向所述至少一个虚拟机发送第一数据之后,还包括:
接收各所述虚拟机发送的反馈信息,所述反馈信息是所述虚拟机在根据所述目标数据传输通道的标识确定所述目标数据传输通道为各所述虚拟机对应的数据传输通道时生成的信息;
根据各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果。
虚拟机在接收到第一数据后,向服务器发送反馈信息,服务器根据反馈信息,确定第一数据的下发结果,保证了数据发送的可靠性。
在一种可能的设计中,所述反馈信息包括上报版本号,所述上报版本号为各所述虚拟机在接收到第一数据后,根据所述数据传输通道的当前版本号生成的上报版本号;所述根据各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果,包括:
根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件,其中,所述第一虚拟机是各所述虚拟机中的任一虚拟机;
若是,则确定向所述第一虚拟机发送的第一数据发送成功;
若否,则重新向所述第一虚拟机发送所述第一数据,直至在预设时长内接收到所述第一虚拟机发送的与所述预留版本号满足预设约束条件的上报版本号,或者预设时长结束;
在经历预设时长后,根据满足预设约束条件的上报版本号的数量,确定所述第一数据的下发结果。
在一种可能的设计中,所述根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件之前,还包括:
根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号。
在一种可能的设计中,所述根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号之前,还包括:
若所述第一数据为所述目标数据传输通道承载的首个数据,则确定所述目标数据传输通道的当前版本号为初始版本号;或者
若所述第一数据为所述目标数据传输通道承载的第N+1个数据,则确定所述目标数据传输通道的当前版本号为已发送成功的第二数据对应的预留版本号,所述第二数据为所述数据传输通道承载的第N个数据。
在一种可能的设计中,所述获取待发送的第一数据之前,还包括:
接收控制设备发送的数据下发指令,所述数据下发指令中携带所述第一数据对应的接收端的标识;
所述根据接收到的各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果之后,还包括:
向所述控制设备发送所述第一数据的下发结果,以使所述控制设备根据所述下发结果确定所述第一数据是否向所有虚拟机发送成功。
第二方面,本发明提供一种数据通信方法,包括:
接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
向所述发送端发送所述反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
在一种可能的设计中,所述反馈信息包括所述数据传输通道的上报版本号;所述生成反馈信息,包括:
根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号。
在一种可能的设计中,所述根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号之前,还包括:
若所述第一数据为所述数据传输通道承载的首个数据,则确定所述数据传输通道的当前版本号为所述数据传输通道的初始版本号;或者
若所述第一数据为所述数据传输通道承载的第N+1个数据,则确定所述数据传输通道的当前版本号为已接收成功的第二数据对应的上报版本号,所述第二数据为所述数据传输通道承载的第N个数据。
第三方面,本发明提供一种数据通信装置,包括:
获取模块,用于获取待发送的第一数据;
通道确定模块,用于在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
发送模块,用于通过所述目标数据传输通道向所述接收端发送所述第一数据。
第四方面,本发明提供一种数据通信装置,包括:
接收模块,用于接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
生成模块,用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
反馈模块,用于向所述发送端发送所述反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
第五方面,本发明提供一种数据通信设备,包括:
处理器,用于获取待发送的第一数据;
所述处理器,还用于在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
发送器,耦合至所述处理器,用于通过所述目标数据传输通道向所述接收端发送所述第一数据。
第六方面,本发明提供一种数据通信设备,包括:
接收器,用于接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
处理器,耦合至所述接收器,用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
发送器,耦合至所述处理器,用于向所述发送端发送所述反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
本实施例提供的数据传输方法、装置及设备,由于预先建立的数据传输通道对应一个或多个虚拟机,即每通过数据传输通道能够实现发送端到多个虚拟机的数据传输,从而实现了数据传输通道能够灵活的不受限制的根据通信需求,向多个虚拟机大规模的下发数据。因此,在根据各数据传输通道对应的接收端的标识,确定接收第一数据的接收端对应的目标数据传输通道之后,就可以通过该目标数据传输通道向多个虚拟机大规模的同时并发第一数据,提高了发送数据的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的一种可选的数据通信的应用场景示意图;
图2为本发明一实施例提供的数据通信方法的流程图;
图3为本发明一实施例提供的数据通信方法的流程图;
图4为本发明一实施例提供的数据通信方法的流程图;
图5为本发明一实施例提供的数据通信方法的流程图;
图6为本发明一实施例提供的数据通信方法的流程图;
图7为本发明一实施例提供的数据通信装置的结构示意图;
图8为本发明一实施例提供的数据通信装置的结构示意图;
图9为本发明一实施例提供的数据通信装置的结构示意图;
图10为本发明一实施例提供的数据通信设备的硬件结构示意图;
图11为本发明一实施例提供的数据通信设备的硬件结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
图1为本发明的一种可选的数据通信的应用场景示意图。如图1所示,本发明的云计算管理系统包括控制设备、下发设备和虚拟机。虚拟机具体由物理机来承载。多个虚拟机可以组成虚拟专有网络(Virtual Private Cloud,简称VPC)。当云计算管理系统需要向上百万台的虚拟机发送数据时,可以由控制设备向虚拟机发送数据。可选地,为了减轻控制设备的功能,可以由控制设备向下发设备发送数据发送指令,由下发设备根据该数据发送指令向虚拟机发送数据。本领域技术人员可以理解,该控制设备和下发设备都可以通过服务器来实现。即该控制设备和下发设备为不同的服务器。
下面采用具体地实施例,来说明本发明的数据通信方法的具体实现方式。图2为本发明一实施例提供的数据通信方法的流程图。该方法的执行主体为第一数据通信装置和第二数据通信装置,该第一数据通信装置和第二数据通信装置可以通过软件和/或硬件实现。该第一数据通信装置可以被配置到控制设备或下发设备中,由于该控制设备或下发设备作为发送端,都可以通过服务器来实现,而且,下发设备还可以与控制设备集成到一个通信设备中,由一个通信设备完成控制设备和下发设备的功能。因此,此处以服务器作为发送端的执行主体,来说明二者向虚拟机发送数据的实现过程。第二数据通信装置具体为接收端,该接收端为虚拟机。如图2所示,该方法包括:
S201、服务器获取待发送的第一数据。
服务器获取云计算管理系统需要向接收端发送的第一数据。本领域技术人员可以理解,在获取待发送的第一数据的同时,服务器还可以从云计算管理系统获取接收该第一数据的接收端的标识,从而确定该第一数据的接收端。或者,当服务器需要与虚拟机(接收端)通信时,服务器也可以生成第一数据。
S202、服务器在预先建立的多个数据传输通道中,根据各数据传输通道对应的接收端的标识和第一数据对应的接收端的标识,确定接收第一数据的接收端对应的目标数据传输通道。
服务器会预先建立很多数据传输通道,每个数据传输通道对应一个或多个虚拟机。即一个数据传输通道建立在服务器与一个或多个虚拟机之间,该数据传输通道可以用于向一个或多个虚拟机传输数据。该数据传输通道具体可以为用户数据包协议(UserDatagram Protocol,简称UDP)的数据传输通道。其中,UDP是一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。由于UDP的吞吐量不受限制,所以理论上该数据传输通道可以无限拓宽,所以通过该数据传输通道可以实现多个第一数据并发传输,即该数据传输通道可以将第一数据同时发送给多个虚拟机。
藉于此,可以根据通信系统中的接收端的通信需求,灵活建立数据传输通道与虚拟机的对应关系,即灵活建立服务器与虚拟机之间的数据传输通道,从而向多个虚拟机传输数据。
例如,当该数据传输通道对应一组虚拟机,则该数据传输通道用于向该一组虚拟机传输数据,可选地,该一组虚拟机可以跨VPC;或者,当该数据传输通道对应通信系统中的所有虚拟机,则该数据传输通道用于向该通信系统中的所有虚拟机传输数据。进一步地,还可以建立数据传输通道与VPC的对应关系,例如,当数据传输通道对应一个VPC,进而对应该VPC内的所有虚拟机,则该数据传输通道用于向该VPC内的所有虚拟机传输数据;再或者,当数据传输通道对应多个VPC,进而对应多个VPC内的所有虚拟机时,则该数据传输通道用于向多个VPC内的所有虚拟机传输数据。由此可知,发送端与虚拟机之间的数据传输通道的建立非常灵活,不受任何限制,可以一个数据传输通道对应至少一个专有虚拟网络,或者对应通信系统中的所有虚拟机,再或者对应一组虚拟机,从而满足各种通信需求。因此,可以根据实际需要建立数据传输通道,从而向多个虚拟机大规模下发数据。
本领域技术人员可以理解,在预先建立的多个数据传输通道中,每个数据传输通道对应的形式可以不同。例如,部分数据传输通道对应虚拟机,部分数据传输通道对应VPC等。
当服务器需要发送该第一数据时,服务器需要根据各数据传输通道对应的接收端的标识以及第一数据对应的接收端的标识,确定目标数据传输通道。该接收端的标识可以为虚拟机的标识,也可为虚拟机组的标识,还可以为VPC的标识。例如,服务器预先建立了2个数据传输通道,其中一个数据传输通道channel1对应的接收端的标识为虚拟机1A、虚拟机2A、虚拟机1B、虚拟机1C;另一个数据传输通道channel2对应的接收端的标识为VPC1,当第一数据对应的接收端的标识为VPC1时,根据channel2对应的接收端的标识,确定目标数据传输通道为channel2。
可选地,在建立数据传输通道时,可以建立每个数据传输通道对应的下发列表,该下发列表中存储有数据传输通道对应的接收端的标识,根据每个数据传输通道对应的下发列表和第一数据对应的接收端的标识,确定接收第一数据的接收端对应的目标数据传输通道。例如,channel1对应的下发列表如表一所示。
表一
本领域技术人员可以理解,本实施例的第一数据的接收端包括多个虚拟机,第一数据的接收端对应的目标数据传输通道,可以为一个,也可以为多个,本实施例此处不做特别限制。本实施例此处以一个为例,来进行详细说明。
S203、服务器通过目标数据传输通道向多个虚拟机发送第一数据。
在确定目标数据传输通道之后,服务器通过该目标数据传输通道大规模的向多个虚拟机发送第一数据。具体地,服务器可以获取承载各虚拟机的物理的标识,向各物理机发送第一数据,从而实现向虚拟机发送第一数据。该物理机的标识例如可以为该物理机的IP地址。可选地,下发列表中还可以包括物理机的IP地址。例如,包含物理机的IP地址的下发列表的实现形式如表二所示。
表二
本实施例提供的数据传输方法,由于预先建立的数据传输通道对应一个或多个虚拟机,即通过数据传输通道,能够实现发送端到多个虚拟机的数据传输,从而实现了数据传输通道能够灵活的不受限制的根据通信需求,向多个虚拟机大规模的下发数据。因此,在根据各数据传输通道对应的接收端的标识,确定接收第一数据的接收端对应的目标数据传输通道之后,就可以通过该目标数据传输通道向多个虚拟机大规模的同时并发第一数据,提高了发送数据的效率。
可选地,由于UDP传输的过程中,当第一数据发送给多个虚拟机后,是无法得知其是否安全完整到达的。因此,为了提高传输数据的可靠性,在各虚拟机接收到该第一数据后,虚拟机向该服务器发送反馈信息,服务器根据该反馈信息来确定第一数据是否下发成功。具体可参见步骤204与步骤205。
S204、虚拟机在接收到第一数据后,向服务器发送反馈信息。
S205、服务器根据反馈信息,确定第一数据的下发结果。
在具体实现过程中,在向接收端发送第一数据之前,还在第一数据中加入目标数据传输通道的标识,从而使得接收端接收到的第一数据中携带目标数据传输通道的标识。虚拟机在接收到该第一数据之后,根据该目标数据传输通道的标识,可以确定该目标数据传输通道是否为本机对应的数据传输通道。例如,虚拟机对应的数据传输通道的标识为channel1、channel2以及channel3。当该目标数据传输通道的标识为channel1时,可以确定该目标数据传输通道为本机对应的数据传输通道,则虚拟机可以确定该目标数据传输通道所发送的数据的接收端即为该虚拟机。
当虚拟机确定该目标数据传输通道为本机对应的数据传输通道时,生成反馈信息。当虚拟机确定该目标数据传输通道不是本机对应的数据传输通道时,则丢弃该第一数据。该反馈信息可以为接收到的第一数据的标识。当服务器获取到该第一数据的标识后,服务器根据该第一数据的标识来确定第一数据是否向该物理机发送成功。以一个具体的例子为例,服务器发送给该虚拟机的第一数据的标识为A,若虚拟机反馈的第一数据的标识为A,则认为该第一数据发送成功,若虚拟机反馈的第一数据的标识为B,则认为该第一数据发送失败。本领域技术人员可以理解,虚拟机在向服务器发送反馈信息时,主要是通过承载虚拟机的物理机来向服务器发送反馈信息。
本实施例提供的数据传输方法,虚拟机接收第一数据后,根据第一数据中携带的目标数据传输通道的标识,确定该目标数据传输通道是本机对应的数据传输通道后,生成反馈信息,并向服务器发送反馈信息,服务器根据反馈信息,确定第一数据的下发结果,保证了数据发送的可靠性。
下面采用详细的实施例,来说明虚拟机发送反馈信息以及服务器根据反馈信息确定下发结果的具体实现过程。为了便于说明,在本实施例中将用于传输第一数据的目标数据传输通道,都统一称为数据传输通道。
图3为本发明一实施例提供的数据通信方法的流程图。本实施例以一个虚拟机为例,进行详细说明。如图3所示,该方法包括:
S301、服务器通过数据传输通道向虚拟机发送第一数据。
S302、虚拟机根据数据传输通道的当前版本号,生成数据传输通道的上报版本号。
步骤301与步骤203类似,本实施例此处不再赘述。
虚拟机在接收到第一数据后,确定数据传输通道的上报版本号。具体地,虚拟机根据数据传输通道的当前版本号,生成数据传输通道的上报版本号。
在虚拟机得到上报版本号之前,虚拟机需要先确定当前版本号。具体地,若第一数据为数据传输通道承载的首个数据,则确定数据传输通道的当前版本号为数据传输通道的初始版本号。
若第一数据为数据传输通道承载的第N+1个数据,则确定数据传输通道的当前版本号为已接收成功的第二数据对应的数据传输通道的上报版本号,其中,第二数据为数据传输通道承载的第N个数据。
具体地,在数据传输通道还未传输数据时,该数据传输通道的版本号为初始版本号,在虚拟机接收到该数据传输通道传输的首个数据时,当前的版本号还是初始版本号,虚拟机根据该初始版本号进行处理,得到上报版本号。例如,虚拟机可以对该初始版本号进行递增处理,也可以对该初始版本号进行递减处理。在本实施例中以递增处理为例来进行说明。本领域技术人员可以理解,在进行递增处理时,可以均匀的递增处理,也可以不均匀的递增处理,对于递增处理的具体实现方式,本实施例此处不再赘述。
在虚拟机已经接收到了N个数据,在接收到第N+1个数据时,当前版本号为已经接收成功的第N个数据对应的数据传输通道的预留版本号,然后在该预留版本号的基础上进行递增处理,得到上报版本号,本领域技术人员可以理解,该上报版本号即为该第N+1个数据对应的数据传输通道的上报版本号。
以一个具体的例子为例,初始版本号为0,在虚拟机接收到第一个第一数据时,当前版本号为0,进行加1处理,得到上报版本号为1,在虚拟机接收到第二个第一数据时,当前版本号为1,进行加1处理,得到上报版本号为2,在虚拟机接收到第三个第一数据时,当前版本号为2,进行加1处理,得到上报版本号为3,依次类推。
S303、虚拟机向服务器发送上报版本号。
S304、服务器根据上报版本号和数据传输通道的预留版本号,确定第一数据的下发结果。
在服务器接收到虚拟机发送的上报版本号之后,服务器根据该上报版本号和数据传输通道的预留版本号,确定第一数据的下发结果。
在具体实现过程中,服务器在向虚拟机发送第一数据之前,服务器先确定该第一数据对应的数据传输通道的预留版本号。
具体地,若该服务器实现控制设备的功能,则控制设备在确定需要发送第一数据时,先确定该第一数据对应的数据传输通道的预留版本号。若该服务器实现下发设备的功能,则下发设备从控制设备获取该预留版本号。
下面详细说明以控制设备为例,说明确定预留版本号的实现过程。
首先,控制设备先确定数据传输通道的当前版本号。具体地,若第一数据为数据传输通道承载的首个数据,则确定数据传输通道的当前版本号为数据传输通道的初始版本号;或者,若第一数据为数据传输通道承载的第N+1个数据,则确定数据传输通道的当前版本号为已发送成功的第二数据对应的数据传输通道的预留版本号,第二数据为数据传输通道承载的第N个数据。其中,在数据传输通道建立时,虚拟机可以向控制设备上报初始版本号,也可以提前约定初始版本号。
其次,在控制设备确定了数据传输通道的当前版本号之后,根据数据传输通道的当前版本号,生成数据传输通道的预留版本号。例如,对数据传输通道的当前版本号进行版本号递增处理,得到数据传输通道的预留版本号。
控制设备确定预留版本号的具体实现过程,可参照上述物理机确定上报版本号的实现过程,本实施例此处不再赘述,仅以一个具体的例子来说明。初始版本号为0,在控制设备发送第一个第一数据时,当前版本号为0,进行加1处理,得到预留版本号为1,在控制设备发送第二个第一数据时,当前版本号为1,进行加1处理,得到预留版本号为2,在控制设备发送第三个第一数据时,当前版本号为2,进行加1处理,得到预留版本号为3,依次类推。
服务器(控制设备或下发设备)根据上报版本号和预留版本号确定第一数据的下发结果的具体实现过程可参见图4。
图4为本发明一实施例提供的数据通信方法的流程图。如图4所示,该方法包括:
S401、根据预留版本号,判断接收到的第一虚拟机发送的上报版本号是否满足预设约束条件,若是,则确定向第一虚拟机发送的第一数据发送成功,若否,则执行S402;
其中,第一虚拟机是各虚拟机中的任一虚拟机;
S402、重新向第一虚拟机发送第一数据,直至在预设时长内接收到第一虚拟机发送的与预留版本号满足预设约束条件的上报版本号,或者预设时长结束;
S403、在经历预设时长后,根据满足预设约束条件的上报版本号,确定第一数据的下发结果。
在具体实现过程中,服务器根据预留版本号,判断第一虚拟机发送的上报版本号是否满足预设约束条件。该预设约束条件可以为上报版本号与预留版本号一致。本领域技术人员可以理解,该预设约束条件也可以为上报版本号时预留版本号的预设倍数,或者上报版本号与预留版本号的差值为预设值等等。
当确定第一虚拟机发送的上报版本号满足预设约束条件时,则确定向该第一虚拟机发送的第一数据发送成功,当不满足预设约束条件时,则确定发送失败,于是服务器重新向第一虚拟机发送第一数据,直至在预设时长内接收到第一物理机发送的与预留版本号满足预设约束条件的上报版本号,或者预设时长结束。本领域技术人员可以理解,对于虚拟机而言,虚拟机在未接收到该第一数据时,按照预设周期向服务器发送当前的上报版本号,以使发送端重新发送第一数据。
当在预设时长结束后,还未接收到虚拟机上报的满足预设约束条件的上报版本号,则认为该虚拟机出现故障,不再向该虚拟机发送第一数据。
进一步地,在经历预设时长后,获取满足预设约束条件的上报版本号对应的第一虚拟机的第一总数;根据第一总数和下发第一数据对应的第一虚拟机的第二总数,确定第一数据的下发结果。
具体地,在确定一个第一虚拟机发送的上报版本号满足预设约束条件时,对上报版本号对应的已有计数加一,在经历预设时长后,确定上报版本号对应的当前计数,根据当前计数,确定第一总数,即将当前计数作为第一总数。
若第一总数与第二总数相同,则服务器确定第一数据向所有虚拟机发送成功,若第一总数与第二总数不同,则服务器确定存在未接收到第一数据的虚拟机。
本实施例提供的方法,根据预留版本号,判断第一虚拟机发送的上报版本号是否满足预设约束条件,若是,则确定向第一虚拟机发送的第一数据发送成功,若否,重新向第一虚拟机发送第一数据,直至在预设时长内接收到第一虚拟机发送的与预留版本号满足预设约束条件的上报版本号,或者预设时长结束;在经历预设时长后,根据满足预设约束条件的上报版本号,确定第一数据的下发结果,本实施例使得UDP传输变为一种可靠的传输。
进一步地,在上述图2至图4实施例的基础上,当服务器实现控制设备的功能时,服务器还需要与虚拟机建立通道、管理下发列表等。下面结合图5,以控制设备作为执行主体,来说明控制设备与虚拟机交互,建立数据传输通道的过程。
图5为本发明一实施例提供的数据通信方法的流程图。本实施例以一个虚拟机为例来进行说明,其它虚拟机的实现过程类似。如图5所示,该方法包括:
S501、控制设备通过初始数据传输通道向虚拟机发送数据传输通道建立指令;
S502、虚拟机在数据传输通道建成后,向控制设备发送数据传输通道已建指令;
其中,数据传输通道已建指令中携带数据传输通道的初始版本号;
S503、控制设备通过初始数据传输通道向虚拟机发送数据传输通道删除指令;
S504、虚拟机在数据传输通道删除后,向控制设备发送数据传输通道已删指令。
具体地,控制设备可以发起数据传输通道的建立和删除。控制设备可以通过与虚拟机预先约定的初始数据传输通道来向虚拟机发送数据传输通道建立指令以及数据传输通道删除指令,该初始数据传输通道不用于传输数据,主要用于数据传输通道的管理等。
特别地,虚拟机在数据传输通道建成后,向控制设备发送数据传输通道已建指令,该数据传输通道已建指令中携带该数据传输通道的初始版本号。由此,控制设备可以获取该数据传输通道的初始版本号,在后续确定发送的第一数据可靠性时,控制设备的预留版本号以及虚拟机的上报版本号,均是在该初始版本号的基础上得到的。
本领域技术人员可以理解,在数据传输通道建成之后,控制设备或者下发设备可以向虚拟机发送第一数据。具体的数据发送过程,可参见上述实施例,此处不再赘述。
在所有数据发送成功后,控制设备发起数据传输通道的删除,在数据传输通道删除后,控制设备对应删除该数据传输通道对应的下发列表以及预留版本号等与该数据传输通道相关的内容。对应地,虚拟机也删除与该数据传输通道相关的内容。
本实施例提供的数据通信方法,通过控制设备发起数据传输通道的建立和删除,由虚拟机完成数据传输通道的建立和删除,实现了对数据传输通道的管理。
进一步地,在上述图2至图4实施例的基础上,当服务器实现下发设备的功能时,下发设备还需要从控制设备获取第一数据、下发列表等。下面结合图6,以下发设备作为执行主体,来说明下发设备与控制设备的交互。
图6为本发明一实施例提供的数据通信方法的流程图。如图6所示,该方法包括:
S601、控制设备向下发设备发送数据发送指令,该数据发送指令中携带第一数据对应的接收端的标识;
S602、下发设备在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;
S603、下发设备通过目标数据传输通道向多个虚拟机发送第一数据;
S604、虚拟机在接收到第一数据后,向下发设备发送反馈信息;
S605、下发设备根据反馈信息,确定第一数据的下发结果;
S606、下发设备向控制设备发送第一数据的下发结果。
在本实施例中,控制设备有待发送的第一数据时,控制设备向下发设备发送数据发送指令,该数据发送指令中携带第一数据以及第一数据的接收端的标识。
然后下发设备确定目标数据传输通道,并通过目标数据传输通道向至少一个虚拟机发送第一数据。
在具体实现过程中,下发设备发送第一数据的过程可参见图2所示实施例中。同时,下发设备可以通过如下可行的实现方式来获取第一数据、数据传输通道对应的各下发列表、数据传输通道的预留版本号等。
一种可行的实现方式,控制设备将第一数据、各数据传输通道对应的下发列表、数据传输通道的预留版本号存储至存储设备。下发设备从存储设备中获取第一数据、数据传输通道对应的下发列表以及数据传输通道的预留版本号。
另一种可行的实现方式,数据下发指令中携带有第一数据、各数据传输通道对应的下发列表、数据传输通道的预留版本号。下发设备可以直接从数据下发指令中获取第一数据、各数据传输通道对应的下发列表、数据传输通道的预留版本号。
下发设备在得到第一数据、数据传输通道对应的下发列表、数据传输通道的预留版本号,然后根据下发列表中的物理机的IP地址,向至少一个虚拟机发送第一数据,然后根据预留版本号和虚拟机上报的上报版本号,确定第一数据的下发结果,并向控制设备上报第一数据的下发结果。
本实施例提供的数据通信方法,通过控制设备向下发设备发送数据发送指令,该数据发送指令用于指示下发设备通过数据传输通道向至少一个虚拟机发送第一数据,下发设备根据数据发送指令,通过数据传输通道向至少一个虚拟机发送第一数据,确定第一数据的下发结果,并向控制设备发送第一数据的下发结果,减少了控制设备的CPU的负担,后续在对云计算系统进行扩容时,不需要对控制设备作出改进,仅对下发设备进行扩容即可,方便了云计算系统的扩容。
以下将详细描述根据本申请的一个或多个实施例的网页处理装置。该网页处理装置可以被实现在各种设备上,例如,服务端设备、服务器、网络服务器等。本领域技术人员可以理解,该网页处理装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。例如,下述实施例中的涉及控制功能、更新功能的模块可以使用来自德州仪器公司、英特尔公司、ARM公司等企业的单片机、微控制器、微处理器等组件实现。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图7为本发明一实施例提供的数据通信装置的结构示意图。如图7所示,该装置包括:
获取模块11,用于获取待发送的第一数据;
通道确定模块12,用于在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
发送模块13,用于通过所述目标数据传输通道向所述接收端发送所述第一数据。
本实施例提供的数据通信装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图8为本发明一实施例提供的数据通信装置的结构示意图,本实施例在图7实施例的基础上实现。
可选地,所述通道确定模块12,具体获取预先建立的每个数据传输通道对应的下发列表,所述下发列表中存储有数据传输通道对应的接收端的标识;
根据每个数据传输通道对应的下发列表和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道。
可选地,还包括:标识添加模块14,用于在通过所述目标数据传输通道向所述接收端发送所述第一数据之前,在所述第一数据中加入所述目标数据传输通道的标识。
可选地,还包括:结果确定模块15,用于接收各所述虚拟机发送的反馈信息,所述反馈信息是所述虚拟机在根据所述目标数据传输通道的标识确定所述目标数据传输通道为各所述虚拟机对应的数据传输通道时生成的信息;
根据各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果。
可选地,所述反馈信息包括上报版本号,所述上报版本号为各所述虚拟机在接收到第一数据后,根据所述数据传输通道的当前版本号生成的上报版本号;
所述结果确定模块15,具体用于根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件,其中,所述第一虚拟机是各所述虚拟机中的任一虚拟机;
若是,则确定向所述第一虚拟机发送的第一数据发送成功;
若否,则重新向所述第一虚拟机发送所述第一数据,直至在预设时长内接收到所述第一虚拟机发送的与所述预留版本号满足预设约束条件的上报版本号,或者预设时长结束;
在经历预设时长后,根据满足预设约束条件的上报版本号的数量,确定所述第一数据的下发结果。
可选地,所述结果确定模块15,还用于根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号。
可选地,所述结果确定模块15,还用于若所述第一数据为所述目标数据传输通道承载的首个数据,则确定所述目标数据传输通道的当前版本号为初始版本号;或者
若所述第一数据为所述目标数据传输通道承载的第N+1个数据,则确定所述目标数据传输通道的当前版本号为已发送成功的第二数据对应的预留版本号,所述第二数据为所述数据传输通道承载的第N个数据。
本实施例提供的数据通信装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图9为本发明一实施例提供的数据通信装置的结构示意图。如图9所示,该装置包括:
接收模块21,用于接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
生成模块22,用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
反馈模块23,用于在接收到所述第一数据后,向所述发送端发送所述反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
可选地,所述反馈信息包括所述数据传输通道的上报版本号;所述生成模块22,具体用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号。
可选地,所述生成模块22,还用于若所述第一数据为所述数据传输通道承载的首个数据,则确定所述数据传输通道的当前版本号为所述数据传输通道的初始版本号;或者
若所述第一数据为所述数据传输通道承载的第N+1个数据,则确定所述数据传输通道的当前版本号为已接收成功的第二数据对应的上报版本号,所述第二数据为所述数据传输通道承载的第N个数据。
本实施例提供的数据通信装置,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图10为本发明一实施例提供的数据通信设备的硬件结构示意图。如图10所示,该设备可以包括接收器30、处理器31、发送器33、存储器34和至少一个通信总线32。通信总线32用于实现元件之间的通信连接。存储器34可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器34中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
可选的,上述处理器31例如可以为中央处理器(Central Processing Unit,简称CPU)、应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现。
本实施例的数据通信设备,可以为图1实施例所示的控制设备,也可以为下发设备,还可以为具有处理功能的服务器。
在本实施例中,处理器31,用于获取待发送的第一数据;
所述处理器31还用于在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
发送器32,耦合至所述处理器31,用于通过所述目标数据传输通道向所述接收端发送第一数据。
可选地,所述处理器31,获取预先建立的每个数据传输通道对应的下发列表,所述下发列表中存储有数据传输通道对应的接收端的标识;
根据每个数据传输通道对应的下发列表和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道。
可选地,所述处理器31,还用于在所述第一数据中加入所述目标数据传输通道的标识。
可选地,接收器30,耦合至所述处理器31,耦合至所述处理器,用于接收各所述虚拟机发送的反馈信息,所述反馈信息是所述虚拟机在根据所述目标数据传输通道的标识确定所述目标数据传输通道为各所述虚拟机对应的数据传输通道时生成的信息;
所述处理器31,还用于根据所述反馈信息,确定所述第一数据的下发结果。
可选地,所述反馈信息包括上报版本号,所述上报版本号为各所述虚拟机在接收到第一数据后;
所述处理器31,具体用于根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件,其中,所述第一虚拟机是各所述虚拟机中的任一虚拟机;
若是,则确定向所述第一虚拟机发送的第一数据发送成功;
若否,则重新向所述第一虚拟机发送所述第一数据,直至在预设时长内接收到所述第一虚拟机发送的与所述预留版本号满足预设约束条件的上报版本号,或者预设时长结束;
在经历预设时长后,根据满足预设约束条件的上报版本号的数量,确定所述第一数据的下发结果。
可选地,所述处理器31还用于,在根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件之前,根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号。
可选地,所述处理器31还用于,在根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号之前,
若所述第一数据为所述目标数据传输通道承载的首个数据,则确定所述目标数据传输通道的当前版本号为初始版本号;或者
若所述第一数据为所述目标数据传输通道承载的第N+1个数据,则确定所述目标数据传输通道的当前版本号为已发送成功的第二数据对应的预留版本号,所述第二数据为所述数据传输通道承载的第N个数据。
本实施例提供的数据通信设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
图11为本发明一实施例提供的数据通信设备的硬件结构示意图。如图11所示,该设备可以包括接收器40、处理器41、发送器43、存储器44和至少一个通信总线42。通信总线42用于实现元件之间的通信连接。存储器44可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器,存储器44中可以存储各种程序,用于完成各种处理功能以及实现本实施例的方法步骤。
本实施例的数据通信设备,具体可以为承载虚拟机的物理机,该物理机可以使得虚拟机完成上述的方法。
在本实施例中,接收器40,用于接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
处理器41,耦合至所述接收器40,用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
发送器43,耦合至所述处理器41,用于向所述发送端发送反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
可选地,所述反馈信息包括所述数据传输通道的上报版本号;
所述处理器41,还具体用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号。
可选地,所述处理器41,具体用于在根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号之前,
若所述第一数据为所述数据传输通道承载的首个数据,则确定所述数据传输通道的当前版本号为所述数据传输通道的初始版本号;或者
若所述第一数据为所述数据传输通道承载的第N+1个数据,则确定所述数据传输通道的当前版本号为已接收成功的第二数据对应的上报版本号,所述第二数据为所述数据传输通道承载的第N个数据。
本实施例提供的数据通信设备,可用于执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (32)

1.一种数据通信方法,其特征在于,包括:
获取待发送的第一数据;
在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
通过所述目标数据传输通道向所述接收端发送所述第一数据。
2.根据权利要求1所述的方法,其特征在于,所述在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道,包括:
获取预先建立的每个数据传输通道对应的下发列表,所述下发列表中存储有数据传输通道对应的接收端的标识;
根据每个数据传输通道对应的下发列表和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道。
3.根据权利要求1所述的方法,其特征在于,所述数据传输通道对应至少一个专有虚拟网络,各所述专有虚拟网络中设置有至少一个虚拟机。
4.根据权利要求1所述的方法,其特征在于,所述数据传输通道对应通信系统中的所有虚拟机。
5.根据权利要求1所述的方法,其特征在于,所述数据传输通道对应一组虚拟机。
6.根据权利要求1所述的方法,其特征在于,所述通过所述目标数据传输通道向所述接收端发送所述第一数据之前,还包括:
在所述第一数据中加入所述目标数据传输通道的标识。
7.根据权利要求6所述的方法,其特征在于,所述通过所述目标数据传输通道向所述至少一个虚拟机发送第一数据之后,还包括:
接收各所述虚拟机发送的反馈信息,所述反馈信息是所述虚拟机在根据所述目标数据传输通道的标识确定所述目标数据传输通道为所述虚拟机对应的数据传输通道时生成的信息;
根据各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果。
8.根据权利要求7所述的方法,其特征在于,所述反馈信息包括上报版本号,所述上报版本号为各所述虚拟机在接收到第一数据后,根据所述目标数据传输通道的当前版本号生成的上报版本号;所述根据各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果,包括:
根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件,其中,所述第一虚拟机是各所述虚拟机中的任一虚拟机;
若是,则确定向所述第一虚拟机发送的第一数据发送成功;
若否,则重新向所述第一虚拟机发送所述第一数据,直至在预设时长内接收到所述第一虚拟机发送的与所述预留版本号满足预设约束条件的上报版本号,或者预设时长结束;
在经历预设时长后,根据满足预设约束条件的上报版本号的数量,确定所述第一数据的下发结果。
9.根据权利要求8所述的方法,其特征在于,所述根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件之前,还包括:
根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号。
10.根据权利要求9所述的方法,其特征在于,所述根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号之前,还包括:
若所述第一数据为所述目标数据传输通道承载的首个数据,则确定所述目标数据传输通道的当前版本号为初始版本号;或者
若所述第一数据为所述目标数据传输通道承载的第N+1个数据,则确定所述目标数据传输通道的当前版本号为已发送成功的第二数据对应的预留版本号,所述第二数据为所述数据传输通道承载的第N个数据,所述N为自然数。
11.根据权利要求1至10任一项所述的方法,其特征在于,所述获取待发送的第一数据之前,还包括:
接收控制设备发送的数据下发指令,所述数据下发指令中携带所述第一数据对应的接收端的标识;
所述根据接收到的各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果之后,还包括:
向所述控制设备发送所述第一数据的下发结果,以使所述控制设备根据所述下发结果确定所述第一数据是否向所有虚拟机发送成功。
12.根据权利要求11所述的方法,其特征在于,如上所述的权利要求1至10任一项所述的方法的执行主体为下发设备;
所述下发设备与所述控制设备集成在同一通信设备上。
13.一种数据通信方法,其特征在于,包括:
接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
向所述发送端发送所述反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
14.根据权利要求13所述的方法,其特征在于,所述反馈信息包括所述数据传输通道的上报版本号;所述生成反馈信息,包括:
根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号。
15.根据权利要求14所述的方法,其特征在于,所述根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号之前,还包括:
若所述第一数据为所述数据传输通道承载的首个数据,则确定所述数据传输通道的当前版本号为所述数据传输通道的初始版本号;或者
若所述第一数据为所述数据传输通道承载的第N+1个数据,则确定所述数据传输通道的当前版本号为已接收成功的第二数据对应的上报版本号,所述第二数据为所述数据传输通道承载的第N个数据,所述N为自然数。
16.一种数据通信装置,其特征在于,包括:
获取模块,用于获取待发送的第一数据;
通道确定模块,用于在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
发送模块,用于通过所述目标数据传输通道向所述接收端发送所述第一数据。
17.根据权利要求16所述的装置,其特征在于,所述通道确定模块,具体用于获取预先建立的每个数据传输通道对应的下发列表,所述下发列表中存储有数据传输通道对应的接收端的标识;
根据每个数据传输通道对应的下发列表和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道。
18.根据权利要求16所述的装置,其特征在于,还包括:标识添加模块,用于在通过所述目标数据传输通道向所述接收端发送所述第一数据之前,在所述第一数据中加入所述目标数据传输通道的标识。
19.根据权利要求18所述的装置,其特征在于,还包括:
结果确定模块,用于接收各所述虚拟机发送的反馈信息,所述反馈信息是所述虚拟机在根据所述目标数据传输通道的标识确定所述目标数据传输通道为各所述虚拟机对应的数据传输通道时生成的信息;
根据各所述虚拟机发送的反馈信息,确定所述第一数据的下发结果。
20.根据权利要求19所述的装置,其特征在于,所述反馈信息包括上报版本号,所述上报版本号为各所述虚拟机在接收到第一数据后,根据所述目标数据传输通道的当前版本号生成的上报版本号;
所述结果确定模块,具体用于根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件,其中,所述第一虚拟机是各所述虚拟机中的任一虚拟机;
若是,则确定向所述第一虚拟机发送的第一数据发送成功;
若否,则重新向所述第一虚拟机发送所述第一数据,直至在预设时长内接收到所述第一虚拟机发送的与所述预留版本号满足预设约束条件的上报版本号,或者预设时长结束;
在经历预设时长后,根据满足预设约束条件的上报版本号的数量,确定所述第一数据的下发结果。
21.一种数据通信装置,其特征在于,包括:
接收模块,用于接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
生成模块,用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
反馈模块,用于向所述发送端发送所述反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
22.根据权利要求21所述的装置,其特征在于,所述反馈信息包括所述数据传输通道的上报版本号;所述生成模块,具体用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号。
23.一种数据通信设备,其特征在于,包括:
处理器,用于获取待发送的第一数据;
所述处理器,还用于在预先建立的多个数据传输通道中,根据各所述数据传输通道对应的接收端的标识和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道;其中,所述接收端包括多个虚拟机,每个数据传输通道对应一个或多个虚拟机;
发送器,耦合至所述处理器,用于通过所述目标数据传输通道向所述接收端发送所述第一数据。
24.根据权利要求23所述的设备,其特征在于,
所述处理器,具体用于获取预先建立的每个数据传输通道对应的下发列表,所述下发列表中存储有数据传输通道对应的接收端的标识;
根据每个数据传输通道对应的下发列表和所述第一数据对应的接收端的标识,确定接收所述第一数据的接收端对应的目标数据传输通道。
25.根据权利要求23所述的设备,其特征在于,所述处理器,还用于在所述第一数据中加入所述目标数据传输通道的标识。
26.根据权利要求25所述的设备,其特征在于,还包括:
接收器,耦合至所述处理器,用于接收各所述虚拟机发送的反馈信息,所述反馈信息是所述虚拟机在根据所述目标数据传输通道的标识确定所述目标数据传输通道为各所述虚拟机对应的数据传输通道时生成的信息;
所述处理器,还用于根据所述反馈信息,确定所述第一数据的下发结果。
27.根据权利要求26所述的设备,其特征在于,所述反馈信息包括上报版本号,所述上报版本号为各所述虚拟机在接收到第一数据后;
所述处理器,具体用于根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件,其中,所述第一虚拟机是各所述虚拟机中的任一虚拟机;
若是,则确定向所述第一虚拟机发送的第一数据发送成功;
若否,则重新向所述第一虚拟机发送所述第一数据,直至在预设时长内接收到所述第一虚拟机发送的与所述预留版本号满足预设约束条件的上报版本号,或者预设时长结束;
在经历预设时长后,根据满足预设约束条件的上报版本号的数量,确定所述第一数据的下发结果。
28.根据权利要求27所述的设备,其特征在于,
所述处理器还用于,在根据所述目标数据传输通道的预留版本号,判断接收到的第一虚拟机发送的所述上报版本号是否满足预设约束条件之前,根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号。
29.根据权利要求28所述的设备,其特征在于,
所述处理器还用于,在根据所述目标数据传输通道的当前版本号,生成所述目标数据传输通道的预留版本号之前,
若所述第一数据为所述目标数据传输通道承载的首个数据,则确定所述目标数据传输通道的当前版本号为初始版本号;或者
若所述第一数据为所述目标数据传输通道承载的第N+1个数据,则确定所述目标数据传输通道的当前版本号为已发送成功的第二数据对应的预留版本号,所述第二数据为所述数据传输通道承载的第N个数据。
30.一种数据通信设备,其特征在于,包括:
接收器,用于接收发送端通过数据传输通道下发的第一数据,所述第一数据中包括所述数据传输通道的标识;
处理器,耦合至所述接收器,用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,生成反馈信息;
发送器,耦合至所述处理器,用于向所述发送端发送所述反馈信息,以使所述发送端根据所述反馈信息确定所述第一数据的下发结果。
31.根据权利要求30所述的设备,其特征在于,所述反馈信息包括所述数据传输通道的上报版本号;
所述处理器,还具体用于在根据所述数据传输通道的标识,确定所述数据传输通道是本机对应的数据传输通道后,根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号。
32.根据权利要求31所述的设备,其特征在于,
所述处理器,具体用于在根据所述数据传输通道的当前版本号,生成所述数据传输通道的上报版本号之前,
若所述第一数据为所述数据传输通道承载的首个数据,则确定所述数据传输通道的当前版本号为所述数据传输通道的初始版本号;或者
若所述第一数据为所述数据传输通道承载的第N+1个数据,则确定所述数据传输通道的当前版本号为已接收成功的第二数据对应的上报版本号,所述第二数据为所述数据传输通道承载的第N个数据。
CN201610827576.4A 2016-09-14 2016-09-14 数据通信方法、装置及设备 Active CN107819811B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610827576.4A CN107819811B (zh) 2016-09-14 2016-09-14 数据通信方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610827576.4A CN107819811B (zh) 2016-09-14 2016-09-14 数据通信方法、装置及设备

Publications (2)

Publication Number Publication Date
CN107819811A true CN107819811A (zh) 2018-03-20
CN107819811B CN107819811B (zh) 2021-05-18

Family

ID=61600790

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610827576.4A Active CN107819811B (zh) 2016-09-14 2016-09-14 数据通信方法、装置及设备

Country Status (1)

Country Link
CN (1) CN107819811B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499935A (zh) * 2021-12-17 2022-05-13 阿里巴巴(中国)有限公司 云平台的访问方法、装置、设备及存储介质
CN115913824A (zh) * 2023-02-10 2023-04-04 中航金网(北京)电子商务有限公司 跨vpc的虚拟服务器通信方法及系统

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101483931A (zh) * 2009-02-26 2009-07-15 中兴通讯股份有限公司 一种移动终端及多链路并发处理的方法
CN101729372A (zh) * 2008-10-29 2010-06-09 华为技术有限公司 光通信系统中报文传输的方法、系统和光线路终端
CN102724658A (zh) * 2012-06-28 2012-10-10 宇龙计算机通信科技(深圳)有限公司 终端和多路数据连接并发的处理方法
CN102801729A (zh) * 2012-08-13 2012-11-28 福建星网锐捷网络有限公司 虚拟机报文转发方法、网络交换设备及通信系统
CN102884763A (zh) * 2012-06-30 2013-01-16 华为技术有限公司 跨数据中心的虚拟机迁移方法、服务控制网关及系统
CN103036661A (zh) * 2013-01-08 2013-04-10 西安电子科技大学 具有自愈功能的自动请求重传方法
US20150169340A1 (en) * 2013-12-18 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) System and method for virtualizing a remote device
CN104994157A (zh) * 2015-07-01 2015-10-21 北京奇虎科技有限公司 数据传输方法及装置
CN105471897A (zh) * 2015-12-28 2016-04-06 上海庆科信息技术有限公司 一种嵌入式设备云服务接入方法及系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101729372A (zh) * 2008-10-29 2010-06-09 华为技术有限公司 光通信系统中报文传输的方法、系统和光线路终端
CN101483931A (zh) * 2009-02-26 2009-07-15 中兴通讯股份有限公司 一种移动终端及多链路并发处理的方法
CN102724658A (zh) * 2012-06-28 2012-10-10 宇龙计算机通信科技(深圳)有限公司 终端和多路数据连接并发的处理方法
CN102884763A (zh) * 2012-06-30 2013-01-16 华为技术有限公司 跨数据中心的虚拟机迁移方法、服务控制网关及系统
CN102801729A (zh) * 2012-08-13 2012-11-28 福建星网锐捷网络有限公司 虚拟机报文转发方法、网络交换设备及通信系统
CN103036661A (zh) * 2013-01-08 2013-04-10 西安电子科技大学 具有自愈功能的自动请求重传方法
US20150169340A1 (en) * 2013-12-18 2015-06-18 Telefonaktiebolaget L M Ericsson (Publ) System and method for virtualizing a remote device
CN104994157A (zh) * 2015-07-01 2015-10-21 北京奇虎科技有限公司 数据传输方法及装置
CN105471897A (zh) * 2015-12-28 2016-04-06 上海庆科信息技术有限公司 一种嵌入式设备云服务接入方法及系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114499935A (zh) * 2021-12-17 2022-05-13 阿里巴巴(中国)有限公司 云平台的访问方法、装置、设备及存储介质
CN114499935B (zh) * 2021-12-17 2023-08-29 阿里巴巴(中国)有限公司 云平台的访问方法、装置、设备及存储介质
CN115913824A (zh) * 2023-02-10 2023-04-04 中航金网(北京)电子商务有限公司 跨vpc的虚拟服务器通信方法及系统
CN115913824B (zh) * 2023-02-10 2023-07-25 中航金网(北京)电子商务有限公司 跨vpc的虚拟服务器通信方法及系统

Also Published As

Publication number Publication date
CN107819811B (zh) 2021-05-18

Similar Documents

Publication Publication Date Title
US7353253B1 (en) Peer-to-peer messaging system
CN105939297B (zh) 一种tcp报文重组方法和装置
CN108322530A (zh) 上下文环境信息的传递方法、装置、服务网关及存储介质
EP2613497B1 (en) Method of transporting data in a sub-segmented manner
CN107360177B (zh) 一种基于udp的报文传输方法及装置
EP3135016B1 (en) Managing sequence values with added headers in computing devices
CN104753980A (zh) 数据传输方法及相关装置和通信系统
EP1855415A1 (en) Method and system for reliable multicast datagrams and barriers
CN104852828A (zh) 一种网络时延检测方法,装置及系统
CN109450606B (zh) 数据传输管控方法及装置
CN108718347A (zh) 一种域名解析方法、系统、装置及存储介质
CN107172174A (zh) 在客户端和服务器之间实现文件的快速上传
US11271842B2 (en) Enhancing transmission control protocol (TCP) performance and scalability on multicore processor architectures
CN107819811A (zh) 数据通信方法、装置及设备
CN108900433A (zh) 一种传输lora报文的方法、终端和服务器
CN113259989B (zh) 数据重传方法、装置及电子设备
CN103475626B (zh) 一种用于请求资源的方法、设备及系统
CN105656794A (zh) 数据分发方法及装置
CN104184729A (zh) 一种报文处理方法和装置
CN103841139A (zh) 传输数据的方法、装置和系统
CN112532358B (zh) 根据反馈等待时间进行数据发送内容更改的方法和装置
WO2020220683A1 (zh) 报文处理方法、装置、计算机设备和存储介质
CN109586931A (zh) 组播方法及终端设备
CN103546513B (zh) 一种客户端页面间通信的方法及装置
CN101510901A (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
CB03 Change of inventor or designer information

Inventor after: Zhang Jianfeng

Inventor after: Gu Qiling

Inventor before: Gu Qiling

CB03 Change of inventor or designer information