Supports interaction methods, devices, equipment, and media for service-oriented software architecture.

By configuring SOME/IP services and processing clusters, the problem of separate configuration for SOME/IP communication is solved, enabling simplified communication and efficient message fusion in the intelligent driving domain.

CN118869660BActive Publication Date: 2026-03-10CHERY AUTOMOBILE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-06-27
Publication Date
2026-03-10

AI Technical Summary

Technical Problem

In existing technologies, SOME/IP communication between the intelligent driving domain and other automotive functional domains requires separate configuration, involves a large number of messages, and is difficult to support one-to-many message fusion communication, resulting in high communication complexity.

Method used

By obtaining the SOME/IP service list, configuring configuration files for each service, creating a processing cluster, and using message middleware to monitor topic activity, SOME/IP services are allocated to multiple queues based on hash functions and weights to achieve message input processing and subscription/publishing.

Benefits of technology

It simplifies the communication complexity of the intelligent driving domain, improves convenience, and allows the intelligent driving domain to communicate without having to worry about SOME/IP protocol communication, and only needs to use the intelligent driving domain's topics.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118869660B_ABST
    Figure CN118869660B_ABST
Patent Text Reader

Abstract

This application relates to an interaction method, apparatus, device, and medium supporting a service-oriented software architecture. The method includes: obtaining a list of SOME / IP services for a vehicle; configuring a corresponding configuration file for each SOME / IP service according to the SOME / IP service list; creating at least one processing cluster based on the configuration file to process message input from the SOME / IP services; and monitoring the activity status of SOME / IP service topics using a pre-defined message middleware; and subscribing to topics published by the SOME / IP services and / or publishing topics subscribed to by the SOME / IP services based on the activity status. Thus, by mapping the vehicle's SOME / IP services to topics, the problem of numerous, separate communication between each SOME / IP service, which makes one-to-many message fusion communication difficult, is solved, simplifying communication complexity and improving convenience.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of vehicle electronics, and in particular to an interaction method and device supporting a service-oriented software architecture, equipment and a medium. BACKGROUND

[0002] With the development of vehicle electronics, Ethernet communication is becoming more and more important in the vehicle EE (Electrical / Electronic Architecture) architecture. On the one hand, SOME / IP (Scalable service-Oriented MiddlewarE over IP) is an important protocol supporting vehicle Ethernet communication, responsible for the communication of automotive function domains such as the cockpit domain and the body domain; on the other hand, in the intelligent driving domain, it is a message middleware-centered communication system connecting various intelligent driving algorithm modules and ADAS (Advanced Driver Assistance System) application modules. However, the intelligent driving domain application needs to communicate with the cockpit domain, the body domain and other automotive function domains through SOME / IP to complete the control of other automotive domains, which requires a method to solve the SOME / IP communication problem between the intelligent driving domain application and other automotive function domains.

[0003] In related technologies, SOME / IP communication is integrated into SOA (Service-Oriented Architecture) services, and each SOA process that communicates with the SOME / IP service loads the SOME / IP related program, and the vehicle SOME / IP related configuration is configured for each SOA service according to different vehicle models.

[0004] However, in this method, each SOME / IP needs to be communicated separately, and the number is large, making it difficult to support one-to-many message fusion communication, which needs to be solved urgently. SUMMARY

[0005] The present application provides an interaction method and device supporting a service-oriented software architecture, equipment and a medium to solve the problem of each SOME / IP needing to be communicated separately, the large number of which makes it difficult to support one-to-many message fusion communication, simplifying the communication complexity and improving convenience.

[0006] To achieve the above-mentioned purpose, the first aspect of the present application proposes an interaction method supporting a service-oriented software architecture, comprising the following steps:

[0007] acquiring a SOME / IP service list of a vehicle, configuring a corresponding configuration file for each SOME / IP service according to the SOME / IP service list;

[0008] creating at least one processing cluster to process message input of the SOME / IP service according to the configuration file, and monitoring an active state of a SOME / IP service topic by using a preset message middleware;

[0009] subscribing to a topic published by the SOME / IP service and / or publishing a topic subscribed by the SOME / IP service according to the active state.

[0010] According to one embodiment of the present application, the creating at least one processing cluster to process message input of the SOME / IP service according to the configuration file comprises:

[0011] creating at least one processing cluster inside the SOME / IP service according to the configuration file;

[0012] creating a preset number of processing units in each processing cluster, and distributing the SOME / IP service to a plurality of queues based on a preset Hash function, so as to process message input of the SOME / IP service by using the processing units.

[0013] According to one embodiment of the present application, the distributing the SOME / IP service to the plurality of queues based on the preset Hash function comprises:

[0014] acquiring message frequency and message complexity of the SOME / IP service;

[0015] calculating a weight of the SOME / IP service message according to the message frequency and the message complexity, and distributing the SOME / IP service to the plurality of queues based on the preset Hash function and the weight.

[0016] According to one embodiment of the present application, the distributing the SOME / IP service to the plurality of queues based on the preset Hash function and the weight comprises:

