CN107070811B - 一种数据发送方法、终端及数据处理*** - Google Patents
一种数据发送方法、终端及数据处理*** Download PDFInfo
- Publication number
- CN107070811B CN107070811B CN201710108545.8A CN201710108545A CN107070811B CN 107070811 B CN107070811 B CN 107070811B CN 201710108545 A CN201710108545 A CN 201710108545A CN 107070811 B CN107070811 B CN 107070811B
- Authority
- CN
- China
- Prior art keywords
- data
- priority
- achievement rate
- time window
- network environment
- 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
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
- H04L47/2425—Traffic characterised by specific attributes, e.g. priority or QoS for supporting services specification, e.g. SLA
- H04L47/2433—Allocation of priorities to traffic types
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种数据发送方法、终端及数据处理***,将网络环境划分为多个不同等级,将数据按照重要程度划分多个优先级,终端会根据数据的发送情况来检测当前网络环境处于哪一个等级,并根据当前网络环境等级按照预定的对应关系选定优先级,将选定的优先级的待发送数据按照设定的顺序进行发送,例如按照优先级顺序或时间顺序等进行发送。这样,在进行数据传输时,只需将重要的数据定义为优先级高的数据,即可实现对重要数据的优先传输,有效保障了对重要数据的传输有效性,提高了用户体验,同时也保证了服务提供者的利益,达到了用户与服务提供者双赢的效果。
Description
技术领域
本发明涉及数据传输的技术领域,尤其涉及一种数据发送方法、终端及数据处理***。
背景技术
随着通信技术的不断发展,人们在日常人活中进行的数据传输也越来越频繁。目前采用的数据传输技术,是将用户产生的数据按时间顺序一起进行发送,同时,服务器在处理时,也会按照接收到数据的先后顺序进行处理。然而我们知道,当网络环境不理想时,常常会出现数据传输失败的情况。而某些重要数据若传输失败,则不仅会影响用户的体验,同时还可能导致服务提供者的实际损失,例如:在用户进行游戏、购物等行为时,若商品购买信息交互失败,则很可能导致用户不再购买该商品,从而对服务提供者造成巨大损失。为此,需要提供一种新的数据传输方法以保证即使在网络环境不理想的情况下,也可以保障对重要数据进行有效传输,从而提高用户体验,同时保证了服务提供者的利益。
发明内容
本发明提供一种数据发送方法、终端及数据处理***,以解决现有的数据传输技术无法在网络环境不理想的情况下,保证重要数据的传输有效性的问题。
为解决上述技术问题,本发明采用以下技术方案:
一种数据发送方法,包括:
基于数据发送情况检测当前网络环境等级;
基于所述当前网络环境等级选定优先级;
将所述选定的优先级的待发送数据进行发送。
进一步地,所述基于数据发送情况检测当前网络环境等级包括:
按照预设时长定时对该预设时长段内的数据发送情况进行统计;
确定达成率统计周期和当前时间窗口的时间长度,根据所述达成率统计周期确定统计时间点,根据所述统计时间点和所述时间长度确定当前时间窗口;
根据在当前时间窗口内所记录的数据发送情况,计算当前时间窗口内的数据传送达成率;
根据预设的数据传送达成率同网络环境等级之间的对应关系和所述数据传送达成率得到当前网络环境等级。
进一步地,所述数据发送方法还包括:根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对所述达成率统计周期和时间窗口的时间长度进行调整。
进一步地,所述根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对所述达成率统计周期和时间窗口的时间长度进行调整包括:
计算当前达成率统计周期对应的时间窗口内的数据传送达成率;
计算当前达成率统计周期对应的时间窗口内的数据传送达成率与上一达成率统计周期对应的时间窗口内的数据传送达成率之间的差值;
若所述差值大于等于第一阈值,将所述达成率统计周期和时间窗口的时间长度调小;
若所述差值小于第一阈值且大于等于第二阈值,控制所述达成率统计周期和时间窗口的时间长度不变;
若所述差值小于第二阈值,将所述达成率统计周期和时间窗口的时间长度调大。
进一步地,所述计算当前时间窗口内的数据传送达成率包括:
获取终端在当前时间窗口内的数据发送条数;
获取终端在当前时间窗口内的接收到服务器反馈的数据条数;
计算所述终端在当前时间窗口内的接收到服务器反馈的数据条数与所述终端在当前时间窗口内的数据发送条数之比作为所述数据传送达成率。
进一步地,所述数据发送方法还包括:
在连续N(N>2)个统计时间点检测的网络环境等级不满足预设网络环境等级要求时,向服务器发送控制数据;所述控制数据用于告知所述服务器按照预设数据处理策略对数据进行选择处理;
在连续M(M>2)个统计时间点检测的网络环境等级均满足预设网络环境等级要求时,向所述服务器发送恢复控制数据;所述恢复控制数据用于告知所述服务器恢复对所有数据的处理。
进一步地,所述在所述基于所述当前网络环境等级选定优先级之后,还包括:
基于当前网络环境等级和预设策略确定在当前网络环境等级下,具有不同优先级的各待发送数据的发送比例;
基于所述发送比例以及各待发送数据的优先级,对各所述待发送数据进行发送。
一种终端,包括:
网络检测模块,用于基于数据发送情况检测当前网络环境等级;
优先级确定模块,用于基于所述当前网络环境等级选定优先级;
数据发送模块,用于将所述优先级确定模块选定的优先级的待发送数据进行发送。
进一步地,所述网络检测模块包括:
数据发送记录子模块,用于按照预设时长定时对该预设时长段内的数据发送情况进行记录;
处理子模块,用于确定达成率统计周期和当前时间窗口的时间长度,根据所述达成率统计周期确定统计时间点,根据所述统计时间点和所述时间长度确定当前时间窗口;
数据传送达成率计算子模块,用于根据在当前时间窗口内所记录的数据发送情况,计算当前时间窗口内的数据传送达成率;
网络环境判定子模块,用于根据预设的数据传送达成率同网络环境等级之间的对应关系和所述数据传送达成率得到当前网络环境等级。
进一步地,所述终端还包括:
数据比例确定子模块,用于基于当前网络环境等级和预设策略确定在当前网络环境等级下,具有不同优先级的各待发送数据的发送比例;
数据发送子模块,用于基于所述发送比例以及各待发送数据的优先级,对各所述待发送数据进行发送。
一种数据处理***,包括:服务器和上述任意一种终端;
所述服务器接收所述终端发送的数据;根据预设处理策略对接收到的数据进行处理;将处理后的结果数据发送给所述终端。
进一步地,所述预设处理策略包括:
将接收到的优先级高于预设优先级的数据进行优先处理;
将接收到的其余数据,按照预设的不同优先级数据的数量比例依次进行处理。
进一步地,所述预设处理策略还包括:
在某一优先级的未处理数据超过预设的第三阈值时,增大该优先级的数据数量的比例;
在某一优先级的未处理数据低于预设的第四阈值时,降低该优先级的数据数量的比例。
有益效果
本发明提供的数据发送方法、终端及数据处理***,会将网络环境划分为多个不同等级,终端会根据数据的发送情况来检测当前网络环境处于哪一个等级,并根据当前网络环境等级按照预定的对应关系选定优先级,将选定的优先级的待发送数据按照设定的顺序进行发送,例如按照优先级顺序或时间顺序等进行发送。这样,在进行数据传输时,只需将重要的数据定义为优先级高的数据,即可实现对重要数据的优先传输,有效保障了对重要数据的传输有效性,提高了用户体验,同时也保证了服务提供者的利益,达到了用户与服务提供者双赢的效果。
附图说明
图1为本发明实施例一提供的一种数据发送方法流程示意图;
图2为本发明实施例一提供的一种基于数据发送情况检测当前网络环境等级的流程示意图;
图3为本发明实施例二提供的一种终端结构示意图;
图4为本发明实施例二提供的一种网络检测模块结构示意图;
图5为本发明实施例二提供的一种数据传送达成率计算子模块结构示意图;
图6为本发明实施例二提供的一种网络检测模块结构示意图;
图7为本发明实施例二提供的一种调整子模块结构示意图;
图8为本发明实施例二提供的一种终端结构示意图;
图9为本发明实施例二提供的一种可选的终端结构示意图;
图10为本发明实施例三提供的一种数据处理***;
图11为本发明实施例三提供的一种可选的服务器结构示意图;
图12为本发明实施例三提供的一种终端显示模组设置方法流程示意图。
具体实施方式
实施例一:
为保证在网络环境不理想的情况下,终端也可以实现对重要数据的有效发送,本实施例提供了一种基于数据优先级进行数据发送的方法,参见图1,图1为本实施例提供的数据发送方法流程示意图,包括:
S101:基于数据发送情况检测当前网络环境等级;
本实施例中,为便于对网络环境好坏进行定义,将网络环境划分为了多个不同的等级,划分的等级个数可以根据实际测试需求进行确定,划分的等级个数越多则可以越细致的反应出网络环境好坏。
应当注意的是,本实施例中,网络环境等级与数据发送情况之间存在预设的关联关系,该关联关系使得根据数据发送情况可以确定出当前的网络环境等级。
本实施例中,可以周期性地对当前网络环境等级进行检测,在每隔一个周期的时间,就对当前网络环境等级进行一次检测,例如,设置周期为100ms,则每隔100ms就根据数据发送情况对当前网络环境等级进行一次检测。这样就可以实现终端对当前网络环境等级的连续自动检测,更加智能化。
S102:基于当前网络环境等级选定优先级;
应当理解的是,终端在应用过程中会产生待发送数据,在本实施例中会按照数据的重要性,根据预先定义好的划分规则对终端产生的待发送数据进行优先级划分。例如,以终端进行游戏应用为例,按照预先定义好的划分规则,依据数据的重要性,可以将诸如用户游戏内付费购买等涉及到营收的数据、账号行为数据或控制数据等重要数据的优先级定义为最高级,将加载游戏中的主要逻辑数据,如场景基础数据、玩家基础数据等等比较重要数据的优先级定义为次高级,将其余数据的优先级定义为普通。
应当注意的是,对数据优先级的划分可以根据实际需求进行,划分的优先级个数越多则可以实现对待发送数据越精细的控制。
本实施例中,基于当前网络环境等级可以选定出哪些优先级的待发送数据可以进行发送,即根据当前网络环境等级会对待发送数据的优先级进行一次选定,只有具有选定优先级的待发送数据才会进行发送。例如,将网络环境等级分为优良差3级,在当前网络环境等级检测为优时,将所有优先级都选定,此时对所有优先级的待发送数据都进行发送;在当前网络环境等级检测为中时,将优先级中的最高级和次高级选定,此时仅发送优先级为最高级和次高级的待发送数据;在当前网络环境等级检测为差时,将优先级中的最高级选定,此时仅发送优先级为最高级的待发送数据。
S103:将选定的优先级的待发送数据进行发送。
本实施例中,在对选定的优先级所对应的待发送数据进行发送时,可以按照优先级的顺序,优先发送优先级高的待发送数据。例如,选定的优先级从高到低依次为优先级1,优先级2和优先级3,则先发送优先级1对应的待发送数据,再发送优先级2对应的待发送数据,最后发送优先级3对应的待发送数据。
本实施例中,在对选定的优先级所对应的待发送数据进行发送时,还可以按照各待发送数据的时间顺序进行发送。例如,选定的优先级为优先级1,优先级2和优先级3,则将优先级1,优先级2和优先级3对应的数据按照终端产生的先后顺序依次进行发送。
本实施例中,步骤S101:基于数据发送情况检测当前网络环境等级还包括,参见图2:
S201:按照预设时长定时对该预设时长段内的数据发送情况进行记录;
应当理解的是,本实施例中,对于数据发送情况的统计可以是自动进行的,在每隔一个预设时长后,就会自动对该时长段内的数据发送情况进行一次检测,并记录下该时长段内的数据发送情况。例如,预设时长为100ms,则每过100ms就会自动对这100ms内的数据发送情况进行记录。
值得注意的是,在本实施例中的某种极端情况下,可以设置预设时长无限小,此时终端每时每刻都在对数据发送情况进行记录。也即,终端在发送一条待发送数据之后或接收到一条服务器反馈的数据之后,就会记录发送一条数据或接收一条数据。
S202:确定达成率统计周期和当前时间窗口的时间长度,根据所述达成率统计周期确定统计时间点,根据所述统计时间点和所述时间长度确定当前时间窗口;
本实施例中,对于当前网络环境等级的检测可以是周期性进行的,其中上一统计时间点加上当前的达成率统计周期即可确定出这一次的统计时间点,例如上一次在t0时刻进行了数据传送达成率统计,当前的达成率统计周期为t1,则这一次在t0+t1时刻进行数据传送达成率统计。
本实施例中,时间窗口是指在统计时间点往前的时间长度为时间窗口的时间长度的一个时间段,例如,当前统计时间点为t2时刻,当前时间窗口的时间长度为t,则当前时间窗口即为t2-t时刻到t2时刻这一时间段。
S203:根据在当前时间窗口内所记录的数据发送情况,计算当前时间窗口内的数据传送达成率;
本实施例中,数据发送情况主要包括:在当前时间窗口内,终端的总的数据发送条数以及终端接收到服务器反馈的数据条数。
在计算当前时间窗口内的数据传送达成率时,只需获取终端在当前时间窗口内的数据发送条数,以及终端在当前时间窗口内的接收到服务器反馈的数据条数即可。此时,计算出终端在当前时间窗口内的接收到服务器反馈的数据条数与终端在当前时间窗口内的数据发送条数之比,该比值即为当前时间窗口内的数据传送达成率。
事实上,为保证获取到的终端在当前时间窗口内的数据发送条数,以及终端在当前时间窗口内的接收到服务器反馈的数据条数的准确性,终端在每次发送数据时,会记录下发送的数据的数据ID;在每次接收到服务器反馈的数据时,也会记录下接收到的数据的数据ID。这样,根据时间窗口对时间窗口所表征的时间段内发送的数据的数据ID条数以及收到的数据的数据ID条数进行统计记录即可。
应当注意的是,在本实施例中,接收到的服务器的数据必然是对终端某一条发送数据的反馈,即服务器反馈的数据必然存在一个与之相对应的终端发送的数据,例如,服务器反馈的数据是加载某个应用场景的基础数据,那么终端之前必然向服务器发送有一个加载某个应用场景的请求数据。也即:若收到服务器发来的数据A,那么之前终端必然有向服务器发送一个与数据A对应的数据A’。
在本实施例的一种具体实现方式中,在对一个时间窗口内的数据传送达成率进行计算时,对于对应的终端发送数据和服务器反馈的数据可以设定:只有当对应的终端发送数据和服务器反馈的数据均处于同一时间窗口内时,该服务器反馈的数据才计入终端接收到服务器反馈的数据条数中,也即当服务器反馈的数据和其对应的终端发送数据不在同一个时间窗口内时,该服务器反馈的数据不用作计算数据传送达成率,此时不对该服务器反馈的数据的数据ID进行记录。
例如,当前时间窗口为t2-t时刻到t2时刻,终端在t1时刻接收到服务器反馈的数据A(t1时刻在t2-t时刻到t2时刻内),而终端与数据A对应的发送数据A’是在t2-T(T>t)时刻发送的,即发送数据A’不在当前时间窗口内,因此终端不对数据A的数据ID进行记录,即数据A不计入接收条数中。
S204:根据预设的数据传送达成率同网络环境等级之间的对应关系和所述数据传送达成率得到当前网络环境等级。
即前述网络环境等级与数据发送情况之间存在的预设关联关系为预设的数据传送达成率同网络环境等级之间的对应关系。该对应关系可以通过图表等形式存储于终端本地。例如,参见表一,设置5个网络环境等级,此时根据计算的数据传送达成率落入哪一个范围,即可得到对应的网络环境等级。事实上,终端对于无网络这一等级的检测还可以是通过对终端是否打开wifi和流量进行检测得到,若未打开wifi和流量,则不必再对数据传送达成率进行统计与计算。
表一
数据传送达成率范围 | 网络环境等级 |
数据传送达成率为0 | 无网络 |
数据传送达成率大于0小于30% | 非常差 |
数据传送达成率大于等于30%小于80% | 网络较差 |
数据传送达成率大于等于80%小于99% | 网络良好 |
数据传送达成率大于等于99% | 畅通无阻 |
本实施例中,为更好地反应变幻无常的网络环境,根据网络环境的变化情况加强或减弱对网络环境的监测力度,可以对达成率统计周期以及时间窗口的时间长度进行调整。具体的,可以根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对达成率统计周期和时间窗口的时间长度进行调整。
比如,可以在计算当前达成率统计周期对应的时间窗口内的数据传送达成率之后,再计算当前达成率统计周期对应的时间窗口内的数据传送达成率与上一达成率统计周期对应的时间窗口内的数据传送达成率之间的差值。
此时,如果该差值大于等于预设的第一阈值,则将达成率统计周期和时间窗口的时间长度调小。例如,设置第一阈值为20%,则当该差值大于等于20%时,将达成率统计周期和时间窗口的时间长度调小。
如果该差值小于第一阈值且大于等于第二阈值,则控制达成率统计周期和时间窗口的时间长度不变。例如,设置第一阈值为20%,第二阈值为10%,则当该差值小于20%且大于等于10%时,保持达成率统计周期和时间窗口的时间长度不变。
如果该差值小于第二阈值,则将达成率统计周期和时间窗口的时间长度调大。例如,设置第二阈值为10%,则当该差值小于10%时,将达成率统计周期和时间窗口的时间长度调大。
应当理解的是,上述调整方法仅为本实施例提供的一种对达成率统计周期和时间窗口的时间长度进行调整具体的实现方式,事实上,根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对达成率统计周期和时间窗口的时间长度进行调整的具体实现方式还有很多,例如还可以通过对数据传送达成率的变化曲线的斜率进行判定从而对达成率统计周期和时间窗口的时间长度进行调整。
值得注意的是,本实施例中,时间窗口的时间长度和达成率统计周期之间不存在必然的大小关系,也即时间窗口的时间长度可以小于达成率统计周期,也可以大于或等于达成率统计周期。
本实施例中,对于达成率统计周期和时间窗口的时间长度的调整可以是符合指数曲线变化的调整,例如第一次将达成率统计周期调小100ms,第二次则调小50ms,第三次调小25ms,…;还可以是符合线性变化的调整,例如每一次都将达成率统计周期调小100ms。
本实施例中,对于达成率统计周期和时间窗口的时间长度的调整存在最大值与最小值,也即当达成率统计周期或时间窗口的时间长度已经是最大值之后,不能再将达成率统计周期或时间窗口的时间长度调大;当达成率统计周期或时间窗口的时间长度已经是最小值之后,不能再将达成率统计周期或时间窗口的时间长度调小。
应当理解的是,达成率统计周期和时间窗口的时间长度的最大值与最小值与当前网络环境、数据的传输速率、终端的使用情况、终端本身配置因素等等都有关,在工程应用中,常通过大量的实际或模拟测试,从而得到大量的测试数据,在从中进行筛选比对,从而分别确定出一个较好的率统计周期和时间窗口的时间长度的最大值与一个最小值。
还应当理解的是,在工程应用中,也常通过上述方法确定出初始的达成率统计周期值和初始的时间窗口的时间长度值。
值得注意的是,为节省终端的存储空间,在本实施例中,当记录的数据发送情况的时长超过最大时间窗口的时间长度的最大值时,可以将该记录的数据发送情况删除。
本实施例中,若当前网络环境等级一直很低,即当前网络环境一直很差,为保证对重要数据的接收有效性,可以生成一个优先级很高的控制数据,以告知服务器按照预设数据处理策略对数据进行选择处理,这样服务器就只会对重要数据进行处理反馈,从而释放了宝贵的网络资源。同时,当网络环境恢复到很好的状态后,可以再生成一个优先级很高的恢复控制数据,以告知所述服务器恢复对所有数据的处理。
具体的,可以设置终端在连续N(N>2)个统计时间点检测的网络环境等级不满足预设网络环境等级要求时,向服务器发送控制数据,在连续M(M>2)个统计时间点检测的网络环境等级均满足预设网络环境等级要求时,向所述服务器发送恢复控制数据。
例如,在连续10个统计时间点检测的网络环境等级都不为最优时,向服务器发送控制数据;在连续10个统计时间点检测的网络环境等级均为最优时,向服务器发送恢复控制数据。
本实施例中,服务器按照预设数据处理策略对数据进行选择处理时,可以是对优先级低于某一限定值的数据不做处理,仅对优先级大于等于该限定值的数据进行处理。例如,不对优先级最低的数据进行处理。
本实施例中,在基于当前网络环境等级选定优先级之后,可以基于当前网络环境等级和预设策略确定在当前网络环境等级下,具有不同优先级的各待发送数据的发送比例。此后,终端会按照该发送比例将不同优先级的各待发送数据进行发送。
应当理解的是,预设策略中包含有网络环境等级与不同优先级的各待发送数据的发送比例之间的对应关系,根据该对应关系可以通过当前网络环境等级确定出不同优先级的各待发送数据的发送比例。该对应关系可以通过图表等形式存储在终端本地,例如,参见表二。
在表二中,存在5个优先级,这里为便于说明,设优先级由高到低分依次分为为优先级1至优先级5。当网络环境等级为非常差时,发送优先级为1-3的三种待发送数据(即选定优先级为1-3),在一个发送周期内,不同待发送数据之间按照数据数量10:3:1的比例进行发送。例如,在一个发送周期内,先发送10条优先级为1的数据,再发送3条优先级为2的数据,最后发送1条优先级为3的数据;或从所有数据中按照时间顺序(即数据产生的先后顺序),依次取出10条优先级为1的数据,3条优先级为2的数据,1条优先级为3的数据,再将这14条数据按照时间顺序依次进行发送。
应当理解的是,上例中,优先级为1-5的待发送数据对应的发送比例实际为10:3:1:0:0,也即当某一优先级的待发送数据的比例为0时,即代表该优先级未被选中。
应当注意的是,在一个发送周期内,发送的各不同优先级的待发送数据的具体数量是根据该发送比例以及预设数量基数确定的,比如上例中预设数量基数定为1条。
表二
网络环境等级 | 优先级由高到低的各待发送数据的发送比例 |
无网络 | 不进行数据发送 |
非常差 | 10:3:1 |
网络较差 | 20:10:5:1 |
网络良好 | 20:16:12:8:1 |
畅通无阻 | 1:1:1:1:1 |
值得注意的是,本实施例中,若在一个发送周期内,某个优先级的待发送数据少于确定的可发送数量时,可以认为其数据量是满足的,而不用等待。也即,将该优先级的待发送数据发送完后可以直接进行下一优先级的待发送数据的发送。仍以上例来说,若在一个发送周期内,优先级为1的数据只有5条,不足10条,则将这9条数据(优先级为2的数据有3条,优先级为3的数据有1条)进行发送,而不用等到优先级为1的数据有10条之后再发送。
应当理解的是,本实施例中,可以在网络环境非常好的情况下,采用现有的按照数据的时间顺序进行发送的方式进行发送。以表二为例,可以在网络等级为畅通无阻时,按照数据的时间顺序对所有待发送数据进行发送。
本实施例提供的数据发送方法,将网络环境划分为多个不同等级,终端会根据数据的发送情况来检测当前网络环境处于哪一个等级,并根据当前网络环境等级按照预定的对应关系选定优先级,将选定的优先级的待发送数据按照一定的数量比例,以优先级顺序或时间顺序等方式进行发送。这样,在进行数据传输时,只需将重要的数据定义为高优先级数据,即可实现对重要数据的优先传输,有效保障了对重要数据的传输有效性,提高了用户体验,同时也保证了服务提供者的利益,达到了用户与服务提供者双赢的效果。
实施例二:
参见图3,图3为本实施例提供的一种终端结构示意图,包括:网络检测模块31,优先级确定模块32,以及数据发送模块33。其中,
网络检测模块31用于基于数据发送情况检测当前网络环境等级。
应当理解的是,本实施例中,为便于对网络环境好坏进行定义,将网络环境划分为了多个不同的等级。而网络环境等级与数据发送情况之间存在预设的关联关系,该关联关系使得根据数据发送情况可以确定出当前的网络环境等级。
本实施例中,可以周期性地对当前网络环境等级进行检测,在每隔一个周期的时间,就对当前网络环境等级进行一次检测。
优先级确定模块32用于基于当前网络环境等级选定优先级。
在本实施例中会按照数据的重要性,根据预先定义好的划分规则对终端产生的待发送数据进行优先级划分。应当注意的是,对数据优先级的划分可以根据实际需求进行,划分的优先级个数越多则可以实现对待发送数据越精细的控制。
本实施例中,对优先级的选定实质是选定出哪些优先级的待发送数据可以进行发送,具体的,只有具有选定优先级的待发送数据才会进行发送。
数据发送模块33用于将优先级确定模块选定的优先级的待发送数据进行发送。
本实施例中,在对选定的优先级所对应的待发送数据进行发送时,可以按照优先级的顺序,优先发送优先级高的待发送数据;还可以按照各待发送数据的时间顺序进行发送。
本实施例中,网络检测模块31可以参见图4,包括:数据发送记录子模块311,处理子模块312,数据传送达成率计算子模块313,以及网络环境判定子模块314。其中,
数据发送记录子模块311用于按照预设时长定时对该预设时长段内的数据发送情况进行记录。
具体可以是,在每隔一个预设时长后,就自动对该时长段内的数据发送情况进行一次检测,并记录下该时长段内的数据发送情况。而在本实施例中的某种极端情况下,可以设置预设时长无限小,此时终端每时每刻都在对数据发送情况进行记录。也即,终端在发送一条待发送数据之后或接收到一条服务器反馈的数据之后,就会记录发送一条数据或接收一条数据。
处理子模块312用于确定达成率统计周期和当前时间窗口的时间长度,根据所述达成率统计周期确定统计时间点,根据所述统计时间点和所述时间长度确定当前时间窗口。
本实施例中,对于当前网络环境等级的检测是周期性进行的,其中上一统计时间点加上当前的达成率统计周期即可确定出这一次的统计时间点。
本实施例中,时间窗口是指在统计时间点往前的时间长度为时间窗口的时间长度的一个时间段。
数据传送达成率计算子模块313用于根据在当前时间窗口内所记录的数据发送情况,计算当前时间窗口内的数据传送达成率。其中数据发送情况主要包括:在当前时间窗口内,终端的总的数据发送条数以及终端接收到服务器反馈的数据条数。
为实现对数据传送达成率的计算,数据传送达成率计算子模块313的结构可以参见图5,包括:
发送条数获取单元3131,用于获取终端在当前时间窗口内的数据发送条数。
反馈条数获取单元3132,用于获取终端在当前时间窗口内的接收到服务器反馈的数据条数。
计算单元3133,用于计算终端在当前时间窗口内的接收到服务器反馈的数据条数与终端在当前时间窗口内的数据发送条数之比。此时,该比值即为当前时间窗口内的数据传送达成率。
事实上,为保证获取到的终端在当前时间窗口内的数据发送条数,以及终端在当前时间窗口内的接收到服务器反馈的数据条数的准确性,终端在每次发送数据时,会记录下发送的数据的数据ID;在每次接收到服务器反馈的数据时,也会记录下接收到的数据的数据ID。这样,发送条数获取单元3131根据时间窗口对时间窗口所表征的时间段内发送的数据的数据ID条数进行统计,反馈条数获取单元3132根据时间窗口对时间窗口所表征的时间段内收到的数据的数据ID条数进行统计记录即可。
应当理解的是,在本实施例中,终端接收到的服务器的数据必然是对终端某一条发送数据的反馈,即服务器反馈的数据必然存在一个与之相对应的终端发送的数据。
在本实施例的一种具体实现方式中,数据传送达成率计算子模块313在对一个时间窗口内的数据传送达成率进行计算时,只有当对应的终端发送数据和服务器反馈的数据均处于同一时间窗口内时,反馈条数获取单元3132才会将该服务器反馈的数据才计入终端接收到服务器反馈的数据条数中,也即当服务器反馈的数据和其对应的终端发送数据不在同一个时间窗口内时,反馈条数获取单元3132不会将该服务器反馈的数据的数据ID统计在条数内,即不会对该服务器反馈的数据做记录,该服务器反馈的数据不用作计算数据传送达成率。
网络环境判定子模块314用于根据预设的数据传送达成率同网络环境等级之间的对应关系和所述数据传送达成率得到当前网络环境等级。
即前述网络环境等级与数据发送情况之间存在的预设关联关系为预设的数据传送达成率同网络环境等级之间的对应关系。该对应关系可以通过图表等形式存储于终端本地。
本实施例中,为更好地反应变幻无常的网络环境,可以根据网络环境判网络环境的变化情况加强或减弱对网络环境的监测力度,为此,网络检测模块31还包括一个调整子模块315,参见图6。
调整子模块315用于根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对达成率统计周期和时间窗口的时间长度进行调整。
在本实施例的一种具体实现方式中,调整子模块315还包括:当前数据传送达成率计算单元3151,数据传送达成率差值计算单元3152,下调单元3153,保持单元3154,以及上调单元3155,参见图7。其中,
当前数据传送达成率计算单元3151用于计算当前达成率统计周期对应的时间窗口内的数据传送达成率;
数据传送达成率差值计算单元3152用于根据当前数据传送达成率计算单元3151的计算结果,计算当前达成率统计周期对应的时间窗口内的数据传送达成率与上一达成率统计周期对应的时间窗口内的数据传送达成率之间的差值。
下调单元3153用于当数据传送达成率差值计算单元3152计算得到的差值大于等于第一阈值时,将达成率统计周期和时间窗口的时间长度调小。
保持单元3154用于当数据传送达成率差值计算单元3152计算得到的差值小于第一阈值且大于等于第二阈值时,控制达成率统计周期和时间窗口的时间长度保持不变。
上调单元3155用于当数据传送达成率差值计算单元3152计算得到的差值小于第二阈值时,将达成率统计周期和时间窗口的时间长度调大。
值得注意的是,本实施例中,时间窗口的时间长度和达成率统计周期之间不存在必然的大小关系,也即时间窗口的时间长度可以小于达成率统计周期,也可以大于或等于达成率统计周期。
本实施例中,对于达成率统计周期和时间窗口的时间长度的调整可以是符合指数曲线变化的调整,也可以是符合线性变化的调整,还可以是两者的结合。
本实施例中,调整子模块315对于达成率统计周期和时间窗口的时间长度的调整存在最大值与最小值,当达成率统计周期或时间窗口的时间长度已经是最大值之后,上调单元3155不能再将达成率统计周期或时间窗口的时间长度调大;当达成率统计周期或时间窗口的时间长度已经是最小值之后,下调单元3153不能再将达成率统计周期或时间窗口的时间长度调小。
应当理解的是,达成率统计周期和时间窗口的时间长度的最大值与最小值与当前网络环境、数据的传输速率、终端的使用情况、终端本身配置因素等等都有关,在工程应用中,常通过大量的实际或模拟测试,从而得到大量的测试数据,在从中进行筛选比对,从而分别确定出一个较好的率统计周期和时间窗口的时间长度的最大值与一个最小值。
还应当理解的是,在工程应用中,也常通过上述方法确定出初始的达成率统计周期值和初始的时间窗口的时间长度值。
值得注意的是,为节省终端的存储空间,在本实施例中,当数据发送记录子模块311记录的数据发送情况的时长超过最大时间窗口的时间长度的最大值时,可以将该记录的数据发送情况删除。
本实施例中,若网络检测模块31检测到的当前网络环境等级一直很低,即当前网络环境一直很差,为保证终端对重要数据的接收有效性,终端可以生成一个优先级很高的控制数据,以告知服务器按照预设数据处理策略对数据进行选择处理,这样服务器就只会对重要数据进行处理反馈,从而释放了宝贵的网络资源。同时,当网络环境恢复到很好的状态后,终端可以再生成一个优先级很高的恢复控制数据,以告知所述服务器恢复对所有数据的处理。
具体的,可以设置:网络检测模块31在连续N(N>2)个统计时间点检测的网络环境等级不满足预设网络环境等级要求时,数据发送模块33向服务器发送控制数据;网络检测模块31在连续M(M>2)个统计时间点检测的网络环境等级均满足预设网络环境等级要求时,数据发送模块33向所述服务器发送恢复控制数据。
本实施例中,服务器按照预设数据处理策略对数据进行选择处理时,可以是对优先级低于某一限定值的数据不做处理,仅对优先级大于等于该限定值的数据进行处理。
本实施例中,终端还包括一个数据比例确定模块34,参见图8。数据比例确定模块34可以基于当前网络环境等级和预设策略确定在当前网络环境等级下,具有不同优先级的各待发送数据的发送比例。此后,数据发送模块33会将不同优先级的各待发送数据按照该发送比例,以优先级顺序或时间顺序进行发送。
应当理解的是,预设策略中包含有网络环境等级与不同优先级的各待发送数据的发送比例之间的对应关系,根据该对应关系可以通过当前网络环境等级确定出不同优先级的各待发送数据的发送比例。该对应关系可以通过图表等形式存储在终端本地。
值得注意的是,本实施例中,若在一个发送周期内,某个优先级的待发送数据少于确定的可发送数量时,可以认为其数据量是满足的,而不用等待。
应当理解的是,本实施例中,在网络环境非常好的情况下,数据发送模块33可以采用现有的按照数据的时间顺序进行发送的方式进行发送。
图9为一种可选的终端结构示意图,包括处理器91及存储装置92,所述存储装置92内存储有多个指令以实现数据发送方法,所述处理器91执行所述多个指令以实现:基于数据发送情况检测当前网络环境等级;基于当前网络环境等级选定优先级;将所述选定的优先级的待发送数据进行发送。
本实施例提供的终端,在进行数据传输时,只需将重要的数据定义为高优先级数据,即可根据当前网络环境,实现对数据的选择传输以及对重要数据的优先传输,有效保障了对重要数据的传输有效性,提高了用户体验满意度,同时也保证了服务提供者的利益,达到了用户与服务提供者双赢的效果。
实施例三:
本实施例在实施例二的基础上,提供了一种数据处理***,参见图10,该数据处理***包括实施例二中的终端和服务器。
其中,服务器会接收终端发送的数据,并根据预设处理策略对接收到的数据进行处理,再将处理后的结果数据反馈给终端。
值得注意的是,本实施例中服务器反馈的结果数据是根据接收到的数据进行处理后,服务器生成的或调用的与接收到的数据对应的数据。例如,服务器接收到的数据为一个加载某应用场景基础数据的请求,此时服务器调用该应用场景的基础数据并发送给终端。
本实施例中,发送给终端的结果数据包括数据头和数据内容两部分,其中,数据头中包含有服务器的响应结果、响应消息对应的发送消息ID(即表明该条消息响应的是之前终端发送的哪条消息)、本响应是否包含数据内容等信息。数据内容则包含实际的数据。
值得注意的是,对于一些特殊的结果数据,可以不包含数据内容。例如,类似于终端发送的用户聊天信息等数据,服务器在处理后单独发送响应数据,表示发送的数据服务器已接收,对于这类单独响应数据,就只有数据头,而不包含数据内容。
应当理解的是,实施例二中,终端还包括有一接收模块,该接收模块会对接收到的结果数据进行解析,并判断结果数据中,除数据头之外是否存在数据内容。若有,则将数据内容传递给相应的应用。
应当注意的是,接收模块在接收到结果数据后,会将数据头发送给网络监测模块,具体的,会将响应消息对应的发送消息ID发送给网络监测模块的反馈条数获取单元,以便对接收到的反馈条数进行统计。
应当理解的是,本实施例中,服务器的一种具体设置方式可以是:根据数据优先级的个数,为每一个优先级设置一个服务端,则一个服务端只对应处理一个优先级的数据。此时,预设处理策略可以为:每个服务端按照接收的时间顺序对数据进行处理。
本实施例中,服务器的又一种具体设置方式可以是:只设置一个服务端来处理所有的优先级的数据。
此时,预设处理策略可以为:将接收到的优先级高于预设优先级的数据进行优先处理;将接收到的其余数据,按照预设的不同优先级数据的数量比例依次进行处理。
例如,设数据优先级由高到低分别有1-5五个等级,设预设优先级为2,则当接收到优先级为1的数据时,服务器在处理完当前正处理的数据之后,立刻对该优先级为1的数据进行处理。对于优先级为2-5的数据,则会在一个处理周期内,按照一定的数量比例进行处理,比如按照10条:6条:3条:1条的比例进行处理。
应当理解的是,本实施例中,在一个处理周期内对优先级不高于预设优先级的数据可以按照优先级顺序进行处理。仍以上例来说,在一个处理周期内,服务器先处理10条优先级为2的数据,接着处理6条优先级为3的数据,再处理3条优先级为4的数据,再处理1条优先级为5的数据,一个处理周期完毕,进入下一个处理周期。应当理解的是,在某优先级数据不满时,可以按照该优先级数据已满进行处理。
应当理解的是,本实施例中,在一个处理周期内对优先级不高于预设优先级的数据可以按照数据的时间顺序进行处理。仍以上例来说,在一个处理周期内,按照10条:6条:3条:1条的比例选中优先级为2-5的数据,在按照他们的时间顺序依次对这些数据进行处理。
本实施例中,服务器在对数据进行处理时,可以为待处理的数据按照优先级的不同,分别设置一个处理队列,在处理时将待处理的数据按照时间顺序从队列中取出进行处理。
应当理解的是,本实施例中,预设处理策略中还包括对于预设的不同优先级数据的数量比例的调整机制。该调整机制具体可以是:
在某一优先级的未处理数据超过预设的第三阈值时,增大该优先级的数据数量的比例。
仍以上例来说,设对于优先级为2、3、4、5的预设的第三阈值分别为20条、25条、30条、和35条,当服务器发现优先级为4的数据超过了30条,则在下一处理周期,服务器将优先级为2-5的数据的数量比例由10条:6条:3条:1条调整为10条:6条:4条:1条。
在某一优先级的未处理数据低于预设的第四阈值时,降低该优先级的数据数量的比例。
仍以上例来说,设对于优先级为2、3、4、5的预设的第四阈值即分别为他们当前的数据数量的比例,即分别为10条、6条、3条和1条。当服务器发现在本周期内优先级为3的数据少于6条,则在下一处理周期,服务器将优先级为2-5的数据的数量比例由10条:6条:3条:1条调整为10条:5条:4条:1条。
本实施例中,预设处理策略中还包括一预设数据处理策略,该预设数据处理策略包括:
当服务器接收到终端发送的控制数据时,对优先级低于预设优先级的数据不进行处理;当服务器接收到终端发送的恢复控制数据时,恢复对优先级低于预设优先级的数据的进行处理。
仍以上例来说,设预设优先级为4,则服务器接收到终端发送的控制数据后,不再对优先级为5的数据进行处理;而当服务器接收到终端发送的恢复控制数据之后,恢复对优先级为5的数据的处理。
具体的,为保证数据处理的有效性,在服务器接收到终端发送的控制数据之后,在根据上述对不同优先级的数据按照处理顺序进行处理时,对于低于预设优先级的数据,将该数据丢弃。
仍以上例来说,设预设优先级为4,则服务器接收到终端发送的控制数据后,仍旧会按照前述处理顺序对优先级为1-5的数据进行处理,当处理到优先级为5的数据时,将该优先级为5的数据丢弃。应当理解的是,这样可以避免对无用数据的堆积与再处理,因为对于服务器接收到的数据而言,其处理具有时效性,很有可能之前需要处理的数据在一段时间之后已经不再需要进行处理了。
对于上述过程,本实施例的一种具体实现方式是:当服务器收到控制数据时,在已接收的优先级低于预设优先级的数据中,设置一个标志位,对该标志位之后再接收到的优先级低于预设优先级的数据不进行处理。
图11为一种可选的服务器结构示意图,包括处理器111及存储装置112,所述存储装置112内存储有多个指令以实现数据发送方法,所述处理器111执行所述多个指令以实现:接收终端发送的数据,并根据预设处理策略对接收到的数据进行处理,再将处理后的结果数据发送给终端。
本实施例提供的数据处理***,通过在服务器上对数据进行差别化处理,尤其是对优先级高于预设优先级的数据进行优先处理,保证了重要数据在终端和服务器之间的优先传输与处理,提高了用户体验满意度。
实施例四:
本实施例在实施例一、二、三的基础上,以进行游戏数据传输为例,对本发明作进一步的介绍说明。
本实施例中,将游戏数据按照重要程度的不同,划分为了5个优先级,分别记为优先级1-5,其中优先级从1-5重要程度依次递减。
具体的,优先级为1的数据包括:游戏内付费购买数据(该数据因为能为游戏带来收入所以十分重要)、用户账号的登录、退出等账号行为数据和向服务端发送一些控制命令的数据。优先级为2的数据包括:下载游戏场景的基础数据,加载玩家基础数据等,没有这些数据,游戏的主逻辑就难以运行。该数据主要为下行数据。优先级为3的数据包括:玩家的操作数据等。优先级为4的数据包括:游戏中的聊天消息、玩家的动作表情等交互数据。优先级为5的数据包括:下载游戏中的皮肤、场景装饰等数据。
设置5个网络环境等级,分别为1-5,依次分别对应无网络、网络环境非常差、网络环境较差、网络环境良好和网络畅通无阻5种网络环境情况。
首先,终端会检测是否打开了wifi或流量,若未打开wifi或流量,则不进行数据传输。
在终端打开wifi或流量时,终端会自动开始每隔100ms就对该100ms内的发送数据ID条数,和接收到的服务器反馈的结果数据的条数进行统计。应当理解的是,终端对服务器反馈的结果数据的条数进行统计是依据数据头中包含的对应的发送数据ID来统计的。
同时,终端根据初始的达成率统计周期得到第一次进行数据传送达成率统计的统计时间点,并根据初始时间窗口的时间长度确定初始时间窗口,从而进行第一次数据传送达成率计算,并根据网络环境等级及与数据传送达成率对应关系得到当前网络环境等级。网络环境等级及与数据传送达成率对应关系参见表三。
表三
数据传送达成率范围 | 网络环境等级 |
数据传送达成率为0 | 1 |
数据传送达成率大于0小于30% | 2 |
数据传送达成率大于等于30%小于80% | 3 |
数据传送达成率大于等于80%小于99% | 4 |
数据传送达成率大于等于99% | 5 |
之后再继续根据该达成率统计周期和时间窗口的时间长度得到第二次进行数据传送达成率统计的统计时间点和时间窗口,进行第二次数据传送达成率计算,得到新的当前网络环境等级。此时,将第二次得到的数据传送达成率与第一个数据传送达成率相减得到差值,判定该差值大小与20%和10%的大小关系,当该差值大于等于20%时,将达成率统计周期和时间窗口的时间长度调小;当该差值小于20%且大于等于10%时,保持达成率统计周期和时间窗口的时间长度不变;当该差值小于10%时,将达成率统计周期和时间窗口的时间长度调大。从而根据调整得到的达成率统计周期得到第三次进行数据传送达成率统计的统计时间点,根据调整得到的时间窗口的时间长度,得到第三次进行数据传送达成率统计的时间窗口。
例如,参见图12,设第一次t+200ms处进行的统计,数据传送达成率为48%,图12中第一个时间轴反应的是第二次进行统计的情况,可见第二次进行统计时是在t+300ms处进行的,此时的时间窗口为t到t+300这一时间段,根据数据传送达成率的计算方法计算可得:(3+11+6)/(10+16+11)≈54%,得到当前网络等级为3。此时和上一次的数据传送达成率差值为6%,则将达成率统计周期调为200ms,时间窗口的时间长度调为400ms。
此时参见图12中第二个时间轴,在t+500ms处进行了第三次统计,此时的时间窗口为t+100到t+500这一时间段,根据数据传送达成率的计算方法计算可得:(11+6+3+1)/(16+11+16+18)≈34%,得到当前网络等级为3。此时和上一次的数据传送达成率差值为20%,将达成率统计周期和时间窗口的时间长度调小,将达成率统计周期调为100ms,时间窗口的时间长度调为300ms。
在本实施例中,当网络环境等级为2时,采用符合指数曲线变化的调整方式进行达成率统计周期和时间窗口的时间长度的调整。当网络环境等级为3时,采用符合数线性变化的调整方式进行达成率统计周期和时间窗口的时间长度的调整。
本实施例中,在终端确定网络环境等级之后,会根据当前网络环境等级对游戏数据进行发送。具体的,在网络环境为等级1时,不接收游戏传入的数据;在网络环境为等级2时,从游戏传入的所有数据中,分别取出10条优先级为1的数据,3条优先级为2的数据,1条优先级为3的数据,再根据这14条数据的时间先后顺序依次将这14条数据进行发送;在网络环境为等级3时,从游戏传入的所有数据中,分别取出20条优先级为1的数据,10条优先级为2的数据,5条优先级为3的数据,1条优先级为4的数据,再根据这36条数据的时间先后顺序依次将这36条数据进行发送;在网络环境为等级4时,从游戏传入的所有数据中,分别取出20条优先级为1的数据,16条优先级为2的数据,12条优先级为3的数据,8条优先级为4的数据,1条优先级为5的数据,再根据这57条数据的时间先后顺序依次将这57条数据进行发送;在网络环境等级为5时,将从游戏传入的所有数据按照时间先后顺序依次进行发送。
本实施例中,游戏传入数据后,终端会将该数据按照优先级的不同分别放入到不同的队列中,具体的,在放入时,可以将每个数据以(数据时间,数据ID,数据对象)的三元组形式放入。同时,在每个队列都设置一个保存队列第一条数据时间的变量,该变量可以提取队列第一条数据的数据时间,当队列第一条数据变化时,该变量所表征的时间也会变化。通过不同队列的变量之间的比较即可实现按时间顺序进行发送。
应当理解的是,终端在发送数据时,可以是以四元组(数据优先级,数据时间,数据ID,数据对象)的形式发送的。
本实施例中,服务器在接收到终端发送的数据之后,会优先处理优先级为1的数据,对于优先级为1的数据而言,其处理不需要进行排队等待。对于优先级为2、3、4、5的数据,服务器按照10条、6条、3条、1条的比例把数据加入到四个对应不同优先级的队列中,然后按照时间顺序取出处理进行处理。
当某一优先级数据积累过多超过阈值时,服务器会相应的增大该数据的处理比例。例如,当未处理的数据中,优先级为4的数据超过了阈值30条,则下一处理周期中,对于优先级为2、3、4、5的数据,服务器按照10条、6条、4条、1条的比例进行处理。
当某一优先级数据积累较少,并少于当前处理比例时,则会减小该数据的处理比例。例如对于优先级为2、3、4、5的数据,当前处理比例为10条、6条、4条、1条,若优先级为3的数据少于6条,则下一处理周期的处理比例会变成10条、5条、4条、1条。
本实施例中,终端在连续10个监测网络环境等级都不为5时,会向服务器发送不加载优先级为5的数据的控制数据;在连续10个监测网络环境等级都为5时,会向服务器发送恢复处理优先级为5的数据的恢复控制数据。
服务器在接收到该控制数据后,会设置一个标志位,对于在标志位之后再接收到优先级为5的数据,服务器进行处理时会将至丢弃。服务器在接收到恢复控制数据后,会重新恢复对优先级为5的数据的处理。
本实施例中,服务器会对终端发送的诸如聊天信息等数据反馈仅包含数据头的结果数据,表示发送的数据服务器已接收。
终端在接收到结果数据后,会对数据头进行解析,并根据该数据头信息对接收到的反馈信息进行统计,具体通过数据头中对应的发送数据ID来确定数据传送达成率。
应当注意的是,只有数据头中对应的发送数据ID存在与当前时间窗内时,该反馈数据被计入条数。
本实施例提供的数据处理***,将游戏数据进行优先级分类,将游戏内付费购买数据、用户账号的登录、退出等账号行为数据和向服务端发送一些控制命令的数据定义为优先级最高,使得在终端上优先对这些数据进行发送,并在服务器上优先对这些数据进行处理,保证了游戏在网络很差的情况下的正常运行和用户购买行为的准确操作,保证了重要数据在终端和服务器之间的优先传输与处理,提高了用户体验,同时,保证了游戏运营商的利益,起到了双赢的作用。
显然,本领域的技术人员应该明白,上述实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(ROM/RAM、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。
以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。
Claims (9)
1.一种数据发送方法,其特征在于,包括:
基于数据发送情况检测当前网络环境等级,包括:按照预设时长定时对该预设时长段内的数据发送情况进行记录;确定达成率统计周期和当前时间窗口的时间长度,根据所述达成率统计周期确定统计时间点,根据所述统计时间点和所述时间长度确定当前时间窗口;根据在当前时间窗口内所记录的数据发送情况,计算当前时间窗口内的数据传送达成率;根据预设的数据传送达成率同网络环境等级之间的对应关系和所述数据传送达成率得到当前网络环境等级;其中,所述计算当前时间窗口内的数据传送达成率包括:获取终端在当前时间窗口内的数据发送条数;获取终端在当前时间窗口内的接收到服务器反馈的数据条数;将所述终端在当前时间窗口内的接收到服务器反馈的数据条数与所述终端在当前时间窗口内的数据发送条数之比作为所述数据传送达成率;
基于所述当前网络环境等级选定优先级;
将所述选定的优先级的待发送数据进行发送;
根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对所述达成率统计周期和时间窗口的时间长度进行调整。
2.如权利要求1所述的数据发送方法,其特征在于,所述根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对所述达成率统计周期和时间窗口的时间长度进行调整包括:
计算当前达成率统计周期对应的时间窗口内的数据传送达成率;
计算当前达成率统计周期对应的时间窗口内的数据传送达成率与上一达成率统计周期对应的时间窗口内的数据传送达成率之间的差值;
若所述差值大于等于第一阈值,将所述达成率统计周期和时间窗口的时间长度调小;
若所述差值小于第一阈值且大于等于第二阈值,控制所述达成率统计周期和时间窗口的时间长度不变;
若所述差值小于第二阈值,将所述达成率统计周期和时间窗口的时间长度调大。
3.如权利要求1所述的数据发送方法,其特征在于,还包括:
在连续N个统计时间点检测的网络环境等级不满足预设网络环境等级要求时,向服务器发送控制数据;所述控制数据用于告知所述服务器按照预设数据处理策略对数据进行选择处理;其中,所述N>2;
在连续M个统计时间点检测的网络环境等级均满足预设网络环境等级要求时,向所述服务器发送恢复控制数据;所述恢复控制数据用于告知所述服务器恢复对所有数据的处理;其中,所述M>2。
4.如权利要求1-3任一项所述的数据发送方法,其特征在于,在所述基于所述当前网络环境等级选定优先级之后,还包括:
基于当前网络环境等级和预设策略确定在当前网络环境等级下,具有不同优先级的各待发送数据的发送比例;
基于所述发送比例以及各待发送数据的优先级,对各所述待发送数据进行发送。
5.一种终端,其特征在于,包括:
网络检测模块,用于基于数据发送情况检测当前网络环境等级;
优先级确定模块,用于基于所述当前网络环境等级选定优先级;
数据发送模块,用于将选定的优先级的待发送数据进行发送;
其中,所述网络检测模块包括:
数据发送记录子模块,用于按照预设时长定时对该预设时长段内的数据发送情况进行记录;
处理子模块,用于确定达成率统计周期和当前时间窗口的时间长度,根据所述达成率统计周期确定统计时间点,根据所述统计时间点和所述时间长度确定当前时间窗口;
数据传送达成率计算子模块,用于根据在当前时间窗口内所记录的数据发送情况,计算当前时间窗口内的数据传送达成率;所述计算当前时间窗口内的数据传送达成率包括:获取终端在当前时间窗口内的数据发送条数;获取终端在当前时间窗口内的接收到服务器反馈的数据条数;将所述终端在当前时间窗口内的接收到服务器反馈的数据条数与所述终端在当前时间窗口内的数据发送条数之比作为所述数据传送达成率;
网络环境判定子模块,用于根据预设的数据传送达成率同网络环境等级之间的对应关系和所述数据传送达成率得到当前网络环境等级;
调整子模块,用于根据相邻统计周期计算得到的数据传送达成率之间的变化趋势对达成率统计周期和时间窗口的时间长度进行调整。
6.如权利要求5所述的终端,其特征在于,还包括:
数据比例确定模块,用于基于当前网络环境等级和预设策略确定在当前网络环境等级下,具有不同优先级的各待发送数据的发送比例;
数据发送模块,还用于基于所述发送比例以及各待发送数据的优先级,对各所述待发送数据进行发送。
7.一种数据处理***,其特征在于,包括:服务器和如权利要求5或6所述的终端;
所述服务器接收所述终端发送的数据;根据预设处理策略对接收到的数据进行处理;将处理后的结果数据发送给所述终端。
8.如权利要求7所述的数据处理***,其特征在于,所述预设处理策略包括:
将接收到的优先级高于预设优先级的数据进行优先处理;
将接收到的其余数据,按照预设的不同优先级数据的数量比例依次进行处理。
9.如权利要求8所述的数据处理***,其特征在于,所述预设处理策略还包括:
在某一优先级的未处理数据超过预设的第三阈值时,增大该优先级的数据数量的比例;
在某一优先级的未处理数据低于预设的第四阈值时,降低该优先级的数据数量的比例;
其中,所述第三阈值大于所述第四阈值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710108545.8A CN107070811B (zh) | 2017-02-27 | 2017-02-27 | 一种数据发送方法、终端及数据处理*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710108545.8A CN107070811B (zh) | 2017-02-27 | 2017-02-27 | 一种数据发送方法、终端及数据处理*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070811A CN107070811A (zh) | 2017-08-18 |
CN107070811B true CN107070811B (zh) | 2021-03-09 |
Family
ID=59622251
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710108545.8A Active CN107070811B (zh) | 2017-02-27 | 2017-02-27 | 一种数据发送方法、终端及数据处理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070811B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108011745B (zh) * | 2017-09-30 | 2021-05-14 | 北京车和家信息技术有限公司 | 数据的传输方法及装置 |
CN112580084A (zh) * | 2021-02-01 | 2021-03-30 | 开封大学 | 一种基于低碳经济的新能源数据异常检测方法 |
CN113613201A (zh) * | 2021-08-02 | 2021-11-05 | 腾讯科技(深圳)有限公司 | 应用于车辆间的数据分享方法、装置、介质及电子设备 |
CN116170385A (zh) * | 2023-04-21 | 2023-05-26 | 四川汉科计算机信息技术有限公司 | 一种网关信息转发***及方法、设备、存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402143A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的流量控制方法 |
CN104113467A (zh) * | 2013-04-17 | 2014-10-22 | 安徽盈科智能科技有限公司 | 虚拟桌面***及其消息数据的发送方法 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100481758C (zh) * | 2005-09-09 | 2009-04-22 | 乐金电子(昆山)电脑有限公司 | Tcp传送控制中的数据包传送率决定方法 |
CN103139104B (zh) * | 2011-12-05 | 2017-02-08 | 深圳迈瑞生物医疗电子股份有限公司 | 网络传输服务级别调整方法、数据终端和网络服务器 |
CN103124432A (zh) * | 2013-01-23 | 2013-05-29 | 中兴通讯股份有限公司 | 无线报文发送装置及方法 |
CN104185201B (zh) * | 2013-05-21 | 2019-06-11 | 中兴通讯股份有限公司 | 一种邻区测量周期的自适应调整方法及装置 |
CN104202774A (zh) * | 2014-09-18 | 2014-12-10 | 东南大学 | 一种可靠实时的工业无线局域网传输方法 |
CN105516018B (zh) * | 2014-09-23 | 2018-12-18 | 博雅网络游戏开发(深圳)有限公司 | 网络数据传输方法和装置 |
CN105577401A (zh) * | 2014-10-10 | 2016-05-11 | 中兴通讯股份有限公司 | 网络设备告警上报的方法及网络设备 |
-
2017
- 2017-02-27 CN CN201710108545.8A patent/CN107070811B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1402143A (zh) * | 2002-09-29 | 2003-03-12 | 清华大学 | 一种基于客户端反馈的流量控制方法 |
CN104113467A (zh) * | 2013-04-17 | 2014-10-22 | 安徽盈科智能科技有限公司 | 虚拟桌面***及其消息数据的发送方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107070811A (zh) | 2017-08-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107070811B (zh) | 一种数据发送方法、终端及数据处理*** | |
EP3451614A1 (en) | Dispatching method and device in content delivery network | |
CN108513271B (zh) | 基于多个短信通道的短信分发方法和设备 | |
EP2601765B1 (en) | Methods and apparatus for reducing data transmission overhead | |
CN101547159B (zh) | 一种避免网络拥塞的方法和设备 | |
CN104126285A (zh) | 用于在云网络中进行快速灾难恢复准备的方法和设备 | |
EP2166700A1 (en) | Method and system for detecting qos abnormal | |
CN104717158A (zh) | 一种调整带宽调度策略的方法及装置 | |
CN110830964B (zh) | 信息调度方法、物联网平台和计算机可读存储介质 | |
CN113032233A (zh) | 分布式服务集群运行时参数自适应处理方法、装置及*** | |
CN114338534A (zh) | 一种消息路由方法及装置 | |
EP3989597A1 (en) | Optical network unit (onu) power down alarm method and apparatus, device and storage medium | |
CN114501351A (zh) | 流量控制方法、设备及存储介质 | |
US20220053373A1 (en) | Communication apparatus, communication method, and program | |
US10044833B2 (en) | Data processing method and apparatus used for terminal application | |
WO2021234764A1 (ja) | バーストトラフィック検出装置、バーストトラフィック検出方法およびバーストトラフィック検出プログラム | |
CN112764919A (zh) | 分布式服务自适应负载均衡方法及装置 | |
CN114827033B (zh) | 数据流控方法、装置、设备与计算机可读存储介质 | |
CN114979250B (zh) | 消息推送方法、装置和设备 | |
CN109361620B (zh) | 一种数据发送的方法、装置、设备及存储介质 | |
CN110868304B (zh) | 一种pcc策略下发方法及*** | |
WO2024066770A9 (zh) | 信息获取方法、装置和存储介质 | |
CN107682276B (zh) | 一种数据流的调度方法及*** | |
CN114390006B (zh) | 数据包传输方法、装置、设备和存储介质 | |
CN116719630B (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 |