Method and device for managing vehicle service
By adopting a service-oriented architecture and service agent in the vehicle, cross-domain communication is realized, the problem of low signal communication efficiency in traditional vehicles is solved, and the efficiency and flexibility of service provision are improved.
Patent Information
- Application Number
- CN202310834064.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-07
- Publication Date
- 2025-01-14
AI Technical Summary
In traditional distributed electronic and electrical architectures, the signal communication efficiency in the vehicle is low, and all relevant ECU software needs to be modified when upgrading or adding new functions, resulting in complex communication and inefficient efficiency.
Using a service-oriented architecture (SOA) architecture, the vehicle functions are broken down into multiple domains, and through the communication connection between the vehicle service layer and the service manager, the service agent is used to achieve cross-domain communication and provide target services.
It improves the efficiency and flexibility of vehicle services, reduces the resource consumption and serialization deserialization times of cross-process communication, and improves the efficiency of information transmission.
Smart Images

Figure CN119316439A_ABST
Abstract
Description
Technical Field
[0001] Example embodiments of the present disclosure relate generally to the field of computers, and more particularly to methods, devices, apparatuses, computer-readable storage media, and computer program products for managing vehicle services. Background Art
[0002] With the development of vehicle intelligence, the continuous application of modern electronic and software technologies in vehicles has enabled vehicles to provide more types of services. Accordingly, vehicles can provide corresponding services according to the driver's operations and instructions.
[0003] Usually, the vehicle will configure an electronic control unit (ECU) for each hardware used to implement the service. The ECU can be triggered based on the driver's instructions to provide the corresponding service to the driver. For example, the driver can trigger the ECU associated with the light brightness adjustment function through the operation panel in the vehicle to adjust the light brightness in the car. For another example, the driver can trigger the ECU used to control the operation of the wiper through the operation panel to turn the wiper on and off, etc. Summary of the invention
[0004] In a first aspect of the present disclosure, a method for managing vehicle services is provided. The method includes: determining a service agent corresponding to a target service of a vehicle based on a first communication connection between a vehicle service layer and a service manager, wherein the vehicle service layer is associated with a first business domain of the vehicle; establishing a second communication connection between the vehicle service layer and the service agent, wherein a third communication connection is established between the service agent and a second business domain of the vehicle, the second business domain being different from the first business domain; and providing the target service based on the second communication connection and the third communication connection.
[0005] In a second aspect of the present disclosure, a device for managing vehicle services is provided. The device includes: a determination module configured to determine a service agent corresponding to a target service of a vehicle based on a first communication connection between a vehicle service layer and a service manager, wherein the vehicle service layer is associated with a first business domain of the vehicle; an establishment module configured to establish a second communication connection between the vehicle service layer and the service agent, wherein a third communication connection is established between the service agent and a second business domain of the vehicle, and the second business domain is different from the first business domain; and a provision module configured to provide the target service based on the second communication connection and the third communication connection.
[0006] In a third aspect of the present disclosure, an electronic device is provided. The device includes at least one processing unit; and at least one memory, the at least one memory is coupled to the at least one processing unit and stores instructions for execution by the at least one processing unit. When the instructions are executed by the at least one processing unit, the device executes the method of the first aspect.
[0007] In a fourth aspect of the present disclosure, a computer-readable storage medium is provided, wherein a computer program is stored on the computer-readable storage medium, and the computer program can be executed by a processor to implement the method of the first aspect.
[0008] In a fifth aspect of the present disclosure, a computer program product is provided, which includes computer executable instructions, and when the computer executable instructions are executed by a processor, the method of the first aspect is implemented.
[0009] It should be understood that the contents described in the summary of the present invention are not intended to limit the key features or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] The above and other features, advantages and aspects of the embodiments of the present disclosure will become more apparent with reference to the following detailed description in conjunction with the accompanying drawings. In the accompanying drawings, the same or similar reference numerals represent the same or similar elements, wherein:
[0011] Figure 1 A schematic diagram showing an example environment in which embodiments of the present disclosure can be implemented;
[0012] Figure 2 A schematic diagram showing an example architecture for managing vehicle services according to some embodiments of the present disclosure;
[0013] Figure 3 A flowchart illustrating a process of managing vehicle services according to some embodiments of the present disclosure;
[0014] Figure 4 A block diagram showing an apparatus for managing vehicle services according to some embodiments of the present disclosure; and
[0015] Figure 5 A block diagram of a device capable of implementing various embodiments of the present disclosure is shown. DETAILED DESCRIPTION
[0016] Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. Although certain embodiments of the present disclosure are shown in the accompanying drawings, it should be understood that the present disclosure can be implemented in various forms and should not be construed as being limited to the embodiments set forth herein. On the contrary, these embodiments are provided to provide a more thorough and complete understanding of the present disclosure. It should be understood that the drawings and embodiments of the present disclosure are only for exemplary purposes and are not intended to limit the scope of protection of the present disclosure.
[0017] In the description of the embodiments of the present disclosure, the term "including" and similar terms should be understood as open inclusion, that is, "including but not limited to". The term "based on" should be understood as "based at least in part on". The term "one embodiment" or "the embodiment" should be understood as "at least one embodiment". The term "some embodiments" should be understood as "at least some embodiments". Other explicit and implicit definitions may be included below. The terms "first", "second", etc. may refer to different or the same objects. Other explicit and implicit definitions may be included below.
[0018] The embodiments of the present disclosure may involve user data, data acquisition and / or use, etc. These aspects are subject to the corresponding laws, regulations and relevant provisions. In the embodiments of the present disclosure, all data collection, acquisition, processing, processing, forwarding, use, etc. are carried out on the premise that the user knows and confirms. Accordingly, when implementing each embodiment of the present disclosure, the type, scope of use, usage scenario, etc. of the data or information that may be involved should be informed to the user and the user's authorization should be obtained in an appropriate manner in accordance with the relevant laws and regulations. The specific notification and / or authorization method can vary according to the actual situation and application scenario, and the scope of the present disclosure is not limited in this respect.
[0019] As briefly mentioned above, the ECU can be triggered based on the instructions of the driving user to provide corresponding services to the driving user. Under the traditional distributed electronic and electrical architecture, the vehicle adopts a "signal-oriented" software structure, and the communication method between ECUs is point-to-point communication through buses such as the Local Interconnect Network (LIN) bus and the Controller Area Network (CAN) bus. ECU signals can be preset during the software compilation stage, so that the sending and receiving relationship and routing information are static. At this time, if you want to upgrade or add a certain function, you need to modify all ECU software related to the signal, and modify the gateway configuration and number of nodes of the bus. Therefore, in the design of the ECU software architecture, whether various signals can be accurately and efficiently sent and received in the car is the focus of the communication network.
[0020] In this regard, a feasible solution is to introduce a service-oriented architecture (SOA) software architecture to build and provide vehicle services. SOA is a service-oriented architecture design pattern, whose goal is to create a highly cohesive and low-coupling system, which makes the functions and performance of the vehicle more determined by software. SOA architecture design can be understood as separating services from applications in the vehicle software system to achieve more flexible system design and development, and changing cross-ECU interaction from "signal-based communication" to "service-based communication."
[0021] Generally, SOA architecture can be built based on MBUX, Linux, Android and other systems, such as the ASF architecture that expands the general basic software and the service management framework of AUTOSAR. In the SOA architecture, the vehicle can be divided into multiple domains (for example, power domain, chassis domain, body domain, cockpit domain and intelligent driving domain, etc.) based on the functions that the vehicle can use and the source of the functions. Therefore, by utilizing the "domain", the vehicle electronic system is decomposed into several functional blocks according to the function, in which the domain controller of the domain can lead the construction of the system architecture inside different functional blocks, and use the multi-core CPU / GPU chip with stronger processing power to relatively centrally control each domain, replacing the distributed electronic and electrical architecture in the current vehicle. Accordingly, in the case of multiple domains, the provision and consumption of services (abbreviated as SOA services) facing SOA often need to be implemented based on cross-domain communication.
[0022] During this process, it is necessary to serialize and deserialize data using serialization and deserialization libraries multiple times to achieve cross-domain communication (for example, cross-domain communication between the cockpit domain and the body domain), which not only requires a large investment in computing resources, but also makes the information transmission efficiency low.
[0023] Embodiments of the present disclosure propose a solution for managing vehicle services. According to various embodiments of the present disclosure, based on a first communication connection between a vehicle service layer and a service manager, a service agent corresponding to a target service of a vehicle is determined, the vehicle service layer is associated with a first business domain of the vehicle; a second communication connection between the vehicle service layer and the service agent is established, wherein a third communication connection is established between the service agent and a second business domain of the vehicle, the second business domain being different from the first business domain; and based on the second communication connection and the third communication connection, a target service is provided.
[0024] In the embodiment of the present disclosure, the vehicle service layer associated with the first service domain can directly connect with the second service domain by using a service agent, so that vehicle services can be provided more efficiently.
[0025] Example Environment
[0026] Figure 1 A schematic diagram of an example environment 100 in which embodiments of the present disclosure can be implemented is shown. A vehicle 130 is at least configured with a service management system 110 , which can be used to manage services 120 (eg, SOA services) associated with the vehicle 130 .
[0027] The service management system 110 can provide a trigger entry for the driving user by using, for example, a vehicle computer, a terminal device of the driving user, etc., so as to realize interaction with the driving user and enable the driving user to obtain the service 120 provided by the vehicle 130. In some embodiments, the service 120 can be a specific function associated with each domain (for example, a power domain, a chassis domain, a body domain, a cockpit domain, and an intelligent driving domain, etc.) in the vehicle 130. The function 120 can be provided by each domain (for example, a cockpit lighting adjustment function provided by the cockpit domain, a seat adjustment function provided in the cockpit domain, etc.), or used by the domain (for example, a service indicating that the relevant parameters of a function in the domain are updated). In some embodiments, the service management system 110 can pre-load the service 120, for example, establish an identifier for the service 120, so that cross-domain communication can be established by means of communication and routing identifiers. For example, the body domain can route the identifier of the service 120 that can be provided to the cockpit domain. In this way, the driving user can obtain the service 120 provided by other domains by interacting with a certain domain. For example, the service management system 110 may provide a service in the cockpit domain for the driving user to trigger the service 120 provided by the body domain, or in other words, the driving user may obtain the service 120 provided by the body domain based on the interaction with the cockpit domain.
[0028] The service management system 110 can provide a trigger entry for the service 120 that can be provided, so that the driving user can use it to obtain the corresponding function 120. For example, the service management system 110 can provide a trigger entry associated with each domain in a terminal device that can interact with the cockpit domain (for example, a vehicle computer, a terminal device held by a driving user, etc.), so that the driving user can obtain the services 120 provided by the cockpit domain and other domains through interaction with the cockpit domain. For example, taking the service 120 as a function of controlling the lights in the cockpit of the vehicle 130 (for example, turning the lights on and off), the service management system 110 can provide a trigger entry for the service, so that the driving user can control the lights in the cockpit through the trigger entry.
[0029] In some embodiments, the service management system 110 may be part of the driving system of the vehicle 130 , for example, the service management system 110 may be composed of one or more units in the driving system of the vehicle 130 .
[0030] It should be understood that the structure and functionality of environment 100 are described for exemplary purposes only and does not imply any limitation on the scope of the present disclosure.
[0031] Overall architecture of service management
[0032] Figure 2 A schematic diagram of an example architecture of a service management system 110 according to some embodiments of the present disclosure is shown. The service management system 110 is associated with at least one business domain. In some embodiments, the business domain may be, for example, one of the cockpit domain, body domain, and intelligent driving domain described above. In the service management system 110, a driving user can interact with a business domain to obtain services 120 provided by the current business domain or other business domains. Thus, the service management system 110 may choose to configure a unit (e.g., a vehicle service layer) in the cockpit domain for communication with the driving user for the driving user to interact with. Accordingly, for the convenience of description, a business domain configured with a vehicle service layer, or a business domain associated with a vehicle service layer, may be described as a business domain. Similarly, other domains different from the first business domain may be described as a second business domain. In some embodiments, the first business domain is a cockpit domain of a vehicle, and / or the second business domain is a body domain and / or an intelligent driving domain of a vehicle. Thus, services are provided to driving users by utilizing a domain that is more convenient for driving users to operate. For example, in Figure 2 In the illustrated structure 200 , the first business domain may be a cockpit domain 210 , and the second business domain may be a body domain 220 or an intelligent driving domain 230 .
[0033] In an embodiment of the present disclosure, a vehicle service layer 240 may be included in the cockpit domain 210 to utilize the vehicle service layer 240 to separate applications (e.g., applications in the application layer 211) and services 120. Taking the Android system as an example, the application may be located in the application layer 211, and the application may be the final SOA service consumer or provider in the SOA architecture based on the Android system. The application layer 211 may communicate downward with the vehicle service layer 240 through the Binder process communication protocol. Thus, in order to achieve more flexible system design and development, cross-ECU interaction is changed from "signal-based communication" to "service-based communication". For ease of understanding, the SOA architecture built on the Android system will also be used for exemplary explanation in the following.
[0034] In the cockpit domain 210, the vehicle service layer 240 can exchange data with the service manager 251 using the first communication connection 272. The vehicle service layer 240 can be in the Framework layer of the Android system, and can maintain services 120 associated with users (User), lights (Light), seats (Seat), air conditioning (Hvac), and cabins (Cabin). For example, Figure 2 The user 242, light 243, and seat 244 shown in the figure can provide support to the application layer 211 (for example, the driving user can use the application in the application layer 211 to obtain service support associated with the light 243). In some embodiments, the vehicle service layer 240 may include a hardware abstraction layer (HAL) corresponding to other units and layers, so as to facilitate the use of the hardware abstraction layer to communicate with other units and layers. For example, the vehicle service layer 240 can communicate with the vehicle service 261 through the vehicle HAL 245 included therein. In some embodiments, the vehicle service 261 is a native process in the Android domain. Responsible for receiving the vehicle control request sent by the vehicle service layer 240, and sending the request to the underlying MCU through Uart, SPI, and Socket, and realizing communication with the vehicle body domain 220 and the intelligent driving domain 230 through the CAN bus.
[0035] In some embodiments, the vehicle service layer 240 can act as a service acquirer or provider of the target service based on the provision or consumption of services by the application in the application layer 211. For example, in the case where the application requests to consume services (for example, to adjust the lights in the cockpit domain), the vehicle service layer 240 can act as an acquirer of the target service to obtain services 120 provided by at least one domain for consumption by the application. Similarly, in the case where the application provides services (for example, to update the content in the domain), the vehicle service layer 240 can act as a provider of the target service to provide services 120 to at least one domain. Thus, the vehicle service layer 240 can interact downward with the vehicle service 261, convey downward calls initiated by the application layer 211 (for example, to achieve communication 272 through forwarding of the vehicle service 261), or receive the latest status and promptly notify the corresponding application in the application layer 211 of the latest status upward to realize the SOA architecture.
[0036] In some embodiments, in order to facilitate the interaction between the vehicle service layer 240 and each service in the SOA (hereinafter referred to as SOA service), such as service 120, and reduce cross-process communication, the vehicle service layer 240 may include a service-oriented architecture hardware abstraction layer SOAHAL, such as SOA HAL 246. The vehicle service layer 240 can use SOA HAL 246 to directly establish direct communication with the SOA service, or in other words, use SOA HAL 246 to directly implement communication 272 with the service manager without forwarding. Thus, SOA HAL 246 can be used to establish direct communication between the service 120 and the application layer 211, and forwarding of other units, layers or processes such as vehicle service 261 is no longer required, which can reduce cross-process Binder calls and improve communication efficiency.
[0037] The SOA Service Manager is responsible for managing the agents of all SOA services in the Android domain (for example, or in other words, the identifiers corresponding to the SOA services), including the services on the server side and the client side, or in other words, the services 120 provided by the application or consumed by the application. In some embodiments, the first service agent 252 may correspond to the service 120 provided by the domain, or in other words, the service agent that maintains the service 120 that can be obtained by the vehicle service layer 240 as the service acquirer. Correspondingly, the second service agent 253 is different from the first service agent 252, and it may correspond to the service 120 provided to the domain, or in other words, it is the service agent of the service 120 provided by the vehicle service layer as the service provider. Thus, the service agent can be differentially maintained based on whether the service 120 is obtained or provided by the vehicle service layer 240 to simplify the call logic and improve the call efficiency. The vehicle service layer 240 can obtain the corresponding service agent through the service manager as a service interface to realize the communication between the first service agent 252 and the second service agent 253. In some embodiments, a group of first service agents 252 can be maintained as SOA agents, and correspondingly, a group of second service agents 253 can be maintained as SOA providers. The service manager 251 can communicate with the SOA agent and the SOA maintainer to obtain the first service agent 252 and the second service agent 253. In some embodiments, the SOA agent and the SOA service party can also maintain description information of the service agent (e.g., name, usage status, etc.) for the service agent. As a result, the vehicle service layer 240 can determine the service agent of the target service desired to be obtained or provided based on the communication 272 with the service manager 251. Similarly, the service manager 251 can obtain the status of the service from the vehicle service layer 240 in a similar manner to update the corresponding service agent. For example, when the application in the application layer 211 expects to call the lighting adjustment service in the cabin, the service agent corresponding to the service (i.e., the target service) can be determined based on the communication 272. In some embodiments, the SOA agent can be a native process in an Android domain, which maintains the client of all SOA services consumed in the Android domain. Correspondingly, the SOA provider can also be a native process in the Android domain, which maintains the server side of all SOA services provided in the Android domain. In some embodiments, different coding languages can be selected to generate the vehicle service layer 240 and the service manager 251, the SOA agent, and the SOA provider. For example, when the vehicle service layer 240 can be generated based on Java, C++ can be selected to generate the service manager 251, the SOA agent, and the SOA provider. Thereby, the difficulty of generating the vehicle service layer 240 is partially reduced.
[0038] In some embodiments, the service agent maintained in the SOA agent and the SOA provider can be specific to the service interface of the target service, or in other words, the service agent is a personalized interface for the SOA service. As a result, the SOA service can implement specific functions through the personalized interface to achieve the effect of knowing the meaning by name, making it easier to understand and use than using general interfaces such as Set, Get, and Bub. For example, the personalized interface can have information such as "reading light control" and "window position adjustment" to reflect the service corresponding to the personalized interface. For example, for each client of the SOA service, a set of personalized interfaces for this SOA service can be maintained. The personalized interface can be registered in the above-mentioned service manager 251 in an agent manner, so that, for example, the vehicle service layer 240 can directly obtain the service agent of a specific service through the account manager 251, and directly communicate with the client maintained by the SOA agent through the service agent. Similarly, the vehicle service layer 240 can also directly obtain the service agent of a specific service through the account manager 251, and directly communicate with the service end maintained by the SOA provider through the service agent.
[0039] In some embodiments, the service management system 110 can also configure the personalized interface to transmit service data based on the inter-process communication process between the vehicle service layer and the service agent. The service interface is configured to transmit service data based on the inter-process communication process between the vehicle service layer and the service agent, and the inter-process communication process is configured to perform serialization and deserialization on the service data. Specifically, when transferring data across processes, the personalized interface can directly use the Android Hwbinder serialization mechanism to implement serialization and deserialization. As a result, the data transmitted based on the personalized interface does not need to be serialized into general data through a serialization tool like a general interface, and does not need to be deserialized into personalized parameter data through a corresponding tool, thereby reducing the number of serialization and deserialization times, while reducing the resource consumption introduced by loading the serialization and deserialization library, so that more services 120 can be configured under the same computing resources.
[0040] Further, after determining the service agent requested by the vehicle service layer 240, the service management system 110 can establish a second communication connection between the vehicle service layer 240 and the corresponding service agent. For example, if the service agent is a service agent in the first service agent 252, the service management system 110 can establish communication 271 so that the vehicle service layer 240 can communicate with the corresponding service agent. Similarly, if the service agent is a service agent in the second service agent 253, the service management system 110 can establish communication 273 so that the vehicle service layer 240 can communicate with the corresponding service agent.
[0041] In an embodiment of the present disclosure, the service agent establishes a third communication connection with the second business domain of the vehicle (e.g., the body domain 220, the intelligent driving domain 230). The third communication connection can be, for example, based on the service agent of the service 120, providing the service 120 to the second business domain outside the first business domain, or providing the service 120 provided by the second business domain, thereby realizing cross-domain communication. In some embodiments, the third communication connection can be implemented based on the protocol stack 262, for example, SOME / IPDaemon. For example, the protocol station 262 can establish a third communication connection between a first process corresponding to the service agent and a second process corresponding to the out-of-domain communication with the second business domain to realize cross-domain communication. For example, the protocol stack 262 can be used to trigger the relationship between the second process for triggering the service provided in the body domain 220 and the first process realized by the service agent being triggered. In the case where the first process associated with the service agent is triggered, the protocol stack 262 can establish communication using the third communication to trigger the corresponding second process to realize cross-domain communication. In some embodiments, the third communication connection implemented by the protocol stack 262 can be implemented based on the communication protocol stack, and the second process is configured to send control instructions to the second business domain and / or receive status data from the second business domain. For example, the protocol stack 262 can be an Android Native process. Taking the protocol stack 262 implemented by SOME / IPDaemon as an example, the protocol stack 262 can maintain the normal operation of the SOME / IP and SOME / IP-SD protocol stacks to receive data sent by the service agent in the SOA agent and the SOA provider as the first process, and through the SOME / IP and SOME / IP-SD protocol stacks with the body domain 220 or the smart driving domain 230, for example, send control instructions, receive status data reported by the body domain or the smart driving domain, and send status data to the SOA agent or SOA provider as needed. Extra-domain communication. Furthermore, the vehicle service layer 240 can communicate with the protocol stack 262 by communicating with the service agent, or in other words, the vehicle service layer 240 can establish cross-domain communication with the second business domain by simultaneously utilizing the second communication connection and the third communication connection to indicate the provision of the target service associated with the application (for example, adjusting the lights in the cabin).
[0042] In some embodiments, a message parsing module may also be provided in the service management system 110, so that the message parsing module may be used to obtain data associated with the third communication connection and parse it. The message parsing module may define an identification number through the data structure selected by the terminal device to realize deserialization of binary data into specific structured data in the format of JS object notation (JavaScript Object Notation, referred to as Json). In other words, the message parsing module may deserialize the binary data input based on the third communication input into specific structured data in Json format. Thus, during the debugging phase, the message data can be compared with the data received by the client, so as to better complete the adjustment while reducing the dependence on the CANoe hardware tool.
[0043] In some scenarios, if the cockpit domain also includes other layers for providing and / or consuming services (e.g., the advanced driver assistance layer 264), it can interact with the service management 251 in a similar manner (e.g., forwarding using other units, services, layers, or using a locally configured HAL) to provide the target service, which is not repeated here.
[0044] In order to better understand the performance of the service management system 110, in some embodiments, the service management system 110 may also allow the service manager 251 to be tested using test data to understand and evaluate the performance of the service management system 110. In some embodiments, in order to more conveniently implement the test, the service management system 110 may also include a test module (e.g., test module 265) for testing the service management system 110. In the case of expecting to test, a fourth communication connection between the test module 265 and the service manager 251 may be established in the service management system 110. The test module 265 may simulate the input data of the vehicle service layer 241 to implement the test. For example, the test module 265 may simulate the state of the service manager 251 in different scenarios (e.g., providing a first number of services 120 at the same time, providing a second number of services 120 different from the first number at the same time, etc., or a certain service 120 target service, etc.) to generate corresponding test data, and send the test data to the service manager 251 for testing based on the fourth communication connection.
[0045] In some embodiments, in order to be configured and provide services more conveniently, the service management system 110 may also include a generation module. The generation module may generate a target code corresponding to the target service based on a set of value service requirement information corresponding to a set of fields indicated by information, and complete the deployment. For example, a matrix defined in, for example, Excel format may be used to indicate a set of values corresponding to a set of fields. After the generation module obtains the matrix, it reads the interface (control interface or event interface), parameters, domain information, package name information, etc. of the corresponding service. Further, the generation module generates the target code of the target service based on a pre-configured template to implement code deployment. In some embodiments, the target code may include at least one of the corresponding HAL interface, Types parameter, Android.bp, SOA service code, SOME / IP interface code, etc., so that the generated code can be directly deployed, thereby simplifying the difficulty of the service management system 110 and improving the configuration efficiency. In addition, the test data (or test code) used in the above-mentioned test module can also be provided by the generation module to further improve the test efficiency. It should be understood that the above-mentioned target service can be an existing service 120 determined according to demand, that is, the generation module is used to update the code of the existing service 120, or it can be a new service 120, that is, the generation module is used to generate a new service 120. The present disclosure is not intended to limit this.
[0046] In some embodiments, if the service management system 110 is provided with both a message parsing module and a generation module, the message parsing module can encapsulate the data definition logic generated by the generation module and the data deserialization logic to achieve the purpose of parsing the message data and deserializing it into Jon format data.
[0047] Then, in the solution for managing vehicle services provided by the present disclosure, the vehicle service layer associated with the first business domain can directly connect with the second business domain using a service agent. This approach can provide vehicle services more efficiently.
[0048] References Figure 2 An example architecture of a timing processing system is described. It should be understood that Figure 2 The division of various units shown is only exemplary and is not intended to limit the scope of the present disclosure. The embodiments of the present disclosure may adopt any suitable modules, units and structures to implement the described operations.
[0049] Example Method
[0050] Figure 3 FIG. 1 is a flow chart showing a process 300 for managing vehicle services according to some embodiments of the present disclosure. The process 300 may be implemented at the service management system 110. Figure 1 Process 300 is described.
[0051] At block 310 , the service management system 110 determines a service agent corresponding to a target service of the vehicle based on a first communication connection between the vehicle service layer and the service manager. In an embodiment of the present disclosure, the vehicle service layer is associated with a first business domain of the vehicle.
[0052] At block 320 , the service management system 110 establishes a second communication connection between the vehicle service layer and the service agent.
[0053] In an embodiment of the present disclosure, a third communication connection is established between the service agent and a second service domain of the vehicle, and the second service domain is different from the first service domain.
[0054] In block 330 , the service management system 110 provides the target service based on the second communication connection and the third communication connection.
[0055] In some embodiments, the vehicle service layer is a service acquirer or a service provider of a target service.
[0056] In some embodiments, if the vehicle service layer is the service acquirer of the target service, the target service corresponds to a first service agent; if the vehicle service layer is the service provider of the target service, the target service corresponds to a second service agent, which is different from the first service agent.
[0057] In some embodiments, the first communication connection comprises a communication connection between the service manager and a service-oriented architecture hardware abstraction layer SOA HAL in a vehicle service layer.
[0058] In some embodiments, the third communication connection includes a communication connection established based on inter-process communication between a first process and a second process, the first process corresponds to a service agent, and the second process corresponds to an out-of-domain communication with a second business domain.
[0059] In some embodiments, the second process is implemented based on a communication protocol stack, and the second process is configured to send a control instruction to the second service domain and / or receive status data from the second service domain.
[0060] In some embodiments, the service proxy provides a service interface specific to the target service.
[0061] In some embodiments, the service interface is configured to transmit service data based on an inter-process communication process between the vehicle service layer and the service agent, and the inter-process communication process is configured to perform serialization and deserialization processing on the service data.
[0062] In some embodiments, process 300 further includes: using a code generation module to obtain service requirement information corresponding to a target service, the service requirement information indicating a set of values corresponding to a set of fields; and using the code generation module to generate target code corresponding to the deployed target service.
[0063] In some embodiments, the process 300 further includes: acquiring message data associated with the third communication connection using a message parsing module; and converting the message data into structured data using the message parsing module.
[0064] In some embodiments, process 300 further includes: establishing a fourth communication connection between the test module and the service manager, the test module being configured to simulate input data of the vehicle service layer; and testing the target service based on the test data received via the fourth communication connection.
[0065] In some embodiments, the first business domain is a cockpit domain of the vehicle, and / or the second business domain is a body domain and / or an intelligent driving domain of the vehicle.
[0066] Example devices and equipment
[0067] Figure 4 A schematic structural block diagram of an apparatus 400 for managing vehicle services according to some embodiments of the present disclosure is shown. The apparatus 400 may be implemented as or included in a service management system 110. Each module / component in the apparatus 400 may be implemented by hardware, software, firmware, or any combination thereof.
[0068] As shown in the figure, the device 400 includes a determination module 410, which is configured to determine a service agent corresponding to a target service of the vehicle based on a first communication connection between a vehicle service layer and a service manager, and the vehicle service layer is associated with a first business domain of the vehicle. The device 400 also includes an establishment module 420, which is configured to establish a second communication connection between the vehicle service layer and the service agent, wherein a third communication connection is established between the service agent and a second business domain of the vehicle, and the second business domain is different from the first business domain. The device 400 also includes a provision module 430, which is configured to provide the target service based on the second communication connection and the third communication connection.
[0069] In some embodiments, the vehicle service layer is a service acquirer or a service provider of a target service.
[0070] In some embodiments, if the vehicle service layer is the service acquirer of the target service, the target service corresponds to a first service agent; if the vehicle service layer is the service provider of the target service, the target service corresponds to a second service agent, which is different from the first service agent.
[0071] In some embodiments, the first communication connection comprises a communication connection between the service manager and a service-oriented architecture hardware abstraction layer SOA HAL in a vehicle service layer.
[0072] In some embodiments, the third communication connection includes a communication connection established based on inter-process communication between a first process and a second process, the first process corresponds to a service agent, and the second process corresponds to an out-of-domain communication with a second business domain.
[0073] In some embodiments, the second process is implemented based on a communication protocol stack, and the second process is configured to send a control instruction to the second service domain and / or receive status data from the second service domain.
[0074] In some embodiments, the service proxy provides a service interface specific to the target service.
[0075] In some embodiments, the service interface is configured to transmit service data based on an inter-process communication process between the vehicle service layer and the service agent, and the inter-process communication process is configured to perform serialization and deserialization processing on the service data.
[0076] In some embodiments, the apparatus 400 further includes: a first acquisition module configured to use the code generation module to acquire service requirement information corresponding to the target service, the service requirement information indicating a set of values corresponding to a set of fields. The apparatus 400 further includes: a first generation module configured to use the code generation module to generate target code corresponding to the deployment target service.
[0077] In some embodiments, the apparatus 400 further comprises: a second acquisition module configured to acquire message data associated with the third communication connection using the message parsing module. The apparatus 400 further comprises: a conversion module configured to convert the message data into structured data using the message parsing module.
[0078] In some embodiments, the apparatus 400 further includes: an establishment module configured to establish a fourth communication connection between the test module and the service manager, the test module configured to simulate input data of the vehicle service layer. The apparatus 400 further includes: a test module configured to test the target service based on the test data received via the fourth communication connection.
[0079] In some embodiments, the first business domain is a cockpit domain of the vehicle, and / or the second business domain is a body domain and / or an intelligent driving domain of the vehicle.
[0080] Figure 5 A block diagram illustrating a computing device 500 in which one or more embodiments of the present disclosure may be implemented is shown. It should be understood that Figure 5The computing device 500 shown is merely exemplary and should not constitute any limitation on the functionality and scope of the embodiments described herein. Figure 5 The computing device 500 shown may be used to implement Figure 1 The service management system 110.
[0081] like Figure 5 As shown, computing device 500 is in the form of a general-purpose computing device. Components of computing device 500 may include, but are not limited to, one or more processors or processing units 510, memory 520, storage device 530, one or more communication units 540, one or more input devices 550, and one or more output devices 560. Processing unit 510 may be an actual or virtual processor and is capable of performing various processes according to a program stored in memory 520. In a multi-processor system, multiple processing units execute computer executable instructions in parallel to increase the parallel processing capabilities of computing device 500.
[0082] The computing device 500 typically includes a plurality of computer storage media. Such media may be any accessible media that is accessible to the computing device 500, including but not limited to volatile and non-volatile media, removable and non-removable media. The memory 520 may be a volatile memory (e.g., registers, caches, random access memory (RAM)), a non-volatile memory (e.g., a read-only memory (ROM), an electrically erasable programmable read-only memory (EEPROM), flash memory), or some combination thereof. The storage device 530 may be a removable or non-removable medium, and may include a machine-readable medium, such as a flash drive, a disk, or any other medium, which may be capable of being used to store information and / or data (e.g., training data for training) and may be accessed within the computing device 500.
[0083] The computing device 500 may further include additional removable / non-removable, volatile / non-volatile storage media. Figure 5 As shown in , a disk drive for reading or writing from a removable, non-volatile disk (e.g., a "floppy disk") and an optical drive for reading or writing from a removable, non-volatile optical disk may be provided. In these cases, each drive may be connected to the bus (not shown) by one or more data media interfaces. The memory 520 may include a computer program product 525 having one or more program modules that are configured to perform various methods or actions of various embodiments of the present disclosure.
[0084] The communication unit 540 enables communication with other computing devices via a communication medium. Additionally, the functions of the components of the computing device 500 can be implemented in a single computing cluster or multiple computing machines that can communicate via a communication connection. Therefore, the computing device 500 can operate in a networked environment using a logical connection with one or more other servers, a network personal computer (PC), or another network node.
[0085] Input device 550 may be one or more input devices, such as a mouse, keyboard, trackball, etc. Output device 560 may be one or more output devices, such as a display, speaker, printer, etc. Computing device 500 may also communicate with one or more external devices (not shown) through communication unit 540 as needed, such as storage devices, display devices, etc., communicate with one or more devices that allow a user to interact with computing device 500, or communicate with any device that allows computing device 500 to communicate with one or more other computing devices (e.g., a network card, a modem, etc.). Such communication may be performed via an input / output (I / O) interface (not shown).
[0086] According to an exemplary implementation of the present disclosure, a computer-readable storage medium is provided, on which computer-executable instructions are stored, wherein the computer-executable instructions are executed by a processor to implement the method described above. According to an exemplary implementation of the present disclosure, a computer program product is also provided, which is tangibly stored on a non-transitory computer-readable medium and includes computer-executable instructions, and the computer-executable instructions are executed by a processor to implement the method described above.
[0087] Various aspects of the present disclosure are described herein with reference to the flowcharts and / or block diagrams of the methods, devices, equipment, and computer program products implemented according to the present disclosure. It should be understood that each box in the flowchart and / or block diagram and the combination of each box in the flowchart and / or block diagram can be implemented by computer-readable program instructions.
[0088] These computer-readable program instructions can be provided to a processing unit of a general-purpose computer, a special-purpose computer, or other programmable data processing device, thereby producing a machine, so that when these instructions are executed by the processing unit of the computer or other programmable data processing device, a device that implements the functions / actions specified in one or more boxes in the flowchart and / or block diagram is generated. These computer-readable program instructions can also be stored in a computer-readable storage medium, and these instructions cause the computer, programmable data processing device, and / or other equipment to work in a specific manner, so that the computer-readable medium storing the instructions includes a manufactured product, which includes instructions for implementing various aspects of the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0089] Computer-readable program instructions can be loaded onto a computer, other programmable data processing apparatus, or other device so that a series of operational steps are performed on the computer, other programmable data processing apparatus, or other device to produce a computer-implemented process, so that the instructions executed on the computer, other programmable data processing apparatus, or other device implement the functions / actions specified in one or more boxes in the flowchart and / or block diagram.
[0090] The flow chart and block diagram in the accompanying drawings show the possible architecture, function and operation of the system, method and computer program product according to multiple implementations of the present disclosure. In this regard, each square box in the flow chart or block diagram can represent a part of a module, program segment or instruction, and a part of a module, program segment or instruction includes one or more executable instructions for realizing the logical function of the specification. In some implementations as replacements, the function marked in the square box can also occur in a sequence different from that marked in the accompanying drawings. For example, two continuous square boxes can actually be executed substantially in parallel, and they can sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each square box in the block diagram and / or flow chart, and the combination of the square boxes in the block diagram and / or flow chart can be realized by a special hardware-based system that performs the function or action of the specification, or can be realized by a combination of special hardware and computer instructions.
[0091] The above descriptions of various implementations of the present disclosure are exemplary, non-exhaustive, and not limited to the disclosed implementations. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described implementations. The selection of terms used herein is intended to best explain the principles of the implementations, practical applications, or improvements to the technology in the market, or to enable other persons of ordinary skill in the art to understand the various implementations disclosed herein.
Claims
1. A method for managing vehicle services, comprising: determining, based on a first communication connection between a vehicle service layer and a service manager, a service agent corresponding to a target service of the vehicle, the vehicle service layer being associated with a first service domain of the vehicle; Establishing a second communication connection between the vehicle service layer and the service agent, wherein a third communication connection is established between the service agent and a second service domain of the vehicle, the second service domain being different from the first service domain; as well as The target service is provided based on the second communication connection and the third communication connection. 2 . The method according to claim 1 , wherein the vehicle service layer is a service acquirer or a service provider of the target service.
3. The method according to claim 2, wherein: If the vehicle service layer is the service acquirer of the target service, the target service corresponds to a first service agent; If the vehicle service layer is the service provider of the target service, the target service corresponds to a second service agent that is different from the first service agent. 4 . The method according to claim 1 , wherein the first communication connection comprises a communication connection between the service manager and a service-oriented architecture hardware abstraction layer (SOA HAL) in the vehicle service layer.
5. The method according to claim 1, wherein the third communication connection comprises a communication connection established based on inter-process communication between a first process and a second process, the first process corresponding to the service agent, and the second process corresponding to extra-domain communication with the second business domain. 6 . The method according to claim 5 , wherein the second process is implemented based on a communication protocol stack, and the second process is configured to send a control instruction to the second service domain and / or receive status data from the second service domain. The method according to claim 1 , wherein the service agent provides a service interface specific to the target service. 8 . The method according to claim 7 , wherein the service interface is configured to transmit service data based on an inter-process communication process between the vehicle service layer and the service agent, and the inter-process communication process is configured to perform serialization and deserialization processing on the service data.
9. The method according to claim 1, further comprising: Acquire, using a code generation module, service requirement information corresponding to the target service, the service requirement information indicating a set of values corresponding to a set of fields; as well as The code generation module is used to generate target code corresponding to the deployment of the target service.
10. The method according to claim 1, further comprising: Acquire message data associated with the third communication connection using a message parsing module; as well as The message data is converted into structured data using the message parsing module.
11. The method according to claim 1, further comprising: establishing a fourth communication connection between a test module and the service manager, the test module being configured to simulate input data of the vehicle service layer; as well as The target service is tested based on the test data received via the fourth communication connection.
12. The method according to claim 1, wherein the first service domain is a cockpit domain of the vehicle, and / or The second business domain is the body domain and / or intelligent driving domain of the vehicle.
13. A device for managing vehicle services, comprising: a determination module configured to determine a service agent corresponding to a target service of the vehicle based on a first communication connection between a vehicle service layer and a service manager, the vehicle service layer being associated with a first service domain of the vehicle; an establishing module configured to establish a second communication connection between the vehicle service layer and the service agent, wherein a third communication connection is established between the service agent and a second service domain of the vehicle, the second service domain being different from the first service domain; as well as The providing module is configured to provide the target service based on the second communication connection and the third communication connection.
14. An electronic device comprising: at least one processing unit; as well as At least one memory, the at least one memory being coupled to the at least one processing unit and storing instructions for execution by the at least one processing unit, the instructions causing the electronic device to perform the method according to any one of claims 1 to 12 when executed by the at least one processing unit.
15. A computer-readable storage medium having a computer program stored thereon, wherein the computer program can be executed by a processor to implement the method according to any one of claims 1 to 12.
16. A computer program product comprising computer executable instructions, wherein the computer executable instructions, when executed by a processor, implement the method according to any one of claims 1 to 12.
Citation Information
Cited By
Service-oriented architecture realized based on Binder
CN119938364A
Service-Oriented Architecture Based on Binder
CN119938364B
SOMEIP communication method, vehicle and medium
CN121478515A