[0017] determining the preset number as a number of each queue, and initializing a capacity of the each queue, when a service number of any queue meets a preset capacity condition, performing dynamic expansion based on a smallest prime number smaller than a current queue capacity;

[0018] taking a total load of a list of SOME / IP services to be distributed as a parameter of the preset Hash function, and distributing the SOME / IP service to the plurality of queues based on the parameter.

[0019] According to one embodiment of the present application, after the SOME / IP service is assigned to the plurality of queues based on the parameters, further comprising:

[0020] When the number of services in any queue meets the preset capacity condition, and the weight difference value is a preset multiple of the upper limit of the queue, the services with the minimum weight value are re-assigned based on the preset Hash function until the queue meets the preset condition.

[0021] According to the interaction method supporting service-oriented software architecture provided by the embodiments of the present application, a corresponding configuration file can be configured for each SOME / IP service according to the SOME / IP service list, and at least one message input processed by a cluster is created according to the configuration file, and a preset message middleware is used to monitor the active state of the SOME / IP service topic, so that the SOME / IP service subscribes to the topic published by the SOME / IP service and / or publishes the topic subscribed by the SOME / IP service according to the active state. Therefore, by mapping the SOME / IP service of the vehicle to the topic, the problem that each SOME / IP needs to be communicated separately, the number is large, and it is difficult to support one-to-many message fusion communication is solved, so that the intelligent driving domain does not need to care about the communication of the SOME / IP protocol, and only needs to use the topic of the intelligent driving domain for communication, which simplifies the communication complexity and improves the convenience.

[0022] To achieve the above object, the second aspect of the present application provides an interaction device supporting service-oriented software architecture, comprising:

[0023] The configuration module is configured to obtain a SOME / IP service list of a vehicle, and configure a corresponding configuration file for each SOME / IP service according to the SOME / IP service list;

[0024] The creation module is configured to create at least one message input processed by a cluster for the SOME / IP service according to the configuration file, and use a preset message middleware to monitor the active state of the SOME / IP service topic;

[0025] The processing module is configured to subscribe to the topic published by the SOME / IP service and / or publish the topic subscribed by the SOME / IP service using the SOME / IP service according to the active state.

[0026] According to one embodiment of the present application, the creation module comprises:

[0027] The creation unit is configured to create at least one processing cluster in the SOME / IP service according to the configuration file;

[0028] an allocation unit configured to create a preset number of processing units in each processing cluster, and allocate the SOME / IP service to a plurality of queues based on a preset Hash function, so as to process message input of the SOME / IP service by using the processing units.

[0029] According to an embodiment of the present application, the allocation unit comprises:

[0030] an acquisition sub-unit configured to acquire message frequency and message complexity of the SOME / IP service;

[0031] an allocation sub-unit configured to calculate a weight of the SOME / IP service message according to the message frequency and the message complexity, and allocate the SOME / IP service to the plurality of queues based on the preset Hash function and the weight.

[0032] According to an embodiment of the present application, the allocation sub-unit is specifically configured to:

[0033] determine the preset number as a number of each queue, and initialize a capacity of the each queue, and when a service number of any queue meets a preset capacity condition, perform dynamic expansion based on a smallest prime number less than a current queue capacity;

[0034] take a total load of a list of SOME / IP services to be allocated as a parameter of the preset Hash function, and allocate the SOME / IP service to the plurality of queues based on the parameter.

[0035] According to an embodiment of the present application, after the SOME / IP service is allocated to the plurality of queues based on the parameter, the allocation sub-unit is further configured to:

[0036] when the service number of any queue meets the preset capacity condition and a weight difference value is a preset multiple of an upper limit of the queue, perform re-allocation of services with a smallest weight value based on the preset Hash function, until the queue meets a preset condition.

[0037] According to the interaction method supporting the service-oriented software architecture provided by the embodiment of the present application, the corresponding configuration file can be configured for each SOME / IP service according to the SOME / IP service list, and then the message input of at least one processing cluster processing the SOME / IP service is created according to the configuration file, and the preset message middleware is used to monitor the active state of the SOME / IP service topic, so as to subscribe to the topic published by the SOME / IP service and / or publish the topic subscribed by the SOME / IP service according to the active state. Therefore, by mapping the SOME / IP service of the vehicle to the topic, the problem that each SOME / IP needs to be communicated separately, the number is large, and it is difficult to support one-to-many message fusion communication is solved, so that the intelligent driving domain does not need to care about the communication of the SOME / IP protocol, and only needs to use the topic of the intelligent driving domain for communication, which simplifies the communication complexity and improves the convenience.

[0038] To achieve the above object, the third aspect of the present application provides an electronic device, comprising: a memory, a processor and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the interaction method supporting the service-oriented software architecture as described in the above embodiments.

[0039] To achieve the above object, the fourth aspect of the present application provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the interaction method supporting the service-oriented software architecture as described in the above embodiments.

