CN116095037A - 应用程序加速方法、装置、电子设备及存储介质 - Google Patents

应用程序加速方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN116095037A
CN116095037A CN202111671675.5A CN202111671675A CN116095037A CN 116095037 A CN116095037 A CN 116095037A CN 202111671675 A CN202111671675 A CN 202111671675A CN 116095037 A CN116095037 A CN 116095037A
Authority
CN
China
Prior art keywords
domain name
name resolution
target
acceleration
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202111671675.5A
Other languages
English (en)
Other versions
CN116095037B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Publication of CN116095037A publication Critical patent/CN116095037A/zh
Application granted granted Critical
Publication of CN116095037B publication Critical patent/CN116095037B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种应用程序加速方法、装置、电子设备,相关实施例可应用于云技术、云安全、智慧交通等各种场景。方法包括:获取与目标应用程序相匹配的网络加速规则信息;基于所述网络加速规则信息,获取与目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;通过虚拟网卡获取与目标应用程序相匹配的目标流量信息;根据目标流量信息的类型和网络加速规则信息,将目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果。本申请的应用加速方法能够提升应用程序的数据处理效率,优化应用程序数据加速的效果,及时发出域名解析结果的消息,同时可以节省域名解析时终端的存储空间,减少对终端的硬件处理的压力。

Description

应用程序加速方法、装置、电子设备及存储介质
优先权说明
本申请要求申请号为202111304938.9,申请日为2021年11月05日,名称为:应用程序加速方法、装置、电子设备及存储介质的优先权。
技术领域
本发明涉及信息处理技术,尤其涉及应用程序加速方法、装置、电子设备及存储介质。
背景技术
随着不同应用程序的开发,应用程序的类型多种多样,对于不同使用需求的应用程序,可以根据应用程序的类型,可以配型不同的应用程序加速服务,例如:通过游戏加速器对游戏应用程序进行加速,通过直播加速器对直播应用程序进行加速处理,减少直播中视频信息的卡顿;这一过程中,由于终端类型不同,需要的进行加速服务的应用程序也不同,当应用程序需要通过网络流量与应用程序的服务器进行信息交互时,域名解析的质量与应用程序的体验密切相关,由于移动设备的便携性,应用程序的用户家的地理位置通常是变化的,其所处的网络环境也是变化的。在不同的网络环境下,域名解析的通过性和准确性是不同的(比如运营商的网络由于域名解析缓存无法正确解析某个域名、国内解析国外的某个域名不准确等),错误的域名解析,不但使得应用程序无法加速处理,也响用户的使用体验。
发明内容
有鉴于此,本发明实施例提供一种应用程序加速方法、装置、电子设备及存储介质,能够有效提升应用程序的域名解析质量,通过正确的域名解析结果,完成所述目标应用程序的加速,提升用户的使用体验。
本发明实施例的技术方案是这样实现的:
本发明实施例提供了一种应用程序加速方法包括:
响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;
基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;
为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;
对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;
根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。
本发明实施例还提供了一种应用程序加速装置,包括:
信息传输模块,用于响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;
信息处理模块,用于基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;
所述信息处理模块,用于为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;
所述信息处理模块,用于对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;
所述信息处理模块,用于根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。
上述方案中,
所述信息处理模块,用于响应于应用程序加速指令,确定所述目标应用程序的类型;
所述信息处理模块,用于根据所述目标应用程序的类型,确定所述目标应用程序的加速方式;
所述信息处理模块,用于对所述目标应用程序的加速方式进行组合处理,得到所述目标应用程序相匹配的网络加速规则信息,其中,所述网络加速规则信息包括至少以下之一:
多服务域名解析加速、单服务域名解析加速和直连域名解析。
上述方案中,
所述信息处理模块,用于根据所述目标应用程序的类型,确定所述目标应用程序的网络加速通道数量;
所述信息处理模块,用于基于所述网络加速通道数量,以及所所述网络加速规则信息,确定所述网络加速规则信息对应的加速域名解析备用服务器数量;
所述信息处理模块,用于基于所述加速域名解析备用服务器数量对所述域名解析服务器列表中的不同类型的服务器数量进行调整。
上述方案中,
所述信息处理模块,用于当所述目标流量信息的类型为域名解析请求流量时,从所述目标流量信息中提取待解析的域名信息;
所述信息处理模块,用于通过正则表达式对所述待解析的域名信息进行匹配处理,得到所述待解析的域名信息对应的域名解析加速策略;
所述信息处理模块,用于根据所述域名解析加速策略,对所述目标流量信息中的域名解析请求进行转发处理,将所述域名解析请求发送至对应的域名解析服务器;
所述信息处理模块,用于获取不同域名解析服务器的处理结果,得到所述域名解析请求对应的域名解析结果。
上述方案中,
所述信息处理模块,用于当所述域名解析加速策略为多服务域名解析加速策略时,对所述域名解析请求进行裂变处理,将所述域名解析请求的目标IP地址修改为加速域名解析主服务器的IP地址,和至少一个加速域名解析备用服务器的IP地址;
所述信息处理模块,用于通过所述加速域名解析主服务器以及至少一个加速域名解析备用服务器,与所述目标应用程序相匹配的网络加速通道对所述域名解析请求进行处理;
所述信息处理模块,用于将所述加速域名解析主服务器以及至少一个加速域名解析备用服务器的不同域名解析结果进行整合,得到域名解析结果;
所述信息处理模块,用于将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
上述方案中,
所述信息处理模块,用于当所述目标应用程序为游戏程序时,获取所述加速域名解析主服务器以及至少一个加速域名解析备用服务器的域名解析过程;
所述信息处理模块,用于当第一次获取到域名解析结果时,确定所获取的域名解析结果为与所述游戏程序相匹配的域名解析结果。
上述方案中,
所述信息处理模块,用于当所述域名解析加速策略为单服务域名解析加速策略时,对将所述域名解析请求的目标IP地址修改为目标域名解析服务器的IP地址;
所述信息处理模块,用于通过所述目标域名解析服务器,利用与所述目标应用程序相匹配的网络加速通道,对所述域名解析请求进行处理,得到域名解析结果;
所述信息处理模块,用于将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
上述方案中,
所述信息处理模块,用于当所述域名解析加速策略为直连域名解析加速策略时,对将所述域名解析请求的目标IP地址修改为目标域名解析服务器的IP地址;
所述信息处理模块,用于通过所述目标域名解析服务器,对所述域名解析请求进行处理,得到域名解析结果;
所述信息处理模块,用于将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
上述方案中,
所述信息处理模块,用于当所述目标流量信息的类型为非域名解析请求流量时,
所述信息处理模块,用于对所述目标流量信息的合法性进行检测,得到所述目标流量信息的合法性检测结果;
所述信息处理模块,用于根据所述目标流量信息的合法性检测结果执行至少以下之一:
将所述目标流量信息转发至所述目标应用程序对应的服务器,或者
发出非法流量提示信息。
上述方案中,
所述信息处理模块,用于当所述目标流量信息的类型为超文本传输协议流量或者加密超文本传输协议流量时,
所述信息处理模块,用于通过解析对应的超文本传输协议,得到目标域名和端口信息;
所述信息处理模块,用于通过向域名系统发送查询信息,获得所述目标域名对应的目标互联网协议地址;将所述目标域名对应的目标互联网协议地址、端口信息以及所述目标流量信息发送至对应的代理服务器;
所述信息处理模块,用于所述代理服务器对所述目标流量信息进行加速处理。
上述方案中,
所述信息处理模块,用于当所述目标应用程序为云游戏时,确定目标用户的标识信息;
所述信息处理模块,用于基于云服务器网络,确定与所述标识信息相匹配的数据源集群;
所述信息处理模块,用于根据所述数据源集群,向云游戏服务器中存储与所述目标用户相匹配的用户的云游戏历史信息。
本发明实施例还提供了一种电子设备,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现前述的应用程序加速方法。
本发明实施例还提供了一种计算机可读存储介质,存储有可执行指令,所述可执行指令被处理器执行时实现前述的应用程序加速方法。
本发明实施例具有以下有益效果:
本发明通过响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。由此可以实现有效提升应用程序的域名解析质量,通过正确的域名解析结果,完成所述目标应用程序的加速,提升用户的使用体验,同时本方案,可以适配不同类型的应用程序,使得用户能够通过本申请提供的应用程序加速方法灵活地调整所要进行加速的应用程序,减少不同应用程序加速装置的安装数量,减少运行终端的硬件处理压力。
附图说明
图1为本发明实施例提供的应用程序加速方法的使用场景示意图;
图2为本发明实施例提供的应用程序加速装置的组成结构示意图;
图3为本发明实施例提供的应用程序加速方法一个可选的流程示意图;
图4A为本发明实施例中游戏数据处理的效果示意图;
图4B为本发明实施例中游戏数据处理的效果示意图;
图5为本发明实施例中需要加速的流量示意图;
图6为本发明实施例中虚拟网卡绑定IP的示意图;
图7为本发明实施例提供的应用程序加速方法一个可选的流程示意图;
图8为本发明实施例中正则表达式示意图;
图9为本发明实施例提供的应用程序加速方法一个可选的流程示意图;
图10为本发明实施例提供的应用程序加速方法过程一个可选的流程示意图;
图11为本发明实施例中ios系统的流量拦截示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有进行出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
对本发明实施例进行进一步详细说明之前,对本发明实施例中涉及的名词和术语进行说明,本发明实施例中涉及的名词和术语适用于如下的解释。
1)响应于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
2)基于,用于表示所执行的操作所依赖的条件或者状态,当满足所依赖的条件或状态时,所执行的一个或多个操作可以是实时的,也可以具有设定的延迟;在没有特别说明的情况下,所执行的多个操作不存在执行先后顺序的限制。
3)虚拟场景:是应用程序在终端上运行时显示(或提供)的虚拟场景。该虚拟场景可以是对真实世界的仿真环境,也可以是半仿真半虚构的三维环境,还可以是纯虚构的三维环境。
虚拟场景可以是二维虚拟场景、2.5维虚拟场景和三维虚拟场景中的任意一种,下述实施例以虚拟场景是三维虚拟场景来举例说明,但对此不加以限定。可选地,该虚拟场景还用于至少两个虚拟对象之间的虚拟场景对战。可选地,该虚拟场景还用于至少两个虚拟对象之间使用虚拟枪械进行对战。可选地,该虚拟场景还可以是不限于枪战类游戏、跑酷类游戏、竞速类游戏、多人在线战术竞技游戏(Multiplayer Online Battle Arena,MOBA)、竞速游戏(Racing Game,RCG)以及体育运动类游戏(sport game,SPG)。采用本申请提供的经过训练的游戏数据处理模型,可以部署在前述各类游戏场景所对应的游戏服务器中,用于生成实时的虚拟场景行进路线并在游戏界面中进行呈现,在相应的游戏执行相应的动作,模拟虚拟用户的操作,与实际参与游戏的用户的共同完成虚拟场景中的不同类型的游戏。
4)虚拟对象,虚拟场景中可以进行交互的各种人和物的形象,或在虚拟场景中的可活动对象。该可活动对象可以是虚拟人物、虚拟动物、动漫人物等,比如:在虚拟场景中显示的人物、动物、植物、油桶、墙壁、石块等。该虚拟对象可以是该虚拟场景中的一个虚拟的用于代表用户的虚拟形象。虚拟场景中可以包括多个虚拟对象,每个虚拟对象在虚拟场景中具有自身的形状和体积,占据虚拟场景中的一部分空间。
5)动作:通过客户端上的操作控制虚拟对象的过程中,利用本申请提供的应用程序加速方法在虚拟场景中呈现虚拟场景行进路线和对应的辅助线时,可以在虚拟场景行进路线中借助辅助线选择任一点执行相应的动作,例如虚拟场景行进路线为游戏地图中的航线时,可以在游戏的空中航线中选择任一位置执行跳伞或者空投的动作,也可以是在游戏的水域航线中选择任一位置执行跳水或者潜水的动作。
6)云技术(Cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
7)云游戏:是指游戏本身运行在云端服务器设备中,将云端设备渲染后的游戏画面编码后,通过网络传输至用户终端,由用户终端对编码文件进行解码后渲染至显示屏进行显示的游戏,从而,用户无需在本地安装游戏,而仅需要建立与云端的通信网络连接便能完成游戏交互过程。
在介绍本申请所提供的应用程序加速方法之前,首先对以游戏程序为例,对传统技术中的应用程序加速方法进行说明,在传统技术中游戏加速的处理过程中,以游戏机中FPS游戏的虚拟场景行进路线产生为例,为了实现在虚拟场景中通过游戏地图呈现虚拟场景行进路线,或者执行相应动作过程的加速,可以包括以下2种方式:
(1)专线加速:使用专线网络转发域名解析流量,依靠专线的稳定性来提升域名解析的质量,从而提升游戏体验。
但这种方式的局限性在于:只能解决在运营商线路上的丢包问题,不能解决域名解析服务器上域名不可解析和域名解析准确性的问题,则会牺牲游戏的加速效果,严重的可能造成游戏不可玩,影响用户的使用体验。
(2)双通道加速:同时使用蜂窝网络和WI-FI网络转发域名解析流量,通过大量冗余发包来提升域名解析的成功率。
但这种方式的局限性在于:只能解决用户本地网络上的丢包问题,不能解决域名解析服务器上域名不可解析和域名解析准确性的问题。
为了解决上述缺陷,本发明实施例提供了一种应用程序加速方法,以实现获得正确地域名解析结果,并根据域名解析结果对应用程序的加速处理,优化应用程序的加速效果,提升用户的使用体验。
图1为本发明实施例提供的应用程序加速方法的实施场景示意图,参见图1,为实现支撑一个示例性应用,终端包括终端10-1和终端10-2,终端通过网络300连接应用程序加速装置200,网络300可以是广域网或者局域网,又或者是二者的组合,使用无线或有线链路实现数据传输。
终端(如终端10-2)位于用户侧,用于发出虚拟场景行进路线生成请求,请求获取与目标对象所处虚拟场景相适配的虚拟场景行进路线,其中目标对象可以是各种类型的游戏使用者。终端(包括终端10-1和终端10-2)可以通过网络300从相应的虚拟场景服务器200中所获取虚拟场景的数据,并在终端的显示区域呈现虚拟场景,终端中所设置的应用程序加速装置可以执行以下方案:
响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。
在一些实施例中,终端10-1可以安装和运行有支持虚拟场景的应用程序。该应用程序可以是虚拟现实应用程序、三维地图程序、第一人称射击游戏(FPS First-personshooting game)、多人在线战术竞技游戏(MOBA Multiplayer Online Battle ArenaGames)等不同的虚拟场景,其中,以射击类游戏为例,用户可以控制虚拟对象在虚拟场景行进路线中的不同位置执行动作,或者,沿着虚拟场景行进路线运动时,在不同时间点执行动作,例如在虚拟场景行进路线中的不同位置实现天空中自由下落、滑翔或者打开降落伞进行下落等,也可以在陆地上的虚拟场景行进路线中的不同位置实现跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在虚拟场景行进路线中的不同位置实现海洋中游泳、漂浮或者下潜等,当然,用户也可以控制虚拟对象乘坐虚拟载具在该虚拟场景中进行移动,并在虚拟场景行进路线中的不同位置进行实时位置展示,例如,该虚拟载具可以是虚拟汽车、虚拟飞行器、虚拟游艇沿着虚拟场景行进路线进行移动等,在此仅以上述场景进行举例说明,本发明实施例对此不作具体限定。用户也可以控制虚拟对象通过虚拟武器与其他虚拟对象进行战斗等方式的互动,该虚拟武器可以是冷兵器,也可以是热兵器,本发明对虚拟武器的类型不作具体限定。
其中,应用程序加速装置可以封装于专业游戏终端或者封装于不同的移动电子设备中,本申请不做具体限制,其中,当应用程序为游戏程序时,应用程序加速装置可以为游戏加速器,游戏本身运行在云端服务器设备中,将云端设备渲染后的游戏画面编码后,通过网络传输至用户终端,由用户终端对编码文件进行解码后渲染至显示屏进行显示的游戏,从而,用户无需在本地安装游戏,而仅需要建立与云端的通信网络连接便能完成游戏交互过程。云游戏的组织架构中包括终端和云端服务器,其中,终端用于接收用户对游戏过程的控制操作,并将控制操作对应的控制指令发送至云端服务器,云端服务器用于对游戏进程进行控制,并将游戏过程中的视频流发送至终端进行播放。也即在云游戏的组织架构中,终端主要负责在游戏过程中接收对应服务端的游戏视频和游戏音频进行渲染与播放,并把游戏用户在终端侧的操作(包括但不限于游戏用户通过鼠标、键盘、操作手柄、语音指令、触摸指令等方式实现的操作),通过和服务端连接的信令通道发送给服务端,服务端把这些操作信息发送给相匹配的鼠标驱动进程、声卡驱动进程以及键盘驱动进程,从而实现对云端游戏的控制。游戏加速器通过执行本申请所提供的应用程序加速方法可以实现对游戏程序的数据处理效率,优化应用程序的数据加速效果。
下面对用于实施本发明实施例的应用程序加速方法的应用程序加速装置进行说明。应用程序加速装置可以各种形式来实施,如带有应用程序加速装置处理功能的终端,也可以为设置有应用程序加速装置处理功能的服务器,例如前序图1中的服务器200。图2为本发明实施例提供的应用程序加速装置的组成结构示意图,可以理解,图2仅仅示出了应用程序加速装置的示例性结构而非全部结构,根据需要可以实施图2示出的部分结构或全部结构。
本发明实施例提供的应用程序加速装置包括:至少一个处理器201、存储器202、用户接口203和至少一个网络接口204。应用程序加速装置中的各个组件通过总线系统205耦合在一起。可以理解,总线系统205用于实现这些组件之间的连接通信。总线系统205除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统205。
其中,用户接口203可以包括显示器、键盘、鼠标、轨迹球、点击轮、按键、按钮、触感板或者触摸屏等。
可以理解,存储器202可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。本发明实施例中的存储器202能够存储数据以支持终端(如10-1)的操作。这些数据的示例包括:用于在终端(如10-1)上操作的任何计算机程序,如操作系统和应用程序。其中,操作系统包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序可以包含各种应用程序。
在一些实施例中,本发明实施例提供的应用程序加速装置可以采用软硬件结合的方式实现,作为示例,本发明实施例提供的应用程序加速装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本发明实施例提供的应用程序加速方法。例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application SpecificIntegrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,Complex Programmable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable Gate Array)或其他电子元件。
作为本发明实施例提供的应用程序加速装置采用软硬件结合实施的示例,本发明实施例所提供的应用程序加速装置可以直接体现为由处理器201执行的软件模块组合,软件模块可以位于存储介质中,存储介质位于存储器202,处理器201读取存储器202中软件模块包括的可执行指令,结合必要的硬件(例如,包括处理器201以及连接到总线205的其他组件)完成本发明实施例提供的应用程序加速方法。
作为示例,处理器201可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
作为本发明实施例提供的应用程序加速装置采用硬件实施的示例,本发明实施例所提供的装置可以直接采用硬件译码处理器形式的处理器201来执行完成,例如,被一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件执行实现本发明实施例提供的应用程序加速方法。
本发明实施例中的存储器202用于存储各种类型的数据以支持应用程序加速装置的操作。这些数据的示例包括:用于在应用程序加速装置上操作的任何可执行指令,如可执行指令,实现本发明实施例的从应用程序加速方法的程序可以包含在可执行指令中。
在另一些实施例中,本发明实施例提供的应用程序加速装置可以采用软件方式实现,图2示出了存储在存储器202中的应用程序加速装置,其可以是程序和插件等形式的软件,并包括一系列的模块,作为存储器202中存储的程序的示例,可以包括应用程序加速装置,应用程序加速装置中包括以下的软件模块:
信息传输模块2081,响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;
信息处理模块2082,用于基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;
所述信息处理模块2082,用于为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;
所述信息处理模块2082,用于对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;
所述信息处理模块2082,用于根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。
在一些实施例中,应用程序加速装置200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(CDN,Content Delivery Network)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端(如终端10-1)可以是智能手机、平板电脑、笔记本电脑、台式计算机等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本发明实施例中不进行限制。
根据图2所示的应用程序加速装置,在本申请的一个方面中,本申请还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述点应用程序加速方法的各种可选实现方式中所提供的不同实施例及实施例的组合。
在一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
继续结合图2示出的应用程序加速装置说明本发明实施例提供的应用程序加速方法,参见图3,图3为本发明实施例提供的应用程序加速方法一个可选的流程示意图,以应用程序为游戏程序为例,可以通过运行于图1所示的终端10-1或者10-2中的游戏加速器执行本申请提供的应用程序加速方法,实现在保证游戏数据处理准确性的同时,实现提游戏数据处理的效率,更快速地对复杂维度的游戏场景中的数据进行处理,需要说明的是,图3所示的步骤可以由运行应用程序加速装置的各种电子设备执行,例如可以是如带有应用程序加速装置的终端,如体感游戏机,个人游戏机、也可以通过手机中的游戏加速器软件执行本申请所提供的应用程序加速方法。
下面结合图3示出的步骤,以应用程序加速装置实施本发明实施例提供的应用程序加速方法为例进行具体说明。
步骤301:应用程序加速装置响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息。
在本发明的一些实施例中,参考图4A和图4B,图4A为本发明实施例中游戏数据处理的效果示意图,游戏加速标识可以设置于虚拟场景图像的边缘位置(包括但不限于虚拟场景图像的左上角位置或者右上角位置),具体来说,由于目标游戏的类型不同,在游戏客户端中所呈现的游戏画面也是多种多样,但是对于任一类型的游戏来说,均可以根据用户的使用习惯进行加速器显示位置的调整,如图4A所示,游戏终端为体感游戏机,点击加速标识开始进行加速处理,执行本申请的应用程序加速方法,同时,图4B为本发明实施例中游戏数据处理的效果示意图,可以通过图4B向用户展示游戏加速进度,便于提示用户游戏的加速进度,需要说明的是游戏终端还可以为各类型的用户终端,用户终端包括但不限于手机、电脑、智能语音交互设备、智能家电、车载终端等。
在本发明的一些实施例中,响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息,可以通过以下方式实现:
响应于应用程序加速指令,确定所述目标应用程序的类型;根据所述目标应用程序的类型,确定所述目标应用程序的加速方式;对所述目标应用程序的加速方式进行组合处理,得到所述目标应用程序相匹配的网络加速规则信息,其中,所述网络加速规则信息包括至少以下之一:多服务域名解析加速、单服务域名解析加速和直连域名解析。
步骤302:应用程序加速装置基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表。
在本发明的一些实施例中,获取域名解析服务器列表时,就可以根据所述目标应用程序的类型,确定所述目标应用程序的网络加速通道数量;基于所述网络加速通道数量,以及所所述网络加速规则信息,确定所述网络加速规则信息对应的加速域名解析备用服务器数量;基于所述加速域名解析备用服务器数量对所述域名解析服务器列表中的不同类型的服务器数量进行调整。其中,域名解析服务器列表中包含一个直连域名解析服务器、一个加速域名解析主服务器和至少一个加速域名解析备用服务器,直连域名解析服务器用于之后的直连域名解析过程,加速域名解析主服务器用于之后的单服务域名解析的加速过程,加速域名解析备用服务器用于之后的多服务同时解析的加速过程具体来说,目标应用程序为游戏程序时,网络加速通道数量可以为3,对应的络加速规则信息对应的加速域名解析备用服务器数量可以为2,同时对于非中国的游戏使用场景(例如美国游戏服务器的游戏场景或者日本游戏服务器的游戏场景)网络加速通道数量可以为4,对应的络加速规则信息对应的加速域名解析备用服务器数量可以为6,需要说明的是网络加速通道数量可以和加速域名解析备用服务器数量可以根据游戏运营商的需求进行灵活调整以适配不同国家游戏玩家的实际需求。
步骤303:应用程序加速装置为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息。
由于应用程序的类型不同,通过流量拉取所得到的目标流量信息也不同,例如:应用程序为游戏程序时,目标流量信息的类型可以为HTTP流量信息、TCP流量信息或者UDP流量信息;应用程序为视频直播程序时,目标流量信息的类型可以为HTTP流量信息,应用程序为下载软件程序时,目标流量信息的类型可以为TCP流量信息或者UDP流量信息。同时,不同类型的流量信息的作用不同,例如:目标端口是53的UDP流量,报文内容为标准DNS请求协议可以表示域名解析请求流量。
参考图5,以个人游戏机switch为例,图5为本发明实施例中需要加速的流量示意图,其中,其中HTTP/HTTPS流量通过固定端口的HTTP代理(在本地的6666端口开启)拦截,TCP和UDP流量信息需要包括流量的目的IP和目的端口。具体来说,当所述加速流量信息的类型为超文本传输协议流量或者加密超文本传输协议流量时,将所述虚拟网卡的互联网协议地址绑定游戏终端的一个本地固定地址;将所述网络句柄绑定所述游戏终端的相同固定地址。如图5所示,对应在本地的6666端口开启拦截时,TCP的IP以及目的端口分别为:
1.2.3.4:1111;1.2.3.5:1111;1.2.3.6:1111,1.2.3.7:2222以及1.2.3.7:3333。UDP的IP以及目的端口分别为:4.3.2.1:1111、4.3.2.2:1111以及4.3.2.2:2222。
参考图6,以个人游戏机switch为例,图6为本发明实施例中虚拟网卡绑定IP的示意图,结合图5所示的IP3信息和端口信息,虚拟网卡绑定IP,需加速流量信息,建立虚拟网卡,绑定网卡IP可以依次为:1.2.3.4;1.2.3.5;1.2.3.6;1.2.3.7;4.3.2.1;4.3.2.2。
步骤304:应用程序加速装置对所述目标流量信息进行解析处理,得到所述目标流量信息的类型。
具体来说,在本申请的一个实施例中,当应用程序为游戏进程时,加速流量信息的类型可以为传输控制协议流量(TCP流量)、用户数据报协议流量(UDP流量)、超文本传输协议流量和加密超文本传输协议流量,其中,传输控制协议流量TCP的窗口单位是字节,不是报文段,数据传输端的发送窗口不能超过接收端给出的接收窗口的数值,流量控制的机制是控制丢包率,主要目的是让数据传输端了解数据接收端当前的接收能力,可灵活调整传输速率。
UDP流量是面向无连接的、不可靠的数据报传输协议。UDP流量仅仅将要发送的数据报传送至网络,并接收从网上传来的数据报,而不与远端的UDP模块建立连接。UDP为用户的网络应用程序提供服务,例如网络文件系统(NFS,Network File System)和简单网络管理协议(SNMP,Simple Network Management Protocol)等。UDP保留应用程序所定义的消息边界,它既不会将两个应用程序的消息连接到一起,也不会把一个应用程序的消息分成多个部分。
在通过本申请提供的应用程序加速方法对个人游戏机的游戏进程进行加速时,UDP首部字段由4个部分组成,其中两个是可选的。每一个16-bit的源端口和目的端口用来标记发送和接受的应用进程。因为UDP不需要应答,所以源端口是可选的,如果源端口不用,那么置为零。在目的端口后面是长度固定的以字节为单位的长度域,用来指定UDP数据报包括数据部分的长度,长度最小值为8(octets)。
步骤305:应用程序加速装置根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果。
在本发明的一些实施例中,当所述目标流量信息的类型为域名解析请求流量时,从所述目标流量信息中提取待解析的域名信息;通过正则表达式对所述待解析的域名信息进行匹配处理,得到所述待解析的域名信息对应的域名解析加速策略;根据所述域名解析加速策略,对所述目标流量信息中的域名解析请求进行转发处理,将所述域名解析请求发送至对应的域名解析服务器;获取不同域名解析服务器的处理结果,得到所述域名解析请求对应的域名解析结果。
同时,当所述目标流量信息的类型为非域名解析请求流量时,可以对所述目标流量信息的合法性进行检测,得到所述目标流量信息的合法性检测结果;根据所述目标流量信息的合法性检测结果执行至少以下之一:将所述目标流量信息转发至所述目标应用程序对应的服务器,或者发出非法流量提示信息。当然,对于数量超过阈值的非法流量,还可以进行舍弃,以减少游戏服务器的处理压力。
由此,可以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。通过步骤301至步骤305的处理,利用本申请提供的应用程序加速方法,可以优化应用程序的数据加速效果,通过准确的域名解析结果实现应用程序的加速,同时针对不同的应用程序(例如外服的游戏应用程序或者台服视频直播应用程序),均能够有效提升应用程序的数据处理效率,使得用户能够通过本申请提供的应用程序加速方法灵活地调整所要进行加速的应用程序。同时,如本申请所公开的应用程序加速方法得到各种类型的域名解析结果,这些域名解析结果可以可保存于区块链上,并将域名解析结果在区块链网络中的不同节点间共享。
下面针对不同类型的流量信息,分别说明其处理过程。
参见图7,图7为本发明实施例提供的应用程序加速方法一个可选的流程示意图,具体包括以下步骤:
步骤701:应用程序加速装置当所述目标流量信息的类型为域名解析请求流量时,从所述目标流量信息中提取待解析的域名信息。
步骤702:应用程序加速装置通过正则表达式对所述待解析的域名信息进行匹配处理,得到所述待解析的域名信息对应的域名解析加速策略。
其中,正则表达式(regular expression)是一种表达文本模式(即字符串结构)的方法,有点像字符串的模板,常常用作按照“给定模式”匹配文本的工具。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本,参考图8,图8为本发明实施例中正则表达式示意图,其中,域名规则由一个正则表达式和三种策略(加速多域名服务解析、加速单域名服务解析、直连单域名服务解析)组成;域名规则的正则表达式用于与域名解析请求流量中的域名信息进行匹配,如果域名规则里的正则表达式匹配域名解析请求中的域名,则对于此域名的解析过程,应用规则对应的策略进行处理,例如:一个域名为www.qq.com的域名解析请求流量,使用域名规则1和域名规则2去匹配,由于域名规则2的正则表达式能匹配到域名www.qq.com,因此对于这个域名解析请求流量,使用域名规则2关联的策略加速单域名解析服务解析进行处理,获得对应的域名解析结果。
步骤703:应用程序加速装置根据所述域名解析加速策略,对所述目标流量信息中的域名解析请求进行转发处理,将所述域名解析请求发送至对应的域名解析服务器。
在本发明的一些实施例中,参考图9,图9为本发明实施例提供的应用程序加速方法一个可选的流程示意图,具体包括以下步骤:
步骤901:当所述域名解析加速策略为多服务域名解析加速策略时,对所述域名解析请求进行裂变处理,将所述域名解析请求的目标IP地址修改为加速域名解析主服务器的IP地址,和至少一个加速域名解析备用服务器的IP地址。
步骤902:通过所述加速域名解析主服务器以及至少一个加速域名解析备用服务器,与所述目标应用程序相匹配的网络加速通道对所述域名解析请求进行处理。
其中,如图9所示,在图9所示的实施环境中,加速域名解析备用服务器数量为2,均可以对域名解析请求进行处理,转发流量可以通过多种中间协议实现,比如通过SockS5协议转发流量、通过VPN协议转发流量。一条加速通道由一个接入点和一个出口点确定,接入点接收客户端发送的流量,出口点绑定一个公网IP与目标服务器交互,当客户端将流量转发到加速通道接入点后,流量会经过加速通道从出口点发送到目标服务器,在此场景目标服务器是目标域名解析服务器。
步骤903:将所述加速域名解析主服务器以及至少一个加速域名解析备用服务器的不同域名解析结果进行整合,得到域名解析结果。
其中,当所述目标应用程序为游戏程序时,获取所述加速域名解析主服务器以及至少一个加速域名解析备用服务器的域名解析过程;当第一次获取到域名解析结果时,确定所获取的域名解析结果为与所述游戏程序相匹配的域名解析结果。由此,用户将更加快速地获得准确地域名解析结果,减少等待时间,进一步地提升使用体验。
步骤904:将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
在本发明的一些实施例中,当所述域名解析加速策略为单服务域名解析加速策略时,对将所述域名解析请求的目标IP地址修改为目标域名解析服务器的IP地址;通过所述目标域名解析服务器,利用与所述目标应用程序相匹配的网络加速通道,对所述域名解析请求进行处理,得到域名解析结果;将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
在本发明的一些实施例中,当所述域名解析加速策略为直连域名解析加速策略时,对将所述域名解析请求的目标IP地址修改为目标域名解析服务器的IP地址;通过所述目标域名解析服务器,对所述域名解析请求进行处理,得到域名解析结果;将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。由于不需要利用与目标应用程序相匹配的网络加速通道进行转发,因此,直连域名解析加速策略处理域名解析时,速度更快,同样减少了用户的等待时间。
通过以上实施例蝴蝶相应的域名解析之后,继续执行步骤704。
步骤704:应用程序加速装置获取不同域名解析服务器的处理结果,得到所述域名解析请求对应的域名解析结果。
需要说明的是,在通过本申请提供的应用程序加速方法对云游戏中进行加速处理时,由于云游戏在运行过程中是由云端服务器进行运算,并将运算后得到的视频流传输至终端进行播放,也即终端在云游戏的运行过程中负责的是视频播放,云游戏的运行过程对终端的计算能力并没有非常高的要求,也不易在游戏视频的播放过程中产生卡顿情况,而云端服务器在游戏运行过程中的运算量较大,易产生卡顿情况,从而云端服务器生成的视频流本身即为存在卡顿情况的视频流,而终端播放视频流的过程中并不存在终端导致的卡顿,因此,还可以通过本申请提供的应用程序加速方法对云游戏中云端服务器的视频流信息的传输进行加速。
接下来以虚拟场景为游戏为例,继续对本发明实施例提供的应用程序加速方法进行说明。其中,随着网络游戏的发展,在一些移动端运行的游戏中,游戏目标用户对游戏场景的要求越来越高,游戏进程中,由于移动终端显示范围的限制,用户所持有的游戏角色在实时场景的变化过程中,由于终端类型不同以及游戏类型不同,需要的游戏加速服务也不同,传统技术中的游戏加速,无法获得准确地域名解析结果,会牺牲游戏的加速效果影响用户的使用体验。
在本发明的一些实施例中,当所述目标游戏为云游戏时,确定目标用户的标识信息;基于云服务器网络,确定与所述标识信息相匹配的数据源集群;根据所述数据源集群,向云游戏服务器中存储与所述目标用户相匹配的用户的云游戏历史信息。用户的云游戏历史信息还可以供其他应用程序调用(例如游戏模拟器或者体感游戏设备),当然,与不同类型的游戏相匹配的游戏数据处理模型也可以迁移至即时通讯进程的在线对战的FPS游戏或者离线操控的FPS游戏以及云游戏。
为了更好地说明本申请所提供的应用程序加速方法,以及介绍应用程序加速方法中域名解析的处理过程,下面以ios系统为例,对ios系统中游戏程序加速时,对游戏程序的域名解析以及加速过程进行说明,参考图10,图10为本发明实施例提供的应用程序加速方法过程一个可选的流程示意图,图10所示的步骤可以由部署了应用程序加速装置的各种游戏终端或者游戏加速器进程执行,具体包括以下步骤:
步骤1001:获取游戏进程的网络加速规则信息、网络加速通道以及域名解析服务器列表。
其中,当用户需要进行游戏加速时,通过触发游戏进程所匹配的加速器,加速器通过协议从游戏服务器中获取加速规则,确定不同的域名解析请求流量采用什么策略来处理;加速规则由域名规则构成,基于加速规则可以决策流量使用多服务域名解析加速、单服务域名解析加速、直连域名解析三种策略进行处理。其中,域名服务器(DNS Domain NameServer)是进行域名和与之相对应的IP地址转换的服务器,DNS中保存了一张域名和与之相对应的IP地址的表,可以解析互联网消息的域名。这种方法是:分不同的组来负责各子系统的名字,系统中的每一层叫做一个域,每个域用一个点分开。域名服务器(Name Server)实际上就是装有域名系统的主机,它是一种能够实现名字解析(name resolution)的分层结构数据库。
在获取到加速规则信息之后,加速器继续通过协议从后台拉取加速通道的接入点。一个接入节点表示一条加速线路的入口,转发到此接入点的流量信息会经由加速通道从此通道的出口发出,出口的流量将会转发到游戏的服务器,与游戏程序进行交互。
进一步地,在拉取到加速通道接入点后,加速器通过协议从后台拉取域名解析服务器列表。此列表包含一个直连域名解析服务器、一个加速域名解析主服务器和多个加速域名解析备用服务器,直连域名解析服务器用于之后的直连域名解析过程,加速域名解析主服务器用于之后的单服务域名解析的加速过程,加速域名解析备用服务器用于之后的多服务同时解析的加速过程。
步骤1002:配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息。
其中,在游戏进程中,需要加速流量信息的类型可以为传输控制协议流量(TCP流量)、用户数据报协议流量(UDP流量)、超文本传输协议流量和加密超文本传输协议流量,以流量信息的作用分类时,可以分为域名解析请求流量和IP协议流量,通过在客户端建立虚拟网卡,可以利用虚拟网卡拦截游戏流量。虚拟网卡拦截到游戏流量后,加速器根据流量类型和加速规则对流量进行定向操作,以准确地分析加速方式。
在ios系统中,参考图11,图11为本发明实施例中ios系统的流量拦截示意图,其中,以使用VPN在本地获取流量信息为例;ios系统提供NEFilter Control Provider类型的VPN配置,此类型配置可以获取设备上App的以下关键流量信息:1)流量来源(App的名称)2)目标域名。在上述类型VPN捕获的流量信息中,会带有流量来自哪个App的信息,因此针对流量信息,基于App名称过滤即可捕获相应App的流量;针对域名,即可构建出相应的正则表达式规则。如图11所示,在本地开启VPN后,流量1经过VPN可以分析出该流量来自目标游戏1,请求的目标域名是www.qq.com;流量2经过VPN可以分析出该流量来自目标游戏2,请求的目标域名是smoba.qq.com;流量3经过VPN可以分析出该流量来自目标游戏3,请求的目标域名是z.douyin.com。
步骤1003:判断是否为域名解析请求流量,如果是,执行步骤1004,否则执行步骤。
由于游戏进程的类型众多,可以是虚拟现实应用程序、三维地图程序、第一人称射击游戏(FPS First-person shooting game)、多人在线战术竞技游戏(MOBA MultiplayerOnline Battle Arena Games)等不同的虚拟场景,其中,以射击类游戏为例,用户可以控制虚拟对象在虚拟场景行进路线中的不同位置执行动作,或者,沿着虚拟场景行进路线运动时,在不同时间点执行动作,例如在虚拟场景行进路线中的不同位置实现天空中自由下落、滑翔或者打开降落伞进行下落等,也可以在陆地上的虚拟场景行进路线中的不同位置实现跑动、跳动、爬行、弯腰前行等,也可以控制虚拟对象在虚拟场景行进路线中的不同位置实现海洋中游泳、漂浮或者下潜等,在通过控制虚拟对象执行上述操作时,无论用户使用哪一种类型的游戏进程,都必须实现准确地域名解析,才能够实现根据域名解析的结果,对游戏进程进行加速处理,但是由于移动设备的便携性,用户的地理位置通常是变化的,其所处的网络环境也是变化的。在不同的网络环境下,域名解析的通过性和准确性是不同的(比如运营商的网络由于域名解析缓存无法正确解析某个域名、在中国解析国外的某个域名可能会出现不准确的情况),而域名解析的质量与游戏密切相关,失败或错误的域名解析通常导致游戏无法进入、卡顿、掉线。因此,及时的拦截到域名解析请求流量,可以实现对游戏进程中所有流量信息的加速,提升游戏进程的整体运行速度,减少用户的等待时间,提升用户的使用感受。
步骤1004:提取域名信息并进行正则匹配处理。
其中,如果流量是域名解析请求流量,加速器首先从流量中提取出要解析的域名,之后使用基于域名的正则表达式规则匹配提取的域名。例如:目标端口是53的UDP流量,报文内容为标准DNS请求协议,即为域名解析请求流量。
当然需要说明的是,DNS在两种情况下使用TCP,包括:
1)当解析装置发出一个request后,返回的response中的tc删节标志比特位被置1时,说明反馈报文因为超长而有删节。这是因为UDP的报文最大长度为512字节。解析装置发现后,将使用TCP重发request,TCP允许报文长度超过512字节。既然TCP能将data stream分成多个segment,它就能用更多的segment来传送任意长度的数据。UDP报文的最大长度为512字节,而TCP则允许报文长度超过512字节。当DNS查询超过512字节时,协议的TC标志出现删除标志,这时则使用TCP发送。通常传统的UDP报文一般不会大于512字节。
2)另外一种情况是,DNS在进行区域传输的时候使用TCP协议,其它时候则使用UDP协议。
DNS的规范规定了2种类型的DNS服务器,一个叫主DNS服务器,一个叫辅助DNS服务器。在一个区中主DNS服务器从自己本机的数据文件中读取该区的DNS数据信息,而辅助DNS服务器则从区的主DNS服务器中读取该区的DNS数据信息。当一个辅助DNS服务器启动时,它需要与主DNS服务器通信,并加载数据信息,这就叫做区传送(zone transfer)。
辅域名服务器会定时向主域名服务器进行查询以便了解数据是否有变动。如有变动,则会执行一次区域传送,进行数据同步。区域传送将使用TCP而不是UDP,一是因为数据同步传送的数据量比一个请求和应答的数据量要多得多;二是因为TCP是一种可靠的连接,保证了数据的准确性。
对于本申请实施例中的游戏程序的服务器域名解析来说,DNS更多情况下使用UDP,客户端向DNS服务器查询域名,一般返回的内容都不超过512字节,用UDP传输即可。不用经过TCP三次握手,这样DNS服务器负载更低,响应更快,使得游戏用户获得更好的使用体验。
步骤1005:判断是否是IP协议流量,如果是执行步骤1006,否则执行步骤1007。
步骤1006:对所获取的IP协议流量进行加速处理并转发至相应的游戏服务程序中。
在本申请的实施例中,在游戏进程中以流量信息的作用分类时,可以分为域名解析请求流量和IP协议流量,域名解析请求流量用于进行域名解析处理,IP协议流量则用于在游戏进程中信息的传输,其中,IP协议流量符合IP协议的格式要求,包括有IP协议头,其中,IP协议头分别包括:版本号:IP协议的版本,例如对于IPv4类型来说版本号的值是4;头部长度:4位最大为0xF,注意该字段表示单位是字(4字节);服务类型(Type Of Service,TOS):3位优先权字段(现已被忽略)+4位TOS字段+1位保留字段(须为0)。4位TOS字段分别表示最小延时、最大吞吐量、最高可靠性、最小费用,其中最多有一个能置为1。游戏进程可以根据实际需要来设置TOS值,如ssh和telnet这样的登录程序需要的是最小延时的服务,文件传输ftp需要的是最大吞吐量的服务;总长度:指整个IP数据报的长度,单位为字节,即IP数据报的最大长度为65535字节(2的16次方)。由于MTU的限制,长度超过MTU的数据报都将被分片传输,所以实际传输的IP分片数据报的长度远远没有达到最大值。
之后还可以包括:标识,用于唯一地标识主机发送的每一个数据报,其初始值是随机的,每发送一个数据报其值就加1。同一个数据报的所有分片都具有相同的标识值。标志,用于表示位1保留,位2表禁止分片(DF),若设置了此位,IP模块将不对数据报进行分片,在此情况下若IP数据报超过MTU,IP模块将丢弃数据报并返回一个ICMP差错报文;位3标识更多分片(MF),除了数据报的最后一个分片,其他分片都要把它设置为1。位偏移,用于表示分片相对原始IP数据报数据部分的偏移。实际的偏移值为该值左移3位后得到的,所以除了最后一个IP数据报分片外,每个IP分片的数据部分的长度都必须是8的整数倍。生存时间,用于表示数据报到达目的地之前允许经过的路由器跳数。TTL值被发送端设置,常设置为64。数据报在转发过程中每经过一个路由该值就被路由器减1.当TTL值为0时,路由器就将该数据包丢弃,并向源端发送一个ICMP差错报文。TTL可以防止数据报陷入路由循环;头部校验和,由发送端填充接收端对其使用CRC算法校验,检查IP数据报头部在传输过程中是否损坏;源IP地址和目的IP地址:表示数据报的发送端和接收端。一般情况下这两个地址在整个数据报传递过程中保持不变,不论中间经过多少个路由器。
步骤1007对所获取的非IP协议流量进行丢弃处理。
步骤1008:判断是否与多服务域名解析加速策略匹配,如果是执行步骤1009,否则执行步骤1012。
其中,本申请实施例汇总提供的网络加速规则信息包括:多服务域名解析加速、单服务域名解析加速和直连域名解析加速。
步骤1009:对域名解析请求进行裂变处理,得到多个域名解析请求。
在裂变过程中,除了需要修改目标IP,还需要记录原始请求的目标IP,用于之后通过虚拟网卡向游戏进程进行回复,避免由于采用多服务域名解析加速策略,在域名解析请求的裂变过程中影响游戏进程的域名解析结果回复的及时性。
步骤1010:通过多个加速通道对步骤1009获得的多个域名解析请求进行处理。
步骤1011:与游戏程序匹配的多个域名解析服务器同时解析域名,并对解析结果进行整合处理,得到域名解析结果。
其中,由于游戏进程发出域名解析请求时,只期望收到一个回复的域名解析结果,因此在收到不同域名解析服务器回复的域名解析结果后,需要对所收到的域名解析结果进行整合。客户端收到该域名解析请求的第一个域名解析结果后,将域名解析结果通知游戏进程,在收到其他域名解析服务器发送的域名解析结果后,将不再通知游戏进程,以避免游戏进程收到重复的域名解析结果,影响游戏进程的正常执行。
步骤1012:判断是否与单服务器域名解析加速策略匹配,如果是执行步骤1013,否则执行步骤1015
步骤1013:通过一个加速通道对步骤1012获得的一个域名解析请求进行处理。
步骤1014:目标域名解析服务器进行域名解析处理,得到域名解析结果。
其中,如果当与单服务域名解析加速策略匹配时,将原始的域名解析请求修改为指向加速域名解析服务器的域名解析请求,之后通过加速通道转发这个域名解析请求,可以向目标服务器请求解析域名。
步骤1015:确定域名解析加速策略为直连域名解析加速策略。
步骤1016:通过直连域名解析加速策略对应的目标域名解析服务器进行域名解析处理,得到域名解析结果。
当通过步骤1008至步骤1016,利用多服务域名解析加速、单服务域名解析加速和直连域名解析这三种方式完成对游戏进程中所需要的域名解析后,还可以对域名解析的正确性进行检测,以表1为例,通过多服务域名解析加速、单服务域名解析加速和直连域名解析这三种方式,获得表1所示的域名解析结果后,可以对表1中的域名进行检测,得到未生效的域名,其中,在检测时,解析的域名未生效的原因可能包括:1)本地网络故障;2)云解析服务器的解析记录异常;3)域名解析记录在DNS被修改或者缓存;4)域名未通过实名认证。其中,在进行域名解析记录检测时,首先检查域名是否修改过DNS服务器或者,修改DNS服务器是否需要24小时~48小时生效。如果安装了解析记录缓存服务,执行缓存记录重启服务刷新缓存。最后执行dig example.com@8.8.8.8或者dig example.com@114.114.114.114命令检查公共DNS解析是否生效,并将本地dns改成公共dns,以保证域名解析结果能够生效。
Figure BDA0003453186200000281
Figure BDA0003453186200000291
表1
有益技术效果:
本发明通过响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。由此可以实现有效提升应用程序的域名解析质量,通过正确的域名解析结果,完成所述目标应用程序的加速,提升用户的使用体验,同时本方案,可以适配不同类型的应用程序,使得用户能够通过本申请提供的应用程序加速方法灵活地调整所要进行加速的应用程序,减少不同应用程序加速装置的安装数量,减少运行终端的硬件处理压力。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (15)

1.一种应用程序加速方法,其特征在于,所述方法包括:
响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;
基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;
为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;
对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;
根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。
2.根据权利要求1所述的方法,其特征在于,所述响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息,包括:
响应于应用程序加速指令,确定所述目标应用程序的类型;
根据所述目标应用程序的类型,确定所述目标应用程序的加速方式;
对所述目标应用程序的加速方式进行组合处理,得到所述目标应用程序相匹配的网络加速规则信息,其中,所述网络加速规则信息包括至少以下之一:
多服务域名解析加速、单服务域名解析加速和直连域名解析。
3.根据权利要求2所述的方法,其特征在于,所述基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表,包括:
根据所述目标应用程序的类型,确定所述目标应用程序的网络加速通道数量;
基于所述网络加速通道数量,以及所所述网络加速规则信息,确定所述网络加速规则信息对应的加速域名解析备用服务器数量;
基于所述加速域名解析备用服务器数量对所述域名解析服务器列表中的不同类型的服务器数量进行调整。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速,包括:
当所述目标流量信息的类型为域名解析请求流量时,从所述目标流量信息中提取待解析的域名信息;
通过正则表达式对所述待解析的域名信息进行匹配处理,得到所述待解析的域名信息对应的域名解析加速策略;
根据所述域名解析加速策略,对所述目标流量信息中的域名解析请求进行转发处理,将所述域名解析请求发送至对应的域名解析服务器;
获取不同域名解析服务器的处理结果,得到所述域名解析请求对应的域名解析结果。
5.根据权利要求4所述的方法,其特征在于,所述根据所述域名解析加速策略,对所述目标流量信息中的域名解析请求进行转发处理,将所述域名解析请求发送至对应的域名解析服务器,包括:
当所述域名解析加速策略为多服务域名解析加速策略时,对所述域名解析请求进行裂变处理,将所述域名解析请求的目标IP地址修改为加速域名解析主服务器的IP地址,和至少一个加速域名解析备用服务器的IP地址;
通过所述加速域名解析主服务器以及至少一个加速域名解析备用服务器,与所述目标应用程序相匹配的网络加速通道对所述域名解析请求进行处理;
将所述加速域名解析主服务器以及至少一个加速域名解析备用服务器的不同域名解析结果进行整合,得到域名解析结果;
将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述目标应用程序为游戏程序时,获取所述加速域名解析主服务器以及至少一个加速域名解析备用服务器的域名解析过程;
当第一次获取到域名解析结果时,确定所获取的域名解析结果为与所述游戏程序相匹配的域名解析结果。
7.根据权利要求4所述的方法,其特征在于,所述根据所述域名解析加速策略,对所述目标流量信息中的域名解析请求进行转发处理,将所述域名解析请求发送至对应的域名解析服务器,包括:
当所述域名解析加速策略为单服务域名解析加速策略时,对将所述域名解析请求的目标IP地址修改为目标域名解析服务器的IP地址;
通过所述目标域名解析服务器,利用与所述目标应用程序相匹配的网络加速通道,对所述域名解析请求进行处理,得到域名解析结果;
将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
8.根据权利要求4所述的方法,其特征在于,所述根据所述域名解析加速策略,对所述目标流量信息中的域名解析请求进行转发处理,将所述域名解析请求发送至对应的域名解析服务器,包括:
当所述域名解析加速策略为直连域名解析加速策略时,对将所述域名解析请求的目标IP地址修改为目标域名解析服务器的IP地址;
通过所述目标域名解析服务器,对所述域名解析请求进行处理,得到域名解析结果;
将所述域名解析结果向所述目标流量信息中的域名解析请求的原始IP地址进行发送,并且通过所述域名解析请求的原始IP地址向所述目标应用程序进行通知。
9.根据权利要求1所述的方法,其特征在于,所述根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速,包括:
当所述目标流量信息的类型为非域名解析请求流量时,
对所述目标流量信息的合法性进行检测,得到所述目标流量信息的合法性检测结果;
根据所述目标流量信息的合法性检测结果执行至少以下之一:
将所述目标流量信息转发至所述目标应用程序对应的服务器,或者
发出非法流量提示信息。
10.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标流量信息的类型为超文本传输协议流量或者加密超文本传输协议流量时,
通过解析对应的超文本传输协议,得到目标域名和端口信息;
通过向域名系统发送查询信息,获得所述目标域名对应的目标互联网协议地址;将所述目标域名对应的目标互联网协议地址、端口信息以及所述目标流量信息发送至对应的代理服务器;
所述代理服务器对所述目标流量信息进行加速处理。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述目标应用程序为云游戏时,确定目标用户的标识信息;
基于云服务器网络,确定与所述标识信息相匹配的数据源集群;
根据所述数据源集群,向云游戏服务器中存储与所述目标用户相匹配的用户的云游戏历史信息。
12.一种应用程序加速装置,其特征在于,所述装置包括:
信息传输模块,用于响应于应用程序加速指令,获取与目标应用程序相匹配的网络加速规则信息;
信息处理模块,用于基于所述网络加速规则信息,获取与所述目标应用程序相匹配的网络加速通道,并且得到域名解析服务器列表;
所述信息处理模块,用于为所述目标应用程序配置虚拟网卡,并通过所述虚拟网卡获取与所述目标应用程序相匹配的目标流量信息;
所述信息处理模块,用于对所述目标流量信息进行解析处理,得到所述目标流量信息的类型;
所述信息处理模块,用于根据所述目标流量信息的类型和所述网络加速规则信息,将所述目标流量信息中的域名解析请求发送至对应的域名解析服务器,得到域名解析结果,以实现通过域名解析结果对所述目标流量信息进行处理,完成所述目标应用程序的加速。
13.一种计算机程序产品,包括计算机程序或指令,其特征在于,所述计算机程序或指令被处理器执行时,实现权利要求1至11任一项所述的应用程序加速方法。
14.一种电子设备,其特征在于,所述电子设备包括:
存储器,用于存储可执行指令;
处理器,用于运行所述存储器存储的可执行指令时,实现权利要求1至11任一项所述的应用程序加速方法。
15.一种计算机可读存储介质,存储有可执行指令,其特征在于,所述可执行指令被处理器执行时实现权利要求1-11任一项所述的应用程序加速方法。
CN202111671675.5A 2021-11-05 2021-12-31 应用程序加速方法、装置、电子设备及存储介质 Active CN116095037B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN2021113049389 2021-11-05
CN202111304938 2021-11-05

Publications (2)

Publication Number Publication Date
CN116095037A true CN116095037A (zh) 2023-05-09
CN116095037B CN116095037B (zh) 2024-09-13

Family

ID=86187483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111671675.5A Active CN116095037B (zh) 2021-11-05 2021-12-31 应用程序加速方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116095037B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2591905A1 (en) * 2004-12-30 2006-07-13 Citrix Systems, Inc. Systems and methods for providing client-side acceleration techniques
US20120042060A1 (en) * 2010-08-12 2012-02-16 Steve Jackowski Systems and methods for quality of service of ica published applications
CN112217679A (zh) * 2020-10-16 2021-01-12 腾讯科技(深圳)有限公司 应用程序加速方法、装置、计算机设备和存储介质
CN112887444A (zh) * 2021-01-19 2021-06-01 网宿科技股份有限公司 一种vpn网络的请求处理方法、客户端设备及系统
CN113014509A (zh) * 2021-05-26 2021-06-22 腾讯科技(深圳)有限公司 应用程序加速方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2591905A1 (en) * 2004-12-30 2006-07-13 Citrix Systems, Inc. Systems and methods for providing client-side acceleration techniques
US20120042060A1 (en) * 2010-08-12 2012-02-16 Steve Jackowski Systems and methods for quality of service of ica published applications
CN112217679A (zh) * 2020-10-16 2021-01-12 腾讯科技(深圳)有限公司 应用程序加速方法、装置、计算机设备和存储介质
CN112887444A (zh) * 2021-01-19 2021-06-01 网宿科技股份有限公司 一种vpn网络的请求处理方法、客户端设备及系统
CN113014509A (zh) * 2021-05-26 2021-06-22 腾讯科技(深圳)有限公司 应用程序加速方法和装置

Also Published As

Publication number Publication date
CN116095037B (zh) 2024-09-13

Similar Documents

Publication Publication Date Title
US9319467B2 (en) Apparatus and method for efficiently and securely exchanging connection data
US8289867B2 (en) Message routing mechanism for communication networks
US9667713B2 (en) Apparatus and method for managing peer-to-peer connections between different service providers
US9654551B2 (en) Apparatus and method for inviting users to online sessions
US9130820B2 (en) Application programming interface, system, and method for collaborative online applications
US7398314B2 (en) System and a method for accelerating communication of TCP/IP based content through the use of fake host names
CN108259542A (zh) 资源的传输方法和装置
US9270570B2 (en) Remote message routing device and methods thereof
Rhodes et al. Foundations of Python network programming
CN113645653B (zh) 网络仿真测试方法、装置、电子设备及存储介质
CN114157607A (zh) 媒体流传输方法和系统
CN115499230A (zh) 网络攻击检测方法和装置、设备及存储介质
Basyoni et al. Empirical performance evaluation of QUIC protocol for Tor anonymity network
KR20160146996A (ko) 통신 장치, 통신 방법 및 통신 시스템
CN116095037B (zh) 应用程序加速方法、装置、电子设备及存储介质
CN111935300B (zh) 报文处理方法、装置、计算机设备及存储介质
US10708393B1 (en) Stateless communication using a stateful protocol
CN115567499A (zh) 应用程序加速方法、装置、电子设备及存储介质
US8606876B2 (en) Method and system for accelerating data communication that is using multipart
CN117041272B (zh) 数据处理方法、装置、设备及存储介质
CN117834371A (zh) 集成式网络设备配置方法、装置、软件程序及介质
Strong et al. Networking and Kubernetes
US20220114220A1 (en) Private server detection device and control method thereof
CN108833559B (zh) 一种视频数据的缓存与分发的方法及装置
Discart Analysis and evaluation of multiplayer communication channels in browser games

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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40086819

Country of ref document: HK

GR01 Patent grant
GR01 Patent grant