一种虚拟路由器中的数据分发方法及虚拟路由器技术

技术编号:22310803 阅读:43 留言:0更新日期:2019-10-16 10:36
本发明专利技术公开了一种虚拟路由器中的数据分发方法及虚拟路由器,其中,所述虚拟路由器中包括多个网络隔离空间,每个所述网络隔离空间为不同种类的数据流分别设置优先级;所述方法包括:接收所述多个网络隔离空间中的目标网络隔离空间的数据报文,并识别所述数据报文在所述目标网络隔离空间内的目标优先级;基于所述数据报文的长度和所述目标优先级,计算所述数据报文对应的分发序列号;根据计算得到的所述分发序列号确定所述数据报文的分发顺序,并按照所述分发顺序分发所述数据报文。本申请提供的技术方案,能够提高数据分发的效率。

【技术实现步骤摘要】
一种虚拟路由器中的数据分发方法及虚拟路由器
本专利技术涉及互联网
,特别涉及一种虚拟路由器中的数据分发方法及虚拟路由器。
技术介绍
随着互联网技术的不断发展,网络中需要处理的数据也在与日俱增。为了提高网络资源的利用率,以及让网络资源具备灵活的可扩展性和可管理性,可以通过虚拟化的技术,在一台虚拟路由器(vrouter)中部署多个相互隔离的网络隔离空间。每个网络隔离空间均可以实现IP地址管理、路由管理、地址转换、流量控制等功能。目前,由于虚拟路由器的整体网络带宽有限,因此分配给每个网络隔离空间的带宽也是有限的。网络隔离空间在同一个时间段内,会接收到不同种类的数据流,这些数据流在共用同一份有限的带宽时,可能会存在互相争抢带宽的情况,这样会影响虚拟路由器分发数据流的效率。
技术实现思路
本申请的目的在于提供一种虚拟路由器中的数据分发方法及虚拟路由器,能够提高数据分发的效率。为实现上述目的,本申请一方面提供一种虚拟路由器中的数据分发方法,所述虚拟路由器中包括多个网络隔离空间,每个所述网络隔离空间为不同种类的数据流分别设置优先级;所述方法包括:接收所述多个网络隔离空间中的目标网络隔离空间的数据报文,并识别所述数据报文在所述目标网络隔离空间内的目标优先级;基于所述数据报文的长度和所述目标优先级,计算所述数据报文对应的分发序列号;根据计算得到的所述分发序列号确定所述数据报文的分发顺序,并按照所述分发顺序分发所述数据报文。为实现上述目的,本申请另一方面还提供一种虚拟路由器,所述虚拟路由器中包括多个网络隔离空间,每个所述网络隔离空间为不同种类的数据流分别设置优先级;所述虚拟路由器包括:优先级识别单元,用于接收所述多个网络隔离空间中的目标网络隔离空间的数据报文,并识别所述数据报文在所述目标网络隔离空间内的目标优先级;分发序列号计算单元,用于基于所述数据报文的长度和所述目标优先级,计算所述数据报文对应的分发序列号;数据分发单元,用于根据计算得到的所述分发序列号确定所述数据报文的分发顺序,并按照所述分发顺序分发所述数据报文。由上可见,本申请提供的技术方案,在虚拟路由器的各个网络隔离空间内,可以预先为不同种类的数据流分别设置优先级,该优先级可以用于确定不同的数据流在分发过程中的分发顺序。具体地,当虚拟路由器中的目标网络隔离空间接收到数据报文时,可以先识别该数据报文在目标网络隔离空间内的目标优先级。然后,通过上述数据报文的长度和目标优先级,可以计算出该数据报文对应的分发序列号。后续,根据计算得到的该分发序列号,可以确定该数据报文在目标网络隔离空间内的分发顺序,并可以按照该分发顺序分发该数据报文。这样,通过本申请的技术方案,可以确定网络隔离空间内不同数据流的数据报文的分发顺序,使得不同数据流的数据报文能够有序分发,避免不同的数据流互相争抢有限的带宽,从而可以提高数据分发的效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施方式中数据分发的方法示意图;图2是本专利技术实施方式中数据队列的示意图;图3是本专利技术实施方式中虚拟路由器所在的系统示意图;图4是本专利技术实施方式中虚拟路由器的功能模块示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。本申请提供一种虚拟路由器中的数据分发方法,在所述虚拟路由器中,可以包括多个网络隔离空间。这些网络隔离空间可以基于用户态协议栈进行划分,这样,在虚拟路由器的同一个进程下,可以创建和管理这些网络隔离空间。在本申请中,在创建各个网络隔离空间之后,可以在每个网络隔离空间内,为不同种类的数据流分别设置优先级(precedence)。在实际应用中,所述优先级可以通过数值来表示,数值越大,可以表示优先级越高。所述数值例如可以是从0开始的自然数。所述不同种类的数据流,可以根据实际情况进行划分。例如,可以划分为实时语音数据流、视频流量数据流、P2P流量数据流等。需要说明的是,同一种类的数据流,在不同的网络隔离空间内可能会具备不同的优先级。例如,对于网络隔离空间A而言,实时语音数据流的优先级可以是4,而在网络隔离空间B内,实时语音数据流的优先级可以是0。请参阅图1,本申请一个实施方式提供的虚拟路由器中的数据分发方法,可以包括以下步骤。S1:接收所述多个网络隔离空间中的目标网络隔离空间的数据报文,并识别所述数据报文在所述目标网络隔离空间内的目标优先级。在本实施方式中,虚拟路由器可以接收各个网络隔离空间对应的数据报文。对于各个网络隔离空间中的任一目标网络隔离空间,在接收到该目标网络隔离空间的数据报文后,虚拟路由器可以识别该数据报文在所述目标网络隔离空间内的目标优先级。在一个实施方式中,所述虚拟路由器可以识别所述数据报文所属的目标数据流,并将所述目标数据流在所述目标网络隔离空间内设置的优先级作为所述数据报文的目标优先级。具体地,所述数据报文所属的目标数据流,可以通过该数据报文携带的四元组信息。其中,所述四元组信息可以包括数据报文的源IP地址、目的IP地址、源端口、目的端口。在实际应用中,同一种数据流中的数据报文,通常可以具备相同的四元组信息,因此,虚拟路由器通过识别所述数据报文中的四元组信息,可以将所述数据报文归属于识别出的所述四元组信息对应的目标数据流。在确定出所述数据报文所属的目标数据流之后,便可以读取该目标数据流在所述目标网络隔离空间中预先设置的优先级,并将读取的优先级作为所述数据报文的目标优先级。此外,在确定数据报文的优先级时,还可以根据已有流量特征识别库,判断所述数据报文的报文类型,并且可以标识所述数据报文的报文类型标签。然后,可以将所述报文类型标签作为报文优先级,并将所述报文优先级维护在虚拟路由器的优先级列表中。需要说明的是,上述识别出的该数据报文的目标优先级,是针对目标网络隔离空间而言的。对于具备相同内容的数据报文而言,如果该数据报文属于另一个网络隔离空间,那么该数据报文对应的优先级可能与上述的目标优先级不同。因此,在实际应用中,首先需要识别出数据报文对应的网络隔离空间,然后再确定出该数据报文针对识别出的网络隔离空间,具备何种优先级。S3:基于所述数据报文的长度和所述目标优先级,计算所述数据报文对应的分发序列号。在本实施方式中,针对所述目标网络隔离空间而言,可以具备多个数据队列,这些数据队列可以与不同种类的数据流一一对应,每个数据队列可以存放同一种数据流的数据报文。具体地,请参阅图2,假设目标网络隔离空间内共有两种数据流,那么在目标网络隔离空间内可以具备两个数据队列。这两个数据队列可以按照接收到的数据报文的顺序,依次存放不同数据流的数据报文。例如在图2中,数据队列1和数据队列2在一个时段内,分别接收到2个和3个数据报文,那么这个时段内共有5个数据报文待分发。在本实施方式中,按照步骤S1的描述,可以分别确定出每个数据报文的目标优先级,当然,对于图2中的数据报文11和数据报文12而言,可以具备相同的优先级。同理,对于图2中的数据报文21、数据本文档来自技高网...

