Application acceleration method, device, electronic device and storage medium
By acquiring and configuring virtual network cards and network handles, intercepting and classifying the application traffic information, the problem of difficult to effectively manage a large number of network handles in the existing technology is solved, and efficient acceleration and optimization of the application is achieved.
Patent Information
- Application Number
- CN202111665469.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-07-02
- Filing Date
- 2021-12-31
- Publication Date
- 2025-04-25
- Estimated Expiration
- 2041-12-31
AI Technical Summary
In the process of application acceleration, it is difficult for the prior art to effectively manage a large number of network handles, resulting in limited acceleration effects and affecting user experience.
By responding to application acceleration instructions, obtain the accelerated traffic information of the target application, configure the virtual network card and network handle, intercept and classify the traffic information, parse the Internet protocol address, and send it to the proxy server to achieve acceleration.
It effectively improves the data processing efficiency of the application and optimizes the data acceleration effect. It can handle a large number of network handles without changing the terminal operation permissions, improving the user experience.
Smart Images

Figure CN115567499B_ABST
Abstract
Description
[0001] Priority statement
[0002] This application claims priority to application number 202110750141.5, filing date July 02, 2021, and title: Application acceleration method, device, electronic device, and storage medium. Technical Field
[0003] The present invention relates to information processing technology, and in particular to an application acceleration method, device, electronic device and storage medium. Background Art
[0004] With the development of different applications, the types of applications are diverse. For applications with different usage requirements, different application acceleration services can be configured according to the type of application. For example, game applications can be accelerated through game accelerators, and live broadcast applications can be accelerated through live broadcast accelerators to reduce the stuttering of video information during live broadcasts. In this process, due to different terminal types, different applications require acceleration services. When an application needs to exchange information with the application's server through network traffic, a large number of network handles are required to process the application's network traffic. If the number of network handles is controlled not to exceed the terminal limit, the acceleration effect of the application will be sacrificed, affecting the user experience. Summary of the invention
[0005] In view of this, an embodiment of the present invention provides an application acceleration method, device, electronic device and storage medium, which can effectively improve the data processing efficiency of the application and optimize the data acceleration effect of the application. At the same time, without changing the operating permissions of the terminal running the application, it can realize the processing of a large number of network handles and improve the user experience.
[0006] The technical solution of the embodiment of the present invention is achieved as follows:
[0007] An embodiment of the present invention provides an application acceleration method including:
[0008] In response to the application acceleration instruction, acquiring acceleration traffic information matching the target application;
[0009] Based on the accelerated traffic information, configuring a virtual network card corresponding to the accelerated traffic information, and configuring a corresponding network handle for the accelerated traffic information;
[0010] Intercepting the traffic information during the execution of the target application process through the network handle to obtain the traffic information to be classified;
[0011] Classify the traffic information to be classified to obtain different types of traffic information;
[0012] Based on the type of the traffic information, the traffic information to be classified is parsed to obtain a corresponding Internet Protocol address;
[0013] According to the Internet Protocol address, the classified traffic information is sent to the corresponding proxy server to achieve acceleration of the target application process through the proxy server.
[0014] The embodiment of the present invention further provides an application acceleration device, including:
[0015] An information transmission module, for obtaining accelerated traffic information matching a target application in response to an application acceleration instruction;
[0016] An information processing module, configured to configure a virtual network card corresponding to the accelerated flow information based on the accelerated flow information, and to configure a corresponding network handle for the accelerated flow information;
[0017] The information processing module is used to intercept the flow information during the execution of the target application process through the network handle to obtain the flow information to be classified;
[0018] The information processing module is used to classify the traffic information to be classified to obtain different types of traffic information;
[0019] The information processing module is used to parse the traffic information to be classified based on the type of the traffic information to obtain a corresponding Internet Protocol address;
[0020] The information processing module is used to send the classified traffic information to the corresponding proxy server according to the Internet Protocol address, so as to accelerate the target application process through the proxy server.
[0021] In the above scheme,
[0022] The information processing module is used to classify the acceleration flow information to obtain the type of the acceleration flow information;
[0023] The information processing module is used to determine the port information matching different types of accelerated traffic information according to the type of the accelerated traffic information;
[0024] The information processing module is used to establish a virtual network card based on port information matching different types of accelerated traffic information;
[0025] The information processing module is used to bind the Internet Protocol address of the virtual network card with different types of accelerated traffic information, and configure different network handles based on the port information matching the different types of accelerated traffic information.
[0026] In the above scheme,
[0027] The information processing module is used for, when the type of the accelerated traffic information is hypertext transfer protocol traffic or encrypted hypertext transfer protocol traffic,
[0028] The information processing module is used to bind the Internet Protocol address of the virtual network card to a local fixed address of the game terminal;
[0029] The information processing module is used to bind the network handle to the same fixed address of the game terminal.
[0030] In the above scheme,
[0031] The information processing module is used for, when the type of the acceleration flow information is transmission control protocol flow,
[0032] The information processing module is used to perform deduplication processing on the Internet Protocol addresses of the transmission control protocol traffic to obtain a first Internet Protocol address list that needs to be bound;
[0033] The information processing module is used to rewrite the Internet Protocol address of the transmission control protocol traffic to obtain a rewritten first Internet Protocol address list;
[0034] The information processing module is used to perform deduplication processing on the rewritten first Internet Protocol address list to obtain a first Internet Protocol address port list of network handles that need to be bound.
[0035] In the above scheme,
[0036] The information processing module is used for, when the type of the acceleration traffic information is user datagram protocol traffic,
[0037] The information processing module is used to perform deduplication processing on the Internet Protocol addresses of the User Datagram Protocol traffic to obtain a list of second Internet Protocol addresses that need to be bound;
[0038] The information processing module is used to rewrite the Internet Protocol address of the user datagram protocol traffic to obtain a rewritten second Internet Protocol address list;
[0039] The information processing module is used to perform deduplication processing on the rewritten second Internet Protocol address list to obtain a second Internet Protocol address port list of the network handle that needs to be bound.
[0040] In the above scheme,
[0041] The information processing module is used for, when the type of the flow information is hypertext transfer protocol flow or encrypted hypertext transfer protocol flow,
[0042] The information processing module is used to obtain the target domain name and port information by parsing the corresponding hypertext transfer protocol;
[0043] The information processing module is used to obtain the target Internet Protocol address corresponding to the target domain name by sending query information to the domain name system.
[0044] In the above scheme,
[0045] The information processing module is used to send the target Internet Protocol address, port information and the traffic information to be classified corresponding to the target domain name to the corresponding proxy server;
[0046] The information processing module is used by the proxy server to accelerate the processing of classified traffic information.
[0047] In the above scheme,
[0048] The information processing module is used for, when the type of the flow information is transmission control protocol flow,
[0049] The information processing module is used to determine the port information corresponding to the transmission control protocol traffic based on the network handle corresponding to the transmission control protocol traffic;
[0050] The information processing module is used to determine the target Internet Protocol address corresponding to the transmission control protocol traffic through a socket acquisition function.
[0051] In the above scheme,
[0052] The information processing module is used to send the target Internet Protocol address and port information corresponding to the transmission control protocol traffic and the traffic information to be classified to the corresponding proxy server;
[0053] The information processing module is used by the proxy server to accelerate the processing of classified traffic information.
[0054] In the above scheme,
[0055] The information processing module is used for, when the type of the flow information is user datagram protocol flow,
[0056] The information processing module is used to determine the source port information, source Internet Protocol address, target Internet Protocol address and target port information corresponding to the user datagram protocol traffic based on the traffic auxiliary information corresponding to the user datagram protocol traffic.
[0057] In the above scheme,
[0058] The information processing module is used to send the source port information, source Internet Protocol address, target Internet Protocol address and target port information to the corresponding proxy server through the User Datagram Protocol;
[0059] The information processing module is used by the proxy server to accelerate the processing of classified traffic information.
[0060] In the above scheme,
[0061] The information processing module is used to determine the identification information of the target user when the target game is a cloud game video;
[0062] The information processing module is used to determine a data source cluster matching the identification information based on a cloud server network;
[0063] The information processing module is used to store the cloud game history information of the user matching the target user in the cloud game server according to the data source cluster.
[0064] An embodiment of the present invention further provides an electronic device, the electronic device comprising:
[0065] A memory for storing executable instructions;
[0066] The processor is used to implement the aforementioned application acceleration method when running the executable instructions stored in the memory.
[0067] An embodiment of the present invention further provides a computer-readable storage medium storing executable instructions, which implement the aforementioned application acceleration method when executed by a processor.
[0068] The embodiments of the present invention have the following beneficial effects:
[0069] The present invention obtains the acceleration flow information matching the target application by responding to the application acceleration instruction; based on the acceleration flow information, configures the virtual network card corresponding to the acceleration flow information, and configures the corresponding network handle for the acceleration flow information; intercepts the flow information in the execution process of the target application process through the network handle to obtain the flow information to be classified; classifies the flow information to be classified to obtain different types of flow information; based on the type of the flow information, parses the flow information to be classified to obtain the corresponding Internet Protocol address; according to the Internet Protocol address, sends the classified flow information to the corresponding proxy server to achieve the acceleration of the target application process through the proxy server. It can effectively improve the data processing efficiency of the application, optimize the data acceleration effect of the application, and at the same time, it can realize the processing of a large number of network handles without changing the operation authority of the application running terminal, thereby improving the user experience. At the same time, this scheme can adapt to different types of applications, so that users can flexibly adjust the application to be accelerated through the application acceleration method provided by this application, and reduce the hardware processing pressure of the application running terminal. BRIEF DESCRIPTION OF THE DRAWINGS
[0070] Figure 1 A schematic diagram of a usage scenario of the application acceleration method provided by an embodiment of the present invention;
[0071] Figure 2 A schematic diagram of the structure of an application acceleration device provided by an embodiment of the present invention;
[0072] Figure 3 An optional flowchart of the application acceleration method provided by an embodiment of the present invention;
[0073] Figure 4 This is a schematic diagram of the effect of game data processing in an embodiment of the present invention;
[0074] Figure 5 A schematic diagram of the flow that needs to be accelerated in an embodiment of the present invention;
[0075] Figure 6 A schematic diagram of binding a virtual network card to an IP in an embodiment of the present invention;
[0076] Figure 7 A schematic diagram of the result of configuring a network handle in an embodiment of the present invention;
[0077] Figure 8 Schematic diagram of the process of accelerating flow information acquisition in an embodiment of the present invention
[0078] Fig. 9A schematic diagram of an optional processing process for sending classified traffic information to a corresponding proxy server in an embodiment of the present invention;
[0079] Fig.10 A schematic diagram of an optional processing process for sending classified traffic information to a corresponding proxy server in an embodiment of the present invention;
[0080] Fig.11 A schematic diagram of an optional processing process for sending classified traffic information to a corresponding proxy server in an embodiment of the present invention;
[0081] Fig.12 An optional flowchart diagram of the application acceleration method process provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0082] In order to make the purpose, technical solutions and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings. The described embodiments should not be regarded as limiting the present invention. All other embodiments obtained by ordinary technicians in the field without performing creative work are within the scope of protection of the present invention.
[0083] In the following description, reference is made to “some embodiments”, which describe a subset of all possible embodiments, but it will be understood that “some embodiments” may be the same subset or different subsets of all possible embodiments and may be combined with each other without conflict.
[0084] Before further describing the embodiments of the present invention in detail, the nouns and terms involved in the embodiments of the present invention are described. The nouns and terms involved in the embodiments of the present invention are subject to the following interpretations.
[0085] 1) In response, it is used to indicate the conditions or states on which the executed operations depend. When the dependent conditions or states are met, one or more operations executed may be in real time or have a set delay. Unless otherwise specified, there is no restriction on the order in which the multiple operations executed are executed.
[0086] 2) Based on, used to indicate the conditions or states on which the executed operations depend. When the dependent conditions or states are met, one or more operations executed may be in real time or have a set delay. Unless otherwise specified, there is no restriction on the order of execution of the multiple operations executed.
[0087] 3) Virtual scene: It is a virtual scene displayed (or provided) when the application is running on the terminal. The virtual scene can be a simulation environment of the real world, a semi-simulation and semi-fictional three-dimensional environment, or a purely fictional three-dimensional environment.
[0088] The virtual scene can be any one of a two-dimensional virtual scene, a 2.5-dimensional virtual scene and a three-dimensional virtual scene. The following embodiments are illustrated by taking the virtual scene as a three-dimensional virtual scene, but this is not limited. Optionally, the virtual scene is also used for a virtual scene battle between at least two virtual objects. Optionally, the virtual scene is also used for a battle between at least two virtual objects using virtual firearms. Optionally, the virtual scene can also be not limited to gun battle games, parkour games, racing games, multiplayer online tactical competitive games (Multiplayer Online Battle Arena, MOBA), racing games (Racing Game, RCG) and sports games (SPG). The trained game data processing model provided by the present application can be deployed in the game server corresponding to the aforementioned various game scenes, used to generate a real-time virtual scene route and present it in the game interface, perform corresponding actions in the corresponding game, simulate the operation of the virtual user, and complete different types of games in the virtual scene with the users who actually participate in the game.
[0089] 4) Virtual objects, images of various people and objects that can interact in a virtual scene, or movable objects in a virtual scene. The movable objects can be virtual characters, virtual animals, cartoon characters, etc., such as people, animals, plants, oil drums, walls, stones, etc. displayed in a virtual scene. The virtual object can be a virtual image in the virtual scene that represents the user. A virtual scene can include multiple virtual objects, each of which has its own shape and volume in the virtual scene and occupies a part of the space in the virtual scene.
[0090] 5) Action: In the process of controlling virtual objects through operations on the client, when the virtual scene route and the corresponding auxiliary lines are presented in the virtual scene using the application acceleration method provided in the present application, any point in the virtual scene route can be selected with the help of the auxiliary lines to perform corresponding actions. For example, when the virtual scene route is a route in a game map, any position can be selected in the air route of the game to perform parachuting or airdropping, or any position can be selected in the water route of the game to perform diving or diving.
[0091] 6) Cloud technology refers to a hosting technology that unifies hardware, software, network and other resources within a wide area network or local area network to achieve data computing, storage, processing and sharing. It is a general term for network technology, information technology, integration technology, management platform technology, application technology, etc. based on the cloud computing business model application, which can form a resource pool and be used on demand, flexible and convenient. Cloud computing technology will become an important support. The background services of technical network systems require a large amount of computing and storage resources, such as video websites, picture websites and more portal websites. With the rapid development and application of the Internet industry, in the future, each item may have its own identification mark, and all need to be transmitted to the background system for logical processing. Data of different levels will be processed separately. All kinds of industry data require strong system backing support, which can only be achieved through cloud computing.
[0092] 7) Cloud gaming: refers to a game that runs on a cloud server device. The game screen rendered by the cloud device is encoded and transmitted to the user terminal through the network. The user terminal decodes the encoded file and renders it to the display screen for display. Therefore, the user does not need to install the game locally, but only needs to establish a communication network connection with the cloud to complete the game interaction process.
[0093] Before introducing the application acceleration method provided by the present application, the application acceleration method in the conventional technology is first described by taking the game program as an example. In the conventional technology, the virtual scene route generation of the FPS game in the game console is taken as an example. In order to realize the acceleration of presenting the virtual scene route through the game map in the virtual scene, or executing the corresponding action process, the following two methods can be included:
[0094] (1) One-to-one traffic acceleration, that is, for all traffic that needs to be accelerated, there is a corresponding network handle to handle it
[0095] However, the limitation of this method is that for games that use a lot of traffic, a large number of network handles are needed to handle the game traffic. When the number of handles exceeds the device limit, the accelerator process will be killed. If you want to control the number of network handles not to exceed the device limit, the acceleration effect of the game will be sacrificed, and in serious cases, the game may become unplayable, affecting the user experience.
[0096] (2) Global acceleration, that is, all traffic on the host is accelerated. However, this method requires the device to provide root permissions. The proportion of root devices among users is very small, and there are also few users who are willing to sacrifice device security to open root permissions, which also affects the user experience.
[0097] In order to solve the above-mentioned defects, an embodiment of the present invention provides an application acceleration method to realize accelerated processing of applications and optimize the data acceleration effect of applications. At the same time, without changing the operating permissions of the terminal running the application, a large number of network handles can be processed, thereby improving the user experience.
[0098] Figure 1 Schematic diagram of an implementation scenario of the application acceleration method provided by an embodiment of the present invention, see Figure 1 To support an exemplary application, the terminals include a terminal 10-1 and a terminal 10-2. The terminals are connected to an application acceleration device 200 via a network 300. The network 300 may be a wide area network or a local area network, or a combination of the two, and data transmission is achieved using wireless or wired links.
[0099] The terminal (such as terminal 10-2) is located at the user side, and is used to issue a virtual scene route generation request, requesting to obtain a virtual scene route that is compatible with the virtual scene where the target object is located, wherein the target object can be various types of game users. The terminal (including terminal 10-1 and terminal 10-2) can obtain virtual scene data from the corresponding virtual scene server 200 through the network 300, and present the virtual scene in the display area of the terminal. The application acceleration device set in the terminal can execute the following scheme:
[0100] In response to an application acceleration instruction, acceleration traffic information matching the target application is obtained; based on the acceleration traffic information, a virtual network card corresponding to the acceleration traffic information is configured, and a corresponding network handle is configured for the acceleration traffic information; the traffic information during the execution of the target application process is intercepted through the network handle to obtain traffic information to be classified; the traffic information to be classified is classified to obtain different types of traffic information; based on the type of the traffic information, the traffic information to be classified is parsed to obtain a corresponding Internet Protocol address; according to the Internet Protocol address, the classified traffic information is sent to the corresponding proxy server to achieve acceleration of the target application process through the proxy server.
[0101] In some embodiments, terminal 10 - 1 may install and run an application program that supports virtual scenes. The application may be a virtual reality application, a three-dimensional map program, a first-person shooting game (FPS First-person shooting game), a multiplayer online tactical competitive game (MOBA Multiplayer Online Battle Arena Games) and other different virtual scenes. Taking shooting games as an example, the user may control the virtual object to perform actions at different positions in the virtual scene route, or perform actions at different time points while moving along the virtual scene route, such as free falling, gliding or opening a parachute to fall in the sky at different positions in the virtual scene route, running, jumping, crawling, bending forward at different positions in the virtual scene route on land, etc., and the virtual object may also be controlled to swim, float or dive in the ocean at different positions in the virtual scene route. Of course, the user may also control the virtual object to move in the virtual scene by riding a virtual vehicle, and display the real-time position at different positions in the virtual scene route. For example, the virtual vehicle may be a virtual car, a virtual aircraft, a virtual yacht moving along the virtual scene route, etc. The above-mentioned scenes are only used as examples for illustration, and the embodiments of the present invention are not specifically limited to this. The user can also control the virtual object to interact with other virtual objects by fighting with virtual weapons. The virtual weapon can be a cold weapon or a hot weapon. The present invention does not specifically limit the type of virtual weapon.
[0102] Among them, the application acceleration device can be packaged in a professional game terminal or in different mobile electronic devices. This application does not make specific restrictions. Among them, when the application is a game program, the application acceleration device can be a game accelerator. The game itself runs in the cloud server device. After the game screen rendered by the cloud device is encoded, it is transmitted to the user terminal through the network. The user terminal decodes the encoded file and renders it to the display screen for display. In this way, the user does not need to install the game locally, but only needs to establish a communication network connection with the cloud to complete the game interaction process. The organizational structure of cloud games includes terminals and cloud servers, wherein the terminal is used to receive the user's control operation on the game process, and send the control instructions corresponding to the control operation to the cloud server. The cloud server is used to control the game process and send the video stream of the game process to the terminal for playback. That is, in the organizational structure of cloud games, the terminal is mainly responsible for receiving the game video and game audio from the corresponding server for rendering and playback during the game, and sending the game user's operations on the terminal side (including but not limited to the operations performed by the game user through the mouse, keyboard, operating handle, voice command, touch command, etc.) to the server through the signaling channel connected to the server. The server sends these operation information to the matching mouse driver process, sound card driver process and keyboard driver process, thereby realizing the control of the cloud game. The game accelerator can achieve data processing efficiency for the game program and optimize the data acceleration effect of the application by executing the application acceleration method provided in this application.
[0103] The following is an explanation of an application acceleration device for implementing the application acceleration method of an embodiment of the present invention. The application acceleration device can be implemented in various forms, such as a terminal with an application acceleration device processing function, or a server with an application acceleration device processing function, such as the preceding Figure 1 Server 200 in. Figure 2 The schematic diagram of the composition structure of the application acceleration device provided by the embodiment of the present invention can be understood as follows: Figure 2 Only an exemplary structure of the application acceleration device is shown, not all structures, and can be implemented as needed. Figure 2 Partial or complete structure shown.
[0104] The application acceleration device provided in the embodiment of the present invention includes: at least one processor 201, a memory 202, a user interface 203 and at least one network interface 204. The various components in the application acceleration device are coupled together through a bus system 205. It can be understood that the bus system 205 is used to realize the connection and communication between these components. In addition to the data bus, the bus system 205 also includes a power bus, a control bus and a status signal bus. However, for the sake of clarity, the bus system 205 is not used in the application acceleration device. Figure 2Various buses are labeled as bus system 205 .
[0105] The user interface 203 may include a display, a keyboard, a mouse, a trackball, a click wheel, keys, buttons, a touch pad or a touch screen.
[0106] It is understood that the memory 202 can be a volatile memory or a non-volatile memory, and can also include both volatile and non-volatile memories. The memory 202 in the embodiment of the present invention can store data to support the operation of the terminal (such as 10-1). Examples of these data include: any computer program for operating on the terminal (such as 10-1), such as an operating system and an application. Among them, the operating system includes various system programs, such as a framework layer, a core library layer, a driver layer, etc., which are used to implement various basic services and process hardware-based tasks. The application can include various applications.
[0107] In some embodiments, the application acceleration device provided in the embodiment of the present invention can be implemented in a combination of software and hardware. As an example, the application acceleration device provided in the embodiment of the present invention can be a processor in the form of a hardware decoding processor, which is programmed to execute the application acceleration method provided in the embodiment of the present invention. For example, the processor in the form of a hardware decoding processor can adopt one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field programmable gate arrays (FPGAs), or other electronic components.
[0108] As an example of an application acceleration device provided in an embodiment of the present invention being implemented by a combination of software and hardware, the application acceleration device provided in an embodiment of the present invention can be directly embodied as a combination of software modules executed by a processor 201, and the software module can be located in a storage medium, and the storage medium is located in the memory 202. The processor 201 reads the executable instructions included in the software module in the memory 202, and completes the application acceleration method provided in an embodiment of the present invention in combination with necessary hardware (for example, including the processor 201 and other components connected to the bus 205).
[0109] As an example, the processor 201 can be an integrated circuit chip with signal processing capabilities, such as a general-purpose processor, a digital signal processor (DSP), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc., where the general-purpose processor can be a microprocessor or any conventional processor, etc.
[0110] As an example of hardware implementation of the application acceleration device provided in an embodiment of the present invention, the device provided in an embodiment of the present invention can be directly executed using a processor 201 in the form of a hardware decoding processor, for example, one or more application-specific integrated circuits (ASICs), DSPs, programmable logic devices (PLDs), complex programmable logic devices (CPLDs), field-programmable gate arrays (FPGAs) or other electronic components to implement the application acceleration method provided in an embodiment of the present invention.
[0111] The memory 202 in the embodiment of the present invention is used to store various types of data to support the operation of the application acceleration device. Examples of these data include: any executable instructions for operating on the application acceleration device, such as executable instructions, and the program for implementing the application acceleration method of the embodiment of the present invention can be included in the executable instructions.
[0112] In other embodiments, the application acceleration device provided by the embodiment of the present invention can be implemented in software. Figure 2 The application acceleration device stored in the memory 202 is shown, which may be software in the form of a program and a plug-in, and includes a series of modules. As an example of a program stored in the memory 202, an application acceleration device may be included, and the application acceleration device includes the following software modules:
[0113] The information transmission module 2081 is used to obtain the acceleration traffic information matching the target application in response to the application acceleration instruction.
[0114] The information processing module 2082 is used to configure a virtual network card corresponding to the accelerated traffic information based on the accelerated traffic information, and configure a corresponding network handle for the accelerated traffic information.
[0115] The information processing module 2082 is used to intercept the flow information during the execution of the target application process through the network handle to obtain the flow information to be classified.
[0116] The information processing module 2082 is used to classify the traffic information to be classified to obtain different types of traffic information.
[0117] The information processing module 2082 is used to parse the traffic information to be classified based on the type of the traffic information to obtain a corresponding Internet Protocol address.
[0118] The information processing module 2082 is used to send the classified traffic information to the corresponding proxy server according to the Internet Protocol address, so as to accelerate the target application process through the proxy server.
[0119] In some embodiments, the application acceleration device 200 can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content distribution networks (CDN, Content Delivery Network), and big data and artificial intelligence platforms. The terminal (such as terminal 10-1) can be a smart phone, a tablet computer, a laptop computer, a desktop computer, etc., but is not limited to this. The terminal and the server can be directly or indirectly connected by wired or wireless communication, which is not limited in the embodiments of the present invention.
[0120] according to Figure 2 The application acceleration device shown, in one aspect of the present application, the present application also provides a computer program product or a computer program, the computer program product or the computer program includes a computer instruction, and the computer instruction is stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the different embodiments and combinations of embodiments provided in various optional implementations of the above-mentioned point application acceleration method.
[0121] In some embodiments, the computer-readable storage medium may be a memory such as FRAM, ROM, PROM, EPROM, EEPROM, flash memory, magnetic surface storage, optical disk, or CD-ROM; or it may be various devices including one or any combination of the above memories.
[0122] Continue to combine Figure 2The application acceleration device shown in the figure illustrates the application acceleration method provided by the embodiment of the present invention. Figure 3 , Figure 3 An optional flow chart of the application acceleration method provided in an embodiment of the present invention, taking the application as a game program as an example, can be run on Figure 1 The game accelerator in the terminal 10-1 or 10-2 shown executes the application acceleration method provided by the present application, so as to improve the efficiency of game data processing while ensuring the accuracy of game data processing, and process the data in the game scene with complex dimensions more quickly. It should be noted that Figure 3 The steps shown can be executed by various electronic devices running application acceleration devices, for example, a terminal with an application acceleration device, such as a somatosensory game console, a personal game console, or the application acceleration method provided in this application can be executed through game accelerator software in a mobile phone.
[0123] Combine the following Figure 3 The steps shown are specifically described by taking an application acceleration device implementing the application acceleration method provided by an embodiment of the present invention as an example.
[0124] Step 301: The application acceleration device responds to the application acceleration instruction and obtains acceleration traffic information matching the target application.
[0125] In some embodiments of the present invention, reference Figure 4 , Figure 4 Schematic diagram of the effect of game data processing in an embodiment of the present invention. The game acceleration mark can be set at the edge of the virtual scene image (including but not limited to the upper left corner or the upper right corner of the virtual scene image). Specifically, due to the different virtual scenes, the game screens presented in the game client are also various. However, for any type of game, the accelerator display position can be adjusted according to the user's usage habits, such as Figure 4 As shown, the game terminal is a Switch game console. The user selects a Switch game that needs to be accelerated, such as "Switch Assemble! Animal Crossing: New Horizons", clicks on acceleration to start the acceleration process, and executes the application acceleration method of the present application.
[0126] Step 302: The application acceleration device configures a virtual network card corresponding to the acceleration flow information based on the acceleration flow information, and configures a corresponding network handle for the acceleration flow information.
[0127] In some embodiments of the present invention, based on the accelerated traffic information, configuring a virtual network card corresponding to the accelerated traffic information, and configuring a corresponding network handle for the accelerated traffic information can be implemented in the following manner:
[0128] The accelerated traffic information is classified to obtain the type of the accelerated traffic information; according to the type of the accelerated traffic information, the port information matching the different types of accelerated traffic information is determined; based on the port information matching the different types of accelerated traffic information, a virtual network card is established; the Internet Protocol address of the virtual network card is bound to different types of accelerated traffic information, and different network handles are configured respectively based on the port information matching the different types of accelerated traffic information.
[0129] refer to Figure 5 , taking the personal game console switch as an example, Figure 5 The following is a schematic diagram of the traffic that needs to be accelerated in the embodiment of the present invention, wherein HTTP / HTTPS traffic is intercepted by a fixed-port HTTP proxy (opened on the local port 6666), and TCP and UDP traffic information needs to include the destination IP and destination port of the traffic. Specifically, when the type of the accelerated traffic information is Hypertext Transfer Protocol traffic or encrypted Hypertext Transfer Protocol traffic, the Internet Protocol address of the virtual network card is bound to a local fixed address of the game terminal; and the network handle is bound to the same fixed address of the game terminal. Figure 5 As shown in the figure, when the local port 6666 is intercepted, the TCP IP and destination port are: 1.2.3.4:1111; 1.2.3.5:1111; 1.2.3.6:1111, 1.2.3.7:2222 and 1.2.3.7:3333. The UDP IP and destination port are: 4.3.2.1:1111, 4.3.2.2:1111 and 4.3.2.2:2222.
[0130] refer to Figure 6 and Figure 7 , taking the personal game console switch as an example, Figure 6 Schematic diagram of binding IP to virtual network card in the embodiment of the present invention, combined with Figure 5 The IP3 information and port information shown, the virtual network card bound IP, the traffic information that needs to be accelerated, the establishment of a virtual network card, the bound network card IP can be: 1.2.3.4; 1.2.3.5; 1.2.3.6; 1.2.3.7; 4.3.2.1; 4.3.2.2.
[0131] Figure 7 The result diagram of configuring the network handle in the embodiment of the present invention is as follows. Specifically, since HTTP / HTTPS traffic is intercepted by HTTP proxy, it only needs to bind a local fixed address. Figure 5As shown in the figure, the virtual network card adds IP 6.6.6.6, and the network handle is bound to 0.0.0.0:6666. The Switch host uses it by setting the HTTP proxy address to 6.6.6.6:6666. Among them, the HTTP / HTTPS handle is: 0.0.0.0:6666; the TCP handle is: 0.0.0.0:1111, 0.0.0.0:2222 and 0.0.0.0:3333; the UDP handle is: 0.0.0.0:1111 and 10.0.0.0:2222.
[0132] In some embodiments of the present invention, when the type of the accelerated traffic information is transmission control protocol traffic, the Internet Protocol address of the transmission control protocol traffic is deduplicated to obtain a first Internet Protocol address list that needs to be bound; the Internet Protocol address of the transmission control protocol traffic is rewritten to obtain a rewritten first Internet Protocol address list; the rewritten first Internet Protocol address list is deduplicated to obtain a first Internet Protocol address port list of network handles that need to be bound. When rewriting, the IP addresses of all TCP traffic that needs to be accelerated can be changed to 0.0.0.0 and then deduplicated to obtain a network handle IP port list that needs to be bound.
[0133] For User Datagram Protocol traffic, Figure 6 and 7 As shown, when the type of the accelerated traffic information is user datagram protocol traffic, the Internet Protocol address of the user datagram protocol traffic can be deduplicated to obtain a second Internet Protocol address list that needs to be bound; the Internet Protocol address of the user datagram protocol traffic can be rewritten to obtain a rewritten second Internet Protocol address list; the rewritten second Internet Protocol address list can be deduplicated to obtain a second Internet Protocol address port list of the network handle that needs to be bound. Among them, when rewriting, all IP addresses of the UDP traffic that needs to be accelerated are changed to 0.0.0.0 and then deduplicated to obtain a network handle IP port list that needs to be bound.
[0134] Step 303: The application acceleration device intercepts the traffic information during the execution of the target application process through the network handle to obtain the traffic information to be classified.
[0135] Due to the different types of applications, the traffic information is intercepted through the network handle, and the traffic information to be classified is also different. For example, when the application is a game program, the type of traffic information to be classified can be HTTP traffic information, TCP traffic information or UDP traffic information; when the application is a live video program, the type of traffic information to be classified can be HTTP traffic information; when the application is a software download program, the type of traffic information to be classified can be TCP traffic information or UDP traffic information.
[0136] refer to Figure 8 , Figure 8 This is a schematic diagram of the process of accelerating traffic information acquisition in an embodiment of the present invention. When the application is a game program, accelerating traffic information acquisition can be achieved in the following manner, which specifically includes the following steps:
[0137] Step 801: trigger the local packet capture process to obtain the traffic information to be classified.
[0138] When obtaining the traffic information to be classified, different packet capture processes can be triggered according to the type of game. For example, in a VR game scene, the resource files of the game can be obtained by loading the packet capture process that matches the VR game, and it is determined which resource files in the resource files correspond to the traffic information that needs to be accelerated, thereby obtaining the traffic information to be classified, reducing the loading time of the VR game scene, and improving the user experience. The resource files may include game models, game levels, game characters, game sounds, and game animations. For small games in instant messaging clients, since small games generally use JS, TS, and AS, they are actually compiled into JS and run during runtime, and JavaScript functions are hijacked. Therefore, the corresponding packet capture process can be used to enable performance statistics through the Laya.Stat.enable() function, and relevant performance parameters such as the FPS, loaded memory, drawCall, and number of triangles of the game engine can be captured, and these performance parameters will be saved in the game terminal, and it is determined whether the traffic information to be classified obtained by the packet capture process is the traffic that needs to be accelerated.
[0139] Step 802: Obtain information reported by other services.
[0140] The methods for obtaining accelerated traffic information include: 1) obtaining it by capturing packets in a local laboratory environment. Development and operation personnel use the Switch host to play the corresponding game and capture the network traffic on the router at the same time; 2) obtaining it through reports from other services (such as PC-side host accelerators and router-side host accelerators).
[0141] Step 803: Determine whether the number of times exceeds a threshold, if yes, execute step 804, otherwise execute step 807.
[0142] Taking the personal game console switch as an example, due to the large number of users of the personal game console switch, each personal game console switch can connect to the game server of the game operator. Therefore, by collecting the business information reported by different personal game console switches, it is possible to determine the various types of traffic information that need to be accelerated among different users. When the number of people reporting traffic information that needs to be accelerated in the same game process exceeds a threshold, it can be determined that the traffic information needs to be accelerated in the game process. Therefore, when a new personal game console switch user triggers a game process, the traffic information can be directly accelerated through the application acceleration method provided in this application, without triggering the corresponding game packet capture process, thereby further reducing user waiting time.
[0143] Step 804: Determine that the traffic information to be classified is traffic that needs to be accelerated.
[0144] Step 805: Determine whether the traffic information to be classified is HTTP traffic.
[0145] Step 806: Determine whether the traffic information to be classified is TCP traffic or UDP traffic.
[0146] Through steps 804 to 806, the traffic of the game process can be accurately classified to configure different network handles based on port information that matches different types of accelerated traffic information. It should be noted that when the cloud game is accelerated by the application acceleration method provided in the present application, the cloud game is calculated by the cloud server during operation, and the video stream obtained after the calculation is transmitted to the terminal for playback, that is, the terminal is responsible for video playback during the operation of the cloud game. The operation of the cloud game does not have very high requirements on the computing power of the terminal, and it is not easy to cause lag during the playback of the game video. The cloud server has a large amount of calculation during the game operation, which is prone to lag. Therefore, the video stream generated by the cloud server itself is a video stream with lag, and there is no lag caused by the terminal when the terminal plays the video stream. Therefore, the transmission of video stream information of the cloud server in the cloud game can also be accelerated by the application acceleration method provided in the present application.
[0147] Step 807: Determine that the traffic information to be classified is traffic that does not require acceleration.
[0148] When passing Figure 8 As shown, after determining the flow type that needs to add water, continue to step 304.
[0149] Step 304: The application acceleration device classifies the traffic information to be classified to obtain different types of traffic information.
[0150] Specifically, in one embodiment of the present application, when the application is a game process, the type of accelerated traffic information can be Transmission Control Protocol traffic (TCP traffic), User Datagram Protocol traffic (UDP traffic), Hypertext Transfer Protocol traffic and encrypted Hypertext Transfer Protocol traffic, wherein the window unit of Transmission Control Protocol traffic TCP is bytes, not segments, and the sending window of the data transmission end cannot exceed the value of the receiving window given by the receiving end. The mechanism of traffic control is to control the packet loss rate, and its main purpose is to let the data transmission end understand the current receiving capacity of the data receiving end and flexibly adjust the transmission rate.
[0151] UDP traffic is a connectionless, unreliable datagram transport protocol. UDP traffic only transmits datagrams to be sent to the network and receives datagrams from the network without establishing a connection with the remote UDP module. UDP provides services for user network applications, such as Network File System (NFS) and Simple Network Management Protocol (SNMP). UDP retains the message boundaries defined by the application. It will neither connect the messages of two applications together nor divide the messages of one application into multiple parts.
[0152] When accelerating the game process of a personal game console through the application acceleration method provided by the present application, the UDP header field consists of 4 parts, two of which are optional. Each 16-bit source port and destination port is used to mark the sending and receiving application processes. Because UDP does not require a response, the source port is optional. If the source port is not used, it is set to zero. Following the destination port is a fixed length field in bytes, which is used to specify the length of the UDP datagram including the data part, and the minimum length is 8 (octets).
[0153] Step 305: The application acceleration device parses the traffic information to be classified based on the type of the traffic information to obtain a corresponding Internet Protocol address.
[0154] Step 306: The application acceleration device sends the classified traffic information to the corresponding proxy server according to the Internet Protocol address, so as to accelerate the target application process through the proxy server.
[0155] Therefore, through the processing of steps 301 to 1306, using the application acceleration method provided by the present application, the data acceleration effect of the application can be optimized, and at the same time, the processing of a large number of network handles can be achieved without changing the operating permissions of the terminal running the application. At the same time, for different applications (such as game applications or live video applications), the data processing efficiency of the application can be effectively improved, so that users can flexibly adjust the application to be accelerated through the application acceleration method provided by the present application.
[0156] The following describes the processing procedures for different types of traffic information.
[0157] In some embodiments of the present invention, when the type of the traffic information is HTTP traffic or encrypted HTTP traffic, the target domain name and port information are obtained by parsing the corresponding HTTP; the target Internet Protocol address corresponding to the target domain name is obtained by sending query information to the domain name system. The target Internet Protocol address, port information and the traffic information to be classified corresponding to the target domain name are sent to the corresponding proxy server; the proxy server accelerates the classified traffic information. Fig. 9 , Fig. 9 The present invention is a schematic diagram of an optional processing process for sending classified traffic information to the corresponding proxy server in an embodiment of the present invention. When HTTP proxy traffic is intercepted, the HTTP protocol is parsed to obtain the requested target URL, the target domain name and port are parsed from the URL, and then the target IP corresponding to the target domain name is obtained by requesting DNS, and finally the target IP, target port and traffic are sent to the background via TCP protocol for acceleration.
[0158] In some embodiments of the present invention, when the type of the traffic information is transmission control protocol traffic, the port information corresponding to the transmission control protocol traffic is determined based on the network handle corresponding to the transmission control protocol traffic; the target Internet Protocol address corresponding to the transmission control protocol traffic is determined through a socket acquisition function. The target Internet Protocol address corresponding to the transmission control protocol traffic, the port information and the traffic information to be classified are sent to the corresponding proxy server; the proxy server accelerates the processing of the classified traffic information. Reference Fig.10 , Fig.10 A schematic diagram of an optional process for sending classified traffic information to a corresponding proxy server in an embodiment of the present invention includes the following steps:
[0159] Step 1001: TCP traffic is intercepted.
[0160] Step 1002: Get the target IP address through the getsockname method.
[0161] Step 1003: Get the port of the interception handle, that is, the target port of the traffic.
[0162] Step 1004: Send the traffic and IP port information to the background proxy server.
[0163] When TCP traffic is intercepted, the target port of the traffic is first obtained according to the address bound to the intercepted network handle (for example, if the binding address is 0.0.0.0:1111, the target port is 1111), and then the target IP is obtained through the getsockname() method. Finally, the target IP, target port and traffic are sent to the background through the TCP protocol for acceleration.
[0164] In some embodiments of the present invention, when the type of the traffic information is user datagram protocol traffic, the source port information, source Internet Protocol address, target Internet Protocol address and target port information corresponding to the user datagram protocol traffic are determined based on the traffic auxiliary information corresponding to the user datagram protocol traffic. The source port information, source Internet Protocol address, target Internet Protocol address and target port information are sent to the corresponding proxy server through the user datagram protocol; the proxy server accelerates the processing of the classified traffic information. Fig.11 , Fig.11 A schematic diagram of an optional process for sending classified traffic information to a corresponding proxy server in an embodiment of the present invention includes the following steps:
[0165] Step 1101: Intercept UDP traffic via recvmsg / sendmsg.
[0166] The endmsg system call is used to send a message to another socket. The send function can only be used when the socket is in a connected state. Through the interception of recvmsg / sendmsg, the UDP traffic in the Domain Name System (DNS Domain Name System), Simple Network Management Protocol (SNMP simple network management protocol), Dynamic Host Configuration Protocol (DHCP Dynamic host configuration protocol) and Routing Information Protocol (RIP Routing Information Protocol) can be effectively intercepted to avoid the omission of UDP traffic.
[0167] Step 1102: Obtain the source IP, source port, destination IP, and destination port of the traffic from the auxiliary information returned by the interface.
[0168] Step 1103: Send the traffic and IP port information to the backend proxy server.
[0169] Among them, for UDP traffic, the network handle is different from the ordinary UDP service using the recvfrom and sendto methods to receive and send data. Instead, it uses the recvmsg and sendmsg methods to receive and send traffic, so that while intercepting the traffic, the auxiliary information (Ancillary Data) of the traffic can be obtained. Through the auxiliary information of the traffic, the source IP, source port, destination IP and destination port of each intercepted UDP packet can be obtained. Finally, this information is connected with the traffic and sent to the background through the UDP protocol for acceleration.
[0170] Next, taking a virtual scene as an example of a game, the application acceleration method provided by an embodiment of the present invention is further described. Among them, with the development of online games, in some games running on mobile terminals, the target users of the game have higher and higher requirements for the game scenes. During the game process, due to the limitation of the display range of the mobile terminal, the game character held by the user changes in the real-time scene. Due to different terminal types and different game types, different game acceleration services are required. For games that require more traffic information, a large number of network handles are required to process the traffic information of the game. If you want to control the number of network handles not to exceed the device limit, the acceleration effect of the game will be sacrificed, affecting the user's experience.
[0171] In some embodiments of the present invention, when the target game is a cloud game, the identification information of the target user is determined; based on the cloud server network, a data source cluster matching the identification information is determined; based on the data source cluster, the cloud game history information of the user matching the target user is stored in the cloud game server. The user's cloud game history information can also be called by other applications (such as game simulators or somatosensory game devices). Of course, the game data processing model that matches different types of games can also be migrated to online FPS games or offline FPS games and cloud games in the instant messaging process.
[0172] Continue to refer Fig.12 , Fig.12 An optional flowchart of the application acceleration method provided by an embodiment of the present invention is provided. Fig.12 The steps shown can be executed by various game terminals or game accelerator processes that deploy application acceleration devices, and specifically include the following steps:
[0173] Step 1201: Obtain the traffic information that needs to be accelerated for the game process.
[0174] Among them, during the game process, the types of traffic information that need to be accelerated can be Transmission Control Protocol traffic (TCP traffic), User Datagram Protocol traffic (UDP traffic), Hypertext Transfer Protocol traffic and encrypted Hypertext Transfer Protocol traffic.
[0175] Step 1202: Bind the virtual network card and the network handle according to the traffic information that needs to be accelerated.
[0176] In the game process, after each executable file or DLL file is loaded into a process address space, it will have a unique instance handle to represent the loaded executable file or DLL. At this time, the executable file or DLL can be used as a module in the process address space.
[0177] Step 1203: intercept the traffic to be classified through the handle.
[0178] Since there are many types of game processes, they can be different virtual scenes such as virtual reality applications, three-dimensional map programs, first-person shooting games (FPS First-person shooting games), multiplayer online tactical competitive games (MOBA Multiplayer Online Battle Arena Games), etc., among which, taking shooting games as an example, users can control virtual objects to perform actions at different positions in the virtual scene route, or perform actions at different time points when moving along the virtual scene route, such as free falling, gliding or opening a parachute to fall in the sky at different positions in the virtual scene route, and can also run, jump, crawl, bend forward at different positions in the virtual scene route on land, and can also control virtual objects to swim, float or dive in the ocean at different positions in the virtual scene route. When controlling the virtual object to perform the above operations, the traffic information between the game terminal and the server involves transmission control protocol traffic, user datagram protocol traffic, hypertext transfer protocol traffic and encrypted hypertext transfer protocol traffic. Therefore, by intercepting the traffic to be classified through the handle, all traffic information in the game process can be accelerated, the overall running speed of the game process can be improved, and the user's waiting time can be reduced.
[0179] Step 1204: Determine whether the traffic to be classified is HTTP or HTTPS traffic. If so, execute step 1205; otherwise, execute step 1207.
[0180] The HTTP / HTTPS handle is 0.0.0.0:6666; the TCP handles are 0.0.0.0:1111, 0.0.0.0:2222, and 0.0.0.0:3333; and the UDP handles are 0.0.0.0:1111 and 10.0.0.0:2222
[0181] Step 1205: Parse HTTP to obtain the target domain name.
[0182] Among them, the HTTP / HTTPS target domain name of the game process is 0.0.0.0:6666.
[0183] Step 1206: Resolve the DNS to obtain the target IP.
[0184] Step 1207: Determine whether the traffic to be classified is TCP or UDP traffic.
[0185] Step 1208: Get the target IP from the intercepted network handle.
[0186] Step 1209: Send the target IP and traffic to the background proxy server via the TCP protocol.
[0187] Among them, through steps 1208 and 1209, it can be determined that the TCP IP and destination port are: 1.2.3.4:1111; 1.2.3.5:1111; 1.2.3.6:1111, 1.2.3.7:2222 and 1.2.3.7:3333.
[0188] Step 1210: Obtain the target IP through the auxiliary information received through the network handle.
[0189] Step 1211: Get the source IP from the intercepted network handle.
[0190] Step 1212: Send the source IP, destination IP and traffic to the background proxy server via the UDP protocol.
[0191] Among them, through steps 1210 to 1212, it can be determined that the IP and destination port of UDP are: 4.3.2.1:1111, 4.3.2.2:1111 and 4.3.2.2:2222 respectively.
[0192] Beneficial technical effects:
[0193] The present invention obtains accelerated traffic information matching the target application by responding to an application acceleration instruction; based on the accelerated traffic information, configures a virtual network card corresponding to the accelerated traffic information, and configures a corresponding network handle for the accelerated traffic information; intercepts the traffic information during the execution of the target application process through the network handle to obtain traffic information to be classified; classifies the traffic information to be classified to obtain different types of traffic information; based on the type of the traffic information, parses the traffic information to be classified to obtain a corresponding Internet Protocol address; according to the Internet Protocol address, sends the classified traffic information to the corresponding proxy server to achieve acceleration of the target application process through the proxy server, thereby effectively improving the data processing efficiency of the application and optimizing the data acceleration effect of the application. At the same time, without changing the operating authority of the application running terminal, a large number of network handles can be processed to improve the user experience. At the same time, this solution can be adapted to different types of applications, so that users can flexibly adjust the application to be accelerated through the application acceleration method provided by this application, saving terminal storage space and reducing the hardware processing pressure of the application running terminal.
[0194] The above descriptions are merely embodiments of the present invention and are not intended to limit the protection scope of the present invention. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for accelerating an application program, characterized in that: The method comprises: In response to the application acceleration instruction, acquiring acceleration traffic information matching the target application; Classifying the acceleration flow information to obtain a type of the acceleration flow information; According to the type of the accelerated traffic information, determining port information matching different types of accelerated traffic information; Establishing a virtual network card based on the port information matching the different types of accelerated traffic information; Binding the Internet Protocol address of the virtual network card with different types of accelerated traffic information, and configuring different network handles based on the port information matching the different types of accelerated traffic information; Intercepting the traffic information during the execution of the target application program through the network handle to obtain the traffic information to be classified; Classify the traffic information to be classified to obtain different types of traffic information; Based on the type of the traffic information, the traffic information to be classified is parsed to obtain a corresponding Internet Protocol address; According to the Internet Protocol address, the classified traffic information is sent to the corresponding proxy server to achieve acceleration of the target application through the proxy server.
2. The method according to claim 1, characterized in that The binding process of the Internet Protocol address of the virtual network card with different types of accelerated traffic information and configuring different network handles based on the port information matching the different types of accelerated traffic information respectively includes: When the type of the accelerated traffic information is Hypertext Transfer Protocol traffic or encrypted Hypertext Transfer Protocol traffic, Binding the Internet Protocol address of the virtual network card to a local fixed address of the game terminal; The network handle is bound to the same fixed address of the game terminal.
3. The method according to claim 1, characterized in that The binding process of the Internet Protocol address of the virtual network card with different types of accelerated traffic information and configuring different network handles based on the port information matching the different types of accelerated traffic information respectively includes: When the type of the acceleration traffic information is transmission control protocol traffic, Deduplication processing is performed on the Internet Protocol addresses of the transmission control protocol traffic to obtain a first Internet Protocol address list that needs to be bound; Rewriting the Internet Protocol addresses of the transmission control protocol traffic to obtain a rewritten first Internet Protocol address list; The rewritten first Internet Protocol address list is deduplicated to obtain a first Internet Protocol address port list of network handles that need to be bound.
4. The method according to claim 1, characterized in that: The binding process of the Internet Protocol address of the virtual network card with different types of accelerated traffic information and configuring different network handles based on the port information matching the different types of accelerated traffic information respectively includes: When the type of the accelerated traffic information is user datagram protocol traffic, Deduplication processing is performed on the Internet Protocol addresses of the User Datagram Protocol traffic to obtain a list of second Internet Protocol addresses that need to be bound; rewriting the Internet Protocol addresses of the User Datagram Protocol traffic to obtain a rewritten second Internet Protocol address list; The rewritten second Internet Protocol address list is deduplicated to obtain a second Internet Protocol address port list of network handles that need to be bound.
5. The method according to claim 1, characterized in that The step of parsing the to-be-classified traffic information based on the type of the traffic information to obtain a corresponding Internet Protocol address includes: When the type of the flow information is Hypertext Transfer Protocol flow or encrypted Hypertext Transfer Protocol flow, By parsing the corresponding hypertext transfer protocol, the target domain name and port information are obtained; By sending query information to the domain name system, a target Internet Protocol address corresponding to the target domain name is obtained.
6. The method according to claim 5, characterized in that The step of sending the classified traffic information to a corresponding proxy server according to the Internet Protocol address, so as to accelerate the target application through the proxy server, includes: Sending the target Internet Protocol address, port information and the traffic information to be classified corresponding to the target domain name to the corresponding proxy server; The proxy server accelerates the processing of the classified traffic information.
7. The method according to claim 1, characterized in that The step of parsing the to-be-classified traffic information based on the type of the traffic information to obtain a corresponding Internet Protocol address includes: When the type of the flow information is transmission control protocol flow, Determine the port information corresponding to the transmission control protocol traffic based on the network handle corresponding to the transmission control protocol traffic; The target Internet Protocol address corresponding to the transmission control protocol flow is determined through a socket acquisition function.
8. The method according to claim 7, characterized in that The step of sending the classified traffic information to a corresponding proxy server according to the Internet Protocol address, so as to accelerate the target application through the proxy server, includes: Sending the target Internet Protocol address and port information corresponding to the transmission control protocol traffic and the traffic information to be classified to the corresponding proxy server; The proxy server accelerates the processing of the classified traffic information.
9. The method according to claim 1, characterized in that: The step of parsing the to-be-classified traffic information based on the type of the traffic information to obtain a corresponding Internet Protocol address includes: When the type of the traffic information is user datagram protocol traffic, Based on the traffic auxiliary information corresponding to the user datagram protocol traffic, the source port information, source Internet Protocol address, target Internet Protocol address and target port information corresponding to the user datagram protocol traffic are determined.
10. The method according to claim 9, characterized in that The step of sending the classified traffic information to a corresponding proxy server according to the Internet Protocol address, so as to accelerate the target application through the proxy server, includes: Sending the source port information, source Internet Protocol address, target Internet Protocol address and target port information to a corresponding proxy server via a user datagram protocol; The proxy server accelerates the processing of the classified traffic information.
11. The method according to claim 1, characterized in that: The method further comprises: When the target application is a cloud game, determining identification information of a target user; Determining, based on a cloud server network, a data source cluster matching the identification information; According to the data source cluster, cloud game history information of a user matching the target user is stored in a cloud game server.
12. The method according to claim 1, characterized in that Before classifying the traffic information to be classified to obtain different types of traffic information, the method further includes: Obtaining information reported by other services, wherein the other services include a computer-side host accelerator and a router-side host accelerator; Determine the number of people who have reported the traffic to be classified based on the information reported by the other services; In response to the number of reported persons being greater than the threshold, the process proceeds to the step of classifying the traffic information to be classified to obtain different types of traffic information.
13. An application acceleration device, characterized in that: The device comprises: An information transmission module, for obtaining accelerated traffic information matching a target application in response to an application acceleration instruction; An information processing module is used to classify the acceleration flow information to obtain the type of the acceleration flow information; determine the port information matching the different types of acceleration flow information according to the type of the acceleration flow information; establish a virtual network card based on the port information matching the different types of acceleration flow information; bind the Internet Protocol address of the virtual network card with different types of acceleration flow information, and configure different network handles respectively based on the port information matching the different types of acceleration flow information; The information processing module is used to intercept the flow information during the execution of the target application through the network handle to obtain the flow information to be classified; The information processing module is used to classify the traffic information to be classified to obtain different types of traffic information; The information processing module is used to parse the traffic information to be classified based on the type of the traffic information to obtain a corresponding Internet Protocol address; The information processing module is used to send the classified traffic information to the corresponding proxy server according to the Internet Protocol address, so as to achieve acceleration of the target application through the proxy server.
14. An electronic device, characterized in that: The electronic device comprises: A memory for storing executable instructions; A processor is used to implement the application acceleration method described in any one of claims 1 to 12 when running the executable instructions stored in the memory.
15. A computer-readable storage medium storing executable instructions, characterized in that: When the executable instructions are executed by the processor, the application acceleration method described in any one of claims 1-12 is implemented.
16. A computer program product comprising computer instructions, characterized in that When the computer instructions are executed by a processor, the application acceleration method described in any one of claims 1 to 12 is implemented.
Citation Information
Patent Citations
Application control method, device and system based on network file system
CN111698239A
Live migration of hardware accelerated applications
US20190129744A1