Vehicle-mounted application program development method and device, electronic equipment and storage medium

By converting in-vehicle application development tools into browser/server architecture and using servers for data processing, the problems of high performance requirements and low development efficiency in the existing technology are solved, and more efficient in-vehicle application development is achieved.

CN120215905APending Publication Date: 2025-06-27BEIJING CO WHEELS TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202311800635.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2023-12-25
Publication Date
2025-06-27

AI Technical Summary

Technical Problem

During the development of in-vehicle application programs, the existing technology has high performance requirements for local computers and low development efficiency, especially when multiple people simultaneously develop modules in complex Autosar software stacks.

Method used

By creating a user interface corresponding to the human-computer interface interactive service in the application development tool and establishing a communication connection between the browser and the server, the application development tool is converted into a browser/server architecture. Obtain the layer information of the modules in the Autosar software stack, determine the modules that can be developed in parallel, and receive the development information through the user interface, and call the data processing service on the server to generate the target code.

Benefits of technology

It improves the efficiency of on-board application development, reduces the requirements for the performance of development equipment, allows multiple people to develop different modules simultaneously, reduces the linear relay method during the development process, and improves the overall development efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120215905A_ABST
    Figure CN120215905A_ABST
Patent Text Reader

Abstract

The invention provides a vehicle-mounted application program development method and device, electronic equipment and a storage medium. The method comprises the following steps: creating a user interface corresponding to a human-computer interface interaction service in an application program development tool; establishing communication connection between the browser bearing the user interface and the server through a communication protocol between the browser and the server; a data processing service corresponding to the application program development tool is deployed on the server; acquiring layer information of each module in at least one module needing to be developed in the Autosar software stack; determining modules belonging to different layers of the Autosar architecture in the modules needing to be developed as modules capable of being developed in parallel; receiving development information for the modules capable of being developed in parallel through the user interface; and through the API corresponding to the interface information contained in the development information, calling a data processing service corresponding to the API in the server to carry out data processing on the development information, and generating a target code corresponding to the development information.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of application development, and particularly to a method and device for developing in-vehicle applications, an electronic device, and a storage medium. Background Art

[0002] In related technologies, during the development of in-vehicle applications, application development tools that run in a native form on a single machine are generally used. The tools run on a local computer and are not easily cross-platform. At the same time, during the installation of in-vehicle application development tools, many dependent libraries need to be installed, and different versions of dependent libraries need to be installed in different local computer environments.

[0003] Taking the currently most popular application development tool based on the Autosar architecture as an example: when developing modules in the Autosar software stack, the application development tool usually runs on a local computer in a single-machine mode, and the configuration information associated with the modules in the Autosar software stack is also stored on the local computer.

[0004] In related technologies, when developing in-vehicle applications, in order to overcome the problem of low development efficiency of in-vehicle applications, the commonly adopted solutions generally include the following steps: First, analyze the project requirements corresponding to the in-vehicle application, and determine the front-end and back-end corresponding to the in-vehicle application according to the project requirements; then set a development plan according to the requirements for the front-end and back-end; furthermore, write interface documents and establish an interface database according to the project requirements, and set the front-end and back-end for interface docking according to the written interface documents; after the interface docking is completed, set the code for calling the corresponding end to develop the front-end and back-end respectively. Among them, when developing the front-end and back-end by calling the corresponding code respectively, different developers can carry out the development simultaneously, thereby improving the development efficiency of the in-vehicle application.

[0005] However, when developing the front-end and back-end by calling the corresponding code respectively in the above solution, the application development tool used is still deployed on the local computer. When different developers use the application development tool on the local computer to develop modules in the Autosar software stack corresponding to the in-vehicle application, they still need to rely on the performance of the local computer to complete the data processing from the source code to the machine-executable target code, which requires high performance of the local computer.

[0006] At the same time, current in-vehicle applications are becoming more and more complex, and the number of modules in the corresponding Autosar software stack is also increasing. The situation where multiple people develop and configure the same in-vehicle application simultaneously is becoming more and more common. When multiple people develop and configure the same in-vehicle application simultaneously, they can only complete the development of the corresponding modules in the Autosar software stack in a linear relay manner, resulting in low development efficiency.

[0007] Therefore, the in-vehicle application development method in the related art has high performance requirements for the local computer and low development efficiency. Summary of the Invention

[0008] The present disclosure provides an in-vehicle application development method, an apparatus, an electronic device, and a storage medium.

[0009] According to a first aspect of the present disclosure, there is provided an in-vehicle application development method, including:

[0010] Create a user interface corresponding to the human-machine interface interaction service in the application development tool;

[0011] Establish a communication connection between the browser carrying the user interface and the server through the communication protocol between the browser and the server; a data processing service corresponding to the application development tool is deployed on the server;

[0012] Obtain the layer information of each module in at least one module to be developed in the Autosar software stack, where the layer information is used to indicate the layer of the Autosar architecture to which the corresponding module belongs;

[0013] Determine that the modules belonging to different layers of the Autosar architecture among the modules to be developed are modules that can be developed in parallel;

[0014] Receive development information for the modules that can be developed in parallel through the user interface, where the development information refers to the development information created through the user interface carried by the Web page of the global wide area network (WAN) of the browser;

[0015] Call the data processing service corresponding to the API in the server through the API corresponding to the interface information included in the development information to process the development information and generate the target code corresponding to the development information.

[0016] In some embodiments of the present disclosure, after generating the target code corresponding to the development information, the in-vehicle application development method further includes:

[0017] Create a code library, where the code library contains the same number of data tables as the number of modules in the modules that can be developed in parallel;

[0018] Link the target code to the corresponding data table through the data table information included in the development request in the development information.

[0019] In some embodiments of the present disclosure, receiving development information for the modules that can be developed in parallel through the user interface includes:

[0020] Receive a development request in the development information for the modules that can be developed in parallel through the user interface, where the development request includes at least the first data table information corresponding to the module;

[0021] Based on the second data table information included in the received development request, determine whether the first data table information is the same as at least one of the data table information in the second data table information;

