A data processing method, apparatus, device, medium, and program product

CN122718360APending Publication Date: 2026-09-08SHENZHEN TENCENT COMP SYST CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510265712.4
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-03-06
Publication Date
2026-09-08

AI Technical Summary

Technical Problem

随着游戏和应用的规模不断扩大,更新包的体积也随之增加,用户往往需要耗费较长时间进行下载和更新,尤其是在网络条件较差或带宽受限的情况下,下载过程可能会显著影响用户体验甚至导致用户流失

Benefits of technology

[0045]As can be seen from the above technical solutions, the embodiments of this application have the following advantages: the local cache pre-downloads and stores the resources of the resource server. When the terminal device requests data download from the resource server, the data download request is intercepted and redirected to the local cache. Then, the terminal device initiates a request again based on the redirected address. In this way, the terminal device's request can be intercepted and sent to the local cache, and finally, the resources are downloaded from the local cache. Since the resources are returned from the local cache, network bandwidth limitations are avoided, and the download speed is no longer affected by external network fluctuations, thereby accelerating resource download.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122718360A_ABST
    Figure CN122718360A_ABST
Patent Text Reader

Abstract

Embodiments of the present application provide a data processing method, device, equipment, medium and program product, which are used for accelerating resource download. It can be applied to the fields of computer, game development, mobile application development, etc. It includes: intercepting a domain name resolution request carrying a first domain name of a resource server sent by a first terminal device, the domain name resolution request requesting a target resource; when the first domain name exists in a pre-resolution list, feeding back a network protocol address set to the first terminal device; intercepting a first data download request initiated by the first terminal device based on a first network protocol address; when the first network protocol address meets a redirection condition, redirecting the first network protocol address to a second network protocol address; feeding back the second network protocol address to the first terminal device; intercepting a second data download request initiated by the first terminal device based on the second network protocol address; and in response to the second data download request, feeding back the target resource to the first terminal device based on a first local cache.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computers, and more particularly to a data processing method, apparatus, device, medium, and program product. Background Technology

[0002] In the distribution and update of mobile games and large applications, optimizing download speed and user experience has become a significant technical challenge. As games and applications grow in scale, update packages also increase in size, often requiring users to spend considerable time downloading and updating, especially under poor network conditions or limited bandwidth. This download process can significantly impact user experience and even lead to user churn.

[0003] Therefore, there is an urgent need for a solution that can accelerate resource downloads. Summary of the Invention

[0004] This application provides a data processing method, apparatus, device, medium, and program product for accelerating resource downloads.

[0005] In view of this, this application provides a data processing method, comprising: intercepting a domain name resolution request sent by a first terminal device, the domain name resolution request carrying a first domain name, the first domain name being the domain name of the resource server for which the first terminal device requests a target resource; when the first domain name exists in a pre-resolution list, feeding back a set of network protocol addresses to the first terminal device, the pre-resolution list being used to store resolved domain names and the network protocol addresses corresponding to the domain names; intercepting a first data download request initiated by the first terminal device based on a first network protocol address, the first network protocol address being included in the set of network protocol addresses; when the first network protocol address meets a redirection condition, redirecting the first network protocol address to a second network protocol address, wherein the second network protocol address is a network protocol address of a first local cache, the first local cache being used to store a first pre-downloaded resource, the first pre-downloaded resource including the resource of the resource server; feeding back the second network protocol address to the first terminal device; intercepting a second data download request initiated by the first terminal device based on the second network protocol address; and responding to the second data download request, feeding back the target resource to the first terminal device based on the first local cache.

[0006] Another aspect of this application provides a data processing apparatus, including: an interception module, configured to intercept a domain name resolution request sent by a first terminal device, the domain name resolution request carrying a first domain name, the first domain name being the domain name of the resource server for which the first terminal device requests the target resource;

[0007] The transceiver module is used to send back a set of network protocol addresses to the first terminal device when the first domain name exists in the pre-resolved list. The pre-resolved list is used to store the resolved domain names and the network protocol addresses corresponding to the domain names.

[0008] The interception module is used to intercept the first data download request initiated by the first terminal device based on the first network protocol address, wherein the first network protocol address is included in the network protocol address set.

[0009] The processing module is configured to redirect the first network protocol address to a second network protocol address when the first network protocol address meets the redirection conditions, wherein the second network protocol address is a network protocol address of a first local cache, and the first local cache is used to store the first pre-downloaded resource;

[0010] The transceiver module is used to send the second network protocol address back to the first terminal device; intercept the second data download request initiated by the first terminal device based on the second network protocol address; and respond to the second data download request by sending the target resource back to the first terminal device based on the first local cache.

[0011] In one possible design, in another implementation of another aspect of the embodiments of this application, when the first data download request is a HyperText Transfer Protocol Secure (HTTPS) request, the processing module is used to match the first network protocol address with the pre-parsed list to obtain a matching result;

[0012] When the matching result indicates that a domain name associated with the first network protocol address exists in the pre-parsed list, the first network protocol address is modified to the second network protocol address, and the first data download request is redirected to a Hypertext Transfer Protocol (HTTP) request.

[0013] In one possible design, in another implementation of another aspect of the embodiments of this application, the processing module is configured to, in response to the second data download request, obtain the Uniform Resource Locator (URL) information carried in the second data download request, wherein the second data download request is an HTTP request;

[0014] The path requested based on the URL information is searched in the first pre-download resource;

[0015] The transceiver module is used to send feedback of the target resource to the first terminal device when the target resource is hit.

[0016] In one possible design, in another implementation of another aspect of the embodiments of this application, the processing module is used to redirect the second network protocol address to the third network protocol address corresponding to the resource server when the target resource is not hit, and generate a miss flag.

[0017] The transceiver module is used to send the third network protocol address and the miss identifier back to the first terminal device; receive the third data download request sent by the first terminal device based on the third network protocol address, the third data download request carrying the miss identifier, and the third data download request being an HTTP request; and when the miss identifier is parsed, forward the third data download request to the resource server so that the resource server can send the target resource back to the first terminal device.

[0018] In one possible design, in another implementation of another aspect of the embodiments of this application, the transceiver module is used to forward the third data download request to the resource server when the resource server supports HTTP requests, so that the resource server can feed back the target resource to the first terminal device, and the third data download request is not modified.

[0019] or,

[0020] The processing module is used to generate a fourth data download request based on the third data download request when the resource server only supports HTTPS requests. The fourth data download request carries all the URL information of the third data download request and is an HTTPS request.

[0021] The transceiver module is used to send the fourth data download request to the resource server, so that the resource server can return the target resource to the first local cache; and forward the target resource to the first terminal device.

[0022] In one possible design, in another implementation of another aspect of the embodiments of this application, the processing module is configured to, when the target resource is not hit, traverse the second pre-download resource of the second local cache to obtain a first traversal result, wherein the second local cache and the first local cache are deployed on the same terminal device; when the first traversal result indicates that the target resource exists in the second pre-download resource, redirect the second network protocol address to the fourth network protocol address corresponding to the second local cache;

[0023] The transceiver module is used to send the fourth network protocol address back to the first terminal device; receive the fifth data download request sent by the first terminal device based on the fourth network protocol address; and respond to the fifth data download request by sending the target resource back to the first terminal device based on the second local cache.

[0024] In one possible design, in another implementation of another aspect of the embodiments of this application, the processing module is configured to, when the target resource is not hit, traverse the third pre-download resource in the third local cache to obtain a second traversal result, wherein the third local cache is deployed on the second terminal device and the second terminal device is in the same local area network as the first terminal device; when the second traversal result indicates that the target resource exists in the third pre-download resource, the second network protocol address is redirected to the fifth network protocol address corresponding to the third local cache;

[0025] The transceiver module is used to send the fifth network protocol address back to the first terminal device; receive the sixth data download request sent by the first terminal device based on the fifth network protocol address; and respond to the sixth data download request by sending the target resource back to the first terminal device based on the third local cache.

[0026] In one possible design, in another implementation of another aspect of the embodiments of this application, the transceiver module is used to obtain the download domain name of the resource server;

[0027] This processing module is used to parse the download domain name to obtain multiple sets of network protocol addresses; and to associate and store the download domain name and the multiple sets of network protocol addresses to generate the pre-parsed list.

[0028] The transceiver module is used to send a seventh data download request to the resource server based on the multiple network protocol address sets. The seventh data download request is used to request the download of the target resource.

[0029] Receive the target resource from the resource server and generate the first pre-download resource based on the target resource.

[0030] In one possible design, in another implementation of another aspect of the embodiments of this application, the processing module is used to find the associated network protocol address associated with the first domain name when the first domain name exists in the pre-resolved list, and the associated network protocol address is used as the network protocol address set.

[0031] The transceiver module is used to send the network protocol address set back to the first terminal device.

[0032] In one possible design, in another implementation of another aspect of the embodiments of this application, the interception module is used to intercept the domain name resolution request sent by the first terminal device based on the virtual private network;

[0033] The first data download request initiated by the first terminal device based on the first network protocol address is intercepted using a virtual private network.

[0034] In one possible design, in another implementation of another aspect of the embodiments of this application, the transceiver module is used to send a first verification certificate to the first terminal device, the verification certificate being a genuine certificate issued by the resource server; and to receive a first verification result fed back by the first terminal device;

[0035] When the first verification result indicates that the verification is successful, the system triggers the feedback of the network protocol address set to the first terminal device and triggers the redirection of the first network protocol address to the second network protocol address.

[0036] or,

[0037] This processing module is used to generate a second verification certificate;

[0038] The transceiver module is used to send the second verification certificate to the first terminal device so that the first terminal device can verify the second verification certificate based on the installed root certificate; receive the second verification result fed back by the first terminal device; and when the first verification result indicates that the verification is successful, trigger the feedback of the network protocol address set to the first terminal device and trigger the redirection of the first network protocol address to the second network protocol address.

[0039] This application also provides a computer device, including: a memory, a processor, and a bus system;

[0040] The memory is used to store programs;

[0041] The processor is used to execute programs in memory, and the processor is used to execute the methods mentioned above according to the instructions in the program code;

[0042] Bus systems are used to connect memory and processor to enable communication between them.

[0043] Another aspect of this application provides a computer-readable storage medium storing instructions that, when executed on a computer, cause the computer to perform the methods described above.

[0044] Another aspect of this application provides a computer program product or computer program including computer instructions stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium and executes the computer instructions, causing the computer device to perform the methods provided in the above aspects.

[0045] As can be seen from the above technical solutions, the embodiments of this application have the following advantages: the local cache pre-downloads and stores the resources of the resource server. When the terminal device requests data download from the resource server, the data download request is intercepted and redirected to the local cache. Then, the terminal device initiates a request again based on the redirected address. In this way, the terminal device's request can be intercepted and sent to the local cache, and finally, the resources are downloaded from the local cache. Since the resources are returned from the local cache, network bandwidth limitations are avoided, and the download speed is no longer affected by external network fluctuations, thereby accelerating resource download. Attached Figure Description

[0046] Figure 1 This is a schematic diagram of the architecture of an application scenario of the data processing method in this application embodiment;

[0047] Figure 2 This is a schematic diagram of the architecture of the data processing system in an embodiment of this application;

[0048] Figure 3 This is a schematic diagram of the architecture of a data processing system in one application scenario according to an embodiment of this application;

[0049] Figure 4a This is a schematic diagram of one embodiment of the data processing method in this application;

[0050] Figure 4b This is a schematic diagram of a process for pre-downloading the client in an embodiment of this application;

[0051] Figure 5 This is a schematic diagram of another embodiment of the data processing method in this application;

[0052] Figure 6 This is a schematic diagram of another embodiment of the data processing method in this application;

[0053] Figure 7 This is another schematic diagram of the data processing system in the embodiments of this application;

[0054] Figure 8 This is a schematic diagram of another embodiment of the data processing method in this application;

[0055] Figure 9 This is another schematic diagram of the data processing system architecture in the embodiments of this application;

[0056] Figure 10 This is a schematic diagram of another embodiment of the data processing method in this application;

[0057] Figure 11 This is a schematic diagram of one embodiment of the data processing device in this application.

[0058] Figure 12 This is a schematic diagram of one embodiment of the server in this application;

[0059] Figure 13 This is a schematic diagram of one embodiment of the terminal device in this application. Detailed Implementation

[0060] This application provides a data processing method, apparatus, device, medium, and program product for accelerating resource downloads.

[0061] The terms “first,” “second,” “third,” “fourth,” etc. (if present) in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a particular order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented, for example, in orders other than those illustrated or described herein. Furthermore, the terms “comprising” and “corresponding to,” and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0062] In this application embodiment, the terms "module" or "unit" refer to a computer program or part of a computer program that has a predetermined function and works with other related parts to achieve a predetermined goal, and can be implemented wholly or partially using software, hardware (such as processing circuitry or memory), or a combination thereof. Similarly, a processor (or multiple processors or memory) can be used to implement one or more modules or units. Furthermore, each module or unit can be part of an overall module or unit that includes the functionality of that module or unit.

[0063] In the distribution and update of mobile games and large applications, optimizing download speed and user experience has become a significant technical challenge. As games and applications grow in scale, update packages also increase in size, often requiring users to spend considerable time downloading and updating, especially under poor network conditions or limited bandwidth. This download process can significantly impact user experience and even lead to user churn.

[0064] Current resource distribution models typically rely on Content Delivery Networks (CDNs). This approach accelerates downloads by distributing resources to multiple nodes globally. However, this method has the following limitations: 1. In the initial stages of resource release (such as major game updates), a large number of users downloading resources simultaneously can lead to high loads on CDN nodes, potentially causing slowdowns or even download failures. 2. Users are distributed across different countries and regions with varying network quality; even in areas with CDN nodes, poor local network conditions can still result in a poor download experience. 3. Each user's download request is usually completed independently; even users on the same local area network cannot share downloaded resources, leading to duplicate downloads and resource waste.

[0065] To address this technical problem, this application provides the following technical solution: intercepting a domain name resolution request sent by a first terminal device, the domain name resolution request carrying a first domain name, the first domain name being the domain name of the resource server for which the first terminal device requests the target resource; when the first domain name exists in the pre-resolution list, feeding back a set of network protocol addresses to the first terminal device, the pre-resolution list being used to store resolved domain names and their corresponding network protocol addresses; intercepting a first data download request initiated by the first terminal device based on a first network protocol address, the first network protocol address being included in the set of network protocol addresses; when the first network protocol address meets the redirection condition, redirecting the first network protocol address to a second network protocol address, wherein the second network protocol address is a network protocol address of a first local cache, the first local cache being used to store a first pre-downloaded resource, the first pre-downloaded resource including the resource server's resources; feeding back the second network protocol address to the first terminal device; intercepting a second data download request initiated by the first terminal device based on the second network protocol address; and responding to the second data download request, feeding back the target resource to the first terminal device based on the first local cache. In this way, the local cache pre-downloads and stores the resources from the resource server. When a terminal device requests data download from the resource server, the download request is intercepted and redirected to the local cache. Then, the terminal device initiates a request again based on the redirected address. This way, the terminal device's request can be intercepted and sent to the local cache, and finally, the resource is downloaded from the local cache. Because the resource is returned from the local cache, network bandwidth limitations are avoided, and the download speed is no longer affected by external network fluctuations, thus accelerating the resource download.

[0066] See Figure 1 , Figure 1This is an optional architecture diagram of the data processing method provided in this application embodiment. To support a data processing method, terminal device 100 connects to server 300 via network 200, and server 300 connects to database 400. Network 200 can be a wide area network (WAN), a local area network (LAN), or a combination of both. The client for the data processing method is deployed on terminal device 100. The client can run on terminal device 100 via a browser or as a standalone application (APP). The specific form of the client is not limited here. Server 300 involved in this application can be an independent physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communication, middleware services, domain name services, security services, and big data and artificial intelligence platforms. Terminal device 100 can be a smartphone, tablet, laptop, PDA, personal computer, smart TV, smartwatch, in-vehicle device, wearable device, smart voice interaction device, smart home appliance, aircraft, etc., but is not limited to these. Terminal device 100 and server 300 can be directly or indirectly connected via network 200 through wired or wireless communication, which is not limited in this application. The number of server 300 and terminal device 100 is also not limited. The solution provided in this application can be completed independently by terminal device 100, independently by server 300, or jointly by terminal device 100 and server 300, which is not specifically limited in this application. In short, database 400 can be regarded as an electronic filing cabinet—a place to store electronic files, where users can perform operations such as adding, querying, updating, and deleting data in the files. The so-called "database" is a collection of data stored together in a certain way, which can be shared by multiple users, has the lowest possible redundancy, and is independent of the application. A Database Management System (DBMS) is a computer software system designed to manage databases, generally possessing basic functions such as storage, retrieval, security, and backup. DBMSs can be classified according to the database model they support, such as relational or Extensible Markup Language (XML); or according to the type of computer they support, such as server clusters or mobile devices; or according to the query language used, such as Structured Query Language (SQL) or XQuery; or according to performance priorities, such as maximum scale or highest operating speed; or other classification methods.Regardless of the classification method used, some DBMSs can cross categories, for example, by simultaneously supporting multiple query languages. In this application, database 400 can be used to store data such as pre-download resources. Of course, the storage location for storing pre-download resources is not limited to a database; for example, it can also be stored in terminal device 100, a blockchain, or the distributed file system of server 300.

[0067] In some embodiments, both the server 300 and the terminal device 100 can execute the data processing scheme provided in the embodiments of this application.

[0068] Based on the above description, the data processing system of this application can be described below, such as... Figure 2 As shown, the data processing system includes terminal devices and servers. The terminal devices are equipped with business application clients and download clients. The download client includes an interception service and a local caching service. The server includes a business application server and a download server. The interception service in the download client intercepts domain name resolution requests and data download requests initiated by the business application client; the local caching service stores pre-downloaded resources. The business application server provides corresponding resource support for the business application. The download server provides corresponding service support (such as redirection services) for the download client.

[0069] It should be understood that, based on Figure 2 One type of data processing system can be applied to application update scenarios (e.g., game application update scenarios, multimedia application update scenarios, etc.). For ease of understanding, in the embodiments of this application, the terminal device can refer to a device that can... Figure 1 This refers to any one of the multiple terminal devices shown. The target resource requested by the terminal device can be an update resource for various business applications. These business applications can include game applications, multimedia applications, in-vehicle applications, smart home applications, social applications, and information applications (e.g., news applications).

[0070] In this application, pre-downloaded resources can refer to pre-downloaded business resources (e.g., game update resources) that take a considerable amount of time to download, downloaded before the official release of the updated resources for the business application, or after the official release of the updated resources for the business application, but before the business object (i.e., the user or game player) performs any triggering operation on the business application (e.g., the player has not launched the game application). At the point when the pre-downloaded business resources are officially used (i.e., the business object performs any triggering operation on the business application, such as the player has not launched the game application), the pre-downloaded business resources can be directly loaded from the local machine to update the business application (e.g., game application update). This eliminates the need to wait until after the official use of the pre-downloaded business resources to start downloading the update resources (i.e., the target resources in this application) and then use the downloaded update resources to update the business application.

[0071] In this application, "updated resources" can refer to either the application installation package or the application resource package of the business application. When the updated resource refers to an application resource package, the number of application resource packages can be one or more. For example, when the business application is a game application, the updated resource can be one or more of the following: a game installation package (e.g., an APK (Android application package) file) or one or more game resource packages (e.g., a PAK (a compressed file format) file). Similarly, pre-downloaded resources are obtained by downloading updated resources; therefore, pre-downloaded resources can also refer to the application installation package or one or more application resource packages. Optionally, pre-downloaded resources can also be animation resources, interactive resources, user interface (UI) resources, component function resources, etc., within the business application.

[0072] Based on the above description, embodiments of this application provide a data processing method, apparatus, device, medium, and program product for accelerating resource downloads. The following describes exemplary applications of the electronic devices provided in embodiments of this application. These electronic devices can be implemented as various types of user terminals or as servers.

[0073] Electronic devices can accelerate resource downloads by running the data processing method provided in the embodiments of this application.

[0074] The above solution can be applied to many computer fields, including game development and mobile application development. When using the data processing method provided in this application to help users update game resources and application resources, the data processing method can be implemented as an independent online application, installed on the user's computer device or backend server, facilitating users to update game resources and application resources.

[0075] The following explanations illustrate different application scenarios:

[0076] In one exemplary solution, for a scenario involving the download of game update resources, such as... Figure 3 As shown, the terminal device deploys a download client corresponding to this data processing method and a game client containing the target game; the download client includes a corresponding download server, and the game client includes a corresponding game server. The download client will include interception services and local caching services.

[0077] When the download client is launched, it obtains the domain name of the game server and the corresponding update resources, and stores the update resources as pre-download resources. The download client can resolve the domain name of the game server to obtain multiple network protocol addresses (i.e., IP addresses) corresponding to the domain name. Then, the download client associates and stores the domain name with the multiple network protocol addresses to obtain the pre-resolved list.

[0078] After the user launches the game client, the game client sends a domain name resolution request to the game server through the terminal device. The download client's interception server intercepts the domain name resolution request and resolves it to obtain the corresponding requested domain name. Based on the requested domain name, the download client obtains the corresponding set of IP addresses from the pre-resolved list and sends the set of IP addresses back to the game client. The game client selects a first IP address from the set of IP addresses and sends a first data download request to the game server based on the first IP address. The download client's interception service intercepts the first data download request, and when it determines that the first IP address in the first data download request meets the redirection requirements, it redirects the first IP address, i.e., modifies it to the second IP address of the local cache service (i.e., the local cache in this application) corresponding to the download client. Then, it sends the second IP address back to the game client. The game client then initiates a second data download request based on the second IP address. The download client's interception service intercepts the second data download request, and when the second IP address meets the download conditions and the game client's resources exist in the pre-downloaded resources, the download client sends the game update resources back to the game client from the local cache service.

[0079] Of course, in addition to the above-mentioned scenarios, the data processing method provided in this application embodiment can also be applied to other scenarios that require resource pre-downloading. This application embodiment does not limit the specific application scenarios.

[0080] It is understood that in the specific implementation of this application, data related to domain names, network protocol addresses, pre-download resources, target resources, etc. are involved. When the above embodiments of this application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of related data must comply with the relevant laws, regulations and standards of the relevant countries and regions.

[0081] Based on the above introduction, the following will be based on... Figure 2 Taking the system architecture shown as an example, the data processing method in this application will be introduced. Please refer to [link / reference]. Figure 4a One embodiment of the data processing method in this application includes:

[0082] 401. The business application client initiates a domain name resolution request. The domain name resolution request carries the first domain name, which is the domain name of the resource server for which the first terminal device requests the target resource.

[0083] When a user triggers an operation, such as accessing a URL, loading an image, or a video, through an application (e.g., a browser, game client) on the first terminal device, the application needs to obtain the IP address of the resource server where the target resource resides in order to establish a connection. The application calls the DNS resolution module of the first terminal device (usually a DNS client provided by the operating system). The DNS client constructs a DNS query request (i.e., the domain name resolution request in this embodiment) based on the domain name of the target resource, and the first terminal device sends the constructed DNS request to the IP address and port of the DNS server through its network interface.

[0084] In this embodiment, when the business application client initiates a request, it can be an HTTPS request or an HTTP request; the specific request is not limited here.

[0085] 402. Download the client to intercept the domain name resolution request sent by the first terminal device.

[0086] In this embodiment, the download client may be deployed on the first terminal device; alternatively, the download client may be deployed on a server, in which case the server should be associated with the first terminal device, and the specific deployment is not limited here. Before the download client intercepts an application, it may pre-download updated resources for each authorized business application.

[0087] It should be understood that, when performing a pre-download operation, an exemplary scheme for the specific operation of this download service can be as follows: Figure 4b As shown: The download client obtains the domain name of the updated resource (e.g., example.com) from a predefined configuration file, business object input, or information sent by the resource server, and determines the list of updated resources that need to be pre-downloaded (e.g., a list of various resource packages of the updated resource). The download client resolves the domain name of the updated resource to its corresponding IP address through its own Domain Name System (DNS) resolution component or by calling an external DNS service. The download client records the resolution results (the mapping relationship between the domain name and the IP address) to generate a pre-resolved list. The download client uses the IP address obtained from the domain name resolution to send an HTTP or HTTPS request to the resource server corresponding to the business application to obtain the updated resource. The download client caches the downloaded updated resource locally (i.e., the local cache in this embodiment, such as the file system, memory, or other storage media) so that it can be directly provided locally when the first terminal device makes a data download request. After the pre-download is completed, the download client can start an interception service in the network where the first terminal device is located to monitor the domain name resolution requests sent by the first terminal device. In one exemplary scheme, if the download client pre-downloads a target resource from the resource server, the download client can receive the domain name of the target resource issued by the resource server, then resolve the domain name to obtain the corresponding IP address; then, it associates and stores the domain name and IP address of the target resource to update the download client's pre-resolution list (for example, one storage format of the pre-resolution list can be as follows: domain name: download.game.com. Its associated network protocol address set (IP address set): such as [192.168.0.100, 192.168.0.101, 192.168.0.102]. Other information: such as TTL (time to live), priority, etc.); simultaneously, it also sends a data download request to the resource server based on the IP address to obtain the target resource returned by the resource server, and generates the first pre-downloaded resource based on the target resource.

[0088] In this embodiment, the download client can create a virtual network interface in the network where the first terminal device is located to process IP layer packets. Then, it sets the default route for the first terminal device, causing all network traffic from the first terminal device to be forwarded to the download client's interception service through the virtual network interface. When the first terminal device sends the domain name resolution request, the download client's interception service, based on the characteristics of the DNS protocol, captures traffic destined for the DNS server port, thereby intercepting the domain name resolution request sent by the application client. The download client then decrypts the domain name resolution request to obtain the first domain name carried in the request.

[0089] It should be understood that, to ensure data security, the download client needs to employ a certificate trust mechanism to intercept requests during decryption. In this embodiment, the certificate trust mechanism can be provided in the following two ways:

[0090] In one implementation, the first terminal device installs the self-signed root certificate of the download client, thereby enabling the first terminal device to trust the certificate issued by the download client.

[0091] In another implementation, the download client establishes a trust relationship with the resource server and obtains the server's genuine certificate.

[0092] This certificate mechanism ensures that the business application client and the download client can be authenticated through the communication protocol, thus avoiding communication failures.

[0093] 403. When the first domain name exists in the pre-resolved list, the download client sends a set of network protocol addresses back to the business application client. The pre-resolved list is used to store the resolved domain names and the network protocol addresses corresponding to the domain names.

[0094] In this embodiment, when the first domain name requested by the first terminal device already exists in the pre-resolved list, the download client does not need to re-resolve the first domain name and can directly obtain the corresponding network protocol address set from the pre-resolved list; then the network protocol address set is fed back to the first terminal device.

[0095] When selecting the set of network protocol addresses, the download client can adopt the following scheme:

[0096] If the first domain name is queried in the pre-resolved list, and the first domain name is stored in the pre-resolved list, then the associated network protocol address of the first domain name is obtained, and the associated network protocol address is used as the network protocol address set.

[0097] Optionally, the download client can also select a better network protocol address from the associated network protocol addresses and feed it back to the first terminal device based on the actual situation. For example, in one exemplary scheme, if the associated network protocol address includes the address of a local caching service, the local address is given priority to accelerate access. In another exemplary scheme, if the associated network protocol address includes multiple acceleration service addresses, the optimal network protocol address can be selected according to a load balancing strategy. For example, the network protocol addresses can be fed back in round-robin order; or, the network protocol address with the lowest latency to the first terminal device can be fed back; or, the network protocol address corresponding to the acceleration service node with the lowest current load can be fed back. In yet another exemplary scheme, the optimal network protocol address is dynamically selected based on the network environment of the first terminal device (such as bandwidth, latency, and geographical location).

[0098] 404. The application client initiates a first data download request based on the first network protocol address, which is included in the set of network protocol addresses.

[0099] In this embodiment, after obtaining the set of network protocol addresses, the business application client randomly or according to rules selects an address from the set as the first network protocol address. For example, the set of network protocol addresses may contain multiple IP addresses: [192.168.0.100, 192.168.0.101, 192.168.0.102]. The business application client selects the optimal address according to the load balancing strategy.

[0100] It should be understood that when generating this first data download request, the application client needs to prepare the following parameters related to the download request:

[0101] Target resource path. This refers to the path or identifier of the target resource that the application client needs to know, such as / files / resource.zip. The path can be obtained from input from the business object, preset configuration, or information issued by the resource server.

[0102] Protocol type. This specifies the type of protocol used, such as HTTP, HTTPS, FTP, or other custom protocols. For example, a request format under the HTTP protocol is: http: / / <network protocol address> / <resource path>.

[0103] Request header information. This involves constructing request header information, such as User-Agent and Accept, to inform the resource server of the requester's identity information or the expected response format.

[0104] Finally, the application client constructs a complete URL based on parameters such as the first network protocol address and the target resource path. For example, if the first network protocol address is 192.168.1.1 and the resource path is / files / resource.zip, the generated complete request URL is: http: / / 192.168.1.1 / files / resource.zip.

[0105] It should be understood that if the communication protocol between the business application client and the resource server is HTTPS, then the first data download request will be an HTTPS request. If the communication protocol between the business application client and the resource server is HTTP, then the first data download request will be an HTTP request. In other words, the communication protocol for the data download request sent by the business application client to the resource server should be determined based on the actual situation.

[0106] 405. The client intercepted the first data download request.

[0107] In this embodiment, the method by which the download client intercepts the first data download request is the same as the aforementioned step 402, and will not be described in detail here.

[0108] 406. When the first network protocol address meets the redirection condition, the download client redirects the first network protocol address to the second network protocol address, wherein the second network protocol address is the network protocol address of the first local cache, the first local cache is used to store the first pre-downloaded resource, and the first pre-downloaded resource includes the resources of the resource server.

[0109] In this embodiment, after intercepting the first data download request, the download client parses the first data download request to obtain the first network protocol address and complete URL information corresponding to the first data download request. Then, the download client first matches the first network protocol address with the pre-parsed list. If it determines that the first network protocol address matches the first domain name stored in the pre-parsed list, the first network protocol address can be modified to the second network protocol address cached locally.

[0110] Optionally, when the first data download request is an HTTPS request, the download client also needs to redirect the HTTPS request to an HTTP request during the redirection process. This eliminates the need for the local cache to handle encrypted traffic, simplifying the implementation process. Furthermore, HTTP traffic is parsed faster when downloading resources from the local cache, further improving performance. Specifically, when redirecting the HTTPS request to an HTTP request, the download client can perform the following operations: the download client forwards the first data download request to the download server; the download server redirects the HTTPS URL to an HTTP URL.

[0111] In an exemplary application scenario, suppose the application client sends a data download request to the first network protocol address (let's say 203.0.113.1) as follows: GET / game / patch1.zip HTTP / 1.1 Host:download.game.com. After intercepting this data download request, the client determines that the first network protocol address matches the download domain name "download.game.com". It can then modify the first network protocol address (203.0.113.1) to its local cache address (i.e., the second network protocol address): 192.168.0.100. Simultaneously, the data download request is redirected to http: / / 192.168.0.100 / game / patch1.zip.

[0112] Optionally, if the first network protocol address does not meet the redirection conditions, the download client should directly forward the first data download request to the resource server, so that the resource server can send the target resource to the business application client.

[0113] 407. The download client sends the second network protocol address back to the application client.

[0114] After modifying the second network protocol address, the download client sends that address and specific redirection information back to the application client. For example, it might generate a redirection target address (e.g., http: / / 192.168.0.100 / game / patch1.zip) after the redirection. If a standard HTTP redirection method is used, the redirection information is returned to the application client via an HTTP response. An exemplary representation of this HTTP response could be "HTTP / 1.1302 FoundLocation:http: / / 192.168.0.100 / game / patch1.zip".

[0115] In practical applications, the download client can also use other methods to return the redirection information to the business application client. For example, the download client can embed the redirection information into the response header or response body, or feed back the revised information to the business application client through logs or status reports; the specific method is not limited here.

[0116] 408. The second data download request initiated by the application client based on the second network protocol address.

[0117] In this embodiment, after receiving the redirection information, the business application client reads the feedback information and then parses the feedback information to obtain the second network protocol address; finally, the business application client re-initiates the data download request based on the second network protocol address, i.e., the second data download request.

[0118] It should be understood that the second data download request is constructed in the same way as step 404 above, and the specific details will not be repeated here.

[0119] 409. The client intercepted the second data download request.

[0120] In this embodiment, the method by which the download client intercepts the second data download request is the same as the aforementioned step 402, and will not be described in detail here.

[0121] 410. The download client responds to the second data download request and returns the target resource based on the first local cache.

[0122] In this embodiment, after intercepting the second data download request, the download client searches for the target resource in the first local cache based on the second network protocol address indicated by the second data download request and the path request indicated by the URL information. If it is determined that the target resource exists in the first local cache, the target resource is fed back to the business application client so that the business application client can update the business application based on the target resource. If it is determined that the target resource does not exist in the first local cache, the client can be redirected to the resource server.

[0123] In this embodiment, when redirecting to the resource server, the following can be performed: Figure 5 The process is shown below.

[0124] 501. The download client redirects the second network protocol address to the third network protocol address corresponding to the resource server and generates a miss flag.

[0125] When a download client fails to retrieve resources from the local cache service (second network protocol address), in order to complete the download normally, avoid download interruption, and improve system reliability, the download client needs to fall back to the resource server's real address (third network protocol address) to continue downloading the resources. It should be understood that this third network protocol address can be the same as or different from the first network protocol address; no limitation is made here. Simultaneously, to prevent the download client from intercepting again, the download client needs to generate and carry a cache miss flag during the redirection process to record the cache miss and notify the business application client or the download client's interception service.

[0126] 502. The download client returns the third network protocol address and the miss identifier to the service application client.

[0127] It should be understood that the operation of the download client to return the third network protocol address and the miss identifier to the service application client can be similar to step 403, and will not be elaborated here.

[0128] 503. The application client sends a third data download request based on the third network protocol address and the miss identifier.

[0129] It should be understood that this step is similar to step 404, except that the miss flag needs to be added to the third data download request, which will not be elaborated here.

[0130] 504. The download client intercepted the third-party data download request.

[0131] In this embodiment, the operation of this step is the same as that of step 402 mentioned above, and will not be described in detail here.

[0132] 505. The download client parses the third-party data download request and, upon obtaining the miss flag, forwards the third-party data download request to the resource server.

[0133] In this embodiment, the download client parses the third data download request to obtain the corresponding third network protocol address, complete URL information, and the miss flag. Upon detecting the miss flag, the download client determines to use the original download path. At this time, the download client forwards the third data download request to the resource server.

[0134] 506. In response to the third data download request, the resource server sends the target resource back to the business application client.

[0135] After receiving the third data download request, the resource server sends the target resource to the business application client so that the business application client can update or display the resource based on the target resource.

[0136] In this embodiment, if the resource server supports HTTP requests, the download client can directly forward the third-party data download request; if the resource server only supports HTTPS requests, the third-party data download request needs to be converted (i.e., converted from an HTTP request to an HTTPS request) when redirecting to the resource server. The specific process is as follows: Figure 6 As shown.

[0137] 601. The download client redirects the second network protocol address to the third network protocol address corresponding to the resource server and generates a miss flag.

[0138] The operation of this step is the same as that of step 501 mentioned above, and will not be repeated here.

[0139] 602. The download client returns the third network protocol address and the miss identifier to the service application client.

[0140] The operation of this step is the same as that of step 502 mentioned above, and will not be repeated here.

[0141] 603. The application client sends a third data download request based on the third network protocol address and the miss identifier.

[0142] The operation of this step is the same as that of step 503 mentioned above, and will not be repeated here.

[0143] 604. The download client intercepted the third-party data download request.

[0144] 605. The download client parses the third data download request, and when it obtains the miss flag, the download client generates a fourth data download request based on the third data download request.

[0145] The download client parses the third data download request to obtain the corresponding third network protocol address, complete URL information, and the miss flag. Upon detecting the miss flag, the download client determines to use the original download path. At this point, the download client generates an HTTPS request based on the complete URL information in the third data download request to obtain the fourth data download request.

[0146] 606. The download client forwards the fourth data download request to the resource server.

[0147] The download client will forward the fourth data download request, which is converted into an HTTPS request, to the resource server.

[0148] 607. In response to the third data download request, the resource server sends the target resource back to the download client.

[0149] After receiving the third-party data download request, the resource server sends the target resource to the download client.

[0150] 608. The download client forwards the target resource to the business application client.

[0151] The download client forwards the received target resource to the business application client, so that the business application client can update or display the resource based on the target resource.

[0152] To further reduce redundant downloads and optimize resource allocation, this application also provides a scheme for deploying multiple download clients on a terminal device. Its system architecture can be as follows: Figure 7 As shown, in this scheme, multiple download clients are deployed on the same terminal device, and these clients share a single interception service and a download server. Each download client corresponds to a local caching service. These multiple download clients can come from different app stores or installation sources. During the pre-download process, these multiple download clients can either download the complete update resource or download the update resource in a distributed manner. For example, for update resource A of game A (assuming the update resource includes data packets 1 to 10), if download client A and download client B are deployed on the same terminal device, then download client A and download client B can both download the complete update resource A, or download client A can download data packets 1 to 5 from update resource A, and download client B can download data packets 6 to 10 from update resource A. Figure 7 The system shown and Figure 4a In the illustrated scheme, if the target resource is not found or is incomplete in step 410, the download client can query the local cache services of other download clients simultaneously deployed on the first terminal device to see if the target resource exists. Alternatively, the download client can query whether the resource, after being integrated with the resources stored in the first local cache from the local cache services of other download clients, constitutes a complete target resource. If it exists, the download client can redirect the data download request to the local caches of other download clients.

[0153] In one exemplary solution, the process can be as follows: Figure 8 As shown:

[0154] 801. The first download client traverses the second pre-downloaded resources of the second local cache and obtains the first traversal result. The second local cache and the first local cache are deployed on the same terminal device.

[0155] In this embodiment, when the first download client determines that its corresponding local cache has not hit the target resource, the first download client can send a header request to the second download client deployed on the first terminal device, and then receive the header information fed back by the second download client based on its second local cache. The header information will be used to indicate whether the target resource exists in the second local cache.

[0156] It should be understood that when more than two download clients are deployed in the first terminal device, the first download client can perform the checks serially, that is, first query the second download client in sequence, and then query the third download client if the target resource is not found in the second download client, until it is determined that the target resource exists in the local cache or all download clients have been queried.

[0157] In another exemplary scheme, the first download client can also query all other download clients deployed on the first terminal device in parallel. Specific details are not limited here, as long as the goal of resource sharing can be achieved.

[0158] Optionally, when multiple download clients are deployed on the first terminal device, the first download client can be any one of the running download clients. Alternatively, the first download client can also be a download client selected according to a preset configuration. Specific limitations are not specified here.

[0159] 802. When the result of the first traversal indicates that the target resource exists in the second pre-download resource, the first download client redirects the second network protocol address to the fourth network protocol address corresponding to the second local cache.

[0160] When the first download client determines that the target resource exists in the second pre-download resource stored in the second local cache, the first download client redirects the second network protocol address to the fourth network protocol address corresponding to the second local cache. It should be understood that the redirection process is the same as step 406 above, and will not be elaborated further here.

[0161] 803. The first download client sends the fourth network protocol address back to the business application client.

[0162] In this embodiment, the operation of this step is the same as that of step 407, and the specific details will not be repeated here.

[0163] 804. The application client initiates a fifth data download request to the second download client based on the fourth network protocol address.

[0164] In this embodiment, the operation of this step is similar to that of step 408 mentioned above, and will not be described in detail here.

[0165] 805. The second download client intercepted the fifth data download request.

[0166] In this embodiment, the method by which the second download client intercepts the fifth data download request is the same as the aforementioned step 402, and will not be described in detail here.

[0167] 806. In response to the fifth data download request, the second download client sends the target resource back to the business application client based on the second local cache.

[0168] In this embodiment, the operation of this step is similar to that of step 410 mentioned above, and will not be described in detail here.

[0169] To further reduce redundant downloads and optimize resource allocation, this application also provides a solution for deploying multiple download clients on multiple terminal devices located on the same local area network. Its system architecture can be as follows: Figure 9 As shown, in this scheme, multiple download clients are deployed on multiple terminal devices within the same local area network. Each terminal device shares an interception service and a download server, with each download client corresponding to a local caching service. These multiple download clients can originate from different app stores or installation sources. During the pre-download process, these multiple download clients can either download the complete update resource or download the update resource in a distributed manner. For example, for update resource A of game A (assuming the update resource includes data packets 1 to 10), if download client A and download client B are deployed on the same terminal device, download client A and download client B can both download the complete update resource A, or download client A can download data packets 1 to 5 from update resource A, and download client B can download data packets 6 to 10 from update resource A. Figure 9 The system shown and Figure 4a In the illustrated scheme, if the target resource is not found or is incomplete in step 410, the download client can query the local cache services of other download clients simultaneously deployed on the first terminal device to see if the target resource exists. Alternatively, the download client can query whether the resource, after being integrated with the resource stored in the first local cache, constitutes a complete target resource. If it exists, the download client can redirect the data download request to the local caches of other download clients. If it does not exist, the download client can also query the download clients deployed on its terminal device; if it exists, it can redirect the data download request to the local caches of the download clients on other terminal devices.

[0170] In one exemplary solution, the process can be as follows: Figure 10 As shown:

[0171] 1001. The first download client traverses the second pre-downloaded resources in the second local cache and obtains the second traversal result. The third local cache is deployed on the second terminal device, and the second terminal device and the first terminal device are in the same local area network.

[0172] In this embodiment, when the first download client determines that its corresponding local cache has not hit the target resource, the first download client can send a header request to the third download client deployed on the second terminal device, and then receive header information fed back by the third download client based on its third local cache. This header information will be used to indicate whether the target resource exists in the third local cache. At this time, the first terminal device and the second terminal device are on the same local area network.

[0173] It should be understood that when more than two download clients are deployed in the same local area network, the first download client can perform the checks serially. That is, it first queries the download clients on the second terminal device in sequence. Then, if the target resource is not found in the download clients on the second terminal device, it queries the download clients on the third terminal device, until it is determined that the target resource exists in the local cache or all the download clients on the terminal devices have been queried.

[0174] In another exemplary scheme, the first download client can also query all other download clients deployed on all terminal devices on the local area network in parallel. Specific details are not limited here, as long as the goal of resource sharing can be achieved.

[0175] 1002. When the second traversal result indicates that the target resource exists in the third pre-download resource, the first download client redirects the second network protocol address to the fifth network protocol address corresponding to the third local cache.

[0176] When the first download client determines that the target resource exists in the third pre-download resource stored in the three local caches, the first download client redirects the second network protocol address to the fifth network protocol address corresponding to the third local cache. It should be understood that the redirection process is the same as step 406 above, and will not be described in detail here.

[0177] 1003. The first download client sends the fifth network protocol address back to the business application client.

[0178] In this embodiment, the operation of this step is the same as that of step 407, and the specific details will not be repeated here.

[0179] 1004. The application client initiates a sixth data download request to the third download client based on the fifth network protocol address.

[0180] In this embodiment, the operation of this step is similar to that of step 408 mentioned above, and will not be described in detail here.

[0181] 1005. The third download client intercepted the sixth data download request.

[0182] In this embodiment, the operation of this step is similar to that of step 402 mentioned above, and will not be described in detail here.

[0183] 1006. In response to the sixth data download request, the third download client sends the target resource back to the business application client based on the third local cache.

[0184] In this embodiment, the operation of this step is similar to that of step 410 mentioned above, and will not be described in detail here.

[0185] The data processing apparatus in this application is described in detail below. Please refer to [link / reference]. Figure 11 , Figure 11 This is a schematic diagram of one embodiment of the data processing apparatus in this application. The data processing apparatus 20 includes:

[0186] The interception module 201 is used to intercept the domain name resolution request sent by the first terminal device. The domain name resolution request carries a first domain name, which is the domain name of the resource server for which the first terminal device requests the target resource.

[0187] The transceiver module 202 is used to send back a set of network protocol addresses to the first terminal device when the first domain name exists in the pre-resolved list. The pre-resolved list is used to store the resolved domain names and the network protocol addresses corresponding to the domain names.

[0188] The interception module 201 is used to intercept the first data download request initiated by the first terminal device based on the first network protocol address, wherein the first network protocol address is included in the network protocol address set.

[0189] The processing module 203 is configured to redirect the first network protocol address to a second network protocol address when the first network protocol address meets the redirection conditions, wherein the second network protocol address is a network protocol address of a first local cache, and the first local cache is used to store the first pre-downloaded resource;

[0190] The transceiver module 202 is used to send the second network protocol address back to the first terminal device; intercept the second data download request initiated by the first terminal device based on the second network protocol address; and respond to the second data download request by sending the target resource back to the first terminal device based on the first local cache.

[0191] This application provides a data processing apparatus. Using this apparatus, a local cache pre-downloads and stores resources from a resource server. When a terminal device requests data download from the resource server, the download request is intercepted and redirected to the local cache. The terminal device then initiates a new request based on the redirected address. This allows the terminal device's request to be intercepted and routed to the local cache, ultimately downloading the resource from the local cache. Because the resource is returned from the local cache, network bandwidth limitations are avoided, and download speed is no longer affected by external network fluctuations, thereby accelerating resource downloads.

[0192] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application,

[0193] When the first data download request is a Hypertext Transfer Security Protocol (HTTPS) request, the processing module 203 is used to match the first network protocol address with the pre-parsed list to obtain a matching result;

[0194] When the matching result indicates that a domain name associated with the first network protocol address exists in the pre-resolved list, the first network protocol address is modified to the second network protocol address, and the first data download request is redirected to a Hypertext Transfer Protocol (HTTP) request.

[0195] In this embodiment, a data processing apparatus is provided. Using this apparatus, during redirection, the first network protocol address is matched against a pre-parsed list, thereby ensuring the accuracy of the redirection. Simultaneously, HTTPS is redirected to HTTP, eliminating the need for local caching to handle encrypted traffic, simplifying the implementation process. Furthermore, when downloading resources from the local cache, HTTP traffic is parsed faster, further improving performance.

[0196] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application, the processing module 203 is used to respond to the second data download request and obtain the Uniform Resource Locator (URL) information carried by the second data download request, wherein the second data download request is an HTTP request;

[0197] The path requested based on the URL information is searched in the first pre-download resource;

[0198] The transceiver module 202 is used to send feedback of the target resource to the first terminal device when the target resource is hit.

[0199] This application provides a data processing apparatus. Using this apparatus, a data download request is parsed, a download path is obtained, and then data is downloaded from pre-downloaded resources in a local cache based on the download path. This avoids network bandwidth limitations, and the download speed is no longer affected by external network fluctuations, thereby accelerating resource downloads.

[0200] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application,

[0201] The processing module 203 is used to redirect the second network protocol address to the third network protocol address corresponding to the resource server when the target resource is not hit, and generate a miss flag.

[0202] The transceiver module 202 is used to send the third network protocol address and the miss identifier back to the first terminal device; receive a third data download request sent by the first terminal device based on the third network protocol address, the third data download request carrying the miss identifier and the third data download request being an HTTP request; and when the miss identifier is parsed, forward the third data download request to the resource server so that the resource server can send the target resource back to the first terminal device.

[0203] This application provides a data processing apparatus. Using this apparatus, even if a download misses, the system can still redirect to a resource server, allowing normal resource downloads to continue, avoiding download interruptions, and improving system reliability.

[0204] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application,

[0205] The transceiver module 202 is used to forward the third data download request to the resource server when the resource server supports HTTP requests, so that the resource server can feed back the target resource to the first terminal device. The third data download request is not modified.

[0206] or,

[0207] The processing module 203 is used to generate a fourth data download request based on the third data download request when the resource server only supports HTTPS requests. The fourth data download request carries all the URL information of the third data download request and is an HTTPS request.

[0208] The transceiver module 202 is used to send the fourth data download request to the resource server, so that the resource server can return the target resource to the first local cache; and forward the target resource to the first terminal device.

[0209] This application provides a data processing apparatus. Using this apparatus, different redirection processes are employed depending on the data download requests supported by the resource server. This ensures compatibility with servers supporting both HTTPS and HTTP, improving the versatility of the solution.

[0210] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application, the processing module 203 is used to traverse the second pre-download resources of the second local cache when the target resource is not hit, and obtain a first traversal result, wherein the second local cache and the first local cache are deployed on the same terminal device; when the first traversal result indicates that the target resource exists in the second pre-download resources, the second network protocol address is redirected to the fourth network protocol address corresponding to the second local cache;

[0211] The transceiver module 202 is used to send the fourth network protocol address back to the first terminal device; receive the fifth data download request sent by the first terminal device based on the fourth network protocol address; and respond to the fifth data download request by sending the target resource back to the first terminal device based on the second local cache.

[0212] This application provides a data processing apparatus. Using this apparatus, multiple local caches share cache resources within a terminal. When one local cache misses, resources can be obtained from other local caches. This collaboration between different local caches within the same terminal device reduces redundant downloads and optimizes resource allocation. Furthermore, even if the user does not open a specific local cache, the cache resources of other local caches can still be utilized, thereby extending the pre-download time and scope.

[0213] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application, the processing module 203 is used to traverse the third pre-download resources in the third local cache when the target resource is not hit, and obtain a second traversal result. The third local cache is deployed on the second terminal device, and the second terminal device and the first terminal device are in the same local area network. When the second traversal result indicates that the target resource exists in the third pre-download resources, the second network protocol address is redirected to the fifth network protocol address corresponding to the third local cache.

[0214] The transceiver module 202 is used to send the fifth network protocol address back to the first terminal device; receive the sixth data download request sent by the first terminal device based on the fifth network protocol address; and respond to the sixth data download request by sending the target resource back to the first terminal device based on the third local cache.

[0215] This application provides a data processing apparatus. Using this apparatus, within the same local area network (LAN), the local caches of different devices can provide resource caching services to each other. When one local cache misses a resource, it can retrieve resources from other local caches. This LAN sharing mechanism allows only one device within the same LAN to download resources, while other devices can quickly synchronize, significantly improving the overall user experience.

[0216] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application,

[0217] The transceiver module 202 is used to obtain the download domain name of the resource server.

[0218] The processing module 203 is used to parse the download domain name to obtain multiple sets of network protocol addresses; and to associate and store the download domain name and the multiple sets of network protocol addresses to generate the pre-parsed list.

[0219] The transceiver module 202 is used to send a seventh data download request to the resource server based on the multiple network protocol address sets, and the seventh data download request is used to request the download of the target resource;

[0220] Receive the target resource from the resource server and generate the first pre-download resource based on the target resource.

[0221] This application provides a data processing apparatus. Using this apparatus, the local cache pre-downloads and stores the resources from the resource server, and simultaneously associates and stores the domain name and network protocol address. This reduces the interception burden when subsequently feeding back the network protocol address, improving the overall system smoothness.

[0222] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application,

[0223] The processing module 203 is used to find the associated network protocol address associated with the first domain name when the first domain name exists in the pre-resolved list, and the associated network protocol address is used as the network protocol address set;

[0224] The transceiver module 202 is used to feed back the network protocol address set to the first terminal device.

[0225] This application provides a data processing apparatus. Using this apparatus, targeted network protocol address feedback is performed based on the domain names and network protocol addresses stored in the pre-resolved list, thereby reducing the interception burden and improving the overall system smoothness.

[0226] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application,

[0227] The interception module 201 is used to intercept the domain name resolution request sent by the first terminal device based on the virtual private network;

[0228] The first data download request initiated by the first terminal device based on the first network protocol address is intercepted using a virtual private network.

[0229] This application provides a data processing apparatus. Using this apparatus, a virtual private network (VPN) is employed to intercept data download requests. This eliminates the need to modify the application itself corresponding to the resource server, allowing for the interception of network requests. It is applicable to all applications accessing the service, thereby improving the versatility of the solution.

[0230] Optionally, in the above Figure 11 Based on the corresponding embodiments, in another embodiment of the data processing apparatus 20 provided in this application,

[0231] The transceiver module 202 is used to send a first verification certificate to the first terminal device, the verification certificate being a genuine certificate issued by the resource server; and to receive the first verification result fed back by the first terminal device.

[0232] When the first verification result indicates that the verification is successful, the system triggers the feedback of the network protocol address set to the first terminal device and triggers the redirection of the first network protocol address to the second network protocol address.

[0233] or,

[0234] This processing module 203 is used to generate a second verification certificate;

[0235] The transceiver module 202 is used to send the second verification certificate to the first terminal device so that the first terminal device can verify the second verification certificate based on the installed root certificate; receive the second verification result fed back by the first terminal device; and when the first verification result indicates that the verification is successful, trigger the feedback of the network protocol address set to the first terminal device and trigger the redirection of the first network protocol address to the second network protocol address.

[0236] This application provides a data processing apparatus. Using this apparatus, a certificate mechanism ensures that the client can successfully authenticate through the communication protocol, preventing communication failures. Two certificate trust methods are provided: the root certificate method is suitable for general scenarios and does not rely on the application developer; the real certificate method is more secure and can achieve seamless hijacking when cooperating with the application developer.

[0237] The data processing apparatus provided in this application can be used on a server; please refer to [link / reference]. Figure 12 , Figure 12 This is a schematic diagram of a server structure provided in an embodiment of this application. The server 300 can vary significantly due to different configurations or performance. It may include one or more central processing units (CPUs) 322 (e.g., one or more processors) and memory 332, and one or more storage media 330 (e.g., one or more mass storage devices) for storing application programs 342 or data 344. The memory 332 and storage media 330 can be temporary or persistent storage. The program stored in the storage media 330 may include one or more modules (not shown in the diagram), each module may include a series of instruction operations on the server. Furthermore, the CPU 322 may be configured to communicate with the storage media 330 and execute the series of instruction operations stored in the storage media 330 on the server 300.

[0238] Server 300 may also include one or more power supplies 326, one or more wired or wireless network interfaces 350, one or more input / output interfaces 358, and / or one or more operating systems 341, such as Windows Server. TM Mac OS X TM Unix TM Linux TM FreeBSD TM etc.

[0239] The steps performed by the server in the above embodiments can be based on this Figure 12 The server structure shown.

[0240] The data processing apparatus provided in this application can be used in a first terminal device. Please refer to [link / reference]. Figure 13 For ease of explanation, only the parts relevant to the embodiments of this application are shown. For specific technical details not disclosed, please refer to the method section of the embodiments of this application. In the embodiments of this application, a smartphone is used as an example for illustration:

[0241] Figure 13 This is a block diagram illustrating a portion of the structure of a smartphone related to the first terminal device provided in an embodiment of this application. (Reference) Figure 13 The smartphone includes components such as a radio frequency (RF) circuit 410, a memory 420, an input unit 430, a display unit 440, a sensor 450, an audio circuit 460, a wireless fidelity (WiFi) module 470, a processor 480, and a power supply 490. Those skilled in the art will understand that... Figure 13 The smartphone structure shown does not constitute a limitation on smartphones and may include more or fewer components than shown, or combine certain components, or have different component arrangements.

[0242] The following is combined with Figure 13 A detailed introduction to the various components of a smartphone:

[0243] RF circuit 410 can be used for receiving and transmitting signals during information transmission or calls. Specifically, it receives downlink information from the base station and processes it with processor 480; additionally, it transmits uplink data to the base station. Typically, RF circuit 410 includes, but is not limited to, an antenna, at least one amplifier, a transceiver, a coupler, a low-noise amplifier (LNA), a duplexer, etc. Furthermore, RF circuit 410 can also communicate wirelessly with networks and other devices. The aforementioned wireless communication can use any communication standard or protocol, including but not limited to Global System for Mobile Communication (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Long Term Evolution (LTE), email, Short Message Service (SMS), etc.

[0244] The memory 420 can be used to store software programs and modules. The processor 480 executes various functions and data processing of the smartphone by running the software programs and modules stored in the memory 420. The memory 420 may mainly include a program storage area and a data storage area. The program storage area may store the operating system, applications required for at least one function (such as sound playback function, image playback function, etc.), etc.; the data storage area may store data created according to the use of the smartphone (such as audio data, phonebook, etc.). In addition, the memory 420 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, or other volatile solid-state storage device.

[0245] The input unit 430 can be used to receive input numerical or character information, and to generate key signal inputs related to user settings and function control of the smartphone. Specifically, the input unit 430 may include a touch panel 431 and other input devices 432. The touch panel 431, also known as a touch screen, can collect touch operations performed by the user on or near it (such as operations performed by the user using a finger, stylus, or any suitable object or accessory on or near the touch panel 431), and drive the corresponding connected devices according to a pre-set program. Optionally, the touch panel 431 may include two parts: a touch detection device and a touch controller. The touch detection device detects the user's touch position and the signal generated by the touch operation, and transmits the signal to the touch controller; the touch controller receives touch information from the touch detection device, converts it into touch point coordinates, and sends it to the processor 480, and can also receive and execute commands sent by the processor 480. In addition, the touch panel 431 can be implemented using various types such as resistive, capacitive, infrared, and surface acoustic wave. In addition to the touch panel 431, the input unit 430 may also include other input devices 432. Specifically, other input devices 432 may include, but are not limited to, one or more of the following: physical keyboard, function keys (such as volume control buttons, power buttons, etc.), trackball, mouse, joystick, etc.

[0246] Display unit 440 can be used to display information input by the user or information provided to the user, as well as various menus of the smartphone. Display unit 440 may include display panel 441, optionally configured as a liquid crystal display (LCD), organic light-emitting diode (OLED), or similar form. Further, touch panel 431 may cover display panel 441. When touch panel 431 detects a touch operation on or near it, it transmits the information to processor 480 to determine the type of touch event. Subsequently, processor 480 provides corresponding visual output on display panel 441 based on the type of touch event. Although in Figure 13 In this embodiment, the touch panel 431 and the display panel 441 are two separate components to realize the input and output functions of the smartphone. However, in some embodiments, the touch panel 431 and the display panel 441 can be integrated to realize the input and output functions of the smartphone.

[0247] The smartphone may also include at least one sensor 450, such as a light sensor, a motion sensor, and other sensors. Specifically, the light sensor may include an ambient light sensor and a proximity sensor, wherein the ambient light sensor can adjust the brightness of the display panel 441 according to the ambient light level, and the proximity sensor can turn off the display panel 441 and / or the backlight when the smartphone is moved to the ear. As a type of motion sensor, an accelerometer sensor can detect the magnitude of acceleration in various directions (generally three axes), and can detect the magnitude and direction of gravity when stationary. It can be used for applications that recognize the smartphone's posture (such as landscape / portrait switching, related games, magnetometer posture calibration), vibration recognition-related functions (such as pedometer, tapping), etc. Other sensors that may be configured in the smartphone, such as gyroscopes, barometers, hygrometers, thermometers, and infrared sensors, will not be described in detail here.

[0248] Audio circuit 460, speaker 461, and microphone 462 provide an audio interface between the user and the smartphone. Audio circuit 460 converts received audio data into electrical signals and transmits them to speaker 461, where speaker 461 converts them into sound signals for output. On the other hand, microphone 462 converts collected sound signals into electrical signals, which are received by audio circuit 460, converted into audio data, and then processed by processor 480 before being transmitted via RF circuit 410 to, for example, another smartphone, or the audio data can be output to memory 420 for further processing.

[0249] WiFi is a short-range wireless transmission technology. Smartphones, through their WiFi modules (470), can help users send and receive emails, browse web pages, and access streaming media, providing wireless broadband internet access. Although Figure 13 WiFi module 470 is shown, but it is understood that it is not an essential component of a smartphone and can be omitted as needed without changing the nature of the invention.

[0250] The processor 480 is the control center of the smartphone, connecting various parts of the smartphone through various interfaces and lines. It performs various functions and processes data by running or executing software programs and / or modules stored in the memory 420, and by calling data stored in the memory 420, thereby providing overall monitoring of the smartphone. Optionally, the processor 480 may include one or more processing units; optionally, the processor 480 may integrate an application processor and a modem processor, wherein the application processor mainly handles the operating system, user interface, and applications, and the modem processor mainly handles wireless communication. It is understood that the aforementioned modem processor may also not be integrated into the processor 480.

[0251] The smartphone also includes a power supply 490 (such as a battery) that powers the various components. Optionally, the power supply can be logically connected to the processor 480 through a power management system, thereby enabling functions such as charging, discharging, and power consumption management through the power management system.

[0252] Although not shown, smartphones may also include a camera, Bluetooth module, etc., which will not be described in detail here.

[0253] The steps performed by the first terminal device in the above embodiments can be based on this Figure 13 The structure of the first terminal device is shown.

[0254] This application also provides a computer-readable storage medium storing a computer program that, when run on a computer, causes the computer to perform the methods described in the foregoing embodiments.

[0255] This application also provides a computer program product including a program, which, when run on a computer, causes the computer to perform the methods described in the foregoing embodiments.

[0256] Those skilled in the art will clearly understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.

[0257] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.

[0258] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0259] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0260] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0261] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application.

Claims

1. A data processing method, characterized in that, include: Intercept the domain name resolution request sent by the first terminal device, wherein the domain name resolution request carries a first domain name, and the first domain name is the domain name of the resource server for which the first terminal device requests the target resource; When the first domain name exists in the pre-resolved list, a set of network protocol addresses is fed back to the first terminal device. The pre-resolved list is used to store the resolved domain names and the network protocol addresses corresponding to the domain names. Intercept the first data download request initiated by the first terminal device based on the first network protocol address, wherein the first network protocol address is included in the set of network protocol addresses; When the first network protocol address meets the redirection condition, the first network protocol address is redirected to the second network protocol address, wherein the second network protocol address is the network protocol address of the first local cache, the first local cache is used to store the first pre-downloaded resource, and the first pre-downloaded resource includes the resource server's resources; The second network protocol address is fed back to the first terminal device; Intercept the second data download request initiated by the first terminal device based on the second network protocol address; In response to the second data download request, the target resource is fed back to the first terminal device based on the first local cache.

2. The method according to claim 1, characterized in that, When the first data download request is an HTTPS request, and the first network protocol address meets the redirection conditions, redirecting the first network protocol address to the second network protocol address includes: The first network protocol address is matched with the pre-parsed list to obtain the matching result; When the matching result indicates that a domain name associated with the first network protocol address exists in the pre-parsed list, the first network protocol address is modified to the second network protocol address, and the first data download request is redirected to a Hypertext Transfer Protocol (HTTP) request.

3. The method according to claim 1 or 2, characterized in that, In response to the second data download request, the target resource is fed back to the first terminal device, including: In response to the second data download request, obtain the Uniform Resource Locator (URL) information carried in the second data download request, wherein the second data download request is an HTTP request; Based on the path indicated by the URL information, the search is performed in the first pre-download resource; When the target resource is hit, the target resource is fed back to the first terminal device.

4. The method according to claim 3, characterized in that, After the path request indicated by the URL information is searched for in the first pre-download resource, the method further includes: If the target resource is not hit, the second network protocol address is redirected to the third network protocol address corresponding to the resource server, and a miss flag is generated. The third network protocol address and the miss identifier are fed back to the first terminal device; The system receives a third data download request sent by the first terminal device based on the third network protocol address. The third data download request carries the miss identifier and is an HTTP request. Upon obtaining the miss identifier, the third data download request is forwarded to the resource server, so that the resource server can provide the target resource to the first terminal device.

5. The method according to claim 4, characterized in that, Forwarding the third data download request to the resource server, so that the resource server can feed back the target resource to the first terminal device, including: When the resource server supports HTTP requests, the third data download request is forwarded to the resource server so that the resource server can provide the target resource to the first terminal device. The third data download request is not modified. or, When the resource server only supports HTTPS requests, a fourth data download request is generated based on the third data download request. The fourth data download request carries all the URL information of the third data download request and is an HTTPS request. The fourth data download request is sent to the resource server, so that the resource server returns the target resource to the first local cache; The target resource is forwarded to the first terminal device.

6. The method according to claim 3, characterized in that, After the path request indicated by the URL information is searched for in the first pre-download resource, the method further includes: When the target resource is not hit, the second pre-downloaded resource of the second local cache is traversed to obtain the first traversal result. The second local cache and the first local cache are deployed on the same terminal device. When the first traversal result indicates that the target resource exists in the second pre-download resource, the second network protocol address is redirected to the fourth network protocol address corresponding to the second local cache. The fourth network protocol address is fed back to the first terminal device; Receive a fifth data download request sent by the first terminal device based on the fourth network protocol address; In response to the fifth data download request, the target resource is fed back to the first terminal device based on the second local cache.

7. The method according to claim 3, characterized in that, After the path request indicated by the URL information is searched for in the first pre-download resource, the method further includes: When the target resource is not hit, the third pre-downloaded resource in the third local cache is traversed to obtain the second traversal result. The third local cache is deployed on the second terminal device, and the second terminal device and the first terminal device are in the same local area network. When the second traversal result indicates that the target resource exists in the third pre-download resource, the second network protocol address is redirected to the fifth network protocol address corresponding to the third local cache. The fifth network protocol address is fed back to the first terminal device; Receive a sixth data download request sent by the first terminal device based on the fifth network protocol address; In response to the sixth data download request, the target resource is fed back to the first terminal device based on the third local cache.

8. The method according to any one of claims 1 to 2, 4 to 7, characterized in that, The method further includes: Obtain the download domain name of the resource server; The download domain name is parsed to obtain a set of multiple network protocol addresses; The download domain name and the multiple network protocol address sets are associated and stored to generate the pre-parsed list; A seventh data download request is sent to the resource server based on the multiple network protocol address sets, and the seventh data download request is used to request the download of the target resource; The system receives the target resource from the resource server and generates the first pre-download resource based on the target resource.

9. The method according to any one of claims 1 to 2, 4 to 7, characterized in that, The set of network protocol addresses fed back to the first terminal device includes: When the first domain name exists in the pre-resolved list, the associated network protocol address associated with the first domain name is found, and the associated network protocol address is used as the network protocol address set. The network protocol address set is fed back to the first terminal device.

10. The method according to any one of claims 1 to 2, 4 to 7, characterized in that, Intercepting the domain name resolution request sent by the first terminal device includes: The domain name resolution request sent by the first terminal device is intercepted based on the virtual private network; Intercepting the first data download request initiated by the first terminal device based on the first network protocol address includes: The first data download request initiated by the first terminal device based on the first network protocol address is intercepted using a virtual private network.

11. The method according to any one of claims 1 to 2, 4 to 7, characterized in that, The method further includes: Send a first verification certificate to the first terminal device, wherein the verification certificate is a genuine certificate issued by the resource server; Receive the first verification result fed back by the first terminal device; When the first verification result indicates that the verification is successful, the system triggers the feedback of the network protocol address set to the first terminal device and triggers the redirection of the first network protocol address to the second network protocol address. or, Generate a second verification certificate; Send the second verification certificate to the first terminal device so that the first terminal device can verify the second verification certificate based on the installed root certificate; Receive the second verification result fed back by the first terminal device; When the first verification result indicates that the verification is successful, the system triggers the feedback of the network protocol address set to the first terminal device and triggers the redirection of the first network protocol address to the second network protocol address.

12. A data processing apparatus, characterized in that, include: The interception module is used to intercept the domain name resolution request sent by the first terminal device. The domain name resolution request carries a first domain name, which is the domain name of the resource server from which the first terminal device requests the target resource. The transceiver module is used to send back a set of network protocol addresses to the first terminal device when the first domain name exists in the pre-resolution list. The pre-resolution list is used to store the resolved domain names and the network protocol addresses corresponding to the domain names. The interception module is used to intercept the first data download request initiated by the first terminal device based on the first network protocol address, wherein the first network protocol address is included in the network protocol address set; The processing module is configured to redirect the first network protocol address to a second network protocol address when the first network protocol address meets the redirection conditions, wherein the second network protocol address is a network protocol address of a first local cache, and the first local cache is used to store the first pre-downloaded resource; The transceiver module is configured to send the second network protocol address back to the first terminal device; intercept the second data download request initiated by the first terminal device based on the second network protocol address; and, in response to the second data download request, send the target resource back to the first terminal device based on the first local cache.

13. A computer device, characterized in that, include: Memory, processor, and bus system; The memory is used to store programs; The processor is configured to execute a program in the memory, and the processor is configured to execute the method of any one of claims 1 to 11 according to instructions in the program code; The bus system is used to connect the memory and the processor to enable communication between the memory and the processor.

14. A computer-readable storage medium comprising instructions which, when executed on a computer, cause the computer to perform the method as claimed in any one of claims 1 to 11.

15. A computer program product, comprising a computer program, characterized in that, The computer program is executed by a processor using the method as described in any one of claims 1 to 11.