Method, system, server and storage medium for obtaining application download information
By obtaining application download information from a server associated with the device, the method addresses the inflexibility of traditional methods by enabling real-time updates and flexible maintenance.
Patent Information
- Application Number
- CN202211105031.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-09-10
- Publication Date
- 2025-01-03
- Estimated Expiration
- 2040-09-10
AI Technical Summary
Existing methods for obtaining application download information in smart home devices are inflexible, as the information is fixedly written in device tags, making it difficult to maintain and update, especially when the download information changes.
Obtain application download information from a server associated with the device, rather than from the device tag, allowing for real-time updates and flexible maintenance by determining the application based on device identification and support capability information.
Ensures real-time and effective application download information is provided, addressing the inflexibility of maintaining download information in traditional methods.
Smart Images

Figure CN115567509B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application entitled "Method, system, server and storage medium for obtaining application download information", the parent application number is 202010948753.0, the application date is September 10, 2020, and the publication number is CN113572800A. Technical Field
[0002] The present application relates to the field of software technology, and in particular to a method and system for obtaining application download information, a method and server for providing application download information, and a computer-readable storage medium. Background Art
[0003] At present, the development of Internet of Things (IoT) technology is in the ascendant. Whether in the field of production or life, IoT has a profound impact on traditional models.
[0004] Smart home is an important application scenario of IoT technology. In the smart home life scenario, each smart home device is connected to the control terminal through a network (for example, wireless networks such as Bluetooth and WiFi), so that users can control and manage the smart home devices through the control terminal to construct an intelligent life scenario.
[0005] In the smart home life scenario, when a user reads a device tag (e.g., a Near Field Communication (NFC) tag) on a smart home device through a mobile phone, the device management application corresponding to the smart home device can be started. In this way, people can control the smart home device (e.g., start the smart home device) through the device management application on the mobile phone, thus bringing convenience to life.
[0006] In the prior art, a mobile phone downloads and installs a device management application through application download information written in a device tag (e.g., the URL download address of the device management application, the installation package name of the device management application). That is, the download information of the device management application is written in the device tag, thereby causing the problem of not being able to flexibly maintain the application download information. Summary of the invention
[0007] Some embodiments of the present application provide a method and system for obtaining download information of an application, a method, a server, and a computer-readable storage medium for providing download information of an application. The present application is introduced from multiple aspects below, and the embodiments and beneficial effects of the following aspects can be referenced to each other.
[0008] In a first aspect, an embodiment of the present application provides a method for obtaining download information of an application, and the method is applied to a system including at least a first device, a second device and a second server, wherein the second server is associated with the second device, and the method comprises: the first device reads tag data of the second device; the second server receives a first request, the first request carries identification information of the second device and application support capability information of the first device, the identification information is associated with the tag data, and the first request is used to obtain download information of a device management application from the second server, wherein the device management application is used to manage the second device; in response to the first request, the second server determines the device management application based on the identification information and the application support capability information of the first device; the second server sends a first request response, the first request response carries download information of the device management application; the first device at least obtains the download information of the device management application sent by the second server.
[0009] According to the implementation method of the present application, the download information of the device management application is obtained from the second server, rather than being fixedly written in the device tag. The present application maintains the download information of the device management application through the second server, rather than maintaining the download information of the water purifier application through the device tag. In this way, no matter how the download information of the device management application is updated, the second server can return real-time and effective application download information to the first device, thereby solving the problem of inflexible maintenance of application download information.
[0010] In some embodiments, the first device includes a first SDK, and before the second server receives the first request, the method also includes: the first device parses the tag data through the first SDK; the first device parses the identification information included in the tag data, wherein the identification information includes the category identification, model identification and / or first serial number of the second device; the first device sends the first request to the second server.
[0011] In some implementations, the download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
[0012] In the implementation manner of the present application, the application ID of the device management application is a unique identifier of the device management application in the application market, for example, App ID.
[0013] In some implementations, the second server sends a first request response, specifically: the second server sends the first request response to the first device; the first device at least obtains the download information of the device management application sent by the second server, including: the first device receives the download information of the device management application sent by the second server.
[0014] In some embodiments, the system includes a third server, and the download information of the device management application sent by the second server includes the installation package name of the device management application. After the first device receives the download information of the device management application sent by the second server, the method also includes: the first device sends a third request to the third server, and the third request carries the installation package name of the device management application, and the third request is used to obtain the application ID of the device management application; in response to the third request, the third server determines the application ID of the device management application based on the installation package name of the installation package of the device management application; the third server sends a third request response to the first device, and the third request response carries the application ID of the device management application; the first device receives the application ID of the device management application sent by the third server.
[0015] In some implementations, the first device stores an association between the tag data and the download information of the device management application.
[0016] In this way, when the first device reads the tag data of the second device next time, the device management application can be started according to the download information of the device management application stored in the first device, so as to improve the application startup speed of the first device.
[0017] In some embodiments, after the first device stores the association relationship between the tag data and the download information of the device management application, the method also includes: the first device reads the tag data of the second device; the first device determines the download information associated with the read tag data based on the association relationship; the first device downloads and starts the device management application based on the download information associated with the read tag data.
[0018] In some embodiments, the application support capability information of the first device includes information for identifying the product model of the first device and / or information of the operating system of the first device; wherein the information for identifying the product model of the first device includes at least one of the product brand, product model, product category, and product serial number of the first device; and the information of the operating system of the first device includes at least one of the name of the operating system of the first device and the version number of the operating system of the first device.
[0019] In a second aspect, an embodiment of the present application provides a method for obtaining download information of an application, and the method is applied to a system including at least a first device, a second device and a second server, wherein the second server is associated with the second device, and the method comprises: the first device reads tag data of the second device; the second server receives a first request, the first request carries identification information of the second device and application support capability information of the first device, the identification information is associated with the tag data, and the first request is used to obtain download information of a device management application from the second server, wherein the device management application is used to manage the second device; in response to the first request, the second server determines the device management application based on the identification information and the application support capability information of the first device; the second server sends a first request response, the first request response carries download information of the device management application; the first device at least obtains the download information of the device management application sent by the second server.
[0020] According to the implementation method of the present application, the download information of the device management application is obtained from the second server, rather than being fixedly written in the device tag. The present application maintains the download information of the device management application through the second server, rather than maintaining the download information of the water purifier application through the device tag. In this way, no matter how the download information of the device management application is updated, the second server can return real-time and effective application download information to the first device, thereby solving the problem of inflexible maintenance of application download information.
[0021] In some embodiments, the system further includes a first server, the first server is associated with the first device, and before the second server receives the first request, the method further includes: the first device sends a second request to the first server, the second request carries label data and application support capability information of the first device; the first server parses the label data; the first server parses the identification information included in the label data, wherein the identification information includes the category identification, model identification and / or first serial number of the second device; the first server sends the first request to the second server.
[0022] According to the implementation of the present application, the first server parses the tag data of the second device and sends the first request to the second server. In this way, the first device does not need to parse the tag data of the second device, nor does it need to communicate directly with the second device server. It only needs to communicate with the first server. In this way, the first SDK does not need to be integrated in the first device, which can save the local storage space of the first device.
[0023] In some implementations, the download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
[0024] In some embodiments, before the first device at least obtains the download information of the device management application sent by the second server, the method also includes: the first server receives the download information of the device management application sent by the second service; the first server sends a second request response to the first device, and the second request response includes the download information of the device management application sent by the second server; the first device at least obtains the download information of the device management application sent by the second server, including: in response to receiving the second request response, the first device obtains the download information of the device management application sent by the second server.
[0025] In some embodiments, the system includes a third server, and the download information of the device management application received by the first server from the second server includes the installation package name of the device management application; before the first server sends the second request response to the first device, the method also includes: the first server sends a fourth request to the third server, the fourth request carries the installation package name of the device management application, and the fourth request is used to obtain the application ID of the device management application; in response to the fourth request, the third server determines the application ID of the device management application according to the installation package name of the installation package of the device management application; the third server sends a fourth request response to the first server, the fourth request response carries the application ID of the device management application; the first server receives the application ID of the device management application sent by the third server; the first server sends a second request response to the first device, specifically: the first server sends the second request response to the first device, wherein the second request response includes the application ID of the device management application and the download information of the device management application sent by the second server; the first device at least obtains the download information of the device management application sent by the second server, including: in response to receiving the second request response, the first device obtains the application ID of the device management application and the download information of the device management application sent by the second server.
[0026] In some implementations, the first server stores an association relationship between the tag data, the application support capability information of the first device, and the download information of the device management application.
[0027] Thus, when the first server receives the second request from the first device but fails to obtain the download information of the device management application from the second server (eg, when a communication failure occurs), the first server may send the locally stored download information of the device management application to the first device.
[0028] In some embodiments, the application support capability information of the first device includes information for identifying the product model of the first device and / or information of the operating system of the first device; wherein the information for identifying the product model of the first device includes at least one of the product brand, product model, product category, and product serial number of the first device; and the information of the operating system of the first device includes at least one of the name of the operating system of the first device and the version number of the operating system of the first device.
[0029] In a third aspect, an embodiment of the present application provides a method for providing download information of an application, which is used for a second server associated with a second device, and the method comprises: receiving a first request, the first request carrying identification information of the second device and application support capability information of the first device, the identification information being associated with tag data of the second device, the first request being used to obtain download information of a device management application from the second server, wherein the device management application is used to manage the second device; in response to the first request, determining the device management application based on the identification information and the application support capability information of the first device; and sending a first request response, the first request response carrying download information of the device management application.
[0030] According to the implementation method of the present application, the download information of the device management application is obtained from the second server, rather than being fixedly written in the device tag. The present application maintains the download information of the device management application through the second server, rather than maintaining the download information of the water purifier application through the device tag. In this way, no matter how the download information of the device management application is updated, the second server can return real-time and effective application download information to the first device, thereby solving the problem of inflexible maintenance of application download information.
[0031] In addition, according to the implementation of the present application, the tag data of the second device is parsed by the first server, and the first request is sent to the second server. In this way, the first device does not need to parse the tag data of the second device, nor does it need to communicate directly with the second device server, but only needs to communicate with the first server. In this way, the first SDK does not need to be integrated in the first device, which can save the local storage space of the first device.
[0032] In some embodiments, the identification information of the second device includes a category identification, a model identification and / or a first serial number of the second device.
[0033] In some embodiments, the identification information of the second device includes a category identification of the second device, and the device management application is determined based on the identification information and the application support capability information of the first device, including: determining one or more applications for managing the second device based on the category identification of the second device; and determining a device management application that can run on the first device from one or more applications based on the application support capability information of the first device.
[0034] In some embodiments, the identification information of the second device includes a first serial number of the second device, where the first serial number is a serial number that is different from a product serial number of the second device and is associated with the product serial number of the second device; determining a device management application based on the identification information and application support capability information of the first device, including: determining a product serial number associated with the first serial number based on the first serial number, and determining one or more applications for managing the second device based on the product serial number associated with the first serial number; determining a device management application that can run on the first device from one or more applications based on the application support capability information of the first device.
[0035] In some implementations, the download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
[0036] In some embodiments, the application support capability information of the first device includes information for identifying the product model of the first device and / or information of the operating system of the first device; wherein the information for identifying the product model of the first device includes at least one of the product brand, product model, product category, and product serial number of the first device; and the information of the operating system of the first device includes at least one of the name of the operating system of the first device and the version number of the operating system of the first device.
[0037] In a fourth aspect, an embodiment of the present application provides a method for obtaining download information of an application, which is used for a first server associated with a first device, and the method includes: receiving a second request sent by the first device, the second request carrying label data of the second device and application support capability information of the first device; parsing identification information of the second device from the label data, wherein the identification information includes a category identification, a model identification and / or a first serial number of the second device; sending a first request to the second server, the first request carrying the identification information of the second device and application support capability information of the first device, wherein the first request is used to obtain download information of a device management application for managing the second device from the second server; receiving a first request response sent by the second server, the first request response carrying download information of the device management application; sending a second request response to the first device, the second request response carrying download information of the device management application sent by the second server.
[0038] According to the implementation method of the present application, the download information of the device management application is obtained from the second server, rather than being fixedly written in the device tag. The present application maintains the download information of the device management application through the second server, rather than maintaining the download information of the water purifier application through the device tag. In this way, no matter how the download information of the device management application is updated, the second server can return real-time and effective application download information to the first device, thereby solving the problem of inflexible maintenance of application download information.
[0039] In some implementations, the download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
[0040] In some embodiments, the download information of the device management application sent by the second server includes the installation package name of the device management application. Before sending the second request response to the first device, the method also includes: sending a fourth request to a third server, the fourth request carrying the installation package name of the device management application, and the fourth request is used to obtain the application ID of the device management application; receiving the fourth request response sent by the third server, the fourth request response carrying the application ID of the device management application; sending a second request response to the first device, wherein the second request response includes the download information of the device management application sent by the second server and the application ID of the device management application.
[0041] In some implementations, the method further includes: storing an association relationship between the tag data, the application support capability information of the first device, and the download information of the device management application.
[0042] Thus, when the first server receives the second request from the first device but fails to obtain the download information of the device management application from the second server (eg, when a communication failure occurs), the first server may send the locally stored download information of the device management application to the first device.
[0043] In a fifth aspect, an embodiment of the present application provides a system for obtaining download information of an application, the system comprising a first device, a second device, and a second server, the second server being associated with the second device, wherein the first device is used to execute the steps performed by the first device in the method provided in any embodiment of the first aspect of the present application, and the second server is used to execute the steps performed by the second server in the method provided in any embodiment of the first aspect of the present application. The beneficial effects that can be achieved in the fifth aspect can refer to the beneficial effects of any embodiment of the first aspect of the present application, and will not be repeated here.
[0044] In a sixth aspect, an embodiment of the present application provides a system for obtaining download information of an application, the system comprising a first device, a first server, a second device, and a second server, the first device and the second device are associated, the second server is associated with the second device, wherein the first device is used to execute the steps performed by the first device in the method provided in any embodiment of the second aspect of the present application, the first server is used to execute the steps performed by the first server in the method provided in any embodiment of the second aspect of the present application, and the second server is used to execute the steps performed by the second server in the method provided in any embodiment of the second aspect of the present application. The beneficial effects that can be achieved in the sixth aspect can refer to the beneficial effects of any embodiment of the second aspect of the present application, and will not be repeated here.
[0045] In a seventh aspect, an embodiment of the present application provides a server, comprising: a memory for storing instructions executed by one or more processors of the server; and a processor, when the processor executes the instructions in the memory, the server can execute the method provided by any embodiment of the third aspect of the present application. The beneficial effects that can be achieved in the seventh aspect can refer to the beneficial effects of any embodiment of the third aspect of the present application, and will not be repeated here.
[0046] In an eighth aspect, an embodiment of the present application provides a server, comprising: a memory for storing instructions executed by one or more processors of the server; and a processor, which, when the processor executes the instructions in the memory, enables the server to execute the method provided by any embodiment of the fourth aspect of the present application. The beneficial effects that can be achieved in the eighth aspect can refer to the beneficial effects of any embodiment of the fourth aspect of the present application, and will not be repeated here.
[0047] In the ninth aspect, the embodiments of the present application provide a computer-readable storage medium, in which instructions are stored, and when the instructions are executed on a computer, the computer can execute the method provided by any embodiment of the first aspect of the present application, any embodiment of the second aspect of the present application, any embodiment of the third aspect of the present application, or any embodiment of the fourth aspect of the present application. The beneficial effects that can be achieved in the ninth aspect can refer to the beneficial effects of any embodiment of the first aspect of the present application, any embodiment of the second aspect of the present application, any embodiment of the third aspect of the present application, or any embodiment of the fourth aspect of the present application, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0048] Figure 1 This is an exemplary application scenario of the implementation method of this application;
[0049] Figure 2 A schematic diagram of the structure of a mobile phone provided in an embodiment of the present application;
[0050] Figure 3 A software architecture diagram of a mobile phone provided in an embodiment of the present application;
[0051] Figure 4 A schematic diagram of the data structure of NFC tag data provided in an embodiment of the present application;
[0052] Figure 5 Schematic diagram of the process of obtaining device management application download information provided in the embodiment of the present application Figure 1 ;
[0053] Figure 6 A schematic diagram of the NFC switch of a mobile phone provided in an embodiment of the present application;
[0054] Figure 7 A schematic diagram of setting up the tag parsing SDK provided in an embodiment of the present application;
[0055] Figure 8 A schematic diagram of the implementation effect of the method provided in the embodiment of the present application;
[0056] Fig. 9 Schematic diagram of the process of obtaining device management application download information provided in the embodiment of the present application Figure 2 ;
[0057] Fig.10 Schematic diagram of the process of obtaining device management application download information provided in the embodiment of the present application Figure 3 ;
[0058] Fig.11 A block diagram of an electronic device provided in an embodiment of the present application is shown;
[0059] Fig.12 A schematic diagram of the structure of a system on chip (SoC) provided in an embodiment of the present application is shown. DETAILED DESCRIPTION
[0060] The specific implementation of the present application will be described in detail below with reference to the accompanying drawings.
[0061] In this application, smart home devices can be smart audio and video devices, smart speakers, smart lights, smart refrigerators, smart TVs and other home devices with certain computing capabilities and communication functions. The following is an introduction taking a smart water purifier as an example.
[0062] Figure 1 A smart home life scene is shown. Figure 1The mobile phone 100 and the water purifier 200 are included, wherein the mobile phone 100 is used as an example of a control terminal and the water purifier 200 is used as an example of a smart home device. The mobile phone 100 and the water purifier 200 are connected to the home WiFi local area network through their respective WiFi communication modules to achieve mutual communication between the two. In other scenarios, the mobile phone 100 and the water purifier 200 can also communicate through Bluetooth, NFC, cellular network, etc., which is not limited in this application.
[0063] Among them, the mobile phone 100 is equipped with a device management application for managing the water purifier 200 (in this article, the device management application for managing the water purifier 200 will be referred to as the "water purifier application"). In this way, the user can access and operate the water purifier 200 by operating the water purifier application, for example, check the filter service life and water purification statistical curve of the water purifier 200, start / turn off the water purifier 200, etc.
[0064] refer to Figure 1 , an NFC tag 201 is attached to the water purifier 200. When the user needs to open the water purifier application, by placing the mobile phone 100 close to the NFC tag 201, the mobile phone 100 can read the tag data in the NFC tag 201, thereby starting the water purifier application in the mobile phone 100. By starting the water purifier application by reading the NFC tag, on the one hand, the user can save the process of searching for the smart water purifier icon among many application icons, thereby simplifying the operation; on the other hand, when the water purifier application is a quick application or a small program, the mobile phone 100 may not display the icon of the water purifier application on its desktop. The method of starting the application by reading the NFC tag can provide the user with a way to start the water purifier application.
[0065] Figure 1 In the scenario shown, the carrier of the tag data is an NFC tag. In other scenarios, the carrier of the tag data can be a carrier with data carrying function such as a QR code tag, a barcode tag, a Radio Frequency Identification (RFID) tag, etc., which is not limited in this application.
[0066] In one implementation, the URL download address of the water purifier application is written in the NFC tag. The mobile phone 100 can obtain the URL download address by reading the NFC tag, and further download and install the water purifier application through the URL download address. Generally, the water purifier application obtained in this way is a traditional APP, and its installation process requires user participation, that is, after the water purifier application installation package is downloaded, the user needs to click "Install" before the mobile phone 100 will execute the installation of the application, which is a cumbersome operation.
[0067] In addition, in this implementation, the URL download address in the NFC tag is fixed, which will lead to the problem of not being able to flexibly maintain the application download information. For example, when the URL download address of the water purifier application changes (for example, when the server address providing the water purifier application download changes), it will be difficult to obtain the water purifier application through the URL download address in the NFC tag.
[0068] In another implementation, the NFC tag contains the installation package name of the water purifier application. The mobile phone 100 can obtain the installation package name of the water purifier application by reading the NFC tag, and further download and install the water purifier application in the application market through the installation package name. Generally, the water purifier application obtained in this way is a quick application or a small program. Therefore, in this implementation, the mobile phone 100 can install the water purifier application in a way that the user is not aware of. However, this implementation also has the problem of not being able to flexibly maintain application download information. For example, when the installation package name of the water purifier application changes (for example, when the name of the manufacturer providing the water purifier application changes, the "manufacturer identifier" field in the water purifier application installation package name will be changed accordingly), at this time, it will be difficult to obtain the water purifier application through the installation package name in the NFC tag.
[0069] In addition, it is understandable that the water purifier applications supported by mobile phones using different operating systems or different brands of mobile phones may not be the same (for example, the water purifier applications supported by Apple iOS mobile phones and Android mobile phones are different, and it is possible that the water purifier applications supported by mobile phones of different brands belonging to the same Android system may also be different). In order to support the distribution of multi-brand mobile phone application information, the tag data needs to include application information corresponding to each brand. However, due to the limited amount of data stored in NFC tags, it is difficult to support the distribution of multi-brand mobile phone application information.
[0070] To this end, the present application embodiment provides a method for obtaining download information of a device management application to solve the above technical problems. Figure 1The scenario shown in is used as an example for introduction. In the present application, the mobile phone 100 does not obtain the download information of the water purifier application from the NFC tag of the water purifier 200, but obtains the download information of the water purifier application from the manufacturer's server of the water purifier 200 (referred to as the "IoT device manufacturer server" in this article). Specifically, the NFC tag 201 of the water purifier 200 (as the second device) contains the identification information of the water purifier 200 (for example, the category identification, model identification, and virtual serial number (as the first serial number, the meaning of the virtual serial number will be explained below) of the water purifier 200). After reading the NFC tag of the water purifier 200, the mobile phone 100 (as the first device) parses the NFC tag data locally on the mobile phone 100 or through the mobile phone manufacturer's server (as the first server) to obtain the identification information of the water purifier 200 written in the NFC tag. Afterwards, the mobile phone or the mobile phone manufacturer's server sends the identification information of the water purifier 200 and the application support capability information of the mobile phone 100 (for example, the manufacturer information, brand information, operating system name and version information of the mobile phone 100, etc.) to the IoT device manufacturer server (as the second server) corresponding to the water purifier device manufacturer. After receiving the information sent by the mobile phone 100, the IoT device manufacturer server determines the water purifier application that can be run on the mobile phone 100 based on the identification information of the water purifier 100 and the application support capability information of the mobile phone 100, and returns the download information of the water purifier application to the mobile phone 100 (for example, URL download address, installation package name, App ID). After obtaining the download information of the water purifier application, the mobile phone 100 can download and start the water purifier application.
[0071] In the implementation of the present application, the download information of the water purifier application is determined by the IoT device manufacturer server based on the identification information of the water purifier 200 and the application support capability information of the mobile phone 100, rather than being fixedly written in the NFC tag. That is, the present application maintains the download information of the water purifier application through the IoT device manufacturer server, rather than maintaining the download information of the water purifier application through the NFC tag. In this way, no matter how the download information of the water purifier application is updated, the IoT device manufacturer server can return real-time and effective application download information to the mobile phone 100, thereby solving the problem of inflexible maintenance of application download information in the prior art.
[0072] It should be noted that in the above description, the IoT device manufacturer server provides the mobile phone 100 with the download information of the water purifier application, that is, in the above description, the IoT device manufacturer server is used as the server for maintaining the download information of the water purifier application. However, the present application is not limited to this. In other embodiments, other devices (for example, mobile phone manufacturer servers, Huawei ability gallery (HAG)) can be used as servers for maintaining the download information of the water purifier application. At this time, the download information of the water purifier application is provided to the mobile phone 100 through other devices (for example, mobile phone manufacturer servers, HAG).
[0073] Above Figure 1 The technical solution of the present application is introduced by taking the illustrated scenario as an example, but the present application is not limited thereto. The technical solution of the present application can be applied to smart home devices other than the water purifier 200 (e.g., smart air conditioners, smart washing machines, etc.), as well as other IoT devices other than smart home devices, such as urban public facilities (e.g., road surveillance cameras, fire fighting equipment), factory assembly line equipment (e.g., various position sensors, drive motors), construction equipment (e.g., winches, electric welders), office equipment (e.g., projectors, printers, mice), etc., without going into details.
[0074] In this application, the server (for example, the IoT device manufacturer server) can be a distributed server. For a distributed server, its data and programs are not located on the same server, but are distributed to multiple servers, and the target task is completed through the joint cooperation of multiple servers (for example, storing the "tag-application" mapping table mentioned below, determining the water purifier application for the mobile phone, etc.).
[0075] In this application, the control terminal for controlling the IoT device is not limited to a mobile phone, but can also be other devices with computing and display capabilities, such as a smart screen, a tablet, a laptop, etc., which are not limited in this application. The following is an introduction using a mobile phone 100 as an example.
[0076] In the present application, the application support capability information of the control terminal includes information for identifying the product model of the control terminal and / or information of the operating system of the control terminal. Among them, the information for identifying the product model of the control terminal includes any information that can identify the product, including but not limited to product brand, product model, product serial number, product category, etc. The product brands of the control terminal include Huawei and Apple; the product model of the control terminal includes a product code and alphanumeric characters, such as iphone11, mate40, or a product model consisting of letters and numbers alone, such as A2234; the product serial number of the control terminal is the unique identification code of the control terminal, and the model of the product can be queried based on the identification code. The product type of the control terminal refers to the type of the product, such as mobile phones, tablets, watches, etc.
[0077] Figure 2 A schematic structural diagram of the mobile phone 100 is shown.
[0078] The mobile phone 100 may include a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) connector 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, an earphone interface 170D, a sensor module 180, a button 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc. The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, an air pressure sensor 180C, a magnetic sensor 180D, an acceleration sensor 180E, a distance sensor 180F, a proximity light sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0079] It is to be understood that the structure illustrated in the embodiment of the present invention does not constitute a specific limitation on the mobile phone 100. In other embodiments of the present application, the mobile phone 100 may include more or fewer components than shown in the figure, or combine some components, or separate some components, or arrange the components differently. The components shown in the figure may be implemented in hardware, software, or a combination of software and hardware.
[0080] The processor 110 may include one or more processing units, for example, the processor 110 may include an application processor (AP), a modem processor, a graphics processor (GPU), an image signal processor (ISP), a controller, a video codec, a digital signal processor (DSP), a baseband processor, and / or a neural-network processing unit (NPU), etc. Different processing units may be independent devices or integrated into one or more processors.
[0081] The processor can generate operation control signals based on instruction opcodes and timing signals to complete the control of instruction fetching and execution.
[0082] The processor 110 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor 110 is a cache memory. The memory may store instructions or data that the processor 110 has just used or cyclically used. If the processor 110 needs to use the instruction or data again, it may be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0083] In some embodiments, the processor 110 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, and a subscriber identity module (SIM) interface.
[0084] The I2C interface is a bidirectional synchronous serial bus, including a serial data line (SDA) and a serial clock line (SCL). In some embodiments, the processor 110 may include multiple groups of I2C buses. The processor 110 may be coupled to the touch sensor 180K, the charger, the flash, the camera 193, etc. through different I2C bus interfaces. For example, the processor 110 may be coupled to the touch sensor 180K through the I2C interface, so that the processor 110 communicates with the touch sensor 180K through the I2C bus interface to realize the touch function of the mobile phone 100.
[0085] The I2S interface can be used for audio communication. In some embodiments, the processor 110 can include multiple I2S buses. The processor 110 can be coupled to the audio module 170 via the I2S bus to achieve communication between the processor 110 and the audio module 170. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 via the I2S interface to achieve the function of answering a call through a Bluetooth headset.
[0086] The PCM interface can also be used for audio communication, sampling, quantizing and encoding analog signals. In some embodiments, the audio module 170 and the wireless communication module 160 can be coupled via a PCM bus interface. In some embodiments, the audio module 170 can also transmit audio signals to the wireless communication module 160 via the PCM interface to realize the function of answering calls via a Bluetooth headset. Both the I2S interface and the PCM interface can be used for audio communication.
[0087] The UART interface is a universal serial data bus for asynchronous communication. The bus can be a bidirectional communication bus. It converts the data to be transmitted between serial communication and parallel communication. In some embodiments, the UART interface is generally used to connect the processor 110 and the wireless communication module 160. For example, the processor 110 communicates with the Bluetooth module in the wireless communication module 160 through the UART interface to implement the Bluetooth function. In some embodiments, the audio module 170 can transmit an audio signal to the wireless communication module 160 through the UART interface to implement the function of playing music through a Bluetooth headset.
[0088] The MIPI interface can be used to connect the processor 110 with peripheral devices such as the display screen 194 and the camera 193. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 110 and the camera 193 communicate via the CSI interface to realize the shooting function of the mobile phone 100. The processor 110 and the display screen 194 communicate via the DSI interface to realize the display function of the mobile phone 100.
[0089] The GPIO interface can be configured by software. The GPIO interface can be configured as a control signal or as a data signal. In some embodiments, the GPIO interface can be used to connect the processor 110 with the camera 193, the display 194, the wireless communication module 160, the audio module 170, the sensor module 180, etc. The GPIO interface can also be configured as an I2C interface, an I2S interface, a UART interface, a MIPI interface, etc.
[0090] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present invention is only a schematic illustration and does not constitute a structural limitation on the mobile phone 100. In other embodiments of the present application, the mobile phone 100 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0091] The wireless communication function of the mobile phone 100 can be implemented through the antenna 1, the antenna 2, the mobile communication module 150, the wireless communication module 160, the modem processor and the baseband processor.
[0092] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in mobile phone 100 can be used to cover a single or multiple communication frequency bands. Different antennas can also be reused to improve the utilization of antennas. For example, antenna 1 can be reused as a diversity antenna for a wireless local area network. In some other embodiments, the antenna can be used in combination with a tuning switch.
[0093] The mobile communication module 150 can provide solutions for wireless communications including 2G / 3G / 4G / 5G, etc., applied to the mobile phone 100. The mobile communication module 150 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves from the antenna 1, and filter, amplify, and process the received electromagnetic waves, and transmit them to the modulation and demodulation processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modulation and demodulation processor, and convert it into electromagnetic waves for radiation through the antenna 1. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the processor 110. In some embodiments, at least some of the functional modules of the mobile communication module 150 can be set in the same device as at least some of the modules of the processor 110.
[0094] The modem processor may include a modulator and a demodulator. Among them, the modulator is used to modulate the low-frequency baseband signal to be sent into a medium-high frequency signal. The demodulator is used to demodulate the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After the low-frequency baseband signal is processed by the baseband processor, it is passed to the application processor. The application processor outputs a sound signal through an audio device (not limited to a speaker 170A, a receiver 170B, etc.), or displays an image or video through a display screen 194. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 110 and be set in the same device as the mobile communication module 150 or other functional modules.
[0095] The wireless communication module 160 can provide wireless communication solutions including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), infrared (IR), etc., which are applied to the mobile phone 100. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via the antenna 2, modulates the frequency of the electromagnetic wave signal and performs filtering, and sends the processed signal to the processor 110. The wireless communication module 160 can also receive the signal to be sent from the processor 110, modulate the frequency of it, amplify it, and convert it into electromagnetic waves for radiation through the antenna 2.
[0096] In some embodiments, the antenna 1 of the mobile phone 100 is coupled to the mobile communication module 150, and the antenna 2 is coupled to the wireless communication module 160, so that the mobile phone 100 can communicate with the network and other devices through wireless communication technology. The wireless communication technology may include global system for mobile communications (GSM), general packet radio service (GPRS), code division multiple access (CDMA), wideband code division multiple access (WCDMA), time-division code division multiple access (TD-SCDMA), long term evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technology. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS), a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS).
[0097] The mobile phone 100 implements the display function through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 110 may include one or more GPUs that execute program instructions to generate or change display information.
[0098] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode or an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), Miniled, MicroLed, Micro-oLed, a quantum dot light-emitting diode (QLED), etc. In some embodiments, the mobile phone 100 may include 1 or N display screens 194, where N is a positive integer greater than 1.
[0099] The external memory interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the mobile phone 100. The external memory card communicates with the processor 110 through the external memory interface 120 to implement a data storage function, such as storing music, video and other files in the external memory card.
[0100] The internal memory 121 can be used to store computer executable program codes, which include instructions. The internal memory 121 may include a program storage area and a data storage area. Among them, the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc. The data storage area may store data created during the use of the mobile phone 100 (such as audio data, a phone book, etc.), etc. In addition, the internal memory 121 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, a universal flash storage (UFS), etc. The processor 110 executes various functional applications and data processing of the mobile phone 100 by running instructions stored in the internal memory 121, and / or instructions stored in a memory provided in the processor. The instructions stored in the internal memory 121 may include: instructions that, when executed by at least one of the processors, cause the mobile phone 100 to implement the steps performed by the mobile phone in the device management application download information acquisition method provided in the embodiment of the present application.
[0101] The software system of the mobile phone 100 may adopt a layered architecture, an event-driven architecture, a micro-kernel architecture, a micro-service architecture, or a cloud architecture. The embodiment of the present invention takes the Android system of the layered architecture as an example to exemplify the software structure of the mobile phone 100.
[0102] Figure 3 It is a software structure block diagram of the mobile phone 100 according to an embodiment of the present invention.
[0103] The layered architecture divides the software into several layers, each with clear roles and division of labor. The layers communicate with each other through software interfaces. In some embodiments, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system library, and the kernel layer.
[0104] The application layer can include a series of application packages.
[0105] like Figure 3 As shown, the application package may include camera, gallery, calendar, call, map, navigation, WLAN, Bluetooth, music, video, touch application, etc. Among them, the touch application is an NFC tag reading application for reading tag data in an NFC tag.
[0106] The application framework layer provides an application programming interface (API) and a programming framework for the applications in the application layer. The application framework layer includes some predefined functions.
[0107] like Figure 3 As shown, the application framework layer may include a window manager, a content provider, a view system, a phone manager, a resource manager, a notification manager, and the like.
[0108] The window manager is used to manage window programs. The window manager can obtain the display screen size, determine whether there is a status bar, lock the screen, capture the screen, etc.
[0109] Content providers are used to store and retrieve data and make it accessible to applications. The data may include videos, images, audio, calls made and received, browsing history and bookmarks, phone books, etc.
[0110] The view system includes visual controls, such as controls for displaying text, controls for displaying images, etc. The view system can be used to build applications. A display interface can be composed of one or more views. For example, a display interface including a text notification icon can include a view for displaying text and a view for displaying images.
[0111] The phone manager is used to provide communication functions of the mobile phone 100, such as management of call status (including answering, hanging up, etc.).
[0112] The resource manager provides various resources for applications, such as localized strings, icons, images, layout files, video files, and so on.
[0113] The notification manager enables applications to display notification information in the status bar. It can be used to convey notification-type messages and can disappear automatically after a short stay without user interaction. For example, the notification manager is used to notify download completion, message reminders, etc. The notification manager can also be a notification that appears in the system top status bar in the form of a chart or scroll bar text, such as notifications of applications running in the background, or a notification that appears on the screen in the form of a dialog window. For example, a text message is displayed in the status bar, a prompt sound is emitted, an electronic device vibrates, an indicator light flashes, etc.
[0114] Android Runtime includes core libraries and virtual machines. Android runtime is responsible for scheduling and management of the Android system.
[0115] The core library consists of two parts: one part is the function that needs to be called by the Java language, and the other part is the Android core library.
[0116] The application layer and the application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and the application framework layer as binary files. The virtual machine is used to perform functions such as object life cycle management, stack management, thread management, security and exception management, and garbage collection.
[0117] The system library may include multiple functional modules, such as surface manager, media library, 3D graphics processing library (such as OpenGL ES), 2D graphics engine (such as SGL), etc.
[0118] The surface manager is used to manage the display subsystem and provide the fusion of 2D and 3D layers for multiple applications.
[0119] The media library supports playback and recording of a variety of commonly used audio and video formats, as well as static image files, etc. The media library can support a variety of audio and video encoding formats, such as: MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, etc.
[0120] The 3D graphics processing library is used to implement 3D graphics drawing, image rendering, compositing, and layer processing.
[0121] A 2D graphics engine is a drawing engine for 2D drawings.
[0122] The kernel layer is the layer between hardware and software. The kernel layer contains at least display driver, camera driver, audio driver, and sensor driver.
[0123] The embodiment of the present application is used to provide a method for obtaining download information of an application. Figure 1 The exemplary scenario shown introduces the technical solution of the embodiment of the present application.
[0124] Before describing the interaction process between the mobile phone 100 and the water purifier 200, an exemplary data structure of NFC tag data used in the embodiment of the present application is first introduced (the data structure complies with the NFC application layer protocol (NDEF protocol)). Figure 4 , NFC tag data includes NDEF data header part (NDEF Record Header) and NDEF effective load part (NDEF Record payload), among which, NDEF data header part has a fixed format, and NDEF effective load part has a user-defined format.
[0125] The NDEF payload part is divided into fixed data fields and device manufacturer-defined data fields. The fixed data fields have a fixed format, while the device manufacturer-defined fields have a customized format based on their specific business.
[0126] Table 1 shows the data structure of the NFC tag data provided in this embodiment and the meaning of each field. Among them, the fixed data field includes the manufacturer information of the IoT device manufacturer.
[0127] Table 1
[0128]
[0129]
[0130] Table 1 is an exemplary description of the NFC tag data format, and the present application is not limited thereto. A person skilled in the art may set the format of the NFC tag data in other ways. For example, some fields may be added or deleted (for example, the "chip type" field may be deleted, and the "manufacturer and device information" field may be split into two fields, "manufacturer information" and "device information"), the length of the field may be changed (for example, the length of the manufacturer and device information field may be increased to indicate more abundant category / model information), and the definition of the field may be changed (for example, the meaning of the "type" field in the NDEF data header may be changed to indicate the manufacturer information of the IoT device).
[0131] The virtual serial number of the IoT device is written in the NFC tag. For different NFC tags, the written virtual serial number is a different value. In this way, the data of each NFC tag is different from each other. Therefore, the NFC tag can be used as a "tag" of the IoT device.
[0132] In this embodiment, the "virtual serial number" of the device is a term that is different from and related to the "product serial number" of the device. The meaning of the product serial number is first introduced below, and then the relationship between the two is introduced.
[0133] The product serial number is a number that the IoT device manufacturer assigns to the IoT device during the production process of the IoT device to uniquely identify the IoT device. After the IoT device is sold, the user can verify the legitimacy of the IoT device based on the product serial number of the IoT device, or perform anti-counterfeiting authentication on the IoT device. Usually, the user can see the product serial number of the IoT device on the body of the IoT device (it may be a serial number represented in the form of a barcode), or read the product serial number of the IoT device from the embedded control chip of the IoT device.
[0134] Exemplarily, the IoT device manufacturer assigns a product serial number to the IoT device based on the manufacturer identification, category identification, model identification, and production serial number of the IoT device. Taking the water purifier 200 as an example, the product serial number assigned by the IoT device manufacturer to the water purifier 200 is Mros-4 1002, where M is the manufacturer identification of the water purifier 200, ros-4 is the product type identification of the water purifier 200 (where "ros" represents a reverse osmosis filter water purifier, and "4" represents a 4-stage filter cartridge filter), and 1002 represents the production serial number of the water purifier 200.
[0135] In this article, the attribute "identification" of the IoT device can be uniquely determined. For example, the category identification of the IoT device can uniquely determine the category to which the IoT device belongs, and the manufacturer identification of the IoT device can be used to determine the manufacturer of the IoT device. On this basis, this article does not limit the specific implementation form of the "identification". The "identification" can be in plain text (for example, the manufacturer identification "MD" represents "Midea"), or it can be in ciphertext (for example, "5186" in the "Manufacturer and Device Information" field of Table 1 is a product type number identification presented in ciphertext. After the IoT device manufacturer decodes "5186", the category and model of the water purifier 200 can be uniquely determined). The "identification" may include numbers, letters, symbols, or a combination thereof, which is not limited in this application.
[0136] In addition, the category identification and model identification of IoT devices can be presented in a combined form. This article refers to the identification presented in this form as the "category identification". The category identification field and model identification field are not clear in the category identification field, but the category and model of the IoT device are identified as a whole. For example, "ros-4" as a whole identifies the corresponding IoT device as a 4-stage filter cartridge filtration, reverse osmosis filtration water purifier.
[0137] The following introduces the relationship between the equipment's "virtual serial number" and the equipment's "product serial number" in conjunction with the water purifier's production process.
[0138] During the production process, the water purifier and the NFC tag are produced in different factories or on different production lines. Before the water purifier leaves the factory, it is necessary to combine the water purifier and the NFC tag together (for example, attach the NFC tag to the water purifier body, or put the NFC tag in the water purifier packaging), and then assemble the two for shipment.
[0139] If the product serial number of the water purifier is written in the "Value-2" field of the NFC tag, then when combining the water purifier with the NFC tag, there is a problem of how to match the two one-to-one. For example, for 1,000 water purifiers with product serial numbers of Mros-4 1001 to Mros-4 2000, and 1,000 NFC tags with "Value-2" of Mros-4 1001 to Mros-4 2000, it is necessary to combine the water purifier with product serial number Mros-4 1001 with the NFC tag with "Value-2" of Mros-4 1001, and then combine the water purifier with product serial number Mros-4 1002 with the NFC tag with "Value-2" of Mros-4 1002, and so on. It can be understood that in the actual production process, such an operation will greatly reduce production efficiency.
[0140] To this end, this embodiment adopts the method of virtual serial number of IoT device written in NFC tag. This embodiment adopts the method of manufacturer identification + category identification + random number to determine the virtual serial number in the NFC tag. For example, the virtual serial number in the NFC tag of water purifier 200 is 0x4D441783255425, where the first two bytes "4D44" correspond to the ASCII code "MD", indicating the manufacturer identification of the water purifier manufacturer; the third byte "17" is the category identification of water purifier 200, and the subsequent bytes "83255425" are random numbers generated according to the random number generation algorithm. The virtual serial number compilation rules provided in this embodiment are not only conducive to quickly mapping the virtual serial number to the product serial number of the device (the reason will be specifically introduced in step S130 below), but also the virtual serial number includes a random number part, which is conducive to improving the security of information.
[0141] In other embodiments, the virtual serial number in the NFC tag can be determined in other ways. For example, device classification information (e.g., device model information) that is more detailed than the category information is written into the virtual serial number; or, the virtual serial number does not include the manufacturer identification and category identification, and all bytes of the virtual serial number are generated by a random number algorithm; or, the random number part of the virtual serial number is replaced with the writing time of the tag data, etc., which will not be described one by one, as long as the virtual serial numbers of the NFC tags are different from each other.
[0142] Through the method for determining the virtual serial number provided by the present application, when combining a water purifier with an NFC tag, any NFC tag used for the water purifier (i.e., an NFC tag whose first two bytes of the virtual serial number are "17") can be combined with any water purifier, thereby greatly reducing the difficulty of combination and improving the efficiency of combination. After the water purifier 200 is combined with the NFC tag, the product serial number and the virtual serial number of the water purifier are entered into the IoT device manufacturer server, and a mapping relationship between the product serial number and the virtual serial number of each water purifier is established (please refer to Table 2). Through the method provided in this embodiment, the association between the product serial number of the water purifier and the virtual serial number can be easily established, which can significantly reduce the difficulty of operation compared to the method of writing the product serial number of the water purifier in NFC.
[0143] Taking the product serial number in the form of a barcode as an example, this article introduces a method for associating the product serial number of a water purifier with a virtual serial number. In this example, a barcode is attached to the body of the water purifier, and the barcode contains the product serial number of the water purifier. When the water purifier and the NFC tag are combined, the operator can read the product serial number of the water purifier through a barcode scanner, and write the read product serial number into the i-th row of the "Product Serial Number" column in Table 2; read the NFC tag data through an NFC tag reader, and write the read NFC tag data into the i-th row of the "Virtual Serial Number" column in Table 2, thereby establishing an association between the product serial number of the water purifier and the virtual serial number, which is easy to operate.
[0144] It should be noted that, in the present embodiment, the mapping relationship between the product serial number and the virtual serial number is established in the form of a table (in Table 2, the product serial number and the virtual serial number in the same row are associated with each other), but the present application is not limited to this, and the mapping relationship between the product serial number and the virtual serial number can also be established in other forms. For example, the mutually associated product serial number and virtual serial number point to the same association code, and the mutually associated product serial number and virtual serial number can be determined by the association code.
[0145] Table 2
[0146]
[0147] The data structure of the tag data in the NFC tag provided by this embodiment is described above. The following describes the method for obtaining the download information of the application provided by this embodiment.
[0148] [Example 1]
[0149] refer to Figure 5 This embodiment provides a method for obtaining download information of an application, comprising the following steps:
[0150] S110: The mobile phone 100 (as the first device) reads the tag data in the NFC tag 201 of the water purifier 200 (as the second device).
[0151] The mobile phone 100 reads the tag data in the NFC tag 201 through the NFC tag reading application installed therein. When the NFC switch of the mobile phone 100 is turned on (the user can Figure 6 Turn on the NFC switch in the manner shown in the figure, or turn on the NFC switch in the system application menu "Settings"), bring the mobile phone 100 close to the NFC tag 201 of the water purifier 200 or touch the NFC tag 201 of the water purifier 200 (such as Figure 1 As shown), the NFC tag reading application in the mobile phone 100 can read the tag data in the NFC tag 201 (ie, the data in the "Field Value" column of Table 1).
[0152] After reading the tag data in the NFC tag, the NFC tag reading application parses the device manufacturer identification of the water purifier 200 (the device manufacturer is referred to as manufacturer A in this article) from the "manufacturer and device information" field of the tag data.
[0153] S120: The mobile phone 100 sends a water purifier application download information acquisition request (as a first request) to the IoT device manufacturer server (as a second server), and the acquisition request includes the identification information of the water purifier 200 in the NFC tag data and the application support capability information of the mobile phone 100.
[0154] First, the NFC tag reading application obtains the application support capability information of the mobile phone 100. For example, the NFC tag reading application obtains the application support capability information of the mobile phone 100 from the operating system of the mobile phone 100, or from the system application "Settings" of the mobile phone 100. In this embodiment, the application support capability information of the mobile phone 100 is used to determine the applications that can be run on the mobile phone 100, specifically one or more of the following: the manufacturer information of the mobile phone 100 (for example, Huawei), the brand information of the mobile phone 100 (for example, P40), the name and / or version information of the operating system of the mobile phone 100 (for example, EMUI 11.0), etc.
[0155] Then, the NFC tag reading application sends the application support capability information of the mobile phone 100 and the identification information of the water purifier 200 to the IoT device manufacturer server, so as to send a water purifier application download information acquisition request to the IoT device manufacturer server. Specifically, the NFC tag reading application sends the above information to the IoT device manufacturer server through the tag parsing SDK (as the first SDK) integrated therein.
[0156] Among them, the tag transfer SDK can parse the tag data in the NFC tag and can be used as a communication interface for the NFC tag reading application to communicate with the outside world. The tag parsing SDK includes the service request address of the IoT device manufacturer's server. The NFC tag reading application can send information to the IoT device manufacturer's server corresponding to the service request address through the tag parsing SDK. In this embodiment, the tag parsing SDK is an SDK provided by the IoT device manufacturer to the mobile phone manufacturer. After receiving the note parsing SDK from the IoT device manufacturer, the mobile phone manufacturer integrates it into the NFC tag reading application on the mobile phone 100.
[0157] refer to Figure 7 , multiple tag parsing SDKs can be integrated into the NFC tag reading application. Each tag parsing SDK corresponds to a different IoT device manufacturer (with the service request address of the server of different IoT device manufacturers) to send data to the servers of different IoT device manufacturers.
[0158] In addition, the tag parsing SDK also has a tag parsing function, which can parse the NFC tag of the IoT device manufacturer corresponding to the tag parsing SDK. For example, the 1# tag parsing SDK can parse the NFC tag 201 of the water purifier 200 produced by manufacturer A to obtain the identification information of the water purifier 200 written in the NFC tag 201. In this embodiment, the identification information of the water purifier 200 includes the manufacturer identification and product type number identification of the water purifier 200 (that is, the data in the "Manufacturer and Device Information" field of Table 1), and the virtual serial number of the water purifier 200. The present application is not limited to this. In other embodiments, the identification information of the water purifier 200 includes one or more of the following: the category identification of the water purifier 200, the model identification of the water purifier 200, and the virtual serial number of the water purifier 200.
[0159] When sending data to the IoT device manufacturer server, the NFC tag reading application determines the target IoT device manufacturer (i.e., manufacturer A) for receiving data based on the IoT device manufacturer identifier parsed in step S110, thereby passing the tag data in the NFC tag 201 to the 1# tag parsing SDK corresponding to manufacturer A. After receiving the tag data, the 1# tag parsing SDK parses the tag data to obtain the identification information of the water purifier 200 written in the NFC tag 201. Afterwards, the 1# tag parsing SDK sends the identification information of the water purifier 200 and the application support capability information of the mobile phone 100 to the server of "manufacturer A".
[0160] S130 : The IoT device manufacturer server determines the device management application corresponding to the water purifier 200 according to the identification information of the water purifier 200 .
[0161] In this embodiment, IoT devices of the same category correspond to the same device management application (may correspond to the same device management application, may correspond to the same group of device management applications), that is, when multiple IoT devices belong to the same category (for example, they belong to the same water purifier category), even if they are of different models (for example, some water purifiers are reverse osmosis water purifiers, and other water purifiers are ultrafiltration water purifiers), the multiple IoT devices still correspond to the same device management application. However, when IoT devices belong to different categories, they correspond to different device management applications, for example, water purifiers and air conditioners correspond to different device management applications.
[0162] The IoT device manufacturer's server stores the mapping relationship between the categories of IoT devices and device management applications. In this way, when the IoT device manufacturer's server determines the category to which the IoT device belongs, it can determine the device management application corresponding to the IoT device based on the mapping relationship.
[0163] After receiving the identification information of the water purifier 200, the IoT device manufacturer server determines one or more (a group of) device management applications corresponding to the water purifier 200 according to the identification information of the water purifier 200. In this embodiment, the identification information of the water purifier 200 includes the virtual serial number of the water purifier 200 and the product type identification of the water purifier 200. The following is a specific example of the IoT device manufacturer server determining the device management application corresponding to the water purifier 200.
[0164] Example 1: The IoT device manufacturer server determines the device management application corresponding to the water purifier 200 according to the product type identification of the water purifier 200.
[0165] Referring to Table 1, in the NFC tag of the water purifier 200, the product type number of the water purifier 200 is identified as "5186". As mentioned above, the identification is an identification presented in cipher text. After receiving the identification information of the water purifier 200, the IoT device manufacturer server decodes "5186" according to the manufacturer's customized encoding rules to determine that the IoT device corresponding to "5186" is a water purifier of model "ros-4". Then the IoT device manufacturer server determines that the device management application corresponding to the "water purifier" category is the application in Table 3 (i.e., the device management application corresponding to the water purifier 200) based on the mapping relationship between the category of IoT devices stored locally and the device management application.
[0166] Example 2: The IoT device manufacturer server determines the device management application based on the virtual serial number of the water purifier 200.
[0167] After receiving the virtual serial number of the water purifier 200, the IoT device manufacturer server determines the product serial number (Mros-41002) corresponding to the virtual serial number by querying the mapping relationship table between the device's product serial number and the virtual serial number (Table 2). After determining the product serial number of the IoT device, the device management application corresponding to the IoT device is determined according to the category of the IoT device (i.e., water purifier) (the applications listed in Table 3).
[0168] When querying the product serial number, you can first determine that the category of the IoT device is "water purifier" based on the third byte of the virtual serial number "17 (i.e. category identifier)", so that you can narrow the query scope to the entry corresponding to "Water Purifier 200" to speed up the mapping of the virtual serial number to the product serial number.
[0169] In other embodiments, after receiving the virtual serial number of the water purifier 200, the IoT device manufacturer server determines that the category of the IoT device is "water purifier" based on the third byte "17 (i.e., category identifier)" of the virtual serial number, and thereby determines that the device management application corresponding to the IoT device is the application listed in Table 3 based on the category to which the IoT device belongs.
[0170] In other embodiments, the IoT device manufacturer server stores a mapping relationship between the virtual serial number and the device management application. In this case, the device management application corresponding to the IoT device can be directly queried based on the virtual serial number.
[0171] Example 3: The IoT device manufacturer server executes the methods provided by Example 1 and Example 2 in parallel. When one of them obtains the determination result of the device management application faster than the other, the determination result is used as the device management application corresponding to the IoT device. This example can determine the device management application as quickly as possible by executing Example 1 and Example 2 in parallel.
[0172] In this embodiment, IoT devices of the same category correspond to the same device management application, but the present application is not limited to this. In other embodiments, the device management application can be further subdivided, that is, different models of IoT devices under the same category correspond to different device management applications, for example, reverse osmosis water purifiers and ultrafiltration water purifiers correspond to different device management applications. At this time, the IoT device manufacturer server stores the mapping relationship between the model of the IoT device and the device management application. Accordingly, the IoT device manufacturer server determines the device management application corresponding to the IoT device according to the model of the IoT device.
[0173] For example, after the IoT device manufacturer server decodes the product type identification "5186" of the water purifier 200, it determines the device management application corresponding to the water purifier 200 according to the model "ros-4 (reverse osmosis water purifier)" of the water purifier 200; for another example, the IoT device manufacturer server determines the product serial number (Mros-41002) of the water purifier 200 according to the virtual serial number of the water purifier 200, and determines the model "ros-4 (reverse osmosis water purifier)" of the water purifier 200 according to the product serial number of the water purifier 200, thereby determining the device management application corresponding to the water purifier 200.
[0174] In this embodiment, the device management application corresponding to the water purifier 200 determined by the IoT device manufacturer server is shown in Table 3.
[0175] Table 3
[0176]
[0177]
[0178] Among them, "traditional APP" refers to APP that can be supported by iOS system and Android native system (for example, WeChat TM , Alipay TM The process of installing this type of APP is generally as follows: after the user downloads the installation package of this type of APP in the application market, click the "install" button to install it in the mobile phone.
[0179] "Quick Apps" are applications that users do not need to install. The phone automatically installs the application after downloading the installation package of such applications, thus providing users with a "click-to-use" experience.
[0180] In addition, the "companyname" in the application installation package name is a manufacturer identifier, through which the manufacturer that provides the application can be identified.
[0181] S140: The IoT device manufacturer server determines a water purifier application suitable for the mobile phone 100 according to the application support capability information of the mobile phone 100.
[0182] As shown in Table 3, based on system compatibility (for example, applications for Android systems may not be compatible with iOS systems, and quick applications may not be compatible with Android native systems), business purposes, and other considerations, an IoT device may correspond to multiple device management applications. In this embodiment, after determining the multiple water purifier applications corresponding to the water purifier 200, the IoT device manufacturer server selects an application suitable for the mobile phone 100 (i.e., an application that the mobile phone 100 can install and run) from the multiple water purifier applications based on the application support capability information of the mobile phone 100.
[0183] In this embodiment, the application suitable for mobile phone 100 is determined based on the operating system of mobile phone 100. For example, the operating system of mobile phone 100 is EMUI. Therefore, the IoT device manufacturer server determines that the water purifier application suitable for mobile phone 100 is "Water Purifier EMUI Edition (this application is a quick application)".
[0184] The present application is not limited thereto, and in other embodiments, the IoT device manufacturer server may determine the device management application applicable to the mobile phone 100 based on other application support capability information. For example, in some cases, there is a clear correspondence between the mobile phone brand and its operating system, and in this case, the device management application applicable to the mobile phone 100 may be determined based on the brand of the mobile phone 100; in other cases, there is a clear correspondence between the manufacturer of the mobile phone 100 and its operating system, and in this case, the device management application applicable to the mobile phone 100 may be determined based on the manufacturer of the mobile phone 100 (for example, the device management application may be determined as "Smart Home iOS Version" based on the manufacturer "Apple").
[0185] The above is an exemplary description of determining the application of a water purifier, and those skilled in the art may make other modifications, for example, exchanging the order of step S130 and step S140, that is, first determining the application suitable for mobile phone 100 based on the application support capability information of mobile phone 100, and then selecting the application corresponding to water purifier 200 from the applications suitable for mobile phone 100 based on the identification information of water purifier 200.
[0186] S150: The IoT device manufacturer server sends download information of the water purifier application ("Water Purifier") to the mobile phone 100 (as a first request response).
[0187] In this embodiment, the download information sent by the IoT device manufacturer server to the mobile phone 100 is used to provide the mobile phone 100 with a download path for the "Water Purifier". That is, the mobile phone 100 can download the installation package of the "Water Purifier" according to the download information received from the IoT device manufacturer server. On this basis, this embodiment does not limit the specific form of the download information. Several specific examples are given below.
[0188] Example 1: The download information sent by the IoT device manufacturer server to the mobile phone 100 is the installation package name of "Purifier" (com.companyname.purifier01.apk). When "Purifier" is a traditional App, the mobile phone 100 can download the installation package of "Purifier" according to the installation package name of "Purifier".
[0189] Example 2: The download information sent by the IoT device manufacturer's server to the mobile phone 100 is the installation package name of "Water Purifier" and the URL download address of "Water Purifier" (for example, the URL download address of "Water Purifier" is the download address of the "Water Purifier" application on the official website of the water purifier manufacturer). In this example, the mobile phone 100 can download the installation package of "Water Purifier" from the URL download address of "Water Purifier".
[0190] For example 1 and example 2, after the mobile phone 100 receives the download information of "Water Purifier" from the server of the IoT device manufacturer, it can also request the unique identifier of "Water Purifier" in the application market (for example, Huawei application market server) according to the installation package name of "Water Purifier" - App ID (as application ID). Specifically, after the mobile phone 100 receives the installation package name of "Water Purifier" from the server of the IoT device manufacturer, it sends an App ID acquisition request (with the installation package name of "Water Purifier") to the application market server (as the third server) Figure 5 After receiving the App ID acquisition request, the application market server queries the App ID of "Water Purifier" in the application market according to the installation package name of "Water Purifier", and returns the App ID of "Water Purifier" to the mobile phone ( Figure 5 After obtaining the App ID of the "Water Purifier", the mobile phone 100 can download the installation package of the "Water Purifier" from the application market according to the App ID.
[0191] In this embodiment, the mobile phone 100 can receive the download information of the "Water Purifier" sent by the IoT device manufacturer's server through the tag resolution SDK (specifically 1# tag resolution SDK), send an App ID acquisition request to the application market server, and receive the App ID of the "Water Purifier" returned by the application market server to the mobile phone.
[0192] Example 3: The download information sent by the IoT device manufacturer server to the mobile phone 100 is the installation package name of "Water Purifier" and the App ID of "Water Purifier". In this example, the mobile phone 100 can download the installation package of "Water Purifier" from the application market according to the App ID.
[0193] Example 4: The download information sent by the IoT device manufacturer server to the mobile phone 100 is the installation package name of "Water Purifier", the App ID of "Water Purifier" and the URL download address of "Water Purifier". In this example, the mobile phone 100 can download the installation package of "Water Purifier" from the application market according to the App ID, or download the installation package of "Water Purifier" according to the URL download address of "Water Purifier". In order to improve the security of application downloads, the mobile phone 100 preferentially downloads the installation package of "Water Purifier" from the application market.
[0194] For Example 3 and Example 4, the App ID sent by the IoT device manufacturer server to the mobile phone 100 can be the App ID stored locally on the IoT device manufacturer server, or it can be the App ID requested by the IoT device manufacturer server to the application market server based on the installation package name of “Water Purifier” before sending the download information of “Water Purifier” to the mobile phone 100.
[0195] In addition, for the above-mentioned examples 1 to 4, the download information sent by the IoT device manufacturer server to the mobile phone 100 may also include the version information of the "Water Purifier" to facilitate the mobile phone 100 to update the version of the "Water Purifier".
[0196] S160: The mobile phone 100 downloads and starts the "Water Purifier" according to the download information of the "Water Purifier". Specifically, after the mobile phone 100 receives the download information of the "Water Purifier", it starts the "Water Purifier" through the NFC tag reading application. The method of starting the "Water Purifier" by the NFC tag reading application can refer to the method of starting the application by the mobile phone in the prior art, for example, the method of the Android native system downloading and starting the application through the installation package name of the application (in this case, the application is a traditional App); or, the method of the EMUI or MIUI system downloading and starting the application through the App ID or URL download address of the application (in this case, the application is a mini program or quick application), etc.
[0197] The following is an exemplary description of the process of launching "Water Purifier" by the mobile phone 100. In this embodiment, "Water Purifier" is a quick application, so the mobile phone 100 downloads and launches "Water Purifier" through the App ID or URL download address of "Water Purifier".
[0198] To improve the security of the application download process, the mobile phone 100 first downloads and starts the "Water Purifier" through the App ID of the "Water Purifier". That is, when the download information sent by the IoT device to the mobile phone 100 includes the App ID of the "Water Purifier", or when the mobile phone 100 successfully obtains the App ID of the "Water Purifier" from the application market server, the mobile phone 100 downloads and starts the "Water Purifier" through the AppID of the "Water Purifier"; otherwise, the mobile phone 100 downloads and starts the "Water Purifier" through the URL download address of the "Water Purifier".
[0199] The following is an illustrative introduction to the process of mobile phone 100 downloading and starting "Water Purifier" through the App ID of "Water Purifier". The specific process is: the NFC tag reading application passes the App ID and installation package name of "Water Purifier" to the operating system, and sends a request to the operating system to start the "Water Purifier" application by calling the API function provided by the operating system (for example, startActivity() function, or startAbility() function). After receiving the request to start the "Water Purifier" application, the operating system determines whether there is an installation package of "Water Purifier" locally on the mobile phone 100. If so, the "Water Purifier" application is started through the installation package name of "Water Purifier"; if not, the operating system will download the installation package of "Water Purifier" in the application market through the App ID of "Water Purifier", and start the "Water Purifier" application according to the installation package name of "Water Purifier" after the download is complete.
[0200] In this embodiment, "Water Purifier" is a quick application. Therefore, through the method provided in this embodiment, when the user touches the NFC tag of the water purifier 200 with the mobile phone 100, the mobile phone 100 downloads and automatically starts the water purifier application in a way that the user does not perceive, thereby providing the user with a "one-touch start application" experience. Figure 8 In the unlocked state of the mobile phone 100, when the user touches the NFC tag 201 of the water purifier 200 with the mobile phone 100, the mobile phone 100 automatically downloads and opens the "Water Purifier". In other embodiments, the user can also touch the NFC tag 201 of the water purifier 200 with the mobile phone 100 in other states of the mobile phone 100 (for example, when displaying the interface of other APPs, when the mobile phone is locked) to open the "Water Purifier".
[0201] In addition, after downloading the "Water Purifier", the mobile phone 100 can also display the icon of the "Water Purifier" on the desktop of the mobile phone 100 (usually displayed on the negative first screen of the mobile phone 100), so that the user can start the application by clicking the icon of the "Water Purifier", thereby increasing the way to start the application. However, the present application is not limited to this, and in other embodiments, the "Water Purifier" can also be a traditional APP.
[0202] In this embodiment, the user can also stick the NFC tag of the water purifier 200 to a place outside the water purifier 200 (for example, a dining table, a coffee table, a desk, etc.) as needed, or the user can carry the NFC tag of the water purifier 200 with him. In this way, the user can operate the mobile phone 100 at any time to read the NFC tag 201 of the water purifier to start the "Water Purifier", thereby improving the user experience.
[0203] In addition, after the mobile phone 100 obtains the download information of the "Water Purifier" (including the download information of the "Water Purifier" sent by the IoT device manufacturer server to the mobile phone 100 and / or the App ID of the "Water Purifier" obtained by the mobile phone 100 from the application market server), the mapping relationship between the NFC tag data of the water purifier 200 and the download information of the "Water Purifier" can be stored in the local "tag-application" mapping table of the mobile phone 100. Among them, the "tag" in "tag-application" represents the tag data in the NFC tag, and the "application" represents the download information of the "Water Purifier" application. In this way, when the mobile phone 100 reads the NFC tag next time, it can start the "Water Purifier" according to the download information of the "Water Purifier" stored in the "tag-application" mapping table to increase the application startup speed of the mobile phone 100.
[0204] In summary, in this embodiment, when the IoT device manufacturer server receives the application download information acquisition request from the mobile phone 100, it determines the water purifier application that the mobile phone 100 can run according to the identification information of the water purifier 200 and the application support capability information of the mobile phone 100, and returns the download information of the water purifier application to the mobile phone 100. That is to say, in this application, the download information of the water purifier application is maintained by the IoT device manufacturer server, rather than by the NFC tag as in the prior art. In this way, no matter how the download information of the water purifier application is updated, the IoT device manufacturer server can return real-time and effective application download information to the mobile phone 100, thereby solving the problem of inflexible maintenance of application download information in the prior art.
[0205] In addition, in the present application, the IoT device manufacturer server determines the current version of the water purifier application based on the identification information of the water purifier 200 and the application support capability information of the mobile phone 100, so the user does not need to worry about version upgrades, thereby improving the user experience.
[0206] It should be noted that the method for obtaining download information of the device management application provided in this embodiment is an exemplary description of the technical solution of the present application, and those skilled in the art may make other variations.
[0207] For example, in some embodiments, the carrier of the tag data may be other data carriers besides NFC, such as a QR code, a barcode, an RFID tag, etc. Accordingly, the mobile phone 100 may read the tag data in the tag through other applications. For example, when the carrier of the tag data is a QR code, the mobile phone 100 may read the tag data in the tag through a QR code image reading application (e.g., a "scan" application).
[0208] For another example, in some embodiments, after the IoT device manufacturer server determines the product serial number of the water purifier 200 according to the NFC tag data (for example, determining the product serial number of the water purifier 200 through step S130), the product serial number of the water purifier 200 is sent to the mobile phone 100 so that the mobile phone 100 can use it in other water purifier-related services. For example, in the network distribution service, the device currently requesting to pair with the mobile phone 100 is verified according to the product serial number sent by the IoT device manufacturer server.
[0209] [Example 2]
[0210] This embodiment is based on the first embodiment. This embodiment is modified as follows based on the first embodiment: after the mobile phone 100 reads the tag data in the NFC tag of the water purifier, it queries whether there is application download information corresponding to the NFC tag data in the locally stored "tag-application" mapping table. When there is application download information corresponding to the NFC tag data in the "tag-application" mapping table, the water purifier application is started through the application download information to increase the application startup speed of the mobile phone 100, thereby improving the user experience.
[0211] Specifically, refer to Fig. 9 , the method provided in this embodiment includes the following steps:
[0212] S210: The mobile phone 100 reads the tag data in the NFC tag 201 of the water purifier. Specifically, the mobile phone 100 reads the tag data in the NFC tag 201 of the water purifier through the NFC tag reading application. The process of step S210 is substantially the same as that of step S110 in the first embodiment. Therefore, other details of step S210 not described can refer to the description in the first embodiment and will not be repeated.
[0213] S220: The mobile phone 100 queries the “tag-application” mapping table to see whether there is application download information corresponding to the NFC tag data.
[0214] In the embodiment of the present application, after the mobile phone 100 obtains the download information of the water purifier application from the IoT device manufacturer's server, the mapping relationship between the NFC tag data of the water purifier 200 and the download information of the water purifier application can be stored in the local "tag-application" mapping table of the mobile phone 100. Among them, the "tag" in "tag-application" refers to the tag data in the NFC tag, and the "application" refers to the download information of the "water purifier" application.
[0215] In this way, when the mobile phone 100 reads the NFC tag next time, the water purifier application can be started according to the download information of the water purifier application stored in the "tag-application" mapping table to increase the application startup speed of the mobile phone 100, thereby improving the user experience.
[0216] Specifically, the mobile phone 100 queries the "tag-application" mapping table through the NFC tag reading application to see whether there is application download information corresponding to the NFC tag data. If so, execute step S230 to start the water purifier application; otherwise, execute step S240 to obtain the download information of the water purifier application from the IoT device manufacturer server.
[0217] In some embodiments, when the mobile phone 100 determines that it is the first time to read the NFC tag of the water purifier 200, this step may not be executed, and step S240 may be directly executed.
[0218] S230: The mobile phone 100 starts the water purifier application according to the download information in the “tag-application” mapping table.
[0219] When the "tag-application" mapping table stores download information corresponding to the NFC tag data, the mobile phone 100 starts the water purifier application through the download information. The process of the mobile phone 100 starting the water purifier application is substantially the same as the process of step S160 in the first embodiment. Therefore, the implementation details of step S230 can refer to the description in the first embodiment and will not be repeated.
[0220] S240: The mobile phone 100 obtains the download information of the water purifier application from the IoT device manufacturer server.
[0221] When the download information corresponding to the NFC tag data is not stored in the "tag-application" mapping table, the mobile phone 100 sends the NFC tag data and the application support capability information of the mobile phone 100 to the IoT device manufacturer server to obtain the download information of the water purifier application from the IoT device manufacturer server. The implementation details of step S240 can refer to the description of step S120 to step S152 of embodiment 1, which will not be repeated here.
[0222] After obtaining the download information of the water purifier application, the mobile phone 100 stores the mapping relationship between the NFC tag data and the download information in the local "tag-application" mapping table of the mobile phone 100.
[0223] S250: The mobile phone 100 obtains the download information of the new water purifier application from the IoT device manufacturer server, and updates the download information in the local "tag-application" mapping table.
[0224] In this embodiment, when the mobile phone 100 reads the NFC tag 201 of the water purifier, even if the mobile phone 100 stores application download information corresponding to the NFC tag data, the mobile phone 100 still obtains the latest download information of the water purifier application from the IoT device manufacturer server (the steps for obtaining the download information can refer to the description of steps S120 to S152 of Example 1, which will not be repeated here) to update the "tag-application" mapping table.
[0225] Specifically, after the mobile phone 100 obtains the download information of the water purifier application from the IoT tag management service, it compares it with the download information stored in the "tag-application" mapping table. If the two are inconsistent, the download information in the "tag-application" mapping table is replaced with the download information obtained through this step. Therefore, through the technical solution of this embodiment, when the mobile phone 100 reads the NFC tag 201 of the water purifier 200 next time, the latest version of the water purifier application can be started according to the download information in the "tag-application" mapping table, and the user does not need to worry about the application upgrade, which improves the user experience.
[0226] In some variations of this embodiment, step S250 may not be performed every time the water purifier NFC tag 201 is read, but may be performed according to a set condition. For example, when the time since the last reading of the water purifier NFC tag 201 exceeds a set time (e.g., 3 days), step S250 is performed.
[0227] It should be noted that the step numbers in the embodiments of the present application are not used to limit the execution order of the steps. On the premise of meeting the purpose of the invention, those skilled in the art can adjust the execution order of the steps. For example, the order of steps S230 and S250 can be interchanged, or steps S230 and S250 can be executed in parallel.
[0228] [Example 3]
[0229] This embodiment is based on the first embodiment. This embodiment is modified as follows based on the first embodiment: after the mobile phone 100 reads the NFC tag of the water purifier 200, it does not directly send a water purifier application download information acquisition request to the IoT device manufacturer server, but sends the NFC tag data of the water purifier 200 to the mobile phone manufacturer server (as the first server), and the mobile phone manufacturer server parses the identification information of the water purifier 200 from the NFC tag data, and sends a water purifier application download information acquisition request carrying the identification information of the water purifier 200 to the IoT device manufacturer server. Therefore, in this embodiment, the mobile phone 100 does not need to parse the NFC tag data, nor does it need to communicate directly with the servers of various IoT device manufacturers, but only needs to communicate with the mobile phone manufacturer server. In this way, the NFC tag reading application of the mobile phone 100 does not need to integrate the tag parsing SDK of the servers of various IoT device manufacturers, which can not only make the NFC tag reading application lightweight, but also save the local storage space of the mobile phone 100.
[0230] refer to Fig.10 , this embodiment includes the following steps:
[0231] S310: The mobile phone 100 reads the tag data in the NFC tag 201 of the water purifier.
[0232] The mobile phone 100 reads the tag data in the NFC tag 201 through the NFC tag reading application installed therein. When the NFC switch of the mobile phone 100 is turned on (the user can Figure 6 Turn on the NFC switch in the manner shown in the figure, or turn on the NFC switch in the system application menu "Settings"), bring the mobile phone 100 close to the NFC tag 201 of the water purifier 200 or touch the NFC tag 201 of the water purifier 200 (such as Figure 1 As shown), the NFC tag reading application in the mobile phone 100 can read the tag data in the NFC tag 201 (ie, the data in the "Field Value" column of Table 1).
[0233] S320: The mobile phone 100 sends the tag data of the NFC tag 201 and the application support capability information of the mobile phone 100 to the mobile phone manufacturer's server (as a second request).
[0234] Specifically, the mobile phone 100 sends the NFC tag data of the water purifier 200 and the application support capability information of the mobile phone 100 to the mobile phone manufacturer server through the NFC tag reading application. The process of the NFC tag reading application obtaining the application support capability information of the mobile phone 100 is described in step S120 of the first embodiment.
[0235] S330: The mobile phone manufacturer's server parses the water purifier NFC tag data to obtain identification information of the water purifier 200 in the NFC tag.
[0236] When the mobile phone manufacturer server receives the NFC tag data sent by the mobile phone 100, it parses the NFC tag data to obtain the identification information of the water purifier 200 in the NFC tag. In this embodiment, the identification information of the water purifier 200 includes the manufacturer identification and product type identification of the water purifier 200 (i.e., the data in the "Manufacturer and Device Information" field of Table 1), and the virtual serial number of the water purifier 200. The present application is not limited to this. In other embodiments, the identification information of the water purifier 200 includes one or more of the following: the category identification of the water purifier 200, the model identification of the water purifier 200, and the virtual serial number of the water purifier 200.
[0237] S340: The mobile phone manufacturer server sends a water purifier application download information acquisition request (as the first request) to the IoT device manufacturer server, and the acquisition request includes the identification information of the water purifier 200 in the water purifier NFC tag data and the application support capability information of the mobile phone 100. By parsing the NFC tag data in step S330, the mobile phone manufacturer server can obtain the manufacturer identification "4D44 (corresponding to the ASCII code "MD")" of the water purifier 200 in the "Manufacturer and Device Information" field of the NFC tag data, thereby determining that the manufacturer of the water purifier 200 is manufacturer A. Therefore, the mobile phone manufacturer server sends the identification information of the water purifier 200 and the application support capability information of the mobile phone 100 to the IoT device manufacturer server of manufacturer A.
[0238] S350: The IoT device manufacturer server determines the corresponding device management application of the water purifier 200 according to the identification information of the water purifier 200.
[0239] The process of step S350 is substantially the same as step S130 in the first embodiment. Therefore, the implementation details of step S350 can refer to the description in the first embodiment and will not be repeated here.
[0240] S360: The IoT device manufacturer server determines a water purifier application suitable for the mobile phone 100 according to the application support capability information of the mobile phone 100.
[0241] The process of step S360 is substantially the same as step S140 in the first embodiment. Therefore, the implementation details of step S360 can refer to the description in the first embodiment and will not be repeated here.
[0242] S370: The IoT device manufacturer server sends the download information of the water purifier application ("Water Purifier") to the mobile phone manufacturer server (as a first request response).
[0243] This embodiment does not limit the specific form of the download information, and several specific examples are given below.
[0244] Example 1: The download information sent by the IoT device manufacturer's server to the mobile phone manufacturer's server is the installation package name of "Water Purifier" (com.companyname.purifier01.apk).
[0245] Example 2: The download information sent by the IoT device manufacturer's server to the mobile phone manufacturer's server is the installation package name of the "Water Purifier" and the URL download address of the "Water Purifier" (for example, the URL download address of the "App Treasure" is the download address of the "Water Purifier Package" application on the official website of the water purifier manufacturer).
[0246] For example 1 and example 2, after the mobile phone manufacturer server receives the "Water Purifier" download information from the IoT device manufacturer server, it can also request the unique identifier of "Water Purifier" in the application market (for example, Huawei's application market server) based on the installation package name of "Water Purifier". Specifically, after the mobile phone manufacturer server receives the installation package name of "Water Purifier" from the IoT device manufacturer server, it sends an App ID acquisition request (with the installation package name of "Water Purifier") to the application market server. Fig.10 After receiving the App ID acquisition request, the application market server queries the App ID of "Water Purifier" in the application market according to the installation package name of "Water Purifier", and returns the App ID of "Water Purifier" to the mobile phone manufacturer server ( Fig.10 Step S372 in the process, as the fourth request response).
[0247] In other embodiments, when the application market server returns the App ID of "Water Purifier" to the mobile phone manufacturer's server, it also sends the installation package of "Water Purifier" to the mobile phone manufacturer's server. The mobile phone manufacturer's server can send the installation package of "Water Purifier" to the mobile phone 100, so that when the mobile phone 100 starts the "Water Purifier" application, it can save the step of downloading the installation package of "Water Purifier" from the application market server.
[0248] Example 3: The download information sent by the IoT device manufacturer's server to the mobile phone manufacturer's server is the installation package name of "Water Purifier" and the App ID of "Water Purifier".
[0249] Example 4: The download information sent by the IoT device manufacturer's server to the mobile phone manufacturer's server is the installation package name of "Water Purifier", the App ID of "Water Purifier" and the URL download address of "Water Purifier".
[0250] For Example 3 and Example 4, the App ID sent by the IoT device manufacturer server to the mobile phone manufacturer server can be the App ID stored locally on the IoT device manufacturer server, or it can be the App ID requested by the IoT device manufacturer server to the application market server based on the installation package name of "App Treasure" before sending the download information of "Water Purifier" to mobile phone 100.
[0251] In addition, for the above-mentioned examples 1 to 4, the download information sent by the IoT device manufacturer server to the mobile phone manufacturer server may also include the version information of the "Water Purifier" to facilitate the mobile phone 100 to update the version of the "Water Purifier".
[0252] S380: The mobile phone manufacturer's server stores the download information of "Water Purifier" locally.
[0253] After receiving the download information of "Water Purifier", the mobile phone manufacturer's server stores it locally. Specifically, the IoT device manufacturer's server stores the NFC tag data of the water purifier 200, the application support capability information of the mobile phone 100 and the download information of "Water Purifier" in a local association. In this way, when the mobile phone manufacturer's server receives the application download information acquisition request of the mobile phone 100, but the mobile phone manufacturer's server fails to obtain the application download information from the IoT device manufacturer's server (for example, when a communication failure occurs), the mobile phone manufacturer's server can send the locally stored "Water Purifier" download information to the mobile phone 100.
[0254] S390: The mobile phone manufacturer's server sends download information of the water purifier application ("Water Purifier") to the mobile phone 100 (as a second request response).
[0255] In this step, the mobile phone manufacturer's server will send the "Water Purifier" download information received from the IoT device manufacturer's server and the App ID of the "Water Purifier" requested from the application market server to the mobile phone 100 to send the download information of the water purifier application ("Water Purifier") to the mobile phone 100.
[0256] S395: The mobile phone 100 starts the "Water Purifier" according to the download information of the "Water Purifier".
[0257] The process of step S395 is substantially the same as step S160 in the first embodiment. Therefore, the implementation details of step S395 can refer to the description in the first embodiment and will not be repeated here.
[0258] In this embodiment, the mobile phone 100 does not directly send a request to obtain the water purifier application download information to the IoT device manufacturer's server, but forwards the request through the mobile phone manufacturer's server. Therefore, in this embodiment, there is no need to communicate directly with the servers of each IoT device manufacturer. In this way, the NFC tag reading application of the mobile phone 100 does not need to integrate the tag parsing SDK of each IoT device manufacturer's server, which can not only make the NFC tag reading application lightweight, but also save the local storage space of the mobile phone 100.
[0259] In some variations of this embodiment, when the mobile phone manufacturer's server receives a request to obtain download information of the water purifier application from the mobile phone 100, it first queries whether the download information corresponding to the acquisition request (i.e., the download information corresponding to the water purifier NFC tag data and the application support capability information of the mobile phone 100) is stored locally. If so, the mobile phone manufacturer's server first returns the download information to the mobile phone 100, so that the mobile phone 100 starts the water purifier application according to the download information, thereby speeding up the application startup speed of the mobile phone 100 and improving the user experience.
[0260] It should be noted that the step numbers in the embodiments of the present application are not used to limit the execution order of the steps. On the premise of meeting the purpose of the invention, those skilled in the art can adjust the execution order of the steps, for example, interchange the order of step S350 and step S360. Fig.11 , shown is a block diagram of an electronic device 400 according to one embodiment of the present application. The electronic device 400 may include one or more processors 401 coupled to a controller hub 403. For at least one embodiment, the controller hub 403 communicates with the processor 401 via a multi-drop bus such as a front side bus (FSB), a point-to-point interface such as a QuickPath Interconnect (QPI), or a similar connection 406. The processor 401 executes instructions that control general types of data processing operations. In one embodiment, the controller hub 403 includes, but is not limited to, a graphics memory controller hub (GMCH, Graphics & Memory Controller Hub) (not shown) and an input / output hub (IOH, Input Output Hub) (which may be on a separate chip) (not shown), wherein the GMCH includes a memory and a graphics controller and is coupled to the IOH.
[0261] The electronic device 400 may also include a coprocessor 402 and a memory 404 coupled to a controller hub 403. Alternatively, one or both of the memory and the GMCH may be integrated within the processor (as described in this application), with the memory 404 and the coprocessor 402 being directly coupled to the processor 401 and the controller hub 403, with the controller hub 403 being in a single chip with the IOH.
[0262] The memory 404 may be, for example, a dynamic random access memory (DRAM), a phase change memory (PCM), or a combination of the two. The memory 404 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. The computer-readable storage medium stores instructions, specifically, temporary and permanent copies of the instructions. The instructions may include: when executed by at least one of the processors, causing the electronic device 400 to implement the following: Figure 5 , Fig. 9 , Fig.10 The instructions of the steps executed by the mobile phone in the method shown. When the instructions are executed on a computer, the computer executes the method disclosed in the above-mentioned embodiment 1, embodiment 2 and / or embodiment 3.
[0263] In one embodiment, the coprocessor 402 is a special purpose processor, such as, for example, a high throughput MIC (Many Integrated Core) processor, a network or communication processor, a compression engine, a graphics processor, a GPGPU (General-purpose computing on graphics processing units), or an embedded processor. The optional nature of the coprocessor 402 is indicated by a dashed line in FIG. Fig.11 middle.
[0264] In one embodiment, the electronic device 400 may further include a network interface (NIC, Network Interface Controller) 406. The network interface 406 may include a transceiver for providing a radio interface for the electronic device 400, and then communicating with any other suitable device (such as a front-end module, an antenna, etc.). In various embodiments, the network interface 406 may be integrated with other components of the electronic device 400. The network interface 406 may implement the functions of the communication unit in the above-mentioned embodiments.
[0265] The electronic device 400 may further include an input / output (I / O) device 405. The I / O 405 may include: a user interface designed to enable a user to interact with the electronic device 400; a peripheral component interface designed to enable peripheral components to interact with the electronic device 400; and / or a sensor designed to determine environmental conditions and / or location information related to the electronic device 400.
[0266] It is worth noting that Fig.11 This is for illustrative purposes only. Fig.11 It is shown that the electronic device 400 includes multiple devices such as a processor 401, a controller hub 403, a memory 404, etc.; however, in actual applications, the device using the methods of the present application may include only a portion of the devices in the electronic device 400, for example, it may include only the processor 401 and the network interface 406. Fig.11 The properties of optional devices are shown with dotted lines.
[0267] Reference now Fig.12 , which is a block diagram of a SoC (System on Chip) 500 according to an embodiment of the present application. Fig.12 In the FIG, similar components have the same reference numerals. In addition, the dashed boxes are optional features of more advanced SoCs. Fig.12 In the embodiment, SoC 500 includes: an interconnect unit 550 coupled to a processor 510; a system agent unit 580; a bus controller unit 590; an integrated memory controller unit 540; a group or one or more coprocessors 520, which may include integrated graphics logic, an image processor, an audio processor, and a video processor; a static random access memory (SRAM) unit 530; and a direct memory access (DMA) unit 560. In one embodiment, the coprocessor 520 includes a special-purpose processor, such as, for example, a network or communication processor, a compression engine, a GPGPU (General-purpose computing on graphics processing units), a high-throughput MIC processor, or an embedded processor.
[0268] Static random access memory (SRAM) unit 530 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. The computer-readable storage medium stores instructions, and more specifically, stores temporary and permanent copies of the instructions. The instructions may include: when executed by at least one of the processors, causing the SoC to implement the following: Figure 5 , Fig. 9 , Fig.10 The instructions of the steps executed by the mobile phone in the method shown. When the instructions are executed on a computer, the computer executes the method disclosed in the above-mentioned embodiment 1, embodiment 2 and / or embodiment 3.
[0269] The term "and / or" in this article is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can mean: A exists alone, A and B exist at the same time, and B exists alone.
[0270] Each method implementation mode of the present application can be implemented in the form of software, magnetic components, firmware, etc.
[0271] Program code can be applied to input instructions to perform each function described herein and generate output information. The output information can be applied to one or more output devices in a known manner. For the purpose of this application, the processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.
[0272] Program code can be implemented with high-level programming language or object-oriented programming language to communicate with the processing system. When necessary, program code can also be implemented with assembly language or machine language. In fact, the mechanism described herein is not limited to the scope of any specific programming language. In either case, the language can be a compiled language or an interpreted language.
[0273] One or more aspects of at least one embodiment may be implemented by representative instructions stored on a computer-readable storage medium, which represent various logics in a processor, and when the instructions are read by a machine, the machine makes logic for performing the techniques described herein. These representations, known as "IP (Intellectual Property, Intellectual Property) cores", may be stored on a tangible computer-readable storage medium and provided to multiple customers or production facilities to be loaded into a manufacturing machine that actually manufactures the logic or processor.
[0274] In some cases, the instruction converter can be used to convert instructions from a source instruction set to a target instruction set. For example, the instruction converter can transform (e.g., using static binary transformation, dynamic binary transformation including dynamic compilation), deform, simulate, or otherwise convert instructions into one or more other instructions to be processed by the core. The instruction converter can be implemented in software, hardware, firmware, or a combination thereof. The instruction converter can be on the processor, outside the processor, or partially on the processor and partially outside the processor.
Claims
1. A method for obtaining download information of an application, characterized in that: The method is applied to a system including at least a first device, a second device and a second server, and the method includes: The first device reads the tag data of the second device; The second server receives a first request, wherein the first request carries identification information of the second device and application support capability information of the first device, the identification information is associated with the tag data, the identification information includes a first serial number of the second device, the first serial number is different from a product serial number of the second device, and the first request is used to obtain download information of a device management application, wherein the device management application is used to manage the second device; In response to the first request, the second server determines a product serial number of the second device according to the first serial number, and determines the device management application according to the product serial number and the application support capability information of the first device; The second server sends a first request response, where the first request response carries download information of the device management application; The first device receives download information of the device management application; wherein the download information is used to provide the first device with a download path for the device management application.
2. The method according to claim 1, characterized in that The first device includes a first SDK, and before the second server receives the first request, the method further includes: The first device parses the tag data through the first SDK; The first device parses the identification information included in the tag data; The first device sends the first request to the second server.
3. The method according to claim 2, characterized in that The download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
4. The method according to claim 3, characterized in that The second server sends a first request response, specifically: The second server sends the first request response to the first device; The first device at least obtains the download information of the device management application sent by the second server, including: The first device receives download information of the device management application sent by the second server.
5. The method according to claim 4, characterized in that The system includes a third server, the download information of the device management application sent by the second server includes the installation package name of the device management application, and after the first device receives the download information of the device management application sent by the second server, the method further includes: the first device sends a third request to the third server, the third request carries the installation package name of the device management application, and the third request is used to obtain the application ID of the device management application; In response to the third request, the third server determines the application ID of the device management application according to the installation package name of the installation package of the device management application; The third server sends a third request response to the first device, where the third request response carries the application ID of the device management application; The first device receives the application ID of the device management application sent by the third server.
6. The method according to claim 4, characterized in that The first device stores an association relationship between the tag data and the download information of the device management application.
7. The method according to claim 6, characterized in that After the first device stores the association relationship between the tag data and the download information of the device management application, the method further includes: The first device reads the tag data of the second device; The first device determines the download information associated with the read tag data according to the association relationship; The first device downloads and starts the device management application according to the download information associated with the read tag data.
8. The method according to claim 1, characterized in that The system further includes a first server, the first server is associated with the first device, and before the second server receives the first request, the method further includes: The first device sends a second request to the first server, where the second request carries the tag data and application support capability information of the first device; The first server parses the tag data; The first server parses the identification information included in the tag data; The first server sends the first request to the second server.
9. The method according to claim 8, characterized in that The download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
10. The method according to claim 9, characterized in that Before the first device at least obtains the download information of the device management application sent by the second server, the method further includes: The first server receives download information of the device management application sent by the second service; The first server sends a second request response to the first device, where the second request response includes download information of the device management application sent by the second server; The first device at least obtains the download information of the device management application sent by the second server, including: In response to receiving the second request response, the first device obtains the download information of the device management application sent by the second server.
11. The method according to claim 10, characterized in that The system includes a third server, and the download information of the device management application received by the first server from the second server includes the installation package name of the device management application; Before the first server sends a second request response to the first device, the method further includes: The first server sends a fourth request to the third server, where the fourth request carries the installation package name of the device management application, and the fourth request is used to obtain the application ID of the device management application; In response to the fourth request, the third server determines the application ID of the device management application according to the installation package name of the installation package of the device management application; The third server sends a fourth request response to the first server, where the fourth request response carries the application ID of the device management application; The first server receives the application ID of the device management application sent by the third server; The first server sends a second request response to the first device, specifically: The first server sends a second request response to the first device, wherein the second request response includes an application ID of the device management application and download information of the device management application sent by the second server; The first device at least obtains the download information of the device management application sent by the second server, including: In response to receiving the second request response, the first device obtains the application ID of the device management application and the download information of the device management application sent by the second server.
12. The method according to claim 9, characterized in that The first server stores an association relationship between the tag data, the application support capability information of the first device, and the download information of the device management application.
13. The method according to claim 1, characterized in that The application support capability information of the first device includes information for identifying the product model of the first device and / or information of the operating system of the first device; wherein the information for identifying the product model of the first device includes at least one of the product brand, product model, product category, and product serial number of the first device; and the information of the operating system of the first device includes at least one of the name of the operating system of the first device and the version number of the operating system of the first device.
14. A method for providing download information of an application, characterized in that: For a second server associated with a second device, the method comprising: receiving a first request, wherein the first request carries identification information of the second device and application support capability information of the first device, the identification information is associated with tag data of the second device, the identification information includes a first serial number of the second device, the first serial number is different from a product serial number of the second device, and the first request is used to obtain download information of a device management application, wherein the device management application is used to manage the second device; In response to the first request, determining a product serial number of the second device according to the first serial number, and determining the device management application according to the product serial number and application support capability information of the first device; A first request response is sent, wherein the first request response carries download information of the device management application; wherein the download information is used to provide a download path for the device management application to the first device.
15. The method according to claim 14, characterized in that The determining the device management application according to the product serial number and the application support capability information of the first device includes: determining one or more applications for managing the second device based on a product serial number associated with the first serial number; The device management application that can run on the first device is determined from the one or more applications according to the application support capability information of the first device.
16. The method according to claim 14, characterized in that The download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
17. The method according to claim 14, characterized in that The application support capability information of the first device includes information for identifying the product model of the first device and / or information of the operating system of the first device; wherein the information for identifying the product model of the first device includes at least one of the product brand, product model, product category, and product serial number of the first device; and the information of the operating system of the first device includes at least one of the name of the operating system of the first device and the version number of the operating system of the first device.
18. A method for obtaining download information of an application, characterized in that: For a first server associated with a first device, the method comprising: receiving a second request sent by the first device, where the second request carries tag data of the second device and application support capability information of the first device; Parsing identification information of the second device from the tag data, wherein the identification information includes a first serial number of the second device, and the first serial number is different from a product serial number of the second device; Sending a first request to a second server, where the first request carries identification information of the second device and application support capability information of the first device, wherein the first request is used to obtain download information of a device management application for managing the second device from the second server; receiving a first request response sent by the second server, wherein the first request response carries download information of the device management application; A second request response is sent to the first device, wherein the second request response carries download information of the device management application sent by the second server; wherein the download information is used to provide the first device with a download path for the device management application.
19. The method according to claim 18, characterized in that The download information of the device management application sent by the second server includes one or more of the following: an application ID of the device management application; an installation package name of the device management application; and a URL download address of the device management application.
20. The method according to claim 19, characterized in that The download information of the device management application sent by the second server includes the installation package name of the device management application. Before sending the second request response to the first device, the method further includes: Sending a fourth request to a third server, wherein the fourth request carries the installation package name of the device management application, and the fourth request is used to obtain an application ID of the device management application; receiving a fourth request response sent by the third server, wherein the fourth request response carries an application ID of the device management application; The sending a second request response to the first device, wherein the second request response includes download information of the device management application sent by the second server and an application ID of the device management application.
21. The method according to claim 19, characterized in that The method further comprises: An association relationship between the tag data, the application support capability information of the first device, and the download information of the device management application is stored.
22. A system for obtaining download information of an application, characterized in that: The system comprises a first device, a second device and a second server, wherein the second server is associated with the second device, wherein: The first device is used to execute the steps of the method described in any one of claims 1 to 7 and 13 performed by the first device, and the second server is used to execute the steps of the method described in any one of claims 1 to 7 and 13 performed by the second server.
23. A system for obtaining download information of an application, characterized in that: The system includes a first device, a first server, a second device, and a second server, wherein the first device is associated with the second device, and the second server is associated with the second device, wherein: The first device is used to execute the steps of the method described in any one of claims 1 and 8 to 13 performed by the first device, the first server is used to execute the steps of the method described in any one of claims 1 and 8 to 13 performed by the first server, and the second server is used to execute the steps of the method described in any one of claims 1 and 8 to 13 performed by the second server.
24. A server, characterized in that: include: a memory for storing instructions executed by one or more processors of the server; The processor, when the processor executes the instructions in the memory, can cause the server to execute the method described in any one of claims 14 to 17.
25. A server, characterized in that: include: a memory for storing instructions executed by one or more processors of the server; A processor, when the processor executes the instructions in the memory, can cause the server to execute the method described in any one of claims 18 to 21.
26. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, which, when executed on a computer, can enable the computer to execute any one of the methods of claims 1 to 21.