[0040] Additional aspects and advantages of the present application will be made apparent from the following description of the application, which will be made with reference to the accompanying drawings, from which the principles of the application will be apparent. BRIEF DESCRIPTION OF DRAWINGS

[0041] The above and / or additional aspects and advantages of the present application will become apparent and be readily understood from the following description, taken in conjunction with the accompanying drawings, in which:

[0042] Figure 1 A flowchart of an interaction method supporting a service-oriented software architecture according to an embodiment of the present application is provided.

[0043] Figure 2 A SOME / IP Service communication topology diagram according to an embodiment of the present application is provided.

[0044] Figure 3 A software hierarchy diagram of SOME / IP Service according to an embodiment of the present application is provided.

[0045] Figure 4System framework diagram for SOME / IP Service according to an embodiment of the present application;

[0046] Figure 5 Topic creation diagram for service mapping according to an embodiment of the present application;

[0047] Figure 6 Topic-based message communication diagram according to an embodiment of the present application;

[0048] Figure 7 Communication mode mapping diagram for intelligent driving domain message middleware and SOME / IP according to an embodiment of the present application;

[0049] Figure 8 Processor cluster constitutes SOME / IP Service processing message diagram according to an embodiment of the present application;

[0050] Figure 9 Processor service load dynamically adjusts according to load factor balancing strategy diagram according to an embodiment of the present application;

[0051] Figure 10 Processor message fusion design diagram according to an embodiment of the present application;

[0052] Figure 11 Block diagram of an interaction device supporting a service-oriented software architecture according to an embodiment of the present application;

[0053] Figure 12 Structure diagram of an electronic device according to an embodiment of the present application. DETAILED DESCRIPTION

[0054] Embodiments of the present application are described in detail below with reference to the accompanying drawings. Examples of the embodiments are shown in the drawings, wherein the same or similar notations denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below by reference to the drawings are exemplary and are intended to explain the present application, and cannot be understood as limiting the present application.

[0055] The method, device, equipment and medium supporting a service-oriented software architecture according to an embodiment of the present application are described below with reference to the accompanying drawings.

[0056] Figure 1 is a flowchart of a method of interacting supporting a service-oriented software architecture according to an embodiment of the present application.

[0057] Before introducing the method of interacting supporting a service-oriented software architecture according to an embodiment of the present application, the related technical background is briefly introduced.

[0058] The SOME / IP services of different vehicle series and models vary across different automotive functional domains, such as the cockpit domain and body domain. Applications related to SOME / IP in the intelligent driving domain need to be modified accordingly based on changes in the vehicle's SOME / IP, leading to cumbersome code writing and configuration management. Therefore, an intelligent driving domain application is needed to abstract the vehicle's SOME / IP services, isolate the vehicle's SOME / IP services from direct communication with other applications, centrally manage the conversion and forwarding of SOME / IP messages, and enable the intelligent driving domain topic message application to adapt to different quantities and complexities of messages. This means that it should be able to automatically establish multiple data processing pipelines internally to process and forward messages, avoiding message congestion and message delays.

[0059] In related technologies, SOA (Service-Oriented Architecture) technology is generally used, incorporating SOME / IP services as a communication method within the intelligent driving domain message middleware communication system. In general domain controllers supporting Service-Oriented Architecture (SOA), multiple communication modes are provided, typically including Publish / Subscribe and Service / Client modes. Implementations of these communication modes include shared memory, inter-core communication, and third-party Ethernet message middleware components. SOME / IP, as one of the implemented communication protocols, maps its Event and Request / Response modes to the Publish / Subscribe and Service / Client modes in the SOA architecture. Therefore, SOA applications can communicate with other SOA applications and other domain ECUs (Electronic Control Units) using SOME / IP services.

[0060] However, the existing SOME / IP communication is integrated into SOA services, which means that each SOA process communicating with the SOME / IP service will load SOME / IP-related programs. This requires configuring the vehicle's SOME / IP-related settings for each SOA service based on different vehicle models. Implementing support for SOME / IP's Event and Fire / Forget modes is difficult. Due to the different serialization formats, the tools in the toolchain responsible for visualizing messages in the intelligent driving domain message middleware cannot display SOME / IP message communication. Each SOME / IP message needs to communicate separately, and the large number of messages makes it difficult to support one-to-many message fusion communication.

[0061] Based on the above problems, the embodiment of the application provides an interaction method supporting a service-oriented software architecture. The method solves the problem that a plurality of SOME / IP services need to be communicated separately and it is difficult to support one-to-many message fusion communication by mapping the SOME / IP services of a vehicle to topics, so that the intelligent driving domain does not need to care about the communication of the SOME / IP protocol, and only needs to use the topics of the intelligent driving domain to communicate, thereby simplifying the communication complexity and improving the convenience.

[0062] As shown in the example, Figure 1 The interaction method supporting the service-oriented software architecture comprises the following steps:

[0063] In step S101, a SOME / IP service list of a vehicle is acquired, and a corresponding configuration file is configured for each SOME / IP service according to the SOME / IP service list.

[0064] The SOME / IP is a protocol used for internal communication of a vehicle, and is mainly used for communication between ECUs. The SOME / IP defines a service model for communication on an Ethernet.

[0065] Specifically, the SOME / IP service list of the vehicle is usually listed in the documents or technical specifications of the vehicle. The documents can be provided by the vehicle manufacturer. According to the SOME / IP service list, the definition of each service can be analyzed, including the service ID, the method and the event, the parameters, the data type and the format of the service are determined, the function and the purpose of the service are understood, and a configuration file (the format can be XML or JSON) is created for each SOME / IP service, including the ID of the service, the called method, the listened event and other related parameters. According to the ADCC (Automotive Distributed Communication Cluster) role and definition of the SOME / IP Service, the ADCC node attribute of the SOME / IP is configured, including the service discovery network, the provided service, the transmission mode and the transmission port and the like.

[0066] In step S102, at least one message input processing the SOME / IP service in a cluster is created according to the configuration file, and a preset message middleware is used to monitor the active state of the SOME / IP service topic.

[0067] That is, SOME / IP Service software is deployed on a SOC (System On a Chip) chip of a domain controller of the vehicle, and the SOME / IP Service can automatically allocate multiple processor clusters to process different message inputs according to a configuration file, so as to ensure that the SOC chip has sufficient computing power and memory resources to support multi-cluster operation, and to start the intelligent driving domain message middleware tool. The intelligent driving domain message middleware tool can be used to scan SOME / IP nodes on the network and check the activity of topics related to the intelligent driving domain SOME / IP Service.

[0068] Specifically, as shown in Figure 2 , the SOME / IP Service is deployed on a SOC chip of the intelligent driving domain and is responsible for processing the analysis and communication of the SOME / IP protocol of the whole vehicle. The SOME / IP service of the whole vehicle is transparent to the applications of the intelligent driving domain, that is, other applications of the intelligent driving domain only need to use topics and SOME / IP Service for communication to indirectly communicate with the SOME / IP service of the ECU of the vehicle. The SOME / IP Service can also transparently transmit the messages of the SOME / IP service on the MCU to the corresponding ECU unit to complete communication, without the need to analyze the SOME / IP message and repackage the SOME / IP message, thereby improving the communication efficiency.

[0069] Further, as shown in Figure 3 , the software hierarchy of the SOME / IP service includes a message middleware layer, a data processing layer, a SOME / IP communication layer, and a SOME / IP library layer. The message middleware layer is responsible for accessing the TROS message middleware, and the message middleware layer forwards the converted SOME / IP message to other ADAS applications through TROS. The data processor layer is responsible for the mutual conversion of the messages of the middleware and the SOME / IP. The data processor layer maps the protobuf of the middleware and the SOME / IP message according to the communication matrix to convert the data. The data processor layer can be compatible with multiple vehicle models according to the communication matrix of the vehicle model. The SOME / IP communication layer is responsible for the communication with the SOME / IP APP on each ECU unit. The SOME / IP communication layer uses the SOME / IP communication mode encapsulated by the SOME / IP communication mode layer and transmits the interactive data to the data processing layer for processing. The SOME / IP library layer is the layer of the SOME / IP library. The SOME / IP library layer provides support for the SOME / IP underlying library. The SOME / IP library can support multiple implementation versions of SOME / IP.

[0070] As Figure 4As shown, the messages of the ADAS software intelligent driving domain middleware RMW are converted into Bytes messages (byte stream) of SOME / IP by the SOME / IP service module and sent to the SOME / IP service on the ECU unit or the SOME / IP service of the ADAS APP on the MCU; conversely, the SOME / IP service on the ECU unit and the SOME / IP service of the ADAS APP on the MCU can also send messages, which are parsed and processed by the SOME / IP service module and finally received by the intelligent driving domain middleware RMW and delivered to the corresponding application or system component.

[0071] The flowchart of service mapping creating topics is as shown in Figure 5 As shown, the flowchart of topic-based message communication is as shown in Figure 6 As shown, how the intelligent driving domain message middleware RMW interacts with the SOME / IP service, i.e., the communication mode mapping process of the intelligent driving domain message middleware and SOME / IP, is as shown in Figure 7 As shown, taking one-way data interaction as an example (such as a message sent from one component ADAS APP to another component SOME / IP Service), the RMW represents the intelligent driving domain message middleware of the ROS (Robot Operating System), and the RAWDATA suffix means the message published in the transparent mode (meaning that the message will not be modified or interpreted by the middleware in the transmission process, but directly delivered to the target service). The ADAS APP call only needs to use the Publish / Subscribe mode and Service / Client mode of the intelligent driving domain message middleware and the SOME / IP Service to interact; the ADAS APP can use the Service / Client mode interface of the intelligent driving domain message middleware to complete the R / R (Request / Response) mode interaction of the SOME / IP Service, use the Subscrib interface to complete the Event mode interaction of the SOME / IP Service, and use the Publish interface to complete the Fire&Forget mode interaction. The communication mapping table of the SOME / IP service of the ECU unit and the SOME / IP Service is as shown in Table 1.

[0072] Table 1

[0073]

[0074]

[0075]

[0076] The message processor layer design is introduced below.

[0077] As shown in Figure 8 , the SOME / IP Service needs to cope with multiple communication modes, assume two roles of the server / client of the communication mode, and establish multiple Processor processing unit clusters inside the SOME / IP Service. Each Processor cluster processes a service / topic set of a communication mode role. After receiving an input message, each Processor processes the message according to its processing logic, which may include parsing the message content, performing specific operations or calculations, etc. Once the processing is completed, the Processor forwards the message to the corresponding receiver.

[0078] The Processor cluster load balancing design is introduced in detail below.

[0079] As a possible implementation, in some embodiments, at least one processing cluster is constructed according to a configuration file to process message input of the SOME / IP service, including: creating at least one processing cluster inside the SOME / IP service according to the configuration file; creating a preset number of processing units in each processing cluster, and distributing the SOME / IP service to multiple queues based on a preset Hash function to use the processing units to process message input of the SOME / IP service.

[0080] Specifically, as shown in Figure 9 , for the concurrency problem of the SOME / IP service, the associated SOME / IP service is often used at a high probability at the same time when used. A preset number of processing units are created in each Processor cluster in the message processor layer, that is, each Processor cluster is composed of a prime number of Processors. Each SOME / IP service will distribute the SOME / IP service list to each processing unit in the Processor cluster through a Hash function according to the order structure of the whole vehicle SOME / IP service list, which can realize the balanced design of the service. This design can effectively disrupt the distribution of entries related to the same communication mode function in the Processor cluster in the SOME / IP service list, and improve the concurrent processing capability of the system.

[0081] Further, in some embodiments, the SOME / IP service is distributed to multiple queues based on a preset Hash function, including: obtaining the message frequency and message complexity of the SOME / IP service; calculating the weight of the SOME / IP service message according to the message frequency and the message complexity, and distributing the SOME / IP service to multiple queues based on the preset Hash function and the weight.

[0082] Specifically, the Processor execution cost of a SOME / IP service depends on the message frequency and message complexity of the SOME / IP service, which affects the number of messages that the Processor needs to process, the cost of message conversion, and the cost of message serialization. Considering the differences in message processing costs, the message frequency and message complexity can be considered when allocating the SOME / IP service list. Each message is important, and sufficient computing power needs to be reserved to maintain the service regardless of its frequency. Therefore, when allocating the SOME / IP service list, it is also necessary to consider this point to ensure that the weight is fair for low-frequency or low-complexity messages. The weight of the message can be calculated using traditional machine learning methods or neural network methods, which are not limited here.

[0083] In this way, by reasonably allocating services, it can be ensured that each Processor can process an appropriate amount of messages, avoiding Processor overload due to excessive message volume or high complexity of some services.

[0084] Further, in some embodiments, the SOME / IP services are allocated to multiple queues based on a preset Hash function and weight, including: determining a preset number as the number of each queue and initializing the capacity of each queue, when the number of services in any queue meets the preset capacity condition, dynamically expanding based on the smallest prime number less than the current queue capacity; the total load of the SOME / IP service list to be allocated is taken as the parameter of the preset Hash function, and the SOME / IP service is allocated to multiple queues based on the parameter.

[0085] Specifically, to solve the problem of allocation strategy of SOME / IP services in the processing unit of the Processor cluster, that is, how to allocate services with different weight values to multiple queues and balance the weight values in the queues. First, after determining the number of prime numbers (i.e., the preset number) of buckets (i.e., queues), the capacity of the bucket is initialized. When the services of the bucket reach the upper limit of the queue (i.e., when the number of services in any queue meets the preset capacity condition), the bucket will perform a dynamic expansion mechanism based on the smallest prime number less than the current bucket. According to the total load of the SOME / IP service list to be allocated as the parameter of the Hash function, the SOME / IP service is calculated and allocated to each queue, so that the Hash allocation considers the existing load of each Processor.

[0086] In this way, by using the Hash allocation method and the dynamic expansion mechanism, balanced allocation of services and flexible adjustment of queues can be achieved. When the service load of a certain queue reaches the upper limit, the expansion operation is triggered to ensure that the service can continue to be processed.

[0087] In some embodiments, after the SOME / IP services are assigned to the plurality of queues based on the parameters, the method further comprises: when the number of services in any queue meets the preset capacity condition, and the weight difference value is a preset multiple of the upper limit of the queue, reassigning the services with the minimum weight value based on the preset Hash function until the queue meets the preset condition.

[0088] Specifically, when any queue reaches the upper limit of the queue (i.e., the number of services in any queue meets the preset capacity condition), and the service weight difference value of the queue is a preset multiple (e.g., 0.5 times) of the upper limit of the queue, the buckets are balanced and adjusted, and the services with the minimum weight value in the buckets are re-assigned to other buckets by Hash. The Hash operation is a public multiple of the result of the prime number of the bucket minus 1, and the Hash range corresponds to the remaining queues except the original queue. The services can be assigned to other queues. The balancing and adjustment of the buckets are repeated until the buckets meet the requirements. If the buckets still cannot meet the requirement of being lower than the upper limit of the queue after multiple adjustments, the buckets are expanded again.

