Task execution method and device, equipment, medium and product

By filtering and distributing tasks on the server side, the problem of untargeted anomaly repair during game updates was solved, enabling efficient and targeted updates of client program files, reducing traffic and resource waste, and improving user experience.

CN121704879APending Publication Date: 2026-03-20TENCENT TECH (CHENGDU) CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-20
Publication Date
2026-03-20

AI Technical Summary

Technical Problem

In existing technologies, when games are updated and iterated, it is impossible to specifically fix anomalies, causing all users to reinstall the anomaly-fixed version, resulting in a waste of traffic and storage resources.

Method used

The server obtains client description and task information, filters out target clients, and issues tasks, updating program files only on the target clients.

Benefits of technology

Targeted updates were implemented, avoiding unnecessary updates to clients that consumed bandwidth and resources, improving update efficiency, reducing the number of times users had to download installation packages, and enhancing the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121704879A_ABST
    Figure CN121704879A_ABST
Patent Text Reader

Abstract

The invention discloses a task execution method and device, equipment, a medium and a product, and belongs to the technical field of computers. The method comprises the steps of obtaining client description information of at least one client, wherein the client description information is used for describing attributes of the client from multiple dimensions; obtaining task information of a first task, wherein the first task is used for indicating execution of operation related to a client program file; based on the client description information and the task information, screening from the at least one client to obtain a first client; and issuing the first task to the first client based on the task information. According to the mode, the server performs targeted screening and issues the first task to the first client, and client program files of only part of clients can be changed.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of computer, and particularly relates to a task execution method and device, equipment, medium and product. BACKGROUND

[0002] In the life cycle of a game, in order to adapt to the needs of players and changes in the market, update iteration is an indispensable process.

[0003] In the related art, when repairing an exception for some users, it can only be realized by providing an exception repair version that repairs the exception to all users. For example, when a new function is added to a game, various exceptions may be generated due to reasons such as model mismatch and system mismatch. In this case, the developer needs to solve the exception and publish an exception repair version to all users to repair the exception.

[0004] This update iteration method still requires the user to reinstall the exception repair version in the case that the user does not have the corresponding exception, and however, the current game package is large, and reinstalling the exception repair version will cause waste of user traffic and storage resources. SUMMARY

[0005] The present application provides a task execution method, device, equipment, medium and product, and the technical solution is as follows:

[0006] According to an aspect of the present application, a task execution method is provided, which is executed by a server, and the method comprises:

[0007] Obtaining client description information of at least one client, the client description information being used to describe attributes of the client from multiple dimensions;

[0008] Obtaining task information of a first task, the first task being used to indicate an operation related to a client program file;

[0009] Based on the client description information and the task information, a first client is selected from the at least one client;

[0010] Based on the task information, the first task is issued to the first client.

[0011] According to an aspect of the present application, a task execution method is provided, which is executed by a first client, and the method comprises:

[0012] Reporting client description information of the first client to a server, the client description information being used to describe attributes of the first client from multiple dimensions;

[0013] receive the first task issued by the server, the first task being issued by the server based on the client description information and task information of the first task, the first task being used to instruct to perform an operation related to the client program file.

[0014] According to an aspect of the present application, a task execution method is provided, the method being performed by a management end, and the method comprises:

[0015] displaying a task interface, the task interface displaying at least one to-be-executed task;

[0016] in response to an issuing operation on a first task in the at least one to-be-executed task, sending task information of the first task to a server;

[0017] wherein the first task is issued to a first client by the server based on the task information and client description information of the at least one client after the first client is selected from the at least one client, and the first task is used to instruct to perform an operation related to a client program file.

[0018] According to an aspect of the present application, a task execution device is provided, the device comprising:

[0019] a first obtaining module, configured to obtain client description information of at least one client, the client description information being used to describe attributes of the client from multiple dimensions;

[0020] the first obtaining module is further configured to obtain task information of a first task, the first task being used to instruct to perform an operation related to a client program file;

[0021] a screening module, configured to select a first client from the at least one client based on the client description information and the task information;

[0022] an issuing module, configured to issue the first task to the first client based on the task information.

[0023] According to an aspect of the present application, a task execution device is provided, the device comprising:

[0024] a reporting module, configured to report client description information of the first client to a server, the client description information being used to describe attributes of the first client from multiple dimensions;

[0025] a first receiving module, configured to receive a first task issued by the server, the first task being issued by the server based on the client description information and task information of the first task, the first task being used to instruct to perform an operation related to the client program file.

[0026] According to an aspect of the present application, a task execution apparatus is provided, the apparatus comprising:

[0027] a display module configured to display a task interface, the task interface displaying at least one task to be executed;

[0028] a first sending module configured to, in response to an issuing operation on a first task in the at least one task to be executed, send task information of the first task to a server;

[0029] wherein the first task is issued to a first client by the server based on the task information and client description information of the at least one client, the first client being selected from the at least one client, and the first task is used to instruct the first client to perform an operation related to a client program file.

[0030] According to an aspect of the present application, a computer device is provided, the computer device comprising a processor and a memory, the memory storing at least one program; the processor is configured to execute the at least one program in the memory to implement the above-mentioned task execution method.

[0031] According to an aspect of the present application, a computer readable storage medium is provided, the computer readable storage medium storing executable instructions, the executable instructions being loaded and executed by a processor to implement the above-mentioned task execution method.

[0032] According to an aspect of the present application, a computer program product is provided, the computer program product comprising computer instructions, the computer instructions being stored in a computer readable storage medium, and a processor reading and executing the computer instructions from the computer readable storage medium to implement the above-mentioned task execution method.

[0033] The technical solutions provided by the present application have at least the following beneficial effects:

[0034] The server selects a first client based on the client description information and the task information, and issues a first task to the first client, to instruct the first client to perform an operation related to a client program file of the first client. This way, the server selects and issues the first task to the first client, which can change the client program file of only part of the clients, rather than changing the client program file of all the clients as in the prior art, can change the client program file of different clients in a targeted manner, avoid the user consuming traffic to change the client program file of the clients that do not need to be updated, and avoid frequent changes of the client program file of all the clients due to problems of part of the clients. BRIEF DESCRIPTION OF DRAWINGS

[0035] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the following will briefly introduce the drawings needed to be used in the embodiments. Obviously, the drawings in the following description only some of the embodiments of the present application, and for those skilled in the art, other drawings can also be obtained from these drawings without creative labor.

[0036] Figure 1 The architecture diagram of the computer system provided by an example embodiment of the present application is shown;

[0037] Figure 2 The flow chart of the task execution method provided by an example embodiment of the present application is shown;

[0038] Figure 3 The flow chart of the task execution method provided by an example embodiment of the present application is shown;

[0039] Figure 4 The flow chart of the task execution method provided by an example embodiment of the present application is shown;

[0040] Figure 5 The flow chart of the task execution method provided by an example embodiment of the present application is shown;

[0041] Figure 6 The flow chart of the task execution method provided by an example embodiment of the present application is shown;

[0042] Figure 7 The schematic diagram of the task execution method provided by an example embodiment of the present application is shown;

[0043] Figure 8 The schematic diagram of the task execution method provided by an example embodiment of the present application is shown;

[0044] Figure 9 The schematic diagram of the task execution method provided by an example embodiment of the present application is shown;

[0045] Figure 10 The schematic diagram of the task execution method provided by an example embodiment of the present application is shown;

[0046] Figure 11 The structural block diagram of the task execution device provided by an example embodiment of the present application is shown;

[0047] Figure 12 The structural block diagram of the task execution device provided by an example embodiment of the present application is shown;

[0048] Figure 13This invention provides a structural block diagram of a task execution apparatus according to an exemplary embodiment of the present application.

[0049] Figure 14 This application shows a structural block diagram of a server provided in an exemplary embodiment;

[0050] Figure 15 A structural block diagram of a terminal provided in an exemplary embodiment of this application is shown. Detailed Implementation

[0051] To make the objectives, technical solutions, and advantages of this application clearer, the embodiments of this application will be described in further detail below with reference to the accompanying drawings.

[0052] Exemplary embodiments will now be described in detail, examples of which are illustrated in the accompanying drawings. When the following description relates to the drawings, unless otherwise indicated, the same numbers in different drawings denote the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this application. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this application as detailed in the appended claims.

[0053] The terminology used in this disclosure is for the purpose of describing particular embodiments only and is not intended to be limiting of the disclosure. The singular forms “a,” “the,” and “the” as used in this disclosure and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise. It should also be understood that the term “and / or” as used herein refers to and includes any and all possible combinations of one or more of the associated listed items.

[0054] It should be noted that the user information (including but not limited to client description information) and data (including but not limited to data used to determine client description information) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use, and processing of related data must comply with the relevant laws, regulations, and standards of the relevant countries and regions. For example, the settings and operation information involved in this application were obtained with full authorization.

[0055] It should be understood that although the terms first, second, etc., may be used in this disclosure to describe various information, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from one another. For example, a first parameter may also be referred to as a second parameter without departing from the scope of this disclosure, and similarly, a second parameter may also be referred to as a first parameter. Depending on the context, the word "if" as used herein may be interpreted as "when," "when," or "in response to determination."

[0056] First, let me introduce the relevant terms used in this application:

[0057] Client: An application installed on a terminal device to provide services to users. Depending on its purpose, clients include web clients, game clients, and mobile clients. Generally, a web client refers to a web browser used to display web resources requested by the user from a server, specifically web pages. A game client is a game program used to display game resources and data requested from a server to the user in a graphical interface. A mobile client refers to an application that runs on a mobile device (such as a smartphone).

[0058] Client description information: A collection of attributes describing the client from multiple dimensions. For example, the dimensions of client description information may include at least one of the following: device dimension, client dimension, and behavioral dimension.

[0059] Client program files: These are files on the client that store computer programs. A computer program is a sequence of instructions designed to perform one or more functions. It is typically written in a programming language and needs to run on the target architecture. In other words, a computer program is a set of instructions that a computer recognizes and executes. In addition to the client program files, the client also includes client resource files, which are files that store multimedia resources such as images, music, and videos.

[0060] SDK (Software Development Kit): A computer program package provided by the server to facilitate client access and use of the task execution methods provided in the embodiments of this application. It can also be called a software development kit or software development package. An SDK typically includes APIs (Application Program Interfaces) for calling functions provided by the server, as well as the runtime environment required to call the APIs, such as some low-level code.

[0061] Figure 1 An architectural diagram of a computer system provided in an exemplary embodiment of this application is shown. The computer system includes a first server 110 and at least one first terminal 120.

[0062] The first server 110 can be a standalone 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, CDN (Content Delivery Network), and big data and artificial intelligence platforms, but it is not limited to these. The first server 110 is equipped with a server-side component, which is used to obtain client description information of at least one client and task information of the first task; and based on the client description information and task information, it selects the first client from at least one client and issues the first task to the first client.

[0063] The first terminal 120 includes, but is not limited to, mobile phones, tablets, smart voice interaction devices, game consoles, wearable devices, multimedia playback devices, PCs (Personal Computers), in-vehicle terminals, smart home appliances, and other electronic devices. A client can be installed and run on the first terminal 120. The client is used to report client description information and execute the first-person tasks issued by the server in the first server 110.

[0064] Optionally, the first server 110 and the first terminal 120 are connected via a wired network or a wireless network.

[0065] Optionally, the computer system further includes a second terminal 130, which includes, but is not limited to, mobile phones, tablets, smart voice interaction devices, game consoles, wearable devices, multimedia playback devices, PCs (Personal Computers), in-vehicle terminals, smart home appliances, and other electronic devices. A management terminal can be installed and run on the second terminal 130. The management terminal is used to manage the server in issuing the first task to the first client among at least one client.

[0066] Optionally, the first server 110 and the second terminal 130 are connected via a wired network or a wireless network.

[0067] Optionally, the computer system further includes a second server 140 that provides background services to clients of applications in the first terminal 120. For example, the second server 140 can be a standalone 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, CDN (Content Delivery Network), and big data and artificial intelligence platforms, but is not limited to these. Optionally, the second server 140 can simultaneously provide background services to clients of applications in multiple first terminals 120.

[0068] Optionally, the first terminal 120 and the second server 140 are connected via a wired network or a wireless network.

[0069] Optionally, the server in the first server 110 receives client description information 10 reported by each client in at least one first terminal 120, and receives task information 11 sent by the management terminal in the second terminal 130. The server in the first server 110 uses the client description information 10 and the task information 11 to select a first client 13 from at least one client, and issues a first task 14 to the first client 13. The first task 14 instructs the execution of operations related to the client program file of the first client 13, such as viewing, adding, modifying, or deleting the client program file or a portion of the program in the client program file.

[0070] Figure 2 A flowchart illustrating a task execution method provided in an exemplary embodiment of this application is shown. This method is executed by a server, which runs on the aforementioned... Figure 1 In the first server shown, the method includes:

[0071] Step 210: Obtain client description information for at least one client. The client description information is used to describe the client's attributes from multiple dimensions.

[0072] The client description information describes the client's attributes from multiple dimensions, including at least one of the following: device dimension, client dimension, and behavioral dimension. The device dimension refers to the dimension related to the terminal device on which the client is installed. The client dimension refers to the dimension related to the client itself. The behavioral dimension refers to the dimension related to the user's behavior when using the client, or, the behavioral dimension refers to the dimension related to the behavior of the client being used.

[0073] Optionally, the server includes a database for storing client description information of at least one client, and the server reads the client description information of at least one client from the database; or, the server sends a client description information retrieval instruction to at least one client, the retrieval instruction being used to instruct the client to report the client description information to the server.

[0074] Step 220: Obtain the task information of the first task, which is used to instruct the execution of operations related to the client program file.

[0075] The first task is used to instruct the execution of operations related to the client program file; or, the first task is used to instruct the client to execute operations related to the client program file; or, the first task is used to instruct the client to execute operations related to the client program file seamlessly, where seamless execution means executing operations related to the client program file without the user's awareness.

[0076] Optionally, the server includes a database for storing task information of the first task, and the server reads the task information of the first task from the database; or, the server receives the task information of the first task sent by the management terminal.

[0077] Step 230: Based on the client description information and task information, select the first client from at least one client.

[0078] Optionally, based on the client description information of each client in the client description information of at least one client, a first client whose client description information meets the requirements for distributing task information is selected from at least one client.

[0079] Step 240: Based on the task information, issue the first task to the first client.

[0080] Optionally, based on the task content indicated in the task information, a first task is sent to the first client.

[0081] For example, the first task is issued in the form of an instruction, that is, based on the task information, a first instruction is issued to the first client, and the first instruction is the instruction corresponding to the first task.

[0082] In summary, the method provided in this application embodiment illustrates how a server filters out a first client based on client description information and task information, and issues a first task to the first client to instruct it to perform operations related to its client program files. This method, by selectively filtering and issuing first tasks to the first client by the server, enables changes to the client program files of only a subset of clients, rather than always changing the client program files of all clients as in related technologies. It allows for targeted changes to different client program files for different clients, avoiding the need for users to consume bandwidth to update client program files for clients that do not require updates, and preventing frequent changes to the client program files of all clients due to issues with only a few clients.

[0083] Furthermore, the operations related to client program files executed by the server-side first task are seamless for the user. That is, the user does not need to click to update before the client program files are downloaded and modified from the server. Instead, the first client automatically executes the operations related to client program files upon receiving the first task, which simplifies the process of modifying client program files and improves the efficiency of executing operations related to client programs.

[0084] First, the filtering method for the first client is shown.

[0085] Figure 3 A flowchart of a task execution method provided by an exemplary embodiment of this application is shown. In some embodiments, the task information includes delivery conditions, which are used to indicate client description information matching a first task, and step 230 above can be implemented as step 231.

[0086] Step 231: Based on the client description information and distribution conditions, select the first client from at least one client.

[0087] Optionally, based on the client description information of each client in at least one client, the first client whose client description information meets the distribution conditions is selected from at least one client.

[0088] Since the client description information includes multiple dimensions of client attributes, the delivery conditions can include delivery requirements for all or some dimensions of the client description information. The delivery requirements are the requirements for the client attributes.

[0089] Optionally, the above-mentioned selection of the first client from at least one client based on client description information and distribution conditions includes: for each candidate client among the at least one client, if the client description information of the candidate client meets the distribution requirements, confirming the candidate client as the first client.

[0090] The requirement that the client description information of the candidate client meets the distribution requirements means that the attribute values ​​in the client description information meet the distribution requirements, that is, the attribute values ​​in the client description information meet the attribute values ​​in the distribution requirements.

[0091] Optionally, the delivery conditions include delivery requirements for all or some dimensions of the client description information. That is, for each candidate client among at least one client, if the client description information of the candidate client meets the delivery requirements, the candidate client is confirmed as the first client. This means that for each candidate client among at least one client, if the client description information of the candidate client meets the delivery requirements for each dimension, the candidate client is confirmed as the first client. For example, the distribution conditions include distribution requirements for dimension 1, dimension 2, and dimension 3. If the attribute values ​​of dimension 1 in the client description information of candidate client b1 meet the distribution requirements of dimension 1, the attribute values ​​of dimension 2 meet the distribution requirements of dimension 2, and the attribute values ​​of dimension 3 meet the distribution requirements of dimension 3, then candidate client b1 is confirmed as the first client. If the attribute values ​​of one or more dimensions in the client description information of a candidate client do not meet the distribution requirements of each dimension in the distribution conditions, then the candidate client is not confirmed as the first client. For example, if the attribute values ​​of dimension 1 in the client description information of candidate client b2 meet the distribution requirements of dimension 1, the attribute values ​​of dimension 2 do not meet the distribution requirements of dimension 2, and the attribute values ​​of dimension 3 meet the distribution requirements of dimension 3, then candidate client b2 is not confirmed as the first client.

[0092] Optionally, the data type of the client's attributes included in the client description information includes at least one of the following: numeric (such as integer, floating-point, double-precision floating-point, etc.), string, boolean, and JSON (JavaScript Object Notation).

[0093] Optionally, if the data type of the client's attribute includes numeric, the attribute value in the request can be a number, an array, a range of numbers, etc. For example, the attribute value in the request can be 1.00, or the attribute value in the request can be {1, 2, 8}, or the attribute value in the request can be [0, 8]. The statement that an attribute value in the client description information matches the attribute value in the delivery requirement means that the attribute value in the client description information is equal to the attribute value in the delivery requirement. For example, if the attribute value in the client description information is 1.00, and the attribute value in the delivery requirement is also 1.00, then the attribute value in the client description information is equal to the attribute value in the delivery requirement. Alternatively, the statement that an attribute value in the client description information matches the attribute value in the delivery requirement means that the attribute value in the client description information belongs to the attribute value in the delivery requirement. For example, if the attribute value in the client description information is 2, and the attribute value in the delivery requirement is {1, 2, 8}, then since 2∈{1, 2, 8}, the attribute value in the client description information belongs to the attribute value in the delivery requirement. Another example is that if the attribute value in the client description information is 2, and the attribute value in the delivery requirement is [0, 8], then since 2∈[0, 8], the attribute value in the client description information also belongs to the attribute value in the delivery requirement.

[0094] Optionally, if the data type of the client's attribute includes string, the attribute value in the request can be a complete string, a partial string, an array of strings, etc. For example, the attribute value in the request could be "first operating system", or the attribute value in the request could be "one". The statement that an attribute value in the client description information matches the attribute value in the distribution requirement means that the attribute value in the client description information is equal to the attribute value in the distribution requirement. For example, if the attribute value in the client description information is "first operating system" and the attribute value in the distribution requirement is also "first operating system", then the attribute value in the client description information is equal to the attribute value in the distribution requirement. Alternatively, the statement that an attribute value in the client description information matches the attribute value in the distribution requirement means that the attribute value in the client description information includes the attribute value in the distribution requirement. For example, if the attribute value in the client description information is "first operating system" and the attribute value in the distribution requirement is "A", then the attribute value in the client description information includes the attribute value in the distribution requirement. Alternatively, the statement that an attribute value in the client description information matches the attribute value in the distribution requirement means that the attribute value in the client description information belongs to the attribute value in the distribution requirement. For example, if the attribute value in the client description information is "first operating system" and the attribute value in the distribution requirement is a string array {first operating system, second operating system}, then the attribute value in the client description information belongs to the attribute value in the distribution requirement.

[0095] Optionally, if the data type of the client's attribute includes Boolean, the attribute value in the request is a Boolean or a Boolean data set. For example, the attribute value in the request might be `true`, or the attribute value in the request might be `{true, false}`. A matching attribute value in the client's description information means that the attribute value in the client's description information is equal to the attribute value in the request. For example, if the attribute value in the client's description information is `true`, and the attribute value in the request is also `true`, then the attribute value in the client's description information is equal to the attribute value in the request. Alternatively, a matching attribute value in the client's description information means that the attribute value in the client's description information belongs to the attribute value in the request. For example, if the attribute value in the client's description information is `false`, and the attribute value in the request is `{true, false}`, then the attribute value in the client's description information belongs to the attribute value in the request.

[0096] Optionally, if the data type of the client's attribute includes JSON, the attribute value in the distribution request is a JSON string containing n key-value pairs (also known as name / value pairs, key / value pairs, etc.). For example, if the attribute value in the distribution request is {"OS": "first operating system", "version": "1.2.0", "isOfficialChannel": true}, the above JSON format distribution request includes the device model being the first operating system, the version number being 1.2.0, and the channel being the official channel. Among these, OS (operating system), version (version number), and isOfficialChannel (whether it is an official channel) are three attributes.The client-side description information's attribute values ​​matching the distribution requirements means that the attribute values ​​in the client-side description information are equal to the attribute values ​​in the distribution requirements. For example, if the attribute value in the client-side description information is {"OS": "First Operating System", "version": "1.2.0", "isOfficialChannel": true}, and the attribute value in the distribution requirements is also {"OS": "First Operating System", "version": "1.2.0", "isOfficialChannel": true}, then the attribute value in the client-side description information is equal to the attribute value in the distribution requirements. Alternatively, the client-side description information's attribute values ​​matching the distribution requirements mean that the attribute values ​​in the client-side description information include the attribute values ​​in the distribution requirements. For example, if the attribute value in the client-side description information is {"OS": "First Operating System", "version": "1.2.0", "isOfficialChannel": true}, and the attribute value in the distribution requirements is {"OS": "First Operating System", "version": "1.2.0"}, then the attribute value in the client-side description information is equal to the attribute value in the distribution requirements. The attribute values ​​include those in the issued requirements; or, the attribute values ​​in the client description information that match the attribute values ​​in the issued requirements mean that the attribute values ​​in the client description information belong to the attribute values ​​in the issued requirements. For example, if the attribute value in the client description information is {"OS": "First operating system", "version": "1.2.0", "isOfficialChannel": true}, and the attribute value in the issued requirements is {"a1": {"OS": "First operating system", "version": "1.2.0", "isOfficialChannel": true}, "a2": {"OS": "Second operating system", "version": "1.2.0", "isOfficialChannel": true}, "a3": {"OS": "First operating system", "version": "1.2.1", "isOfficialChannel": false}}, then the attribute value in the client description information is a1 as shown in the issued requirements, and in this case, the attribute value in the client description information belongs to the attribute value in the issued requirements.

[0097] In summary, the method provided in this application demonstrates that selecting a first client from at least one client is based on the delivery conditions in the task information. This selection process, according to the delivery conditions, allows client maintenance personnel to customize the delivery conditions. This enables the repair of vulnerabilities arising from specific application scenarios, such as targeting clients with common characteristics. Furthermore, it allows for targeted modifications to the client program files of a subset of clients (i.e., the first client), avoiding impact on all clients. It also avoids the situation in related technologies where the same changes are applied to all clients, leading to anomalies in some clients due to modifications to the client program files of some clients. Moreover, it avoids repeated modifications to client program files for a single vulnerability, improving operational efficiency. It also avoids requiring users to download multiple installation packages for repair, resulting in a better user experience.

[0098] Furthermore, the document demonstrates that the distribution conditions include distribution requirements for all or some dimensions of the client description information, as well as a method for selecting the first client based on these requirements. This means that when selecting clients, it is not necessary to set distribution requirements for all dimensions; only requirements based on actual needs need to be designed. For example, distribution requirements can be designed based on common characteristics (or influencing factors) of a certain dimension, allowing the selection of the first client that meets these common characteristics from at least one client, thus improving the efficiency of targeted selection of the first client.

[0099] Next, we will explain the filtering method of the first client from different dimensions.

[0100] 1. Device dimension.

[0101] Optionally, the dimensions of the client description information include a device dimension, and the attributes of the device dimension include at least one of the following: device model, operating system, and device identifier. The device model, also known as the device type, indicates the model of a terminal device; the operating system indicates the version of the operating system running the client, or in other words, the version of the operating system installed on the terminal device; the device identifier uniquely identifies the terminal device. For example, the operating system may be a first operating system or a second operating system. Furthermore, the operating system can also indicate a specific operating system version, such as operating system 15 or operating system 17, or a more specific version such as operating system 15 Beta 4 or operating system 17.7. The device identifier can be an IMEI (International Mobile Equipment Identity), or it can be a device identifier set by the server for the terminal device with the client installed, or it can be an identifier set by the server operating the client for the terminal device, etc. This application embodiment does not limit this.

[0102] At this point, the conditions for distribution include the device-level attribute values ​​that the first client must meet.

[0103] Optionally, the above-mentioned method of confirming a candidate client as the first client for each candidate client among at least one client, provided that the client description information of the candidate client meets the delivery requirements, includes: confirming a candidate client as the first client for each candidate client among at least one client, provided that the attribute value of the first attribute of the device dimension in the candidate client meets the delivery requirements of the device dimension.

[0104] The requirements for issuing requests at the device level include requirements for the attribute value of the first attribute. The first attribute can be any one of the following: device model, operating system, or device identifier.

[0105] For example, the first attribute is the device model. The device dimension delivery requirement includes the device model being any one of the string arrays {model 1, model 2, model 3}. The device model in the client description information of client b1 is model 1, so client b1 is confirmed as the first client; or, the device model in the client description information of client b2 is model 4. In this case, the device model of client b2 does not meet the device dimension delivery requirement, so candidate client b2 is not confirmed as the first client.

[0106] Optionally, the first attribute includes one attribute or multiple attributes. When the first attribute includes multiple attributes, it can also be referred to as a first attribute set. The above-described method of identifying a candidate client as the first client for each candidate client among at least one client, provided that the attribute value of the first attribute in the device dimension of the candidate client meets the device dimension's distribution requirements, includes: identifying the candidate client as the first client for each candidate client among at least one client, provided that the attribute value of each attribute in the first attribute set of the device dimension in the candidate client meets the device dimension's distribution requirements.

[0107] For example, the first attribute set includes the device model and operating system. The device dimension delivery requirements include the device model being any one of the string array {model 1, model 2, model 3}, and the operating system being the first operating system. The device model in the client description information of client b3 is model 1, and the operating system is the first operating system, so client b3 is identified as the first client. Or, the device model in the client description information of client b4 is model 4, and the operating system is the first operating system. Since the device model does not meet the device dimension delivery requirements, client b4 is not identified as the first client. Or, the device model in the client description information of client b5 is model 5, and the operating system is the second operating system. Since neither the device model nor the operating system meets the device dimension delivery requirements, client b5 is not identified as the first client.

[0108] The aforementioned device-level delivery requirements include any one of the string arrays {Model 1, Model 2, Model 3} for the device model, and the operating system being the first operating system. This is equivalent to the device-level delivery requirements including device model 1 and operating system 1, or device model 2 and operating system 1, or device model 3 and operating system 1. That is, the delivery requirements can be attribute value requirements for each individual attribute, or attribute value requirements for different combinations of attributes. Therefore, other equivalent descriptions can also be used for the delivery requirements, and this application embodiment does not limit this.

[0109] In summary, the method provided in this application illustrates the device dimension attribute in the client description information and how to filter the first client based on the device dimension's distribution requirements. The device dimension refers to a dimension related to the terminal device on which the client is installed, i.e., a dimension related to the client's hardware and software environment. Generally, client vulnerabilities stem from incompatibility between the client program files and the client's hardware and software environment. Therefore, the device dimension is a dimension used to filter vulnerabilities caused by hardware and software incompatibility. Filtering the first client based on the device dimension avoids the situation in related technologies where the same changes are made to all clients, leading to anomalies in some clients due to changes to the client program files of some clients (i.e., the problem of incompatibility between the changed client program files and the hardware and software environment of other clients). Furthermore, it avoids repeatedly changing client program files for a single vulnerability, improving operational efficiency. It also avoids users downloading the repair installation package multiple times, resulting in a better user experience.

[0110] 2. Client-side perspective.

[0111] Optionally, the dimensions of the client description information include client dimensions. The attributes of the client dimensions include at least one of the following: client version, client language, client operating platform, client operating platform version, client startup count, client startup time, and client commonly used time period. Specifically, client version is the client's version number; client language indicates the language currently used by the client, or, client language indicates the client's commonly used language; client operating platform indicates the platform on which the client runs; client operating platform version indicates the version number of the platform on which the client runs; client startup count indicates the number of times the client has been started; client startup time indicates the cumulative time the client has been in a startup state, or, client startup time indicates the time the client has been in a startup state since this startup; and client commonly used time period indicates the commonly used time period for client startup. For example, the client language is Chinese, English, or German; the client operating platform is a first operating platform or a second operating platform; the client operating platform version is first operating platform 6 or second operating platform 5; the client startup count is 213 times; the client startup time is 1241252ms; and the client commonly used time period is 18:00-20:00.

[0112] The conditions for issuing the application include the attribute values ​​of the client and other dimensions that the first client must meet.

[0113] Optionally, the above-mentioned method of confirming a candidate client as the first client for each candidate client among at least one client, provided that the client description information of the candidate client meets the distribution requirements, includes: confirming a candidate client as the first client for each candidate client among at least one client, provided that the attribute value of the second attribute of the client dimension in the candidate client meets the distribution requirements of the client dimension.

[0114] The requirements for the client dimension include the attribute value requirements for the second attribute. The second attribute can be any one of the following: client version, client language, client operating platform, client operating platform version, number of client launches, client launch time, and commonly used client time period.

[0115] For example, the second attribute is the client language. The requirements for the client dimension include that the client language is Chinese. The client language in the client description information of client b1 is Chinese, so client b1 is confirmed as the first client; or, the client language in the client description information of client b2 is English. In this case, client b2 does not meet the requirements for the client dimension, so candidate client b2 is not confirmed as the first client.

[0116] Optionally, the second attribute includes one attribute or multiple attributes. When the second attribute includes multiple attributes, the second attribute can be referred to as a second attribute set. The above-described method of identifying a candidate client as a first client for each candidate client among at least one client, where the attribute value of the second attribute in the client dimension of the candidate client meets the distribution requirements of the client dimension, includes: identifying a candidate client as a first client for each candidate client among at least one client, where the attribute value of each attribute in the second attribute set of the client dimension of the candidate client meets the distribution requirements of the client dimension.

[0117] For example, the second attribute set includes client language and client launch count. The client-level delivery requirements include the client language being Chinese and the client launch count being [100, 500]. In the client description information of client b3, the client language is Chinese and the client launch count is 311, so client b3 is confirmed as the first client. Or, the client language of client b4 is Chinese and the client launch count is 21. Since the client launch count does not meet the client-level delivery requirements, client b4 is not confirmed as the first client. Or, the client description information of client b5 is English and the client launch count is 41. Since neither the client language nor the client launch count meets the device-level delivery requirements, client b5 is not confirmed as the first client.

[0118] In summary, the method provided in this application illustrates the attributes of the client dimension in the client description information and how to filter the first client based on the distribution requirements of the client dimension. The client dimension refers to a dimension related to the client itself, that is, a dimension related to the client's operating environment. In some cases, the client's operating environment can also cause vulnerabilities, such as vulnerabilities in a certain version of the operating platform, high network fluctuations during a certain period leading to frequent disconnections and reconnections, or text misalignment on a certain interface for clients using a certain language. Therefore, based on the distribution conditions of the client dimension, clients with vulnerabilities caused by their operating environment can be specifically filtered out, and thus targeted repairs can be performed.

[0119] Furthermore, the client-side dimension can reflect user habits to some extent. When adding new features to a client, considering these habits and adding different features for users with different habits—that is, using different client program files—can enhance the client's customization capabilities and allow for personalized clients tailored to different users. For example, in racing games, for clients using languages ​​where driving is on the left, the client program files can be modified to make the game screen appear to drive on the left; for clients using languages ​​where driving is on the right, the client program files can be modified to make the game screen appear to drive on the right, and so on. Another example is the number of times a client is launched, which can help determine whether new features need to be added. For clients launched frequently, the users may be considered advanced players, and new features can be added to improve user retention. For clients launched infrequently, the users may be considered novice users, and the client's functions can be simplified so that novice users can more accurately experience the core functions, thereby increasing user conversion rates.

[0120] 3. Behavioral dimension.

[0121] Optionally, the dimensions of the client description information include behavioral dimensions. The attributes of these behavioral dimensions include at least one of the following: login count, login time, number of matches, task progress, game duration, and login country. Specifically, login count refers to the number of times the client has logged in on the client; login time refers to the time of this login, or the cumulative login duration of the user account on the client; number of matches refers to the number of matches the user has played on the client when the client is a game client and the game client's gameplay is divided into rounds; task progress refers to the current progress of the user account in executing game tasks when the client is a game client and the game client includes task gameplay; game duration indicates the duration the user has spent participating in game gameplay using the client; and login country indicates the country corresponding to the IP address used for this login. For example, login time is 10:03, or login time is 124 hours; number of games played is 524; task progress is {"Task 1": true, "Task 2": true, "Task 3": false} (i.e., task 1 and task 2 are completed, but task 3 is not completed), or task progress is 50%, etc.; the gameplay calculated in the game time can be the cumulative time of the games participated in in the game sessions, and in other games it can be the cumulative time of logging into the game, etc.

[0122] At this point, the conditions for distribution include the attribute values ​​of the behavioral dimension that the first client needs to satisfy.

[0123] Optionally, the above-mentioned method of confirming a candidate client as the first client for each candidate client among at least one client, provided that the client description information of the candidate client meets the distribution requirements, includes: confirming a candidate client as the first client for each candidate client among at least one client, provided that the attribute value of the third attribute of the behavior dimension in the candidate client meets the distribution requirements of the behavior dimension.

[0124] The requirements for distributing behavioral dimensions include requirements for the attribute value of the third attribute. The third attribute must be at least one of the following: number of logins, login time, number of matches played, task progress, game duration, and login country.

[0125] For example, the third attribute is task progress. The delivery requirements of the device dimension include task progress of [0%, 30%]. The task progress in the client description information of candidate client b1 is 10%, so candidate client b1 is confirmed as the first client; or, the task progress in the client description information of candidate client b2 is 50%. At this time, the task progress of candidate client b2 does not meet the delivery requirements of the behavior dimension, so candidate client b2 is not confirmed as the first client.

[0126] Optionally, the third attribute includes one attribute or multiple attributes. When the third attribute includes multiple attributes, the third attribute can also be referred to as a set of third attributes. The above-mentioned method of identifying a candidate client as the first client for each candidate client in at least one client, where the attribute value of the third attribute of the behavior dimension in the candidate client meets the requirements for the distribution of the behavior dimension, includes: identifying a candidate client as the first client for each candidate client in at least one client, where the attribute value of each attribute in the set of third attributes of the behavior dimension in the candidate client meets the requirements for the distribution of the behavior dimension.

[0127] For example, the third attribute set includes the number of games played and the task progress. The requirements for the distribution of the behavior dimension include the number of games played being [100, 500] and the task progress being [0%, 30%]. The number of games played in the client description information of client b3 is 412 and the task progress is 10%, so client b3 is confirmed as the first client. Or, the number of games played in the client description information of client b4 is 5 and the task progress is 0%. Since the number of games played does not meet the requirements for the distribution of the behavior dimension, client b5 is not confirmed as the first client.

[0128] In summary, the method provided in this application illustrates the attributes of the behavioral dimension in the client description information and how to filter the first client based on the distribution requirements of the behavioral dimension. The behavioral dimension refers to a dimension related to the user's behavior when using the client, or a dimension related to the behavior of the client being used. In some cases, user behavior can also cause vulnerabilities. Therefore, based on the distribution conditions of the behavioral dimension, clients with vulnerabilities caused by user behavior can be specifically filtered out, and thus targeted remediation can be performed. Furthermore, the behavioral dimension can also reflect user habits to a certain extent. When adding new functions to the client, considering user habits and adding different functions for users with different habits, i.e., using different client program files, can improve the client's customization capabilities and enable the definition of personalized clients for different users.

[0129] It should be noted that the above only shows a few dimensions of client description information. Depending on the actual use case and the type of client, client description information may also include other dimensions. That is, the dimensions involved in the client description information can be customized by operations and maintenance personnel, and the client attributes involved can also be customized by operations and maintenance personnel. This application attempts not to impose any limitations on this.

[0130] Furthermore, since the client description information includes multiple dimensions, and the delivery conditions include delivery requirements for all or some dimensions in the client description information, when selecting a first client from at least one client, it is necessary to determine whether a candidate client among the at least one clients is the first client based on the dimensions involved in the delivery conditions. That is, the methods for confirming the first client shown above for "1. Device Dimension," "2. Client Dimension," and "3. Behavioral Dimension" can be implemented in combination. Specifically, the delivery conditions include delivery requirements for both the device and client dimensions. For each candidate client among the at least one client, if the attribute value of the first attribute of the device dimension in the candidate client meets the delivery requirements for the device dimension, and the attribute value of the second attribute of the client dimension in the candidate client meets the delivery requirements for the client dimension, then the candidate client is confirmed as the first client. Alternatively, the delivery conditions include delivery requirements for both the device and behavioral dimensions. For each candidate client among the at least one client, if the attribute value of the first attribute of the device dimension in the candidate client meets the delivery requirements for the device dimension, and the attribute value of the third attribute of the behavioral dimension in the candidate client meets the delivery requirements for the behavioral dimension, then the candidate client is confirmed as the first client. The client; or, the delivery conditions include delivery requirements at the client level and delivery requirements at the behavior level. For each candidate client among at least one client, if the attribute value of the second attribute of the client dimension in the candidate client meets the delivery requirements at the client level, and the attribute value of the third attribute of the behavior dimension in the candidate client meets the delivery requirements at the behavior level, the candidate client is confirmed as the first client; or, the delivery conditions include delivery requirements at the device level, delivery requirements at the client level, and delivery requirements at the behavior level. For each candidate client among at least one client, if the attribute value of the first attribute of the device dimension in the candidate client meets the delivery requirements at the device level, and the attribute value of the second attribute of the client dimension in the candidate client meets the delivery requirements at the client level, and the attribute value of the third attribute of the behavior dimension in the candidate client meets the delivery requirements at the behavior level, the candidate client is confirmed as the first client. See the above for details. Figure 3 Corresponding implementation examples.

[0131] In addition to filtering at least one client according to the filtering methods shown above, the server will also use different delivery methods based on the task mode included in the task information, as shown below.

[0132] Optionally, the task information includes a task mode and task content; the task mode includes at least one of immediate mode, triggered mode, and automatic grayscale mode. Step 240 can be implemented as at least one of steps 241 to 243, such as... Figure 4 As shown.

[0133] Step 241: When the task mode is immediate, issue the first task to the first online client based on the task content.

[0134] The "immediate mode" refers to the mode in which, after obtaining the task information, a first client is selected from at least one online client, and the first task is issued to the first client.

[0135] Optionally, at least one online client refers to a client whose online status is valid. For example, after a client is started (or after a user account is logged in on the client), the client establishes a network connection with the server. The client should send a data packet to the server at the reporting time to indicate its online status. If the client does not send a data packet to the server at that reporting time, the server marks the client as offline. There is a fixed time interval between each reporting time. Therefore, the above statement "After the client is started (or after a user account is logged in on the client), the client establishes a network connection with the server, and the client should send a data packet to the server at the reporting time to indicate its online status" can be expressed as: After the client is started (or after a user account is logged in on the client), the client establishes a network connection with the server, and the client should periodically send data packets to the server to indicate its online status. When the client is closed (or the user account on the client is logged out), the client sends a data packet to the server to indicate that it is offline. Upon receiving this data packet, the server marks the client as offline. The above-mentioned online status being valid means that the server received the data packet indicating the online status from the client at the first reporting time, but before the second reporting time, that is, during the time between the first reporting time and the second reporting time, the client's online status is considered to be valid.

[0136] At this point, step 230 above can be understood as selecting the first client from at least one online client based on the client description information and task information.

[0137] Step 242: When the task mode is trigger mode, respond to the task issuance trigger operation of the first client and issue the first task to the first client based on the task content.

[0138] Here, the trigger mode refers to the mode in which a first task is issued to a first client that triggers the trigger condition and meets the task information, provided that the trigger condition is met. For example, the trigger condition is a task issuance trigger operation for the first client.

[0139] Optionally, the task dispatch triggering operation for the first client includes reporting client description information. That is, when the task mode is trigger mode, in response to receiving the client description information reported by the first client, a first task is dispatched to the first client based on the task content. Alternatively, when the task mode is trigger mode, in response to receiving client description information reported by a candidate client, and that candidate client is the first client, a first task is dispatched to the first client.

[0140] For example, the server receives client description information reported by the candidate client, and based on the client description information and task information, confirms whether the candidate client is the first client. If the candidate client is the first client, the server triggers the issuance of the first task and thus issues the first task to the first client.

[0141] Step 243: When the task mode is automatic grayscale mode, based on the task content, the first task is sent to the first number of first clients at a first time interval.

[0142] The automatic grayscale mode refers to the mode of sending the task to a portion of the first clients and gradually expanding the scope of the task. For example, the first task is sent to 5% of the first clients first, and then the first task is sent to another 5% of the first clients every 5 minutes.

[0143] Optionally, the first number of first clients represents a first proportion (also known as the first step length in automatic grayscale mode) of all first clients. All first clients refer to the first clients selected by the server from all clients stored in the database; or, all first clients refer to the first clients selected by the server from all online clients. Here, all online clients refer to clients online at the first moment, where the first moment is the time when the server selects first clients based on task information, or the first moment is the time when the first task is started, as included in the task information.

[0144] Optionally, step 243 above includes: when the task mode is automatic grayscale mode and the abnormal termination condition is not met, sending the first task to a first number of first clients at a first time interval based on the task information; when the task mode is automatic grayscale mode and the abnormal termination condition is met, stopping the sending of the first task, and / or rolling back the data for the first clients that have executed the first task; wherein, the abnormal termination condition includes the proportion of the first clients that have executed the first task and generated an abnormality reaching a preset threshold.

[0145] For example, the task mode corresponding to the first task is automatic grayscale mode, the first duration is 5 minutes, and the first quantity is determined based on the first step duration (used to indicate the proportion of tasks to be issued, such as 5%) and the number of the first clients. The first quantity is the product of the first step duration and the number of the first clients. Based on the obtained task information, the server first issues the first task to the first number of first clients. After an interval of 5 minutes, it determines whether the abnormal termination condition is met. If the abnormal termination condition is not met, that is, the proportion of first clients that have executed the first task and generated an error has not reached the preset threshold, the server continues to issue the first task to the first number of first clients. Then, it continues to determine whether the abnormal termination condition is met after an interval of 5 minutes. If the abnormal termination condition is met, that is, the proportion of first clients that have executed the first task and generated an error has reached the preset threshold, the server stops issuing the first task, or rolls back the data for the first clients that have executed the first task, or stops issuing the first task and rolls back the data for the first clients that have executed the first task.

[0146] Optionally, if the task mode is automatic gray-scale mode and the abnormal termination conditions are met, the server can also instruct the first client that has not executed the first task to cancel the first task. For example, sending a cancellation command for the first task can cancel the execution of the first task for the first client.

[0147] In summary, the method provided in this application illustrates three task distribution modes for the first task: immediate mode, trigger mode, and automatic gray-scale mode. Immediate mode involves issuing the first task to the first online client, enabling rapid issuance and execution of the first task. This allows operations personnel to quickly confirm the impact of the first task and make targeted decisions, such as whether the first task has caused other vulnerabilities, the cause of the vulnerabilities, and whether further remediation is needed. Trigger mode issues the first task only after the triggering operation is performed, meaning the first task is issued only when the triggering conditions are met. This mode is suitable for scenarios where changes to client program files require specific conditions. Automatic gray-scale mode, referencing gray-scale testing settings, allows the first task to be issued to a first number of first clients at regular intervals. This allows operations personnel to first observe the impact on a small batch of first clients and then expand the testing scope if no major anomalies occur. This is a more reliable task issuance method.

[0148] In addition, the trigger mode can also serve as a supplement to the immediate mode. Since the immediate mode only issues the first task to the first online client, when the first client is offline, setting only the immediate mode cannot guarantee that all first clients can execute the first task. Therefore, the trigger mode can also be set. The task issuance trigger operation of the trigger mode includes the reporting of client description information. That is, when the client reports its client description information, the first task is issued to it. On the one hand, the client reports its client information, and at this time the client is online, it can receive and execute the first task in a timely manner, ensuring the completion of the first task; on the other hand, based on the reported client description information, it is confirmed again whether the client is the first client, which can avoid the issuance error caused by the inability to promptly confirm changes in the client description information.

[0149] Furthermore, the automatic grayscale mode also includes confirmation based on abnormal termination conditions to determine whether to continue or stop sending data and / or roll back data. In other words, it enables the server to automatically confirm abnormal situations caused by the first task sending, realizing automatic functions in grayscale testing without requiring real-time observation by operations and maintenance personnel, thus freeing up manpower and improving the operating efficiency in the automatic grayscale mode.

[0150] Optionally, the server is also associated with a management terminal, which is used to manage the server's issuance of the first task to at least one client. Step 220 above includes: receiving task information of the first task sent by the management terminal.

[0151] Optionally, the server is associated with at least one management terminal, each management terminal corresponds to a different application, and each application corresponds to at least one client. That is, a management terminal is used to manage the server to send the first task to at least one client corresponding to that management terminal.

[0152] This approach provides an operational console for maintenance personnel, avoiding the need for them to directly use command-line code to set task information on the server, thus improving the efficiency of task setting for maintenance personnel.

[0153] Optionally, the client description information of at least one client obtained by the server is reported by the client. Step 210 above includes: receiving client description information reported by at least one client under the condition that reporting conditions are met; wherein, the reporting conditions include at least one of the following: client startup; client description information update; client triggering a reporting event.

[0154] Optionally, the system receives client description information reported by at least one client when reporting conditions are met. For example, it receives client description information reported by at least one client upon startup; or, it receives client description information reported by at least one client when client description information is updated; or, it receives client description information reported by at least one client when a reporting event is triggered, where the reporting event is set by the server or management system. For example, the reporting event could be a click operation on a reporting control, or a receiving update instruction for client description information.

[0155] Optionally, the client description information reported by the client includes all dimensions of the client's attributes, or the client description information reported by the client includes some dimensions of the client's attributes.

[0156] For example, when the reporting condition is client startup, the client description information reported by the client to the server includes all dimensions of client attributes, or the client description information reported by the client to the server only includes client attributes related to client startup, such as the number of client startups, or the client description information reported by the client to the server includes client attributes of a preset dimension, such as the preset dimension being the device dimension.

[0157] For example, when the reporting condition is that the client's client description information is updated, the client description information reported by the client to the server includes all dimensions of the client's attributes, or the client description information reported by the client to the server only includes the updated client attributes.

[0158] For example, when the reporting condition is that the client triggers the reporting event, the client description information reported by the client to the server includes all dimensions of the client's attributes, or the client description information reported by the client to the server only includes the client attributes corresponding to the reporting event.

[0159] In summary, the method provided in this application illustrates the reporting conditions for a client to report client description information. It standardizes the reporting process for client description information and improves the efficiency of the server in obtaining client description information.

[0160] Optionally, the first task is to update the configuration file of the first client, which is used to enable, disable, or adjust the functions of the first client.

[0161] The configuration file is a type of client program file for the first client. It includes at least one configuration item, each used to control the enabling, disabling, and adjustment of functions. For example, each configuration item exists as a key-value pair, and the data type of the value in the configuration item includes at least one of the following: numeric (e.g., integer, floating-point, double-precision floating-point), string, boolean, and JSON. For instance, a configuration item value of `true` indicates that the corresponding function is enabled, and a configuration item value of `false` indicates that the corresponding function is disabled; or, a configuration item value of "A" indicates that the corresponding function follows route A, and a configuration item value of "B" indicates that the corresponding function follows route B. The code corresponding to routes A and B is pre-downloaded to the client; for example, route A uses addition to calculate values, and route B uses multiplication to calculate values. Alternatively, two configuration items can be used to indicate a function. One configuration item indicates whether the function is enabled or disabled, and the other configuration item indicates the route corresponding to the function. For example, configuration item 1 indicates whether the function is enabled or disabled, and configuration item 2 indicates the route corresponding to the function. When the value of configuration item 1 is false (i.e., the function is disabled), the value of configuration item 2 is ignored; when the value of configuration item 1 is true (i.e., the function is enabled), the route corresponding to the function is determined according to the value of configuration item 2.

[0162] It should be noted that the functions enabled, disabled, or adjusted via configuration options are provided by the first client program file. The configuration file can be considered another client program file, such as the second client program file. That is, the configuration file is used to adjust the contents of the first client program file. The first client program file is obtained by the client from the server providing background services to the client (e.g.,...). Figure 1 The first client program file is either pre-downloaded from the second server in the system, or the first client program file is downloaded by the management end from the server that provides background services to the client at the instruction of the server, or the first client program file is sent to the client by the management end through the server, or the first client program file is sent to the client by the server.

[0163] In a typical implementation scenario, when developers create new features for the client, they consider the need for personalized clients and design multiple routes for the same feature, pushing the new client version to all clients. Based on the developer's configuration, after the client completes the update, it defaults to running different routes according to its client description information, such as route A for client b1 and route B for client b2. Based on user feedback, the developer adjusts the routes corresponding to different client description information accordingly. For example, when the anomaly rate for route B is high, clients running route B are adjusted to run route A, which has fewer anomalies.

[0164] In another typical scenario, developers pre-develop several new features for their client and push the new client version to all clients. However, the developers configure some of these features to be disabled, meaning clients can only experience a subset of the new updates. The developers then gradually unlock other features based on user feedback, client anomalies, or by designing different unlocking schedules for different users based on different client descriptions. For example, 80% of the new features might be unlocked for experienced players, while the basic 20% might be developed for novice players.

[0165] Optionally, the first task is to update the configuration file of the first client, which can be understood as updating the value of the configuration item in the configuration file of the first client. For example, the first task is to update the value of "configuration item 1" in the configuration file to true, that is, to enable the function corresponding to "configuration item 1" for the first client; or, the first task is to update the value of "configuration item 2" in the configuration file to "B", that is, to change the function corresponding to "configuration item 2" of the first client to follow route B.

[0166] In summary, the method provided in this application includes a configuration file used to enable, disable, or adjust client functionality. By controlling client functionality through this configuration file, the method allows for easy enabling, disabling, or adjustment of client functionality simply by modifying configuration items within the file. This enables different client functionalities to be enabled for different client descriptions, enhancing client customization, personalization, and ultimately, improving user experience.

[0167] Optionally, the method further includes: the server updating the client's configuration file based on the client's client description information when update conditions are met. The update conditions include at least one of the following: receiving client description information reported by the client; the client description information reported by the client being updated; the obtained client configuration file not matching the client's client description information; triggering a configuration file update event. For example, a configuration file update event might be caused by the management terminal sending task information to update the client's configuration file.

[0168] That is, upon receiving client description information reported by the client, a first configuration file is determined based on the client description information, and a task to update the configuration file to the first configuration file is sent to the client. Alternatively, if client description information reported by the client is different from the client description information stored in the database, a first configuration file is determined based on the client description information, and a task to update the configuration file to the first configuration file is sent to the client. Alternatively, a second configuration file and client description information are obtained from the client; if the second configuration file does not match the client description information, a first configuration file is determined based on the client description information, and a task to update the second configuration file to the first configuration file is sent to the client.

[0169] Optionally, the server determines the first configuration file based on the client description information as follows: the server confirms the value of each configuration item based on the attributes of each dimension in the client description information, and assembles the first configuration file based on the confirmed values ​​of each configuration item.

[0170] For example, the second client is a reinstalled client. A reinstalled client refers to a client whose startup count is 0 or 1, but whose device identifier reported by the client is stored in the server. That is, when the second client reports client description information to the server, the server finds client description information in its database that matches the device identifier in the client description information. The server then merges the client description information in the database with the client description information reported by the second client to obtain a merged client description information. Based on the merged client description information, the server determines the first configuration file and issues a task to the second client to update its configuration file to the first configuration file. In other words, for a reinstalled second client, when the second client reports client description information, the server triggers an update of its first configuration file. At this time, the client in its initial state will be updated to conform to the usage habits of the second client before it was reinstalled.

[0171] In summary, the method provided in this application allows the server to update the client's configuration file based on the client's description information. Even if the user reinstalls the client, it can ensure that the reinstalled client is considered a personalized client. Compared to related technologies where some personalized configurations are stored on the terminal device and deleted after uninstallation and reinstallation, this method provides a better user experience.

[0172] Furthermore, the values ​​of each configuration item in the configuration file correspond to the client description information. This means that as long as the client description information exists, the client can be restored to the client corresponding to that description. For example, when a user encounters certain problems and the issues have been remotely fixed, related technologies would clear the "fixed content" along with the client after the player reinstalls the client. However, the method provided in this application selects the client to perform the repair based on the client description information. After the user reinstalls the game, the repair instructions or configuration file will be resent to the client, ensuring that the client remains in a normal and usable state without requiring repair of the newly installed client.

[0173] Optionally, each of at least one client integrates a first SDK corresponding to the server, which assists the client in receiving and executing the first task issued by the server.

[0174] The first SDK is a server-side SDK, which is an SDK developed by the server developers to assist clients in accessing (or executing) the task execution methods shown in the embodiments of this application.

[0175] It should be noted that the client and server may be developed by the same developer or by different developers. In the case where the client and server are developed by different developers, the client integrates the first SDK provided by the server to execute the task execution method shown in the embodiments of this application.

[0176] In summary, the client in the method provided by this application embodiment is a client that integrates the first SDK, that is, it supports third-party clients to use the task execution method shown in this application embodiment when accessing the first SDK.

[0177] Optionally, each of the at least one client includes at least one plugin, and each of the at least one plugin is connected via a bus for transmitting instructions obtained from the first task; each of the at least one plugin corresponds to one task.

[0178] Optionally, the first SDK includes two types of interfaces: a bus interface and a plugin interface. The bus interface is used to transmit instructions obtained from the first task, and the plugin interface is used to generate plugins. Plugins are used to detect the instructions transmitted in the bus interface and execute the instructions corresponding to the plugin. Each plugin corresponds to one task. Plugins can be included in the first SDK or set by the management developer according to the plugin interface.

[0179] In summary, the method provided in this application embodiment illustrates a virtual bus in the client for receiving a first task and a plug-in connected to the bus for executing the task. Based on this method, the module can receive and execute the first task in a timely manner.

[0180] Figure 5 This application illustrates a flowchart of a task execution method provided in an exemplary embodiment, wherein the method is executed by a first client, which may be running on... Figure 1 The first terminal shown in the image.

[0181] The method includes:

[0182] Step 310: Report the client description information of the first client to the server. The client description information is used to describe the attributes of the first client from multiple dimensions.

[0183] The client description information describes the client's attributes from multiple dimensions, including at least one of the following: device dimension, client dimension, and behavior dimension. The device dimension refers to the dimension related to the terminal device on which the client is installed. The client dimension refers to the dimension related to the client itself. The behavior dimension refers to the dimension related to the user's behavior when using the client, or, alternatively, the behavior dimension refers to the dimension related to the behavior of the client being used.

[0184] Optionally, client description information may be reported if reporting conditions are met. These reporting conditions include at least one of the following: the first client starts; the client description information of the first client is updated; or the first client triggers a reporting event.

[0185] Optionally, client description information may be reported when reporting conditions are met, such as client description information reported at startup; or client description information reported when client description information is updated; or client description information reported when a reporting event is triggered, with the reporting event set by the server or management. For example, the reporting event could be a click operation on a reporting control, or a reporting event could be a received update instruction for client description information. For instance, a reporting control displaying client description information may be shown in the client interface.

[0186] Optionally, the client description information reported by the client includes all dimensions of the client's attributes, or the client description information reported by the client includes some dimensions of the client's attributes.

[0187] Step 320: Receive the first task issued by the server. The first task is issued by the server based on the client description information and the task information of the first task. The first task is used to instruct the execution of operations related to the client program file.

[0188] The first task is used to instruct the execution of operations related to the client program file; or, the first task is used to instruct the client to execute operations related to the client program file; or, the first task is used to instruct the client to execute operations related to the client program file seamlessly, where seamless execution means executing operations related to the client program file without the user's awareness.

[0189] Optionally, the first task is to update the configuration file of the first client, which is used to enable, disable, or adjust the functions of the first client.

[0190] The configuration file is a type of client program file for the first client. The configuration file includes at least one configuration item, each used to control the enabling, disabling, and adjustment of functions. For example, each configuration item exists in the form of a key-value pair, and the data type of the value in the configuration item includes at least one of the following: numeric (such as integer, floating-point, double-precision floating-point, etc.), string, boolean, and JSON.

[0191] Optionally, the method further includes: receiving a first configuration file sent by the server, wherein the first configuration file is an updated configuration file.

[0192] Optionally, the first client is a first SDK integrated with the server. The first SDK is used to assist the first client in receiving and executing the first task issued by the server.

[0193] The first SDK is a server-side SDK, which is an SDK developed by the server developers to assist clients in accessing (or executing) the task execution methods shown in the embodiments of this application.

[0194] It should be noted that the client and server may be developed by the same developer or by different developers. In the case where the client and server are developed by different developers, the client integrates the first SDK provided by the server to execute the task execution method shown in the embodiments of this application.

[0195] Optionally, the client includes at least one plugin, each of the at least one plugin being connected via a bus for transmitting instructions obtained from the first task; the method further includes: when an instruction corresponds to a first plugin, having the first plugin execute the instruction, or invoking the first plugin to execute the instruction.

[0196] Optionally, the first SDK includes two types of interfaces: a bus interface and a plugin interface. The bus interface is used to transmit instructions obtained from the first task, and the plugin interface is used to generate plugins. Plugins are used to detect the instructions transmitted in the bus interface and execute the instructions corresponding to the plugin. Each plugin corresponds to one task. Plugins can be included in the first SDK or set by the management developer according to the plugin interface.

[0197] In summary, the method provided in this application embodiment involves a first client performing operations related to its client program files according to a first task. The first client is a client selected by the server. This method, through targeted selection by the server and the issuance of the first task to the first client, enables changes to the client program files of only a subset of clients, rather than changing the client program files of all clients as in related technologies. It allows for targeted changes to the client program files of different clients, avoiding the need for users to consume bandwidth to update client program files for clients that do not require updates, and preventing frequent changes to the client program files of all clients due to issues with only a few clients.

[0198] Furthermore, the operations related to client program files executed by the server-side first task are seamless for the user. That is, the user does not need to click to update before the client program files are downloaded and modified from the server. Instead, the first client automatically executes the operations related to client program files upon receiving the first task, which simplifies the process of modifying client program files and improves the efficiency of executing operations related to client programs.

[0199] Figure 6 A flowchart illustrating a task execution method provided in an exemplary embodiment of this application is shown. This method is executed by a management terminal, which can run on... Figure 1 On the second terminal shown in the figure. The method includes:

[0200] Step 410: Display the task interface, which shows that there is at least one task to be executed.

[0201] Optionally, the task interface also displays completed tasks and currently running tasks.

[0202] Step 420: In response to the dispatch operation of the first task in at least one pending task, send the task information of the first task to the server.

[0203] The first task is initiated by the server after selecting the first client from at least one client based on task information and client description information of at least one client, and then sending the first task to the first client; the first task is used to instruct the execution of operations related to the client program file.

[0204] The client description information describes the client's attributes from multiple dimensions, including at least one of the following: device dimension, client dimension, and behavior dimension. The device dimension refers to the dimension related to the terminal device on which the client is installed. The client dimension refers to the dimension related to the client itself. The behavior dimension refers to the dimension related to the user's behavior when using the client, or, alternatively, the behavior dimension refers to the dimension related to the behavior of the client being used.

[0205] Optionally, the first task is used to instruct the execution of operations related to the client program file; or, the first task is used to instruct the client to execute operations related to the client program file; or, the first task is used to instruct the client to execute operations related to the client program file seamlessly, where seamless execution means executing operations related to the client program file without the user's awareness.

[0206] In summary, the method provided in this application embodiment involves the management terminal selecting from at least one task to be executed and instructing the server to issue a first task. The first task can be issued directly by operations personnel through interface operations, simplifying the first task issuance process, reducing the difficulty of issuing the first task, and improving the efficiency of issuing the first task.

[0207] First, the method for creating a new task is shown.

[0208] Optionally, in response to a new task trigger operation on the task interface, a new task interface is displayed, which is used to set task information; in response to a new task operation on the new task interface, a first task is created. Step 410 above includes: displaying the task interface and showing the newly created first task on the task interface.

[0209] For example, such as Figure 7 As shown, a task creation control 21 is displayed in the task interface 20. The trigger operation for creating a new task on the task interface is the click operation of the task creation control 21. Figure 8 As shown, in the new task interface 23, the new task operation is the trigger operation of the save control 24.

[0210] Optionally, the task information includes a distribution condition, which is used to indicate the client description information for distributing the task. The above-mentioned response to the new task operation on the new task interface to create a first task includes: on the new task interface, in response to the selection operation of a first condition, using the first condition as the distribution condition in the task information; and in response to the end of the new task operation on the new task interface, creating a first task.

[0211] For example, such as Figure 8As shown, the selection operation for the first condition is implemented through the condition selection control 25. After the user clicks the condition selection control 25, at least one condition will be displayed in the new task interface 23, and the user can select one of them as the first condition (i.e. the condition to be issued).

[0212] Optionally, the delivery conditions include delivery requirements for all or part of the dimensions in the client description information; the above-mentioned use of the first condition as a delivery condition in the task information in response to the selection operation of the first condition in the new task interface includes: in response to the selection operation of the first requirement of the first dimension in the new task interface, using the first requirement of the first dimension as a delivery requirement in the task information.

[0213] That is, after the user clicks the condition selection control 25, multiple requirements of multiple dimensions will be displayed in the new task interface 23, and the user can select the first requirement of the first dimension as the requirement to be issued.

[0214] Optionally, the dimensions of the client description information include the device dimension, and the attributes of the device dimension include at least one of device model, operating system, and device identifier; the delivery conditions include the attribute values ​​of the device dimension that the first client must meet; the above-mentioned actions in the new task interface, in response to the selection operation of the first requirement of the first dimension, taking the first requirement of the first dimension as the delivery requirement in the task information, includes: in the new task interface, in response to the setting operation of the attribute value requirement of the first attribute of the device dimension, taking the attribute value requirement of the first attribute as the delivery requirement of the device dimension. For details, please refer to "1. Device Dimension" above.

[0215] Optionally, the dimensions of the client description information include client dimensions, and the attributes of the client dimensions include at least one of the following: client version, client language, client operating platform, number of client launches, and client launch time; the delivery conditions include the attribute values ​​of the client dimension that the first client must meet; the above-mentioned actions in the new task interface, in response to the selection operation of the first requirement of the first dimension, using the first requirement of the first dimension as the delivery requirement in the task information, includes: in the new task interface, in response to the setting operation of the attribute value requirement of the second attribute of the client dimension, using the attribute value requirement of the second attribute as the delivery requirement of the client dimension. For details, please refer to "2. Client Dimension" above.

[0216] Optionally, the dimensions of the client description information include behavioral dimensions. The attributes of the behavioral dimensions include at least one of the following: login count, login time, number of matches, task progress, game version, and game duration. The delivery conditions include the attribute values ​​of the behavioral dimension that the first client must meet. In the newly created task interface, in response to the selection operation of the first requirement of the first dimension, the first requirement of the first dimension is used as the delivery requirement in the task information. This includes: in the newly created task interface, in response to the setting operation of the attribute value requirement of the third attribute of the behavioral dimension, the attribute value requirement of the third attribute is used as the delivery requirement of the behavioral dimension. For details, please refer to "3. Behavioral Dimensions" above.

[0217] In summary, the method provided in this application illustrates a method for setting distribution conditions. Client maintenance personnel can customize these conditions, enabling the repair of vulnerabilities arising from specific application scenarios, such as targeting clients with common characteristics. This further enables targeted modifications to the client program files of a subset of clients (i.e., the first client), avoiding impact on all clients. It also avoids the situation in related technologies where the same changes are applied to all clients, leading to anomalies in other clients due to modifications to the client program files of some clients. Furthermore, it avoids repeated modifications to client program files for a single vulnerability, improving operational efficiency. It also avoids requiring users to download the repair installation package multiple times, resulting in a better user experience.

[0218] Furthermore, the document demonstrates that the distribution conditions include distribution requirements for all or some dimensions of the client description information, as well as a method for selecting the first client based on these requirements. This means that when selecting clients, it is not necessary to set distribution requirements for all dimensions; only requirements based on actual needs need to be designed. For example, distribution requirements can be designed based on common characteristics (or influencing factors) of a certain dimension, allowing the selection of the first client that meets these common characteristics from at least one client, thus improving the efficiency of targeted selection of the first client.

[0219] Optionally, the task information includes the task mode and the task content; the task mode includes at least one of the following: immediate mode, triggered mode, and automatic grayscale mode. The setting method of the task mode is shown below.

[0220] Optionally, in the new task interface, in response to the selection of immediate mode, the immediate mode is set as the task mode in the task information. The immediate mode is used to instruct the server to select the first online client to issue the first task.

[0221] The "immediate mode" refers to the mode in which, after obtaining the task information, a first client is selected from at least one online client, and the first task is issued to the first client.

[0222] Optionally, in the new task interface, in response to the selection of trigger mode, the immediate mode is set as the task mode in the task information. The trigger mode is used to instruct the server to send the first task to the first client in response to the task sending trigger operation of the first client. Optionally, the task sending trigger operation is the reporting operation of client description information.

[0223] Here, "trigger mode" refers to a mode in which a first task is issued to a first client that triggers the trigger condition and meets the task information, provided that the trigger condition is met. For example, the trigger condition is a task issuance trigger operation targeting the first client. That is, when the task mode is trigger mode, in response to receiving client description information reported by the first client, a first task is issued to the first client based on the task content. Alternatively, when the task mode is trigger mode, in response to receiving client description information reported by a candidate client, and that candidate client is the first client, a first task is issued to the first client.

[0224] Optionally, in the new task interface, in response to the selection of the automatic grayscale mode, the immediate mode is set as the task mode in the task information. The automatic grayscale mode is used to instruct the server to send the first task to a first number of first clients at a first interval. Specifically, the automatic grayscale mode refers to sending the task to a subset of the first clients and gradually expanding the scope of distribution. For example, the first task is initially sent to 5% of the first clients, and then sent to another 5% of the first clients every 5 minutes.

[0225] For example, such as Figure 8 As shown, for the automatic grayscale mode, users can set the initial flow, cutoff flow, step flow, and time interval. The time interval is the first time interval, the initial flow is the first quantity when the first task is sent for the first time, the cutoff flow is used to indicate the total number of the first clients that need to send the first task, and the step flow is used to indicate the first quantity of the first task that needs to be sent at each first time interval.

[0226] Optionally, the first number of first clients represents a first proportion (also known as the first step length in automatic grayscale mode) of all first clients. All first clients refer to the first clients selected by the server from all clients stored in the database; or, all first clients refer to the first clients selected by the server from all online clients. Here, all online clients refer to clients online at the first moment, where the first moment is the time when the server selects first clients based on task information, or the first moment is the time when the first task is started, as included in the task information.

[0227] Optionally, the automatic grayscale mode is used to instruct the server to send the first task to a first number of first clients at a first time interval based on the client description information of at least one client and the task information if the abnormal termination condition is not met; if the abnormal termination condition is met, the sending of the first task is stopped, or the data of the first clients that have executed the first task is rolled back; wherein, the abnormal termination condition includes: the proportion of the first clients that have executed the first task and generated an abnormality reaches a preset threshold.

[0228] Optionally, the abnormal termination condition is set based on the abnormal termination condition setting control 26, where the keyword represents the task identifier of the first task and the threshold is a preset threshold.

[0229] For example, the task mode corresponding to the first task is automatic grayscale mode, the first duration is 5 minutes, and the first quantity is determined based on the first step duration (used to indicate the proportion of tasks to be issued, such as 5%) and the number of the first clients. The first quantity is the product of the first step duration and the number of the first clients. Based on the obtained task information, the server first issues the first task to the first number of first clients. After an interval of 5 minutes, it determines whether the abnormal termination condition is met. If the abnormal termination condition is not met, that is, the proportion of first clients that have executed the first task and generated an error has not reached the preset threshold, the server continues to issue the first task to the first number of first clients. Then, it continues to determine whether the abnormal termination condition is met after an interval of 5 minutes. If the abnormal termination condition is met, that is, the proportion of first clients that have executed the first task and generated an error has reached the preset threshold, the server stops issuing the first task, or rolls back the data for the first clients that have executed the first task, or stops issuing the first task and rolls back the data for the first clients that have executed the first task.

[0230] In summary, the method provided in this application illustrates three task distribution modes for the first task: immediate mode, trigger mode, and automatic gray-scale mode. Immediate mode involves issuing the first task to the first online client, enabling rapid issuance and execution of the first task. This allows operations personnel to quickly confirm the impact of the first task and make targeted decisions, such as whether the first task has caused other vulnerabilities, the cause of the vulnerabilities, and whether further remediation is needed. Trigger mode issues the first task only after the triggering operation is performed, meaning the first task is issued only when the triggering conditions are met. This mode is suitable for scenarios where changes to client program files require specific conditions. Automatic gray-scale mode, referencing gray-scale testing settings, allows the first task to be issued to a first number of first clients at regular intervals. This allows operations personnel to first observe the impact on a small batch of first clients and then expand the testing scope if no major anomalies occur. This is a more reliable task issuance method.

[0231] In addition, the trigger mode can also serve as a supplement to the immediate mode. Since the immediate mode only issues the first task to the first online client, when the first client is offline, setting only the immediate mode cannot guarantee that all first clients can execute the first task. Therefore, the trigger mode can also be set. The task issuance trigger operation of the trigger mode includes the reporting of client description information. That is, when the client reports its client description information, the first task is issued to it. On the one hand, the client reports its client information, and at this time the client is online, it can receive and execute the first task in a timely manner, ensuring the completion of the first task; on the other hand, based on the reported client description information, it is confirmed again whether the client is the first client, which can avoid the issuance error caused by the inability to promptly confirm changes in the client description information.

[0232] Furthermore, the automatic grayscale mode also includes confirmation based on abnormal termination conditions to determine whether to continue or stop sending data and / or roll back data. In other words, it enables the server to automatically confirm abnormal situations caused by the first task sending, realizing automatic functions in grayscale testing without requiring real-time observation by operations and maintenance personnel, thus freeing up manpower and improving the operating efficiency in the automatic grayscale mode.

[0233] Optionally, the first task is to update the configuration file of the first client, which is used to enable, disable, or adjust the functions of the first client.

[0234] For example, the configuration file management interface of the management terminal is as follows: Figure 9 As shown, the configuration name is the key in the configuration item. The data type is the data type of the value in the configuration item. The conditional configuration is the group of conditions for using this configuration item, or in other words, when the client meets the conditions in the group of conditions, the corresponding configuration item is used.Figure 9 The values ​​shown are for the configuration items. These values ​​represent different configuration item values ​​set for different condition groups. Figure 9 The configuration item shown can be understood as follows: For all clients that meet condition group 1 (traffic is 100%), the value of this configuration item is set to 100; for 20% of the other clients that meet condition group 2 but not condition group 1, the value of this configuration item is set to 50; that is, for 20% of the clients that do not meet condition group 1 but meet condition group 2, the value of this configuration item is set to 50; for the remaining clients (i.e., clients other than those whose value of this configuration item is set to 100 or 50), the value of this configuration item is set to 0.

[0235] The configuration file is a type of client program file for the first client. It includes at least one configuration item, each used to control the enabling, disabling, and adjustment of functions. For example, each configuration item exists as a key-value pair, and the data type of the value in the configuration item includes at least one of the following: numeric (e.g., integer, floating-point, double-precision floating-point), string, boolean, and JSON. For instance, a configuration item value of `true` indicates that the corresponding function is enabled, and a configuration item value of `false` indicates that the corresponding function is disabled; or, a configuration item value of "A" indicates that the corresponding function follows route A, and a configuration item value of "B" indicates that the corresponding function follows route B. The code corresponding to routes A and B is pre-downloaded to the client; for example, route A uses addition to calculate values, and route B uses multiplication to calculate values.

[0236] In summary, the method provided in this application includes a configuration file used to enable, disable, or adjust client functionality. By controlling client functionality through this configuration file, the method allows for easy enabling, disabling, or adjustment of client functionality simply by modifying configuration items within the file. This enables different client functionalities to be enabled for different client descriptions, enhancing client customization, personalization, and ultimately, improving user experience.

[0237] Optionally, each of at least one client integrates a first SDK corresponding to the server. The first SDK is used to assist the client in receiving and executing a first task issued by the server. The first SDK is a server-side SDK, meaning it is an SDK developed by the server's developers to assist the client in accessing (or executing) the task execution method shown in the embodiments of this application.

[0238] In summary, the client in the method provided by this application embodiment is a client that integrates the first SDK, that is, it supports third-party clients to use the task execution method shown in this application embodiment when accessing the first SDK.

[0239] Optionally, each of the at least one client includes at least one plugin, and each of the at least one plugin is connected via a bus for transmitting instructions obtained from the first task; each of the at least one plugin corresponds to one task.

[0240] Optionally, the first SDK includes two types of interfaces: a bus interface and a plugin interface. The bus interface is used to transmit instructions obtained from the first task, and the plugin interface is used to generate plugins. Plugins are used to detect the instructions transmitted in the bus interface and execute the instructions corresponding to the plugin. Each plugin corresponds to one task. Plugins can be included in the first SDK or set by the developer on the management side according to the interface.

[0241] In summary, the method provided in this application embodiment illustrates a virtual bus in the client for receiving a first task and a plug-in connected to the bus for executing the task. Based on this method, the plug-in can receive and execute the first task in a timely manner.

[0242] For example, the software architecture diagram of the task execution method shown in the embodiments of this application is as follows: Figure 10 As shown.

[0243] The cloud control system includes a server 30, a management terminal 40, and a client 50 integrated with the cloud control SDK. The server 30 provides cloud control services, such as receiving tasks set by the management terminal 40 and issuing different tasks to different clients 50 based on client description information. The management terminal 40 confirms the tasks set by the administrator, who sets different tasks according to the operational needs of the clients 50. The client 50 receives and executes tasks issued by the server 30 and reports client description information to the server 30.

[0244] The management terminal 40 is a backend service management system developed for administrators, such as application developers, maintenance personnel, and testers. The management terminal 40 can be in the form of a webpage or software. In some embodiments, the server terminal 30 and the management terminal 40 are collectively referred to as the server side. The management terminal 40 provides a visual interface for administrators to modify data in the server terminal 30 and to instruct the server terminal 30 to issue corresponding tasks to the client 50.

[0245] The client 50, integrated with the cloud control SDK, is designed as a bus with added plugins; or, in other words, when the client 50 uses the cloud control SDK, each module exists as a plugin. The server 30 sends tasks to the client 50 in the form of instructions, which are transmitted on the bus. Each module can capture and execute the instructions it is interested in on the bus. Alternatively, when the server 30 sends an instruction to the client 50, the client 50 transmits the instruction on the bus, and the modules connected to the bus can detect and receive the instructions transmitted on the bus and execute their corresponding instructions. The aforementioned bus is a virtual bus used to receive instructions sent by the server 30 and transmit them to each module. Different modules correspond to different tasks, meaning that different modules can execute different instructions. Modules can be viewed as plugins connected to the bus or interfaces that can receive instructions transmitted on the bus, etc.

[0246] • Client description information.

[0247] For example, the client attributes involved in the client description information include at least one of the following: device name, device ID, operating system, login country, game language, SVN version number, game version number, game stage, ranking rank, user level, game nickname, tutorial progress, operating platform, default device model, revision number, competition server, channel identifier, and package name.

[0248] The device name indicates the name of the terminal device, such as device name A. The device identifier uniquely identifies a terminal device. Typically, the device name is given by the terminal device manufacturer to indicate the device model; the device identifier can be a unique identifier generated by the manufacturer during the production of the terminal device, such as IMEI (International Mobile Equipment Identity), or an identifier generated by client 50 or its corresponding server after the user logs in to client 50. The operating system indicates the type of operating system installed on the terminal device, such as a secondary operating system or Android. The login country indicates the country that client 50 has recently logged into, or the country that client 50 logs into most frequently. The game language indicates the game language that client 50 has recently used, or the game language that client 50 uses most frequently. SVN is a version control system; the SVN version number can be understood as the version number of client 50 within the SVN version control system. The game version number is similar to the SVN version number, indicating the version number of client 50, typically used when client 50 is playing a game. The game stage indicates the progress of the game. Rank is a level division in a game program. This rank dimension indicates the user's current rank, or the user's average rank across multiple seasons, or the user's highest rank across multiple seasons. User Level indicates the user's level. Game Nickname indicates the user's nickname. Tutorial Tasks are tasks designed by the game program to guide users to familiarize themselves with the gameplay and controls. Tutorial Progress indicates the user's progress in completing the tutorial tasks. Operating Platform indicates the platform on which the user runs the game program. Default Device Tier indicates the device tier, such as low-end, mid-range, and high-end. Revision Number is similar to game version number and SVN version number; revision numbers are usually used to indicate minor versions or updates and fixes with minimal content. Tournament Server indicates the server where the user is participating in a tournament. Channel Identifier indicates the channel corresponding to this client 50. The channel refers to the download method or route of the client 50 installation package, such as the official website channel, mobile phone manufacturer's app store channel, etc. Package Name indicates the name of the installation package.

[0249] Optionally, the dimensions of the client description information can be divided into basic dimensions and custom dimensions. Basic dimensions include attributes such as device name, device identifier, and operating system—dimensions related to the terminal device running client 50, i.e., device dimensions. Custom dimensions include attributes such as login country, game language, SVN version number, game version number, game stage, ranking rank, user level, game nickname, tutorial progress, operating platform, default device model / tier, revision number, tournament server, channel identifier, and package name—dimensions and attributes added by the administrator based on the client's specific usage scenario and target audience.

[0250] • Tasks.

[0251] After a session is established between the client and the backend, clients can be filtered based on the client description information reported by the client, and customized commands can be issued. This process of issuing commands is called a task.

[0252] The server-side built-in tasks include retrieving client files (scGetFileModule_Update), deleting files (scGetFileModule_Del), retrieving client screenshots (scMonitorModule), and retrieving client real-time logs (scMonitorModule), among others.

[0253] User-defined tasks on the management side include clearing PlayerPrefs (scPrefs_Clear) and adding PlayerPrefs (scPrefs_Add). PlayerPrefs is a commonly used game save mechanism, and user-defined tasks allow for remote modification of PlayerPrefs save data. In contrast, PlayerPrefs save data in related technologies only supports local modification on the client side and is deleted after the client is uninstalled. Save data can be reset at any time in case of save data issues.

[0254] A task can encapsulate one or more operations (i.e. instructions) that need to be performed, so that the client can perform different operations on different tasks.

[0255] With tasks as a foundation, it's even possible to "interact in real time" with a specific client. For example, by continuously executing "get client file list tasks," the status of local files on the client can be queried. After locating the target file level by level, the target file can be downloaded to the user's client via "get client file tasks." After analyzing the downloaded file, it can be modified, and then the repaired file can be overwritten on the client via "overwrite client file tasks." This series of interactive tasks can be encapsulated through the backend website interface, becoming a function that "locates the user and views the user's file system in real time."

[0256] • Configuration file (may also be referred to as configuration hub, cloud switch, etc.).

[0257] It can be done Configuration file Define a custom configuration item (the value data type can be bool, int, string, double, or JSON). This configuration item can be remotely modified and updated via tasks from the management end, allowing dynamic on / off switching of client functionality without modifying the client itself. For example, there might be code logic in the client that normally follows route A. If this logic encounters a major problem after deployment, it can be remotely modified via the configuration file to switch to route B.

[0258] The configuration file also achieves the following effects: It allows for the immediate cloud-controlled shutdown of a function in case of an emergency; it enables small-scale deployment for certain regions or users before full release to avoid large-scale problems, allowing for full deployment only after successful small-scale verification; it supports automatic gray-scale deployment and automatically monitors anomalies and crashes on Crashsight, automatically stopping the gray-scale deployment or rolling back the deployed configuration file when a threshold is reached; it can handle some of the work of configuration tables in dimensions not supported by traditional configuration tables, such as adjusting the number of login entries displayed on the login interface for Chinese players in a specific country, which is not supported by traditional configuration tables and requires pre-installing various combinations of regions and languages, while this application can filter out these users at any time based on client description information; and it distributes different configuration files to different user groups.

[0259] CrashSight supports all platforms (mobile / PC / console) and provides developers with a complete closed-loop professional service, including crash and exception capture, reporting, analysis, and mitigation solutions. It helps developers quickly locate and resolve issues, reduce product crash rates, and improve user experience.

[0260] Furthermore, developers have virtually no way to obtain real-time information about player devices using this technology. The only way to reproduce the problem is to purchase the player's phone and access its contents.

[0261] The method illustrated in this application can retrieve log files from players on a specified date by issuing a triggered task to a designated user. Logs can be retrieved immediately in the background when the user is online, and immediately in the background when the user is offline, once the user opens the app again. Having client logs is equivalent to finding half the cause of the problem, providing an unprecedentedly quick way to locate issues on the live network.

[0262] Furthermore, the configuration file supports further customization of the client for users. A personalized client is beneficial for improving user conversion rates. User conversion rates involve every step of the user's journey from logging in to entering the game, and the experience at each step will influence whether the player wants to continue playing. For example, whether the login method seen by the player matches their own habits, whether the complexity of the new player's tutorial is acceptable to the player, and so on. There are no standard answers for any game, so rapid adjustments and validation on the live server become crucial.

[0263] The method illustrated in this application allows for adjustments to any aspect of the game anytime, anywhere. For example, the login method. By setting different login methods for different user groups with different client descriptions, and after multiple trials, a login solution that can reduce the login failure rate by at least 1-2% was developed.

[0264] For example, this application embodiment supports detecting the applications installed on a player's mobile phone. It can provide players with different personalized beginner experiences based on whether they have competing apps installed, using configuration files. This achieves the perfect balance between experienced and novice players, even within the same region.

[0265] For example, when a system malfunction causes an abnormal file to be generated, resulting in a large number of users being unable to access the game, the only solution in related technologies is to uninstall and reinstall the game. However, the method provided in this application can locate the problematic file. After locating the problematic file, it can accurately filter out the affected player group based on the characteristics of the users experiencing the problem, and resolve the issue quietly and precisely by issuing a task to delete the specified file.

[0266] Please refer to Figure 11 This diagram illustrates a structural block diagram of a task execution apparatus provided in an exemplary embodiment of this application. The apparatus has the functionality to implement the above-described task execution method example; this functionality can be implemented in hardware or by hardware executing corresponding software. The apparatus can be the first server described above, or it can be a server-side component within the first server. Figure 11 As shown, the device may include: a first acquisition module 510, a filtering module 520, and a distribution module 530.

[0267] The first acquisition module 510 is used to acquire client description information of at least one client, wherein the client description information is used to describe the attributes of the client from multiple dimensions;

[0268] The first acquisition module 510 is also used to acquire task information of the first task, which is used to instruct the execution of operations related to the client program file.

[0269] The filtering module 520 is used to filter out a first client from the at least one client based on the client description information and the task information;

[0270] The delivery module 530 is used to deliver the first task to the first client based on the task information.

[0271] In some embodiments, the task information includes delivery conditions, which are used to indicate client description information that matches the first task; the filtering module 520 includes a filtering submodule.

[0272] The filtering submodule is used to filter the first client from the at least one client based on the client description information and the delivery conditions.

[0273] In some embodiments, the delivery conditions include delivery requirements for all or some dimensions of the client description information; the filtering submodule further includes a filtering unit.

[0274] A filtering unit is configured to, for each candidate client among the at least one client, confirm the candidate client as the first client if the client description information of the candidate client meets the delivery requirements.

[0275] In some embodiments, the dimensions of the client description information include a device dimension, and the attributes of the device dimension include at least one of device model, operating system, and device identifier; the delivery conditions include the attribute values ​​of the device dimension that the first client must satisfy; the filtering unit is further configured to, for each candidate client among the at least one client, confirm the candidate client as the first client if the attribute value of the first attribute of the device dimension in the candidate client meets the delivery requirements of the device dimension.

[0276] In some embodiments, the dimensions of the client description information include a client dimension, and the attributes of the client dimension include at least one of client version, client language, client operating platform, number of client launches, and client launch time; the delivery conditions include the attribute values ​​of the client dimension that the first client must satisfy; the filtering unit is further configured to, for each candidate client among the at least one client, confirm the candidate client as the first client if the attribute value of the second attribute of the client dimension in the candidate client meets the delivery requirements of the client dimension.

[0277] In some embodiments, the dimensions of the client description information include a behavioral dimension, and the attributes of the behavioral dimension include at least one of login count, login time, number of games played, task progress, and game duration; the delivery conditions include the attribute values ​​of the behavioral dimension that the first client must satisfy; the filtering unit is further configured to, for each candidate client among the at least one client, confirm the candidate client as the first client if the attribute value of the third attribute of the behavioral dimension in the candidate client meets the delivery requirements of the behavioral dimension.

[0278] In some embodiments, the task information includes a task mode and task content; the task mode includes at least one of an immediate mode, a triggered mode, and an automatic grayscale mode; the distribution module 530 includes at least one of a first distribution submodule, a second distribution submodule, and a third distribution submodule.

[0279] The first delivery submodule is used to deliver the first task to the first client that is online, based on the task content, when the task mode is the immediate mode.

[0280] The second sending submodule is used to, in the case that the task mode is the trigger mode, respond to the task sending trigger operation of the first client and send the first task to the first client based on the task content;

[0281] The third delivery submodule is used to, when the task mode is the automatic grayscale mode, deliver the first task to a first number of the first clients at a first time interval based on the task content.

[0282] In some embodiments, the task issuance triggering operation includes the reporting operation of the client description information.

[0283] In some embodiments, the third delivery submodule is further configured to, based on the task information, deliver the first task to a first number of the first clients at a first time interval when the task mode is the automatic grayscale mode and the abnormal termination condition is not met; stop the delivery of the first task when the task mode is the automatic grayscale mode and the abnormal termination condition is met; and / or roll back the data for the first clients that have executed the first task; wherein the abnormal termination condition includes the proportion of the first clients that have executed the first task and generated an abnormality reaching a preset threshold.

[0284] In some embodiments, the server is also associated with a management terminal, which is used to manage the server to send the first task to the first client among the at least one client; the first acquisition module 510 is also used to receive task information of the first task sent by the management terminal.

[0285] In some embodiments, the first acquisition module 510 is further configured to receive client description information reported by the at least one client when reporting conditions are met; wherein the reporting conditions include at least one of the following: the client starts; the client description information of the client is updated; the client triggers a reporting event.

[0286] In some embodiments, the first task is to update the configuration file of the first client, which is used to enable, disable, or adjust the functions of the first client.

[0287] In some embodiments, each of the at least one client integrates a first SDK corresponding to the server, the first SDK being used to assist the client in receiving and executing the first task issued by the server.

[0288] In some embodiments, each of the at least one client includes at least one plugin, each module of the at least one plugin is connected via a bus for transmitting instructions obtained from the first task; each of the at least one plugin corresponds to one task.

[0289] Please refer to Figure 12 This diagram illustrates a structural block diagram of a task execution apparatus provided in an exemplary embodiment of this application. The apparatus has the functionality to implement the above-described task execution method example; this functionality can be implemented in hardware or by hardware executing corresponding software. The apparatus can be the first server described above, or it can be a server-side component within the first server. Figure 12 As shown, the device may include a reporting module 610 and a first receiving module 620.

[0290] The reporting module 610 is used to report the client description information of the first client to the server. The client description information is used to describe the attributes of the first client from multiple dimensions.

[0291] The first receiving module 620 is used to receive a first task issued by the server. The first task is issued by the server based on the client description information and the task information of the first task. The first task is used to instruct the execution of an operation related to the client program file.

[0292] In some embodiments, the reporting module 610 is further configured to report the client description information when reporting conditions are met; wherein the reporting conditions include at least one of the following: the first client is started; the client description information of the first client is updated; the first client triggers a reporting event.

[0293] In some embodiments, the first task is to update the configuration file of the first client, which is used to enable, disable, or adjust the functions of the first client.

[0294] In some embodiments, the first client integrates a first SDK corresponding to the server, and the first SDK is used to assist the first client in receiving and executing the first task issued by the server.

[0295] In some embodiments, the client includes at least one plugin, each of which is connected via a bus for transmitting instructions obtained from the first task; the apparatus further includes an execution module. The execution module is configured to have the first plugin execute the instruction if the instruction corresponds to a first plugin.

[0296] Please refer to Figure 13 This diagram illustrates a structural block diagram of a task execution apparatus provided in an exemplary embodiment of this application. The apparatus has the functionality to implement the above-described task execution method example; this functionality can be implemented in hardware or by hardware executing corresponding software. The apparatus can be the first server described above, or it can be a server-side component within the first server. Figure 13 As shown, the device may include a display module 710 and a first transmitting module 720.

[0297] Display module 710 is used to display a task interface, wherein the task interface displays at least one task to be executed.

[0298] The first sending module 720 is used to send task information of the first task to the server in response to the sending operation of the first task in the at least one task to be executed.

[0299] The first task is initiated by the server after selecting a first client from the at least one client based on the task information and the client description information of at least one client, and then sending the first task to the first client; the first task is used to instruct the execution of operations related to the client program file.

[0300] In some embodiments, the display module 710 includes a display submodule and a creation submodule. The display submodule is configured to display a creation task interface in response to a creation task trigger operation on the task interface, the creation task interface being used to set the task information; the creation submodule is configured to create the first task in response to a creation task operation on the creation task interface; the display submodule is further configured to display the task interface and display the newly created first task on the task interface.

[0301] In some embodiments, the task information includes a delivery condition, which is used to indicate client description information for delivering the task; the new task module is further configured to, in response to a selection operation on the new task interface, use the first condition as the delivery condition in the task information; and in response to an end new task operation on the new task interface, create the first task.

[0302] In some embodiments, the delivery conditions include delivery requirements for all or some dimensions in the client description information; the new submodule is further configured to, in the new task interface, in response to the selection operation of the first requirement of the first dimension, use the first requirement of the first dimension as the delivery requirement in the task information.

[0303] In some embodiments, the dimensions of the client description information include a device dimension, and the attributes of the device dimension include at least one of device model, operating system, and device identifier; the delivery conditions include the attribute values ​​of the device dimension that the first client needs to satisfy; the new submodule is further configured to, in the new task interface, respond to the setting operation of the attribute value requirement of the first attribute of the device dimension, use the attribute value requirement of the first attribute as the delivery requirement of the device dimension.

[0304] In some embodiments, the dimensions of the client description information include a client dimension, and the attributes of the client dimension include at least one of client version, client language, client operating platform, number of client launches, and client launch time; the delivery conditions include the attribute values ​​of the client dimension that the first client needs to satisfy; the new submodule is further configured to, in the new task interface, respond to the setting operation of the attribute value requirement of the second attribute of the client dimension, use the attribute value requirement of the second attribute as the delivery requirement of the client dimension.

[0305] In some embodiments, the dimensions of the client description information include a behavioral dimension, and the attributes of the behavioral dimension include at least one of login count, login time, number of matches, task progress, game version, and game duration; the delivery conditions include the attribute values ​​of the behavioral dimension that the first client needs to satisfy; the new submodule is further configured to, in the new task interface, respond to the setting operation of the attribute value requirement of the third attribute of the behavioral dimension, use the attribute value requirement of the third attribute as the delivery requirement of the behavioral dimension.

[0306] In some embodiments, the task information includes a task mode and task content; the task mode includes at least one of an immediate mode, a trigger mode, and an automatic grayscale mode; the new task submodule is further configured to, in the new task interface, in response to a selection operation of the immediate mode, use the immediate mode as the task mode in the task information, the immediate mode being used to instruct the server to select the first client that is online to send the first task; in the new task interface, in response to a selection operation of the trigger mode, use the immediate mode as the task mode in the task information, the trigger mode being used to instruct the server to send the first task to the first client in response to a task sending trigger operation of the first client; in the new task interface, in response to a selection operation of the automatic grayscale mode, use the immediate mode as the task mode in the task information, the automatic grayscale mode being used to instruct the server to send the first task to a first number of the first clients at a first time interval.

[0307] In some embodiments, the task issuance triggering operation is the reporting operation of the client description information.

[0308] In some embodiments, the automatic grayscale mode is used to instruct the server to send the first task to a first number of first clients at a first time interval, based on the client description information of the at least one client and the task information, if the abnormal termination condition is not met; if the abnormal termination condition is met, the sending of the first task is stopped, or the data of the first clients that have executed the first task is rolled back; wherein, the abnormal termination condition includes: the proportion of the first clients that have executed the first task and generated an abnormality reaches a preset threshold.

[0309] In some embodiments, the first task is to update the configuration file of the first client, which is used to enable, disable, or adjust the functions of the first client.

[0310] In some embodiments, each of the at least one client integrates a first SDK corresponding to the server, the first SDK being used to assist the client in receiving and executing the first task issued by the server.

[0311] In some embodiments, each of the at least one client includes at least one plugin, each module of the at least one plugin is connected via a bus for transmitting instructions obtained from the first task; each of the at least one plugin corresponds to one task.

[0312] It should be noted that the above embodiments of the apparatus are only illustrated by the division of the above functional modules. In practical applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device can be divided into different functional modules to complete all or part of the functions described above. In addition, the apparatus and method embodiments provided in the above embodiments belong to the same concept, and the specific implementation process can be found in the method embodiments, which will not be repeated here.

[0313] Figure 14 A structural block diagram of a server provided in an exemplary embodiment of this application is shown.

[0314] The server 800 includes a central processing unit (CPU) 801, a system memory 804 including random access memory (RAM) 802 and read-only memory (ROM) 803, and a system bus 805 connecting the system memory 804 and the CPU 801. The server 800 also includes a basic input / output system (I / O system) 806 to facilitate information transfer between various devices within the server, and a mass storage device 807 for storing the operating system 813, application programs 814, and other program modules 815.

[0315] The basic input / output system 806 includes a display 808 for displaying information and an input device 809 for user input, such as a mouse or keyboard. Both the display 808 and the input device 809 are connected to the central processing unit 801 via an input / output controller 810 connected to the system bus 805. The basic input / output system 806 may also include the input / output controller 810 for receiving and processing input from multiple other devices such as a keyboard, mouse, or electronic stylus. Similarly, the input / output controller 810 also provides output to a display screen, printer, or other types of output devices.

[0316] The mass storage device 807 is connected to the central processing unit 801 via a mass storage controller (not shown) connected to the system bus 805. The mass storage device 807 and its associated computer-readable storage media provide non-volatile storage for the server 800. That is, the mass storage device 807 may include computer-readable storage media (not shown), such as a hard disk or a compact disc read-only memory (CD-ROM) drive.

[0317] Without loss of generality, the computer-readable storage medium may include computer storage media and communication media. Computer storage media include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information such as computer-readable storage instructions, data structures, program modules, or other data. Computer storage media include RAM, ROM, erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other solid-state storage technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape cassettes, magnetic tape, disk storage, or other magnetic storage devices. Of course, those skilled in the art will recognize that the computer storage medium is not limited to the above-mentioned types. The system memory 804 and mass storage device 807 described above can be collectively referred to as memory.

[0318] The memory stores one or more programs, which are configured to be executed by one or more central processing units 801. The one or more programs contain instructions for implementing the above method embodiments, and the central processing unit 801 executes the one or more programs to implement the methods provided by the above method embodiments.

[0319] According to various embodiments of this application, the server 800 can also be connected to a remote computer device on a network, such as the Internet. That is, the server 800 can be connected to a network 812 via a network interface unit 811 connected to the system bus 805, or the network interface unit 811 can be used to connect to other types of networks or remote computer device systems (not shown).

[0320] The memory further includes one or more programs stored in the memory, and the one or more programs include steps executed by the server in the method provided in the embodiments of this application.

[0321] Figure 15 A structural block diagram of a terminal provided in an exemplary embodiment of this application is shown.

[0322] The terminal 900 can be a portable mobile terminal, also referred to as a mobile terminal in this embodiment. Examples include smartphones, tablets, MP3 players (Moving Picture Experts Group Audio Layer III), and MP4 players (Moving Picture Experts Group Audio Layer IV). The terminal 900 may also be referred to as user equipment, portable terminal, or other names.

[0323] Typically, terminal 900 includes a processor 901 and a memory 902.

[0324] Processor 901 may include one or more processing cores, such as a quad-core processor, an octa-core processor, etc. Processor 901 may be implemented using at least one hardware form selected from DSP (Digital Signal Processing), FPGA (Field Programmable Gate Array), and PLA (Programmable Logic Array). Processor 901 may also include a main processor and a coprocessor. The main processor, also known as a CPU (Central Processing Unit), is used to process data in the wake-up state; the coprocessor is a low-power processor used to process data in the standby state. In some embodiments, processor 901 may integrate a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content to be displayed on the screen. In some embodiments, processor 901 may also include an AI (Artificial Intelligence) processor, which is used to handle computational operations related to machine learning.

[0325] The memory 902 may include one or more computer-readable storage media, which may be tangible and non-transitory. The memory 902 may also include high-speed random access memory and non-volatile memory, such as one or more disk storage devices or flash memory devices. In some embodiments, the non-transitory computer-readable storage media in the memory 902 are used to store at least one instruction, which is executed by the processor 901 to implement the task execution method provided in the embodiments of this application.

[0326] In some embodiments, the terminal 900 may also optionally include: a peripheral device interface 903 and at least one peripheral device. Specifically, the peripheral device includes at least one of: a radio frequency circuit 904, a touch display screen 905, a camera 906, an audio circuit 907, and a power supply 908.

[0327] Peripheral device interface 903 can be used to connect at least one I / O (Input / Output) related peripheral device to processor 901 and memory 902. In some embodiments, processor 901, memory 902 and peripheral device interface 903 are integrated on the same chip or circuit board; in some other embodiments, any one or two of processor 901, memory 902 and peripheral device interface 903 can be implemented on separate chips or circuit boards, which is not limited in this embodiment.

[0328] The radio frequency (RF) circuit 904 is used to receive and transmit RF (Radio Frequency) signals, also known as electromagnetic signals. The RF circuit 904 communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 904 converts electrical signals into electromagnetic signals for transmission, or converts received electromagnetic signals back into electrical signals. Optionally, the RF circuit 904 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a user identity module card, etc. The RF circuit 904 can communicate with other terminals through at least one wireless communication protocol. This wireless communication protocol includes, but is not limited to: the World Wide Web, metropolitan area networks, intranets, various generations of mobile communication networks (2G, 3G, 4G, and 5G), wireless local area networks, and / or WiFi (Wireless Fidelity) networks. In some embodiments, the RF circuit 904 may also include circuitry related to NFC (Near Field Communication), which is not limited in this application.

[0329] The touch display screen 905 is used to display a UI (User Interface). This UI may include graphics, text, icons, videos, and any combination thereof. The touch display screen 905 also has the ability to collect touch signals on or above its surface. These touch signals can be input as control signals to the processor 901 for processing. The touch display screen 905 is used to provide virtual buttons and / or a virtual keyboard, also known as soft buttons and / or a soft keyboard. In some embodiments, there may be one touch display screen 905, located on the front panel of the terminal 900; in other embodiments, there may be at least two touch display screens, respectively located on different surfaces of the terminal 900 or in a folded design; in some embodiments, the touch display screen 905 may be a flexible display screen, located on a curved or folded surface of the terminal 900. Furthermore, the touch display screen 905 may be configured as a non-rectangular, irregular shape, i.e., a non-rectangular screen. The touch display screen 905 may be made of materials such as LCD (Liquid Crystal Display) or OLED (Organic Light-Emitting Diode).

[0330] The camera assembly 906 is used to capture images or videos. Optionally, the camera assembly 906 includes a front-facing camera and a rear-facing camera. Typically, the front-facing camera is used for video calls or selfies, and the rear-facing camera is used for taking photos or videos. In some embodiments, there are at least two rear-facing cameras, which are any one of a main camera, a depth-sensing camera, and a wide-angle camera, to achieve background blurring by fusion of the main camera and the depth-sensing camera, and panoramic shooting and VR (Virtual Reality) shooting by fusion of the main camera and the wide-angle camera. In some embodiments, the camera assembly 906 may also include a flash. The flash can be a single-color temperature flash or a dual-color temperature flash. A dual-color temperature flash is a combination of a warm-light flash and a cool-light flash, which can be used for light compensation at different color temperatures.

[0331] Audio circuit 907 provides an audio interface between the user and terminal 900. Audio circuit 907 may include a microphone and a speaker. The microphone is used to collect sound waves from the user and the environment, converting the sound waves into electrical signals that are input to processor 901 for processing, or input to radio frequency circuit 904 for voice communication. For stereo sound acquisition or noise reduction purposes, multiple microphones may be used, each located at a different part of terminal 900. The microphone may also be an array microphone or an omnidirectional microphone. The speaker is used to convert electrical signals from processor 901 or radio frequency circuit 904 into sound waves. The speaker may be a conventional diaphragm speaker or a piezoelectric ceramic speaker. When the speaker is a piezoelectric ceramic speaker, it can convert electrical signals not only into audible sound waves but also into inaudible sound waves for purposes such as distance measurement. In some embodiments, audio circuit 907 may also include a headphone jack.

[0332] Power supply 908 is used to power the various components in terminal 900. Power supply 908 can be AC ​​power, DC power, a disposable battery, or a rechargeable battery. When power supply 908 includes a rechargeable battery, the rechargeable battery can be a wired rechargeable battery or a wireless rechargeable battery. A wired rechargeable battery is a battery that is charged via a wired line, while a wireless rechargeable battery is a battery that is charged via a wireless coil. The rechargeable battery can also be used to support fast charging technology.

[0333] In some embodiments, the terminal 900 further includes one or more sensors 909. The one or more sensors 909 include, but are not limited to, an accelerometer 910, a gyroscope 911, a pressure sensor 912, an optical sensor 913, and a proximity sensor 914.

[0334] Accelerometer 910 can detect the magnitude of acceleration on the three coordinate axes of a coordinate system established by terminal 900. For example, accelerometer 910 can be used to detect the components of gravitational acceleration on the three coordinate axes. Processor 901 can control touch screen 905 to display the user interface in landscape or portrait view based on the gravitational acceleration signal acquired by accelerometer 910. Accelerometer 910 can also be used for games or for acquiring user motion data.

[0335] The gyroscope sensor 911 can detect the orientation and rotation angle of the terminal 900. The gyroscope sensor 911, in conjunction with the accelerometer sensor 910, can collect the user's 3D movements on the terminal 900. Based on the data collected by the gyroscope sensor 911, the processor 901 can perform the following functions: motion sensing (e.g., changing the UI based on the user's tilt), image stabilization during shooting, game control, and inertial navigation.

[0336] The pressure sensor 912 can be disposed on the side bezel of the terminal 900 and / or on the lower layer of the touch display screen 905. When the pressure sensor 912 is disposed on the side bezel of the terminal 900, it can detect the user's grip signal on the terminal 900 and perform left / right hand recognition or quick operation based on the grip signal. When the pressure sensor 912 is disposed on the lower layer of the touch display screen 905, it can control the operable controls on the UI interface based on the user's pressure operation on the touch display screen 905. The operable controls include at least one of button controls, scroll bar controls, icon controls, and menu controls.

[0337] An optical sensor 913 is used to collect ambient light intensity. In one embodiment, the processor 901 can control the display brightness of the touch screen 905 based on the ambient light intensity collected by the optical sensor 913. Specifically, when the ambient light intensity is high, the display brightness of the touch screen 905 is increased; when the ambient light intensity is low, the display brightness of the touch screen 905 is decreased. In another embodiment, the processor 901 can also dynamically adjust the shooting parameters of the camera assembly 906 based on the ambient light intensity collected by the optical sensor 913.

[0338] The proximity sensor 914, also known as a distance sensor, is typically located on the front of the terminal 900. The proximity sensor 914 is used to detect the distance between the user and the front of the terminal 900. In one embodiment, when the proximity sensor 914 detects that the distance between the user and the front of the terminal 900 is gradually decreasing, the processor 901 controls the touchscreen display 905 to switch from a screen-on state to a screen-off state; when the proximity sensor 914 detects that the distance between the user and the front of the terminal 900 is gradually increasing, the processor 901 controls the touchscreen display 905 to switch from a screen-off state to a screen-on state.

[0339] Those skilled in the art will understand that Figure 15 The structure shown does not constitute a limitation on terminal 900 and may include more or fewer components than shown, or combine certain components, or use different component arrangements.

[0340] In an exemplary embodiment, this application provides a chip that includes programmable logic circuits and / or program instructions. When the chip is run on a computer device, it is used to implement the task execution method provided in the above-described method embodiments.

[0341] In an exemplary embodiment, a non-transitory computer-readable storage medium is also provided, on which a computer program is stored, which, when executed by a processor, implements the above-described task execution method.

[0342] In an exemplary embodiment, a computer program product is also provided, which, when executed by a processor, is used to implement the above-described task execution method.

[0343] It should be understood that "multiple" as used herein refers to two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A alone, A and B simultaneously, or B alone. The character " / " generally indicates that the preceding and following related objects are in an "or" relationship. Furthermore, the step numbers described herein are merely illustrative of one possible execution order. In some other embodiments, the steps may not be executed in numerical order, such as two steps with different numbers being executed simultaneously, or two steps with different numbers being executed in the reverse order of the illustration. This application does not limit this.

[0344] The above description is merely an optional embodiment of this application and is not intended to limit this application. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the protection scope of this application.

Claims

1. A task execution method, characterized in that, The method is executed by the server, and the method includes: Obtain client description information for at least one client, the client description information being used to describe the attributes of the client from multiple dimensions; Obtain task information for the first task, which is used to instruct the execution of operations related to the client program file; Based on the client description information and the task information, a first client is selected from the at least one client; Based on the task information, the first task is sent to the first client.

2. The method according to claim 1, characterized in that, The task information includes delivery conditions, which are used to indicate client description information that matches the first task; The step of selecting a first client from at least one client based on the client description information and task information includes: Based on the client description information and the delivery conditions, the first client is selected from the at least one client.

3. The method according to claim 2, characterized in that, The delivery conditions include delivery requirements for all or some dimensions in the client description information; The step of selecting the first client from the at least one client based on the client description information and the delivery conditions includes: For each candidate client among the at least one client, if the client description information of the candidate client meets the delivery requirements, the candidate client is confirmed as the first client.

4. The method according to claim 3, characterized in that, The dimensions of the client description information include the device dimension, and the attributes of the device dimension include at least one of the following: device model, operating system, and device identifier; the delivery conditions include the attribute values ​​of the device dimension that the first client must satisfy. The step of confirming a candidate client as the first client for each of the at least one candidate client, provided that the client description information of the candidate client meets the delivery requirements, includes: For each candidate client among the at least one client, if the attribute value of the first attribute of the device dimension in the candidate client meets the delivery requirements of the device dimension, the candidate client is confirmed as the first client.

5. The method according to claim 3, characterized in that, The dimensions of the client description information include client dimensions, and the attributes of the client dimensions include at least one of the following: client version, client language, client operating platform, number of client launches, and client launch time; the delivery conditions include the attribute values ​​of the client dimensions that the first client must satisfy. The step of confirming a candidate client as the first client for each of the at least one candidate client, provided that the client description information of the candidate client meets the delivery requirements, includes: For each candidate client among the at least one client, if the attribute value of the second attribute of the client dimension in the candidate client meets the distribution requirements of the client dimension, the candidate client is confirmed as the first client.

6. The method according to claim 3, characterized in that, The dimensions of the client description information include behavioral dimensions, and the attributes of the behavioral dimensions include at least one of login count, login time, number of matches, task progress, and game duration; the delivery conditions include the attribute values ​​of the behavioral dimensions that the first client must satisfy. The step of confirming a candidate client as the first client for each of the at least one candidate client, provided that the client description information of the candidate client meets the delivery requirements, includes: For each candidate client among the at least one client, if the attribute value of the third attribute of the behavior dimension in the candidate client meets the delivery requirements of the behavior dimension, the candidate client is confirmed as the first client.

7. The method according to any one of claims 1 to 6, characterized in that, The task information includes a task mode and task content; the task mode includes at least one of immediate mode, triggered mode, and automatic grayscale mode. Sending the first task to the first client based on the task information includes at least one of the following: When the task mode is the immediate mode, the first task is sent to the first client that is online, based on the task content; When the task mode is the trigger mode, in response to the task issuance trigger operation of the first client, the first task is issued to the first client based on the task content; When the task mode is the automatic grayscale mode, the first task is sent to a first number of the first clients at a first time interval based on the task content.

8. The method according to claim 7, characterized in that, When the task mode is the automatic grayscale mode, based on the task content, the first task is sent to a first number of clients among the first clients at a first time interval, including: When the task mode is the automatic grayscale mode and the abnormal termination condition is not met, the first task is sent to the first number of the first clients at a first time interval based on the task information. If the task mode is the automatic grayscale mode and the abnormal termination condition is met, stop the issuance of the first task, and / or roll back the data for the first client that has executed the first task. The abnormal termination condition includes the proportion of first clients that generate an abnormality among the first clients that have executed the first task reaching a preset threshold.

9. The method according to any one of claims 1 to 6, characterized in that, The server is also associated with a management terminal, which is used to manage the server to send the first task to the first client among the at least one client. The process of obtaining the task information for the first task includes: Receive the task information of the first task sent by the management terminal.

10. The method according to any one of claims 1 to 6, characterized in that, The step of obtaining client description information for at least one client includes: Receive client description information reported by at least one client when the reporting conditions are met; The reporting conditions include at least one of the following: the client starts; the client's client description information is updated; the client triggers a reporting event.

11. The method according to any one of claims 1 to 6, characterized in that, The first task is to update the configuration file of the first client, which is used to enable, disable, or adjust the functions of the first client.

12. The method according to any one of claims 1 to 6, characterized in that, Each of the at least one client includes at least one plugin, and each of the at least one plugin is connected via a bus for transmitting instructions obtained from the first task; Each of the at least one plugin corresponds to one task.

13. A task execution method, characterized in that, The method is executed by a first client, and the method includes: The client description information of the first client is reported to the server. The client description information is used to describe the attributes of the first client from multiple dimensions. The server receives a first task, which is issued by the server based on the client description information and the task information of the first task. The first task is used to instruct the execution of an operation related to the client program file.

14. A task execution method, characterized in that, The method is executed by the management terminal, and the method includes: The task interface displays at least one task to be executed. In response to the operation of issuing the first task in the at least one task to be executed, the task information of the first task is sent to the server; The first task is initiated by the server after selecting a first client from the at least one client based on the task information and the client description information of at least one client, and then sending the first task to the first client; the first task is used to instruct the execution of operations related to the client program file.

15. A task execution device, characterized in that, The device includes: The first acquisition module is used to acquire client description information of at least one client, wherein the client description information is used to describe the attributes of the client from multiple dimensions; The first acquisition module is also used to acquire task information of the first task, which is used to instruct the execution of operations related to the client program file; A filtering module is used to filter out a first client from the at least one client based on the client description information and the task information; The task delivery module is used to deliver the first task to the first client based on the task information.

16. A task execution device, characterized in that, The device includes: The reporting module is used to report the client description information of the first client to the server. The client description information is used to describe the attributes of the first client from multiple dimensions. The first receiving module is used to receive a first task issued by the server. The first task is issued by the server based on the client description information and the task information of the first task. The first task is used to instruct the execution of an operation related to the client program file.

17. A task execution device, characterized in that, The device includes: The display module is used to display a task interface, which shows at least one task to be executed. The first sending module is used to send the task information of the first task to the server in response to the sending operation of the first task in the at least one task to be executed. The first task is initiated by the server after selecting a first client from the at least one client based on the task information and the client description information of at least one client, and then sending the first task to the first client; the first task is used to instruct the execution of operations related to the client program file.

18. A computer device, characterized in that, The computer device includes: a processor and a memory, wherein the memory stores at least one program; the processor is configured to execute the at least one program in the memory to implement the task execution method as described in any one of claims 1 to 14.

19. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores executable instructions, which are loaded and executed by a processor to implement the task execution method as described in any one of claims 1 to 14.

20. A computer program product, characterized in that, The computer program product includes computer instructions stored in a computer-readable storage medium, and a processor reads from and executes the computer instructions to implement the task execution method as described in any one of claims 1 to 14.