数据包分发方法和系统的制作方法

xiaoxiao2021-2-23  113

数据包分发方法和系统的制作方法
【技术领域】
[0001 ]本发明涉及通信技术领域,尤其涉及一种数据包分发方法和系统。
【背景技术】
[0002]现有的网管、路由等,包括通讯协议在内,在发送数据包的时候仅进行地址、端口、数据校验等判断,对所有网络状态下的用户采取相同的处理方法,发送端对端的数据包。
[0003]在请求数据的用户很多的情况下,采用这种端对端的发送方式存在明显的缺点。具体而言,在从同一个端口向多个用户发送数据的情况下,会导致服务器资源紧缺;在采用不同的链路向多个用户发送数据的情况下,可能导致丢包情况不一致、时间上不一致、数据重叠、资源浪费、用户体验不一致等各种问题。

【发明内容】

[0004]技术问题
[0005]有鉴于此,本发明要解决的技术问题是,在向多个用户分发数据包时,如何减少对信道带宽的占用,并提高用户体验。
[0006]解决方案
[0007]为了解决上述技术问题,根据本发明的一实施例,提供了一种数据包分发方法,包括:
[0008]服务器设备将多个用户终端的各数据获取请求进行分组,其中将一段时间内收到的请求获取的内容相同且归属于同一区域范围的用户终端的数据获取请求分为至少一组;
[0009]根据同一组内的各所述用户终端请求获取的内容,以及各所述用户终端的地址信息和/或路由信息,生成多路传输数据包;
[0010]将所述多路传输数据包通过路由设备分发给对应组内的各所述用户终端。
[0011]对于上述方法,在一种可能的实现方式中,将所述多路传输数据包通过路由设备分发给对应组内的各所述用户终端,包括:
[0012]所述路由设备根据所述多路传输数据包中解析获得一组内各所述用户终端的地址信息和/或路由信息,并根据解析得到的地址信息和/或路由信息对各所述用户终端请求获取的内容进行数据复制、重新封包和分发。
[0013]对于上述方法,在一种可能的实现方式中,所述路由设备根据所述多路传输数据包中解析获得所述一组内各所述用户终端的地址信息和/或路由信息,包括:
[0014]所述路由设备对所述多路传输数据包的包头信息和/或协议层信息进行解析,获得所述一组内各所述用户终端的地址信息和/或路由信息。
[0015]对于上述方法,在一种可能的实现方式中,所述路由设备根据解析得到的地址信息和/或路由信息对各所述用户终端请求获取的内容进行复制和分发,包括在每一级路由设备中执行以下步骤:
[0016]所述路由设备在自身保存的路由表中,对解析得到的地址信息和/或路由信息进行划分,按照划分得到的子组的数目对各所述用户终端请求获取的内容进行数据复制和重新封包,将重新封包后得到的子组数据包发送至对应的用户终端和/或下一级路由设备。
[0017]对于上述方法,在一种可能的实现方式中,所述数据获取请求为多媒体播放请求,所述多路传输数据包为多媒体资源数据包,所述请求获取的内容为多媒体资源内容。
[0018]为了解决上述技术问题,根据本发明的另一实施例,提供了一种数据包分发系统,包括:
[0019]服务器设备,用于将多个用户终端的各数据获取请求进行分组,其中将一段时间内收到的请求获取的内容相同且归属于同一区域范围的用户终端的数据获取请求分为至少一组;根据同一组内的各所述用户终端请求获取的内容,以及各所述用户终端的地址信息和/或路由信息,生成并发送多路传输数据包;
[0020]路由设备,与所述服务器设备相通信,用于从所述服务器设备接收所述多路传输数据包,并将所述多路传输数据包分发给对应组内的各所述用户终端。
[0021]对于上述装置,在一种可能的实现方式中,所述路由设备包括:
[0022]解析模块,用于根据所述多路传输数据包中解析获得所述一组内各所述用户终端的地址信息和/或路由信息;
[0023]复制模块,与所述解析模块连接,用于对各所述用户终端请求获取的内容进行复制;
[0024]分发模块,与所述复制模块连接,用于对复制后的各所述用户终端请求获取的内容进行分发。
[0025]对于上述装置,在一种可能的实现方式中,所述解析模块还用于对所述多路传输数据包的包头信息和/或协议层信息进行解析,获得一组内各所述用户终端的地址信息和/或路由信息。
[0026]对于上述装置,在一种可能的实现方式中,所述复制模块还用于在自身保存的路由表中,对解析得到的地址信息和/或路由信息进行划分,按照划分得到的子组的数目对各所述用户终端请求获取的内容进行数据复制和重新封包;所述分发模块还用于将重新封包后得到的子组数据包发送至对应的用户终端和/或下一级路由设备。
[0027]对于上述装置,在一种可能的实现方式中,所述数据获取请求为多媒体播放请求,所述多路传输数据包为多媒体资源数据包,所述请求获取的内容为多媒体资源内容,所述服务器设备包括:
[0028]接收模块,用于接收多个用户终端发送的各多媒体播放请求;
[0029]分组模块,用于将将一段时间内收到的请求获取的多媒体资源内容相同且归属于同一区域范围的用户终端的多媒体播放请求分为至少一组;
[0030]发送模块,用于根据同一组内的各所述用户终端请求获取的多媒体资源内容,以及各所述用户终端的地址信息和/或路由信息,生成并发送多媒体资源数据包。
[0031]有益效果
[0032]本实施例的数据包分发方法,对传统网络传输进行了改进,将数据包按照相似类型进行分组,并将同一组内的各用户终端请求获取的内容、地址信息等,打包为一个多路传输数据包,无需对为每个用户终端生成一个数据包,可以减少对网络信道带宽的占用,减少带宽浪费,保证类似用户体验尽量统一完整以提升用户体验,降低服务端运维成本,从根本上解决现有网络传输中的不足。
[0033]根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
【附图说明】
[0034]包含在说明书中并且构成说明书的一部分的附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
[0035]图1示出根据本发明一实施例的数据包分发方法的流程图;
[0036]图2示出根据本发明另一实施例的数据包分发方法的流程图;
[0037]图3示出根据本发明另一实施例的数据包分发方法中解析过程的流程图;
[0038]图4示出根据本发明一实施例的数据包分发系统的结构框图;
[0039]图5示出根据本发明一实施例的数据包分发系统中路由设备的结构框图;
[0040]图6示出根据本发明一实施例的数据包分发系统中服务器设备的结构框图。
【具体实施方式】
[0041]以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
[0042]在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
[0043]另外,为了更好的说明本发明,在下文的【具体实施方式】中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本发明同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
[0044]实施例1
[0045]图1示出根据本发明一实施例的数据包分发方法的流程图。如图1所示,该数据包分发方法主要可以包括:
[0046]步骤101、服务器设备将多个用户终端的各数据获取请求进行分组,其中将一段时间内收到的请求获取的内容相同且归属于同一区域范围的用户终端的数据获取请求分为至少一组。其中,可以预先设定区域范围,每个区域范围可以按照网络连接方式、行政区域划分、子网等方式进行确定。例如:同一个子网的节点属于同一区域范围。此外,如果在一段时间内收到的请求获取的内容相同且归属于同一区域范围的用 户终端的数据获取请求数目过多,可以将这些请求分为多组。本实施例的分组也可以称为分类,同一组也可以认为是同一类别。
[0047]步骤102、根据同一组内的各所述用户终端请求获取的内容,以及各所述用户终端的地址信息和/或路由信息,生成多路传输数据包。
[0048]步骤103、将所述多路传输数据包通过路由设备分发给对应组内的各所述用户终端。
[0049]在一种可能的实现方式中,在步骤103中,服务器设备将所述多路传输数据包发送给路由设备,由路由设备根据所述多路传输数据包中解析获得某一组内各所述用户终端的地址信息和/或路由信息,并根据解析得到的地址信息和/或路由信息对将各所述用户终端请求获取的内容进行数据复制、重新封包和分发。具体而言,每一级路由设备可以对所述多路传输数据包的包头信息和/或协议层信息进行解析,获得该一组内各所述用户终端的地址信息和/或路由信息。
[0050]其中,路由端可能包括多级路由设备,在每一级路由设备中,具可以执行以下步骤,一级一级地将用户终端请求获取的内容进行分发:路由设备在自身保存的路由表中,对解析得到的地址信息和/或路由信息进行划分,按照划分得到的子组的数目对各所述用户终端请求获取的内容进行复制和重新封包,将重新封包后得到的子组数据包发送至对应的用户终端和/或下一级路由设备。
[0051]举例而言,主路由器接收到服务器发送的多路传输数据包后,解析出100个目的地址和目的端口号,其中有20个IP地址属于子网A,30个IP属于子网B,40个IP属于子网C,10个IP地址属于子网D。主路由器可以将从这个多路传输数据包中解析得到的用户终端请求获取的内容复制3份,并将原始的内容和复制的内容以及属于各个子网的IP地址分别打包成4个子组数据包。然后,将这些子组数据包分别发送给子网A、B、C、D所包括的子路由器或终端。
[0052]本发明实施例的数据包分发方法主要包括两个处理端,服务端和路由端。
[0053]其中,服务端主要可以包括各种发布网络访问服务的服务器,对协议进行包装和修改,对接收到的相同请求包(即数据获取请求)进行分析、归类,对相似类型的请求端进行单独处理(例如将请求获取的内容相同且归属于同一区域范围的用户终端的数据获取请求分为至少一组),统一发送经过处理的数据包(即多路传输数据包),该数据包可以只发送一份,该数据包内可以包含各个用户终端请求的信息和反馈数据。
[0054]在路由端,路由层(例如主路由器)接到收到上述数据包后,对包协议进行解析。如果发现满足分发协议的数据包后,再进一步解析协议包头,分析出目的地址、源地址、目的端口号、源端口号等校验字符。然后,将含有不同类别的数据进行单独拆包,对分类网络下的目的计算机网络进行包复制,同时可以增加部分协议层(或包头),将数据(即用户终端请求获取的内容)重新封包后发送给不同的子路由或是终端,从而完成分发协议。对终端来说,不会影响到体验,不需要单独处理。
[0055]本实施例的数据包分发方法,对传统网络传输进行了改进,将数据包按照相似类型进行分组,并将同一组内的各用户终端请求获取的内容、地址信息等,打包为一个多路传输数据包,无需对为每个用户终端生成一个数据包,可以减少对网络信道带宽的占用,减少带宽浪费,保证类似用户体验尽量统一完整以提升用户体验,降低服务端运维成本,从根本上解决现有网络传输中的不足。广泛采用本实施例的数据包分发方法,可以大幅提升带宽体验,降低成本,推动网络快速有序的发展。本发明实施例的数据包分发方法具有技术可选性,支持协议自动选择。例如,该协议在路由端可以自由开关,根据用户需求可以选择是支持信道简化协议(分发协议),还是单独使用独立的信道收发数据内容。
[0056]实施例2
[0057]图2示出根据本发明另一实施例的数据包分发方法的流程图。在本实施例中,以多媒体播放业务为例,对该数据包分发方法进行说明。其中,在实施例的基础上,在多媒体播放业务中,所述数据获取请求为多媒体播放请求,所述多路传输数据包为多媒体资源数据包,所述请求获取的内容为多媒体资源内容。
[0058]数据包分发方法具体可以为多媒体资源分发方法,该多媒体资源分发方法可以包括:
[0059]步骤201、服务器设备通过网络接收多个用户终端发送的各多媒体播放请求,例如:视频点播请求、音频点播请求等。
[0060]步骤202、服务器设备根据各多媒体播放请求,获取各用户终端的地址信息和/或路由信息,以及各用户终端请求播放的多媒体资源内容。
[0061]步骤203、服务器设备根据各用户终端地址信息和/或路由信息,确定各用户终端所归属的区域范围。
[0062]步骤204、服务器设备将归属于相同的区域范围内且请求播放相同的多媒体资源内容的各多媒体点播请求划分为同一组。例如,将请求播放同一个视频并且位于北京的用户的视频点播请求划分为一个组。
[0063]步骤205、将同一组内请求播放的多媒体资源内容,以及该组内的各用户终端的地址信息和/或路由信息,打包生成至少一个对应的多媒体资源数据包。
[0064]其中,服务器设备可以收集一段时间例如:500毫秒的多个多媒体播放请求,按照请求端的地址和请求的内容进行分组、分类以及打包处理。对于打包生成的一个多媒体资源数据包,从服务器到路由器只需发送一次,可以大幅减少对网络信道带宽资源的占用。
[0065]如图3所示,在步骤205之后,在路由端对收到的多媒体资源数据包进行解析的过程可以包括:
[0066]步骤301、路由设备从服务器设备接收多媒体资源数据包,所述多媒体资源数据包中包括待分发的多媒体资源内容。
[0067]步骤302、路由设备根据接收到的多媒体资源数据包,解析得到请求相同的多媒体资源内容的统一区域范围内的多个用户终端的一组地址信息和/或路由信息。
[0068]步骤303、路由设备对该多媒体资源内容进行复制,并根据所述一组地址信息和/或路由信息,向对应的各用户终端分发所述多媒体资源内容。
[0069]具体而言,在多媒体资源数据包的包头或协议层字段可以写入地址信息和路由信息,解析包头或协议层字段可以得到目的地址、目的端口号、源地址、源端口号等信息。路由设备根据解析得到的目的地址、目的端口号可以在自身保存的路由表中查找目的设备。
[0070]其中,主路由器根据目的地址、目的端口号可以确定需要下发的目的设备是用户终端还是子路由器。如果目的地址、目的端口号是该用户终端的IP地址和端口号,则目的设备是发起请求的用户终端。如果目的地址、目的端口号是路由器的IP地址和端口号,则目的设备是下一级的子路由器,子路由器可以有多级。
[0071]由于每一级路由器均可能从多媒体资源数据包解析得到多个用户终端和/或路由器的目的地址和目的端口号,因此,在分发的时候,需要将解析得到的这一组对应的用户终端请求获取的多媒体资源内容复制多份,分别下发。并且,根据解析出的目的地址和目的端口号还可以进行划分,确定分为多少个子组,从而确定需要复制多少份多媒体资源内容。并将各多媒体资源内容与每个子组的目的地址和目的端口号等地址信息进行重新封包,然后分别下发给该子组对应的路由器或用户设备。下发时,除了重新封装的子组数据包中,除了可以包括用户终端请求获取的多媒体资源内容之外,还可以同时发送源地址、源端口号等信息。这样,收到多媒体资源内容的用户终端也可以知道具体的发送源。
[0072]本实施例的多媒体资源分发方法,将多媒体播放请求按照相似类型进行分组,并将同一组内的请求获取的多媒体资源内容、地址信息等,打包为一个多路传输数据包,无需对为每个用户终端生成一个数据包,可以减少对网络信道带宽的占用,减少带宽浪费,保证类似用户体验尽量统一完整以提升用户体验,降低服务端运维成本,从根本上解决现有网络传输中的不足。
[0073]实施例3
[0074]图4示出根据本发明一实施例的数据包分发系统的结构框图。如图4所示,该数据包分发系统主要可以包括:
[0075]服务器设备41,用于将多个用户终端45的各数据获取请求进行分组,其中将一段时间内收到的请求获取的内容相同且 归属于同一区域范围的用户终端45的数据获取请求分为至少一组;根据同一组内的各所述用户终端45请求获取的内容,以及各所述用户终端45的地址信息和/或路由信息,生成并发送多路传输数据包;
[0076]路由设备43,与所述服务器设备41相通信,用于从所述服务器设备41接收所述多路传输数据包,并将所述多路传输数据包分发给对应组内的各所述用户终端45。
[0077]如图5所示,在一种可能的实现方式中,路由设备43包括:
[0078]解析模块431,用于根据所述多路传输数据包中解析获得所述一组内各所述用户终端45的地址信息和/或路由信息;
[0079]复制模块433,与所述解析模块431连接,用于对各所述用户终端45请求获取的内容进行复制;
[0080]分发模块435,与所述复制模块433连接,用于对复制后的各所述用户终端45请求获取的内容进行分发。
[0081]在一种可能的实现方式中,解析模块431还用于对所述多路传输数据包的包头信息和/或协议层信息进行解析,获得一组内各所述用户终端45的地址信息和/或路由信息。
[0082]在一种可能的实现方式中,所述复制模块433还用于在自身保存的路由表中,对解析得到的地址信息和/或路由信息进行划分,按照划分得到的子组的数目对各所述用户终端45请求获取的内容进行数据复制和重新封包;
[0083]所述分发模块435还用于将重新封包后得到的子组数据包发送至对应的用户终端45和/或下一级路由设备43。
[0084]如图6所示,在一种可能的实现方式中,所述数据获取请求为多媒体播放请求,所述多路传输数据包为多媒体资源数据包,所述请求获取的内容为多媒体资源内容,所述服务器设备41包括:
[0085]接收模块411,用于接收多个用户终端45发送的各多媒体播放请求;
[0086]分组模块413,用于将将一段时间内收到的请求获取的多媒体资源内容相同且归属于同一区域范围的用户终端45的多媒体播放请求分为至少一组;
[0087]发送模块415,用于根据同一组内的各所述用户终端45请求获取的多媒体资源内容,以及各所述用户终端45的地址信息和/或路由信息,生成并发送多媒体资源数据包。
[0088]本实施例的数据包分发系统中的服务器设备和路由设备可以执行上述实施例1和2中的方法,具体可以参见上述实施例的相关描述。具体而言,在服务器端将数据包按照相似类型进行分组,并将同一组内的各用户终端请求获取的内容、地址信息等,打包为一个多路传输数据包,在路由端通过复制、重新封包等处理进行分发。因此,本发明无需对为每个用户终端生成一个数据包,可以减少对网络信道带宽的占用,减少带宽浪费,保证类似用户体验尽量统一完整以提升用户体验,降低服务端运维成本,从根本上解决现有网络传输中的不足。广泛采用本实施例的数据包分发方法,可以大幅提升带宽体验,降低成本,推动网络快速有序的发展。
[0089]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
【主权项】
1.一种数据包分发方法,其特征在于,包括: 服务器设备将多个用户终端的各数据获取请求进行分组,其中将一段时间内收到的请求获取的内容相同且归属于同一区域范围的用户终端的数据获取请求分为至少一组; 根据同一组内的各所述用户终端请求获取的内容,以及各所述用户终端的地址信息和/或路由信息,生成多路传输数据包; 将所述多路传输数据包通过路由设备分发给对应组内的各所述用户终端。2.根据权利要求1所述的方法,其特征在于,将所述多路传输数据包通过路由设备分发给对应组内的各所述用户终端,包括: 所述路由设备根据所述多路传输数据包中解析获得一组内各所述用户终端的地址信息和/或路由信息,并根据解析得到的地址信息和/或路由信息对各所述用户终端请求获取的内容进行数据复制、重新封包和分发。3.根据权利要求2所述的方法,其特征在于,所述路由设备根据所述多路传输数据包中解析获得所述一组内各所述用户终端的地址信息和/或路由信息,包括: 所述路由设备对所述多路传输数据包的包头信息和/或协议层信息进行解析,获得所述一组内各所述用户终端的地址信息和/或路由信息。4.根据权利要求2或3所述的方法,其特征在于,所述路由设备根据解析得到的地址信息和/或路由信息对各所述用户终端请求获取的内容进行复制和分发,包括在每一级路由设备中执行以下步骤: 所述路由设备在自身保存的路由表中,对解析得到的地址信息和/或路由信息进行划分,按照划分得到的子组的数目对各所述用户终端请求获取的内容进行数据复制和重新封包,将重新封包后得到的子组数据包发送至对应的用户终端和/或下一级路由设备。5.根据权利要求1至4中任一项所述的方法,其特征在于,所述数据获取请求为多媒体播放请求,所述多路传输数据包为多媒体资源数据包,所述请求获取的内容为多媒体资源内容。6.一种数据包分发系统,其特征在于,包括: 服务器设备,用于将多个用户终端的各数据获取请求进行分组,其中将一段时间内收到的请求获取的内容相同且归属于同一区域范围的用户终端的数据获取请求分为至少一组;根据同一组内的各所述用户终端请求获取的内容,以及各所述用户终端的地址信息和/或路由信息,生成并发送多路传输数据包; 路由设备,与所述服务器设备相通信,用于从所述服务器设备接收所述多路传输数据包,并将所述多路传输数据包分发给对应组内的各所述用户终端。7.根据权利要求6所述的系统,其特征在于,所述路由设备包括: 解析模块,用于根据所述多路传输数据包中解析获得所述一组内各所述用户终端的地址信息和/或路由信息; 复制模块,与所述解析模块连接,用于对各所述用户终端请求获取的内容进行复制; 分发模块,与所述复制模块连接,用于对复制后的各所述用户终端请求获取的内容进行分发。8.根据权利要求7所述的系统,其特征在于,解析模块还用于对所述多路传输数据包的包头信息和/或协议层信息进行解析,获得一组内各所述用户终端的地址信息和/或路由信息。9.根据权利要求7或8所述的系统,其特征在于,所述复制模块还用于在自身保存的路由表中,对解析得到的地址信息和/或路由信息进行划分,按照划分得到的子组的数目对各所述用户终端请求获取的内容进行数据复制和重新封包; 所述分发模块还用于将重新封包后得到的子组数据包发送至对应的用户终端和/或下一级路由设备。10.根据权利要求6至9中任一项所述的系统,其特征在于,所述数据获取请求为多媒体播放请求,所述多路传输数据包为多媒体资源数据包,所述请求获取的内容为多媒体资源内容,所述服务器设备包括: 接收模块,用于接收多个用户终端发送的各多媒体播放请求; 分组模块,用于将将一段时间内收到的请求获取的多媒体资源内容相同且归属于同一区域范围的用户终端的多媒体播放请求分为至少一组; 发送模块,用于根据同一组内的各所述用户终端请求获取的多媒体资源内容,以及各所述用户终端的地址信息和/或路由信息,生成并发送多媒体资源数据包。
【专利摘要】本发明涉及一种数据包分发方法和系统,其中该方法包括:服务器设备将多个用户终端的各数据获取请求进行分组,其中将一段时间内收到的请求获取的内容相同且归属于同一区域范围的用户终端的数据获取请求分为至少一组;根据同一组内的各所述用户终端请求获取的内容,以及各所述用户终端的地址信息和/或路由信息,生成多路传输数据包;将所述多路传输数据包通过路由设备分发给对应组内的各所述用户终端。本发明可以减少对网络信道带宽的占用,减少带宽浪费,保证类似用户体验尽量统一完整以提升用户体验,降低服务端运维成本。
【IPC分类】H04L12/18, H04L29/08, H04L12/761
【公开号】CN105490948
【申请号】CN201511004473
【发明人】王涛, 丁伟, 柯金杰, 韦杰, 顾思斌, 潘柏宇, 王冀
【申请人】传线网络科技(上海)有限公司
【公开日】2016年4月13日
【申请日】2015年12月28日

最新回复(0)