CN115604361A - Management device, qoS (quality of service) supporting method and related equipment - Google Patents

Management device, qoS (quality of service) supporting method and related equipment Download PDF

Info

Publication number
CN115604361A
CN115604361A CN202211064878.2A CN202211064878A CN115604361A CN 115604361 A CN115604361 A CN 115604361A CN 202211064878 A CN202211064878 A CN 202211064878A CN 115604361 A CN115604361 A CN 115604361A
Authority
CN
China
Prior art keywords
communication
qos
service
message
protocol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211064878.2A
Other languages
Chinese (zh)
Inventor
王如月
李振飞
孙兆年
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202211064878.2A priority Critical patent/CN115604361A/en
Publication of CN115604361A publication Critical patent/CN115604361A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The embodiment of the application discloses a management device, a method for supporting quality of service (QoS) and related equipment, wherein the method can be used in the field of automatic driving in artificial intelligence, the management device is deployed in an intermediate layer of a communication system of a vehicle, the management device comprises a communication middleware and a management module, the communication middleware is specified by a first communication protocol, and the management module is used for providing support for the QoS required by the first communication service in the process of executing data processing operation corresponding to the first communication service by the communication middleware based on the specification of the first communication protocol; the management module is specifically configured to transmit indication information to the upper layer or the lower layer of the intermediate layer, where the indication information is used for resource scheduling of the upper layer or the lower layer of the intermediate layer, so as to provide support for QoS of the first communication service through the upper layer or the lower layer of the intermediate layer, and reduce modification to the intermediate layer, so as to reduce difficulty in implementing support for QoS required by the communication service.

Description

Management device, qoS (quality of service) supporting method and related equipment
Technical Field
The present application relates to the field of automatic driving, and in particular, to a management device, a method for supporting QoS, and a related device.
Background
An automotive open system architecture (AUTOSAR), which is a standard software architecture widely adopted in the industry at present, is divided into an AUTOSAR Adaptive Platform (AP) and a Classical Platform (CP). The CP is widely applied to the conventional embedded ECU of the automobile, and can meet the requirements of scenes with high requirements on functional safety and real-time performance, but low computational power requirements, such as an engine controller and a brake controller, while the AP is a new architecture which appears in order to meet the requirements of the next generation of intelligent networked automobiles under complex scenes, such as high performance, high computational power requirements, and automatic driving, and is not widely applied to the automatic driving vehicles in the future.
The AUTOSAR AP specification supports binding of a scalable service-oriented middleware over IP (Internet protocol, IP) protocol, wherein the SOME/IP protocol is a specification protocol of a communication middleware; later, in order to meet the requirement of higher communication capacity in the automatic driving scene, the AUTOSAR AP specification introduces a binding to a DDS protocol, which is another specification protocol of communication middleware, so as to integrate rich quality of service (QoS) in the DDS protocol into the AUTOSAR AP.
However, since the communication service of many devices has been bound with the SOME/IP protocol, it is difficult to directly replace the communication service with the DDS bound protocol due to the architectural constraint, and thus various QoS capabilities cannot be enjoyed.
Disclosure of Invention
The application provides a management device, a method for supporting QoS and related equipment, which provide support for partial QoS in QoS required by communication service by means of the capability of the upper layer and/or the lower layer of the middle layer of a communication system, and reduce the modification of the middle layer so as to reduce the implementation difficulty for providing support for QoS required by communication service.
In order to solve the technical problem, the application provides the following technical scheme:
in a first aspect, the present application provides a management device, which may be used in the field of automated driving in the field of artificial intelligence. The management device is deployed in a middle layer of a communication system of the vehicle and comprises first communication middleware and a management module, wherein the first communication middleware is specified by a first communication protocol. The first communication middleware is used for executing data processing operation corresponding to the first communication service based on the specification of the first communication protocol after establishing a communication link corresponding to the first communication service with the first equipment; where one communication service indicates transmission of one or more data, the sensor system may acquire, for example, position information, motion information, radar data, laser data, and image data, one communication service may be defined to transmit position information, radar data, or laser data, another communication service may be defined to transmit motion information, another communication service may be defined to transmit image data, and so on. And the management module is used for providing support for the QoS required by the first communication service in the process of data processing of the first communication middleware.
Wherein, the management module is specifically configured to: in the process that a first communication middleware processes a message from a first device, under the condition that a first QoS exists in QoS required by a first communication service, transmitting first indication information to an upper layer of a middle layer, wherein the first indication information is used for resource scheduling of the upper layer of the middle layer according to the first indication information so as to provide support for the first QoS through the upper layer of the middle layer; or, in the process that the first communication middleware processes the message sent to the first device, when the second QoS exists in the QoS required by the first communication service, transmitting the second indication information to the lower layer of the intermediate layer, where the second indication information is used for resource scheduling of the second indication information of the lower layer of the intermediate layer, so as to provide support for the second QoS through the lower layer of the intermediate layer.
In the implementation mode, after a communication middleware specified by a communication protocol is bound to a certain communication service, a management module is additionally arranged in the middle layer, and an independent management module provides support for the QoS required by the communication service, so that the support for the required QoS can be realized no matter which protocol type the communication middleware is bound to each communication service; the management module sends indication information to the upper layer and/or the lower layer of the middle layer to provide support for part of QoS required by the communication service by means of the capacity of the upper layer and/or the lower layer of the middle layer, and changes to the middle layer are reduced to reduce the implementation difficulty of providing support for the QoS required by the communication service.
Optionally, the management module is further configured to determine to reserve a communication operation with the first device if it is not determined whether the QoS capability of the first device can be successfully matched with the target QoS according to the service discovery packet of the first device, and determine to formally establish the communication link with the first device if it is determined that the QoS capability of the first device is successfully matched with the target QoS based on the communication operation. The target QoS is the QoS which needs to be matched in the QoS needed by the first communication service; the "reserving the communication operation with the first device" includes reserving the interactive operation of the message with the first device. For example, "keep the interactive operation of the packet with the first device" may include: the third equipment continues to receive a first message of a second communication protocol type sent by the first equipment; optionally, the third device continues to send the second packet of the second communication protocol type to the first device.
In this implementation, when it is not possible to determine whether the QoS capability of the first device successfully matches each target QoS based on data in the service discovery message from the first device, the communication operation with the first device is retained without directly confirming that the link establishment with the first device fails, and a communication link is formally established with the first device when it is determined that the actual QoS capability of the first device successfully matches each target QoS based on the communication operation; for example, when the first communication service in the first device is bound by the SOME/IP protocol, the information carried in the service discovery message of the SOME/IP protocol may not comprehensively reflect the QoS capability of the first device.
Optionally, the information for determining the QoS capability of the first device comprises any one or more of: the time of receiving the message in the process of executing the communication operation, the timestamp carried in the message received in the process of executing the communication operation, the sequence number carried in the message received in the process of executing the communication operation or the destination address in the message received in the process of executing the communication operation. In the implementation mode, the actual QoS capability of the first equipment is determined based on the information generated in the communication operation, the implementation difficulty of the scheme is favorably reduced, and the implementation accuracy of the scheme is improved.
Optionally, the management module in the third device may further be configured with a program code for providing support for a third QoS for the first communication service, and the management module is further specifically configured to, when the third QoS exists in the QoS required by the first communication service, provide support for the third QoS through the management module, and transmit third indication information to the upper layer of the intermediate layer and/or the lower layer of the intermediate layer, where the third indication information includes a processing time length of a packet corresponding to the first communication service in the intermediate layer and/or a priority level of the packet corresponding to the first communication service in the intermediate layer. In this implementation, after providing support for the third QoS, the management module may further transmit third indication information to the upper layer of the middle layer and/or the lower layer of the middle layer, where the third indication information includes a processing duration of a packet corresponding to the first communication service in the middle layer and/or a priority of the packet corresponding to the first communication service in the middle layer, which is beneficial for the upper layer of the middle layer and/or the lower layer of the middle layer to know more information related to the first communication service, and is beneficial for achieving continuity between the middle layer and other layers, thereby being beneficial for improving the service quality of the first communication service.
Optionally, the management apparatus further includes a conversion module, configured to map, when the second communication protocol is different from the first communication protocol, a packet of the second communication protocol type from the first device to a packet of the first communication protocol type, and further perform data processing according to the packet of the first communication protocol type by the first communication middleware based on the specification of the first communication protocol, where "mapping the packet of the second communication protocol type from the first device to the packet of the first communication protocol type" includes mapping the packet of the first device from the format of the packet specified by the second communication protocol to the format of the packet specified by the first communication protocol. In this implementation manner, although only one communication protocol is bound to each communication service, the conversion module can map the packet of the second communication protocol type to the packet of the first communication protocol type, and the first communication middleware processes the packet of the first communication protocol type, that is, the third device can process the packets of different communication protocols, thereby greatly expanding the application scenario of the present scheme.
Optionally, the first communication protocol comprises a SOME/IP protocol and the second communication protocol comprises a DDS protocol.
Optionally, the conversion module is specifically configured to map a packet of a second communication protocol type from the first device to a packet of a first communication protocol type after establishing the communication link with the first device; and the communication middleware is specifically used for carrying out data processing according to the content of the message of the first communication protocol type. The management module is further configured to dynamically adjust a duration occupied by the conversion module and the communication middleware in a process of processing the packet from the first device, and/or further adjust a priority of the packet from the first device in the conversion module and the communication middleware. In the implementation manner, after the conversion module is added, the step of the middle layer of the communication system of the vehicle in the process of processing the message from the first device is increased, and the management module dynamically adjusts the duration occupied by the conversion module and the first communication middleware in the process of processing the message from the first device according to the actual situation, so that the total duration of processing the message by the middle layer is controllable, and the service quality of the third device in providing the first communication service is ensured; the method for adjusting the priority of the message from the first device in the conversion module and the communication middleware can also control the time length occupied by the conversion module and the first communication middleware in the process of processing the message from the first device, and the implementation flexibility of the scheme is improved.
Optionally, the apparatus further includes a conversion module, configured to map at least one configuration parameter of QoS required by the first communication service to the message of the SOME/IP protocol type when the message of the SOME/IP protocol type is sent to the second device. The manner of mapping the information relating to the QoS capability of the first device into the message of the SOME/IP protocol type may include any one or more of the following: mapping to the message header of the message of the SOME/IP protocol type, namely displaying the parameters carrying certain QoS in the message header of the message of the SOME/IP protocol type; converting the QoS Configuration parameters into character string information, and filling the character string information in an Option-Configuration (Option-Configuration) field of a message of the SOME/IP protocol type; converting the QoS configuration parameters into character string information, and filling the character string information in the message body of the SOME/IP protocol type. In this implementation, although the SOME/IP protocol does not support a large amount of QoS capabilities, when sending the message of the SOME/IP protocol type, mapping at least one QoS configuration parameter in the QoS required by the first communication service to the message of the SOME/IP protocol type, that is, transmitting more information to the peer end, which is beneficial to improving the possibility that the peer end knows the true QoS capability of the third device.
In a second aspect, the present application provides a method for supporting QoS, which can be used in the field of automatic driving in the field of artificial intelligence. The method is applied to a middle layer of a communication system of a vehicle, wherein the middle layer of the communication system of the vehicle is provided with a first communication middleware and a management module specified by a first communication protocol, and the method comprises the following steps: after establishing a communication link corresponding to a first communication service with a first device, the first communication middleware performs a data processing operation corresponding to the first communication service based on the specification of a first communication protocol; support for the QoS required by the first communication service is provided by the management module.
Wherein providing support for QoS required by the first communication service through the management module comprises: transmitting first indication information to an upper layer of the middle layer under the condition that the first QoS exists in the QoS required by the first communication service, wherein the first indication information is used for resource scheduling of the upper layer of the middle layer according to the first indication information so as to provide support for the first QoS through the upper layer of the middle layer; or, when a second QoS exists in the QoS required by the first communication service, transmitting second indication information to the lower layer of the intermediate layer, where the second indication information is used for resource scheduling of the second indication information of the lower layer of the intermediate layer, so as to provide support for the second QoS through the lower layer of the intermediate layer.
In a second aspect of the present application, the middle layer of the communication system of the vehicle may further include a conversion module, where the first communication middleware, the management module, and the conversion module of the middle layer of the communication system are further configured to execute steps in various possible implementation manners of the first aspect, and for specific implementation steps of the second aspect of the present application and various possible implementation manners of the second aspect, and beneficial effects brought by each possible implementation manner, reference may be made to descriptions in various possible implementation manners of the first aspect, and details are not repeated here.
In a third aspect, the present application provides an autonomous vehicle that may include a memory for storing a program, a processor for executing the program in the memory, and a bus system, including the steps of: the bus system is used for connecting the memory and the processor so as to enable the memory and the processor to communicate. The processor is configured to execute the QoS supporting method according to the second aspect.
In a fourth aspect, the present application provides a computer-readable storage medium having stored therein a computer program that, when running on a computer, causes the computer to execute the QoS support method according to the second aspect described above.
In a fifth aspect, the present application provides a circuit system, which includes a processing circuit configured to execute the QoS support method according to the second aspect.
In a sixth aspect, the present application provides a computer program that, when running on a computer, causes the computer to execute the QoS support method according to the second aspect described above.
In a seventh aspect, the present application provides a chip system, which includes a processor for enabling a server or a management apparatus to implement the functions referred to in the above aspects, for example, to transmit or process data and/or information referred to in the above methods. In one possible design, the system-on-chip further includes a memory for storing program instructions and data necessary for the server or the communication device. The chip system may be formed by a chip, or may include a chip and other discrete devices.
Drawings
FIG. 1 is a schematic diagram of an autonomous vehicle according to an embodiment of the present disclosure;
FIG. 2a is a schematic diagram of an intermediate layer of a communication system of a vehicle according to an embodiment of the present disclosure;
fig. 2b is a flowchart illustrating a QoS supporting method according to an embodiment of the present application;
fig. 3 is a flowchart illustrating a QoS supporting method according to an embodiment of the present application;
fig. 4 is a schematic diagram of a configuration interface of QoS required by a first communication service according to an embodiment of the present application;
fig. 5 is a schematic structural diagram of an intermediate layer of a communication system according to an embodiment of the present application;
fig. 6 is a schematic flowchart illustrating a process of establishing a communication link in the method for supporting QoS according to an embodiment of the present application;
FIG. 7 is a schematic diagram of a management device according to an embodiment of the present application;
fig. 8 is a schematic structural diagram of a management device according to an embodiment of the present application;
fig. 9 is another schematic structural diagram of an autonomous vehicle according to an embodiment of the present application.
Detailed Description
The terms "first," "second," and the like in the description and in the claims of the present application and in the above-described drawings are used for distinguishing between similar elements and not necessarily for describing a particular sequential or chronological order. It is to be understood that the terms so used are interchangeable under appropriate circumstances and are merely descriptive of the various embodiments of the application and how objects of the same nature can be distinguished. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of elements is not necessarily limited to those elements, but may include other elements not expressly listed or inherent to such process, method, article, or apparatus.
The scheme provided by the embodiment of the present application may be applied to an automotive open system architecture (automotive open system architecture, AUTOSAR), in particular to an AP type AUTOSAR, and may be specifically applied to an intermediate layer of a communication system of a vehicle, and for positioning the intermediate layer of the communication system of the vehicle, the following description is provided with reference to fig. 1 and fig. 2 a. Referring to fig. 1, fig. 1 is a structural diagram of a vehicle according to an embodiment of the present disclosure, and fig. 1 illustrates an example of the vehicle as an autonomous driving vehicle.
The autonomous vehicle 10 is configured in a fully or partially autonomous driving mode, for example, the autonomous vehicle 10 may control itself while in the autonomous driving mode, and may determine a current state of the vehicle and its surroundings by human operation, determine a likely behavior of at least one other vehicle in the surroundings, and determine a confidence level corresponding to a likelihood that the other vehicle will perform the likely behavior, control the autonomous vehicle 10 based on the determined information. The autonomous vehicle 10 may also be placed into operation without human interaction while the autonomous vehicle 10 is in the autonomous mode.
Autonomous vehicle 10 may include various subsystems such as a travel system 102, a sensor system 104, a control system 106, one or more peripherals 108, as well as a power supply 110, a computer system 112, and a user interface 116. Alternatively, the autonomous vehicle 10 may include more or fewer subsystems, and each subsystem may include multiple components. In addition, each of the sub-systems and components of the autonomous vehicle 10 may be interconnected by wires or wirelessly.
The travel system 102 may include components that provide powered motion for the autonomous vehicle 10. In one embodiment, the travel system 102 may include an engine 118, an energy source 119, a transmission 120, and wheels/tires 121.
The engine 118 may be an internal combustion engine, an electric motor, an air compression engine, or other types of engine combinations, such as a hybrid engine composed of a gasoline engine and an electric motor, and a hybrid engine composed of an internal combustion engine and an air compression engine. The engine 118 converts the energy source 119 into mechanical energy. Examples of energy sources 119 include gasoline, diesel, other petroleum-based fuels, propane, other compressed gas-based fuels, ethanol, solar panels, batteries, and other sources of electrical power. The energy source 119 may also provide energy to other systems of the autonomous vehicle 10. The transmission 120 may transmit mechanical power from the engine 118 to the wheels 121. The transmission 120 may include a gearbox, a differential, and a drive shaft. In one embodiment, the transmission 120 may also include other devices, such as a clutch. Wherein the drive shaft may comprise one or more shafts that may be coupled to one or more wheels 121.
The sensor system 104 may include a number of sensors that sense information about the environment surrounding the autonomous vehicle 10. For example, the sensor system 104 may include a positioning system 122 (which may be a global positioning GPS system, a compass system, or other positioning system), an Inertial Measurement Unit (IMU) 124, a radar 126, a laser range finder 128, and a camera 130. The sensor system 104 may also include sensors that are monitored for internal systems of the autonomous vehicle 10 (e.g., an in-vehicle air quality monitor, a fuel gauge, an oil temperature gauge, etc.). The sensing data from one or more of these sensors can be used to detect the object and its corresponding characteristics (position, shape, orientation, velocity, etc.). Such detection and identification is a critical function of the safe operation of the autonomous vehicle 10.
The positioning system 122 may be used, among other things, to estimate the geographic location of the autonomous vehicle 10. The IMU 124 is used to sense position and orientation changes of the autonomous vehicle 10 based on inertial acceleration. In one embodiment, IMU 124 may be a combination of an accelerometer and a gyroscope. The radar 126 may utilize radio signals to sense objects within the surrounding environment of the autonomous vehicle 10, which may be embodied as millimeter wave radar or lidar. In some embodiments, in addition to sensing objects, radar 126 may also be used to sense the speed and/or heading of an object. The laser rangefinder 128 may use a laser to sense objects in the environment in which the autonomous vehicle 10 is located. In some embodiments, the laser rangefinder 128 may include one or more laser sources, laser scanners, and one or more detectors, among other system components. The camera 130 may be used to capture multiple images of the surrounding environment of the autonomous vehicle 10. The camera 130 may be a still camera or a video camera.
Control system 106 is a system for controlling the operation of autonomous vehicle 10 and its components. The control system 106 may include various components including a steering system 132, a throttle 134, a braking unit 136, a computer vision system 140, a line control system 142, and an obstacle avoidance system 144.
Wherein the steering system 132 is operable to adjust the heading of the autonomous vehicle 10. For example, in one embodiment, a steering wheel system. The throttle 134 is used to control the operating speed of the engine 118 and thus the speed of the autonomous vehicle 10. The brake unit 136 is used to control the deceleration of the autonomous vehicle 10. The brake unit 136 may use friction to slow the wheel 121. In other embodiments, the brake unit 136 may convert the kinetic energy of the wheel 121 into an electric current. The brake unit 136 may also take other forms to slow the rotational speed of the wheels 121 to control the speed of the autonomous vehicle 10. The computer vision system 140 may be operable to process and analyze images captured by the camera 130 to identify objects and/or features in the environment surrounding the autonomous vehicle 10. The objects and/or features may include traffic signals, road boundaries, and obstacles. The computer vision system 140 may use object recognition algorithms, motion from Motion (SFM) algorithms, video tracking, and other computer vision techniques. In some embodiments, the computer vision system 140 may be used to map an environment, track objects, estimate the speed of objects, and so forth. The routing control system 142 is used to determine the travel route and travel speed of the autonomous vehicle 10. In some embodiments, the route control system 142 may include a lateral planning module 1421 and a longitudinal planning module 1422, the lateral planning module 1421 and the longitudinal planning module 1422 being used to determine a travel route and a travel speed for the autonomous vehicle 10 in conjunction with data from the obstacle avoidance system 144, the GPS 122, and one or more predetermined maps, respectively. Obstacle avoidance system 144 is used to identify, evaluate, and avoid or otherwise negotiate obstacles in the environment of autonomous vehicle 10, which may be embodied as actual obstacles and virtual moving objects that may collide with autonomous vehicle 10. In one example, the control system 106 may additionally or alternatively include components other than those shown and described. Or may reduce some of the components shown above.
The autonomous vehicle 10 interacts with external sensors, other vehicles, other computer systems, or users through peripherals 108. The peripheral devices 108 may include a wireless communication system 146, an in-vehicle computer 148, a microphone 150, and/or speakers 152. In some embodiments, the peripheral devices 108 provide a means for a user of the autonomous vehicle 10 to interact with the user interface 116. For example, the onboard computer 148 may provide information to a user of the autonomous vehicle 10. The user interface 116 may also operate the in-vehicle computer 148 to receive user input. The in-vehicle computer 148 may be operated via a touch screen. In other cases, peripheral devices 108 may provide a means for autonomous vehicle 10 to communicate with other devices located within the vehicle. For example, the microphone 150 may receive audio (e.g., voice commands or other audio input) from a user of the autonomous vehicle 10. Similarly, the speaker 152 may output audio to a user of the autonomous vehicle 10.
The wireless communication system 146 wirelessly communicates with one or more devices either directly or via a communication network. For example, the wireless communication system 146 may use 3G cellular communication, 4G cellular communication, 5G cellular communication, or Wireless Local Area Network (WLAN) communication, etc. In some embodiments, the wireless communication system 146 may utilize an infrared link, bluetooth, or ZigBee to communicate directly with the device. Other wireless protocols, such as various vehicle communication systems, for example, the wireless communication system 146 may include one or more Dedicated Short Range Communications (DSRC) devices that may include public and/or private data communications between vehicles and/or roadside stations.
The power supply 110 may provide power to various components of the autonomous vehicle 10. In one embodiment, power source 110 may be a rechargeable lithium ion or lead acid battery. One or more battery packs of such batteries may be configured as a power source to provide power to various components of the autonomous vehicle 10. In some embodiments, the power source 110 and the energy source 119 may be implemented together, such as in some all-electric vehicles.
Some or all of the functionality of the autonomous vehicle 10 is controlled by a computer system 112, the autonomous vehicle 10 may include one or more computer systems 112, each computer system 112 may include at least one processor 113, and the processor 113 executes instructions 115 stored in a non-transitory computer readable medium, such as a memory 114. If multiple computer systems 112 are present in the autonomous vehicle 10, the multiple computer systems 112 may be individual subsystems or components that control the autonomous vehicle 10 in a distributed manner, i.e., each individual component or subsystem of the autonomous vehicle 10 may have its own processor, and some components, such as the steering component and the retarding component, may each have their own processor that performs only calculations related to the function specific to the component.
Each processor 113 may be any conventional processor, such as a Central Processing Unit (CPU). Alternatively, the processor 113 may be a dedicated device such as an Application Specific Integrated Circuit (ASIC) or other hardware-based processor.
Although fig. 1 functionally illustrates a processor, memory, and other components of the computer system 112 in the same block, those skilled in the art will appreciate that the processor, or memory, may actually comprise multiple processors, or memories, that are not stored within the same physical housing. For example, the memory 114 may be a hard drive or other storage medium located in a different enclosure than the computer system 112. Thus, references to processor 113 or memory 114 are to be understood as including references to a collection of processors or memories that may or may not operate in parallel.
In some embodiments, the memory 114 may contain instructions 115 (e.g., program logic), and the instructions 115 may be executed by the processor 113 to perform various functions of the autonomous vehicle 10, including those described above. The memory 114 may also contain additional instructions, including instructions to send data to, receive data from, interact with, and/or control one or more of the travel system 102, the sensor system 104, the control system 106, and the peripheral devices 108. In addition to instructions 115, memory 114 may also store data such as road maps, route information, the location, direction, speed of the vehicle, and other such vehicle data, among other information. Such information may be used by the autonomous vehicle 10 and the computer system 112 during operation of the autonomous vehicle 10 in autonomous, semi-autonomous, and/or manual modes. A user interface 116 for providing information to and receiving information from a user of the autonomous vehicle 10. Optionally, the user interface 116 may include one or more input/output devices within the collection of peripheral devices 108, such as a wireless communication system 146, an in-vehicle computer 148, a microphone 150, and a speaker 152.
The computer system 112 may control the functions of the autonomous vehicle 10 based on inputs received from various subsystems (e.g., the travel system 102, the sensor system 104, and the control system 106) and from the user interface 116. If multiple computing systems 112 are present in the autonomous vehicle 10, the multiple computing systems 112 may interact with each other via wired communication to control the autonomous vehicle 10. For example, the computer system 112 may utilize input from the control system 106 in order to control the steering system 132 to avoid obstacles detected by the sensor system 104 and the obstacle avoidance system 144. In some embodiments, the computer system 112 is operable to provide control over many aspects of the autonomous vehicle 10 and its subsystems.
Alternatively, one or more of these components described above may be mounted or associated separately from the autonomous vehicle 10. For example, the memory 114 may exist partially or completely separate from the autonomous vehicle 10. The aforementioned components may be communicatively coupled together in a wired and/or wireless manner.
Optionally, the above components are only an example, in an actual application, components in the above modules may be added or deleted according to an actual need, and fig. 1 should not be construed as limiting the embodiment of the present application. Autonomous vehicles traveling on roadways, such as autonomous vehicle 10 above, may identify objects within their surrounding environment to determine an adjustment to the current speed. The object may be another vehicle, a traffic control device, or another type of object. In some examples, each identified object may be considered independently, and based on the respective characteristics of the object, such as its current speed, acceleration, separation from the vehicle, etc., may be used to determine the speed at which the autonomous vehicle is to be adjusted.
Optionally, the autonomous vehicle 10 or a computing device associated with the autonomous vehicle 10, such as the computer system 112, the computer vision system 140, the memory 114 of fig. 1, may predict behavior of the identified object based on characteristics of the identified object and the state of the surrounding environment (e.g., traffic, rain, ice on the road, etc.). Optionally, each identified object depends on the behavior of each other, so it is also possible to predict the behavior of a single identified object taking all identified objects together into account. The autonomous vehicle 10 is able to adjust its speed based on the predicted behavior of the identified object. In other words, the autonomous vehicle 10 is able to determine what steady state the vehicle will need to adjust to (e.g., accelerate, decelerate, or stop) based on the predicted behavior of the object. In this process, other factors may also be considered to determine the speed of the autonomous vehicle 10, such as the lateral position of the autonomous vehicle 10 in the road being traveled, the curvature of the road, the proximity of static and dynamic objects, and so forth. In addition to providing instructions to adjust the speed of the autonomous vehicle, the computing device may also provide instructions to modify the steering angle of the autonomous vehicle 10 to cause the autonomous vehicle 10 to follow a given trajectory and/or maintain a safe lateral and longitudinal distance from objects in the vicinity of the autonomous vehicle 10 (e.g., cars in adjacent lanes on the road).
The autonomous vehicle 10 may be a car, a truck, a motorcycle, a bus, a boat, an airplane, a helicopter, a lawn mower, a playground vehicle, construction equipment, a trolley, a golf cart, a train, etc., and the embodiment of the present invention is not particularly limited.
In conjunction with the above description, please refer to fig. 2a, fig. 2a is a schematic diagram of an intermediate layer of a communication system of a vehicle according to an embodiment of the present application. For example, the aforementioned vehicle communication system may refer to a wired communication system in each of the computing systems 112 in the autonomous vehicle 10, or may refer to a wireless communication system 146 in the autonomous vehicle 10. As shown in fig. 2a, the Communication system in the vehicle may include an Ethernet (Ethernet) network of an application layer (application layer), a Communication Management (CM) standardized implementation layer, an intermediate layer, a transport layer, and a data link layer. Wherein the application layer may deploy one or more application programs. Multiple applications in the application layer may relate to one or more communication services (services), that is, some of the multiple applications may need to configure the related communication services in the configuration process, each communication service needs to bind a communication middleware specified by a communication protocol, and different communication services may bind the same kind of communication middleware or different kinds of communication middleware. Which types of communication services are present in the vehicle may be predefined and which communication services an application is related to may also be predefined. For example, a communication service may be defined as the transfer of one or more types of data. For example, the sensor system 104 may acquire the position information, the motion information, the radar data, the laser data, and the image data, one processor for controlling the sensor system 104 may be present in the processor 113, an application program deployed on an operating system of the processor may relate to three communication services, one of the three communication services may be defined to transmit the position information, the radar data, or the laser data, another communication service may be defined to transmit the motion information, and another communication service may be defined to transmit the image data. It should be noted that, since the application layer may deploy a plurality of applications, different applications may relate to the same communication service or different communication services.
The CM standard service implementation layer is used for providing one or more functions of: providing a configuration interface for communication services (services) to a user, binding each communication service with a certain communication protocol or other functions, etc., where the "certain communication protocol" refers to a protocol for specifying communication middleware of the middle layer and is not exhaustive here. The middle tier in embodiments of the subject application may include one or more of communication middleware and management modules. For example, each communication middleware may be SOME/IP protocol specified communication middleware, or DDS protocol specified communication middleware or other types of communication middleware, and so on.
The management module is configured to provide support for QoS required by at least one communication service. For example, if a certain communication service (hereinafter referred to as "first communication service" for convenience of description) is bound to communication middleware of the first communication protocol, if support for QoS is not provided in the first communication protocol, support for QoS required by the first communication service may be provided by the management module. Thereby, regardless of which protocol-specified communication middleware is bound to each communication service, support of QoS required for the communication service can be realized.
Specifically, please refer to fig. 2b, wherein fig. 2b is a schematic flowchart of a QoS supporting method according to an embodiment of the present application. After establishing a communication link corresponding to a first communication service with a first device, a first communication middleware executes data processing operation corresponding to the first communication service based on the specification of a first communication protocol; and A2, providing support for the QoS required by the first communication service through the management module. Specifically, step A2 may include: transmitting first indication information to an upper layer of the middle layer under the condition that the first QoS exists in the QoS required by the first communication service, wherein the first indication information is used for resource scheduling of the upper layer of the middle layer according to the first indication information so as to provide support for the first QoS through the upper layer of the middle layer; or, in the case that the second QoS exists in the QoS required by the first communication service, transmitting second indication information to the lower layer of the intermediate layer, where the second indication information is used for resource scheduling for the lower layer of the intermediate layer to provide support for the second QoS through the lower layer of the intermediate layer. The management module can send indication information to the upper layer and/or the lower layer of the middle layer to provide support for part of QoS required by the communication service by means of the capacity of the upper layer and/or the lower layer of the middle layer, and changes to the middle layer are reduced to reduce implementation difficulty of providing support for the QoS required by the communication service.
The transport layer may provide different types of transport channels, such as a shared memory (SHM) shown in fig. 2a, a Transport Control Protocol (TCP) based transport channel, a user data protocol (user, data protocol, UDP) or other types of transport channels, and so on. It should be noted that the communication system of the vehicle may include more or less layers, and the example in fig. 2a is only for convenience of locating the position of the middle layer, and is not used to limit the present solution.
With reference to the above description, an embodiment of the present application provides a QoS supporting method, and specifically refer to fig. 3, fig. 3 is a flowchart illustrating the QoS supporting method provided in the embodiment of the present application, where the QoS supporting method provided in the embodiment of the present application may include:
301. a first communication middleware in the third device obtains a first service discovery packet sent by the first device, where the first service discovery packet corresponds to the first communication service.
In this embodiment of the application, in a process of establishing a communication link corresponding to a first communication service between a first device and a third device, a first communication middleware of the third device may obtain a first service discovery packet sent by the first device. The first communication service binding is a first communication protocol, and the first communication middleware is communication middleware complying with the first communication protocol specification; for example, if the first communication service binding is the SOME/IP protocol, the first communication middleware is communication middleware compliant with the SOME/IP protocol specification, and if the first communication service binding is the DDS protocol, the first communication middleware is communication middleware compliant with the DDS protocol specification.
The third device may obtain the first service discovery packet sent by the first device in multiple scenarios. For example, when the first device needs data corresponding to the first communication service, a first service discovery packet may be sent to the third device, where the first service discovery packet is used to confirm whether the third device can provide the first communication service to the third device, so that a first communication middleware of the third device may obtain the first service discovery packet sent by the first device.
For another example, the first device may send a first service discovery packet to the multiple devices in a multicast manner, where the first service discovery packet is used to indicate that the first device can provide the first communication service, and the multiple devices include the third device, so that the first communication middleware of the third device may obtain the first service discovery packet sent by the first device. For another example, when the third device needs data corresponding to the first communication service, a second service discovery packet may be sent to the first device, where the second service discovery packet is used to confirm whether the first device can provide the first communication service, so that the third device may obtain the first service discovery packet sent by the first device, where the first service discovery packet is used by the third device to determine whether the first device can provide the first communication service, and the like.
Wherein the first device and the third device may be different processors in the same vehicle; alternatively, the first device and the third device may also be two independent terminal devices, for example, the third device is a self-vehicle, and the first device may be another vehicle, a mobile phone, a laptop, or another type of terminal device; or, the first device and the third device may also be different application programs in the same processor, for example, the first device and the third device may communicate in an SHM manner, and the specific forms of the first device and the third device may be determined according to actual application scenarios, which is not exhaustive here.
Exemplarily, if the first service discovery packet is a packet specified by the SOME/IP protocol, the first service discovery packet may be represented as a discovery service (find service) packet, an offer service (offer service), a subscription event group (subscription event group), or a subscription acknowledgement (subscription Ack); if the first service discovery packet is a packet specified by the DDS protocol, the first service discovery packet may be represented by an SPDP, an SEDP, or other types of packets, and the specific representation form of the first service discovery packet is not exhaustive here, and may be specifically determined by combining with an actual application scenario.
The first service discovery packet may carry indication information of the first communication service, for example, a header of the service discovery packet specified by the SOME/IP protocol may have a "service identifier (service ID)" field, and the field may carry the indication information of the first communication service; for another example, a "Service ID" field determined based on a DDS-Remote Procedure Call (RPC) mechanism may exist in a header of a Service discovery message specified by a DDS protocol, and the field may carry indication information of the first communication Service; for another example, the first service discovery packet may carry indication information of the first communication service in a packet body, which is not exhaustive here.
302. The third device determines whether to establish a communication link corresponding to the first communication service with the first device according to the first service discovery packet, and if the determination result is undetermined, the step 303 is executed; if the determination result is negative, go to step 305; if yes, go to step 306.
In some embodiments of the present application, after acquiring a first service discovery packet of a second communication protocol type sent by a first device, a third device may determine, according to the first service discovery packet, whether a communication link corresponding to a first communication service can be established with the first device, and if the determination result is negative, go to step 305; if yes, go to step 306; if the determination result is pending, step 303 is entered.
The process of the third device determining whether to formally establish the communication link corresponding to the first communication service with the first device according to the first service discovery packet of the second communication protocol type sent by the first device may be divided into the following two steps:
the first step is as follows: if the first device requests the third device to provide a certain communication service, the third device determines whether the third device is capable of providing the first communication service to the first device. Or, if the third device requests the first device to provide the first communication service, the third device determines whether the first device can provide the first communication service to the third device according to the first service discovery packet of the second communication protocol type.
The second step is that: and under the condition that at least one target QoS exists in the QoS required by the first communication service, the third equipment judges whether the QoS capability of the first equipment can be successfully matched with each target QoS according to the first service discovery message of the second communication protocol type, wherein the target QoS is the QoS required to be matched in one or more QoS required by the first communication service. It should be noted that, the first step may be performed first, or the second step may be performed first, which is not limited herein.
The implementation of the above-described "first step" and "second step" is specifically described below, respectively.
In one case, if the second communication protocol and the first communication protocol are the same communication protocol, for example, if both the second communication protocol and the first communication protocol are SOME/IP protocol, DDS protocol, or other protocol, etc. After the third device acquires the first service discovery packet of the second communication protocol type sent by the first device, the first communication middleware in the third device may directly parse the first service discovery packet of the second communication protocol type (that is, the first communication protocol type) based on the specification of the first communication protocol, so as to determine whether the first device can provide the first communication service to the third device (or whether the third device can provide the first communication service to the first device).
Specifically, the first communication middleware in the third device may determine whether the communication service pointed by the first service discovery packet is the first communication service; that is, in a case where the first device requests the third device to provide a certain communication service, it is determined whether the communication service requested in the first service discovery packet is the first communication service, or, in a case where the third device requests the first device to provide the first communication service, it is determined whether the communication service provided in the first service discovery packet is the first communication service required by the third device.
Optionally, the first communication middleware in the third device may further determine any one or more of: whether the version number of the second communication protocol adopted by the first device matches the version number of the first communication protocol adopted by the third device or not may also be determined by the first communication middleware in the third device whether the type of the network transmission protocol adopted in the first service discovery packet is consistent with the type of the network transmission protocol configured by the first communication service in the third device or whether other information of the first device matches the third device or not based on the first service discovery packet, and so on, which is not exhaustive herein.
In another case, if the second communication protocol and the first communication protocol are different communication protocols, for example, if the second communication protocol is a DDS protocol, the first communication protocol is an SOME/IP protocol; or, if the second communication protocol is the SOME/IP protocol, the first communication protocol is the DDS protocol, etc. After the third device receives the first service discovery packet of the second communication protocol type sent by the first device, the conversion module in the third device may map the first service discovery packet of the second communication protocol type to the first service discovery packet of the first communication protocol type; the "mapping the first service discovery packet of the second communication protocol type to the first service discovery packet of the first communication protocol type" includes mapping a format of the service discovery packet, which is specified by the second communication protocol, of the first service discovery packet to a format of the service discovery packet, which is specified by the first communication protocol, and a specific implementation manner of the mapping operation will be described in the following step 303, which is not described here first. The first communication middleware in the third device may directly parse the first service discovery packet of the first communication protocol type based on the specification of the first communication protocol, so as to determine whether the first device can provide the first communication service to the third device (or whether the third device can provide the first communication service to the first device), and a specific implementation manner of the foregoing steps may refer to the description in the previous case, which is not described herein again.
(II) determining whether the QoS capability of the first device can successfully match each target QoS
In this embodiment of the application, in a process of establishing a communication link corresponding to a first communication service between a first device and a third device, the third device may determine one or more qoss required by the first communication service, and determine whether at least one target QoS exists in the one or more qoss required by the first communication service, where each target QoS is a QoS that needs to be matched with the one or more qoss required by the first communication service. If the determination result is yes, that is, if there is at least one target QoS in the one or more qoss required by the first communication service, it may be further determined whether the QoS capability of the first device can successfully match each target QoS; if the determination result is negative, that is, the QoS required for matching does not exist in the QoS required for the first communication service, it may be determined that the QoS capability of the first device can successfully match each target QoS. For example, reliability (Reliability) QoS, delay (Latency) QoS, deadline (Deadline) and other types of QoS are QoS that need to be matched, and it should be understood that the example of QoS that needs to be matched is only for convenience of understanding of the present solution and is not intended to limit the present solution.
Alternatively, if the first communication protocol supports rich QoS capability, the above-mentioned determination operation may be performed by the first communication middleware in the third device, for example, if the first communication protocol bound to the first communication service is the DDS protocol, the first communication middleware compliant with the DDS protocol specification may determine whether there is at least one target QoS in the one or more qoss required by the first communication service. If the first communication protocol does not support rich QoS capability, the management module in the third device may perform the above determination operation, for example, if the first communication protocol bound to the first communication service is the SOME/IP protocol, the management module in the third device may determine whether at least one target QoS exists in the one or more qoss required by the first communication service.
Among them, qoS is a security mechanism of a network, which means that various basic technologies in the network are utilized to provide better service capability for a specified communication service. A number of QoS are specified in the DDS protocol, such as Reliability (Reliability) QoS, deadline (QoS), latency (Latency) QoS, persistence (persistence) QoS, topic Data (Topic Data), partition (Partition) QoS, or other types of QoS, and so on, which are not exhaustive herein.
The third device may determine whether there is at least one target QoS among the one or more qoss required for the first communication service in a variety of ways. In one implementation, the third device may store therein first information indicating a second QoS set of the first QoS set, the second QoS set including all of the plurality of qoss of the first QoS set that need to be matched, the second QoS set including at least one QoS. For example, the first QoS set refers to all the QoS specified in the DDS protocol, and the first information may include all the QoS specified in the DDS protocol that needs to be matched; for another example, the first QoS set refers to all the QoS that the own vehicle can support, and the first information may include all the QoS that needs to be matched in all the QoS that the own vehicle can support; for another example, the first information may also be configured flexibly by a technician according to the actual situation of the third device, and the like, which is not limited herein.
Specifically, after determining one or more QoS required by the first communication service, the first communication middleware in the third device or the management module in the third device may determine, according to the first information, whether a target QoS exists in the one or more QoS required by the first communication service, that is, whether an intersection exists between the one or more QoS required by the first communication service and the second QoS set, and determine the intersection between the one or more QoS required by the first communication service and the second QoS set as the target QoS.
In another implementation, the third device may be configured with a first rule indicating which QoS do not need to be matched, for example, the QoS that does not need to be matched indicated by the first rule may include any one or more of the following: statically configurable QoS, qoS that affects only a single behavior, qoS that is declared negligible in configuration information for the first communication service or other QoS that does not need to be matched, etc., are not exhaustive herein. The statically configurable QoS and the QoS that needs to be dynamically matched to determine whether the link can be formally established are two relative concepts, for example, the statically configurable QoS may include a Transport Priority QoS, a Resource limit QoS, or other types of QoS, which belong to the statically configurable QoS, and are not exhaustive here. QoS that affects only a single behavior refers to QoS that affects only the data processing behavior of the third device. For example, qoS that only affects unilateral behavior may include both sender Data Lifecycle (Writer Data Lifecycle) and receiver Data Lifecycle (Reader Data Lifecycle) QoS that both affect only sender or receiver such unilateral behavior; for another example, resource Limits (Resource Limits) QoS, lifetime (Lifespan) QoS, or other types of QoS may be QoS that only affects one behavior, and is not exhaustive here. It should be noted that there may be an overlap between "statically configurable QoS", "QoS that only affects a single behavior", and "QoS that is declared negligible in the configuration information of the first communication service", and this is not limited herein.
Specifically, the first communication middleware in the third device or the management module in the third device may determine, according to the first rule, whether a target QoS exists in one or more qoss required by the first communication service; wherein the target QoS is a QoS that does not comply with the first rule among the one or more qoss required for the first communication service.
In another implementation manner, the third device may configure first information and a first rule, and the first communication middleware in the third device or a management module in the third device may determine, according to the first information and the first rule, whether a target QoS exists in one or more qoss required by the first communication service; wherein the target QoS belongs to an intersection between one or more QoS required by the first communication service and the second QoS set and does not obey the first rule.
Wherein the one or more QoS requirements for the first communication service are pre-configured. Optionally, before executing step 302, in the process of installing the application program to which the first communication service belongs on the vehicle, a receiving interface of the configuration information of the first communication service may be presented through the display interface, and the user may input the configuration information of the first communication service through the receiving interface of the configuration information of the first communication service. The display interface can be a display interface of the vehicle; for example, the user may connect a notebook computer to the peripheral device of the vehicle in a communication manner, and input the configuration information of the first communication service by using the display interface of the notebook computer.
Wherein the configuration information of the first communication service may include a first communication protocol of the first communication service binding and one or more qoss required for the first communication service; for example, the first communication protocol may be SOME/IP protocol, DDS protocol, or other protocol for specifying the first communication middleware, etc., which are not exhaustive herein.
For a more intuitive understanding of the present solution, please refer to fig. 4, where fig. 4 is a schematic diagram of a configuration interface of QoS required by the first communication service provided by the embodiment of the present application. As shown in fig. 4, the communication protocol of the first communication service binding may be configured through the receiving interface of the configuration information of the first communication service, for example, the communication protocol of the first communication service binding may be an SOME/IP protocol or a DDS protocol; one or more QoS required for the first communication service may also be configured through the interface for receiving configuration information for the first communication service, such as shown in fig. 4: reliability (Reliability) QoS, topic data (Topic data) QoS, user data (User data) QoS, group data (Group data) QoS, partition (Partition) QoS, ownership (Ownership) QoS, entity library (Entity factor) QoS, deadline (Deadline) QoS, resource Limits (Resource Limits) QoS, persistence (duration) QoS, or other types of QoS, etc., it being understood that the examples in fig. 4 are merely for ease of understanding the solution and are not intended to limit the solution. In this embodiment of the present application, since the management module provided in this embodiment of the present application can provide support for QoS capability, no matter what protocol type the first communication service is bound to is, support for required QoS can be achieved.
In some embodiments of the present application, after acquiring the first service discovery packet from the first device, the third device may determine whether target information corresponding to each target QoS of the at least one target QoS exists in the first service discovery packet, where each target information includes a parameter for reflecting one target QoS of the first device. In one case, if target information corresponding to each target QoS exists in the first service discovery message, the third device may determine, according to the target information corresponding to each target QoS, whether the capabilities of all target QoS in at least one target QoS of the first device are successfully matched with the parameters of each target QoS of the first communication service, and if the determination result is yes, the third device determines that the QoS capabilities of the first device are successfully matched with each target QoS; and if the judgment result is negative, the third equipment determines that the QoS capability of the first equipment cannot be successfully matched with each target QoS.
In another case, if the first service discovery packet does not have target information corresponding to any target QoS, it may be determined that the determination result is pending. In another case, if the first service discovery packet has target information corresponding to at least one first target QoS and lacks target information corresponding to at least one second target QoS, both the first target QoS and the second target QoS are included in the at least one target QoS that needs to be matched to the first communication service. Then, it may be determined whether the QoS capability of the first device can successfully match the parameter of the target QoS of the first communication service according to target information corresponding to at least one target QoS existing in the first service discovery packet, and if the determination result is negative, the third device may determine that the QoS capability of the first device cannot successfully match each target QoS. If the determination result is yes, the third device may determine that the determination result is pending.
In one case, if the second communication protocol is the SOME/IP protocol, a first mapping relationship may be stored in a conversion module in the third device, where the first mapping relationship indicates a mapping relationship between fields in the service discovery message specified by the SOME/IP protocol and QoS capabilities that can be reflected, that is, the first mapping relationship indicates which fields in the service discovery message specified by the SOME/IP protocol can reflect which QoS capabilities. The management module in the third device may determine whether target information corresponding to each target QoS of the at least one target QoS exists in the first service discovery message of the SOME/IP protocol type according to the first mapping relationship.
Exemplarily, information in a field used for indicating a type of adopted transport protocol in a service discovery message specified by the SOME/IP protocol may be used for reflecting Reliability (Reliability) QoS capability of the first device (i.e., an example of "target information corresponding to Reliability QoS"); for example, a transmission may be defined as having a certain degree of reliability when a Transmission Control Protocol (TCP) is used, and may be positioned as having no reliability when a User Datagram Protocol (UDP) is used; alternatively, the matching formula of the reliability QoS may be supplemented with Reliable (Reliable) > adopting TCP transmission > Best Effort (Best Effort) > adopting UDP transmission, and the like, and the setting of the specific first mapping relationship may be flexibly determined according to an actual situation, which is not limited herein.
In another case, if the second communication protocol is a DDS protocol, since a large amount of QoS is specified in the DDS protocol, the management module in the third device or the first communication middleware in the third device may obtain, from the first service discovery message of the DDS protocol type, information in a field corresponding to each target QoS, so as to obtain target information corresponding to each target QoS in at least one target QoS of the first device. Further, if the second communication protocol is a DDS protocol and the first communication protocol is a first service discovery packet of the SOME/IP protocol type, and whether target information corresponding to each target QoS of the at least one target QoS exists or not, the executing body of the foregoing step may be a management module in the third device; if the first communication protocol and the second communication protocol are both DDS protocols, the execution subject of the foregoing steps may be the first communication middleware in the third device.
In some embodiments of the present application, in one case, if the third device determines that the first communication service cannot be provided according to the first service discovery packet of the second communication protocol type, or determines that the QoS capability of the first device cannot successfully match each target QoS according to the first service discovery packet of the second communication protocol type, that is, the third device determines that the determination result is no, then step 305 is performed. In another case, if the third device determines that the first communication service can be provided according to the first service discovery packet, and the QoS capability of the first device successfully matches each target QoS, that is, the third device determines that the determination result is yes, step 306 is performed. In another case, if the third device determines that the first communication service can be provided according to the first service discovery packet of the second communication protocol type, and it is not determined whether the QoS capability of the first device successfully matches each target QoS according to the first service discovery packet of the second communication protocol type, that is, the third device determines that the determination result is pending, then step 303 is performed.
303. The management module in the third device determines to retain communication operations with the first device.
In some embodiments of the present application, when determining that the first service discovery packet does not have target information corresponding to any one target QoS, that is, when it cannot be determined through the first service discovery packet from the first device whether the QoS capability of the first device can successfully match all the target QoS, the management module in the third device may determine to retain the communication operation with the first device; the "reserving the communication operation with the first device" includes reserving the message interaction operation with the first device.
For example, "maintaining interworking of messages with the first device" may include: the third equipment continues to receive a first message of a second communication protocol type sent by the first equipment; optionally, the third device continues to send the second packet of the second communication protocol type to the first device.
In particular, in one case. If the second communication protocol and the first communication protocol are the same communication protocol, for example, if the second communication protocol and the first communication protocol are both SOME/IP protocol, DDS protocol, or other protocol. After the third device receives the first packet of the second communication protocol type sent by the first device, the first communication middleware in the third device may directly parse and perform data processing on the first packet of the first communication protocol type based on the specification of the first communication protocol. And the result of the data processing is encapsulated into a second message of the type of a second communication protocol (namely, the first communication protocol); and the third equipment sends the second message of the second communication protocol type to the third equipment.
In another case, if the second communication protocol and the first communication protocol are different communication protocols, for example, if the second communication protocol is a DDS protocol, the first communication protocol is an SOME/IP protocol; or, if the second communication protocol is the SOME/IP protocol, the first communication protocol is the DDS protocol, etc. After the third device receives the first packet of the second communication protocol type sent by the first device, the conversion module in the third device may map the first packet of the second communication protocol type to the first packet of the first communication protocol type; the first communication middleware in the third device may parse and perform data processing on the first packet of the first communication protocol type based on the specification of the first communication protocol, and encapsulate a result of the data processing into a second packet of the first communication protocol type; a conversion module in the third device may map the second packet of the first communication protocol type to the second packet of the second communication protocol type; and the third equipment sends the second message of the second communication protocol type to the third equipment.
Wherein, since step 303 is in the state of reserved link establishment, a first message may be represented as a service discovery message or a normal message, etc.; a second message may also be represented as a service discovery message or a normal message, etc. The mapping operation performed by the conversion module in the third device is to convert the first packet from the packet format specified by the second communication protocol to the packet format specified by the first communication protocol. Optionally, the method further includes converting the second message from a message format specified by the first communication protocol to a message format specified by the second communication protocol.
For a more intuitive understanding of the present invention, please refer to fig. 5, and fig. 5 is a schematic structural diagram of an intermediate layer of a communication system according to an embodiment of the present invention. Fig. 5 can be understood with reference to fig. 2a, as shown in fig. 5, the intermediate layer may further be configured with a conversion module, taking the first communication protocol as an SOME/IP protocol, taking the second communication protocol as a DDS protocol as an example, and after the third device receives the DDS protocol type message of the first device, the conversion module is configured to convert the DDS protocol type message into an SOME/IP protocol type message, and then the first communication middleware specified by the first communication protocol processes the SOME/IP protocol type message; when the third device sends a message to the first device, the first communication middleware may be encapsulated into a message of an SOME/IP protocol type, and the conversion module is configured to map the message of the SOME/IP protocol type to a message of a DDS protocol type, and then send the message of the DDS protocol type to the third device.
The mapping method adopted in the process of converting the first message from the message format specified by the second communication protocol to the message format specified by the first communication protocol may include the following types:
(1) And directly mapping the information that the message of the second communication protocol type and the message of the first communication protocol type both exist and the maintenance granularities of the second communication protocol and the first communication protocol are consistent. For example, the source IP address and the destination IP address belong to common information. For another example, the message types specified in both the service discovery message of the second communication protocol type and the first service discovery message of the communication protocol type may include, for example, SPDP, SEDP, or other message types in the DDS protocol, and the message types of the service discovery message specified in the SOME/IP protocol may include a discovery service (find service) message, an offer service (offer service), a subscription event group (subscribe event group), or a subscription acknowledgement (subscribe Ack) or other message types. For another example, the information in the flag-restart (Flags-Reboot) field specified in the SOME/IP protocol, the Session Number (SN) information of the Publisher (Publisher) field specified in the DDS protocol, and the information in the node Reboot state field may be directly mapped, and so on, which are not exhaustive here.
(2) For the information existing in the message of the second communication protocol type and not existing in the message of the first communication protocol type, supplementary mapping may be performed, and the supplementary mapping may include any one or more of the following: adding fields, writing the information into optional fields of the message of the first communication protocol type in a character string form or adopting other modes, and the like, which are not exhaustive here. For example, if the second communication protocol is the SOME/IP protocol type, and if the first communication protocol is the DDS protocol, the service discovery message of the SOME/IP protocol type specifies the identifier (Instance ID) information of the Instance, the Instance ID information may be added to the message of the DDS protocol type based on a DDS-Remote Procedure Call (RPC) mechanism. For another example, if the message of the SOME/IP protocol type specifies identification (Service ID) information of the communication Service, the Service ID information may be added to the message of the DDS protocol type based on the DDS-RPC mechanism. For another example, if the message of SOME/IP protocol type specifies Method identification (Method ID) information, the Method ID information may be added to the message of DDS protocol type based on the DDS-RPC mechanism.
(3) And split mapping or combined mapping can be carried out on the information which exists in both the message of the second communication protocol type and the message of the first communication protocol type and has difference in the maintenance granularity of the second communication protocol and the first communication protocol. For example, the message of the SOME/IP protocol type specifies Client identification (Client ID) information, which may correspond to a Globally Unique Identifier (GUID) in a Publisher (Publisher) field or a Subscriber field in the message of the DDS protocol type, and since the granularity of the GUID specified by the DDS protocol is coarser than that of the Client ID, when the Client ID information in the message of the SOME/IP protocol type is mapped to the message of the DDS protocol type, a combined mapping may be performed, and when the GUID in the message of the DDS protocol type is mapped to the message of the SOME/IP protocol type, a plurality of sub-topics (topics) may be split to implement the mapping with the Client ID. For another example, session ID information is specified in the message of the SOME/IP protocol type, and may correspond to SN information in the publish field in the message of the DDS protocol type, and when mapping the GUID in the message of the DDS protocol type to the message of the SOME/IP protocol type, a plurality of sub topics may also be split to implement mapping with the Session ID, and the like. It should be noted that the above examples are only for convenience of understanding of the present disclosure, and are not intended to limit the present disclosure. Exemplarily, the following mapping method adopted when converting a packet specified by the DDS protocol into a packet specified by the SOME/IP protocol is disclosed by table 1:
Figure BDA0003827743730000171
TABLE 1
Table 1 shows a mapping manner adopted when information in a message specified by the DDS protocol is converted into information in a message specified by the SOME/IP protocol, that is, when information in a message specified by the DDS protocol is written into a plurality of fields in a message specified by the SOME/IP protocol, it should be noted that "splitting and refining" may be replaced by "combining and refining" when information in a message specified by the SOME/IP protocol is converted into information in a message specified by the DDS protocol, the example in table 1 is only for facilitating understanding of the present solution, and other information in a message specified by the SOME/IP protocol and a message specified by the DDS protocol needs to be mapped, which is not exhaustive here.
The "converting the first message from the message format specified by the second communication protocol to the message format specified by the first communication protocol" may include an information mapping of a field unrelated to the QoS capability of the first device; optionally, a mapping of fields relating to QoS capabilities of the first device may also be included. Illustratively, if the first communication protocol is a DDS protocol, the second communication protocol is an SOME/IP protocol, and a message of the DDS protocol type carries a large amount of information related to QoS, information of a part of fields related to QoS in the message of the DDS protocol type may be converted into character string information, and the character string information is appended to the message of the SOME/IP protocol type.
The manner of mapping the information relating to the QoS capability of the first device into the message of the SOME/IP protocol type may include any one or more of the following:
(1) Directly mapping to the message header of the message of the SOME/IP protocol type, namely displaying the parameters carrying certain QoS in the message header of the message of the SOME/IP protocol type. Illustratively, the following QoS specified in the service discovery message specified by the DDS protocol may be mapped with a field in the service discovery message specified by the SOME/IP protocol: reliability (Reliability) QoS, partition (Partition) QoS, topic data (Topic data) QoS, group data (Group data) QoS, user data (User data) QoS, ownership (Ownership) QoS, entity library (Entity factory) QoS, or other QoS, and the like, without limitation.
For example, a field indicating the type of the adopted transport protocol in the service discovery message specified by the SOME/IP protocol may be mapped with a field representing Reliability (Reliability) QoS capability of the first device in the service discovery message specified by the DDS protocol. The reliability of transmission using TCP is greater than that using UDP. Alternatively, the matching formula for Reliability (Reliability) QoS in the third device and the first device may be supplemented with Reliability (Reliable) > using TCP transmission > Best Effort (Best Effort) > using UDP transmission.
For another example, information of fields in the service discovery message specified by the DDS protocol, which characterize the packet of the first device, and isolate communication-related QoS capabilities (e.g., partition QoS, topic data QoS, group data QoS, or other QoS in the DDS protocol, etc.) may be mapped to different "Instance identifiers (Instance IDs)", "Method IDs", "Event IDs", etc. in the service discovery message specified by the SOME/IP protocol, and it should be noted that, this example is only for convenience of understanding, and is not used to limit the present solution.
(2) Converting the Configuration parameters of the QoS into character string information, and filling the character string information in an Option-Configuration (Option-Configuration) field of the message of the SOME/IP protocol type.
(3) Converting the QoS configuration parameters into character string information, and filling the character string information in the message body of the SOME/IP protocol type.
In the embodiment of the application, although the SOME/IP protocol does not support a large amount of QoS capabilities, when the message of the SOME/IP protocol type is sent, at least one configuration parameter of QoS required by the first communication service is mapped to the message of the SOME/IP protocol type, that is, more information is transmitted to the opposite terminal, which is beneficial to improving the possibility that the opposite terminal knows the real QoS capabilities of the third device.
Optionally, if the first communication protocol is different from the second communication protocol, in the process of "reserving the interactive operation of the packet between the third device and the first device", the management module of the third device may further dynamically adjust a duration occupied by the conversion module and the first communication middleware in the process of processing the first packet from the first device. For example, the management module dynamically adjusts a duration occupied by three stages of "mapping a first packet of a second communication protocol type to a first packet of a first communication protocol type", "the first communication middleware analyzes and performs data processing on the first packet of the first communication protocol type based on a specification of the first communication protocol, and encapsulates a result of the data processing into a second packet of the first communication protocol type", and "mapping the second packet of the first communication protocol type to a second packet of the second communication protocol type".
And/or the management module of the third device may further dynamically adjust the priority of the first packet from the first device in the conversion module and the communication middleware. For example, the management module may dynamically adjust any one or more of the following priorities: the task of "mapping a first packet of a second communication protocol type to a first packet of a first communication protocol type" is a priority of the task in the conversion module, "the first communication middleware analyzes and processes data of the first packet of the first communication protocol type based on a specification of the first communication protocol, and encapsulates a result of the data processing into a second packet of the first communication protocol type," the priority of the task in the first communication middleware, "mapping a second packet of the first communication protocol type to a second packet of the second communication protocol" a priority of the task in the management module or a priority of other tasks in a process of processing the first packet from the first device, and the like, which are not exhaustive.
304. The management module in the third device determines whether the QoS capability of the first device successfully matches each target QoS based on the communication operation, and if the determination result is no, the process proceeds to step 305, and if the determination result is yes, the process proceeds to step 306.
In some embodiments of the present application, the management module in the third device may determine, based on the communication operation, whether the QoS capability of the first device is successfully matched with the target QoS, and if the determination result is negative, step 305 is performed, that is, it is determined that the establishment of the communication link with the first device fails; if yes, go to step 306, that is, determine to formally establish the communication link with the first device. Alternatively, if the management module in the third device is still unable to determine whether the QoS capabilities of the first device successfully match each target QoS based on the communication operation within the target duration, step 305 may be entered.
In the embodiment of the application, when it cannot be determined whether the QoS capability of the first device is successfully matched with each target QoS according to data in a service discovery message from the first device, a direct confirmation of a failure in establishing a link with the first device is not selected, but a communication operation with the first device is reserved, and when it is determined that the actual QoS capability of the first device is successfully matched with each target QoS based on the communication operation, a communication link is formally established with the first device; for example, when the first communication service in the first device is bound by the SOME/IP protocol, the information carried in the service discovery message of the SOME/IP protocol may not comprehensively reflect the QoS capability of the first device.
Illustratively, the information for determining the QoS capabilities of the first device may include any one or more of: the time of receiving the message of the first device in the process of performing the communication operation, the timestamp carried in the message of the first device received in the process of performing the communication operation, the sequence number carried in the message of the first device received in the process of performing the communication operation, the destination address or other information in the message of the first device received in the process of performing the communication operation, and the like, which are not limited herein. In the embodiment of the application, the actual QoS capability of the first equipment is determined based on the information generated in the communication operation, the realization difficulty of the scheme is favorably reduced, and the realization accuracy of the scheme is improved.
For example, when the target QoS that has not been matched is the delay QoS, the actual time interval in the adjacent messages sent by the first device, that is, the actual delay QoS capability of the two adjacent messages sent by the first device, may be determined by the time when the message of the first device is received in the process of executing the communication operation, the timestamp or other information carried in the message of the first device received in the process of executing the communication operation, and the like. For another example, when the target QoS that has not been matched is the reliability QoS, and the reliability QoS may have a requirement on the transmission sequence of the packet, the actual reliability QoS capability of the first device may be determined according to the sequence number carried in the received packet of the first device. For another example, if some QoS related to the partition may require to receive only the unicast message, it may be possible to check whether the destination address in the received message of the first device points to a unique receiving port, etc., which is only to prove the feasibility of "determining whether the QoS capability of the first device is successfully matched with the target QoS based on the communication operation", and is not used to limit the present solution.
Optionally, when storing the QoS capability of the first device, the management module in the third device may add a first special identifier to the at least one target QoS capability of the first device determined based on steps 304 and 305, where the first special identifier is used to indicate that the target QoS for the first special identifier exists is determined based on the information generated by the communication operation process.
305. A management module in the third device determines that the establishment of the communication link with the first device has failed.
For a more intuitive understanding of the present solution, please refer to fig. 6, where fig. 6 is a schematic flowchart illustrating a process of establishing a communication link in the method for supporting QoS according to the embodiment of the present application. As shown in fig. 6, B1, the third device and the first device perform a link establishment handshake. And B2, the third equipment determines that the first equipment can provide the first communication service according to the first service discovery message acquired in the link establishment handshake phase, and the first service discovery message is triggered to enter the reserved link establishment phase under the condition that target information corresponding to all target QoS does not exist. And B3, in the reserved link establishment phase, the third equipment reserves the communication operation with the first equipment. And B4, the third device determines that the QoS capability of the first device cannot be successfully matched with each target QoS based on the communication operation. B5, the third device determines that the establishment of the communication link with the first device fails, and it should be understood that the example in fig. 6 is only for convenience of understanding the present solution and is not used to limit the present solution.
306. A management module in the third device determines to formally establish a communication link with the first device.
307. The first communication middleware in the third device performs a data processing operation corresponding to the first communication service based on the specification of the first communication protocol.
In the embodiment of the present application, after establishing a communication link corresponding to a first communication service with a first device, a first communication middleware in a third device performs a data processing operation corresponding to the first communication service based on a specification of a first communication protocol.
Specifically, after establishing a communication link corresponding to the first communication service with the first device, the third device may receive a third packet of the second communication protocol type sent by the first device, and in one case, if the second communication protocol and the first communication protocol are the same communication protocol, after receiving the third packet of the second communication protocol type sent by the first device, the first communication middleware in the third device may directly parse and perform data processing on the third packet of the first communication protocol type based on the specification of the first communication protocol. And the result of the data processing is encapsulated into a fourth message of the type of a second communication protocol (namely, the first communication protocol); and the third equipment sends the fourth message of the second communication protocol type to the third equipment.
In another case, if the second communication protocol and the first communication protocol are different communication protocols, after the third device receives a third packet of the second communication protocol type sent by the first device, a conversion module in the third device may map the third packet of the second communication protocol type to the third packet of the first communication protocol type; the first communication middleware in the third device may parse and perform data processing on the third packet of the first communication protocol type based on the specification of the first communication protocol, and encapsulate a result of the data processing into a fourth packet of the first communication protocol type; a conversion module in the third device may map the fourth packet of the first communication protocol type to the fourth packet of the second communication protocol type; and the third equipment sends the fourth message of the second communication protocol type to the third equipment. The specific implementation manner of the foregoing step may refer to the description in the foregoing step 302, which is not described herein again.
In the embodiment of the application, although only one communication protocol is bound to each communication service, the conversion module can map the message of the second communication protocol type to the message of the first communication protocol type, and the first communication middleware processes the message of the first communication protocol type, that is, the third device can process the messages of different communication protocols, thereby greatly expanding the application scenario of the scheme.
Optionally, if the first communication protocol and the second communication protocol are different, after the communication link corresponding to the first communication service is established with the first device, the management module of the third device may further dynamically adjust a duration occupied by the conversion module and the first communication middleware in a process of processing the third packet from the first device. For example, the management module dynamically adjusts a duration occupied by three stages of "mapping the third packet of the second communication protocol type to the third packet of the first communication protocol type", "the first communication middleware analyzes and performs data processing on the third packet of the first communication protocol type based on the specification of the first communication protocol, and encapsulates a result of the data processing into the fourth packet of the first communication protocol type", and "mapping the fourth packet of the first communication protocol type to the fourth packet of the second communication protocol type".
And/or the management module of the third device may further dynamically adjust the priority of the third packet from the first device in the conversion module and the communication middleware. For example, the management module may dynamically adjust any one or more of the following priorities: the task of "mapping the third packet of the second communication protocol type to the third packet of the first communication protocol type" is the priority of the task in the conversion module, "the first communication middleware analyzes and processes the third packet of the first communication protocol type based on the specification of the first communication protocol," and encapsulates the result of the data processing into the fourth packet of the first communication protocol type, "the priority of the task in the first communication middleware," mapping the fourth packet of the first communication protocol type to the fourth packet of the second communication protocol "the priority of the task in the management module or the priority of other tasks in the process of processing the third packet from the first device, and the like, which are not exhaustive here.
In the embodiment of the application, after the conversion module is added, the step of the middle layer of the communication system in the process of processing the message from the first device is increased, and the management module dynamically adjusts the duration occupied by the conversion module and the first communication middleware in the process of processing the message from the first device according to the actual situation, so that the total duration for processing the message by the whole middle layer has controllability, and the service quality of the third device in providing the first communication service is ensured; the method for adjusting the priority of the message from the first device in the conversion module and the communication middleware can also control the duration occupied by the conversion module and the first communication middleware in the process of processing the message from the first device, thereby improving the implementation flexibility of the scheme.
308. In the presence of a third QoS among the qoss required for the first communication service, the management module in the third device provides support for the third QoS.
In some embodiments of the present application, the management module in the third device may be preconfigured with which first QoS, which second QoS, and which third QoS are available. The management module in the third device may be further configured with program code for providing support for a third QoS for the first communication service, the third QoS being neither the first QoS nor the second QoS. In the process of executing step 307, the management module in the third device may acquire one or more QoS required by the first communication service, and in the case that there is a third QoS in the QoS required by the first communication service, the management module in the third device provides support for the third QoS. Optionally, in one interactive operation in which the third device establishes the communication link with the first device, in a process in which the third device processes the packet from the first device, the management module in the third device may further transmit third indication information to the upper layer of the middle layer, where the third indication information includes a processing duration of the packet corresponding to the first communication service in the middle layer and/or a priority of the packet corresponding to the first communication service in the middle layer. In the process that the third device sends the message to the first device, the management module in the third device may also transmit third indication information to the lower layer of the middle layer, where the third indication information includes a processing time of the message corresponding to the first communication service in the middle layer and/or a priority of the message corresponding to the first communication service in the middle layer.
In this embodiment of the application, after providing support for the third QoS, the management module further transmits third indication information to the upper layer of the intermediate layer and/or the lower layer of the intermediate layer, where the third indication information includes a processing time of a message corresponding to the first communication service in the intermediate layer and/or a priority of the message corresponding to the first communication service in the intermediate layer, which is beneficial for the upper layer of the intermediate layer and/or the lower layer of the intermediate layer to know more information related to the first communication service, and is beneficial for achieving continuity between the intermediate layer and other layers, thereby being beneficial for improving the service quality of the first communication service.
309. And under the condition that the first QoS exists in the QoS required by the first communication service, the management module in the third device transmits first indication information to the upper layer of the middle layer, wherein the first indication information is used for resource scheduling of the upper layer of the middle layer according to the first indication information, so that support for the first QoS is provided through the upper layer of the middle layer.
In this embodiment of the present application, in a process that a third device processes a packet from a first device, the packet from the first device may be processed at a transport layer first, then processed at an intermediate layer, and then sequentially enter a CM standardization implementation layer and an application layer, in a process of executing step 307, a management module in the third device may obtain one or more qoss required by a first communication service, and in a case that a first QoS exists in the qoss required by the first communication service, the management module in the third device transmits first indication information to an upper layer of the intermediate layer, where the first indication information is used for resource scheduling by the upper layer of the intermediate layer according to the first indication information, so as to provide support for the first QoS by the upper layer of the intermediate layer.
Wherein, the upper layer of the middle layer includes a CM standardization implementation layer and an application layer, and the transmitting, by the management module in the third device, the first indication information to the upper layer of the middle layer may include: registers accessible by an upper layer of the statically configured middle layer, inter-process communication, addition of information or other transmission means in a message corresponding to the first communication service, and the like are not exhaustive here. Illustratively, a first QoS may be any one of the following: persistence (persistence) QoS, presentation (Presentation) QoS, vitality (Liveliness) QoS, time-filtered (Time-based Filter) QoS, resource Limits (Resource Limits) QoS, history (History) QoS, sender Data Lifecycle (Writer Data Lifecycle), receiver Data Lifecycle (Reader Data Lifecycle) QoS, or other types of QoS, and the like, and are not exhaustive herein.
For example, if the first QoS is a time filtering QoS, the first indication information may be used to indicate the upper layer of the middle layer to start a timer, and optionally, the first indication information further includes a duration of the timer, so as to filter a message reaching the upper layer of the middle layer. For another example, if the first QoS is a QoS related to the capabilities of zoning, communication isolation, and the like, the management module in the third device may add first indication information when passing the message from the first device to the upper layer of the middle layer, where the first indication information is used to indicate which application programs and the like the message from the first device is associated with, and the management module in the third device may further transmit other information to the upper layer of the middle layer, so as to provide support for other types of QoS through the upper layer of the middle layer, which is merely to demonstrate feasibility of the present solution and is not used to limit the present solution.
310. And under the condition that a second QoS exists in the QoS required by the first communication service, the management module in the third equipment transmits second indication information to the lower layer of the middle layer, wherein the second indication information is used for resource scheduling of the second indication information of the lower layer of the middle layer, so that the support of the second QoS is provided through the lower layer of the middle layer.
In this embodiment, in a process of sending a packet to a first device, the packet sent to the first device is processed first at an application layer and a CM standardization implementation layer, and then processed at an intermediate layer, and then processed at a transport layer, in a process of executing step 307, a management module in the third device may obtain one or more qoss required by a first communication service, and in a case that a second QoS exists in the qoss required by the first communication service, the management module in the third device may transmit second indication information to a lower layer of the intermediate layer, where the second indication information is used for resource scheduling of the second indication information of the lower layer of the intermediate layer, so as to provide support for the second QoS through the lower layer of the intermediate layer. The manner in which the management module in the third device transmits the second indication information to the lower layer of the middle layer is similar to the manner in which the management module in the third device transmits the first indication information to the upper layer of the middle layer, and details are not repeated here.
Illustratively, a second QoS may be any of the following: reliability (Reliability) QoS, transport Priority (Transport Priority) QoS, destination Order (Destination Order) QoS, resource limit (Resource Limits) QoS, or other types of QoS, and the like, which are not exhaustive herein.
For example, if the second QoS is reliability QoS, the type of the transmission channel used by the packet corresponding to the first communication service may be determined according to a configuration parameter of the reliability QoS of the first communication service, where reliability of TCP transmission is higher than reliability of UDP transmission, and the management module in the third device may further transmit other information to the lower layer of the intermediate layer to provide support for other types of QoS through the lower layer of the intermediate layer, where this is merely a feasibility proving example, and is not used to limit the present solution.
In this embodiment, step 310 is an optional step, and if step 310 is not executed, in the configuration process of the first communication service, the user may also configure the parameter of the first communication service at the lower layer of the intermediate layer as the first parameter corresponding to the parameter of the second QoS in advance, so as to provide support for the second QoS through the lower layer of the intermediate layer. For example, support for Reliability (Reliability) QoS may be achieved by configuring the type of transmission channel employed by the first communication service; for another example, the transmission Priority adopted by the first communication service may be configured in advance to implement support for transmission Priority QoS (Transport Priority), and the like, which are not exhaustive herein.
In the embodiment of the application, after a communication middleware specified by a communication protocol is bound to a certain communication service, a management module is additionally arranged in the middle layer, and the management module provides support for the QoS required by the communication service, so that the support for the required QoS can be realized no matter what protocol type the communication middleware is bound to each communication service; the management module sends indication information to the upper layer and/or the lower layer of the middle layer so as to provide support for part of QoS required by the communication service by means of the capacity of the upper layer and/or the lower layer of the middle layer, and changes to the middle layer are reduced so as to reduce the implementation difficulty of providing support for the QoS required by the communication service.
On the basis of the embodiments corresponding to fig. 1 to fig. 6, in order to better implement the above-mentioned solution of the embodiment of the present application, the following also provides related equipment for implementing the above-mentioned solution. Referring to fig. 7, fig. 7 is a schematic structural diagram of a management device according to an embodiment of the present disclosure. The management device 700 is deployed in a middle layer of a communication system of a vehicle, and the management device 700 comprises communication middleware 701 and a management module 702, wherein the communication middleware 701 is specified by a first communication protocol, and is used for executing data processing operation corresponding to a first communication service based on the specification of the first communication protocol after a communication link corresponding to the first communication service is established with a first device, and one communication service indicates transmission of one or more types of data; a management module 702 for providing support for QoS required by the first communication service. The management module 702 is specifically configured to: transmitting first indication information to an upper layer of the middle layer under the condition that the first QoS exists in the QoS required by the first communication service, wherein the first indication information is used for resource scheduling of the upper layer of the middle layer according to the first indication information so as to provide support for the first QoS through the upper layer of the middle layer; or, in the case that there is a second QoS among the qoss required by the first communication service, transmitting second indication information to the lower layer of the intermediate layer, the second indication information being used for resource scheduling for the lower layer of the intermediate layer to provide support for the second QoS by the lower layer of the intermediate layer.
Optionally, the management module 702 is further configured to determine to reserve a communication operation with the first device if it is not determined whether the QoS capability of the first device can be successfully matched with the target QoS according to the service discovery packet of the first device, and determine to formally establish a communication link with the first device if it is determined that the QoS capability of the first device is successfully matched with the target QoS based on the communication operation, where the target QoS is a QoS that needs to be matched among the QoS required by the first communication service.
Optionally, the information for determining the QoS capability of the first device comprises any one or more of: the time of receiving the message in the process of executing the communication operation, the timestamp carried in the message received in the process of executing the communication operation, the sequence number carried in the message received in the process of executing the communication operation or the destination address in the message received in the process of executing the communication operation.
Optionally, the management module 702 is specifically configured to, when a third QoS exists in the QoS required by the first communication service, provide support for the third QoS through the management module 702, and transmit third indication information to an upper layer of the middle layer and/or a lower layer of the middle layer, where the third indication information includes a processing duration of a packet corresponding to the first communication service in the middle layer and/or a priority of the packet corresponding to the first communication service in the middle layer.
Optionally, referring to fig. 8, fig. 8 is a schematic structural diagram of another management device according to an embodiment of the present disclosure. The management apparatus further includes a conversion module 703, configured to map, when the second communication protocol is different from the first communication protocol, a packet of the second communication protocol type from the first device to a packet of the first communication protocol type.
Optionally, the first communication protocol comprises a SOME/IP protocol and the second communication protocol comprises a DDS protocol.
Optionally, the conversion module 703 is specifically configured to map, after establishing a communication link with the first device, a packet of the second communication protocol type from the first device to a packet of the first communication protocol type; a communication middleware 701, specifically configured to perform data processing according to the content of the packet of the first communication protocol type; the management module 702 is further configured to dynamically adjust a duration occupied by the conversion module 703 and the communication middleware 701 in the process of processing the packet from the first device, and/or further adjust a priority of the packet from the first device in the conversion module 703 and the communication middleware 701.
Optionally, the management apparatus 700 further includes a conversion module 703, configured to map at least one configuration parameter of the QoS required by the first communication service to the message of the SOME/IP protocol type when the message of the SOME/IP protocol type is sent to the second device.
It should be noted that, the information interaction, the execution process, and other contents between the modules/units in the management device 700 are based on the same concept as that of the method embodiments corresponding to fig. 2a to fig. 6 in the present application, and specific contents may refer to the description in the foregoing method embodiments in the present application, and are not described herein again.
In addition, referring to fig. 9 in conjunction with the description of fig. 1, fig. 9 is another schematic structural diagram of the autonomous vehicle provided in the embodiment of the present application, where a management device 700 described in the embodiment corresponding to fig. 7 or fig. 8 may be disposed on the autonomous vehicle 10 to implement the function of the third device in the embodiment corresponding to fig. 2a to fig. 6. Since in some embodiments the autonomous vehicle 10 may also include communication functionality, the autonomous vehicle 10 may include, in addition to the components shown in fig. 1: a receiver 901 and a transmitter 902, wherein the processor 113 can include an application processor 1131 and a communication processor 1132. In some embodiments of the present application, the receiver 901, the transmitter 902, the processor 113, and the memory 114 may be connected by a bus or other means.
The processor 113 controls operation of the autonomous vehicle. In a particular application, the various components of the autonomous vehicle 10 are coupled together by a bus system that may include a power bus, a control bus, a status signal bus, etc., in addition to a data bus. For clarity of illustration, the various buses are referred to in the figures as bus systems.
Receiver 901 may be used to receive input numeric or character information and to generate signal inputs related to relevant settings and functional control of the autonomous vehicle. The transmitter 902 may be configured to output numeric or character information through the first interface; the transmitter 902 is also operable to send instructions to the disk group via the first interface to modify data in the disk group; the transmitter 902 may also include a display device such as a display screen.
In this embodiment, the application processor 1131 is configured to execute the QoS supporting method executed by the third device in each method embodiment corresponding to fig. 2a to fig. 6. It should be noted that, for the specific implementation manner and the advantageous effects of the QoS supporting method executed by the application processor 1131, reference may be made to descriptions in each method embodiment corresponding to fig. 2a to fig. 6, and details are not repeated here.
The embodiment of the present application also provides a computer-readable storage medium, which stores a program for generating a vehicle running speed, and when the program runs on a computer, the program causes the computer to execute the steps executed by the third device in the method described in the foregoing embodiments shown in fig. 2a to 6.
The embodiment of the present application further provides a computer program product, which when running on a computer, causes the computer to execute the steps performed by the third device in the method described in the foregoing embodiments shown in fig. 2a to 6.
Further provided in embodiments of the present application is a circuit system, which includes a processing circuit configured to perform the steps performed by the third device in the method as described in the foregoing embodiments shown in fig. 2a to 6.
The management device or the autopilot vehicle that this application embodiment provided specifically can be the chip, and the chip includes: a processing unit, which may be for example a processor, and a communication unit, which may be for example an input/output interface, a pin or a circuit, etc. The processing unit can execute the computer-executable instructions stored in the storage unit to make the chip execute the QoS support method described in the embodiments of fig. 2a to 6. Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, and the like, and the storage unit may also be a storage unit located outside the chip in the wireless access device, such as a read-only memory (ROM) or another type of static storage device that can store static information and instructions, a Random Access Memory (RAM), and the like.
Wherein any of the aforementioned processors may be a general purpose central processing unit, a microprocessor, an ASIC, or one or more integrated circuits configured to control the execution of the programs of the method of the first aspect.
It should be noted that the above-described embodiments of the apparatus are merely schematic, where the units described as separate parts may or may not be physically separate, and the parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment. In addition, in the drawings of the embodiments of the apparatus provided in the present application, the connection relationship between the modules indicates that there is a communication connection therebetween, and may be implemented as one or more communication buses or signal lines.
Through the above description of the embodiments, those skilled in the art will clearly understand that the present application can be implemented by software plus necessary general hardware, and certainly can also be implemented by special hardware including application specific integrated circuits, special CLUs, special memories, special components and the like. Generally, functions performed by computer programs can be easily implemented by corresponding hardware, and specific hardware structures for implementing the same functions may be various, such as analog circuits, digital circuits, or dedicated circuits. However, for the present application, the implementation of a software program is more preferable. Based on such understanding, the technical solutions of the present application may be substantially embodied in the form of a software product, which is stored in a readable storage medium, such as a floppy disk, a usb disk, a removable hard disk, a ROM, a RAM, a magnetic disk, or an optical disk of a computer, and includes several instructions for enabling a computer device (which may be a personal computer, a server, or a network device) to execute the methods described in the embodiments of the present application.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product.
The computer program product includes one or more computer instructions. When loaded and executed on a computer, cause the processes or functions described in accordance with the embodiments of the application to occur, in whole or in part. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website site, computer, server, or data center to another website site, computer, server, or data center via wired (e.g., coaxial cable, fiber optic, digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that a computer can store or a data storage device, such as a server, a data center, etc., that is integrated with one or more available media. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., solid State Disk (SSD)), among others.

Claims (19)

1. A management device, wherein the management device is deployed in an intermediate layer of a communication system of a vehicle, the management device includes a communication middleware and a management module specified by a first communication protocol, wherein,
the communication middleware is used for executing data processing operation corresponding to a first communication service based on the specification of the first communication protocol after a communication link corresponding to the first communication service is established with a first device, and one communication service indicates to transmit one or more kinds of data;
the management module is used for providing support for the QoS required by the first communication service;
wherein the management module is specifically configured to:
transmitting first indication information to an upper layer of the middle layer under the condition that a first QoS exists in the QoS required by the first communication service, wherein the first indication information is used for resource scheduling of the upper layer of the middle layer according to the first indication information so as to provide support for the first QoS through the upper layer of the middle layer;
alternatively, the first and second electrodes may be,
and transmitting second indication information to the lower layer of the intermediate layer when a second QoS exists in the QoS required by the first communication service, wherein the second indication information is used for resource scheduling of the second indication information of the lower layer of the intermediate layer so as to provide support for the second QoS through the lower layer of the intermediate layer.
2. The apparatus of claim 1,
the management module is further configured to determine to reserve a communication operation with the first device if it is not determined according to the service discovery packet of the first device whether the QoS capability of the first device can be successfully matched with a target QoS, and determine to formally establish the communication link with the first device if it is determined based on the communication operation that the QoS capability of the first device is successfully matched with the target QoS, where the target QoS is a QoS that needs to be matched among the QoS required by the first communication service.
3. The apparatus of claim 2, wherein the information for determining the QoS capability of the first device comprises any one or more of: the time of receiving the message in the process of executing the communication operation, the timestamp carried in the message received in the process of executing the communication operation, the sequence number carried in the message received in the process of executing the communication operation or the destination address in the message received in the process of executing the communication operation.
4. The device according to any one of claims 1 to 3,
the management module is specifically configured to, when a third QoS exists in the QoS required by the first communication service, provide support for the third QoS through the management module, and transmit third indication information to an upper layer of the intermediate layer and/or a lower layer of the intermediate layer, where the third indication information includes a processing duration of a packet corresponding to the first communication service in the intermediate layer and/or a priority of the packet corresponding to the first communication service in the intermediate layer.
5. The device according to any one of claims 1 to 3,
the management device further includes a conversion module, configured to map, when a second communication protocol and the first communication protocol are different communication protocols, a packet of the second communication protocol type from the first device to a packet of the first communication protocol type.
6. The apparatus of claim 5, wherein the first communication protocol comprises a SOME/IP protocol and the second communication protocol comprises a DDS protocol.
7. The apparatus of claim 5,
the conversion module is specifically configured to map, after the communication link is established with the first device, the packet of the second communication protocol type from the first device to the packet of the first communication protocol type;
the communication middleware is specifically configured to perform data processing according to the content of the packet of the first communication protocol type based on the specification of the first communication protocol;
the management module is further configured to adjust a duration occupied by the conversion module and the communication middleware in a process of processing the packet from the first device, and/or adjust a priority of the packet from the first device in the conversion module and the communication middleware.
8. The device according to any one of claims 1 to 3,
the device further comprises a conversion module, which is used for mapping at least one QoS configuration parameter in the QoS required by the first communication service to the message of the SOME/IP protocol type when the message of the SOME/IP protocol type is sent to the second equipment.
9. A method for supporting QoS (quality of service) is applied to a middle layer of a communication system of a vehicle, wherein the middle layer of the communication system of the vehicle is deployed with communication middleware and a management module specified by a first communication protocol, and the method comprises the following steps:
after establishing a communication link corresponding to a first communication service with a first device, the communication middleware performs a data processing operation corresponding to the first communication service based on the specification of the first communication protocol;
providing, by the management module, support for a QoS required for the first communication service;
the providing, by the management module, support for the QoS required by the first communication service includes:
transmitting first indication information to an upper layer of the middle layer under the condition that a first QoS exists in the QoS required by the first communication service, wherein the first indication information is used for resource scheduling of the upper layer of the middle layer according to the first indication information so as to provide support for the first QoS through the upper layer of the middle layer;
alternatively, the first and second electrodes may be,
and transmitting second indication information to the lower layer of the middle layer when a second QoS exists in the QoS required by the first communication service, wherein the second indication information is used for resource scheduling of the second indication information of the lower layer of the middle layer, so as to provide support for the second QoS through the lower layer of the middle layer.
10. The method of claim 9, further comprising:
the management module determines to reserve a communication operation with the first device under the condition that whether the QoS capability of the first device can be successfully matched with a target QoS is not determined according to the service discovery message of the first device, and determines to formally establish the communication link with the first device under the condition that the QoS capability of the first device is successfully matched with the target QoS based on the communication operation, wherein the target QoS is the QoS which needs to be matched in the QoS needed by the first communication service.
11. The method of claim 10, wherein the information for determining the QoS capability of the first device comprises any one or more of: the time of receiving the message in the process of executing the communication operation, the timestamp carried in the message received in the process of executing the communication operation, the sequence number carried in the message received in the process of executing the communication operation or the destination address in the message received in the process of executing the communication operation.
12. The method according to any of claims 9 to 11, wherein said providing, by said management module, support for QoS required by said first communication service further comprises:
and under the condition that a third QoS exists in the QoS required by the first communication service, providing support for the third QoS through the management module, and transmitting third indication information to an upper layer of the middle layer and/or a lower layer of the middle layer, wherein the third indication information comprises the processing time length of a message corresponding to the first communication service in the middle layer and/or the priority of the message corresponding to the first communication service in the middle layer.
13. The method according to any one of claims 9 to 11, wherein a middle tier of the communication system of the vehicle is further deployed with a conversion module, the method further comprising:
and under the condition that a second communication protocol is different from the first communication protocol, mapping the message of the second communication protocol type from the first equipment to the message of the first communication protocol type through the conversion module.
14. The method of claim 13, wherein the first communication protocol comprises a SOME/IP protocol and the second communication protocol comprises a DDS protocol.
15. The method of claim 13, wherein the mapping, by the translation module, the packet of the second communication protocol type from the first device to the packet of the first communication protocol type comprises: mapping the packets of the second communication protocol type from the first device to the packets of the first communication protocol type after establishing the communication link with the first device;
the communication middleware performs data processing operations corresponding to the first communication service based on the specification of the first communication protocol, including: the communication middleware processes data according to the content of the message of the first communication protocol type based on the specification of the first communication protocol;
the method further comprises the following steps: the management module adjusts the duration occupied by the conversion module and the communication middleware in the process of processing the message from the first device, and/or adjusts the priority of the message from the first device in the conversion module and the communication middleware.
16. The method according to any one of claims 9 to 11, wherein a middle tier of the communication system of the vehicle is further deployed with a conversion module, the method further comprising:
when a message of the SOME/IP protocol type is sent to second equipment, at least one QoS configuration parameter in QoS required by the first communication service is mapped to the message of the SOME/IP protocol type through the conversion module.
17. An autonomous vehicle comprising a processor coupled to a memory, the memory storing program instructions that, when executed by the processor, implement the method of any of claims 9 to 16.
18. A computer-readable storage medium comprising a program which, when run on a computer, causes the computer to perform the method of any one of claims 9 to 16.
19. Circuitry, characterized in that the circuitry comprises processing circuitry configured to perform the method of any of claims 9 to 16.
CN202211064878.2A 2022-08-31 2022-08-31 Management device, qoS (quality of service) supporting method and related equipment Pending CN115604361A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211064878.2A CN115604361A (en) 2022-08-31 2022-08-31 Management device, qoS (quality of service) supporting method and related equipment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211064878.2A CN115604361A (en) 2022-08-31 2022-08-31 Management device, qoS (quality of service) supporting method and related equipment

Publications (1)

Publication Number Publication Date
CN115604361A true CN115604361A (en) 2023-01-13

Family

ID=84843760

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211064878.2A Pending CN115604361A (en) 2022-08-31 2022-08-31 Management device, qoS (quality of service) supporting method and related equipment

Country Status (1)

Country Link
CN (1) CN115604361A (en)

Similar Documents

Publication Publication Date Title
CN109917765B (en) Distributed domain controller system based on network architecture of automatic driving system
WO2022056894A1 (en) Vehicle communication method and vehicle communication device
US11875686B2 (en) Systems and methods for managing communications between vehicles
US11210023B2 (en) Technologies for data management in vehicle-based computing platforms
CN209842367U (en) Distributed domain controller system based on network architecture of automatic driving system
WO2021143190A1 (en) Message communication method, computer system and agent device
CN115334110A (en) System architecture, communication method, vehicle, medium and chip for vehicle control
CN113992713B (en) Vehicle cloud communication method and device, electronic equipment and storage medium
EP4346187A1 (en) Ota upgrade method and device, and computer-readable storage medium
CN115878343A (en) Inter-process communication method and related device
CN115297461B (en) Data interaction method and device, vehicle, readable storage medium and chip
CN115175099B (en) Information sharing method and device, electronic equipment, readable storage medium and chip
CN114937351B (en) Motorcade control method and device, storage medium, chip, electronic equipment and vehicle
CN217435657U (en) Electrical system of automatic driving vehicle and automatic driving vehicle
CN115604361A (en) Management device, qoS (quality of service) supporting method and related equipment
CN113859265B (en) Reminding method and device in driving process
CN115334109A (en) System architecture, transmission method, vehicle, medium and chip for traffic signal identification
WO2023024618A1 (en) Data processing method and related apparatus
CN115237630B (en) Data processing method, device, vehicle, storage medium and chip
WO2024108608A1 (en) Communication method and apparatus
WO2024055654A1 (en) Process starting method, process management method, and management apparatus
WO2022190624A1 (en) Information processing system, information processing method, program, and cluster system
CN112238862B (en) Open and safety monitoring system for autonomous driving platform
EP4379323A1 (en) Systems and methods for proactive electronic vehicle charging
WO2023155875A1 (en) Audio playback method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination