Resource adjustment method and device and storage medium

By pre-binding the specification information correspondence between software and resources, the integrated adjustment of software and its underlying resources is achieved on the software platform sold on the cloud, solving the problem that software and resources cannot be adjusted simultaneously in the existing technology, and improving software performance and adjustment efficiency.

CN119718396APending Publication Date: 2025-03-28HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311260491.9
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-09-26
Publication Date
2025-03-28

AI Technical Summary

Technical Problem

The existing technology cannot adjust the software itself and its underlying resources at the same time on the software platform sold on the cloud, resulting in limited software performance optimization and upgrade.

Method used

By pre-binding the correspondence between the software specification information of the target software and the underlying resource specifications, when adjusting the target software, not only the software version is adjusted, but also the target resource specifications are adjusted according to the corresponding relationship, thereby achieving integrated adjustments between the software and the underlying resource it depends on.

Benefits of technology

It realizes integrated adjustments between the software itself and the underlying resources it depends on, improves software performance, simplifies the process of users performing software adjustments on the sales platform, and reduces the probability of resource adjustment failure and the risk of missed expenses.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119718396A_ABST
    Figure CN119718396A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a resource adjustment method and device and a storage medium. In the embodiment of the invention, through pre-binding the corresponding relationship between the software specification information of the target software and the underlying resource specification, when the target software is adjusted, the software can be adjusted to the version corresponding to the target specification information according to the target specification information of the target software; in addition, according to the corresponding relation between the pre-bound software specification information of the target software and the underlying resource specification, the target resource specification matched with the target specification information can be obtained, the resources used by the target software are adjusted to the target resource specification, and integrated adjustment of the software and the underlying resources on which the software depends is achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of Internet technology, and in particular to a resource adjustment method, device and storage medium. Background Art

[0002] With the continuous development of cloud computing technology, more and more software is sold on cloud sales platforms, and users can use the functions provided by the software without developing related software. In actual use, software sold on the cloud usually requires underlying resources before it can be used.

[0003] The performance of software sold on the cloud depends on, on the one hand, the capabilities provided by the software itself. For example, the higher the software version, the better the software performance. On the other hand, it depends on resource capabilities. For example, the higher the specifications of the underlying resources corresponding to the software, the better the software performance.

[0004] Currently, if the underlying resources that the software relies on are provided by servers other than the machine where the software is located, the software adjustment of the sales platform can only adjust the software itself, but cannot adjust the underlying resources of the software. For example, if the resources that the software relies on are resources provided by cloud vendors, the software adjustment of the sales platform can only adjust the software itself, but cannot adjust the underlying resources of the software. For example, the upgrade of the sales platform can only upgrade the software itself, but cannot upgrade the underlying resources corresponding to the software. Summary of the invention

[0005] Multiple aspects of the present application provide a resource adjustment method, device, and storage medium to achieve integrated adjustment of software and resources on which the software depends.

[0006] The present application provides a resource adjustment method, including:

[0007] Obtain target specification information for target software;

[0008] Adjusting the target software to a target version corresponding to the target specification information;

[0009] Determine the target resource specification corresponding to the target specification information according to the correspondence between the preset software specification information and the resource specification;

[0010] According to the target resource specification, resources used by the target software are adjusted.

[0011] The embodiment of the present application further provides an electronic device, comprising: a memory and a processor; wherein the memory is used to store a computer program;

[0012] The processor is coupled to the memory and is configured to execute the computer program to perform the steps in the resource adjustment method.

[0013] An embodiment of the present application further provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the above-mentioned resource adjustment method.

[0014] In an embodiment of the present application, by pre-binding the correspondence between the software specification information of the target software and the underlying resource specifications, when the target software is adjusted, not only can the software be adjusted to the version corresponding to the target specification information according to the target specification information of the target software; but also, based on the correspondence between the pre-bound target specification information of the target software and the underlying resource specifications, the target resource specifications adapted to the software specification information can be obtained, and the resources used by the target software can be adjusted to the target resource specifications, thereby realizing integrated adjustment of the software itself and the underlying resources it depends on. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0016] Figure 1 This is a schematic diagram of the structure of the software sales system;

[0017] Figure 2 This is a schematic diagram of the process of upgrading traditional software;

[0018] Figure 3 A schematic diagram of the structure of a resource adjustment system provided in an embodiment of the present application;

[0019] Figure 4 A schematic diagram of the internal architecture of a resource adjustment node provided in an embodiment of the present application;

[0020] Figure 5 A schematic diagram of the software specification setting process provided in the embodiment of the present application;

[0021] Figure 6 A schematic diagram of the billing process provided for an embodiment of the present application;

[0022] Figure 7 A schematic diagram of a process for adjusting resources provided in an embodiment of the present application;

[0023] Figure 8 A schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION

[0024] In order to make the purpose, technical solution and advantages of the present application clearer, the technical solution of the present application will be clearly and completely described below in combination with the specific embodiments of the present application and the corresponding drawings. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present application.

[0025] In this application, software refers to a collection of computer data and instructions organized in a specific order, which can be divided into: system software, application software and middleware between the two. In this application, software can be implemented in any form, including but not limited to: Software as a Service (SaaS) software, database, data processing software or other forms of software.

[0026] In the embodiment of the present application, the software can be hosted on a sales platform for sale. Figure 1 As shown, the sales platform mainly refers to the sales server 10. The sales server 10 refers to a server device that can respond to the service request of the client 20 and provide users with services related to software sales information. It generally has the ability to undertake and guarantee services. The server device can be a single server device, a cloud server array, or a virtual machine (VM) running in a cloud server array. In addition, the server device can also refer to other computing devices with corresponding service capabilities, such as computers and other terminal devices (running service programs), etc.

[0027] The client 20 refers to a terminal device used by a user with functions such as communication and Internet access, and may be a computer, a mobile phone, a tablet computer, a wearable device, etc.

[0028] The software provider can host the software to the sales server 10 for sales, and the software server 30 operates and maintains the software. The software server 30 refers to a server device with software operation and maintenance functions. The specific implementation form of the server device can refer to the relevant description of the sales server 10 above, which will not be repeated here.

[0029] The sales server 10 maintains the specification information of the software sold on the sales platform, wherein the specification information of the software refers to the index information used to reflect the performance of the software, and may include: software version information and / or some additional billing items reflecting the performance of the software.

[0030] Generally, a higher version of the same software is an improvement over a lower version, including but not limited to: fixing vulnerabilities in the lower version, adding features or enhancing certain features based on the lower version, etc. The higher the version of the same software, the better the performance of the software and the higher the price of the software.

[0031] Additional billing items refer to other indicators that reflect software performance in addition to version information, and can be indicators of any resource dimension. For example, additional billing items can be the number of service nodes corresponding to the software. Service nodes refer to nodes that provide services to the software, which can be a single server, a cloud-based server array, or a virtual machine (VM), container or container group running in a cloud-based server array. For another example, an additional billing item is the size of the storage space, and of course it can also be other granular resources, such as the number of processor cores, the amount of network resources, and the size of memory.

[0032] like Figure 1 As shown, the user can view the specification information of the software through the client 20 and select the software and software specifications to purchase through the client 20.

[0033] The software of the selling server 10 usually needs to create the underlying infrastructure or resources before it can be used. In the embodiment of the present application, the resource server 40 can provide resources to the selling server 10, that is, deploy the software of the software specifications purchased by the user on the resources to provide software services to the user. In the present application, the resource server 40 mainly refers to a server device that is not the same physical machine as the selling server 10. For example, the resource server 40 can be a server device provided by a cloud vendor, or a server device in a different local area network from the selling server 10, etc.

[0034] The resource server 40 can be implemented as a server device that provides underlying hardware resources. For its specific implementation form, please refer to the relevant content of the above-mentioned sales server, which will not be repeated here. The resource server 40 can provide resources to the software in any product form, including but not limited to: cloud servers, virtual machines, containers or container groups and other resource forms. Among them, the resources provided by the resource server 40 provided by the cloud vendor can also be called resources.

[0035] In this embodiment, resources refer to the underlying hardware resources that the software depends on to run, and may include: computing resources such as processors, storage resources such as memory, persistent storage media, and network resources. The computing resource specifications can be represented by the number of central processing unit (CPU) cores. Storage resources include but are not limited to: memory resources and other persistent storage medium resources, such as hard disks, disks, etc. Network resources may include: bandwidth, network segments, and network card configuration resources. Resource specifications are mainly measured by the size of the underlying hardware resources, for example, the number of CPU cores, memory size, and storage space size of persistent storage media. Among them, the higher the resource specifications, the better the performance of the software and the higher the price.

[0036] According to the above analysis, software performance is mainly affected by the following two factors: one is the performance of the software itself, that is, the specifications of the software itself; the other is the specifications of the underlying resources that the software depends on. Therefore, software performance optimization and upgrade generally requires upgrading the software itself and the resources that the software depends on.

[0037] However, currently the sales platform can only upgrade the software itself. Figure 2 As shown, the selling server 10 provides a service provider interface (Service Provider Interface, SPI) to the software server 30. The software server 30 can configure the input format of the upgrade information and the destination port for the software server 30 to receive messages through the SPI. The user can adjust the specification information of the software through the client 20; the selling server 10 receives the target specification information sent by the user through the client 20, and processes the target specification information according to the pre-configured input format and the destination port for the software server 30 to receive the message, and obtains a message containing the target specification information. The message has a configured input format. Further, the selling server 10 can send the message containing the target specification information to the software server 30 through the SPI. The software server 30 receives the message and adjusts the software specifications according to the target specification information in the message. The software specification adjustment is completed by the software server 30, that is, the software upgrade is maintained by the software server 30.

[0038] However, for situations where software upgrades rely on resource upgrades, major manufacturers currently rarely support resource upgrades, making it difficult to upgrade such software on sales platforms.

