Software product delivery method and device oriented to cloud computing scene and electronic equipment
By establishing automatic mapping capabilities in product planning equipment, a product delivery list and a function whitelist are generated, solving the problem of information fragmentation in the software product delivery process in cloud computing scenarios, and realizing an efficient, flexible delivery process and low-cost delivery.
Patent Information
- Application Number
- CN202610352849.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-03-20
- Publication Date
- 2026-05-15
AI Technical Summary
In cloud computing scenarios, existing technologies lack automatic mapping capabilities, leading to information fragmentation during software product delivery, increasing costs, and reducing the flexibility, automation level, and efficiency of the delivery process.
By establishing automatic mapping capabilities in product planning equipment, product delivery lists and function whitelists are generated and uniformly integrated into product delivery instructions, achieving information aggregation and standardized delivery, and supporting on-demand delivery and elastic scaling.
It reduces the delivery cost of software products, improves the flexibility, automation and efficiency of the delivery process, and ensures the consistency and accuracy of delivery.
Smart Images

Figure CN122053680A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to the field of computer technology, and in particular to the fields of cloud computing and software delivery, specifically to a software product delivery method, apparatus and electronic device for cloud computing scenarios. Background Technology
[0002] As business scenarios become more complex and user roles become more segmented, software products can be customized before delivery. For example, by cutting out redundant features, redundant functions can be eliminated to accurately match the business scenarios and permission systems of different users. Summary of the Invention
[0003] This disclosure provides a method, apparatus, and electronic device for delivering software products in cloud computing scenarios.
[0004] According to a first aspect of this disclosure, a method for delivering software products in a cloud computing scenario is provided, comprising: Obtain the product delivery list; the product delivery list is used to indicate the target software products to be delivered. Generate a whitelist of features for the target software product; the whitelist is used to indicate the features to be delivered in the target software product. Generate product delivery instructions based on the product delivery list and feature whitelist; The product delivery instruction is sent to the product server; the product server is used to deliver the target software product based on the product delivery instruction.
[0005] According to a second aspect of this disclosure, a software product delivery method for cloud computing scenarios is provided, comprising: Obtain product delivery instructions; wherein, the product delivery instructions are generated by the product planning equipment, and the generation method of the product delivery instructions is as follows: obtain a product delivery list for indicating the target software product to be delivered; generate a function whitelist of the target software product to indicate the functions to be delivered of the target software product; generate product delivery instructions based on the product delivery list and the function whitelist. Based on the product delivery instructions, deliver the target software product.
[0006] According to a third aspect of this disclosure, a software product delivery apparatus for cloud computing scenarios is provided, comprising: The product delivery list acquisition unit is used to acquire the product delivery list; wherein, the product delivery list is used to indicate the target software products to be delivered. The function whitelist generation unit is used to generate a function whitelist for the target software product; wherein, the function whitelist is used to indicate the functions to be delivered in the target software product. The product delivery instruction generation unit is used to generate product delivery instructions based on the product delivery list and the function whitelist. The product delivery instruction sending unit is used to send the product delivery instruction to the product server; wherein, the product server is used to deliver the target software product based on the product delivery instruction.
[0007] According to a fourth aspect of this disclosure, a software product delivery apparatus for cloud computing scenarios is provided, comprising: The product delivery instruction acquisition unit is used to acquire product delivery instructions; wherein, the product delivery instructions are generated by the product planning equipment, and the generation method of the product delivery instructions is as follows: acquiring a product delivery list for indicating the target software product to be delivered; generating a function whitelist of the target software product to indicate the functions to be delivered of the target software product; and generating a product delivery instruction based on the product delivery list and the function whitelist. The software product delivery unit is used to deliver the target software product based on the product delivery instructions.
[0008] According to a fifth aspect of this disclosure, an electronic device is provided, comprising: At least one processor; Memory that is communicatively connected to at least one processor; The memory stores instructions that can be executed by at least one processor, which are executed by at least one processor to enable the at least one processor to perform the method provided in the first aspect of this disclosure.
[0009] According to a sixth aspect of this disclosure, a non-transitory computer-readable storage medium is provided storing computer instructions; wherein the computer instructions are used to cause a computer to perform the method provided in the first aspect of this disclosure.
[0010] According to a seventh aspect of this disclosure, a computer program product is provided, including a computer program; wherein, when executed by a processor, the computer program is capable of implementing the method provided in the first aspect of this disclosure.
[0011] Using this disclosure can reduce the delivery cost of software products, while improving the flexibility, automation and efficiency of the delivery process.
[0012] It should be understood that the description in this section is not intended to identify key or essential features of the embodiments of this disclosure, nor is it intended to limit the scope of this disclosure. Other features of this disclosure will become readily apparent from the following description. Attached Figure Description
[0013] The accompanying drawings are provided to better understand this solution and do not constitute a limitation of this disclosure. Wherein: Figure 1A flowchart illustrating a software product delivery method for cloud computing scenarios provided in this embodiment of the disclosure; Figure 2 A schematic diagram of a product delivery list provided for an embodiment of this disclosure; Figure 3 A diagram illustrating a method for generating a functional whitelist provided in this embodiment of the disclosure; Figure 4 A diagram illustrating a method for generating a functional whitelist provided in this embodiment of the disclosure; Figure 5 This is another part of the flowchart illustrating a software product delivery method for cloud computing scenarios provided in this disclosure embodiment; Figure 6 A schematic diagram illustrating a product delivery instruction provided in an embodiment of this disclosure; Figure 7 A schematic diagram illustrating a product delivery instruction provided in an embodiment of this disclosure; Figure 8 This is a schematic diagram of a configuration strategy provided in an embodiment of the present disclosure; Figure 9 A flowchart illustrating a software product delivery method for cloud computing scenarios provided in this embodiment of the disclosure; Figure 10 A schematic diagram of the execution architecture of a software product delivery method for cloud computing scenarios provided in this disclosure embodiment; Figure 11 A schematic diagram illustrating an application scenario of a software product delivery method for cloud computing scenarios provided in this disclosure embodiment; Figure 12 A schematic structural block diagram of a software product delivery device for cloud computing scenarios provided in this disclosure embodiment; Figure 13 A schematic structural block diagram of a software product delivery device for cloud computing scenarios provided in this disclosure embodiment; Figure 14 This is a schematic structural block diagram of an electronic device provided in an embodiment of the present disclosure. Detailed Implementation
[0014] The exemplary embodiments of this disclosure are described below with reference to the accompanying drawings, including various details of the embodiments to aid understanding, and should be considered merely exemplary. Therefore, those skilled in the art will recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope of this disclosure. Similarly, for clarity and brevity, descriptions of well-known functions and structures are omitted in the following description.
[0015] As mentioned earlier, with the increasing complexity of business scenarios and the segmentation of user roles, software products can be customized before delivery. For example, by cutting out redundant functions, redundant functions can be eliminated, thereby accurately matching the business scenarios and permission systems of different users.
[0016] Currently, the main methods for customizing software products include: In the planning system, the product manager determines the software products that need to be delivered, that is, obtains the product delivery list; In building the system, front-end engineers manage, according to project dimensions, what menus, buttons, and entry points need to be displayed on the front end of the software products to be delivered; that is, they maintain the front-end function list. On the whitelist platform, backend engineers manually manage the on / off status of software product functions on the backend according to project dimensions, that is, maintain the function whitelist.
[0017] Ultimately, the software product will be delivered by combining the front-end feature list and the feature whitelist.
[0018] Firstly, on the one hand, the product delivery list, front-end feature list, and feature whitelist are maintained by different systems or platforms and by different roles, lacking the automatic mapping capability of "product delivery list ↔ front-end feature list + feature whitelist". Secondly, the system planning phase focuses on "product-level" delivery, while the system and whitelist platform construction phases are mainly "project-level" deliverables. This will lead to inconsistencies in certain definitions of the same software product across different projects, creating information fragmentation. Ultimately, this increases the delivery cost of the software product.
[0019] Secondly, functional customization is usually delayed until later in the delivery process and cannot be completed in advance during the system planning phase, which limits the flexibility, automation level and efficiency of the delivery process.
[0020] To address at least some of the above-mentioned problems, this disclosure provides a software product delivery method for cloud computing scenarios, which can be applied to product planning equipment, specifically to a "blueprint platform" built on the product planning equipment. The product planning equipment can be a service device or a terminal device. Here, the service device can be a server, workbench, mainframe computer, or other similar computing device; the terminal device can be a workbench, mainframe computer, or other similar computing device. The following will be combined with... Figure 1 The flowchart shown illustrates a software product delivery method for cloud computing scenarios provided by an embodiment of this disclosure. It should be noted that... Figure 1 Although the flowchart shows a logical order, in some cases the steps shown or described in the flowchart can be performed in a different order.
[0021] Step S101: Obtain the product delivery list.
[0022] The product delivery list can be obtained through interaction with the developer's terminal to indicate the target software product to be delivered. For example, it may include the product identifier (also called the target product identifier) and product version (also called the target product version) of the target software product. Here, the target software product can be a software product for cloud computing scenarios, specifically including, but not limited to, infrastructure and platform software, office collaboration and enterprise application software, security and operation and maintenance software, industry-specific applications, and data management software. The developer's terminal can be the terminal device used by the developer, such as a developer's workbench, mainframe computer, conventional computer (e.g., desktop computer, laptop computer, tablet computer, etc.), or other similar computing devices. The target product identifier can be a product name or product identification number.
[0023] Step S102: Generate a whitelist of functions for the target software product.
[0024] The feature whitelist can be used to indicate the features to be delivered in a target software product.
[0025] For example, when the target software product is infrastructure and platform software, the deliverable functions may include, but are not limited to, computing resource management functions, storage management functions, network management functions, multi-tenant isolation functions, and monitoring and alarm functions; when the target software product is office collaboration and enterprise application software, the deliverable functions may include, but are not limited to, workflow approval functions, document management functions, and online collaboration functions of an office automation (OA) system; task allocation functions, progress tracking functions, and work hour statistics functions of project management software; when the target software product is security and operation and maintenance software, the deliverable functions may include, but are not limited to, the identity authentication function, command filtering function, and operation auditing function of a bastion host; and the log collection function, anomaly detection function, and alarm policy configuration function of a log analysis platform.
[0026] Step S103: Generate product delivery instructions based on the product delivery list and the function whitelist.
[0027] In this embodiment of the disclosure, the product delivery list and the feature whitelist can be merged to obtain a product delivery instruction. The product delivery instruction can be, but is not limited to, a spreadsheet software (Microsoft Excel) format.
[0028] Step S104: Send the product delivery instruction to the product server.
[0029] The product server can be used to deliver target software products based on product delivery instructions. For example, it can be used to control the interface interaction elements of the target software product on the front end (i.e., the user side of the software product) based on product delivery instructions. That is, to control which menus, buttons and entry points need to be displayed on the front end of the target software product (these menus, buttons and entry points have their own corresponding product functions), and to control the actual on / off status of the product functions of the target software product on the back end (i.e., the product server side), so as to realize the delivery of the target software product.
[0030] The software product delivery method for cloud computing scenarios provided in this disclosure can obtain a product delivery list to indicate the target software product to be delivered, generate a function whitelist of the target software product to indicate the functions to be delivered, generate a product delivery instruction based on the product delivery list and the function whitelist, and then send the product delivery instruction to the product server. The product server then delivers the target software product based on the product delivery instruction. In other words, in this embodiment, on the one hand, after obtaining the product delivery list used to indicate the target software product to be delivered, a function whitelist of the target software product is immediately generated, which is equivalent to establishing an automatic mapping capability of "product delivery list ↔ function whitelist"; on the other hand, by integrating the product delivery list and function whitelist into a unified product delivery instruction, the aggregation and standardization of product delivery information is realized, eliminating the information fragmentation problem between multiple systems or platforms in traditional solutions, ensuring that the delivery in the planning stage can be accurately and consistently implemented in different projects from the product dimension, thereby effectively supporting the on-demand delivery and elastic scaling of software products in cloud computing scenarios and reducing the delivery cost of software products; at the same time, the function whitelist is generated in the planning stage, which is equivalent to bringing forward the function change operation (e.g., function trimming operation and / or function addition operation), avoiding a large number of manual intervention actions in the later stage, and improving the flexibility, automation level and efficiency of the delivery process.
[0031] Furthermore, in this embodiment, after the product delivery instruction is sent to the product server, the product server can be used to deliver the target software product based on the product delivery instruction. Specifically, it can be used to control the front-end interface interaction elements of the target software product and the actual on / off status of the product functions of the target software product on the back-end, thereby realizing the delivery of the target software product. This means that in this embodiment, the "front-end function list" maintained by the build system and the "function whitelist" maintained by the whitelist platform in the traditional solution are unified and integrated into a single function whitelist. This is equivalent to establishing an automatic mapping capability of "product delivery list ↔ front-end function list + function whitelist". As a result, it can further ensure the accurate mapping and consistent implementation of software product delivery from the product dimension to the project dimension, thereby further reducing delivery costs.
[0032] In some alternative implementations, step S101, namely, "obtaining the product delivery list", includes: Determine the target product identifier; Identify the target product version associated with the target product identifier; Generate a product delivery list based on the target product identifier and target product version.
[0033] In this embodiment of the disclosure, the target product identifier may be a product name or a product identifier number; the target product version may be one of at least one candidate product version of the software product represented by the target product identifier.
[0034] In this embodiment of the disclosure, "determining the target product identifier" may include: Select at least one candidate product identifier from multiple candidate product identifiers; Each candidate product identifier from at least one candidate product identifier is used as the target product identifier.
[0035] Each candidate product identifier among the multiple candidate product identifiers can be used to represent a software product.
[0036] In one example, "selecting at least one candidate product identifier from multiple candidate product identifiers" can be: in response to a product selection request, selecting at least one candidate product identifier from multiple candidate product identifiers. The product selection request can be initiated by a developer using a developer terminal, and this embodiment of the disclosure does not impose any restrictions on this.
[0037] In this embodiment of the disclosure, "determining the target product version associated with the target product identifier" may include: Identify at least one candidate product version that corresponds to the target product identifier; Select the target product version from at least one candidate product version.
[0038] When there are multiple candidate product versions corresponding to the target product identifier, these multiple candidate product versions have a sequential progression relationship. For example, if there are 5 candidate product versions corresponding to the target product identifier, these 5 candidate product versions and their sequential progression relationship can be: version 1.0.0 → version 2.0.0 → version 3.0.0 → version 4.0.0 → version 5.0.0.
[0039] In one example, "selecting a target product version from at least one candidate product version" can be: in response to a version selection request, selecting a target product version from at least one candidate product version. The version selection request can be initiated by a developer using a developer terminal, and this embodiment of the disclosure does not impose any restrictions on this.
[0040] After identifying the target product identifier and the associated target product version, a product delivery list can be generated based on the target product identifier and version. For example, a product delivery list including the target product identifier and version can be generated to indicate the target software product to be delivered; that is, the target software product can be a specific version of the software product represented by the target product identifier. In a specific example, the product delivery list can indicate the target software product in the form of key-value pairs. Please refer to... Figure 2 For example, the product delivery list includes: Software product A has three candidate versions: 1.0.0, 2.0.0, and 3.0.0. Software product B, and software product B has two candidate versions, namely version 1.0.0 and version 2.0.0; Software product C, and software product C has one candidate version, which is version 1.0.0; ... When the target product identifier is determined to be software product A, and the target product version associated with the target product identifier is determined to be version 2.0.0, version 2.0.0 under software product A can be used as the key, and the value of the key can be set to "True". At the same time, the values corresponding to other versions under software product A, all versions under software product B, and all versions under software product C can be set to "False". That is, the product functions under other versions under software product A, all versions under software product B, and all versions under software product C are configured to be disabled.
[0041] Through the above methods, in this embodiment of the disclosure, the target product identifier and the target product version associated with the target product identifier can be determined. Then, based on the target product identifier and the target product version, a product delivery list is generated. In other words, in this embodiment of the disclosure, the product delivery list includes both the target product identifier and the target product version. Therefore, it can accurately and completely define the target software product to be delivered using "product identifier + product version" as the smallest product trimming unit, improving the comprehensiveness and accuracy of the information in the product delivery list and avoiding delivery deviations caused by missing information.
[0042] Furthermore, when determining the target product identifier, at least one candidate product identifier can be selected from multiple candidate product identifiers, and each of the at least one candidate product identifier can be used as the target product identifier. In other words, this embodiment supports both the delivery of a single software product and the combined delivery of multiple software products, flexibly meeting the diverse user needs in complex business scenarios and improving the applicability and flexibility of the software product delivery method.
[0043] When determining the target product version associated with the target product identifier, at least one candidate product version corresponding to the target product identifier can be identified, and the target product version can be selected from the at least one candidate product version. In other words, in this embodiment of the disclosure, by providing at least one candidate product version for developers to select as needed, it is convenient to flexibly perform operations such as version merging, upgrading, or rolling back during the delivery process, simplifying the complexity of version management, further improving the flexibility and efficiency of the delivery process, and at the same time, improving the controllability of the delivery process.
[0044] In some optional implementations, step S102, namely, "generating a functional whitelist of the target software product", includes: Obtain the list of default features for the target software product; In response to the first feature change request, the default feature list is modified to obtain a feature whitelist.
[0045] The default function list can be used to indicate multiple product functions of the target software product (or all product functions of the target software product), as well as the default on / off state of each product function. Here, the multiple product functions may include advanced functions in addition to basic functions, and this disclosure does not limit this.
[0046] The first function change request can be initiated by the developer via the developer terminal, and this disclosure embodiment does not limit this.
[0047] In this embodiment of the disclosure, "in response to a first function change request, modifying the default function list to obtain a function whitelist" may include: In response to a first function change request, a first function to be changed is determined, and a change instruction is given for the first function to be changed; If the change instruction is determined to be a trim instruction, the first function to be changed in the default function list is configured to be turned off to obtain a function whitelist; Alternatively, if the change instruction is determined to be an add instruction, the first function to be changed in the default function list can be configured to be enabled to obtain a function whitelist.
[0048] In other words, in this embodiment of the disclosure, the change instruction can be a trimming instruction or an addition instruction.
[0049] Furthermore, it should be noted that in this embodiment of the disclosure, "configuring the first function to be changed to a disabled state in the default function list" can be: in the default function list, the first function to be changed is used as a key, and the value of that key is set to "False". Please refer to... Figure 3 ,continue Figure 2 For example, the target software product is version 2.0.0 of software product A, and it includes 5 product features. These 5 product features and their default on / off states are as follows: Product Feature A21: True; Product Feature A22: True; Product function A23: False; Product function A24: False; Product Function A25: False.
[0050] Assuming the first function to be changed is product function A21, and the change instruction for the first function to be changed is a trim instruction, then in the default function list, the first function to be changed can be used as a key, and the value of this key can be set to "False". That is, a function whitelist can be obtained: Product function A21: False; Product Feature A22: True; Product function A23: False; Product function A24: False; Product Function A25: False.
[0051] Similarly, in this embodiment of the disclosure, "configuring the first function to be changed to be enabled in the default function list" can be: in the default function list, the first function to be changed is used as a key, and the value of the key is set to "True". Please refer to the following: Figure 4 ,continue Figure 2 For example, the target software product is version 2.0.0 of software product A, and it includes 5 product functions. These 5 product functions and their default on / off states are as follows: Product Feature A21: True; Product Feature A22: True; Product function A23: False; Product function A24: False; Product Function A25: False.
[0052] Assuming the first function to be changed is product function A23, and the change instruction for the first function to be changed is an "add" instruction, then in the default function list, the first function to be changed can be used as a key, and the value of this key can be set to "True". In other words, a function whitelist can be obtained. Product Feature A21: True; Product Feature A22: True; Product Feature A23: True; Product function A24: False; Product Function A25: False.
[0053] Through the above methods, in this embodiment of the disclosure, a default function list of the target software product can be obtained, and in response to a first function change request, the default function list can be modified to obtain a function whitelist. In other words, in this embodiment of the disclosure, the definition of the function whitelist is separated from the static code file and instead defined in the metadata model of the blueprint platform built on the product planning equipment. This decouples the product function configuration from the static code file: the default function list serves as a basic template in the metadata model, dynamically adjusted in response to the first function change request. This ensures both the flexibility and customizability of the product function configuration and avoids frequent changes in configuration information caused by static code file iterations. It can quickly adapt to the personalized needs of different users, while improving the consistency and maintainability of configuration information.
[0054] Furthermore, when responding to a first function change request and modifying the default function list to obtain a function whitelist, the system can determine the first function to be changed and a change instruction for that function. If the change instruction is determined to be a trimming instruction, the first function to be changed is configured to be disabled in the default function list to obtain a function whitelist. Alternatively, if the change instruction is determined to be an add instruction, the first function to be changed is configured to be enabled in the default function list to obtain a function whitelist. In other words, in this embodiment, by distinguishing between the two change instructions, "trimming" and "adding," fine-grained configuration of product functions is supported: trimming instructions are used to eliminate redundant functions, achieving on-demand simplification and meeting the elastic scaling requirements of resources and functions for multi-tenant, multi-project environments in cloud computing scenarios; add instructions are used to enable required functions, meeting the functional expansion requirements in complex business scenarios and quickly responding to dynamic changes in cloud services. The two change methods work together to make the generation process of the function whitelist more flexible and accurate, and can accurately reflect the delivery intention. Moreover, since the function whitelist is maintained uniformly in the metadata model, configuration and operation are separated. The pruning and addition operations directly affect the metadata model, making the change results traceable and reusable. It can also serve as a single trusted source to drive the consistency of front-end and back-end configurations, avoiding version inconsistencies and operational complexity caused by configuration dispersion when multiple versions are delivered in parallel in cloud computing scenarios. This further improves the automation level of function whitelist generation and delivery quality.
[0055] Furthermore, in this embodiment of the disclosure, "configuring the first function to be changed to a disabled state in the default function list to obtain a function whitelist" may include: If it is determined that there is no associated function of the first function to be changed in the default function list, the first function to be changed is directly configured to be turned off in the default function list to obtain the function whitelist. Alternatively, if it is determined that there is a related function of the first function to be changed in the default function list, the configuration of the first function to be changed and the related function in the default function list are set to the off state to obtain a function whitelist.
[0056] Among them, the associated functions of the first function to be changed can be product functions that the first function to be changed depends on when the first function to be changed is a composite function. Here, composite functions are also called aggregate functions, which must depend on at least one basic function (also known as atomic function) to realize complete business logic. That is, they need to call at least one basic function to realize complete business logic.
[0057] The associated functions of the first function to be changed can also be product functions that are linked to the first function to be changed, that is, the accompanying functions of the first function to be changed. For example, when the first function to be changed is the picture quality enhancement function "True Color Audio-Visual", the associated functions of the first function to be changed can be the "High-speed Decoder" function or the "Dolby Sound Effect Enable" function.
[0058] Furthermore, it should be noted that in this embodiment of the disclosure, "setting the first function to be changed and the associated function to be closed in the default function list" can be: setting the first function to be changed as a key in the default function list and setting the value of the key to "False", and setting the associated function as a key and setting the value of the key to "False".
[0059] Based on the foregoing explanation of the associated functions of the first function to be changed, in this embodiment of the disclosure, "determining that there are associated functions of the first function to be changed in the default function list" may include: If it is determined that the first function to be changed is a composite function and the first function to be processed exists in the default function list, the first function to be processed will be identified as a related function. And / or, if it is determined that there is a second pending function in the default function list, the second pending function is identified as an associated function.
[0060] The first function to be processed is the product function that is independently dependent on the first function to be changed and is not a direct function of the target software product; the second function to be processed is the product function that has a linkage relationship with the first function to be changed.
[0061] In this embodiment of the present disclosure, by configuring the first function to be changed to a closed state in the default function list to obtain a function whitelist, if it is determined that there are related functions of the first function to be changed in the default function list, the first function to be changed and its related functions are configured to a closed state in the default function list to obtain a function whitelist. Moreover, the related functions of the first function to be changed can be product functions that the first function to be changed depends on when the first function to be changed is a composite function; or they can be product functions that have a linkage relationship with the first function to be changed. In other words, this embodiment of the present disclosure realizes the linkage trimming of related functions, ensuring that while eliminating redundant functions, their dependent and companion functions are automatically removed, avoiding business logic anomalies caused by missing dependencies or residual linkages, and ensuring the operational stability of the trimmed target software product. At the same time, by automatically identifying and synchronously closing related functions, the workload of manual inspection and configuration is reduced, the risk of operational errors is reduced, and the automation level and delivery quality of personalized trimming are further improved.
[0062] Similarly, in this embodiment of the disclosure, "configuring the first function to be changed to the enabled state in the default function list to obtain a function whitelist" may include: If it is determined that the first function to be changed is not a composite function, the first function to be changed is directly configured to be enabled in the default function list to obtain the function whitelist. Alternatively, if it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is satisfied, the first function to be changed and the third function to be processed are configured to be enabled in the default function list to obtain a function whitelist.
[0063] The third function to be processed can be a product function that the first function to be modified depends on. "Determining that the dependency relationship of the first function to be modified is satisfied" can be: if the functional logic of the third function to be processed already exists, then determining that the dependency relationship of the first function to be modified is satisfied. Specifically, this can be achieved by querying whether the logical storage space of the product planning device already stores the functional logic of the third function to be processed, and if the logical storage space of the product planning device already stores the functional logic of the third function to be processed, then determining that the dependency relationship of the first function to be modified is satisfied. Here, the logical storage space can be a pre-specified storage space, and this embodiment does not limit this.
[0064] Furthermore, it should be noted that in this embodiment of the disclosure, "configuring the first function to be changed and the third function to be processed to the enabled state in the default function list" can be: in the default function list, the first function to be changed is used as a key and the value of the key is set to "True", and the third function to be processed is used as a key and the value of the key is set to "True".
[0065] Alternatively, in this embodiment of the disclosure, "configuring the first function to be changed to an enabled state in the default function list to obtain a function whitelist" may include: If it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is not satisfied, a logic supplement prompt is generated to indicate the functional logic of the third function to be processed. If the functional logic of the third pending function is completed, the configuration of the first pending function and the third pending function will be set to enabled in the default function list to obtain a function whitelist.
[0066] The phrase "determining that the dependency of the first function to be changed is not satisfied" can be: if the functional logic of the third function to be processed does not yet exist, then the dependency of the first function to be changed is not satisfied. Specifically, it can be determined whether the logical storage space of the product planning device has already stored the functional logic of the third function to be processed, and if the logical storage space of the product planning device has not yet stored the functional logic of the third function to be processed, then the dependency of the first function to be changed is not satisfied.
[0067] Furthermore, it should be noted that in this embodiment of the disclosure, "configuring the first function to be changed and the third function to be processed to be enabled in the default function list" can be: in the default function list, the first function to be changed is used as a key and the value of the key is set to "True", and the third function to be processed is used as a key and the value of the key is set to "True".
[0068] Furthermore, in this embodiment of the disclosure, "configuring the first function to be changed and the third function to be processed as enabled in the default function list to obtain a function whitelist" may include: If it is determined that there is no fourth pending function in the default function list, the first pending function configuration and the third pending function configuration in the default function list are directly configured to be enabled to obtain a function whitelist. Alternatively, if a fourth pending function is found in the default function list, the first pending function, the third pending function, and the fourth pending function can be configured to be enabled in the default function list to obtain a function whitelist.
[0069] Among them, the fourth function to be processed can be a product function that is linked to the first function to be changed, that is, a function that is associated with the first function to be changed. For example, when the first function to be changed is the picture quality enhancement function "True Color Audio-Visual", the associated function of the first function to be changed can be the "High-speed Decoder" function or the "Dolby Sound Effect Enable" function.
[0070] Furthermore, it should be noted that in the embodiments of this disclosure, "configuring the first function to be changed, the third function to be processed, and the fourth function to be processed as enabled in the default function list to obtain a function whitelist" can be: in the default function list, using the first function to be changed as a key and setting the value of the key to "True", using the third function to be processed as a key and setting the value of the key to "True", and using the fourth function to be processed as a key and setting the value of the key to "True".
[0071] Please combine Figure 5 In summary, in this embodiment of the disclosure, upon responding to a first function change request, determining a first function to be changed and a change instruction for the first function to be changed, and after determining that the change instruction is an addition instruction and that the first function to be changed is a composite function, the following process will proceed: Step S102-N1: Analyze the first function to be changed to obtain the analysis result of the first function to be changed.
[0072] The parsing results can be used to characterize whether the dependencies of the first function to be changed are satisfied. Specifically, if the functional logic of the third function to be changed already exists, a parsing result indicating that the dependencies of the first function to be changed are satisfied can be obtained; if the functional logic of the third function to be changed does not yet exist, a parsing result indicating that the dependencies of the first function to be changed are not satisfied can be obtained. Here, the third function to be changed can be a product function that the first function to be changed depends on.
[0073] If the parsing result indicates that the dependency of the first function to be changed is not satisfied, proceed to step S102-N2; or, if the parsing result indicates that the dependency of the first function to be changed is satisfied, proceed to step S102-N4.
[0074] Step S102-N2: Generate logical supplementary hints.
[0075] Among them, logical supplementary prompts can be used to indicate the functional logic of supplementing a third function to be processed.
[0076] Steps S102-N3: Determine whether the functional logic of the third function to be processed has been completed.
[0077] If the functional logic of the third pending function has not been completed, return to steps S102-N3; or, if the functional logic of the third pending function has been completed, execute steps S102-N4.
[0078] Step S102-N4: Determine whether a fourth pending function exists in the default function list.
[0079] The fourth function to be processed can be a product function that is linked to the first function to be changed.
[0080] If it is determined that there is no fourth pending function in the default function list, proceed to step S102-N5; or, if it is determined that there is a fourth pending function in the default function list, proceed to step S102-N6.
[0081] Steps S102-N5: In the default function list, directly configure the first function to be changed and the third function to be processed to be enabled to obtain the function whitelist.
[0082] Steps S102-N6: In the default function list, configure the first function to be changed, the third function to be processed, and the fourth function to be processed to be enabled to obtain the function whitelist.
[0083] In this embodiment of the present disclosure, when the first function to be changed is configured to be enabled in the default function list to obtain a function whitelist, if it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is satisfied, the first function to be changed and the third function to be processed (that is, the product function that the first function to be changed depends on) are configured to be enabled in the default function list to obtain a function whitelist; or, if it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is not satisfied, a logic supplement prompt is generated to indicate the supplementation of the functional logic of the third function to be processed, and if it is determined that the functional logic of the third function to be processed is completed, the first function to be changed and the third function to be processed are configured to be enabled in the default function list to obtain a function whitelist. Therefore, in this embodiment of the disclosure, intelligent synchronous activation of composite functions and their dependent functions is achieved, ensuring that when a composite function is activated, its dependent basic functions are automatically ready, avoiding business logic anomalies caused by missing dependencies; at the same time, through the dependency relationship verification and prompt mechanism, clear configuration guidance is provided to developers, improving the success rate of function activation and configuration experience, and further ensuring the logical integrity and operational stability of the software product after delivery.
[0084] Furthermore, when configuring the first function to be changed and the third function to be processed as enabled in the default function list to obtain a function whitelist, if a fourth function to be processed exists in the default function list, the first function to be changed, the third function to be processed, and the fourth function to be processed can all be configured as enabled in the default function list to obtain a function whitelist. The fourth function to be processed can be a product function that is linked to the first function to be changed. Thus, in this embodiment of the disclosure, the linkage between composite functions and their accompanying functions is further realized, ensuring that when the main function is enabled, its accompanying functions can be automatically enabled synchronously, without requiring users to search and manually configure them one by one, thereby improving the synergy of function configuration. By unifying the enabling logic of dependent functions and linked functions into the function whitelist generation process, a complete configuration link from the core function to its related functions is constructed, making the function enabling operation more intelligent and efficient, thereby accurately reproducing the needs of complex business scenarios.
[0085] In this embodiment of the disclosure, after performing step S101 to obtain the product delivery list and step S102 to generate a function whitelist of the target software product, step S103 will be executed, namely, "generating a product delivery instruction based on the product delivery list and the function whitelist". For example, the product delivery list and the function whitelist will be merged to obtain the product delivery instruction. The product delivery instruction may include: Detailed product labeling; Product function keys; Switch status.
[0086] Combining this with the previous examples, in the case of a product delivery list such as Figure 2 As shown, the function whitelist is as follows Figure 4 In the scenario shown, merging the product delivery list and the feature whitelist yields the following result: Figure 6 The product delivery instructions shown, or obtained Figure 7 The product delivery instructions shown. To obtain Figure 7 Taking the product delivery instruction shown as an example, it only includes the software product configured to be enabled (i.e., the target software product), where the detailed product identifier is software product A (version 2.0.0); the product function keys and their corresponding on / off states include: Product function A21=True; Product function A22=True; Product function A23=True; Product function A24 = False; Product function A25=False.
[0087] Combined Figure 8Based on the foregoing descriptions of steps S101 and S102, in this embodiment of the disclosure, the following applies: Configuration Strategy 1: When a software product is configured to be disabled (i.e., the value is set to "False"), all product functions under it will be configured to be disabled by default (i.e., the value is set to "False"). Configuration Strategy 2: When a software product is configured to be enabled (i.e., the value is set to "True"), the product functions will be configured based on its function whitelist. Configuration Strategy 3: When a software product is configured to be enabled (i.e., the value is set to "True"), and it is necessary to disable a function of a product under it, the associated functions should also be configured to be disabled (i.e., the value is set to "False"). Configuration Strategy 4: When a software product is configured to be enabled (i.e., the value is set to "True"), and it is necessary to further enable a function of a product under it, its associated functions should also be configured to be enabled (i.e., the value is set to "True").
[0088] Furthermore, in some optional implementations, step S104, namely, "sending the product delivery instruction to the product server," includes: After conducting multiple rounds of testing and optimization on the target software product based on the product delivery instructions to obtain the optimized target software product, the product delivery instructions are sent to the product server.
[0089] In this embodiment of the disclosure, "performing multiple rounds of testing and optimization on the target software product to obtain an optimized target software product" may include: Conduct multiple rounds of testing and optimization on the target software product; If the target software product is determined to be stable based on the first predictive test standard, the target software product will be saved as a cloud version. Conduct multiple rounds of testing and optimization on the cloud version of the target software product; If, based on the second predictive testing criterion, the cloud version of the target software product is determined to be stable, then the cloud version of the target software product is considered as the optimized target software product.
[0090] The first and second prediction test standards can be set according to the application requirements of the software product delivery, and this disclosure does not impose any restrictions on them.
[0091] Furthermore, it should be noted that in this embodiment of the disclosure, when conducting multiple rounds of testing and optimization on the target software product, and when conducting multiple rounds of testing and optimization on the cloud version of the target software product, multiple rounds of testing and optimization can be conducted successively in the on-site environment and the customer environment built on the "Blueprint Platform," and this embodiment of the disclosure does not impose any restrictions on this. Here, "optimization" can refer to optimizing the functional logic of product functions configured to be enabled under the target software product (or the cloud version of the target software product).
[0092] Furthermore, the software product delivery method for cloud computing scenarios provided in this disclosure may further include: During the process of conducting multiple rounds of testing and optimization on the target software product based on the product delivery instructions, the product delivery instructions are modified in response to the second function change request, resulting in a new product delivery instruction.
[0093] The second function change request can be initiated by the developer via the developer terminal, and this disclosure embodiment does not limit this.
[0094] Furthermore, in this embodiment of the disclosure, "modifying the product delivery instruction" may refer to changing the on / off state of at least some product functions under the target software product in the product delivery instruction. For example, changing the on / off state of a certain product function under the target software product in the product delivery instruction from a closed state to an open state; or, for another example, changing the open state of a certain product function under the target software product in the product delivery instruction from a closed state to a closed state.
[0095] Based on the above, in this embodiment of the disclosure, "sending the product delivery instruction to the product server" may include: Send the new product delivery instructions to the product server.
[0096] In some optional implementations, when sending a new product delivery instruction to the product server, the optimized target software product's product logic data packet can also be sent to the product server simultaneously. The optimized target software product's product logic data packet includes the optimized functional logic for each product function configured to be enabled under the optimized target software product.
[0097] Through the above methods, in this embodiment of the disclosure, multiple rounds of testing and optimization can be performed on the target software product based on the product delivery instruction to obtain an optimized target software product before the product delivery instruction is sent to the product server. In other words, by placing the testing and optimization phase before the product delivery instruction is issued, this embodiment ensures that the actually delivered software product has undergone sufficient verification and defect optimization, avoiding the quality risks caused by unverified versions directly entering the delivery process. Simultaneously, by conducting multiple rounds of testing in both the field environment and the customer environment of the Blueprint platform, and introducing predictive testing standards to evaluate product stability, the scientific rigor and reliability of the testing and optimization are further enhanced, providing a strong guarantee for delivering high-quality software products.
[0098] Furthermore, the software product delivery method for cloud computing scenarios provided in this disclosure may also include, in response to a second functional change request, modifying the product delivery instruction during the process of conducting multiple rounds of testing and optimization on the target software product based on the product delivery instruction, to obtain a new product delivery instruction. Based on this, in this disclosure, "sending the product delivery instruction to the product server" may include sending the new product delivery instruction to the product server. That is, in this disclosure, the delivery scope and functional configuration can be flexibly adjusted during the testing and optimization phase based on actual problems or changes in requirements, ensuring that the product delivery instruction is updated synchronously with the testing and optimization results. This avoids the problem of delivery content becoming disconnected from the actual situation due to the product delivery instruction being fixed in the latter half of the delivery process. Simultaneously, when sending a new product delivery instruction, the optimized product logic of the target software product can be sent simultaneously, ensuring that the product server can complete delivery based on the latest functional logic. This further enhances the flexibility and responsiveness of the delivery process, achieving an organic combination of quality assurance and dynamic adaptation.
[0099] This disclosure also provides a software product delivery method for cloud computing scenarios, which can be applied to product servers. The following will be combined with... Figure 9 The flowchart shown illustrates a software product delivery method for cloud computing scenarios provided by an embodiment of this disclosure. It should be noted that... Figure 9 Although the flowchart shows a logical order, in some cases the steps shown or described in the flowchart can be performed in a different order.
[0100] Step S901: Obtain product delivery instructions.
[0101] The product delivery instruction is generated by the product planning equipment, and the generation method is as follows: obtaining a product delivery list to indicate the target software product to be delivered; generating a function whitelist of the target software product to indicate the functions to be delivered; and generating a product delivery instruction based on the product delivery list and the function whitelist. For details of this process, please refer to the relevant descriptions of the corresponding steps in the aforementioned software product delivery method embodiment for cloud computing scenarios, which will not be repeated here.
[0102] Furthermore, it should be noted that in this embodiment of the disclosure, the product delivery instruction can be received by a "whitelist platform" built on the product server.
[0103] Step S902: Deliver the target software product based on the product delivery instructions.
[0104] As previously described, in this embodiment of the disclosure, the product delivery instruction is generated based on the product delivery list and the function whitelist.
[0105] Based on this, in this embodiment of the disclosure, "delivering the target software product based on the product delivery instruction" can be: based on the product delivery instruction, controlling the interface interaction elements of the target software product on the front end, that is, controlling which menus, buttons and entry points need to be displayed on the front end of the target software product (these menus, buttons and entry points have their own corresponding product functions), and controlling the actual on / off state of the product functions of the target software product on the back end, so as to realize the delivery of the target software product.
[0106] Please combine Figure 10 In this embodiment of the disclosure, after the whitelist platform receives the product delivery instruction, the "configuration distribution service" built on the product server can determine the target software product to be delivered in the product delivery list based on the product delivery instruction, and further determine the functional logic of the product functions configured to be enabled under the target software product (derived from the optimized product logic data packet of the target software product received by the product server), and then enter the final configuration process: in the backend, the interfaces of these functional logics are configured to be callable in the product logic data packet (to adjust the actual switch state of the product functions configured to be enabled under the target software product to be enabled in the backend), and at the same time, the interface interaction elements of the product functions configured to be enabled under the target software product are configured to be displayed (so that the frontend can display the interface interaction elements of the product functions configured to be enabled under the target software product), so as to obtain the final product release data packet.
[0107] The software product delivery method for cloud computing scenarios provided in this disclosure can obtain product delivery instructions based on a product delivery list and a feature whitelist, and deliver the target software product based on these instructions. In other words, by integrating the product delivery list and feature whitelist into a unified product delivery instruction, the aggregation and standardization of product delivery information are achieved. This eliminates the information fragmentation problem between multiple systems or platforms in traditional solutions, ensuring that delivery during the planning phase can be accurately and consistently implemented across different projects from a product perspective, thereby reducing the delivery cost of software products. Simultaneously, the feature whitelist is generated during the planning phase, effectively bringing feature change operations (e.g., feature trimming and / or feature addition) forward, avoiding extensive manual intervention later and improving the flexibility, automation level, and efficiency of the delivery process.
[0108] Further, please refer to Figure 11 This is a schematic diagram illustrating an application scenario of a software product delivery method for cloud computing scenarios provided in this embodiment of the disclosure.
[0109] The software product delivery method for cloud computing scenarios provided in this disclosure is applied to electronic devices.
[0110] Among these, electronic devices can be product planning equipment. Here, product planning equipment can be service equipment or terminal equipment, and service equipment can be servers, workbenches, mainframe computers or other similar computing devices; terminal equipment can be workbenches, mainframe computers or other similar computing devices.
[0111] At this time, the electronic device is used for: Obtain the product delivery list; the product delivery list is used to indicate the target software products to be delivered. Generate a whitelist of features for the target software product; the whitelist is used to indicate the features to be delivered in the target software product. Generate product delivery instructions based on the product delivery list and feature whitelist; The product delivery instruction is sent to the product server; the product server is used to deliver the target software product based on the product delivery instruction.
[0112] Among them, electronic devices can also be product servers.
[0113] At this time, the electronic device is used for: Obtain product delivery instructions; wherein, the product delivery instructions are generated by the product planning equipment, and the generation method of the product delivery instructions is as follows: obtain a product delivery list for indicating the target software product to be delivered; generate a function whitelist of the target software product to indicate the functions to be delivered of the target software product; generate product delivery instructions based on the product delivery list and the function whitelist. Based on the product delivery instructions, deliver the target software product.
[0114] It should be noted that, in the embodiments disclosed herein, Figure 11 The application scenario diagrams shown are for illustrative purposes only and are not restrictive. Those skilled in the art can use them as a basis for their own interpretation. Figure 11 The examples may be modified in various obvious ways and / or substitutions, and the resulting technical solutions still fall within the scope of the disclosure of the embodiments of this disclosure.
[0115] To better implement software product delivery methods for cloud computing scenarios, this disclosure also provides a software product delivery device for cloud computing scenarios, which can be integrated into an electronic device. The electronic device can be a service device or a terminal device. Here, the service device can be a server, workbench, mainframe computer, or other similar computing device; the terminal device can be a workbench, mainframe computer, conventional computer, or other similar computing device. The following will be combined with… Figure 12 The schematic block diagram shown illustrates a software product delivery device 1200 for cloud computing scenarios provided in the disclosed embodiments.
[0116] Software product delivery device 1200 for cloud computing scenarios includes: Product delivery list acquisition unit 1201 is used to acquire product delivery list; wherein, product delivery list is used to indicate the target software product to be delivered; The function whitelist generation unit 1202 is used to generate a function whitelist of the target software product; wherein, the function whitelist is used to indicate the functions to be delivered in the target software product. Product delivery instruction generation unit 1203 is used to generate product delivery instructions based on product delivery list and function whitelist; The product delivery instruction sending unit 1204 is used to send a product delivery instruction to a product server; wherein, the product server is used to deliver the target software product based on the product delivery instruction.
[0117] In some optional implementations, the functional whitelist generation unit 1202 is used for: Obtain the list of default features for the target software product; In response to the first feature change request, the default feature list is modified to obtain a feature whitelist.
[0118] In some optional implementations, the functional whitelist generation unit 1202 is used for: In response to a first function change request, a first function to be changed is determined, and a change instruction is given for the first function to be changed; If the change instruction is determined to be a trim instruction, the first function to be changed in the default function list is configured to be turned off to obtain a function whitelist; Alternatively, if the change instruction is determined to be an add instruction, the first function to be changed in the default function list can be configured to be enabled to obtain a function whitelist.
[0119] In some optional implementations, the functional whitelist generation unit 1202 is used for: If it is determined that there is a related function of the first function to be changed in the default function list, the first function to be changed and the related function are configured to be turned off in the default function list to obtain a function whitelist.
[0120] In some optional implementations, the functional whitelist generation unit 1202 is used for: If it is determined that the first function to be changed is a composite function and the first function to be processed exists in the default function list, the first function to be processed is identified as a related function; wherein, the first function to be processed is a product function that is independently dependent on by the first function to be changed and does not belong to the direct function of the target software product. And / or, if it is determined that there is a second pending function in the default function list, the second pending function is identified as an associated function; wherein, the second pending function is a product function that has a linkage relationship with the first pending function.
[0121] In some optional implementations, the functional whitelist generation unit 1202 is used for: If it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is satisfied, the first function to be changed and the third function to be processed are configured to be enabled in the default function list to obtain a function whitelist; among them, the third function to be processed is a product function that the first function to be changed depends on. Alternatively, if it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is not satisfied, a logical supplementary prompt is generated; wherein, the logical supplementary prompt is used to indicate the functional logic of supplementing the third function to be processed; If the functional logic of the third pending function is completed, the first pending function and the third pending function are configured to be enabled in the default function list to obtain a function whitelist.
[0122] In some optional implementations, the functional whitelist generation unit 1202 is used for: If a fourth pending function is found in the default function list, the first pending function, the third pending function, and the fourth pending function are configured to be enabled in the default function list to obtain a function whitelist; among them, the fourth pending function is a product function that has a linkage relationship with the first pending function.
[0123] In some optional implementations, the product delivery list acquisition unit 1201 is used for: Determine the target product identifier; Identify the target product version associated with the target product identifier; Generate a product delivery list based on the target product identifier and target product version.
[0124] In some optional implementations, the product delivery list acquisition unit 1201 is used for: Select at least one candidate product identifier from multiple candidate product identifiers; Each candidate product identifier from at least one candidate product identifier is used as the target product identifier.
[0125] In some optional implementations, the product delivery list acquisition unit 1201 is used for: Identify at least one candidate product version that corresponds to the target product identifier; Select the target product version from at least one candidate product version.
[0126] In some optional implementations, the product delivery instruction sending unit 1204 is used for: After conducting multiple rounds of testing and optimization on the target software product based on the product delivery instructions to obtain the optimized target software product, the product delivery instructions are sent to the product server.
[0127] In some optional implementations, the software product delivery apparatus 1200 for cloud computing scenarios further includes a product delivery instruction change unit, used for: During the process of conducting multiple rounds of testing and optimization on the target software product based on the product delivery instructions, in response to the second function change request, the product delivery instructions are changed to obtain new product delivery instructions. In some optional implementations, the product delivery instruction sending unit 1204 is used for: Send the new product delivery instructions to the product server.
[0128] In some optional implementations, the software product delivery device 1200 for cloud computing scenarios further includes a product logic sending unit 1204, used for: The optimized product logic of the target software product is sent to the product server.
[0129] In this embodiment of the disclosure, the specific functions and examples of each unit in the software product delivery device 1200 for cloud computing scenarios can be found in the relevant descriptions of the corresponding steps in the aforementioned embodiments of the software product delivery method for cloud computing scenarios, and will not be repeated here.
[0130] To better implement software product delivery methods for cloud computing scenarios, this disclosure also provides a software product delivery device for cloud computing scenarios, which can be integrated into an electronic device. The electronic device can be a service device or a terminal device. Here, the service device can be a server, workbench, mainframe computer, or other similar computing device; the terminal device can be a workbench, mainframe computer, conventional computer, or other similar computing device. The following will be combined with… Figure 13 The schematic block diagram shown illustrates a software product delivery device for cloud computing scenarios provided in the disclosed embodiments.
[0131] The software product delivery device 1300 for cloud computing scenarios includes: Product delivery instruction acquisition unit 1301 is used to acquire product delivery instructions; wherein, the product delivery instructions are generated by the product planning equipment and the product delivery instructions are generated in the following manner: acquiring a product delivery list for indicating the target software product to be delivered; generating a function whitelist of the target software product for indicating the functions to be delivered of the target software product; and generating a product delivery instruction based on the product delivery list and the function whitelist. The software product delivery unit 1302 is used to deliver the target software product based on the product delivery instruction. For the specific functions and examples of each unit in the software product delivery device for cloud computing scenarios in this embodiment, please refer to the relevant descriptions of the corresponding steps in the foregoing embodiments of the software product delivery method for cloud computing scenarios, which will not be repeated here.
[0132] The collection, storage, use, processing, transmission, provision, and disclosure of any type of information, such as user personal information, in this technical solution comply with relevant laws and regulations and do not violate public order and good morals.
[0133] According to embodiments of this disclosure, this disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0134] Figure 14A schematic structural block diagram of an example electronic device 1400 that can be used to implement embodiments of the present disclosure is shown. Electronic device 1400 is intended to represent various forms of digital computers, such as in-vehicle computing devices, laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic device 1400 can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0135] like Figure 14 As shown, the electronic device 1400 includes a computing unit 1401, which can perform various appropriate actions and processes based on a computer program stored in a read-only memory (ROM) 1402 or a computer program loaded from a storage unit 1408 into a random access memory (RAM) 1403. The RAM 1403 may also store various programs and data required for the operation of the electronic device 1400. The computing unit 1401, ROM 1402, and RAM 1403 are interconnected via a bus 1404. An input / output (I / O) interface 1405 is also connected to the bus 1404.
[0136] Multiple components in electronic device 1400 are connected to I / O interface 1405, including: input unit 1406, such as keyboard, mouse, etc.; output unit 1407, such as various types of renderers, speakers, etc.; storage unit 1408, such as disk, optical disk, etc.; and communication unit 1409, such as network card, modem, wireless transceiver, etc. Communication unit 1409 allows electronic device 1400 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0137] The computing unit 1401 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 1401 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose AI computing chips, various computing units running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The computing unit 1401 performs the various methods and processes described above, such as a software product delivery method for cloud computing scenarios. For example, in some embodiments, the software product delivery method for cloud computing scenarios can be implemented as a computer software program tangibly contained in a machine-readable medium, such as storage unit 1408. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 1400 via ROM 1402 and / or communication unit 1409. When the computer program is loaded into RAM 1403 and executed by the computing unit 1401, one or more steps of the software product delivery method for cloud computing scenarios described above can be performed. Alternatively, in other embodiments, computing unit 1401 may be configured in any other suitable manner (e.g., by means of firmware) as a software product delivery method for cloud computing scenarios.
[0138] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-chip (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transferring data and instructions to the storage system, the at least one input device, and the at least one output device.
[0139] The program code used to implement the methods of this disclosure may be written in any combination of one or more programming languages. This program code may be provided to a processor or controller of a general-purpose computer, special-purpose computer, or other programmable data optimization device, such that when executed by the processor or controller, the program code causes the functions / operations specified in the flowcharts and / or block diagrams to be implemented. The program code may be executed entirely on a machine, partially on a machine, as a standalone software package partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0140] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, RAM, ROM, erasable programmable read-only memory (EPROM) or flash memory, optical fibers, compact disc read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.
[0141] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a rendering device (e.g., a cathode ray tube (CRT) renderer or a liquid crystal display (LCD)) for rendering information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the computer. Other types of devices are also used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0142] The systems and technologies described herein can be implemented in computing systems that include back-end components (e.g., as a data server), or computing systems that include middleware components (e.g., an application server), or computing systems that include front-end components (e.g., a user computer with a graphical user interface or web browser through which a user can interact with implementations of the systems and technologies described herein), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., a communication network). Examples of communication networks include local area networks (LANs), wide area networks (WANs), and the Internet.
[0143] A computer system can include client and server components. Clients and servers are generally located far apart and typically interact via a communication network. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, a server in a distributed system, or a server incorporating blockchain technology.
[0144] This disclosure also provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute a software product delivery method for cloud computing scenarios.
[0145] This disclosure also provides a computer program product, including a computer program that, when executed by a processor, implements a software product delivery method for cloud computing scenarios.
[0146] It should be understood that the various forms of processes shown above can be used to rearrange, add, or delete steps. For example, the steps described in this disclosure can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution disclosed in this disclosure is achieved, and this is not limited herein. Furthermore, in this disclosure, relational terms such as "first," "second," and "third" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Additionally, "multiple" in this disclosure can be understood as at least two.
[0147] The specific embodiments described above do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the principles of this disclosure should be included within the scope of protection of this disclosure.
Claims
1. A software product delivery method for cloud computing scenarios, comprising: Obtain a product delivery list; wherein the product delivery list is used to indicate the target software products to be delivered; Generate a whitelist of functions for the target software product; wherein the whitelist of functions is used to indicate the functions to be delivered for the target software product. Based on the product delivery list and the function whitelist, a product delivery instruction is generated; The product delivery instruction is sent to the product server; wherein the product server is used to deliver the target software product based on the product delivery instruction.
2. The method according to claim 1, wherein, The generation of the functional whitelist for the target software product includes: Obtain the list of default functions of the target software product; In response to the first function change request, the default function list is modified to obtain the function whitelist.
3. The method according to claim 2, wherein, The step of changing the default function list in response to the first function change request to obtain the function whitelist includes: In response to the first function change request, a first function to be changed is determined, and a change instruction is given for the first function to be changed; If the change instruction is determined to be a clipping instruction, the first function to be changed is configured to be turned off in the default function list to obtain the function whitelist. Alternatively, if the change instruction is determined to be an addition instruction, the first function to be changed is configured to be enabled in the default function list to obtain the function whitelist.
4. The method according to claim 3, wherein, The step of configuring the first function to be changed to a disabled state in the default function list to obtain the function whitelist includes: If it is determined that there is an associated function of the first function to be changed in the default function list, the first function to be changed and the associated function are configured to be turned off in the default function list to obtain the function whitelist.
5. The method according to claim 4, wherein, The step of determining that the default function list contains a function associated with the first function to be changed includes: If it is determined that the first function to be changed is a composite function and there is a first function to be processed in the default function list, the first function to be processed is determined as the associated function; wherein, the first function to be processed is a product function that is independently dependent on by the first function to be changed. And / or, if it is determined that there is a second pending function in the default function list, the second pending function is identified as the associated function; wherein, the second pending function is a product function that has a linkage relationship with the first pending function.
6. The method according to claim 3, wherein, The step of configuring the first function to be changed to be enabled in the default function list to obtain the function whitelist includes: If it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is satisfied, the first function to be changed and the third function to be processed are configured to be enabled in the default function list to obtain the function whitelist; wherein, the third function to be processed is a product function that the first function to be changed depends on. Alternatively, if it is determined that the first function to be changed is a composite function and the dependency relationship of the first function to be changed is not satisfied, a logical supplementary prompt is generated; wherein, the logical supplementary prompt is used to indicate the functional logic to supplement the third function to be processed; If the functional logic of the third pending function is completed, the first pending function and the third pending function are configured to be enabled in the default function list to obtain the function whitelist.
7. The method according to claim 6, wherein, The step of configuring the first function to be changed and the third function to be processed as enabled in the default function list to obtain the function whitelist includes: If it is determined that there is a fourth pending function in the default function list, the first pending function, the third pending function, and the fourth pending function are configured to be enabled in the default function list to obtain the function whitelist; wherein, the fourth pending function is a product function that has a linkage relationship with the first pending function.
8. The method according to any one of claims 1 to 7, wherein, The process of obtaining the product delivery list includes: Determine the target product identifier; Determine the target product version associated with the target product identifier; The product delivery list is generated based on the target product identifier and the target product version.
9. The method according to claim 8, wherein, The determination of the target product identifier includes: Select at least one candidate product identifier from multiple candidate product identifiers; Each of the at least one candidate product identifiers shall be used as the target product identifier.
10. The method according to claim 8, wherein, Determining the target product version associated with the target product identifier includes: Determine at least one candidate product version corresponding to the target product identifier; The target product version is selected from the at least one candidate product version.
11. The method according to any one of claims 1 to 7, wherein, Sending the product delivery instruction to the product server includes: After performing multiple rounds of testing and optimization on the target software product based on the product delivery instruction to obtain an optimized target software product, the product delivery instruction is sent to the product server.
12. The method of claim 11, further comprising: During the process of conducting multiple rounds of testing and optimization on the target software product based on the product delivery instruction, in response to the second function change request, the product delivery instruction is changed to obtain a new product delivery instruction. Sending the product delivery instruction to the product server includes: The new product delivery instruction is sent to the product server.
13. The method of claim 11, further comprising: The optimized target software product's product logic is sent to the product server.
14. A software product delivery method for cloud computing scenarios, comprising: Obtain a product delivery instruction; wherein the product delivery instruction is generated by the product planning device and the product delivery instruction is generated by: obtaining a product delivery list for indicating the target software product to be delivered; generating a function whitelist of the target software product to indicate the functions to be delivered of the target software product; and generating the product delivery instruction based on the product delivery list and the function whitelist. Based on the product delivery instructions, the target software product is delivered.
15. A software product delivery device for cloud computing scenarios, comprising: The product delivery list acquisition unit is used to acquire a product delivery list; wherein, the product delivery list is used to indicate the target software products to be delivered; A function whitelist generation unit is used to generate a function whitelist of the target software product; wherein the function whitelist is used to indicate the functions to be delivered in the target software product. The product delivery instruction generation unit is used to generate a product delivery instruction based on the product delivery list and the function whitelist. The product delivery instruction sending unit is used to send the product delivery instruction to the product server; wherein the product server is used to deliver the target software product based on the product delivery instruction.
16. A software product delivery device for cloud computing scenarios, comprising: The product delivery instruction acquisition unit is used to acquire a product delivery instruction; wherein the product delivery instruction is generated by the product planning equipment and the product delivery instruction is generated by: acquiring a product delivery list for indicating the target software product to be delivered; generating a function whitelist of the target software product to indicate the functions to be delivered of the target software product; and generating the product delivery instruction based on the product delivery list and the function whitelist. A software product delivery unit is used to deliver the target software product based on the product delivery instruction.
17. An electronic device comprising: At least one processor; A memory that is communicatively connected to the at least one processor; The memory stores instructions that can be executed by the at least one processor, which, when executed by the at least one processor, enables the at least one processor to perform the method according to any one of claims 1 to 14.
18. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to perform the method according to any one of claims 1 to 14.
19. A computer program product comprising a computer program; wherein, When the computer program is executed by a processor, it can implement the method of any one of claims 1 to 14.