CN111185003B - 实时云应用托管方法、装置、服务器和存储介质 - Google Patents

实时云应用托管方法、装置、服务器和存储介质 Download PDF

Info

Publication number
CN111185003B
CN111185003B CN201911420400.7A CN201911420400A CN111185003B CN 111185003 B CN111185003 B CN 111185003B CN 201911420400 A CN201911420400 A CN 201911420400A CN 111185003 B CN111185003 B CN 111185003B
Authority
CN
China
Prior art keywords
user
instruction
behavior model
condition
katon
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
Application number
CN201911420400.7A
Other languages
English (en)
Other versions
CN111185003A (zh
Inventor
多浩学
刘宇星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MIGU Interactive Entertainment Co Ltd
MIGU Culture Technology Co Ltd
Original Assignee
MIGU Interactive Entertainment Co Ltd
MIGU Culture Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by MIGU Interactive Entertainment Co Ltd, MIGU Culture Technology Co Ltd filed Critical MIGU Interactive Entertainment Co Ltd
Priority to CN201911420400.7A priority Critical patent/CN111185003B/zh
Publication of CN111185003A publication Critical patent/CN111185003A/zh
Application granted granted Critical
Publication of CN111185003B publication Critical patent/CN111185003B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/535Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例涉及互联网技术领域,公开了一种实时云应用托管方法、装置、服务器和存储介质。该方法包括:实时获取云服务器与用户的客户端之间的网络状况数据;若根据网络状况数据确定客户端的网络状况存在预设的网络质量差情况,则确定当前的用户卡顿行为模型是否满足预设条件;若满足预设条件,则根据当前的用户卡顿行为模型模拟用户的卡顿操作模式生成预测操作指令,以替代在网络质量差情况下从客户端接收的用户的操作指令与云应用进行实时交互。本发明实施方式可在网络质量差较差时,通过模拟的用户操作与云应用进行实时交互,从而不仅可使模拟的用户操作与用户的实际操作具有一定的一致性,而且可避免操作延迟。

Description

实时云应用托管方法、装置、服务器和存储介质
技术领域
本发明涉及互联网技术领域,特别涉及一种实时云应用托管方法及装置、服务器和存储介质。
背景技术
在云游戏中,云服务器为客户机分配游戏服务器,将客户机发送的游戏操作指令转发给游戏服务器,并将游戏服务器产生的游戏数据(流媒体码流)转发给客户机。云游戏对客户机的网络状态要求很高,不稳定的网络状态会导致视频画面有较大延迟或卡顿,进而造成用户操作与其看到的视频不同步,容易引起用户误操作,大大降低用户体验。
现有技术主要针对带宽进行优化,根据用户的网络条件,采用不同的码率,常用码率控制包括:恒定码率(Constant Bit Rate,简称CBR)、平均码率(Average Bit Rate,简称ABR)、动态码率(Variable Bit Rate,简称VBR),一般使用平均码率,但平均码率有很多弊端,所以优化的方向是在用户网络条件允许的情况下,寻找编码码率的最优解,这样可以在发生卡顿时,通过适当降低游戏画质来尽可能保证数据传输的流畅度。
发明人发现相关技术至少存在以下问题:不稳定或者卡顿等的网络状态仍然可能导致用户的操作发生延迟(即云游戏服务器不能及时收到用户的操作指令),对于一些实时性要求比较敏感的游戏来说不能接受,或云游戏服务器收到不正确的操作指令,容易产生误操作。
发明内容
有鉴于此,本发明实施方式的目的在于提供一种实时云应用托管方法、装置、服务器和存储介质,可在网络质量差较差时,通过模拟的用户操作与云应用进行实时交互,从而不仅可使模拟的用户操作与用户的实际操作具有一定的一致性,而且可避免操作延迟。
为解决上述技术问题,本发明的实施方式提供了一种实时云应用托管方法,包括:实时获取云服务器与用户的客户端之间的网络状况数据;
若根据所述网络状况数据确定所述客户端的网络状况存在网络质量差情况,则确定当前的用户卡顿行为模型是否满足预设条件;
若满足所述预设条件,则根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令,以替代在所述网络质量差情况下从所述客户端接收的所述用户的操作指令与所述云应用进行实时交互。
本发明的实施方式还提供了一种实时云应用托管装置,包括:
获取模块,用于实时获取云服务器与用户的客户端之间的网络状况数据;
第一确定模块,用于根据所述网络状况数据确定所述客户端的网络状况是否存在网络质量差情况;
第二确定模块,用于若存在所述网络质量差情况,则确定当前的用户卡顿行为模型是否满足预设条件;
托管模块,用于若满足所述预设条件,则根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令,以替代在所述网络质量差情况下从所述客户端接收的所述用户的操作指令与所述云应用进行实时交互。
本发明的实施方式还提供了一种服务器,包括:存储器和处理器,存储器存储计算机程序,处理器运行所述计算机程序以实现如前所述的实时云应用托管方法。
本发明的实施方式还提供了一种存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如前所述的实时云应用托管方法。
本发明实施方式相对于现有技术而言,如果根据实时获取的云服务器与用户的客户端之间的网络状况数据确定客户端的网络状况存在网络质量差情况,且当前的用户卡顿行为模型满足预设条件,则根据当前的用户卡顿行为模型模拟用户的卡顿操作模式生成预测操作指令,以替代在网络质量差情况下从客户端接收的用户的操作指令与云应用进行实时交互,因此,本发明实施方式可在发生卡顿时,通过模拟用户操作的方式对用户操作进行托管,不仅可使得模拟的用户操作与实际用户操作具有一定的一致性,而且可避免用户操作延迟。
作为一个实施例,所述用户卡顿行为模型包括若干条用户指令预测规则,所述规则包含卡顿前以及卡顿时的用户操作指令;
所述确定当前的用户卡顿行为模型是否满足预设条件,具体包括:
获取所述用户在所述网络质量差情况发生前的用户操作指令;
若所述当前的用户卡顿行为模型中存在目标规则,且所述目标规则的准确率达到预设阈值,则确定所述当前的用户卡顿行为模型满足预设条件;
其中,所述目标规则包含所述用户在所述网络质量差情况发生前的用户操作指令。
作为一个实施例,得到所述用户指令预测规则的准确率,具体包括:
统计出现所述网络质量差情况时所述用户的历史卡顿操作记录;其中,每项历史卡顿操作记录包含:卡顿前以及卡顿时的用户操作指令;
根据所述用户指令预测规则与所述历史卡顿操作记录的匹配结果确定所述用户指令预测规则的准确率。
作为一个实施例,在根据所述用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令之后,还包括:
获取所述网络质量差情况下的所述用户的用户操作指令;
得到所述预测操作指令与获取的所述用户的用户操作指令的比对结果;
根据所述比对结果更新所述用户卡顿行为模型。从而可根据托管时的用户操作指令更新用户卡顿行为模型,提高模型的准确性和适用性。
作为一个实施例,还包括:
若所述当前的用户卡顿行为模型不满足预设条件,则获取卡顿前以及卡顿时所述用户的用户操作指令;
对所述卡顿前以及卡顿时所述用户的用户操作指令进行分析,并根据分析结果更新所述当前的用户卡顿行为模型。
作为一个实施例,根据分析结果更新所述当前的用户卡顿行为模型,具体包括:
若所述当前的用户卡顿行为模型不存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令生成用户指令预测规则,并添加至所述用户卡顿行为模型;
若所述当前的用户卡顿行为模型存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令更新所述目标规则的准确率;
其中,所述目标规则包含所述用户在所述网络质量差情况发生前的用户操作指令。根据卡顿前以及卡顿时的用户操作指令更新用户卡顿行为模型,可以更快速学习用户行为模式,提高模型准确性。
作为一个实施例,在根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令之后,还包括:
若满足退出托管条件,则停止生成预测操作指令,并继续从所述客户端接收所述用户的操作指令,以与所述云应用进行实时交互。
附图说明
图1是根据本发明第一实施方式实时云应用托管方法的流程图;
图2是根据本发明第一实施方式实时云应用托管方法中确定用户卡顿行为模型是否满足预设条件的流程图;
图3是根据本发明第一实施方式实时云应用托管方法中得到用户指令预测规则的准确率的流程图;
图4是根据本发明第二实施方式实时云应用托管方法的流程图;
图5是根据本发明第三实施方式实时云应用托管装置的结构示意图;
图6是根据本发明第四实施方式服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本发明而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本发明所要求保护的技术方案。
本发明的第一实施方式涉及一种实时云应用托管方法,应用于云服务器侧。作为示例而非限制,云应用是指云游戏,云服务器用于用户的客户端与云游戏服务器之间的数据转发。该方法包括:实时获取云服务器与用户的客户端之间的网络状况数据;若根据网络状况数据确定客户端的网络状况存在网络质量差情况,则确定当前的用户卡顿行为模型是否满足预设条件;若满足预设条件,则根据当前的用户卡顿行为模型模拟用户的卡顿操作模式生成预测操作指令,以替代在网络质量差情况下从客户端接收的用户的操作指令与云应用进行实时交互。因此,本发明实施方式可在客户端与云服务器之间的网络状况发生卡顿时,通过模拟用户操作的方式对用户操作进行托管,不仅可使得模拟的用户操作与实际用户操作具有一定的一致性,而且可避免用户操作延迟。
下面结合图1对本实施方式的实时云应用托管方法进行详细说明。该方法包括步骤101至步骤108。
步骤101:实时获取云服务器与用户的客户端之间的网络状况数据。
用户使用客户端进行云游戏,客户端通过网络与云服务器进行数据交互。该客户端包括但不限于:智能手机、平板电脑、个人笔记本和个人数字助理等。网络可以是无线网络也可以是有线网络。无线网络可以是移动运营商提供的移动网络,也可以是无线局域网络。网络状况数据包括但不限于客户端与云服务器之间的通信速率。
步骤102:根据网络状况数据确定客户端的网络状况是否存在网络质量差情况,若存在网络质量差情况,则执行步骤103,否则,返回步骤101。
具体地,若客户端的通信速率小于云应用对应的网速卡顿阈值,则确定客户端的网络状况存在网络质量差情况,此时执行步骤103,若客户端的通信速率大于或者等于云应用对应的网速卡顿阈值,则确定不存在网络质量差情况,此时,执行步骤101。需要说明的是,不同的云游戏对应的网速卡顿阈值可以不同。网速卡顿阈值是表征用户操作指令不会发生延迟和/或游戏画面不会卡顿所要求的通信速率的下限。网速卡顿阈值可以通过实际测试、统计得到,在测试过程中可以考虑用户是否调整分辨率以确保画面流畅这一因素来辅助确定网速卡顿阈值,此处不再赘述。可以理解的是,网络质量差情况还可以包含网络不稳定的情况,网络不稳定也可能导致画面卡顿或者数据发生延迟,网络不稳定的监测方式为本领域技术人员熟知,此处不再赘述。
步骤103:确定当前的用户卡顿行为模型是否满足预设条件,若满足预设条件,则执行步骤104,否则,执行步骤105。
如图2所示,确定当前的用户卡顿行为模型是否满足预设条件具体包括步骤201至步骤205。
步骤201:获取用户在网络质量差情况发生前的用户操作指令。
本实施例中,云服务器在检测客户端的网络状况数据的同时,还实时记录客户端发送的用户操作指令。步骤201获取用户在网络质量差情况发生前的用户操作指令中,在步骤102确定出客户端的网络状况存在网络质量差情况时,读取云服务器记录的在该网络质量差情况发生时刻前的操作指令,以作为该用户在本次网络质量差情况发生前的用户操作指令。
步骤202:确定当前的用户卡顿行为模型中是否存在目标规则,若存在目标规则,则执行步骤203,若不存在目标规则,则执行步骤205。
目标规则是包含用户在网络质量差情况发生前的用户操作指令的规则。卡顿前的用户操作指令可以是一条或者多条用户操作指令。云游戏模式下,用户操作指令包括但不限于:用户在触摸屏上的点击、长按以及滑动等的操作。
步骤202确定当前的用户卡顿行为模型中是否存在目标规则中,若用户卡顿行为模型中存在包含用户在网络质量差情况发生前的用户操作指令的规则,则确定当前的用户卡顿行为模型中存在目标规则,此时执行步骤203,否则,判定当前的用户卡顿行为模型中不存在目标规则,并执行步骤205。
本实施例中,用户卡顿行为模型包括若干条用户指令预测规则,作为示例而非限制,一条规则可以包含卡顿前以及卡顿时的用户操作指令。在实际应用中,当前的用户卡顿行为模型可以是预先建立的初步用户卡顿行为模型。初步用户卡顿行为模型可以包含若干条用户指令预测规则,每条规则可以包含卡顿前以及卡顿时的用户操作指令。发明人发现,在实时交互云游戏中,用户在面临卡顿视频画面时,所进行的操作通常具有一定的固定模式,比如通常为状态未知情况下玩家以自我保护为目的的操作;虽然在卡顿时用户针对不同应用有不同的操作模式(亦可称行为模式),但是同一用户针对同一应用的操作模式具有一定的规律。以“王者荣耀”游戏为例,在发生卡顿时,如果卡顿发生前用户正在前进,那么卡顿发生时,用户为了不冲到塔下或敌群中使自己处于危险状态,大概率会开始回退。前进和回退这两种操作指令会伴随卡顿状态出现,如果一些指令多次被检测到伴随卡顿状态出现,那么这些指令可用于构建用户卡顿行为模型。因此,可以通过对云游戏操作指令进行分析、测试以及统计等方式得到网络质量差情况发生时可能出现的卡顿前以及卡顿时的用户操作指令,从而得到初步用户卡顿行为模型中的用户指令预测规则,可以理解的是,初步用户卡顿行为模型中的用户指令预测规则中的卡顿前的用户操作指令可以是云游戏的常用操作指令。
步骤202确定当前的用户卡顿行为模型中是否存在目标规则中,若当前的用户卡顿行为模型中存在卡顿前的用户操作指令与本次网络质量差情况发生前的用户操作指令一致的用户指令预测规则,则确定当前的用户卡顿行为模型中存在目标规则,否则,确定不存在目标规则。
步骤203:确定目标规则的准确率是否达到预设阈值,若达到预设阈值,则执行步骤204,否则执行步骤205。
本实施例中,目标规则的准确率的确定方式与用户卡顿行为模型中的任一用户指令预测规则的准确率确定方式相同。
如图3所示,得到用户指令预测规则的准确率,具体包括:
步骤301:统计出现网络质量差情况时用户的历史卡顿操作记录。其中,每项历史卡顿操作记录包含:卡顿前以及卡顿时的用户操作指令。根据一般用户的平均反应速度,卡顿发生时刻之后的1秒内用户发出的指令,通常为发生卡顿时用户的应对反应,因此,该1秒内用户发出的指令可作为卡顿时的用户操作指令。
本实施例中,云服务器在每次检测到网络质量差情况时,均可记录一项历史卡顿操作记录。因此,步骤301可统计得到用户在玩该云游戏过程中出现的所有网络质量差情况所对应的历史卡顿操作记录。
步骤302:根据用户指令预测规则与历史卡顿操作记录的匹配结果确定用户指令预测规则的准确率。
本实施例中,初步用户卡顿行为模型中每条用户指令预测规则的准确率可以默认为0。用户指令预测规则与历史卡顿操作记录的匹配结果是指,该用户指令预测规则与每项历史卡顿操作记录的匹配结果,其中,若用户指令预测规则与一项历史卡顿操作记录中的卡顿前以及卡顿时的用户操作指令对应相同,则确定该用户指令预测规则与该项历史卡顿操作记录匹配,否则,则确定该用户指令预测规则与该项历史卡顿操作记录不匹配。当一项历史卡顿操作记录与某条用户指令预测规则匹配时,可记录该条用户指令预测规则对应该项历史卡顿操作记录的准确率为100%,当一项历史卡顿操作记录与某条用户指令预测规则不匹配时,可记录该条用户指令预测规则对应该项历史卡顿操作记录的准确率为0%。而一条用户指令预测规则的准确率可以根据该规则对应的大于预设项数阈值的历史卡顿操作记录的准确率确定,预设项数阈值可以根据规则的准确率对于托管有效性的影响程度确定,托管有效是指托管期间模拟生成的用户操作指令与用户实际的操作指令一致。其中,用户指令预测规则的准确率可以为对应的历史卡顿操作记录的准确率的平均值。比如,某条用户指令预测规则对应的历史卡顿操作记录为3项,每项历史卡顿操作记录对应的准确率均为100%,则该条用户指令预测规则的准确率即为100%。可以理解的是,也可以采用加权求平均的方式计算用户指令预测规则的准确率,比如,越接近当前的网络质量差情况发生时间的历史卡顿操作记录的权重越高。
步骤204:确定当前的用户卡顿行为模型满足预设条件。
即当前的用户卡顿行为模型可以实现较为有效的托管。
步骤205:确定当前的用户卡顿行为模型不满足预设条件。
即当前的用户卡顿行为模型尚不能实现较为有效的托管。
可以理解的是,在一些应用中,在确定当前的用户卡顿行为模型是否满足预设条件时,也可以省略掉用户卡顿行为模型中是否存在目标规则的判断步骤,即直接根据当前的用户卡顿行为模型的准确率确定用户卡顿行为模型是否满足预设条件。其中,用户卡顿行为模型仍可以根据卡顿前的用户操作指令生成预测操作指令(即卡顿时的用户操作指令)。比如,用户卡顿行为模型可以包括多条用户指令预测规则,用户指令预测规则包含卡顿前的用户操作指令以及多项卡顿时的用户操作指令,且多项卡顿时的用户操作指令可以具有不同的优先级,用户卡顿行为模型基于该条用户指令预测规则模拟生成预测操作指令时,采用优先级最高的卡顿时的用户操作指令作为生成的预测操作指令。本实施例中,当前的用户卡顿行为模型的准确率可以类似上述实施例中的一条用户指令预测规则的准确率确定方式,此处不再赘述。
步骤104:根据当前的用户卡顿行为模型模拟用户的卡顿操作模式生成预测操作指令,以替代在网络质量差情况下从客户端接收的用户的操作指令与云应用进行实时交互。
具体地,根据卡顿前的用户操作指令以及目标规则即可模拟生成预测操作指令,并将预测操作指令发送至游戏服务器,从而通过托管方式实现与云游戏服务器实时交互。需要说明的是,在托管期间,云服务器不会将客户端发送的用户操作指令转发至云游戏服务器。需要说明的是,步骤104中还可以向用户提示进入托管模式,并可进一步提示用户在托管期间可以继续操作。
步骤105:获取卡顿前以及卡顿时用户的用户操作指令。
本实施例中,若当前的用户卡顿行为模型尚不能有效托管时,云服务器仍然转发客户端发送的用户操作指令至云游戏服务器,并实时记录卡顿前以及卡顿时用户的用户操作指令。
步骤106:对卡顿前以及卡顿时用户的用户操作指令进行分析,并根据分析结果更新当前的用户卡顿行为模型。
在一个例子中,步骤106具体包括:
若当前的用户卡顿行为模型不存在目标规则,则根据卡顿前以及卡顿时用户的用户操作指令生成用户指令预测规则,并添加至用户卡顿行为模型;若当前的用户卡顿行为模型存在目标规则,则根据卡顿前以及卡顿时用户的用户操作指令更新目标规则的准确率;其中,目标规则包含用户在网络质量差情况发生前的用户操作指令。
具体而言,用户卡顿行为模型的更新方式可以包括:
若当前的用户卡顿行为模型中不存在包含卡顿前用户的用户操作指令的用户指令预测规则,则将记录的卡顿前以及卡顿时用户的用户操作指令作为一条新的用户指令预测规则添加至模型中,并可以为该用户指令预测规则设置初始的准确率,比如可以设置为50%或者100%等;
若当前的用户卡顿行为模型中存在包含卡顿前用户的用户操作指令的目标规则,则可以更新该目标规则的准确率,比如,在目标规则与卡顿前以及卡顿时的用户操作指令一致时,增加该目标规则的准确率,在目标规则与卡顿前以及卡顿时的用户操作指令不一致时,减小该目标规则的准确率。进一步地,在减小该目标规则的准确率的同时,还可将记录的卡顿前以及卡顿时用户的用户操作指令也作为一条新的用户指令预测规则添加至模型中,并可以为该用户指令预测规则设置初始的准确率,比如可以设置为50%或者100%等;而后,可以持续更新该卡顿前的用户操作指令相同的用户指令预测规则的准确率。通过持续根据卡顿时用户的操作记录更新用户卡顿行为模型,可以更好学习用户的操作模式,不断提高模型的准确性。
可以理解的是,在一些例子中,也可以在统计得到的卡顿前以及卡顿时用户的用户操作指令的累计出现次数大于预设次数时,比如大于1次时,再根据该卡顿前以及卡顿时用户的用户操作指令生成用户指令预测规则,并添加至用户卡顿行为模型。
步骤107:确定是否满足退出托管条件,若满足退出托管条件,则执行步骤108,否则,返回步骤104。
具体地,可以在托管时间大于预设托管时长或者通信速率大于或者等于网速卡顿阈值时,确定满足退出托管条件。预设托管时长比如是1秒。在实际应用中,也可以综合考虑托管时间以及通信速率以确定是否满足退出托管条件。
步骤108,停止生成预测操作指令,并继续从客户端接收用户的操作指令,以与云应用进行实时交互。
此时,云服务器停止托管,并将客户端发送的用户操作指令实时转发至云游戏服务器。步骤108中还可以向用户发出退出托管提示。
本发明实施方式通过对网络质量差情况下用户操作模式进行分析学习以得到用户卡顿行为模型,在监测到网络质量差情况且该模型可实现有效托管时,进入短暂的托管保护模式以利用该模型接管用户操作行为,并在指定时间或网络恢复后,退出托管模式,由用户接管操作,因此,可保证网络质量差情况下托管操作与用户操作行为的高度一致性,同时避免了用户操作指令延迟导致的误操作,提高用户体验。
本发明的第二实施方式涉及一种实时云应用托管方法,本实施方式在第一实施方式的基础上做出进一步改进,主要改进之处在于:在第二实施方式中,在退出托管之后,还根据本次网络质量差情况发生时用户的操作指令更新用户卡顿行为模型。
如图2所示,本实施方式的实时云应用托管方法包括步骤401至步骤411。其中,步骤401至步骤408与上述步骤101至步骤108对应一致,此处不再赘述。
步骤409:获取网络质量差情况下的用户的用户操作指令。
步骤410:得到预测操作指令与获取的用户的用户操作指令的比对结果。
步骤411:根据比对结果更新用户卡顿行为模型。
本实施例中,用户卡顿行为模型的更新方式可以包括:
若预测操作指令与获取的用户的用户操作指令的比对结果一致,则增加模型中该目标规则的准确率;若预测操作指令与获取的用户的用户操作指令的比对结果不一致,则减小模型中该目标规则的准确率;需要说明的是,在减小模型中该目标规则的准确率的同时,还可以将记录的卡顿前以及卡顿时用户的用户操作指令作为一条新的用户指令预测规则添加至模型中,并可以为该用户指令预测规则设置初始的准确率,比如可以设置为50%或者100%等;类似地,新增的用户指令预测规则的准确率也可以被不断更新。通过持续根据卡顿时用户的操作记录更新用户卡顿行为模型,可以更好学习用户的操作模式,不断提高模型的准确性。
本发明实施方式通过对网络质量差情况下用户操作模式进行分析学习以得到用户卡顿行为模型,在监测到网络质量差情况且该模型可实现有效托管时,进入短暂的托管保护模式以利用该模型接管用户操作行为,并在指定时间或网络恢复后,退出托管模式,由用户接管操作,因此,可保证网络质量差情况下托管操作与用户操作行为的高度一致性,同时避免了用户操作指令延迟导致的误操作,提高用户体验。并且,本实施方式还根据托管情况下的用户操作指令更新用户卡顿行为模型,进一步提高模型的准确性和适用性。
本发明的第三实施方式涉及一种实时云应用托管装置。请参阅图5,本实施方式的实时云应用托管装置500包括:
获取模块501,用于实时获取云服务器与用户的客户端之间的网络状况数据;
第一确定模块502,用于根据所述网络状况数据确定所述客户端的网络状况是否存在网络质量差情况;
第二确定模块503,用于若存在所述网络质量差情况,则确定当前的用户卡顿行为模型是否满足预设条件;
托管模块504,用于若满足所述预设条件,则根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令,以替代在所述网络质量差情况下从所述客户端接收的所述用户的操作指令与所述云应用进行实时交互。
可选地,用户卡顿行为模型包括若干条用户指令预测规则,规则包含卡顿前以及卡顿时的用户操作指令;第二确定模块503包括:
指令获取子模块,用于获取用户在网络质量差情况发生前的用户操作指令;
目标规则确定子模块,用于确定当前的用户卡顿行为模型中是否存在目标规则;
准确率确定子模块,用于若目标规则的准确率达到预设阈值,则确定当前的用户卡顿行为模型满足预设条件;
其中,所述目标规则包含所述用户在所述网络质量差情况发生前的用户操作指令。
在一个例子中,准确率确定子模块具体用于:
统计出现网络质量差情况时所述用户的历史卡顿操作记录;其中,每项历史卡顿操作记录包含:卡顿前以及卡顿时的用户操作指令;
根据所述用户指令预测规则与所述历史卡顿操作记录的匹配结果确定所述用户指令预测规则的准确率。
可选地,实时云应用托管装置500还包括:
第一获取模块,用于获取所述网络质量差情况下的所述用户的用户操作指令;
比对模块,用于得到所述预测操作指令与获取的所述用户的用户操作指令的比对结果;
第一更新模块,用于根据所述比对结果更新所述用户卡顿行为模型。
可选地,实时云应用托管装置500还可以包括:
第二获取模块,用于若所述当前的用户卡顿行为模型不满足预设条件,则获取卡顿前以及卡顿时所述用户的用户操作指令;
第二更新模块,用于对所述卡顿前以及卡顿时所述用户的用户操作指令进行分析,并根据分析结果更新所述当前的用户卡顿行为模型。
第二更新模块具体用于:若所述当前的用户卡顿行为模型不存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令生成用户指令预测规则,并添加至所述用户卡顿行为模型;若所述当前的用户卡顿行为模型存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令更新所述目标规则的准确率;其中,所述目标规则包含所述用户在所述网络质量差情况发生前的用户操作指令。
在一个例子中,实时云应用托管装置500还可以包括:
退出托管模块,用于在根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令之后,若满足退出托管条件,则停止生成预测操作指令,并继续从所述客户端接收所述用户的操作指令,以与所述云应用进行实时交互。
本发明实施方式的实时云应用托管装置通过对网络质量差情况下用户操作模式进行分析学习以得到用户卡顿行为模型,在监测到网络质量差情况且该模型可实现有效托管时,进入短暂的托管保护模式以利用该模型接管用户操作行为,并在指定时间或网络恢复后,退出托管模式,由用户接管操作,因此,可保证网络质量差情况下托管操作与用户操作行为的高度一致性,同时避免了用户操作指令延迟导致的误操作,提高用户体验。并且,本实施方式还根据托管情况下的用户操作指令更新用户卡顿行为模型,进一步提高模型的准确性和适用性。
本发明的第四实施方式涉及一种服务器。本实施方式的服务器可以是独立的服务器,也可以是服务器群。如图6所示,该服务器包括:存储器602和处理器601;
其中,所述存储器602存储有可被所述至少一个处理器601执行的指令,所述指令被所述至少一个处理器601执行以实现上述实施方式中的实时云应用托管方法。
该服务器包括一个或多个处理器601以及存储器602,图6中以一个处理器601为例。处理器601、存储器602可以通过总线或者其他方式连接,图6中以通过总线连接为例。存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器601通过运行存储在存储器602中的非易失性软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述实时云应用托管方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施方式中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至外接设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
一个或者多个模块存储在存储器602中,当被一个或者多个处理器601执行时,执行上述任意方法实施方式中的实时云应用托管方法。
上述设备可执行本发明实施方式所提供的方法,具备执行方法相应的功能模块和有益效果,未在本实施方式中详尽描述的技术细节,可参见本发明实施方式所提供的方法。
本发明实施方式的服务器通过对网络质量差情况下用户操作模式进行分析学习以得到用户卡顿行为模型,在监测到网络质量差情况且该模型可实现有效托管时,进入短暂的托管保护模式以利用该模型接管用户操作行为,并在指定时间或网络恢复后,退出托管模式,由用户接管操作,因此,可保证网络质量差情况下托管操作与用户操作行为的高度一致性,同时避免了用户操作指令延迟导致的误操作,提高用户体验。并且,本实施方式还根据托管情况下的用户操作指令更新用户卡顿行为模型,进一步提高模型的准确性和适用性。
本发明的第五实施方式涉及一种非易失性存储介质,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行上述部分或全部的方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (7)

1.一种实时云应用托管方法,其特征在于,包括:
实时获取云服务器与用户的客户端之间的网络状况数据;
若根据所述网络状况数据确定所述客户端的网络状况存在预设的网络质量差情况,则确定当前的用户卡顿行为模型是否满足预设条件;其中所述用户卡顿行为模型包括若干条用户指令预测规则,所述用户指令预测规则包含卡顿前以及卡顿时的用户操作指令;
若满足所述预设条件,则根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令,以替代在所述网络质量差情况下从所述客户端接收的所述用户的操作指令与所述云应用进行实时交互;
若不满足所述预设条件,则获取卡顿前以及卡顿时所述用户的用户操作指令,并对所述卡顿前以及卡顿时所述用户的用户操作指令进行分析;若所述当前的用户卡顿行为模型不存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令生成用户指令预测规则,并添加至所述用户卡顿行为模型;若所述当前的用户卡顿行为模型存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令更新所述目标规则的准确率;
其中,若所述当前的用户卡顿行为模型中存在卡顿前的用户操作指令与本次网络质量差情况发生前的用户操作指令一致的用户指令预测规则,则确定当前的用户卡顿行为模型中存在目标规则;若所述当前的用户卡顿行为模型中存在目标规则,且所述目标规则的准确率达到预设阈值,则确定所述当前的用户卡顿行为模型满足预设条件。
2.根据权利要求1所述的实时云应用托管方法,其特征在于,得到所述用户指令预测规则的准确率,具体包括:
统计出现所述网络质量差情况时所述用户的历史卡顿操作记录;其中,每项历史卡顿操作记录包含:卡顿前以及卡顿时的用户操作指令;
根据所述用户指令预测规则与所述历史卡顿操作记录的匹配结果确定所述用户指令预测规则的准确率。
3.根据权利要求1所述的实时云应用托管方法,其特征在于,在根据所述用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令之后,还包括:
获取所述网络质量差情况下的所述用户的用户操作指令;
得到所述预测操作指令与获取的所述用户的用户操作指令的比对结果;
根据所述比对结果更新所述用户卡顿行为模型。
4.根据权利要求1所述的实时云应用托管方法,其特征在于,在根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令之后,还包括:
若满足退出托管条件,则停止生成预测操作指令,并继续从所述客户端接收所述用户的操作指令,以与所述云应用进行实时交互。
5.一种实时云应用托管装置,其特征在于,包括:
获取模块,用于实时获取云服务器与用户的客户端之间的网络状况数据;
第一确定模块,用于根据所述网络状况数据确定所述客户端的网络状况是否存在网络质量差情况;
第二确定模块,用于若存在所述网络质量差情况,则确定当前的用户卡顿行为模型是否满足预设条件;其中所述用户卡顿行为模型包括若干条用户指令预测规则,所述用户指令预测规则规则包含卡顿前以及卡顿时的用户操作指令;
托管模块,用于若满足所述预设条件,则根据所述当前的用户卡顿行为模型模拟所述用户的卡顿操作模式生成预测操作指令,以替代在所述网络质量差情况下从所述客户端接收的所述用户的操作指令与所述云应用进行实时交互;若不满足所述预设条件,则获取卡顿前以及卡顿时所述用户的用户操作指令,并对所述卡顿前以及卡顿时所述用户的用户操作指令进行分析;若所述当前的用户卡顿行为模型不存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令生成用户指令预测规则,并添加至所述用户卡顿行为模型;若所述当前的用户卡顿行为模型存在目标规则,则根据所述卡顿前以及卡顿时所述用户的用户操作指令更新所述目标规则的准确率;其中,若所述当前的用户卡顿行为模型中存在卡顿前的用户操作指令与本次网络质量差情况发生前的用户操作指令一致的用户指令预测规则,则确定当前的用户卡顿行为模型中存在目标规则;若所述当前的用户卡顿行为模型中存在目标规则,且所述目标规则的准确率达到预设阈值,则确定所述当前的用户卡顿行为模型满足预设条件。
6.一种服务器,其特征在于,包括:存储器和处理器,存储器存储计算机程序,处理器运行所述计算机程序以实现如权利要求1至4中任一项所述的实时云应用托管方法。
7.一种计算机可读存储介质,其特征在于,用于存储计算机可读程序,所述计算机可读程序用于供计算机执行如权利要求1至4中任一项所述的实时云应用托管方法。
CN201911420400.7A 2019-12-31 2019-12-31 实时云应用托管方法、装置、服务器和存储介质 Active CN111185003B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911420400.7A CN111185003B (zh) 2019-12-31 2019-12-31 实时云应用托管方法、装置、服务器和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911420400.7A CN111185003B (zh) 2019-12-31 2019-12-31 实时云应用托管方法、装置、服务器和存储介质

Publications (2)

Publication Number Publication Date
CN111185003A CN111185003A (zh) 2020-05-22
CN111185003B true CN111185003B (zh) 2023-09-19

Family

ID=70684399

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911420400.7A Active CN111185003B (zh) 2019-12-31 2019-12-31 实时云应用托管方法、装置、服务器和存储介质

Country Status (1)

Country Link
CN (1) CN111185003B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112860150B (zh) * 2021-03-30 2022-12-16 中国工商银行股份有限公司 基于大数据分析的用户页面操作提示方法及装置
CN113573142B (zh) * 2021-09-22 2021-12-24 北京海誉动想科技股份有限公司 分辨率调整方法与装置
CN114222169B (zh) * 2021-12-14 2023-10-20 咪咕互动娱乐有限公司 一种视频流传输方法、通信设备及计算机可读存储介质
CN115086194B (zh) * 2022-05-20 2024-02-02 阿里巴巴(中国)有限公司 云应用的数据传输方法、计算设备及计算机存储介质
CN116966603B (zh) * 2023-09-22 2024-01-02 深圳云天畅想信息科技有限公司 云游戏多账户的托管方法、托管系统及计算机装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1479243A (zh) * 2002-07-24 2004-03-03 �����ɷ� 游戏服务器设备、游戏进程管理设备及游戏进程管理方法
CN101887485A (zh) * 2009-05-14 2010-11-17 灰熊(北京)科技有限公司 一种在棋牌游戏中实现稳妥的掉线重连的方法
CN105749551A (zh) * 2016-02-26 2016-07-13 网易(杭州)网络有限公司 一种游戏托管方法、系统及终端
CN106936930A (zh) * 2017-04-25 2017-07-07 杭州禹乐网络科技有限公司 一种网页游戏的防断线方法及装置
CN109726941A (zh) * 2019-02-21 2019-05-07 厦门芯鸽信息科技有限公司 一种智能终端的自动营销系统及自动营销方法
WO2019195169A1 (en) * 2018-04-02 2019-10-10 Google Llc Temporary game control by user simulation following loss of active control

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW201043308A (en) * 2009-06-09 2010-12-16 Inventec Appliances Corp Method and system for re-connecting an unexpectedly off-line web-game
US10512846B2 (en) * 2017-03-07 2019-12-24 Sony Interactive Entertainment LLC Emulating player behavior after player departure

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1479243A (zh) * 2002-07-24 2004-03-03 �����ɷ� 游戏服务器设备、游戏进程管理设备及游戏进程管理方法
CN101887485A (zh) * 2009-05-14 2010-11-17 灰熊(北京)科技有限公司 一种在棋牌游戏中实现稳妥的掉线重连的方法
CN105749551A (zh) * 2016-02-26 2016-07-13 网易(杭州)网络有限公司 一种游戏托管方法、系统及终端
CN106936930A (zh) * 2017-04-25 2017-07-07 杭州禹乐网络科技有限公司 一种网页游戏的防断线方法及装置
WO2019195169A1 (en) * 2018-04-02 2019-10-10 Google Llc Temporary game control by user simulation following loss of active control
CN109726941A (zh) * 2019-02-21 2019-05-07 厦门芯鸽信息科技有限公司 一种智能终端的自动营销系统及自动营销方法

Also Published As

Publication number Publication date
CN111185003A (zh) 2020-05-22

Similar Documents

Publication Publication Date Title
CN111185003B (zh) 实时云应用托管方法、装置、服务器和存储介质
CN108079578B (zh) 一种基于云游戏的码率调整方法、装置及存储介质
US8903897B2 (en) System and method for providing interactive content to non-native application environments
US20160199742A1 (en) Automatic generation of a game replay video
US20170185454A1 (en) Method and Electronic Device for Determining Resource Consumption of Task
CN111405327A (zh) 网络带宽预测模型训练方法、视频数据播放方法及装置
CN106911927B (zh) 评估网络视频用户体验质量的方法、装置和dpi设备
CN112642161B (zh) 射击游戏的作弊检测、模型训练方法、设备及存储介质
Bentaleb et al. BoB: Bandwidth prediction for real-time communications using heuristic and reinforcement learning
AU2018275194A1 (en) Temporal placement of a rebuffering event
CN111163152B (zh) 信息推送方法及装置
CN111177725A (zh) 一种检测恶意刷点击操作的方法、装置、设备及存储介质
CN110796591A (zh) 一种gpu卡的使用方法及相关设备
CN114040257A (zh) 一种自适应视频流传输播放方法、装置、设备及存储介质
Xu et al. Consistent synchronization of action order with least noticeable delays in fast-paced multiplayer online games
CN109603153B (zh) 虚拟事件处理方法及装置、电子设备和存储介质
CN114866489A (zh) 拥塞控制方法和装置及拥塞控制模型的训练方法和装置
CN110099051B (zh) 卡顿风险的检测方法、装置及电子设备
CN110139160B (zh) 一种预测系统及方法
KR101932130B1 (ko) 원격 디스플레이의 체감 품질을 향상하는 영상 처리 장치 및 방법
Zhang et al. Evaluation of a pre-reckoning algorithm for distributed virtual environments
CN111084985B (zh) 一种输入设备的参数调节方法、装置、终端设备及介质
Phong et al. Joint preloading and bitrate adaptation for short video streaming
CN115037964B (zh) 基于弹幕的视频组合方法、装置、计算机设备及存储介质
CN112596822B (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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Duo Haoxue

Inventor after: Liu Yuxing

Inventor before: Duo Haoxue

GR01 Patent grant
GR01 Patent grant