[0089] The processor cluster load balancing design can use the Hash function assignment method to split the services associated with the message signals, and use the service load balancing design of the processor to offset the occasional high concurrency and high processing capacity.

[0090] Next, the message fusion design of the processor in the embodiments of the present application is introduced.

[0091] As shown in Figure 10 , the special processor in the processor module supports multiple message fusion. The application in the intelligent driving domain sends a message to the SOME / IP Service, and can establish communication with multiple SOME / IP services. The fusion message published by the intelligent driving domain message should include a message header to facilitate the processor to parse the valid fields of the message and establish communication with the SOME / IP service. The message sent by the SOME / IP service to the intelligent driving domain will be cached in the message fusion cache slot. When the message slot is filled and the message timeout setting is not timed out, the message stream of the topic of the intelligent driving domain will be published. In the case of timeout, the SOME / IP Service will send an error code to the downstream module.

[0092] In the embodiments of the present application, the message load mode includes a message transparent transmission mode and a message forwarding mode. For the message transparent transmission mode, the ADAS application of the intelligent driving domain can package the message by itself, forwards the message to the SOME / IP application of the corresponding vehicle body domain and cabin domain through the SOME / IP Service transparent transmission, and receives the SOME / IP related message transmitted by the SOME / IP service transparent transmission. The SOME / IP Service only forwards the payload and does not perform the protobuf to SOME / IP message matrix conversion. The ADAS application of the intelligent driving domain sends the topic corresponding to the SOME / IP service to the SOME / IP Service. For the message forwarding mode, the SOME / IP Service converts the intelligent driving domain message middleware format message into the SOME / IP format message according to the communication matrix, and then sends the message to the SOME / IP application of the corresponding vehicle body domain and cabin domain. After the SOME / IP Service obtains the SOME / IP application of the vehicle body domain, the cabin domain and other domains, the SOME / IP Service also performs the corresponding conversion and sends the message to the ADAS application of the intelligent driving domain.

[0093] The message transparent transmission mode can directly forward the Bytes message of SOEM / IP, and the message forwarding mode can convert the SOME / IP message and the intelligent driving domain message middleware message, and then send the message to the corresponding communication party. In this way, the intelligent driving domain application can be provided with an interface for directly assembling and sending the Bytes message to the ECU unit of the SOME / IP, and the SOME / IP Service can also forward the SOEM / IP message of the MCU to the ECU unit in the corresponding vehicle domain without the processing steps of message analysis and secondary message assembly, thereby improving the communication efficiency.

[0094] In step S103, according to the active state, the SOME / IP service subscribes to the topic published by the SOME / IP service and / or publishes the topic subscribed by the SOME / IP service.

[0095] That is, according to the active state, the topic of interest published by the SOME / IP Service can be selected in the topic list, and the subscription parameters such as the receiving callback function, the data buffer size, etc. are configured for the selected topic, which are usually used to define how to process the received message, after the configuration is completed, the subscription process is started, and the message published by the SOME / IP Service is received, once the message is received, the middleware will call the receiving callback function defined before, and the received data can be processed in the function; according to the active state, the topic or method provided by the SOME / IP Service and allowed to be subscribed can be found in the middleware tool, and the publishing parameters including the target service ID, the method ID, the data content to be sent, etc. are configured for the topic or method to be published, the publishing process is started, the message is sent to the SOME / IP Service, it is ensured that the message is correctly constructed and sent according to the provisions of the SOME / IP protocol and the requirements of the service, and the check is performed on whether the sent message is successfully received and processed by the SOME / IP Service, which may need to view the log or output of the service or use the debugging tool for verification.

[0096] According to the interaction method supporting the service-oriented software architecture provided in the embodiments of the present application, the corresponding configuration file can be configured for each SOME / IP service according to the SOME / IP service list, and then at least one message input processing the SOME / IP service in the cluster is created according to the configuration file, and the active state of the SOME / IP service topic is monitored by using the preset message middleware, so that the SOME / IP service subscribes to the topic published by the SOME / IP service and / or publishes the topic subscribed by the SOME / IP service according to the active state. Therefore, by mapping the SOME / IP service of the vehicle to the topic, the problem that each SOME / IP needs to be communicated separately, the number is large, and it is difficult to support one-to-many message fusion communication is solved, so that the intelligent driving domain does not need to care about the communication of the SOME / IP protocol, and only needs to use the topic of the intelligent driving domain for communication, which simplifies the communication complexity and improves the convenience.

[0097] Secondly, the interaction device supporting the service-oriented software architecture provided in the embodiments of the present application is described with reference to the accompanying drawings.

[0098] Figure 11 is a block schematic diagram of the interaction device supporting the service-oriented software architecture of one embodiment of the present application.

[0099] As Figure 11 shown, the interaction device 10 supporting the service-oriented software architecture includes a configuration module 100, a creation module 200 and a processing module 300.

[0100] The configuration module 100 is configured to acquire a SOME / IP service list of the vehicle, and generate a configuration file corresponding to each SOME / IP service according to the SOME / IP service list;

[0101] The creation module 200 is configured to create at least one processing cluster for processing message input of the SOME / IP service according to the configuration file, and monitor an active state of the SOME / IP service topic by using a preset message middleware;

[0102] The processing module 300 is configured to subscribe to a topic published by the SOME / IP service and / or publish a topic subscribed by the SOME / IP service according to the active state.

[0103] Further, in some embodiments, the creation module 200 comprises:

[0104] The creation unit is configured to create at least one processing cluster in the SOME / IP service according to the configuration file.

[0105] The allocation unit is configured to create a preset number of processing units in each processing cluster, and allocate the SOME / IP service to a plurality of queues based on a preset Hash function, so as to process the message input of the SOME / IP service by using the processing units.

[0106] Further, in some embodiments, the allocation unit comprises:

[0107] The acquisition sub-unit is configured to acquire message frequency and message complexity of the SOME / IP service.

[0108] The allocation sub-unit is configured to calculate a weight of the SOME / IP service message according to the message frequency and the message complexity, and allocate the SOME / IP service to the plurality of queues based on the preset Hash function and the weight.

[0109] Further, in some embodiments, the allocation sub-unit is specifically configured to:

[0110] Determine a preset number as a number of each queue, and initialize a capacity of each queue, and perform dynamic expansion based on a smallest prime number smaller than a current queue capacity when a service number of any queue meets a preset capacity condition.

[0111] Take a total load of the SOME / IP service list to be allocated as a parameter of the preset Hash function, and allocate the SOME / IP service to the plurality of queues based on the parameter.

[0112] Further, in some embodiments, after allocating the SOME / IP service to the plurality of queues based on the parameter, the allocation sub-unit is further configured to:

[0113] When the number of services in any queue meets the preset capacity condition, and the weight difference value is a preset multiple of the upper limit of the queue, the service with the minimum weight value is redistributed based on a preset Hash function until the queue meets the preset condition.

[0114] It should be noted that the foregoing description of the embodiment of the method for supporting the interaction of the service-oriented software architecture also applies to the embodiment of the device for supporting the interaction of the service-oriented software architecture, and thus will not be described again here.

[0115] The device for supporting the interaction of the service-oriented software architecture provided by the embodiment of the application can configure a corresponding configuration file for each SOME / IP service according to a SOME / IP service list, and then create at least one message input for processing the SOME / IP service in a cluster according to the configuration file, and monitor the active state of the SOME / IP service topic by using a preset message middleware, so as to subscribe to the topic published by the SOME / IP service and / or publish the topic subscribed by the SOME / IP service according to the active state. In this way, by mapping the SOME / IP service of the vehicle to the topic, the problem that each SOME / IP needs to be communicated separately, the number is large, and it is difficult to support one-to-many message fusion communication is solved, so that the intelligent driving domain does not need to care about the communication of the SOME / IP protocol, and only needs to use the topic of the intelligent driving domain for communication, which simplifies the communication complexity and improves the convenience.

[0116] Figure 12 The electronic device provided by the embodiment of the application is shown in a structural schematic diagram. The electronic device can include:

[0117] The memory 1201, the processor 1202, and the computer program stored in the memory 1201 and executable on the processor 1202.

[0118] The processor 1202 implements the method for supporting the interaction of the service-oriented software architecture provided in the above embodiments when executing the program.

[0119] Further, the electronic device further includes:

[0120] The communication interface 1203 is used for communication between the memory 1201 and the processor 1202.

[0121] The memory 1201 is used to store the computer program executable on the processor 1202.

[0122] The memory 1201 can include a high-speed RAM (Random Access Memory, random access memory) memory, and can also include a non-volatile memory, such as at least one disk memory.

[0123] If the memory 1201, the processor 1202 and the communication interface 1203 are implemented independently, the communication interface 1203, the memory 1201 and the processor 1202 can be connected with each other through a bus and complete communication between each other. The bus can be an ISA (Industry Standard Architecture) bus, a PCI (Peripheral Component Interconnect) bus or an EISA (Extended Industry Standard Architecture) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For the convenience of representation, Figure 12 Only one thick line is used to represent the bus in the figure, but it does not mean that there is only one bus or only one type of bus.

[0124] Optionally, in a specific implementation, if the memory 1201, the processor 1202 and the communication interface 1203 are integrated on a chip, the memory 1201, the processor 1202 and the communication interface 1203 can complete communication between each other through an internal interface.

[0125] The processor 1202 can be a CPU (Central Processing Unit), or an ASIC (Application Specific Integrated Circuit), or one or more integrated circuits configured to implement embodiments of the present application.

[0126] The embodiment of the present application further provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the above-mentioned method for supporting a service-oriented software architecture.

