数据处理方法、装置、计算机设备和存储介质与流程

文档序号:20840759发布日期:2020-05-22 17:28阅读:173来源:国知局
数据处理方法、装置、计算机设备和存储介质与流程

本申请涉及无线通信技术领域,尤其涉及一种数据处理方法、装置、计算机设备和存储介质。



背景技术:

在移动通信系统中,当正在使用网络服务的用户终端从一个小区移动到另一个小区时,由于无线传输信号强弱、业务负荷量调整、激活操作维护、设备故障等原因,以及为了保证通信的连续性和服务的质量,系统需要将该用户与源小区的通信链路转移到新的小区上,这样的过程叫做“切换”。

上述切换可以分为有损切换和无损切换,无损切换过程的一个重要环节就是数据倒换,即把切换开始阶段积压储存在源基站的数据发送至目标基站,然后这些数据继续参与用户终端和核心网(corenetwor,cn)之间的通信,实现数据的零丢失传输。

但是,当面对大数量、高速率业务的切换场景时,上述切换过程存在数据包易丢失的问题。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够有效能够在大数据量以及高速率业务的切换场景中减少数据包丢失的数据处理方法、装置、计算机设备和存储介质。

第一方面,一种数据处理方法,所述方法包括:

接收目标数据;目标数据包括源基站发送的数据和核心网服务器发送的数据;

监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量;

根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量;

根据目标数量向用户端发送目标数据。

在其中一个实施例中,根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量,包括:

判断当前cpu负荷是否大于或等于所述预设负荷,和/或,当前目标数据对应的数据包的数量是否大于或等于预设数量;

若当前cpu负荷大于或等于预设负荷,和/或,若当前目标数据对应的数据包的数量大于或等于预设数量,则根据预设负荷和/或预设数量,确定目标基站单次发送数据包的目标数量。

在其中一个实施例中,根据预设负荷和/或预设数量,确定目标基站单次发送数据包的目标数量,包括:

根据预设负荷和/或预设数量,将目标数据对应的数据包进行分组,得到多个数据包组;

将包含数据包最多的数据包组中数据包的个数确定为目标数量。

在其中一个实施例中,根据预设负荷,将目标数据对应的数据包进行分组,得到多个数据包组,包括:

根据预设负荷,确定目标基站所能处理的数据包的最大数量;

按照最大数量,将目标数据对应的数据包进行分组,得到多个数据包组。

在其中一个实施例中,若当前cpu负荷小于预设负荷值,和/或,当前目标数据对应的数据包的数量小于预设数量值,则将接收到的目标数据对应的所有数据包的数量确定为目标基站单次发送数据包的目标数量。

在其中一个实施例中,根据目标数量向用户端发送目标数据,包括:

按照目标数量,对目标数据进行分组,得到多个目标数据组;每组目标数据对应数据包的数量小于或等于目标数量;

将多个目标数据组分多次发送给用户端。

在其中一个实施例中,接收目标数据之后,所述方法还包括:

将目标数据存储至缓存队列中。

第二方面,一种数据处理装置,所述装置包括:

接收模块,用于接收目标数据;目标数据包括源基站发送的数据和核心网服务器发送的数据;

监控模块,用于监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量;

确定模块,用于根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量;

发送模块,用于根据目标数量向用户端发送目标数据。

第三方面,一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现第一方面任一实施例所述的数据处理方法。

第四方面,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面任一实施例所述的数据处理方法。

本申请提供的一种数据处理方法、装置、计算机设备和存储介质,通过接收包括源基站发送的数据和核心网发送的数据的目标数据,同时,监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量,再根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量,最后根据目标数量向用户端发送目标数据。在上述方法,实现了在高速流量切换的场景中,根据目标基站的cpu负荷,和/或接收到目标数据的数据包的数量,动态调整目标基站单次发数据包的数量,可以避免传统大数据量切换场景中目标基站因积压接收到的数据包太多,而导致的数据包丢失问题,从而减少了目标基站进行下行业务时的数据包丢失率。另外,传统大数据量切换场景中目标基站因积压接收到的数据包太多,还会导致处于切换状态的用户端占用目标基站cpu资源过多,使该目标基站下的其它用户端分配不到cpu资源,极大的影响了目标基站的cpu资源的利用率,因此,本申请提出的数据处理方法根据目标基站的cpu负荷限定了单次发送数据包的个数,减少了处于切换状态的用户端占用的cpu资源,从而提高了目标基站的资源利用率。

附图说明

图1为一个实施例提供的一种业务系统的结构示意图;

图2为一个实施例提供的一种数据处理方法的流程图;

图3为图2实施例中s103的另一种实现方式的流程图;

图4为图3实施例中s203的另一种实现方式的流程图;

图5为图4实施例中s301的一种实现方式的流程图;

图6为图2实施例中s104的一种实现方式的流程图;

图7为一个实施例提供的一种数据处理装置的结构示意图;

图8为一个实施例提供的一种数据处理装置的结构示意图;

图9为一个实施例提供的一种数据处理装置的结构示意图;

图10为一个实施例提供的一种数据处理装置的结构示意图;

图11为一个实施例提供的一种计算机设备的内部结构示意图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅用以解释本申请,并不用于限定本申请。

本申请提供的数据处理方法,可以应用于如图1所示的业务系统中,该应用系统包括:源基站、目标基站、多个用户端、核心网服务器。其中,源基站下的用户端通过网络与源基站进行通信,目标基站下的用户端通过网络与目标基站进行通信;核心网服务器分别与源基站和目标基站通过网络进行连接。其中,各用户端可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备;源基站为用户端移动前所在小区所属基站,目标基站为用户端移动后所在小区所属基站;源基站和目标基站可以是各种类型的基站,例如,宏基站、微基站、皮站等。核心网服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

下面将通过实施例并结合附图具体地对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。

图2为一个实施例提供的一种数据处理方法的流程图,该方法的执行主体为图1中的目标基站,该方法涉及的是用户端从一个小区进入另一个小区进行基站切换时,目标基站针对倒换数据的处理过程。如图2所示,该方法具体包括以下步骤:

s101、接收目标数据;目标数据包括源基站发送的数据和核心网服务器发送的数据。

其中,源基站发送的数据为源基站没有接收到用户端确认的缓存数据。核心网服务器发送的数据为核心网服务器向目标基站发送的新数据。本实施例中,当用户端从一个小区进入另一个小区进行基站切换时,源基站会向目标基站发送没有接收到用户端确认的缓存数据,同时,核心网服务器会向目标基站发送还未处理的新数据,其中,未处理的新数据表示还未经过分组数据汇聚协议(packetdataconvergenceprotocol,pdcp)层处理的数据,即没有添加序列号sn的数据。目标基站接收源基站发送的数据和核心网服务器发送的数据,得到目标数据,并可以将接收到的目标数据存储至pdcp层的缓存队列中,等待数据处理。

s102、监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量。

本实施例中,目标基站可以实时监控目标基站的当前cpu负荷,和/或目标基站接收到的当前目标数据对应的数据包的数量,以实时查看自身的cpu占有情况,以及处理数据量的需求,以便之后根据目标基站的cpu占有情况,以及处理数据量的需求进行数据处理。

s103、根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量。

本实施例中,目标基站可以根据监控到的当前cpu负荷,确定目标基站单次发送数据包的目标数量,可选的,目标基站也可以根据监控到的当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量,可选的,目标基站还可以同时根据当前cpu负荷和当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量。

s104、根据目标数量向用户端发送目标数据。

当目标基站确定了单次发送数据包的目标数量时,即可将目标数据分成多次进行发送,单次发送的数据包的数量可以小于或等于该目标数量。直到目标数据对应的所有数据包全部被发送完毕,即完成了用户端进行小区切换时倒换数据的全部过程。

本实施例提供的一种数据处理方法,通过接收包括源基站发送的数据和核心网发送的数据的目标数据,同时,监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量,再根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量,最后根据目标数量向用户端发送目标数据。上述方法,实现了在高速流量切换的场景中,根据目标基站的cpu负荷,和/或接收到目标数据的数据包的数量,动态调整目标基站单次发数据包的数量,可以避免传统大数据量切换场景中目标基站因积压接收到的数据包太多,而导致的数据包丢失问题,从而减少了目标基站进行下行业务时的数据包丢失率。另外,传统大数据量切换场景中目标基站因积压接收到的数据包太多,还会导致处于切换状态的用户端占用目标基站cpu资源过多,使该目标基站下的其它用户端分配不到cpu资源,极大的影响了目标基站的cpu资源的利用率,因此,本申请提出的数据处理方法根据目标基站的cpu负荷限定了单次发送数据包的个数,减少了处于切换状态的用户端占用的cpu资源,从而提高了目标基站的资源利用率。

图3为图2实施例中s103的另一种实现方式的流程图,如图3所示,上述s103“根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量”,包括:

s201、判断当前cpu负荷是否大于或等于预设负荷,和/或,当前目标数据对应的数据包的数量是否大于或等于预设数量,若当前cpu负荷大于或等于预设负荷,和/或,当前目标数据对应的数据包的数量大于或等于预设数量,则执行步骤s203,若当前cpu负荷小于预设负荷,和/或,当前目标数据对应的数据包的数量小于预设数量,则执行步骤s202。

其中,预设负荷表示目标基站所能承载cpu负荷的极限负荷,预设数量表示目标基站所能处理数据包的最大数量。本实施例涉及判断步骤,在实际应用中,若目标基站监控到的当前cpu负荷大于或等于预设负荷,和/或,当前目标数据对应的数据包的数量大于或等于预设数量,即说明此时超出了目标基站所能处理数据的能力;若当前cpu负荷小于预设负荷,和/或,当前目标数据对应的数据包的数量小于预设数量,即说明此时未超出目标基站所能处理数据的能力。

s202、将接收到的目标数据对应的所有数据包的数量确定为目标基站单次发送数据包的目标数量。

本实施例涉及目标基站监控到的当前cpu负荷小于预设负荷,和/或,当前目标数据对应的数据包的数量小于预设数量的应用场景,在该种应用下,目标基站未超出所能处理数据的能力,目标基站直接将接收到的目标数据对应的所有数据包的数量确定为目标基站单次发送数据包的目标数量,以便之后一次将所有数据包发送给用户端。

s203、根据预设负荷和/或预设数量,确定目标基站单次发送数据包的目标数量。

本实施例涉及目标基站监控到的当前cpu负荷大于或等于预设负荷,和/或,当前目标数据对应的数据包的数量大于或等于预设数量的应用场景,在该种应用下,目标基站超出所能处理数据的能力,目标基站需要重新调整单次发送数据包的数量,具体的,可以根据代表目标基站处理数据的能力的预设负荷和/或预设数量,确定目标基站单次发送数据包的目标数量,使目标基站单次发送的数据包的数量在目标基站处理数据的能力范围内,从而避免因一次发送数据量过大导致的数据包易丢失的问题,以及稳定发送数据包的速率。

图4为图3实施例中s203的另一种实现方式的流程图,如图4所示,上述s203“根据预设负荷和/或预设数量,确定目标基站单次发送数据包的目标数量”,包括:

s301、根据预设负荷和/或预设数量,将目标数据对应的数据包进行分组,得到多个数据包组。

当目标基站监控到的当前cpu负荷大于或等于预设负荷,和/或,当前目标数据对应的数据包的数量大于或等于预设数量时,目标基站可以直接根据预设负荷和/或预设数量,将目标数据对应的数据包进行分组,得到多个数据包组,使目标基站在处理每个数据包组中包含的数据包时,cpu负荷小于预设负荷,或每个数据包组中包含的数据包的数量小于预设数量,控制在目标基站所能处理数据的能力范围内。

s302、将包含数据包最多的数据包组中数据包的个数确定为目标数量。

当目标基站基于s301的方法得到多个数据包组时,可以将包含数据包最多的数据包组中数据包的个数确定为目标数量。

图5为图4实施例中s301的一种实现方式的流程图,如图5所示,上述s301“根据预设负荷,将目标数据对应的数据包进行分组,得到多个数据包组”,包括:

s401、根据预设负荷,确定目标基站所能处理的数据包的最大数量。

当目标基站监控到的当前cpu负荷大于或等于预设负荷时,目标基站可以根据预设负荷,确定此时目标基站所能处理的数据包的最大数量。

s402、按照最大数量,将目标数据对应的数据包进行分组,得到多个数据包组。

当目标基站得到目标基站所能处理的数据包的最大数量时,目标基站可以按照该最大数量,将目标数据对应的数据包进行分组,得到包含等于最大数量的数据包的多个数据包组,或者得到包含小于最大数量的数据包的多个数据包组。

图6为图2实施例中s104的一种实现方式的流程图,如图6所示,上述s104“根据目标数量向用户端发送目标数据”,包括:

s501、按照目标数量,对目标数据进行分组,得到多个目标数据组;每个目标数据组包含数据包的数量小于或等于目标数量。

当目标基站确定了单次发送数据包的额数量,即目标数量后,即可按照目标数量对接收到的所有的目标数据进行分组。具体的,将所有的目标数据分成每组包含数据包的数量小于或等于目标数量的多个目标数据组。可选的,若所有的目标数据可以按照目标数量被平均分组时,则目标基站在对目标数据进行分组时可以进行平均划分,若所有的目标数据不能够按照目标数量被平均分组时,则目标基站在对目标数据进行分组时可以进行不均等的划分,但是划分后的每个目标数据组包含的数据包的数量小于或等于目标数量。

s502、将多个目标数据组分多次发送给用户端。

当目标基站对目标数据进行分组后,即确定了单次发送目标数据对应的数据包,此时,目标基站可以将分组后得到的多个目标数据组,在预设的时间段内分多次发送给用户端,即一次发送一组目标数据组中的所有数据包。在一种应用场景中,当多个目标数据组中,存在某几个目标数据组中包含的数据包的数量加起来小于或等于目标数量时,目标基站还可以一次发送该几个目标数据组中包含的所有数据包。

在一些应用场景中,上述s101“接收目标数据”之后,目标基站还需要执行步骤:将目标数据存储至缓存队列中。在实际应用中,当目标基站接收到源基站发送的数据和核心网服务器发送的数据时,需要将这两种数据进行合并,并将合并后的数据以数据包的形式存储至pdcp层的缓存队列中,以便之后目标基站能够实时监控缓存队列中存储的数据包的数量。

应该理解的是,虽然图2-6的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-6中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行。

在一个实施例中,如图7所示,提供了一种数据处理装置,包括:接收模块11、监控模块12、确定模块13和发送模块14,其中:

接收模块11,用于接收目标数据;目标数据包括源基站发送的数据和核心网服务器发送的数据;

监控模块12,用于监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量;

确定模块13,用于根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量;

发送模块14,用于根据目标数量向用户端发送目标数据。

在一个实施例中,如图8所示,上述确定模块13包括:

判断单元131,用于判断当前cpu负荷是否大于或等于所述预设负荷,和/或,当前目标数据对应的数据包的数量是否大于或等于预设数量;

确定单元132,用于在当前cpu负荷大于或等于预设负荷,和/或,若当前目标数据对应的数据包的数量大于或等于预设数量时,根据预设负荷和/或预设数量,确定目标基站单次发送数据包的目标数量。

在一个实施例中,上述确定单元132具体用于根据预设负荷和/或预设数量,将目标数据对应的数据包进行分组,得到多个数据包组;将包含数据包最多的数据包组中数据包的个数确定为目标数量。

在一个实施例中,上述确定单元132还具体用于根据预设负荷,确定目标基站所能处理的数据包的最大数量;按照最大数量,将目标数据对应的数据包进行分组,得到多个数据包组。

在一个实施例中,上述确定单元132还用于在当前cpu负荷小于预设负荷值,和/或,当前目标数据对应的数据包的数量小于预设数量值时,将接收到的目标数据对应的所有数据包的数量确定为目标基站单次发送数据包的目标数量。

在一个实施例中,上述发送模块14,如图9所示,包括:

分组单元141,用于按照目标数量,对目标数据进行分组,得到多个目标数据组;每组目标数据对应数据包的数量小于或等于目标数量。

发送单元142,用于将多个目标数据组分多次发送给用户端。

在一个实施例中,上述数据处理装置,如图10所示,还包括:

存储模块15,用于将目标数据存储至缓存队列中。

关于数据处理装置的具体限定可以参见上文中对于一种数据处理方法的限定,在此不再赘述。上述数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图11所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:

接收目标数据;目标数据包括源基站发送的数据和核心网服务器发送的数据;

监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量;

根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量;

根据目标数量向用户端发送目标数据。

上述实施例提供的一种计算机设备,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时还实现以下步骤:

接收目标数据;目标数据包括源基站发送的数据和核心网服务器发送的数据;

监控目标基站的当前cpu负荷和/或目标基站接收到的当前目标数据对应的数据包的数量;

根据当前cpu负荷和/或当前目标数据对应的数据包的数量,确定目标基站单次发送数据包的目标数量;

根据目标数量向用户端发送目标数据。

上述实施例提供的一种计算机可读存储介质,其实现原理和技术效果与上述方法实施例类似,在此不再赘述。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双倍数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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