Information processing method and device, electronic equipment, storage medium and program product

CN122952019APending Publication Date: 2026-10-20BEIJING ZITIAO NETWORK TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202510462143.2
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-04-14
Publication Date
2026-10-20

AI Technical Summary

Technical Problem

但是,在上述方法中,客户端可能无法支持使用部分模板,导致模板发送的准确度较差

Benefits of technology

[0017]第五方面,本公开提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能涉及的信息处理方法。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure HDA0005359216220000011
    Figure HDA0005359216220000011
  • Figure HDA0005359216220000012
    Figure HDA0005359216220000012
  • Figure HDA0005359216220000021
    Figure HDA0005359216220000021
Patent Text Reader

Abstract

This disclosure provides an information processing method, apparatus, electronic device, storage medium, and program product, relating to the field of software development technology. The method includes: acquiring version information of a client and multiple first pieces of information of multiple templates, wherein the first pieces of information are used to indicate the functions required when the templates are used; determining second pieces of information of the client based on the version information, wherein the second pieces of information are used to indicate the functions supported by the client; and determining the templates supported by the client based on the multiple first pieces of information and the second pieces of information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of software development technology, and in particular to an information processing method, apparatus, electronic device, storage medium, and program product. Background Technology

[0002] The server can send multimedia editing templates to the client, allowing users to quickly edit videos or images using these templates.

[0003] Currently, the traditional method for sending templates in multimedia editing is to send the entire template. For example, when a client requests a template, the server can send the entire template to the client. However, with this method, the client may not be able to use only some of the templates, resulting in poor accuracy in template delivery. Summary of the Invention

[0004] This disclosure provides an information processing method, apparatus, electronic device, storage medium, and program product to solve technical problems in the prior art.

[0005] In a first aspect, embodiments of this disclosure provide an information processing method, which includes:

[0006] Obtain client version information and multiple first pieces of information for multiple templates, wherein the first pieces of information are used to indicate the functions required when the templates are used;

[0007] Based on the version information, a second piece of information about the client is determined, which indicates the functions supported by the client.

[0008] Based on the multiple first pieces of information and the second pieces of information, the templates supported by the client are determined.

[0009] In a second aspect, embodiments of this disclosure provide an information processing apparatus, which includes an acquisition module, a first determination module, and a second determination module, wherein:

[0010] The acquisition module is used to acquire client version information and multiple first pieces of information for multiple templates, wherein the first pieces of information are used to indicate the functions required when the template is used;

[0011] The first determining module is used to determine second information of the client based on the version information, wherein the second information is used to indicate the functions supported by the client;

[0012] The second determining module is used to determine the templates supported by the client based on the plurality of first information and the second information.

[0013] Thirdly, this disclosure provides a terminal device, including: a processor and a memory;

[0014] The memory stores computer-executed instructions;

[0015] The processor executes computer execution instructions stored in the memory, causing the at least one processor to perform the first aspect above and various information processing methods that may be involved in the first aspect.

[0016] Fourthly, this disclosure provides a computer-readable storage medium storing computer-executable instructions, which, when executed by a processor, implement the first aspect above and various information processing methods that may be involved in the first aspect.

[0017] Fifthly, this disclosure provides a computer program product, including a computer program that, when executed by a processor, implements the first aspect above and various information processing methods that may be involved in the first aspect.

[0018] This disclosure provides an information processing method, apparatus, electronic device, storage medium, and program product. The electronic device can acquire version information of a client and multiple first pieces of information for multiple first templates. The first pieces of information can be used to indicate the functions required when using the template. Based on the version information, the electronic device can determine second pieces of information for the client. The second pieces of information can be used to indicate the functions supported by the client. Based on the multiple pieces of first and second information, the electronic device can determine the templates supported by the client. In this method, since the electronic device can determine the templates supported by the client before sending a template to the client, the electronic device will not send templates that the client cannot use. Furthermore, since the electronic device can determine the templates supported by the client based on the functions required when using the template and the functions supported by the client, the accuracy of the templates can be improved, thereby improving the accuracy of the templates sent by the electronic device to the client. Attached Figure Description

[0019] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this disclosure. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0020] Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of the present disclosure;

[0021] Figure 2A flowchart illustrating an information processing method provided in an embodiment of this disclosure;

[0022] Figure 3 This is a schematic diagram illustrating an embodiment of obtaining version information.

[0023] Figure 4 A schematic diagram illustrating a method for determining client-supported templates provided in this embodiment of the disclosure;

[0024] Figure 5 A schematic diagram illustrating a method for determining client-supported templates provided in this embodiment of the disclosure;

[0025] Figure 6 This is a schematic diagram of the structure of an information processing device provided in an embodiment of the present disclosure;

[0026] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Detailed Implementation

[0027] 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 numerals 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 disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0028] It is understood that before using the technical solutions disclosed in the various embodiments of this disclosure, users should be informed of the types, scope of use, and usage scenarios of the personal information involved in this disclosure in an appropriate manner in accordance with relevant laws and regulations, and user authorization should be obtained.

[0029] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose whether to provide personal information to the software or hardware, such as the electronic device, application, server, or storage medium performing the operations of this disclosed technical solution, based on the prompt message.

[0030] As an optional but non-limiting implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0031] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0032] Below, in conjunction with Figure 1 The application scenarios of the embodiments of this disclosure will be described.

[0033] Figure 1 This is a schematic diagram illustrating an application scenario provided by an embodiment of this disclosure. Please refer to [link / reference]. Figure 1 This includes a terminal device and a server. The terminal device can send a request to the server to retrieve a template. This request can be used to obtain templates that the server can provide. For example, the terminal device may include a client that can apply the template. When the client is launched on the terminal device, it can send a request to the server to retrieve the template. After receiving the request, the server can send multiple templates to the client. In this way, users can use multiple templates to edit videos or images within the client, improving the user experience.

[0034] It should be noted that, Figure 1 This is merely an example of an application scenario for the embodiments of this disclosure, and is not intended to limit the application scenarios of the embodiments of this disclosure.

[0035] In related technologies, servers can send multimedia editing templates to clients, allowing users to perform multimedia editing using these templates. For example, a server can send a video editing template to a client, enabling users to edit selected videos based on the template. Currently, servers can send multimedia editing templates to clients in a full-load manner. For instance, a server might contain 1000 templates, and when a client requests a template, the server can send all 1000 templates to that client. However, in this method, the client may not support the use of some templates. For example, if a template requires Artificial Intelligence (AI) functionality, and the client version is too low to support AI, the client may not be able to load the template when the server sends it. This results in poor accuracy in template delivery from the server, leading to a poor user experience.

[0036] To address the technical problems in related technologies, this disclosure provides an information processing method. An electronic device can acquire client version information and multiple first pieces of information for multiple templates, and determine second information for the client based on the version information. The first information may include a first array, and the second information may include a second array. The electronic device can determine the length of the first array and the length of the second array. Based on the length of the first array, the elements in the first array, the length of the second array, and the elements in the second array, it determines whether the client supports the template. In this method, since the elements in the first array can be used to indicate whether the template is associated with a first function, and the elements in the second array can be used by the user to indicate whether the client supports the first function, the electronic device can accurately determine the templates supported by the client. The electronic device will not send templates that the client cannot use, thus improving the accuracy of template determination and template delivery, thereby enhancing the user experience.

[0037] The technical solutions of this disclosure and how they solve the aforementioned technical problems will be described in detail below with specific embodiments. These specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of this disclosure will now be described with reference to the accompanying drawings.

[0038] Figure 2 This is a flowchart illustrating an information processing method provided in an embodiment of this disclosure. Please refer to [link / reference]. Figure 2 The method may include:

[0039] S201. Obtain the client's version information and multiple first information of multiple templates.

[0040] The execution subject of this disclosure can be an electronic device or an information processing device installed in an electronic device. The information processing device can be implemented based on software, or it can be implemented based on a combination of software and hardware; this disclosure does not limit this approach.

[0041] Optionally, the electronic device can be any device with on-device computing capabilities. For example, the electronic device can be a server, computer, or other such devices, and this disclosure does not limit this.

[0042] In some embodiments, the client can be an application for multimedia editing. For example, the application may include video editing functions, image editing functions, etc., allowing users to edit videos, images, etc.

[0043] In some embodiments, version information may include the client's version number. For example, a terminal device may install a client, and the client's version number can be used to distinguish different release versions of the client. When the terminal device updates the client, the client's version number will change. For example, the client's version information may also include the client's release date, revision number, etc.

[0044] In some embodiments, different versions of the client may support different features. For example, older versions of the client support features 1 and 2, while newer versions may support features 1, 2, and 3.

[0045] In some embodiments, after a user creates and publishes a template on a terminal device, the terminal device can send the template to an electronic device. Thus, after multiple users publish multiple templates, the electronic device can include multiple templates.

[0046] The first piece of information can be used to indicate the functions required when using the template.

[0047] For example, the functions required when using the template can be the functions used when the template was created. For instance, if the template uses functions 1 and 3 during its creation, the electronic device can determine that the functions required when using the template include functions 1 and 2. For instance, if the template uses digital human and AI functions during its creation, the electronic device can determine that the functions required when using the template include digital human and AI functions.

[0048] In some embodiments, the electronic device can determine the functions required when using the template based on the first information. For example, the first information may include multiple parameters associated with multiple functions required when using the template. In this way, after obtaining the first information, the electronic device can determine the multiple functions required when using the template based on the multiple functions corresponding to the multiple parameters in the first information.

[0049] Optionally, the electronic device can receive version information sent by the client. For example, when the client starts up, it can send a request to the electronic device to retrieve a template, which may include the client's version information.

[0050] For example, a client can register an identifier in an electronic device, and the electronic device can store the version information corresponding to the identifier. When the client starts, the client can send a request to the electronic device to obtain a template. This request can include the client's identifier. The electronic device can determine the client's version information based on the identifier in the request and the identifier stored in the electronic device.

[0051] Optionally, the electronic device may determine the client version information based on any feasible implementation method, and this disclosure does not limit this.

[0052] Below, in conjunction with Figure 3 This section explains the process by which electronic devices obtain client version information.

[0053] Figure 3 This is a schematic diagram illustrating an embodiment of obtaining version information provided in this disclosure. Please refer to [link / reference]. Figure 3 This includes a client and a server. The client can send a request to the server to retrieve a template, and this request may include the client's version number and client identifier. The server can determine the client's version information based on the client's version number, or it can determine the client's version information based on the client's identifier (the server includes a mapping between the client's identifier and version information).

[0054] In some embodiments, after acquiring multiple templates, the electronic device can determine and store the first information of each template. For example, after acquiring a template, the electronic device can analyze the template to determine the functions required when using it, and the electronic device can generate the first information based on the functions required when using the template.

[0055] For example, if the template requires function 1 and function 2, the electronic device can generate two parameters, one of which represents function 1 and the other represents function 2. The electronic device can then determine these two parameters as the first information.

[0056] S202. Based on version information, determine the client's second information.

[0057] The second piece of information can be used to indicate the features supported by the client.

[0058] For example, the functions supported by the client can be those that the client can provide when the template is used. For instance, if the client can provide function 1 and function 2 when the template is used, the electronic device can determine that the client supports functions 1 and 2. For example, if the client can provide AI functions when the template is used, the electronic device can determine that the client supports AI functions.

[0059] In some embodiments, the electronic device can determine the client's second information based on the following feasible implementation: obtaining third information, and determining the client's second information based on the client's version information and the third information. In this way, the electronic device can accurately determine the functions supported by the client, and thus accurately determine the templates supported by the client, improving the accuracy of template sending.

[0060] The third information may include at least one version information and a second information for each version information. For example, the third information may include version information 1, version information 2, version information 3, and the second information of version information 1, version information 2, and version information 3. For example, the third information may include version number 1, version number 2, version number 3, and the functions supported by version number 1, version number 2, and version number 3.

[0061] For example, the third information may include version information 1, version information 2, version information 3, and second information A of version information 1, second information B of version information 2, and second information C of version information 3. If the client's version information is version information 1, the electronic device can determine that the client's second information is second information A; if the client's version information is version information 2, the electronic device can determine that the client's second information is second information B; and if the client's version information is version information 3, the electronic device can determine that the client's second information is second information C.

[0062] For example, the third information may include version information 1, version information 2, version information 3, and second information A of version information 1, second information B of version information 2, and second information C of version information 3. Second information A indicates that the client supports function a, second information B indicates that the client supports functions a and b, and second information C indicates that the client supports functions a, b, and c. If the client's version information is version information 1, the electronic device can determine that the client's second information is second information A and that the client supports function a. If the client's version information is version information 2, the electronic device can determine that the client's second information is second information B and that the client supports functions a and b. If the client's version information is version information 3, the electronic device can determine that the client's second information is second information C and that the client supports functions a, b, and c.

[0063] In some embodiments, each time the client is updated, the electronic device can store the client's version information and the functions supported by the client. Therefore, the electronic device can predetermine the second information associated with each version of the client, and then obtain the third information.

[0064] It should be noted that electronic devices can also acquire third information (e.g., receive third information sent by other devices) based on any feasible implementation method, and the embodiments disclosed herein do not limit this.

[0065] S203. Based on multiple pieces of first and second information, determine the templates supported by the client.

[0066] In some embodiments, for any first piece of information, the electronic device can determine, based on the first piece of information, the functions required by the template when the template associated with the first piece of information is used, and based on the second piece of information, determine the functions supported by the client. If the functions supported by the client include the functions required when the template is used, the electronic device can determine that the client supports the template. If the functions supported by the client do not include the functions required when the template is used, the electronic device can determine that the client does not support the template.

[0067] For example, the electronic device can determine that the template requires functions 1, 2, and 3 for use. If the client supports functions 1 and 2 but not function 3, the electronic device can determine that the client does not support the template, and the electronic device will not send the template to the client. If the client supports functions 1, 2, and 3, the electronic device can determine that the client supports the template, and the electronic device can send the template to the client. If the client supports functions 1, 2, 3, and 4, the electronic device can also determine that the client supports the template, and the electronic device can send the template to the client.

[0068] This disclosure provides an information processing method. An electronic device can obtain version information of a client and multiple first pieces of information for multiple first templates. Based on the version information, the electronic device can determine second information indicating the functions supported by the client. Based on the multiple first and second pieces of information, the electronic device can determine the templates supported by the client. In this method, before sending a template to the client, the electronic device can accurately determine the templates supported by the client based on the functions required for template use and the functions supported by the client. Therefore, the electronic device will not send templates that the client cannot use, thereby improving the accuracy of template determination and the accuracy of sending templates to the client. Furthermore, all templates in the client are usable, thus improving the user experience.

[0069] exist Figure 2 In the embodiments shown, the following, in conjunction with Figure 4 The method described above for determining which templates a client supports based on multiple pieces of first and second information is explained in detail.

[0070] Figure 4 This is a schematic diagram illustrating a method for determining client-supported templates according to an embodiment of this disclosure. Figure 4 In the illustrated embodiment, the first information may include a first array, and the second information may include a second array. Please refer to [link to relevant documentation]. Figure 4 The method process includes:

[0071] S401. Determine the length of the first array.

[0072] In some embodiments, the first array may include at least one element. For example, the first array may include at least one numerical value. For example, the first array may include 64 numerical values, each of which is either 1 or 0. For example, the first array may be (1, 1, 1, 0, 0, 1).

[0073] In some embodiments, the elements in the first array are associated with a first function. For example, the first function may be a function for creating a template. For example, if the number of first functions is 100, then a maximum of 100 functions can be used during the template creation process; that is, a maximum of 100 functions are required when using the template. For example, the first function may be a function supported by the latest version of the client. For example, if the latest version of the client supports 100 functions, then the client can provide a maximum of 100 functions for template creation.

[0074] For example, if the number of first functions is 100, then the number of elements in the first array is 100; if the number of first functions is 200, then the number of elements in the first array is 200. Optionally, the number of elements in the first array can be 64. If the number of first functions is 128, then the first information can include two first arrays, each containing 64 elements.

[0075] For example, if the first function includes function 1, function 2 and function 3, then the first array may include element A, element B and element C, wherein element A may be associated with function 1, element B may be associated with function 2 and element C may be associated with function 3.

[0076] In some embodiments, elements in the first array can be used to indicate whether the use of the template is associated with a first function. For example, if elements in the first array indicate that the use of the template is associated with a first function, the electronic device can determine that the function required when using the template includes the first function; if elements in the first array indicate that the use of the template is unrelated to the first function, the electronic device can determine that the function required when using the template does not include the first function.

[0077] For example, the first function includes function 1, function 2, and function 3. The first array may include element A, element B, and element C. Element A may be associated with function 1, element B may be associated with function 2, and element C may be associated with function 3. Element A may indicate whether the use of the template requires function 1, element B may indicate whether the use of the template requires function 2, and element C may indicate whether the use of the template requires function 3.

[0078] In some embodiments, when an element in the first array is a first numerical value, the template is associated with a first function when used; when an element in the first array is a second numerical value, the template is unrelated to the first function when used. For example, the first numerical value can be 1, and the second numerical value can be 0. In this way, the electronic device can accurately determine whether the first function corresponding to the element is required when using the template based on the first and second numerical values ​​of the elements in the first array. Therefore, it can accurately determine the templates supported by the client.

[0079] For example, the first function includes function 1, function 2, and function 3. The first array may include elements A, B, and C. Element A can be associated with function 1, element B can be associated with function 2, and element C can be associated with function 3. If element A is 1, then function 1 is required when the template is used; if element A is 0, then function 1 is not required when the template is used. If element B is 1, then function 2 is required when the template is used; if element B is 0, then function 2 is not required when the template is used. If element C is 1, then function 3 is required when the template is used; if element C is 0, then function 3 is not required when the template is used.

[0080] For example, the elements of the first array are associated with function 1, function 2 and function 3. If the first array is (1, 1, 0), the electronic device can determine that function 1 and function 2 are required when the template is used, but function 3 is not required.

[0081] In some embodiments, the electronic device can determine the length of the first array as the number of elements in the first array. For example, if the first array contains 32 elements, the electronic device can determine that the length of the first array is 32; if the first array contains 64 elements, the electronic device can determine that the length of the first array is 64. For example, if the first array is (1, 1, 1, 0, 0, 1), the electronic device can determine that the length of the first array is 6.

[0082] S402, Determine the length of the second array.

[0083] In some embodiments, the second array may include at least one element. For example, the second array may include at least one numerical value. For example, the second array may include 64 numerical values, each of which is either 1 or 0. For example, the second array may be (1, 0, 0, 1, 0, 1).

[0084] In some embodiments, the elements in the second array are associated with the first function. For example, if the number of the first function is 100, the number of elements in the second array is 100; if the number of the first function is 200, the number of elements in the second array is 200. Optionally, the number of elements in the second array can be 64. If the number of the first function is 128, the second information can include two second arrays, each containing 64 elements.

[0085] For example, if the first function includes function 1, function 2 and function 3, then the second array may include element A, element B and element C, wherein element A may be associated with function 1, element B may be associated with function 2 and element C may be associated with function 3.

[0086] In some embodiments, elements in the second array can be used to indicate whether the client supports a first function. For example, if an element in the second array indicates that the client supports the first function associated with that element, the electronic device can determine that the client supports the first function; if an element in the second array indicates that the client does not support the first function associated with that element, the electronic device can determine that the client supports the first function but does not.

[0087] For example, the first function includes function 1, function 2, and function 3, and the second array may include element A, element B, and element C. Element A may be associated with function 1, element B may be associated with function 2, and element C may be associated with function 3. Element A may indicate whether the client supports function 1, element B may indicate whether the client supports function 2, and element C may indicate whether the client supports function 3.

[0088] In some embodiments, when an element in the second array is a first value, the client supports the first function; when an element in the second array is a second value, the client does not support the first function. Thus, the electronic device can accurately determine whether the client supports the first function corresponding to that element based on the first and second values ​​of the elements in the second array, thereby accurately determining the template supported by the client.

[0089] For example, the first function includes function 1, function 2, and function 3. The second array may include elements A, B, and C. Element A can be associated with function 1, element B can be associated with function 2, and element C can be associated with function 3. If element A is 1, the client supports function 1; if element A is 0, the client does not support function 1. If element B is 1, the client supports function 2; if element B is 0, the client does not support function 2. If element C is 1, the client supports function 3; if element C is 0, the client does not support function 3.

[0090] For example, the elements of the second array are associated with function 1, function 2 and function 3. If the second array is (1, 0, 1), the electronic device can determine that the client supports function 1 and function 3, but does not support function 2.

[0091] In some embodiments, the electronic device can determine the length of the second array by the number of elements in the second array. For example, if the second array contains 32 elements, the electronic device can determine that the length of the second array is 32; if the second array contains 64 elements, the electronic device can determine that the length of the second array is 64. For example, if the first array is (1, 0, 0, 1, 0, 1), the electronic device can determine that the length of the second array is 6.

[0092] In some embodiments, the first array and the second array can be 64-bit integers, so that the elements in the first array and the second array are both 0 or 1 (i.e., binary encoding). For example, the first array can be 001, the second array can be 011, etc.

[0093] S403. Based on the length of the first array, the elements in the first array, the length of the second array, and the elements in the second array, determine whether the client supports templates.

[0094] In some embodiments, the electronic device may determine whether the client supports the template based on the following feasible implementations: when the length of the first array is less than the length of the second array, the electronic device determines that the client does not support the template; when the length of the first array is greater than or equal to the length of the second array, the electronic device determines whether the client supports the template based on the elements in the first array and the elements in the second array.

[0095] In this way, the electronic device can quickly determine whether the client supports the template based on the length of the first array and the length of the second array, thus improving the efficiency of the electronic device in determining the template.

[0096] In some embodiments, when the length of the first array is less than the length of the second array, it indicates that the number of functions required by the template is greater than the number of functions supported by the client. Therefore, the electronic device can determine that the client cannot load the template, that is, the client does not support the template. For example, if the first array is (1, 1, 0, 1, 1) and the second array is (1, 0, 1, 1), the electronic device determines that the length of the first array is less than the length of the second array, that is, the electronic device determines that the client does not support the template.

[0097] In some embodiments, when the length of the first array is greater than or equal to the length of the second array, it indicates that the number of functions supported by the client is greater than or equal to the number of functions required when using the template. Therefore, the electronic device can further determine whether the functions supported by the client include the functions required when using the template. If the functions supported by the client include all the functions required when using the template, the electronic device can determine that the client supports the template. If the functions supported by the client do not include all the functions required when using the template, the electronic device can determine that the client does not support the template.

[0098] For example, if the first array is (1, 0, 1), and the second array is (1, 1, 0, 1), the electronic device can determine that the client supports the template; if the second array is (1, 1, 0), the electronic device can determine that the client does not support the template.

[0099] In some embodiments, when the length of the first array is less than the length of the second array, the electronic device can determine from the least significant bit to the most significant bit whether the client supports the functions required when using the template. For example, if the first array is 001 and the second array is 1100, then the first function associated with the least significant element (the rightmost 1) of the first array is the same as the first function associated with the least significant element (the rightmost 0) of the second array.

[0100] In some embodiments, when the number of the first array and the second array is greater than 1, the length of the first array can be the number of the first arrays, and the length of the second array can be the number of the second arrays. For example, if the first information includes 3 first arrays and the second information includes 2 second arrays, the electronic device can determine that the length of the first array is 3 and the length of the second array is 2.

[0101] This disclosure provides a method for determining a template supported by a client. The electronic device can determine the length of a first array. When an element in the first array is a first value, the template is associated with a first function when used. When an element in the first array is a second value, the template is unrelated to the first function when used. The electronic device can determine the length of a second array. When an element in the second array is a first value, the client supports the first function. When an element in the second array is a second value, the client does not support the first function. When the length of the first array is less than the length of the second array, the electronic device can determine that the client does not support the template. When the length of the first array is greater than or equal to the length of the second array, the electronic device can determine whether the client supports the template based on the elements in the first and second arrays.

[0102] In this way, the electronic device can quickly determine whether the client supports the template based on the lengths of the first and second arrays, improving the efficiency of template determination. Furthermore, the electronic device can accurately determine whether the client supports the first function corresponding to the element based on the first and second values ​​of the elements in the second array, and accurately determine whether the first function corresponding to the element is required when using the template based on the first and second values ​​of the elements in the first array. Therefore, the electronic device can accurately determine whether the client supports the template and send the supported template to the client, which improves the accuracy of template determination and template sending to the client. In addition, users will not see unusable templates in the client, improving the user experience.

[0103] Based on any of the above embodiments, the following, in conjunction with Figure 5 The method described above for determining whether a client supports a template based on elements in the first array and elements in the second array when the length of the first array is greater than or equal to the length of the second array is explained in detail.

[0104] Figure 5 This diagram illustrates a method for determining client-supported templates according to an embodiment of this disclosure. Please refer to [link / reference]. Figure 5 The method includes:

[0105] S501. Perform an OR operation between the elements in the first array and the elements in the second array to obtain the third array.

[0106] The third array can be obtained by performing an OR operation on the first and second arrays.

[0107] In some embodiments, for any first element or second element, the electronic device may obtain a third array based on the following feasible implementation: performing an OR operation between the first element in the first array and the second element in the second array to obtain the third element in the third array.

[0108] In this way, electronic devices, based on OR operations, can quickly filter templates supported by the client, improving the efficiency of template determination and thus improving the efficiency of sending templates to the client.

[0109] The first element has the same index in the first array, the second element has the same index in the second array, and the third element has the same index in the third array.

[0110] For example, the first array can be (0, 0, 1, 1), the second array can be (0, 1, 1, 1), and the electronic device can perform an OR operation (from right to left) on the first array and the second array to obtain a third array, which can be (0, 1, 1, 1).

[0111] For example, the first array can be (0, 1, 1, 1), the second array can be (1, 0, 1, 1), and the electronic device can perform an OR operation (from right to left) on the first array and the second array to obtain a third array, which can be (1, 1, 1, 1).

[0112] For example, the first array can be (0, 0, 1, 1), the second array can be (1, 0, 1, 1, 1), and the electronic device can perform an OR operation (from right to left) on the first array and the second array to obtain a third array, which can be (1, 0, 1, 1, 1).

[0113] For example, the first array can be (1, 0, 1, 1), the second array can be (1, 0, 1, 1, 1), and the electronic device can perform an OR operation (from right to left) on the first array and the second array to obtain a third array, which can be (1, 1, 1, 1, 1).

[0114] S502. If the elements in the third array are the same as the elements in the first array, then the client is determined to support the template.

[0115] In some embodiments, when the elements in the third array are the same as the elements in the second array, it indicates that the client supports all the functions required when using the template. Therefore, the electronic device can determine that the client supports the template. For example, the first array can be (0, 0, 1, 1), and the second array can be (1, 0, 1, 1, 1). The electronic device can perform an OR operation (from right to left) on the first and second arrays to obtain the third array, which can be (1, 0, 1, 1, 1). Since the third array is the same as the second array, the electronic device can determine that the client supports the template corresponding to the first array.

[0116] S503. If the elements in the third array are different from the elements in the second array, then it is determined that the client does not support the template.

[0117] In some embodiments, when the elements in the third array are different from the elements in the second array, it indicates that the client supports features not including all the features required for the template to be used. Therefore, the electronic device can determine that the client does not support the template. For example, the first array can be (1, 0, 1, 1), and the second array can be (1, 0, 1, 1, 1). The electronic device can perform an OR operation (from right to left) on the first and second arrays to obtain the third array, which can be (1, 1, 1, 1, 1). Since the third array is different from the second array, the electronic device can determine that the client does not support the template corresponding to the first array.

[0118] This disclosure provides a method for determining a template supported by a client. The electronic device can perform an OR operation between the elements in the first array and the elements in the second array to obtain a third array. If the elements in the third array are the same as the elements in the first array, it is determined that the client supports the template. If the elements in the third array are different from the elements in the second array, it is determined that the client does not support the template.

[0119] In the above method, the elements in the third array can quickly and accurately determine whether the client supports the template without relying on complex tests or simulations. Furthermore, based on the OR operation, templates supported by the client can be quickly filtered, improving the efficiency of template determination and thus improving the efficiency of sending templates to the client.

[0120] Figure 6 This is a schematic diagram of the structure of an information processing apparatus provided in an embodiment of this disclosure. Please refer to [link / reference]. Figure 6 The information processing device 600 includes an acquisition module 601, a first determination module 602, and a second determination module 603, wherein:

[0121] The acquisition module 601 is used to acquire client version information and multiple first pieces of information for multiple templates, wherein the first pieces of information are used to indicate the functions required when the template is used;

[0122] The first determining module 602 is used to determine second information of the client based on the version information, wherein the second information is used to indicate the functions supported by the client;

[0123] The second determining module 603 is used to determine the templates supported by the client based on the plurality of first information and the second information.

[0124] In this way, since the electronic device can determine the templates supported by the client before sending the template to the client, the electronic device will not send the client templates that the client cannot use. Furthermore, since the electronic device can determine the templates supported by the client based on the functions required for template use and the functions supported by the client, the accuracy of the templates can be improved, thereby improving the accuracy of the templates sent by the electronic device to the client.

[0125] According to one or more embodiments of this disclosure, the second determining module 603 is specifically used for:

[0126] The length of the first array is determined, the elements in the first array are associated with a first function, and the elements in the first array are used to indicate whether the template is associated with the first function when it is used;

[0127] Determine the length of the second array, the elements in the second array are associated with the first function, and the elements in the second array are used to indicate whether the client supports the first function;

[0128] Based on the length of the first array, the elements in the first array, the length of the second array, and the elements in the second array, determine whether the client supports the template.

[0129] In this way, the electronic device can quickly determine whether the client supports the template based on the length of the first array and the length of the second array, thus improving the efficiency of the electronic device in determining the template.

[0130] According to one or more embodiments of this disclosure, the second determining module 603 is specifically used for:

[0131] If the length of the first array is less than the length of the second array, it is determined that the client does not support the template.

[0132] When the length of the first array is greater than or equal to the length of the second array, it is determined whether the client supports the template based on the elements in the first array and the elements in the second array.

[0133] In this way, the electronic device can quickly determine whether the client supports the template based on the length of the first array and the length of the second array, thus improving the efficiency of the electronic device in determining the template.

[0134] According to one or more embodiments of this disclosure, the second determining module 603 is specifically used for:

[0135] Perform a bitwise OR operation between the elements of the first array and the elements of the second array to obtain the third array;

[0136] If an element in the third array is the same as an element in the second array, then the client is determined to support the template.

[0137] If the elements in the third array are different from the elements in the second array, then it is determined that the client does not support the template.

[0138] In this way, the elements in the third array can quickly and accurately determine whether the client supports the template, without relying on complex tests or simulations.

[0139] According to one or more embodiments of this disclosure, when the element in the first array is a first value, the template is used in association with the first function; when the element in the first array is a second value, the template is used without relation to the first function.

[0140] When the element in the second array is the first value, the client supports the first function; when the element in the second array is the second value, the client does not support the first function.

[0141] In this way, the electronic device can accurately determine whether the first function corresponding to the element is required when the template is used, based on the first and second values ​​of the elements in the first array. Therefore, it can accurately determine the templates supported by the client. Similarly, the electronic device can accurately determine whether the client supports the first function corresponding to the element, based on the first and second values ​​of the elements in the second array. Therefore, it can accurately determine the templates supported by the client.

[0142] According to one or more embodiments of this disclosure, the second determining module 603 is specifically used for:

[0143] The first element in the first array is ORed with the second element in the second array to obtain the third element in the third array. The indices of the first element in the first array, the second element in the second array, and the third element in the third array are the same.

[0144] In this way, electronic devices, based on OR operations, can quickly filter templates supported by the client, improving the efficiency of template determination and thus improving the efficiency of sending templates to the client.

[0145] According to one or more embodiments of this disclosure, the second determining module 603 is specifically used for:

[0146] Obtain third information, which includes at least one version information and second information for each version information;

[0147] Based on the client's version information and the third information, the client's second information is determined.

[0148] In this way, electronic devices can accurately determine the functions supported by the client, and thus accurately determine the templates supported by the client, improving the accuracy of template sending.

[0149] The information processing apparatus provided in this embodiment can be used to execute the technical solutions of the above method embodiments. Its implementation principle and technical effect are similar, and will not be repeated here.

[0150] Figure 7 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure. Please refer to [link / reference]. Figure 7 The diagram illustrates a structural schematic of an electronic device 700 suitable for implementing embodiments of the present disclosure. The electronic device may include, but is not limited to, mobile terminals such as mobile phones, laptops, digital broadcast receivers, personal digital assistants (PDAs), tablet computers, portable media players (PMPs), and in-vehicle terminals (e.g., in-vehicle navigation terminals), as well as fixed terminals such as digital TVs and desktop computers. Figure 7 The electronic device shown is merely an example and should not be construed as limiting the functionality and scope of use of the embodiments disclosed herein.

[0151] like Figure 7As shown, the electronic device 700 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 701, which can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) 702 or a program loaded from a storage device 708 into a random access memory (RAM) 703. The RAM 703 also stores various programs and data required for the operation of the electronic device 700. The processing unit 701, ROM 702, and RAM 703 are interconnected via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.

[0152] Typically, the following devices can be connected to I / O interface 705: input devices 706 including, for example, touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices 707 including, for example, liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices 708 including, for example, magnetic tapes, hard disks, etc.; and communication devices 709. Communication device 709 allows electronic device 700 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 7 An electronic device 700 with various devices is shown; however, it should be understood that it is not required to implement or possess all of the devices shown. More or fewer devices may be implemented or possessed alternatively.

[0153] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 709, or installed from storage device 708, or installed from ROM 702. When the computer program is executed by processing device 701, it performs the functions defined in the methods of embodiments of this disclosure.

[0154] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), or any suitable combination thereof.

[0155] The aforementioned computer-readable medium may be included in the aforementioned electronic device; or it may exist independently and not assembled into the electronic device.

[0156] The aforementioned computer-readable medium carries one or more programs, which, when executed by the electronic device, cause the electronic device to perform the methods shown in the above embodiments.

[0157] This disclosure provides a computer-readable storage medium storing computer-executable instructions. When a processor executes the computer-executable instructions, it implements various methods that may be involved in the above embodiments.

[0158] This disclosure provides a computer program product, including a computer program that, when executed by a processor, implements various methods that may be involved in the above embodiments.

[0159] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including object-oriented programming languages ​​such as Java, Smalltalk, and C++, and conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a Local Area Network (LAN) or a Wide Area Network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0160] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than that indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, may be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0161] The units described in the embodiments of this disclosure can be implemented in software or in hardware. The name of a unit does not necessarily limit the unit itself; for example, the first acquisition unit can also be described as "a unit that acquires at least two Internet Protocol addresses".

[0162] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), etc.

[0163] The electronic device, computer-readable storage medium, and computer program product provided in this disclosure embodiment can determine the templates supported by the client before sending the template to the client. Therefore, the electronic device will not send the client templates that the client cannot use. Furthermore, since the electronic device can determine the templates supported by the client based on the functions required when using the template and the functions supported by the client, the accuracy of the templates can be improved, thereby improving the accuracy of the templates sent by the electronic device to the client.

[0164] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0165] It should be noted that the terms "a" and "a plurality of" used in this disclosure are illustrative rather than restrictive, and those skilled in the art should understand that, unless otherwise expressly indicated in the context, they should be understood as "one or more".

[0166] The names of messages or information exchanged between multiple devices in the embodiments of this disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.

[0167] It is understood that the data involved in this technical solution (including but not limited to the data itself, its acquisition, or its use) shall comply with the requirements of relevant laws, regulations, and provisions. Data may include information, parameters, and messages, such as flow control instructions.

[0168] The above description is merely a preferred embodiment of this disclosure and an explanation of the technical principles employed. Those skilled in the art should understand that the scope of this disclosure is not limited to technical solutions formed by specific combinations of the above-described technical features, but should also cover other technical solutions formed by arbitrary combinations of the above-described technical features or their equivalents without departing from the above-described concept. For example, technical solutions formed by substituting the above features with (but not limited to) technical features disclosed in this disclosure that have similar functions.

[0169] Furthermore, while the operations are described in a specific order, this should not be construed as requiring these operations to be performed in the specific order shown or in sequential order. Multitasking and parallel processing may be advantageous in certain environments. Similarly, while several specific implementation details are included in the above discussion, these should not be construed as limiting the scope of this disclosure. Certain features described in the context of individual embodiments may also be implemented in combination in a single embodiment. Conversely, various features described in the context of a single embodiment may also be implemented individually or in any suitable sub-combination in multiple embodiments. Although the subject matter has been described using language specific to structural features and / or methodological logic, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or actions described above. Rather, the specific features and actions described above are merely exemplary forms of implementing the claims.

Claims

1. An information processing method, characterized in that, include: Obtain client version information and multiple first pieces of information for multiple templates, wherein the first pieces of information are used to indicate the functions required when the templates are used; Based on the version information, a second piece of information about the client is determined, which indicates the functions supported by the client. Based on the multiple first pieces of information and the second pieces of information, the templates supported by the client are determined.

2. The method according to claim 1, characterized in that, The first information includes a first array, and the second information includes a second array; for any given template; determining the templates supported by the client based on the plurality of first information and the second information includes: The length of the first array is determined, the elements in the first array are associated with a first function, and the elements in the first array are used to indicate whether the template is associated with the first function when it is used; Determine the length of the second array, the elements in the second array are associated with the first function, and the elements in the second array are used to indicate whether the client supports the first function; Based on the length of the first array, the elements in the first array, the length of the second array, and the elements in the second array, determine whether the client supports the template.

3. The method according to claim 2, characterized in that, The step of determining whether the client supports the template based on the length of the first array, the elements in the first array, the length of the second array, and the elements in the second array includes: If the length of the first array is less than the length of the second array, it is determined that the client does not support the template. When the length of the first array is greater than or equal to the length of the second array, it is determined whether the client supports the template based on the elements in the first array and the elements in the second array.

4. The method according to claim 3, characterized in that, Determining whether the client supports the template based on elements in the first array and elements in the second array includes: Perform a bitwise OR operation between the elements of the first array and the elements of the second array to obtain the third array; If an element in the third array is the same as an element in the second array, then the client is determined to support the template. If the elements in the third array are different from the elements in the second array, then it is determined that the client does not support the template.

5. The method according to claim 4, characterized in that, When the element in the first array is a first value, the template is used in association with the first function; when the element in the first array is a second value, the template is used without relation to the first function. When the element in the second array is the first value, the client supports the first function; when the element in the second array is the second value, the client does not support the first function.

6. The method according to claim 5, characterized in that, The first value is 1, and the second value is 0; the step of performing a bitwise OR operation between the elements of the first array and the elements of the second array to obtain the third array includes: The first element in the first array is ORed with the second element in the second array to obtain the third element in the third array. The indices of the first element in the first array, the second element in the second array, and the third element in the third array are the same.

7. The method according to any one of claims 1-6, characterized in that, The determination of the second information of the client based on the version information includes: Obtain third information, which includes at least one version information and second information for each version information; Based on the client's version information and the third information, the client's second information is determined.

8. An information processing device, characterized in that, It includes an acquisition module, a first determination module, and a second determination module, wherein: The acquisition module is used to acquire client version information and multiple first pieces of information for multiple templates, wherein the first pieces of information are used to indicate the functions required when the template is used; The first determining module is used to determine second information of the client based on the version information, wherein the second information is used to indicate the functions supported by the client; The second determining module is used to determine the templates supported by the client based on the plurality of first information and the second information.

9. A terminal device, characterized in that, include: Processor and memory; The memory stores computer-executed instructions; The processor executes computer execution instructions stored in the memory, causing the processor to perform the information processing method as claimed in any one of claims 1-7.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer-executable instructions, which, when executed by the processor, implement the information processing method as described in any one of claims 1-7.

11. A computer program product, characterized in that, It includes a computer program that, when executed by a processor, implements the information processing method as claimed in any one of claims 1-7.