CN116208788A - 提供网络应用服务的方法及装置、服务器设备和存储介质 - Google Patents
提供网络应用服务的方法及装置、服务器设备和存储介质 Download PDFInfo
- Publication number
- CN116208788A CN116208788A CN202310485474.9A CN202310485474A CN116208788A CN 116208788 A CN116208788 A CN 116208788A CN 202310485474 A CN202310485474 A CN 202310485474A CN 116208788 A CN116208788 A CN 116208788A
- Authority
- CN
- China
- Prior art keywords
- parameter
- terminal
- video data
- score
- warning level
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 65
- 238000013139 quantization Methods 0.000 claims abstract description 43
- 230000005540 biological transmission Effects 0.000 claims abstract description 34
- 238000012545 processing Methods 0.000 claims abstract description 22
- 230000008569 process Effects 0.000 claims abstract description 20
- 230000000903 blocking effect Effects 0.000 claims abstract description 18
- 238000010801 machine learning Methods 0.000 claims description 20
- 238000005516 engineering process Methods 0.000 claims description 8
- 238000012549 training Methods 0.000 claims description 7
- 238000012937 correction Methods 0.000 claims description 3
- 230000009286 beneficial effect Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000001934 delay Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 208000003028 Stuttering Diseases 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010485 coping Effects 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 238000013077 scoring method Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/238—Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
- H04N21/2385—Channel allocation; Bandwidth allocation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/24—Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
- H04N21/2402—Monitoring of the downstream path of the transmission network, e.g. bandwidth available
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/43—Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
- H04N21/442—Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
- H04N21/4424—Monitoring of the internal components or processes of the client device, e.g. CPU or memory load, processing speed, timer, counter or percentage of the hard disk space used
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/478—Supplemental services, e.g. displaying phone caller identification, shopping application
- H04N21/4781—Games
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Databases & Information Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本申请提供一种提供网络应用服务的方法及装置、服务器设备和存储介质,属于计算机技术领域。在通过向终端发送视频数据并接收来自所述终端的用户输入数据来向所述终端的用户提供网络应用服务时,所述方法包括:获取指示所述视频数据在网络中的传输质量的第一参数、指示所述终端的显示画面的卡顿程度的第二参数,和指示所述终端处理所述视频数据以呈现所述显示画面所用的时长的第三参数;基于所述第一参数、所述第二参数和所述第三参数确定所述网络应用服务的预警水平参量;根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长。本申请有助于及时发现并处理用户在体验网络应用服务时出现的卡顿问题。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种提供网络应用服务的方法及装置、服务器设备和存储介质。
背景技术
随着云计算、网络技术和游戏行业的快速发展,云游戏作为一种新兴的游戏方式,其已经成为游戏行业的重要趋势之一。云游戏将游戏应用类的核心部分迁移到云端服务器上,通过由服务器向终端实时发送视频画面并实时接收终端输入的方式,来向用户提供云游戏应用类的网络应用服务,使得玩家无需购买昂贵的游戏主机、电脑或者高配置手机,而只需在低配置设备上通过互联网即可流畅地体验游戏内容。目前,在移动端设备上,云游戏成为了不少用户首选的游戏方式。
用户期望云游戏拥有与移动端本地相同或者尽可能接近的用户体验,因此即使是在用户端网络不稳定的情况下,也需要云游戏供应商提供流畅、稳定、高画质的网络应用服务。然而,由于云游戏的程序主体在服务器上运行,用户使用的终端又多为配置较低的设备,因而难免会出现游戏卡顿、延时上升等影响用户体验的问题。
对于这类问题,目前的网络应用服务商往往只采用单一的错误日志监控告警来进行应对——通过对各个关键参数设置相应的阈值,在关键参数超过阈值时生成错误日志并进行告警和处理。但是,这样的处理方式既容易产生大量无实际意义的错误日志和告警而造成信息堆积和资源浪费,又很难及时发现并在早期解决所出现的问题,容易发生卡顿严重到用户退出游戏后服务器才发现并开始处理这一问题的情况。现有技术中其他类似的应对方式也大多存在处理不及时的问题,其主要原因在于,目前的网络应用服务多为实时发送应用画面并实时接收用户输入的高即时性的应用场景,而现有技术中针对传统低即时性的网络服务的运营维护方式很难满足高即时性的处理要求。
发明内容
本申请提供了一种提供网络应用服务的方法及装置、服务器设备和存储介质,有助于及时发现并处理用户在体验网络应用服务时出现的卡顿问题。
本申请实施例的至少一个方面提供了一种提供网络应用服务的方法,在通过向终端发送视频数据并接收来自所述终端的用户输入数据来向所述终端的用户提供网络应用服务时,所述方法包括:获取指示所述视频数据在网络中的传输质量的第一参数、指示所述终端的显示画面的卡顿程度的第二参数,和指示所述终端处理所述视频数据以呈现所述显示画面所用的时长的第三参数;基于所述第一参数、所述第二参数和所述第三参数确定所述网络应用服务的预警水平参量;其中,所述预警水平参量负相关于所述视频数据在网络中的传输质量,所述预警水平参量正相关于所述终端的显示画面的卡顿程度以及所述终端处理所述视频数据以呈现所述显示画面所用的时长;根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长,以使所述带宽上限负相关于所述预警水平参量且所述量化步长正相关于所述预警水平参量。
本申请实施例的至少一个方面提供了一种提供网络应用服务的装置,所述装置包括:获取模块,用于在通过向终端发送视频数据并接收来自所述终端的用户输入数据来向所述终端的用户提供网络应用服务时,获取指示所述视频数据在网络中的传输质量的第一参数、指示所述终端的显示画面的卡顿程度的第二参数,和指示所述终端处理所述视频数据以呈现所述显示画面所用的时长的第三参数;确定模块,用于基于所述第一参数、所述第二参数和所述第三参数确定所述网络应用服务的预警水平参量;其中,所述预警水平参量负相关于所述视频数据在网络中的传输质量,所述预警水平参量正相关于所述终端的显示画面的卡顿程度以及所述终端处理所述视频数据以呈现所述显示画面所用的时长;调整模块,用于根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长,以使所述带宽上限负相关于所述预警水平参量且所述量化步长正相关于所述预警水平参量。
本申请实施例的至少一个方面提供了一种服务器设备,所述服务器设备包括:处理器;用于存储所述处理器的可执行指令的存储器;其中,所述处理器用于执行所述可执行指令,以实现上述提供网络应用服务的方法。
本申请实施例的至少一个方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有处理器的可执行指令,所述可执行指令被配置为在被处理器执行时使所述处理器实现上述提供网络应用服务的方法。
本申请实施例中,获取了有限的三个参数来确定网络应用服务的预警水平参量,并由该预警水平参量作为调整带宽上限和量化步长的基准;由于预警水平参量较高代表着网络传输质量较差、终端显示画面卡顿严重和终端处理视频缓慢中的至少一个,因而相应地减小带宽上限并增大带宽上限能够减轻网络传输带宽的压力并减小终端所需要接收和处理的数据量,从而帮助缓解用户在体验网络应用服务时出现的卡顿问题。相较于现有技术,本申请实施例不需要采集或调整过多的数据参量,而只需要获取三个参数并动态调整两个服务器参量就能够覆盖和缓解绝大多数造成卡顿问题的原因,既能够足够即时地由预警水平参量反映出用户体验网络应用服务时的卡顿情况,又能够在严重的卡顿出现之前提前减轻网络传输带宽和终端处理数据量上的压力,因而能够很好地适用于即时性要求高的网络应用服务的应用场景,帮助提升网络应用服务的可靠性和服务质量。
附图说明
图1是本申请实施例提供的一种提供网络应用服务的方法的应用场景示意图;
图2是本申请实施例提供的一种提供网络应用服务的方法的步骤流程示意图;
图3是本申请实施例提供的另一种提供网络应用服务的方法的步骤流程示意图;
图4是本申请实施例提供的又一种提供网络应用服务的方法的步骤流程示意图;
图5是本申请实施例提供的一种提供网络应用服务的装置的结构框图;
图6是本申请实施例提供的一种服务器设备的结构框图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
图1是本申请实施例提供的一种提供网络应用服务的方法的应用场景示意图。在如图1所示的通信***中,服务器设备100(可以为单个服务器设备或多个设备的组合,以下简称“服务器”)与终端设备200(可以为任何一种具备显示和通信功能的电子设备,如手机、平板电脑、笔记本电脑等等,以下简称“终端”)之间具有网络连接300,使得服务器100与终端200之间能够利用和依照规定的协议传输数据。在一个示例中,服务器100向终端200实时发送待形成显示画面的视频数据,并接收来自终端200发送的用户输入数据,以提供包括云电脑、云手机、云应用、云游戏中至少一种的网络应用服务。在该示例中,终端200向服务器发送包括键盘输入、触控屏输入、鼠标输入、按钮输入、麦克风输入、摄像头输入、传感器输入中的至少一种用户输入数据;服务器100通过向终端200包括电脑界面、手机界面、操作***界面、应用界面、游戏界面中的至少一个的显示画面的视频数据,来向终端200提供可供交互的用户界面。在例如云游戏的应用场景中,服务器100与终端200之间的交互具有很高的即时性要求——服务器100需要及时地将包括网络游戏应用的游戏界面的视频数据发送给终端200,终端200则需要及时地接收视频数据并显示该游戏界面、同时实时地获取用户输入并发送给服务器100;如此,终端200的用户才能同步于该网络游戏应用的服务器时钟来进行游玩。
在云游戏的应用场景中,用户期望云游戏拥有与移动端本地相同或者尽可能接近的用户体验,因此即使是在用户端网络不稳定的情况下,也需要云游戏供应商提供流畅、稳定、高画质的网络应用服务。然而,由于云游戏的程序主体在服务器100上运行,用户使用的终端200又多为配置较低的设备,因而难免会出现游戏卡顿、延时上升等影响用户体验的问题。
针对上述问题,目前网络应用服务商往往只采用单一的错误日志监控告警来进行应对——通过对各个关键参数设置相应的阈值,在关键参数超过阈值时生成错误日志并进行告警和处理。例如,服务器监控终端上的网络延时这一项关键参数,并在其超过300ms的阈值时生成错误日志并进行告警,以等待运维人员判断是否出现故障并进行相应的处理。在上述方式中,各关键参数的阈值非常依赖于运维人员的经验,如果阈值设置的过小,容易产生大量无实际意义的错误日志和告警而造成信息堆积和资源浪费;而如果阈值设置的过大,容易出现卡顿严重到用户退出游戏后服务器才进行告警的情况。此外,即使运维人员在第一时间准确接收到故障事件的告警信息,其也需要一定的时间来确认故障情况并选择相应的处理手段,这也为针对卡顿问题的处理带来一定的延时,而容易处理不及时而导致不能满足例如云游戏的应用场景的高即时性要求。
图2是本申请实施例提供的一种提供网络应用服务的方法的步骤流程示意图。针对上述问题,本申请实施例的提供网络应用服务的方法提供了一种可以帮助解决上述传统运维方式不能满足高即时性要求的问题。参见图2,该方法应用于服务器(例如由图1中的服务器设备100执行),并在服务器通过向终端发送视频数据并接收来自终端的用户输入数据来向终端的用户提供网络应用服务时包括以下过程。
在步骤201中,获取指示视频数据在网络中的传输质量的第一参数、指示终端的显示画面的卡顿程度的第二参数,和指示终端处理视频数据以呈现显示画面所用的时长的第三参数。
在步骤202中,基于第一参数、第二参数和第三参数确定网络应用服务的预警水平参量;其中,预警水平参量负相关于视频数据在网络中的传输质量,预警水平参量正相关于终端的显示画面的卡顿程度以及终端处理视频数据以呈现显示画面所用的时长。
在步骤203中,根据预警水平参量调整向终端发送视频数据的带宽上限和视频数据的量化步长,以使带宽上限负相关于预警水平参量且量化步长正相关于预警水平参量。
可以看出,本申请实施例中,获取了有限的三个参数来确定网络应用服务的预警水平参量,并由该预警水平参量作为调整带宽上限和量化步长的基准;由于预警水平参量较高代表着网络传输质量较差、终端显示画面卡顿严重和终端处理视频缓慢中的至少一个,因而相应地减小带宽上限并增大带宽上限能够减轻网络传输带宽的压力并减小终端所需要接收和处理的数据量,从而帮助缓解用户在体验网络应用服务时出现的卡顿问题。相较于现有技术,本申请实施例不需要采集或调整过多的数据参量,而只需要获取三个参数并动态调整两个服务器参量就能够覆盖和缓解绝大多数造成卡顿问题的原因,既能够足够即时地由预警水平参量反映出用户体验网络应用服务时的卡顿情况,又能够在严重的卡顿出现之前提前减轻网络传输带宽和终端处理数据量上的压力,因而能够很好地适用于即时性要求高的网络应用服务的应用场景,帮助提升网络应用服务的可靠性和服务质量。
需要说明的是,第一参数指示视频数据在网络中的传输质量,其中传输质量即网络中从服务器传输到终端的数据的过程是否顺畅,因而第一参数可以基于例如往返时延(Round-Trip Time,RTT,数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长)、丢包率、传输速率、带宽开销、网络时延等等相关参数中的至少一个计算得到。第二参数指示终端的显示画面的卡顿程度,与终端显示画面的帧率、卡顿次数(Jank)、卡顿率(Stutter)、卡顿时长(Jank Time)等等参数有关,因而可以基于其中的至少一个计算得到。第三参数指示终端处理视频数据以呈现显示画面所用的时长,取决于终端显示方式的不同可以基于总处理时长、解码时延、降噪时延、渲染时延等等参数中的至少一个计算得到。在此基础之上,可以选择适当的函数形式来表示预警水平参量与第一参数、第二参数和第三参数之间的关系,以使预警水平参量负相关于视频数据在网络中的传输质量,且正相关于终端的显示画面的卡顿程度以及终端处理视频数据以呈现显示画面所用的时长。
还需要说明的是,上述向终端发送视频数据的带宽上限指的是单位时间内容许向终端发送的最大数据量,带宽上限越高视频数据的能够支持的清晰度和分辨率就越大,而向下调整带宽上限可以降低单位时间内终端需要接收和处理的视频数据的最大数据量,从而降低传输链路和终端处理器的压力。上述视频数据的量化步长指的是量化(在不降低视觉效果的前提下减少图像编码长度,以减少视觉恢复中不必要的信息)技术中的一项参数,其在H.264编解码器中对于亮度编码而言有0~51这52个数值,数值越大表示量化越精细,数值越小表示量化越粗糙;向上调整量化步长可以在不降低视觉效果的前提下降低所需要传输的视频数据的数据量,从而降低传输链路和终端处理器的压力。
在一个示例中,第一参数等于第一评分、第二评分、第三评分,或者第一评分、第二评分和第三评分中至少两个之和,第一评分为基于视频数据的数据包的往返时延超过预设阈值的次数RTT_overflow的评分,第二评分为基于视频数据的数据包的往返时延符合抖动事件判定条件的次数RTT_jitter的评分,第三评分为基于视频数据的数据包在网络中的丢包率Rate_lost的评分;第二参数等于第四评分、第五评分或者第四评分与第五评分之和,第四评分为基于显示画面的总卡顿时长Janktime的评分,第五评分为基于显示画面的平均卡顿频率Jankrate的评分;第三参数等于第六评分、第七评分或者第六评分与第七评分之和,第六评分为基于终端对视频数据进行解码所用的平均时长Decodingtime的评分,第七评分为基于终端进行渲染以呈现显示画面所用的平均时长Renderingtime的评分。在一个示例中,上述第一参数、第二参数和第三参数采用如下面表1所示的评分方式进行计算。
表1 第一参数、第二参数和第三参数的计算方式示例
如表1所示,例如,如果获取得到RTT_overflow=0、RTT_jitter=1、Lostrate=2%、Janktime=8ms、Jankrate=0.5%、Decodingtime=20ms、Renderingtime=15ms,那么第一参数等于第一评分(0)、第二评分(0.3)和第三评分(0.5)之和0.8,第二参数等于第四评分(0)与第五评分(0)之和0,第三参数等于第六评分(0.6)属于第七评分(0.6)之和1.2。
在一个预警水平参量计算方式示例中,上述步骤202包括将第一参数与第一权重的乘积、第二参数与第二权重的乘积以及第三参数与第三权重的乘积之和确定为预警水平参量,其中第一权重和第二权重均大于第三权重。在一个示例中,第一权重为0.55,第二权重为0.35,第三权重为0.1,从而在上述第一参数为0.8、第二参数为0、第三参数为1.2的情况下,确定的预警水平参量等于0.55*0.8+0*0.35+1.2*0.1=0.56。在本示例中,上述步骤203包括:在预警水平参量从小于1变为大于1时,将上述带宽上限调整为原本的数值的80%、将上述量化步长的最小值和最大值分别调整为原本的数值加3;在预警水平参量从大于1变为小于1时,将上述带宽上限以及上述量化步长的最小值和最大值恢复为原本的数值。此外,根据预警水平参量在大于1时的数值变化,动态调整上述带宽上限以及上述量化步长的最小值和最大值,以使带宽上限负相关于预警水平参量且量化步长正相关于预警水平参量。
经过在实际网络环境中的云游戏测试,按照上述示例获取以上七项评分并由此动态调整带宽上限和量化步长的方式,能够灵敏地检测到云游戏场景中网络应用服务质量下降的情形,并通过在更加严重的问题发生之前降低网络链路和终端处理器的压力减少了用户的卡顿感,在发现和处理问题的即时性与有效性之间取得了较好的平衡。
图3是本申请实施例提供的另一种提供网络应用服务的方法的步骤流程示意图。该方法在上述步骤201和步骤202的基础之上,还包括以下过程。
在步骤301中,将上一个调整周期内的预警水平参量的数值输入至预先训练好的机器学习模型中,并根据机器学习模型输出的调整参量的数值确定当前的调整周期内带宽上限和量化步长的设定值。
在一个示例中,预先基于决策树算法、生长算法、遗传算法、神经网络算法或支持向量机算法生成机器学***参量,该机器学***参量确定调整参量的机器学***参量的数值输入至该训练好的机器学***参量与调整参量之间的对应关系,从而更灵敏和精准地调节调整的幅度,有助于实现更好的网络应用服务的可靠性和服务质量。
在步骤302中,在根据设定值向下调整带宽上限并向上调整量化步长时,若上一个调整周期内终端的显示画面的帧率的下降幅度小于预定阈值,则跳过本次对带宽上限和量化步长的调整。
在一个示例中,上述步骤302包括在每次向下调整带宽上限并向上调整量化步长之前获取上一调整周期内终端的显示画面的帧率的下降幅度(比如在此期间帧率的最大值与最小值之差,或者上一调整周期内的平均帧率与上一调整周期结束时刻的帧率之差,等等),并在下降幅度小于预定阈值(比如小于3fps、5fps或10fps等等)时跳过本次对带宽上限和量化步长的调整。通过实际测试,采用上述方式跳过一些调整能够减少误调整情况的发生,更有助于提升网络应用服务的可靠性和服务质量。
在步骤303中,在预警水平参量达到预定阈值时,将向终端发送视频数据的数据传输模式切换为应用了前向纠错码FEC技术的数据传输模式。
在一个示例中,在上述预警水平参量从小于10变为大于10时,服务器将向终端发送视频数据的数据传输模式从未应用FEC技术的模式切换为应用了FEC技术的模式,从而以冗余纠错的方式来对抗弱网下的网络丢包;此外,在上述预警水平参量从大于10变为小于10时,服务器将向终端发送视频数据的数据传输模式从应用了FEC技术的模式切换为未应用FEC技术的模式,以减少对服务器处理器和网络链路的压力。
图4是本申请实施例提供的另一种提供网络应用服务的方法的步骤流程示意图。在图3所示流程的基础之上,该方法还包括以下过程。
在步骤401中,在终端的用户结束使用网络应用服务之后,获取终端的用户本次使用网络应用服务的时长,以及在该时长的范围内的预警水平参量的数值和调整带宽上限和量化步长时所使用的调整参量的数值,以生成机器学习模型的训练样本;其中,训练样本为正样本还是负样本由终端的用户本次使用网络应用服务的时长确定。
在步骤402中,利用训练样本对机器学习模型进行更新。
在一个示例中,上述方法还包括对机器学***参量和调整时所使用的调整参量的数值,以生成新的正样本加入至为了进行更新而生成的样本集合中;若游玩时长小于5/8/10/15分钟,则采集在此期间内确定的预警水平参量和调整时所使用的调整参量的数值,以生成新的负样本加入至为了进行更新而生成的样本集合中。此外,运维人员可以结合每个样本生成时的附加数据对样本集合中的正样本和负样本进行人工筛选,上述正样本和负样本也可以基于本次使用网络应用服务的时长以更加细致的判断逻辑来生成,以控制有害样本的数量。如此,通过上述更新机制,上述机器学习模型能够针对不同网络环境和应用场景具有更强的适应性,有助于进一步提升网络应用服务的可靠性和服务质量。
图5是本申请实施例提供的一种提供网络应用服务的装置的结构框图。参见图5,该装置应用于服务器设备(例如由图1中的服务器设备100执行),并包括:获取模块51,用于在通过向终端发送视频数据并接收来自所述终端的用户输入数据来向所述终端的用户提供网络应用服务时,获取指示所述视频数据在网络中的传输质量的第一参数、指示所述终端的显示画面的卡顿程度的第二参数,和指示所述终端处理所述视频数据以呈现所述显示画面所用的时长的第三参数;确定模块52,用于基于所述第一参数、所述第二参数和所述第三参数确定所述网络应用服务的预警水平参量;其中,所述预警水平参量负相关于所述视频数据在网络中的传输质量,所述预警水平参量正相关于所述终端的显示画面的卡顿程度以及所述终端处理所述视频数据以呈现所述显示画面所用的时长;调整模块53,用于根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长,以使所述带宽上限负相关于所述预警水平参量且所述量化步长正相关于所述预警水平参量。
可以看出,本申请实施例中,获取了有限的三个参数来确定网络应用服务的预警水平参量,并由该预警水平参量作为调整带宽上限和量化步长的基准;由于预警水平参量较高代表着网络传输质量较差、终端显示画面卡顿严重和终端处理视频缓慢中的至少一个,因而相应地减小带宽上限并增大带宽上限能够减轻网络传输带宽的压力并减小终端所需要接收和处理的数据量,从而帮助缓解用户在体验网络应用服务时出现的卡顿问题。相较于现有技术,本申请实施例不需要采集或调整过多的数据参量,而只需要获取三个参数并动态调整两个服务器参量就能够覆盖和缓解绝大多数造成卡顿问题的原因,既能够足够即时地由预警水平参量反映出用户体验网络应用服务时的卡顿情况,又能够在严重的卡顿出现之前提前减轻网络传输带宽和终端处理数据量上的压力,因而能够很好地适用于即时性要求高的网络应用服务的应用场景,帮助提升网络应用服务的可靠性和服务质量。
本申请实施例提供的提供网络应用服务的装置,其实现过程与本申请实施例提供的提供网络应用服务的方法一致,所能达到的效果也与本申请实施例提供的提供网络应用服务的方法相同,在此不再赘述。
图6是本申请实施例提供的一种服务器设备的结构框图。参见图6,该服务器设备包括处理器61和用于存储该处理器61的可执行指令的存储器62;其中,该处理器61用于执行所述可执行指令,以实现上述任意一种的提供网络应用服务的方法。以上文所述的任意一种服务器设备为例,本申请实施例的服务器设备能够帮助缓解用户在体验网络应用服务时出现的卡顿问题,有助于提升网络应用服务的可靠性和服务质量。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质为非易失性的存储介质,且该存储介质存储有处理器的可执行指令,该可执行指令被配置为在被处理器执行时使处理器实现上述任意一种的提供网络应用服务的方法。以上述存储器62为例,本申请实施例的计算机可读存储介质能够用来实现上述任意一种的提供网络应用服务的方法,因而能够帮助缓解用户在体验网络应用服务时出现的卡顿问题,有助于提升网络应用服务的可靠性和服务质量。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (10)
1.一种提供网络应用服务的方法,其特征在于,在通过向终端发送视频数据并接收来自所述终端的用户输入数据来向所述终端的用户提供网络应用服务时,所述方法包括:
获取指示所述视频数据在网络中的传输质量的第一参数、指示所述终端的显示画面的卡顿程度的第二参数,和指示所述终端处理所述视频数据以呈现所述显示画面所用的时长的第三参数;
基于所述第一参数、所述第二参数和所述第三参数确定所述网络应用服务的预警水平参量;其中,所述预警水平参量负相关于所述视频数据在网络中的传输质量,所述预警水平参量正相关于所述终端的显示画面的卡顿程度以及所述终端处理所述视频数据以呈现所述显示画面所用的时长;
根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长,以使所述带宽上限负相关于所述预警水平参量且所述量化步长正相关于所述预警水平参量。
2.根据权利要求1所述的方法,其特征在于,所述根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长,以使所述带宽上限负相关于所述预警水平参量且所述量化步长正相关于所述预警水平参量,包括:
将上一个调整周期内的所述预警水平参量的数值输入至预先训练好的机器学习模型中,并根据所述机器学习模型输出的调整参量的数值确定当前的调整周期内所述带宽上限和所述量化步长的设定值。
3.根据权利要求2所述的方法,其特征在于,所述根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长,以使所述带宽上限负相关于所述预警水平参量且所述量化步长正相关于所述预警水平参量,包括:
在根据所述设定值向下调整所述带宽上限并向上调整所述量化步长时,若上一个调整周期内所述终端的显示画面的帧率的下降幅度小于预定阈值,则跳过本次对所述带宽上限和所述量化步长的调整。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在所述终端的用户结束使用所述网络应用服务之后,获取所述终端的用户本次使用所述网络应用服务的时长,以及在该时长的范围内的所述预警水平参量的数值和调整所述带宽上限和所述量化步长时所使用的所述调整参量的数值,以生成所述机器学习模型的训练样本;其中,所述训练样本为正样本还是负样本由所述终端的用户本次使用所述网络应用服务的时长确定;
利用所述训练样本对所述机器学习模型进行更新。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述预警水平参量达到预定阈值时,将向所述终端发送所述视频数据的数据传输模式切换为应用了前向纠错码FEC技术的数据传输模式。
6.根据权利要求1所述的方法,其特征在于,所述基于所述第一参数、所述第二参数和所述第三参数确定所述网络应用服务的预警水平参量,包括:
将所述第一参数与第一权重的乘积、所述第二参数与第二权重的乘积以及所述第三参数与第三权重的乘积之和,确定为所述预警水平参量;其中,所述第一权重和所述第二权重均大于所述第三权重。
7.根据权利要求1至6中任一项所述的方法,其特征在于,
所述第一参数等于第一评分、第二评分、第三评分,或者所述第一评分、所述第二评分和所述第三评分中至少两个之和,所述第一评分为基于所述视频数据的数据包的往返时延超过预设阈值的次数的评分,所述第二评分为基于所述视频数据的数据包的往返时延符合抖动事件判定条件的次数的评分,所述第三评分为基于所述视频数据的数据包在所述网络中的丢包率的评分;其中,所述往返时延为所述数据包被发送的时刻与该数据包的接收状态被确认的时刻之间相差的时长;
所述第二参数等于第四评分、第五评分或者所述第四评分与所述第五评分之和,所述第四评分为基于所述显示画面的总卡顿时长的评分,所述第五评分为基于所述显示画面的平均卡顿频率的评分;
所述第三参数等于第六评分、第七评分或者第六评分与第七评分之和,所述第六评分为基于所述终端对所述视频数据进行解码所用的平均时长的评分,所述第七评分为基于所述终端进行渲染以呈现所述显示画面所用的平均时长的评分。
8.一种提供网络应用服务的装置,其特征在于,所述装置包括:
获取模块,用于在通过向终端发送视频数据并接收来自所述终端的用户输入数据来向所述终端的用户提供网络应用服务时,获取指示所述视频数据在网络中的传输质量的第一参数、指示所述终端的显示画面的卡顿程度的第二参数,和指示所述终端处理所述视频数据以呈现所述显示画面所用的时长的第三参数;
确定模块,用于基于所述第一参数、所述第二参数和所述第三参数确定所述网络应用服务的预警水平参量;其中,所述预警水平参量负相关于所述视频数据在网络中的传输质量,所述预警水平参量正相关于所述终端的显示画面的卡顿程度以及所述终端处理所述视频数据以呈现所述显示画面所用的时长;
调整模块,用于根据所述预警水平参量调整向所述终端发送所述视频数据的带宽上限和所述视频数据的量化步长,以使所述带宽上限负相关于所述预警水平参量且所述量化步长正相关于所述预警水平参量。
9.一种服务器设备,其特征在于,所述服务器设备包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器用于执行所述可执行指令,以实现如权利要求1至7中任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有处理器的可执行指令,所述可执行指令被配置为在被处理器执行时使所述处理器实现如权利要求1至7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485474.9A CN116208788B (zh) | 2023-05-04 | 2023-05-04 | 提供网络应用服务的方法及装置、服务器设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310485474.9A CN116208788B (zh) | 2023-05-04 | 2023-05-04 | 提供网络应用服务的方法及装置、服务器设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116208788A true CN116208788A (zh) | 2023-06-02 |
CN116208788B CN116208788B (zh) | 2023-07-21 |
Family
ID=86508026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310485474.9A Active CN116208788B (zh) | 2023-05-04 | 2023-05-04 | 提供网络应用服务的方法及装置、服务器设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116208788B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170022851A (ko) * | 2015-08-19 | 2017-03-02 | 삼성전자주식회사 | 데이터 전송 장치, 데이터 전송 제어 방법, 및 데이터 스트림 |
CN109754060A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种神经网络机器学习模型的训练方法及装置 |
CN110365600A (zh) * | 2019-07-30 | 2019-10-22 | 广州市百果园信息技术有限公司 | 一种基于bbr的拥塞控制方法、装置、设备和存储介质 |
CN110812835A (zh) * | 2019-11-06 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 云游戏的检测方法和装置、存储介质及电子装置 |
CN111135569A (zh) * | 2019-12-20 | 2020-05-12 | RealMe重庆移动通信有限公司 | 云游戏处理方法、装置、存储介质与电子设备 |
CN112468808A (zh) * | 2020-11-26 | 2021-03-09 | 深圳大学 | 一种基于强化学习的i帧目标带宽分配方法及装置 |
CN112804527A (zh) * | 2021-01-07 | 2021-05-14 | 苏州浪潮智能科技有限公司 | 图像输出方法、装置及计算机可读存储介质 |
CN113423008A (zh) * | 2021-08-20 | 2021-09-21 | 北京易真学思教育科技有限公司 | 视频数据传输方法、装置、电子设备和介质 |
CN114666225A (zh) * | 2022-03-10 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 带宽调整方法、数据传输方法、设备及计算机存储介质 |
CN115242759A (zh) * | 2022-07-14 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 一种云游戏处理方法、装置、计算机设备和介质 |
CN115277581A (zh) * | 2022-07-21 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 网络传输的控制方法、装置、计算机设备、存储介质 |
CN115622948A (zh) * | 2022-10-09 | 2023-01-17 | 深圳市智宇实业发展有限公司 | 基于服务质量的数据传输方法、装置、设备及存储介质 |
CN115767149A (zh) * | 2022-11-21 | 2023-03-07 | 京东科技信息技术有限公司 | 一种视频数据的传输方法和装置 |
-
2023
- 2023-05-04 CN CN202310485474.9A patent/CN116208788B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170022851A (ko) * | 2015-08-19 | 2017-03-02 | 삼성전자주식회사 | 데이터 전송 장치, 데이터 전송 제어 방법, 및 데이터 스트림 |
CN109754060A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 一种神经网络机器学习模型的训练方法及装置 |
CN110365600A (zh) * | 2019-07-30 | 2019-10-22 | 广州市百果园信息技术有限公司 | 一种基于bbr的拥塞控制方法、装置、设备和存储介质 |
CN110812835A (zh) * | 2019-11-06 | 2020-02-21 | 腾讯科技(深圳)有限公司 | 云游戏的检测方法和装置、存储介质及电子装置 |
CN111135569A (zh) * | 2019-12-20 | 2020-05-12 | RealMe重庆移动通信有限公司 | 云游戏处理方法、装置、存储介质与电子设备 |
CN112468808A (zh) * | 2020-11-26 | 2021-03-09 | 深圳大学 | 一种基于强化学习的i帧目标带宽分配方法及装置 |
CN112804527A (zh) * | 2021-01-07 | 2021-05-14 | 苏州浪潮智能科技有限公司 | 图像输出方法、装置及计算机可读存储介质 |
CN113423008A (zh) * | 2021-08-20 | 2021-09-21 | 北京易真学思教育科技有限公司 | 视频数据传输方法、装置、电子设备和介质 |
CN114666225A (zh) * | 2022-03-10 | 2022-06-24 | 阿里巴巴(中国)有限公司 | 带宽调整方法、数据传输方法、设备及计算机存储介质 |
CN115242759A (zh) * | 2022-07-14 | 2022-10-25 | 腾讯科技(深圳)有限公司 | 一种云游戏处理方法、装置、计算机设备和介质 |
CN115277581A (zh) * | 2022-07-21 | 2022-11-01 | 腾讯科技(深圳)有限公司 | 网络传输的控制方法、装置、计算机设备、存储介质 |
CN115622948A (zh) * | 2022-10-09 | 2023-01-17 | 深圳市智宇实业发展有限公司 | 基于服务质量的数据传输方法、装置、设备及存储介质 |
CN115767149A (zh) * | 2022-11-21 | 2023-03-07 | 京东科技信息技术有限公司 | 一种视频数据的传输方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN116208788B (zh) | 2023-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108462896B (zh) | 直播数据流处理方法、装置及电子设备 | |
CN108881780B (zh) | 视频通话中动态调整清晰度模式的方法、服务器 | |
CN103873889B (zh) | 影音流传输方法、影音装置以及影音提供装置 | |
CN106488265A (zh) | 一种发送媒体流的方法和装置 | |
CN111135569A (zh) | 云游戏处理方法、装置、存储介质与电子设备 | |
CN111128203B (zh) | 音频数据编码、解码方法、装置、电子设备及存储介质 | |
CN103069775A (zh) | 呼叫重新建立 | |
CN109862377B (zh) | 视频传输方法、装置、***及计算机可读存储介质 | |
CN111629210A (zh) | 一种数据处理的方法、装置及电子设备 | |
CN110996103A (zh) | 一种根据网络情况对视频编码码率进行调节的方法 | |
CN109040830B (zh) | 直播播放卡顿的预测方法、切换方法及装置 | |
CN112929712A (zh) | 视频码率调整方法和装置 | |
CN102111381A (zh) | 一种流媒体码率动态调整方法、终端及流媒体服务器 | |
CN112866746A (zh) | 一种多路串流云游戏控制方法、装置、设备及存储介质 | |
CN112583903A (zh) | 一种服务自适应访问方法、装置、电子设备及存储介质 | |
CN111617466A (zh) | 编码格式的确定方法、装置及云游戏的实现方法 | |
CN114025389A (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN116208788B (zh) | 提供网络应用服务的方法及装置、服务器设备和存储介质 | |
CN104427383B (zh) | 一种信息处理方法以及电子设备 | |
CN112383791A (zh) | 一种媒体数据处理方法、装置、电子设备和存储介质 | |
CN116962179A (zh) | 网络传输优化方法、装置、计算机可读介质及电子设备 | |
CN115378832B (zh) | 拥塞检测方法、装置及流媒体传输***、电子设备和介质 | |
CN105959798B (zh) | 视频流的帧定位方法、装置和设备 | |
CN114827617B (zh) | 一种基于感知模型的视频编解码方法及*** | |
CN118075517A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231206 Address after: 230031 Room 672, 6/F, Building A3A4, Zhong'an Chuanggu Science Park, No. 900, Wangjiang West Road, High-tech Zone, Hefei, Anhui Patentee after: Anhui Haima Cloud Technology Co.,Ltd. Address before: 301700 room 2d25, Building 29, No.89 Heyuan Road, Jingjin science and Technology Valley Industrial Park, Wuqing District, Tianjin Patentee before: HAIMAYUN (TIANJIN) INFORMATION TECHNOLOGY CO.,LTD. |
|
TR01 | Transfer of patent right |