CN111555980B - 一种数据发送方法、装置、电子设备及存储介质 - Google Patents
一种数据发送方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111555980B CN111555980B CN202010184007.9A CN202010184007A CN111555980B CN 111555980 B CN111555980 B CN 111555980B CN 202010184007 A CN202010184007 A CN 202010184007A CN 111555980 B CN111555980 B CN 111555980B
- Authority
- CN
- China
- Prior art keywords
- array
- target
- virtual terminal
- tunnel
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种数据发送方法、装置、电子设备及存储介质,所述方法应用于视联网路由器,包括:接收发送设备发送的数据;根据预设转发机制,确定所述数据的接收设备;确定与所述接收设备对应的目标路径ID;根据所述目标路径ID获得虚拟终端ID和子设备号码;根据所述虚拟终端ID和所述子设备号码从预设数组中获得所述目标隧道;通过所述目标隧道将所述数据发送给所述接收设备。在上述过程中,视联网路由器直接根据接收设备的路径ID以遍历数组的方式快速寻址目标隧道,并通过目标隧道实现数据的快速传输,降低了寻址目标视联网隧道所消耗的时间,提升了视联网路由器之间的数据传输效率。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据发送方法、装置、电子设备及存储介质。
背景技术
在视联网通信领域中,一个视联网路由器可以与多个其它视联网路由器建立视联网隧道(当两个虚拟终端通过视联网信令报文建立可视电话后,内部对可视电话的一种表现形式称之为视联网隧道)。一个视联网路由器在接收到上一个视联网路由器路由的数据后,查找下一个要发送的视联网路由器,并通过与该视联网路由器关联的视联网隧道将数据发到该视联网路由器。然而,相关技术中,视联网路由器在从多个视联网隧道中寻址与下一个要发送的视联网路由器关联的目标视联网隧道时,需要获得下一个视联网路由器的MAC地址和子设备号码,再根据MAC地址和子设备号码寻址到目标视联网隧道,由于该寻址过程相当繁琐,因而,相关技术中的视联网路由器在数据传输方面的效率有待提高。
发明内容
本申请实施例提供了一种数据发送方法、装置、电子设备及存储介质,旨在提高寻址视联网隧道的效率,进而升视联网路由器在数据传输方面的效率。
本申请实施例第一方面提供了一种数据发送方法,应用于视联网路由器,所述方法包括:
接收发送设备发送的数据;
根据预设转发机制,确定所述数据的接收设备;
确定与所述接收设备对应的目标路径ID;
根据所述目标路径ID获得虚拟终端ID和子设备号码;
根据所述虚拟终端ID和所述子设备号码从预设数组中获得所述目标隧道;
通过所述目标隧道将所述数据发送给所述接收设备。
可选地,所述数据中携带所述发送设备添加的源路径ID;
在确定所述数据的接收设备之后,所述方法还包括:
从所述数据中获得所述源路径ID;
根据所述源路径ID获得源隧道;
通过与所述源隧道绑定的处理函数,对所述数据进行处理,获得处理后的数据;根据预设转发机制,确定所述数据的接收设备,包括:
根据预设转发机制,和所述处理后的数据中记录的目标用户终端的目的地址,确定所述数据的接收设备;
通过所述目标隧道将所述数据发送给所述接收设备,包括:
在所述接收设备为所述目标用户终端时,将所述处理后的数据发送给所述目标用户终端;
在所述接收设备为下一个视联网路由器时,通过所述目标隧道绑定的处理函数将所述处理后的数据封装为目标数据;
将所述目标数据发送给所述下一个视联网路由器。
可选地,根据所述虚拟终端ID和所述子设备号码从预设数组中获得所述目标隧道,包括:
将所述虚拟终端ID作为数组下标以遍历虚拟终端数组,获得目标虚拟终端;
将所述子设备号码作为数组下标以遍历所述目标虚拟终端的隧道数组,获得所述目标隧道。
可选地,将所述虚拟终端ID作为数组下标以遍历虚拟终端数组,获得目标虚拟终端,包括:
从所述虚拟终端数组中确定第一数组成员,所述第一数组成员的下标与所述虚拟终端ID相同;
在所述第一数组成员中记录的MAC地址,与所述目标虚拟终端的MAC地址相同时,将所述第一数组成员确定为所述目标虚拟终端;
将所述子设备号码作为数组下标以遍历所述目标虚拟终端的隧道数组,获得所述目标隧道,包括:
从所述目标虚拟终端的隧道数组中确定第二数组成员,所述第二数组成员的下标与所述子设备号码相同;
在所述第二数组成员中记录的路径ID,与所述目标路径ID相同时,将所述第二数组成员确定为所述目标隧道。
可选地,根据所述目标路径ID获得虚拟终端ID和子设备号码,包括:
根据所述目标路径ID和预设阈值,按照第一预设分解公式对所述目标路径ID进行分解,获得所述虚拟终端ID;
根据所述目标路径ID和所述预设阈值,按照第二预设分解公式对所述目标路径ID进行分解,获得所述子设备号码。
可选地,所述方法还包括:
获得与所述视联网路由器通信连接的至少一个其它视联网路由器的设备信息,所述设备信息至少包括MAC地址和子设备号码;
根据所述设备信息为所述至少一个其它视联网路由器创建虚拟终端数组;
针对所述虚拟终端数组中的每一个数组成员,创建隧道数组。
可选地,根据所述设备信息为所述至少一个其它视联网路由器创建虚拟终端数组,包括:
创建初始化虚拟终端数组;
按照一个视联网路由器与一个数组成员对应的方式,根据所述至少一个视联网路由器的MAC地址,对所述初始化虚拟终端数组中的数组成员赋值;
根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的虚拟终端ID进行赋值,完成所述虚拟终端数组的创建;
针对所述虚拟终端数组中的每一个数组成员,创建隧道数组,包括:
为所述虚拟终端数组中的每一个数组成员创建初始化隧道数组;
根据每一个视联网路由器的虚拟终端ID和至少一个子设备号码,获得对应每一个视联网路由器的至少一个路径ID,所述路径ID为计算值与子设备号码的和值,所述计算值为所述虚拟终端ID与所述预设阈值的积值;
按照一个路径ID对应一个数组成员的方式,根据所述至少一个路径ID,对所述初始化隧道数组中的数组成员赋值;
根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的子设备号码进行赋值,完成所述隧道数组的创建。
本申请实施例第二方面提供了一种数据发送装置,应用于视联网路由器,所述装置包括:
接收模块,用于接收发送设备发送的数据;
第一确定模块,用于根据预设转发机制,确定所述数据的接收设备;
第二确定模块,用于确定与所述接收设备对应的目标路径ID;
第一获得模块,用于根据所述目标路径ID获得虚拟终端ID和子设备号码;
第二获得模块,用于根据所述虚拟终端ID和所述子设备号码从预设数组中获得所述目标隧道;
发送模块,用于通过所述目标隧道将所述数据发送给所述接收设备。
本申请实施例第三方面提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请第一方面所述的方法的步骤。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请第一方面所述的方法中的步骤。
通过本实施例中的数据发送方法,视联网路由器在接收到接收发送设备(上一个视联网路由器)发送的数据后,根据预设转发机制,确定该数据的接收设备(下一个视联网路由器);接着,确定与接收设备对应的目标路径ID,按照预设的分解公式分解该目标路径ID,以获得虚拟终端ID和子设备号码;再根据获得的虚拟终端ID和子设备号码通过遍历数组的方式进一步获得目标隧道;最后,通过目标隧道将数据发送给接收设备。在上述过程中,视联网路由器直接根据接收设备的路径ID快速寻址目标隧道,相较于相关技术中获得接收设备的MAC地址和子设备号码,再根据MAC地址和子设备号码逐步寻址目标隧道的过程,本申请中的根据虚拟终端ID和子设备号码以遍历数组的方式,可直接从预设数组中快速获得目标隧道,进而通过目标隧道实现数据的快速传输,降低了寻址目标视联网隧道所消耗的时间,提升了视联网路由器之间的数据传输效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍。
图1是本申请一实施例示出的一种实施环境示意图;
图2是本申请一实施例示出的一种数据发送方法的流程图;
图3是本申请一实施例示出的一种虚拟终端数组的结构示意图;
图4是本申请一实施例示出的一种数据发送装置的结构框图;
图5是本申请一实施例示出的一种视联网的组网示意图;
图6是本申请一实施例示出的一种节点服务器的硬件结构示意图;
图7是本申请一实施例示出的一种接入交换机的硬件结构示意图;
图8是本申请一实施例示出的一种以太网协转网关的硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1是本申请一实施例示出的一种实施环境示意图。在图1中,视联网路由器与多个其它的视联网路由器(包括:视联网路由器1-视联网路由器N)建立视联网隧道,并通过视联网隧道将数据发送到其它的视联网路由器,因而,视联网路由器在接收到数据后,首先需要从多个其它的视联网路由器中确定下一个视联网路由器,进而获得与该下一个视联网路由器之间建立的目标视联网隧道,最后通过该目标视联网隧道将数据发送到下一个视联网路由器,实现数据在视联网路由器之间的转发。
在相关技术中,视联网路由器在确定下一个视联网路由器后,首先需要获得该视联网路由器的MAC地址以及子设备号码(子设备可以理解为视联网路由器内部处理不同类型的数据的功能模块,每一个子设备对应一种类型的业务),然后从预先设置的MAC地址表中查找下一个视联网路由器的MAC地址,然后从该MAC地址对应的视联网隧道列表中查找与子设备号码匹配的视联网隧道。当视联网路由器面临大量数据转发的场景时,每次都需要经历上述查找方式获得视联网隧道,导致寻址过程耗时较长,无法实现对数据的快速转发,因而视联网路由器之间的数据传输效率较低。
本申请首先提供了一种数据发送方法,应用于图1中的视联网路由器,如图2所述。图2是本申请一实施例示出的一种数据发送方法的流程图。参照图2,本申请的数据发送方法包括以下步骤:
步骤S11:接收发送设备发送的数据。
在本实施例中,视联网路由器之间可以建立视联网隧道。因而为便于对数据发送方法进行较好地陈述,本申请各个实施例中所指的发送设备和接收设备均是指视联网路由器。当然,发送设备和接收设备除了具有可以接收视联网路由器发送的数据和将数据发送给视联网路由器的功能,还具有可以接收用户终端发送的数据和将数据发送给用户终端的功能,视联网路由器与用户终端之间的交互将在后文说明。
在步骤S11中,接收发送设备发送的数据,可以是:接收上一个视联网路由器发送的目标数据。目标数据为对源用户终端发送的原始数据(例如,互联网协议格式的数据),按照视联网协议格式进行封装后获得的数据。示例地,参照图1,联网路由器可以通过视联网接口(图1中未示出)接收上一个视联网路由器(图1中未示出)发送的目标数据。
步骤S12:根据预设转发机制,确定所述数据的接收设备。
在本实施例中,预设转发机制即预先设定的路由机制,例如可以是路径最短机制或者路径最优机制等,采用何种路由机制可根据实际需求设置,本申请对此不作具体限制。
在本实施例中,接收设备即:下一个视联网路由器,当前视联网路由器可以从接收的目标数据中获得目标用户终端的目的地址,根据该目的地址,按照预设转发机制确定下一个视联网路由器。
示例地,参照图2,当视联网路由器接收到目标数据后,对目标数据按照视联网协议格式进行解封装,获得源用户终端发送的原始数据,然后从原始数据中获得目标用户终端的目的地址,之后,按照路径最短机制确定下一个视联网路由器,假设为视联网路由器2,那么接收设备即为视联网路由器2。
步骤S13:确定与所述接收设备对应的目标路径ID。
在本实施例中,每一个视联网路由器在建立与其它视联网路由器的视联网隧道后,统一为所有的视联网隧道设置路径ID,使得之后在寻址某个视联网隧道时,可以直接根据路径ID快速寻址视联网隧道。
在本实施例中,路径ID可以是根据视联网路由器的设备信息生成的,设备信息例如可以是:MAC地址和子设备号码等,本申请对此不作具体限制。视联网路由器可以预先获得所有其它视联网路由器的设备信息,然后按照预设路径ID合成公式,对设备信息进行处理,进而获得每个其它视联网路由器的路径ID,使得在确定下一个视联网路由器,可以直接根据预先存储的多个路径ID获得该下一个视联网路由器的路径ID。
步骤S14:根据所述目标路径ID获得虚拟终端ID和子设备号码。
在本实施例中,路径ID为一个号码,根据目标路径ID获得虚拟终端ID和子设备号码可以是:按照与预设路径ID合成公式对应的分解公式,将目标路径ID分解为虚拟终端ID和子设备号码。其中,虚拟终端即视联网路由器,虚拟终端ID为预先为视联网路由器分配的ID号码。
步骤S15:根据所述虚拟终端ID和所述子设备号码从预设数组中获得所述目标隧道。
在本实施例中,根据虚拟终端ID和子设备号码获得目标隧道具体为:根据虚拟终端ID和子设备号码遍历预先设置的虚拟终端数组和隧道数组,获得目标隧道。
在本实施例中,虚拟终端数组和虚拟终端ID具有对应关系,因而根据虚拟终端ID可以从虚拟终端数组中获得目标虚拟终端,即:下一个视联网路由器,由于当前视联网路由器与下一个视联网路由器之间建立的视联网隧道的类型可以是多种(也可以将子设备号码理解为下一个视联网路由器的视联网接口的地址,不同地址的视联网接口用于处理不同类型的业务),因而,还需要根据子设备号码遍历下一个视联网路由器对应的隧道数组,以进一步确定目标视联网隧道。
步骤S16:通过所述目标隧道将所述数据发送给所述接收设备。
在本实施例中,在获得目标隧道后,通过该目标隧道将数据发送给下一个视联网路由器,使得下一个视联网路由器再对该数据进行转发,直至最终转发至目标用户终端。
示例地,结合图2,以PC1向PC2发送数据为例,PC1首先将互联网格式的原始数据发送给图2中的视联网路由器,视联网路由器根据原始数据中记载的目标用户终端的目的地址,按照预设的路径最短机制确定下一个视联网路由器应当为视联网路由器2;接着,获得预先为视联网路由器2设置的路径ID,对该ID进行分解,获得一个虚拟终端ID和子设备号码;再通过该虚拟终端ID和子设备号码依次遍历虚拟终端数组和隧道数组,获得视联网路由器2对应的目标视联网隧道;最后,将原始数据封装为视联网协议格式的目标数据,通过目标视联网隧道将目标数据发送给视联网路由器2;视联网路由器2接收到目标数据,将目标数据解封装获得原始数据,从原始数据中获得PC2的地址,根据PC2的地址确定自身可直接与该PC2建立通信连接,则将原始数据直接发送给PC2,从而实现了通过视联网路由器1和视联网路由器2快速寻址目标联网隧道并进行数据传输。
通过本实施例中的数据发送方法,视联网路由器在接收到接收发送设备(上一个视联网路由器)发送的数据后,根据预设转发机制,确定该数据的接收设备(下一个视联网路由器);接着,确定与接收设备对应的目标路径ID,按照预设的分解公式分解该目标路径ID,以获得虚拟终端ID和子设备号码;再根据获得的虚拟终端ID和子设备号码通过遍历数组的方式进一步获得目标隧道;最后,通过目标隧道将数据发送给接收设备。在上述过程中,视联网路由器直接根据接收设备的路径ID快速寻址目标隧道,相较于相关技术中获得接收设备的MAC地址和子设备号码,再根据MAC地址和子设备号码逐步寻址目标隧道的过程,本申请中的根据虚拟终端ID和子设备号码以遍历数组的方式,可直接从预设数组中快速获得目标隧道,进而通过目标隧道实现数据的快速传输,降低了寻址目标视联网隧道所消耗的时间,提升了视联网路由器之间的数据传输效率。
结合以上实施例,在一种实施方式中,根据所述虚拟终端ID和所述子设备号码获得所述目标隧道,具体可以包括:
将所述虚拟终端ID作为数组下标以遍历虚拟终端数组,获得目标虚拟终端;
将所述子设备号码作为数组下标以遍历所述目标虚拟终端的隧道数组,获得所述目标隧道。
在本实施例中,根据虚拟终端ID从虚拟终端数组中获得目标虚拟终端,可以为:将虚拟终端ID作为数组下标,通过遍历虚拟终端数组,获得目标虚拟终端;例如虚拟终端ID为6时,直接读取虚拟终端数组a中的数组成员a[6]的值,实现根据数组访问方式快速获得目标虚拟终端;根据子设备号码遍历下一个视联网路由器对应的隧道数组获得目标隧道可以是:将子设备号码作为数组下标,通过遍历目标虚拟终端的隧道数组,获得目标隧道;例如,数组成员a[6]的值中定义有一个隧道数组b,如果子设备号码为7,那么直接读取隧道数组b中的数组成员b[7]的值,实现根据数组访问方式快速获得目标隧道。
本实施例中,虚拟终端ID与虚拟终端数组的数组成员的数组下标具有对应关系,子设备号码与虚拟终端数组的数组成员中的隧道数组的数组下标具有对应关系,因而可以通过直接读取数组成员的值的方式快速获得目标隧道,进而降低寻址目标视联网隧道所消耗的时间,提升视联网路由器之间的数据传输效率。
结合以上实施例,在一种实施方式中,将所述虚拟终端ID作为数组下标以遍历虚拟终端数组,获得目标虚拟终端,包括:
从所述虚拟终端数组中确定第一数组成员,所述第一数组成员的下标与所述虚拟终端ID相同;
在所述第一数组成员中记录的MAC地址,与所述目标虚拟终端的MAC地址相同时,将所述第一数组成员确定为所述目标虚拟终端。
在本实施例中,在直接从虚拟终端数组中读取数组下标与虚拟终端ID相同的数组成员的值时,为了保证读取的值的准确度,还设置了验证步骤,即:验证第一数组成员中记录的MAC地址的值是否与目标虚拟终端的MAC地址相同,如果相同,表示该数组成员为目标虚拟终端,即:下一个视联网路由器。
相应地,将所述子设备号码作为数组下标以遍历所述目标虚拟终端的隧道数组,获得所述目标隧道,包括:
从所述目标虚拟终端的隧道数组中确定第二数组成员,所述第二数组成员的下标与所述子设备号码相同;
在所述第二数组成员中记录的路径ID,与所述目标路径ID相同时,将所述第二数组成员确定为所述目标隧道。
在本实施例中,在直接从目标虚拟终端的隧道数组中读取数组下标与子设备号码相同的数组成员的值时,为了保证读取的值的准确度,还设置了验证步骤,即:验证第二数组成员中记录的路径ID是否与获得的目标路径ID相同,如果相同,表示该视联网隧道为目标隧道。
本实施例中,在遍历虚拟终端数组和隧道数组时设置了验证环节,可保证最终获得的目标隧道的准确度,进而防止数据传输出错,提升数据传输效率。
结合以上实施例,在一种实施方式中,所述数据中携带所述发送设备添加的源路径ID;
在确定所述数据的接收设备之后,所述方法还包括:
从所述数据中获得所述源路径ID;
根据所述源路径ID获得源隧道;
通过与所述源隧道绑定的处理函数,对所述数据进行处理,获得处理后的数据;
根据预设转发机制,确定所述数据的接收设备,包括:
根据预设转发机制,和所述处理后的数据中记录的目标用户终端的目的地址,确定所述数据的接收设备;
通过所述目标隧道将所述数据发送给所述接收设备,包括:
在所述接收设备为所述目标用户终端时,将所述处理后的数据发送给所述目标用户终端;
在所述接收设备为下一个视联网路由器时,通过所述目标隧道绑定的处理函数将所述处理后的数据封装为目标数据;
将所述目标数据发送给所述下一个视联网路由器。
在本实施例中,每一个视联网路由器在获得下一个视联网路由器的路径ID后,都会将该路径ID携带在发送给下一个视联网路由器的数据中,使得下一个视联网路由器可以根据路径ID快速确定上一个视联网路由器所使用的视联网隧道。视联网隧道绑定有隧道处理函数,通过隧道处理函数可以对数据的格式进行处理,例如,将互联网协议格式的数据封装为视联网协议格式的数据,或者将视联网协议格式的数据解封为互联网协议格式的数据,同时,视联网隧道还具有对数据进行发送的功能,例如将视联网协议格式的数据发送给下一个视联网路由器。在本申请各个实施例中,视联网路由器传输的是视联网协议格式的数据,视联网路由器与用户终端之间传输的是互联网协议格式的数据。
示例地,以图2中的视联网路由器为例,当视联网路由器接收到上一个视联网路由器发送的数据后,从数据中获得上一个视联网路由器添加的源路径ID,然后根据源路径ID获得上一个视联网路由器使用的源隧道,之后通过与源隧道绑定的处理函数,对数据(视联网协议格式的数据)进行处理,获得处理后的数据(互联网协议格式的数据),从处理后的数据中获得目标用户终端的目的地址;接着目的地址和预设转发机制,确定接收设备;如果接收设备为目标用户终端,将处理后的数据直接发送给目标用户终端;如果接收设备为下一个视联网路由器,则通过目标隧道绑定的处理函数将处理后的数据封装为视联网协议格式的数据,即:目标数据,然后通过目标隧道将目标数据发送给下一个视联网路由器。
本实施例中,每一个视联网路由器在获得下一个视联网路由器的路径ID后,都会将该路径ID携带在发送给下一个视联网路由器的数据中,使得下一个视联网路由器可以根据路径ID快速寻址上一个视联网路由器所使用的视联网隧道,进而实现对数据的快速处理以及提升数据的传输速度。
结合以上实施例,在一种实施方式中,根据所述目标路径ID获得虚拟终端ID和子设备号码,包括:
根据所述目标路径ID和预设阈值,按照第一预设分解公式对所述目标路径ID进行分解,获得所述虚拟终端ID;
根据所述目标路径ID和所述预设阈值,按照第二预设分解公式对所述目标路径ID进行分解,获得所述子设备号码。
在本实施例中,在获得一个视联网路由器的虚拟终端ID和子设备号码后,合成该视联网路由器的路径ID的过程为:首先获得虚拟终端ID与预设阈值的积值,接着获得积值与子设备号码的和值,最后将和值确定为路径ID。预设阈值为虚拟终端最大可支持的子设备的数量值,即:视联网路由器最大可支持的子设备的数量NUM。
相应地,按照第一预设分解公式对目标路径ID进行分解,获得所述虚拟终端ID具体可以是:以目标路径ID除以NUM,取商值的整数部分作为虚拟终端ID;按照第二预设分解公式对目标路径ID进行分解,获得子设备号码具体可以是:以目标路径ID除以NUM,取余数作为子设备号码。
示例地,目标路径ID为16,NUM为6,那么16除以6得到的商值的整数部分为2;即虚拟终端ID为2,16除以6得到的余数为4,那么子设备号码为4。
本实施例提供了一种根据目标路径ID和预设阈值获得虚拟终端ID和子设备号码的方法,使得视联网路由器根据该虚拟终端ID和子设备号码可以快速获得目标隧道,进而实现数据的快速传输。
结合以上实施例,在一种实施方式中,本申请的数据发送方法还可以包括:
获得与所述视联网路由器通信连接的至少一个其它视联网路由器的设备信息,所述设备信息至少包括MAC地址和子设备号码;
根据所述设备信息为所述至少一个其它视联网路由器创建虚拟终端数组;
针对所述虚拟终端数组中的每一个数组成员,创建隧道数组。
在本实施例中,为了便于视联网路由器能快速寻址视联网隧道,因而需要预先对其它视联网路由器的设备信息进行管理。首先,获得所有的其它的视联网路由器,为这些视联网路由器创建虚拟终端数组。示例地,为10个视联网路由器创建一个长度为10的虚拟终端数组,则该数组中的每一个数组成员表示一个虚拟终端(视联网路由器)。
在本实施例中,由于一个视联网路由器具有多个子设备,因此,针对每一个虚拟终端,还需要在其对应的数组成员中创建一个隧道数组。示例地,虚拟终端A有10个子设备,那么为虚拟终端A创建一个长度为6的隧道数组,则该数组中的每一个数组成员表示一个虚拟终端A的一个视联网隧道。
具体地,结合以上实施例,根据所述设备信息为所述至少一个其它视联网路由器创建虚拟终端数组,包括:
创建初始化虚拟终端数组;
按照一个视联网路由器与一个数组成员对应的方式,根据所述至少一个视联网路由器的MAC地址,对所述初始化虚拟终端数组中的数组成员赋值;
根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的虚拟终端ID进行赋值,完成所述虚拟终端数组的创建。
在本实施例中,假设有N个需要管理的视联网路由器,那么应当创建一个长度至少不低于N的虚拟终端数组,在定义N个视联网路由器中的每一个视联网路由器时,遍历虚拟终端数组中没有被占用的数组成员,根据视联网路由器的MAC地址对该数组成员赋值,之后,将数组成员中的整型标志设置为1,返回该数组成员的数组下标作为该视联网路由器的虚拟终端ID,从而建立视联网路由器与虚拟终端数组的数组成员的下标的关联。
示例地,以定义视联网路由器A为例,如果在遍历虚拟终端数组时,发现数组下标为3的数组成员没有被占用,则利用视联网路由器A的MAC地址对该下标为3的数组成员进行赋值,赋值完成后将整型标志设为1,然后将视联网路由器A的虚拟终端的ID设置为3,以保持与对应的数组成员的下标的一致性。之后,当需要寻址视联网路由器A对应的虚拟终端时,直接将虚拟终端ID作为数组下标,读取对应的数组成员,即可获得视联网路由器A对应的虚拟终端。
相应地,针对所述虚拟终端数组中的每一个数组成员,创建隧道数组,包括:
为所述虚拟终端数组中的每一个数组成员创建初始化隧道数组;
根据每一个视联网路由器的虚拟终端ID和至少一个子设备号码,获得对应每一个视联网路由器的至少一个路径ID,所述路径ID为计算值与子设备号码的和值,所述计算值为所述虚拟终端ID与所述预设阈值的积值;
按照一个路径ID对应一个数组成员的方式,根据所述至少一个路径ID,对所述初始化隧道数组中的数组成员赋值;
根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的子设备号码进行赋值,完成所述隧道数组的创建。
在本实施例中,假设每个视联网路由器最大支持的子设备数量用NUM表示,那么虚拟终端数组的每一个数组成员中创建的隧道数组的长度为NUM。在为一个视联网路由器创建隧道数组时,首先需要根据该视联网路由器的MAC地址,以及对应的多个子设备的子设备号码获得每一个视联网隧道的路径ID,其中,如前所述,合成视联网路由器的路径ID的过程为:首先获得虚拟终端ID与NUM的积值,接着获得积值与子设备号码的和值,最后将和值确定为路径ID。
在本实施例中,为了能建立隧道数组的数组成员的下标与子设备号码(本申请的所指的子设备号码为自定的号码)之间的对应关系,预先为多个不同的子设备定义一个子设备号码,例如,在确定视联网路由器A具有5个不同的子设备(此时这5个子设备还不具有子设备号码)后,为了区分这个5个不同的子设备,按照0、1、2……的编号顺序(即:数组下标的顺序)为5个子设备分别定义一个子设备号码。
在获得视联网路由器A的5个子设备的子设备号码后,以为这5个子设备创建隧道数组为例,视联网路由器A的虚拟终端ID为3,最大支持的子设备数量NUM为5,那么按照上述公式获得的每一个子设备对应的视联网隧道的路径ID为15(对应子设备号码0)、16(对应子设备号码1)、17(对应子设备号码2)、18(对应子设备号码3)、19(对应子设备号码4)。
之后,针对初始化的一个隧道数组,针对数组下标为0的数组成员,利用子设备号码0对应的路径ID,即15,和视联网路由器A的MAC地址对其赋值;针对数组下标为1的数组成员,利用子设备号码1对应的路径ID,即16,和视联网路由器A的MAC地址对其赋值;针对数组下标为2的数组成员,利用子设备号码2对应的路径ID,即17,和视联网路由器A的MAC地址对其赋值;以此类推,直到定义完所有的子设备,此时,子设备的子设备号码,与隧道数组的数组成员的下标也是保持一致的,之后,当需要寻址子设备号码2对应的虚拟终端时,直接将2作为数组下标,读取对应的数组成员,即可获得对应的子设备。
在本实施例中,虚拟终端ID与虚拟终端数组的数组成员的数组下保持一致,子设备号码与虚拟终端数组的数组成员中的隧道数组的数组下标保持一致,因而可以通过直接读取数组成员的值的方式快速获得目标隧道,进而降低寻址目标视联网隧道所消耗的时间,提升视联网路由器之间的数据传输效率。
图3是本申请一实施例示出的一种虚拟终端数据的结构示意图,下面将结合图3对本申请的数据发送方法做一个整体的说明。
在图3中,视联网路由器的虚拟终端数组的长度为6,对应虚拟终端0-虚拟终端5共6个虚拟终端,在每个虚拟终端成员中,分别又定义有隧道数组,隧道数组的长度为7,分别对应视联网隧道0-视联网隧道6共7个视联网隧道。在图3中,每个虚拟终端支持的最大子设备数量为7,因此,假设当前视联网路由器获得一个值为17的路径ID,根据17与7的商值的整数部分2,确定虚拟终端ID为2,根据17与7的商值的余数部分3,确定子设备号码为3,那么直接将2作为虚拟终端数组的数组下标读取图3中第3行的虚拟终端,然后直接将3作为隧道数组的数组下标读取图3中第三行中的第4个子设备,即可获得路径ID对应的视联网隧道。因而,本申请可以通过直接读取数组成员的值的方式快速获得目标隧道,进而降低寻址目标视联网隧道所消耗的时间,提升视联网路由器之间的数据传输效率。
本申请还提供了一种数据发送装置1000,如图4所示。图4是本申请一实施例示出的一种数据发送装置的结构框图。参照图4,本申请的装置1000可以包括:
接收模块1001,用于接收发送设备发送的数据;
第一确定模块1002,用于根据预设转发机制,确定所述数据的接收设备;
第二确定模块1003,用于确定与所述接收设备对应的目标路径ID;
第一获得模块1004,用于根据所述目标路径ID获得虚拟终端ID和子设备号码;
第二获得模块1005,用于根据所述虚拟终端ID和所述子设备号码从预设数组中获得所述目标隧道;
发送模块1006,用于通过所述目标隧道将所述数据发送给所述接收设备。
可选地,所述数据中携带所述发送设备添加的源路径ID;所述装置1000还包括:
第三获得模块,用于从所述数据中获得所述源路径ID;
第四获得模块,用于根据所述源路径ID获得源隧道;
第五获得模块,用于通过与所述源隧道绑定的处理函数,对所述数据进行处理,获得处理后的数据;
所述第一确定模块1002包括:
第一确定子模块,用于根据预设转发机制,和所述处理后的数据中记录的目标用户终端的目的地址,确定所述数据的接收设备;所述发送模块1006包括:
第一发送子模块,用于在所述接收设备为所述目标用户终端时,将所述处理后的数据发送给所述目标用户终端;处理模块,用于在所述接收设备为下一个视联网路由器时,通过所述目标隧道绑定的处理函数将所述处理后的数据封装为目标数据;
第二发送子模块,用于将所述目标数据发送给所述下一个视联网路由器。
可选地,所述第二获得模块1005包括:
第一获得子模块,用于将所述虚拟终端ID作为数组下标以遍历虚拟终端数组,获得目标虚拟终端;
第二获得子模块,用于将所述子设备号码作为数组下标以遍历所述目标虚拟终端的隧道数组,获得所述目标隧道。
可选地,所述第一获得子模块包括:
第二确定子模块,用于从所述虚拟终端数组中确定第一数组成员,所述第一数组成员的下标与所述虚拟终端ID相同;
第三确定子模块,用于在所述第一数组成员中记录的MAC地址,与所述目标虚拟终端的MAC地址相同时,将所述第一数组成员确定为所述目标虚拟终端;
所述第二获得子模块包括:
第四确定子模块,用于从所述目标虚拟终端的隧道数组中确定第二数组成员,所述第二数组成员的下标与所述子设备号码相同;
第五确定子模块,用于在所述第二数组成员中记录的路径ID,与所述目标路径ID相同时,将所述第二数组成员确定为所述目标隧道。
可选地,所述第一获得模块1004包括:
第三获得子模块,用于根据所述目标路径ID和预设阈值,按照第一预设分解公式对所述目标路径ID进行分解,获得所述虚拟终端ID;
第四获得子模块,用于根据所述目标路径ID和所述预设阈值,按照第二预设分解公式对所述目标路径ID进行分解,获得所述子设备号码。
可选地,所述装置1000还包括:
第六获得模块,用于获得与所述视联网路由器通信连接的至少一个其它视联网路由器的设备信息,所述设备信息至少包括MAC地址和子设备号码;
第一创建模块,用于根据所述设备信息为所述至少一个其它视联网路由器创建虚拟终端数组;
第二创建模块,用于针对所述虚拟终端数组中的每一个数组成员,创建隧道数组。
可选地,所述第一创建模块包括:
第一创建子模块,用于创建初始化虚拟终端数组;
第一赋值模块,用于按照一个视联网路由器与一个数组成员对应的方式,根据所述至少一个视联网路由器的MAC地址,对所述初始化虚拟终端数组中的数组成员赋值;
第二赋值模块,用于根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的虚拟终端ID进行赋值,完成所述虚拟终端数组的创建;
所述第二创建模块包括:
第二创建子模块,用于为所述虚拟终端数组中的每一个数组成员创建初始化隧道数组;
第五获得子模块,用于根据每一个视联网路由器的虚拟终端ID和至少一个子设备号码,获得对应每一个视联网路由器的至少一个路径ID,所述路径ID为计算值与子设备号码的和值,所述计算值为所述虚拟终端ID与所述预设阈值的积值;
第三赋值模块,用于按照一个路径ID对应一个数组成员的方式,根据所述至少一个路径ID,对所述初始化隧道数组中的数组成员赋值;
第四赋值模块,用于根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的子设备号码进行赋值,完成所述隧道数组的创建。
基于同一发明构思,本申请提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现本申请上述任一实施例所述的数据发送方法中的步骤。
基于同一发明构思,本申请提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请上述任一实施例所述的数据发送方法中的步骤。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
视联网是网络发展的重要里程碑,是一个实时网络,能够实现高清视频实时传输,将众多互联网应用推向高清视频化,高清面对面。
视联网采用实时高清视频交换技术,可以在一个网络平台上将所需的服务,如高清视频会议、视频监控、智能化监控分析、应急指挥、数字广播电视、延时电视、网络教学、现场直播、VOD点播、电视邮件、个性录制(PVR)、内网(自办)频道、智能化视频播控、信息发布等数十种视频、语音、图片、文字、通讯、数据等服务全部整合在一个系统平台,通过电视或电脑实现高清品质视频播放。
为使本领域技术人员更好地理解本发明实施例,以下对视联网进行介绍:
视联网所应用的部分技术如下所述:
网络技术(Network Technology)
视联网的网络技术创新改良了传统以太网(Ethernet),以面对网络上潜在的巨大视频流量。不同于单纯的网络分组包交换(Packet Switching)或网络电路交换(CircuitSwitching),视联网技术采用Packet Switching满足Streaming需求。视联网技术具备分组交换的灵活、简单和低价,同时具备电路交换的品质和安全保证,实现了全网交换式虚拟电路,以及数据格式的无缝连接。
交换技术(Switching Technology)
视联网采用以太网的异步和包交换两个优点,在全兼容的前提下消除了以太网缺陷,具备全网端到端无缝连接,直通用户终端,直接承载IP数据包。用户数据在全网范围内不需任何格式转换。视联网是以太网的更高级形态,是一个实时交换平台,能够实现目前互联网无法实现的全网大规模高清视频实时传输,将众多网络视频应用推向高清化、统一化。
服务器技术(Server Technology)
视联网和统一视频平台上的服务器技术不同于传统意义上的服务器,它的流媒体传输是建立在面向连接的基础上,其数据处理能力与流量、通讯时间无关,单个网络层就能够包含信令及数据传输。对于语音和视频业务来说,视联网和统一视频平台流媒体处理的复杂度比数据处理简单许多,效率比传统服务器大大提高了百倍以上。
储存器技术(Storage Technology)
统一视频平台的超高速储存器技术为了适应超大容量和超大流量的媒体内容而采用了最先进的实时操作系统,将服务器指令中的节目信息映射到具体的硬盘空间,媒体内容不再经过服务器,瞬间直接送达到用户终端,用户等待一般时间小于0.2秒。最优化的扇区分布大大减少了硬盘磁头寻道的机械运动,资源消耗仅占同等级IP互联网的20%,但产生大于传统硬盘阵列3倍的并发流量,综合效率提升10倍以上。
网络安全技术(Network Security Technology)
视联网的结构性设计通过每次服务单独许可制、设备与用户数据完全隔离等方式从结构上彻底根除了困扰互联网的网络安全问题,一般不需要杀毒程序、防火墙,杜绝了黑客与病毒的攻击,为用户提供结构性的无忧安全网络。
服务创新技术(Service Innovation Technology)
统一视频平台将业务与传输融合在一起,不论是单个用户、私网用户还是一个网络的总合,都不过是一次自动连接。用户终端、机顶盒或PC直接连到统一视频平台,获得丰富多彩的各种形态的多媒体视频服务。统一视频平台采用“菜谱式”配表模式来替代传统的复杂应用编程,可以使用非常少的代码即可实现复杂的应用,实现“无限量”的新业务创新。
视联网的组网如下所述:
视联网是一种集中控制的网络结构,该网络可以是树型网、星型网、环状网等等类型,但在此基础上网络中需要有集中控制节点来控制整个网络。
图5是本申请一实施例示出的一种视联网的组网示意图。如图5所示,视联网分为接入网和城域网两部分。
接入网部分的设备主要可以分为3类:节点服务器,接入交换机,终端(包括各种机顶盒、编码板、存储器等)。节点服务器与接入交换机相连,接入交换机可以与多个终端相连,并可以连接以太网。
其中,节点服务器是接入网中起集中控制功能的节点,可控制接入交换机和终端。节点服务器可直接与接入交换机相连,也可以直接与终端相连。
类似的,城域网部分的设备也可以分为3类:城域服务器,节点交换机,节点服务器。城域服务器与节点交换机相连,节点交换机可以与多个节点服务器相连。
其中,节点服务器即为接入网部分的节点服务器,即节点服务器既属于接入网部分,又属于城域网部分。
城域服务器是城域网中起集中控制功能的节点,可控制节点交换机和节点服务器。城域服务器可直接连接节点交换机,也可直接连接节点服务器。
由此可见,整个视联网络是一种分层集中控制的网络结构,而节点服务器和城域服务器下控制的网络可以是树型、星型、环状等各种结构。
形象地称,接入网部分可以组成统一视频平台(虚线圈中部分),多个统一视频平台可以组成视联网;每个统一视频平台可以通过城域以及广域视联网互联互通。
视联网设备分类
1.1本发明实施例的视联网中的设备主要可以分为3类:服务器,交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。视联网整体上可以分为城域网(或者国家网、全球网等)和接入网。
1.2其中接入网部分的设备主要可以分为3类:节点服务器,接入交换机(包括以太网网关),终端(包括各种机顶盒,编码板,存储器等)。
各接入网设备的具体硬件结构为:
节点服务器:
图6是本申请一实施例示出的一种节点服务器的硬件结构示意图。如图6所示,主要包括网络接口模块201、交换引擎模块202、CPU模块203、磁盘阵列模块204;
其中,网络接口模块201,CPU模块203、磁盘阵列模块204进来的包均进入交换引擎模块202;交换引擎模块202对进来的包进行查地址表205的操作,从而获得包的导向信息;并根据包的导向信息把该包存入对应的包缓存器206的队列;如果包缓存器206的队列接近满,则丢弃;交换引擎模202轮询所有包缓存器队列,如果满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。磁盘阵列模块204主要实现对硬盘的控制,包括对硬盘的初始化、读写等操作;CPU模块203主要负责与接入交换机、终端(图中未示出)之间的协议处理,对地址表205(包括下行协议包地址表、上行协议包地址表、数据包地址表)的配置,以及,对磁盘阵列模块204的配置。
接入交换机:
图7是本申请一实施例示出的一种接入交换机的硬件结构示意图。如图7所示,主要包括网络接口模块(下行网络接口模块301、上行网络接口模块302)、交换引擎模块303和CPU模块304;
其中,下行网络接口模块301进来的包(上行数据)进入包检测模块305;包检测模块305检测包的目地地址(DA)、源地址(SA)、数据包类型及包长度是否符合要求,如果符合,则分配相应的流标识符(stream-id),并进入交换引擎模块303,否则丢弃;上行网络接口模块302进来的包(下行数据)进入交换引擎模块303;CPU模块304进来的数据包进入交换引擎模块303;交换引擎模块303对进来的包进行查地址表306的操作,从而获得包的导向信息;如果进入交换引擎模块303的包是下行网络接口往上行网络接口去的,则结合流标识符(stream-id)把该包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃;如果进入交换引擎模块303的包不是下行网络接口往上行网络接口去的,则根据包的导向信息,把该数据包存入对应的包缓存器307的队列;如果该包缓存器307的队列接近满,则丢弃。
交换引擎模块303轮询所有包缓存器队列,在本发明实施例中分两种情形:
如果该队列是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零;3)获得码率控制模块产生的令牌;
如果该队列不是下行网络接口往上行网络接口去的,则满足以下条件进行转发:1)该端口发送缓存未满;2)该队列包计数器大于零。
码率控制模块208是由CPU模块204来配置的,在可编程的间隔内对所有下行网络接口往上行网络接口去的包缓存器队列产生令牌,用以控制上行转发的码率。
CPU模块304主要负责与节点服务器之间的协议处理,对地址表306的配置,以及,对码率控制模块308的配置。
以太网协转网关:
图8是本申请一实施例示出的一种以太网协转网关的硬件结构示意图。如图8所示,主要包括网络接口模块(下行网络接口模块401、上行网络接口模块402)、交换引擎模块403、CPU模块404、包检测模块405、码率控制模块408、地址表406、包缓存器407和MAC添加模块409、MAC删除模块410。
其中,下行网络接口模块401进来的数据包进入包检测模块405;包检测模块405检测数据包的以太网MAC DA、以太网MAC SA、以太网length or frame type、视联网目地地址DA、视联网源地址SA、视联网数据包类型及包长度是否符合要求,如果符合则分配相应的流标识符(stream-id);然后,由MAC删除模块410减去MAC DA、MAC SA、length or frame type(2byte),并进入相应的接收缓存,否则丢弃;
下行网络接口模块401检测该端口的发送缓存,如果有包则根据包的视联网目地地址DA获知对应的终端的以太网MAC DA,添加终端的以太网MAC DA、以太网协转网关的MACSA、以太网length or frame type,并发送。
以太网协转网关中其他模块的功能与接入交换机类似。
终端:
主要包括网络接口模块、业务处理模块和CPU模块;例如,机顶盒主要包括网络接口模块、视音频编解码引擎模块、CPU模块;编码板主要包括网络接口模块、视音频编码引擎模块、CPU模块;存储器主要包括网络接口模块、CPU模块和磁盘阵列模块。
1.3城域网部分的设备主要可以分为2类:节点服务器,节点交换机,城域服务器。其中,节点交换机主要包括网络接口模块、交换引擎模块和CPU模块;城域服务器主要包括网络接口模块、交换引擎模块和CPU模块构成。
2、视联网数据包定义
2.1接入网数据包定义
接入网的数据包主要包括以下几部分:目的地址(DA)、源地址(SA)、保留字节、payload(PDU)、CRC。
如下表所示,接入网的数据包主要包括以下几部分:
DA | SA | Reserved | Payload | CRC |
其中:
目的地址(DA)由8个字节(byte)组成,第一个字节表示数据包的类型(例如各种协议包、组播数据包、单播数据包等),最多有256种可能,第二字节到第六字节为城域网地址,第七、第八字节为接入网地址;
源地址(SA)也是由8个字节(byte)组成,定义与目的地址(DA)相同;
保留字节由2个字节组成;
payload部分根据不同的数据报的类型有不同的长度,如果是各种协议包的话是64个字节,如果是单组播数据包话是32+1024=1056个字节,当然并不仅仅限于以上2种;
CRC有4个字节组成,其计算方法遵循标准的以太网CRC算法。
2.2城域网数据包定义
城域网的拓扑是图型,两个设备之间可能有2种、甚至2种以上的连接,即节点交换机和节点服务器、节点交换机和节点交换机、节点交换机和节点服务器之间都可能超过2种连接。但是,城域网设备的城域网地址却是唯一的,为了精确描述城域网设备之间的连接关系,在本发明实施例中引入参数:标签,来唯一描述一个城域网设备。
本说明书中标签的定义和MPLS(Multi-Protocol Label Switch,多协议标签交换)的标签的定义类似,假设设备A和设备B之间有两个连接,那么数据包从设备A到设备B就有2个标签,数据包从设备B到设备A也有2个标签。标签分入标签、出标签,假设数据包进入设备A的标签(入标签)是0x0000,这个数据包离开设备A时的标签(出标签)可能就变成了0x0001。城域网的入网流程是集中控制下的入网过程,也就意味着城域网的地址分配、标签分配都是由城域服务器主导的,节点交换机、节点服务器都是被动的执行而已,这一点与MPLS的标签分配是不同的,MPLS的标签分配是交换机、服务器互相协商的结果。
如下表所示,城域网的数据包主要包括以下几部分:
DA | SA | Reserved | 标签 | Payload | CRC |
即目的地址(DA)、源地址(SA)、保留字节(Reserved)、标签、payload(PDU)、CRC。其中,标签的格式可以参考如下定义:标签是32bit,其中高16bit保留,只用低16bit,它的位置是在数据包的保留字节和payload之间。
基于视联网的上述特性,提出了本发明实施例的核心构思之一,遵循视联网的协议,视联网路由器在接收到接收发送设备(上一个视联网路由器)发送的数据后,根据预设转发机制,确定该数据的接收设备(下一个视联网路由器);接着,确定与接收设备对应的目标路径ID,按照预设的分解公式分解该目标路径ID,以获得虚拟终端ID和子设备号码;再根据获得的虚拟终端ID和子设备号码通过遍历数组的方式进一步获得目标隧道;最后,通过目标隧道将数据发送给接收设备。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上对本发明所提供的一种数据发送方法、装置、电子设备及存储介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (9)
1.一种数据发送方法,其特征在于,应用于视联网路由器,所述方法包括:
接收发送设备发送的数据;
根据预设转发机制,确定所述数据的接收设备;
从存储的多个路径ID中确定与所述接收设备对应的目标路径ID;所述路径ID由所述接收设备的设备信息生成,所述设备信息包括MAC地址和子设备号码;
根据所述目标路径ID获得虚拟终端ID和子设备号码;
根据所述虚拟终端ID和所述子设备号码从预设数组中获得目标隧道;
通过所述目标隧道将所述数据发送给所述接收设备;
根据所述目标路径ID获得虚拟终端ID和子设备号码,包括:
根据所述目标路径ID和预设阈值,按照第一预设分解公式对所述目标路径ID进行分解,获得所述虚拟终端ID;
根据所述目标路径ID和所述预设阈值,按照第二预设分解公式对所述目标路径ID进行分解,获得所述子设备号码。
2.根据权利要求1所述的方法,其特征在于,所述数据中携带所述发送设备添加的源路径ID;
在确定所述数据的接收设备之后,所述方法还包括:
从所述数据中获得所述源路径ID;
根据所述源路径ID获得源隧道;
通过与所述源隧道绑定的处理函数,对所述数据进行处理,获得处理后的数据;
根据预设转发机制,确定所述数据的接收设备,包括:
根据预设转发机制,和所述处理后的数据中记录的目标用户终端的目的地址,确定所述数据的接收设备;通过所述目标隧道将所述数据发送给所述接收设备,包括:
在所述接收设备为所述目标用户终端时,将所述处理后的数据发送给所述目标用户终端;
在所述接收设备为下一个视联网路由器时,通过所述目标隧道绑定的处理函数将所述处理后的数据封装为目标数据;
将所述目标数据发送给所述下一个视联网路由器。
3.根据权利要求1所述的方法,其特征在于,根据所述虚拟终端ID和所述子设备号码从预设数组中获得所述目标隧道,包括:
将所述虚拟终端ID作为数组下标以遍历虚拟终端数组,获得目标虚拟终端;
将所述子设备号码作为数组下标以遍历所述目标虚拟终端的隧道数组,获得所述目标隧道。
4.根据权利要求3所述的方法,其特征在于,将所述虚拟终端ID作为数组下标以遍历虚拟终端数组,获得目标虚拟终端,包括:
从所述虚拟终端数组中确定第一数组成员,所述第一数组成员的下标与所述虚拟终端ID相同;
在所述第一数组成员中记录的MAC地址,与所述目标虚拟终端的MAC地址相同时,将所述第一数组成员确定为所述目标虚拟终端;
将所述子设备号码作为数组下标以遍历所述目标虚拟终端的隧道数组,获得所述目标隧道,包括:
从所述目标虚拟终端的隧道数组中确定第二数组成员,所述第二数组成员的下标与所述子设备号码相同;
在所述第二数组成员中记录的路径ID,与所述目标路径ID相同时,将所述第二数组成员确定为所述目标隧道。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
获得与所述视联网路由器通信连接的至少一个其它视联网路由器的设备信息,所述设备信息至少包括MAC地址和子设备号码;
根据所述设备信息为所述至少一个其它视联网路由器创建虚拟终端数组;
针对所述虚拟终端数组中的每一个数组成员,创建隧道数组。
6.根据权利要求5所述的方法,其特征在于,根据所述设备信息为所述至少一个其它视联网路由器创建虚拟终端数组,包括:
创建初始化虚拟终端数组;
按照一个视联网路由器与一个数组成员对应的方式,根据所述至少一个视联网路由器的MAC地址,对所述初始化虚拟终端数组中的数组成员赋值;
根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的虚拟终端ID进行赋值,完成所述虚拟终端数组的创建;
针对所述虚拟终端数组中的每一个数组成员,创建隧道数组,包括:
为所述虚拟终端数组中的每一个数组成员创建初始化隧道数组;
根据每一个视联网路由器的虚拟终端ID和至少一个子设备号码,获得对应每一个视联网路由器的至少一个路径ID,所述路径ID为计算值与子设备号码的和值,所述计算值为所述虚拟终端ID与所述预设阈值的积值;
按照一个路径ID对应一个数组成员的方式,根据所述至少一个路径ID,对所述初始化隧道数组中的数组成员赋值;
根据所述数组成员的数组下标对所述数组成员所属的视联网路由器的子设备号码进行赋值,完成所述隧道数组的创建。
7.一种数据发送装置,其特征在于,应用于视联网路由器,所述装置包括:
接收模块,用于接收发送设备发送的数据;
第一确定模块,用于根据预设转发机制,确定所述数据的接收设备;
第二确定模块,用于从存储的多个路径ID中确定与所述接收设备对应的目标路径ID;所述路径ID由所述接收设备的设备信息生成,所述设备信息包括MAC地址和子设备号码;
第一获得模块,用于根据所述目标路径ID获得虚拟终端ID和子设备号码;
第二获得模块,用于根据所述虚拟终端ID和所述子设备号码从预设数组中获得目标隧道;
发送模块,用于通过所述目标隧道将所述数据发送给所述接收设备;
所述第一获得模块包括:
第三获得子模块,用于根据所述目标路径ID和预设阈值,按照第一预设分解公式对所述目标路径ID进行分解,获得所述虚拟终端ID;
第四获得子模块,用于根据所述目标路径ID和所述预设阈值,按照第二预设分解公式对所述目标路径ID进行分解,获得所述子设备号码。
8.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-6任一项所述的数据发送方法中的步骤。
9.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1-6任一项所述的数据发送方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010184007.9A CN111555980B (zh) | 2020-03-16 | 2020-03-16 | 一种数据发送方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010184007.9A CN111555980B (zh) | 2020-03-16 | 2020-03-16 | 一种数据发送方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111555980A CN111555980A (zh) | 2020-08-18 |
CN111555980B true CN111555980B (zh) | 2023-04-14 |
Family
ID=72007245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010184007.9A Active CN111555980B (zh) | 2020-03-16 | 2020-03-16 | 一种数据发送方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111555980B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1655556A (zh) * | 2005-03-18 | 2005-08-17 | 大连理工大学 | 一种基于动态聚合树模型的路由方法 |
CN1947381A (zh) * | 2004-05-27 | 2007-04-11 | 思科技术公司 | 标识反向路径转发信息 |
CN103152267A (zh) * | 2013-02-04 | 2013-06-12 | 华为技术有限公司 | 路由管理方法及路由方法及网络控制器及路由器 |
WO2018054228A1 (zh) * | 2016-09-23 | 2018-03-29 | 深圳创维数字技术有限公司 | 终端设备类型的识别方法及路由器 |
WO2019132314A1 (ko) * | 2017-12-26 | 2019-07-04 | 삼성전자 주식회사 | 무선 통신 시스템에서 네트워크 기능 가상화를 위한 장치 및 방법 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092939B (zh) * | 2013-01-09 | 2015-11-04 | 大唐移动通信设备有限公司 | 一种控制面隧道节点标识的管理方法和装置 |
US10097372B2 (en) * | 2014-01-09 | 2018-10-09 | Ciena Corporation | Method for resource optimized network virtualization overlay transport in virtualized data center environments |
US9363158B2 (en) * | 2014-02-05 | 2016-06-07 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Reduce size of IPV6 routing tables by using a bypass tunnel |
CN106850672B (zh) * | 2017-03-08 | 2019-09-03 | 迈普通信技术股份有限公司 | IPSec隧道的安全联盟查找方法及装置 |
CN110391961B (zh) * | 2018-04-18 | 2021-03-23 | 华为技术有限公司 | 一种隧道绑定方法、设备及系统 |
CN109889420B (zh) * | 2019-01-29 | 2021-07-30 | 视联动力信息技术股份有限公司 | 业务处理方法和装置 |
CN110545244A (zh) * | 2019-08-12 | 2019-12-06 | 视联动力信息技术股份有限公司 | 一种报文分发的方法及装置 |
CN110557319B (zh) * | 2019-08-28 | 2020-11-13 | 视联动力信息技术股份有限公司 | 一种基于视联网的报文处理方法及装置 |
-
2020
- 2020-03-16 CN CN202010184007.9A patent/CN111555980B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1947381A (zh) * | 2004-05-27 | 2007-04-11 | 思科技术公司 | 标识反向路径转发信息 |
CN1655556A (zh) * | 2005-03-18 | 2005-08-17 | 大连理工大学 | 一种基于动态聚合树模型的路由方法 |
CN103152267A (zh) * | 2013-02-04 | 2013-06-12 | 华为技术有限公司 | 路由管理方法及路由方法及网络控制器及路由器 |
WO2018054228A1 (zh) * | 2016-09-23 | 2018-03-29 | 深圳创维数字技术有限公司 | 终端设备类型的识别方法及路由器 |
WO2019132314A1 (ko) * | 2017-12-26 | 2019-07-04 | 삼성전자 주식회사 | 무선 통신 시스템에서 네트워크 기능 가상화를 위한 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
CN111555980A (zh) | 2020-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109889420B (zh) | 业务处理方法和装置 | |
CN109818960B (zh) | 数据处理方法和装置 | |
CN109787873B (zh) | 一种多对多入网通信的方法和装置 | |
CN110557319B (zh) | 一种基于视联网的报文处理方法及装置 | |
CN111669337A (zh) | 一种流量控制的方法和装置 | |
CN110545244A (zh) | 一种报文分发的方法及装置 | |
CN111555975B (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
CN111478791B (zh) | 一种数据管理方法和装置 | |
CN111211982B (zh) | 数据转发方法及装置、电子设备、存储介质 | |
CN110493149B (zh) | 一种报文处理的方法和装置 | |
CN110266577B (zh) | 一种隧道建立方法和视联网系统 | |
CN110740087B (zh) | 报文传输方法、终端、网关设备、电子设备及存储介质 | |
CN110730500B (zh) | 一种终端入网方法、服务器、终端、电子设备及存储介质 | |
CN110336710B (zh) | 一种终端的测试方法、系统及装置和存储介质 | |
CN109862439B (zh) | 数据处理方法和装置 | |
CN109889516B (zh) | 一种会话通道的建立方法及装置 | |
CN113162910B (zh) | 一种资源传输方法、装置、电子设备及存储介质 | |
CN111555980B (zh) | 一种数据发送方法、装置、电子设备及存储介质 | |
CN110808896B (zh) | 数据传输方法、装置、电子设备及存储介质 | |
CN111614536A (zh) | 一种数据转发的方法及装置 | |
CN111614921A (zh) | 一种通信方法及装置 | |
CN110784677A (zh) | 一种监控资源的浏览方法、装置及存储介质 | |
CN110769324A (zh) | 一种虚拟终端的处理方法和装置 | |
CN111193671B (zh) | 报文处理方法、装置及可读存储介质 | |
CN110557657A (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 |