






技术领域technical field
本发明涉及通信技术领域,尤其涉及一种基于Linux的车机交互方法、装置、计算机设备及存储介质。The present invention relates to the field of communication technologies, and in particular, to a Linux-based vehicle-machine interaction method, device, computer equipment and storage medium.
背景技术Background technique
当前车机交互系统主要涉及客户端、服务端和通讯机制,其交互过程具体为:客户端通过通讯机制与服务端进行数据交互,即发送控制指令并获取相应的车机数据;服务端负责从车上接收车机数据,并通过通讯机制发送给客户端。当前车机交互系统主要采用Linux系统搭建客户端和服务端,而客户端与服务端之间的通讯机制主要采用socket、管道、信号量、共享内存和消息队列等,而这些通讯机制各有不足之处。例如,Socket是一个通用接口,其传输效率低,开销大。管道机制是半双工的,而车机交互是需要全双工,这样双向通信对于管道机制来说设计比较复杂。信号量用于进程间的同步,需要与共享内存一起才能完整的实现双向同步,且共享内存是无消息边界的,一次通信控制对象较多。消息队列是采用了存储转发方式,数据至少需要拷贝2次,效率低。共享内存控制机制复杂,需要多种机制协同操作。即当前基于Linux的车机交互系统中存在传输性能较低、通讯机制复杂的问题。The current vehicle-machine interaction system mainly involves the client, the server and the communication mechanism. The specific interaction process is as follows: the client interacts with the server through the communication mechanism, that is, sends control commands and obtains the corresponding vehicle-machine data; The car data is received on the car and sent to the client through the communication mechanism. The current vehicle-machine interaction system mainly uses Linux system to build the client and server, and the communication mechanism between the client and the server mainly adopts socket, pipe, semaphore, shared memory and message queue, etc., and these communication mechanisms have their own shortcomings. place. For example, Socket is a general interface with low transmission efficiency and high overhead. The pipeline mechanism is half-duplex, and the vehicle-machine interaction requires full-duplex, so the design of the two-way communication is more complicated for the pipeline mechanism. Semaphore is used for synchronization between processes. It needs to be used with shared memory to achieve complete bidirectional synchronization. Shared memory has no message boundary, and there are many control objects in one communication. The message queue adopts the store and forward method, and the data needs to be copied at least twice, which is inefficient. The shared memory control mechanism is complex and requires multiple mechanisms to work together. That is to say, there are problems of low transmission performance and complex communication mechanism in the current Linux-based vehicle-machine interaction system.
发明内容SUMMARY OF THE INVENTION
本发明实施例提供一种基于Linux的车机交互方法、装置、计算机设备及存储介质,以解决当前车机交互过程采用的通讯机制存在传输性能较低或通讯机制复杂的问题。Embodiments of the present invention provide a Linux-based vehicle-machine interaction method, device, computer equipment, and storage medium, to solve the problems of low transmission performance or complex communication mechanism in the current communication mechanism used in the vehicle-machine interaction process.
一种基于Linux的车机交互方法,包括基于Linux构建的服务端执行的如下步骤:A Linux-based vehicle-machine interaction method includes the following steps executed by a server built on Linux:
从车辆控制器中获取目标车机数据;Obtain the target vehicle data from the vehicle controller;
通过Binder通讯通道,将所述目标车机数据发送给基于所述Linux构建的目标客户端。The target vehicle data is sent to the target client built based on the Linux through the Binder communication channel.
一种基于Linux的车机交互装置,具体为包括基于Linux构建的服务端,包括:A Linux-based vehicle-machine interaction device, specifically including a server built based on Linux, including:
车机数据获取模块,用于从车辆控制器中获取目标车机数据;The vehicle data acquisition module is used to obtain the target vehicle data from the vehicle controller;
车机数据传输模块,用于通过Binder通讯通道,将所述目标车机数据发送给基于所述Linux构建的目标客户端。The vehicle-machine data transmission module is used for sending the target vehicle-machine data to the target client built based on the Linux through the Binder communication channel.
一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于Linux的车机交互方法。A computer device includes a memory, a processor, and a computer program stored in the memory and running on the processor, where the processor implements the above Linux-based vehicle-machine interaction method when executing the computer program.
一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于Linux的车机交互方法。A computer-readable storage medium stores a computer program, and when the computer program is executed by a processor, the above Linux-based vehicle-machine interaction method is implemented.
上述基于Linux的车机交互方法、装置、计算机设备及存储介质,将从车辆控制器中获取的目标车机数据通过Binder通讯通道发送给目标客户端,以保证目标车机数据在数据传输过程中具有安全性好、传输性能高和简单易用等优点。The above-mentioned Linux-based vehicle-machine interaction method, device, computer equipment and storage medium send the target vehicle-machine data obtained from the vehicle controller to the target client through the Binder communication channel, so as to ensure that the target vehicle-machine data is in the data transmission process. It has the advantages of good security, high transmission performance and ease of use.
附图说明Description of drawings
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。In order to illustrate the technical solutions of the embodiments of the present invention more clearly, the following briefly introduces the drawings that are used in the description of the embodiments of the present invention. Obviously, the drawings in the following description are only some embodiments of the present invention. , for those of ordinary skill in the art, other drawings can also be obtained from these drawings without creative labor.
图1是本发明一实施例中Linux的车机交互方法的一应用环境示意图;1 is a schematic diagram of an application environment of a vehicle-machine interaction method of Linux in an embodiment of the present invention;
图2是本发明一实施例中Linux的车机交互方法的一流程图;Fig. 2 is a flow chart of the vehicle-machine interaction method of Linux in an embodiment of the present invention;
图3是本发明一实施例中Linux的车机交互方法的另一流程图;Fig. 3 is another flowchart of the vehicle-machine interaction method of Linux in an embodiment of the present invention;
图4是本发明一实施例中Linux的车机交互方法的另一流程图;Fig. 4 is another flowchart of the vehicle-machine interaction method of Linux in an embodiment of the present invention;
图5是本发明一实施例中Linux的车机交互方法的另一流程图;Fig. 5 is another flowchart of the vehicle-machine interaction method of Linux in an embodiment of the present invention;
图6是本发明一实施例中Linux的车机交互方法的另一流程图;Fig. 6 is another flowchart of the vehicle-machine interaction method of Linux in an embodiment of the present invention;
图7是本发明一实施例中Linux的车机交互装置的一示意图;7 is a schematic diagram of a vehicle-machine interaction device of Linux in an embodiment of the present invention;
图8是本发明一实施例中计算机设备的一示意图。FIG. 8 is a schematic diagram of a computer device in an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, but not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
本发明实施例提供的基于Linux的车机交互方法,该基于Linux的车机交互方法可应用如图1所示的应用环境中。具体地,该基于Linux的车机交互方法应用在基于Linux的车机交互系统中,该基于Linux的车机交互系统包括如图1所示的基于Linux构建的客户端和服务端,客户端与服务端通过Binder机制构建的Binder通讯通道进行通信,通讯机制简单简单,且可提高数据传输效率和数据传输性能;该服务端与车辆控制器通信相连,用于通过该车辆控制器采集车辆的车机数据或者控制车辆,以使服务端可获取相应的车机数据。其中,客户端又称为用户端,是指与服务端相对应,为客户提供本地服务的程序。客户端可安装在但不限于各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备上。服务端可以用独立的服务端或者是多个服务端组成的服务端集群来实现。The Linux-based vehicle-machine interaction method provided by the embodiment of the present invention can be applied in the application environment shown in FIG. 1 . Specifically, the Linux-based vehicle-machine interaction method is applied in a Linux-based vehicle-machine interaction system. The Linux-based vehicle-machine interaction system includes a client and a server constructed based on Linux as shown in FIG. 1 . The server communicates through the Binder communication channel constructed by the Binder mechanism. The communication mechanism is simple and simple, and can improve data transmission efficiency and data transmission performance; machine data or control the vehicle, so that the server can obtain the corresponding vehicle and machine data. Among them, the client is also called the client, which refers to the program corresponding to the server and providing local services for the client. Clients can be installed on, but not limited to, various personal computers, laptops, smartphones, tablets, and portable wearable devices. The server can be implemented as an independent server or a server cluster composed of multiple servers.
由于原始的Linux不支持Binder机制,需要将Android上的Binder机制移植到基于Linux的车机交互系统上,以保证基于Linux构建的客户端和服务端可基于Binder机制构建的Binder通讯通道进行通讯,使其通讯机制简单方便,且可提高数据传输效率和数据传输性能。其中,将Android上的Binder机制移植到基于Linux的车机交互系统上,具体包括Binder驱动移植、Servicemanager(即服务管理器)移植和Binder库移植。Since the original Linux does not support the Binder mechanism, it is necessary to transplant the Binder mechanism on Android to the Linux-based vehicle-machine interaction system to ensure that the Linux-based client and server can communicate based on the Binder communication channel constructed by the Binder mechanism. The communication mechanism is simple and convenient, and the data transmission efficiency and data transmission performance can be improved. Among them, the Binder mechanism on Android is transplanted to the vehicle-machine interaction system based on Linux, including Binder driver transplantation, Servicemanager (ie, service manager) transplantation and Binder library transplantation.
Binder驱动移植具体是指将Binder驱动移植到基于Linux的车机交互系统上,由于Android系统和Linux系统的kernel部分基本一致的,使得其移植过程具有可行性,只需控制依据Binder机制上层的位数(64位还是32位)与系统位数相匹配,即可保证移植过来的Binder驱动在基于Linux的车机交互系统上可以运行。Binder driver porting specifically refers to porting the Binder driver to the Linux-based car-machine interaction system. Since the kernel part of the Android system and the Linux system is basically the same, the porting process is feasible. It only needs to control the upper-layer bits according to the Binder mechanism. If the number (64-bit or 32-bit) matches the number of bits in the system, it can ensure that the transplanted Binder driver can run on the Linux-based vehicle-machine interaction system.
Servicemanager移植是指将Servicemanager移植到基于Linux的车机交互系统,由于Servicemanager是Binder机制上层非常重要的一部分,它提供了服务的注册与查询,这部分在Android系统是以bin程序形式运行在系统中,移植过程中只需要解决依赖库及编译运行问题,即可保证移植过来的Servicemanager在基于Linux的车机交互系统上可以应用。Servicemanager porting refers to porting Servicemanager to the Linux-based vehicle-machine interaction system. Since Servicemanager is a very important part of the upper layer of the Binder mechanism, it provides service registration and query. This part runs in the system as a bin program in the Android system. , Only need to solve the problem of dependency library and compile and run in the process of transplantation, to ensure that the transplanted Servicemanager can be applied on the Linux-based vehicle-machine interaction system.
Binder库移植是指将Binder库移植到基于Linux的车机交互系统,Binder库主要为service服务的,在Android系统中以共享库的形式存在,移植过程中需要将依赖的其它库一并移植过来,编译成Linux系统的共享库。一般来说,移植过程的Binder库中包括车机交互过程中涉及到的各项功能对应的Binder功能接口(如AutoServer接口),每一Binder功能接口可实现一特定功能。Binder library porting refers to porting the Binder library to the vehicle-machine interaction system based on Linux. The Binder library mainly serves service and exists in the form of a shared library in the Android system. During the porting process, other dependent libraries need to be ported together. , compiled into a shared library for Linux systems. Generally speaking, the Binder library in the transplantation process includes Binder function interfaces (such as AutoServer interface) corresponding to various functions involved in the vehicle-machine interaction process, and each Binder function interface can implement a specific function.
由于基于Linux的车机交互系统提供车机交互服务,如可以查询获取相应的车机数据(如采集电压数据、电流数据等)和进行车辆控制(如控制车内空调进行启动、关闭和调整温度等操作),需使服务端与设置在车辆内的车辆控制器通信,该车辆控制器通过CAN与车辆内的至少一个模块控制单元通信,以使该车辆控制器可获取相应的模块控制单元采集到的车机数据并控制进行模块控制单元进行相应操作。Since the Linux-based vehicle-machine interaction system provides vehicle-machine interaction services, for example, you can query and obtain the corresponding vehicle-machine data (such as collecting voltage data, current data, etc.) and perform vehicle control (such as controlling the air conditioner in the car to start, close and adjust the temperature) etc.), the server needs to communicate with the vehicle controller set in the vehicle, and the vehicle controller communicates with at least one module control unit in the vehicle through CAN, so that the vehicle controller can obtain the corresponding module control unit data The received vehicle data and control the module control unit to perform corresponding operations.
其中,车辆控制器具体为车辆内的微控制单元(Microcontroller Unit,简称为MCU),又称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(Central Process Unit,简称CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。CAN(Controller AreaNetwork,控制器局域网络),应用于汽车的重要通讯网络。模块控制单元具体为车辆内各模块的电子控制单元(Electronic Control Unit,电子控制单元),应用于汽车各模块的控制单元,又称“行车电脑”、“车载电脑”等,从用途上讲则是汽车专用微机控制器,由微处理器(CPU)、存储器(ROM、RAM)、输入/输出接口(I/O)、模数转换器(A/D)以及整形、驱动等大规模集成电路组成。例如,混合动力汽车中的模块控制单元包括但不限于整车控制器、发动机控制器、变速器控制器、ABS控制器、驾驶显示器、电动机控制器、蓄电池管理系统、超级电容和ISG控制器。Among them, the vehicle controller is specifically a Microcontroller Unit (MCU) in the vehicle, also known as a Single Chip Microcomputer (Single Chip Microcomputer) or a single chip. The frequency and specifications are appropriately reduced, and peripheral interfaces such as memory, counter (Timer), USB, A/D conversion, UART, PLC, DMA, and even the LCD drive circuit are integrated on a single chip to form a chip-level integrated circuit. The computer can do different combination control for different application occasions. CAN (Controller Area Network) is an important communication network used in automobiles. The module control unit is specifically the electronic control unit (Electronic Control Unit, electronic control unit) of each module in the vehicle. It is an automotive-specific microcomputer controller, consisting of a microprocessor (CPU), memory (ROM, RAM), input/output interface (I/O), analog-to-digital converter (A/D) and large-scale integrated circuits such as shaping and driving. composition. For example, modular control units in hybrid electric vehicles include but are not limited to vehicle controllers, engine controllers, transmission controllers, ABS controllers, driving displays, motor controllers, battery management systems, supercapacitors, and ISG controllers.
由于预先将Binder机制移植到基于Linux的车机交互系统中,使得该车机交互系统中的客户端和服务端可通过Binder机制构建的Binder通讯通道进行数据传输,因此,该基于Linux构建的客户端为Binder客户端,即Binder Client,而基于Linux构建的服务端为Binder服务端,即Binder Server。Since the Binder mechanism is transplanted into the Linux-based vehicle-machine interaction system in advance, the client and server in the vehicle-machine interaction system can transmit data through the Binder communication channel constructed by the Binder mechanism. Therefore, the Linux-based client The client is Binder client, namely Binder Client, and the server built based on Linux is Binder server, namely Binder Server.
在一实施例中,如图2所示,提供一种基于Linux的车机交互方法,该方法包括基于Linux构建的服务端执行的如下步骤:In one embodiment, as shown in FIG. 2, a vehicle-machine interaction method based on Linux is provided, and the method includes the following steps performed by a server constructed based on Linux:
S201:从车辆控制器中获取目标车机数据。S201: Acquire target vehicle data from the vehicle controller.
其中,车辆控制器是设置在车辆内的微控制单元(即MCU),其可以通过CAN与至少一个模块控制单元通信,以获取每一模块控制单元对应的车机数据。目标车机数据是需要发送给客户端的车机数据。可以理解地,该目标车机数据可以是服务端自主监听的需要发送给客户端的车机数据,也可以是服务端应客户端请求实时采集的需要发送给客户端的车机数据。该车机数据包括但不限于车辆速度、车辆电压、车辆电流、电池电量、当前油量和当前位置等数据。Wherein, the vehicle controller is a micro-control unit (ie, MCU) set in the vehicle, which can communicate with at least one module control unit through CAN to acquire vehicle-machine data corresponding to each module control unit. The target vehicle data is the vehicle data that needs to be sent to the client. Understandably, the target vehicle data may be vehicle data that the server monitors autonomously and needs to be sent to the client, or vehicle data that the server collects in real time at the request of the client and needs to be sent to the client. The vehicle data includes, but is not limited to, vehicle speed, vehicle voltage, vehicle current, battery power, current fuel level, and current location.
S202:通过Binder通讯通道,将目标车机数据发送给基于Linux构建的目标客户端。S202: Send the target vehicle data to the Linux-based target client through the Binder communication channel.
其中,Binder通讯通道是指采用Binder机制,在Binder服务端与Binder客户端之间搭建的用于实现双方通讯的通道。由于该Binder通讯通道是基于Binder机制搭建的,其与传统进程间通讯方式(如socket、管道、信号量、共享内存和消息队列等)相比,具有如下功能:(1)采用Binder驱动推进进程间通信。Binder驱动工作在Linux的内核态,负责进程之间Binder通信的建立,以使数据可在进程间进行传递。(2)通过共享内存来提高传输性能和传输效率,并针对系统对象引入了引用计数和跨进程的对象引用映射。即通过Binder驱动创建数据接收的缓存空间,并负责管理数据接收缓存,在Binder驱动中实现mmap()系统调用,该mmap()的返回值是内存映射在用户空间的地址,即返回对象引用映射。由于mmap()分配的内存是映射在接收方用户空间里的,所有总体效果就相当于对有效负荷数据做了一次从发送方用户空间到接收方用户空间的直接数据拷贝,省去了内核中暂存这个步骤,提升了一倍的传输性能。(3)为进程请求分配每个进程的线程池,通过引入专门命令或者消息帮助管理线程池,以保证进程间的处理效率(4)可实现进程间同步调用。在Binder驱动中,每个进程有一个全局的接收队列,也叫to-do队列,存放不是发往特定线程的数据包;相应地有一个全局等待队列,所有等待从全局接收队列里收数据的线程在该队列里排队。每个线程有自己私有的to-do队列,存放发送给该线程的数据包;相应的每个线程都有各自私有等待队列,专门用于本线程等待接收自己to-do队列里的数据,从而保证进程间同步调用相应的线程。Among them, the Binder communication channel refers to a channel built between the Binder server and the Binder client using the Binder mechanism to realize communication between the two parties. Since the Binder communication channel is built based on the Binder mechanism, compared with traditional inter-process communication methods (such as sockets, pipes, semaphores, shared memory and message queues, etc.), it has the following functions: (1) Binder is used to drive the process communication between. The Binder driver works in the Linux kernel mode and is responsible for the establishment of Binder communication between processes, so that data can be transferred between processes. (2) Improve transmission performance and transmission efficiency by sharing memory, and introduce reference counting and cross-process object reference mapping for system objects. That is, the buffer space for data reception is created through the Binder driver, and is responsible for managing the data reception buffer. The mmap() system call is implemented in the Binder driver. The return value of mmap() is the address of the memory mapped in the user space, that is, the object reference mapping is returned. . Since the memory allocated by mmap() is mapped in the receiver user space, the overall effect is equivalent to making a direct data copy of the payload data from the sender user space to the receiver user space, saving the kernel Temporary storage of this step doubles the transmission performance. (3) Allocate the thread pool of each process for the process request, and help manage the thread pool by introducing special commands or messages to ensure the processing efficiency between processes. (4) Synchronous calls between processes can be realized. In the Binder driver, each process has a global receive queue, also called to-do queue, which stores data packets that are not sent to a specific thread; correspondingly, there is a global waiting queue, all waiting to receive data from the global receive queue. Threads are queued in this queue. Each thread has its own private to-do queue, which stores the data packets sent to the thread; each corresponding thread has its own private waiting queue, which is specially used for this thread to wait to receive the data in its own to-do queue, thereby Ensure that the corresponding threads are called synchronously between processes.
其中,目标客户端是采用Linux构建的需要获取目标车机数据的客户端,可以理解地,与服务端通信相连的客户端有至少一个,在至少一个客户端只有部分客户端需要获取该目标车机数据,此处将需要获取目标车机数据的客户端确定为目标客户端,以便构建服务端与目标客户端之间专用的私有的Binder通讯通道,使得服务端可将该目标车机数据通过Binder通讯通道发送给目标客户端,从而保证目标车机数据传输过程中的安全性和传输效率。Among them, the target client is a client built with Linux and needs to obtain the target vehicle data. It is understandable that there is at least one client connected to the server in communication, and only some clients need to obtain the target vehicle in at least one client. Here, the client that needs to obtain the target vehicle data is determined as the target client, so as to build a dedicated private Binder communication channel between the server and the target client, so that the server can pass the target vehicle data through The Binder communication channel is sent to the target client to ensure the security and transmission efficiency during the data transmission process of the target vehicle.
本实施例所提供的基于Linux的车机交互方法中,将从车辆控制器中获取的目标车机数据通过Binder通讯通道发送给目标客户端,以保证目标车机数据在数据传输过程中具有安全性好、传输性能高和简单易用等优点。具体表现在:Binder通讯通道中,通过建立私有通讯通道,并在目标车机数据传输过程中,通过在内核空间添加身份标识(如UID/PID),相比于传统进程间通讯方式(如socket、管道和消息队列等)依赖上层协议,其安全性更好。在Binder通讯通道中,通过共享内存来提高传输性能,使其通信过程只需拷贝一次内存;并且,通过Binder驱动推进进程间通信,使其控制机制简便,从而提高目标车机数据的传输性能。在通过Binder通讯通道进行目标车机数据传输时,Binder屏蔽客户端与服务端之间通信隔阂,使客户端调用服务端的接口函数如本地函数调用,使得目标客户端获取服务端发送的目标车机数据的过程操作简单易用。In the Linux-based vehicle-machine interaction method provided in this embodiment, the target vehicle-machine data obtained from the vehicle controller is sent to the target client through the Binder communication channel, so as to ensure the security of the target vehicle-machine data during the data transmission process It has the advantages of good performance, high transmission performance and easy to use. The specific performance is: in the Binder communication channel, by establishing a private communication channel, and during the data transmission process of the target vehicle, by adding an identity identifier (such as UID/PID) in the kernel space, compared with traditional inter-process communication methods (such as sockets) , pipelines and message queues, etc.) rely on the upper-layer protocol, and its security is better. In the Binder communication channel, the shared memory is used to improve the transmission performance, so that the communication process only needs to copy the memory once; and the Binder driver is used to promote the inter-process communication, making the control mechanism simple, thereby improving the transmission performance of the target vehicle data. When the target vehicle data is transmitted through the Binder communication channel, the Binder shields the communication gap between the client and the server, so that the client can call the interface functions of the server, such as local function calls, so that the target client can obtain the target vehicle sent by the server. The data process operation is simple and easy to use.
在一实施例中,如上步骤S201所示,目标车机数据包括监听车机数据,该监听车机数据是指服务端通过Binder数据监听接口监听到的车机数据,是上述实施例中需要发送给客户端的车机数据的一种。如图3所示,基于Linux的车机交互方法,具体包括如下步骤:In one embodiment, as shown in the above step S201, the target vehicle data includes the monitoring vehicle data, and the monitoring vehicle data refers to the vehicle data monitored by the server through the Binder data monitoring interface, which needs to be sent in the above embodiment. A kind of car data to the client. As shown in Figure 3, the Linux-based vehicle-machine interaction method specifically includes the following steps:
S301:采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据。S301: Using the Binder data monitoring interface, obtain the monitoring vehicle data corresponding to the Binder data monitoring interface from the vehicle controller.
其中,Binder数据监听接口是设置在服务端上的用于实现数据监听功能的接口,该Binder数据监听接口是存储在Binder库中的用于实现数据监听功能的Binder功能接口。可以理解地,在将Binder机制移植到基于Linux的车机交互系统时,需由服务端向Servicemanager(即服务管理器)注册车机交互服务(即AddService),以使车机交互系统可实现车机交互服务;相应地,该车机交互系统的开发人员还相应开发可实现数据监听功能的Binder数据监听接口,以实现对车辆中的车机数据进行监听。The Binder data monitoring interface is an interface set on the server for implementing the data monitoring function, and the Binder data monitoring interface is a Binder functional interface stored in the Binder library for implementing the data monitoring function. Understandably, when transplanting the Binder mechanism to the Linux-based vehicle-machine interaction system, the server needs to register the vehicle-machine interaction service (ie AddService) with the Servicemanager (ie, the service manager), so that the vehicle-machine interaction system can realize the vehicle-machine interaction service (ie AddService). Correspondingly, the developer of the vehicle-machine interaction system also develops the Binder data monitoring interface that can realize the data monitoring function, so as to monitor the vehicle-machine data in the vehicle.
本实施例中,服务端可设置至少一个Binder数据监听接口,每一Binder数据监听接口用于监听特定类型的数据,即每一Binder数据监听接口对应一监听数据标识,该监听数据标识是用于唯一识别其所需监听的数据的标识。该监听数据标识可以用所需监听的数据的英文名称或者预先设置的与英文名称相对应的标识来表示,如车辆速度、车辆电压、车辆电流、电池电量、当前油量和当前位置。即服务端可设置但不限于用于采集车辆速度、车辆电压、车辆电流、电池电量、当前油量和当前位置等监听数据标识对应的Binder数据监听接口,以便采集到的车辆速度、车辆电压、车辆电流、电池电量、当前油量和当前位置等监听数据标识对应的监听车机数据,并将这些监听车机数据反馈给相应的客户端。In this embodiment, the server can set at least one Binder data monitoring interface, and each Binder data monitoring interface is used to monitor a specific type of data, that is, each Binder data monitoring interface corresponds to a monitoring data identifier, and the monitoring data identifier is used for monitoring data. An identifier that uniquely identifies the data it needs to monitor. The monitoring data identifier can be represented by the English name of the data to be monitored or a preset identifier corresponding to the English name, such as vehicle speed, vehicle voltage, vehicle current, battery power, current fuel level and current location. That is, the server can set, but is not limited to, the Binder data monitoring interface corresponding to the monitoring data identifiers such as vehicle speed, vehicle voltage, vehicle current, battery power, current fuel level, and current location, so that the collected vehicle speed, vehicle voltage, The monitoring data such as vehicle current, battery power, current fuel level, and current location identify the corresponding monitoring vehicle data, and feed these monitoring vehicle data to the corresponding client.
本实施例中,采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据,具体是指:(1)服务端通过Binder数据监听接口触发监听指令,并将该监听指令发送给车辆控制器;(2)车辆控制器接收监听指令,将该监听指令通过CAN发送给相应的模块控制单元;(3)模块控制单元根据该监听指令实时采集监听车机数据,并将监听车机数据通过CAN发送给车辆控制器;(4)车辆控制器接收监听车机数据,将监听车机数据发送给服务端。即服务端与车辆控制器通信,而车辆控制器与模块控制单元通过CAN通信,以使服务端可实现实时采集不同监听数据标识对应的监听车机数据。In this embodiment, the Binder data monitoring interface is used to obtain the monitoring vehicle data corresponding to the Binder data monitoring interface from the vehicle controller, specifically: (1) the server triggers the monitoring instruction through the Binder data monitoring interface, and sends The monitoring command is sent to the vehicle controller; (2) the vehicle controller receives the monitoring command, and sends the monitoring command to the corresponding module control unit through CAN; (3) the module control unit collects the monitoring vehicle data in real time according to the monitoring command, And send the monitoring vehicle data to the vehicle controller through CAN; (4) the vehicle controller receives the monitoring vehicle data, and sends the monitoring vehicle data to the server. That is, the server communicates with the vehicle controller, and the vehicle controller communicates with the module control unit through CAN, so that the server can collect the monitoring vehicle data corresponding to different monitoring data identifiers in real time.
进一步地,由于车辆控制器与模块控制单元通过CAN通信,而车辆控制器与服务端可以采用HTTP或者其他协议进行通信,为了保证通讯过程的可行性,在数据传输过程中,需要进行相应的数据转换处理,即在上述(2)中,车辆控制器接收监听指令之后,需采用报文生成模板对监听指令进行处理,以生成相应的监听CAN报文,并将监听CAN报文通过CAN发送给相应的模块控制单元,从而使模块控制单元获取可识别并执行的指令(即监听CAN报文对应的指令),以保证操作的可执行性。其中,报文生成模板是预先设置的用于生成CAN报文的模板。相应地,在上述(4)中,车辆控制器接收到结果CAN报文,采用报文解析模板对结果CAN报文进行解析,获取可被服务端识别的监听车机数据。其中,报文解析模板是预先设置的用于解析CAN报文的模板,该报文解析模板与报文生成模板相对应。Further, since the vehicle controller and the module control unit communicate through CAN, and the vehicle controller and the server can use HTTP or other protocols to communicate, in order to ensure the feasibility of the communication process, in the data transmission process, it is necessary to carry out corresponding data. Conversion processing, that is, in the above (2), after the vehicle controller receives the monitoring command, it needs to use the message generation template to process the monitoring command to generate the corresponding monitoring CAN message, and send the monitoring CAN message to the CAN message through CAN. Corresponding module control unit, so that the module control unit obtains an identifiable and executable instruction (ie, monitors the instruction corresponding to the CAN message), so as to ensure the operability of the operation. The message generation template is a preset template for generating CAN messages. Correspondingly, in the above (4), the vehicle controller receives the result CAN message, uses the message parsing template to parse the result CAN message, and obtains monitoring vehicle data that can be identified by the server. The message parsing template is a preset template for parsing CAN messages, and the message parsing template corresponds to the message generation template.
S302:若监听车机数据与Binder共享缓存中的缓存车机数据不相同,则采用监听车机数据更新缓存车机数据,通过Binder通讯通道,将监听车机数据发送给基于Linux构建的注册Binder数据监听接口的目标客户端。S302: If the monitored vehicle data is different from the cached vehicle data in the Binder shared cache, use the monitored vehicle data to update the cached vehicle data, and send the monitored vehicle data to the registered Binder based on Linux through the Binder communication channel The target client of the data listening interface.
其中,Binder共享缓存为Binder服务端和Binder客户端之间共享的用户空间,以通过Binder共享内存来提升Binder服务端和Binder客户端之间数据传输的传输性能。缓存车机数据是上一次采集并存储在Binder共享缓存中的与监听数据标识相对应的车机数据。Among them, the Binder shared cache is the user space shared between the Binder server and the Binder client, so as to improve the transmission performance of data transmission between the Binder server and the Binder client through the Binder shared memory. The cached vehicle data is the vehicle data corresponding to the monitoring data identifier that was collected last time and stored in the Binder shared cache.
其中,注册Binder数据监听接口的目标客户端具体是指目标客户端预先在服务端注册Binder数据监听接口,以服务端将该Binder数据监听接口监听到的车机数据实时发送给目标客户端,从而保证目标客户端可实时获取最近更新的监听车机数据。Among them, the target client registering the Binder data monitoring interface specifically refers to that the target client registers the Binder data monitoring interface on the server in advance, and the server sends the vehicle data monitored by the Binder data monitoring interface to the target client in real time. Ensure that the target client can obtain the latest updated monitoring vehicle data in real time.
具体地,服务端在从车辆控制器获取到监听车机数据之后,先从Binder共享缓存中获取Binder数据监听接口上一次采集并存储的缓存车机数据,判断监听车机数据与缓存车机数据是否相同;在监听车机数据与缓存车机数据相同时,此时,无需对Binder共享缓存中的缓存车机数据进行处理,即可保障Binder共享缓存中的缓存车机数据的实时性;在监听车机数据与缓存车机数据不相同时,采用监听车机数据更新缓存车机数据,以使Binder共享缓存中的缓存车机数据为相应Binder数据监听接口最近采集到的车机数据。本实施例中,在监听车机数据与缓存车机数据不相同时,采用监听车机数据更新缓存车机数据,以保障Binder共享缓存中的缓存车机数据的实时性,以使后续访问Binder共享缓存时,可快速获取最近更新的车机数据,从而提高监听车机数据的获取效率。Specifically, after obtaining the monitoring vehicle data from the vehicle controller, the server first obtains the cached vehicle data collected and stored by the Binder data monitoring interface from the Binder shared cache, and determines the monitoring vehicle data and the cached vehicle data. Whether it is the same; when the monitored vehicle data is the same as the cached vehicle data, at this time, there is no need to process the cached vehicle data in the Binder shared cache to ensure the real-time performance of the cached vehicle data in the Binder shared cache; When the monitored vehicle data is different from the cached vehicle data, use the monitored vehicle data to update the cached vehicle data, so that the cached vehicle data in the Binder shared cache is the vehicle data recently collected by the corresponding Binder data monitoring interface. In this embodiment, when the monitored vehicle data is different from the cached vehicle data, the cached vehicle data is updated by using the monitored vehicle data to ensure the real-time nature of the cached vehicle data in the Binder shared cache, so that subsequent access to the Binder When the cache is shared, the recently updated vehicle data can be quickly obtained, thereby improving the acquisition efficiency of monitoring vehicle data.
可以理解地,在监听车机数据与Binder共享缓存中的缓存车机数据不相同时,说明Binder数据监听接口两次监听到的同一监听数据标识相对应的车机数据不相同,即这一监听数据标识对应的模块控制单元对应的车辆状态发生变化,因此,需将监听车机数据发送给注册Binder数据监听接口的目标客户端,以便用户可通过目标客户端及时了解相应的车辆状态变化情况。本实施例中,服务端通过Binder通讯通道,将监听车机数据发送给基于Linux构建的注册Binder数据监听接口的目标客户端,以使监听车机数据传输过程中具有安全性好、传输性能高和简单易用等优点。Understandably, when the monitoring vehicle data is different from the cached vehicle data in the Binder shared cache, it means that the vehicle data corresponding to the same monitoring data identifier monitored twice by the Binder data monitoring interface is different, that is, this monitoring The vehicle status corresponding to the module control unit corresponding to the data identification changes. Therefore, the monitoring vehicle data needs to be sent to the target client registered with the Binder data monitoring interface, so that the user can timely understand the corresponding vehicle status changes through the target client. In this embodiment, the server sends the monitoring vehicle data to the target client registered with the Binder data monitoring interface based on Linux through the Binder communication channel, so that the monitoring vehicle data transmission process has good security and high transmission performance. and ease of use.
可以理解地,步骤S301是上述实施例中步骤S201的一个具体实施方式,步骤S302是上述实施例中步骤S202的一个具体实施方式,即上述步骤S301和S302中,服务端自主监听车辆中的监听车机数据,并将监听车机数据发送给相应的目标客户端。It can be understood that step S301 is a specific implementation of step S201 in the above-mentioned embodiment, and step S302 is a specific implementation of step S202 in the above-mentioned embodiment, that is, in the above-mentioned steps S301 and S302, the server autonomously monitors the monitoring in the vehicle. Vehicle data, and send the monitored vehicle data to the corresponding target client.
本实施例所提供的基于Linux的车机交互方法中,采用Binder数据监听接口从车辆控制器中获取对应的监听车机数据,以实现对车辆中的车机数据进行监听;在监听车机数据与缓存车机数据不相同时,采用监听车机数据更新缓存车机数据,以保障Binder共享缓存中的缓存车机数据的实时性,并将监听车机数据通过Binder通讯通道发送给目标客户端,既保证监听车机数据在数据传输过程中的具有安全性好、传输性能高和简单易用等优点,又可使注册Binder数据监听接口的目标客户端可实时获取最近更新的监听车机数据。In the Linux-based vehicle-machine interaction method provided in this embodiment, the Binder data monitoring interface is used to obtain the corresponding monitoring vehicle-machine data from the vehicle controller, so as to monitor the vehicle-machine data in the vehicle; When it is different from the cached vehicle data, use the monitor vehicle data to update the cached vehicle data to ensure the real-time performance of the cached vehicle data in the Binder shared cache, and send the monitored vehicle data to the target client through the Binder communication channel , which not only ensures that the monitoring vehicle data has the advantages of good security, high transmission performance and ease of use in the data transmission process, but also enables the target client registered with the Binder data monitoring interface to obtain the latest updated monitoring vehicle data in real time. .
在一实施例中,Binder数据监听接口继承Binder库移植过来的Binder功能接口,具体为采用封装Binder结构的回调函数(即AutoCallBack)所形成的接口,用于监听车辆状态是否发生变化。由于服务运行在单独的进程中,因此,当目标客户端注册Binder数据监听接口时,在服务端和目标客户端各创建一个封装Binder结构的回调函数(即AutoCallBack)所形成的Binder数据监听接口,两个Binder数据监听接口之间构建专用的Binder通讯通道;在服务端的Binder数据监听接口获取监听车机数据且监听车机数据与缓存车机数据不相同时,其回调函数(即AutoCallBack)的参数值发生变化,通过专用的Binder通讯通道,使得目标客户端的Binder数据监听接口的回调函数(即AutoCallBack)接收到变化后的参数值,实现将监听车机数据发送给目标客户端,由于监听车机数据传输过程中通过Binder通讯通道进行传输,保证监听车机数据在数据传输过程中的安全性和高传输性能;由于Binder可屏蔽Binder客户端调用Binder服务端的隔阂,使得目标客户端中函数名、参数名和参数值均与Binder服务端一样,使得Binder客户端调用Binder服务端相应的数据时如本地函数调用,操作更简单易用。In one embodiment, the Binder data monitoring interface inherits the Binder function interface transplanted from the Binder library, specifically an interface formed by using a callback function (ie AutoCallBack) encapsulating the Binder structure to monitor whether the vehicle state changes. Since the service runs in a separate process, when the target client registers the Binder data monitoring interface, the server and the target client each create a Binder data monitoring interface formed by a callback function (ie AutoCallBack) that encapsulates the Binder structure. A dedicated Binder communication channel is built between the two Binder data monitoring interfaces; when the Binder data monitoring interface of the server obtains the monitoring vehicle data and the monitoring vehicle data is different from the cached vehicle data, the parameters of its callback function (ie AutoCallBack) When the value changes, through the dedicated Binder communication channel, the callback function (ie AutoCallBack) of the Binder data monitoring interface of the target client receives the changed parameter value, so as to send the monitoring vehicle data to the target client. In the process of data transmission, it is transmitted through the Binder communication channel to ensure the security and high transmission performance of the monitoring vehicle data during the data transmission process; because the Binder can shield the gap between the Binder client and the Binder server, the function name, The parameter names and parameter values are the same as those of the Binder server, which makes the operation easier and easier to use when the Binder client calls the corresponding data of the Binder server, such as a local function call.
在一实施例中,在步骤S301之前,即在采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据之前,基于Linux的车机交互方法还包括:In one embodiment, before step S301, that is, before adopting the Binder data monitoring interface to obtain the monitoring vehicle-machine data corresponding to the Binder data monitoring interface from the vehicle controller, the Linux-based vehicle-machine interaction method further includes:
S301-1:获取目标客户端发送的接口注册请求,接口注册请求包括接口标识和终端标识。S301-1: Obtain an interface registration request sent by the target client, where the interface registration request includes an interface identifier and a terminal identifier.
S301-2:将接口标识和终端标识关联存储在注册接口信息表中。S301-2: Associate and store the interface identifier and the terminal identifier in the registered interface information table.
其中,接口注册请求是目标客户端发送给服务端的用于进行监听接口注册的请求。接口标识是用于唯一识别所需注册的Binder数据监听接口的标识。终端标识是用于唯一识别所需注册的目标客户端的标识。注册接口信息表是用于存储所有接口注册请求中的接口标识和终端标识的关联关系的信息表。The interface registration request is a request sent by the target client to the server for registering the monitoring interface. The interface identifier is an identifier used to uniquely identify the Binder data monitoring interface to be registered. The terminal identifier is an identifier used to uniquely identify the target client to be registered. The registration interface information table is an information table used to store the association relationship between the interface identifier and the terminal identifier in all interface registration requests.
本实施例中,用户可通过在目标客户端(即用户使用的客户端)的接口注册界面输入相应的接口标识,依据其自身携带的终端标识和该接口标识形成接口注册请求,并将接口注册请求发送给服务端,以使服务端可获取目标客户端的接口注册请求。服务端在获取到接口注册请求之后,对该接口注册请求进行解析,以获取其中的接口标识和终端标识,将接口标识和终端标识关联存储在注册接口信息表中,以实现对具有关联关系的接口标识和终端标识进行统一管理。In this embodiment, the user can input the corresponding interface identifier on the interface registration interface of the target client (that is, the client used by the user), form an interface registration request according to the terminal identifier carried by the user and the interface identifier, and register the interface The request is sent to the server so that the server can obtain the interface registration request of the target client. After obtaining the interface registration request, the server parses the interface registration request to obtain the interface identification and terminal identification, and associates the interface identification and the terminal identification in the registration interface information table, so as to realize the association between the interface identification and the terminal identification. Unified management of interface identification and terminal identification.
步骤S302中的通过Binder通讯通道,将监听车机数据发送给基于Linux构建的注册Binder数据监听接口的目标客户端,包括:In step S302, through the Binder communication channel, the monitoring vehicle data is sent to the target client that registers the Binder data monitoring interface constructed based on Linux, including:
S302-1:根据Binder数据监听接口的接口标识,查询注册接口信息表,获取对应的目标终端标识。S302-1: According to the interface identifier of the Binder data monitoring interface, query the registration interface information table to obtain the corresponding target terminal identifier.
S302-2:通过Binder通讯通道,将监听车机数据发送给基于Linux构建的与目标终端标识相对应的目标客户端。S302-2: Through the Binder communication channel, send the monitoring vehicle data to the target client constructed based on Linux and corresponding to the target terminal identifier.
具体地,服务端可根据每一Binder数据监听接口对应的接口标识,查询服务端预先存储的注册接口信息表,可快速确定与该Binder数据监听接口的接口标识关联的目标终端标识,从而确定目标终端标识对应的目标客户端预先注册了该Binder数据监听接口;在确定目标终端标识之后,通过Binder通讯通道,将监听车机数据发送给基于Linux构建的与目标终端标识相对应的目标客户端,以使预先注册Binder数据监听接口的目标客户端可及时获取与缓存车机数据不相同的监听车机数据,又保障监听车机数据传输过程中的安全性和传输性能(即传输效率)。Specifically, the server can query the registered interface information table pre-stored by the server according to the interface identifier corresponding to each Binder data monitoring interface, and can quickly determine the target terminal identifier associated with the interface identifier of the Binder data monitoring interface, thereby determining the target The target client corresponding to the terminal identification has pre-registered the Binder data monitoring interface; after determining the target terminal identification, the monitoring vehicle data is sent to the target client corresponding to the target terminal identification constructed based on Linux through the Binder communication channel. So that the target client that pre-registers the Binder data monitoring interface can obtain the monitoring vehicle data that is different from the cached vehicle data in time, and also ensures the security and transmission performance (ie, transmission efficiency) during the monitoring vehicle data transmission process.
本实施例所提供的基于Linux的车机交互方法中,服务端将接口注册请求中的接口标识和终端标识关联存储在注册接口信息表中,可实现对进行接口注册请求中的接口标识和终端标识进行统一管理;在Binder数据监听接口获取与缓存车机数据不相同的监听车机数据时,通过注册接口信息表可快速获取对应的目标终端标识,以便通过Binder通讯通道,将监听车机数据发送给目标终端标识对应的目标客户端,可及时获取与缓存车机数据不相同的监听车机数据,又保障监听车机数据传输过程中的安全性和传输性能。In the Linux-based vehicle-machine interaction method provided in this embodiment, the server associates and stores the interface identifier and the terminal identifier in the interface registration request in the registration interface information table, which can realize the interface identifier and terminal identifier in the interface registration request. Unified management of identifiers; when the Binder data monitoring interface obtains monitoring vehicle data that is different from the cached vehicle data, the corresponding target terminal identifier can be quickly obtained through the registration interface information table, so that the monitoring vehicle data can be monitored through the Binder communication channel. By sending the data to the target client corresponding to the target terminal identifier, the monitoring vehicle data that is different from the cached vehicle data can be obtained in time, and the security and transmission performance of the monitoring vehicle data transmission process can be guaranteed.
在一实施例中,在步骤S301之前,在采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据之前,基于Linux的车机交互方法还包括:In one embodiment, before step S301, before adopting the Binder data monitoring interface to obtain the monitoring vehicle-machine data corresponding to the Binder data monitoring interface from the vehicle controller, the Linux-based vehicle-machine interaction method further includes:
S301-1’:获取监听任务创建请求,监听任务创建请求包括监听数据标识。S301-1': Obtain a monitoring task creation request, and the monitoring task creation request includes a monitoring data identifier.
其中,监听任务创建请求是用于触发服务端创建监听任务的请求。监听数据标识是指该监听任务创建请求所需监听的数据对应的数据标识,具体可以是但不限于车辆速度、车辆电压、车辆电流、电池电量、当前油量和当前位置等监听数据标识。可以理解地,用户(如开发人员)可根据实际需求(即根据需要监听的数据对应的监听数据标识),通过车机交互系统预留的监听任务配置接口触发该监听任务创建请求,以使服务端可获取到相应的监听任务创建请求。例如,在车机交互系统上,用户可通过点击客户端上的监听任务配置接口,以进入监听任务配置界面,用户可在该任务配置界面上输入相应的监听数据标识,在确认提交后触发监听任务创建请求。The monitoring task creation request is a request for triggering the server to create a monitoring task. The monitoring data identifier refers to the data identifier corresponding to the data to be monitored for the monitoring task creation request, which may be, but is not limited to, the monitoring data identifiers such as vehicle speed, vehicle voltage, vehicle current, battery power, current fuel level, and current location. Understandably, users (such as developers) can trigger the monitoring task creation request through the monitoring task configuration interface reserved by the vehicle-machine interaction system according to actual needs (that is, according to the monitoring data identification corresponding to the data to be monitored), so that the service The client can obtain the corresponding monitoring task creation request. For example, on the vehicle-machine interaction system, the user can click the monitoring task configuration interface on the client to enter the monitoring task configuration interface. The user can enter the corresponding monitoring data identifier on the task configuration interface, and trigger monitoring after confirming the submission. Task creation request.
S301-2’:采用基于Binder机制构建的数据监听类对监听数据标识进行处理,获取Binder数据监听接口。S301-2': Use the data monitoring class constructed based on the Binder mechanism to process the monitoring data identification, and obtain the Binder data monitoring interface.
其中,基于Binder机制构建的数据监听类是用于实现数据监听功能的Binder功能接口,该数据监听类是基于Binder机制构建的,使得其可应用在Binder客户端和Binder服务端上,以保证在Binder客户端和Binder服务端进行通讯过程中,数据监听类的调用更方便易用。Among them, the data monitoring class built based on the Binder mechanism is the Binder functional interface used to implement the data monitoring function. During the communication process between the Binder client and the Binder server, the invocation of the data monitoring class is more convenient and easy to use.
具体地,基于Binder机制构建的数据监听类可以是Binder库移植过来的用于实现数据监听的Binder功能接口,可采用该基于Binder机制构建的数据监听类对监听数据标识进行处理,从而创建专用于对该监听数据标识对应的数据进行监听的Binder数据监听接口。即本实施例中,该Binder数据监听接口继承基于Binder机制构建的数据监听类,以使其创建过程简单方便。Specifically, the data monitoring class constructed based on the Binder mechanism may be the Binder functional interface transplanted from the Binder library to implement data monitoring, and the data monitoring class constructed based on the Binder mechanism can be used to process the monitoring data identification, thereby creating a dedicated The Binder data monitoring interface for monitoring the data corresponding to the monitoring data identifier. That is, in this embodiment, the Binder data monitoring interface inherits the data monitoring class constructed based on the Binder mechanism, so that the creation process is simple and convenient.
S301-3’:从车辆控制器中获取监听数据标识对应的数据更新频率。S301-3': Acquire the data update frequency corresponding to the monitoring data identifier from the vehicle controller.
其中,监听数据标识对应的数据更新频率是由车辆控制器采集到的每个模块控制单元采集相应监听数据标识对应的频率。可以理解地,每种监听数据标识对应的数据更新频率与车辆中相应数据的更新速度相匹配,且任意两种监听数据标识对应的数据更新频率可以相同,也可以不相同。例如,监听数据标识为电池电量,则服务端可给车辆控制器发送相应的更新频率获取请求,以服务端可从车辆控制器获取电池电量的数据更新频率。Wherein, the data update frequency corresponding to the monitoring data identifier is the frequency corresponding to the corresponding monitoring data identifier collected by each module control unit collected by the vehicle controller. It can be understood that the data update frequency corresponding to each monitoring data identifier matches the update speed of the corresponding data in the vehicle, and the data update frequency corresponding to any two monitoring data identifiers may be the same or different. For example, if the monitoring data is identified as battery power, the server can send a corresponding update frequency acquisition request to the vehicle controller, so that the server can obtain the data update frequency of the battery power from the vehicle controller.
S301-4’:基于数据更新频率和Binder数据监听接口,生成与监听数据标识相对应的数据监听任务。S301-4': Based on the data update frequency and the Binder data monitoring interface, generate a data monitoring task corresponding to the monitoring data identifier.
其中,数据监听任务是用于实现数据监听的任务,该数据监听任务应用在服务端,以使服务端可根据该数据监听任务,实时获取车辆的监听车机数据。具体地,服务端在获取数据更新频率和Binder数据监听接口之后,可采用系统默认起始时间或者用户自主设置的起始时间,根据该起始时间、数据更新频率和Binder数据监听接口,快速生成与监听数据标识相对应的数据监听任务,以使服务端在起始时间开始,依据数据更新频率,采用Binder数据监听接口,实时监听与该监听数据标识相对应的监听车机数据。The data monitoring task is a task for implementing data monitoring, and the data monitoring task is applied to the server, so that the server can obtain the monitoring vehicle data of the vehicle in real time according to the data monitoring task. Specifically, after obtaining the data update frequency and the Binder data monitoring interface, the server can use the system default start time or the start time set by the user, and quickly generate the data according to the start time, data update frequency and Binder data monitoring interface. The data monitoring task corresponding to the monitoring data identifier, so that the server starts at the starting time, and according to the data update frequency, uses the Binder data monitoring interface to monitor the monitoring vehicle data corresponding to the monitoring data identifier in real time.
相应地,步骤S301,即采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据,具体包括:执行数据监听任务,依据数据采集频率,采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据。Correspondingly, in step S301, the Binder data monitoring interface is used to obtain the monitoring vehicle data corresponding to the Binder data monitoring interface from the vehicle controller, which specifically includes: performing a data monitoring task, and using the Binder data monitoring interface according to the data collection frequency. , and obtain the monitoring vehicle data corresponding to the Binder data monitoring interface from the vehicle controller.
本实施例中,服务端实时执行预先创建的数据监听任务,依据每一数据监听任务对应的数据采集频率,采用该数据监听任务中的Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据,以实现对车辆的车机数据进行自主监听。具体地,服务端在数据监听任务设置的起始时间之后,依据数据采集频率采集相应的监听车机数据,以实现对监听数据标识对应的车机数据进行实时监听,保证数据的实时性。In this embodiment, the server executes the pre-created data monitoring task in real time, and according to the data collection frequency corresponding to each data monitoring task, uses the Binder data monitoring interface in the data monitoring task to obtain and monitor the binder data from the vehicle controller. The interface corresponding to the monitoring of the vehicle data, in order to realize the autonomous monitoring of the vehicle's vehicle data. Specifically, after the start time set by the data monitoring task, the server collects the corresponding monitoring vehicle data according to the data collection frequency, so as to realize real-time monitoring of the vehicle data corresponding to the monitoring data identifier and ensure the real-time nature of the data.
本实施例所提供的基于Linux的车机交互方法中,采用移植的基于Binder机制构建的数据监听类对监听任务创建请求中的监听数据标识进行处理,可快速获取其对应的Binder数据监听接口,创建过程简单方便;从车辆控制器中获取监听数据标识对应的数据更新频率,以结合Binder数据监听接生成相应的数据监听任务,使得该数据监听任务执行时,可依据数据采集频率,采用Binder数据监听接口从车辆控制器中获取相应的监听车机数据,从而实现对不同监听数据标识对应的监听车机数据依据其数据更新频率进行实时监听,保障对该监听数据标识对应的监听车机数据进行监听的实时性。In the Linux-based vehicle-machine interaction method provided in this embodiment, the data monitoring class constructed based on the transplanted Binder mechanism is used to process the monitoring data identifier in the monitoring task creation request, and the corresponding Binder data monitoring interface can be quickly obtained. The creation process is simple and convenient; the data update frequency corresponding to the monitoring data identifier is obtained from the vehicle controller, and the corresponding data monitoring task is generated in combination with the Binder data monitoring, so that when the data monitoring task is executed, the Binder data can be used according to the data collection frequency. The monitoring interface obtains the corresponding monitoring vehicle data from the vehicle controller, so as to realize real-time monitoring of the monitoring vehicle data corresponding to different monitoring data identifiers according to its data update frequency, so as to ensure the monitoring of the monitoring vehicle data corresponding to the monitoring data identifier. Real-time monitoring.
在一实施例中,如上述步骤S201所示,目标车机数据可以是服务端应客户端请求而采集的需要发送给客户端的车机数据。在这种情况下,如图4所示,基于Linux的车机交互方法,具体包括如下步骤:In an embodiment, as shown in the above step S201, the target vehicle data may be vehicle data collected by the server in response to the client's request and need to be sent to the client. In this case, as shown in Figure 4, the Linux-based vehicle-machine interaction method specifically includes the following steps:
S401:接收基于Linux构建的目标客户端通过Binder通讯通道发送的车机交互请求。S401: Receive a vehicle-machine interaction request sent by a target client built based on Linux through a Binder communication channel.
其中,车机交互请求是客户端触发的用于请求与服务端交互车机数据的请求。该目标客户端可以理解为触发本次车机交互请求的客户端。即用户可依据实际需求,通过基于Linux构建的目标客户端提供的交互接口,触发车机交互请求,并将该车机交互请求通过Binder通讯通道发送给服务端,以使服务端可接收到目标客户端通过Binder通讯通道发送的车机交互请求,并进行后续的步骤。The vehicle-machine interaction request is a request triggered by the client for requesting to interact with the server-side vehicle-machine data. The target client can be understood as the client that triggers this vehicle-machine interaction request. That is, the user can trigger the car-machine interaction request through the interactive interface provided by the target client built based on Linux according to the actual needs, and send the car-machine interaction request to the server through the Binder communication channel, so that the server can receive the target. The client sends the vehicle-machine interaction request through the Binder communication channel, and performs the subsequent steps.
本实施例中,服务端通过Binder通讯通道接收到目标客户端所触发的车机交互请求,说明该车机交互请求是在Binder通讯通道下进行传输,可保障该车机交互请求传输过程中的安全性和传输性能。具体地,目标客户端中设置继承Binder功能接口(如AutoServer接口)的BpAutoServer接口,用户可通过Servicemanager获取服务端的代理(即对本类的代理),从而使用车机交互服务对应的Servicemanager接口。其中,上述获取代理的过程在AutoManager中实现的,即AutoManager封装了实现AutoServer的各项接口以及AutoCallBack的实现,提供等同的接口给开发者,提供注册AutoObserver接口,接收AutoCallBack的消息。服务端中设置继承Binder功能接口(如AutoServer接口)的BnAutoServer接口,BnAutoServer接口对应的服务,采用Binder结构,运行在独立的进程上,会注册到Servicemanager中。可以理解地,目标客户端所触发的车机交互请求通过BpAutoServer接口发送给服务端的BnAutoServer接口,即通过BpAutoServer接口与BnAutoServer接口构建用于进行数据传输的Binder通讯通道,以实现车机交互请求通过Binder通讯通道进行传输。In this embodiment, the server receives the vehicle-machine interaction request triggered by the target client through the Binder communication channel, indicating that the vehicle-machine interaction request is transmitted under the Binder communication channel, which can ensure that the vehicle-machine interaction request is transmitted during the transmission process. Security and transfer performance. Specifically, the BpAutoServer interface that inherits the Binder functional interface (such as the AutoServer interface) is set in the target client, and the user can obtain the server's proxy (that is, the proxy for this class) through the Servicemanager, so as to use the Servicemanager interface corresponding to the vehicle-machine interaction service. Among them, the above process of obtaining the proxy is implemented in AutoManager, that is, AutoManager encapsulates various interfaces that implement AutoServer and the implementation of AutoCallBack, provides equivalent interfaces to developers, provides registration AutoObserver interface, and receives AutoCallBack messages. The BnAutoServer interface that inherits the Binder functional interface (such as the AutoServer interface) is set in the server. The service corresponding to the BnAutoServer interface adopts the Binder structure, runs on an independent process, and will be registered in the Servicemanager. Understandably, the vehicle-machine interaction request triggered by the target client is sent to the BnAutoServer interface of the server through the BpAutoServer interface, that is, a Binder communication channel for data transmission is constructed through the BpAutoServer interface and the BnAutoServer interface, so as to realize the vehicle-machine interaction request through the Binder. communication channel for transmission.
由于当前车机交互系统中,为了使用户可通过客户端控制车辆,需以保障用户可通过客户端实现如下功能:其一是数据查询功能,即用户可通过客户端查询到车辆当前状态对应的车机数据,包括但不限于车辆速度、车辆电压、车辆电流、电池电量、当前油量和当前位置等车机数据,以使用户可根据所查询到的车机数据进行后续操作,如在电池电量较少时进行充电操作。其二是车辆控制功能,即用户可通过客户端控制车辆中相应的模块控制单元进行操作,如控制车门或车窗的打开、关闭或者锁定等操作、或者控制空调打开、关闭或者调整温度等操作。可以理解地,只有目标客户端具备数据查询功能和车辆控制功能,才可使过目标客户端与服务端进行车机交互,以实现对车辆进行相应的控制。本实施例中,目标客户端所触发的可实现数据查询功能的车机交互请求具体为通过Get接口触发的Get请求;而目标客户端所触发的可实现车辆控制功能的车机交互请求具体为通过Set接口触发的Set请求。Because in the current vehicle-machine interaction system, in order to enable users to control the vehicle through the client, it is necessary to ensure that the user can realize the following functions through the client: one is the data query function, that is, the user can query the current state of the vehicle through the client. Vehicle and machine data, including but not limited to vehicle speed, vehicle voltage, vehicle current, battery power, current fuel level, current location and other vehicle and machine data, so that users can perform follow-up operations based on the inquired vehicle and machine data, such as battery Perform the charging operation when the battery is low. The second is the vehicle control function, that is, the user can control the corresponding module control unit in the vehicle through the client to operate, such as controlling the opening, closing or locking of doors or windows, or controlling the air conditioner to open, close or adjust the temperature and other operations. . It is understandable that only if the target client has the data query function and vehicle control function, the vehicle-machine interaction between the target client and the server can be performed to realize the corresponding control of the vehicle. In this embodiment, the vehicle-machine interaction request triggered by the target client that can realize the data query function is specifically a Get request triggered by the Get interface; and the vehicle-machine interaction request triggered by the target client that can realize the vehicle control function is specifically: Set requests triggered by the Set interface.
S402:将车机交互请求发送给车辆控制器,接收车辆控制器返回的与车机交互请求相对应的目标车机数据。S402: Send the vehicle-machine interaction request to the vehicle controller, and receive the target vehicle-machine data corresponding to the vehicle-machine interaction request returned by the vehicle controller.
具体地,服务端将车机交互请求发送给车辆控制器;车辆控制器接收到该车机交互请求之后,通过CAN发送给相应的模块控制单元;模块控制单元根据该车机交互请求获取相应的目标车机数据,将目标车机数据发送给车辆控制器;车辆控制器接收到相应的目标车机数据之后,将该目标车机数据发送给服务端,以使服务端可接收车辆控制器返回的与车机交互请求相对应的目标车机数据。可以理解地,服务端与车辆控制器(及通过CAN相连的模块控制单元)之间的通信过程与步骤S301中的通信过程类似,为避免重复,此处不赘述。Specifically, the server sends the vehicle-machine interaction request to the vehicle controller; after receiving the vehicle-machine interaction request, the vehicle controller sends it to the corresponding module control unit through CAN; the module control unit obtains the corresponding module control unit according to the vehicle-machine interaction request The target vehicle data is sent to the vehicle controller; after receiving the corresponding target vehicle data, the vehicle controller sends the target vehicle data to the server, so that the server can receive the vehicle controller's return The target vehicle-machine data corresponding to the vehicle-machine interaction request. It can be understood that the communication process between the server and the vehicle controller (and the module control unit connected through CAN) is similar to the communication process in step S301 , which is not repeated here to avoid repetition.
由于车机交互请求可以是为实现数据查询功能的请求,也可以是为实现车辆控制功能的请求,相应地,本实施例所获取的目标车机数据可以是与数据查询功能相关的查询到的车机数据(即车辆中相应模块控制单元实时采集到的数据,如电池电量),也可以是与车辆控制功能相关的用于反映车辆状态变化的车机数据(如反映空调打开和关闭这两个状态变化过程形成的车机数据)。Since the vehicle-machine interaction request may be a request for realizing a data query function or a request for realizing a vehicle control function, correspondingly, the target vehicle-machine data obtained in this embodiment may be queried related to the data query function. Vehicle and machine data (that is, data collected in real time by the corresponding module control unit in the vehicle, such as battery power), or vehicle-machine data related to vehicle control functions and used to reflect changes in vehicle status (for example, to reflect the opening and closing of the air conditioner). Vehicle data formed by a state change process).
S403:通过Binder通讯通道,将目标车机数据发送给基于Linux构建的目标客户端。S403: Send the target vehicle data to the Linux-based target client through the Binder communication channel.
可以理解地,步骤S401和S402是上述实施例中步骤S201的另一个具体实施例,而步骤S403与上述实施例中步骤S202相同,为避免重复,在此不赘述。It can be understood that steps S401 and S402 are another specific embodiment of step S201 in the above-mentioned embodiment, and step S403 is the same as step S202 in the above-mentioned embodiment. To avoid repetition, details are not described here.
本实施例所提供的基于Linux的车机交互方法中,目标客户端触发车机交互请求,以使服务端返回对应的目标车机数据,可使用户通过目标客户端实现对车辆的控制,以使车辆满足智能控制的需求;通过Binder通讯通道传输车机交互请求及对应的目标车机数据,可有效保证车机交互请求及对应的目标车机数据在数据传输过程中的安全性及传输性能。In the Linux-based vehicle-machine interaction method provided in this embodiment, the target client triggers a vehicle-machine interaction request, so that the server returns the corresponding target vehicle-machine data, so that the user can control the vehicle through the target client, so as to Make the vehicle meet the needs of intelligent control; transmit the vehicle-machine interaction request and the corresponding target vehicle-machine data through the Binder communication channel, which can effectively ensure the safety and transmission performance of the vehicle-machine interaction request and the corresponding target vehicle-machine data in the data transmission process. .
在一实施例中,如上述步骤S401所示,目标客户端所触发的车机交互请求可以是可实现数据查询功能的车机交互请求,即Get请求,针对Get请求,如图5所示,该基于Linux的车机交互方法具体包括如下步骤:In one embodiment, as shown in the above step S401, the vehicle-machine interaction request triggered by the target client may be a vehicle-machine interaction request that can realize a data query function, that is, a Get request. For the Get request, as shown in FIG. 5 , The Linux-based vehicle-machine interaction method specifically includes the following steps:
S501:接收基于Linux构建的目标客户端通过Binder通讯通道发送的车机查询请求,车机查询请求包括目标数据标识。S501: Receive a vehicle-machine query request sent by a target client built based on Linux through a Binder communication channel, where the vehicle-machine query request includes a target data identifier.
其中,车机查询请求是客户端触发的用于查询车机数据的请求,该请求为Get请求。目标数据标识是用于唯一识别其所需查询的数据的标识,可以是用于唯一指向车辆速度、车辆电压、车辆电流、电池电量、当前油量和当前位置等车机数据对应的标识。例如,若系统默认采用Q1来表示电池电量,则可通过基于Linux构建的目标客户端触发携带Q1的车机查询请求,并将该车机查询请求通过Binder通讯通道发送给服务端,以使服务端可快速获取到相应的车机查询请求。车机查询请求通过Binder通讯通道进行传输,有利于保障传输过程中的安全性和传输性能,具有操作简单性。The vehicle-machine query request is a request triggered by the client to query vehicle-machine data, and the request is a Get request. The target data identifier is an identifier used to uniquely identify the data to be queried, and can be an identifier used to uniquely point to vehicle data such as vehicle speed, vehicle voltage, vehicle current, battery power, current fuel level, and current location. For example, if the system uses Q1 to represent the battery power by default, the target client based on Linux can trigger the vehicle query request carrying Q1, and send the vehicle query request to the server through the Binder communication channel, so that the service The terminal can quickly obtain the corresponding vehicle engine query request. The vehicle-machine query request is transmitted through the Binder communication channel, which is conducive to ensuring the security and transmission performance during the transmission process, and has simple operation.
S502:将车机查询请求发送给车辆控制器,接收车辆控制器返回的与目标数据标识相对应的模块控制单元实时采集的目标车机数据。S502: Send the vehicle-machine query request to the vehicle controller, and receive the target vehicle-machine data collected in real time by the module control unit corresponding to the target data identifier returned by the vehicle controller.
具体地,服务端接收到车机查询请求之后,将车机查询请求发送给车辆控制器;车辆控制器根据车机查询请求中的目标数据标识,确定用于采集该目标数据标识对应的车机数据的模块控制单元,给模块控制单元发送数据采集指令,以接收该模块控制单元实时采集到的与目标数据标识相对应的目标车机数据,然后,将目标车机数据发送给服务端,以使服务端接收到相应的目标车机数据,从而实现实时查询相应的目标车机数据的目的。Specifically, after receiving the vehicle engine query request, the server sends the vehicle engine query request to the vehicle controller; the vehicle controller determines, according to the target data identifier in the vehicle engine query request, the vehicle engine corresponding to the target data identifier for collecting The module control unit of the data sends a data collection instruction to the module control unit to receive the target vehicle data corresponding to the target data identifier collected in real time by the module control unit, and then sends the target vehicle data to the server to The server can receive the corresponding target vehicle data, so as to realize the purpose of querying the corresponding target vehicle data in real time.
S503:通过Binder通讯通道,将目标车机数据发送给基于Linux构建的目标客户端。S503: Send the target vehicle data to the Linux-based target client through the Binder communication channel.
可以理解地,步骤S501是上述实施例中步骤S401的一个具体实施方式,S502是上述实施例中步骤S402的另一个具体实施方式,而步骤S503与上述实施例中步骤S403相同,为避免重复,在此不赘述。It can be understood that step S501 is a specific implementation of step S401 in the above embodiment, S502 is another specific implementation of step S402 in the above embodiment, and step S503 is the same as step S403 in the above embodiment, in order to avoid repetition, I won't go into details here.
本实施例所提供的基于Linux的车机交互方法中,目标客户端触发车机查询请求,以使服务端返回该车机查询请求中的目标数据标识对应的目标车机数据,从而实现通过目标客户端实时获取车辆当前的目标车机数据,以便根据所查询到的目标车机数据进行后续车辆控制;通过Binder通讯通道传输车机查询请求及对应的目标车机数据,可有效保障车机查询请求及对应的目标车机数据在数据传输过程中的安全性及传输性能。In the Linux-based vehicle-machine interaction method provided by this embodiment, the target client triggers the vehicle-machine query request, so that the server returns the target vehicle-machine data corresponding to the target data identifier in the vehicle-machine query request, so as to achieve the goal of passing the target The client obtains the current target vehicle data of the vehicle in real time, so as to perform subsequent vehicle control according to the queried target vehicle data; the vehicle query request and the corresponding target vehicle data are transmitted through the Binder communication channel, which can effectively guarantee the vehicle query. The security and transmission performance of the request and the corresponding target vehicle data in the data transmission process.
在一实施例中,如上述步骤S401所示,目标客户端所触发的车机交互请求可以是可实现车辆控制功能的车机交互请求,即Set请求,针对Set请求,如图6所示,该基于Linux的车机交互方法具体包括如下步骤:In one embodiment, as shown in the above step S401, the vehicle-machine interaction request triggered by the target client may be a vehicle-machine interaction request that can realize the vehicle control function, that is, a Set request. For the Set request, as shown in FIG. 6 , The Linux-based vehicle-machine interaction method specifically includes the following steps:
S601:接收基于Linux构建的目标客户端通过Binder通讯通道发送的车辆控制请求,车辆控制请求包括目标模块标识和操作标识。S601: Receive a vehicle control request sent by a Linux-based target client through a Binder communication channel, where the vehicle control request includes a target module identifier and an operation identifier.
其中,车辆控制请求是客户端触发的用于进行车辆控制的请求,该请求为Set请求。目标模块标识是用于唯一识别本次车辆控制所对应的模块控制单元的标识。操作标识是用于唯一识别本次车辆控制所对应的具体操作的标识。例如,用户可通过目标客户端控制车辆中空调打开,则其所触发的车辆控制请求中,目标模块标识具体为空调对应的标识,操作标识具体为打开对应的标识。车辆控制请求通过Binder通讯通道进行传输,有利于保障传输过程中的安全性和传输性能,具有操作简单性。The vehicle control request is a request triggered by the client for vehicle control, and the request is a Set request. The target module identifier is an identifier used to uniquely identify the module control unit corresponding to the current vehicle control. The operation identifier is an identifier used to uniquely identify the specific operation corresponding to the current vehicle control. For example, if the user can control the opening of the air conditioner in the vehicle through the target client, in the vehicle control request triggered by the user, the target module identifier is specifically the identifier corresponding to the air conditioner, and the operation identifier is specifically the identifier corresponding to turning on. The vehicle control request is transmitted through the Binder communication channel, which is conducive to ensuring the security and transmission performance during the transmission process, and has simple operation.
S602:将车辆控制请求发送给车机控制器,以使车辆控制器控制目标模块标识对应的模块控制单元执行与操作标识相对应的目标操作。S602: Send the vehicle control request to the vehicle-machine controller, so that the vehicle controller controls the module control unit corresponding to the target module identifier to execute the target operation corresponding to the operation identifier.
具体地,服务端接收到车辆控制请求之后,将车辆控制请求通过发送给车辆控制器;车辆控制器将该车辆控制请求发送给目标模块标识对应的模块控制单元,以使该模块控制单元执行与操作标识相对应的目标操作。如上实施例中,服务端将车辆控制请求发送给车辆控制器之后,车辆控制器根据目标模块标识确定对应的模块控制单元为空调控制单元,则将车辆控制请求发送给该空调控制单元,以使空调控制单元执行进行打开操作,以实现对车辆的智能控制。Specifically, after receiving the vehicle control request, the server sends the vehicle control request to the vehicle controller; the vehicle controller sends the vehicle control request to the module control unit corresponding to the target module identifier, so that the module control unit executes the The operation identifies the corresponding target operation. In the above embodiment, after the server sends the vehicle control request to the vehicle controller, the vehicle controller determines that the corresponding module control unit is the air conditioning control unit according to the target module identifier, and then sends the vehicle control request to the air conditioning control unit, so that the The air conditioning control unit performs the opening operation to realize intelligent control of the vehicle.
S603:通过目标模块标识对应的Binder数据监听接口,监听到当前车机数据与Binder共享缓存中的缓存车机数据不相同时,生成目标车机数据。S603: Through the Binder data monitoring interface corresponding to the target module identifier, when it is detected that the current vehicle data and the cached vehicle data in the Binder shared cache are different, the target vehicle data is generated.
其中,目标模块标识对应的Binder数据监听接口可以理解为专门用于监听该目标模块标识对应的模块控制单元的车辆状态变化的监听接口。本实施例中的缓存车机数据是上一次采集并存储在Binder共享缓存中的目标模块标识对应的模块控制单元采集的车机数据。Wherein, the Binder data monitoring interface corresponding to the target module identification can be understood as a monitoring interface specially used for monitoring the vehicle state change of the module control unit corresponding to the target module identification. The cached vehicle data in this embodiment is the vehicle data collected by the module control unit corresponding to the target module identifier that was collected last time and stored in the Binder shared cache.
具体地,服务端在将车辆控制请求发送给车辆控制器之后,通过目标模块标识对应的Binder数据监听接口,实时监听可反映该目标模块标识对应的模块控制单元对应的车辆状态变化的当前车机数据,在当前车机数据与Binder共享缓存中的缓存车机数据不相同时,生成目标车机数据,并采用当前车机数据更新缓存车机数据,以使Binder共享缓存中的缓存车机数据为相应Binder数据监听接口最近采集到的车机数据。本实施例中的Binder数据监听接口与上述实施例中的Binder数据监听接口工作过程相同,为避免重复,在此不赘述。Specifically, after sending the vehicle control request to the vehicle controller, the server uses the Binder data monitoring interface corresponding to the target module identifier to monitor in real time the current vehicle machine that can reflect the change of the vehicle state corresponding to the module control unit corresponding to the target module identifier. When the current vehicle data is different from the cached vehicle data in the Binder shared cache, the target vehicle data is generated, and the current vehicle data is used to update the cached vehicle data, so that the Binder shares the cached vehicle data in the cache. It is the vehicle data recently collected by the corresponding Binder data monitoring interface. The working process of the Binder data monitoring interface in this embodiment is the same as that of the Binder data monitoring interface in the above-mentioned embodiment. To avoid repetition, details are not described here.
可以理解地,该目标车机数据具体为反映车辆状态变化的车机数据,即与上一次采集到的缓存车机数据不相同的车机数据。例如,采用Y表示打开,N表示关闭,在服务端将车辆控制请求发送给车辆控制器之前,该Binder数据监听接口监听到的缓存车机数据为N;在将车辆控制请求发送给车辆控制器之后,若车辆控制器控制目标模块标识对应的模块控制单元执行与操作标识相对应的目标操作,则此时,Binder数据监听接口监听到的当前车机数据为Y。It can be understood that the target vehicle data is specifically vehicle data reflecting vehicle state changes, that is, vehicle data that is different from the cached vehicle data collected last time. For example, Y means open and N means close. Before the server sends the vehicle control request to the vehicle controller, the cached vehicle data monitored by the Binder data monitoring interface is N; after the vehicle control request is sent to the vehicle controller After that, if the vehicle controller controls the module control unit corresponding to the target module identifier to execute the target operation corresponding to the operation identifier, then at this time, the current vehicle data monitored by the Binder data monitoring interface is Y.
S604:通过Binder通讯通道,将目标车机数据发送给基于Linux构建的目标客户端。S604: Send the target vehicle data to the Linux-based target client through the Binder communication channel.
可以理解地,步骤S601是上述实施例中步骤S401的一个具体实施方式,S602和S603是上述实施例中步骤S402的另一个具体实施方式,而步骤S604与上述实施例中步骤S403相同,为避免重复,在此不赘述。It can be understood that step S601 is a specific implementation of step S401 in the above embodiment, S602 and S603 are another specific implementation of step S402 in the above embodiment, and step S604 is the same as step S403 in the above embodiment, in order to avoid Repeat, and will not repeat them here.
本实施例所提供的基于Linux的车机交互方法中,目标客户端触发车辆控制请求,通过服务端使车辆控制器控制相应的模块控制单元执行目标操作,采用Binder数据监听接口实时监听目标车机数据,以确定是否完成车辆控制,以实现对车辆进行控制,达到智能控制车辆的目的;通过Binder通讯通道传输车辆控制请求及对应的目标车机数据,可有效保障车辆控制请求及对应的目标车机数据在数据传输过程中的安全性及传输性能。In the Linux-based vehicle-machine interaction method provided in this embodiment, the target client triggers a vehicle control request, and the server enables the vehicle controller to control the corresponding module control unit to perform the target operation, and uses the Binder data monitoring interface to monitor the target vehicle in real time. data to determine whether the vehicle control is completed, so as to realize the control of the vehicle and achieve the purpose of intelligently controlling the vehicle; the transmission of the vehicle control request and the corresponding target vehicle data through the Binder communication channel can effectively guarantee the vehicle control request and the corresponding target vehicle. The security and transmission performance of computer data in the data transmission process.
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。It should be understood that the size of the sequence numbers of the steps in the above embodiments does not mean the sequence of execution, and the execution sequence of each process should be determined by its functions and internal logic, and should not constitute any limitation to the implementation process of the embodiments of the present invention.
在一实施例中,提供一种基于Linux的车机交互装置,该基于Linux的车机交互装置与上述实施例中基于Linux的车机交互方法一一对应。如图7所示,该基于Linux的车机交互装置包括车机数据获取模块701和车机数据传输模块702。各功能模块详细说明如下:In one embodiment, a Linux-based vehicle-machine interaction apparatus is provided, and the Linux-based vehicle-machine interaction apparatus is in one-to-one correspondence with the Linux-based vehicle-machine interaction method in the foregoing embodiment. As shown in FIG. 7 , the Linux-based vehicle-machine interaction device includes a vehicle-machine
车机数据获取模块701,用于从车辆控制器中获取目标车机数据。The vehicle-machine
车机数据传输模块702,用于通过Binder通讯通道,将目标车机数据发送给基于Linux构建的目标客户端。The vehicle-machine
优选地,目标车机数据包括监听车机数据。Preferably, the target vehicle data includes monitor vehicle data.
车机数据获取模块701,包括监听车机数据获取单元,用于采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据。The vehicle
车机数据传输模块702,包括监听车机数据传输单元,用于若监听车机数据与Binder共享缓存中的缓存车机数据不相同,则采用监听车机数据更新缓存车机数据,通过Binder通讯通道,将监听车机数据发送给基于Linux构建的注册Binder数据监听接口的目标客户端。The vehicle
优选地,在监听车机数据获取单元之前,基于Linux的车机交互装置还包括注册请求获取单元和注册信息存储单元。Preferably, before monitoring the vehicle-machine data acquisition unit, the Linux-based vehicle-machine interaction device further includes a registration request acquisition unit and a registration information storage unit.
注册请求获取单元,用于获取目标客户端发送的接口注册请求,接口注册请求包括接口标识和终端标识。The registration request obtaining unit is used for obtaining the interface registration request sent by the target client, where the interface registration request includes the interface identification and the terminal identification.
注册信息存储单元,用于将接口标识和终端标识关联存储在注册接口信息表中。The registration information storage unit is configured to associate and store the interface identifier and the terminal identifier in the registered interface information table.
监听车机数据传输单元,包括终端标识查询子单元和车机数据发送子单元。The monitoring vehicle-machine data transmission unit includes a terminal identification query sub-unit and a vehicle-machine data sending sub-unit.
终端标识查询子单元,用于根据Binder数据监听接口的接口标识,查询注册接口信息表,获取对应的目标终端标识。The terminal identification query subunit is used for querying the registered interface information table according to the interface identification of the Binder data monitoring interface to obtain the corresponding target terminal identification.
车机数据发送子单元,用于通过Binder通讯通道,将监听车机数据发送给基于Linux构建的与目标终端标识相对应的目标客户端。The vehicle-machine data sending sub-unit is used to send the monitored vehicle-machine data to the target client corresponding to the target terminal identifier constructed based on Linux through the Binder communication channel.
优选地,在监听车机数据获取单元之前,基于Linux的车机交互装置还包括创建请求获取单元、监听接口获取单元、更新频率获取单元和监听任务生成单元。Preferably, before the monitoring vehicle-machine data obtaining unit, the Linux-based vehicle-machine interaction device further includes a creation request obtaining unit, a monitoring interface obtaining unit, an update frequency obtaining unit, and a monitoring task generating unit.
创建请求获取单元,用于获取监听任务创建请求,监听任务创建请求包括监听数据标识。The creation request obtaining unit is used to obtain the monitoring task creation request, and the monitoring task creation request includes the monitoring data identifier.
监听接口获取单元,用于采用基于Binder机制构建的数据监听类对监听数据标识进行处理,获取Binder数据监听接口。The monitoring interface acquisition unit is used to process the monitoring data identifier by using the data monitoring class constructed based on the Binder mechanism to obtain the Binder data monitoring interface.
更新频率获取单元,用于从车辆控制器中获取监听数据标识对应的数据更新频率。The update frequency acquisition unit is used for acquiring the data update frequency corresponding to the monitoring data identifier from the vehicle controller.
监听任务生成单元,用于基于数据更新频率和Binder数据监听接口,生成与监听数据标识相对应的数据监听任务。The monitoring task generating unit is configured to generate a data monitoring task corresponding to the monitoring data identifier based on the data update frequency and the Binder data monitoring interface.
监听车机数据获取单元,用于执行数据监听任务,依据数据采集频率,采用Binder数据监听接口,从车辆控制器中获取与Binder数据监听接口相对应的监听车机数据。The monitoring vehicle data acquisition unit is used to perform the data monitoring task. According to the data collection frequency, the Binder data monitoring interface is used to obtain the monitoring vehicle data corresponding to the Binder data monitoring interface from the vehicle controller.
优选地,车机数据获取模块701,包括车机交互请求接收单元和目标车机数据获取单元。Preferably, the vehicle-machine
车机交互请求接收单元,用于接收基于Linux构建的目标客户端通过Binder通讯通道发送的车机交互请求。The vehicle-machine interaction request receiving unit is used to receive the vehicle-machine interaction request sent by the target client built based on Linux through the Binder communication channel.
目标车机数据获取单元,用于将车机交互请求发送给车辆控制器,接收车辆控制器返回的与车机交互请求相对应的目标车机数据。The target vehicle-machine data acquisition unit is configured to send the vehicle-machine interaction request to the vehicle controller, and receive the target vehicle-machine data corresponding to the vehicle-machine interaction request returned by the vehicle controller.
优选地,车机交互请求接收单元,包括车机查询请求接收子单元,用于接收基于Linux构建的目标客户端通过Binder通讯通道发送的车机查询请求,车机查询请求包括目标数据标识。Preferably, the vehicle-machine interaction request receiving unit includes a vehicle-machine query request receiving subunit, which is used for receiving a vehicle-machine query request sent by a target client constructed based on Linux through a Binder communication channel, and the vehicle-machine query request includes a target data identifier.
目标车机数据获取单元,包括车机数据查询子单元,用于将车机查询请求发送给车辆控制器,接收车辆控制器返回的与目标数据标识相对应的模块控制单元实时采集的目标车机数据。The target vehicle data acquisition unit, including the vehicle data query subunit, is used to send the vehicle query request to the vehicle controller, and receive the target vehicle returned by the vehicle controller and collected in real time by the module control unit corresponding to the target data identifier data.
优选地,车机交互请求接收单元,包括车辆控制请求接收子单元,用于接收基于Linux构建的目标客户端通过Binder通讯通道发送的车辆控制请求,车辆控制请求包括目标模块标识和操作标识。Preferably, the vehicle-machine interaction request receiving unit includes a vehicle control request receiving subunit, which is used to receive a vehicle control request sent by a Linux-based target client through a Binder communication channel, and the vehicle control request includes a target module identifier and an operation identifier.
目标车机数据获取单元,包括车辆控制处理子单元和车机数据生成子单元。The target vehicle-machine data acquisition unit includes a vehicle control processing sub-unit and a vehicle-machine data generation sub-unit.
车辆控制处理子单元,用于将车辆控制请求发送给车机控制器,以使车辆控制器控制目标模块标识对应的模块控制单元执行与操作标识相对应的目标操作。The vehicle control processing subunit is used for sending a vehicle control request to the vehicle-machine controller, so that the vehicle controller controls the module control unit corresponding to the target module identifier to execute the target operation corresponding to the operation identifier.
车机数据生成子单元,用于通过目标模块标识对应的Binder数据监听接口,监听到当前车机数据与Binder共享缓存中的缓存车机数据不相同时,生成目标车机数据。The vehicle data generation sub-unit is used to generate the target vehicle data when the current vehicle data is different from the cache vehicle data in the Binder shared cache through the target module identification corresponding Binder data monitoring interface.
关于基于Linux的车机交互装置的具体限定可以参见上文中对于基于Linux的车机交互方法的限定,在此不再赘述。上述基于Linux的车机交互装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。For the specific limitation of the Linux-based vehicle-machine interaction device, reference may be made to the limitation of the Linux-based vehicle-machine interaction method above, which will not be repeated here. Each module in the above-mentioned Linux-based vehicle-machine interaction device may be implemented in whole or in part by software, hardware, and combinations thereof. The above modules can be embedded in or independent of the processor in the computer device in the form of hardware, or stored in the memory in the computer device in the form of software, so that the processor can call and execute the operations corresponding to the above modules.
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务端,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储执行基于Linux的车机交互方法过程中采用或者形成的数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于Linux的车机交互方法。In one embodiment, a computer device is provided, the computer device may be a server, and its internal structure diagram may be as shown in FIG. 8 . The computer device includes a processor, memory, a network interface, and a database connected by a system bus. Among them, the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium, an internal memory. The nonvolatile storage medium stores an operating system, a computer program, and a database. The internal memory provides an environment for the execution of the operating system and computer programs in the non-volatile storage medium. The database of the computer device is used for storing data adopted or formed in the process of executing the Linux-based vehicle-machine interaction method. The network interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a vehicle-machine interaction method based on Linux is realized.
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述实施例中基于Linux的车机交互方法,例如图2所示S201-S202,或者图3至图6所示,为避免重复,这里不再赘述。或者,处理器执行计算机程序时实现基于Linux的车机交互装置这一实施例中的各模块/单元的功能,例如图7所示的车机数据获取模块701和车机数据传输模块702的功能,为避免重复,这里不再赘述。In one embodiment, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and running on the processor. When the processor executes the computer program, the Linux-based vehicle machine in the above embodiment is implemented The interaction method, such as S201-S202 shown in FIG. 2 , or shown in FIG. 3 to FIG. 6 , is not repeated here in order to avoid repetition. Or, when the processor executes the computer program, the functions of each module/unit in this embodiment of the Linux-based vehicle-machine interaction device are realized, for example, the functions of the vehicle-machine
在一实施例中,提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中基于Linux的车机交互方法,例如图2所示S201-S202,或者图3至图6所示,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现上述基于Linux的车机交互装置这一实施例中的各模块/单元的功能,例如图7所示的车机数据获取模块701和车机数据传输模块702的功能,为避免重复,这里不再赘述。In one embodiment, a computer-readable storage medium is provided, and a computer program is stored on the computer-readable storage medium, and when the computer program is executed by the processor, the Linux-based vehicle-machine interaction method in the above-mentioned embodiment is realized, such as FIG. 2 . As shown in S201-S202, or as shown in FIG. 3 to FIG. 6, in order to avoid repetition, details are not repeated here. Alternatively, when the computer program is executed by the processor, the functions of each module/unit in the above-mentioned embodiment of the Linux-based vehicle-machine interaction device, such as the vehicle-machine
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。Those of ordinary skill in the art can understand that all or part of the processes in the methods of the above embodiments can be implemented by instructing relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage In the medium, when the computer program is executed, it may include the processes of the above-mentioned method embodiments. Wherein, any reference to memory, storage, database or other medium used in the various embodiments provided in this application may include non-volatile and/or volatile memory. Nonvolatile memory may include read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM), or flash memory. Volatile memory may include random access memory (RAM) or external cache memory. By way of illustration and not limitation, RAM is available in various forms such as static RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDRSDRAM), enhanced SDRAM (ESDRAM), synchronous chain Road (Synchlink) DRAM (SLDRAM), memory bus (Rambus) direct RAM (RDRAM), direct memory bus dynamic RAM (DRDRAM), and memory bus dynamic RAM (RDRAM), etc.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。Those skilled in the art can clearly understand that, for the convenience and simplicity of description, only the division of the above-mentioned functional units and modules is used as an example. Module completion, that is, dividing the internal structure of the device into different functional units or modules to complete all or part of the functions described above.
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。The above-mentioned embodiments are only used to illustrate the technical solutions of the present invention, but not to limit them; although the present invention has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it is still possible to implement the foregoing implementations. The technical solutions described in the examples are modified, or some technical features thereof are equivalently replaced; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the embodiments of the present invention, and should be included in the within the protection scope of the present invention.
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910454839.5ACN112015157B (en) | 2019-05-29 | 2019-05-29 | Linux-based vehicle-mounted device interaction method and device, computer equipment and storage medium |
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201910454839.5ACN112015157B (en) | 2019-05-29 | 2019-05-29 | Linux-based vehicle-mounted device interaction method and device, computer equipment and storage medium |
| Publication Number | Publication Date |
|---|---|
| CN112015157Atrue CN112015157A (en) | 2020-12-01 |
| CN112015157B CN112015157B (en) | 2022-04-15 |
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201910454839.5AActiveCN112015157B (en) | 2019-05-29 | 2019-05-29 | Linux-based vehicle-mounted device interaction method and device, computer equipment and storage medium |
| Country | Link |
|---|---|
| CN (1) | CN112015157B (en) |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113395675A (en)* | 2021-06-02 | 2021-09-14 | 联合汽车电子有限公司 | Data processing method, vehicle control system and readable storage medium |
| CN113791843A (en)* | 2021-09-10 | 2021-12-14 | 中国第一汽车股份有限公司 | An execution method, apparatus, device and storage medium |
| CN113821248A (en)* | 2021-09-13 | 2021-12-21 | 阿波罗智联(北京)科技有限公司 | Service method of vehicle-end software, vehicle-end software and related equipment thereof |
| CN115794688A (en)* | 2022-11-23 | 2023-03-14 | 深圳海星智驾科技有限公司 | Method and system for controlling vehicle-mounted equipment |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140137184A1 (en)* | 2012-11-13 | 2014-05-15 | Auckland Uniservices Ltd. | Security system and method for operating systems |
| CN104808981A (en)* | 2015-03-19 | 2015-07-29 | 浙江大学 | Vehicle-mounted information system access control method based on Android platform |
| CN105260250A (en)* | 2015-09-10 | 2016-01-20 | 烽火通信科技股份有限公司 | Linux system and Android system dual-system communication device |
| CN105487869A (en)* | 2015-11-30 | 2016-04-13 | 深圳联友科技有限公司 | Vehicular double-system device and starting method thereof |
| CN108667869A (en)* | 2017-03-30 | 2018-10-16 | 比亚迪股份有限公司 | Vehicle Information Interaction System |
| CN109002364A (en)* | 2018-06-29 | 2018-12-14 | Oppo(重庆)智能科技有限公司 | Optimization method, electronic device and the readable storage medium storing program for executing of interprocess communication |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140137184A1 (en)* | 2012-11-13 | 2014-05-15 | Auckland Uniservices Ltd. | Security system and method for operating systems |
| CN104808981A (en)* | 2015-03-19 | 2015-07-29 | 浙江大学 | Vehicle-mounted information system access control method based on Android platform |
| CN105260250A (en)* | 2015-09-10 | 2016-01-20 | 烽火通信科技股份有限公司 | Linux system and Android system dual-system communication device |
| CN105487869A (en)* | 2015-11-30 | 2016-04-13 | 深圳联友科技有限公司 | Vehicular double-system device and starting method thereof |
| CN108667869A (en)* | 2017-03-30 | 2018-10-16 | 比亚迪股份有限公司 | Vehicle Information Interaction System |
| CN109002364A (en)* | 2018-06-29 | 2018-12-14 | Oppo(重庆)智能科技有限公司 | Optimization method, electronic device and the readable storage medium storing program for executing of interprocess communication |
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113395675A (en)* | 2021-06-02 | 2021-09-14 | 联合汽车电子有限公司 | Data processing method, vehicle control system and readable storage medium |
| CN113791843A (en)* | 2021-09-10 | 2021-12-14 | 中国第一汽车股份有限公司 | An execution method, apparatus, device and storage medium |
| CN113821248A (en)* | 2021-09-13 | 2021-12-21 | 阿波罗智联(北京)科技有限公司 | Service method of vehicle-end software, vehicle-end software and related equipment thereof |
| CN115794688A (en)* | 2022-11-23 | 2023-03-14 | 深圳海星智驾科技有限公司 | Method and system for controlling vehicle-mounted equipment |
| Publication number | Publication date |
|---|---|
| CN112015157B (en) | 2022-04-15 |
| Publication | Publication Date | Title |
|---|---|---|
| CN112015157B (en) | Linux-based vehicle-mounted device interaction method and device, computer equipment and storage medium | |
| US9588794B2 (en) | Method, system and device for managing software on virtual machine in cloud environment | |
| CN104123265A (en) | Method and system for communication among multiple kernels | |
| CN114268666A (en) | Universal domain controller, vehicle and interactive system supporting service oriented architecture SOA | |
| WO2019153488A1 (en) | Service configuration management method, apparatus, storage medium and server | |
| WO2017113074A1 (en) | Resource allocation method, device, and system | |
| US10609125B2 (en) | Method and system for transmitting communication data | |
| CN109324908A (en) | Container isolation method and device for Netlink resources | |
| WO2025077279A1 (en) | Server management method, device and apparatus, non-volatile readable storage medium, and electronic device | |
| WO2018045541A1 (en) | Optimization method for container allocation and processing device | |
| WO2023123899A1 (en) | Network slice access method, apparatus and system, and storage medium | |
| CN110532106A (en) | The means of communication, device, equipment and storage medium between process | |
| CN115297187A (en) | Conversion device and cluster system of network communication protocol and bus protocol | |
| CN104239222B (en) | A kind of memory pool access method, equipment and system | |
| CN104571934B (en) | A kind of method, apparatus and system of internal storage access | |
| CN103197664B (en) | Embedded type controller parameter calibration system and method based on common object request breaker architecture (CORBA) | |
| CN110287187B (en) | Method, system and storage medium for synchronously updating data tables in multiple servers | |
| CN111505977A (en) | Function auxiliary debugging method, device, system and medium | |
| CN107766066B (en) | Method for updating slave module firmware | |
| CN112783675A (en) | IPC communication method | |
| CN118612272A (en) | Vehicle-mounted image transmission method, device, electronic device and storage medium | |
| CN114584624A (en) | Electronic device management method, system, server, and computer-readable storage medium | |
| CN112035102A (en) | Configuration method and device of data interface, storage medium and electronic device | |
| CN115955669A (en) | Vehicle data upgrading method and device based on OTA and vehicle-mounted terminal | |
| JP2024541872A (en) | CONTAINER ENGINE AND METHOD FOR IMPLEMENTING CONTAINER ENGINE |
| 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 | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant |