Deployment and Operation and Maintenance Method of Software System, Deployment and Operation and Maintenance System and Service Platform
By deploying dynamic component devices and shared storage media within the enterprise, combining remote network service platform to dynamically configure and monitor enterprise software systems, the problem of customization, management and maintenance of enterprise systems is solved, and low-cost system management and upgrades are achieved.
Patent Information
- Application Number
- CN202210819860.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-07-13
- Publication Date
- 2025-08-05
- Estimated Expiration
- 2042-07-13
AI Technical Summary
Customization, management, upgrade and maintenance challenges of enterprise systems, especially low-cost solutions for complex, changeable, performance and environment-sensitive software systems within the enterprise.
Deploy dynamic component devices, management devices and shared storage media in the client environment. The components are developed through the dynamic component devices, dynamically configured into an overall system, and monitor and control them through the management device. The shared storage media is used for dynamic loading, unloading and updating of components, and centralized operation and maintenance are carried out in combination with the remote network service platform.
It realizes low-cost customized enterprise system management, upgrade and maintenance, simplifies the system update process, and reduces the demand for on-site implementation personnel.
Smart Images

Figure CN115129327B_ABST
Abstract
Description
Technical Field
[0001] The present application belongs to the technical field of enterprise information construction, and in particular relates to a software system deployment and operation method, a deployment and operation system, and a service platform. Background Art
[0002] With the rapid development of fields like big data and artificial intelligence, as well as the advancement of enterprise informatization and digitization, business systems are becoming increasingly complex, and enterprises are beginning to accumulate vast amounts of data. To process this data, enterprises are beginning to introduce numerous complex technical frameworks. These complex businesses, massive amounts of data, and diverse technical frameworks are placing a heavy technical burden on enterprises.
[0003] On the other hand, due to concerns about data security, policies, and system connectivity, enterprises generally prefer to privately deploy their systems and data and are reluctant to adopt SaaS (Software as a Service) solutions. This results in a large number of software systems with complex and ever-changing business operations, sensitive performance and environments, and complex technical systems that require controlled deployment and maintenance within the enterprise.
[0004] These systems are often tied to the specific environment and business of the enterprise and require customized development. The development, maintenance and management of such complex customized 2B (i.e. B2B) systems have become difficult problems. The main problems are: customization makes it difficult to achieve R&D replication, the high complexity of the system gives rise to high requirements for technical level, the system needs to be constantly modified as the business and environment change, and continuous system maintenance is required, etc. All of these have brought difficulties to the development, maintenance and management of enterprise customized systems, and at the same time resulted in high costs and low returns. Private deployment within enterprises with complex technical systems, complex and diverse environments, and huge amounts of data means continuous consumption of on-site implementation personnel.
[0005] Therefore, how to at least to some extent solve the difficulties of enterprise system customization, management, upgrade and maintenance, realize low-cost customized enterprise systems, and / or manage, upgrade and maintain these systems running within the enterprise in a low-cost manner has become a technical problem that needs to be solved urgently. Summary of the Invention
[0006] In view of this, the present application provides a deployment and operation and maintenance method, deployment and operation and maintenance system and service platform for a software system. By deploying dynamic component devices in at least the client environment and cooperating with relevant management or auxiliary devices, the components are dynamically configured to form an overall system, the operating system is dynamically uninstalled and changed as a whole or in part as needed, and the system is centrally monitored and operated and controlled, so that the technical platform can perform operation and maintenance management of the enterprise's internal system at a lower cost, thereby solving the customization, management, upgrade and maintenance problems of the enterprise system at least to a certain extent.
[0007] The specific technical solutions are as follows:
[0008] A software system deployment and operation method, applied to a client, wherein a dynamic component device, a management device, a download device, and a shared storage medium are deployed in an environment to which the client belongs. The dynamic component device is capable of developing and implementing required components based on a predefined fixed interface set, wherein references to external components and operations on referenced targets are represented by interfaces and interface methods defined in the fixed interface set, and services provided by the components to the outside world and the operations contained in the services are implemented as corresponding interfaces and interface methods in the fixed interface set;
[0009] The method comprises:
[0010] Utilizing the dynamic component device to load various components and configuration data required to constitute the software system from a specified location of the shared storage medium; wherein the shared storage medium is used to store the components and configuration data for constituting the software system downloaded by the downloading device;
[0011] assembling the components into an overall software system using the dynamic component device according to the configuration data, and running the assembled software system;
[0012] The management device is used to obtain monitoring data obtained by monitoring the running software system, and a control instruction is sent to the dynamic component device, so that the dynamic component device performs corresponding control on the running software system based on the control instruction.
[0013] Optionally, the method further includes:
[0014] During the operation of the software system, the dynamic component device is used to call the shared storage scanning component to scan the designated location of the shared storage medium, and at least part of the components and / or component associations and their corresponding configurations of the software system are dynamically updated according to the changes in the components and configuration data in the designated location.
[0015] Optionally, in the method:
[0016] When there are multiple dynamic component devices deployed in the environment to which the client belongs, the multiple dynamic component devices constitute a peer cluster running the same software system;
[0017] When the components and configuration data in the designated location of the shared storage medium change, the software systems running in all the dynamic component devices included in the peer cluster are synchronously and dynamically updated.
[0018] Optionally, using the management device to obtain monitoring data obtained by monitoring the running software system and issuing control instructions to the dynamic component device includes:
[0019] Utilizing the management device to discover each dynamic component device deployed in the environment to which the client belongs based on a preset service discovery protocol;
[0020] The management device is used to collect monitoring data obtained by monitoring the software system in each dynamic component device based on the corresponding monitoring interface, and to issue control instructions for the software system to each dynamic component device.
[0021] Optionally, the process of the downloading device downloading components and configuration data to the shared storage medium includes:
[0022] The downloading device downloads components and configuration data from the remote network according to preset downloading rules based on connectivity or limited connectivity with the remote network, and overwrites and updates the downloaded components and configuration data to the designated location of the shared storage medium.
[0023] Optionally, the downloading device is connected to a platform service provided by a service platform on a remote network via a first communication protocol;
[0024] The downloading device downloads components and configuration data from the remote network based on the connectivity or limited connectivity with the remote network according to a preset download rule, and updates the downloaded components and configuration data to the designated location of the shared storage medium, including:
[0025] The downloading device downloads the components and configuration data of the first designated location of the service platform through the platform service according to the preset download rules and updates them to the designated location of the shared storage medium, so as to realize the remote deployment and dynamic update of the software system running by the dynamic component device in the environment to which the client belongs.
[0026] Optionally, the components and configuration data of the first designated location of the service platform are: using the first network service provided by the service platform to screen components from the component set under the second designated location of the service platform, and configuring and assembling the screened components to obtain the components and configuration data for distribution and deployment.
[0027] Optionally, the management device connects to a second network service provided by the service platform via a second communication protocol; the method further includes:
[0028] Uploading the monitoring data to the service platform by using the management device through the second network service, so that the service platform displays system monitoring results based on the received monitoring data;
[0029] Utilizing the management device to issue a control instruction to the dynamic component device includes:
[0030] The management device is used to receive the control instruction sent by the second network service, and forward the control instruction to the dynamic component device.
[0031] Optionally, the components and configuration data downloaded by the downloading device from the service platform are components and configuration data that have been tested as correct by a third network service provided by the service platform;
[0032] The third network service tests whether the components and configuration data are correct by performing a system deployment test on the components and configuration data.
[0033] Optionally, different client users can store and use their own corresponding private component libraries and / or private system libraries on the service platform through the multi-tenant service provided by the service platform according to their respective permissions;
[0034] The components in the private component library are currently developed and uploaded components or components referenced from the public component library of the service platform;
[0035] The software system in the private system library is a system constructed by utilizing components in the corresponding private component library, components in the public component library, and / or a software system in the public system library of the service platform.
[0036] Optionally, the dynamic component device is a container device.
[0037] A software system deployment and operation method, applied to a server, comprising:
[0038] Obtaining the various components required to build or update a software system; wherein, references from the components to external components and operations on referenced targets are represented by interfaces and interface methods defined in a predefined fixed interface set, and the services provided by the components to the external world and the operations contained in the services are implemented as corresponding interfaces and interface methods in the fixed interface set;
[0039] Perform component configuration on each component and the association configuration between components to obtain component configuration data;
[0040] In response to selecting the software system as the system to be distributed, storing the components and their configuration data in a first designated location of the service platform corresponding to the server, waiting to be downloaded;
[0041] In response to a download instruction for the software system initiated by a download device deployed in the environment to which the client belongs, the components and configuration data of the software system at the first designated location are transmitted to a shared storage medium deployed in the environment to which the client belongs, so that the dynamic component device deployed in the environment to which the client belongs can dynamically assemble and deploy the software system or update the software system in operation based on the downloaded components and configuration data.
[0042] Optionally, the obtaining of components required for building or updating a software system, configuring each component and configuring associations between components, and obtaining component configuration data may include:
[0043] Components are filtered from the components under the second designated location of the service platform using the first network service provided by the service platform, and component configuration and association configuration between components are performed on the filtered components.
[0044] Optionally, the platform service provided by the service platform is connected to a download device deployed in the environment to which the client belongs through a first communication protocol; and in response to a download instruction for the software system initiated by the download device deployed in the environment to which the client belongs, transmitting the components and configuration data of the software system at the first designated location to a shared storage medium deployed in the environment to which the client belongs, includes:
[0045] In response to the download instruction for the software system initiated by the download device, the components and configuration data of the software system at the first designated location are transmitted and updated to the shared storage medium deployed in the environment to which the client belongs using the platform service.
[0046] Optionally, the second network service provided by the service platform is connected to a management device deployed in the environment to which the client belongs through a second communication protocol; the method further includes:
[0047] using the second network service to obtain monitoring data of the software system uploaded by the management device, so as to display system monitoring results based on the monitoring data;
[0048] The second network service is used to send a control instruction to the management device, so that the management device forwards the control instruction to the dynamic component device deployed in the environment to which the client belongs.
[0049] Optionally, before storing the software system in the first designated location of the service platform corresponding to the server, the method further includes:
[0050] The third network service of the service platform is used to perform system deployment testing on the components and configuration data of the software system.
[0051] A deployment and operation system is applied to a client, the deployment and operation system comprising: a dynamic component device, a management device, a download device and a shared storage medium deployed in an environment to which the client belongs;
[0052] The deployment and operation system is used to implement the deployment and operation method of the software system applied to the client as described in any one of the above items through the various components of the deployment.
[0053] A service platform is applied to a server side and is used to implement the deployment and operation method of the software system applied to the server side as described in any of the above items.
[0054] According to the above scheme, the present application deploys a dynamic component device at least in the remote environment corresponding to the client, and deploys a series of related management or auxiliary devices including management devices, downloading devices and shared storage media. On this basis, the components and configuration data used to constitute the software system are downloaded through the downloading device and updated to the shared storage medium. Various functional components are modularly developed through the dynamic component device, components are selected according to needs, and the components are configured and associated into an overall software system. The overall or partial components / component associations of the software system are dynamically uninstalled and changed according to changes in components and configuration data in the shared storage medium, and the software system is monitored and controlled through the management device.
[0055] In the present application, the software system is dynamically configured by components developed based on predefined fixed interfaces. The predefined fixed interfaces facilitate the development of highly cohesive, low-coupled, and easily reusable components. For system updates, the component loading / unloading and updating of the present application is an operation of a daemon thread within a process, which responds quickly and can implement system updates without the business being aware of it. The dynamic component device can be clustered and deployed in the client's environment to form a peer cluster running the same software system. The peer cluster deployed in the client's environment has a simple structure, is easy to install, and has little environmental dependence. It is easy to dynamically update, manage, and maintain the system through the above-mentioned series of related management or auxiliary devices deployed. The present application solves the customization, management, upgrade, and maintenance problems of enterprise systems to a certain extent by centralizing the operation and maintenance of private systems distributed within various enterprises on a service platform. It can realize low-cost customized enterprise systems and manage, upgrade, and maintain these deployed systems in a low-cost manner. BRIEF DESCRIPTION OF THE DRAWINGS
[0056] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments or the description of the prior art. Obviously, the drawings described below are merely embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on the provided drawings without any creative work.
[0057] Figure 1 This is a structural diagram of the deployment and operation system provided by this application;
[0058] Figure 2 This is an example of a deployment architecture for deploying related devices in the client environment based on the deployment and operation system provided by this application;
[0059] Figure 3 This is the implementation process of deploying various related devices in the client environment provided by this application;
[0060] Figure 4 This is a flow chart of a deployment and operation method of a software system applied to a client provided by this application;
[0061] Figure 5 This is another flowchart of the deployment and operation method of the software system applied to the client provided by this application;
[0062] Figure 6 This is a schematic diagram of the main functional modules of the service platform provided by this application;
[0063] Figure 7 This is a diagram of the remote operation and maintenance service architecture of the service platform provided by this application;
[0064] Figure 8 This is a flow chart of a deployment and operation method of a software system applied to a server provided by this application;
[0065] Figure 9 This is the implementation process diagram of the system configuration phase in the server provided by this application;
[0066] Figure 10 This is the implementation process diagram of the system delivery phase in the server provided by this application;
[0067] Figure 11 This is another flowchart of the deployment and operation method of the software system applied to the server provided by this application;
[0068] Figure 12 This is an implementation process diagram of the remote monitoring stage in the server provided by this application. DETAILED DESCRIPTION
[0069] The following will be combined with the drawings in the embodiments of this application to clearly and completely describe the technical solutions in the embodiments of this application. Obviously, the embodiments described are only part of the embodiments of this application, not all of the embodiments. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.
[0070] The present application discloses a software system deployment and operation and maintenance method, deployment and operation and maintenance system and service platform, which are used to solve the customization, management, upgrade and maintenance problems of enterprise systems to at least a certain extent, realize low-cost customized enterprise systems, and manage, upgrade and maintain these remotely deployed systems in a low-cost manner.
[0071] The disclosed deployment and operation system is specifically a deployment and operation system for a software system, which can be applied to a client. The system has the following structure: Figure 1 As shown, it includes a dynamic component device 10, a shared storage medium 20, a download device 30, and a management device 40 deployed in the client environment (eg, the internal private environment of the enterprise corresponding to the client).
[0072] The dynamic component device 10 can modularly load various functional components, select components as needed, configure and associate components into an overall software system and run the software system, and can also dynamically uninstall and change the entire or partial components of the software system.
[0073] In an embodiment of the present application, the dynamic component device 10 provides the ability to scan and access shared storage (including but not limited to shared file directories, redis, memcache, mangodb and relational databases, etc.) media 20, and can load components and configuration data at a specified location on the shared storage medium 20. It can also dynamically uninstall and change the entire or partial components of the software system according to changes in the components and configuration data at a specified location on the shared storage medium 20.
[0074] Furthermore, the dynamic component device is able to develop and implement the required components based on a predefined fixed interface set, wherein the component's references to the outside of the component and operations on the referenced targets are referred to using interfaces and interface methods defined in the fixed interface set, and the services provided by the component to the outside and the operations contained in the services are implemented as corresponding interfaces and interface methods in the fixed interface set.
[0075] This application specifically regards all things as resources and processes. Resources represent the static state of "things", and processes represent the dynamic state of "things". The calculation and processing of any system are regarded as the result of the process running on resources. Therefore, two types of interfaces, "resources" and "processes", are defined accordingly. That is, the fixed interfaces in the fixed interface set include at least "resource" class interfaces and "process" class interfaces.
[0076] Resources refer to the entities that store "thing" information, and processes refer to the operations that process "thing" information.
[0077] Optionally, considering that the abstract patterns of resources and processes may be difficult to cover scenarios, extended models can be further added in actual applications. Therefore, based on the two types of interfaces, "resources" and "processes", an extended interface can be added. These three types of interfaces together constitute a fixed interface set.
[0078] This application also constructs an abstract interaction model of things based on the defined fixed interface, standardizes and normalizes the boundaries and interaction modes of modules, realizes module (element or component) division / isolation, and develops modules (element or component) to form corresponding element library and component library.
[0079] Specifically, interfaces and methods in a pre-defined fixed interface set are used to express the association relationship between modules. The development of any module should follow the interface specification to ensure that modules can be combined through these interfaces. During the development process, any module needs to use these defined fixed interfaces and methods to express unknown parts that do not belong to this module (reference points where modules are coupled with external modules). If any module may be referenced by other modules, it is necessary to implement the defined corresponding fixed interfaces and methods. Independent modules can be developed, iterated and changed without interfering with each other by following the unified interface specification defined in this application.
[0080] That is to say, for any module, for references and operations that are not contained within this module (including but not limited to objects, methods or procedures, etc., these objects, methods or procedures usually point to other modules), one or more defined fixed interfaces and interface methods are used to refer to them; for any module, if services and operations (including but not limited to objects, methods or procedures, etc.) are provided to the outside of the module, these services and operations are implemented as one or more defined interfaces and methods.
[0081] Based on the defined inter-module relationships, these independent modules can be assembled into various integrated systems, allowing the assembled systems to be run in an operational device. Furthermore, based on the development of modules according to defined fixed interfaces to form a component library, components can be further developed and constructed based on the component library. By assembling the multiple components required to construct the components and configuring component metadata and inter-component relationships, the required components can be developed / constructed, forming a component library comprising a series of components. Software systems can then be developed based on the components in the component library and / or temporarily constructed components.
[0082] In the development of traditional microservices and OSGi, the dependencies between modules (such as elements or components) are established through interfaces or inter-process calls, and the interfaces are customized by each module according to its function or business, so there is actually a double coupling between development and runtime, which affects the practical value of the module. The modularization capability of components in this application comes from the isolation of components based on fixed interfaces, which regulates and standardizes the boundaries and interaction modes of modules (such as components), making it possible to develop a large number of independent components, which can be assembled at different levels to build a more complex and flexible system. Such components are more reusable and more suitable for building component warehouses, accumulating software assets and quickly building systems.
[0083] Optionally, the dynamic component device 10 is a container device.
[0084] The dynamic component device 10 can specifically be a Felix iPojo container or a similar OSGi (Open Service Gateway Initiative) environment that includes a basic component library and a basic component library. This application pre-develops a shared storage scanning component, which is loaded by default at startup by the dynamic component device 10. This component is used to scan the shared storage medium 20 and implement functions such as loading, unloading, and modifying components based on this shared storage scanning component.
[0085] Additionally, in actual applications, one or more dynamic component devices 10 may be deployed in the client environment as needed, without limitation. When multiple dynamic component devices 10 are deployed, the multiple dynamic component devices 10 scan the same designated location of the shared storage medium 20 using the shared storage scanning component. It will be readily understood that in this case, the multiple dynamic component devices 10 may form a peer-to-peer cluster running the same software system. Furthermore, when the components and configuration data at the designated location of the shared storage medium 20 change, the software systems running in all dynamic component devices 10 in the peer-to-peer cluster change synchronously.
[0086] The shared storage medium 20 is used to store the components and configuration data downloaded by the downloading device 30 for constituting (including building or updating) the software system.
[0087] When there are multiple dynamic component devices 10 , the shared storage medium 20 uniformly provides the multiple dynamic component devices 10 with components and configuration data required for constructing and / or dynamically updating the software system.
[0088] The downloading device 30 is used to download components and configuration data from a designated location according to a pre-set download rule, and overwrite and update the components and configuration data to the designated location of the shared storage medium 20 .
[0089] The download rules include, but are not limited to, periodic scanning, conditional triggering, and passive calling.
[0090] Optionally, the downloading device can be connected to a remote network (including but not limited to being in a border routing or DMZ area, etc.) or limitedly connected (including but not limited to through a proxy, restricted ports, restricted connection time, etc.) to download components and configuration data from the remote network based on the connection or limited connection with the remote network, and overwrite and update the downloaded components and configuration data to the designated location of the shared storage medium 20.
[0091] The management device 40 is used to monitor the dynamic component device 10. Specifically, it can discover each dynamic component device 10 in the cluster under the client environment through a certain service discovery protocol (including but not limited to the dynamic component device 10 actively reporting to the management device 40 or recording the IP address in a shared storage medium, etc.) and collect information about the software system in the device through the monitoring protocol and issue control instructions.
[0092] Optionally, the management device 40 can be connected to a remote network (including but not limited to being in a border routing or DMZ area, etc.) or limitedly connected (including but not limited to through a proxy, restricted ports, restricted connection time, etc.) to support remote monitoring and operation and maintenance control of the software system in the dynamic component device 10 through the management device 40.
[0093] When actually applying this application, a monitoring interface can be provided for the software system and its components in the dynamic component device 10 through a certain network protocol (including but not limited to jmx, http and https, etc.) during runtime, and various monitoring data obtained by monitoring the software system and its components can be provided to the caller through the monitoring interface. At the same time, the control interface functions required for various operation and maintenance controls of the software system in the dynamic component device 10 can also be provided through the monitoring interface.
[0094] The monitoring data mentioned above includes, but is not limited to, data such as the system status of the software system in the dynamic component device 10, the component association structure, component configuration information, and component operating status. Various operations and maintenance controls of the software system include, but are not limited to, system configuration, component loading and unloading, component debugging, log output, and component configuration updates.
[0095] Optionally, a monitoring interface based on the jmx protocol can be provided by configuring and packaging the iPojo component, and optionally, the monitoring interface based on the jmx protocol can be published in a restful manner through the http(s) protocol by loading the jolokia service.
[0096] See also Figure 2, provides a deployment architecture example for deploying related devices in the client environment based on the deployment and operation system of this application.
[0097] In this example, the "apparatus of the present application" (based on OSGI) represents the dynamic component apparatus 10, the "Redis / other shared storage" represents the shared storage medium 20, the "loader" represents the downloading apparatus 30, and the "manager" represents the management apparatus 40. There are multiple "apparatus of the present application" (dynamic component apparatus 10), constituting a peer cluster running the same software system, capable of sharing components and configuration data in the "Redis / other shared storage", and correspondingly capable of building and running the same software system based on the components and configuration data in the "Redis / other shared storage" or synchronously updating the running software system based on the update of the data in the "Redis / other shared storage", and utilizing the "manager" to obtain various monitoring data obtained by monitoring each software system in the cluster through the corresponding monitoring interface, and performing the required operation and maintenance control on each software system in the cluster as required, such as system configuration, component loading and unloading, component debugging, log output, and component configuration update.
[0098] See also Figure 3 , further targeting Figure 2 The deployment architecture provides an exemplary implementation process for deploying various related devices in the client environment, including:
[0099] 11) Select a device in the client environment to install and configure Redis (or other shared storage);
[0100] 12) Deploy the dynamic component device of this application on other devices in the client environment (such as Figure 3 "OSGi-based containers" in [1]);
[0101] The dynamic component device is based on hardware and software capable of running a Java environment and can be implemented as a Felix iPojo container or a similar OSGi environment that includes the basic component library and basic component library provided in this application. The basic component library is used to provide a series of common and universal components for configuration and assembly into required components, while the basic component library is used to provide common components for instantiation and some default component instances to provide platform services.
[0102] 13) Execute the startup command to start the container and load the default component instances and services;
[0103] Optionally, the startup command may be: java –cp lib / org.apache.felix.main.jarorg.apache.felix.main.Main command.
[0104] 14) Add the Redis IP address parameter to the startup command so that the component bundle and related configuration data at the specified location of the shared storage medium can be loaded into the container according to the IP address parameter. This information can also be loaded from other storage or other methods in an equivalent manner.
[0105] Component-related configuration data, including component instantiation configuration data and association configuration data used to associate different components to form an overall system.
[0106] Optionally, a basic component service provided by this application on the client can be used to scan the shared storage medium at a specified address by calling a shared storage scanning component, and load the config files such as the component bundle and instantiation configuration and associated configuration at the specified location of the shared storage medium into the container.
[0107] 15) Deploy the loader device, which also runs on the corresponding device in the client environment. Specifically, on the device, place the required components and configurations of the loader device in the specified directory, and configure the redis and remote network server addresses on the loader device;
[0108] 16) Deploy the manager device, which also runs on the corresponding device in the client environment. Specifically, on the device, place the required components and configurations of the manager device in the specified directory, and configure the redis and remote network server addresses on the manager device.
[0109] At this point, the deployment of various components of the deployment and operation and maintenance system in the enterprise's internal environment is completed. If capacity expansion is required in the future, dynamic component devices for capacity expansion can be further deployed on other devices in the enterprise's internal environment.
[0110] The deployment and operation method of the software system disclosed in this application is divided into two parts: a method flow applied to the client and a method flow applied to the server. Based on the above deployment and operation system, the deployment and operation method of the software system applied to the client disclosed in this application has the following processing flow: Figure 4 As shown, including:
[0111] Step 401: Use a dynamic component device to load various components and configuration data required to construct a software system from a specified location of a shared storage medium.
[0112] The shared storage medium is used to store components and configuration data used to constitute the software system downloaded by the downloading device. Optionally, the downloading device downloads components and configuration data from the remote network based on connectivity or limited connectivity with the remote network according to preset download rules (such as periodic scanning, conditional triggering, and passive invocation), and overwrites and updates the downloaded components and configuration data to a designated location on the shared storage medium.
[0113] In step 401, the shared storage scanning component pre-developed in this application may be loaded by default when the dynamic component device is started, and the specified location of the shared storage medium may be scanned based on the component, and the components and configuration data in the specified location may be loaded.
[0114] Optionally, the configuration data includes instantiation configuration data of the component and association configuration data between components.
[0115] Step 402: assemble the components into an overall software system using the dynamic component device according to the loaded configuration data, and run the assembled software system.
[0116] Specifically, the loaded components can be instantiated based on their instantiation configuration data (e.g., configuration data in an instantiation configuration file) to obtain component instances of each component. Based on this, the component instances can be further associated with each other based on the association configuration data between different components, thereby assembling the components into an integrated system to obtain the desired software system. The resulting software system can then be run in a dynamic component device (e.g., an OSGi-based container device).
[0117] When there are multiple dynamic component devices deployed in the environment to which the client belongs, the multiple dynamic component devices constitute a peer cluster running the same software system. In this case, the multiple dynamic component devices in the peer cluster can synchronously load the components and configuration data in the specified location of the shared storage medium, associate the various components into an overall system based on the loaded configuration data, and run the assembled overall system in their respective dynamic component devices.
[0118] Step 403: Use the management device to obtain monitoring data obtained by monitoring the running software system, and issue a control instruction to the dynamic component device, so that the dynamic component device performs corresponding control on the running software system based on the control instruction.
[0119] Among them, when the deployment of each dynamic component device in the environment to which the client belongs is completed, the management device discovers the deployed dynamic component devices based on the preset service discovery protocol. On this basis, when each dynamic component device completes the assembly of the software system and runs the software system, the management device collects monitoring data of the software system in each dynamic component device through the provided monitoring interface, including but not limited to collecting data such as the software system status, the association structure of the component, the configuration information of the component and the operating status of the component, so as to display the system monitoring results of the software system in each dynamic component device through the corresponding interface display device.
[0120] At the same time, control instructions for the software system of each dynamic component device can be issued according to needs, including but not limited to system configuration, component loading and unloading, component debugging, log output and component configuration update. The dynamic component device will perform corresponding control on the software system running within it based on the received control instructions, thereby realizing the operation and maintenance management of the software system.
[0121] In one embodiment, see Figure 5 The software system deployment and operation method flow chart shown in the figure, the software system deployment and operation method applied to the client disclosed in this application may also include:
[0122] Step 404: During the operation of the software system, the dynamic component device is used to call the shared storage scanning component to scan the designated location of the shared storage medium, and dynamically update at least some components and / or component associations of the software system and their corresponding configurations based on changes in the components and configuration data in the designated location.
[0123] When changes need to be made to the software system (such as upgrades), the components and related configuration data required to implement the changes can be overwritten and updated to the specified location of the shared storage medium through the download device, and the specified location of the shared storage medium can be scanned by calling the shared storage scanning component in the dynamic component device to detect changes in the components and related configuration data at the specified location. Then, based on the changes in the components and configuration data in the specified location of the shared storage medium, the entire or partial components / component associations of the software system can be dynamically uninstalled and changed.
[0124] Deleted components in the dynamic component device's container are uninstalled, while newly added or updated components and configurations are instantiated and connected (only the changed components and configurations are partially updated). Together with the unchanged parts of the system, they form a cohesive system, completing the software system update. New business logic and functionality are then executed for the updated software system.
[0125] When multiple dynamic component devices are deployed in the client environment and form a peer cluster running the same software system, if the components and configuration data in the specified location of the shared storage medium change, the software systems running in all dynamic component devices included in the peer cluster will be dynamically updated synchronously.
[0126] According to the above scheme, this application deploys a dynamic component device at least in the environment to which the client belongs, and deploys a series of related management or auxiliary devices such as management devices, downloading devices and shared storage media. On this basis, the components and configuration data used to constitute the software system are downloaded through the download device and updated to the shared storage medium. Various functional components are modularly developed through the dynamic component device, components are selected according to needs, and the components are configured and associated into an overall software system. The whole or part of the components / component associations of the software system are dynamically uninstalled and changed according to changes in the components and configuration data in the shared storage medium, and the software system is monitored and controlled through the management device.
[0127] In this application, the software system is dynamically configured by components developed based on predefined fixed interfaces, which facilitates the development of highly cohesive, low-coupling, and easily reusable components; for system updates, the component loading / unloading and updating of this application is an operation of a daemon thread within a process, which responds quickly and can achieve system updates without the business feeling; the dynamic component device can be clustered and deployed in the client's environment, and form a peer cluster running the same software system. The peer cluster deployed in the client's environment has a simple structure, is easy to install, and has little environmental dependence. It is easy to dynamically update, manage, and maintain the system through the above-mentioned series of related management or auxiliary devices deployed. Therefore, this application solves the customization, management, upgrade, and maintenance problems of enterprise systems to a certain extent, can realize low-cost customized enterprise systems, and manage, upgrade, and maintain these deployed systems in a low-cost manner.
[0128] In one embodiment, a remote network service platform for centralized operation and maintenance (hereinafter referred to as the "service platform") is optionally further introduced. The introduced service platform is the service platform disclosed in this application. This embodiment deploys the deployment and operation system of this application (dynamic component device, as well as a series of related management or auxiliary devices such as management device, download device, and shared storage medium) in the client environment, and then cooperates with the remote network service platform to achieve functions such as remote assembly, distribution and update of the software system, remote monitoring of system status, remote debugging, fault analysis, and system adjustment.
[0129] Accordingly, in this embodiment, the implementation of the solution is divided into two parts: one is the deployment and operation and maintenance system provided by this application, which is deployed in the enterprise's internal network environment and can include a container cluster running the enterprise software system and related management and monitoring devices; the other is the introduced remote network service platform, which is deployed in a remote public network environment and is mainly used to provide centralized operation and maintenance services. These two parts are interconnected, with the former being the client and the latter being the server.
[0130] It is easy to understand that the above two parts correspond to the deployment and operation methods of the software system disclosed in this application, which are respectively applied to the client and the server.
[0131] The remote network service platform can be a centralized multi-tenant SaaS service platform, with main functional modules such as Figure 6 As shown in the figure, it includes public component libraries, private component libraries, public system libraries, private system libraries, server-side test environments, data access interfaces, and interactive interfaces for system monitoring and command issuance. The public component library and public system library are component libraries and system libraries that can be shared by different clients, respectively, while the private component library and private system library are component libraries and system libraries that are only used by their tenants.
[0132] See also Figure 7 The remote operation and maintenance service architecture of the service platform shown in the figure includes but is not limited to the following remote operation and maintenance services:
[0133] 21) Platform Services
[0134] Specifically, the service platform of this embodiment can be implemented on a remote network, and network platform services, referred to as "platform services", can be provided on the service platform. The above-mentioned remote network can be but is not limited to the Internet, a public local area network or a virtual private network (VPN, Virtual Private Network), etc.
[0135] The platform service can connect with the download device deployed in the enterprise's internal environment according to the preset first communication protocol, so that the download device can download the components and configuration data under the first designated location of the remote network service platform according to the set rules (regular scanning, conditional triggering and passive calling, etc.), and overwrite and update them to the designated location of the shared storage medium in the client's environment, thereby supporting remote deployment, adjustment and updating of the system.
[0136] The first communication protocol based on which the platform service and the downloading device are connected may be, but is not limited to, http, socket, or websocket.
[0137] 22) First Network Service
[0138] Optionally, the service platform of this embodiment also provides a network service, which is referred to here as the "first network service". This service stores various components in the second designated location of the service platform, and can filter and use these components according to certain rules, and assemble them into components and configurations that can be used for distribution and deployment. Correspondingly, the components and configurations that can be used for distribution and deployment are stored in the above-mentioned first designated location of the service platform, waiting for the client to download.
[0139] That is to say, the components and configuration data of the first designated location of the service platform are specifically: using the first network service provided by the service platform to filter components from the component set under the second designated location of the service platform, and configuring and assembling the filtered components to obtain components and configuration data that can be used for distribution and deployment.
[0140] 23) Second Network Service
[0141] Optionally, the service platform of this embodiment also provides a network service that is different from the above-mentioned first network service, which is referred to here as the "second network service". This service can be connected to the management device deployed in the client environment according to a preset second communication protocol, so that the management device can upload the various monitoring data collected in the current private network to the remote server according to the set rules, and cooperate with the interface display device of the server to present the current system components, connection relationships, component configurations and operating status of the client software system.
[0142] At the same time, the remote server can send the required control instructions to the management device according to the set rules, and the management device will forward the control instructions to the dynamic component device in the client environment. The dynamic component device will then respond to the control instructions to perform corresponding control operations on the software system running inside it, such as remote debugging, fault tracking, log analysis, component configuration, etc.
[0143] The second communication protocol based on which the second network service connects with the management device in the environment to which the client belongs is a two-way communication protocol, which may be, but is not limited to, socket or websocket.
[0144] The rules based on which the management device uploads monitoring data to the remote server may be, but are not limited to, periodic uploading, conditional triggering, or passive calling.
[0145] 24) Third-party network services
[0146] Optionally, the service platform of this embodiment also provides a network service that is different from the first and second network services mentioned above, which is referred to here as the "third network service". This service provides a testing function for components and configurations, which can be used to test whether the components and configurations are correct / whether they are incorrect before the software system is released (that is, before the components and configurations used to constitute the software system are released).
[0147] The third network service may specifically test whether the components and configuration data are correct or incorrect by performing a system deployment test on the components and configuration data.
[0148] 25) Multi-tenant services
[0149] Optionally, this embodiment also provides multi-tenant services. Different tenants can store and use private component libraries and private system libraries on the service platform according to their permission configuration, and can use their own download devices and management devices to maintain and manage their own dynamic component devices, thereby realizing remote assembly, deployment and updating of part / whole components of the software system in the dynamic component device, remote monitoring of system status, remote debugging, fault analysis and system adjustment and other functions.
[0150] Among them, the components in the private component library can be components currently developed and uploaded or components referenced from the public component library of the service platform; the software system in the private system library can be a system built using components in the corresponding private component library, components in the public component library and / or referencing software systems in the public system library.
[0151] Optionally, based on the introduced remote network service platform, in the deployment and operation method of the software system applied to the client of the present application, the downloading device downloads components and configuration data from the remote network according to preset download rules based on connectivity or limited connectivity with the remote network, and overwrites and updates the downloaded components and configuration data to a designated location of the shared storage medium, which can be further implemented as follows:
[0152] According to the preset download rules, the downloading device downloads the components and configuration data of the first designated location of the service platform through the platform service on the service platform and updates them to the designated location of the shared storage medium to realize remote deployment and dynamic update of the software system in the environment to which the client belongs.
[0153] Optionally, based on the introduced remote network service platform, the deployment and operation method of the software system applied to the client in this application may also include: using the client's management device to upload the collected monitoring data to the service platform through the second network service of the service platform, so that the service platform can display the system monitoring results based on the received monitoring data.
[0154] In the deployment and operation method of the software system applied to the client, the management device is used to issue control instructions to the dynamic component device, which can be implemented as follows: the management device is used to receive the control instructions issued by the second network service and forward the control instructions to the dynamic component device.
[0155] Optionally, based on the introduced remote network service platform, in the deployment and operation method of the software system applied to the client, the components and configuration data downloaded by the downloading device from the service platform are components and configuration data that have been tested and found to be correct by the third network service provided by the service platform.
[0156] Optionally, based on the introduced remote network service platform, in the deployment and operation method of the software system disclosed in this application, different client users can store and use their corresponding private component libraries and / or private system libraries on the service platform through the multi-tenant service provided by the service platform according to their respective permissions.
[0157] In view of the remote network service platform introduced, the embodiment of the present application also discloses a deployment and operation method of the software system applied to the server. The processing process of the method is as follows: Figure 8 As shown, specifically including:
[0158] Step 801: Acquire various components required to construct or update a software system.
[0159] Among them, the component's reference to the outside of the component and the operations on the referenced target are referred to using the interfaces and interface methods defined in the predefined fixed interface set, and the services provided by the component to the outside and the operations contained in the services are implemented as the corresponding interfaces and interface methods in the fixed interface set.
[0160] Step 802: Perform component configuration on each component and configuration of associations between components to obtain component configuration data.
[0161] The software system deployment and operation process on the server side can be divided into three stages: system configuration, system delivery and remote monitoring. Steps 801-802 correspond to the system configuration stage, which mainly assembles and configures the software system through the component library provided by the service platform. For example, the implementation process of this stage is as follows: Figure 9 As shown, it can be implemented as follows:
[0162] 31) Select appropriate components from the component library provided by the service platform;
[0163] Optionally, suitable components required for assembling the software system may be selected from a public component library provided by the service platform and / or a private component library corresponding to the current client. Furthermore, a first network service provided by the service platform may be utilized to filter components from a set of public and / or private component libraries provided at a second designated location on the service platform, and then configure the filtered components.
[0164] 32) If there is no suitable component, develop the corresponding component and upload it to the platform's component library;
[0165] Among them, the developed components can be uploaded to the public component library and / or private component library of the platform according to the needs or the privacy level setting of the components.
[0166] 33) Use the platform’s interactive interface to drag, configure, and associate components to assemble the desired overall software system.
[0167] Optionally, the configuration of a component includes the instantiation configuration of the component's own parameters and the association configuration between components.
[0168] The service platform provides a graphical operating interface for configuring and associating components. For uploaded or selected components, its services, associations and configuration parameters can be analyzed based on their metadata, instantiation configuration, association configuration, etc., thereby automatically generating configuration files about components and associations, making it easier to assemble components into a complete software system.
[0169] In the process of assembling and configuring the software system, you can also select the required system from the public system library of the service platform according to your needs, and build and configure the currently required software system as a component of the current software system.
[0170] Optionally, after step 33), the following step 34) may be further performed:
[0171] 34) Apply for a platform test environment to perform system deployment testing on the components and configuration data of the software system; if the test results do not meet expectations (i.e., the components and configuration data are incorrect), return to step 33); otherwise, execute step 35 below;
[0172] Specifically, the third network service of the service platform can be used to perform system deployment testing on the selected software system.
[0173] 35) Save the configured components and associated configurations to the system library, and the system configuration is completed.
[0174] Among them, the components and configuration data of the configured software system can be saved in the public system library and / or private system library of the service platform according to the needs or the privacy level setting of the system.
[0175] Step 803: In response to selecting the software system as the system to be distributed, the obtained components and their configuration data are stored in a first designated location of the service platform corresponding to the server, waiting to be downloaded.
[0176] Step 804: In response to the download instruction for the above-mentioned software system initiated by the client, the components and configuration data of the software system at the first designated location of the service platform are transmitted to the client, so that the client can dynamically assemble and deploy the software system or update the running software system based on the downloaded components and configuration data.
[0177] Steps 803-804 correspond to the system delivery stage, which is used to deliver the components and configuration data of the software system required by the client to the client for system deployment or dynamic update. Specifically, it can respond to the download instruction for the required software system initiated by the download device in the client environment to the service platform, and use the platform service provided by the service platform to transmit and load or overwrite the components and configuration data of the software system to the shared storage medium deployed in the client environment.
[0178] For example, the implementation process of this stage is as follows Figure 10 As shown, it can be implemented as follows:
[0179] 41) Select and distribute the appropriate software system from the system library provided by the service platform;
[0180] 42) The components and associated configuration files involved in the selected system will be placed in the first designated location of the service platform, waiting to be downloaded;
[0181] 43) The client's download device will periodically poll for system updates;
[0182] 44) If so, the downloading device downloads these components and configuration data and clears the first designated location;
[0183] 45) The downloading device overwrites and updates these data to a designated location of the shared storage medium in the environment to which the client belongs;
[0184] 46) Each container device scans a designated location of the shared storage medium;
[0185] 47) Each container device loads these components and configuration data from the specified location of the shared storage medium, and assembles and runs the software system according to the loaded content, or dynamically loads or updates the component instances of the software system according to the changes in the components or configuration data in the specified location of the shared storage medium to complete the remote deployment or update of the software system.
[0186] In one embodiment, optionally, see Figure 11 The deployment and operation method of the software system applied to the server side of this application may also include the following processing:
[0187] Step 805: Using the second network service of the service platform, obtain monitoring data uploaded by the management device in the environment to which the client belongs, obtained by monitoring the software system, and display the system monitoring results based on the obtained monitoring data;
[0188] Step 806: Use the second network service of the service platform to send a control instruction to the management device in the client environment, so that the management device forwards the control instruction to the dynamic component device deployed in the client environment to trigger the corresponding control of the software system.
[0189] Steps 805-806 correspond to the remote monitoring phase, which is used to implement remote monitoring of the system status and component structure of the software system in the client environment, as well as remote debugging, fault analysis, system adjustment and other operation and maintenance management of the system.
[0190] For example, the implementation process of this stage is as follows Figure 12 As shown, it can be implemented as follows:
[0191] 51) The service platform sends a system structure query instruction to the management device connected to the platform;
[0192] 52) The management device calls the monitoring interface (usually a jmx or http interface) of each container (i.e., the dynamic component device) in the client's environment to query the components and associations of the container;
[0193] 53) The management device also calls the monitoring interface of each container in the environment to which the client belongs to query the running status information of the container;
[0194] 54) The management device reports this data as system monitoring data to the service platform;
[0195] 55) The service platform graphically presents system components, associations, operating status data and other information in the interactive interface based on the monitoring data reported by the management device;
[0196] 56) repeating steps 51) to 55) periodically to refresh the current system structure and operating status information of the software system in the client environment on the interactive interface;
[0197] 57) Optionally, if an operation is required on a component of the system (including but not limited to modifying component parameters, printing logs, debugging component interfaces, loading and unloading components, and analyzing faults), a corresponding control instruction is issued to a designated management device through the interactive interface; the management device controls the software system running in the container by forwarding the control instruction to the container;
[0198] 58) The management device queries the corresponding information of each container through the monitoring interface of each container, and then returns to step 54); the remote monitoring is completed until the interactive interface is closed.
[0199] In summary, the software system deployment and operation and maintenance method, deployment and operation and maintenance system, and service platform disclosed in this application have at least the following advantages over the common development and operation and maintenance methods of existing customized enterprise business systems:
[0200] 61) In terms of system architecture, the software system of this application is dynamically configured by components developed based on predefined fixed interfaces, which facilitates the development of highly cohesive, low-coupling, and easily reusable components. Various standardized components can be connected to various common technical frameworks, making them more stable and efficient.
[0201] 62) Usually, only customized business components need to be developed, which requires little development effort and high reuse.
[0202] 63) For system updates, the component loading and updating of this application is an in-process daemon thread operation, which responds quickly and can achieve system updates without the business being aware of it. It can also perform local adaptation and updates based on business or environmental changes, which is faster, more convenient, and saves resource consumption;
[0203] 64) As long as the download device in the system deployed in the client environment can access the remote network in some way, remote system deployment and updates can be performed;
[0204] 65) As long as the management device in the system deployed in the client environment can access the remote network in some way, the current system components, connection relationships, component configuration and operating status can be presented on the remote network service platform;
[0205] 66) The management device can also forward remote control instructions to the dynamic component device deployed in the client environment, thereby realizing remote debugging, fault tracking, log analysis and component configuration of the software system in the dynamic component device;
[0206] 67) Container clusters deployed within the enterprise have a simple structure, are easy to install, have few environmental dependencies, and are easy to manage and maintain.
[0207] 68) The remote network service platform can provide the above services to multiple clients simultaneously through multi-tenant services, and technical personnel can centrally update, maintain and manage the software systems remotely deployed by clients in various locations;
[0208] 69) Through the above methods, it is possible to achieve low-cost customized enterprise systems, take advantage of the scale advantages of centralized operation and maintenance, manage, upgrade and maintain these remotely deployed systems at low cost, and improve service quality and response efficiency.
[0209] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same and similar parts between the various embodiments can be referenced to each other.
[0210] For the convenience of description, the above systems or devices are described as being divided into various modules or units according to their functions. Of course, when implementing the present application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0211] Through the description of the above embodiments, it can be seen that those skilled in the art can clearly understand that the present application can be implemented by means of software plus a necessary general hardware platform. Based on this understanding, the technical solution of the present application, or the part that contributes to the prior art, can be embodied in the form of a software product, which can be stored in a storage medium such as ROM / RAM, a magnetic disk, an optical disk, etc., and includes a number of instructions for enabling a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present application or certain parts of the embodiments.
[0212] Finally, it should be noted that, in this document, relational terms such as first, second, third, and fourth are used only to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any actual relationship or order between these entities or operations. Moreover, the terms "comprises," "comprising," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements, but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article, or apparatus comprising the element.
[0213] The above is only a preferred embodiment of the present application. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principles of the present application. These improvements and modifications should also be regarded as the scope of protection of the present application.
Claims
1. A software system deployment and operation method, characterized in that: Applied to a client, wherein a dynamic component device, a management device, a download device, and a shared storage medium are deployed in an environment to which the client belongs. The dynamic component device can develop and implement required components based on a predefined fixed interface set, wherein references to external components and operations on referenced targets are represented by interfaces and interface methods defined in the fixed interface set, and services provided by the component to the outside and operations contained in the services are implemented as corresponding interfaces and interface methods in the fixed interface set; The method comprises: Utilizing the dynamic component device to load various components and configuration data required to constitute the software system from a specified location of the shared storage medium; wherein the shared storage medium is used to store the components and configuration data for constituting the software system downloaded by the downloading device; assembling the components into an overall software system using the dynamic component device according to the configuration data, and running the assembled software system; Using the management device to obtain monitoring data obtained by monitoring the running software system, and issuing control instructions to the dynamic component device, so that the dynamic component device performs corresponding control on the running software system based on the control instructions; During operation of the software system, the dynamic component device is used to call a shared storage scanning component to scan the designated location of the shared storage medium, and dynamically update at least some components and / or component associations of the software system and their corresponding configurations based on changes in components and configuration data in the designated location; When there are multiple dynamic component devices deployed in the environment to which the client belongs, the multiple dynamic component devices constitute a peer cluster running the same software system; When the components and configuration data in the designated location of the shared storage medium change, the software systems running in all the dynamic component devices included in the peer cluster are synchronously and dynamically updated.
2. The method according to claim 1, characterized in that The management device is used to obtain monitoring data obtained by monitoring the running software system, and a control instruction is issued to the dynamic component device, including: Utilizing the management device to discover each dynamic component device deployed in the environment to which the client belongs based on a preset service discovery protocol; The management device is used to collect monitoring data obtained by monitoring the software system in each dynamic component device based on the corresponding monitoring interface, and to issue control instructions for the software system to each dynamic component device.
3. The method according to claim 1, characterized in that The process of the downloading device downloading components and configuration data to the shared storage medium includes: The downloading device downloads components and configuration data from the remote network according to preset downloading rules based on connectivity or limited connectivity with the remote network, and overwrites and updates the downloaded components and configuration data to the designated location of the shared storage medium.
4. The method according to claim 3, characterized in that The downloading device is connected to a platform service provided by a service platform on a remote network via a first communication protocol; The downloading device downloads components and configuration data from the remote network based on the connectivity or limited connectivity with the remote network according to a preset download rule, and updates the downloaded components and configuration data to the designated location of the shared storage medium, including: The downloading device downloads the components and configuration data of the first designated location of the service platform through the platform service according to the preset download rules and updates them to the designated location of the shared storage medium, so as to realize the remote deployment and dynamic update of the software system running by the dynamic component device in the environment to which the client belongs.
5. The method according to claim 4, characterized in that The components and configuration data at the first designated location of the service platform are: components are screened from the components at the second designated location of the service platform using the first network service provided by the service platform, and the screened components are configured and assembled to obtain the components and configuration data for distribution and deployment.
6. The method according to claim 4, characterized in that The management device is connected to the second network service provided by the service platform through a second communication protocol; the method further includes: Uploading the monitoring data to the service platform by using the management device through the second network service, so that the service platform displays system monitoring results based on the received monitoring data; Utilizing the management device to issue a control instruction to the dynamic component device includes: The management device is used to receive the control instruction sent by the second network service, and forward the control instruction to the dynamic component device.
7. The method according to claim 4, characterized in that The components and configuration data downloaded by the downloading device from the service platform are components and configuration data that have been tested and found to be correct by a third network service provided by the service platform; The third network service tests whether the components and configuration data are correct by performing a system deployment test on the components and configuration data.
8. The method according to claim 4, characterized in that Different client users can store and use their own corresponding private component libraries and / or private system libraries on the service platform through the multi-tenant service provided by the service platform according to their respective permissions; The components in the private component library are currently developed and uploaded components or components referenced from the public component library of the service platform; The software system in the private system library is a system constructed by utilizing components in the corresponding private component library, components in the public component library, and / or a software system in the public system library of the service platform.
9. The method according to claim 1, characterized in that The dynamic component device is a container device.
10. A software system deployment and operation method, characterized in that: Applied to the server, the method includes: Obtaining the various components required to build or update a software system; wherein, references from the components to external components and operations on referenced targets are represented by interfaces and interface methods defined in a predefined fixed interface set, and the services provided by the components to the external world and the operations contained in the services are implemented as corresponding interfaces and interface methods in the fixed interface set; Perform component configuration on each component and the association configuration between components to obtain component configuration data; In response to selecting the software system as the system to be distributed, storing the components and their configuration data in a first designated location of the service platform corresponding to the server, waiting to be downloaded; In response to a download instruction for the software system initiated by a download device deployed in the client environment, the components and configuration data of the software system at the first designated location are transmitted to a shared storage medium deployed in the client environment, so that a dynamic component device deployed in the client environment can dynamically assemble and deploy the software system or update the running software system based on the downloaded components and configuration data; Wherein, during the operation of the software system, the shared storage scanning component is called by the dynamic component device to scan the shared storage medium, and at least part of the components and / or component associations of the software system and their corresponding configurations are dynamically updated according to changes in the components and configuration data of the software system in the shared storage medium; When there are multiple dynamic component devices deployed in the environment to which the client belongs, the multiple dynamic component devices constitute a peer cluster running the same software system; When corresponding components and configuration data in the shared storage medium change, the software systems running in all dynamic component devices included in the peer-to-peer cluster are synchronously and dynamically updated.
11. The method according to claim 10, characterized in that The obtaining of each component required for building or updating the software system, configuring each component and configuring the association between components, and obtaining component configuration data includes: Components are filtered from the components under the second designated location of the service platform using the first network service provided by the service platform, and component configuration and association configuration between components are performed on the filtered components.
12. The method according to claim 10, characterized in that The platform service provided by the service platform is connected to a download device deployed in the environment to which the client belongs through a first communication protocol; in response to a download instruction for the software system initiated by the download device deployed in the environment to which the client belongs, the components and configuration data of the software system at the first designated location are transmitted to a shared storage medium deployed in the environment to which the client belongs, including: In response to the download instruction for the software system initiated by the download device, the components and configuration data of the software system at the first designated location are transmitted and updated to the shared storage medium deployed in the environment to which the client belongs using the platform service.
13. The method according to claim 10, characterized in that The second network service provided by the service platform is connected to the management device deployed in the environment to which the client belongs through a second communication protocol; the method further includes: using the second network service to obtain monitoring data of the software system uploaded by the management device, so as to display system monitoring results based on the monitoring data; The second network service is used to send a control instruction to the management device, so that the management device forwards the control instruction to the dynamic component device deployed in the environment to which the client belongs.
14. The method according to claim 10, characterized in that Before storing the software system in the first designated location of the service platform corresponding to the server, the method further includes: The third network service of the service platform is used to perform system deployment testing on the components and configuration data of the software system.
15. A software system deployment and operation system, characterized in that: Applied to a client, the deployment and operation system includes: a dynamic component device, a management device, a download device, and a shared storage medium deployed in the environment to which the client belongs; The deployment and operation system is used to implement the deployment and operation method of the software system according to any one of claims 1 to 9 through the various components of the deployment.
16. A service platform, characterized in that: Applied to the server side, it is used to implement the deployment and operation method of the software system as described in any one of claims 10-14.
Citation Information
Patent Citations
Implementation method for dynamic allocation and dynamic construction technology of airborne distributed tasks
CN108228274A
Application management method based on micro-service architecture
CN112000448A