[0039] In order to solve the above technical problems, in some embodiments of the present application, by pre-binding the correspondence between the software specification information of the target software and the underlying resource specifications, when the target software is adjusted, not only can the software be adjusted to the version corresponding to the target specification information according to the target specification information of the target software; but also the target resource specifications adapted to the target specification information can be obtained according to the correspondence between the software specification information of the pre-bound target software and the underlying resource specifications, and the resources used by the target software can be adjusted to the target resource specifications, thereby realizing the integrated adjustment of the software itself and the underlying resources it depends on.

[0040] The technical solutions provided by various embodiments of the present application are described in detail below in conjunction with the accompanying drawings.

[0041] It should be noted that the same reference numerals denote the same objects in the following drawings and embodiments, and therefore, once an object is defined in one drawing or embodiment, it does not need to be further discussed in the subsequent drawings and embodiments.

[0042] Figure 3 This is a schematic diagram of the structure of the resource adjustment system provided in the embodiment of the present application. Figure 3 As shown, the embodiment of the present application can be Figure 1 On the basis of the system shown, a resource adjustment node 50 is added. The resource adjustment node 50 is used to adjust resources.

[0043] The resource adjustment node 50 is responsible for communicating with the vending server 10 and the resource server 40. The resource adjustment node 50 can be implemented as a software function module, plug-in or software tool with a resource adjustment function, and of course it can also be implemented as a device or equipment with a resource adjustment function. The resource adjustment node 50 can be deployed on the resource server 40 or the vending server 10, and of course it can also be deployed on the software server 30, or deployed on other computing devices.

[0044] like Figure 4 As shown, the resource adjustment node 50 may include: a configuration module 501, a storage module 502, an adjustment module 503 and a communication module 504. Among them, the configuration module 501 provides a configuration interface for the software service provider to configure and bind resource specifications and software specification information. The storage module 502 is used to store the above configuration information. The adjustment module 503 is used to connect to the underlying resources and perform specific resource adjustment operations. The communication module 504 is responsible for communicating with the software server 30 and the sales server 10.

[0045] In the embodiment of the present application, resource adjustment refers to adjusting the resource specifications that the software relies on, specifically adjusting the amount of resources that the software relies on. Resource adjustment can be an upgrade of resource specifications, i.e., increasing resource specifications; or a downgrade of resource specifications, i.e., reducing resource specifications, and can be flexibly set according to user needs.

[0046] In this embodiment, the resource adjustment node 50 can provide a configuration interface through the configuration module 501, and the configuration interface is used for the software service provider to bind the software specification information and the corresponding resource specifications. The software service provider can set the software specification information and resource specifications to be bound through the configuration interface. Accordingly, the resource adjustment node 50 can obtain the software specification information and resource specifications set based on the configuration interface; and establish a corresponding relationship between the software specification information and the resource specifications based on the software specification information and the resource specifications. Specifically, the resource adjustment node 50 can bind the software specification information and the resource specifications set based on the configuration interface to obtain the corresponding relationship between the software specification information and the resource specifications. Afterwards, the corresponding relationship between the software specification information and the resource specifications is stored through the storage module 502.

[0047] In the embodiments of the present application, the specific implementation form of the configuration interface is not limited. In some embodiments, the configuration interface can be implemented as an application programming interface (Application Programming Interface, API). The software service provider can call the API through its terminal device, and configure the software specification information to be bound and its corresponding resource specifications through the API. Accordingly, the resource adjustment node 50 can obtain the software specification information to be bound and its corresponding resource specifications; and establish a corresponding relationship between the software specification information to be bound and its corresponding resource specifications; then, the corresponding relationship between the software specification information and the resource specifications is stored through the storage module 502.

[0048] In other embodiments, the resource adjustment node 50 may provide a resource configuration interface (not shown in the drawings), and the configuration interface may be implemented as a resource configuration control on the interface, and the software service provider may configure the software specification information to be bound and its corresponding resource specifications through the resource configuration control. Accordingly, the resource adjustment node 50 may obtain the software specification information to be bound and its corresponding resource specifications based on the resource configuration control setting; and establish a corresponding relationship between the software specification information to be bound and its corresponding resource specifications; and then store the corresponding relationship between the software specification information and the resource specifications through the storage module 502.

[0049] In an embodiment of the present application, the software specification information includes: software version information and / or additional billing items. The resource specifications corresponding to the additional billing items and the resource specifications corresponding to the software version information may be specifications of resources of different dimensions, or may be specifications of resources of the same dimension, but the size of the resource specifications is different from the size of the resource specifications bound to the software version information. For example, the resources corresponding to the software version information may be the number of CPU cores, memory size, and storage space size, etc. For example, the high-end version is bound to a server with a 16-core CPU and 2TB of storage space; the low-end version is bound to a server with a 4-core CPU and 500GB of storage space, etc. The resources corresponding to the software version information may be provided by one cloud infrastructure product, or by multiple cloud infrastructure products. For example, computing resources may be provided by a cloud server, such as provided by an elastic computing service (Elastic Compute Service, ECS); storage resources may be provided by cloud storage products, such as provided by an object storage service (Object Storage Service, OSS), etc.

[0050] The resource specifications corresponding to the additional billing items may be the number of cloud servers and / or the size of storage space, etc. For example, the number of underlying cloud servers corresponding to the working node, and / or the size of storage space corresponding to the working node, etc. Alternatively, the resource specifications corresponding to the additional billing items are resource specifications of the same dimension as the resource specifications bound to the software version information, but the resource specifications provided by the additional billing items are different in size from the resource specifications bound to the software version information. For example, the above-mentioned high-profile version binds a server with a 16-core CPU and 2TB of storage space; the low-profile version binds a server with a 4-core CPU and 500GB of storage space; the additional billing items may be other CPU cores other than 16 cores and 4 cores, and / or storage spaces of other sizes other than 2TB and 500GB. For example, the additional billing items may be resource specifications of 8-core CPU and 1TB, or resource specifications of 16-core CPU and 1TB, or resource specifications of 8-core CPU and 500GB, etc. In this embodiment, the software service provider only needs to configure the correspondence between software specification information and resource specifications through the resource adjustment node, without the need to connect with the cloud infrastructure product. When adjusting software specifications, the corresponding relationship between the software specification information and the resource specifications can be used to call a specific resource server to complete the adjustment of the resources that the software depends on, thereby achieving integrated adjustment of the software specifications and the resources it depends on. The specific implementation method of the integrated adjustment of software specifications and dependent resources is exemplified below.

[0051] For users, the process of selecting software specifications, paying, and adjusting the software is the same as the purchase process. Figure 5As shown, for the target software, the sales server 10 can send the software specification information of the target software to the client 20, and the client 20 can display the software specification information of the target software. The software specification information displayed by the client 20 may include: version information and / or additional billing items, etc. Figure 5 The figure only shows the version information including low-profile version, standard version and high-profile version. The higher the version, the better the software performance. Figure 5 The additional billing items in the example are “cluster management server” and “data storage server”, but are not intended to be limiting. The user can set the software specifications of the target software through the client 20. For example, Figure 5 As shown, the user can select the version information of the target software and the number of servers corresponding to the additional billing items through the client 20.

[0052] In some embodiments, the client 20 may also display the cost information corresponding to the software specifications of the target software. Optionally, the client 20 may send the target specification information of the target software set by the user to the sales server 10; the sales server 10 may send the target specification information of the target software to the resource adjustment node 50.

[0053] The resource adjustment node 50 can determine the target resource specification corresponding to the target specification information according to the correspondence between the preset software specification information and the resource specification. Further, the cost information corresponding to the target resource specification can be obtained. Figure 4 and Figure 5 As shown, the resource adjustment node 50 may also include: an inquiry module 505. The inquiry module 505 is responsible for returning the resource inquiry result according to the input resource specification information. Further, the resource adjustment node 50 may provide the cost information to the sales server 10. The sales server 10 may send the cost information corresponding to the target resource specification to the client 20. The client 20 may display the cost information corresponding to the target resource specification. Figure 5 The example in the figure only shows that the cost information corresponding to the target resource specification is "2000 yuan / year", but it does not constitute a limitation. Of course, the sales server 10 can also obtain the cost information of the software from the software server 30, and send the cost information of the software to the client 20. The client 20 can obtain the cost information corresponding to the software of the target software specification. Figure 5 The cost information corresponding to the software of the target software specification is only taken as "1,000 yuan / year" as an example, but it does not constitute a limitation.

[0054] The user can pay according to the fee information corresponding to the target resource specification displayed by the client 20. When the sales server 10 detects that the user has completed the payment, it notifies the software server 30 and the resource adjustment node 50 to perform the software adjustment operation.

[0055] The software server 30 may obtain target specification information of the target software, and adjust the target software to a target version corresponding to the target specification information.

[0056] In some embodiments, the selling server 10 receives the target specification information sent by the user through the client 20, and processes the target specification information according to the pre-configured input format and the destination port for receiving the message by the software server 30, to obtain a message containing the target specification information. Specifically, the selling server 10 can encapsulate the target specification information and the destination port for receiving the message by the software server 30 according to the pre-configured input format, to obtain a message containing the target specification information. The message has the configured input format.

[0057] Furthermore, the sales server 10 may send a message including the target specification information to the software server 30 via SPI. The software server 30 receives the message and adjusts the software specification according to the target specification information in the message to adjust the target software to the target version corresponding to the target specification information.

[0058] For the resource adjustment node 50, the target resource specification corresponding to the target specification information can be determined according to the correspondence between the preset software specification information and the resource specification; and the resources used by the target software can be adjusted according to the target resource specification.

[0059] Specifically, the resource adjustment node 50 can schedule target resources with target resource specifications from idle resources of the resource server according to resource usage of the resource server; and deploy target software of the target version on the target resources to adjust the resources used by the target software.

[0060] This embodiment pre-binds the correspondence between the software specification information of the target software and the underlying resource specifications. When the target software is adjusted, not only can the software be adjusted to the version corresponding to the target specification information according to the target specification information of the target software; but also the target resource specifications adapted to the target specification information can be obtained according to the correspondence between the software specification information of the pre-bound target software and the underlying resource specifications, and the resources used by the target software can be adjusted to the target resource specifications, thereby realizing integrated adjustment of the software itself and the underlying resources it depends on.

[0061] After adjusting the resources used by the target software to the target resource specifications, the resource adjustment node 50 can also modify the stored software specification information of the target software and the resource specifications corresponding to the target software to the target specification information and the target resource specifications, respectively. The software specification information of the target software and the resource specifications corresponding to the target software can be stored in the storage module 502.

[0062] In some private deployment scenarios, resources are deployed in user accounts, so users can operate resources in their accounts. If users make mistakes or even delete underlying resources by mistake, the software may become unavailable. Since users have already purchased the software, it takes some time to repair and maintain the underlying resources, which will directly cause user asset losses.

[0063] In the embodiment of the present application, since the specification information of the software and the resource specifications are pre-bound, when the user performs software adjustment on the sales platform, the resource adjustment node can adjust the resource specifications used by the software based on the target specification information of the software adjusted by the user. The user does not need to adjust the resources privately, which can prevent the user from making misoperations during private adjustments that may lead to resource adjustment failures, thereby reducing the probability of resource adjustment failures. At the same time, it can also reduce asset losses caused by user misoperations or accidental deletion of resources.

[0064] In the above scenario, resources are deployed in the user account, so the user can change the resource specifications in the account at will. The software sales server cannot perceive the changes in the underlying resources and cannot charge for the changed resources, resulting in missed charges and causing economic losses to the software service provider.

[0065] In order to make the vending server aware of changes in the underlying resources of the software, in some embodiments, the use of software functions depends on the license. The license is used to limit the use conditions of the software functions. For example, the license can limit the use period of the software, the number of software connections, and / or the resource specifications used by the software. In the above-mentioned resource adjustment embodiment, the resource specifications that the license limits the software to use can be the adjusted target resource specifications.

[0066] In the embodiments of the present application, Figure 6 As shown, the resource adjustment node 50 can store the use conditions of the software functions restricted by the license. Based on the license that the software functions rely on, when the target software deployed on the resources provides software services to users, it can query the resource adjustment node 50 to obtain the resource specifications that the target software is restricted to use by the license. The resource adjustment node 50 can adjust the resource specifications currently used by the target software to the resource specifications that the target software is restricted to use by the license. The resource adjustment node 50 can also obtain the cost information of the resource specifications that the target software is restricted to use by the license and provide it to the sales service end 10. The sales service end 10 can charge based on the cost information of the resource specifications that the target software is restricted to use by the license. In this way, even if the user changes the resource specifications privately, when the target software is actually used, the user can only use the purchased resource specifications due to the existence of the license. The sales service end 10 charges based on the resource specifications actually purchased by the user, which can reduce the economic losses of the software service provider.

[0067] In other embodiments, software function restrictions do not rely on licenses. If users change the underlying resources without permission, the software sales server cannot perceive the changes in the underlying resources and cannot charge for the changed resources. Figure 4 As shown, a detection module 506 is added to the resource adjustment node 50. The detection module 506 is used to detect whether the underlying resources corresponding to the software have changed, and if there is a change, notify the sales service end 10 to charge according to the changed resources.

[0068] like Figure 6 As shown, based on the detection module 506, the resource adjustment node 50 can detect the resource specifications currently used by the target software through the detection module 506. In some embodiments, the resource adjustment node 50 can periodically detect the resource specifications currently used by the target software according to the set detection cycle. Further, the resource adjustment node 50 can compare the resource specifications currently used by the target software to see if they are consistent with the resource specifications corresponding to the stored target software; if they are inconsistent, the cost information corresponding to the resource specifications currently used by the target software is obtained; and the cost information corresponding to the resource specifications currently used by the target software is provided to the sales server 10. The sales server 10 can charge according to the cost information corresponding to the resource specifications currently used by the target software. Therefore, even if the user privately changes the underlying resources, the sales server 10 can still charge according to the resources actually used by the target software, which can reduce the risk of missed charges on the sales platform due to the user's private changes to resources.

[0069] In addition to the above-mentioned resource adjustment system, the embodiment of the present application also provides a resource adjustment method. The resource adjustment method provided in the embodiment of the present application is exemplarily described below.

[0070] Figure 7 Schematic diagram of the process of resource adjustment method provided in the embodiment of the present application. Figure 7 As shown, the method mainly includes:

[0071] 701. Obtain target specification information for target software.

[0072] 702. Adjust the target software to a target version corresponding to the target specification information.

[0073] 703. Determine the target resource specification corresponding to the target specification information according to the preset correspondence between the software specification information and the resource specification.

[0074] 704. Adjust the resources used by the target software according to the target resource specifications.

[0075] In the embodiment of the present application, resource adjustment refers to adjusting the resource specifications that the software relies on, specifically adjusting the amount of resources that the software relies on. Resource adjustment can be an upgrade of resource specifications, i.e., increasing resource specifications; or a downgrade of resource specifications, i.e., reducing resource specifications, and can be flexibly set according to user needs.

[0076] In this embodiment, a configuration interface may be provided, and the configuration interface is used for the software service provider to bind the software specification information and the corresponding resource specifications. The software service provider can set the software specification information and resource specifications to be bound through the configuration interface. Accordingly, the software specification information and resource specifications set based on the configuration interface can be obtained; and the corresponding relationship between the software specification information and the resource specifications can be established based on the software specification information and resource specifications set based on the configuration interface. Afterwards, the corresponding relationship between the software specification information and the resource specifications can be stored. For the specific implementation form of the configuration interface, please refer to the relevant content of the aforementioned embodiment, which will not be repeated here.

[0077] In an embodiment of the present application, the software specification information includes: software version information and / or additional billing items. The resource specifications corresponding to the additional billing items and the resource specifications corresponding to the software version information may be specifications of resources of different dimensions, or may be resource specifications of the same dimension as the resource specifications bound to the software version information, but the resource specifications are different in size from the resource specifications bound to the software version information. The resources corresponding to the software version information may be provided by one cloud infrastructure product or by multiple cloud infrastructure products.

[0078] The resource specifications corresponding to the additional billing items may be the number of cloud servers, etc. For example, the number of working nodes corresponds to the number of underlying cloud servers, etc.

[0079] In this embodiment, the software service provider only needs to configure the correspondence between the software specification information and the resource specifications through the resource adjustment node, without the need to connect with the cloud infrastructure product. When adjusting the software specifications, the software can complete the adjustment of the resources that the software depends on by calling the specific resource service end through the correspondence between the software specification information and the resource specifications, thereby realizing the integrated adjustment of the software specifications and the resources that it depends on. The specific implementation method of the integrated adjustment of software specifications and dependent resources is exemplified below.

[0080] For users, the process of selecting software specification information, paying, and adjusting software is the same as the process of purchasing. For the target software, the sales server can send the software specification information of the target software to the client, and the client can display the software specification information of the target software. The software specification information displayed by the client may include: version information and / or additional billing items, etc. Users can set the software specifications of the target software through the client.

[0081] In some embodiments, the client may also display the cost information corresponding to the software specifications of the target software. Optionally, the client may send the target specification information of the target software set by the user to the sales server; the sales server may send the target specification information of the target software to the device that executes the resource adjustment method provided in the embodiment of the present application.

[0082] The device executing the resource adjustment method provided in the embodiment of the present application can determine the target resource specification corresponding to the target specification information according to the correspondence between the preset software specification information and the resource specification. Further, the cost information corresponding to the target resource specification can be obtained, and the cost information can be provided to the selling server. The selling server can send the cost information corresponding to the target resource specification to the client. The client can display the cost information corresponding to the target resource specification.

[0083] The user can pay according to the fee information corresponding to the target resource specifications displayed by the client. When the selling service detects that the user has completed the payment, it notifies the device executing the resource adjustment method provided in the embodiment of the present application to perform the software adjustment operation.

[0084] Accordingly, in step 701, the target specification information of the target software may be obtained, and in step 702, the target software may be adjusted to the target version corresponding to the target specification information. Specifically, the target resource specification may be provided to the software server of the target software so that the software server upgrades the target software to the target version corresponding to the target specification information.

[0085] For the device executing the resource adjustment method provided in the embodiment of the present application, in step 703, the target resource specification corresponding to the target specification information can be determined based on the correspondence between the pre-set software specification information and the resource specification; and in step 704, the resources used by the target software can be adjusted according to the target resource specification.

[0086] Specifically, according to the resource usage of the resource server, target resources with target resource specifications can be scheduled from the idle resources of the resource server; and target software of the target version can be deployed on the target resources to adjust the resources used by the target software.

[0087] This embodiment pre-binds the correspondence between the software specification information of the target software and the underlying resource specifications. When the target software is adjusted, not only can the software be adjusted to a version corresponding to the target specification information according to the target specification information of the target software; but also the target resource specifications adapted to the software specification information can be obtained according to the correspondence between the pre-bound software specification information of the target software and the underlying resource specifications, and the resources used by the target software can be adjusted to the target resource specifications, thereby realizing integrated adjustment of the software itself and the underlying resources it depends on.

[0088] After adjusting the resources used by the target software to the target resource specifications, the stored software specification information of the target software and the resource specifications corresponding to the target software may be modified to the target specification information and the target resource specifications, respectively.

[0089] In some private deployment scenarios, resources are deployed in user accounts, so users can operate resources in their accounts. If users make mistakes or even delete underlying resources by mistake, the software may become unavailable. Since users have already purchased the software, it takes some time to repair and maintain the underlying resources, which will directly cause user asset losses.

[0090] In the embodiment of the present application, since the specification information of the software and the resource specifications are pre-bound, when the user performs software adjustment on the sales platform, the resource adjustment node can adjust the resource specifications used by the software based on the target specification information of the software adjusted by the user, without the need for the user to adjust the underlying resources privately. This can prevent the user from making adjustments privately due to erroneous operations that may lead to resource adjustment failures, thereby reducing the probability of resource adjustment failures. At the same time, it can also reduce asset losses caused by user erroneous operations or accidental deletion of resources.

[0091] In the above scenario, resources are deployed in the user account, so the user can change the resource specifications in the account at will. The software sales server cannot perceive the changes in the underlying resources and cannot charge for the changed resources, resulting in missed charges and causing economic losses to the software service provider.

[0092] In order to make the vending server aware of changes in the underlying resources of the software, in some embodiments, the use of software functions depends on the license. The license is used to limit the use conditions of the software functions. For example, the license can limit the use period of the software, the number of software connections, and / or the resource specifications used by the software. In the above-mentioned resource adjustment embodiment, the resource specifications that the license limits the software to use can be the adjusted target resource specifications.

[0093] In an embodiment of the present application, the use conditions of the software functions restricted by the license can be stored. Based on the license that the software functions rely on, the target software deployed on the resources can query the resource adjustment node to obtain the resource specifications used by the target software restricted by the license when providing software services to users. For the device that executes the resource adjustment method provided in the embodiment of the present application, the resource specifications currently used by the target software can be adjusted to the resource specifications used by the target software restricted by the license. Furthermore, the cost information of the resource specifications used by the target software restricted by the license can also be obtained and provided to the selling service end. The selling service end can charge based on the cost information of the resource specifications used by the target software restricted by the license. In this way, even if the user changes the resource specifications privately, when the target software is actually used, the user can only use the purchased resource specifications due to the existence of the license. The selling service end charges based on the resource specifications actually purchased by the user, which can reduce the economic losses of the software service provider.

[0094] In other embodiments, software function restrictions do not rely on licenses. If the user changes the underlying resources privately, the software sales server cannot perceive the changes in the underlying resources and cannot charge for the changed resources. In order to solve this technical problem, the resource specifications currently used by the target software can be detected. In some embodiments, the resource specifications currently used by the target software can be periodically detected according to the set detection cycle. Further, the resource specifications currently used by the target software can be compared to see if they are consistent with the resource specifications corresponding to the stored target software; if they are inconsistent, the cost information corresponding to the resource specifications currently used by the target software is obtained; and the cost information corresponding to the resource specifications currently used by the target software is provided to the sales server. The sales server can charge according to the cost information corresponding to the resource specifications currently used by the target software. Therefore, even if the user changes the underlying resources privately, the sales server can still charge according to the resources actually used by the target software, which can reduce the risk of missed charges on the sales platform due to the user's private changes to resources.

[0095] It should be noted that the execution subject of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 702 and 703 can be device A; for another example, the execution subject of step 702 can be device A, and the execution subject of step 703 can be device B; and so on.

[0096] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations appearing in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this document or may be executed in parallel, and the sequence numbers of the operations, such as 701, 702, etc., are only used to distinguish between different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel.

[0097] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing computer instructions. When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the above-mentioned resource adjustment method.

[0098] Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. Figure 8 As shown, the electronic device includes: a memory 80a and a processor 80b. The memory 80a is used to store computer programs.

[0099] The processor 80b is coupled to the memory 80a and is used to execute the computer program in the memory 80a to execute the steps of the resource adjustment method provided in the above embodiments. The detailed description of each method step can be found in the above embodiments and will not be repeated here.

[0100] In some optional embodiments, such as Figure 8 As shown, the electronic device may also include optional components such as a communication component 80c, a power component 80d, a display component 80e and an audio component 80f. Figure 8 Some components are shown schematically, and it does not mean that electronic devices must include Figure 8 The components shown do not necessarily mean that the electronic device can only include Figure 8 Components shown.

[0101] in addition, Figure 8 The components in the dashed box are optional components, not mandatory components, and may depend on the product form of the electronic device. The electronic device of this embodiment may be implemented as a terminal device such as a desktop computer, a laptop computer, a mobile phone, or an IoT device; or it may be various server devices such as a traditional server, a cloud server, or a server cluster.

[0102] In an embodiment of the present application, the memory is used to store a computer program and can be configured to store various other data to support operations on the device where it is located. Among them, the processor can execute the computer program stored in the memory to implement the corresponding control logic. The memory can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (Static Random-Access Memory, SRAM), electrically erasable programmable read only memory (Electrically Erasable Programmable Read Only Memory, EEPROM), erasable programmable read only memory (Electrical Programmable Read Only Memory, EPROM), programmable read only memory (Programmable Read Only Memory, PROM), read only memory (Read Only Memory, ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0103] In the embodiment of the present application, the processor can be any hardware processing device that can execute the logic of the above method. Optionally, the processor can be a central processing unit (CPU), a graphics processing unit (GPU) or a microcontroller unit (MCU); it can also be a field programmable gate array (FPGA), a programmable array logic device (PAL), a general array logic device (GAL), a complex programmable logic device (CPLD) and other programmable devices; or an advanced reduced instruction set (RISC) processor (Advanced RISC Machines, ARM) or a system on chip (SoC), etc., but not limited to this.

[0104] In an embodiment of the present application, the communication component is configured to facilitate wired or wireless communication between the device in which it is located and other devices. The device in which the communication component is located can access a wireless network based on a communication standard, such as Wireless Fidelity (WiFi), 2G or 3G, 4G, 5G or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component can also be based on Near Field Communication (NFC) technology, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology or other technologies.

[0105] In an embodiment of the present application, the display component may include a liquid crystal display (LCD) and a touch panel (TP). If the display component includes a touch panel, the display component may be implemented as a touch screen to receive input signals from a user. The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundaries of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation.

[0106] In an embodiment of the present application, a power supply component is configured to provide power to various components of the device in which it is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device in which the power supply component is located.

[0107] In an embodiment of the present application, the audio component may be configured to output and / or input audio signals. For example, the audio component includes a microphone (Microphone, MIC), and when the device where the audio component is located is in an operating mode, such as a call mode, a recording mode, and a speech recognition mode, the microphone is configured to receive an external audio signal. The received audio signal may be further stored in a memory or sent via a communication component. In some embodiments, the audio component also includes a speaker for outputting an audio signal. For example, for a device with a language interaction function, voice interaction with a user can be achieved through an audio component.

[0108] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0109] It should also be noted that the descriptions such as "first" and "second" in this article are used to distinguish different messages, devices, modules, etc., and do not represent the order of precedence, nor do they limit "first" and "second" to different types.

[0110] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, compact disc read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage, etc.) that contain computer-usable program code.

[0111] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0112] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0113] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0114] In a typical configuration, a computing device includes one or more processors (CPU, etc.), input / output interfaces, network interfaces, and memory.

[0115] Memory may include non-permanent storage in a computer-readable medium, random-access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0116] The storage medium of a computer is a readable storage medium, which may also be referred to as a readable medium. The readable storage medium includes permanent and non-permanent, removable and non-removable media that can be used to store information by any method or technology. The information can be a computer-readable instruction, a data structure, a module of a program, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic cassettes, disk storage or other magnetic storage devices or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include temporary computer-readable media (transitory media), such as modulated data signals and carrier waves.

[0117] It should also be noted that the terms "include", "comprises" or any other variations thereof are intended to cover non-exclusive inclusion, so that a process, method, commodity or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, commodity or device. In the absence of further restrictions, the elements defined by the sentence "comprises a ..." do not exclude the existence of other identical elements in the process, method, commodity or device including the above elements.

[0118] The above contents are only embodiments of the present application and are not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included within the scope of the claims of the present application.

Claims

1. A resource adjustment method, characterized in that: include: Obtain target specification information for target software; Adjusting the target software to a target version corresponding to the target specification information; Determine the target resource specification corresponding to the target specification information according to the correspondence between the preset software specification information and the resource specification; According to the target resource specification, resources used by the target software are adjusted.

2. The method according to claim 1, characterized in that The adjusting the resources used by the target software according to the target resource specification includes: According to the resource usage of the resource server, scheduling the target resource with the target resource specification from the idle resources of the resource server; The target software of the target version is deployed on the target resource to adjust the resources used by the target software.

3. The method according to claim 1, characterized in that Also includes: Acquire software specification information and resource specifications based on a first configuration interface setting; the first configuration interface is used to bind the software specification information and resource specifications; According to the software specification information and resource specifications set based on the configuration interface, a corresponding relationship between the software specification information and the resource specifications is established.

4. The method according to claim 1, characterized in that The step of upgrading the target software to a target version corresponding to the target specification information includes: The target specification information is provided to the software server of the target software, so that the software server can upgrade the target software to the target version corresponding to the target specification information.

5. The method according to claim 1, characterized in that The obtaining of target specification information for the target software includes: The target specification information provided by the sales server of the target software is obtained; the target specification information is set by the user based on a second configuration interface provided by the sales server; the second configuration interface is used to set the software specification information of the target software.

6. The method according to claim 3, characterized in that: Also includes: Obtaining cost information corresponding to the target resource specification; The cost information corresponding to the target resource specification is provided to the sales server of the target software, so that the sales server sends the cost information corresponding to the target resource specification to the user's client, so that the client displays the cost information corresponding to the target resource specification.

7. The method according to any one of claims 1 to 6, characterized in that: Also includes: The stored software specification information of the target software and the resource specification corresponding to the target software are modified to the target specification information and the target resource specification respectively.

8. The method according to claim 7, characterized in that Also includes: Detecting resource specifications currently used by the target software; When the resource specifications currently used by the target software are inconsistent with the stored resource specifications corresponding to the target software, obtaining the cost information corresponding to the resource specifications currently used by the target software; The cost information corresponding to the resource specifications currently used by the target software is provided to the sales service end of the target software, so that the sales service end can charge according to the cost information corresponding to the resource specifications currently used by the target software.

9. An electronic device, characterized in that: include: A memory and a processor; wherein the memory is used to store a computer program; The processor is coupled to the memory and configured to execute the computer program to perform the steps of the method according to any one of claims 1 to 8.

10. A computer-readable storage medium storing computer instructions, characterized in that: When the computer instructions are executed by one or more processors, the one or more processors are caused to execute the steps in the method according to any one of claims 1 to 8.