[0022] In response to the determination result being no, receive development information for the modules that can be developed in parallel through the user interface.

[0023] In some embodiments of the present disclosure, through the application programming API (API) corresponding to the interface information included in the development information, call the data processing service corresponding to the API in the server to perform data processing on the development information and generate the target code corresponding to the development information, including:

[0024] Using the specimen identification information included in the development request in the development information and the version control tool, determine the version number corresponding to the version identification information;

[0025] Through the API corresponding to the interface information included in the development information, call the data processing sub-service corresponding to both the API and the version number in the server to perform data processing on the development information and generate the target code corresponding to the development information; the data processing sub-service refers to the sub-service included in the data processing service.

[0026] In some embodiments of the present disclosure, receiving development information for the modules that can be developed in parallel through the user interface includes:

[0027] Receive development information for different modules in the modules that can be developed in parallel through the user interface;

[0028] Through the API corresponding to the interface information included in the development information, call the data processing service corresponding to the API in the server to perform data processing on the development information and generate the target code corresponding to the development information, including:

[0029] Through the API corresponding to the interface information included in the development information of the module, call the data processing sub-service corresponding to the API in the server to perform data processing on the development information and generate the target code corresponding to the development information of the module;

[0030] In some embodiments of the present disclosure, before generating the target code corresponding to the development information by calling the data processing service corresponding to the API in the server through the application programming API (API) corresponding to the interface information included in the development information, the method further includes:

[0031] Encapsulate the development information into a data packet in the HTTP request format through the browser;

[0032] Send the data packet in the HTTP request format to the server through the communication connection between the browser and the server;

[0033] The server parses the Uniform Resource Locator (URL) in the data packet in the HTTP request format to obtain the API corresponding to the interface information included in the development information.

[0034] In some embodiments of the present disclosure, before generating the target code corresponding to the development information by invoking the data processing service corresponding to the API in the server through the Application Programming Interface (API) corresponding to the interface information included in the development information, the method further includes:

[0035] Encapsulate the development information into a data packet in the HTTP request format through the browser;

[0036] Send the data packet in the HTTP request format to the reverse proxy software through the browser;

[0037] Determine the first server with the least load in the server through the load balancing policy in the reverse proxy software;

[0038] Parse the Uniform Resource Locator (URL) in the data packet in the HTTP request format through the reverse proxy software to obtain the API corresponding to the interface information included in the development information;

[0039] Invoking the data processing service corresponding to the API in the server to process the development information includes:

[0040] Invoke the data processing service corresponding to the API in the first server to process the development information.

[0041] According to the second aspect of the present disclosure, there is provided a vehicle-mounted application development device, including:

[0042] A creation unit for creating a user interface corresponding to the human-machine interface interaction service in the application development tool;

[0043] A connection unit for establishing a communication connection between the browser carrying the user interface and the server through the communication protocol between the browser and the server; the data processing service corresponding to the application development tool is deployed on the server;

[0044] An acquisition unit for acquiring the layer information of each module in at least one module to be developed in the Autosar software stack, where the layer information is used to indicate the layer of the Autosar architecture to which the corresponding module belongs;

[0045] A determination unit for determining that the modules belonging to different layers of the Autosar architecture in the modules to be developed are modules that can be developed in parallel;

[0046] A receiving unit, configured to receive development information for modules that can be developed in parallel through a user interface, where the development information refers to the development information created through the user interface carried by a World Wide Web (WWW) page of a browser;

[0047] A generating unit, configured to call, through an application programming interface (API) corresponding to interface information included in the development information, a data processing service corresponding to the API in a server to perform data processing on the development information and generate target code corresponding to the development information.

[0048] According to a third aspect of the present disclosure, there is provided an electronic device, including:

[0049] At least one processor; and

[0050] A memory communicatively connected to the at least one processor; wherein,

[0051] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method of the foregoing first aspect.

[0052] According to a fourth aspect of the present disclosure, there is provided a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the method of the foregoing first aspect.

[0053] The present disclosure provides a method, an apparatus, an electronic device, and a storage medium for developing a vehicle-mounted application. Among them, the method includes:

[0054] Create a user interface corresponding to a human-machine interface interaction service in an application development tool;

[0055] Establish a communication connection between a browser carrying the user interface and a server through a communication protocol between the browser and the server; a data processing service corresponding to the application development tool is deployed on the server;

[0056] Obtain layer information of each module in at least one module to be developed in an Autosar software stack, where the layer information is used to indicate the layer of the Autosar architecture to which the corresponding module belongs;

[0057] Determine that modules belonging to different layers of the Autosar architecture among the modules to be developed are modules that can be developed in parallel;

[0058] Receive development information for modules that can be developed in parallel through the user interface, where the development information refers to the development information created through the user interface carried by the World Wide Web (WWW) page of the browser;

[0059] By developing an API corresponding to the interface information included in the development information, calling the data processing service corresponding to the API in the server to process the development information, and generating target code corresponding to the development information.

[0060] According to the solution of the present disclosure, by creating a user interface corresponding to the human-machine interface interaction service in the application development tool and establishing a communication connection between the browser carrying the user interface and the server, the application development tool is converted into a Browser / Server (B / S) architecture. By using the layer information of each module in at least one module to be developed in the Autosar software stack, the modules that can be developed in parallel in the modules to be developed are determined; furthermore, development information for the modules that can be developed in parallel is received through the user interface, and by developing an API corresponding to the interface information included in the development information, calling the data processing service corresponding to the API in the server to process the development information, and generating target code corresponding to the development information. Thus, any developer can access the corresponding service in the server through the browser carrying the user interface, and then complete the development of the modules in the Autosar software stack. Among them, different developers can also develop different modules that can be developed in parallel simultaneously. Since the user interface for receiving the development information is carried by the browser, different developers can simultaneously develop the modules that can be developed in parallel through different browsers that establish communication connections with the server, effectively improving the development efficiency; and the process of processing the development information to generate the target code is completed in the server, with low requirements for the performance of the device running the browser.

[0061] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present application, nor is it used to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS

[0062] The drawings are used to better understand the solution and do not constitute a limitation to the present disclosure. Among them:

[0063] Figure 1 is a schematic flowchart of a vehicle-mounted application development method provided by an embodiment of the present disclosure;

[0064] Figure 2 is a schematic flowchart of another vehicle-mounted application development method provided by an embodiment of the present disclosure;

[0065] Figure 3 is a schematic flowchart of a vehicle-mounted application development method provided by an application example of the present disclosure;

[0066] Figure 4 is a schematic structural diagram of a vehicle-mounted application development device provided by an embodiment of the present disclosure;

[0067] Figure 5 Schematic block diagram of an exemplary electronic device provided by an embodiment of the present disclosure. Detailed implementation manners

[0068] The following describes exemplary embodiments of the present disclosure with reference to the accompanying drawings. Various details of the embodiments of the present disclosure are included to facilitate understanding, and they should be considered merely exemplary. Therefore, those of ordinary skill in the art should recognize that various changes and modifications can be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, descriptions of well-known functions and structures are omitted below for clarity and conciseness.

[0069] The vehicle-mounted application development method, device, electronic device, and storage medium according to embodiments of the present disclosure are described below with reference to the accompanying drawings.

[0070] In the present disclosure, by creating a user interface corresponding to the human-machine interface interaction service in the application development tool and establishing a communication connection between the browser carrying the user interface and the server, the application development tool is converted into a B / S architecture. Furthermore, development information for modules in the Autosar software stack is received through the user interface, and the API corresponding to the interface information included in the development information is used to call the data processing service corresponding to the API in the server to process the development information and generate target code corresponding to the development information. Thus, any developer can access the corresponding service in the server through the browser carrying the user interface, and then complete the development of the modules in the Autosar software stack. Since the user interface for receiving the development information is carried by the browser, any developer can complete the development of the modules in the Autosar software stack through any browser that establishes a communication connection with the server, effectively improving the development efficiency; and the process of processing the development information to generate target code is completed in the server, with low requirements for the performance of the device running the browser.

[0071] Figure 1 Flowchart of a vehicle-mounted application development method provided by an embodiment of the present disclosure.

[0072] A vehicle-mounted application development method provided by an embodiment of the present disclosure can be applied to application scenarios such as vehicle-mounted systems and embedded systems that require complex logic processing and a large amount of data operations. The execution subject of the method can be the server, processor, or controller of the vehicle-mounted application development tool.

[0073] As Figure 1 shown, the vehicle-mounted application development method provided by an embodiment of the present disclosure includes the following steps:

[0074] Step 101, create a user interface corresponding to the human-computer interface interaction service in the application development tool;

[0075] In one embodiment, according to the logic or algorithm of the human-computer interface interaction service, technologies such as HTML, CSS, and JavaScript can be used to create the user interface corresponding to the application development tool.

[0076] In one embodiment, according to the logic or algorithm of the human-computer interface interaction service, elements such as the layout, color, and font of the user interface can be determined; interactive elements such as buttons and input boxes can be added.

[0077] In one embodiment, by writing JavaScript or TypeScript code, the logic and functions of the user interface corresponding to the human-computer interface interaction service can be implemented.

[0078] In one embodiment, transition animations and effects can be added to enhance the aesthetics and operability of the user interface corresponding to the human-computer interface interaction service, and the user experience can also be enriched by using multimedia elements such as images, videos, and audios.

[0079] In one embodiment, the interaction between the developer and the computer can be achieved through the user interface, such as clicking buttons, swiping, dragging, inputting characters, etc., and the input of the developer can also be captured and reacted to by adding event listeners, thereby realizing the interaction between the developer and the computer.

[0080] In one embodiment, the logic or algorithm of the human-computer interface interaction service can be obtained from the source code of the application development tool.

[0081] Step 102, establish a communication connection between the browser carrying the user interface and the server through the communication protocol between the browser and the server;

[0082] In one embodiment, a data processing service corresponding to the application development tool is deployed on the server;

[0083] In one embodiment, the communication protocol between the browser and the server is the HyperText Transfer Protocol (HTTP), and a Transmission Control Protocol (TCP) connection is established between the browser and the server through the HTTP protocol.

[0084] In one embodiment, the data processing service corresponding to the application development tool deployed on the server may include error recognition and compilation, etc. For example, recognizing the error source code contained in the development information and compiling the source code into a target program, etc.

[0085] In one embodiment, the data processing service deployed on the server has its corresponding API, and the browser can call the service in the server through the Application Programming Interface (API).

[0086] In one embodiment, the browser is used to display the user interface, receive development information through the user interface, and communicate with the server; the server is used to process the development information and generate the target code.

[0087] In one embodiment, the development information refers to the development information for the modules in the Autosar software stack, and the target code refers to the module target code in the Autosar software stack corresponding to the development information.

[0088] In one embodiment, there may be one or more servers. For example, multiple distributed server clusters.

[0089] In one embodiment, different developers only need to upload the development information for the modules in the Autosar software stack through the user interface of the browser, and then call the service in the server to complete the development of the target vehicle-mounted service.

[0090] Step 103, obtain the layer information of each module in at least one module to be developed in the Autosar software stack;

[0091] In one embodiment, the layer information is used to indicate the layer of the Autosar architecture to which the corresponding module belongs.

[0092] In one embodiment, the layers of the Autosar architecture include the Basic Software Layer (BSW), the Application Software Layer (ASW), and the Runtime Environment Layer (RTE).

[0093] In one embodiment, determine the BSW, ASW, or RTE of the Autosar architecture to which each module in at least one module to be developed belongs.

[0094] Step 104, determine that the modules belonging to different layers of the Autosar architecture among the modules to be developed are modules that can be developed in parallel;

[0095] In one embodiment, if the number of modules in each layer among the modules to be developed is not greater than one, then each module to be developed is a module that can be developed in parallel.

[0096] In one embodiment, if the number of modules in at least one layer among the modules to be developed is greater than one, then:

[0097] If the layer with more than one module is the ASW, all modules in the ASW can be developed in parallel.

[0098] If the layer with more than one module is the BSW, determine the modules with different corresponding calling modules in the BSW as the modules that can be developed in parallel according to the calling relationship between the modules in the ASW and the modules in the BSW; where the calling module refers to the module in the ASW.

[0099] Step 105, receive the development information for the modules that can be developed in parallel through the user interface;

[0100] In one embodiment, the development information refers to the development information created by the user interface carried by the World Wide Web (Web) page of the browser.

[0101] In one embodiment, the development information is created by the developer through human-computer interface interaction with the user interface carried by the Web page.

[0102] In one embodiment, the developer writes the source code for each module that can be developed in parallel in the modules that can be developed in parallel through the user interface carried by the browser, and uploads the source code to the server. Call the corresponding interface of the server to process the source code data and generate the target application program corresponding to the source code.

[0103] In one embodiment, multiple developers can create the development information for the modules that can be developed in parallel in the Autosar software stack through the user interface carried by the browsers on different devices, such as computers and tablets.

[0104] In one embodiment, the browser can be a browser on the same computer, a browser on different computers, or a browser on a portable intelligent device with specific functions.

[0105] Step 106, call the data processing service in the server corresponding to the API through the API corresponding to the interface information in the development information to process the development information and generate the target code corresponding to the development information.

[0106] In one embodiment, the interface information may include information such as interface name, input parameters, output parameters, path, access permission, data type, interface version, return value, etc.

[0107] In one embodiment, the interface information is usually used to describe how to call the service corresponding to the interface in the server for data processing. By calling these interfaces, the purpose of processing the development information can be achieved.

[0108] In one embodiment, the data processing service corresponding to the API in the call server is used to process the development information. For example, the error recognition service corresponding to the API in the call server is used to identify the incorrect source code in the development information; alternatively, the compilation service corresponding to the API in the call server can be called to convert the source code in the development information into target code.

[0109] In one embodiment, after step 106, the vehicle-mounted application development method provided by the present disclosure further includes:

[0110] Create a code library;

[0111] In one embodiment, the code library contains the same number of data tables as the number of modules in the modules that can be developed in parallel.

[0112] Link the target code to the corresponding data table through the data table information included in the development request in the development information.

[0113] In one embodiment, the data table information includes information such as table names and field names.

[0114] In one embodiment, the Git version control tool can be used to link the target code to the corresponding data table in the code library.

[0115] In one embodiment, the Git version control tool can be used to obtain the data table information included in the development request in the development information.

[0116] In one embodiment, the Git version control tool can be used to pull the historical code stored in the data table corresponding to the data table information and display the historical code on the user interface of the browser. Developers can further develop the corresponding module based on the historical code. For example, by inputting the development information, the corresponding data processing service in the server can be called to generate new target code.

[0117] In one embodiment, the Git version control tool is used to link the new target code to the corresponding data table and delete the original code in the corresponding data table.

[0118] In one embodiment, the Git version control tool can also roll back the target code stored in the data table to a specific historical code for developers to trace back and modify the target code.

[0119] In one embodiment, the Continuous Integration / Continuous Deployment (CI / CD) tool, such as Jenkins or Travis CI, can be used to link the target code to the data table in the code library. By using the CI / CD tool, the target code corresponding to the development information can be linked to the corresponding data table in the code library.

[0120] In one embodiment, the Object-Relational Mapping (ORM) technology can be used to map the target code corresponding to the development information to the corresponding data table.

[0121] In one embodiment, the INSERT statement in the SQL statement can be used to insert the target code corresponding to the development information into the corresponding data table.

[0122] In one embodiment, step 105 includes:

[0123] Receiving a development request in the development information for the module that can be developed in parallel through the user interface;

[0124] In one embodiment, the development request includes at least the first data table information corresponding to the module.

[0125] In one embodiment, the first data table information refers to the data table information in the current development request.

[0126] Judging whether the first data table information is the same as at least one of the data table information in the second data table information according to the second data table information included in the received development request;

[0127] In one embodiment, the second data table information refers to the data table information in the received development request.

[0128] In one embodiment, judging whether the data table information in the received development request is the same as the first data table information, that is, judging whether there is a development request related to the first data table information.

[0129] In response to the judgment result being no, receiving the development information for the module in parallel development through the user interface.

[0130] In one embodiment, if there is no development request related to the first data table information, the development information for the module in parallel development can be received through the user interface.

[0131] In one embodiment, if there is already a development request related to the first data table information, a prompt message is displayed on the user interface, and it is necessary to wait for all existing development requests to respond and end, and then receive the development information for the module in parallel development through the user interface.

[0132] In one embodiment, the displayed prompt message may include the current developer information, the developer information of other development information, and the waiting time information.

[0133] In one embodiment, step 106 includes:

[0134] Determine the version number corresponding to the version identification information by using the specimen identification information included in the development request in the development information and using a version control tool;

[0135] In one embodiment, the Git version control tool can be used to determine the version number corresponding to the version identification information.

[0136] In one embodiment, the Subversion tool can also be used to determine the version number corresponding to the version identification information. Among them, the version number in the Subversion tool is incremented, so the version number in the Subversion tool is also unique.

[0137] In one embodiment, the Concurrent Versions System (CVS) tool can also be used to determine the version number corresponding to the version identification information. Among them, the version number in the CVS tool usually consists of a date, a timestamp, and some additional information. If information such as the date range and file content included in the development information is available, the CVS tool can be used to determine the version number corresponding to the version identification information.

[0138] Call the data processing sub-service in the server that corresponds to both the API and the version number through the API corresponding to the interface information included in the development information to perform data processing on the development information and generate the target code corresponding to the development information;

[0139] In one embodiment, the data processing sub-service refers to the sub-service included in the data processing service.

[0140] In one embodiment, the data processing sub-services include an error correction sub-service, a compilation sub-service, etc.

[0141] In one embodiment, the server can be an independent server.

[0142] In one embodiment, the server can be a server cluster deployed in a distributed manner. The data processing services deployed on each server in the server cluster are the same.

[0143] In one embodiment, if the server is an independent server, then call the data processing sub-service in the server that corresponds to both the API and the version number through the API corresponding to the interface information included in the development information to perform data processing on the development information and generate the target code corresponding to the development information.

[0144] In one embodiment, if the server adopts a distributed server cluster, the API corresponding to the interface information included in the development information is used to call the data processing sub-service in the first server that corresponds to both the API and the version number to perform data processing on the development information, and generate the target code corresponding to the development information. The first server refers to the server with the lowest load in the server cluster.

[0145] The vehicle application program developer provided by the present disclosure includes: creating a user interface corresponding to the human-machine interface interaction service in the application program development tool; establishing a communication connection between the browser carrying the user interface and the server through the communication protocol between the browser and the server; a data processing service corresponding to the application program development tool is deployed on the server; receiving development information for the modules in the Autosar software stack through the user interface, where the development information refers to the development information created through the user interface carried by the Web page of the global wide area network (WAN) of the device; using the API corresponding to the interface information included in the development information to call the data processing service corresponding to the API in the server to perform data processing on the development information, and generate the target code corresponding to the development information.

[0146] According to the solution of the present disclosure, by creating a user interface corresponding to the human-machine interface interaction service in the application program development tool and establishing a communication connection between the browser carrying the user interface and the server, the application program development tool is converted into a B / S architecture. Furthermore, development information for the modules in the Autosar software stack is received through the user interface, and the API corresponding to the interface information included in the development information is used to call the data processing service corresponding to the API in the server to perform data processing on the development information, and generate the target code corresponding to the development information. Thus, any developer can access the corresponding service in the server through the browser carrying the user interface, and then complete the development of the modules in the Autosar software stack. Since the user interface for receiving the development information is carried by the browser, any developer can complete the development of the modules in the Autosar software stack through any browser that establishes a communication connection with the server, effectively improving the development efficiency; and the process of performing data processing on the development information to generate the target code is completed in the server, with low requirements for the device performance of the running browser.

[0147] In one embodiment, step 105 includes:

[0148] Receiving development information for different modules in the modules that can be developed in parallel through the user interface;

[0149] In one embodiment, a plurality of different modules are included in the modules that can be developed in parallel. The development information for different modules in the modules that can be developed in parallel refers to a plurality of development information input by a plurality of developers to the user interface through human-computer interaction, and each development information corresponds to one module in the modules that can be developed in parallel.

[0150] Through the API corresponding to the interface information included in the development information, call the data processing service corresponding to the API in the server to perform data processing on the development information, and generate the target code corresponding to the development information, including:

[0151] Through the API corresponding to the interface information included in the development information of the module, call the data processing sub-service corresponding to the API in the server to perform data processing on the development information of the module, and generate the target code corresponding to the development information of the module;

[0152] In one embodiment, the data processing services deployed on the server include a plurality of data processing sub-services, such as an error correction sub-service and a compilation sub-service, etc. When developing different modules, the error correction logic or compilation logic for the source code in the development information is different. Therefore, the error correction sub-service and compilation sub-service corresponding to different modules are also different. In order to improve the development efficiency of the modules, when correcting and compiling the source code in the development information corresponding to different modules, it is necessary to call the data processing sub-services corresponding to different modules.

[0153] In one embodiment, if the server is an independent server, then all data processing sub-services are deployed on this independent server.

[0154] In one embodiment, if the server is a server cluster deployed in a distributed manner, then all data processing sub-services are deployed on each server in the server cluster.

[0155] In one embodiment, as Figure 2 shown, before step 106, the vehicle-mounted application development method provided by the present disclosure further includes the following steps:

[0156] Step 201, encapsulate the development information into a data packet in the HTTP request format through a browser;

[0157] In one embodiment, the HTTP request mainly includes a request line, a request header, and a request body. The request line includes a method, a URL, and an HTTP version; the request header includes a series of name / value pairs; the request body is optional.

[0158] In one embodiment, the URL includes information such as a protocol, an address, and a path.

[0159] Step 202: Send the data packet in the format of an HTTP request to the server through the communication connection between the browser and the server.

[0160] In one embodiment, the communication connection between the browser and the server uses a TCP connection, and the data packet in the format of an HTTP request is sent to the server as part of the TCP data stream.

[0161] Step 203: Parse the URL in the data packet in the format of an HTTP request through the server to obtain the API corresponding to the interface information included in the development information.

[0162] In one embodiment, according to the server's parsing of the URL in the data packet in the format of an HTTP request, obtain the address information in the development information, and obtain the API corresponding to the address information according to the interface information corresponding to the address information.

[0163] In one embodiment, before step 106, the vehicle-mounted application development method provided by the present disclosure further includes:

[0164] Encapsulate the development information into a data packet in the format of an HTTP request through the browser;

[0165] Send the data packet in the format of an HTTP request to the reverse proxy software through the browser;

[0166] In one embodiment, the reverse proxy software is Nginx reverse proxy software, HAProxy reverse proxy software, Envoy reverse proxy software or other reverse proxy software.

[0167] In one embodiment, the data packet in the format of an HTTP request can be sent to the Nginx reverse proxy software through the browser.

[0168] In one embodiment, the data packet in the format of an HTTP request can also be sent to the HAProxy reverse proxy software through the browser.

[0169] In one embodiment, the data packet in the format of an HTTP request can also be sent to the Envoy reverse proxy software through the browser.

[0170] In one embodiment, the reverse proxy software can proxy the browser to distribute the HTTP request to one or more servers in the server cluster deployed in a distributed manner, achieving the purpose of load balancing, thereby improving the website speed and availability.

[0171] For example, the reverse proxy software can proxy the browser to distribute the HTTP request to the server with a smaller load in the server cluster to achieve load balancing of the servers.

[0172] Determine the first server with the least load among the servers through the load balancing strategy in the reverse proxy software;

[0173] In one embodiment, the reverse proxy software can use load balancing strategies such as round-robin, weighted round-robin, and least connections to determine the first server with the least load among the servers.

[0174] In one embodiment, the reverse proxy software obtains the load information of all servers in the server cluster, selects the server with the least load as the first server, and distributes the HTTP requests to the first server.

[0175] Parse the URL in the packet with the HTTP request format through the reverse proxy software to obtain the API corresponding to the interface information included in the development information;

[0176] In one embodiment, parse the URL in the packet with the HTTP request format through the reverse proxy software, and obtain the API corresponding to the address information according to the address information in the URL.

[0177] Correspondingly,

[0178] Call the data processing service corresponding to the API in the server to process the development information, including:

[0179] Call the data processing service corresponding to the API in the first server to process the development information.

[0180] According to the solution of the present disclosure:

[0181] First, convert the application development tool into a B / S architecture by creating a user interface corresponding to the human-computer interaction service in the application development tool and establishing a communication connection between the browser hosting the user interface and the server. Then, receive the development information for the modules in the Autosar software stack through the user interface, and call the data processing service corresponding to the API in the server through the API corresponding to the interface information included in the development information to process the development information and generate the target code corresponding to the development information. Thus, any developer can access the corresponding service in the server through the browser hosting the user interface, and then complete the development of the modules in the Autosar software stack. Among them, different developers can also develop different modules that can be developed in parallel at the same time. Since the user interface for receiving the development information is hosted by the browser, different developers can simultaneously develop the modules that can be developed in parallel through different browsers that establish communication connections with the server, effectively improving the development efficiency; and the process of processing the development information to generate the target code is completed in the server, with low requirements for the performance of the device running the browser.

[0182] Secondly, there is no requirement for the hardware performance of devices such as computers of browsers that carry user interfaces. The data processing services corresponding to application development tools are all deployed on the server. That is, the data processing of development information only relies on the server, rather than on devices such as computers corresponding to browsers. Therefore, the development cost can be reduced to a certain extent.

[0183] Thirdly, one or more servers can be adopted, and the number of servers can be flexibly increased or decreased according to actual needs. At the same time, risks such as data loss caused by server failures can be reduced.

[0184] Thirdly, through the load balancing strategy in the reverse proxy software, the first server with the smallest load in the server can be determined. The HTTP requests from the browser can be intelligently allocated according to the access volume of each server in the server cluster, balancing the load of the server and accelerating the data processing speed of development information. The IP address of the server can also be hidden, effectively preventing attackers from attacking the server.

[0185] Thirdly, through the API corresponding to the interface information included in the development information, the data processing sub-service in the server that corresponds to both the API and the version number is called to process the development information, and different versions of the target code corresponding to the development information can be flexibly selected, further improving the development efficiency.

[0186] Next, a specific application example is used to further illustrate the vehicle-mounted application development method of the present disclosure.

[0187] As Figure 3 shown, Figure 3 is a schematic flowchart of the vehicle-mounted application development method provided by the application example of the present disclosure. The vehicle-mounted application development method includes the following steps:

[0188] Step 301, create a user interface corresponding to the human-machine interface interaction service in the application development tool;

[0189] Step 302, establish a communication connection between the browser carrying the user interface and the server through the communication protocol between the browser and the server;

[0190] Step 303, obtain the layer information of each module in at least one module to be developed in the Autosar software stack, and the layer information is used to indicate the layer of the Autosar architecture to which the corresponding module belongs;

[0191] Step 304, determine that the modules belonging to different layers of the Autosar architecture in the modules to be developed are modules that can be developed in parallel;

[0192] Step 305: Receive a development request in the development information for modules that can be developed in parallel through the user interface. The development request includes at least the first data table information corresponding to the module.

[0193] Step 306: Determine whether the first data table information is the same as at least one of the data table information in the second data table information included in the received development request.

[0194] If the judgment result is yes, go to Step 307.

[0195] If the judgment result is no, go to Step 308.

[0196] Step 307: Wait for all existing development request responses to end.

[0197] Step 308: Receive the development information for modules that can be developed in parallel through the user interface.

[0198] Step 309: Encapsulate the development information into a data packet in the HTTP request format through the browser.

[0199] Step 310: Send the data packet in the HTTP request format to the reverse proxy software through the browser.

[0200] Step 311: Determine the first server with the least load in the server through the load balancing strategy in the reverse proxy software.

[0201] Step 312: Parse the uniform resource locator (URL) in the data packet in the HTTP request format through the reverse proxy software to obtain the API corresponding to the interface information included in the development information.

[0202] Step 313: Invoke the data processing service corresponding to the API in the first server to process the development information and generate the target code corresponding to the development information.

[0203] Corresponding to the above vehicle-mounted application development method, the present invention also proposes a vehicle-mounted application development device. Since the device embodiment of the present invention corresponds to the above method embodiment, for the details not disclosed in the device embodiment, reference may be made to the above method embodiment, and no further elaboration will be made in the present invention.

[0204] Figure 4 Shown in the following is a schematic structural diagram of a vehicle-mounted application development device provided by an embodiment of the present disclosure. Figure 4 As shown, the vehicle-mounted application development device 400 includes:

[0205] A creation unit 401, configured to create a user interface corresponding to the human-computer interface interaction service in the application development tool.

[0206] A connection unit 402 for establishing a communication connection between a browser carrying a user interface and a server through a communication protocol between the browser and the server; a data processing service corresponding to an application development tool is deployed on the server.

[0207] An acquisition unit 403 for acquiring layer information of each module in at least one module to be developed in the Autosar software stack, where the layer information is used to indicate the layer of the Autosar architecture to which the corresponding module belongs.

[0208] A determination unit 404 for determining that modules belonging to different layers of the Autosar architecture among the modules to be developed are modules that can be developed in parallel.

[0209] A receiving unit 405 for receiving development information for modules that can be developed in parallel through the user interface, where the development information refers to development information created through a user interface carried by a Web page of the global wide area network (Web) of the browser.

[0210] A generation unit 406 for performing data processing on the development information by calling a data processing service corresponding to the API in the server through the API corresponding to the interface information included in the development information, and generating target code corresponding to the development information.

[0211] In one embodiment, the in-vehicle application development device 400 further includes a linking unit, and the linking unit is used for:

[0212] Creating a code library, where the code library contains data tables with the same number as the number of modules in the modules that can be developed in parallel.

[0213] Linking the target code to the corresponding data table through the data table information included in the development request in the development information.

[0214] In one embodiment, the receiving unit 405 is specifically used for:

[0215] Receiving a development request in the development information for modules that can be developed in parallel through the user interface, where the development request includes at least first data table information corresponding to the module.

[0216] Judging whether the first data table information is the same as at least one data table information in the second data table information included in the received development request.

[0217] In response to the judgment result being no, receiving development information for the modules in the modules that can be developed in parallel through the user interface.

[0218] In one embodiment, the generation unit 406 is specifically used for:

[0219] Determine the version number corresponding to the version identification information by using the specimen identification information included in the development request in the development information and using a version control tool;

[0220] Call the data processing sub-service in the server that corresponds to both the API and the version number to perform data processing on the development information through the API corresponding to the interface information included in the development information, and generate the target code corresponding to the development information; the data processing sub-service refers to the sub-service included in the data processing service.

[0221] In one embodiment, the receiving unit 407 is specifically configured to:

[0222] Receive the development information in different modules of the modules that can be developed in parallel through the user interface;

[0223] Call the data processing service in the server that corresponds to the API to perform data processing on the development information through the API corresponding to the interface information included in the development information, and generate the target code corresponding to the development information, including:

[0224] Call the data processing sub-service in the server that corresponds to the API to perform data processing on the development information of the module through the API corresponding to the interface information included in the development information of the module, and generate the target code corresponding to the development information of the module; the data processing sub-service refers to the sub-service included in the data processing service.

[0225] In one embodiment, the in-vehicle application development device 400 further includes an API acquisition unit, and the API acquisition unit is used for:

[0226] Encapsulate the development information into a data packet in the HTTP request format through the browser;

[0227] Send the data packet in the HTTP request format to the server through the communication connection between the browser and the server;

[0228] Parse the URL in the data packet in the HTTP request format through the server to obtain the API corresponding to the interface information included in the development information.

[0229] In one embodiment, the in-vehicle application development device 400 further includes a data processing unit, and the data processing unit is used for:

[0230] Encapsulate the development information into a data packet in the HTTP request format through the browser;

[0231] Send the data packet in the HTTP request format to the reverse proxy software through the browser;

[0232] Determine the first server with the least load in the server through the load balancing strategy in the reverse proxy software;

[0233] Parse the URL in the data packet of the HTTP request format through a reverse proxy software to obtain the API corresponding to the interface information included in the development information;

[0234] Invoke the data processing service corresponding to the API in the server to perform data processing on the development information, including:

[0235] Invoke the data processing service corresponding to the API in the first server to perform data processing on the development information.

[0236] It should be noted that the foregoing explanation of the method embodiment also applies to the device of this embodiment. The principle is the same and will not be limited in this embodiment.

[0237] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a non-transitory computer-readable storage medium storing computer instructions, and a computer program product.

[0238] Specifically, an embodiment of the present disclosure provides an electronic device, including:

[0239] At least one processor; and

[0240] A memory communicatively connected to the at least one processor; wherein,

[0241] The memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the steps of the foregoing vehicle-mounted application development method.

[0242] An embodiment of the present disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to execute the steps of the foregoing vehicle-mounted application development method.

[0243] Figure 5 FIG. shows a schematic block diagram of an example electronic device 500 that can be used to implement embodiments of the present disclosure. The electronic device is intended to represent various forms of digital computers, such as, a laptop computer, a desktop computer, a workbench, a personal digital assistant, a server, a blade server, a mainframe computer, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as, a personal digital processing, a cellular phone, a smart phone, a wearable device, a vehicle-mounted device, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or claimed herein.

[0244] As Figure 5As shown, the electronic device 500 includes a computing unit 501, which can perform various appropriate actions and processes according to computer programs stored in a ROM (Read-Only Memory) 502 or computer programs loaded from a storage unit 508 into a RAM (Random Access Memory) 503. In the RAM 503, various programs and data required for the operation of the device 500 can also be stored. The computing unit 501, the ROM 502, and the RAM 503 are connected to each other via a bus 504. An I / O (Input / Output) interface 505 is also connected to the bus 504.

[0245] Multiple components in the device 500 are connected to the I / O interface 505, including: an input unit 504, such as a keyboard, a mouse, etc.; an output unit 507, such as various types of displays, speakers, etc.; a storage unit 508, such as a magnetic disk, an optical disc, etc.; and a communication unit 509, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 509 allows the device 500 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.

[0246] The computing unit 501 can be various general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of the computing unit 501 include, but are not limited to, a CPU (Central Processing Unit), a GPU (Graphic Processing Units), various dedicated AI (Artificial Intelligence) computing chips, various computing units running machine learning model algorithms, a DSP (Digital Signal Processor), and any appropriate processor, controller, microcontroller, etc. The computing unit 501 executes the various methods and processes described above, such as the vehicle-mounted application development method. For example, in some embodiments, the vehicle-mounted application development method can be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as the storage unit 508. In some embodiments, part or all of the computer program can be loaded and / or installed onto the device 500 via the ROM 502 and / or the communication unit 509. When the computer program is loaded into the RAM 503 and executed by the computing unit 501, one or more steps of the method described above can be executed. Alternatively, in other embodiments, the computing unit 501 can be configured to execute the aforementioned vehicle-mounted application development method in any other appropriate manner (e.g., by means of firmware).

[0247] The various embodiments of the systems and techniques described above in this specification can be implemented in digital electronic circuitry, integrated circuit systems, FPGAs (Field Programmable Gate Arrays), ASICs (Application-Specific Integrated Circuits), ASSPs (Application Specific Standard Products), SOCs (System On Chip), CPLDs (Complex Programmable Logic Devices), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which may be a special-purpose or general-purpose programmable processor that can receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.

[0248] The program code for implementing the methods of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package partially on the machine and partially on a remote machine, or entirely on a remote machine or server.

[0249] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a RAM, a ROM, an EPROM (Electrically Programmable Read-Only Memory), or a flash memory, an optical fiber, a CD-ROM (Compact Disc Read-Only Memory), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0250] It should be understood that various forms of the processes shown above can be used, with steps reordered, added, or deleted. For example, the steps recited in this disclosure can be executed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and no limitation is made herein.

[0251] The above specific embodiments do not constitute a limitation on the protection scope of the present disclosure. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of the present disclosure shall be included within the protection scope of the present disclosure.

Claims

1. A method for developing in-vehicle application programs, characterized in that, including: creating a user interface corresponding to the human-machine interface interaction service in the application development tool; establishing a communication connection between the browser carrying the user interface and the server through the communication protocol between the browser and the server; a data processing service corresponding to the application development tool is deployed on the server; obtaining layer information of each module in at least one module to be developed in the Autosar software stack, where the layer information is used to indicate the layer of the Autosar architecture to which the corresponding module belongs; determining that modules belonging to different layers of the Autosar architecture among the modules to be developed are modules that can be developed in parallel; receiving development information for the modules that can be developed in parallel through the user interface, where the development information refers to the development information created through the user interface carried by the World Wide Web (WWW) page of the browser; invoking, through the application programming interface (API) corresponding to the interface information included in the development information, the data processing service corresponding to the API in the server to perform data processing on the development information and generate the target code corresponding to the development information.

2. The method according to claim 1, wherein After generating the target code corresponding to the development information, the method further includes: creating a code library, where the code library contains the same number of data tables as the number of modules in the modules that can be developed in parallel; linking the target code to the corresponding data table through the data table information included in the development request in the development information.

3. The method according to claim 1, wherein The receiving, through the user interface, the development information for the modules that can be developed in parallel includes: receiving, through the user interface, a development request in the development information for the modules that can be developed in parallel, where the development request includes at least the first data table information corresponding to the module; judging whether the first data table information is the same as at least one of the data table information in the second data table information according to the second data table information included in the received development request; in response to the judgment result being negative, receiving, through the user interface, the development information for the module in the modules that can be developed in parallel.

4. The method according to claim 1, wherein The invoking, through the application programming API (API) corresponding to the interface information included in the development information, the data processing service corresponding to the API in the server to perform data processing on the development information and generate the target code corresponding to the development information includes: determining, through the specimen identification information included in the development request in the development information and using the version control tool, the version number corresponding to the version identification information; invoking, through the API corresponding to the interface information included in the development information, the data processing sub-service corresponding to both the API and the version number in the server to perform data processing on the development information and generate the target code corresponding to the development information; the data processing sub-service refers to the sub-service included in the data processing service.

5. The method according to claim 1, characterized in that The receiving, through the user interface, the development information for the modules that can be developed in parallel includes: receiving, through the user interface, the development information for different modules in the modules that can be developed in parallel; Invoking, through an API corresponding to interface information included in the development information, a data processing service corresponding to the API in the server to perform data processing on the development information and generate target code corresponding to the development information, includes: Invoking, through an API corresponding to interface information included in the development information of the module, a data processing sub-service corresponding to the API in the server to perform data processing on the development information of the module and generate target code corresponding to the development information of the module.

6. The method according to claim 1, characterized in that Before invoking, through an application programming API corresponding to interface information included in the development information, a data processing service corresponding to the API in the server to perform data processing on the development information and generate target code corresponding to the development information, the method further includes: Encapsulating, through the browser, the development information into a data packet in HTTP request format; Sending, through a communication connection between the browser and the server, the data packet in HTTP request format to the server; Parsing, through the server, a uniform resource locator URL in the data packet in HTTP request format to obtain the API corresponding to the interface information included in the development information.

7. The method according to claim 1, characterized in that, Before invoking, through an application programming API corresponding to interface information included in the development information, a data processing service corresponding to the API in the server to perform data processing on the development information and generate target code corresponding to the development information, the method further includes: Encapsulating, through the browser, the development information into a data packet in HTTP request format; Sending, through the browser, the data packet in HTTP request format to a reverse proxy software; Determining, through a load balancing policy in the reverse proxy software, a first server with the least load in the server; Parsing, through the reverse proxy software, a uniform resource locator URL in the data packet in HTTP request format to obtain the API corresponding to the interface information included in the development information; The invoking a data processing service corresponding to the API in the server to perform data processing on the development information includes: Invoking a data processing service corresponding to the API in the first server to perform data processing on the development information.

8. An in-vehicle application development device, characterized in that Includes: A creation unit, configured to create a user interface corresponding to a human-machine interface interaction service in an application development tool; A connection unit, configured to establish a communication connection between the browser carrying the user interface and the server through a communication protocol between the browser and the server; a data processing service corresponding to the application development tool is deployed on the server; An acquisition unit, configured to acquire layer information of each of at least one module to be developed in an Autosar software stack, where the layer information is used to indicate a layer of the Autosar architecture to which the corresponding module belongs; A determination unit, configured to determine modules belonging to different layers of the Autosar architecture among the modules to be developed as modules that can be developed in parallel; A receiving unit, configured to receive development information for modules that can be developed in parallel through the user interface, where the development information refers to the development information created through the user interface carried by a World Wide Web (WWW) page of the browser; A generating unit, configured to call, through an application programming interface (API) corresponding to interface information included in the development information, a data processing service corresponding to the API in the server to perform data processing on the development information, and generate target code corresponding to the development information.

9. An electronic device, comprising: At least one processor; And A memory communicatively connected to the at least one processor; wherein, The memory stores instructions executable by the at least one processor, and when the instructions are executed by the at least one processor, the at least one processor is enabled to execute the method according to any one of claims 1 to 7.

10. A non-transitory computer-readable storage medium storing computer instructions, wherein, The computer instructions are used to cause the computer to execute the method according to any one of claims 1 to 7.