CN111818005A - 数据包处理方法、装置、电子设备及可读存储介质 - Google Patents

数据包处理方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN111818005A
CN111818005A CN201911370585.5A CN201911370585A CN111818005A CN 111818005 A CN111818005 A CN 111818005A CN 201911370585 A CN201911370585 A CN 201911370585A CN 111818005 A CN111818005 A CN 111818005A
Authority
CN
China
Prior art keywords
data packet
instruction data
instruction
sequence
packet
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.)
Pending
Application number
CN201911370585.5A
Other languages
English (en)
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.)
Xiamen Yaji Software Co Ltd
Original Assignee
Xiamen Yaji Software 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 Xiamen Yaji Software Co Ltd filed Critical Xiamen Yaji Software Co Ltd
Priority to CN201911370585.5A priority Critical patent/CN111818005A/zh
Publication of CN111818005A publication Critical patent/CN111818005A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • 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/31Communication aspects specific to video games, e.g. between several handheld game devices at close range
    • 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
    • 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/50Controlling the output signals based on the game progress
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors
    • H04L43/0829Packet loss
    • 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
    • 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/538Features 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 performing operations on behalf of the game client, e.g. rendering

Abstract

本申请实施例提供了一种数据包处理方法、装置、电子设备及可读存储介质。该方法包括:接收发送端发送的指令数据包序列,指令数据包序列中包括各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的;确定指令数据包序列中是否存在丢失的指令数据包;若确定存在丢失的指令数据包,则确定丢失的指令数据包的类型,类型为关键数据包或非关键数据包;若确定丢失的指令数据包的类型为非关键数据包,则基于指令数据包序列中所包含的各指令数据包确定对应的游戏操作。在本申请实施例中,即便在存在丢失数据包的情况下,也可以保证玩家正常操控游戏,提升玩家的游戏体验感。

Description

数据包处理方法、装置、电子设备及可读存储介质
技术领域
本申请涉及数据处理技术领域,具体而言,本发明涉及一种数据包处理方法、装置、电子设备及可读存储介质。
背景技术
TCP协议可以保证数据包可靠有序地传输。但是,如果网络频繁抖动或抖动较大,那么在数据传输时的一种传输方式为只要有一个数据包没有到达对端,就会一直重传这个数据包,直到这个数据包到达对端,但是就会出现“延时累加”的情况,也就是从这个数据包开始,后面所有的数据包都要加上这段时间的位移,即从这个数据包开始到后面的数据均会超时。而另一种传输方式为经过一段时间后,将这段时间内所有的数据包全部丢弃,继续传输当前时刻的数据包,但是如果当前网络仍然不稳定,当前传输的数据包仍然无法到达对端,从而进入一直丢弃数据包的死循环。
但是,当网络的丢包率超过是一定数量时,便会出现花屏等情况,玩家则无法正常操控游戏。
发明内容
本申请的目的旨在至少能解决上述的技术缺陷之一。
第一方面,提供了一种数据包处理方法,该方法包括:
接收发送端发送的指令数据包序列,指令数据包序列中包括各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的;
确定指令数据包序列中是否存在丢失的指令数据包;
若确定存在丢失的指令数据包,则确定丢失的指令数据包的类型,类型为关键数据包或非关键数据包;
若确定丢失的指令数据包的类型为非关键数据包,则基于指令数据包序列中所包含的各指令数据包确定对应的游戏操作。
第一方面可选的实施例中,确定指令数据包序列中是否存在丢失的指令数据包,包括:
获取指令数据包序列中的各指令数据包的排序标识;
根据排序标识,确定指令数据包序列中是否存在丢失的指令数据包。
第一方面可选的实施例中,确定丢失的指令数据包的类型,包括:
获取指令数据包序列对应的信息,状态信息包括用于指示指令数据包序列中所包含的关键数据包的信息;
根据状态信息,确定丢失的指令数据包的类型。
第一方面可选的实施例中,基于指令数据包序列中所包含的各指令数据包确定对应的游戏操作,包括:
根据指令数据包序列中的各指令数据包的排序标识,确定指令数据包序列中的各指令数据包的排序是否正确:
若确定排序不正确,则根据各指令数据包的排序标识对指令数据包序列中的各指令数据包进行排序;
基于排序后的各指令数据包序列确定对应的游戏操作。
第一方面可选的实施例中,若丢失的指令数据包的类型为关键数据包,该方法还包括:
向发送端发送丢失的指令数据包的数据包重传指令;
接收发送端基于数据包重传指令重新发送的指令数据包;
基于指令数据包序列确定对应的游戏操作,包括:
根据再次接收到的指令数据包和指令数据包序列中的指令数据包确定对应的游戏操作。
第一方面可选的实施例中,所述指令数据包序列中还包括冗余指令数据包,根据排序标识,确定指令数据包序列中是否存在丢失的指令数据包,包括:
根据排序标识和冗余数据包,确定指令数据包序列中是否存在丢失的指令数据包。
第二方面,提供了一种数据包处理方法,包括:
获取各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的;
获取当前网络质量信息,并根据当前网络质量信息确定待发送的指令数据包;
根据待发送的指令数据包生成指令数据包序列并发送至接收端。
第二方面可选的实施例中,根据当前网络质量信息确定待发送指令数据包,包括:
根据当前网络质量信息确定当前网络质量;
在确定当前网络质量满足设定条件时,将各指令数据包均作为待发送的指令数据包;或者
在当前网络质量不满足设定条件时,将各指令数据中的关键数据包作为待发送的指令数据包。
第二方面可选的实施例中,该方法还包括:
根据当前网络质量信息确定冗余指令数据包,冗余指令数据包为各指令数据包中的至少一个;
根据待发送的指令数据包生成指令数据包序列并发送至接收端,包括:
根据待发送的指令数据包和冗余指令数据包生成指令数据包序列并发送至接收端。
第二方面可选的实施例中,该方法还包括:
在接收到接收端发送的数据包重传指令时,基于数据包重传指令将需要重传的指令数据包发送至接收端。
第三方面,提供了一种数据包处理装置,该装置包括:
指令数据包接收模块,用于接收发送端发送的指令数据包序列,指令数据包序列中包括各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的;
指令数据包处理模块,用于确定指令数据包序列中是否存在丢失的指令数据包,以及在确定存在丢失的指令数据包时,则确定丢失的指令数据包的类型,类型为关键数据包或非关键数据包;
游戏操作确定模块,用于在确定丢失的指令数据包的类型为非关键数据包时,基于指令数据包序列中所包含的各指令数据包确定对应的游戏操作。
第三方面可选的实施例中,指令数据包处理模块在确定指令数据包序列中是否存在丢失的指令数据包时,具体用于:
获取指令数据包序列中的各指令数据包的排序标识;
根据排序标识,确定指令数据包序列中是否存在丢失的指令数据包。
第三方面可选的实施例中,指令数据包处理模块在确定丢失的指令数据包的类型时,具体用于:
获取指令数据包序列对应的状态信息,状态信息包括用于指示指令数据包序列中所包含的关键数据包的信息;
根据状态信息,确定丢失的指令数据包的类型。
第三方面可选的实施例中,游戏操作确定模块在基于指令数据包序列确定中所包含的各指令数据包对应的游戏操作时,具体用于:
根据排序标识,确定指令数据包序列中的各指令数据包的排序是否正确:
若确定排序不正确,则根据各指令数据包的排序标识对指令数据包序列中的各指令数据包进行排序;
基于排序后的各指令数据包序列确定对应的游戏操作。
第三方面可选的实施例中,该装置还包括指令数据包重传模块,具体用于:
在丢失的指令数据包的类型为关键数据包时,向发送端发送丢失的指令数据包的数据包重传指令;
接收发送端基于数据包重传指令重新发送的指令数据包;
游戏操作确定模块在基于指令数据包序列确定对应的游戏操作时,具体用于:
根据再次接收到的指令数据包和指令数据包序列中的指令数据包确定对应的游戏操作。
第三方面可选的实施例中,指令数据包序列中还包括冗余指令数据包,指令数据包处理模块在根据排序标识,确定指令数据包序列中是否存在丢失的指令数据时,具体用于:
根据排序标识和冗余数据包,确定指令数据包序列中是否存在丢失的指令数据包。
第四方面,提供了一种数据包处理装置,该装置包括:
指令数据包获取模块,用于获取各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的;
待发送指令数据包确定模块,用于获取当前网络质量信息,并根据当前网络质量信息确定待发送的指令数据包;
待发送指令数据发送模块,用于根据待发送的指令数据包生成指令数据包序列并发送至接收端。
第四方面可选的实施例中,待发送指令数据包确定模块在根据当前网络质量信息确定待发送的指令数据包时,具体用于:
根据当前网络质量信息确定当前网络质量;
在确定当前网络质量满足设定条件时,将各指令数据包均作为待发送的指令数据包;或者
在当前网络质量不满足设定条件时,将各指令数据中的关键数据包作为待发送的指令数据包。
第四方面可选的实施例中,该装置还包括指令冗余指令数据包确定模块,具体用于
根据当前网络质量信息确定冗余指令数据包,冗余指令数据包为各指令数据包中的至少一个;
待发送指令数据发送模块在根据待发送的指令数据包生成指令数据包序列并发送至接收端时,具体用于:
根据待发送的指令数据包和冗余指令数据包生成指令数据包序列并发送至接收端。
第四方面可选的实施例中,该装置还包括指令数据包重传处理模块,用于:
在接收到接收端发送的数据包重传指令时,基于数据包重传指令将需要重传的指令数据包发送至接收端。
第三方面,提供了一种电子设备,该电子设备包括:
处理器;以及存储器,该储器配置用于存储机器可读指令,该指令在由该处理器执行时,使得该处理器执行第一方面和第二方面中的任一项方法。
第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质上用于存储计算机指令,当计算机指令在计算机上运行时,使得计算机可以执行实现第一方面和第二方面中的任一项方法
本申请实施例提供的技术方案带来的有益效果是:
在本申请实施例中,接收端对于存在丢失指令数据包的指令数据包序列,若确定所丢失的指令数据包为非关键数据包,此时可以直接根据接收到的指令数据包确定对应的游戏操作,这样即便在存在丢失数据包的情况下,也可以保证玩家正常操控游戏,提升玩家的游戏体验感。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的一种数据包处理方法的流程示意图;
图2为本申请实施例提供的另一种数据包处理方法的流程示意图;
图3为本申请实施例提供的一种数据包处理方法的具体流程示意图;
图4为本申请实施例提供的一种数据包处理装置的结构示意图;
图5为本申请实施例提供的另一种数据包处理装置的结构示意图;
图6为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
玩家通过客户端所发出的操作指令是有序的、正确的。比如玩家通过客户端所发出的操作指令是down(下)+up(上),对应于单击的操作,此时云手机端(即接收端)所接收到的也一定要是down+up(单击),不能变成up+down。但是如果出现了丢包,比如接收端接收到的只有down,那么这个指令就是错误的,此时若应用在游戏中,就会使某个按钮按下去而不弹起。比如玩家按了射击按钮,本来玩家在客户端只按了一下就松开了,正确的情况下游戏角色射击一下,但是因为云手机端只接收到了down,没有接收到up,此时就导致游戏角色持续在射击。
基于此,本申请实施例提供一种数据包处理方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
本申请实施例提供了一种数据包处理方法,其可以应用于游戏操作指令传输的应用场景中,下面以应用场景为游戏操作指令传输的应用场景为例,对本申请实施例所提供的方法进行描述,如图1所示,该方法的执行为接收端,该方法可以包括:
步骤S101,接收发送端发送的指令数据包序列,指令数据包序列中包括各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的。
其中,发送端指的是发送指令数据包的设备,对应于不同的应用场景,对应于发送端的设备可能是不同的。例如,发送端可以安装了游戏应用程序用户的终端设备,相应的,此时接收端可以为游戏应用程序所对应的游戏服务器,如对于云游戏而言,该游戏服务器具体可以为云手机端。
在实际应用中,接收端可以接收发送端发送的指令数据包序列,该指令数据包序列中可以包括各指令数据包。其中,所包括的各指令数据包是基于玩家在游戏界面的游戏操作生成的,即所包括的各指令数据包对应于玩家所触发的游戏操作。也就是说,每当玩家在游戏界面触发游戏操作时,即可生成与游戏操作对应的指令数据包,并将生成的指令数据包以序列的形式发送至接收端,进而以使接收端可以根据指令数据包确定对应的游戏操作,并将游戏操作对应的响应数据返回给接收端。具体的,例如当应用场景为云游戏时,接收端(即云服务器)可以根据确定的游戏操作模拟操作生成对应的游戏画面数据,将生成的游戏画面数据返回至发送端,以使发送端将根据游戏画面数据将相应的游戏画图显示给用户。
步骤S102,确定指令数据包序列中是否存在丢失的指令数据包。
步骤S103,若确定存在丢失的指令数据包,则确定丢失的指令数据包的类型,该类型为关键数据包或非关键数据包。
在实际应用中,由于网络频繁抖动或抖动较大,即网络质量较差时,指令数据包序列在传输的过程中可能存在丢失指令数据包的情况。相应的,若接收到的指令数据包序列中存在丢失的指令数据包,此时有可能无法根据接收到的指令数据包序列确定正确的游戏操作,进而影响玩家的游戏体验。
基于此,在本申请实施例中,若确定接收到的指令数据包序列中存在丢失的指令数据包,则可以进一步的确定所丢失的指令数据包的类型,然后根据所丢失的指令数据包的类型进行相对应的处理方式,进而保证可以正确的确定对应的游戏操作。
其中,指令数据包的类型用于表征数据包在确定游戏操作时的重要程度,其可以包括关键数据包和非关键数据包,当指令数据包的类型为关键数据包时,说明该指令数据包在确定游戏操作时的重要程度较高,当其丢失时,确定错误的游戏操作的概率很高;反之,当指令数据包的类型为非关键数据包时,说明该指令数据包在确定游戏操作时的重要程度较低,当其丢失时,也可以根据接收到的指令数据包确定正确的游戏操作。
步骤S104,若确定丢失的指令数据包的类型为非关键数据包,则基于指令数据包序列中所包含的各指令数据包确定对应的游戏操作。
在实际应用中,若确定所丢失的指令数据包的类型为非关键数据包,说明接收到的指令数据包序列中是包括了确定生成游戏操作的关键数据包,此时可以基于接收到的指令数据包序列中的指令数据包确定出对应的游戏操作。其中,在存在丢失的指令数据包时,基于接收到的指令数据包序列确定出对应的游戏操作的具体实现方式在不同的实际情况时,具体实施的方式是不同的。因此,在实际应用中,可以根据实际情况预先配置具体的实施方式,本申请实施例对此不限定。
在一示例中,假设接收到的指令数据包序列中包括表征down(即按下的操作)的指令数据包和表征up(即按下后松开的操作)的指令数据包,但是发送端发送的指令数据包序列中包括表征down的指令数据包、表征move(即移动的操作)的指令数据包和表征up的指令数据包。也就是说,此时接收到的指令数据包序列中将表征move的指令数据包丢失,由于表征move的指令数据包的类型非关键类型数据包,此时可以直接基于表征down的指令数据包中所携带的坐标,以及表征up的指令数据包中所携带的坐标,将对应的虚拟角色从表征down的指令数据包中所携带的坐标移动到表征up的指令数据包中所携带的坐标,即仍然可以模拟对应的游戏操作所能达到的效果,进而可以保证玩家正常的操控游戏。
在本申请实施例中,对于存在丢失指令数据包的指令数据包序列,若接收端确定所丢失的指令数据包为非关键数据包,此时可以直接根据接收到的指令数据包确定对应的游戏操作,这样即便在存在丢失数据包的情况下,也可以保证玩家正常操控游戏,提升玩家的游戏体验感。
在本申请可选的实施例中,若丢失的指令数据包的类型为关键数据包,该方法还包括:
向发送端发送丢失的指令数据包的数据包重传指令;
接收发送端基于数据包重传指令重新发送的指令数据包;
基于指令数据包序列确定对应的游戏操作,包括:
根据再次接收到的指令数据包和指令数据包序列中的指令数据包确定对应的游戏操作。
其中,基于数据包重传指令重新发送的指令数据包,以及下文中的重传的指令数据包即指的是再次接收到的指令数据包。也就是说,基于数据包重传指令重新发送的指令数据包、重传的指令数据包、以及再次接收到的指令数据包均指代的是同一指令数据包,其相互之间是等价的;而下文中的指令数据包序列中的指令数据包均指的是原来接收到的指令数据包序列中的指令数据包。
在实际应用中,若确定所丢失的指令数据包的类型为关键数据包,此时接收端可以向发送端发送数据包重传指令,该数据包重传指令中包括发送端需要重传的指令数据包的标识(即丢失的关键数据包的标识);相应的,发送端在接收到数据包重传指令后,可以根据数据包重传指令向接收端重新发送需要重传的指令数据包(即丢失的指令数据包)。其中,接收端在向发送端发送数据包重传指令时,可以通过RTCP(Real-time ControlProtocol,实时传输控制协议)向发送端发送数据包重传指令。
在本申请实施中,接收端在确定所丢失的指令数据包为关键数据包后,可以向发送端发送数据包重传指令,以使发送端重新发送丢失的指令数据包,此时,即便接收端在存在丢失数据包的情况下,也可以基于接收到的指令数据包序列中的指令数据包和重传的指令数据包确定出正确的游戏操作,进而保证玩家正常操控游戏,提升玩家的游戏体验感。
此外,在实际应用中,接收端还可以通过RTCP协议获取当前网络质量信息来确定当前的网络状态,若根据当前网络质量信息确定当前的网络延迟超过设定值,此时可以先将原来接收到的指令数据包序列中的指令数据包发送至操作模拟模块(其用于根据指令数据包确定对应的游戏操作);相应的,在接收到发送端基于数据包重传指令重新发送的指令数据包后,再将再次接收到的指令数据包发送至操作模拟模块,以使操作模拟模块根据指令数据包序列中的指令数据包和再次接收到的指令数据包生成确定对应的游戏操作。其中,当前网络质量信息具体可以为QoS(Quality of Service,服务质量)信息。
相应的,若根据当前网络质量信息确定当前网络延迟没有超过设定值,此时可以先等待发送端基于数据包重传指令重新发送的指令数据包,在接收到发送端基于数据包重传指令重新发送的指令数据包后,将再次接收到的指令数据包和原来接收到的指令数据包序列中的指令数据包发送至操作模拟模块,以使操作模拟模块根据指令数据包序列中的指令数据包和重新接收到的关键数据包确定对应的游戏操作。其中,若在设定时长后,仍接收不到发送端基于数据包重传指令重新发送的关键数据包,此时可以将原来接收到的指令数据包序列中的指令数据包放弃,并不再生成该游戏操作对应的游戏数据。
在本申请可选的实施例中,确定指令数据包序列中是否存在丢失的指令数据包,包括:
获取指令数据包序列中的各指令数据包的排序标识;
根据排序标识,确定指令数据包序列中是否存在丢失的指令数据包。
其中,指令数据包的排序标识用于反映指令数据包的生成顺序,而指令数据包的生成顺序对应于玩家的游戏操作顺序,也就是说,根据指令数据包序列中各指令数据包的排序标识可以确定出玩家的游戏操作顺序。其中,排序标识的具体表现形式可以预先配置,本申请实施例不限定,例如可以为序号标识,此时,第一个指令数据包的排序标识即为序号1,…第N个指令数据包的排序标识即为序号N。
在实际应用中,在确定指令数据包序列中是否存在丢失的指令数据包时,由于指令数据包的排序标识用于反映指令数据包的生成顺序,也就是说,各指令数据包的排序标识之间也是存在顺序关系的。相应的,若获取到的各指令数据包的排序标识之间不存在顺序关系,则说明存在丢失的指令数据包。
在一示例中,假设排序标识为序号标识,接收到的指令数据包序列中包括序号标识为1的指令数据包、序号标识为2的指令数据包、序号标识为4的指令数据包、以及序号标识为5的指令数据包,相应的,获取到的序号标识为序号标识1、序号标识2、序号标识4和序号标识5,此时序号标识2和序号标识4之间不连续,说明序号标识为3的指令数据包丢失。
在本申请可选的实施例中,所述指令数据包序列中还包括冗余指令数据包,所述根据排序标识,确定所述指令数据包序列中是否存在丢失的指令数据包,包括:
根据排序标识和所述冗余数据包,确定所述指令数据包序列中是否存在丢失的指令数据包。
在实际应用中,接收到的指令数据包中除了包括各指令数据包之外,还可以包括冗余指令数据包,该冗余指令数据包指的是发送端重复发送的指令数据包,其可以为发送端获取到的游戏操作所对应的各指令数据包中的至少一个。
具体的,每当玩家在游戏界面触发游戏操作时,发送端即可获取到与游戏操作对应的各指令数据包,然后可以从各指令数据包选取至少一个指令数据包作为冗余数据包(即需要重复发送的指令数据包),并将冗余数据包和获取到的各指令数据包基于指令数据包序列的方式发送至接收端。
相应的,接收端所接收到的指令数据包序列中不仅包括各指令数据包,还可以包括冗余数据包。也就是说,接收端接收到的指令数据包序列中包括部分重复的指令数据包。而对于重复的指令数据包,其一部分是在指令数据包序列中所包括的各指令数据包中,一部分是在指令数据包序列所包括的冗余数据包中。
进一步的,当接收端根据各指令数据包的排序标识发现指令数据包序列中存在丢失的指令数据包时,由于指令数据包序列中还包括一些重复发送的指令数据包(即冗余数据包),此时可以确定冗余数据包中是否包括该丢失的指令数据包,若包括该丢失的指令数据包,则可以从冗余数据包中获取该丢失的指令数据包;若不包括该丢失的指令数据包,则进一步确定该丢失的指令数据包是否为关键数据包,若不是关键数据包,可以基于接收到的指令数据包序列中所包含的各指令数据包确定对应的游戏操作;反之,若是关键数据包,此时接收端可以向发送端发送数据包重传指令。进一步的,接收端在接收到发送端基于数据包重传指令重传的指令数据包后,根据重传的指令数据包和原接收到的指令数据包序列中的各指令数据包确定对应的游戏操作。
在本申请实施例中,即便接收端在存在丢失指令数据包、且丢失的指令数据包为关键数据包的情况下,由于还存在冗余数据包,此时若冗余数据包中包括该丢失的指令数据包,便可以不用再向发送端发送数据重传指令,可直接基于原来接收到的指令数据包和冗余数据包中所包括的丢失的指令数据包确定出正确的游戏操作,即保证了玩家可以正常操控游戏,还可以相应的减小发送端重传指令数据包的压力。
在本申请可选的实施例中,确定丢失的指令数据包的类型,包括:
获取指令数据包序列对应的状态信息,状态信息包括用于指示指令数据包序列中所包含的关键数据包的信息;
根据状态信息,确定丢失的指令数据包的类型。
在实际应用中,发送端所发送的指令数据包序列可以对应于一个状态信息,该状态信息中用于指示对应的指令数据包序列中所包含的关键数据包的指示信息,也就是说,可以基于指令数据包序列中的状态信息知晓发送端所发送的指令数据包序列中的哪些指令数据包为关键数据包。
其中,在实际应用中,指令数据包序列对应的状态信息可以为所包括的各指令数据包的状态信息,而每个指令数据包中对应的状态信息包括该指令数据包与指令数据包序列中其他指令数据包之间的关联信息,即该指令数据包具体需要哪些指令数据包才可以正确的确定游戏操作,此时各指令数据包具体需要的指令数据包即为关键数据包。相应的,当接收端获取到指令数据包序列对应的状态信息后,即可知晓具体哪些指令数据包为关键数据包。
在实际应用中,接收端在确定存在丢失的指令数据包时,可以确定该丢失的指令数据包是否为其它指令数据包在确定游戏操作时所需要的指令数据包,若是,则确定该丢失的指令数据包为关键数据包,反之,该丢失的指令数据包则不是关键数据包。
可以理解的是,对于某一个指令数据包,若当前已经接收到的指令数据包不存在该指令数据包在确定游戏操作时所需要的指令数据包,并且当前的网络延迟已经超过预设阈值,此时即可确定该指令数据包在确定游戏操作时所需要的指令数据包已经丢失(即存在丢失的指令数据包,且丢失的指令数据包为关键数据包),则可以向发送端发送重传指令,以使发送端重新发送该指令数据包在确定游戏操作时所需要的指令数据包。
当然,在实际应用中,若当前已经接收到的指令数据包不存在该指令数据包在确定游戏操作时所需要的指令数据包,但是当前的网络延迟没有超过预设阈值,则可以在接收到后续指令数据包后,再确定是否存在该指令数据包在确定游戏操作时所需要的指令数据包,若仍旧不存在,则确定该指令数据包在确定游戏操作时所需要的指令数据包已经丢失,此时可以向发送端发送重传指令,以使发送端重新发送该指令数据包在确定游戏操作时所需要的指令数据包。
在本申请可选的实施例中,基于指令数据包序列确定对应的游戏操作,包括:
根据指令数据包序列中的各指令数据包的排序标识,确定指令数据包序列中的各指令数据包的排序是否正确:
若确定排序不正确,则根据各指令数据包的排序标识对指令数据包序列中的各指令数据包进行排序,得到排序后的指令数据包序列;
基于排序后的各指令数据包序列确定对应的游戏操作。
在实际应用中,由于网络频繁抖动或抖动较大,此时接收端所接收到的指令数据包序列中的各指令数据包的顺序可能与各指令数据包的排序标识不相同,此时若基于接收到的指令数据包序列中的指令数据包确定游戏操作,无法保证得到正确的游戏操作。
例如,假设发送端发送的指令数据包序列中依次包括序号标识为1的指令数据包、序号标识为2的指令数据包、序号标识为3的指令数据包、以及序号标识为4的指令数据包,而接收端接收指令数据包序列中的指令数据包的依次为序号标识为1的指令数据包、序号标识为3的指令数据包、序号标识为2的指令数据包、以及序号标识为4的指令数据包,此时指令数据包序列中的各指令数据包的排序即为不正确。
相应的,若指令数据包序列中的各指令数据包的排序不正确,则可以根据各指令数据包的排序标识将指令数据包序列中的各指令数据包的顺序调整为正确排序,然后基于正确排序的指令数据包序列确定对应的游戏操作。其中,接收端可以基于RTP(Real-timeTransport Protocol,实时传输协议)对接收到的指令数据包中的指令数据包进行重新排序。
延续上一示例,此时可以将序号标识为3的指令数据包和序号标识为2的指令数据包调换顺序,得到正确排序指令数据包序列,即依次包括序号标识为1的指令数据包、序号标识为2的指令数据包、序号标识为3的指令数据包、以及序号标识为4的指令数据包。
需要说明的是,本申请实施例中确定指令数据包序列中的各指令数据包的排序、以及对指令数据包序列中的各指令数据包进行排序的执行时机可以根据实际需要预先配置,本申请实施例不限定。例如,可以在确定对应的游戏操作时再执行,也可以在接收到发送端发送的指令数据包序列后立即执行等。
本申请实施例提供了一种数据包处理方法,如图2示,该方法的执行为接收端,该方法可以包括:
步骤S201,获取各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的。
步骤S202,获取当前网络质量信息,并根据当前网络质量信息确定待发送的指令数据包。
其中,关于指令数据包的具体描述可参见执行主体为接收端中关于指令数据包的描述,在此就不在赘述。当前网络质量信息用于表征当前网络的状态,如当前网络是否存在抖动,若存在抖动,抖动是否频繁。其中,当前网络质量信息具体可以为QoS信息。
在实际应用中,每当玩家在游戏界面触发游戏操作时,即可获取与游戏操作对应的指令数据包,然后可以获取当前网络质量信息,并基于当前网络质量信息确定当前的网络状态,然后基于当前的网络状态确定待发送的指令数据包(即需要发送至接收端的指令数据包)。
步骤S203,根据待发送的指令数据包生成指令数据包序列并发送至接收端。
在实际应用中,当确定待发送的指令数据包后,可以将待发送的指令数据包生成指令数据包序列并发送至接收端。
在本申请实施例中,接收到端在向发送端发送游戏操作对应的数据包时,可以根据当前网络质量信息确定最终需要发送至接收端的指令数据包。本申请实施例中,由于可以根据当前网络状态确定需要发送的指令数据包,这样即使当前网络质量较差时,也可以将逻辑正常、功能正确的数据包传输到了接收端,以保证接收端可以确定游戏操作,以使玩家可以正常玩游戏。
在本申请可选的实施例中,根据当前网络质量信息确定待发送指令数据包,包括:
根据当前网络质量信息确定当前网络质量;
在确定当前网络质量满足设定条件时,将各指令数据包均作为待发送的指令数据包;或者,
在当前网络质量不满足设定条件时,将各指令数据中的关键数据包作为待发送的指令数据包。
其中,设定条件的具体内容可以根据实际需求预先配置,本申请实施例不限定。例如,设定条件可以设置为当前网络延时时间大于设定阈值。
在实际应用中,若当网络质量满足设定条件时,说明当前网络状态良好,可以保证将指令数据包准时、无丢包的发送至接收端,此时可以将全部指令数据包作为待发送的数据包并发送至接收端。
相应的,若当网络质量不满足设定条件时,说明当前网络状态较差,存在较大的延时,无法保证指令数据包全部准时、无丢包的发送至接收端,此时可以仅将各指令数据包中的关键数据包作为待发送的指令数据包,即仅将关键数据包发送至接收端。由于在实际应用中,类型为关键数据包的指令数据包无论网络延迟多久均会发送至接收端,也就是说,此时可以保证将逻辑正常、功能正确的数据包传输到接收端,以保证接收端可以确定游戏操作,并根据确定的游戏操作生成对应的游戏数据,以使家可以正常玩游戏。
在本申请可选的实施例中,该方法还包括:根据所述当前网络质量信息确定冗余指令数据包,所述冗余指令数据包为各所述指令数据包中的至少一个;
所述根据所述待发送的指令数据包生成指令数据包序列并发送至接收端,包括:
根据所述待发送的指令数据包和所述冗余指令数据包生成指令数据包序列并发送至接收端。
其中,关于冗余数据包的具体描述可参见执行主体为接收端中关于冗余数据包的描述,在此就不在赘述。在实际应用中,发送端选取游戏操作对应的各指令数据包中的哪些指令数据包作为冗余数据包,可以预先配置,本申请实施例不限定。例如,可以仅选取关键数据包作为冗余数据包,也可以根据当前网络质量信息确定当前网络状态,基于确定的当前网络状态(如当前网络延迟时间)选取哪些指令数据包作为冗余数据包。
在一示例中,假设发送端基于当前网络状态确定选取哪些指令数据包作为冗余数据包,发送端获取到的游戏操作对应的指令数据包中包括指令数据包1~指令数据包10,其中,指令数据包1、指令数据包5和指令数据包10为关键数据包,当前网络质量信息可以为QoS(Quality of Service,服务质量)信息。进一步的,发送端可以获取当前的QoS信息,并对QoS信息进行解析,得到当前网络延迟时间。相应的,若当前网络延迟时间小于预设阈值,此时可以不仅选取关键数据包(即指令数据包1、指令数据包5和指令数据包10)作为冗余数据包,还可以选取部分非关键数据包作为冗余数据包,而具体选取哪些非关键数据包作为冗余数据包可以预先配置,本申请不限定。若当前网络延迟时间不小于预设阈值,此时可以选取关键数据包(即指令数据包1、指令数据包5和指令数据包10)作为冗余数据包。进一步的,发送端将指令数据包1~指令数据包10和冗余数据包(即指令数据包1、指令数据包5和指令数据包10)基于指令数据包序列的方式发送至接收端。
在本申请可选的实施例中,该方法还包括:
在接收到接收端发送的数据包重传指令时,基于数据包重传指令将需要重传的指令数据包发送至接收端。
在实际应用中,若接收端所丢失的指令数据包的类型为关键数据包,此时发送端可以接到接收端发送数据包重传指令,该数据包重传指令中包括需要重传的指令数据包的标识(即丢失的关键数据包的标识);相应的,接收端在接收到数据包重传指令后,可以向接收端重新发送需要重传的指令数据包。其中,接收端可以通过RTCP协议向接收端发送数据包重传指令。
如图3所示,为了更好地理解本申请实施例中所提供的一种数据包处理方法,下面结合具体的流程图对该方法进一步的详细描述,其中,在本示例中,接收到的指令数据包序列中包括冗余数据包,具体的:
步骤S301,发送端获取各指令数据包;
步骤S302,发送端获取当前网络质量信息,并根据当前网络质量信息确定待发送指令数据包;
步骤S303,发送端根据当前网络质量信息确定冗余指令数据包;
步骤S304,发送端根据待发送指令数据包和冗余指令数据包生成指令数据包序列并发送至接收端;
步骤S305,接收端接收发送端发送的指令数据包序列;
步骤S306,接收端根据各指令数据包的排序标识和冗余数据包,确定指令数据包序列中是否存在丢失的指令数据包(即图中的接收端确定是否存在丢失的指令数据包),若是执行步骤S307,若不是,执行步骤S308;
步骤S307,接收端确定丢失的指令数据包的类型,若类型为关键数据包,执行步骤S309,若是非关键数据包,执行步骤S308;
步骤S308,接收端根据指令数据包序列中所包含的各指令数据包确定对应的游戏操作;
步骤S309,接收端向发送端发送丢失的指令数据包的数据包重传指令;
步骤S310,接收端接收发送端基于数据包重传指令发送的指令数据包;
步骤S311,接收端确定指令数据包序列中的各指令数据包的排序是否正确,若是正确的(即图3中的是),执行步骤S312,若不是准确的(即图3中的否),执行步骤313;
步骤S312,接收端根据再次接收到的指令数据包和指令数据包序列中的指令数据包确定对应的游戏操作;
步骤S313,接收端对指令数据包序列中的各指令数据包进行排序;
步骤S314,接收端基于再次接收到的指令数据包和排序后的各指令数据包确定对应的游戏操作。
本申请实施例提供了一种数据包处理装置,如图4所示,该数据包处理装置60可以包括:指令数据包接收模块601、指令数据包处理模块602以及游戏操作确定模块603,其中,
指令数据包接收模块601,用于接收发送端发送的指令数据包序列,指令数据包序列中包括各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的;
指令数据包处理模块602,用于确定指令数据包序列中是否存在丢失的指令数据包,以及在确定存在丢失的指令数据包时,则确定丢失的指令数据包的类型,类型为关键数据包或非关键数据包;
游戏操作确定模块603,用于在确定丢失的指令数据包的类型为非关键数据包时,基于指令数据包序列中所包含的各指令数据包确定对应的游戏操作。
本申请可选的实施例中,指令数据包处理模块在确定指令数据包序列中是否存在丢失的指令数据包时,具体用于:
获取指令数据包序列中的各指令数据包的排序标识;
根据排序标识,确定指令数据包序列中是否存在丢失的指令数据包。
本申请可选的实施例中,指令数据包处理模块在确定丢失的指令数据包的类型时,具体用于:
获取指令数据包序列对应的状态信息,状态信息包括用于指示指令数据包序列中所包含的关键数据包的信息;
根据状态信息,确定丢失的指令数据包的类型。
本申请可选的实施例中,游戏操作确定模块在基于指令数据包序列中所包含的各指令数据包确定对应的游戏操作时,具体用于:
根据排序标识,确定指令数据包序列中的各指令数据包的排序是否正确:
若确定排序不正确,则根据各指令数据包的排序标识对指令数据包序列中的各指令数据包进行排序;
基于排序后的各指令数据包序列确定对应的游戏操作。
本申请可选的实施例中,该装置还包括指令数据包重传模块,具体用于:
在丢失的指令数据包的类型为关键数据包时,向发送端发送丢失的指令数据包的数据包重传指令;
接收发送端基于数据包重传指令发送的指令数据包;
游戏操作确定模块在基于指令数据包序列确定对应的游戏操作时,具体用于:
根据再次接收到的指令数据包和指令数据包序列中的指令数据包确定对应的游戏操作。
本申请可选的实施例中,指令数据包序列中还包括冗余指令数据包,指令数据包处理模块在根据排序标识,确定指令数据包序列中是否存在丢失的指令数据时,具体用于:
根据排序标识和冗余数据包,确定指令数据包序列中是否存在丢失的指令数据包。
本实施例的数据包处理装置可执行本申请实施例提供的一种数据包处理方法,其实现原理相类似,此处不再赘述。
本申请实施例提供了一种数据包处理装置,如图5所示,该数据包处理装置70可以包括:指令数据包获取模块701、待发送指令数据包确定模块702以及待发送指令数据发送模块703,其中,
指令数据包获取模块701,用于获取各指令数据包,指令数据包是基于玩家在游戏界面的游戏操作生成的;
待发送指令数据包确定模块702,用于获取当前网络质量信息,并根据当前网络质量信息确定待发送的指令数据包;
待发送指令数据发送模块703,用于根据待发送的指令数据包生成指令数据包序列并发送至接收端。
本申请可选的实施例中,待发送指令数据包确定模块在根据当前网络质量信息确定待发送的指令数据包时,具体用于:
根据当前网络质量信息确定当前网络质量;
在确定当前网络质量满足设定条件时,将各指令数据包均作为待发送的指令数据包;或者
在当前网络质量不满足设定条件时,将各指令数据中的关键数据包作为待发送的指令数据包。
本申请可选的实施例中,该装置还包括指令冗余指令数据包确定模块,具体用于
根据当前网络质量信息确定冗余指令数据包,冗余指令数据包为各指令数据包中的至少一个;
待发送指令数据发送模块在根据待发送的指令数据包生成指令数据包序列并发送至接收端时,具体用于:
根据待发送的指令数据包和冗余指令数据包生成指令数据包序列并发送至接收端。
本申请可选的实施例中,该装置还包括指令数据包重传处理模块,用于:
在接收到接收端发送的数据包重传指令时,基于数据包重传指令将需要重传的指令数据包发送至接收端。
本实施例的数据包处理装置可执行本申请实施例提供的一种数据包处理方法,其实现原理相类似,此处不再赘述。
本申请实施例提供了一种电子设备,如图6所示,图6所示的电子设备2000包括:处理器2001和存储器2003。其中,处理器2001和存储器2003相连,如通过总线2002相连。可选地,电子设备2000还可以包括收发器2004。需要说明的是,实际应用中收发器2004不限于一个,该电子设备2000的结构并不构成对本申请实施例的限定。
其中,处理器2001应用于本申请实施例中,用于实现图4和图5所示的各模块的功能。
处理器2001可以是CPU,通用处理器,DSP,ASIC,FPGA或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器2001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。
总线2002可包括一通路,在上述组件之间传送信息。总线2002可以是PCI总线或EISA总线等。总线2002可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器2003可以是ROM或可存储静态信息和指令的其他类型的静态存储设备,RAM或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM、CD-ROM或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器2003用于存储执行本申请方案的应用程序代码,并由处理器2001来控制执行。处理器2001用于执行存储器2003中存储的应用程序代码,以实现图4和图5所示实施例提供的数据包处理装置的动作。
本申请实施例提供了一种电子设备,本申请实施例中的电子设备包括:处理器;以及存储器,存储器配置用于存储机器可读指令,该指令在由该处理器执行时,使得该处理器执行所述的数据包处理方法。
本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上用于存储计算机指令,当计算机指令在计算机上运行时,使得计算机可以执行实现数据包处理方法。
本申请中的一种计算机可读存储介质所涉及的名词及实现原理具体可以参照本申请实施例中的一种数据包处理方法,在此不再赘述。
应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (14)

1.一种数据包处理方法,其特征在于,包括:
接收发送端发送的指令数据包序列,所述指令数据包序列中包括各指令数据包,所述指令数据包是基于玩家在游戏界面的游戏操作生成的;
确定所述指令数据包序列中是否存在丢失的指令数据包;
若确定存在丢失的指令数据包,则确定所述丢失的指令数据包的类型,所述类型为关键数据包或非关键数据包;
若确定所述丢失的指令数据包的类型为所述非关键数据包,则基于所述指令数据包序列中所包含的各指令数据包确定对应的游戏操作。
2.根据权利要求1所述的方法,其特征在于,所述确定所述指令数据包序列中是否存在丢失的指令数据包,包括:
获取所述指令数据包序列中的各所述指令数据包的排序标识;
根据所述排序标识,确定所述指令数据包序列中是否存在丢失的指令数据包。
3.根据权利要求1所述的方法,其特征在于,所述确定所述丢失的指令数据包的类型,包括:
获取所述指令数据包序列对应的状态信息,所述状态信息包括用于指示所述指令数据包序列中所包含的关键数据包的信息;
根据所述状态信息,确定所述丢失的指令数据包的类型。
4.根据权利要求2所述的方法,其特征在于,所述基于所述指令数据包序列中所包含的各指令数据包确定对应的游戏操作,包括:
根据所述排序标识,确定所述指令数据包序列中的各所述指令数据包的排序是否正确:
若确定所述排序不正确,则根据各所述指令数据包的排序标识对所述指令数据包序列中的各指令数据包进行排序;
基于排序后的各指令数据包确定对应的游戏操作。
5.根据权利要求1至4任一项所述的方法,其特征在于,若所述丢失的指令数据包的类型为关键数据包,所述方法还包括:
向所述发送端发送所述丢失的指令数据包的数据包重传指令;
接收所述发送端基于所述数据包重传指令重新发送的指令数据包;
所述基于所述指令数据包序列确定对应的游戏操作,包括:
根据再次接收到的指令数据包和所述指令数据包序列中的指令数据包确定对应的游戏操作。
6.根据权利要求2所述的方法,其特征在于,所述指令数据包序列中还包括冗余指令数据包,所述根据所述排序标识,确定所述指令数据包序列中是否存在丢失的指令数据包,包括:
根据所述排序标识和所述冗余数据包,确定所述指令数据包序列中是否存在丢失的指令数据包。
7.一种数据包处理方法,其特征在于,包括:
获取各指令数据包,所述指令数据包是基于玩家在游戏界面的游戏操作生成的;
获取当前网络质量信息,并根据所述当前网络质量信息确定待发送的指令数据包;
根据所述待发送的指令数据包生成指令数据包序列并发送至接收端。
8.根据权利要求7所述的方法,其特征在于,所述根据所述当前网络质量信息确定待发送的指令数据包,包括:
根据所述当前网络质量信息确定当前网络质量;
在确定所述当前网络质量满足设定条件时,将各所述指令数据包均作为待发送的指令数据包;或者,
在所述当前网络质量不满足设定条件时,将各所述指令数据中的关键数据包作为待发送的指令数据包。
9.根据权利要求7所述的方法,其特征在于,所述方法还包括:
根据所述当前网络质量信息确定冗余指令数据包,所述冗余指令数据包为各所述指令数据包中的至少一个;
所述根据所述待发送的指令数据包生成所述指令数据包序列并发送至接收端,包括:
根据所述待发送的指令数据包和所述冗余指令数据包生成指令数据包序列并发送至接收端。
10.根据权利要求7至9任一项所述的方法,其特征在于,所述方法还包括:
在接收到所述接收端发送的数据包重传指令时,基于所述数据包重传指令将需要重传的指令数据包发送至所述接收端。
11.一种数据包处理装置,其特征在于,包括:
指令数据包接收模块,用于接收发送端发送的指令数据包序列,所述指令数据包序列中包括各指令数据包,所述指令数据包是基于玩家在游戏界面的游戏操作生成的;
指令数据包处理模块,用于确定所述指令数据包序列中是否存在丢失的指令数据包,以及在确定存在丢失的指令数据包时,则确定所述丢失的指令数据包的类型,所述类型为关键数据包或非关键数据包;
游戏操作确定模块,用于在确定所述丢失的指令数据包的类型为所述非关键数据包时,基于所述指令数据包序列中所包含的各指令数据包确定对应的游戏操作。
12.一种数据包处理装置,其特征在于,包括:
指令数据包获取模块,用于获取各指令数据包,所述指令数据包是基于玩家在游戏界面的游戏操作生成的;
待发送指令数据包确定模块,用于获取当前网络质量信息,并根据所述当前网络质量信息确定待发送指令数据包;
待发送指令数据发送模块,用于根据所述待发送指令数据包生成指令数据包序列并发送至接收端。
13.一种电子设备,其特征在于,包括处理器和存储器:
所述存储器被配置用于存储机器可读指令,所述指令在由所述处理器执行时,使得所述处理器执行权利要求1-10任一项所述的方法。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机存储介质用于存储计算机指令,当其在计算机上运行时,使得计算机可以执行上述权利要求1-10中任一项所述的方法。
CN201911370585.5A 2019-12-26 2019-12-26 数据包处理方法、装置、电子设备及可读存储介质 Pending CN111818005A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911370585.5A CN111818005A (zh) 2019-12-26 2019-12-26 数据包处理方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911370585.5A CN111818005A (zh) 2019-12-26 2019-12-26 数据包处理方法、装置、电子设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN111818005A true CN111818005A (zh) 2020-10-23

Family

ID=72844079

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911370585.5A Pending CN111818005A (zh) 2019-12-26 2019-12-26 数据包处理方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN111818005A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039702A (zh) * 2021-11-08 2022-02-11 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015160373A1 (en) * 2014-04-19 2015-10-22 Smiling Pines Llc ( A Utah Limited Liability Company) Game modification
CN105516018A (zh) * 2014-09-23 2016-04-20 博雅网络游戏开发(深圳)有限公司 网络数据传输方法和装置
CN108419275A (zh) * 2017-02-10 2018-08-17 华为技术有限公司 一种数据传输方法、通信设备、终端和基站
CN109766195A (zh) * 2018-12-13 2019-05-17 平安普惠企业管理有限公司 监测消息队列中数据丢失的方法及相关产品

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015160373A1 (en) * 2014-04-19 2015-10-22 Smiling Pines Llc ( A Utah Limited Liability Company) Game modification
CN105516018A (zh) * 2014-09-23 2016-04-20 博雅网络游戏开发(深圳)有限公司 网络数据传输方法和装置
CN108419275A (zh) * 2017-02-10 2018-08-17 华为技术有限公司 一种数据传输方法、通信设备、终端和基站
CN109766195A (zh) * 2018-12-13 2019-05-17 平安普惠企业管理有限公司 监测消息队列中数据丢失的方法及相关产品

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114039702A (zh) * 2021-11-08 2022-02-11 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质
WO2023078222A1 (zh) * 2021-11-08 2023-05-11 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质
CN114039702B (zh) * 2021-11-08 2024-03-26 北京字节跳动网络技术有限公司 数据传输方法、装置、设备和介质

Similar Documents

Publication Publication Date Title
CN108234087B (zh) 数据传输方法及发送端
CN109743143B (zh) 数据的重传方法、装置和计算机可读存储介质
JP7113079B2 (ja) Harq id決定方法、ネットワーク装置、端末及びコンピュータ記憶媒体
CN105162706B (zh) 组播传输方法、装置及系统
EP2978171A1 (en) Communication method, communication device, and communication program
CN104780028A (zh) 一种实现tcp数据报文重传的方法及设备
CN110247736B (zh) 一种数据传输方法及装置
CN104038845A (zh) 报文传输方法及装置
CN107634817B (zh) 用于数据传输的方法和装置
KR20210148152A (ko) 데이터 전송 방법 및 관련 장치
CN106856457B (zh) 一种数据传输方法、发送装置及接收装置
CN113259989B (zh) 数据重传方法、装置及电子设备
CN111818005A (zh) 数据包处理方法、装置、电子设备及可读存储介质
CN113852445A (zh) 一种提高数据传输可靠性的方法、系统、设备和存储介质
CN109391593B (zh) 用于媒体会话的重试时间确定方法及装置、存储介质、终端
EP3264851A1 (en) Data transmission method and device for data service
CN108540273B (zh) 一种数据包重传的方法和装置
CN109067503B (zh) 一种数据重传方法和装置
CN109905459B (zh) 一种数据传输方法及装置
CN109905209B (zh) 一种设置网络乱序值的方法和装置
CN105337926A (zh) 一种多端联动方法及相关设备与系统
US20190236331A1 (en) Method, apparatus, and storage medium for data verification
CN107733903B (zh) 一种基于udp的数据传输确认方法和基站
CN112351049B (zh) 数据传输方法、装置、设备及存储介质
CN112187408B (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
RJ01 Rejection of invention patent application after publication

Application publication date: 20201023

RJ01 Rejection of invention patent application after publication