Method and device for developing and deploying SOA applications based on wasm
Through the wasm-based development and deployment method, the intrusion and resource utilization of the host environment in the existing technology is solved, and efficient and flexible SOA application deployment and management are achieved.
Patent Information
- Application Number
- CN202311341631.5
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-10-16
- Publication Date
- 2025-04-29
- Estimated Expiration
- 2043-10-16
AI Technical Summary
When developing and deploying SOA applications, the prior art is prone to invasive damage to the host environment and occupies a lot of resources, affecting performance such as startup and stop.
Adopting a wasm-based development and deployment method, communication and deployment between cloud servers and high-performance computers through wasm mirroring, avoiding direct deployment on the host, and managing and running through wasm orchestration modules, life cycle management modules, execution modules and runtime management modules.
It realizes SOA application deployment that does not invade the host environment, reduces resource usage, improves startup and stop performance, and supports multiple coding languages, improving developer flexibility.
Smart Images

Figure CN117289911B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the technical field of application development and deployment, and in particular to a method, apparatus, medium, computer equipment, and high-performance computer for vehicles for developing and deploying SOA applications based on wasm. Background Art
[0002] Usually, after developing an application (Application, APP), the developer deploys it to the domain controller on the vehicle to run the application on the vehicle. Multiple domain controllers and surrounding resources together form an HPC (High Performance Computer). Currently, the following three solutions are used to implement the above process.
[0003] Solution 1: After the developer completes code development and testing in the cloud, the code is compiled into binary, integrated into the new version of the software, and deployed to the SOC (System On Chip) of the domain controller and runs it. However, in this solution, the process is directly deployed on the host machine, causing invasive damage to the host machine environment. The static deployment and dynamic operation environment of the business on the host machine are intricate, and the business cannot be automatically managed.
[0004] Solution 2: After the developer completes code development and testing in the cloud, the compiled binary is packaged into a docker container. Then the docker container and the docker runtime engine need to be integrated into the new version of the software, and the new version of the software needs to be deployed to the domain controller's SOC and run. However, in this solution, the image is large, the docker runtime engine is also large, the static resources and dynamic running resources required are large, and the many useless functions in the engine also consume resources, which affects the stability / performance of other services and systems of the domain controller, and the performance of starting and stopping is low;
[0005] Solution 3: After the developer completes the code testing in the cloud, the compiled binary is deployed to a lightweight container, and then the lightweight container and lightweight container runtime are integrated into the new version of the software, and the new version of the software is deployed to the SOC of the domain controller and runs. However, in this solution, the image is large, and the lightweight runtime (runtime, such as runc), although much lighter than the docker engine, still occupies more resources and has lower performance such as starting and stopping. Summary of the invention
[0006] The embodiments of the present application provide a method, apparatus, medium, computer equipment and high-performance computer for developing and deploying SOA applications based on wasm, which can avoid causing invasive damage to the host environment, and avoid occupying more resources and affecting the performance of starting and stopping.
[0007] In a first aspect, an embodiment of the present application provides a method for developing and deploying SOA applications based on wasm, for a cloud server, wherein the cloud server includes an image repository, and the cloud server communicates with a high-performance computer on a vehicle, and the method includes:
[0008] Development and testing steps: developing and testing the SOA application based on wasm to obtain a wasm image corresponding to the SOA application;
[0009] Sending and authenticating steps, sending the wasm image to the image repository and authenticating it;
[0010] The deployment step is to send the authenticated wasm image to the high-performance computer for deployment according to user instructions.
[0011] In a possible implementation of the first aspect, the developing and testing steps include:
[0012] Preparation step, defining an integrated development environment supporting wasm, converting the SOA atomic services and composite services opened by the high-performance computer into wasm dynamic libraries, selecting a coding language based on the SOA atomic services and composite services, and installing a compiler corresponding to the coding language and supporting wasm;
[0013] Integration step, integrating the wasm dynamic library into the integrated development environment;
[0014] A coding step, using the coding language to encode the SOA application in the integrated development environment based on the wasm dynamic library;
[0015] A compiling step, using the compiler to compile the encoded SOA application to obtain an initial wasm image;
[0016] A testing step is to test the initial wasm image to obtain the wasm image.
[0017] In a possible implementation of the first aspect above, the coding language is one of multiple coding languages supported by wasm.
[0018] In a possible implementation of the first aspect, the sending and authenticating steps include:
[0019] Send the wasm image to the private image repository in the image repository;
[0020] Authenticate the wasm image in the private image repository according to the standards defined by the original equipment manufacturer;
[0021] Send the authenticated wasm image to the public image repository.
[0022] In a possible implementation of the first aspect above, the private image repository is open to developers, and the public image repository is open to users.
[0023] In a possible implementation of the first aspect above, the image repository is a wasm binary storage repository, and the wasm image is in a wasm binary format.
[0024] In a second aspect, an embodiment of the present application provides a high-performance computer for a vehicle, on which a SOA application developed based on wasm is deployed, the high-performance computer communicates with a cloud server, and the high-performance computer includes:
[0025] A wasm orchestration module that communicates with the cloud server and receives the wasm image to be deployed;
[0026] The wasm lifecycle management module manages the wasm image throughout its lifecycle;
[0027] A wasm execution module determines an operation interface corresponding to the wasm image according to the wasm image, and calls the corresponding operation interface from the wasm runtime management module for deployment;
[0028] wasm runtime management module, used to manage multiple operation interfaces,
[0029] The wasm image is obtained according to the method described in the first aspect.
[0030] In a third aspect, an embodiment of the present application provides a device for developing and deploying SOA applications based on wasm, which is used for a cloud server, wherein the cloud server includes an image repository, and the cloud server communicates with a high-performance computer on a vehicle, and the device includes:
[0031] A development and testing unit develops and tests the SOA application based on wasm to obtain a wasm image corresponding to the SOA application;
[0032] A sending and authentication unit, which sends the wasm image to the image repository and performs authentication;
[0033] The deployment unit sends the authenticated wasm image to the high-performance computer for deployment according to user instructions.
[0034] In a fourth aspect, an embodiment of the present application provides a computer-readable storage medium, on which instructions are stored. When the instructions are executed on a computer, the computer executes the method for developing and deploying SOA applications based on wasm in the first aspect above.
[0035] In a fifth aspect, an embodiment of the present application provides a computer device, comprising: one or more processors; one or more memories; the one or more memories store one or more programs, and when the one or more programs are executed by the one or more processors, the computer device executes the method for developing and deploying SOA applications based on wasm in the above-mentioned first aspect.
[0036] In the present invention, SOA applications are developed based on wasm and deployed on vehicles, realizing the DevOps (software development and operation maintenance) process. The present invention uses wasm machine code to carry and run SOA applications, which not only inherits the advantages of containers in DevOps, but also solves the shortcomings of insufficient performance of ordinary containers, so that the start and stop time of wasm applications on the host machine is shortened, the operating resources are reduced, the wasm application image is smaller, and the image transmission time from the cloud server to the vehicle is shortened.
[0037] Furthermore, Wasm supports multiple coding languages, including but not limited to C / C++, rust, and go. This way, SOA application developers are not limited to a certain development language, and have greater flexibility for both existing code logic and new code logic. BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Figure 1 According to an embodiment of the present application, a schematic diagram of an application scenario for developing and deploying SOA applications based on wasm is shown;
[0039] Figure 2a According to an embodiment of the present application, a flow chart of a method for developing and deploying SOA applications based on wasm is shown;
[0040] Figure 2b According to an embodiment of the present application, Figure 2a A flowchart of the development and testing steps in the
[0041] Figure 2c According to an embodiment of the present application, Figure 2a A flowchart of the sending and authentication steps in FIG.
[0042] Figure 3 According to the embodiment of the present application, it is shown Figure 1 The structural diagram of the wasm engine in ;
[0043] Figure 4According to an embodiment of the present application, a structural diagram of a device for developing and deploying SOA applications based on wasm is shown;
[0044] Figure 5 According to an embodiment of the present application, a block diagram of a computer device is shown. DETAILED DESCRIPTION
[0045] The illustrative embodiments of the present application include but are not limited to methods, apparatuses, media, and computer devices for developing and deploying SOA applications based on wasm.
[0046] The acquisition, storage, use, and processing of data in the technical solution of this application comply with the relevant provisions of national laws and regulations.
[0047] The embodiments of the present application will be described in further detail below in conjunction with the accompanying drawings.
[0048] First, the professional terms involved in this application are explained.
[0049] SOA (Service-Oriented Architecture) is a concept proposed by Gartner in 1996. It is a component model that splits different functional units of an application (called services) and connects them through well-defined interfaces and protocols. The interface is defined in a neutral way to make the software flexible and able to respond quickly to business needs, so that developers can respond to iterative and changing needs with minimal software changes.
[0050] SOA atomic services are services with the smallest granularity. For example, for body control services, atomic services can be designed based on different actuators (electric doors, electric windows, electric door locks, etc.), or based on different sensors (door status switches, window position sensors, door lock status switches). SOA composite services are services that combine multiple atomic services.
[0051] Wasm stands for WebAssembly, a technical solution that allows code to be written in non-Java programming languages and run on browsers. Wasm is a portable, small, fast-loading, and web-compatible format. Wasm is a coding method that can run in modern web browsers, has a compact binary format, can run at near-native performance, and provides a compilation target for languages such as C / C++ / Rust so that they can run on the web.
[0052] However, there is currently no solution to combine wasm and SOA.
[0053] Figure 1According to an embodiment of the present application, a schematic diagram of an application scenario of developing and deploying SOA applications based on wasm is shown. Figure 1 As shown, the cloud server 100 communicates with the HPC 200 on the vehicle. The cloud server 100 includes a development and testing environment 101, an image repository 102, and a control center 103. The image repository 102 is, for example, a wasm image repository 102, and the control center 103 is, for example, a wasm image control center 103.
[0054] The development and testing environment 101 includes a development environment 1011, a test environment 1012, and a quasi-production environment 1013. The image repository 102 includes a private image repository 1021, a public image repository 1022, and a storage 1023. The control center 103 includes a database 1031, and the control center 103 can receive user instructions sent by the user via the terminal device 300, including installation, uninstallation, update, search, deletion, marking, data analysis, etc. The HPC (high performance computer) 200 includes a wasm engine 201, and can also include: body HPC and / or cockpit HPC, etc.
[0055] Figure 2a It is a flowchart of a method for developing and deploying SOA applications based on wasm according to an embodiment of the present invention.
[0056] like Figure 2a As shown, in the development and testing step S21, the SOA application is developed and tested based on wasm to obtain a wasm image corresponding to the SOA application.
[0057] Figure 2b A specific flow chart of the development and testing step S21 is shown. Figure 2b As shown, in the preparation step S201, an integrated development environment (IDE) supporting wasm is defined, the SOA atomic services and composite services open to high-performance computers are converted into wasm dynamic libraries, a coding language is selected based on the SOA atomic services and composite services, and a compiler corresponding to the coding language and supporting wasm is installed.
[0058] An integrated development environment is an application used to provide a program development environment, generally including tools such as code editors, compilers, debuggers, and graphical user interfaces. This integrated development environment supports wasm development and compilation.
[0059] HPC200 has open SOA atomic services and composite services to convert SOA atomic services and composite services into wasm dynamic libraries. Wasm dynamic libraries are libraries in binary format.
[0060] Wasm supports multiple coding languages, including but not limited to C / C++, rust, go, Python, etc. Figure 3 As shown. Based on SOA atomic services and composite services, developers can choose one from a variety of coding languages, for example, the selected coding language is Go language.
[0061] Each coding language has a corresponding compiler. After selecting the go language, install the compiler that corresponds to the go language and supports wasm.
[0062] In the integration step S202, the wasm dynamic library is integrated into the integrated development environment.
[0063] Next, in the encoding step S203, the SOA application is encoded in an integrated development environment using a coding language based on the wasm dynamic library.
[0064] For example, developers can use the Go language to code SOA applications in an integrated development environment based on the wasm dynamic library. In other words, use the Go language to develop a new SOA application in an integrated development environment based on the wasm dynamic library.
[0065] In the compilation step S204, the compiler is used to compile the encoded SOA application to obtain an initial wasm image. Specifically, the compiler compiles the new SOA application to obtain an initial wasm image corresponding to the SOA application. It can be understood that the initial wasm image is in binary format.
[0066] In the test step S205, the initial wasm image is tested to obtain the final wasm image.
[0067] It is understandable that the above steps S201-S204 can be Figure 1 The development environment 1011 is shown. It can be understood that the test step S205 is performed in the test environment 1012 and the quasi-production environment 1013. The initial wasm image obtained by development needs to be tested in the test environment 1012, and then the quasi-production test is performed in the quasi-production environment 1013 to obtain the final wasm image, and then proceed to the subsequent steps. The specific test and quasi-production test methods are the same as those in the prior art, so they are not described in detail here.
[0068] In the sending and authenticating step S22, the wasm image is sent to the image repository 102 and authenticated.
[0069] Specifically, Figure 1As shown, the image warehouse 102 is defined as a wasm binary storage warehouse, which is divided into a public image warehouse 1022 and a private image warehouse 1021. The public image warehouse 1022 is used to store wasm images that have been certified by the original equipment manufacturer (OEM), and the private image warehouse 1021 is used to store unreleased wasm images that have not been certified by the OEM and are still in the development and testing stage.
[0070] The private image repository 1021 is only open to developers, and the public image repository 1022 is maintained by the OEM and open to users (all car owners).
[0071] Figure 2c A specific flow chart of the sending and authentication steps is shown, such as Figure 2c As shown, in S221, the developed and tested wasm image is sent to the private image warehouse 1021 in the image warehouse 102. It can be understood that the user cannot obtain the wasm image in the private image warehouse 1021.
[0072] At S222, the wasm image in the private image repository is authenticated according to the standard customized by the original equipment manufacturer.
[0073] Specifically, the wasm image in the private image warehouse 1021 is authenticated according to the standard customized by the original equipment manufacturer (OEM). The customized standard can refer to offline real vehicle testing, pile driving testing, and online inspection. After the certification is passed, the wasm image in the private image warehouse 1021 is labeled, indicating that it can be recommended to users for a small range of trials, and indexed to the public image warehouse 1022 for promotion and trial. For wasm images that have been tried by a certain number of users and have good feedback, they can be approved for upgrade to the public image warehouse 1022, that is, they are sent to the public image warehouse 1022, so that they can be opened to car owners.
[0074] In S223 , the authenticated wasm image is sent to the public image repository 1022 . It is understandable that users (all car owners) can obtain the wasm image in the public image repository 1022 .
[0075] In the deployment step S23, according to the user's instructions, the wasm image in the public image repository is sent to a high-performance computer for deployment.
[0076] Specifically, the user may send a user instruction to the control center 103 through the terminal device 300 communicating with the control center 103, and the user instruction may be, for example, an installation instruction, an update instruction, an uninstallation instruction, a data analysis instruction, etc. In this embodiment, for example, the user instruction is an installation instruction for installing a SOA application.
[0077] After receiving the installation instruction through the control center 103, the control center 103 obtains the wasm image from the public image warehouse 1022 and sends it to the wasm engine 201 in the HPC 200. The wasm engine 201 uses the wasm image to deploy the SOA application, that is, the wasm engine 201 uses the wasm image to install the SOA application. In this way, the SOA application (wasm application) is installed in the SOC (system on chip) in the HPC 200.
[0078] After the deployment (eg, installation) is successful, the control center 103 receives the installation status from the wasm engine 201 and updates it in the database 1031 .
[0079] It is understandable that the private image repository 1021 and the public image repository 1022 can store multiple different wasm images, each of which corresponds to a SOA application. According to user instructions, the corresponding wasm image can be deployed in the SOC.
[0080] like Figure 1 As shown, the control center 103 communicates with the image manager 301 , and the image manager 301 can perform daily maintenance on all wasm images in the image warehouse 102 through the control center 103 .
[0081] Figure 3 FIG. 2 shows a structural diagram of a wasm engine 201 according to an embodiment of the present invention. Figure 3 As shown, the wasm engine 201 includes a wasm orchestration module 2011, a wasm lifecycle management module 2012, a wasm execution module 2013, and a wasm runtime management module 2014.
[0082] The wasm orchestration module 2011 communicates with the cloud server 100 and receives the wasm image to be deployed.
[0083] Specifically, the wasm orchestration module 2011 is responsible for communicating and interacting with the control center 103 in the cloud server 100. When deployment is to be performed according to user instructions, the control center 103 pulls out the wasm image corresponding to the user instruction from the public image repository 1022 and sends it to the wasm orchestration module 2011. The wasm orchestration module 2011 receives the wasm image and transmits it to the wasm lifecycle management module 2012. In this embodiment, the wasm image is obtained according to the method described above.
[0084] The wasm lifecycle management module 2022 manages the wasm image throughout its lifecycle.
[0085] Specifically, the wasm lifecycle management module 2012 uses systemd (system daemon, which is an init software under Linux) or other management software to manage the wasm image throughout its life cycle, and transmits the wasm image to the wasm execution module 2013.
[0086] The wasm execution module 2013 determines the operation interface corresponding to the wasm image, namely the runtime, based on the wasm image, and then calls the corresponding runtime from the wasm runtime management module 2014 and executes the corresponding runtime, thereby deploying the wasm image on the SOC (system-on-chip) to form a wasm application.
[0087] The wasm runtime management module 2014 is used to manage multiple operation interfaces. The wasm runtime management module 2014 is responsible for encapsulating multiple operation interfaces of the operating system for calling by the wasm execution module 2013. It can be understood that these operation interfaces are wasm binary operation interfaces, such as create, stop, restart, etc.
[0088] In addition, when the user issues a data analysis instruction, the SOA gateway on the HPC 200 will collect the running data of the SOA application on the vehicle, including the application running status, user habits, etc. The running data is then uploaded to the image warehouse 102 for big data analysis.
[0089] In the present invention, SOA applications are developed based on wasm and deployed on vehicles, realizing the DevOps (software development and operation maintenance) process. The present invention uses wasm machine code to carry and run SOA applications, which not only inherits the advantages of containers in DevOps, but also solves the shortcomings of insufficient performance of ordinary containers, so that the start and stop time of wasm applications on the host machine is shortened, the operating resources are reduced, the wasm application image is smaller, and the image transmission time from the cloud server to the vehicle is shortened.
[0090] Furthermore, Wasm supports multiple coding languages, including but not limited to C / C++, rust, and go. This way, SOA application developers are not limited to a certain development language, and have greater flexibility for both existing code logic and new code logic.
[0091] The present invention also provides a device 40 (based on wasm for developing and deploying SOA applications) Figure 4 ), for a cloud server, such as Figure 1 The cloud server 100 is shown. The cloud server 100 includes an image repository 102, and the cloud server 100 communicates with a high performance computer (HPC) 200 on the vehicle.
[0092] like Figure 4 Said device 40 comprises:
[0093] A development and testing unit 401 develops and tests the SOA application based on wasm to obtain a wasm image corresponding to the SOA application;
[0094] A sending and authentication unit 402 sends the wasm image to the image repository and performs authentication;
[0095] The deployment unit 403 sends the authenticated wasm image to the high-performance computer for deployment according to the user instruction.
[0096] It is understandable that the development and testing unit 401, the sending and authentication unit 402, and the deployment unit 403 can be Figure 5 The processor 102 in the computer device 100 having the functions of these modules or units is implemented.
[0097] The present invention also provides a computer-readable storage medium, on which instructions are stored. When the instructions are executed on a computer, the computer executes the method shown in FIG. 2 .
[0098] Reference now Figure 5 , Figure 5 An example computer device 1400 according to an embodiment of the present invention is schematically shown. It is understandable that the cloud server and the high-performance computer in the above-mentioned embodiments can be implemented by the computer device 1400. In one embodiment, the computer device 1400 may include one or more processors 1404, a system control logic 1408 connected to at least one of the processors 1404, a system memory 1412 connected to the system control logic 1408, a non-volatile memory (NVM) 1416 connected to the system control logic 1408, and a network interface 1420 connected to the system control logic 1408.
[0099] In some embodiments, processor 1404 may include one or more single-core or multi-core processors. In some embodiments, processor 1404 may include any combination of general-purpose processors and special-purpose processors (e.g., graphics processors, application processors, etc.). In an embodiment where system 1400 employs a RAN (Radio Access Network) controller, processor 1404 may be configured to execute various embodiments, for example, the embodiment shown in FIG. 2 .
[0100] In some embodiments, system control logic 1408 may include any suitable interface controller to provide any suitable interface to at least one of processors 1404 and / or any suitable device or component in communication with system control logic 1408 .
[0101] In some embodiments, the system control logic 1408 may include one or more memory controllers to provide an interface to the system memory 1412. The system memory 1412 may be used to load and store data and / or instructions. In some embodiments, the memory 1412 of the system 1400 may include any suitable volatile memory, such as a suitable dynamic random access memory (DRAM).
[0102] NVM / memory 1416 may include one or more tangible, non-transitory computer-readable media for storing data and / or instructions. In some embodiments, NVM / memory 1416 may include any suitable non-volatile memory such as flash memory and / or any suitable non-volatile storage device, such as at least one of a HDD (Hard Disk Drive), a CD (Compact Disc) drive, and a DVD (Digital Versatile Disc) drive.
[0103] NVM / storage 1416 may include a portion of storage resources on the device on which system 1400 is installed, or it may be accessible by the device but not necessarily a portion of the device. For example, NVM / storage 1416 may be accessed over a network via network interface 1420.
[0104] In particular, system memory 1412 and NVM / storage 1416 may include, respectively, a temporary copy and a permanent copy of instructions 1424. Instructions 1424 may include instructions that, when executed by at least one of processors 1404, cause computer device 1400 to implement the method as shown in FIG. 2. In some embodiments, instructions 1424, hardware, firmware, and / or software components thereof may be additionally / alternatively located in system control logic 1408, network interface 1420, and / or processor 1404.
[0105] The network interface 1420 may include a transceiver for providing a wired or wireless interface for the system 1400 to communicate with any other suitable device (such as a front-end module, etc.) through one or more networks. In some embodiments, the network interface 1420 may be integrated with other components of the system 1400. For example, the network interface 1420 may be integrated with at least one of the processor 1404, the system memory 1412, the NVM / storage 1416, and a firmware device (not shown) having instructions, and when at least one of the processors 1404 executes the instructions, the computer device 1400 implements the method shown in FIG. 2 .
[0106] The network interface 1420 may further include any suitable hardware and / or firmware to provide a multiple-input multiple-output wired or wireless interface. For example, the network interface 1420 may be a network adapter, a wireless network adapter, a telephone modem and / or a wireless modem.
[0107] In one embodiment, at least one of the processors 1404 may be packaged together with logic for one or more controllers of the system control logic 1408 to form a system in package (SiP). In one embodiment, at least one of the processors 1404 may be integrated on the same die with logic for one or more controllers of the system control logic 1408 to form a system on a chip (SoC).
[0108] Computer device 1400 may further include: input / output (I / O) device 1432. I / O device 1432 may include a user interface, allowing a user to interact with computer device 1400; and a peripheral component interface design allows peripheral components to interact with computer device 1400.
[0109] In some embodiments, the user interface may include, but is not limited to, a display (eg, a liquid crystal display), a speaker, a microphone, and a keyboard.
[0110] The various embodiments of the mechanism disclosed in the present application can be implemented in hardware, software, firmware or a combination of these implementation methods. The embodiments of the present application can be implemented as a computer program or program code executed on a programmable system, which includes at least one processor, a storage system (including volatile and non-volatile memory and / or storage elements), at least one input device and at least one output device.
[0111] Program code can be applied to input instructions to perform the functions described in this application and generate output information. The output information can be applied to one or more output devices in a known manner. For the purposes of this application, a processing system includes any system having a processor such as, for example, a digital signal processor (DSP), a microcontroller, an application specific integrated circuit (ASIC), or a microprocessor.
[0112] Program code can be implemented with high-level programming language or object-oriented programming language to communicate with the processing system. When necessary, program code can also be implemented with assembly language or machine language. In fact, the mechanism described in this application is not limited to the scope of any specific programming language. In either case, the language can be a compiled language or an interpreted language.
[0113] In some cases, the disclosed embodiments may be implemented in hardware, firmware, software, or any combination thereof. The disclosed embodiments may also be implemented as instructions carried or stored on one or more temporary or non-temporary machine-readable (e.g., computer-readable) storage media, which may be read and executed by one or more processors. For example, instructions may be distributed over a network or through other computer-readable media. Therefore, a machine-readable medium may include any mechanism for storing or transmitting information in a machine (e.g., computer) readable form, including, but not limited to, a floppy disk, an optical disk, an optical disk, a read-only memory (CD-ROM), a magneto-optical disk, a read-only memory (ROM), a random access memory (RAM), an erasable programmable read-only memory (EPROM), an electrically erasable programmable read-only memory (EEPROM), a magnetic card or an optical card, a flash memory, or a tangible machine-readable memory for transmitting information (e.g., carrier wave, infrared signal digital signal, etc.) using the Internet in an electrical, optical, acoustic or other form of propagation signal. Therefore, a machine-readable medium includes any type of machine-readable medium suitable for storing or transmitting electronic instructions or information in a machine (e.g., computer) readable form.
[0114] In the accompanying drawings, some structural or method features may be shown in a specific arrangement and / or order. However, it should be understood that such a specific arrangement and / or order may not be required. Instead, in some embodiments, these features may be arranged in a manner and / or order different from that shown in the illustrative drawings. In addition, the inclusion of structural or method features in a particular figure does not mean that such features are required in all embodiments, and in some embodiments, these features may not be included or may be combined with other features.
[0115] It should be noted that the units / modules mentioned in the various device embodiments of the present application are all logical units / modules. Physically, a logical unit / module can be a physical unit / module, or a part of a physical unit / module, or can be implemented as a combination of multiple physical units / modules. The physical implementation method of these logical units / modules themselves is not the most important. The combination of functions implemented by these logical units / modules is the key to solving the technical problems proposed by the present application. In addition, in order to highlight the innovative part of the present application, the above-mentioned device embodiments of the present application do not introduce units / modules that are not closely related to solving the technical problems proposed by the present application, which does not mean that there are no other units / modules in the above-mentioned device embodiments.
[0116] It should be noted that in the examples and description of this patent, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or device. In the absence of further restrictions, the elements defined by the sentence "including one" do not exclude the existence of other identical elements in the process, method, article or device including the elements.
[0117] Although the present application has been illustrated and described with reference to certain preferred embodiments thereof, it will be apparent to those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the present application.
Claims
1. A method for developing and deploying SOA applications based on wasm, for cloud servers, characterized in that: The cloud server includes an image repository, the cloud server communicates with a high-performance computer on the vehicle, and the method includes: Development and testing steps: developing and testing the SOA application based on wasm to obtain a wasm image corresponding to the SOA application; Sending and authenticating steps, sending the wasm image to the image repository and authenticating it; The deployment step includes sending the authenticated wasm image to the high-performance computer for deployment according to the user's instructions. The development and testing steps include: Preparation step, defining an integrated development environment supporting wasm, converting the SOA atomic services and composite services opened by the high-performance computer into wasm dynamic libraries, selecting a coding language based on the SOA atomic services and composite services, and installing a compiler corresponding to the coding language and supporting wasm; Integration step, integrating the wasm dynamic library into the integrated development environment; A coding step, using the coding language to encode the SOA application in the integrated development environment based on the wasm dynamic library; A compiling step, using the compiler to compile the encoded SOA application to obtain an initial wasm image; A testing step is to test the initial wasm image to obtain the wasm image.
2. The method according to claim 1, characterized in that The coding language is one of multiple coding languages supported by wasm.
3. The method according to claim 1, characterized in that The sending and authenticating steps include: Send the wasm image to the private image repository in the image repository; Authenticate the wasm image in the private image repository according to the standards defined by the original equipment manufacturer; Send the authenticated wasm image to a public image repository.
4. The method according to claim 3, characterized in that The private image repository is only open to developers, and the public image repository is open to users.
5. The method according to claim 1, characterized in that The image repository is a wasm binary storage repository, and the wasm image is in a wasm binary format.
6. A high performance computer for a vehicle, characterized in that: The SOA application developed based on wasm is deployed on the high-performance computer, the high-performance computer communicates with the cloud server, and the high-performance computer includes: A wasm orchestration module that communicates with the cloud server and receives the wasm image to be deployed; The wasm lifecycle management module manages the wasm image throughout its lifecycle; A wasm execution module determines an operation interface corresponding to the wasm image according to the wasm image, and calls the corresponding operation interface from the wasm runtime management module for deployment; wasm runtime management module, used to manage multiple operation interfaces, The wasm image is obtained according to any one of claims 1-5.
7. A device for developing and deploying SOA applications based on wasm, used in a cloud server, characterized in that: The cloud server includes an image repository, the cloud server communicates with a high-performance computer on the vehicle, and the device includes: A development and testing unit develops and tests the SOA application based on wasm to obtain a wasm image corresponding to the SOA application; A sending and authentication unit, which sends the wasm image to the image repository and performs authentication; The deployment unit sends the authenticated wasm image to the high-performance computer for deployment according to the user instruction. The development and testing unit includes: Define an integrated development environment that supports wasm, convert the SOA atomic services and composite services opened by the high-performance computer into wasm dynamic libraries, select a coding language based on the SOA atomic services and composite services, and install a compiler corresponding to the coding language and supporting wasm; Integrate the wasm dynamic library into the integrated development environment; Using the coding language, encoding the SOA application in the integrated development environment based on the wasm dynamic library; Compile the encoded SOA application using the compiler to obtain an initial wasm image; The initial wasm image is tested to obtain the wasm image.
8. A computer-readable storage medium, characterized in that: The storage medium stores instructions, which, when executed on a computer, enable the computer to execute the method for developing and deploying SOA applications based on wasm according to any one of claims 1 to 5.
9. A computer device, characterized in that: include: one or more processors; One or more memories; the one or more memories store one or more programs, and when the one or more programs are executed by the one or more processors, the computer device executes the method for developing and deploying SOA applications based on wasm as described in any one of claims 1 to 5.
Citation Information
Patent Citations
Gateway plug-in management method, device and equipment
CN115174342A
Method and device for developing Web application by using WebAssembly and service page compiling technology
CN116166907A