Application full-life-cycle management system, method and device and storage medium
By adopting unified modeling rules based on functional units in the application of full life cycle management, the problem of low efficiency in application of full life cycle management in the existing technology is solved, and a more efficient, easy-to-use and general management method is achieved, and confidentiality is ensured during functional units reuse and transactions.
Patent Information
- Application Number
- CN202311199836.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-09-15
- Publication Date
- 2025-03-18
AI Technical Summary
The prior art is not efficient when managing complex applications in full life cycle through code-level integration, and has problems of confidentiality and universality during reuse and transactions.
The unified modeling rules based on functional units are adopted to manage the application's entire life cycle through the development module and the execution module to realize the unified development, debugging, deployment and operation and maintenance of functional units.
It effectively improves the efficiency of application full life cycle management, improves ease of use and versatility, and ensures confidentiality during reuse and transaction of functional units.
Smart Images

Figure CN119645354A_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of software development technology, and in particular to an application life cycle management system, method, device and storage medium. Background Art
[0002] Application lifecycle management is a technology used to manage applications from the conception stage to development, debugging, release, deployment, and operation and maintenance stages to improve application R&D efficiency and quality.
[0003] Currently, the application can be managed throughout its life cycle based on the code management method. Specifically, based on the source code corresponding to the application, an application is implemented through code-level integration and the application is managed throughout its life cycle. However, as the functions of applications become more and more complex, the above method of managing applications throughout their life cycle is inefficient. Summary of the invention
[0004] The present application provides an application lifecycle management system, method, device and storage medium to solve the problem of low efficiency in the current full lifecycle management of applications.
[0005] In a first aspect, the present application provides an application lifecycle management system, including: a development module and an execution module;
[0006] The development module is used to manage the development of functional units and obtain the developed functional units. Functional units are containers for application data organization.
[0007] The execution module is used to respond to the deployment instruction for the developed functional unit, receive the deployment data corresponding to the developed functional unit, and execute the functional unit.
[0008] Optionally, the development module includes a development space, a development warehouse and a deployment warehouse. The development space is used to provide a development environment for the functional unit and receive development information of the functional unit. The development warehouse is used to share and store developed functional units based on the development information. The deployment warehouse is used to receive deployment data corresponding to the developed functional units.
[0009] Optionally, the functional unit includes sub-functional units, functional logic and data objects; the sub-functional units are other functional units integrated into the functional unit based on a preset integration relationship, and other functional units include developed functional units shared by the development warehouse; the functional unit implements the corresponding business function of the functional unit through the corresponding functional logic, and the data object is used to store the corresponding status attribute value of the functional unit.
[0010] Optionally, the attributes of the functional unit include at least: the identification of the functional unit, the identification of the parent functional unit of the functional unit and the identification of the root functional logic contained in the functional unit, the parent functional unit identification is used to determine the tree-like organizational relationship between the functional units based on a preset integration relationship, and the root functional logic identification is used to represent the first functional logic executed; the attributes of the functional logic include at least: the identification of the functional logic, the identification of the parent functional logic of the functional logic, the identification of the functional unit to which the functional logic belongs, the development language type of the functional logic, the source code corresponding to the functional logic and the execution module identification, and the parent functional logic identification is used to determine the tree-like organizational relationship between the functional logics based on business requirements; the attributes of the data object include at least: the identification of the data object, the identification of the parent data object of the data object, the identification of the functional unit to which the data object belongs and the member list of the data object, and the parent data object identification is used to determine the tree-like organizational relationship between the data objects based on business requirements.
[0011] Optionally, executing the functional unit includes: determining the root functional unit according to the parent functional unit identifier; running the root functional logic and sub-functional logic contained in the root functional unit, and running the root functional logic and sub-functional logic contained in the sub-functional unit, wherein the root functional logic is determined according to the parent functional logic identifier.
[0012] Optionally, the execution module is further configured to output an operation status in response to a query and / or subscription instruction on the operation status of the execution module and the developed functional unit, so as to maintain normal operation of the functional unit based on the operation status.
[0013] Optionally, the application life cycle management system also includes a database module, which is used to store the status of data objects corresponding to the functional units when the execution module executes the functional units; and / or, to provide the status of data objects corresponding to the functional logic to achieve data interaction and behavior control between functional logics.
[0014] Optionally, the application lifecycle management system also includes a distribution transaction module for providing sharing and / or transaction services for developed functional units in response to sharing and / or transaction requests for developed functional units, so as to use the developed functional units for iterative integration of new functional units.
[0015] Optionally, the application lifecycle management system also includes a client, which is used to provide an operation interface corresponding to the functional unit to achieve full lifecycle management of the functional unit.
[0016] In a second aspect, the present application provides an application lifecycle management method, which is applied to the application lifecycle management system including a development module and an execution module as described in the first aspect of the present application, and the application lifecycle management method includes:
[0017] The development module obtains the development information of the functional unit to be developed, and the development of the functional unit to be developed is based on other functional units shared in the development module;
[0018] The development module obtains the developed functional units based on the development information;
[0019] The execution module deploys the developed functional unit to the execution module in response to the deployment instruction for the developed functional unit;
[0020] The execution module executes the developed functional units.
[0021] Optionally, the application lifecycle management method also includes: the execution module outputs the running status in response to the query and / or subscription instructions on the running status of the execution module and the developed functional unit, so as to maintain the normal operation of the functional unit based on the running status.
[0022] In a third aspect, the present application provides an application lifecycle management device, which is applied to the application lifecycle management system including a development module and an execution module as described in the first aspect of the present application, and the application lifecycle management device includes:
[0023] A first acquisition module is used to acquire development information of a function unit to be developed, where the development of the function unit to be developed is based on other function units shared in the development module;
[0024] A second acquisition module is used to obtain the developed functional unit based on the development information;
[0025] A first processing module, configured to deploy the developed functional unit to the execution module in response to a deployment instruction for the developed functional unit;
[0026] The second processing module is used to execute the developed functional unit.
[0027] Optionally, the second processing module is further used to: in response to a query and / or subscription instruction on the running status of the execution module and the developed functional unit, output the running status to maintain the normal operation of the functional unit based on the running status.
[0028] In a fourth aspect, the present application provides a computer-readable storage medium, in which computer program instructions are stored. When the computer program instructions are executed, the application life cycle management method described in the second aspect of the present application is implemented.
[0029] In a fifth aspect, the present application provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor;
[0030] Memory stores computer-executable instructions;
[0031] The processor executes the computer-executable instructions stored in the memory to implement the application life cycle management method as described in the second aspect of the present application.
[0032] In a sixth aspect, the present application provides a computer program product, including a computer program, which, when executed, implements the application life cycle management method as described in the second aspect of the present application.
[0033] The application life cycle management system, method, device and storage medium provided by the present application include a development module and an execution module; the development module manages the development of functional units and obtains developed functional units, which are containers for application data organization; the execution module responds to deployment instructions for developed functional units, receives deployment data corresponding to developed functional units, and executes functional units. Since the present application performs unified modeling of applications based on unified modeling rules of functional units, and manages applications throughout their life cycle through development modules and execution modules based on the modeling rules, rather than managing applications throughout their life cycle based on code management, it can effectively improve the efficiency of application life cycle management and has higher ease of use. BRIEF DESCRIPTION OF THE DRAWINGS
[0034] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, a brief introduction will be given below to the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative labor.
[0035] Figure 1 A schematic diagram of an application scenario provided for an embodiment of the present application;
[0036] Figure 2 A schematic diagram of an application lifecycle management system provided by an embodiment of the present application;
[0037] Figure 3 A schematic diagram of the functional logic provided by an embodiment of the present application;
[0038] Figure 4 A schematic diagram of a data object provided in an embodiment of the present application;
[0039] Figure 5 A schematic diagram of a functional unit provided in an embodiment of the present application;
[0040] Figure 6 A schematic diagram of an application lifecycle management system provided by another embodiment of the present application;
[0041] Figure 7 A flowchart of an application lifecycle management method provided in an embodiment of the present application;
[0042] Figure 8 A business scenario diagram of an application lifecycle management system provided in an embodiment of the present application;
[0043] Fig. 9 A schematic diagram of the structure of an application life cycle management device provided in an embodiment of the present application;
[0044] Fig.10 A schematic diagram of the structure of an electronic device provided in one embodiment of the present application. DETAILED DESCRIPTION
[0045] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0046] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.
[0047] Currently, there are two main management methods for application life cycle management: code-based management and object-based management.
[0048] Specifically, the code-based management method takes code (also known as source code) as the management object, usually through code version management tools such as Team Foundation Server (TFS), Git (a distributed version control system) or GitHub (a hosting platform for software projects), based on the files and directories of the code corresponding to the application for management, and the permissions are also controlled to the file and directory level. During the development process of the application, it is necessary to continuously debug and adjust, and then develop and debug again. When the application functions normally, the application is deployed and run. The above process is to achieve code-level integrated process management through integrated development tools, such as Jenkins (a continuous integration tool). For example, the application is managed throughout its life cycle through the Development and Operations (DevOps) platform, and the DevOps platform provides a complete set of solutions from code version management, process management, collaborative communication, testing, deployment and operation. However, as the functions of the application become more and more complex, it is usually integrated by multiple basic applications to complete certain complex system functions, that is, a complex application is realized through code-level integration. Therefore, the code-based management method has the problem of low efficiency. In addition, the code-based management method has the following disadvantages: the management method of code version management tools such as TFS, Git or GitHub has poor encapsulation, poor confidentiality during code reuse or transactions, and binary-based reuse and verification are not friendly to changes, and developers need to perform compatibility processing when using it; there is no mechanism for convenient integration of applications from other organizations, and it can only be iterated within the organization, and it is impossible to quickly enrich the application ecosystem; Jenkins requires developers to choose or develop related tools to build a continuous integration platform, which is not universal and has a high construction cost; the DevOps platform is suitable for the development of source code in a few specific languages, and the management target is the source code, not the application, and is not suitable for full life cycle management of the application.
[0049] The object-based management method uses objects as the management granularity and implements integrated management based on the relationship rules between objects. However, the object-based management method is a simple encapsulation based on existing rules, that is, encapsulating source code as objects. It does not fully cover the entire life cycle of application development, but only involves certain stages of application life cycle management.
[0050] Based on the above problems, the present application provides an application life cycle management system, method, device and storage medium. Through unified modeling rules based on functional units, applications are uniformly modeled, and applications are managed throughout their life cycle based on the modeling rules. This can effectively improve the efficiency of application life cycle management and has higher ease of use.
[0051] In the following, the application scenarios of the solutions provided in this application are first illustrated.
[0052] Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of the present application. Figure 1 As shown, in this application scenario, the developer logs in to the client ( Figure 1 ), access the application lifecycle management system on server 101 through the client, complete the development of the functional unit, store the developed functional unit on server 101 to share with other developers, or store the developed functional unit on server 102 to share or trade the developed functional unit. The operation and maintenance personnel deploy the developed functional unit on server 101 to server 103, execute the developed functional unit through server 103, and maintain the operation of the functional unit.
[0053] It should be noted that Figure 1 This is only a schematic diagram of an application scenario provided by the embodiment of the present application. Figure 1 does not limit the equipment included in Figure 1 The positional relationship between the devices is limited.
[0054] The technical solution of the present application is described in detail below through specific embodiments. It should be noted that the following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.
[0055] Figure 2 This is a schematic diagram of an application lifecycle management system provided by an embodiment of the present application. Figure 2 As shown, the application lifecycle management system 200 of the embodiment of the present application includes a development module 210 and an execution module 220. Among them:
[0056] The development module 210 is used to manage the development of the functional unit and obtain the developed functional unit. The functional unit is a container for organizing application data.
[0057] The execution module 220 is used to respond to the deployment instruction for the developed functional unit, receive the deployment data corresponding to the developed functional unit, and execute the functional unit.
[0058] In this embodiment, the application is uniformly modeled with the functional unit as a unified modeling rule, and one functional unit can be understood as corresponding to one application. The functional unit is a container for application data organization. Optionally, the functional unit includes sub-functional units, functional logic and data objects; sub-functional units are other functional units integrated into the functional unit based on preset integration relationships, and other functional units include developed functional units shared by the development warehouse; the functional unit implements the business function corresponding to the functional unit through the corresponding functional logic, and the data object is used to store the state attribute value corresponding to the functional unit.
[0059] Exemplarily, a functional unit may include three types of data, namely, sub-functional units, functional logic, and data objects. Among them, the functional logic is used to implement the processing and calculation logic of the functional unit, that is, the functional unit implements the business function corresponding to the functional unit through the corresponding functional logic. The functional logic within a functional unit can access other objects related to it (including other functional units, functional logic, or data objects, etc.) by accessing the functional unit in which it is located, with the functional unit as the scope. The data object is used to store the state attribute value corresponding to the functional unit, which can be a state attribute value reflecting one or some objects (including functional units, functional logic, or data objects, etc.) in reality. The state attribute value may include at least one of the future state attribute value, the real-time state attribute value, and the historical state attribute value. The functional unit, as a whole, is uniformly developed, debugged, moved, released, deployed, operated and maintained, and traded. The functional unit is the basis for unified and integrated management of applications.
[0060] Optionally, the attributes of the functional unit include at least: the identification of the functional unit, the identification of the parent functional unit of the functional unit and the identification of the root functional logic contained in the functional unit, the parent functional unit identification is used to determine the tree-like organizational relationship between the functional units based on a preset integration relationship, and the root functional logic identification is used to represent the first functional logic executed; the attributes of the functional logic include at least: the identification of the functional logic, the identification of the parent functional logic of the functional logic, the identification of the functional unit to which the functional logic belongs, the development language type of the functional logic, the source code corresponding to the functional logic and the execution module identification, and the parent functional logic identification is used to determine the tree-like organizational relationship between the functional logics based on business requirements; the attributes of the data object include at least: the identification of the data object, the identification of the parent data object of the data object, the identification of the functional unit to which the data object belongs and the member list of the data object, and the parent data object identification is used to determine the tree-like organizational relationship between the data objects based on business requirements.
[0061] Exemplarily, the functional unit identifier is a unique identifier of the functional unit, which is used to distinguish different functional units; the parent functional unit identifier of the functional unit is used to uniquely identify the parent functional unit to which the functional unit belongs. Based on the preset integration relationship, the tree-shaped organizational relationship between functional units can be determined according to the parent functional unit identifier to form nested calls between functional units. The root functional logic identifier contained in the functional unit is used to uniquely identify the first functional logic executed in the functional unit. The functional unit and its contents are moved, published, deployed and traded as a whole.
[0062] The identifier of the functional logic is a unique identifier of the functional logic, which is used to distinguish different functional logics; the identifier of the parent functional logic of the functional logic is used to uniquely identify the parent functional logic to which the functional logic belongs, and the tree-like organizational relationship between the functional logics can be determined based on business needs and the parent functional logic identifier; the identifier of the functional unit to which the functional logic belongs is used to uniquely identify the functional unit to which the functional logic belongs, and the inclusion relationship between the functional unit and the functional logic is recorded by recording the identifier of the functional unit to which the functional logic belongs; the development language type of the functional logic is, for example, Java (an object-oriented programming language); the source code corresponding to the functional logic is the source code that implements the business function corresponding to the functional unit; the execution module identifier corresponding to the functional logic is used to uniquely identify the execution module that executes the functional logic. Figure 3 A schematic diagram of the functional logic provided by an embodiment of the present application, such as Figure 3 As shown, function logic-a is the root function logic of the function unit, and is also the parent function logic of function logic-b and function logic-c, while function logic-c is the parent function logic of function logic-d. Figure 3 The parent-child relationship between the functional logics is shown, and the parent-child relationship constitutes a tree-shaped organizational relationship between the functional logics.
[0063] The identifier of a data object is a unique identifier of the data object and is used to distinguish different data objects. The identifier of the parent data object of a data object is used to uniquely identify the parent data object to which the data object belongs. Based on business needs, the tree-like organizational relationship between data objects can be determined according to the identifier of the parent data object. The identifier of the functional unit to which the data object belongs is used to uniquely identify the functional unit to which the data object belongs. The inclusion relationship between the functional unit and the data object is recorded by recording the identifier of the functional unit to which the data object belongs. The member list of a data object is the specific data object. Figure 4 A schematic diagram of a data object provided in an embodiment of the present application, such as Figure 4 As shown, data object-m is the parent data object of data object-n, and data object-n is the parent data object of data object-x, data object-y and data object-z. Figure 4The parent-child relationship between the data objects is shown, and the parent-child relationship constitutes a tree-shaped organizational relationship between the data objects.
[0064] Based on the above example, Figure 5 A schematic diagram of a functional unit provided in an embodiment of the present application, such as Figure 5 As shown, functional unit-2 contains functional unit-1, and functional unit-1 can be understood as a root functional unit. Functional unit-1 is the parent functional unit of other functional units-1 and other functional units-2. Figure 5 It shows the parent-child relationship between functional unit-1 and other functional units-1 and other functional units-2, which constitutes a tree-shaped organizational relationship between the functional units; functional unit-2 also includes other functional units-3; functional unit-2 also includes functional logic-1, which is the parent functional logic of functional logic-2 and functional logic-3; functional unit-2 also includes data object-1, which is the parent data object of data object-2.
[0065] In this embodiment, the development module 210 is used to manage the development of the functional unit and obtain the developed functional unit. Optionally, the development module 210 includes a development space, a development warehouse and a deployment warehouse. The development space is used to provide a development environment for the functional unit and receive development information of the functional unit. The development warehouse is used to share and store the developed functional unit obtained based on the development information. The deployment warehouse is used to receive deployment data corresponding to the developed functional unit.
[0066] It can be understood that the development module 210 may include three storage categories: development space, development warehouse and deployment warehouse. Among them, the development space is the developer's personal development space, which can also be called a studio. The developer can log in to the studio to carry out development and editing work, and can move data such as functional units between the studio and the development warehouse with permissions. The development warehouse is a space for sharing and storing public development results, such as developed functional units, functional logic or data objects, etc., which can be controlled by assigning permissions to developers. Developers with permissions can put data such as developed or shared functional units into the development warehouse for use by other developers, that is, functional units can be shared between different developers. The deployment warehouse is a space for storing deployment data, which can be controlled by assigning permissions to developers. Users with permissions can publish functional units and control the deployment, operation and reverse deployment of functional units.
[0067] The execution module 220 is responsible for the execution of the functional unit. Specifically, it responds to the deployment instruction for the developed functional unit, receives the deployment data corresponding to the developed functional unit, and executes the functional unit. When executing the functional unit, for example, the state of the data object can be stored in the database module, or the state of a specific data object in the database module can be queried, modified, added, deleted or subscribed to to control the execution of the corresponding functional logic.
[0068] Optionally, the execution module 220 executes the functional unit, which may include: determining the root functional unit according to the parent functional unit identifier; running the root functional logic and sub-functional logic contained in the root functional unit, and running the root functional logic and sub-functional logic contained in the sub-functional unit, wherein the root functional logic is determined according to the parent functional logic identifier.
[0069] Exemplarily, when executing a functional unit, the execution module 220 may determine the root functional unit according to the parent functional unit identifier, and sequentially run the root functional logic and sub-functional logic contained in the root functional unit, and run the root functional logic and sub-functional logic contained in the sub-functional unit, according to the tree-shaped organizational relationship formed by the root functional unit and the sub-functional units contained in the root functional unit. The root functional logic may obtain the functional unit to which it belongs according to the unique identifier of the recorded functional unit, thereby accessing the content data (such as sub-functional units, sub-functional logic or data objects, etc.) contained in the functional unit.
[0070] Optionally, the execution module 220 is further configured to output the operation status in response to a query and / or subscription instruction on the operation status of the execution module 220 and the developed functional unit, so as to maintain the normal operation of the functional unit based on the operation status.
[0071] Exemplarily, when executing a functional unit, the execution module 220 can output the operating status in response to a query and / or subscription instruction on the operating status of the execution module 220 and the functional unit. That is, by monitoring the operating conditions of the execution module 220 and the functional unit, timely intervention can be made in the operation of the execution module 220 and the functional unit (such as adjusting system resources, etc.) to achieve the expected system performance and maintain the normal operation of the functional unit.
[0072] The application life cycle management system provided by the embodiment of the present application includes a development module and an execution module; the development module manages the development of the functional unit and obtains the developed functional unit, which is a container for application data organization; the execution module responds to the deployment instructions for the developed functional unit, receives the deployment data corresponding to the developed functional unit, and executes the functional unit. Since the embodiment of the present application performs unified modeling of the application based on the unified modeling rules of the functional unit, and manages the application throughout its life cycle through the development module and the execution module based on the modeling rules, rather than managing the application throughout its life cycle based on the code management method, it can effectively improve the efficiency of the application life cycle management and has higher ease of use.
[0073] Based on the above embodiments, the embodiment of the present application further illustrates the application lifecycle management system 200. Figure 6 A schematic diagram of an application lifecycle management system provided by another embodiment of the present application is shown in FIG. Figure 6 As shown, the application lifecycle management system 200 of the embodiment of the present application may further include: a database module 230, a distribution transaction module 240 and a client 250 based on the development module 210 and the execution module 220. Among them:
[0074] The database module 230 is used to store the status of the data object corresponding to the functional unit when the execution module 220 executes the functional unit; and / or to provide the status of the data object corresponding to the functional logic to realize data interaction and behavior control between the functional logics.
[0075] The distribution and transaction module 240 is used to respond to a sharing and / or transaction request for a developed functional unit and provide sharing and / or transaction services for the developed functional unit so as to use the developed functional unit for iterative integration of new functional units.
[0076] The client 250 is used to provide an operation interface corresponding to the functional unit to achieve full life cycle management of the functional unit.
[0077] In this embodiment, when executing the functional unit, the execution module 220 supports access to the database module 230 in the form of adding, deleting, modifying, querying or subscribing. Specifically, when the execution module 220 executes the functional unit, the state of the data object corresponding to the functional unit can be stored, such as the future state, real-time state and historical state of the data object; or, the functional logic can realize data interaction and behavior control between the functional logics through the database module 230, such as controlling the execution of the functional logic by querying or subscribing to the state of specific data redemption in the database module 230. The distribution transaction module 240 can realize the sharing or transaction of functional units between systems, thereby realizing the sharing of achievements, and can use existing achievements to iteratively integrate new and more complex functional units, realize the reuse of functional units, without having to repeatedly develop the same functional units, and improve development efficiency. The client 250 can provide developers with an operation interface corresponding to the functional unit to realize the integrated development and operation and maintenance monitoring and control of the functional unit. The execution module 220 supports the client 250 to monitor and control the operation of the functional unit deployed and run by the execution module 220.
[0078] The application life cycle management system provided by the embodiment of the present application includes a development module and an execution module, and also includes a database module, a distribution transaction module and a client. Through the database module, the state of the data object corresponding to the functional unit can be stored when the execution module executes the functional unit; and / or, it is used to provide the state of the data object corresponding to the functional logic to realize data interaction and behavior control between the functional logics; through the distribution transaction module, it can respond to the sharing and / or transaction request of the developed functional unit, and provide the sharing and / or transaction service of the developed functional unit, so as to use the developed functional unit for the iterative integration of the new functional unit; through the client, the operation interface corresponding to the functional unit can be provided to realize the full life cycle management of the functional unit. The embodiment of the present application is based on the unified modeling rules of the functional unit, which can effectively improve the efficiency of the full life cycle management of the application, and has higher ease of use and better versatility; and based on the better confidentiality when reusing or trading the functional unit, it can be more convenient to integrate the functional unit, so as to quickly enrich the application ecology.
[0079] Based on the above embodiments, Figure 7 The flowchart of the application life cycle management method provided in one embodiment of the present application is applied to the application life cycle management system including the development module and the execution module as in any of the above embodiments. Figure 7 As shown, the method of the embodiment of the present application includes:
[0080] S701. A development module obtains development information of a function unit to be developed. The development of the function unit to be developed is based on other function units shared in the development module.
[0081] For example, a developer can log in to the client, develop functional units, functional logic, data objects, etc. in his own development space, and debug in the development space. During the development process, the developer can obtain other shared functional units from the development module according to business needs, thereby reusing other functional units to improve development efficiency. Accordingly, the development module can obtain the development information of the functional unit to be developed, such as the developed functional unit, functional logic, data object, etc.
[0082] S702: The development module obtains the developed functional unit based on the development information.
[0083] Exemplarily, when the development of a functional unit is completed, the development module can obtain the developed functional unit based on the development information of the functional unit to be developed. The developer can transfer the developed functional unit to the development warehouse to share the developed functional unit, or put the developed functional unit into the distribution transaction module to trade the developed functional unit. The developer can obtain the changes in the data in the development warehouse by querying or subscribing. When it is determined that the functional unit has been delivered, the developed functional unit can be published to the deployment warehouse to deploy the functional unit to the execution module.
[0084] S703: The execution module deploys the developed functional unit to the execution module in response to the deployment instruction for the developed functional unit.
[0085] Exemplarily, a developer may deploy the developed functional unit to an execution module.
[0086] S704: The execution module executes the developed functional unit.
[0087] In this step, after receiving the deployment data corresponding to the developed functional unit, the execution module executes the developed functional unit.
[0088] Optionally, the application lifecycle management method provided by the embodiment of the present application may also include: the execution module outputs the running status in response to the query and / or subscription instructions on the running status of the execution module and the developed functional unit, so as to maintain the normal operation of the functional unit based on the running status.
[0089] Exemplarily, when executing a functional unit, the execution module can monitor the operation of the execution module and the functional unit and intervene in the operation of the execution module and the functional unit in a timely manner (such as adjusting system resources, etc.) to achieve the expected system performance and maintain the normal operation of the functional unit.
[0090] The application lifecycle management method provided in the embodiment of the present application is applied to the application lifecycle management system including a development module and an execution module as in any of the above embodiments; the development information of the functional unit to be developed is obtained through the development module, and the development of the functional unit to be developed is based on other functional units shared in the development module; the development module obtains the developed functional unit based on the development information; the execution module deploys the developed functional unit to the execution module in response to the deployment instruction for the developed functional unit; the execution module executes the developed functional unit. In the embodiment of the present application, the application lifecycle management is performed based on the application lifecycle management system including a development module and an execution module, wherein the application is uniformly modeled based on the unified modeling rules of the functional unit, which can effectively improve the efficiency of the application lifecycle management and has higher ease of use.
[0091] Figure 8 A business scenario diagram of an application life cycle management system provided by an embodiment of the present application. Figure 8 As shown in the figure, in this business scenario, the following steps are used to complete the development, debugging, trading, deployment, operation and maintenance of the application:
[0092] 1. Developers log in to the client and develop and edit functional units, functional logic, data objects, etc. in their own development space (i.e. studio).
[0093] 2. Developers access the development warehouse, obtain other shared functional units, and use other functional units for the development of their own functional units.
[0094] 3. Debug and deploy the functional unit to the execution module.
[0095] 4. Developers move the developed results, including functional units, to the development warehouse.
[0096] For the above four steps, for example, refer to Figure 8, developer 1 logs in on the client, develops and edits functional units, functional logic, data objects, etc. in his own development space (i.e., studio), where he can access the development warehouse to obtain other shared functional units, or purchase other functional units or import other shared functional units through the distribution transaction module (i.e., execute step 10); debug in the development space. During debugging, developer 1 deploys the functional unit to be debugged to the corresponding execution module for debugging and running to see whether the function meets expectations normally; after debugging, the debugged functional unit is reversed (stopped and deleted) through the execution module, and then the developed results are moved to the designated development warehouse. Developer 2 develops another functional unit in his own studio. The development steps are similar to those of developer 1, but in the development process, it is necessary to use the functional unit developed by developer 1 and find a suitable functional unit from the distribution transaction module, and integrate these two functional units into the functional unit developed by himself to realize the required functions. After the development and debugging are completed, the results are transferred to the corresponding development warehouse, and then the functional unit is sold through the distribution transaction module or the functional unit is shared to the distribution transaction module in the form of export (i.e., execute step 11). The development steps of Developer 3 are similar to those of Developer 1, but Developer 3 needs to transfer the functional unit developed by Developer 2 to his own studio for further adjustment and improvement to meet production requirements. After the development is completed, the developed functional unit will be transferred back to the development warehouse.
[0097] 5. Developers release developed functional units.
[0098] 6. Deployment control functional unit operation.
[0099] Based on the example of steps 1 to 4 above, operation and maintenance personnel 1 obtains changes in data in the development warehouse by querying or subscribing. When it is found that the functional unit developed by developer 3 has been delivered, the functional unit is published to the deployment warehouse, and then the functional unit is deployed to the execution module to run the functional unit.
[0100] 7. Run the deployment function unit to the execution module.
[0101] 8. Access the status of data objects in the database module.
[0102] Exemplarily, after receiving the deployment data, the execution module will run the root function logic of the root function unit. The root function logic obtains the function unit to which it belongs according to the unique identifier of the recorded function unit, thereby accessing the content data (sub-function unit, function logic or data object, etc.) contained in the function unit. It can also access the function logic tree to control the life cycle of other function logics. It can also access the data object of the function unit and store the state of the data object (such as by adding, deleting, querying, modifying and subscribing) in the database module. The database module can be used to realize data interaction and behavior control between function logics (such as controlling the execution of function logic by querying or subscribing to the state of specific data objects in the database module).
[0103] 9. Operation and maintenance personnel monitor or control the operating status of execution modules and functional units through the client.
[0104] Exemplarily, the operation and maintenance personnel 2 log in to the client, query and subscribe to the running status of the execution module itself and the running status of the deployed functional units to monitor the running status, and intervene in the running to achieve the expected system performance.
[0105] 10. Purchase functional units or import shared functional units through the distribution transaction module.
[0106] 11. Sell the functional units through the distribution transaction module or share (export) the functional units to the distribution transaction module.
[0107] The following is an embodiment of the device of the present application, which can be used to execute the embodiment of the method of the present application. For details not disclosed in the embodiment of the device of the present application, please refer to the embodiment of the method of the present application.
[0108] Fig. 9 The schematic diagram of the structure of the application life cycle management device provided in one embodiment of the present application is applied to the application life cycle management system including the development module and the execution module as in any of the above embodiments. Fig. 9 As shown, the application lifecycle management device 900 of the embodiment of the present application includes: a first acquisition module 901, a second acquisition module 902, a first processing module 903 and a second processing module 904.
[0109] in:
[0110] The first acquisition module 901 is used to acquire development information of a function unit to be developed. The development of the function unit to be developed is based on other function units shared in the development module.
[0111] The second acquisition module 902 is used to obtain the developed functional unit based on the development information.
[0112] The first processing module 903 is used to deploy the developed functional unit to the execution module in response to the deployment instruction for the developed functional unit.
[0113] The second processing module 904 is used to execute the developed functional unit.
[0114] In some embodiments, the second processing module 904 may also be used to: in response to a query and / or subscription instruction on the running status of the execution module and the developed functional unit, output the running status to maintain the normal operation of the functional unit based on the running status.
[0115] The device of the present application can be used to execute the technical solution of any of the above-mentioned method embodiments, and its implementation principle and technical effects are similar, which will not be repeated here.
[0116] Fig.10 This is a schematic diagram of the structure of an electronic device provided by an embodiment of the present application. Fig.10 As shown, the electronic device 1000 may include: at least one processor 1001 and a memory 1002 .
[0117] The memory 1002 is used to store programs. Specifically, the programs may include program codes, and the program codes include computer-executable instructions.
[0118] The memory 1002 may include a high-speed random access memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory.
[0119] The processor 1001 is used to execute the computer-executable instructions stored in the memory 1002 to implement the application lifecycle management method described in the aforementioned method embodiment. Among them, the processor 1001 may be a central processing unit (CPU), or an application-specific integrated circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application. Specifically, when implementing the application lifecycle management method described in the aforementioned method embodiment, the electronic device can be, for example, an electronic device with processing functions such as a terminal and a server.
[0120] Optionally, the electronic device 1000 may further include a communication interface 1003. In a specific implementation, if the communication interface 1003, the memory 1002 and the processor 1001 are implemented independently, the communication interface 1003, the memory 1002 and the processor 1001 may be interconnected through a bus and communicate with each other. The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus may be divided into an address bus, a data bus, a control bus, etc., but it does not mean that there is only one bus or one type of bus.
[0121] Optionally, in a specific implementation, if the communication interface 1003, the memory 1002 and the processor 1001 are integrated on a chip, the communication interface 1003, the memory 1002 and the processor 1001 can communicate through an internal interface.
[0122] The present application also provides a computer-readable storage medium, in which computer program instructions are stored. When a processor executes the computer program instructions, the above-mentioned application full life cycle management method is implemented.
[0123] The present application also provides a computer program product, including a computer program, which implements the above-mentioned application full life cycle management method when executed by a processor.
[0124] The computer-readable storage medium mentioned above can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk. The readable storage medium can be any available medium that can be accessed by a general or special-purpose computer.
[0125] An exemplary readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in a dedicated integrated circuit. Of course, the processor and the readable storage medium can also exist as discrete components in the application lifecycle management device.
[0126] Those skilled in the art can understand that all or part of the steps of implementing the above-mentioned method embodiments can be completed by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, the steps of the above-mentioned method embodiments are executed; and the aforementioned storage medium includes: ROM, RAM, disk or optical disk and other media that can store program codes.
[0127] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein with equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present application.
Claims
1. An application life cycle management system, characterized in that: include: Development modules and execution modules; The development module is used to manage the development of the functional unit and obtain the developed functional unit, wherein the functional unit is a container for application data organization; The execution module is used to respond to the deployment instruction for the developed functional unit, receive the deployment data corresponding to the developed functional unit, and execute the functional unit.
2. The application life cycle management system according to claim 1, characterized in that: The development module includes a development space, a development warehouse and a deployment warehouse. The development space is used to provide a development environment for the functional unit and receive development information of the functional unit. The development warehouse is used to share and store developed functional units obtained based on the development information. The deployment warehouse is used to receive deployment data corresponding to the developed functional unit.
3. The application life cycle management system according to claim 2, characterized in that: The functional unit includes sub-functional units, functional logic and data objects; the sub-functional units are other functional units integrated into the functional unit based on a preset integration relationship, and the other functional units include developed functional units shared by the development warehouse; the functional unit implements the corresponding business function of the functional unit through the corresponding functional logic, and the data object is used to store the corresponding status attribute value of the functional unit.
4. The application lifecycle management system according to claim 3, characterized in that: The attributes of the functional unit include at least: an identifier of the functional unit, an identifier of a parent functional unit of the functional unit, and an identifier of a root functional logic contained in the functional unit, wherein the identifier of the parent functional unit is used to determine a tree-like organizational relationship between functional units based on the preset integration relationship, and the identifier of the root functional logic is used to indicate the first functional logic to be executed; The attributes of the functional logic include at least: the identifier of the functional logic, the identifier of the parent functional logic of the functional logic, the identifier of the functional unit to which the functional logic belongs, the development language type of the functional logic, the source code corresponding to the functional logic and the identifier of the execution module, wherein the identifier of the parent functional logic is used to determine the tree-shaped organizational relationship between the functional logics based on business requirements; The attributes of the data object include at least: the identifier of the data object, the identifier of the parent data object of the data object, the identifier of the functional unit to which the data object belongs, and the member list of the data object. The parent data object identifier is used to determine the tree-like organizational relationship between data objects based on the business requirements.
5. The application lifecycle management system according to claim 4, characterized in that: The executing function unit comprises: Determine a root functional unit according to the parent functional unit identifier; The root function logic and the sub-function logic included in the root function unit are run, and the root function logic and the sub-function logic included in the sub-function unit are run, wherein the root function logic is determined according to the parent function logic identifier.
6. The application lifecycle management system according to claim 5, characterized in that: The execution module is also used to respond to a query and / or subscription instruction on the operation status of the execution module and the developed functional unit, and output the operation status to maintain the normal operation of the functional unit based on the operation status.
7. The application lifecycle management system according to claim 6, characterized in that: It also includes a database module, which is used to store the status of the data object corresponding to the functional unit when the execution module executes the functional unit; and / or, to provide the status of the data object corresponding to the functional logic to achieve data interaction and behavior control between the functional logics.
8. The application lifecycle management system according to any one of claims 1 to 7, characterized in that: It also includes a distribution and transaction module for providing sharing and / or transaction services for the developed functional units in response to sharing and / or transaction requests for the developed functional units, so as to use the developed functional units for iterative integration of new functional units.
9. The application lifecycle management system according to any one of claims 1 to 7, characterized in that: It also includes a client, which is used to provide an operation interface corresponding to the functional unit to achieve full life cycle management of the functional unit.
10. A method for managing the entire life cycle of an application, characterized in that: The application lifecycle management method is applied to an application lifecycle management system including a development module and an execution module as described in any one of claims 1 to 9, and the application lifecycle management method includes: The development module acquires development information of a function unit to be developed, and the development of the function unit to be developed is based on other function units shared in the development module; The development module obtains the developed functional unit based on the development information; The execution module deploys the developed functional unit to the execution module in response to the deployment instruction for the developed functional unit; The execution module executes the developed functional unit.
11. The application lifecycle management method according to claim 10, characterized in that: Also includes: The execution module outputs the operation status in response to a query and / or subscription instruction on the operation status of the execution module and the developed functional unit, so as to maintain the normal operation of the functional unit based on the operation status.
12. An application life cycle management device, characterized in that: The application lifecycle management device is applied to an application lifecycle management system including a development module and an execution module as described in any one of claims 1 to 9, and the application lifecycle management device includes: A first acquisition module, used for acquiring development information of a function unit to be developed, wherein the development of the function unit to be developed is based on other function units shared in the development module; A second acquisition module, used for acquiring a developed functional unit based on the development information; A first processing module, configured to deploy the developed functional unit to the execution module in response to a deployment instruction for the developed functional unit; The second processing module is used to execute the developed functional unit.
13. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores computer program instructions, and when the computer program instructions are executed, the application life cycle management method according to claim 10 or 11 is implemented.