[0127] In addition, the terms "first", "second" are only used for descriptive purposes, and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the indicated technical features. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "multiple" is at least two, for example, two, three, etc., unless otherwise explicitly and specifically limited.

[0128] In the description of the specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" etc. means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are contained in at least one embodiment or example of the present application. In the specification, the illustrative description of the above terms is not necessarily directed to the same embodiment or example. Moreover, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, the person skilled in the art can combine and combine the different embodiments or examples described in the specification and the features of the different embodiments or examples without contradiction.

[0129] Although the embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and are not to be construed as limiting the present application, and the person skilled in the art can make changes, modifications, replacements and variations to the above embodiments within the scope of the present application.

Claims

1. An interaction method supporting a service-oriented software architecture, characterized in that, The method comprises the following steps: obtaining a SOME / IP service list of a vehicle, and configuring a corresponding configuration file for each SOME / IP service according to the SOME / IP service list; creating at least one processing cluster to process message input of the SOME / IP service according to the configuration file, and monitoring an active state of a SOME / IP service topic by using a preset message middleware; subscribing to a topic published by the SOME / IP service and / or publishing a topic subscribed by the SOME / IP service according to the active state; wherein the creating at least one processing cluster to process message input of the SOME / IP service according to the configuration file comprises: creating at least one processing cluster inside the SOME / IP service according to the configuration file, creating a preset number of processing units in each processing cluster, and distributing the SOME / IP service to a plurality of queues based on a preset Hash function, so as to process message input of the SOME / IP service by using the processing units; the distributing the SOME / IP service to the plurality of queues based on the preset Hash function comprises: obtaining message frequency and message complexity of the SOME / IP service, calculating a weight of the SOME / IP service message according to the message frequency and the message complexity, and distributing the SOME / IP service to the plurality of queues based on the preset Hash function and the weight; the distributing the SOME / IP service to the plurality of queues based on the preset Hash function and the weight comprises: determining the preset number as the number of each queue, initializing the capacity of each queue, when the number of services in any queue meets a preset capacity condition, performing dynamic expansion based on the smallest prime number smaller than the current queue capacity, taking the total load of the SOME / IP service list to be distributed as a parameter of the preset Hash function, and distributing the SOME / IP service to the plurality of queues based on the parameter; after the distributing the SOME / IP service to the plurality of queues based on the parameter, further comprising: when the number of services in any queue meets the preset capacity condition and the weight difference is a preset multiple of the upper limit of the queue, re-distributing services with the smallest weight value based on the preset Hash function until the queue meets a preset condition; the SOME / IP service supports message transparent mode and message forwarding mode, and supports fusion of multiple messages into a topic message stream.

2. An interactive device supporting a service-oriented software architecture, characterized in that The method comprises the following steps: a configuration module is configured to obtain a SOME / IP service list of a vehicle, and configure a corresponding configuration file for each SOME / IP service according to the SOME / IP service list; a creation module is configured to create at least one processing cluster to process message input of the SOME / IP service according to the configuration file, and monitor an active state of a SOME / IP service topic by using a preset message middleware; The processing module is configured to subscribe to a topic published by a SOME / IP service and / or publish a topic subscribed by a SOME / IP service according to the active state. The creating module includes a creating unit configured to create at least one processing cluster in the SOME / IP service according to the configuration file, and an allocating unit configured to create a preset number of processing units in each processing cluster, and allocate the SOME / IP service to a plurality of queues based on a preset Hash function, so as to process message inputs of the SOME / IP service by using the processing units. The allocating unit includes an obtaining subunit configured to obtain a message frequency and a message complexity of the SOME / IP service, and an allocating subunit configured to calculate a weight of the SOME / IP service message according to the message frequency and the message complexity, and allocate the SOME / IP service to the plurality of queues based on the preset Hash function and the weight. The allocating subunit is specifically configured to determine the preset number as a number of each queue, and initialize a capacity of the each queue, and when a number of services in any queue meets a preset capacity condition, perform dynamic expansion based on a smallest prime number smaller than a current queue capacity, take a total load of a list of SOME / IP services to be allocated as a parameter of the preset Hash function, and allocate the SOME / IP service to the plurality of queues based on the parameter. After the SOME / IP service is allocated to the plurality of queues based on the parameter, the allocating subunit is further configured to, when the number of services in any queue meets the preset capacity condition and a weight difference value is a preset multiple of an upper limit of the queue, perform re-allocation of services with a smallest weight value based on the preset Hash function, until the queue meets a preset condition. The SOME / IP service supports a message transparent transmission mode and a message forwarding mode, and supports fusion of a plurality of messages into one topic message stream.

3. An electronic device, comprising: The computer program is stored in the memory and executable on the processor, and the processor executes the program to implement the interaction method supporting the service-oriented software architecture. The program is executed by the processor to implement the interaction method supporting the service-oriented software architecture.

4. A computer-readable storage medium having stored thereon a computer program, characterized in that, ​

Citation Information

Patent Citations

  • Data transmission method and device, vehicle and storage medium

    CN115225706A