CN117093362A - 数据管理方法、装置和电子设备及存储介质 - Google Patents
数据管理方法、装置和电子设备及存储介质 Download PDFInfo
- Publication number
- CN117093362A CN117093362A CN202310922416.8A CN202310922416A CN117093362A CN 117093362 A CN117093362 A CN 117093362A CN 202310922416 A CN202310922416 A CN 202310922416A CN 117093362 A CN117093362 A CN 117093362A
- Authority
- CN
- China
- Prior art keywords
- core
- log
- message
- data
- shared memory
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003860 storage Methods 0.000 title claims abstract description 91
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013523 data management Methods 0.000 title claims abstract description 44
- 238000004891 communication Methods 0.000 claims description 42
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 238000007726 management method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000006870 function Effects 0.000 abstract description 13
- 230000003993 interaction Effects 0.000 abstract description 9
- 230000008901 benefit Effects 0.000 abstract description 8
- 230000006872 improvement Effects 0.000 abstract description 3
- 239000013256 coordination polymer Substances 0.000 description 99
- 238000012545 processing Methods 0.000 description 28
- 230000007246 mechanism Effects 0.000 description 26
- 238000010586 diagram Methods 0.000 description 10
- 230000008569 process Effects 0.000 description 8
- 230000005540 biological transmission Effects 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000002085 persistent effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000012937 correction Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 238000002955 isolation Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002688 persistence Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000002045 lasting effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013024 troubleshooting Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multi Processors (AREA)
Abstract
本发明实施例提供了一种数据管理方法和装置,应用于车载异构平台的应用处理器AP核,所述车载异构平台还包含控制处理器CP核和/或实时处理器RP核,所述方法包括:从所述CP核和/或所述RP核接收消息;根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,所述共享内存为所述AP核与所述CP核和/或所述RP核共享;将所述目标数据存储至本地存储设备。本发明实施例通过共享内存在AP核与CP核和/或RP核之间进行数据交互,解决了车载异构平台中的CP核和/或RP核由于缺乏本地存储设备,导致无法持久存储数据的问题,并带来了功能扩展、资源利用和效率提升等益处。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种数据管理方法、一种数据管理装置以及一种电子设备和一种计算机可读存储介质。
背景技术
车载异构平台是指在汽车领域中使用多个不同架构的处理器核心来实现不同功能的平台。现有的车载异构平台存在不同性能的各种内核或核心,简称为核。其中,应用处理器(Application Processor,简称AP)核的算力高,常用于处理车载信息(In-VehicleInfotainment,简称IVI)娱乐系统等交互式应用程序,配置有单独的通用闪存存储(Universal Flash Storage,简称UFS)设备。而控制处理器(Control Processor,简称CP)核和实时处理器(Real-Time Processor,简称RP)核的算力小,常常用于处理仪表、功能安全等功能单一的应用,没有自己单独的磁盘空间。
因此,现有的车载异构平台中的CP核和/或RP核无法持久保存文件。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种数据管理方法和相应的一种数据管理装置。
为了解决上述问题,本发明实施例公开了一种数据管理方法,应用于车载异构平台的应用处理器AP核,所述车载异构平台还包含控制处理器CP核和/或实时处理器RP核,所述方法包括:从所述CP核和/或所述RP核接收消息;根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,所述共享内存为所述AP核与所述CP核和/或所述RP核共享;将所述目标数据存储至本地存储设备。
可选地,所述从所述CP核和/或所述RP核接收消息,包括:通过远程处理器通信RPMsg从所述CP核和/或所述RP核接收中断。
可选地,所述根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,包括:识别出所述消息的消息类型;在所述消息类型表示日志消息时,从所述共享内存中读取出日志数据。
可选地,所述将所述目标数据存储至本地存储设备,包括:监听到与所述日志数据对应的日志请求后,将所述日志数据进行格式转换,并将格式转换后的日志数据写入本地文件系统或注入本地日志服务中。
本发明实施例还公开了一种数据管理方法,应用于车载异构平台的控制处理器CP核和/或实时处理器RP核,所述车载异构平台还包含应用处理器AP核,所述方法包括:获取目标数据;将所述目标数据存储至共享内存中,所述共享内存为所述CP核和/或所述RP核与所述AP核共享;向所述AP核发送消息,所述消息用于令所述AP核从所述共享内存中读取出所述目标数据,并将所述目标数据存储至本地存储设备。
可选地,所述向所述AP核发送消息,包括:通过远程处理器通信RPMsg向所述AP核发送中断。
本发明实施例还公开了一种数据管理装置,应用于车载异构平台的应用处理器AP核,所述车载异构平台还包含控制处理器CP核和/或实时处理器RP核,所述装置包括:消息接收模块,用于从所述CP核和/或所述RP核接收消息;日志读取模块,用于根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,所述共享内存为所述AP核与所述CP核和/或所述RP核共享;日志管理模块,用于将所述目标数据存储至本地存储设备。
可选地,所述消息接收模块,用于通过远程处理器通信RPMsg从所述CP核和/或所述RP核接收中断。
可选地,所述日志读取模块,包括:消息类型识别模块,用于识别出所述消息的消息类型;日志数据读取模块,用于在所述消息类型表示日志消息时,从所述共享内存中读取出日志数据。
可选地,所述日志管理模块,用于监听到与所述日志数据对应的日志请求后,将所述日志数据进行格式转换,并将格式转换后的日志数据写入本地文件系统或注入本地日志服务中。
本发明实施例还公开了一种数据管理装置,应用于车载异构平台的控制处理器CP核和/或实时处理器RP核,所述车载异构平台还包含应用处理器AP核,所述装置包括:日志获取模块,用于获取目标数据;日志存储模块,用于将所述目标数据存储至共享内存中,所述共享内存为所述CP核和/或所述RP核与所述AP核共享;消息发送模块,用于向所述AP核发送消息,所述消息用于令所述AP核从所述共享内存中读取出所述目标数据,并将所述目标数据存储至本地存储设备。
可选地,所述消息发送模块,用于通过远程处理器通信RPMsg向所述AP核发送中断。
本发明实施例还公开了一种电子设备,包括:一个或多个处理器;和其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如上所述的数据管理方法。
本发明实施例还公开了一种计算机可读存储介质,其存储的计算机程序使得处理器执行如上所述的数据管理方法。
本发明实施例包括以下优点:
本发明实施例提供的数据管理方案,应用于车载异构平台。车载异构平台可以包含AP核以及CP核和/或RP核。其中,AP核从CP核和/或RP核接收消息,进而根据消息从共享内存中读取出CP核和/或RP核存储的目标数据。其中,共享内存为AP核与CP核和/或RP核共享。最终,AP核将目标数据存储在本地存储设备中。
本发明实施例使得CP核和/或RP核能够在没有本地存储设备的情况下,通过共享内存与AP核进行数据交互,并最终将目标数据存储在AP核的本地存储设备中。通过共享内存,CP核和/或RP核可以将存储的目标数据传递给AP核。这使得不同核心之间的数据交互更加灵活和高效,加快了数据传输速度。AP核作为具有本地存储设备的处理器核心,可以将从CP核和/或RP核接收到的目标数据存储在本地存储设备中,实现数据的持久化保存。由于CP核和/或RP核无需具备本地存储设备,可以减少系统中存储资源的需求,从而提高资源利用率。此外,AP核的存在可以分担CP核和/或RP核的存储负担,提高整体系统的性能和效率。
总的来说,本发明实施例通过共享内存在AP核与CP核和/或RP核之间进行数据交互,解决了车载异构平台中的CP核和/或RP核由于缺乏本地存储设备,导致无法持久存储数据的问题,并带来了功能扩展、资源利用和效率提升等益处。
附图说明
图1是本发明实施例的一种数据管理方法的步骤流程图;
图2是本发明实施例的另一种数据管理方法的步骤流程图;
图3是本发明实施例的一种基于共享内存的车载异构平台的日志管理方案流程示意图;
图4是本发明实施例的一种数据管理装置的结构框图;
图5是本发明实施例的另一种数据管理装置的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例提供的数据管理方案应用于车载异构平台,其中包含AP核以及CP核和/或RP核。AP核通过接收来自CP核和/或RP核的消息,从共享内存中读取出CP核和/或RP核预先存储的目标数据。共享内存为AP核与CP核和/或RP核之间提供了数据交互的通道。最终,AP核将目标数据存储在本地存储设备中,实现数据的持久化存储。本发明实施例实现了不同核心之间的数据交互,提供了数据管理和存储的解决方案,为车载异构平台带来了更高的灵活性和性能。
参照图1,示出了本发明实施例的一种数据管理方法的步骤流程图。该数据管理方法可以应用于车载异构平台的AP核,车载异构平台还包含CP核和/或RP核。该数据管理方法具体可以包括如下步骤:
步骤101,从CP核和/或RP核接收消息。
在本发明的实施例中,CP核和/或RP核生成需要传递给AP核的消息。这些消息可能是关于某个特定任务、数据请求、状态更新或其他需要AP核处理的信息。CP核和/或RP核使用适当的通信机制将消息直接发送给AP核。这可以通过直接消息传递、消息队列或其他通信机制来实现。AP核通过监视特定的通信通道或者订阅相应的消息队列来接收来自CP核和/或RP核的消息。
步骤102,根据消息从共享内存中读取出CP核和/或RP核存储的目标数据。
在本发明的实施例的车载异构平台中,需要预先创建一块共享内存,该共享内存可以被AP核、CP核和/或RP核共享。共享内存在物理上可以是一块内存,可以被多个处理器核心访问。在执行任务或操作过程中,CP核和/或RP核将目标数据存储在共享内存中。目标数据可以是需要传递给AP核进行处理的数据。CP核和/或RP核通过相应的通信机制,向AP核发送消息。该消息通知AP核有目标数据可供读取,并提供读取目标数据的相关信息,如目标数据的位置、大小、标识、索引等。AP核接收到来自CP核和/或RP核的消息后,根据消息中的指示,确定要读取的目标数据在共享内存中所在的位置和大小等等。AP核根据消息中给出的位置和大小等,在共享内存中读取出CP核和/或RP核存储的目标数据。这可以通过直接读取内存地址或使用相应的读取函数来实现。
AP核能够根据来自CP核和/或RP核的消息,从共享内存中读取出存储的目标数据。共享内存提供了目标数据在不同核心之间的共享和传递的通道,使得目标数据可以在车载异构平台中进行交换和共享,实现协同工作和数据处理。
步骤103,将目标数据存储至本地存储设备。
在本发明的实施例中,AP核在获取到目标数据后,将目标数据准备好以进行存储。这可能包括对目标数据进行处理、整理或编码等操作,确保目标数据的完整性和可用性。AP核需要确定目标数据存储的位置和使用的本地存储设备。本地存储设备可以是闪存、硬盘驱动器、固态硬盘等,根据具体应用需求和系统配置进行选择。AP核通过相应的接口或协议与选择的本地存储设备建立连接或访问通道。这可能涉及使用文件系统、块设备接口或专用存储访问库等方法来访问和管理存储设备。AP核将准备好的目标数据写入本地存储设备中。这可以通过调用适当的存储接口、使用文件系统的应用程序接口(ApplicationProgramming Interface,简称API)或执行特定的存储操作来实现。数据存储可以是创建文件、写入文件、存储到特定位置等方式。AP核在存储过程中需要监控存储操作的状态和处理任何可能的错误或异常情况。这可以包括检查存储设备的可用空间、处理写入错误、记录存储日志等。一旦目标数据成功存储至AP核本地存储设备,AP核可以发送存储完成通知给CP核和/或RP核,以便相关任务或操作的进一步处理。
AP核能够将获取的目标数据存储到选择的本地存储设备中。这确保了数据的持久化保存和可随时访问,以供后续使用、分析或其他应用。本地存储设备提供了数据的长期存储和保护,保证了数据的安全性和可靠性。
本发明实施例提供的数据管理方案,应用于车载异构平台。车载异构平台可以包含AP核以及CP核和/或RP核。其中,AP核从CP核和/或RP核接收消息,进而根据消息从共享内存中读取出CP核和/或RP核存储的目标数据。其中,共享内存为AP核与CP核和/或RP核共享。最终,AP核将目标数据存储在本地存储设备中。
本发明实施例使得CP核和/或RP核能够在没有本地存储设备的情况下,通过共享内存与AP核进行数据交互,并最终将目标数据存储在AP核的本地存储设备中。通过共享内存,CP核和/或RP核可以将存储的目标数据传递给AP核。这使得不同核心之间的数据交互更加灵活和高效,加快了数据传输速度。AP核作为具有本地存储设备的处理器核心,可以将从CP核和/或RP核接收到的目标数据存储在本地存储设备中,实现数据的持久化保存。由于CP核和/或RP核无需具备本地存储设备,可以减少系统中存储资源的需求,从而提高资源利用率。此外,AP核的存在可以分担CP核和/或RP核的存储负担,提高整体系统的性能和效率。
总的来说,本发明实施例通过共享内存在AP核与CP核和/或RP核之间进行数据交互,解决了车载异构平台中的CP核和/或RP核由于缺乏本地存储设备,导致无法持久存储数据的问题,并带来了功能扩展、资源利用和效率提升等益处。
在本发明的一种示例性实施例中,从CP核和/或RP核接收消息的一种实施方式为,通过远程处理器通信(Remote Processor Messaging,简称RPMsg)从CP核和/或RP核接收中断。其中,RPMsg是一种在嵌入式系统中实现处理器间通信的协议和机制。它主要用于处理器之间的消息传递和数据交换。在一个多处理器系统中,例如一个系统级芯片(System-on-Chip,简称SoC)中包含多个处理器核心,每个核心可能运行不同的操作系统或执行不同的任务。RPMsg提供了一种可靠、高效的通信方式,使得这些处理器核心能够相互通信和协作。RPMsg的实现通常依赖于一个称为Mailbox的硬件或软件机制。Mailbox是一种用于在不同处理器核心之间传递消息和数据的共享内存区域。每个处理器核心都可以通过Mailbox读取和写入消息,以实现处理器间的通信。RPMsg和Mailbox的组合可以提供低延迟、高带宽和可靠的处理器间通信解决方案。它在许多嵌入式系统中被广泛使用,特别是在需要多处理器核心协同工作的场景中,如汽车中的车载异构平台、物联网设备等。
在实际应用中,需要在车载异构平台上进行RPMsg通信的设置和配置。这可能包括初始化RPMsg通信协议、建立通信通道和注册中断处理程序等。当CP核和/或RP核生成需要传递给AP核的消息时,可以通过RPMsg机制触发中断。中断信号会发送给AP核,通知有新的消息到达。AP核接收到中断信号后,会启动中断处理程序来处理该中断。中断处理程序负责处理来自CP核和/或RP核的消息,并执行相应的操作。在中断处理程序中,AP核使用RPMsg机制从CP核和/或RP核接收消息。RPMsg提供了一种高效的消息传递机制,通过共享内存和消息队列实现数据的交换。
本发明实施例使用中断机制和RPMsg通信,可以实现实时的消息接收和处理。中断触发可以及时通知AP核有新的消息到达,从而提供快速的响应时间。RPMsg通信机制提供了高效的消息传递方式,减少了通信延迟。这使得AP核从CP核和/或RP核接收消息的过程更加迅速和高效。通过使用RPMsg机制进行通信,可以确保消息的可靠传递。RPMsg提供了错误检测和纠正机制,以及消息队列的管理,从而保证数据的可靠性和一致性。RPMsg通信机制可以灵活适应不同的处理器架构和通信需求。它提供了通用的消息传递接口,可以在多个核心之间进行跨平台和跨操作系统的通信。通过使用RPMsg机制从CP核和/或RP核接收中断,可以实现高效的消息接收和处理,提供实时性和可靠性,并具有灵活性和资源利用的优势。这种实施方式适用于车载异构平台中的消息传递需求,并能够支持协同工作和任务协调。
在本发明的一种示例性实施例中,根据消息从共享内存中读取出CP核和/或RP核存储的目标数据的一种实施方式为,识别出消息的消息类型,在消息类型表示日志消息时,从共享内存中读取出日志数据。
在实际应用中,每个消息都包含一个类型字段,用于标识消息类型。AP核在接收到消息后,首先识别出消息类型。AP核通过检查消息类型字段,判断该消息是否为日志消息。如果消息类型表示为日志消息,则进行下一步操作。一旦确认消息类型为日志消息,AP核根据消息中提供的位置或偏移量等信息,从共享内存中读取出存储的日志数据。这可以通过直接读取共享内存中的指定位置或调用适当的读取函数来实现。
本发明实施例基于消息类型的识别,可以根据消息类型灵活地选择读取相应的目标数据。在这种情况下,只有当消息类型表示为日志消息时,才会读取日志数据,提高了处理的灵活性和效率。由于只有特定类型的消息需要读取日志数据,可以避免不必要的读取操作,减少了资源的使用和处理开销。这提高了系统的资源效率和性能。通过限定特定消息类型的读取操作,可以增强对共享内存中数据的保护和隔离。只有特定类型的消息才能读取特定的数据,提高了数据的安全性和机密性。基于消息类型的识别和读取操作,可以实现对不同类型数据的有针对性的处理和控制。这允许AP核对不同类型的目标数据进行不同的处理,满足具体的应用需求。综上所述,通过识别消息类型并从共享内存中读取出日志数据的实施方式具有灵活性、资源效率、数据准确性、数据保护和操作控制等优点。可以根据消息类型的特定需求,有选择地读取并处理目标数据,从而实现高效、准确的数据管理和处理。
在本发明的一种示例性实施例中,将目标数据存储至本地存储设备的一种实施方式为,监听到与日志数据对应的日志请求后,将日志数据进行格式转换,并将格式转换后的日志数据写入本地文件系统或注入本地日志服务中。
在实际应用中,AP核监听来自CP核和/或RP核的日志请求,或者,AP核监听来自AP核内部的日志请求。这些请求可以是特定的命令、事件触发或其他形式的请求,用于指示AP核将日志数据存储到本地存储设备。一旦AP核监听到与日志数据对应的日志请求,将对日志数据进行格式转换。这可能包括将日志数据转换为特定的文件格式、日志记录格式或本地日志服务所需的格式。AP核确定要将格式转换后的日志数据存储到哪个本地存储设备中。这可以是文件系统、本地日志服务、数据库或其他存储介质,具体根据系统要求和应用场景进行选择。AP核将格式转换后的日志数据写入选定的本地存储设备。这可以通过调用适当的存储接口、使用文件系统API、调用本地日志服务API等方式来实现。
本发明实施例将日志数据存储到AP核的本地存储设备中,确保了日志数据的长期保存和可靠性。这允许后续对日志数据进行分析、故障排查、性能优化等操作。允许将格式转换后的日志数据存储到不同的本地存储设备中,根据系统要求和应用场景进行选择。这提供了灵活性和可定制化的存储方案。通过进行格式转换,可以根据具体需求和存储设备的特性,优化存储效率。例如,选择适当的压缩算法或日志记录格式,以减少存储空间的占用。将日志数据存储到本地存储设备中,使得数据可以随时访问。这方便了后续的日志分析、查询和可视化等操作,提高了数据的可用性和可访问性。将日志数据存储到本地存储设备中,可以减轻AP核的负担,提高整体系统的性能和响应速度。此外,本地存储设备可以提供数据的安全保护和隔离,确保日志数据的完整性和可信度。综上所述,通过监听日志请求并将日志数据进行格式转换,然后将转换后的数据存储到本地存储设备中,可以实现日志数据的持久化、存储效率、方便的数据访问和系统性能的优化。提供了灵活、定制化的存储方案,满足了日志管理和分析的需求,并为系统提供了可靠和高效的日志存储能力。
参照图2,示出了本发明实施例的另一种数据管理方法的步骤流程图。该数据管理方法可以应用于车载异构平台的CP核和/或RP核,车载异构平台还包含AP核。该数据管理方法具体可以包括如下步骤:
步骤201,获取目标数据。
在本发明的实施例中,CP核和/或RP核负责获取目标数据。目标数据可以是需要传递给AP核进行处理的任何类型的数据,例如传感器数据、状态信息、计算结果等。获取目标数据的方式取决于具体的应用场景和需求,可以是实时采集、计算生成或从其他数据源获取。
步骤202,将目标数据存储至共享内存中。
在本发明的实施例中,CP核和/或RP核将获取到的目标数据存储至共享内存中。共享内存是一块物理内存空间,可由CP核、RP核和AP核共享访问。存储目标数据时,CP核和/或RP核需要确定目标数据的存储位置、大小和格式等,并将目标数据写入共享内存的适当位置。
步骤203,向AP核发送消息,消息用于令AP核从共享内存中读取出目标数据,并将目标数据存储至本地存储设备。
在本发明的实施例中,CP核和/或RP核向AP核发送消息,通知AP核有新的目标数据可供处理。消息的内容通常包括目标数据的位置、大小、格式等信息,以便AP核能够准确地从共享内存中读取目标数据。AP核接收到消息后,根据消息中提供的信息,从共享内存中读取出存储的目标数据。接着,AP核可以将目标数据存储至本地存储设备中,以实现数据的持久化保存。具体的存储操作可以包括将目标数据写入文件系统、数据库、本地日志服务等,具体取决于系统的需求和配置。
CP核和/或RP核负责获取和存储目标数据至共享内存中,而AP核负责目标数据的读取和存储。共享内存提供了目标数据在不同核心之间的共享和传递的通道,使得目标数据可以在车载异构平台中进行交换和共享,实现协同工作和数据处理。同时,通过将目标数据存储至AP核本地存储设备,目标数据得以长期保存,方便后续的分析、查询和使用。
在本发明的一种示例性实施例中,向AP核发送消息的一种实施方式为,通过远程处理器通信RPMsg向AP核发送中断。向AP核发送消息的一种实施方式是通过远程处理器通信(RPMsg)向AP核发送中断。在实际应用中,在车载异构平台上进行RPMsg通信的设置和配置。这包括初始化RPMsg通信协议、建立通信通道和注册中断处理程序等。当CP核和/或RP核生成需要传递给AP核的消息时,可以通过RPMsg机制触发中断。中断信号会发送给AP核,通知有新的消息到达。
本发明实施例通过使用中断机制和RPMsg通信,可以实现实时的消息接收和处理。中断触发可以及时通知AP核有新的消息到达,从而提供快速的响应时间。RPMsg通信机制提供了高效的消息传递方式,减少了通信延迟。这使得从CP核和/或RP核发送消息的过程更加迅速和高效。通过使用RPMsg机制进行通信,可以确保消息的可靠传递。RPMsg提供了错误检测和纠正机制,以及消息队列的管理,从而保证数据的可靠性和一致性。RPMsg通信机制可以灵活适应不同的处理器架构和通信需求。它提供了通用的消息传递接口,可以在多个核心之间进行跨平台和跨操作系统的通信。通过使用RPMsg机制向AP核发送消息,可以实现高效的消息传递和处理,提供实时性和可靠性,并具有灵活性和资源利用的优势。适用于车载异构平台中的消息传递需求,并能够支持协同工作和任务协调。
基于上述关于一种数据管理方法实施例的相关说明,下面介绍一种基于共享内存的车载异构平台的日志管理方案。参照图3,示出了本发明实施例的一种基于共享内存的车载异构平台的日志管理方案流程示意图。该车载异构平台由AP核、RP核和CP核组成。AP核运行IVI等交互式应用程序,完成音视频、游戏等场景,AP核的算力相对较大,并且自带UFS设备。CP核和RP核算力较小,自身没有存储设备,通常运行仪表或者功能安全(FunctionalSafety,简称Fusa)等应用,AP核和CP/RP核可以使用相同的架构和/或操作系统,也可以使用不同的架构和/或操作系统。各个核心之间通过共享内存和Mailbox传递数据,共享内存结构由一个环形缓冲区(Ring Buffer)组成,CP核/RP核的共享内存与AP核物理共享,共享内存通过设备树源码(Device Tree Source,简称DTS)初始化时分配给各个核心的操作系统,然后映射到各个操作系统自己的虚拟地址空间。
CP核、RP核和AP核上相关的模块分别为:
CP核的rsyslogd模块:日志服务模块,是操作系统原生的日志服务系统,可以使用原来Linux相同的设备写入日志,而不用进行自身的改造。
CP核的log_client模块:一个Linux内核驱动,提供一个字符设备文件/dev/logclient,接收从上层日志服务传递下来的日志请求,同时负责对接AP核对端的日志收集模块,通过RPMsg和共享内存发送给AP核的对端设备。
CP核的rpmsg模块:封装了Mailbox和共享内存(Shared Memory)的能力,提供一个高效的传输通道。
AP核的rpmsg模块:封装了Mailbox和共享内存(Shared Memory)的能力,提供一个高效的传输通道。
AP核的log_collector模块:日志收集模块,与CP核的log_client模块功能相对应。
AP核的logapp模块:AP核的日志应用,循环监听日志请求,当发现日志请求后,将日志进行格式转换后写入本地文件系统,或者重新注入本地的日志服务中。
RP核的log_client模块:一个即时操作系统(Real-Time Operating System,简称RTOS)驱动,提供一个字符设备/dev/logclient,接收从上层日志服务传递下来的日志请求,同时负责对接AP核对端的日志收集模块,通过RPMsg和共享内存发送给AP核的对端设备。
RP核的rpmsg模块:封装了Mailbox和共享内存(Shared Memory)的能力,提供一个高效的传输通道。
RP核的logd模块:日志服务模块,是操作系统原生的日志服务系统,可以使用RTOS相同的设备写入日志,而不用进行自身的改造。
当上述CP核接收到一条日志数据时,步骤301,CP核的rsyslogd模块打开log_client模块提供的字符设备文件,向字符设备文件中写入日志数据。
步骤302,CP核的log_client模块将日志数据存储至CP核与AP核共享的共享内存1(Shared Memory 1)中。
步骤303,CP核的log_client模块调用rpmsg模块向AP核的rpmsg模块发送一个中断。
步骤304,CP核的rpmsg模块通过核间通信机制向AP核的Mailbox发送中断。
步骤305,AP核的rpmsg模块从Mailbox接收中断,并传递中断给AP核的log_collector模块。
步骤306,AP核的log_collector模块从共享内存1(Shared Memory 1)中读取出日志数据。
步骤307,AP核的logapp模块循环监听日志请求。当监听到来自AP核的log_collector模块的日志请求后,将日志数据进行格式转换后写入本地文件系统或重新注入本地日志服务中。
步骤301至步骤307完成了CP核的日志数据通过共享内存1存储至AP核本地的存储设备。
同理,当上述RP核接收到一条日志数据时,步骤308,RP核的logd模块打开log_client模块提供的字符设备文件,向字符设备文件中写入日志数据。
步骤309,RP核的log_client模块将日志数据存储至RP核与AP核共享的共享内存2(Shared Memory 2)中。
步骤310,RP核的log_client模块调用rpmsg模块向AP核的rpmsg模块发送一个中断。
步骤311,RP核的rpmsg模块通过核间通信机制向AP核的Mailbox发送中断。
步骤312,AP核的rpmsg模块从Mailbox接收中断,并传递中断给AP核的log_collector模块。
步骤313,AP核的log_collector模块从共享内存2(Shared Memory 2)中读取出日志数据。
步骤314,AP核的logapp模块循环监听日志请求。当监听到来自AP核的log_collector模块的日志请求后,将日志数据进行格式转换后写入本地文件系统或重新注入本地日志服务中。
步骤308至步骤314完成了RP核的日志数据通过共享内存2存储至AP核本地的存储设备。
本发明实施例提供的一种基于共享内存的车载异构平台的日志管理方案,通过CP核和RP核的log_client模块将日志数据存储至共享内存1和共享内存2中,可以实现实时的日志传输。这使得日志数据能够及时传递给AP核进行处理和存储。通过共享内存1和共享内存2,CP核和RP核能够将日志数据传输给AP核,实现了车载异构平台的协同工作。不同核心之间的数据交换和共享提供了数据协调和整合的机制。通过调用rpmsg模块发送中断和使用Mailbox进行核间通信,实现了高效的消息传递机制。中断和Mailbox提供了快速、可靠的消息传递通道,减少了通信延迟和资源占用。AP核的log_collector模块从共享内存1和共享内存2中读取出日志数据,实现了数据的存储和处理。这使得AP核能够对日志数据进行格式转换、写入本地文件系统或注入本地日志服务,实现数据的持久化和后续的分析、查询和使用。通过循环监听日志请求,AP核的logapp模块可以灵活地管理日志数据。根据监听到的请求,可以选择将日志数据写入本地文件系统或重新注入本地日志服务,满足不同应用场景和需求的日志管理要求。
总体而言,上述步骤通过共享内存、RPMsg通信和中断机制,实现了CP核和RP核的日志数据传输至AP核本地存储设备的功能。这提供了实时、高效的日志管理方案,支持车载异构平台的协同工作和数据处理需求。同时,该方案具有灵活性和可扩展性,可以适应不同的日志数据处理和存储方式,满足系统的日志管理需求。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图4,示出了本发明实施例的一种数据管理装置的结构框图。该数据管理装置应用于车载异构平台的AP核,所述车载异构平台还包含CP核和/或RP核,该数据管理装置具体可以包含如下模块。
消息接收模块41,用于从所述CP核和/或所述RP核接收消息;
日志读取模块42,用于根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,所述共享内存为所述AP核与所述CP核和/或所述RP核共享;
日志管理模块43,用于将所述目标数据存储至本地存储设备。
在本发明的一种示例性实施例中,所述消息接收模块41,用于通过远程处理器通信RPMsg从所述CP核和/或所述RP核接收中断。
在本发明的一种示例性实施例中,所述日志读取模块42,包括:
消息类型识别模块,用于识别出所述消息的消息类型;
日志数据读取模块,用于在所述消息类型表示日志消息时,从所述共享内存中读取出日志数据。
在本发明的一种示例性实施例中,所述日志管理模块43,用于监听到与所述日志数据对应的日志请求后,将所述日志数据进行格式转换,并将格式转换后的日志数据写入本地文件系统或注入本地日志服务中。
参照图5,示出了本发明实施例的另一种数据管理装置的结构框图。该数据管理装置应用于车载异构平台的CP核和/或RP核,所述车载异构平台还包含AP核,该数据管理装置具体可以包含如下模块。
日志获取模块51,用于获取目标数据;
日志存储模块52,用于将所述目标数据存储至共享内存中,所述共享内存为所述CP核和/或所述RP核与所述AP核共享;
消息发送模块53,用于向所述AP核发送消息,所述消息用于令所述AP核从所述共享内存中读取出所述目标数据,并将所述目标数据存储至本地存储设备。
在本发明的一种示例性实施例中,所述消息发送模块53,用于通过远程处理器通信RPMsg向所述AP核发送中断。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种数据管理方法和一种数据管理装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种数据管理方法,其特征在于,应用于车载异构平台的应用处理器AP核,所述车载异构平台还包含控制处理器CP核和/或实时处理器RP核,所述方法包括:
从所述CP核和/或所述RP核接收消息;
根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,所述共享内存为所述AP核与所述CP核和/或所述RP核共享;
将所述目标数据存储至本地存储设备。
2.根据权利要求1所述的方法,其特征在于,所述从所述CP核和/或所述RP核接收消息,包括:
通过远程处理器通信RPMsg从所述CP核和/或所述RP核接收中断。
3.根据权利要求1所述的方法,其特征在于,所述根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,包括:
识别出所述消息的消息类型;
在所述消息类型表示日志消息时,从所述共享内存中读取出日志数据。
4.根据权利要求3所述的方法,其特征在于,所述将所述目标数据存储至本地存储设备,包括:
监听到与所述日志数据对应的日志请求后,将所述日志数据进行格式转换,并将格式转换后的日志数据写入本地文件系统或注入本地日志服务中。
5.一种数据管理方法,其特征在于,应用于车载异构平台的控制处理器CP核和/或实时处理器RP核,所述车载异构平台还包含应用处理器AP核,所述方法包括:
获取目标数据;
将所述目标数据存储至共享内存中,所述共享内存为所述CP核和/或所述RP核与所述AP核共享;
向所述AP核发送消息,所述消息用于令所述AP核从所述共享内存中读取出所述目标数据,并将所述目标数据存储至本地存储设备。
6.根据权利要求5所述的方法,其特征在于,所述向所述AP核发送消息,包括:
通过远程处理器通信RPMsg向所述AP核发送中断。
7.一种数据管理装置,其特征在于,应用于车载异构平台的应用处理器AP核,所述车载异构平台还包含控制处理器CP核和/或实时处理器RP核,所述装置包括:
消息接收模块,用于从所述CP核和/或所述RP核接收消息;
日志读取模块,用于根据所述消息从共享内存中读取出所述CP核和/或所述RP核存储的目标数据,所述共享内存为所述AP核与所述CP核和/或所述RP核共享;
日志管理模块,用于将所述目标数据存储至本地存储设备。
8.一种数据管理装置,其特征在于,应用于车载异构平台的控制处理器CP核和/或实时处理器RP核,所述车载异构平台还包含应用处理器AP核,所述装置包括:
日志获取模块,用于获取目标数据;
日志存储模块,用于将所述目标数据存储至共享内存中,所述共享内存为所述CP核和/或所述RP核与所述AP核共享;
消息发送模块,用于向所述AP核发送消息,所述消息用于令所述AP核从所述共享内存中读取出所述目标数据,并将所述目标数据存储至本地存储设备。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1至6任一项所述的数据管理方法。
10.一种计算机可读存储介质,其特征在于,其存储的计算机程序使得处理器执行如权利要求1至6任一项所述的数据管理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310922416.8A CN117093362A (zh) | 2023-07-25 | 2023-07-25 | 数据管理方法、装置和电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310922416.8A CN117093362A (zh) | 2023-07-25 | 2023-07-25 | 数据管理方法、装置和电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117093362A true CN117093362A (zh) | 2023-11-21 |
Family
ID=88772710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310922416.8A Pending CN117093362A (zh) | 2023-07-25 | 2023-07-25 | 数据管理方法、装置和电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117093362A (zh) |
-
2023
- 2023-07-25 CN CN202310922416.8A patent/CN117093362A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110402568A (zh) | 一种通信的方法及装置 | |
US11050814B2 (en) | Method, device and vehicle for message deduplication | |
CN112214166B (zh) | 用于传输数据处理请求的方法和装置 | |
CN108845863B (zh) | 用于虚拟机与宿主机的通信方法、装置和系统 | |
US8874638B2 (en) | Interactive analytics processing | |
US7640549B2 (en) | System and method for efficiently exchanging data among processes | |
CN116243995B (zh) | 通信方法、装置、计算机可读存储介质以及电子设备 | |
US20170085653A1 (en) | Method, device and system for message distribution | |
CN112433920A (zh) | 一种埋点数据上报方法、装置、设备及介质 | |
US11190620B2 (en) | Methods and electronic devices for data transmission and reception | |
CN115878301A (zh) | 一种数据库网络负载性能的加速框架、加速方法及设备 | |
CN114584618A (zh) | 信息交互方法、装置、设备、存储介质和系统 | |
CN112667371A (zh) | 异步任务的处理方法、装置、设备及存储介质 | |
US20060242258A1 (en) | File sharing system, file sharing program, management server and client terminal | |
CN117093362A (zh) | 数据管理方法、装置和电子设备及存储介质 | |
CN111078618A (zh) | 电子设备以及双处理器的通信方法 | |
JP7427775B2 (ja) | ストアドプロシージャの実行方法、装置、データベースシステム及び記憶媒体 | |
CN116107774A (zh) | Io请求处理方法、装置、电子设备和存储介质 | |
US20230393782A1 (en) | Io request pipeline processing device, method and system, and storage medium | |
CN114462388A (zh) | 句柄管理或通信方法、电子设备、存储介质及程序产品 | |
CN113849449A (zh) | 一种通信系统和信息交互方法、设备和介质 | |
CN114697194A (zh) | 阻塞式事件通知方法及装置 | |
CN113760986A (zh) | 一种数据查询方法、装置、设备及存储介质 | |
CN112231290A (zh) | 一种本地日志的处理方法、装置、设备及存储介质 | |
CN112202605A (zh) | 服务配置方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |