Terminal equipment deployment method and terminal equipment
Through a split terminal device deployment method, the terminal devices that have been deployed have been used to transfer the resources to be deployed to other devices, solving the problem of low terminal device deployment efficiency, realizing an efficient and flexible deployment process, and maintaining it in different network environments Data security and low cost.
Patent Information
- Application Number
- CN202311018268.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-08-11
- Publication Date
- 2025-02-18
AI Technical Summary
In the prior art, the deployment efficiency of terminal equipment is low, especially in scenarios where multiple terminal equipment types and network states are complex, which affects the speed and efficiency of deployment.
Through a split terminal device deployment method, first, a terminal device that has completed the deployment obtains the resources to be deployed and completes the deployment based on these resources. The device then determines and sends to other end devices to deploy, facilitates its deployment, and instructs these devices to pass to other end devices after the deployment is completed.
This method significantly improves the deployment efficiency and speed of terminal equipment, optimizes the deployment strategy, can realize the deployment of terminal equipment in different network environments, and maximizes the performance of terminal equipment while ensuring data security and low cost. deploy.
Smart Images

Figure CN119485374A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of terminal technology, and in particular to a terminal device deployment method and terminal device. Background Art
[0002] With the continuous development of terminal technology and the popularization of terminal devices, terminal devices are widely used in all aspects of life. At present, both at home and in the enterprise, there are various terminal devices with different functions and different network status. When the terminal devices in the same scenario have deployment requirements such as file sharing, collaborative control or customized functions, the type of terminal devices and the network status of the terminal devices will affect the deployment efficiency of the terminal devices.
[0003] Therefore, how to efficiently deploy terminal devices has become a technical problem that needs to be solved urgently. Summary of the invention
[0004] The present application provides a terminal device deployment method and terminal device, which can optimize the terminal device deployment strategy, speed up the deployment speed, and effectively improve the deployment efficiency.
[0005] In order to achieve the above objectives, this application provides the following technical solutions:
[0006] In a first aspect, the present application provides a terminal device deployment method. The method includes: a first terminal device obtains resources to be deployed; the first terminal device completes deployment according to the resources to be deployed; then, according to a preset rule, the first terminal device determines N second terminal devices to be deployed, and sends the resources to be deployed to the N second terminal devices; the resources to be deployed are used to deploy the N second terminal devices and instruct the N second terminal devices to send the resources to be deployed to M third terminal devices to be deployed after the deployment is completed; wherein the N second terminal devices are part or all of the devices that establish a communication connection with the first terminal device, the third terminal device is part or all of the devices that establish a communication connection with the second terminal device, and N and M are positive integers.
[0007] In this way, the terminal devices that have completed deployment according to the resources to be deployed can then deploy other devices to be deployed. The split deployment solution speeds up the deployment of terminal devices, effectively improves the deployment efficiency of terminal devices, and optimizes the deployment strategy of terminal devices.
[0008] According to a first aspect, the first terminal device obtains resources to be deployed, including: the first terminal device obtains the resources to be deployed input by a user.
[0009] In some examples, the first terminal device generates the resources to be deployed in response to a first operation of the user, thereby obtaining the resources to be deployed.
[0010] According to the first aspect, or any implementation of the first aspect above, the first terminal device obtains the resources to be deployed, further comprising: the first terminal device obtains the resources to be deployed from a device that has established a connection with the first terminal device and has completed deployment.
[0011] In this way, the first terminal device can obtain the resources to be deployed in multiple ways, so that the first terminal device can be quickly deployed according to the resources to be deployed, thereby improving deployment efficiency.
[0012] In some examples, after the first terminal device completes deployment according to the resources to be deployed, it switches from the first state to the second state. The first state is used to indicate that the terminal device is waiting for deployment, and the second state is used to indicate that the terminal device successfully deploys the resources to be deployed. Completing deployment can be understood as successful deployment.
[0013] In some examples, the first terminal device completes deployment according to the media files and configuration files in the resources to be deployed.
[0014] According to the first aspect, or any implementation method of the first aspect above, according to a preset rule, the first terminal device determines N second terminal devices to be deployed, including: the first terminal device obtains a device list; the first terminal device sends a first group joining invitation to a first number of devices to be deployed in the device list; the first terminal device receives a first group joining response sent by a first number of devices to be deployed; the first terminal device determines N second terminal devices to be deployed based on the first group joining response; the first number is a positive integer greater than or equal to N.
[0015] According to the first aspect, or any implementation of the first aspect above, the device list includes devices that establish a communication connection with the first terminal device or devices indicated by the user.
[0016] According to the first aspect, or any implementation of the first aspect above, the first group-joining invitation carries a version number of the resource to be deployed, and the first group-joining invitation is used to invite the device to be deployed to join the first group.
[0017] In some examples, the device indicated by the user can be understood as the terminal device selected by the user to be deployed. The first terminal device generates a device list according to the terminal device selected by the user, thereby obtaining the device list.
[0018] In other examples, the first terminal device obtains a device list based on terminal devices with which the first terminal device has established a communication connection.
[0019] According to the first aspect, or any implementation of the first aspect above, before the first terminal device sends a first group-joining invitation to a first number of devices to be deployed in a device list, the first terminal device establishes a first group with a first number of members. The specific value of the first number can be set by the user or by the first terminal device according to the device list. In some examples, the first number of devices to be deployed can be devices arbitrarily selected by the first terminal device. Alternatively, the first number of devices to be deployed can be devices selected by the first terminal device after screening according to preset conditions. For example, the preset condition is that the state of the device to be deployed is the first state.
[0020] In this way, through the split and self-organizing network deployment, the terminal devices that have been deployed can also deploy the terminal devices that have not been deployed yet, which can activate the deployment capabilities of each terminal device and maximize the use of the terminal device's own performance to complete the deployment. Multiple terminal devices are deployed in parallel, which speeds up the deployment speed and improves the deployment efficiency. For terminal devices that are far away, the resources to be deployed can be transmitted to the terminal devices that are far away through multiple terminal devices, realizing long-distance deployment.
[0021] According to the first aspect, or any implementation method of the first aspect above, the first terminal device sends a first group-joining invitation to a first number of devices to be deployed in a device list, including: the first terminal device obtains a bandwidth sorting table, the bandwidth sorting table indicates bandwidth information of multiple devices in the device list; the first terminal device determines a first number of devices to be deployed with priority in bandwidth sorting according to the bandwidth sorting table; the first terminal device sends a first group-joining invitation to the devices to be deployed.
[0022] In this way, according to the bandwidth information of each terminal device in the device list, the devices to be deployed with the first bandwidth ranking are deployed first. When the devices to be deployed with the first bandwidth ranking are successfully deployed, the undeployed terminal devices can also be deployed. The deployment of terminal devices with stronger deployment capabilities is completed first, which can expand the overall deployment capability and improve the deployment time.
[0023] According to the first aspect, or any implementation method of the first aspect above, the first terminal device determines N second terminal devices to be deployed based on the first group entry response, including: when the first group entry response indicates a refusal to join the first group, the version number of the currently deployed resources of the device to be deployed that refuses to join the first group is greater than or equal to the version number of the resources to be deployed; when the first group entry response indicates a joining of the first group, the version number of the currently deployed resources of the device to be deployed that joins the first group is less than the version number of the resources to be deployed, and the N devices to be deployed that join the first group are determined as the N second terminal devices to be deployed.
[0024] In some examples, the first terminal device sends a device list to N second terminal devices so that the second terminal device that has completed deployment determines a third terminal device based on the resources to be deployed and the device list, and deploys the third terminal device.
[0025] According to the first aspect, or any implementation method of the first aspect above, according to preset rules, the first terminal device determines N second terminal devices to be deployed, including: the first terminal device determines whether the device that establishes a communication connection with the first terminal device has deployed the resources to be deployed; the first terminal device determines the N devices that have not deployed the resources to be deployed as N second terminal devices.
[0026] In this way, the first terminal device actively detects the deployment status of the terminal devices connected to itself for communication, and actively deploys the terminal devices that have not deployed the resources to be deployed, thereby improving the functions of the terminal devices and enhancing the user experience.
[0027] According to the first aspect, or any implementation manner of the first aspect above, the method also includes: the first terminal device receives a deployment failure response sent by a fourth terminal device, and the fourth terminal device is one or more devices among N second terminal devices; if the number of times the first terminal device receives the deployment failure response sent by the fourth terminal device does not exceed a preset threshold, the resources to be deployed are sent to the fourth terminal device again; otherwise, the resources to be deployed are not sent again.
[0028] According to the first aspect, or any implementation of the first aspect above, the first terminal device, the second terminal device, and the third terminal device are located in the same network environment or different network environments.
[0029] In this way, terminal devices in different network environments can still complete deployment, and cross-network deployment can be achieved.
[0030] In a second aspect, the present application provides a terminal device, comprising: a processor, a memory, the memory being coupled to the processor, the memory being used to store computer-readable instructions, and when the processor reads the computer-readable instructions from the memory, the terminal device executes the method of the first aspect or any one of the implementations of the first aspect.
[0031] In a third aspect, a chip system comprises at least one processor and at least one interface circuit, wherein the at least one interface circuit is used to perform transceiver functions and send instructions to the at least one processor, the at least one processor executes the instructions, and the at least one processor executes the method of the first aspect or any one of the embodiments of the first aspect.
[0032] In a fourth aspect, a computer-readable storage medium includes a computer program. When the computer program runs on a terminal device, the terminal device executes the method of the first aspect or any one of the implementations of the first aspect.
[0033] In a fifth aspect, the present application provides a computer program product. When the computer program product runs on a computer, it enables the computer to execute the method of the first aspect or any one of the embodiments of the first aspect.
[0034] The technical effects corresponding to the second to fifth aspects and any implementation method in each aspect can be referred to the technical effects corresponding to the above-mentioned first aspect and any implementation method in the first aspect, and will not be repeated here. BRIEF DESCRIPTION OF THE DRAWINGS
[0035] Figure 1 A schematic diagram of the structure of deploying terminal devices in a home scene provided in an embodiment of the present application;
[0036] Figure 2 A schematic diagram of the interface of a central control screen system for a home scene provided in an embodiment of the present application;
[0037] Figure 3 A schematic diagram of the structure of a terminal device deployed in a control device of a home scene provided in an embodiment of the present application;
[0038] Figure 4A A schematic diagram of a terminal device provided in an embodiment of the present application Figure 1 ;
[0039] Figure 4B A schematic diagram of a terminal device provided in an embodiment of the present application Figure 2 ;
[0040] Figure 5 A schematic diagram of the architecture of a terminal device deployment system provided in an embodiment of the present application;
[0041] Figure 6 A schematic diagram of a terminal device deployment method provided in an embodiment of the present application Figure 1 ;
[0042] Figure 7 A schematic diagram of a terminal device deployment method provided in an embodiment of the present application Figure 2 ;
[0043] Fig. 8A A schematic diagram of an interface for terminal device deployment provided in an embodiment of the present application;
[0044] Figure 8B A schematic diagram of resources to be deployed provided in an embodiment of the present application;
[0045] Fig. 9 A schematic diagram of a terminal device deployment method provided in an embodiment of the present application Figure 3 ;
[0046] Fig.10 Schematic diagram 4 of a process flow of a terminal device deployment method provided in an embodiment of the present application;
[0047] Fig.11 A schematic diagram of a terminal device deployment method provided in an embodiment of the present application Figure 5 ;
[0048] Fig.12 A schematic diagram of a terminal device deployment method provided in an embodiment of the present application Figure 6 ;
[0049] Fig.13 A schematic diagram of a terminal device deployment method provided in an embodiment of the present application Figure 7 ;
[0050] Fig.14 Schematic diagram 8 of a process flow of a terminal device deployment method provided in an embodiment of the present application;
[0051] Fig.15 A state switching schematic diagram provided for an embodiment of the present application;
[0052] Fig.16 A schematic diagram of a terminal device deployment method provided in an embodiment of the present application Figure 9 ;
[0053] Fig.17 A schematic diagram of a terminal device provided in an embodiment of the present application Figure 3 ;
[0054] Fig.18 A schematic diagram of the structure of a chip system provided in an embodiment of the present application. DETAILED DESCRIPTION
[0055] In the description of the embodiments of the present application, unless otherwise specified, “ / ” means or. For example, A / B can mean A or B. The “and / or” in this article is merely a way to describe 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.
[0056] In the following, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of the features.
[0057] In the description of the embodiments of the present application, unless otherwise specified, "multiple" means two or more. In the embodiments of the present application, words such as "exemplary" or "for example" are used to indicate examples, illustrations or descriptions. Any embodiment or design described as "exemplary" or "for example" in the embodiments of the present application should not be interpreted as being more preferred or more advantageous than other embodiments or designs. Specifically, the use of words such as "exemplary" or "for example" is intended to present related concepts in a concrete way.
[0058] First, the technical terms involved in this application are explained to facilitate understanding by those skilled in the art.
[0059] Deploying terminal devices can also be described as managing and controlling terminal devices. Specifically, terminal devices are configured and customized according to usage requirements, the functions and status of terminal devices are managed and controlled, and files are transferred to terminal devices.
[0060] Exemplarily, deploying a terminal device can also be understood as a process of enabling the terminal device to have the desired functions. For example, a user configures a terminal device equipped with the control and deployment capability according to the functions that the target terminal device is expected to have, obtains a configuration file, and transmits the configuration file to the target terminal device. The target terminal device receives the configuration file and performs corresponding configuration and control according to the configuration file, so that the target terminal device has the desired functions, thereby completing the deployment of the target terminal device.
[0061] In some examples, terminal devices in the same scenario (such as a home scenario or an enterprise scenario) are interconnected through a local area network (which can also be described as the Internet or a public network, etc.), and the terminal devices are deployed with the help of the network.
[0062] For example, the terminal devices in the same scenario are interconnected by using wireless fidelity (WiFi), cellular network, or bus system (konnex, KNX) (also described as KNX bus) and other technical means, so as to deploy the terminal devices, such as controlling, personalizing, and coordinating and interacting with the terminal devices.
[0063] like Figure 1The figure shows a schematic diagram of the structure of deploying terminal devices in a home scene. The terminal devices in the home scene include cloud servers, mobile phones / tablets, computers / TVs, monitoring devices, and alarm devices. The network in the home scene includes home networks and WiFi (WiFi is generated based on the home network). Mobile phones / tablets, monitoring devices, and alarm devices are connected to the cloud server via WiFi. Computers / TVs are connected to the cloud server via the home network. In this way, by connecting various terminal devices in the home scene to the same network, the cloud server can play the role of a management platform, manage and deploy various terminal devices, and thus enable end-to-end cloud collaborative management and control of various terminal devices.
[0064] However, when deploying over the network, each terminal device must be in the same network and can only connect to each other in the same network environment. If the network environment changes, such as when a terminal device (such as a monitoring device) is connected to another network or disconnected from the network, it is impossible to connect to the terminal device through the home network or WiFi, and the terminal device cannot be deployed. In other words, deployment can only be performed on terminal devices connected to the same network, which is limited to a single, fixed network condition.
[0065] Moreover, there are privacy risks in deploying terminal devices through the local area network, and it is difficult to ensure the security of the terminal devices. It is understandable that the terminal devices need to be connected to the local area network to obtain the ability to be deployed, but the local area network itself does not have the ability to deploy or formulate deployment strategies. Therefore, it is necessary to use an external network to assist the local area network for deployment. This is equivalent to the terminal device connecting the local area network and the external network, but there is no network isolation between the terminal device and the external network, and data cannot be exchanged safely. The terminal device cannot isolate attacks from the external network, and there are privacy risks such as resource leakage.
[0066] In addition, due to the limitations of the bandwidth and coverage of the local area network, when the number of terminal devices in the same scenario or the distance between terminal devices exceeds the local area network load, the deployment capability and efficiency of the terminal devices will be greatly reduced.
[0067] In other examples, to address the privacy risks in the above examples, terminal devices can be deployed through privatization deployment technology.
[0068] In a possible implementation, a privatized server is built by the user, and each terminal device is connected to the privatized server so that the privatized server deploys each terminal device.
[0069] It is understandable that some companies do not allow connection to the local area network due to the confidentiality of their work. Such companies will build private servers and equipment control consoles in their own computer rooms. The private servers constitute the company's intranet, and the terminal devices connected to the company's intranet are controlled and deployed through the company's intranet, private servers and equipment control consoles. Accordingly, private deployment technology can also be applied to other scenarios such as home scenarios.
[0070] like Figure 2 As shown in the figure, it is a schematic diagram of the interface of a central control screen system in a home scene. Figure 2 As shown, it shows the management interface of the central control screen system for the living room space. The central control screen system is a simple server that is not connected to the local area network and has network isolation and information carrying capabilities. The central control screen system connects the terminal devices in each space in the home scene (such as lighting fixtures, electric curtains, air conditioners, televisions, audio-visual equipment, environmental detection equipment, etc. in the living room, or refrigerators, water dispensers, etc. in the kitchen, or water heaters in the bathroom, etc.), and manages each terminal device (such as controlling the lighting fixtures in the living room to turn on or off, etc., adjusting the temperature or wind speed of the air conditioner in the living room, etc.).
[0071] However, the cost of building a private server is high, and it is not suitable for single-use scenarios or scenarios with a small number of terminal devices, that is, it is not suitable for small businesses or ordinary families. For example, in home scenarios, wiring and networking are required throughout the space, and the installation cost is high; in enterprise scenarios, enterprises need to purchase and build private servers, and the hardware cost is high. Moreover, private servers are highly customizable. Once they are successfully built, they will be deployed according to the functions set during the build. It is difficult to update or change functions later.
[0072] In other examples, to address the high cost issue in the above examples, the terminal devices can be connected to the terminal devices through control devices to deploy the terminal devices.
[0073] In one possible implementation, the terminal device is deployed by connecting the terminal device through a simple control device such as a USB (universal serial bus) flash drive (USB flash disk) (also described as a U disk) or a near field communication (NFC) device.
[0074] For example, in an enterprise scenario, a USB flash drive carries deployment information, and the USB flash drive is directly connected to a terminal device, and the terminal device performs function adjustment and deployment according to the deployment information in the USB flash drive. In a home scenario, an NFC device carries deployment information, and the NFC device is touched to a terminal device that supports the NFC function, and the terminal device receives the deployment information and adjusts the function or status according to the deployment information.
[0075] like Figure 3 The figure shows a schematic diagram of the structure of deploying terminal devices in a home scene control device. The NFC device and the terminal device are interconnected through near field communication (NFC), and the NFC device touches the terminal device to deploy the terminal device.
[0076] However, the control device can only deploy one terminal device at a time, and the single-point transmission method is used. The deployment transmission time of the control device to the terminal device will increase proportionally with the number of terminal devices. In addition, due to the distance, the distance between the control device and the terminal device is limited, and they can only be connected within a certain range (the USB flash drive needs to be inserted into the terminal device, and the NFC device needs to be attached to the terminal device). If the distance between the terminal device and the control device is too far, the deployment transmission time will be increased, thereby affecting the effectiveness of the deployed terminal device.
[0077] In the above examples, on the one hand, the deployment of terminal devices in the same scenario with the help of a single network (public network or intranet) depends on the network, and the terminal devices need to be connected to the Internet. However, when the terminal devices are in different network environments, it is impossible to deploy terminal devices in different network environments through a single network. In addition, there are security issues such as privacy risks in the public network, and there is a high cost problem in the intranet. On the other hand, although the deployment of terminal devices in different network environments can be achieved with the help of control devices, the deployment method of the control device for the terminal device is a one-to-one deployment method, and only one terminal device can be deployed at a time, resulting in low efficiency in terminal device deployment.
[0078] In order to improve the problems existing in the current technology, the embodiment of the present application provides a terminal device deployment method, the method comprising: a first terminal device obtains resources to be deployed; the first terminal device completes the deployment according to the resources to be deployed; then according to the preset rules, the first terminal device determines N second terminal devices to be deployed, sends the resources to be deployed to the N second terminal devices, the resources to be deployed are used to deploy the N second terminal devices and instruct the N second terminal devices to send the resources to be deployed to M third terminal devices to be deployed after the deployment is completed; wherein the N second terminal devices are part or all of the devices that establish a communication connection with the first terminal device, the third terminal device is part or all of the devices that establish a communication connection with the second terminal device, and N and M are positive integers. Therefore, the method provided in the embodiment of the present application does not require the help of a network or a control device, and by stimulating the deployment capability of the terminal device itself, while ensuring data security and low cost, adopts a split deployment scheme, which can speed up the deployment speed, improve the deployment efficiency, be convenient and flexible, and optimize the deployment strategy.
[0079] The technical solutions in the embodiments of the present application will be described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, rather than all of the embodiments.
[0080] In the embodiments of the present application, the terminal device may be a mobile phone, a computer, a two-in-one notebook, a two-in-one tablet computer, a laptop computer, a smart TV, a tablet computer (Pad), a computer with wireless transceiver function, a wearable device, a vehicle-mounted device, a monitoring device, a smart screen, a smart speaker, an augmented reality (AR) terminal device\virtual reality (VR) device, an ultra-mobile personal computer (UMPC), a netbook, a personal digital assistant (PDA), an artificial intelligence (AI) terminal, a wireless terminal in industrial control, a wireless terminal in self-driving, a wireless terminal in remote medical surgery, a wireless terminal in smart grid, a wireless terminal in transportation safety, a wireless terminal in smart city, a wireless terminal in smart home, etc. The embodiments of the present application do not limit the specific technology and specific device form adopted by the terminal device.
[0081] The terminal device may also be called a terminal, user equipment (UE), a mobile station (MS), a mobile terminal (MT), etc.
[0082] like Figure 4A , which is a schematic diagram of the hardware structure of a terminal device 400 provided in an embodiment of the present application.
[0083] The terminal device 400 may include a processor 410, an external memory interface 420, an internal memory 421, a universal serial bus (USB) interface 430, a charging management module 440, a power management module 441, a battery 442, an antenna 1, an antenna 2, a radio frequency module 450, a communication module 460, an audio module 470, a sensor module 480, a camera 493, a display screen 494, etc.
[0084] The structure illustrated in the embodiment of the present invention does not constitute a limitation on the terminal device 400. It may include more or fewer components than shown in the figure, or combine some components, or split 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.
[0085] The processor 410 may include one or more processing units, for example, the processor 410 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.
[0086] The controller can generate operation control signals according to the instruction operation code and timing signal to complete the control of instruction fetching and execution.
[0087] The processor 410 may also be provided with a memory for storing instructions and data. In some embodiments, the memory in the processor is a high-speed cache memory, which can store instructions or data that the processor has just used or cyclically used. If the processor needs to use the instruction or data again, it can be directly called from the memory. This avoids repeated access, reduces the waiting time of the processor, and thus improves the efficiency of the system.
[0088] In some embodiments, the processor 410 may include one or more interfaces. The interface may include an inter-integrated circuit (I2C) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0089] The MIPI interface can be used to connect the processor 410 with peripheral devices such as the display screen 494 and the camera 493. The MIPI interface includes a camera serial interface (CSI), a display serial interface (DSI), etc. In some embodiments, the processor 410 and the camera 493 communicate via the CSI interface to implement the shooting function of the terminal device 400. The processor 410 and the display screen 494 communicate via the DSI interface to implement the display function of the terminal device 400.
[0090] The external memory interface 420 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the terminal device 400. The external memory card communicates with the processor through the external memory interface to implement a data storage function, such as storing music, video and other files in the external memory card.
[0091] The internal memory 421 can be used to store computer executable program codes, which include instructions. The processor 410 executes various functional applications and data processing of the terminal device 400 by running the instructions stored in the internal memory 421. The memory 421 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, etc. The data storage area may store data created during the use of the terminal device 400, etc. In addition, the memory 421 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, other volatile solid-state storage devices, a universal flash storage (UFS), etc.
[0092] The USB interface 430 is an interface that complies with the USB standard specification, and can be a Mini USB interface, a Micro USB interface, a USB Type C interface, etc. The USB interface can be used to connect a charger to charge the terminal device 400, and can also be used to transfer data between the terminal device 400 and peripheral devices. It can also be used to connect headphones to play audio through the headphones. The interface can also be used to connect other terminal devices, such as AR devices.
[0093] It is understandable that the interface connection relationship between the modules illustrated in the embodiment of the present application is a schematic illustration and does not constitute a structural limitation on the terminal device 100. In other embodiments of the present application, the terminal device 400 may also adopt different interface connection methods in the above embodiments, or a combination of multiple interface connection methods.
[0094] The charging management module 440 is used to receive charging input from a charger. The charger may be a wireless charger or a wired charger. In some wired charging embodiments, the charging management module 440 may receive charging input from a wired charger through the USB interface 430. In some wireless charging embodiments, the charging management module 440 may receive wireless charging input through a wireless charging coil of the terminal device 400. While the charging management module 440 is charging the battery 442, it may also power the terminal device through the power management module 441.
[0095] The power management module 441 is used to connect the battery 442, the charging management module 440 and the processor 410. The power management module receives input from the battery and / or the charging management module to power the processor, internal memory, external memory and display screen. The power management module can also be used to monitor parameters such as battery capacity and battery health status (leakage, impedance). In some other embodiments, the power management module 441 can also be set in the processor 410. In other embodiments, the power management module 441 and the charging management module 440 can also be set in the same device.
[0096] The wireless communication function of the terminal device 400 can be implemented through antenna 1, antenna 2, RF module 450, communication module 460, modem processor and baseband processor.
[0097] Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in terminal device 400 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, a cellular network antenna can be reused as a wireless local area network diversity antenna. In some embodiments, the antenna can be used in combination with a tuning switch.
[0098] The RF module 450 can provide a communication processing module for solutions including 2G-5G wireless communications applied to the terminal device 400. The RF module 450 may include at least one filter, a switch, a power amplifier, a low noise amplifier (LNA), etc. The RF module 450 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 RF module 450 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 RF module 450 can be set in the processor 410. In some embodiments, at least some of the functional modules of the RF module 450 can be set in the same device as at least some of the modules of the processor 410.
[0099] The modem processor may include a modulator and a demodulator. 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 displays an image or video through the display screen 494. In some embodiments, the modem processor may be an independent device. In other embodiments, the modem processor may be independent of the processor 410 and be set in the same device as the RF module 450 or other functional modules.
[0100] The communication module 460 can provide a communication processing module for 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 terminal device 400. The communication module 460 can be one or more devices integrating at least one communication processing module. The communication module receives electromagnetic waves via antenna 2, modulates and filters the electromagnetic wave signals, and sends the processed signals to the processor. The communication module 460 can also receive the signal to be sent from the processor 410, modulate the frequency, amplify it, and convert it into electromagnetic waves for radiation through antenna 2.
[0101] In some embodiments, the antenna 1 of the terminal device 400 is coupled to the radio frequency module, and the antenna 2 is coupled to the communication module, so that the terminal device 400 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 and / or IR technology, etc. The GNSS may include a global positioning system (GPS), a global navigation satellite system (GLONASS) and / or a Beidou navigation satellite system (BDS), a quasi-zenith satellite system (QZSS) and / or a satellite based augmentation system (SBAS), etc.
[0102] The audio module 470 is used to convert digital audio information into analog audio signal output, and also used to convert analog audio input into digital audio signal. The audio module can also be used to encode and decode audio signals.
[0103] The sensor module 480 of the terminal device 400 may specifically include: a pressure sensor, a distance sensor, an ambient light sensor, a fingerprint sensor, a temperature sensor, and a touch sensor, etc. The touch sensor is also called a "touch panel" and may be provided on a display screen to detect a touch operation on or near it.
[0104] The camera 493 is used to capture still images or videos. The object generates an optical image through the lens and projects it onto the photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. In some embodiments, the terminal device 400 may include 1 or N cameras, where N is a positive integer greater than 1.
[0105] The terminal device 400 implements the display function through a graphics processing unit (GPU), a display screen 494, and an application processor. The GPU is a microprocessor for image processing, which connects the display screen 494 and the application processor. The GPU is used to perform mathematical and geometric calculations for graphics rendering. The processor 410 may include one or more GPUs, which execute program instructions to generate or change display information.
[0106] The display screen 494 is used to display images, videos, etc. The display screen includes a display panel. The display panel can be LCD (liquid crystal display), OLED (organic light-emitting diode), active-matrix organic light-emitting diode or active-matrix organic light-emitting diode (AMOLED), flexible light-emitting diode (flex light-emitting diode, FLED), Miniled, MicroLed, Micro-oLed, quantum dot light-emitting diodes (quantum dot light-emitting diodes, QLED), etc. In some embodiments, the terminal device 400 may include 1 or N display screens, where N is a positive integer greater than 1.
[0107] The terminal device 400 may also include components such as a battery 442, and the embodiment of the present application does not impose any limitation on this.
[0108] The embodiments of the present application do not limit the structure and form of the terminal device. For example, Figure 4B Another exemplary structure of a terminal device is shown. Figure 4B As shown, the terminal device includes: a processor 401, a memory 402, a transceiver 403, and an input / output device 404. The implementation of the processor 401 and the memory 402 can be found in Figure 4AThe processor and memory of the terminal device 400 are implemented. The transceiver 403 is used for the terminal device to interact with other devices. The transceiver 403 can be a device based on Wi-Fi, Bluetooth or other communication protocols. The input / output device 404 can be used to input information to the terminal device or output information from the terminal device. For example, the input / output device 404 can be a display, an audio player, a speaker, etc., which can be used for the terminal device to output meeting minutes.
[0109] In some other embodiments of the present application, the terminal device may include Figure 4A , Figure 4B More or fewer components shown, or some components are combined, or some components are split, or some components are replaced, or different component arrangements are arranged. The components shown in the figure can be implemented in hardware, software, or a combination of software and hardware.
[0110] The technical solutions involved in the following embodiments can all be Figure 4A , Figure 4B The invention is implemented in the device of the structure shown.
[0111] like Figure 5 FIG. 1 is a schematic diagram of the architecture of a terminal device deployment system 50 provided in an embodiment of the present application. The terminal device deployment system 50 includes two or more terminal devices, and the terminal device deployment system 50 includes a first terminal device, a second terminal device, and a third terminal device.
[0112] In the embodiment of the present application, the first terminal device is a terminal device that has been deployed in the terminal device deployment system 50, and the second terminal device and the third terminal device are terminal devices to be deployed in the terminal device deployment system 50. The first terminal device, the second terminal device and the third terminal device are directly connected (can also be described as establishing a communication connection), for example, the first terminal device, the second terminal device and the third terminal device are directly connected via a wireless local area network (WLAN) (can also be described as a WLAN direct connection), Bluetooth, etc. The first terminal device deploys the second terminal device. The successfully deployed second terminal device has the deployment capability and can also deploy the third terminal device until all the terminal devices in the terminal device deployment system 50 are deployed.
[0113] Exemplarily, the terminal device deployment system 50 includes device A, device B, device C, device D, and device E. The user performs deployment on the terminal device A in the terminal device deployment system 50, and after the deployment is completed, device A becomes the first terminal device. Device A can deploy the undeployed terminal devices (device B, device C, device D, and device E). For example, device A determines that device B and device C are the second terminal devices and deploys them. After the deployment is completed, the second terminal device (device B and device C) is deployed to the third terminal device (device D and device E) until the terminal device deployment system 50 completes the deployment.
[0114] Each terminal device in the terminal device deployment system 50 is located in the same business scenario, such as a home scenario, an enterprise scenario, etc. The types and specific forms of the terminal devices in the terminal device deployment system 50 are related to the business scenario. For example, the terminal devices in the terminal device deployment system 50 in the home scenario can be smart home devices such as mobile phones, tablets, TVs, refrigerators, smart screens, air conditioners, etc., and the terminal devices in the terminal device deployment system 50 in the enterprise scenario can be smart office devices such as computers, tablets, projectors, printers, etc.
[0115] The terminal devices in the same business scenario can be understood as terminal devices located in the same space, such as the terminal devices in the education scenario are terminal devices in the classroom. The embodiment of the present application does not impose any special restrictions on the division of business scenarios, nor does the embodiment of the present application impose any special restrictions on the specific form of the terminal devices in the terminal device deployment system 50.
[0116] The terminal device deployment method of the embodiment of the present application is described in detail below through specific embodiments. The following embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments.
[0117] Take the home business scenario as an example for a detailed description. Figure 6 , Figure 6 A schematic diagram of a process of deploying a terminal device provided in an embodiment of the present application, the method comprising the following steps S601-S602:
[0118] S601: A first device generates a list of resources and devices to be deployed and determines a second device in response to a first operation.
[0119] In an embodiment of the present application, the first device is a terminal device that generates resources to be deployed in response to a first operation. The first device has the ability to transfer files, configure management and control policies, generate resources to be deployed, and deploy terminal devices. The first device has built-in device policy control (DPC) software, which is used to assist the first device in generating resources to be deployed, switching states, transferring files, configuring management and control policies, and deploying terminal devices.
[0120] It can be understood that after the first device generates the resources to be deployed in response to the first operation, it becomes the first terminal device to complete the deployment.
[0121] In an embodiment of the present application, the first operation includes a preset operation in which the user actively triggers the first device to generate resources to be deployed. Optionally, the preset operation may be some quick operations of the user, for example, quick operations by gestures, key combinations, or touch. The preset operation may also be a voice command of the user, for example, issuing a command to generate resources to be deployed to the first device through a voice assistant. The embodiment of the present application does not limit the specific implementation form of the first operation.
[0122] The first operation includes operations of the user selecting a second device, selecting a media file, and formulating a configuration file.
[0123] The second device is a terminal device selected by the user and to be deployed. The second device has built-in DPC software, which is used to assist the second device in determining whether to deploy, and to perform self-deployment, switching states, etc. according to the resources to be deployed.
[0124] It is understandable that the second device is the terminal device to be deployed selected in the first operation. The embodiment of the present application does not limit the number, type, etc. of the second device.
[0125] In the embodiment of the present application, the first device and the second device may be terminal devices located in the same network environment, or may be terminal devices located in different network environments. For example, the first device and the second device are both located in network 1. Alternatively, the first device is located in network 1, and the second device is located in network 2. Alternatively, the first device is located in network 1, and the second device is disconnected from the network, etc.
[0126] In an embodiment of the present application, the first device and the second device are directly connected. For example, the first device and the second device are directly connected via a wireless local area network (WLAN) direct connection (also described as a WLAN direct connection), or the first device and the second device are directly connected via Bluetooth, etc. The embodiment of the present application does not limit the direct connection method between the first device and the second device. The first device and the second device can directly communicate and transmit data without going through an intermediate device or network.
[0127] Optionally, the second device may also be a terminal device that is directly connected to the first device but has not deployed the function / content indicated by the resource to be deployed. Exemplarily, after generating the resource to be deployed, the first device may detect whether the terminal device directly connected to the first device has deployed the function / content indicated by the resource to be deployed. If the first device determines that a certain terminal device has not deployed the function / content indicated by the resource to be deployed, the terminal device is determined as the second device and deployed according to the resource to be deployed.
[0128] The media file is a media file selected by the user and to be deployed to the second device. The media file includes files such as videos, pictures and / or audio files. For example, a video file of a boot animation.
[0129] Among them, the configuration file is a configuration file prepared by the user and expected to be implemented by the second device. The configuration file includes a device configuration file or a content customization file. The device configuration file is a file prepared by the user and expected to implement a certain function by the hardware device or software device in the second device, and is used to deploy the functions of each device in the second device. For example, enable the Bluetooth, network, or virtual private network (VPN) of the second device. The content customization file is a file prepared by the user and expected to implement personalized customized content on the second device, and is used to deploy personalized customized content on the second device. For example, customize the personalized content such as the boot animation, music, and theme of the second device.
[0130] In the embodiment of the present application, the resource to be deployed is resource data obtained by combining the second device, media files and configuration files selected by the first device according to the first operation. The resource to be deployed includes the version number of the resource to be deployed, the media files and the configuration files.
[0131] The version number of the resource to be deployed is a version identifier of the resource to be deployed. The higher the version number of the resource to be deployed, the more functions the resource to be deployed has.
[0132] In an embodiment of the present application, the initial deployment resource version number of each terminal device defaults to the lowest, such as 0.0.0.0. During subsequent use, deployment is performed according to the received resources to be deployed. After the deployment is completed, the version number is updated to the version number of the resources to be deployed.
[0133] It is understandable that each time a terminal device completes a deployment, the version number of the deployment resource will be updated. For example, if a terminal device completes deployment according to the resources to be deployed, the version number of the current deployment resource of the terminal device is updated to the version number of the resources to be deployed, which is used to indicate that the terminal resource has been successfully deployed according to the resources to be deployed. Moreover, each time a deployment is completed, the function of the terminal device is updated and improved, so the higher the version number of the deployment resource on the terminal device, the more times the terminal device has been deployed, and the richer the functions of the terminal device.
[0134] In the embodiment of the present application, the device list includes the device indicated by the user. Specifically, the device list includes the deployment information and device information of the second device selected by the user.
[0135] Optionally, the device list may also include devices that establish communication connection with the first device. For example, the device list includes devices that establish communication connection with the first device, and the first device detects each device in the device list and determines the device in the device list that does not deploy the resource to be deployed as the second device.
[0136] The deployment information includes the version number of the deployment resource of the second device, the deployment result of the second device, the status corresponding to the deployment result of the second device, the number of deployment failures, and the like.
[0137] The device information includes the product serial number and the bandwidth information of the second device.
[0138] Among them, the version number of the deployment resource of the second device is the version number of the deployment resource used by the second device after the second device completes the deployment according to the resources to be deployed. If the second device is successfully deployed according to the resources to be deployed, the version number of the deployment resource of the second device is updated to the version number of the resources to be deployed. If the second device fails to deploy according to the resources to be deployed, the version number of the deployment resource of the second device is still the version number before deployment. The deployment result of the second device is the result after the second device completes the deployment according to the resources to be deployed. The deployment result includes successful deployment, failed deployment, or no deployment is required. The states corresponding to the deployment result of the second device include: the state corresponding to successful deployment is the second state, the state corresponding to failed deployment is the fourth state, and the state corresponding to no deployment is the first state. The number of deployment failures is the number of deployment failures of the second device. The bandwidth information of the second device is the bandwidth occupied by the second device when communicating. The bandwidth information is used to indicate the ability of the second device to transmit data. The larger the bandwidth, the stronger the ability of the second device to transmit data.
[0139] It is understandable that when the resources to be deployed are just generated and before deployment, the information of the second device only contains accurate information about the product serial number of the second device, but does not contain accurate information about the version number of the deployment resources of the second device, bandwidth information, deployment results, and the status corresponding to the deployment results. In the subsequent deployment process, the deployment information and device information of the second device will be gradually improved.
[0140] like Figure 7 As shown, S601 may specifically include the following steps:
[0141] S6011. The first device receives a first operation of a user.
[0142] Correspondingly, the user inputs a first operation to the first device.
[0143] In an embodiment of the present application, the first device accepts a first operation by a user on information of different dimensions of a deployment strategy.
[0144] The deployment strategy is a scheme or plan for deploying terminal devices. The information of different dimensions of the deployment strategy includes: deployment objects, deployment contents, etc. Exemplarily, the deployment objects include information of terminal devices directly connected to the first device, and the deployment contents include media file information and configuration file information, etc.
[0145] The media file information may be information already available on the first device, or may be information transmitted by the user to the first device before performing the first operation.
[0146] Exemplarily, the user uploads the media file information to the first device first, and then performs configuration and deployment based on the uploaded media file information.
[0147] In some embodiments of the present application, before the first device receives the first operation of the user, the first device is pre-set with information of different dimensions of the deployment strategy so that the user can select part of the information to generate resources to be deployed.
[0148] It can be understood that the first device determines the second device (the terminal device to be deployed) and the deployment content of the second device by the user according to the first operation of the user.
[0149] For example, in a home scenario, device A, device B, device C, device D, and device E are directly connected via WLAN, and a user opens a deployment interface on device A, such as Fig. 8AAs shown, the deployment interface includes options of different dimensions of deployment strategies. For example, the deployment object module includes: device B, device C, device D and device E; the deployment content module includes a media module and a configuration module, the media module includes a startup animation and a shutdown animation; the configuration module includes a device configuration class and a content customization class, the device configuration class includes enabling Bluetooth, and the content customization class includes a startup animation file and a shutdown animation file. Users can arbitrarily select information of different dimensions based on the options provided by the deployment interface. For example, the user selects the options of device B, device C, device D, startup animation, and startup animation file.
[0150] S6012: The first device generates a list of resources and devices to be deployed and determines a second device in response to the first operation.
[0151] In an embodiment of the present application, the first device creates a deployment plan and generates a version number of the resources to be deployed in response to the first operation, determines the second device based on the first operation, and generates a device list based on the second device; and integrates the information of different dimensions selected by the first operation, the version number of the resources to be deployed, and the device list to generate the resources to be deployed.
[0152] Exemplarily, based on the example of S6011 above, the DPC software in the first terminal device creates a deployment plan to generate a version number of the resource to be deployed (such as 5.0.0.0) in response to the user's first operation, and determines the device B, device C, and device D selected by the user as the second device, and generates a device list as shown in Table 1 based on the second device. Then, based on the information of different dimensions such as the boot animation and boot animation file selected by the user, determine the media files and configuration files. Integrate the media files, configuration files, and version numbers of the resources to be deployed, package and compress them into a compressed package file, and sign the compressed package to generate a signature certificate. Combine the compressed package file and the signature certificate to obtain the following: Figure 8B The resources to be deployed are shown.
[0153] Table 1
[0154] Product serial number The version number of the deployment resource Bandwidth Information Status corresponding to the deployment result Device B unknown unknown unknown Device C unknown unknown unknown Equipment D unknown unknown unknown
[0155] As shown in Table 1, it is an example of a device list generated according to the second device selected by the user in S6011. The device list includes the second devices to be deployed, namely, device B, device C, and device D. Before deployment, the first device does not determine the version number of the deployment resource corresponding to each second device, the bandwidth information, and the status corresponding to the deployment result. Therefore, these three types of information are unknown information at this time, and will be gradually improved in the deployment process later.
[0156] Exemplarily, a signature algorithm is used to sign the compressed package file to obtain a signature certificate. The signature algorithm may be SHA256withRSA / PSS. The format of the signature certificate may be cert. For example, the compressed package file is first hashed with SHA256, then one-way encrypted using an asymmetric encryption algorithm (RSA algorithm), and finally encoded using base64 to obtain a signature certificate. The signing process is specifically: Base64(RSA_Encrypted(sha256(file context))). The embodiments of the present application do not limit the specific implementation method for signing the compressed package file.
[0157] It is understandable that a signature is generated for the compressed package file through a signature algorithm so that the integrity of the compressed package file can be verified based on the signature to avoid malicious tampering.
[0158] S602: The first device switches from the first state to the second state, and deploys the second device according to the list of resources and devices to be deployed.
[0159] In the embodiment of the present application, the first state is a standby state (standby), which is used to indicate that the terminal device is in a waiting state, waiting to be deployed. The second state is a deployed state (deployed), which is used to indicate that the terminal device is deployed successfully.
[0160] In the embodiment of the present application, the state of the terminal device also includes a third state and a fourth state. The third state is deploying, which indicates that the terminal device is being deployed; the fourth state is failed deployment, which indicates that the terminal device has failed to deploy.
[0161] In the embodiment of the present application, the terminal devices that have not been deployed are initially in the first state. If the terminal device can be deployed according to the resources to be deployed, it switches from the first state to the third state, if the deployment is successful, it switches from the third state to the second state, and if the deployment fails, it switches from the third state to the fourth state.
[0162] It is understandable that in the embodiment of the present application, the user performs configuration on the first device, and the first device generates resources to be deployed in response to the first operation. In this process, the first device has completed the deployment, and after the first device generates resources to be deployed, it does not need to go through the third state and directly switches from the first state to the second state.
[0163] In a possible implementation manner, the first device switches from the first state to the second state in response to the second operation.
[0164] In an embodiment of the present application, the second operation includes a preset operation in which the user actively triggers the first device to deploy. Optionally, the preset operation may be some quick operations of the user, for example, quick operations by gestures, key combinations, or touch. The preset operation may also be a voice command of the user, for example, issuing a deployment command to the first device through a voice assistant. The embodiment of the present application does not limit the specific implementation form of the second operation.
[0165] For example, based on the above S6011 Fig. 8A In the example, the user selects some options in the deployment interface. After the first device generates resources to be deployed in response to the options selected by the user, a pop-up window on the deployment interface prompts the user "Do you want to deploy?" If the user selects "Yes", the DPC software in the first device switches from the first state to the second state in response to the first operation; otherwise, the state of the first device is not switched.
[0166] In another possible implementation manner, after the first device generates the resources to be deployed in response to the first operation, the first device actively switches the first state to the second state.
[0167] For example, based on the above S6011 Fig. 8A In the example, the user selects some options in the deployment interface, and after the first device generates resources to be deployed in response to the options selected by the user, it is determined that the first device has completed deployment. Then, the DPC software in the first device directly switches the first state to the second state to quickly deploy the second device.
[0168] like Fig. 9 As shown, in step S602, the first device deploys the second device in the first state according to the resources to be deployed and the device list, which can be specifically implemented as the following steps S900-S913:
[0169] S900: The first device creates a first group with a first number of members, and selects a first number of second devices from second devices in a first state as third devices.
[0170] The specific value of the first quantity may be set by the user, or may be set by the first device according to the number of the second devices in the device list.
[0171] In some embodiments of the present application, after the first device switches from the first state to the second state, the DPC software of the first device determines the first number set by the user as the number of members of the first group, and creates a first group including the first number of terminal devices. Then, the first device sniffs the surrounding second devices and the states of the second devices according to the device list, and determines the first number of second devices that are in the first state and ranked first as the third devices according to the order in which the first device sniffs the second devices.
[0172] Exemplarily, based on the example in S602 above, the first device switches from the first state to the second state in response to the second operation. The first device is device A. After device A switches from the first state to the second state, the deployment interface pops up a window to prompt the user to "select the number of terminal devices in the group". The user can enter a number (such as 2) in the window. The first device creates a first group (the number of members in the first group is 2) in response to the number entered by the user. Then, device A sniffs device B, device C, and device D. If device A first sniffs device B, then device C, and finally device D, and the states of device B, device C, and device D are all in the first state. Then device A determines that device B and device C are the third device based on the first number (2) and the sniffing order.
[0173] In other embodiments of the present application, after the first device switches from the first state to the second state, the DPC software of the first device determines the first number according to the number of second devices in the device list, and creates a first group including the first number of terminal devices. Then, the first device sniffs the surrounding second devices and the states of the second devices according to the device list, and determines the first number of second devices that are in the first state and ranked first as the third device according to the order in which the first device sniffs the second devices.
[0174] Exemplarily, based on the example in S6012 and S602 above where the first device actively switches the first state to the second state, the first device is device A, and the second devices in the device list include device B, device C, and device D, a total of 3. After device A switches from the first state to the second state, device A selects any number within the total number (including the total number) as the first number (such as setting 2 as the first number) based on the total number of second devices in the device list, and the first device creates a first group containing the first number (2) of members. Then, device A sniffs device B, device C, and device D. If device A first sniffs device B, then device C, and finally device D, and the states of device B, device C, and device D are all in the first state. Then device A determines that device B and device C are the third devices based on the first number (2) and the sniffing order.
[0175] It is understandable that when the first device sniffs the surrounding second devices, the first device has not yet deployed the second devices, so the status of the second devices is the first status.
[0176] S901. The first device sends a first group-joining invitation to the third device, where the first group-joining invitation carries a version number of a resource to be deployed.
[0177] Exemplarily, based on the example of S900 above, device A sends a first group-joining invitation to device B and device C respectively, inviting the two devices to join the first group, so as to deploy the two devices.
[0178] S902: The third device determines whether the third device meets the deployment condition according to the version number of the resource to be deployed. If yes, execute S904-S907, otherwise execute S903.
[0179] In the embodiment of the present application, the result of the third device determining whether the third device meets the deployment condition according to the version number of the resource to be deployed includes the following situations:
[0180] In case A, if the version number of the resource to be deployed does not meet the deployment condition, it is determined that the third device does not meet the deployment condition, and there is no need to deploy, and step S903 is executed.
[0181] In case B, if the version number of the resource to be deployed meets the deployment condition, it is determined that the third device meets the deployment condition and needs to be deployed, and steps S904-S907 are executed.
[0182] Optionally, the third device determines whether the third device meets the deployment condition by comparing the version number of the resource currently deployed by the third device with the version number of the resource to be deployed. If the version number of the resource to be deployed is less than the version number of the resource currently deployed by the third device, it is determined that the third device does not meet the deployment condition and does not need to be deployed, and step S903 is executed. If the version number of the resource to be deployed is greater than or equal to the version number of the resource currently deployed by the third device, it is determined that the third device meets the deployment condition and needs to be deployed, and steps S904-S907 are executed.
[0183] Exemplarily, based on the examples in S6012 and S901 above, the first device is device A, and the third device is device B and device C. The version number of the resource to be deployed in the first group-joining invitation sent by device A to device B and device C is 5.0.0.0. After receiving the first group-joining invitation, device B and device C respectively compare the version number of their currently deployed resources with the version number of the resource to be deployed. If the version number of the currently deployed resource of device B is 4.0.0.0, which is less than the version number of the resource to be deployed, 5.0.0.0, then device B determines that it meets the deployment conditions and needs to be deployed, and executes S904-S907. If the version number of the currently deployed resource of device C is 6.0.0.0, which is greater than the version number of the resource to be deployed, 5.0.0.0, then device C determines that it does not meet the deployment conditions, and the currently deployed function of device C includes the function indicated by the resource to be deployed. Therefore, there is no need to deploy, and step S903 is executed.
[0184] It is understandable that the first device only deploys to the terminal device selected by the user, so the terminal devices deployed each time may be different, resulting in different version numbers of deployed resources for different terminal devices at the same time in the same scenario. Therefore, it is necessary to compare the version number of the currently deployed resources of the terminal device to be deployed and the version number of the resources to be deployed each time to determine whether deployment is required. When the version number of the resources to be deployed is less than the version number of the currently deployed resources of the terminal device to be deployed, it indicates that the terminal device to be deployed has deployed the functions indicated by the resources to be deployed and does not need to be deployed again. When the version number of the resources to be deployed is greater than the version number of the currently deployed resources of the terminal device to be deployed, it indicates that the terminal device to be deployed has not deployed the functions indicated by the resources to be deployed and needs to be deployed.
[0185] S903: The third device returns the deployment information and device information to the first device, and refuses to join the first group.
[0186] The deployment information includes the deployment result, the status corresponding to the deployment result, the version number of the deployment resource, the number of deployment failures, etc. The device information includes the product serial number and device bandwidth information, etc. The embodiments of the present application do not limit the specific content of the deployment information and the device information.
[0187] The deployment results include deployment success, deployment failure, and no deployment required. The states corresponding to the deployment results include: the state corresponding to deployment success is the second state, the state corresponding to deployment failure is the fourth state, and the state corresponding to no deployment required is the first state.
[0188] In an embodiment of the present application, after the third device determines that it does not meet the deployment conditions, the DPC software determines that the third device does not need to be deployed, returns the deployment information and device information of the third device to the first device, and refuses to join the first group.
[0189] Exemplarily, based on the example of S902 above, after device C determines that it does not meet the deployment conditions, it cannot be deployed according to the resources to be deployed because the version number of the currently deployed resources of device C is higher than the version number of the resources to be deployed. It can be understood that device C itself already has the functions indicated by the resources to be deployed, and there is no need to deploy it again to change its own state. Therefore, device C returns the currently deployed version number (6.0.0.0), the first state (standby), the bandwidth information of device C 350Mhz / s, and the response message of refusing to join the first group (which can also be described as the first group entry response, which indicates a refusal to join the first group) to device A, refusing to join the first group.
[0190] S904: The third device switches from the first state to the third state and joins the first group.
[0191] In an embodiment of the present application, after the third device determines that it meets the deployment conditions, the DPC software actively switches from the first state to the third state, and returns a response message to the first device to join the first group (which can also be described as a first group joining response, which indicates joining the first group).
[0192] Exemplarily, based on the example of S902 above, after determining that the device B meets the deployment condition, it switches from the first state to the third state (deploying), and sends a response message of joining the first group to the device A for subsequent deployment.
[0193] S905. The first device sends a list of resources and devices to be deployed to the third device.
[0194] In the embodiment of the present application, the first device sends a list of resources and devices to be deployed to a third device that joins the first group.
[0195] Exemplarily, based on the example of S904 above, device A sends a list of resources and devices to be deployed to device B.
[0196] S906: The third device is deployed according to the resources to be deployed, and determines deployment information and device information.
[0197] In the embodiment of the present application, the DPC software of the third device added to the first group performs corresponding configuration and deployment according to the resources to be deployed. If the deployment result is that the third device is deployed successfully, the DPC software of the third device switches the third state to the second state, and updates the version number of the deployed resources of the third device according to the version number of the resources to be deployed; if the deployment result is that the third device fails to be deployed, the DPC software of the third device switches the third state to the fourth state, records the number of deployment failures of the third device, and does not update the version number of the deployed resources of the third device. Among them, the deployment result corresponds to the state of the third device after the deployment is completed.
[0198] Exemplarily, based on the example of S904 above, if device B is deployed according to the resources to be deployed and the deployment of device B is successful, device B switches from the third state to the second state (deployed), and updates the version number of the deployed resources corresponding to device B to 5.0.0.0.
[0199] Exemplarily, based on the above example S904, if device B is deployed according to the resources to be deployed, but the deployment of device B fails, device B switches from the third state to the fourth state (failed), records the number of failures (such as 1), and does not change the version number of the deployment resources of device B.
[0200] In the embodiment of the present application, during the process of the third device being deployed according to the resources to be deployed, device information of the third device, such as bandwidth information of the third device, may also be obtained.
[0201] See also Fig.10 As shown, the deployment of the third device according to the resources to be deployed in step S906 can be specifically implemented as the following steps S1001-S1002:
[0202] S1001. A third device obtains media files and configuration files according to resources to be deployed.
[0203] In an embodiment of the present application, the DPC software in the third device first verifies the compressed package file in the resource to be deployed according to the signature certificate in the resource to be deployed. After the verification is passed, the DPC software decompresses the compressed package file in the resource to be deployed to obtain the media file and the configuration file.
[0204] Exemplarily, based on the above example of S6011, the DPC software in the third device performs signature verification on the resources to be deployed and decompresses the obtained media file as a boot animation, and the configuration file is a content customization file: a boot animation file.
[0205] For example, based on the above Fig. 8A Example of the deployment interface. If the user selects Device B, Device C, Device D, and Enable Bluetooth, the media files in the generated resources to be deployed are empty, and the configuration file is the device configuration file: Enable Bluetooth-related configuration files.
[0206] S1002. The third device completes deployment according to the media file and the configuration file.
[0207] In some embodiments of the present application, if the configuration file is a content customization file, it indicates that the third device is personalized and customized and new content is deployed.
[0208] In the above situation, if the configuration file is a content customization file, the DPC software of the third device determines the content information to be deployed by the third device according to the content customization file, stores the media files in the application directory of the DPC software, and records the storage path of the media files. Subsequently, the DPC software calls the mobile device management (MDM) and sends the storage path to the MDM, triggering the MDM to deploy the media files. Finally, the MDM obtains the media files according to the storage path and calls the media file related modules to complete the deployment.
[0209] Exemplarily, based on the example in S1001 above, the media file obtained by the DPC software of the third device according to the resources to be deployed is a boot animation, and the configuration file is a content customization file: a boot animation file. The DPC software determines that the third device will deploy a boot animation based on the boot animation file, and copies the boot animation to the application directory of the DPC software, and records the storage path of the boot animation (such as path 1). Then, the DPC software calls MDM and transmits path 1 to MDM, triggering MDM to deploy the boot animation. Finally, MDM obtains the boot animation through path 1 and calls the boot animation module to complete the deployment.
[0210] In some other embodiments of the present application, if the configuration file is a device configuration file, it indicates that a function of a certain device in the third device is deployed.
[0211] In view of the above situation, if the configuration file is a device configuration file, the DPC software of the third device determines the devices and functions to be deployed on the third device according to the device configuration file, and directly calls MDM to deploy according to the device configuration file and media files.
[0212] Exemplarily, based on the example in S1001 above, the DPC software of the third device determines that the media file is empty according to the resources to be deployed, and the configuration file is a device configuration file: Bluetooth-related configuration files are enabled. The DPC software determines that the third device will deploy Bluetooth-related functions according to the device configuration file, and the DPC software directly calls MDM to start the Bluetooth of the third device according to the configuration file related to starting Bluetooth.
[0213] S907: The third device sends the deployment information and device information to the first device, and actively exits the first group.
[0214] In the embodiment of the present application, the third device returns the deployment information and device information after deployment to the first device, actively exits the first group, and completes this deployment.
[0215] Specifically, if the third device added to the first group is deployed successfully, the deployment information (deployment success, second status, and the version number of the deployment resources after the third device is updated, etc.) and device information (bandwidth information of the third device) are sent to the first device, and the first group is actively withdrawn to complete this deployment. If the third device added to the first group fails to be deployed, the deployment information (deployment failure, fourth status, number of failures, and the version number of the resources deployed by the third device, etc.) and device information (bandwidth information of the third device) are sent to the first device, and the first group is actively withdrawn to complete this deployment.
[0216] Optionally, the response message including the deployment failure and the fourth status returned by the third device may also be described as a deployment failure response.
[0217] Exemplarily, based on the example of successful deployment of device B in S906 above, device B sends device A a message of successful deployment, a second state (deployed), the version number of the resources deployed by device B (5.0.0.0), and bandwidth information of device B (500Mhz / s), and exits the first group.
[0218] Exemplarily, based on the example of device B deployment failure in S906 above, device B sends device A a deployment failure, a fourth state (failed), a number of failures of 1, a version number of the resources deployed by device B (4.0.0.0), and device B's bandwidth information of 500Mhz / s, and exits the first group.
[0219] S908: The first device updates the device list according to the deployment information and device information returned by the third device.
[0220] In the embodiment of the present application, the first device receives the status returned by each third device, and updates the device list according to the status returned by each third device.
[0221] Optionally, the third device may also return bandwidth information of the third device and a version number of a deployment resource deployed by the third device to the first device.
[0222] Exemplarily, based on the example of successful deployment of device B in S903 and S906 above, device A updates the device list in device A according to the deployment information and device information returned by device C and device B respectively. The updated device list is shown in Table 2.
[0223] Table 2
[0224] Product serial number The version number of the deployment resource Bandwidth Information Status corresponding to the deployment result Device B 5.0.0.0 500Mhz / s deployed Device C 6.0.0.0 350Mhz / s standby Equipment D unknown unknown unknown
[0225] As shown in Table 2, the information after the third device completes deployment is: Device B is deployed successfully, the version number of the deployment resource is 5.0.0.0, the bandwidth information is 500Mhz / s, and the status corresponding to the deployment result is deployed; the version number of the deployment resource of Device C is 6.0.0.0, the bandwidth information is 350Mhz / s, and the status corresponding to the deployment result is standby.
[0226] Illustratively, based on the example of device B deployment failure in S903 and S906 above, device A updates the device list in device A according to the deployment information and device information returned by device C and device B respectively. The updated device list is shown in Table 3.
[0227] Table 3
[0228] Product serial number The version number of the deployment resource Bandwidth Information Status corresponding to the deployment result Device B 4.0.0.0 500Mhz / s failed(1) Device C 6.0.0.0 350Mhz / s standby Equipment D unknown unknown unknown
[0229] As shown in Table 3, the information after the third device completes deployment is: Device B deployment fails, the version number of the deployment resource is 4.0.0.0, the bandwidth information is 500Mhz / s, the status corresponding to the deployment result is failed, and the number of deployment failures is 1; the version number of the deployment resource of Device C is 6.0.0.0, the bandwidth information is 350Mhz / s, and the status corresponding to the deployment result is standby.
[0230] The above example uses the first device deploying the third device in the first group as an example. The first device first deploys the third device in the first group. The first group may only include some undeployed second devices. After the first device completes the deployment of the third device, if there are undeployed second devices, an invitation to join the group can be sent to the device to deploy it. Moreover, the third device in the first group whose state is switched to the second state has successfully deployed the resources to be deployed. Therefore, the third device also has the deployment capability and can also deploy the undeployed second device.
[0231] In the embodiment of the present application, after step S908, the first device may further perform the following steps S909-S913:
[0232] S909: The first device determines whether there is a second device with unchanged information and / or a second device whose deployment fails and the number of failures does not exceed a preset threshold according to the updated device list. If yes, execute step S910; otherwise, execute step S911.
[0233] The preset threshold is the maximum value of the number of deployment failures that is predetermined. For example, the preset threshold is 3. If a device is deployed 3 times and fails each time, there is no need to deploy the device again. It may be that the device is faulty and cannot be deployed. The technician can manually deploy the device after repairing it.
[0234] In the embodiment of the present application, by comparing the information of each second device in the device list before and after the update, it is determined whether there is a second device with unchanged information and / or a second device whose deployment fails and the number of failures does not exceed a preset threshold. If at least one of the two exists, deployment is performed and step S910 is executed. Otherwise, step S911 is executed.
[0235] Exemplarily, based on the examples in Table 1 and Table 2 above, it can be determined that each item of information of device D in the updated device list is unchanged, so the first device should execute step S910.
[0236] S910. The first device selects a second number of second devices as fourth devices from second devices whose information has never changed and are in the first state and / or second devices whose deployment has failed and the number of failures does not exceed a preset threshold, performs a new round of deployment on the fourth devices, and updates the device list again according to the deployment information and device information returned by the fourth devices.
[0237] It can be understood that this step S910 is essentially to update the terminal devices in the first group. After creating the first group, the first terminal device continuously invites undeployed terminal devices to join the group and deploys them until the deployment is completed.
[0238] The second number is determined by the number of second devices that have not changed their state and are in the first state and / or the number of second devices that have failed to be deployed and whose number of failures does not exceed a preset threshold and the first number.
[0239] In an embodiment of the present application, after determining that there are second devices with unchanged information in the updated device list, the first device sniffs the second devices with unchanged information, determines the second number based on the number of second devices with unchanged information and in the first state and / or failed deployment and the number of failures not exceeding a preset threshold and the first number, and selects the second number of second devices as the fourth devices from the second devices with unchanged information and in the first state and / or second devices with failed deployment and the number of failures not exceeding the preset threshold.
[0240] Specifically, the first device sniffs the second device whose information has not been changed and / or the second device whose deployment fails and the number of failures does not exceed the preset threshold in the device list. First, the second device whose information has not been changed and is in the first state and / or the second device whose deployment fails and the number of failures does not exceed the preset threshold are sorted in the order of sniffing, and the number of the second device whose information has not been changed and is in the first state and / or the second device whose deployment fails and the number of failures does not exceed the preset threshold is determined. Then, the second number is determined. If the number of the second device whose state has not been changed and is in the first state and / or the second device whose deployment fails and the number of failures does not exceed the preset threshold is greater than or equal to the first number, the first number is determined as the second number; if the number of the second device whose state has not been changed and is in the first state and / or the second device whose deployment fails and the number of failures does not exceed the preset threshold is less than the first number, the second number is determined according to the number of the second device whose state has not been changed and is in the first state and / or the second device whose deployment fails and the number of failures does not exceed the preset threshold. Finally, the second number of second devices is selected as the fourth device from the second device whose information has not been changed and is in the first state and / or the second device whose deployment fails and the number of failures does not exceed the preset threshold.
[0241] Exemplarily, based on the above examples of S900 and S909, the first number is 2, device A sniffs device D, and if the state of device D is the first state, then in the updated device list, the number of second devices (device D) that have not changed information and are in the first state is 1, which is less than the first number 2, so the second number (such as 1) is set according to the number of second devices that have not changed information and are in the first state, and device D is determined as the fourth device.
[0242] In the embodiment of the present application, after determining the fourth device, the first device performs a new round of deployment on the fourth device. For details, refer to the above steps S901-S908, and the third device in steps S901-S908 is changed to the fourth device. The deployment object changes, but the deployment method does not change.
[0243] In an embodiment of the present application, after executing step S910, the first device determines whether there is an undeployed second device based on the device list that has been updated again. If so, it is deployed again based on the updated device list, that is, steps S909-S910 are executed; if not, step S911 is executed.
[0244] Exemplarily, based on the example in which device B is successfully deployed, device C refuses to join the first group, and device D is the fourth device in S910 in the above-mentioned method S901-S908, device A sends a first group-joining invitation to device D, and the first group-joining invitation carries the version number of the deployment resource; if the version number of the currently deployed resource of device D is 4.0.0.0, which is less than the version number of the resource to be deployed 5.0.0.0, it is determined that device D meets the deployment conditions; device D switches from the first state to the third state, and sends a response message to join the first group to device A; device A sends the resource to be deployed to device D, and device D is deployed and successfully deployed according to the resource to be deployed, and device D updates the version number of its own deployment resource to 5.0.0.0; device D sends its own deployment information (deployment successful, deployed, and 5.0.0.0) and device information (such as bandwidth information of 400Mhz / s) to device A and exits the first group; device A updates the device list again according to the deployment information and device information returned by device D, and obtains the updated device list shown in Table 4.
[0245] Table 4
[0246] Product serial number The version number of the deployment resource Bandwidth Information Status corresponding to the deployment result Device B 5.0.0.0 500Mhz / s deployed Device C 6.0.0.0 350Mhz / s standby Equipment D 5.0.0.0 400Mhz / s deployed
[0247] After device A obtains the updated device list shown in Table 4 and determines that there is no second device whose information has not been changed in Table 4, S911 is executed.
[0248] S911, the first device sniffs all second devices, and determines whether to end the deployment according to whether a second device with a version number lower than the resource to be deployed and in the first state is sniffed within a preset time. If yes, execute step S912, if no, execute step S913.
[0249] The preset time is a pre-set time, which is used to avoid missing the undeployed second device.
[0250] In the embodiment of the present application, after step S909, the devices in the device list have updated information. To avoid omissions or information errors, the first device sniffs the second device again. If a second device with a version number lower than the resource to be deployed and in the first state is not sniffed within a preset time, it is determined that the second devices have been deployed. If a second device with a version number lower than the resource to be deployed and in the first state is sniffed within the preset time, it indicates that there is an omission and it needs to be deployed.
[0251] S912: The first device switches from the second state to the first state, closes the first group, and ends the deployment.
[0252] S913: The first device deploys a second device having a lower version number than the resource to be deployed and in the first state according to the resource to be deployed, until the second device having a lower version number than the resource to be deployed and in the first state completes deployment.
[0253] In the embodiment of the present application, the specific implementation method of step S913 is detailed in S602 above.
[0254] In the embodiment of the present application, after executing step S913, the first device executes S911 again until the first device completes deployment.
[0255] In the embodiment of the present application, after step S907, if the third device in the second state successfully completes deployment, the third device has deployment capability and can deploy the second device that has not yet been deployed.
[0256] like Fig.11 As shown, it is a flow chart of the method for deploying the terminal device in the second state after step S907.
[0257] S1101. A third device updates a device list according to deployment information and device information of the third device.
[0258] Among them, the third device is a terminal device that has been successfully deployed, and the state of the third device is the second state.
[0259] In the embodiment of the present application, in step S905, the third device obtains the device list and resources to be deployed sent by the first device. In step S906, the third device obtains its own deployment information and device information. Therefore, after step S907, the third device can update the device list according to its own deployment information and device information.
[0260] For example, based on the example of S907 above, the deployment information and device information of device B are: deployment successful, second state (deployed), version number of resources deployed by device B (5.0.0.0), and bandwidth information of device B 500Mhz / s. Device B actively exits the first group, and thus cannot obtain the deployment information and device information of other devices in the first group. Therefore, the device list after device B can update according to its own deployment information and device information is shown in Table 5.
[0261] Table 5
[0262] Product serial number The version number of the deployment resource Bandwidth Information Status corresponding to the deployment result Device B 5.0.0.0 500Mhz / s deployed Device C unknown unknown unknown Equipment D unknown unknown unknown
[0263] It is understandable that the above example is explained by taking the third device first receiving the device list and actively exiting the first group as an example, so the device list updated by the third device according to its own information only includes its own information.
[0264] In another possible implementation, in step S905, the first device sends resources to be deployed only to the third device that joins the first group, and the third device is subsequently deployed according to the resources to be deployed. When the third device sends the deployment information and device information to the first device, the third device sends a withdrawal request to the first device. After the first device updates the device list according to the status returned by each third device, it returns a withdrawal response and an updated device list to the third device. In this way, the third device can receive the updated device list of the first device and deploy based on the device list. For example, based on the above example in which device A obtains the updated device list shown in Table 2 based on the successful deployment of device B in the first group and device C refuses to join the first group, device C obtains the device list shown in Table 2 from device A.
[0265] In another possible implementation, the third devices in the first group can share information. In this case, the updated device list of each third device can include information of each third device in the first group, thereby avoiding repeated deployment to already deployed devices during subsequent deployment, thereby improving deployment efficiency.
[0266] S1102: The third device determines whether to create a second group based on whether there is a second device whose information has not been changed and / or a second device whose deployment has failed and the number of failures does not exceed a preset threshold in the updated device list. If yes, execute step S1103; otherwise, execute step S1106.
[0267] In the embodiment of the present application, the third device determines whether there is a second device with unchanged information and / or a second device whose deployment fails and the number of failures does not exceed a preset threshold by comparing the information of each second device in the device list before and after the update. If at least one of the two exists, deployment is performed and step S1103 is executed. Otherwise, step S1106 is executed.
[0268] Exemplarily, according to the example described in Table 5 in S1101, in the updated device list of device B, only the information of device B is updated, and the information of other devices is unchanged. Therefore, device B needs to create a second group.
[0269] S1103. The third device determines a third number based on the second devices in the updated device list whose information has not been changed and are in the first state and / or the second devices whose deployment has failed and the number of failures does not exceed a preset threshold, and creates a second group with the third number of members.
[0270] In the embodiment of the present application, the specific implementation method of step S1104 refers to the above step S910 and will not be repeated here.
[0271] Exemplarily, based on the example of Table 5 in S1102 above, device B sniffs device C and device D. If device C is sniffed first and then device D is sniffed, and device B determines that device C is in the second state and device D is in the first state, device B determines that there is only one second device D that has not changed information and is in the first state, and therefore determines that the third number is 1. Device B creates a second group with 1 member.
[0272] S1104. The third device selects a third number of second devices as fifth devices from the second devices in the updated device list whose information has not changed and are in the first state and / or the second devices whose deployment has failed and the number of failures does not exceed the preset threshold, performs a new round of deployment on the fifth devices, and updates the device list again according to the deployment information and device information returned by the fifth device.
[0273] In the embodiment of the present application, the specific implementation method of step S1104 refers to the above step S910 and will not be repeated here.
[0274] Exemplarily, based on the example of S1103 above, device D is determined as the fifth device, and a new round of deployment is performed on device D. The specific implementation of the deployment of device D is shown in steps S901 to S908 above.
[0275] Optionally, if multiple successfully deployed terminal devices are deployed to the same undeployed terminal device, the undeployed terminal device only responds to the terminal device that first receives the invitation to join the group, and rejects other terminal devices.
[0276] Exemplarily, after the first group is closed, device A deploys device D in the above step S910, and device B deploys device D in this step. If device D first receives the group joining invitation sent by device B, device D only accepts the deployment of device B and rejects the deployment of device A.
[0277] S1105: The third device determines whether there is a second device with unchanged information and / or a second device whose deployment fails and the number of failures does not exceed a preset threshold according to the device list updated again. If yes, execute step S1104; otherwise, execute step S1106.
[0278] In the embodiment of the present application, the specific implementation method of step S1104 refers to the above step S909 and will not be repeated here.
[0279] S1106, the third device sniffs all second devices, and determines whether to end the deployment according to whether a second device with a version number lower than the resource to be deployed and in the first state is sniffed within a preset time. If yes, execute step S1107, if no, execute step S1108.
[0280] In the embodiment of the present application, the specific implementation method of step S1106 refers to the above step S911 and will not be repeated here.
[0281] S1107. The third device switches from the second state to the first state, closes the second group, and ends the deployment.
[0282] S1108. The third device deploys a second device having a lower version number than the resource to be deployed and in the first state according to the resource to be deployed, until the second device having a lower version number than the resource to be deployed and in the first state completes deployment.
[0283] In the embodiment of the present application, the specific implementation method of steps S1107-S1108 refers to the above steps S912-S913 and will not be repeated here.
[0284] The above example uses the home scene as an example. The space of the home scene is small, and the number of terminal devices in the home scene is small. The above method is also applicable to business scenarios with a small number of terminal devices. However, for enterprise scenarios with a large number of terminal devices, such as enterprise scenarios, there are many terminal devices and the performance of terminal devices varies, some are good and some are bad. Different terminal devices are constrained by factors such as the number of available bandwidth, device performance, environment, and usage time. Groups cannot be built at will like in home scenes. In enterprise scenarios, devices with larger bandwidth will be preferentially selected for deployment. When devices with larger bandwidth are successfully deployed, undeployed terminal devices can also be deployed. In this way, the overall deployment capability can be expanded and the deployment time can be improved.
[0285] like Fig.12 As shown, the business scenario is an enterprise scenario. Fig.12 , Fig.12 A schematic diagram of a process flow of another terminal device deployment method provided in an embodiment of the present application, the method comprising the following steps S1201-S1206:
[0286] S1201. The cloud server generates a list of resources and devices to be deployed and determines a second device in response to an operation by an operator.
[0287] In an embodiment of the present application, an operator formulates a deployment plan in a device customization module of a cloud server, and the cloud server generates a list of resources and devices to be deployed in response to the operator's operations.
[0288] In the embodiment of the present application, the operation of the operator includes selecting a second device, selecting a media file, and formulating a configuration file. The second device is a terminal device in the enterprise that does not have management authority, such as a computer used by an employee.
[0289] In the embodiment of the present application, the specific implementation method of the cloud server generating the list of resources and devices to be deployed in response to the operation of the operator is shown in the above step S601 and will not be repeated here.
[0290] S1202. The cloud server sends a list of resources and devices to be deployed to the first device.
[0291] The first device is a terminal device with management authority in the enterprise, such as a server in the enterprise computer room.
[0292] In an embodiment of the present application, the cloud server pushes the list of resources and devices to be deployed to the first device, and the first device downloads the list of resources and devices to be deployed according to the pushed information.
[0293] It is understandable that the first device is a terminal device with management authority in the enterprise, which can receive information transmitted by the cloud server and control the second device. The second device is a terminal device without management authority in the enterprise, which is not connected to the cloud server and can receive control from the first device or a device of the same level (another second device). The deployment of the second device in the enterprise scenario needs to be processed by the first device to be realized.
[0294] S1203: The first device is deployed according to the resources to be deployed, and switches the first state to the second state.
[0295] In the embodiment of the present application, the specific implementation method of the first device being deployed according to the resources to be deployed is referred to above S906 and will not be repeated here.
[0296] In the embodiment of the present application, the specific implementation method of switching the first state to the second state refers to S602 above, which will not be repeated here.
[0297] S1204: The first device obtains bandwidth information of the first device and a bandwidth ranking table of the second device in the device list.
[0298] In an embodiment of the present application, the first device obtains the bandwidth information of the first device itself, and sniffs the bandwidth information of each second device in the device list, sorts the bandwidth information of the second devices from high to low, and obtains a bandwidth sorting table of the second devices.
[0299] S1205: The first device determines a first number of group members according to bandwidth information of the first device.
[0300] In the embodiment of the present application, if the bandwidth information of the first device is large, the number of members of the group can be set to a large value; if the bandwidth information of the first device is small, the number of members of the group can be set to a small value.
[0301] S1206: The first device deploys the second device according to the first quantity, the device list, the bandwidth sorting table, and the resources to be deployed.
[0302] like Fig.13 As shown, step S1206 may specifically include the following steps:
[0303] S1300: The first device creates a first group with a first number of members, and selects a first number of second devices from second devices in a first state as third devices according to a bandwidth sorting table.
[0304] In the embodiment of the present application, the DPC software of the first device determines the first number set by the user as the number of members of the first group, and creates a first group including the first number of terminal devices. Then, the state of the second device is sniffed according to the bandwidth sorting table, and the first number of second devices whose state is the first state and ranks high in the bandwidth sorting table are determined as the third device.
[0305] S1301. The first device sends a first group-joining invitation to the third device, where the first group-joining invitation carries a version number of a resource to be deployed.
[0306] S1302: The third device determines whether the third device meets the deployment condition according to the version number of the resource to be deployed. If not, execute step S1303; if yes, execute steps S1304-S1307.
[0307] S1303: The third device returns the deployment information and device information to the first device, and refuses to join the first group.
[0308] S1304: The third device switches from the first state to the third state and joins the first group.
[0309] S1305. The first device sends a list of resources and devices to be deployed to the third device.
[0310] S1306: The third device is deployed according to the resources to be deployed, and determines deployment information and device information.
[0311] S1307: The third device sends the deployment information and device information to the first device, and actively exits the first group.
[0312] S1308: The first device updates the device list according to the deployment information and device information returned by the third device.
[0313] In the embodiment of the present application, after step S1308, the first device may further perform the following steps S1309-S1313:
[0314] S1309: The first device determines whether there is a second device with unchanged information and / or a second device whose deployment fails and the number of failures does not exceed a preset threshold according to the updated device list. If yes, execute step S1310; otherwise, execute step S1311.
[0315] S1310. The first device selects, according to the bandwidth sorting table, a second number of second devices as fourth devices from second devices that have never changed information and are in the first state and / or second devices that have failed to be deployed and the number of failures does not exceed a preset threshold, performs a new round of deployment on the fourth devices, and updates the device list again according to the deployment information and device information returned by the fourth devices.
[0316] S1311, the first device sniffs all second devices, and determines whether to end the deployment according to whether a second device with a version number lower than the resource to be deployed and in the first state is sniffed within a preset time. If yes, execute step S1312, if no, execute step S1313.
[0317] S1312: The first device switches from the second state to the first state, closes the first group, and ends the deployment.
[0318] S1313: The first device deploys a second device having a lower version number than the resource to be deployed and in the first state according to the resource to be deployed, until the second device having a lower version number than the resource to be deployed and in the first state completes deployment.
[0319] In the embodiment of the present application, the specific implementation method of the above steps S1300-S1313 refers to the above S900-S913.
[0320] It is understandable that, after step S1307, if the state of the third device is the second state, the third device may also be deployed for the undeployed second device.
[0321] like Fig.14 As shown, it is a flow chart of the method for deploying the terminal device in the second state after step S1307.
[0322] S1401: The third device updates a device list according to the deployment information and device information of the third device.
[0323] S1402: The third device determines whether to create a second group based on whether there is a second device whose information has not been changed and / or a second device whose deployment has failed and the number of failures does not exceed a preset threshold in the updated device list. If yes, execute step S1403; otherwise, execute step S1406.
[0324] S1403. The third device determines a third number based on its own bandwidth information in the bandwidth sorting table and the second devices in the updated device list whose information has not been changed and are in the first state and / or the second devices whose deployment has failed and the number of failures does not exceed a preset threshold, and creates a second group with the third number of members.
[0325] In an embodiment of the present application, the third number is determined based on the bandwidth information of the third device, the bandwidth information update of the first device, the number of second devices that have not changed information and are in the first state, and / or the number of second devices that have failed to be deployed and the number of failures does not exceed a preset threshold.
[0326] Exemplarily, if the number of second devices that have not changed information and are in the first state and / or the number of second devices that have failed to be deployed and the number of failures does not exceed a preset threshold is greater than the first number, and the bandwidth information of the third device is greater than the bandwidth information of the first device, then a value greater than the first number is selected as the third number.
[0327] S1404. The third device selects a third number of second devices as fifth devices from the second devices in the updated device list whose information has not changed and are in the first state and / or the second devices whose deployment has failed and the number of failures does not exceed the preset threshold, performs a new round of deployment on the fifth devices, and updates the device list again according to the deployment information and device information returned by the fifth device.
[0328] S1405: The third device determines whether there is a second device with unchanged information and / or a second device whose deployment fails and the number of failures does not exceed a preset threshold according to the device list updated again. If yes, execute step S1404; otherwise, execute step S1406.
[0329] S1406: The third device sniffs all second devices, and determines whether to end the deployment according to whether a second device with a version number lower than the resource to be deployed and in the first state is sniffed within a preset time. If yes, execute step S1407; if no, execute step S1408.
[0330] S1407. The third device switches from the second state to the first state, closes the second group, and ends the deployment.
[0331] S1408. The third device deploys a second device having a lower version number than the resource to be deployed and in the first state according to the resource to be deployed, until the second device having a lower version number than the resource to be deployed and in the first state completes deployment.
[0332] In the embodiment of the present application, the specific implementation method of the above steps S1401-S1408 refers to the above S1101-S1108 and will not be repeated here.
[0333] Exemplarily, in an enterprise scenario, if there are 100 terminal devices to be deployed in the enterprise, the bandwidth of each terminal device is 20Mhz, and the size of the resources to be deployed is 1G. If a USB flash drive is used for deployment, the deployment time is about 100min. If a private deployment technology is used, limited by the bandwidth of the intranet, if the bandwidth of the intranet is 100Mhz, the deployment time is about 20min. If the technical solution of the present application is adopted, in an ideal scenario, if the first number is 1, and the time for each round of deployment is the same, that is, the number of members of the first group established by the first device is 1. After the first round of deployment, 2 terminal devices are successfully deployed, and after the second round of deployment, 4 terminal devices are successfully deployed..., it takes 7 rounds to perform all 100 devices, then the total deployment time is about 350s, which is 70.1% shorter than the deployment time of the private deployment technology. If the first number is 2, and the time for each round of deployment is the same, 6 rounds of deployment are required, and the total deployment time is about 450s, which is 62.5% shorter than the deployment time of the private deployment technology. If the first number is 3 and the deployment time for each round is the same, 4 rounds of deployment are required, and the total deployment time is about 515s, which is 57% shorter than the deployment time of the privatization deployment technology. According to the data of this application under the above ideal scenario, it can be determined that the total deployment time L is related to the first number N of group members, and the relationship between the two conforms to the following formula: ((file size / bandwidth)*N)*POWER(100,1 / (N+1)).
[0334] However, in actual applications, the deployment of terminal devices is not only affected by the number of devices, bandwidth, and file size, but also by factors such as the environment and signal strength. The total deployment time in actual use is longer than the total time in an ideal scenario. Therefore, in enterprise scenarios, terminal devices with larger bandwidths are deployed first during initial deployment to improve overall deployment efficiency.
[0335] In this way, the terminal devices in the same scenario can be quickly deployed through split and self-organizing network deployment, and the terminal devices are directly connected through WLAN, so they can still be deployed when they are in different network environments or offline. The deployment strategy of the terminal devices is optimized in the embodiment of the present application. There is no need to build a private server, use the network or control equipment, and while ensuring data security and low cost, it can also activate the deployment capabilities of each terminal device, maximize the use of the terminal device's own performance and bandwidth to complete the deployment, thereby effectively improving the deployment efficiency and speeding up the deployment speed. The deployment status of the terminal device is indicated by state switching, so as to flexibly detect the deployment status of each terminal device. In addition, the present application adopts a split deployment method. For terminal devices that are far away, the resources to be deployed can be transmitted to the terminal devices that are far away through multiple terminal devices, thereby realizing long-distance deployment.
[0336] According to the above content, the DPC software of the terminal device controls the state switching during the deployment process. During the deployment process, the terminal device obtains different capabilities through state switching. The terminal device has different capabilities when it is in different states. Fig.15 1501 , 1502 , 1503 , 1504 , and 1505 .
[0337] In the embodiment of the present application, if the user formulates a deployment task on the terminal device in the first state 1501, the terminal device will perform corresponding deployment during the process of the user formulating the deployment task. After the deployment task is formulated, the terminal device completes the deployment and directly switches from the first state 1501 to the second state 1502 to start the deployment of the surrounding devices.
[0338] In the embodiment of the present application, the terminal device is in the first state 1501 (standby state) before being deployed. The terminal device in this state will listen to the group joining invitation sent by the surrounding devices. After the terminal device listens to the group joining invitation, it determines whether it meets the deployment conditions. If the deployment conditions are met, the first state 1501 is switched to the third state 1503; if the deployment conditions are not met, the first state 1501 is switched to the second state 1502.
[0339] Specifically, the terminal device compares the version number of the resources to be deployed in the group invitation with the version number of its own deployed resources. If the version number of its own deployed resources is lower than the version number of the resources to be deployed, it will be determined that the deployment conditions are met and the first state 1501 will be switched to the third state 1503; if the version number of its own deployed resources is higher than the version number of the resources to be deployed, it will be determined that the deployment conditions are not met and the first state 1501 will be switched to the second state 1502.
[0340] In an embodiment of the present application, the terminal device in the third state 1503 will be deployed according to the resources to be deployed. If the deployment is successful, it will switch from the third state 1503 to the second state 1502. If the deployment fails, it will switch from the third state 1503 to the fourth state 1504.
[0341] In the embodiment of the present application, the terminal device in the second state 1502 has completed deployment and can deploy surrounding devices. If the terminal device in the first state 1501 is not found within the preset time, it means that the terminal devices in the task scene have completed deployment, and switch from the second state 1502 to the first state 1501, waiting for the next deployment task.
[0342] In this way, the deployment status of the terminal device is indicated by state switching, so as to reasonably manage the deployment of the terminal device and improve the deployment efficiency.
[0343] It can be understood that the above embodiments describe the method of deploying terminal devices in various business scenarios and in a manner of interaction between multiple terminal devices, such as Fig.16 As shown, it is a flow chart of another terminal device deployment method provided in an embodiment of the present application, and the method includes the following steps S1601-S1603.
[0344] S1601. The first terminal device obtains resources to be deployed.
[0345] In an embodiment of the present application, the first terminal device obtains the resources to be deployed, including: the first terminal device obtains the resources to be deployed input by the user; or the first terminal device obtains the resources to be deployed from a device that has established a connection with the first terminal device and completed deployment.
[0346] In some examples, the first terminal device is Figure 6 The first device in the embodiment obtains resources to be deployed in response to a first operation.
[0347] In some other examples, the first terminal device is Fig. 9 or Fig.13 The third device in the process, that is, the third device that obtains the resources to be deployed from the first device that has completed the deployment.
[0348] In the embodiment of the present application, the specific implementation method for the first terminal device to obtain the resources to be deployed is as described above and will not be repeated here.
[0349] S1602. The first terminal device completes deployment according to the resources to be deployed.
[0350] In the embodiment of the present application, the specific implementation method of the first terminal device completing the deployment according to the resources to be deployed is shown in S601 and Fig.10 The above is not repeated here.
[0351] In some examples, after the first terminal device completes deployment according to the resources to be deployed, it switches from the first state to the second state. The first state is used to indicate that the terminal device is waiting for deployment, and the second state is used to indicate that the terminal device successfully deploys the resources to be deployed. Completing deployment can be understood as successful deployment.
[0352] S1603. According to preset rules, the first terminal device determines N second terminal devices to be deployed and sends resources to be deployed to the N second terminal devices; the resources to be deployed are used to deploy the N second terminal devices and instruct the N second terminal devices to send the resources to be deployed to M third terminal devices to be deployed after the deployment is completed.
[0353] Among them, the N second terminal devices are some or all of the devices that establish communication connections with the first terminal device, the third terminal device is some or all of the devices that establish communication connections with the second terminal device, and N and M are positive integers.
[0354] In some examples, the N second terminal devices are Fig. 9 or Fig.13 The third device in the
[0355] In some other examples, the M third terminal devices are Fig.11 or Fig.14 The fifth device in.
[0356] In an embodiment of the present application, the first terminal device, the second terminal device and the third terminal device are located in the same network environment or different network environments.
[0357] In some embodiments of the present application, according to a preset rule, the first terminal device determines N second terminal devices to be deployed, including: the first terminal device obtains a device list; the first terminal device sends a first group joining invitation to a first number of devices to be deployed in the device list; the first terminal device receives a first group joining response sent by the first number of devices to be deployed; the first terminal device determines the N second terminal devices to be deployed based on the first group joining response; the first number is a positive integer greater than or equal to N.
[0358] The device list includes devices that establish a communication connection with the first terminal device or devices indicated by the user; the first group-joining invitation carries the version number of the resource to be deployed, and the first group-joining invitation is used to invite the device to be deployed to join the first group.
[0359] In an embodiment of the present application, before the first terminal device sends a first group invitation to the first number of devices to be deployed in the device list, the first terminal device establishes a first group with a first number of members. The specific value of the first number can be set by the user or by the first terminal device according to the device list.
[0360] In some examples, the first number of devices to be deployed may be devices arbitrarily selected by the first terminal device.
[0361] In other examples, the first number of devices to be deployed may be devices selected by the first terminal device after screening according to a preset condition. For example, the preset condition is that the state of the device to be deployed is the first state. The specific implementation method of the first terminal device screening the first number of devices to be deployed according to the preset condition is as described above. Fig. 9 The embodiments of the present application do not limit the specific implementation method of the first terminal device determining the first number of devices to be deployed.
[0362] In an embodiment of the present application, a first terminal device sends a first group-joining invitation to a first number of devices to be deployed in a device list, including: the first terminal device obtains a bandwidth sorting table; the first terminal device determines a first number of devices to be deployed with priority in bandwidth sorting according to the bandwidth sorting table; the first terminal device sends a first group-joining invitation to the devices to be deployed.
[0363] The bandwidth sorting table indicates bandwidth information of multiple devices in the device list.
[0364] In an embodiment of the present application, the first terminal device determines N second terminal devices to be deployed based on the first group entry response, including: when the first group entry response indicates a refusal to join the first group, the version number of the currently deployed resources of the device to be deployed that refuses to join the first group is greater than or equal to the version number of the resources to be deployed; when the first group entry response indicates a joining of the first group, the version number of the currently deployed resources of the device to be deployed that joins the first group is less than the version number of the resources to be deployed, and the N devices to be deployed that join the first group are determined as the N second terminal devices to be deployed.
[0365] In some examples, the first group joining response is returned to indicate that the to-be-deployed device joining the first group switches from the first state to the third state, and is deployed after receiving the to-be-deployed resources sent by the first terminal device. If the deployment is successful, the device switches from the third state to the second state; if the deployment fails, the device switches from the third state to the fourth state. For the specific implementation of the above state switching, see above. Fig. 9 The above is not repeated here.
[0366] In some other embodiments of the present application, according to preset rules, the first terminal device determines N second terminal devices to be deployed, including: the first terminal device determines whether the device that establishes a communication connection with the first terminal device has deployed the resources to be deployed; the first terminal device determines the N devices that have not deployed the resources to be deployed as N second terminal devices.
[0367] It can be understood that in the embodiment of the present application, the terminal device that has obtained the resources to be deployed has the deployment capability after the deployment is completed, which is equivalent to the first terminal device.
[0368] In some examples, the first terminal device sends a device list to N second terminal devices, so that the second terminal device that has completed the deployment determines the third terminal device according to the resources to be deployed and the device list, and deploys the third terminal device. For specific implementation methods, see above Fig. 9 The above is not repeated here.
[0369] In some examples, after the first terminal device sends the resources to be deployed to N second terminal devices, each second terminal device is deployed according to the resources to be deployed. If the deployment is successful, the deployment is completed and the resources to be deployed are sent to the third terminal device.
[0370] In other examples, after the first terminal device sends the resources to be deployed to N second terminal devices, each second-state device is deployed according to the resources to be deployed, and if the deployment fails, a deployment failure response is returned to the first terminal device.
[0371] In an embodiment of the present application, after the first terminal device sends the resources to be deployed to N second terminal devices, it also includes: the first terminal device receives a deployment failure response sent by a fourth terminal device, and the fourth terminal device is one or more devices among the N second terminal devices; if the number of times the first terminal device receives the deployment failure response sent by the fourth terminal device does not exceed a preset threshold, the resources to be deployed are sent to the fourth terminal device again; otherwise, the resources to be deployed are not sent again.
[0372] In some examples, the fourth terminal device is the terminal device whose deployment fails and whose status is the fourth status described above.
[0373] It is understandable that the technical solutions of S1601-S1603 in the embodiment of the present application include the above Figure 6-Figure 14 Therefore, the specific implementation methods of S1601-S1603 are described above and will not be repeated here.
[0374] The system architecture and business scenarios described in this application are intended to more clearly illustrate the technical solutions of this application, and do not constitute the sole limitation on the technical solutions provided by this application. A person of ordinary skill in the art will appreciate that, with the evolution of the system architecture and the emergence of new business scenarios, the technical solutions provided by this application are equally applicable to similar technical problems.
[0375] The above mainly introduces the solution provided by the embodiment of the present application from the perspective of the method. It is understandable that in order to realize the above functions, the terminal device includes a hardware structure and / or software module corresponding to each function. In combination with the units and algorithm steps of each example described in the embodiment disclosed in this application, the embodiment of the present application can be implemented in the form of hardware or a combination of hardware and computer software. Whether a function is executed in hardware or computer-driven hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered to exceed the scope of the technical solution of the embodiment of the present application.
[0376] The present application is an embodiment that can divide the functional modules of the terminal device according to the above method example. For example, each functional module can be divided corresponding to each function, or two or more functions can be integrated into one processing unit. The above integrated unit can be implemented in the form of hardware or in the form of software functional modules. It should be noted that the division of units in the embodiment of the present application is schematic and is only a logical function division. There may be other division methods in actual implementation.
[0377] like Fig.17 1700 is a schematic diagram of the structure of another terminal device provided in an embodiment of the present application. The terminal device 1700 can be used to implement the methods described in the above method embodiments. Exemplarily, the terminal device 1700 may specifically include: a processing module 1701, an acquisition module 1702, and a display module 1703.
[0378] The processing module 1701 is used to execute the support terminal device 1700 to execute Figures 6 to 14 The processing function of any one of the items.
[0379] The acquisition module 1702 is used to execute the support terminal device 1700 to execute Figures 6 to 14 The acquisition function of any item in. For example, obtaining the currently displayed image, etc.
[0380] The display module 1703 may be used to display a screen according to the display driving data, etc. And / or, the display module 1703 may also be used to support the terminal device 1700 to perform other display operations performed by the terminal device in the embodiment of the present application.
[0381] Optional, Fig.17 The terminal device 1700 shown may also include a communication module ( Fig.17 (not shown), the communication module is used to support the terminal device 1700 to execute the steps of communication between the terminal device and other devices in the embodiment of the present application.
[0382] Optional, Fig.17 The terminal device 1700 shown may also include a storage module ( Fig.17 (not shown in the figure), the storage module stores a program or instruction. When the processing module 1701 executes the program or instruction, Fig.17 The terminal device 1700 shown can execute the method shown in the above method embodiment.
[0383] Fig.17 The technical effects of the terminal device 1700 shown can refer to the technical effects of the method described in the above method embodiment, and will not be repeated here. Fig.17The processing module 1701 involved in the terminal device 1700 shown can be implemented by a processor or a processor-related circuit component, which can be a processor or a processing module. The communication module can be implemented by a transceiver or a transceiver-related circuit component, which can be a transceiver or a transceiver module.
[0384] The display module 1703 may be implemented by display screen related components.
[0385] The present application also provides a chip system, such as Fig.18 As shown, the chip system 1800 includes at least one processor 1801 and at least one interface circuit 1802. As an example, when the chip system 1800 includes one processor and one interface circuit, the one processor may be Fig.18 The processor 1801 shown in the solid line frame (or the processor 1801 shown in the dotted line frame) may be Fig.18 The interface circuit 1802 shown in the solid line frame (or the interface circuit 1802 shown in the dotted line frame). When the chip system 1800 includes two processors and two interface circuits, the two processors include Fig.18 The processor 1801 shown in the solid line frame and the processor 1801 shown in the dotted line frame, the two interface circuits include Fig.18 The interface circuit 1802 is shown in the solid line box and the interface circuit 1802 is shown in the dotted line box.
[0386] There is no limitation on this.
[0387] The processor 1801 and the interface circuit 1802 can be interconnected via a line. For example, the interface circuit 1802 can be used to receive a signal. For another example, the interface circuit 1802 can be used to send a signal to another device (such as the processor 1801). Exemplarily, the interface circuit 1802 can read an instruction stored in a memory and send the instruction to the processor 1801. When the instruction is executed by the processor 1801, the various steps in the above embodiment can be executed. Of course, the chip system can also include other discrete devices, which is not specifically limited in the embodiments of the present application.
[0388] Optionally, the processor in the chip system may be one or more. The processor may be implemented by hardware or by software. When implemented by hardware, the processor may be a logic circuit, an integrated circuit, etc. When implemented by software, the processor may be a general-purpose processor implemented by reading software code stored in a memory.
[0389] Optionally, the chip system may also include a memory ( Fig.18As shown in the figure, the memory may be one or more, and the memory may be integrated with the processor or may be separately arranged from the processor, which is not limited in the present application. Exemplarily, the memory may be a non-transient processor, such as a read-only memory (ROM), which may be integrated with the processor on the same chip or may be arranged on different chips, and the present application does not specifically limit the type of memory and the arrangement of the memory and the processor.
[0390] Exemplarily, the chip system can be a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on chip (SoC), a central processor unit (CPU), a network processor (NP), a digital signal processor (DSP), a microcontroller unit (MCU), a programmable logic device (PLD) or other integrated chips.
[0391] It should be understood that each step in the above method embodiment can be completed by an integrated logic circuit of hardware in a processor or by instructions in the form of software. The method steps disclosed in the embodiments of the present application can be directly embodied as being executed by a hardware processor, or by a combination of hardware and software modules in a processor.
[0392] An embodiment of the present application also provides a computer storage medium, in which computer instructions are stored. When the computer instructions are executed on a terminal device, the terminal device executes the method described in the above method embodiment.
[0393] Computer-readable storage media include, but are not limited to, any of the following: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and other media that can store program codes.
[0394] An embodiment of the present application provides a computer program product, which includes: a computer program or instructions, when the computer program or instructions are executed on a computer, the computer executes the method described in the above method embodiment.
[0395] In addition, an embodiment of the present application also provides a device, which can specifically be a chip, component or module, and the device may include a connected processor and memory; wherein the memory is used to store computer-executable instructions, and when the device is running, the processor can execute the computer-executable instructions stored in the memory so that the device executes the methods in the above-mentioned method embodiments.
[0396] Among them, the terminal device, computer storage medium, computer program product or chip provided in this embodiment is used to execute the corresponding method provided above. Therefore, the beneficial effects that can be achieved can refer to the beneficial effects in the corresponding method provided above, and will not be repeated here.
[0397] The steps of the method or algorithm described in conjunction with the disclosure of the embodiments of the present application can be implemented in a hardware manner, or can be implemented by a processor executing software instructions. The software instructions can be composed of corresponding software modules, and the software modules can be stored in a random access memory (RAM), a flash memory, a read-only memory, an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a register, a hard disk, a mobile hard disk, a compact disc read-only memory (CD-ROM) or any other form of storage medium known in the art. An exemplary storage medium is coupled to a processor so that the processor can read information from the storage medium and can write information to the storage medium. Of course, the storage medium can also be a component of the processor. The processor and the storage medium can be located in an application specific integrated circuit (ASIC).
[0398] Through the description of the above implementation methods, those skilled in the art can clearly understand that for the convenience and simplicity of description, only the division of the above functional modules is used as an example. In practical applications, the above functions can be assigned to different functional modules as needed; that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. The specific working process of the system, device and unit described above can refer to the corresponding process in the aforementioned method embodiment, and will not be repeated here.
[0399] In the several embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The various embodiments can be combined with each other or referenced to each other without conflict. The device embodiments described above are merely schematic. For example, the division of modules or units is only a logical function division. There may be other division methods in actual implementation. For example, multiple units or components can be combined or integrated into another device, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some interfaces, indirect coupling or communication connection of devices or units, which can be electrical, mechanical or other forms.
[0400] The units described as separate components may or may not be physically separated, and the components shown as units may be one physical unit or multiple physical units, that is, they may be located in one place or distributed in multiple different places. Some or all of the units may be selected according to actual needs to achieve the purpose of the present embodiment.
[0401] In addition, each functional unit in each embodiment of the present application may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above-mentioned integrated unit may be implemented in the form of hardware or in the form of software functional units.
[0402] If the integrated unit is implemented in the form of a software functional unit and sold or used as an independent product, it can be stored in a readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the prior art or all or part of the technical solution can be embodied in the form of a software product, which is stored in a storage medium, including several instructions to enable a device (which can be a single-chip microcomputer, chip, etc.) or a processor (processor) to perform all or part of the steps of the various embodiments of the present application. The aforementioned storage medium includes: U disk, mobile hard disk, read only memory (ROM), random access memory (RAM), disk or optical disk and other media that can store program code.
[0403] The above contents are only specific implementation methods of the present application, but the protection scope of the present application is not limited thereto. Any technician familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present application, which should be included in the protection scope of the present application. Therefore, the protection scope of the present application should be based on the protection scope of the claims.
Claims
1. A terminal device deployment method, characterized in that: include: The first terminal device obtains resources to be deployed; The first terminal device completes deployment according to the resources to be deployed; According to preset rules, the first terminal device determines N second terminal devices to be deployed, and sends the resources to be deployed to the N second terminal devices; the resources to be deployed are used to deploy the N second terminal devices and instruct the N second terminal devices to send the resources to be deployed to M third terminal devices to be deployed after the deployment is completed; wherein the N second terminal devices are part or all of the devices that establish a communication connection with the first terminal device, the third terminal device is part or all of the devices that establish a communication connection with the second terminal device, and N and M are positive integers.
2. The terminal device deployment method according to claim 1, characterized in that: The first terminal device obtains resources to be deployed, including: The first terminal device obtains the resource to be deployed input by the user; or, The first terminal device obtains the resources to be deployed from a device that has established a connection with the first terminal device and has completed deployment.
3. The terminal device deployment method according to any one of claims 1 to 2, characterized in that: The first terminal device determines N second terminal devices to be deployed according to the preset rule, including: The first terminal device acquires a device list; the device list includes devices that establish communication connection with the first terminal device or devices indicated by the user; The first terminal device sends a first group-joining invitation to a first number of devices to be deployed in the device list; the first group-joining invitation carries a version number of the resource to be deployed, and the first group-joining invitation is used to invite the devices to be deployed to join a first group; The first terminal device receives a first group joining response sent by the first number of devices to be deployed; The first terminal device determines N second terminal devices to be deployed according to the first group joining response; the first number is a positive integer greater than or equal to the N.
4. The terminal device deployment method according to claim 3, characterized in that: The first terminal device sends a first group-joining invitation to a first number of devices to be deployed in the device list, including: The first terminal device obtains a bandwidth sorting table, where the bandwidth sorting table indicates bandwidth information of multiple devices in the device list; The first terminal device determines, according to the bandwidth sorting table, a first number of devices to be deployed with priority in bandwidth sorting; The first terminal device sends a first group-joining invitation to the device to be deployed.
5. The terminal device deployment method according to any one of claims 3 to 4, characterized in that: The first terminal device determines N second terminal devices to be deployed according to the first group entry response, including: In a case where the first group joining response indicates a refusal to join the first group, the version number of the currently deployed resource of the to-be-deployed device that refuses to join the first group is greater than or equal to the version number of the to-be-deployed resource; When the first group joining response indicates joining the first group, the version number of the currently deployed resources of the device to be deployed joining the first group is less than the version number of the resource to be deployed, and the N devices to be deployed joining the first group are determined as the N second terminal devices to be deployed.
6. The terminal device deployment method according to any one of claims 1-2, characterized in that: The first terminal device determines N second terminal devices to be deployed according to the preset rule, including: Determining, by the first terminal device, whether a device establishing a communication connection with the first terminal device has deployed the resource to be deployed; The first terminal device determines N devices on which the resources to be deployed are not deployed as the N second terminal devices.
7. The terminal device deployment method according to any one of claims 1 to 6, characterized in that: The method further comprises: The first terminal device receives a deployment failure response sent by a fourth terminal device, where the fourth terminal device is one or more devices among the N second terminal devices; If the number of times the first terminal device receives the deployment failure response sent by the fourth terminal device does not exceed a preset threshold, the resource to be deployed is sent to the fourth terminal device again; otherwise, the resource to be deployed is not sent again.
8. The terminal device deployment method according to any one of claims 1 to 7, characterized in that: The first terminal device, the second terminal device and the third terminal device are located in the same network environment or in different network environments.
9. A terminal device, characterized in that: The terminal device includes: a processor and a memory, wherein the memory is coupled to the processor, and the memory is used to store computer-readable instructions. When the processor reads the computer-readable instructions from the memory, the terminal device executes the method according to any one of claims 1 to 8.
10. A chip system, characterized in that: It includes at least one processor and at least one interface circuit, wherein the at least one interface circuit is used to perform transceiver functions and send instructions to the at least one processor, and the at least one processor executes the instructions, and the at least one processor executes the method according to any one of claims 1 to 8.
11. A computer-readable storage medium, characterized in that: The computer-readable storage medium comprises a computer program, and when the computer program is executed on a terminal device, the terminal device is caused to execute the method according to any one of claims 1 to 8.
12. A computer program product, characterized in that When the computer program product is executed on a computer, the computer is caused to execute the method according to any one of claims 1 to 8.