【技术保护点】
1.一种虚拟路由器中的数据分发方法,其特征在于,所述虚拟路由器中包括多个网络隔离空间,每个所述网络隔离空间为不同种类的数据流分别设置优先级;所述方法包括:接收所述多个网络隔离空间中的目标网络隔离空间的数据报文,并识别所述数据报文在所述目标网络隔离空间内的目标优先级;基于所述数据报文的长度和所述目标优先级,计算所述数据报文对应的分发序列号;根据计算得到的所述分发序列号确定所述数据报文的分发顺序,并按照所述分发顺序分发所述数据报文。

【技术特征摘要】
1.一种虚拟路由器中的数据分发方法,其特征在于,所述虚拟路由器中包括多个网络隔离空间,每个所述网络隔离空间为不同种类的数据流分别设置优先级;所述方法包括:接收所述多个网络隔离空间中的目标网络隔离空间的数据报文,并识别所述数据报文在所述目标网络隔离空间内的目标优先级;基于所述数据报文的长度和所述目标优先级,计算所述数据报文对应的分发序列号;根据计算得到的所述分发序列号确定所述数据报文的分发顺序,并按照所述分发顺序分发所述数据报文。2.根据权利要求1所述的方法,其特征在于,识别所述数据报文在所述目标网络隔离空间内的目标优先级包括:识别所述数据报文所属的目标数据流,并将所述目标数据流在所述目标网络隔离空间内设置的优先级作为所述数据报文的目标优先级;或者根据已有流量特征识别库,判断所述数据报文的报文类型并且标识所述数据报文的报文类型标签,将所述报文类型标签作为报文优先级,并将所述报文优先级维护在虚拟路由器的优先级列表中。3.根据权利要求2所述的方法,其特征在于,同一种数据流中的数据报文具备相同的四元组信息;相应地,识别所述数据报文所属的目标数据流包括:识别所述数据报文中的四元组信息,并将所述数据报文归属于识别出的所述四元组信息对应的目标数据流。4.根据权利要求1所述的方法,其特征在于,计算所述数据报文对应的分发序列号包括:确定所述数据报文的前置分发序列号,并根据所述数据报文的长度和所述目标优先级,计算所述数据报文当前的数据序列值;将所述前置分发序列号和所述数据序列值的和,作为所述数据报文对应的分发序列号。5.根据权利要求4所述的方法,其特征在于,确定所述数据报文的前置分发序列号包括:识别所述目标数据流在所述目标网络隔离空间内对应的目标队列,并在所述目标队列中确定位于所述数据报文之前并前置于所述数据报文的另一个数据报文的分发序列号;将所述另一个数据报文的分发序列号作为所述数据报文的前置分发序列号。6.根据权利要求1所述的方法,其特征在于,根据计算得到的所述分发序列号确定所述数据报文的分发顺序包括:统计所述目标网络隔离空间内当前待分发的各个数据报文的分发序列号;将统计得到的分发序列号按照从小到大的顺序进行排列,并将排序结果作为各个所述数据报文的分发顺序;相应地,按照所述分发序列号从小到大的顺序,依次分发各个所述数据报文;其中,若所述目标网络隔离空间中包括多个队列,统计所述多个队列中待分发的各个数据报文的分发序列号,并根据统计的分发序列号,对所述多个队列中待分发的各个数据报文按序分发。7.根据权利要求1所述的方法,其特征在于,每个所述网络隔离空间具备各自的资源限制,所述资源限制包括最大连接数限制、最大带宽限制、每秒数据包处理个数限制、每秒请求数限制中的至少一种。8.根据权利要求7所述的方法,其特征在于,每个所述网络隔离空间具备的资源限制按照以下方式载入:在所述虚拟路由器启动时,读取并解析各个所述网络隔离空间的配置文件,所述配置文件中记录有各个所述网络隔离空间具备的资源限制;或者在所述虚拟路...

【专利技术属性】
技术研发人员:王建明
申请(专利权)人:厦门网宿有限公司
类型:发明
国别省市:福建,35

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1