Method, device and storage medium for concurrent license management based on object model
Through the object-based concurrency management method of licensed concurrency management, intelligent allocation of licensed resources is solved, and the traditional license system cannot effectively manage the concurrent use of multiple devices is achieved, and efficient utilization and flexible management of resources are achieved.
Patent Information
- Application Number
- CN202411857097.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-17
- Publication Date
- 2025-08-29
- Estimated Expiration
- 2044-12-17
AI Technical Summary
Traditional license management systems cannot effectively manage the concurrent use of multiple devices, resulting in uneven resource allocation and waste, especially in the scenario where multiple devices share licenses.
Through the object-based concurrency management method, the device's license application request is received, the concurrent device list and status information are obtained, the devices with high priority are filtered, and the license files are allocated and updated based on the network and license status information.
It improves resource utilization efficiency, reduces unnecessary licensing allocation, avoids resource waste, and realizes flexible and efficient management of licensing between equipment.
Smart Images

Figure CN119337340B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of Internet of Things, and in particular to a method, device and storage medium for concurrent license management based on a physical model. Background Art
[0002] With the development of the Internet of Things (IoT) and distributed device networks, device authorization management has become a critical task. Traditional license management systems mostly use a single-node lock approach, meaning each license can only be bound to a specific device or user. This model limits license flexibility and cannot effectively support shared use across multiple devices. In a multi-device environment, if a device requires temporary access to a specific function, and the license for that function is already in use by another device, this will lead to uneven resource allocation and affect overall efficiency. Therefore, in the case of concurrent use, traditional license systems are generally unable to effectively manage the concurrent use of multiple devices. Especially in scenarios where multiple devices share a license, this can lead to overuse or resource waste.
[0003] The above content is only used to assist in understanding the technical solution of this application and does not constitute an admission that the above content is prior art. Summary of the Invention
[0004] The main purpose of this application is to provide a license concurrent management method, device and storage medium based on the physical model, aiming to solve the technical problem that traditional license systems cannot effectively manage the concurrent use of multiple devices.
[0005] To achieve the above objectives, the present application proposes a method for concurrent license management based on a physical model, which includes:
[0006] receiving license application requests sent by a plurality of first devices, wherein the license application requests include identifiers of the first devices and a first license type;
[0007] Obtaining a license file corresponding to the first license type and a concurrent device list corresponding to the license file, wherein the license file includes an activation code and concurrent status information;
[0008] Acquire network status information and permission status information of each of the first devices through a preset object model;
[0009] Filtering out second devices that have passed the license application from each of the first devices according to the concurrency status information, the network status information, and the license status information;
[0010] The license file is sent to the second device, and concurrent status information and a concurrent device list of the license file are updated according to the identifier of the second device.
[0011] In one embodiment, the step of filtering out the second device that has passed the license application from the first device based on the concurrency status information, the network status information, and the license status information includes:
[0012] determining the available concurrency number of the first license type according to the concurrency status information;
[0013] If the number of the first devices is less than or equal to the available concurrency number, all the first devices are used as second devices;
[0014] If the number of each first device is greater than the available concurrent number, the first devices are prioritized according to the network status information and the license status information of each first device to obtain a priority sequence containing all the first devices, and the second devices whose number is the available concurrent number are determined according to the priority sequence.
[0015] In one embodiment, the step of prioritizing each of the first devices according to the network status information and the permission status information of each of the first devices to obtain a priority sequence including all of the first devices includes:
[0016] Analyze the comprehensive status of each of the first devices according to the network status information and the permission status information to obtain a comprehensive status score of each of the first devices;
[0017] The first devices are sorted in descending order according to the magnitude of the comprehensive status scores to generate a priority sequence for the first devices.
[0018] In one embodiment, before the step of receiving the permission application request sent by the first device, the method further includes:
[0019] receiving a license generation request sent by a third device, wherein the license generation request includes hardware information of the six devices and a second license type, where the second license type is a license type that does not exist in the central server;
[0020] Determining corresponding concurrency status information and a concurrent device list according to the second license type, wherein the concurrency status information includes a total number of concurrent devices, a current number of concurrent devices, and an available number of concurrent devices;
[0021] generating an activation code corresponding to the second license type according to the hardware information of the third device;
[0022] A concurrent device list corresponding to the second license type and a license file including concurrent status information corresponding to the second license type and the activation code are created, wherein the license file corresponding to the second license type includes the license file corresponding to the first license type.
[0023] In one embodiment, after the step of creating a concurrent device list corresponding to the second license type and a license file including the concurrent status information corresponding to the second license type and the activation code, the method further includes:
[0024] Generate a public key and a private key corresponding to the license file;
[0025] Before the step of sending the license file to the second device, the method further includes:
[0026] Encrypting the license file using the public key corresponding to the license file;
[0027] The encrypted license file is signed using the private key corresponding to the license file, wherein, after receiving the license file sent by the central server, the second device uses the private key corresponding to the license file to decrypt the encrypted license file and uses the public key corresponding to the license file to verify the signature of the license file.
[0028] In one embodiment, after the step of creating a concurrent device list corresponding to the second license type and a license file including the concurrent status information corresponding to the second license type and the activation code, the method further includes:
[0029] Monitoring network status information and permission status information of all devices in the preset object model through the preset object model, wherein the network status information includes network delay information, bandwidth information, and load information;
[0030] Analyzing the comprehensive status of each of the devices according to the network status information and the permission status information to obtain a comprehensive status score corresponding to each of the devices;
[0031] If a fourth device is detected whose comprehensive status score is less than a preset status score threshold, the identifier of the fourth device is obtained, the third license type is determined according to the license status information corresponding to the fourth device, a license deletion instruction corresponding to the third license type is sent to the fourth device based on the identifier, and the concurrent status information and concurrent device list corresponding to the third license type are updated according to the identifier of the fourth device.
[0032] In one embodiment, after the step of monitoring the network status information and permission status information of all devices in the preset object model through the preset object model, the method further includes:
[0033] regularly detecting the license load of each of the devices according to the license status information;
[0034] If a fifth device is detected whose license load is greater than a preset device load threshold, the identifier of the fifth device is obtained, the third license type is determined based on the license status information corresponding to the fifth device, a license deletion instruction corresponding to the third license type is sent to the fifth device based on the identifier, and the concurrency status information and concurrent device list corresponding to the third license type are updated based on the identifier of the fifth device.
[0035] In one embodiment, after the step of monitoring the network status information and permission status information of all devices in the preset object model through the preset object model, the method further includes:
[0036] Monitoring the geographic location information of all devices in the preset object model through the preset object model;
[0037] If a sixth device whose geographical location information has changed is detected, obtaining the latest location information of the sixth device;
[0038] Calculating the spatial distance between the sixth device and other devices except the sixth device according to the latest location information;
[0039] Adjusting the networking scheme of the preset object model according to each of the spatial distances;
[0040] The network status information of each device in the preset object model is updated based on the adjusted networking solution.
[0041] In addition, to achieve the above-mentioned purpose, the present application also proposes a license concurrency management device based on a physical model, wherein the license concurrency management device based on a physical model comprises:
[0042] an application module, configured to receive license application requests sent by a plurality of first devices, wherein the license application requests include an identifier of the first device and a first license type;
[0043] an acquisition module, configured to acquire a license file corresponding to the first license type and a concurrent device list corresponding to the license file, wherein the license file includes an activation code and concurrent status information;
[0044] A status module, configured to obtain network status information and permission status information of each of the first devices through a preset object model;
[0045] a screening module, configured to screen out second devices that have passed the license application from each of the first devices based on the concurrency status information, the network status information, and the license status information;
[0046] The allocation module is configured to send the license file to the second device and update the concurrent status information and the concurrent device list of the license file according to the identifier of the second device.
[0047] In addition, to achieve the above-mentioned purpose, the present application also proposes a license concurrency management device based on a physical model, which includes: a memory, a processor, and a computer program stored on the memory and executable on the processor, wherein the computer program is configured to implement the steps of the license concurrency management method based on a physical model as described above.
[0048] In addition, to achieve the above-mentioned purpose, the present application also proposes a storage medium, which is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by the processor, the steps of the license concurrency management method based on the physical model as described above are implemented.
[0049] In addition, to achieve the above-mentioned purpose, the present application also provides a computer program product, which includes a computer program. When the computer program is executed by a processor, it implements the steps of the license concurrency management method based on the physical model as described above.
[0050] This application receives a license application request sent by each first device; obtains a license file corresponding to the first license type and a concurrent device list corresponding to the license file; obtains the network status information and license status information of each first device through a preset object model; filters out the second device that has passed the license application from each first device based on the concurrent status information, the network status information, and the license status information; sends the license file to the second device, and updates the concurrent status information and concurrent device list of the license file based on the identifier of the second device. In this application, by comprehensively analyzing multiple status information, the concurrent use of licenses can be intelligently controlled, which not only improves the efficiency of resource utilization, but also reduces unnecessary license allocation and avoids resource waste. BRIEF DESCRIPTION OF THE DRAWINGS
[0051] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.
[0052] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, for ordinary technicians in this field, other drawings can be obtained based on these drawings without any creative work.
[0053] Figure 1A flowchart of the first embodiment of the method for concurrent license management based on the object model of this application is provided;
[0054] Figure 2 A flowchart of the second embodiment of the concurrent license management method based on the object model of this application is provided;
[0055] Figure 3 A flowchart of the third embodiment of the method for concurrent license management based on the object model of this application is provided;
[0056] Figure 4 This is a schematic diagram of the module structure of the license concurrency management device based on the object model according to an embodiment of the present application;
[0057] Figure 5 Schematic diagram of the device structure of the hardware operating environment involved in the license concurrency management method based on the physical model in the embodiment of the present application.
[0058] The purpose, features and advantages of this application will be further explained in conjunction with the embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0059] It should be understood that the specific embodiments described herein are merely used to explain the technical solutions of the present application and are not intended to limit the present application.
[0060] In order to better understand the technical solution of the present application, a detailed description will be given below in conjunction with the accompanying drawings and specific implementation methods.
[0061] It should be noted that the execution subject of this embodiment may be a computing service device with data processing, network communication, and program execution functions, such as a tablet computer, personal computer, mobile phone, etc., or an electronic device capable of implementing the above functions, a central server, etc. The following describes this embodiment and the following embodiments using a central server as an example.
[0062] Based on this, the embodiment of the present application provides a license concurrency management method based on the object model, referring to Figure 1 , Figure 1 This is a flowchart of the first embodiment of the concurrent license management method based on the object model of this application.
[0063] In this embodiment, the license concurrency management method based on the physical model includes steps S10 to S50:
[0064] Step S10: receiving permission application requests sent by multiple first devices, wherein the permission application requests include identifiers of the first devices and first permission types.
[0065] It's important to note that a device identifier is a unique identifier for a device, typically a string or number that uniquely identifies the device. Common device identifiers include MAC addresses, serial numbers, and UUIDs. The permission type is the type of permission requested by the device, defining the functionality or services the device wishes to use. Different permission types may correspond to different permissions and resources.
[0066] Step S20: Acquire a license file corresponding to the first license type and a concurrent device list corresponding to the license file, wherein the license file includes an activation code and concurrent status information.
[0067] It should be noted that in the license file, the activation code is a unique identifier used to verify the validity and legality of the license. The activation code is usually generated by the system and is bound to a specific license type and device. The concurrent status information is information about the current license usage, including the number of authorized devices, the remaining available concurrency, etc., which is used to help the system determine whether a new license can be granted and how to update the concurrency status. The concurrent device list is a list containing the identifiers of all devices that have obtained this license type. Each device identifier corresponds to a device that is using the license, which can help the system track which devices are using the license for concurrency control and resource management. In this embodiment, the license file and the concurrent device list are usually stored in the database of the central server.
[0068] Step S30: Acquire the network status information and permission status information of each first device through a preset object model.
[0069] It should be noted that the preset thing model is the super thing model used in this embodiment. The thing model is an abstract representation of an IoT device, used to describe the properties, functions, and services of the device. The thing model provides a standardized way to manage and control devices, making interactions between different devices easier and more consistent. The present application provides an enhanced thing model, namely the super thing model, for describing and managing large-scale, heterogeneous IoT devices. Network status information may include bandwidth, latency, and other information. License status information may include license resource conditions such as the license validity period, total concurrency, used concurrency, and remaining concurrency.
[0070] Step S40 : Filter out the second devices that have passed the permission application from the first devices according to the concurrency status information, the network status information, and the permission status information.
[0071] It should be noted that in this step, it is necessary to check whether the remaining available concurrency is sufficient to support new license applications, and select the device with the best status for allocation based on network status information and license status information, thereby optimizing resource utilization.
[0072] In a feasible implementation, step S40 may include steps S41 to S43:
[0073] Step S41: determining the available concurrency number of the first license type according to the concurrency status information.
[0074] It should be noted that the concurrency status information includes information on the available concurrency number, the remaining concurrency number, and the total concurrency number.
[0075] Step S42: If the number of first devices is less than or equal to the available concurrent number, all first devices are used as second devices.
[0076] It should be noted that the number of first devices applying for permission is determined to be less than or equal to the number of available concurrent devices. If the condition is met, all of these devices are considered as second devices that have passed the permission application, ensuring that when there are sufficient concurrent resources, all eligible devices can obtain permission.
[0077] Step S43: If the number of first devices is greater than the available concurrent number, the first devices are prioritized according to the network status information and license status information of the first devices to obtain a priority sequence containing all first devices, and the number of second devices equal to the available concurrent number is determined according to the priority sequence.
[0078] It should be noted that after the first devices are prioritized, the first N devices may be selected as the second devices that pass the license application according to the priority sequence, where N is the available concurrency number.
[0079] This embodiment selects the second device that has passed the license application from the first device according to the concurrency status information, the network status information and the license status information, and can efficiently and intelligently manage the license resources to ensure effective use of the resources.
[0080] In a feasible implementation, step S43 may include steps A10 to A20:
[0081] Step A10: Analyze the comprehensive status of each first device based on the network status information and the permission status information to obtain a comprehensive status score of each first device.
[0082] It should be noted that N_i represents the network status information of device D_i (such as bandwidth, latency, and load), which is a weighted average or composite indicator of multiple network parameters. L_i represents the license usage status of device D_i, indicating the current license status or load of device Di, reflecting the license resource usage of the device. The license usage status can be obtained from the license status information. S_i represents the comprehensive status score of the device, calculated as follows:
[0083] S_i=αN_i+βL_i, where α and β are adjustment coefficients used to dynamically balance network and license usage status according to different scenarios.
[0084] Step A20 : sorting the first devices in descending order according to the magnitude of the comprehensive status scores to generate a priority sequence for the first devices.
[0085] It should be noted that the comprehensive status score of each device calculated in step A10 is used to sort the devices in descending order of the scores, so as to preferentially allocate licenses to the devices with the best status.
[0086] This implementation prioritizes these devices based on network status and license status information and selects the top N devices as the second devices to pass their license applications. This allows for efficient and intelligent management of license resources, ensuring effective resource utilization and system flexibility. Furthermore, by setting scoring thresholds and utilizing priority queues, the system can dynamically optimize resource allocation, improving overall performance.
[0087] Step S50: Send the license file to the second device, and update the concurrent status information and concurrent device list of the license file according to the identifier of the second device.
[0088] It should be noted that the license file is typically sent to the target device via a secure network protocol (such as HTTPS). To ensure data security and integrity, the license file should be encrypted and digitally signed. Simultaneously, the available and remaining concurrency counts in the concurrency status information are increased based on the second device. The second device's identifier is added to the concurrent device list, and the updated concurrency status information and concurrent device list are saved in the database.
[0089] This embodiment receives a license application request sent by a first device; obtains a license file corresponding to the first license type and a concurrent device list corresponding to the license file; obtains network status information and license status information of each of the first devices through a preset object model; filters out second devices that have passed the license application from the first device based on the concurrent status information, the network status information, and the license status information; sends the license file to the second device, and updates the concurrent status information and concurrent device list of the license file based on the identifier of the second device. In this embodiment, by comprehensively analyzing multiple status information, the concurrent use of licenses can be intelligently controlled, which not only improves resource utilization efficiency, but also reduces unnecessary license allocation and avoids resource waste.
[0090] Based on the first embodiment of the present application, in the second embodiment of the present application, the same or similar contents as those in the above embodiment 1 can be referred to the above introduction and will not be described in detail later. Figure 2 Before step S10, the method for concurrent license management based on the object model further includes steps B10 to B40:
[0091] Step B10: Receive a license generation request sent by a third device, wherein the license generation request includes hardware information of the six devices and a second license type, and the second license type is a license type that does not exist in the central server.
[0092] It should be noted that the second license type is a new type of license requested by the third device.
[0093] Step B20: Determine the corresponding concurrency status information and concurrent device list according to the second license type, wherein the concurrency status information includes the total concurrency number, the current concurrency number, and the available concurrency number.
[0094] It should be noted that it is necessary to determine the initial settings such as the total number of concurrent users for the license type and create an empty list to record all devices that are using the license.
[0095] Step B30: Generate an activation code corresponding to the second license type according to the hardware information of the third device.
[0096] It should be noted that the activation code is an identifier, which is generated by the device's hardware information H_i and a random number R through a hash function: A(D_i)=hash(H_i+R), where H_i usually includes the device's MAC address, CPU ID, or other hardware unique identifier, and R is a random number generated by the system to ensure that each activation code is unique.
[0097] Step B40: Create a concurrent device list corresponding to the second license type and a license file containing concurrent status information and an activation code corresponding to the second license type.
[0098] It should be noted that the concurrent status information, activation code and concurrent device list are combined into a license file, and the license file is saved in a database or other persistent storage.
[0099] In this embodiment, when an incoming device requests to generate a new license type, a series of steps are executed to process the request.
[0100] In a feasible implementation, after step B40, the method for concurrent license management based on the physical model further includes step B50:
[0101] Step B50: Generate the public key and private key corresponding to the license file.
[0102] To ensure security, license generation uses RSA or ECC public-private key pairs for encryption. For example, using RSA, the public key K_pub and private key K_priv are generated as follows: K_priv = d, K_pub = (e, n), where e and n are public encryption parameters and d is the private key. When the device encrypts using the public key, E(M) = M^e mod n. When the device decrypts using the private key, D(C) = C^d mod n.
[0103] After step S50, the method for concurrent license management based on the physical model further includes steps C10 to C20:
[0104] Step C10: Encrypt the license file using the public key corresponding to the license file.
[0105] Step C20: Sign the encrypted license file using the private key corresponding to the license file. After receiving the license file sent by the central server, the first device decrypts the encrypted license file using the private key corresponding to the license file and verifies the signature of the license file using the public key corresponding to the license file.
[0106] To ensure the security and integrity of the license file, this implementation utilizes public key encryption and digital signature technology to generate a key pair, encrypt the license file, and sign the file, ensuring that only authorized devices can decrypt and verify the license file. After receiving the license file from the central server, the first device can decrypt the license file using its private key and verify the signature using its public key, ensuring the file has not been tampered with and originates from a trusted source.
[0107] Based on the second embodiment of the present application, in the third embodiment of the present application, the same or similar contents as those in the first embodiment can be referred to the above introduction and will not be described in detail later. Figure 3 After step B40, the method for concurrent license management based on the object model further includes steps D10 to D30:
[0108] Step D10: Monitor the network status information and permission status information of all devices in the preset object model through the preset object model, wherein the network status information includes network delay information, bandwidth information, and load information.
[0109] It should be noted that, in addition to being able to actively obtain device information of the object model, the preset object model can also actively detect information of all devices in the object model.
[0110] Step D20 , analyzing the comprehensive status of each device based on the network status information and the permission status information to obtain a comprehensive status score corresponding to each device.
[0111] In step D30, if a fourth device is detected whose comprehensive status score is less than a preset status score threshold, the identifier of the fourth device is obtained, the third license type is determined based on the license status information corresponding to the fourth device, a license deletion instruction corresponding to the third license type is sent to the fourth device based on the identifier, and the concurrent status information and concurrent device list corresponding to the third license type are updated based on the identifier of the fourth device.
[0112] It should be noted that the preset status score threshold is the set minimum score threshold. The system traverses the comprehensive status scores of all devices, identifies devices with scores below the threshold, records the identifiers of these low-scoring devices, queries their license status information based on the device identifier, determines the type of license to be deleted based on the license status information, and sends a license deletion instruction to the device. Simultaneously, the concurrent status information in the database is updated, the corresponding concurrent count is decremented, and the device identifier is removed from the concurrent device list.
[0113] This embodiment monitors the status of all devices through a preset object model, and when it detects that the status score of some devices is lower than the threshold, it takes corresponding measures to optimize resource allocation, dynamically adjusts license allocation, and ensures the effective use of resources. Through real-time monitoring and dynamic adjustment, the system can adapt to the ever-changing network environment and device status.
[0114] In a feasible implementation manner, after step D10, steps E10 to E20 may be further included:
[0115] Step E10: Periodically detect the license load of each device based on the license status information.
[0116] It should be noted that a scheduled task scheduler (such as cron job, Celery, Quartz, etc.) is used to periodically trigger the license load detection process to obtain the license status information of each device from the database and calculate the license load of each device based on the license status information.
[0117] Step E20: If a fifth device is detected whose license load is greater than a preset device load threshold, the identifier of the fifth device is obtained, the third license type is determined based on the license status information corresponding to the fifth device, a license deletion instruction corresponding to the third license type is sent to the fifth device based on the identifier, and the concurrency status information and concurrent device list corresponding to the third license type are updated based on the identifier of the fifth device.
[0118] It should be noted that each device has a corresponding preset device load threshold. The license load of all devices is traversed to identify devices that exceed the preset threshold. The license status information includes all types of licenses available to the device. This allows you to remove all licenses from the fifth device. The third license type is the type of all licenses already assigned to the fifth device.
[0119] This implementation periodically detects the license load of each device. When the license load of a device exceeds a preset threshold, measures may need to be taken to reduce the burden on the device, such as revoking certain licenses. This can adapt to the ever-changing network environment and device status, dynamically adjust license allocation, and ensure efficient use of resources.
[0120] Based on the second embodiment of the present application, in the fourth embodiment of the present application, the same or similar contents as those in the second embodiment can be referred to above and will not be described in detail. On this basis, after step B40, the method for concurrent license management based on the object model further includes steps F10 to F50:
[0121] Step F10: monitoring the geographic location information of all devices in the preset object model through the preset object model.
[0122] It should be noted that the preset object model can monitor changes in the geographical location information of each device.
[0123] Step F20: If a sixth device whose geographical location information has changed is detected, the latest location information of the sixth device is obtained.
[0124] It should be noted that the currently acquired location information is compared with the previously stored location information. If it is found that the location information of a device has changed, the device is marked.
[0125] Step F30 , calculating the spatial distance between the sixth device and other devices except the sixth device according to the latest location information.
[0126] It should be noted that the latest location information of the sixth device and the location information of all other devices are read. If the geographic location of the device is represented by Detect Each Device P_iDetect Each Device = Detect Each Device [x_i, Detect Each Device y_i, Detect Each Device z_i], then the central server calculates the distance between devices using spatial distance: Detect Each Device di_ijDetect Each Device = Detect Each Device sqrt((x_iDetect Each Device - Detect Each Device x_j)^2Detect Each Device + Detect Each Device (y_iDetect Each Device - Detect Each Device y_j)^2Detect Each Device + Detect Each Device (z_iDetect Each Device - Detect Each Device z_j)^2).
[0127] Step F40: adjusting the networking scheme of the preset object model according to each spatial distance.
[0128] It should be noted that the network topology is redesigned based on spatial distance information. Specifically, the connections between devices can be represented by a graph G = (V, E), where V is the set of device vertices and E is the set of edges connecting the devices, with each edge having a weight. Based on the geographic location of each device, the spatial distance between each pair of devices is calculated. Based on the device locations and the calculated distances, a weighted undirected graph G = (V, E) is constructed. A minimum spanning tree algorithm (such as Prim's or Kruskal's algorithm) is used to optimize the connections between devices to ensure the shortest transmission paths: for any pair of devices D_i, D_j, the path with the minimum d_ij is selected to construct the network. The optimization formula is: min Σ(i,j) ∈ E d_ij.
[0129] It's also important to note that if the distance between devices Di and Dj is too large, resulting in inefficient direct connection transmission, this networking solution can be adjusted to optimize network performance. A pre-set object model collects communication quality data (such as latency and packet loss rate) between each device and its neighbors. A reasonable threshold is set for the maximum acceptable distance or delay between devices. When the distance or delay between two devices exceeds this threshold, the system deems them unsuitable for direct communication and triggers a networking solution adjustment. The minimum spanning tree (MST) for the entire network is recalculated using Prim's or Kruskal's algorithm. When constructing the MST, edges with excessively large distances are excluded, ensuring that the new MST does not include inefficient long-distance connections. License allocation is then dynamically adjusted based on the latest network topology and device relationships—that is, the latest networking solution.
[0130] Step F50 : updating the network status information of each device in the preset object model based on the adjusted networking solution.
[0131] It should be noted that after the networking plan is adjusted, the network status information between the devices also changes, which may affect the license allocation of some devices. At this time, it is necessary to update the network status information of each device in the preset object model in real time, and reorganize the license allocation based on the updated network status information.
[0132] This embodiment monitors the changes in the geographical location of devices, dynamically adjusts the network topology to adapt to changes in device location, and dynamically adjusts the networking solution based on these changes, thereby ensuring the stability and efficiency of network connections, helping to optimize resource allocation, and reducing communication delays.
[0133] It should be noted that the above examples are only used to understand this application and do not constitute a limitation on the license concurrency management method based on the physical model of this application. More simple transformations based on this technical concept are all within the scope of protection of this application.
[0134] This application also provides a license concurrent management device based on the object model, please refer to Figure 4 The device for concurrent license management based on the physical model includes:
[0135] An application module 10 is configured to receive license application requests sent by multiple first devices, wherein the license application requests include identifiers of the first devices and a first license type;
[0136] an acquisition module 20, configured to acquire a license file corresponding to the first license type and a concurrent device list corresponding to the license file, wherein the license file includes an activation code and concurrent status information;
[0137] A status module 30 is configured to obtain network status information and permission status information of each of the first devices through a preset object model;
[0138] a screening module 40, configured to screen out second devices that have passed the license application from each of the first devices based on the concurrency status information, the network status information, and the license status information;
[0139] The allocation module 50 is configured to send the license file to the second device, and update the concurrent status information and concurrent device list of the license file according to the identifier of the second device.
[0140] The physical model-based concurrent license management device provided in this application adopts the physical model-based concurrent license management method in the above-mentioned embodiment, which can solve the technical problem that traditional license systems cannot effectively manage the concurrent use of multiple devices. Compared with the existing technology, the beneficial effects of the physical model-based concurrent license management device provided in this application are the same as the beneficial effects of the physical model-based concurrent license management method provided in the above-mentioned embodiment, and the other technical features of the physical model-based concurrent license management device are the same as the features disclosed in the above-mentioned embodiment method, which will not be repeated here.
[0141] The present application provides a license concurrency management device based on a physical model, and the license concurrency management device based on a physical model includes: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute the license concurrency management method based on the physical model in the above-mentioned embodiment one.
[0142] Reference below Figure 5, which shows a schematic diagram of the structure of a device for concurrent license management based on a physical model suitable for implementing embodiments of the present application. The concurrent license management device based on a physical model in the embodiments of the present application may include, but is not limited to, mobile terminals such as mobile phones, laptop computers, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Portable Application Descriptions), PMPs (Portable Media Players), in-vehicle terminals (e.g., in-vehicle navigation terminals), and fixed terminals such as digital TVs and desktop computers. Figure 5 The illustrated device for concurrent license management based on a physical model is merely an example and should not limit the functions and scope of use of the embodiments of the present application.
[0143] like Figure 5 As shown, the physical model-based concurrent license management device may include a processing device 1001 (e.g., a central processing unit, a graphics processing unit, etc.), which can perform various appropriate actions and processes based on programs stored in a read-only memory (ROM) 1002 or programs loaded from a storage device 1003 into a random access memory (RAM) 1004. RAM 1004 also stores various programs and data required for the operation of the physical model-based concurrent license management device. Processing device 1001, ROM 1002, and RAM 1004 are interconnected via a bus 1005. An input / output (I / O) interface 1006 is also connected to the bus. Typically, the following systems can be connected to the I / O interface 1006: input devices 1007 including, for example, a touch screen, touchpad, keyboard, mouse, image sensor, microphone, accelerometer, gyroscope, etc.; output devices 1008 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1003 including, for example, a magnetic tape, hard disk, etc.; and communication devices 1009. The communication devices 1009 can allow the physical model-based license concurrency management device to communicate with other devices wirelessly or by wire to exchange data. Although the figure shows a physical model-based license concurrency management device with various systems, it should be understood that it is not required to implement or have all of the systems shown. More or fewer systems may be implemented or have alternatively.
[0144] In particular, according to the embodiments disclosed in the present application, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, the embodiments disclosed in the present application include a computer program product comprising a computer program carried on a computer-readable medium, the computer program comprising program code for executing the method shown in the flowchart. In such an embodiment, the computer program can be downloaded and installed from a network via a communication device, or installed from a storage device 1003, or installed from a ROM 1002. When the computer program is executed by the processing device 1001, the above-mentioned functions defined in the method of the embodiment disclosed in the present application are executed.
[0145] The physical model-based concurrent license management device provided in this application adopts the physical model-based concurrent license management method in the above-mentioned embodiment, which can solve the technical problem that traditional license systems cannot effectively manage the concurrent use of multiple devices. Compared with the existing technology, the beneficial effects of the physical model-based concurrent license management device provided in this application are the same as the beneficial effects of the physical model-based concurrent license management method provided in the above-mentioned embodiment, and the other technical features of the physical model-based concurrent license management device are the same as the features disclosed in the previous embodiment method, which will not be repeated here.
[0146] It should be understood that the various parts disclosed in this application can be implemented using hardware, software, firmware, or a combination thereof. In the description of the above embodiments, specific features, structures, materials, or characteristics can be combined in any one or more embodiments or examples in a suitable manner.
[0147] The above description is merely a specific embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
[0148] The present application provides a computer-readable storage medium having computer-readable program instructions (ie, computer program) stored thereon, and the computer-readable program instructions are used to execute the license concurrency management method based on the object model in the above embodiment.
[0149] The computer-readable storage medium provided in this application may be, for example, a USB flash drive, but is not limited to electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to: an electrical connection with one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination thereof. In this embodiment, the computer-readable storage medium may be any tangible medium that contains or stores a program that can be used by or in conjunction with an instruction execution system or device. The program code contained on the computer-readable storage medium may be transmitted using any suitable medium, including but not limited to: wires, optical cables, RF (Radio Frequency), etc., or any suitable combination thereof.
[0150] The computer-readable storage medium may be included in the concurrent license management device based on the physical model, or may exist independently without being assembled into the concurrent license management device based on the physical model.
[0151] The computer-readable storage medium carries one or more programs. When the one or more programs are executed by a license concurrency management device based on a physical model, the license concurrency management device based on a physical model: receives license application requests sent by multiple first devices, wherein the license application request includes an identifier of the first device and a first license type; obtains a license file corresponding to the first license type and a concurrent device list corresponding to the license file, wherein the license file includes an activation code and concurrent status information; obtains network status information and license status information of each first device through a preset physical model; filters out a second device that passes the license application from each first device based on the concurrent status information, network status information and license status information; sends the license file to the second device, and updates the concurrent status information and concurrent device list of the license file based on the identifier of the second device.
[0152] Computer program code for performing the operations of the present application may be written in one or more programming languages, or a combination thereof, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional procedural programming languages such as "C" or similar programming languages. The program code may be executed entirely on the user's computer, partially on the user's computer, as a stand-alone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer via any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., via the Internet using an Internet service provider).
[0153] The flow charts and block diagrams in the accompanying drawings illustrate the possible architecture, functions and operations of the systems, methods and computer program products according to various embodiments of the present application. In this regard, each box in the flow chart or block diagram can represent a module, program segment or a part of code, and the module, program segment or a part of code contains one or more executable instructions for realizing the specified logical function. It should also be noted that in some alternative implementations, the functions marked in the box can also occur in a different order than that marked in the accompanying drawings. For example, two boxes represented in succession can actually be executed substantially in parallel, and they can sometimes be executed in the opposite order, depending on the functions involved. It should also be noted that each box in the block diagram and / or flow chart, and the combination of the boxes in the block diagram and / or flow chart can be implemented by a dedicated hardware-based system that performs the specified function or operation, or can be implemented by a combination of dedicated hardware and computer instructions.
[0154] The modules described in the embodiments of the present application may be implemented in software or hardware, wherein the name of a module does not necessarily limit the unit itself.
[0155] The computer-readable storage medium provided in this application stores computer-readable program instructions (i.e., a computer program) for executing the aforementioned method for concurrent license management based on a physical model. This computer-readable storage medium can address the technical issue of traditional license systems being unable to effectively manage the concurrent use of multiple devices. Compared to the prior art, the beneficial effects of the computer-readable storage medium provided in this application are similar to those of the method for concurrent license management based on a physical model provided in the aforementioned embodiments, and are not further elaborated here.
[0156] The present application also provides a computer program product, including a computer program, which implements the steps of the above-mentioned method for concurrent license management based on a physical model when executed by a processor.
[0157] The computer program product provided in this application can address the technical issue of traditional license systems being unable to effectively manage the concurrent use of multiple devices. Compared to the prior art, the beneficial effects of the computer program product provided in this application are similar to those of the concurrent license management method based on the object model provided in the aforementioned embodiment, and are not further elaborated here.
[0158] The above description is only part of the embodiments of the present application and does not limit the patent scope of the present application. All equivalent structural transformations made by using the contents of the present application specification and drawings under the technical concept of the present application, or direct / indirect application in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A method for concurrent license management based on a physical model, characterized in that: Applied to a central server, the object model-based license concurrency management method includes: receiving license application requests sent by a plurality of first devices, wherein the license application requests include identifiers of the first devices and a first license type; Obtaining a license file corresponding to the first license type and a concurrent device list corresponding to the license file, wherein the license file includes an activation code and concurrent status information; Obtaining network status information and license status information of each first device through a preset object model, wherein the network status information includes bandwidth and latency, and the license status information includes license validity period, total concurrent number, used concurrent number, and remaining concurrent number; determining the available concurrency number of the first license type according to the concurrency status information; If the number of the first devices is less than or equal to the available concurrency number, all the first devices are used as second devices; If the number of each first device is greater than the available concurrent number, performing a weighted summation of the network status information and the license usage status to analyze the comprehensive status of each first device and obtain a comprehensive status score of each first device, wherein the license usage status indicates the license status or load condition currently used by the first device, and the license usage status is obtained through the license status information; Sort the first devices in descending order according to the magnitude of the comprehensive status scores to generate a priority sequence for the first devices; Determining, according to the priority sequence, a number of second devices equal to the available concurrency number, wherein the second devices are the first N devices arranged in the priority sequence, and N is the available concurrency number; The license file is sent to the second device, and concurrent status information and a concurrent device list of the license file are updated according to the identifier of the second device.
2. The method for concurrent license management based on a physical model according to claim 1, wherein: Before the step of receiving the license application requests sent by the plurality of first devices, the method further includes: receiving a license generation request sent by a third device, wherein the license generation request includes hardware information of the third device and a second license type, where the second license type is a license type that does not exist in the central server; Determining corresponding concurrent status information and concurrent device list according to the second license type; generating an activation code corresponding to the second license type according to the hardware information of the third device; A concurrent device list corresponding to the second license type and a license file including concurrent status information corresponding to the second license type and the activation code are created, wherein the license file corresponding to the second license type includes the license file corresponding to the first license type.
3. The method for concurrent license management based on a physical model according to claim 2, wherein: After the step of creating a concurrent device list corresponding to the second license type and a license file including the concurrent status information corresponding to the second license type and the activation code, the method further includes: Generate a public key and a private key corresponding to the license file; Before the step of sending the license file to the second device, the method further includes: Encrypting the license file using the public key corresponding to the license file; The encrypted license file is signed using the private key corresponding to the license file, wherein, after receiving the license file sent by the central server, the second device uses the private key corresponding to the license file to decrypt the encrypted license file and uses the public key corresponding to the license file to verify the signature of the license file.
4. The method for concurrent license management based on a physical model according to claim 2, wherein: After the step of creating a concurrent device list corresponding to the second license type and a license file including the concurrent status information corresponding to the second license type and the activation code, the method further includes: Monitoring network status information and permission status information of all devices in the preset object model through the preset object model, wherein the network status information includes network delay information, bandwidth information, and load information; Analyzing the comprehensive status of each of the devices according to the network status information and the permission status information to obtain a comprehensive status score corresponding to each of the devices; If a fourth device is detected whose comprehensive status score is less than a preset status score threshold, the identifier of the fourth device is obtained, the third license type is determined according to the license status information corresponding to the fourth device, a license deletion instruction corresponding to the third license type is sent to the fourth device based on the identifier, and the concurrent status information and concurrent device list corresponding to the third license type are updated according to the identifier of the fourth device.
5. The method for concurrent license management based on a physical model according to claim 4, wherein: After the step of monitoring the network status information and permission status information of all devices in the preset object model through the preset object model, the method further includes: regularly detecting the license load of each of the devices according to the license status information; If a fifth device is detected whose license load is greater than a preset device load threshold, the identifier of the fifth device is obtained, the third license type is determined based on the license status information corresponding to the fifth device, a license deletion instruction corresponding to the third license type is sent to the fifth device based on the identifier, and the concurrency status information and concurrent device list corresponding to the third license type are updated based on the identifier of the fifth device.
6. The method for concurrent license management based on a physical model according to claim 4, wherein: After the step of monitoring the network status information and permission status information of all devices in the preset object model through the preset object model, the method further includes: Monitoring the geographic location information of all devices in the preset object model through the preset object model; If a sixth device whose geographical location information has changed is detected, obtaining the latest location information of the sixth device; Calculating the spatial distance between the sixth device and other devices except the sixth device according to the latest location information; Adjusting the networking scheme of the preset object model according to each of the spatial distances; The network status information of each device in the preset object model is updated based on the adjusted networking solution.
7. A concurrent license management device based on a physical model, characterized in that: The device includes: a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the computer program is configured to implement the steps of the method for concurrent license management based on a physical model according to any one of claims 1 to 6.
8. A storage medium, characterized in that: The storage medium is a computer-readable storage medium, and a computer program is stored on the storage medium. When the computer program is executed by a processor, the steps of the license concurrency management method based on the physical model are implemented as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Method, equipment and system for multiple equipment using same permission
CN101311938A
License control method and license control system
CN103795694A
IOT permission platform and architecture
CN115694869A
Software license idle release and intelligent distribution method and system
CN117131472A