CN116893912B - 车载软件核间通信方法及系统、装置、设备、介质 - Google Patents
车载软件核间通信方法及系统、装置、设备、介质 Download PDFInfo
- Publication number
- CN116893912B CN116893912B CN202310960300.3A CN202310960300A CN116893912B CN 116893912 B CN116893912 B CN 116893912B CN 202310960300 A CN202310960300 A CN 202310960300A CN 116893912 B CN116893912 B CN 116893912B
- Authority
- CN
- China
- Prior art keywords
- data
- core
- source data
- result
- sent
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 325
- 230000006854 communication Effects 0.000 title claims abstract description 55
- 238000004891 communication Methods 0.000 title claims abstract description 54
- 238000004458 analytical method Methods 0.000 claims description 57
- 238000013500 data storage Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 16
- 238000004590 computer program Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 7
- 238000007405 data analysis Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 239000003550 marker Substances 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000011112 process operation 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/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本申请的实施例提供了一种车载软件核间通信方法及装置、电子设备、存储介质。该车载软件核间通信方法应用于A核,所述A核中运行多个进程,所述方法包括:在目标进程中接收并保存M核发送的携带数据标志位的源数据;当接收到其它进程发送的携带数据标志位的结果数据时,根据所述结果数据中携带的数据标志位,匹配所述目标进程中存储的携带有同一数据标志位的源数据;其中,所述结果数据是所述其它进程基于所述M核发送的所述源数据进行分析处理得到的;对匹配出的源数据和所述结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据。本方法能够在核间通信过程中降低数据误用的概率。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种车载软件核间通信方法及系统、装置、电子设备、计算机可读存储介质。
背景技术
车辆的中央域控制器中往往部署有车载软件,中央域控制器内可分为M核(车载软件实时运行环境)与A核(linux运行环境)。部署在M核的软件可以实现一定的周期运行,具有较好的实时性,比如整车控制软件(VCU,Vehicle control unit)等;A核通常通过进程管理实现软件运行,进程运行过程中需要抢占CPU资源,因此部署在A核中的软件运行实时性相对较差。
伴随着车载软件越来越智能化,比如智能能量管理、速度预测、驾驶员风格预测等具有高算力的智能化需求越来越多,往往M核无法满足这种高算力的需求,因此需要将这类高算力且实时性要求不是很高的车载应用层软件部署在A核。而A核中这些软件的数据来源为M核应用层软件或者其他域控制器的CAN-FD(CAN With Flexible Data-Rate)总线,因此A核应用层软件往往需要与M核软件进行网络通信,进行数据传递。
当A核与M核进行数据通信时,存在两种情况,一种是A核发送数据到M核,另一种是M核发送数据到A核。当M核发送数据到A核时,由于A核程序运行周期不可控,可能导致出现数据误用的问题。
发明内容
为解决上述技术问题,本申请的实施例提供了一种车载软件核间通信方法及系统、装置、电子设备、计算机可读存储介质。
第一方面,本申请实施例提供了一种车载软件核间通信方法,应用于A核,所述A核中运行多个进程,所述方法包括:在目标进程中接收并保存M核发送的携带数据标志位的源数据;当接收到其它进程发送的携带数据标志位的结果数据时,根据所述结果数据中携带的数据标志位,匹配所述目标进程中存储的携带有同一数据标志位的源数据;其中,所述结果数据是所述其它进程基于所述M核发送的所述源数据进行分析处理得到的;对匹配出的源数据和所述结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据。
在本申请的一个实施例中,基于前述方案,所述方法还包括:当接收到其它进程发送的携带数据标志位的结果数据时,判断所述结果数据是否还作用于另外进程中的分析处理;若判断为否,则根据所述结果数据中携带的数据标志位,匹配所述目标进程中存储的携带有同一数据标志位的源数据;若判断为是,则将所述结果数据保存在所述目标进程中。
在本申请的一个实施例中,基于前述方案,所述方法还包括:当接收到的结果数据被判定为不会作用于另外进程中的分析处理时,还匹配所述目标进程中存储的携带有同一数据标志位的结果数据,以基于匹配出的结果数据对所述匹配出的源数据和所述接收到的结果数据进行分析处理。
在本申请的一个实施例中,基于前述方案,所述方法还包括:当接收到所述M核发送的携带不同数据标志位的最新数据时,将所述最新数据存储在数据存储空间对应最近存储时间的存储位置;其中,所述数据存储空间用于按照时间先后顺序进行数据存储。
在本申请的一个实施例中,基于前述方案,所述方法还包括:在所述目标进程中接收其它进程发送的待处理数据;在匹配出所述目标进程中存储的携带有同一数据标志位的源数据之后,基于所述待处理数据对所述匹配出的源数据和所述结果数据进行分析处理。
第二方面,本申请实施例提供了一种车载软件核间通信系统,包括A核与M核,所述A核中运行多个进程,其中:所述M核向所述A核中的各个进程发送携带数据标志位的源数据,其中,不同的源数据中携带不同的数据标志位;所述A核通过执行如上所述的方法,以基于所述M核发送的源数据进行分析处理。
在本申请的一个实施例中,基于前述方案,所述M核在判定本次待发送的源数据与上一次发送的源数据不同,且及本次待发送源数据与上一次发送源数据之间的时间间隔大于预设时间阈值时,才向所述A核中的各个进程发送携带数据标志位的源数据。
第三方面,本申请实施例提供了一种车载软件核间通信装置,应用于A核,所述A核中运行多个进程,所述装置包括:源数据处理模块,配置为在目标进程中接收并保存M核发送的携带数据标志位的源数据;匹配模块,配置为当接收到其它进程发送的携带数据标志位的结果数据时,根据所述结果数据中携带的数据标志位,匹配所述目标进程中存储的携带有同一数据标志位的源数据;其中,所述结果数据是所述其它进程基于所述M核发送的所述源数据进行分析处理得到的;结果数据获取模块,配置为对匹配出的源数据和所述结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据。
第四方面,本申请实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如上所述的车载软件核间通信方法。
第五方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行如上所述的车载软件核间通信方法。
在本申请的实施例所提供的技术方案中,A核中运行的多个进程会对M核发送的源数据进行存储,同时由于M核发送的源数据携带数据标志位,并且A核中运行的多个进程在基于M核发送的源数据进行分析处理得到的结果数据中也携带相应的数据标志位,使得A核中的目标进程在接收到其它进程发送结果数据时,根据结果数据中携带的数据标志位可以准确地匹配出M核发送过来的携带同一数据标志位的源数据,后续通过对携带同一数据标志位的源数据和结果数据进行分析处理,即可保证得到的结果数据不会出错,避免A核中出现数据误用的问题。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的车载软件核间进行通信的系统架构图;
图2是本申请的一示例性实施例示出的A核第一进程进行分析处理的流程图;
图3为本申请的一示例性实施例示出的A核第二进程进行分析处理的流程图。
图4是本申请的一示例性实施例示出的A核第三进程进行分析处理的流程图;
图5是本申请的一示例性实施例示出的车载软件核间通信方法的流程图;
图6是本申请的一示例性实施例示出的数据结构的示意图;
图7是本申请的另一示例性实施例示出的车载软件核间通信方法的流程图;
图8是本申请的一示例性实施例示出的最新数据存包的流程图;
图9是本申请的另一示例性实施例示出的车载软件核间通信方法的流程图;
图10是本申请的一示例性实施例示出的源数据发送流程的示意图;
图11是本申请的一示例性实施例示出的车载软件核间通信装置的框图;
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请中提及的“多个”是指两个或者两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
现有技术中,由于A核与M核部署在不同的核间,软件运行的周期和实时性不一致,数据发送的频率也不一致,因此当A核中有多个进程都接收M核发送的源数据,同时A核中存在进程(本申请将其称为目标进程)依赖于源数据和A核中其它进程对源数据分析处理得到的结果数据,往往会出现目标进程中源数据与A核中其它进程对源数据分析处理得到的结果数据不同步的情况,由此导致数据误用问题发生。
示例性的,假设A核中运行有第一进程和第二进程,以运行的第二进程为目标进程,第一进程需要获取M核发送的源数据进行分析处理,并将分析处理得到的结果数据传递给第二进程;第二进程则需要M核发送的源数据和第一进程分析处理所得的结果数据进行统一分析处理,当第二进程接收到M核发送的源数据后,需要等待第一进程完成数据分析并将结果数据发送。目标进程在等待过程中,如果M核发送最新数据,则第二进程接收到的M核发送的源数据也会同步更新为最新数据,但是由于第一进程是基于上一次M核发送的源数据进行分析处理的,进而导致第一进程完成分析处理后,第二进程接收到的结果数据是基于上一次M核发送的源数据进行分析处理得到的,与最新接收到的M核发送的源数据不同步,第二进程对二者数据进行统一分析处理必然会造成数据误用。
为解决上述问题,本实施例提供一种车载软件核间通信方法及系统、装置、电子设备、计算机可读存储介质,详细介绍如下。
图1是本申请的一示例性实施例示出的车载软件核间进行通信的系统架构图。如图1所示,A核为linux运行环境,M核为车载软件实时运行环境,其中A核运行有多个进程。M核将携带数据标志位的源数据发送至A核中的各进程,实现M核与A核各进程之间进行通信。需要说明的是,M核发送的不同源数据中携带的数据标志位是不同的,也即M核通过在源数据中携带不同的数据标志位来标识不同的源数据。
在另一个示例性实施例中,车载软件核间通信系统还包括:
M核向A核中的各个进程发送携带数据标志位的源数据,其中,不同的源数据中携带不同的数据标志位;
A核通过执行如上任一项车载软件核间通信方法,以基于M核发送的源数据进行分析处理。
进一步说明的,M核用于向A核中的各个进程发送携带数据标志位的源数据,不同的源数据中携带的数据标志位不同。需要注意的是,其中数据标志位Flg可以是指定的长度无符号类型,每一次循环一次对数据标志位Flg+1,即M核本次发送的源数据的数据标志位Flg=M核上一次发送的源数据的数据标志位Flg+1。而A核则负责接收M核发送的源收据,并对接收的源数据进行分析处理。
示例性的,M核本次发送的源数据的数据标志位Flg=2,则M核上一次发送的源数据的数据标志位Flg=1,M核下一次发送的源数据的数据标志位Flg=3。
图2是本申请的一示例性实施例示出的A核第一进程进行分析处理的流程图。A核第一进程需要的数据为M核发送的源数据,当A核第一进程获取M核发送的源数据后,便对源数据进行分析处理,通过分析处理得到第一进程结果数据,随后将第一进程结果数据发送至需要基于第一进程结果数据进行分析处理的其它进程。需要说明的是,由于M核发送的源数据携带有数据标志位,因此基于M核发送的源数据进行分析处理得到的第一进程结果数据中也携带相应的数据标志位。
图3是本申请的一示例性实施例示出的A核第二进程进行分析处理的流程图。A核第二进程需要的数据为M核发送的源数据,以及第一进程结果数据。
A核第二进程进行分析处理的流程为:第二进程先获取M核发送的源数据,并对每次所接收的源数据进行数据存包,数据存包即将接收的数据进行复制和存储,由此获得存储数据01、存储数据02、...、存储数据n。同时等待第一进程处理相同的M核发送的源数据并发出第一进程结果数据,如果在等待过程中获取到M核最新数据则同样进行数据存包。当第二进程获取到第一进程结果数据后可直接进行数据匹配,即查找同一数据标志位,如果数据匹配成功则进行第二进程数据分析处理,生成第二进程结果数据;如果数据匹配失败则放弃进行本次的数据分析处理并进入第二进程的下一次循环。
图4是本申请的一示例性实施例示出的A核第三进程进行分析处理的流程图。A核第三进程所需要的数据为M核发送的源数据、第一进程结果数据、第二进程结果数据以及待处理数据。其中,第一进程结果数据和第二进程结果数据均基于M核发送的源数据分析处理得到,而待处理数据为其它进程发送且不需要利用M核发送的源数据得到,因此待处理数据不携带M核数据标志位。
A核第三进程进行分析处理的流程为:第三进程先获取M核发送的源数据,并对每次所接收的源数据进行数据存包,由此获得存储数据01、存储数据02、...、存储数据m。同时等待第一进程分析处理相同的M核发送的源数据并发出第一进程结果数据,在等待过程中如果获取到M核最新数据则同样进行数据存包;在接收第一进程结果数据后同样对第一进程结果数据进行存包,由此获得存储数据01、存储数据02、...、存储数据n,并同时等待第二进程基于M核发送的源数据进行分析处理发出第二进程结果数据。其中,存储数据n和存储数据m均表示进行数据存包的次数,且m与n之间并无关联。在获取第二进程结果数据后可直接进行数据匹配,即查找同一数据标志位,如果数据匹配失败则放弃进行本次的数据分析处理并进入第三进程的下一次循环;如果数据匹配成功则进行第三进程数据分析处理,在对第三进程数据分析处理的过程中也需要基于其它进程发送的待处理数据,通过对第三进程数据分析处理生成第三进程结果数据。
图5是本申请的一示例性实施例示出的车载软件核间通信方法的流程图。该方法可以应用于图1所示的架构,并由图1中示例的A核具体执行。
如图5所示,在一示例性的实施例中,车载软件核间通信方法至少包括步骤S210至步骤S230,详细介绍如下:
步骤S210,在目标进程中接收并保存M核发送的携带数据标志位的源数据。
首先需要理解的是,目标进程是指A核中依赖于M核发送的源数据和A核中其它进程对该源数据分析得到的结果数据进行共同分析处理的进程。例如在前述示例中,第二进程需要依赖于第一进程对源数据分析处理得到的结果数据、第三进程需要依赖于第一进程和第二进程分别基于源数据分析处理得到的结果数据,因此该第二进程和该第三进程都可以称为是目标进程。而第一进程仅需要依赖M核发送的携带数据标志位的源数据,因此目标进程并非为第一进程。
数据标志位可以用Flag表示,携带在数据内容中,用于作为数据的标识信息。请参阅图6,图6是本申请的一示例性实施例示出的数据结构的示意图。如图6所示,数据由数据标志位和数据主体部分组成,其中,数据标志位可以在数据结构中的头部位置(形式a)、尾部位置(形式b)、或者中部指定位置(形式c)。需要注意的是,数据中的数据标志位用于进行数据匹配,并不参与应用层功能逻辑或者计算处理,应用层功能逻辑或者计算处理所需的数据为数据主体部分。
目标进程接收M核发送的携带数据标志位的源数据后均进行存包保存,可以采用存储数据01、存储数据02、存储数据...、存储数据n进行表示,其中,存储数据01代表最近一次接收的源数据,存储数据n代表在数据存储空间中存储时间最久的源数据。
步骤S220,当接收到其它进程发送的携带数据标志位的结果数据时,根据结果数据中携带的数据标志位,匹配目标进程中存储的携带有同一数据标志位的源数据;其中,结果数据是其它进程基于M核发送的源数据进行分析处理得到的。
结果数据是其它进程基于M核发送的源数据进行分析处理得到的,如第一进程对M核发送的源数据进行分析处理得到第一进程结果数据;第二进程基于M核发送的源数据进行分析处理得到第二进程结果数据,其中,第二进程进行分析处理前还需等待接收第一进程结果数据。
需要说明的是,由于M核发送的源数据中携带有数据标志位,因此A核中的各个进程基于源数据进行分析处理后得到的结果数据也将携带相应的数据标志位。
步骤S230,对匹配出的源数据和结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据。
同一数据标志位是基于同一源数据进行分析处理获得的。匹配出的数据源中携带有与结果数据中携带的数据标志位相同的数据标志位。对匹配出的源数据和接收到的其它进程发送的结果数据进行分析处理,并对分析处理得到的处理结果携带同一数据标志位,从而得到目标进程相应的结果数据,完成M核与A核所运行目标进程之间的通信。
通过在目标进程分析处理获得的结果数据中携带与源数据相同的数据标志位,当该携带同一数据标志位的结果数据需作用于另外进程中的分析处理时,能够确保使用数据的一致性,降低了对数据进行误用的概率。
由上可以看出,本实施例中M核发送的源数据携带数据标志位,并且A核中运行的多个进程在基于M核发送的源数据进行分析处理得到的结果数据中也携带相应的数据标志位,使得使得A核中的目标进程中在接收到其它进程发送结果数据时,根据结果数据中携带的数据标志位可以准确地匹配出M核发送过来的携带同一数据标志位的源数据,后续通过对携带同一数据标志位的源数据和结果数据进行分析处理,即可保证得到的结果数据不会出错,避免A核中出现数据误用的问题。
如图7所示,在一示例性的实施例中,车载软件核间通信方法还至少包括步骤S310至步骤S330,详细介绍如下:
步骤S310,当接收到其它进程发送的携带数据标志位的结果数据时,判断结果数据是否还作用于另外进程中的分析处理;
步骤S320,若判断为否,则根据结果数据中携带的数据标志位,匹配目标进程中存储的携带有同一数据标志位的源数据;
步骤S330,若判断为是,则将结果数据保存在目标进程中。
可以理解,在本实施例中,目标进程判断接收到的其它进程发送的携带数据标志位的结果数据是否作用于另外进程中的分析处理,其目的是为了得出自身分析处理所依赖的其它进程的结果数据是否已经全部接收完毕。
目标进程在接收到其它进程发送的携带数据标志位的结果数据后,如果判断当前接收的结果数据无需作用于另外进程中的分析处理,则表明目标进程所依赖的其它进程的结果数据已经全部接收完毕,可以直接进行数据匹配操作。仍以前述示例进行示例,假设目标进程为前述示例的A核运行的第二进程,第二进程在接收第一进程发送的携带数据标志位的结果数据后即可进行数据匹配操作。
目标进程在接收到其它进程发送的携带数据标志位的结果数据后,如果判断当前接收的结果数据还作用于另外进程中的分析处理,则还需等待另外进程的结果数据,直至接收到需要依赖的全部进程发送的结果数据后才能进行数据匹配,因此需要将当前接收的结果数据进行保存。仍以前述示例进行示例,假设目标进程为前述示例的A核运行的第三进程,第三进程在接收第一进程发送的携带数据标志位的结果数据后还需等待接收第二进程结果数据。
由上可以看出,本实施例通过判断结果数据是否还作用于另外进程中的分析处理,可以区分是否需要对该结果数据进行存包处理,相比于对所有结果数据均进行存包处理,能够有效地减小目标进程对应数据存储空间的数据存储压力。
在另一个示例性实施例中,车载软件核间通信方法还包括:
当接收到的结果数据被判定为不会作用于另外进程中的分析处理时,还匹配目标进程中存储的携带有同一数据标志位的结果数据,以基于匹配出的结果数据对匹配出的源数据和接收到的结果数据进行分析处理。
进一步说明的,匹配出的结果数据是由不会作用于另外进程中的分析处理的结果数据与存储其它进程的结果数据进行匹配获得的。匹配出的源数据是由不会作用于另外进程中的分析处理的结果数据与存储的源数据进行匹配获得的。接收到的结果数据是由其它进程向目标进程发送获得的。
仍以前述示例进行示例,假设目标进程为前述示例的A核运行的第三进程,则匹配出的结果数据为第二进程结果数据与第一进程结果数据进行匹配获得的,匹配出的源数据为第二进程结果数据与存储的源数据进行匹配获得的,接收到的结果数据为第一进程结果数据和第二进程结果数据。
当目标进程接收到的结果数据为第二进程发送的,判定该第二进程结果数据不会作用于另外进程中的分析处理,并且该第二进程结果数据还将与第三进程中存储的携带有同一数据标志位的第一进程结果数据进行匹配,获得匹配出的结果数据,基于匹配出的结果数据对匹配出的源数据和接收到的结果数据进行分析处理。
在另一个示例性实施例中,车载软件核间通信方法还包括:
当接收到M核发送的携带不同数据标志位的最新数据时,将最新数据存储在数据存储空间对应最近存储时间的存储位置;其中,数据存储空间用于按照时间先后顺序进行数据存储。
进一步说明的,当目标进程在等待其它进程结果数据发送的过程中,M核又向目标进程发送了携带有不同数据标志位的最新数据,则将该携带不同数据标志位的最新数据进行检验后存储于数据存储空间对应最近存储时间的存储位置。
示例性的,可以采用对结果数据进行依次赋值的方式,以存储M核发送的最新数据。请参阅图8,图8是本申请的一示例性实施例示出的最新数据存包的流程图。目标进程对应的数据存储空间目前已经存储了n次接收的源数据,分别为存储数据01、存储数据02...存储数据n。当目标进程获取最新数据后,将该最新数据存储于数据存储空间所对应最近存储时间的存储位置,即存储数据n=存储数据n-1,...,存储数据02=存储数据01,存储数据01=最新数据。
在现有技术当中,A核中目标进程接收到M核发送的源数据后,对该源数据进行分析处理,在处理过程中M核若是再次发送源数据给目标进程,源数据所占据的内存不大往往能够存储于数据存储空间中,但是如果M核发送了两次以上的源数据,可能导致数据存储空间的内存不足,进而造成数据丢包的情况发生。
由上可以看出,本实施例通过将最新数据存储于数据存储空间对应最近存储时间的存储位置,将在数据存储空间中存储时间最久的数据丢弃,能够在一定程度上降低了数据丢包的概率。
如图9所示,在一示例性的实施例中,车载软件核间通信方法还至少包括步骤S410至步骤S420,详细介绍如下:
步骤S410,在目标进程中接收其它进程发送的待处理数据。
待处理数据为其它进程发送且未基于M核发送的携带数据标志位的源数据获得的,因此该待处理数据并不携带数据标志位。
步骤S420,在匹配出目标进程中存储的携带有同一数据标志位的源数据之后,基于待处理数据对匹配出的源数据和结果数据进行分析处理。
当匹配出目标进程中存储的携带有同一数据标志位的源数据之后,基于接收的待处理数据对匹配出的源数据和结果数据共同进行分析和处理,从而得到目标进程相应的结果数据。
由上可以看出,本实施例通过依赖于源数据和其它进程对源数据进行分析处理得到的结果数据之外,还进一步依赖其它进程发送的待处理数据,从而能够使得分析处理的结果数据更加准确。
在另一个示例性实施例中,M核在判定本次待发送的源数据与上一次发送的源数据不同,且及本次待发送源数据与上一次发送源数据之间的时间间隔大于预设时间阈值时,才向A核中的各个进程发送携带数据标志位的源数据。
进一步说明的,M核仅有在判定本次待发送的源数据与上一次发送的源数据不同,且及本次待发送源数据与上一次发送源数据之间的时间间隔大于预设时间阈值时,才向A核中的各个进程发送携带数据标志位的源数据,否则将本次待发送的源数据进行丢弃并等待下一次数据判定。
示例性的,请参阅图10,图10是本申请的一示例性实施例示出的源数据发送流程的示意图。M核在运行中准备本次待发送的源数据,M核本次待发送的源数据为A核计算所需要的数据,在产生本次待发送的源数据后将进行二次判断。其中,第一次判断为判断本次待发送的源数据与上一次发送的源数据是否相同,若为是则将本次待发送的源数据丢弃并等待进入下一次循环(下一次循环也即准备下一次源数据的发送);若为否则进入第二次判断,即判断本次待发送的源数据与上一次发送源数据的发送时间间隔是否大于预设时间阈值。
由上可以看出,本实施例通过判断本次待发送的源数据与上一次发送的源数据是否相同,可以有效地减少数据冗余以及优化数据传输。
若第二次判断为否,则同样将本次待发送的源数据丢弃并等待进入下一次循环;若第二次判断为是,则向A核中的各个进程发送携带数据标志位的源数据。
在现有技术当中,如果M核在短时间内频繁发送源数据,A核由于自身CPU资源的限制,将会导致接收源数据的目标线程再等待,而等待时间过长就会导致出现数据接收超时问题。
由上可以看出,本实施例通过在本次待发送的源数据与上一次发送的源数据不相同的基础上,再判断本次待发送的源数据与上一次发送源数据的发送时间间隔是否大于预设时间阈值,可以有效地减少数据发送次数,降低了车载网络的通信压力和数据接收超时的概率。
图11是本申请的一示例性实施例示出的车载软件核间通信装置的框图。该装置可以应用于图1所示的架构,也可以适用于其它的示例性的架构,并具体配置在其它设备中,本实施例不对该装置所适用的框架进行限制。
如图11所示,该示例性的车载软件核间通信装置包括:
源数据处理模块110,配置为在目标进程中接收并保存M核发送的携带数据标志位的源数据;匹配模块120,配置为当接收到其它进程发送的携带数据标志位的结果数据时,根据结果数据中携带的数据标志位,匹配目标进程中存储的携带有同一数据标志位的源数据;其中,结果数据是其它进程基于M核发送的源数据进行分析处理得到的;结果数据获取模块130,配置为对匹配出的源数据和结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据。
在该示例性的车载软件核间通信装置中,目标进程接收并保存M核发送的携带数据标志位的源数据,通过在源数据中携带数据标志位以减少数据误用的概率,当目标进程接收到其它进程发送的携带数据标志位的结果数据时,根据结果数据中携带的数据标志位,匹配目标进程中存储的携带有同一数据标志位的源数据,其中,结果数据是由其它进程基于M核发送的源数据进行分析处理得到的,对匹配出的源数据和结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据,从而完成M核发送的源数据与A核目标进程之间的通信。
在另一示例性的实施例中,车载软件核间通信装置还包括判断单元140、数据标志位匹配单元150、结果数据保存单元160。
判断单元140,配置为当接收到其它进程发送的携带数据标志位的结果数据时,判断结果数据是否还作用于另外进程中的分析处理。
数据标志位匹配单元150,配置为若判断为否,则根据结果数据中携带的数据标志位,匹配目标进程中存储的携带有同一数据标志位的源数据。
结果数据保存单元160,配置为若判断为是,则将结果数据保存在目标进程中。
在另一示例性的实施例中,车载软件核间通信装置还包括匹配单元170。
匹配单元170,配置为当接收到的结果数据被判定为不会作用于另外进程中的分析处理时,还匹配目标进程中存储的携带有同一数据标志位的结果数据,以基于匹配出的结果数据对匹配出的源数据和接收到的结果数据进行分析处理。
在另一示例性的实施例中,车载软件核间通信装置还包括最新数据存储单元180。
最新数据存储单元180,配置为当接收到的结果数据被判定为不会作用于另外进程中的分析处理时,还匹配目标进程中存储的携带有同一数据标志位的结果数据,以基于匹配出的结果数据对匹配出的源数据和接收到的结果数据进行分析处理。
在另一示例性的实施例中,车载软件核间通信装置还包括待处理数据接收单元190、分析处理单元200。
待处理数据接收单元190,配置为在目标进程中接收其它进程发送的待处理数据。
分析处理单元200,配置为在匹配出目标进程中存储的携带有同一数据标志位的源数据之后,基于待处理数据对匹配出的源数据和结果数据进行分析处理。
需要说明的是,上述实施例所提供的车载软件核间通信装置与上述实施例所提供的车载软件核间通信方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的车载软件核间通信装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行时,使得电子设备实现上述各个实施例中提供的车载软件核间通信方法。
图12示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图12示出的电子设备的计算机系统1200仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图12所示,计算机系统1200包括中央处理单元(Central Processing Unit,CPU)1201,其可以根据存储在只读存储器(Read-Only Memory,ROM)1202中的程序或者从储存部分1208加载到随机访问存储器(Random Access Memory,RAM)1203中的程序而执行各种适当的动作和处理,例如执行上述实施例中的方法。在RAM 1203中,还存储有系统操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(Input/Output,I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如LAN(Local AreaNetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如前的车载软件核间通信方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的车载软件核间通信方法。
上述内容,仅为本申请的较佳示例性实施例,并非用于限制本申请的实施方案,本领域普通技术人员根据本申请的主要构思和精神,可以十分方便地进行相应的变通或修改,故本申请的保护范围应以权利要求书所要求的保护范围为准。
Claims (7)
1.一种车载软件核间通信方法,其特征在于,应用于A核,所述A核中运行多个进程,所述方法包括:
当M核在判定本次待发送的源数据与上一次发送的源数据不同,且及本次待发送源数据与上一次发送源数据之间的时间间隔大于预设时间阈值时,才由所述A核在目标进程中接收并保存M核发送的携带数据标志位的源数据;
当接收到其它进程发送的携带数据标志位的结果数据时,判断所述结果数据是否还作用于另外进程中的分析处理;
若判断为否则根据所述结果数据中携带的数据标志位,匹配所述目标进程中存储的携带有同一数据标志位的源数据和结果数据,以基于匹配出的结果数据对匹配出的源数据和所述接收到的结果数据进行分析处理;若判断为是则将所述结果数据保存在所述目标进程中,直至接收到需要依赖的全部进程发送的结果数据后执行数据匹配;其中,所述结果数据是所述其它进程基于所述M核发送的所述源数据进行分析处理得到的;
对匹配出的源数据和所述结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当接收到所述M核发送的携带不同数据标志位的最新数据时,将所述最新数据存储在数据存储空间对应最近存储时间的存储位置;其中,所述数据存储空间用于按照时间先后顺序进行数据存储。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标进程中接收其它进程发送的待处理数据;
在匹配出所述目标进程中存储的携带有同一数据标志位的源数据之后,基于所述待处理数据对所述匹配出的源数据和所述结果数据进行分析处理。
4.一种车载软件核间通信系统,其特征在于,包括A核与M核,所述A核中运行多个进程,其中:
所述M核向所述A核中的各个进程发送携带数据标志位的源数据,其中,不同的源数据中携带不同的数据标志位;
所述A核通过执行如权利要求1-3任一项所述的方法,以基于所述M核发送的源数据进行分析处理。
5.一种车载软件核间通信装置,其特征在于,应用于A核,所述A核中运行多个进程,所述装置包括:
源数据处理模块,配置为当M核在判定本次待发送的源数据与上一次发送的源数据不同,且及本次待发送源数据与上一次发送源数据之间的时间间隔大于预设时间阈值时,才由所述A核在目标进程中接收并保存M核发送的携带数据标志位的源数据;
判断模块,配置为当接收到其它进程发送的携带数据标志位的结果数据时,判断所述结果数据是否还作用于另外进程中的分析处理;
处理模块,配置为若判断为否则根据所述结果数据中携带的数据标志位,匹配所述目标进程中存储的携带有同一数据标志位的源数据和结果数据,以基于匹配出的结果数据对匹配出的源数据和所述接收到的结果数据进行分析处理;若判断为是则将所述结果数据保存在所述目标进程中,直至接收到需要依赖的全部进程发送的结果数据后执行数据匹配;其中,所述结果数据是所述其它进程基于所述M核发送的所述源数据进行分析处理得到的;
结果数据获取模块,配置为对匹配出的源数据和所述结果数据进行分析处理,并在得到的处理结果中携带同一数据标志位,以得到相应的结果数据。
6.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现如权利要求1至3中任一项所述的车载软件核间通信方法。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行权利要求1至3中任一项所述的车载软件核间通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310960300.3A CN116893912B (zh) | 2023-08-01 | 2023-08-01 | 车载软件核间通信方法及系统、装置、设备、介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310960300.3A CN116893912B (zh) | 2023-08-01 | 2023-08-01 | 车载软件核间通信方法及系统、装置、设备、介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116893912A CN116893912A (zh) | 2023-10-17 |
CN116893912B true CN116893912B (zh) | 2024-05-17 |
Family
ID=88312069
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310960300.3A Active CN116893912B (zh) | 2023-08-01 | 2023-08-01 | 车载软件核间通信方法及系统、装置、设备、介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116893912B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117234761B (zh) * | 2023-11-16 | 2024-02-02 | 苏州萨沙迈半导体有限公司 | 多核系统、芯片和车辆处理器 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694152A (zh) * | 2017-04-11 | 2018-10-23 | 上海福赛特机器人有限公司 | 多核间的通信系统、基于该系统的通信控制方法及服务器 |
CN109657110A (zh) * | 2018-12-13 | 2019-04-19 | 上海达梦数据技术有限公司 | 一种数据溯源方法以及相应的数据溯源装置 |
CN115562887A (zh) * | 2022-09-29 | 2023-01-03 | 重庆长安汽车股份有限公司 | 基于数据组包的核间数据通信方法、系统、设备及介质 |
WO2023029850A1 (zh) * | 2021-09-01 | 2023-03-09 | 北京火山引擎科技有限公司 | 一种数据处理方法、装置、电子设备和介质 |
-
2023
- 2023-08-01 CN CN202310960300.3A patent/CN116893912B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108694152A (zh) * | 2017-04-11 | 2018-10-23 | 上海福赛特机器人有限公司 | 多核间的通信系统、基于该系统的通信控制方法及服务器 |
CN109657110A (zh) * | 2018-12-13 | 2019-04-19 | 上海达梦数据技术有限公司 | 一种数据溯源方法以及相应的数据溯源装置 |
WO2023029850A1 (zh) * | 2021-09-01 | 2023-03-09 | 北京火山引擎科技有限公司 | 一种数据处理方法、装置、电子设备和介质 |
CN115562887A (zh) * | 2022-09-29 | 2023-01-03 | 重庆长安汽车股份有限公司 | 基于数据组包的核间数据通信方法、系统、设备及介质 |
Non-Patent Citations (1)
Title |
---|
多核DSP并行处理的核间通信与编程技巧;郑武兴 等;《单片机与嵌入式系统应用》;20170531(第5期);第38-47页 * |
Also Published As
Publication number | Publication date |
---|---|
CN116893912A (zh) | 2023-10-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107330522B (zh) | 用于更新深度学习模型的方法、装置及系统 | |
CN116893912B (zh) | 车载软件核间通信方法及系统、装置、设备、介质 | |
CN109194736B (zh) | 消息去重方法、装置、电子设备、介质和无人车 | |
CN110852882B (zh) | 用于区块链网络的分组共识方法、装置、设备和介质 | |
CN110825440B (zh) | 指令执行方法和装置 | |
CN110187958B (zh) | 一种任务处理方法、装置、系统、设备及存储介质 | |
CN110825436B (zh) | 应用于人工智能芯片的计算方法和人工智能芯片 | |
CN111858125A (zh) | 任务处理方法、装置、电子设备和可读存储介质 | |
CN110825514B (zh) | 人工智能芯片以及用于人工智能芯片的指令执行方法 | |
CN111274241B (zh) | 用于并行处理地图数据的方法和装置 | |
CN116455694A (zh) | 一种波特率设置方法、装置、设备和存储介质 | |
CN115827250A (zh) | 一种数据存储方法、装置及设备 | |
CN113592033B (zh) | 油罐图像识别模型训练方法、油罐图像识别方法和装置 | |
CN114064091A (zh) | Ota升级控制方法、装置、电子设备及自动驾驶车辆 | |
CN110968433A (zh) | 信息处理方法、系统和电子设备 | |
CN113992391B (zh) | 用于解析报文的方法和装置 | |
CN115348184A (zh) | 一种物联网数据安全事件预测方法及系统 | |
CN114579054A (zh) | 一种数据处理方法、装置、电子设备及计算机可读介质 | |
CN110990490B (zh) | 区块链网络中区块链的入账方法、装置、设备及介质 | |
CN114915516A (zh) | 一种通信方法及装置 | |
CN114579311A (zh) | 执行分布式计算任务的方法、装置、设备以及存储介质 | |
CN108288135B (zh) | 系统兼容方法及装置、计算机可读存储介质及电子设备 | |
CN111221843A (zh) | 大数据处理方法及装置 | |
CN112711602A (zh) | 一种存储过程的运行方法、装置,数据库系统及存储介质 | |
CN115118727B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |