CN115430136A - 数据传输方法、装置、电子设备及存储介质 - Google Patents
数据传输方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115430136A CN115430136A CN202111611884.0A CN202111611884A CN115430136A CN 115430136 A CN115430136 A CN 115430136A CN 202111611884 A CN202111611884 A CN 202111611884A CN 115430136 A CN115430136 A CN 115430136A
- Authority
- CN
- China
- Prior art keywords
- application
- acceleration
- data
- communication link
- link
- 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
Links
Images
Classifications
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
- A63F13/358—Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/33—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
- A63F13/332—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using wireless networks, e.g. cellular phone networks
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/70—Game security or game management aspects
- A63F13/77—Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/131—Protocols for games, networked simulations or virtual reality
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Business, Economics & Management (AREA)
- Computer Security & Cryptography (AREA)
- General Business, Economics & Management (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请公开了一种数据传输方法、装置、电子设备及存储介质,属于计算机技术领域。本申请通过第一应用向第二应用提供网络加速功能,在加速时根据移动通信链路和无线通信链路各自的网络延时,可以选择能够保证最优网络质量的传输链路作为目标传输链路,并在目标传输链路上传输数据,这样能够通过选择最合适的目标传输链路,使得数据传输效率大大提高,如果目标传输链路包括两条传输链路时,还能够达到双通道的传输机制,使得网络加速效果最优化。
Description
本申请要求于2021年06月03日提交的申请号为202110620279.3、发明名称为“数据传输方法、装置、电子设备及存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及计算机技术领域,特别涉及一种数据传输方法、装置、电子设备及存储介质。
背景技术
随着计算机和通信技术的发展,手机游戏越来越受到游戏玩家的青睐,伴随着游戏移动化的发展趋势,游戏过程中经常出现的网络卡顿问题造成了游戏玩家的苦恼,越来越多的游戏玩家倾向于利用游戏加速器进行网络加速,以提升游戏运行的流畅度。
在上述过程中,游戏玩家需要在终端上安装游戏加速器,并在加速功能下选择所欲加速的游戏应用,但通常的游戏加速器在进行加速时,仅仅是播放一个加速动画,然后将除了该游戏应用之外的其他应用挂起(或令其他应用休眠),以节约终端的通信资源,从而能够为该游戏应用提供较多的通信资源。然而在弱网情况下,网络卡顿的成因是通信链路自身的网络延时较高,仅依靠节约终端的通信资源实际上无法达到有效的加速效果,因此亟需一种能够提高数据传输效率、以有效进行网络加速的方法。
发明内容
本申请实施例提供了一种数据传输方法、装置、电子设备及存储介质,能够提高数据传输效率、有效进行网络加速。该技术方案如下:
一方面,提供了一种数据传输方法,该方法包括:
在第一应用的加速功能界面中,显示待加速的第二应用,所述第二应用用于提供能够进行互动的虚拟场景;
响应于对所述第二应用的触发操作,基于移动通信链路和无线通信链路的网络延时,确定目标传输链路,所述目标传输链路包括所述移动通信链路或者所述无线通信链路中的至少一项;
基于所述目标传输链路,与所述第二应用对应的目标服务器进行数据传输。
一方面,提供了一种数据传输装置,该装置包括:
显示模块,用于在第一应用的加速功能界面中,显示待加速的第二应用,所述第二应用用于提供能够进行互动的虚拟场景;
第一确定模块,用于响应于对所述第二应用的触发操作,基于移动通信链路和无线通信链路的网络延时,确定目标传输链路,所述目标传输链路包括所述移动通信链路或者所述无线通信链路中的至少一项;
传输模块,用于基于所述目标传输链路,与所述第二应用对应的目标服务器进行数据传输。
在一种可能实施方式中,所述传输模块包括:
获取单元,用于获取所述第二应用待传输的互动数据;
封装单元,用于基于目标传输协议对所述互动数据进行封装,得到第一数据;
发送单元,用于基于所述目标传输链路发送所述第一数据。
在一种可能实施方式中,所述发送单元用于:
基于所述目标传输链路向加速服务器发送所述第一数据,所述加速服务器用于将所述第一数据解析得到的所述互动数据发送至所述目标服务器。
在一种可能实施方式中,所述传输模块包括:
接收单元,用于基于所述目标传输链路接收第二数据,所述第二数据为所述目标服务器向所述第二应用所返回的互动数据。
在一种可能实施方式中,若所述目标传输链路包括所述无线通信链路和所述移动通信链路,所述接收单元用于:
对于所述无线通信链路和所述移动通信链路中的任一传输链路,从所述任一传输链路接收到第二数据时,若本次接收到的第二数据是首次接收,则保留所述第二数据;若本次接收到的第二数据不是首次接收,则丢弃所述第二数据。
在一种可能实施方式中,所述第一确定模块用于:
若所述无线通信链路的网络延时低于期望延时,确定所述无线通信链路为所述目标传输链路;
若所述移动通信链路的网络延时低于所述期望延时,确定所述移动通信链路为所述目标传输链路;
若所述无线通信链路和所述移动通信链路均高于或等于所述期望延时,确定所述无线通信链路和所述移动通信链路为所述目标传输链路。
在一种可能实施方式中,所述装置还包括:
第一发送模块,用于基于所述无线通信链路,发送探测报文;
接收模块,用于基于所述目标传输链路,接收基于所述探测报文所返回的响应报文;
第二确定模块,用于将所述探测报文的发送时刻和所述响应报文的接收时刻之间的时间差,确定为更新后的网络延时。
在一种可能实施方式中,所述装置还包括:
第二发送模块,用于若在目标时长内未基于所述目标传输链路传输任一互动数据,则基于所述目标传输链路发送通知报文,所述通知报文用于维持所述目标传输链路的连接状态。
在一种可能实施方式中,所述装置还包括:
第三发送模块,用于响应于对所述第二应用的停止加速指令,基于所述目标传输链路发送关闭报文,所述关闭报文用于指示断开所述目标传输链路;
释放模块,用于释放所述目标传输链路所占用的通信资源。
在一种可能实施方式中,所述显示模块还用于:
响应于对所述第一应用的主界面中加速选项的触发操作,显示所述加速功能界面;或,
响应于对所述第一应用的消息通知栏中加速选项的触发操作,显示所述加速功能界面。
在一种可能实施方式中,所述显示模块还用于:显示计时控件,所述计时控件用于指示从所述第一应用跳转至所述第二应用的剩余时间;
所述装置还包括跳转模块,用于:响应于所述计时控件指示所述剩余时间为0,从所述第一应用跳转至所述第二应用。
在一种可能实施方式中,所述显示模块还用于:
在运行所述第二应用的过程中,显示加速描述信息,所述加速描述信息包括提速效果或者网络稳定性中的至少一项,所述提速效果用于表征所述网络延时在加速前后的区别,所述网络稳定性用于表征所述目标传输链路的网络丢包情况。
一方面,提供了一种电子设备,该电子设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述数据传输方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述数据传输方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得电子设备能够执行上述数据传输方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过第一应用向第二应用提供网络加速功能,在加速时根据移动通信链路和无线通信链路各自的网络延时,可以选择能够保证最优网络质量的传输链路作为目标传输链路,并在目标传输链路上传输数据,这样能够通过选择最合适的目标传输链路,使得数据传输效率大大提高,如果目标传输链路包括两条传输链路时,还能够达到双通道的传输机制,使得网络加速效果最优化。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是本申请实施例提供的一种数据传输方法的实施环境示意图;
图2是本申请实施例提供的一种数据传输系统的原理性示意图;
图3是本申请实施例提供的一种数据传输方法的流程图;
图4是本申请实施例提供的一种数据传输方法的流程图;
图5是本申请实施例提供的一种第一应用的主界面的示意图;
图6是本申请实施例提供的一种消息通知栏的示意图;
图7是本申请实施例提供的一种加速功能界面的示意图;
图8是本申请实施例提供的一种加速功能界面的示意图;
图9是本申请实施例提供的一种加速功能界面的示意图;
图10是本申请实施例提供的一种加速描述信息的显示示意图;
图11是本申请实施例提供的一种数据传输方法的原理性流程图;
图12是本申请实施例提供的控制报文的发送逻辑的原理性示意图;
图13是本申请实施例提供的一种冗余传输模式的通信流程图;
图14是本申请实施例提供的一种主路径传输模式的通信流程图;
图15是本申请实施例提供的一种次路径传输模式的通信流程图;
图16示出了一款第一游戏应用在开启双通道加速前后的测试效果对比图;
图17示出了一款第二游戏应用在开启双通道加速前后的测试效果对比图;
图18是本申请实施例提供的一种数据传输装置的结构示意图;
图19是本申请实施例提供的一种电子设备的结构示意图;
图20是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
以下,对本申请实施例涉及的术语进行解释。
虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的虚拟环境,还可以是纯虚构的虚拟环境。虚拟场景可以是二维虚拟场景、2.5维虚拟场景或者三维虚拟场景中的任意一种,本申请实施例对虚拟场景的维度不加以限定。例如,虚拟场景可以包括天空、陆地、海洋等,该陆地可以包括沙漠、城市等环境元素,用户可以控制虚拟对象在该虚拟场景中进行移动。可选地,该虚拟场景还可以用于至少两个虚拟对象之间的虚拟场景互动,在该虚拟场景中具有可供至少两个虚拟对象使用的虚拟资源。可选地,该虚拟场景中可以包括对称的两个区域,属于两个敌对阵营的虚拟对象分别占据其中一个区域,并以摧毁对方区域深处的目标建筑/据点/基地/水晶来作为胜利目标,其中,对称的区域比如左下角区域和右上角区域,又比如左侧中部区域和右侧中部区域等。
双通道加速:双通道加速是一种能够实现稳定的、低延时的端云传输的加速解决方案。“双通道”包括无线通信链路和移动通信链路,无线通信链路通常指WiFi(WirelessFidelity,无线保真)路径,而移动通信链路则包括LTE(Long Term Evolution,长期演进)路径、3G(3rd-GenerationMobile Communication Technology,第三代移动通信技术)路径、4G(4th-Generation Mobile Communication Technology,第四代移动通信技术)路径、5G(5th-Generation Mobile Communication Technology,第五代移动通信技术)路径等。以无线通信链路为WiFi路径、移动通信链路为LTE路径为例说明,双通道加速是端侧基于MP-UDP协议(Multipath User Datagram Protocol,多路径用户数据报协议),通过在WiFi/LTE两条路径进行选择调度或双路冗余发送的网络加速策略。
悬浮窗技术:一种终端在操作系统层的浮层展示技术,能够在其他应用的表面悬浮一可移动的窗口,以便于打开不同应用。悬浮窗可承载动态化图片、动态化文字等并进行外露展示。在本申请实施例中,在第二应用即游戏应用的运行过程中,可将第一应用即加速应用的加速描述信息,以悬浮窗的形式显示于第二应用的虚拟场景上。
网络延时:是指一个数据包从用户的终端发送到服务器,然后再立即从服务器返回用户的终端这一来回所消耗的时间。网络延时越高,网速越慢,网络质量就越差;网络延时越低,网速越快,网络质量就越好。
网络丢包:在使用Ping(Packet Internet Groper,因特网包探索器)对目的站(如服务器)进行询问时,数据包由于各种原因在信道中丢失的现象。其中,Ping是一种网络诊断工具。网络丢包的原因主要包括:物理线路故障、设备故障、病毒攻击、路由信息错误等。
通道控制报文:在本申请实施例涉及的基于双通道加速策略的网络加速系统中,为保证客户端层到云端服务器层之间的链路正常,以及在客户端调度通道时能作出智能决策,客户端与云端服务器之间新增设计了四种控制报文:
1)探测报文(Probing Message),第一应用主动发送,用于更新第一应用到加速服务器的网络延时,辅助通道调度决策。探测报文仅在WiFi通道中发送;
2)响应报文(ACK Message),加速服务器接收到探测报文后在原本的目标传输链路给第一应用的回包,用于更新第一应用到加速服务器的网络延时,辅助通道调度决策;
3)通知报文(Notification Message),当第一应用在目标时长(如3秒钟)内没有任何数据传输给加速服务器,则第一应用主动向加速服务器发送通知报文,加速服务器接收到通知报文后不需要回包,能够接收到回包证明通道状态正常,可继续进行数据传输。同理,当加速服务器在目标时长(如3秒钟)内没有任何数据传输给第一应用,则加速服务器主动向第一应用发送通知报文,第一应用接收到通知报文后不需要回包,能够接收到回包证明通道状态正常,可继续进行数据传输。若在一些特定场景下,加速服务器或者第一应用没有接收到通知报文,则加速服务器或者第一应用会尝试重连,若重连不成功,则认为与对方的目标传输链路已关闭,释放对应的通信资源,需要说明的是,目标时长可以是任一大于0的数值,在本申请实施例仅以目标时长为3秒钟为例进行说明,目标时长还可以是5秒钟、10秒钟等,可由技术人员进行自定义设置;
4)关闭报文(Channel Close Message),第一应用主动发送,用于关闭目标传输链路,释放终端及服务器双端已占用的通信资源,第一应用会在关闭目标传输链路之前发送关闭报文,并释放第一应用占用的通信资源,加速服务器在接收到关闭报文后,同样会立即释放占用的通信资源,以保障通道性能。
通道数据调度模式;在本申请实施例中涉及三种调度模式:冗余传输模式、主路径(WiFi)传输模式、次路径(LTE)传输模式。
图1是本申请实施例提供的一种数据传输方法的实施环境示意图。参见图1,在该实施环境中包括终端120、加速服务器140和目标服务器160。
终端120安装有第一应用和第二应用,第一应用用于向第二应用提供网络加速(或游戏加速)服务,第二应用用于提供能够进行互动的虚拟场景。其中,第一应用也称为加速应用,第一应用可以是游戏加速应用、网络加速应用、手机管家应用、手机助手应用、电脑管家应用等,本申请实施例不对第一应用的类型进行具体限定。其中,第二应用也称为游戏应用或支持虚拟场景的任一应用,第二应用可以是多人在线战术竞技(Multiplayer OnlineBattle Arena,MOBA)游戏、大型多人在线角色扮演游戏(MassivelyMultiplayer OnlineRolePlayingGame,MMORPG)、第一人称射击游戏(First-Person Shooting game,FPS)、第三人称射击游戏、虚拟现实应用程序、三维地图程序或者多人器械类生存游戏等,本申请实施例不对第二应用的类型进行具体限定。
终端120可以通过移动通信链路或者无线通信链路与加速服务器140进行直接或间接地连接,或者,终端120还可以通过有线通信方式与加速服务器140进行直接或间接地连接,本申请实施例在此不对连接方式进行限制。可选地,移动通信链路可以是基于LTE的通信链路,还可以是基于3G、4G、5G等的通信链路,本申请实施例对此不进行具体限定。可选地,无线通信链路可以是指基于WiFi技术的通信链路,本申请实施例对此不进行具体限定。
加速服务器140用于提供数据转发服务,一方面,加速服务器140接收终端120发送的数据,并在处理后转发至目标服务器160,另一方面,加速服务器140接收目标服务器160发送的数据,并在处理后转发至终端120。
加速服务器140与目标服务器160能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
目标服务器160用于为第二应用提供后台服务。当第二应用是游戏应用时,目标服务器160也可以称为游戏服务器。目标服务器160包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。可选地,目标服务器160承担主要计算工作,终端120承担次要计算工作;或者,目标服务器160承担次要计算工作,终端120承担主要计算工作;或者,终端120和目标服务器160之间采用分布式计算架构进行协同计算。
在一些实施例中,加速服务器140或目标服务器160可以是独立的物理服务器,或者是多个物理服务器构成的服务器集群或者分布式系统,或者是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(ContentDelivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
在一些实施例中,终端120可以是智能手机、智能掌机、便携式游戏设备、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、MP3(Moving Picture Experts GroupAudio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving PictureExperts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器等,但并不局限于此。
需要说明的是,终端120可以泛指多个终端中的一个,本领域技术人员可以知晓,上述终端120的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端120的数量和设备类型不加以限定。
图2是本申请实施例提供的一种数据传输系统的原理性示意图,参考图2,数据传输系统200中包括客户端220和服务端240。
在客户端220中包括第一应用221(Client Proxy,CP,即加速应用、代理应用)、第二应用222(Client Application,CA,即游戏应用、客户应用)和内核层223(Kernel)。第一应用221用于向第二应用222提供游戏加速服务,第二应用222用于提供能够进行互动的虚拟场景,内核层223用于提供双通道发送能力,即支持同时从移动通信链路和无线通信链路进行冗余地数据传输。
可选地,第二应用222发送的互动数据会被第一应用221拦截,第一引用221拦截后将其根据目标传输协议(例如,MP-UDP协议)重新封装成新的数据包,并通过内核层223提供的双通道发送能力,向服务端240发送新的数据包(例如,MP-UDP包)。
在服务端240中包括加速服务器241(Server Proxy,SP,即服务代理)和目标服务器242(Real Server,即游戏服务器)。在服务端240中,通过加速服务器241来接收、汇聚、重组第一应用221发来的数据包,然后向目标服务器242发送最终重组后的数据包。
在目标服务器242发送数据包时,同样先由加速服务器241拦截,加速服务器241根据第一应用221的状态对其进行组包,然后再返回到第一应用221,第一应用221接收到包之后,进行汇聚和重组,再返回给第二应用222。
在一个示例性场景中,第二应用222和目标服务器242之间传输的仍然是传统的UDP报文,而MP-UDP协议仅运行在第一应用221和加速服务器241之间,因此实现了业务透明,而使得第二应用222无感知。在弱网情况下,内核层223可以支持双通道发送能力,也即是说,端侧基于MP-UDP协议,分别支持从移动通信链路(例如LTE链路)和无线通信链路(例如WiFi链路)这两条通道或称路径进行调度,或直接进行双路冗余发送,以实现稳定地、低延时的端云传输的加速解决方案,能够改善第二应用222和目标服务器242之间网络延迟高导致的网络卡顿、用户体验差等问题。WiFi/LTE双通道的路径调度或冗余发送,大大降低了网络不稳定时数据传输的网络延时。
图3是本申请实施例提供的一种数据传输方法的流程图。参见图3,该实施例应用于电子设备,以电子设备为终端为例进行说明,该实施例包括下述步骤:
301、终端在第一应用的加速功能界面中,显示待加速的第二应用,该第二应用用于提供能够进行互动的虚拟场景。
该终端可以为任一用户所使用的电子设备,例如该终端为智能手机、智能掌机、便携式游戏设备、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。
该第一应用用于向第二应用提供网络加速(或游戏加速)服务,第一应用也称为加速应用,例如,第一应用可以是游戏加速应用、网络加速应用、手机管家应用、手机助手应用、电脑管家应用等,本申请实施例不对第一应用的类型进行具体限定。
该第二应用用于提供能够进行互动的虚拟场景,第二应用也称为游戏应用或支持虚拟场景的任一应用,例如,第二应用可以是MOBA游戏、MMORPG游戏、FPS游戏、第三人称射击游戏、虚拟现实应用程序、三维地图程序或者多人器械类生存游戏等,本申请实施例不对第二应用的类型进行具体限定。
在一些实施例中,终端可以在第一应用的加速功能界面中,显示待加速的一个或多个应用,该一个或多个应用是指终端上已安装的、支持虚拟场景的部分或全部应用程序,接着,终端响应于用户对任一应用的选择操作,将用户选择的该任一应用确定为本次待加速的第二应用。可选地,该选择操作包括但不限于:点击操作、长按操作、双击操作、按压操作、滑动操作(如左滑、右滑、上滑、下滑等)、拖动操作、晃动操作、语音指令、手势指令、快捷键一键触发等,本申请实施例对选择操作的类型不作限定。
在一些实施例中,终端在显示待加速的各个应用时,可以在取得用户授权或充分授权之后,检测终端上已安装的支持虚拟场景的各个应用,并在该加速功能界面中显示各个应用的应用图标、应用名称、应用简介中的至少一项。可选地,各个应用可以在加速功能界面中以列表的形式排布,或者,还可以以平铺的方式排布,或者,还可以散乱排布,或者,还可以以选项卡的形式排布。
在一个示例性场景中,终端在加速功能界面中显示加速选项以及待加速的一个或多个应用的选项卡,用户可以通过左滑或者右滑的方式,以先前或者向后进行翻页,查看上一个应用的选项卡或者下一个应用的选项卡,在每个应用的选项卡中可以显示应用图标、应用名称或者应用简介中的至少一项。在加速功能界面中当前显示的应用也即第二应用,用户通过左滑或者右滑操作,可以更改当前显示的应用,从而更改本次待加速的第二应用。
在一些实施例中,终端可以通过如下两种方式来进入加速功能界面:第一种、终端响应于对该第一应用的主界面中加速选项的触发操作,显示该加速功能界面,也即是说,终端直接在启动第一应用后,在第一应用的主界面中对加速选项执行触发操作,以进入到加速功能界面中,能够提供一种非常直观的人机交互方式;第二种、终端响应于对该第一应用的消息通知栏中加速选项的触发操作,显示该加速功能界面,也即是说,终端无需进入第一应用的主界面,即使第一应用目前在后台挂起,但只要在第一应用的消息通知栏(如下滑通知栏等)中对加速选项执行触发操作,可以直接跳转到第一应用并进入该加速功能界面,能够方便用户从任一界面中快速切换至第一应用的加速功能界面。
302、终端响应于对该第二应用的触发操作,基于移动通信链路和无线通信链路的网络延时,确定目标传输链路,该目标传输链路包括该移动通信链路或者该无线通信链路中的至少一项。
该移动通信链路是指基于蜂窝通信技术进行连接的链路,例如该移动通信链路可以是LTE链路、3G链路、4G链路或者5G链路等。
该无线通信链路是指基于WiFi通信技术进行连接的链路,例如该无线通信链路可以是WiFi链路等。
在一些实施例中,终端在确定目标传输链路(即本次加速所选择的传输链路)时,可以基于预先设定的期望延时(Round-Trip Time,RTT)与各条通信链路当前的网络延时,来选择目标传输链路,可选地,由于各条通信链路的网络延时并非是一成不变的,也即各条通信链路的网络延时本身是随着时间推移动态变化的,因此该目标传输链路也可以随之而动态切换。
可选地,该期望延时可以是第一应用设置的默认值,或者,也可以由用户手动修改以完成期望延时的自定义设置,或者,还可以由技术人员根据不同的第二应用设置不同的取值,本申请实施例对期望延时的获取方式不进行具体限定,其中,该期望延时可以视为在开启加速后所期望的最大网络延时。例如,对于一些网络质量要求较高的MOBA游戏,如果掉帧或者卡顿可能会导致用户操控的虚拟对象在互动中被击败,那么可以设置较低的期望延时,对于一些网络质量要求较低的MMORPG游戏,如果掉帧或者卡顿可能并不会对用户的游戏体验造成很大的损害,那么可以设置较高的期望延时。
在一些实施例中,终端可以基于如下方式来确定移动通信链路的网络延时:终端基于无线通信链路,发送探测报文;基于移动通信链路,接收基于探测报文所返回的响应报文,将该探测报文的发送时刻和该响应报文的接收时刻之间的时间差,确定为移动通信链路的网络延时。
在一些实施例中,终端可以基于如下方式来确定无线通信链路的网络延时:终端基于无线通信链路,发送探测报文;基于该无线通信链路,接收基于探测报文所返回的响应报文,将该探测报文的发送时刻和该响应报文的接收时刻之间的时间差,确定为无线通信链路的网络延时。
在一些实施例中,若该无线通信链路的网络延时低于期望延时,终端确定该无线通信链路为该目标传输链路,换言之,终端选择无线通信链路为目标传输链路,此时可视为切换至主路径(如WiFi路径)传输模式。
在一些实施例中,若该移动通信链路的网络延时低于该期望延时,终端确定该移动通信链路为该目标传输链路,换言之,终端选择移动通信链路为目标传输链路,此时可视为切换至次路径(如LTE路径)传输模式。
在一些实施例中,若该无线通信链路和该移动通信链路均高于或等于该期望延时,终端确定该无线通信链路和该移动通信链路为该目标传输链路,换言之,终端选择无线通信链路和移动通信链路两者一起作为目标传输链路,此时可视为切换至冗余传输模式。
在上述过程中,基于无线通信链路和移动通信链路的网络延时各自与期望延时之间的大小关系,可以选择合适的通信链路作为本次加速的目标传输链路,也即,如果无线通信链路的网络延时较低时,代表无线通信链路的网络质量较好,此时选择无线通信链路作为目标传输链路,如果移动通信链路的网络质量较低时,代表移动通信链路的网络质量较好,此时选择移动通信链路作为目标传输链路,而如果移动通信链路和无线通信链路两者的网络延时都比较高,此时说明终端处于弱网环境下,因此可以选择双通道一起作为目标传输链路,从而在双通道上进行冗余发送,以降低整体的网络延时。
在一些实施例中,在确定目标传输链路之后,终端还可以实时地对目标传输链路的网络延时进行探测并更新,以便于随时根据网络状态的变化,选择更加合适的目标传输链路。可选地,终端基于该无线通信链路,发送探测报文;基于该目标传输链路,接收基于该探测报文所返回的响应报文;将该探测报文的发送时刻和该响应报文的接收时刻之间的时间差,确定为更新后的网络延时。
在上述过程中,即使确定目标传输链路之后,通过动态更新目标传输链路的网络延时,以即使发现终端的网络情况是否发生变化,比如,如果终端本身处于弱网环境下,选择了双通道作为目标传输链路,但随着时间的变化,终端移动到了网络环境较好的地方(例如用户从电梯中走出),那么可以切换至网络环境较好的通信链路作为目标传输链路,以实现传输链路的动态自适应切换。
在一些实施例中,由于终端有可能在某段时间内无需与加速服务器进行数据传输,但仍希望保持与加速服务器之间的目标传输链路不会被断开,因此,终端可以通过通知报文来维持目标传输链路的连接状态。可选地,若在目标时长内未基于该目标传输链路传输任一互动数据,则终端基于该目标传输链路向加速服务器发送通知报文,该通知报文用于维持该目标传输链路的连接状态。其中,该目标时长为任一大于0的数值。
在上述过程中,通过向加速服务器发送通知报文,能够在不发送互动数据的情况下,保证目标传输链路的连接状态,避免了用户如果再次产生数据传输需求时还需要进行重连的繁琐操作,降低了用户的操作难度,提高了用户的游戏体验。
在一些实施例中,由于用户在退出第二应用(如退出游戏应用)的时候,或者网络质量变好的时候,可能会想关闭网络加速功能,因此用户进入第一应用,在第一应用的加速功能界面中提供停止加速选项,响应于对该停止加速选项的触发操作,生成对第二应用的停止加速指令,响应于对该第二应用的停止加速指令,基于该目标传输链路向加速服务器发送关闭报文,该关闭报文用于指示断开该目标传输链路,接着,终端释放该目标传输链路所占用的通信资源,同理,加速服务器在接收到该关闭报文之后,也释放对应的通信资源。
在上述过程中,终端在想要关闭通道之前,先向加速服务器发送关闭报文,再释放本地的通信资源,同时加速服务器在接收到关闭报文后也释放云端服务器的通信资源,能够在没有数据传输需求的时候,及时释放出空闲的通信资源,从而优化了资源分配策略。
在一些实施例中,终端在确定好目标传输链路之后还可以提供自动从第一应用跳转至第二应用的功能,避免用户需要先将第一应用切换至后台,再启动第二应用等一系列繁琐的操作。可选地,终端可以在该加速功能界面中显示计时控件,该计时控件用于指示从该第一应用跳转至该第二应用的剩余时间;响应于该计时控件指示该剩余时间为0,从该第一应用跳转至该第二应用。可选地,该计时控件可以是计时秒表、计时进度条、计时图标等,本申请实施例不对该计时控件的表现形式进行具体限定。
在一些实施例中,该计时控件可以是一个倒计时控件,以用户点击加速选项的时刻为倒计时起点,并以跳转时长阈值作为整体的倒计时时长,直到倒计时到达0时,取消显示倒计时控件,并自动跳转至第二应用。在另一些实施例中,与倒计时控件类似地,该计时控件还可以是一个正计时控件,以用户点击加速选项的时刻为正计时起点,并以跳转时长阈值作为整体的正计时时长,直到正计时到达跳转时长阈值时,取消显示正计时控件,并自动跳转至第二应用。
在一些实施例中,在从第一应用向第二应用跳转时,可以基于跨应用Activity(安卓系统的活动组件)的方式显示Intent(意图,用于解决安卓应用的各项组件之间的通讯)的调用访问来实现。
303、终端基于该目标传输链路,与该第二应用对应的目标服务器进行数据传输。
在一些实施例中,终端在基于目标传输链路进行数据传输时,可以划分为数据发送和数据接收这两方面来进行介绍。
一、基于目标传输链路进行数据发送
在数据发送过程中,终端先获取该第二应用待传输的互动数据,接着基于目标传输协议对该互动数据进行封装,得到第一数据,最后基于该目标传输链路发送该第一数据。可选地,该目标传输协议可以是MP-UDP协议,也可以是其他传输协议,本申请实施例对此不进行具体限定。
在一些实施例中,第二应用产生了待传输的互动数据之后,由第一应用拦截该互动数据,再由第一应用利用目标传输协议对该互动数据进行封装,得到第一数据,再由终端基于该目标传输链路向加速服务器发送该第一数据,该加速服务器用于将该第一数据解析得到的该互动数据发送至该目标服务器。
在上述过程中,如果目标传输链路包括无线通信链路和移动通信链路这两条,那么此时相当于是选择了冗余传输模式,在冗余传输模式下,终端会通过内核层提供的双通道发送能力,在两个通道上均向加速服务器发送第一数据,对于加速服务器而言,会优先处理先到达的第一数据,并在对第一数据解析后得到互动数据,将该互动数据转发给目标服务器,而后到达的第一数据则会被加速服务器丢弃或忽略,这样能够最大程度上达到网络加速的目的。
在一个示例性场景中,以目标传输协议为MP-UDP协议为例说明,对于第二应用产生的待传输的互动数据,这些互动数据通常是游戏业务的UDP包,可以先由第一应用拦截该互动数据,再基于MP-UDP协议对该互动数据进行再次封装,或者也可以对该互动数据(UDP包)进行解析后再使用MP-UDP协议进行重新封装,上述过程可称为对互动数据的重组过程,在对互动数据重组完毕后所得的数据称为第一数据(MP-UDP包),最后可以基于终端的内核层,从目标传输链路中向加速服务器发送该第一数据,再由加速服务器对该第一数据进行还原,也即对MP-UDP包进行解析,得到UDP包即该互动数据,加速服务器再将互动数据转发至目标服务器。
二、基于目标传输链路进行数据接收
在数据接收过程中,终端可以基于该目标传输链路接收第二数据,该第二数据为该目标服务器向该第二应用所返回的互动数据。
在一些实施例中,终端从目标传输链路接收的第二数据是由加速服务器转发的,也即是说,目标服务器在生成向第二应用所返回的互动数据之后,加速服务器拦截该互动数据,加速服务器利用目标传输协议对该互动数据进行封装,得到第二数据,再由加速服务器基于目标传输链路向终端的第一应用发送该第二数据,第一应用接收该第二数据之后,解析该第二数据得到该互动数据,并将该互动数据发送至第二应用。
在一个示例性场景中,以目标传输协议为MP-UDP协议为例说明,对于目标服务器产生的待返回的互动数据,这些互动数据通常是游戏业务的UDP包,加速服务器会先拦截该互动数据,再基于MP-UDP协议对该互动数据进行再次封装,或者也可以对该互动数据(UDP包)进行解析后再使用MP-UDP协议进行重新封装,上述过程可称为对互动数据的重组过程,在对互动数据重组完毕后所得的数据称为第二数据(MP-UDP包,或称为回包),加速服务器从目标传输链路中向终端的第一应用发送该第二数据,再由第一应用对该第二数据进行还原,也即对MP-UDP包进行解析,得到UDP包即该互动数据,第一应用再将互动数据转发至第二应用。
在一些实施例中,若该目标传输链路包括该无线通信链路和该移动通信链路,那么对于该无线通信链路和该移动通信链路中的任一传输链路,从该任一传输链路接收到第二数据时,若本次接收到的第二数据是首次接收,则保留该第二数据;若本次接收到的第二数据不是首次接收,则丢弃该第二数据。
在上述过程中,如果目标传输链路包括无线通信链路和移动通信链路这两条,那么此时相当于是选择了冗余传输模式,在冗余传输模式下,加速服务器会在两个通道上均向终端的第一应用发送该第二数据,对于第一应用而言,会优先处理先到达的第二数据,并在对第二数据解析后得到互动数据,将该互动数据转发给第二应用,而后到达的第二数据则会被丢弃或忽略,这样能够最大程度上达到网络加速的目的。
在一些实施例中,由于第二应用在运行过程中会不断地产生互动数据,因此,在运行该第二应用的过程中,终端还可以显示加速描述信息,该加速描述信息包括提速效果或者网络稳定性中的至少一项,该提速效果用于表征该网络延时在加速前后的区别,该网络稳定性用于表征该目标传输链路的网络丢包情况。
在一些实施例中,在显示加速描述信息时,可以以悬浮窗的形式显示该加速描述信息,也可以以浮层提示栏的形式显示该加速描述信息,还可以对该加速描述信息进行分屏显示,还可以以子窗口的形式显示该加速描述信息,本申请实施例对加速描述信息的显示方式不进行具体限定。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过第一应用向第二应用提供网络加速功能,在加速时根据移动通信链路和无线通信链路各自的网络延时,可以选择能够保证最优网络质量的传输链路作为目标传输链路,并在目标传输链路上传输数据,这样能够通过选择最合适的目标传输链路,使得数据传输效率大大提高,如果目标传输链路包括两条传输链路时,还能够达到双通道的传输机制,使得网络加速效果最优化。
图4是本申请实施例提供的一种数据传输方法的流程图,参见图4,该实施例应用于电子设备,以电子设备为终端为例进行说明,该实施例包括下述步骤:
401、终端响应于用户对第一应用的主界面中加速选项的触发操作,显示加速功能界面。
在一些实施例中,终端响应于用户对该第一应用的触发操作,启动该第一应用,显示该第一应用的主界面,在该主界面中提供包括该加速选项在内的多个功能选项,响应于用户对该加速选项的触发操作,显示加速功能界面。
可选地,该触发操作包括但不限于:点击操作、长按操作、双击操作、按压操作、滑动操作(如左滑、右滑、上滑、下滑等)、拖动操作、晃动操作、语音指令、手势指令、快捷键一键触发等,本申请实施例对选择操作的类型不作限定。
图5是本申请实施例提供的一种第一应用的主界面的示意图,如图5所示,在第一应用的主界面500中,包括安全检测选项501、垃圾清理选项502、软件管理选项503、骚扰拦截选项504,安全检测选项501用于为终端提供系统安全的全面检测功能,垃圾清理选项502用于为终端清理无用的系统资源,软件管理选项503用于安装新的应用程序或者卸载已有的应用程序,骚扰拦截选项504用于设置需要拦截的语音通话。此外为了方便用户在疫情期间出行,还提供了风险地区查询选项505、出行政策查询选项506、核酸检测预约选项507,风险地区查询选项505用于查询目前存在风险的地区,出行政策查询选项506用于查询目的地的出行政策(如是否需要隔离,是否需要提供7日内核酸检测证明),核酸检测预约选项507用于一键预约本地医院进行核酸检测。进一步地,还提供了加速选项508,主要针对玩游戏卡顿等情况,能够一键进行提速,并自动跳转至游戏应用(第二应用),用户在点击加速选项508后,可触发显示加速功能界面。
在上述过程中,终端直接在启动第一应用后,在第一应用的主界面中对加速选项执行触发操作,以进入到加速功能界面中,能够提供一种非常直观的人机交互方式。
上述步骤401仅提供了用户进入加速功能界面的一种可选实施方式,在一些实施例中,终端还可以响应于对该第一应用的消息通知栏中加速选项的触发操作,显示该加速功能界面,也即是说,终端无需进入第一应用的主界面,即使第一应用目前在后台挂起,但只要在第一应用的消息通知栏(如下滑通知栏等)中对加速选项执行触发操作,可以直接跳转到第一应用并进入该加速功能界面,能够方便用户从任一界面中快速切换至第一应用的加速功能界面。
图6是本申请实施例提供的一种消息通知栏的示意图,如图6所示,以消息通知栏为下拉通知栏为例,在下拉通知栏600中显示有第二应用的多个快捷功能选项,包括快速清理选项601、通话接听助理选项602、加速选项603,快速清理选项601用于一键清理终端内无用的系统资源、及时释放出空闲资源,通话接听助理选项602用于及时查看未接来电、设置接听留言等,加速选项603主要针对玩游戏卡顿等情况,能够一键进行提速,并自动跳转至游戏应用(第二应用),用户在点击加速选项603后,可触发显示加速功能界面。此外,在下拉通知栏600中还可以显示一些其他的快捷功能选项,例如,查看垃圾短信的选项,一键进行文件整理的选项,一键更新所有可更新的应用程序的选项,设置选项等等。并且,在下拉通知栏600中还可以显示系统更新提示以及次要通知信息,这里不做赘述。
402、终端在第一应用的加速功能界面中,显示待加速的第二应用,该第二应用用于提供能够进行互动的虚拟场景。
上述步骤402与上述步骤301类似,这里不做赘述。
图7是本申请实施例提供的一种加速功能界面的示意图,如图7所示,在加速功能界面700中提供了待加速的多个应用的应用图标701-703,其中,位于界面中心且被选中的应用图标702所对应的应用为第二应用,应用图标702的下方还提供有加速选项710,这一加速选项710用于提供对第二应用的网络加速(如,游戏加速)功能。用户可通过左滑操作,选中应用图标701所对应的应用为第二应用,或者,还可以通过右滑操作,选中应用图标703所对应的应用为第二应用。图7仅以左滑、右滑操作切换第二应用为例进行说明,在一些实施例中,如果待加速的一个或多个应用是上下排列显示的,那么还可以通过上滑、下滑操作切换第二应用,这里不做赘述。
图8是本申请实施例提供的一种加速功能界面的示意图,如图8所示,在用户点击加速功能界面700中的加速选项710之后,加速选项710从激活状态切换至非激活状态,激活状态的加速选项710可以显示有提示文字“立即加速”(如图7所示),而非激活状态的加速选项710则可以显示有提示文字“加速中”(如图8所示),并且,在加速过程中,第二应用的应用图标702的外边缘实际上是一个加速配置进度条720,用于显示加速链路的配置进度,在配置过程中需要实时地确定目标传输链路,因此在目标传输链路确定完毕后,视为对加速链路即目标传输链路配置完成,同时加速配置进度条720也会显示达到最大进度。由于此时正在配置目标传输链路,因此在配置过程中的加速描述信息(网络延时、网络稳定性、提速效果等)均显示为空。
图9是本申请实施例提供的一种加速功能界面的示意图,如图9所示,在用户点击加速功能界面700中的加速选项710之后,终端对目标传输链路进行配置,在配置完毕后可在加速功能界面700中显示停止加速选项730和第二应用的启动选项740,停止加速选项730可以用于随时关闭第一应用的网络加速功能,启动选项740用于用户手动操作触发从第一应用跳转至第二应用。可选地,在加速功能界面700中还显示有加速描述信息,加速描述信息包括但不限于网络延时信息751、网络稳定性信息752、提速效果信息753,此外,还可以显示目前已对第二应用进行加速的加速时长信息754,从而能够达到更加直观的反馈效果,提高人机交互效率。
403、终端响应于对该第二应用的触发操作,基于移动通信链路和无线通信链路的网络延时,确定目标传输链路,该目标传输链路包括该移动通信链路或者该无线通信链路中的至少一项。
上述步骤403与上述步骤302类似,这里不做赘述。
404、终端在该加速功能界面中,显示计时控件,该计时控件用于指示从该第一应用跳转至该第二应用的剩余时间。
可选地,该计时控件可以是计时秒表、计时进度条、计时图标等,本申请实施例不对该计时控件的表现形式进行具体限定。
在一些实施例中,该计时控件可以是一个倒计时控件,以用户点击加速选项的时刻为倒计时起点,并以跳转时长阈值作为整体的倒计时时长。
在另一些实施例中,与倒计时控件类似地,该计时控件还可以是一个正计时控件,以用户点击加速选项的时刻为正计时起点,并以跳转时长阈值作为整体的正计时时长。
在一些实施例中,终端可以在加速功能界面的中心区域显示该计时控件,或者,还可以在加速功能界面的边缘区域显示该计时控件,或者,还可以直接在加速功能界面的加速选项上显示计时控件,本申请实施例对该计时控件的显示位置不进行具体限定。
405、终端响应于该计时控件指示该剩余时间为0,从该第一应用跳转至该第二应用。
在一些实施例中,当该计时控件是倒计时控件时,倒计时为0时代表该剩余时间为0;在另一些实施例中,当该计时控件是正计时控件时,正计时为跳转时长阈值代表该剩余时间为0。
在一些实施例中,在从第一应用向第二应用跳转时,可以基于跨应用Activity(安卓系统的活动组件)的方式显示Intent(意图,用于解决安卓应用的各项组件之间的通讯)的调用访问来实现。
在上述步骤404-405中,终端在确定好目标传输链路之后还可以提供自动从第一应用跳转至第二应用的功能,避免用户需要先将第一应用切换至后台,再启动第二应用等一系列繁琐的操作,降低了用户的操作难度。
406、终端基于该目标传输链路,与该第二应用对应的目标服务器进行数据传输。
上述步骤406与上述步骤303类似,这里不做赘述。
407、终端在运行该第二应用的过程中,显示加速描述信息,该加速描述信息包括提速效果或者网络稳定性中的至少一项,该提速效果用于表征该网络延时在加速前后的区别,该网络稳定性用于表征该目标传输链路的网络丢包情况。
在一些实施例中,在显示加速描述信息时,可以以悬浮窗的形式显示该加速描述信息,也可以以浮层提示栏的形式显示该加速描述信息,还可以对该加速描述信息进行分屏显示,还可以以子窗口的形式显示该加速描述信息,本申请实施例对加速描述信息的显示方式不进行具体限定。
图10是本申请实施例提供的一种加速描述信息的显示示意图,如图10所示,在运行第二应用的过程中,可在下滑通知栏1000中以悬浮窗的形式,显示对第二应用的加速描述信息1010,加速描述信息1010包括“延时:44ms,稳定性:一般,提速:20%”,能够直观地反馈出加速前后产生的提速效果,提高了网络加速过程的人机交互效率。
在上述过程中,通过显示加速描述信息,能够实时地向用户反馈加速过程的实时统计结果,即包括提速效果和网络稳定性,此外,还可以包括已经加速的时长,从而给用户带来良好的反馈效果。
图11是本申请实施例提供的一种数据传输方法的原理性流程图,请参考图11,在步骤1101中,用户在客户端(即第一应用)选中游戏(即第二应用)并启动加速,在步骤1102中,底层(即内核层)基于MP-UDP协议进行双通道加速,在步骤1103中,跨应用Activity的方式进行显示Intent的调用访问,即在智能倒计时结束后自动从客户端跳转至游戏,在步骤1104中,进行加速数据包的智能实时统计,其中定义了提速百分比(用于表征在加速前后网络延时的变化),以及网络稳定性(用于表征目前的网络丢包情况是否良好)。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过第一应用向第二应用提供网络加速功能,在加速时根据移动通信链路和无线通信链路各自的网络延时,可以选择能够保证最优网络质量的传输链路作为目标传输链路,并在目标传输链路上传输数据,这样能够通过选择最合适的目标传输链路,使得数据传输效率大大提高,如果目标传输链路包括两条传输链路时,还能够达到双通道的传输机制,使得网络加速效果最优化。
在上述实施例中,介绍了终端与目标服务器之间是如何进行网络加速的,在加速过程中,需要根据移动通信链路和无线通信链路实际的网络延时,来实时选择合适的目标传输链路。目标传输链路的三种可能的选择情况,分别对应于三种不同的通道间的数据传输模式(也即数据调度策略)。此外,为了更好地实现通道调度,还提供了四种可选的控制报文,在本申请实施例中,将结合三种数据传输模式,详细介绍互动数据以及控制报文的传输方式。
下面,将首先介绍双通道中支持的四种控制报文:
1)探测报文(Probing Message),第一应用主动发送,用于更新第一应用到加速服务器的网络延时,辅助通道调度决策。探测报文仅在WiFi通道中发送;
2)响应报文(ACK Message),加速服务器接收到探测报文后在原本的目标传输链路给第一应用的回包,用于更新第一应用到加速服务器的网络延时,辅助通道调度决策;
3)通知报文(Notification Message),当第一应用在目标时长(如3秒钟)内没有任何数据传输给加速服务器,则第一应用主动向加速服务器发送通知报文,加速服务器接收到通知报文后不需要回包,能够接收到回包证明通道状态正常,可继续进行数据传输。同理,当加速服务器在目标时长(如3秒钟)内没有任何数据传输给第一应用,则加速服务器主动向第一应用发送通知报文,第一应用接收到通知报文后不需要回包,能够接收到回包证明通道状态正常,可继续进行数据传输。若在一些特定场景下,加速服务器或者第一应用没有接收到通知报文,则加速服务器或者第一应用会尝试重连,若重连不成功,则认为与对方的目标传输链路已关闭,释放对应的通信资源;
4)关闭报文(Channel Close Message),第一应用主动发送,用于关闭目标传输链路,释放终端及服务器双端已占用的通信资源,第一应用会在关闭目标传输链路之前发送关闭报文,并释放第一应用占用的通信资源,加速服务器在接收到关闭报文后,同样会立即释放占用的通信资源,以保障通道性能。
图12是本申请实施例提供的控制报文的发送逻辑的原理性示意图,如1200所示,仅介绍在第一应用与加速服务器之间互动数据以及控制报文是如何进行传输的。首先,第一应用和加速服务器之间可以互相发送互动数据。其次,第一应用向加速服务器发送探测报文,加速服务器向第一应用返回响应报文,第一应用可根据探测报文的发送时刻与响应报文的接收时刻,计算出更新后的网络延时。再次,如果第一应用在目标时长(如3秒钟)内没有任何数据发给加速服务器,那么第一应用向加速服务器发送通知报文;同理,如果加速服务器在目标时长(如3秒钟)内没有任何数据发给第一应用,那么加速服务器向第一应用发送通知报文。最后,在关闭通道之前,第一应用向加速服务器发送关闭报文,然后第一应用释放对应的通信资源,加速服务器在接收到关闭报文之后也释放对应的通信资源。
下面,将介绍三种数据传输模式以及每种数据传输模式下的数据发送逻辑。
1、冗余传输模式
在冗余传输模式下,目标传输链路包括移动通信链路和无线通信链路共两条路径。
在数据发送过程中,第二应用产生待传输的互动数据后,第一应用拦截该互动数据,利用MP-UDP协议对该互动数据进行封装,得到第一数据,第一应用在移动通信链路和无线通信链路上均向加速服务器发送第一数据。加速服务器会优先处理先到达的第一数据,并将其解析得到互动数据,将互动数据转发至目标服务器,而后到达的第一数据则会被放弃掉。对于加速服务器来说,在接收到任一数据包时,会获取这一数据包的数据包序号(seqNum,用于唯一标识数据包),如果这一seqNum与之前接收到的数据包的seqNum相同,那么判断当前接收到的该任一数据包是冗余包(即并非首次接收到),那么会丢弃或忽略该任一数据包,从而能够避免重复向目标服务器发送相同的数据,或者重复向第一应用回包。
需要说明的是,加速服务器无需等待两个通道的第一数据都收到后才向目标服务器转发,这是因为等待会产生额外的网络延时,且会放大网络丢包产生的问题。
同理,在数据接收过程中,目标服务器在回包时,返回的互动数据会被加速服务器拦截,加速服务器利用MP-UDP协议对互动数据进行封装,得到第二数据,加速服务器在移动通信链路和无线通信链路上均向第一应用发送第二数据。第一应用会优先处理先到达的第二数据,并将其解析得到互动数据,将互动数据转发至第二应用,而后到达的第二数据则会被放弃掉。对于第一应用来说,在接收到任一数据包时,会获取这一数据包的seqNum,如果该seqNum与之前接收到的数据包的seqNum相同,那么判断当前接收到的该任一数据包是冗余包(即并非首次接收到),那么会丢弃或忽略该任一数据包,从而能够避免重复向第二应用发送相同的数据,或者重复向加速服务器回包。
需要说明的是,第一应用无需等待两个通道的第二数据都收到后才向第二应用转发,这是因为等待会产生额外的网络延时,且会放大网络丢包产生的问题。
从加速效果角度考虑,冗余传输模式是最优的传输模式,但从通信成本角度考虑,冗余传输模式会带来较大的带宽成本。
图13是本申请实施例提供的一种冗余传输模式的通信流程图,如1300所示,目标传输链路包括WiFi通道(无线通信链路)和LTE通道(移动通信链路),第一应用分别在WiFi通道和LTE通道上冗余发送第一数据,加速服务器也分别在WiFi通道和LTE通道上冗余发送第二数据。进一步地,如果第一应用或加速服务器超过目标时长(如3秒钟)未向对方传输任何数据,则第一应用或加速服务器在WiFi通道和LTE通道上冗余发送通知报文。但需要说明的是,第一应用仅在WiFi通道上发送探测报文。
2、主路径传输模式
在主路径传输模式下,目标传输链路仅包括无线通信链路,换言之,数据包仅会在WiFi通道进行传输。主路径传输模式仅会在WiFi通道的网络延时低于期望延时时才会使用,能够保障传输稳定的同时降低带宽成本以及客户端性能消耗。
图14是本申请实施例提供的一种主路径传输模式的通信流程图,如1400所示,目标传输链路仅包括WiFi通道(无线通信链路),第一应用仅在WiFi通道上发送第一数据,加速服务器仅在WiFi通道上发送第二数据。进一步地,如果第一应用或加速服务器超过目标时长(如3秒钟)未向对方传输任何数据,则第一应用或加速服务器也仅在WiFi通道上发送通知报文。此外,第一应用仅在WiFi通道上发送探测报文。
3、次路径传输模式
在次路径传输模式下,目标传输链路仅包括移动通信链路,换言之,数据包仅会在LTE通道进行传输。次路径传输模式会在WiFi通道的网络延时高于或等于期望延时(即WiFi通道不稳定),且LTE通道的网络延时低于期望延时时才会使用,次路径传输模式下会消耗用户流量,但能够在保障传输稳定的同时降低带宽成本以及客户端性能消耗。
图15是本申请实施例提供的一种次路径传输模式的通信流程图,如1500所示,目标传输链路仅包括LTE通道(移动通信链路),第一应用仅在LTE通道上发送第一数据,加速服务器仅在LTE通道上发送第二数据。进一步地,如果第一应用或加速服务器超过目标时长(如3秒钟)未向对方传输任何数据,则第一应用或加速服务器也仅在LTE通道上发送通知报文。但需要说明的是,第一应用仍然会在WiFi通道(而不是LTE通道)上发送探测报文。
在本申请实施例中,基于终端MP-UDP协议层联动,通过在WiFi/LTE两条路径上进行选择调度或者双路冗余发送,能够实现稳定低延时的端云传输的加速解决方案。能够在第二应用和目标服务器之间进行数据包传输的优化提效,打造一个高稳定、低延时的畅快网络体验环境(如游戏网络体验环境),在实验室情况下能够让终端的整体网络达到电竞加速的网络级别,整体优化在加速过程中的网络卡顿情况,大大提高了网络加速性能和效果。
进一步地,通过在第一应用提供加速配置完毕后直接自动化跳转至第二应用,使得用户在加速时无需账号登录,并且还可以基于实时悬浮窗技术来显示加速描述信息,以进行游戏网络数据提示,能够在保障畅快游戏网络环境的基础上,增加游戏加速整体的操作便捷度和趣味性,使得用户能够获得良好的用户体验,且能够促进产品能力推广以及品牌建设。
进一步地,加速服务器部署在目标服务器之前,可复用游戏服务器的自动负载均衡,具有很高的处理性能,且抗攻击能力强,并且无需额外的带宽成本,最大化减少网络延时的消耗,保障加速效果,且加速服务器的路由能够自动扩容,保证了加速功能的抗压能力,最后这一前置部署策略还可以覆盖更多款第二应用与其对应的目标服务器。
以下,将对Demo包测试数据的测试结果进行说明。
如表1所示,Demo包测试方式是在不同场景下分别同时开10个Socket(套接字),并分别发送100个UDP包和10000个UDP包并计算这些数据包的平均延时。网络环境分别包括正常WiFi且正常4G环境,以及较弱WiFi且正常4G环境。
表1
可以看出,在WiFi通道的网络延时较低时(例如低于50ms),由于双通道需要在第一应用和加速服务器中转,导致网络延时略微上升。而在WiFi通道的网络延时较高时,在双通道加速开启后,可将平均延时降低到40ms以下,大大降低了网络延时,优化了网络卡顿现象。
以下,以第二应用为游戏应用为例,将对多款游戏应用的游戏实测数据的测试结果进行说明。
游戏实测方式是指对一款或多款游戏应用在开启双通道加速前后分别进行测试。
图16示出了一款第一游戏应用在开启双通道加速前后的测试效果对比图,如1600所示,在WiFi通道设置了200ms延时情况下,对第一游戏应用进行了双通道加速的功能测试,可以看出,开启双通道加速后,第一游戏应用的网络延时能降到50ms左右,并且十分稳定,最高延时只会到达84ms。而与未开启加速时作为对比,网络延时高达200ms以上。
图17示出了一款第二游戏应用在开启双通道加速前后的测试效果对比图,如1700所示,在WiFi通道设置了200ms延时情况下,对第二游戏应用进行了双通道加速的功能测试,可以看出,开启双通道加速后,第二游戏应用的网络延时能降到100ms以下,并且十分稳定。而与未开启加速时作为对比,网络延时高达300ms以上。
综上所述,本申请实施例提供的数据传输方法,能够大幅降低第二应用的网络延时,极大减少卡顿、掉线等较差的用户体验情况的发生,提升用户在弱网情况下的游戏体验,通过深入网络传输的底层链路,进行协议层的重构搭建,以及多通道的创新混合传输数据,能够满足多通道畅快加速的用户需求,且补齐了智能加速的体验感,实现了加速自动化,且数据能够智能化直观展示,满足用户侧的感知需求。
图18是本申请实施例提供的一种数据传输装置的结构示意图,请参考图18,该装置包括:
显示模块1801,用于在第一应用的加速功能界面中,显示待加速的第二应用,该第二应用用于提供能够进行互动的虚拟场景;
第一确定模块1802,用于响应于对该第二应用的触发操作,基于移动通信链路和无线通信链路的网络延时,确定目标传输链路,该目标传输链路包括该移动通信链路或者该无线通信链路中的至少一项;
传输模块1803,用于基于该目标传输链路,与该第二应用对应的目标服务器进行数据传输。
本申请实施例提供的装置,通过第一应用向第二应用提供网络加速功能,在加速时根据移动通信链路和无线通信链路各自的网络延时,可以选择能够保证最优网络质量的传输链路作为目标传输链路,并在目标传输链路上传输数据,这样能够通过选择最合适的目标传输链路,使得数据传输效率大大提高,如果目标传输链路包括两条传输链路时,还能够达到双通道的传输机制,使得网络加速效果最优化。
在一种可能实施方式中,基于图18的装置组成,该传输模块1803包括:
获取单元,用于获取该第二应用待传输的互动数据;
封装单元,用于基于目标传输协议对该互动数据进行封装,得到第一数据;
发送单元,用于基于该目标传输链路发送该第一数据。
在一种可能实施方式中,该发送单元用于:
基于该目标传输链路向加速服务器发送该第一数据,该加速服务器用于将该第一数据解析得到的该互动数据发送至该目标服务器。
在一种可能实施方式中,基于图18的装置组成,该传输模块1803包括:
接收单元,用于基于该目标传输链路接收第二数据,该第二数据为该目标服务器向该第二应用所返回的互动数据。
在一种可能实施方式中,若该目标传输链路包括该无线通信链路和该移动通信链路,该接收单元用于:
对于该无线通信链路和该移动通信链路中的任一传输链路,从该任一传输链路接收到第二数据时,若本次接收到的第二数据是首次接收,则保留该第二数据;若本次接收到的第二数据不是首次接收,则丢弃该第二数据。
在一种可能实施方式中,该第一确定模块1802用于:
若该无线通信链路的网络延时低于期望延时,确定该无线通信链路为该目标传输链路;
若该移动通信链路的网络延时低于该期望延时,确定该移动通信链路为该目标传输链路;
若该无线通信链路和该移动通信链路均高于或等于该期望延时,确定该无线通信链路和该移动通信链路为该目标传输链路。
在一种可能实施方式中,基于图18的装置组成,该装置还包括:
第一发送模块,用于基于该无线通信链路,发送探测报文;
接收模块,用于基于该目标传输链路,接收基于该探测报文所返回的响应报文;
第二确定模块,用于将该探测报文的发送时刻和该响应报文的接收时刻之间的时间差,确定为更新后的网络延时。
在一种可能实施方式中,基于图18的装置组成,该装置还包括:
第二发送模块,用于若在目标时长内未基于该目标传输链路传输任一互动数据,则基于该目标传输链路发送通知报文,该通知报文用于维持该目标传输链路的连接状态。
在一种可能实施方式中,基于图18的装置组成,该装置还包括:
第三发送模块,用于响应于对该第二应用的停止加速指令,基于该目标传输链路发送关闭报文,该关闭报文用于指示断开该目标传输链路;
释放模块,用于释放该目标传输链路所占用的通信资源。
在一种可能实施方式中,该显示模块1801还用于:
响应于对该第一应用的主界面中加速选项的触发操作,显示该加速功能界面;或,
响应于对该第一应用的消息通知栏中加速选项的触发操作,显示该加速功能界面。
在一种可能实施方式中,该显示模块1801还用于:显示计时控件,该计时控件用于指示从该第一应用跳转至该第二应用的剩余时间;
基于图18的装置组成,该装置还包括跳转模块,用于:响应于该计时控件指示该剩余时间为0,从该第一应用跳转至该第二应用。
在一种可能实施方式中,该显示模块1801还用于:
在运行该第二应用的过程中,显示加速描述信息,该加速描述信息包括提速效果或者网络稳定性中的至少一项,该提速效果用于表征该网络延时在加速前后的区别,该网络稳定性用于表征该目标传输链路的网络丢包情况。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的数据传输装置在传输数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将电子设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的数据传输装置与数据传输方法实施例属于同一构思,其具体实现过程详见数据传输方法实施例,这里不再赘述。
图19是本申请实施例提供的一种电子设备的结构示意图,以电子设备为终端1900为例进行说明。可选地,该终端1900的设备类型包括:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1900还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1900包括有:处理器1901和存储器1902。
可选地,处理器1901包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器1901采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器1901包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1901集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1901还包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
在一些实施例中,存储器1902包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器1902还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1902中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1901所执行以实现本申请中各个实施例提供的数据传输方法。
在一些实施例中,终端1900还可选包括有:外围设备接口1903和至少一个外围设备。处理器1901、存储器1902和外围设备接口1903之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口1903相连。具体地,外围设备包括:射频电路1904、显示屏1905、摄像头组件1906、音频电路1907和电源1908中的至少一种。
外围设备接口1903可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1901和存储器1902。在一些实施例中,处理器1901、存储器1902和外围设备接口1903被集成在同一芯片或电路板上;在一些其他实施例中,处理器1901、存储器1902和外围设备接口1903中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1904用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1904通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1904将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1904包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路1904通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1904还包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1905用于显示UI(User Interface,用户界面)。可选地,该UI包括图形、文本、图标、视频及其它们的任意组合。当显示屏1905是触摸显示屏时,显示屏1905还具有采集在显示屏1905的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器1901进行处理。可选地,显示屏1905还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1905为一个,设置终端1900的前面板;在另一些实施例中,显示屏1905为至少两个,分别设置在终端1900的不同表面或呈折叠设计;在再一些实施例中,显示屏1905是柔性显示屏,设置在终端1900的弯曲表面上或折叠面上。甚至,可选地,显示屏1905设置成非矩形的不规则图形,也即异形屏。可选地,显示屏1905采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1906用于采集图像或视频。可选地,摄像头组件1906包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1906还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
在一些实施例中,音频电路1907包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1901进行处理,或者输入至射频电路1904以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端1900的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1901或射频电路1904的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1907还包括耳机插孔。
电源1908用于为终端1900中的各个组件进行供电。可选地,电源1908是交流电、直流电、一次性电池或可充电电池。当电源1908包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
在一些实施例中,终端1900还包括有一个或多个传感器1910。该一个或多个传感器1910包括但不限于:加速度传感器1911、陀螺仪传感器1912、压力传感器1913、光学传感器1914以及接近传感器1915。
在一些实施例中,加速度传感器1911检测以终端1900建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1911用于检测重力加速度在三个坐标轴上的分量。可选地,处理器1901根据加速度传感器1911采集的重力加速度信号,控制显示屏1905以横向视图或纵向视图进行用户界面的显示。加速度传感器1911还用于游戏或者用户的运动数据的采集。
在一些实施例中,陀螺仪传感器1912检测终端1900的机体方向及转动角度,陀螺仪传感器1912与加速度传感器1911协同采集用户对终端1900的3D动作。处理器1901根据陀螺仪传感器1912采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
可选地,压力传感器1913设置在终端1900的侧边框和/或显示屏1905的下层。当压力传感器1913设置在终端1900的侧边框时,能够检测用户对终端1900的握持信号,由处理器1901根据压力传感器1913采集的握持信号进行左右手识别或快捷操作。当压力传感器1913设置在显示屏1905的下层时,由处理器1901根据用户对显示屏1905的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
光学传感器1914用于采集环境光强度。在一个实施例中,处理器1901根据光学传感器1914采集的环境光强度,控制显示屏1905的显示亮度。具体地,当环境光强度较高时,调高显示屏1905的显示亮度;当环境光强度较低时,调低显示屏1905的显示亮度。在另一个实施例中,处理器1901还根据光学传感器1914采集的环境光强度,动态调整摄像头组件1906的拍摄参数。
接近传感器1915,也称距离传感器,通常设置在终端1900的前面板。接近传感器1915用于采集用户与终端1900的正面之间的距离。在一个实施例中,当接近传感器1915检测到用户与终端1900的正面之间的距离逐渐变小时,由处理器1901控制显示屏1905从亮屏状态切换为息屏状态;当接近传感器1915检测到用户与终端1900的正面之间的距离逐渐变大时,由处理器1901控制显示屏1905从息屏状态切换为亮屏状态。
本领域技术人员能够理解,图19中示出的结构并不构成对终端1900的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图20是本申请实施例提供的一种电子设备的结构示意图,该电子设备2000可因配置或性能不同而产生比较大的差异,该电子设备2000包括一个或一个以上处理器(CentralProcessing Units,CPU)2001和一个或一个以上的存储器2002,其中,该存储器2002中存储有至少一条计算机程序,该至少一条计算机程序由该一个或一个以上处理器2001加载并执行以实现上述各个实施例提供的数据传输方法。可选地,该电子设备2000还具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备2000还包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序可由终端中的处理器执行以完成上述各个实施例中的数据传输方法。例如,该计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。电子设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得电子设备能够执行以完成上述实施例中的数据传输方法。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (16)
1.一种数据传输方法,其特征在于,所述方法包括:
在第一应用的加速功能界面中,显示待加速的第二应用,所述第二应用用于提供能够进行互动的虚拟场景;
响应于对所述第二应用的触发操作,基于移动通信链路和无线通信链路的网络延时,确定目标传输链路,所述目标传输链路包括所述移动通信链路或者所述无线通信链路中的至少一项;
基于所述目标传输链路,与所述第二应用对应的目标服务器进行数据传输。
2.根据权利要求1所述的方法,其特征在于,所述基于所述目标传输链路,与所述第二应用对应的目标服务器进行数据传输包括:
获取所述第二应用待传输的互动数据;
基于目标传输协议对所述互动数据进行封装,得到第一数据;
基于所述目标传输链路发送所述第一数据。
3.根据权利要求2所述的方法,其特征在于,所述基于所述目标传输链路发送所述第一数据包括:
基于所述目标传输链路向加速服务器发送所述第一数据,所述加速服务器用于将所述第一数据解析得到的所述互动数据发送至所述目标服务器。
4.根据权利要求1所述的方法,其特征在于,所述基于所述目标传输链路,与所述第二应用对应的目标服务器进行数据传输包括:
基于所述目标传输链路接收第二数据,所述第二数据为所述目标服务器向所述第二应用所返回的互动数据。
5.根据权利要求4所述的方法,其特征在于,若所述目标传输链路包括所述无线通信链路和所述移动通信链路,所述基于所述目标传输链路接收第二数据包括:
对于所述无线通信链路和所述移动通信链路中的任一传输链路,从所述任一传输链路接收到第二数据时,若本次接收到的第二数据是首次接收,则保留所述第二数据;若本次接收到的第二数据不是首次接收,则丢弃所述第二数据。
6.根据权利要求1所述的方法,其特征在于,所述基于移动通信链路和无线通信链路的网络延时,确定目标传输链路包括:
若所述无线通信链路的网络延时低于期望延时,确定所述无线通信链路为所述目标传输链路;
若所述移动通信链路的网络延时低于所述期望延时,确定所述移动通信链路为所述目标传输链路;
若所述无线通信链路和所述移动通信链路均高于或等于所述期望延时,确定所述无线通信链路和所述移动通信链路为所述目标传输链路。
7.根据权利要求1所述的方法,其特征在于,所述基于移动通信链路和无线通信链路的网络延时,确定目标传输链路之后,所述方法还包括:
基于所述无线通信链路,发送探测报文;
基于所述目标传输链路,接收基于所述探测报文所返回的响应报文;
将所述探测报文的发送时刻和所述响应报文的接收时刻之间的时间差,确定为更新后的网络延时。
8.根据权利要求1所述的方法,其特征在于,所述基于移动通信链路和无线通信链路的网络延时,确定目标传输链路之后,所述方法还包括:
若在目标时长内未基于所述目标传输链路传输任一互动数据,则基于所述目标传输链路发送通知报文,所述通知报文用于维持所述目标传输链路的连接状态。
9.根据权利要求1所述的方法,其特征在于,所述基于移动通信链路和无线通信链路的网络延时,确定目标传输链路之后,所述方法还包括:
响应于对所述第二应用的停止加速指令,基于所述目标传输链路发送关闭报文,所述关闭报文用于指示断开所述目标传输链路;
释放所述目标传输链路所占用的通信资源。
10.根据权利要求1所述的方法,其特征在于,所述在第一应用的加速功能界面中,显示待加速的第二应用之前,所述方法还包括:
响应于对所述第一应用的主界面中加速选项的触发操作,显示所述加速功能界面;或,
响应于对所述第一应用的消息通知栏中加速选项的触发操作,显示所述加速功能界面。
11.根据权利要求1所述的方法,其特征在于,所述基于移动通信链路和无线通信链路的网络延时,确定目标传输链路之后,所述方法还包括:
显示计时控件,所述计时控件用于指示从所述第一应用跳转至所述第二应用的剩余时间;
响应于所述计时控件指示所述剩余时间为0,从所述第一应用跳转至所述第二应用。
12.根据权利要求11所述的方法,其特征在于,所述从所述第一应用跳转至所述第二应用之后,所述方法还包括:
在运行所述第二应用的过程中,显示加速描述信息,所述加速描述信息包括提速效果或者网络稳定性中的至少一项,所述提速效果用于表征所述网络延时在加速前后的区别,所述网络稳定性用于表征所述目标传输链路的网络丢包情况。
13.一种数据传输装置,其特征在于,所述装置包括:
显示模块,用于在第一应用的加速功能界面中,显示待加速的第二应用,所述第二应用用于提供能够进行互动的虚拟场景;
第一确定模块,用于响应于对所述第二应用的触发操作,基于移动通信链路和无线通信链路的网络延时,确定目标传输链路,所述目标传输链路包括所述移动通信链路或者所述无线通信链路中的至少一项;
传输模块,用于基于所述目标传输链路,与所述第二应用对应的目标服务器进行数据传输。
14.一种电子设备,其特征在于,所述电子设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求12任一项所述的数据传输方法。
15.一种存储介质,其特征在于,所述存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求12任一项所述的数据传输方法。
16.一种计算机程序产品,其特征在于,所述计算机程序产品包括至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求12中任一项所述的数据传输方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2022/094916 WO2022253068A1 (zh) | 2021-06-03 | 2022-05-25 | 数据传输方法、装置、电子设备及存储介质 |
US18/139,355 US20230264101A1 (en) | 2021-06-03 | 2023-04-26 | Data transmission method and apparatus, electronic device, and storage medium |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2021106202793 | 2021-06-03 | ||
CN202110620279 | 2021-06-03 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115430136A true CN115430136A (zh) | 2022-12-06 |
Family
ID=84239901
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111611884.0A Pending CN115430136A (zh) | 2021-06-03 | 2021-12-27 | 数据传输方法、装置、电子设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230264101A1 (zh) |
CN (1) | CN115430136A (zh) |
WO (1) | WO2022253068A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116506525A (zh) * | 2023-05-16 | 2023-07-28 | 中科融信科技有限公司 | 一种基于异构链路的数据传输装置、方法及电子设备 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140312566A1 (en) * | 2013-03-14 | 2014-10-23 | Indy Cowboy Llc | Casino Style Board Game With Game Accelerator And Method |
CN110247824B (zh) * | 2019-06-21 | 2021-03-02 | 网易(杭州)网络有限公司 | 一种游戏网络的测试方法及装置、电子设备、存储介质 |
CN110535745B (zh) * | 2019-08-30 | 2021-11-30 | 浙江岩华文化科技有限公司 | 网络游戏加速方法、装置、电子设备及计算机可读介质 |
CN110601921B (zh) * | 2019-09-16 | 2022-04-08 | 腾讯科技(深圳)有限公司 | 数据包传输参数的检测方法及装置、数据包传输系统 |
CN112221121A (zh) * | 2020-10-20 | 2021-01-15 | 腾讯科技(深圳)有限公司 | 应用软件联网加速方法、装置及存储介质 |
-
2021
- 2021-12-27 CN CN202111611884.0A patent/CN115430136A/zh active Pending
-
2022
- 2022-05-25 WO PCT/CN2022/094916 patent/WO2022253068A1/zh unknown
-
2023
- 2023-04-26 US US18/139,355 patent/US20230264101A1/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116506525A (zh) * | 2023-05-16 | 2023-07-28 | 中科融信科技有限公司 | 一种基于异构链路的数据传输装置、方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US20230264101A1 (en) | 2023-08-24 |
WO2022253068A1 (zh) | 2022-12-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11025686B2 (en) | Network call method and apparatus, terminal, and server | |
CN105879391B (zh) | 一种游戏中角色的移动控制方法和服务器以及客户端 | |
CN113965807B (zh) | 消息推送方法、装置、终端、服务器及存储介质 | |
US20170302990A1 (en) | Method, terminal, and system for processing data of video stream | |
US20150256988A1 (en) | Method, terminal, server, and system for audio signal transmission | |
CN111614549B (zh) | 交互处理方法、装置、计算机设备及存储介质 | |
JP6430527B2 (ja) | データ処理方法、データ処理システムおよびサーバ | |
CN109194972B (zh) | 直播流获取方法、装置、计算机设备及存储介质 | |
CN110062372A (zh) | 一种sim卡控制方法及终端设备 | |
CN110944408B (zh) | 一种数据传输方法及电子设备 | |
CN106406924B (zh) | 应用程序启动和退出画面的控制方法、装置及移动终端 | |
CN113572836B (zh) | 一种数据传输方法、装置、服务器及存储介质 | |
CN113329201B (zh) | 一种增强的视频通话方法和系统、电子设备 | |
CN106156664A (zh) | 应用程序的用户界面防窥方法、系统、应用程序及终端 | |
CN109831359A (zh) | 一种数据网络连接状态的检测方法及其终端设备 | |
US20230264101A1 (en) | Data transmission method and apparatus, electronic device, and storage medium | |
WO2022206651A1 (zh) | 即时通信方法、装置、电子设备及存储介质 | |
KR20220107013A (ko) | 데이터 처리 방법 및 전자 장치 | |
CN113220405B (zh) | 一种消息互动方法和相关装置 | |
CN112732250A (zh) | 界面处理方法、装置及存储介质 | |
CN112261099B (zh) | 位置信息获取方法、装置和电子设备 | |
CN114071224B (zh) | 视频数据处理方法、装置、计算机设备及存储介质 | |
CN111841015B (zh) | 基于状态机的游戏大厅交互方法、装置、设备及系统 | |
CN108391288A (zh) | 一种优化通信业务质量的方法及移动终端 | |
CN114288659A (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 |