一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

多核系统的核间交互方法、装置、设备及存储介质与流程

2022-05-11 10:53:22 来源:中国专利 TAG:


1.本技术实施例涉及但不限于计算机技术领域,尤其涉及一种多核系统的核间交互方法、装置、设备及存储介质。


背景技术:

2.目前多核操作系统的核间交互技术通常是通过共享内存方式实现。因此,系统通过维护一段共享内存空间实现内存共享,而该空间属于临界资源,因此通常采用互斥锁保护该临界资源。假设当一个处理器核试图与其他某个处理器核或某些处理器核交互时,称它为源处理器核,而被交互处理器核称为目的处理器核;则源处理器核必须先获取互斥锁,然后将数据投递到共享内存中,当数据写完后,互斥锁有可能就被释放了,以响应下一对临界资源的操作请求;或者在整个交互过程中均持有该互斥锁。在多核交互时,这种操作会导致线程执行效率低。


技术实现要素:

3.以下是对本文详细描述的主题的概述。本概述并非是为了限制权利要求的保护范围。
4.本发明实施例提供了一种多核系统的核间交互方法、装置、设备及存储介质,能简化多核之间的交互操作进而提升多核之间线程的执行效率。
5.第一方面,本发明实施例提供了一种多核系统的核间交互方法,应用于第一内核,所述第一内核与至少一个第二内核通信连接,所述方法包括:
6.根据待传输的第一交互数据的目的内核,确定与所述目的内核对应的交互通道组;所述目的内核为所述至少一个第二内核之一,所述第二内核与所述交互通道组一一对应;
7.根据所述第一交互数据的交互类型,从所述交互通道组的多个第二交互通道中选取第一交互通道;
8.将所述第一交互数据发送至所述第一交互通道,以使所述目的内核通过监听所述交互通道组,得到第一交互数据。
9.第二方面,本技术实施例还提供一种多核系统的核间交互方法,应用于第二内核,所述第二内核与第一内核通信连接,所述方法还包括:
10.基于中断机制,遍历所述交互通道组,以获取来自于所述第一交互通道的第一交互数据。
11.第三方面,本发明实施例还提供了多核设备,包括:
12.确定模块,用于根据待传输的第一交互数据的目的内核,确定与所述目的内核对应的交互通道组;
13.选取模块,用于根据所述第一交互数据的交互类型,从所述交互通道组的多个第二交互通道中选取第一交互通道;
14.交互模块,用于将所述第一交互数据发送至所述第一交互通道,以使所述目的内核通过监听所述交互通道组,得到第一交互数据。
15.第四方面,本发明实施例还提供了多核设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时如第一方面任意一项所述的多核系统的核间交互方法和/或第二方面所述的多核系统的核间交互方法。
16.第五方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行第一方面任意一项所述的多核系统的核间交互方法和/或第二方面所述的多核系统的核间交互方法。
17.根据申请的上述实施例,至少具有如下有益效果:通过将第一内核与第二内核之间的共享资源划分为多个第二交互通道,得到与第二内核一一对应的交互通道组。并根据第一交互数据确定对应有第一交互通道,从而通过第一交互通道与目的内核进行交互。此时,对于目的内核而言,由于对应的交互通道组中的每一第二交互通道互不影响,因此,可以实现每一线程对应一个第二交互通道进行处理,且无需考虑对其他线程的影响,因此,相对于传统的采用互斥锁进行临界资源管理的方式,本技术的实施例能简化多线程下对临界资源的多种类型的读取和操作,进而提升多核之间线程的执行效率。
18.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
附图说明
19.附图用来提供对本技术技术方案的进一步理解,并且构成说明书的一部分,与本技术的实施例一起用于解释本技术的技术方案,并不构成对本技术技术方案的限制。
20.图1是本技术的实施例的第一内核的模块示意图;
21.图2是本技术的实施例的应用于第一内核的多核系统的核间交互方法的流程图;
22.图3是本技术的实施例的的多核系统的一种拓扑示意图;
23.图4是本技术的实施例的应用于第二内核的多核系统的核间交互方法的流程图。
具体实施方式
24.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
25.需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
26.目前多核操作系统的核间交互技术通常是通过共享内存方式实现。因此,系统通过维护一段共享内存空间实现内存共享,而该空间属于临界资源,因此通常采用互斥锁保护该临界资源。假设当一个处理器核试图与其他某个处理器核或某些处理器核交互时,称它为源处理器核,而被交互处理器核称为目的处理器核;则源处理器核必须先获取互斥锁,
然后将数据投递到共享内存中,当数据写完后,互斥锁有可能就被释放了,以响应下一对临界资源的操作请求;或者在整个交互过程中均持有该互斥锁。在多核交互时,这种操作会导致线程执行效率低,基于此,本技术提出一种多核系统的核间交互方法、装置、设备及存储介质,能简化多核之间的交互操作进而提升多核之间线程的执行效率。
27.需说明的是,多核系统包括多个第一内核,对于每一第一内核而言,其可以与多个第二内核进行通信交互。示例性的,以其中一个第一内核为机器人的控制器为例,第二内核为机器人的驱动器,此时,每个第一内核可以通过多核系统的核间交互方法、装置、设备及存储介质实现对每一第二内核的控制。
28.示例性的,参照图1所示的实施例,第一内核包括确定模块100、选取模块200以及交互模块300。确定模块100用于根据待传输的第一交互数据的目的内核,确定与目的内核对应的交互通道组;选取模块200用于根据第一交互数据的交互类型,从交互通道组的多个第二交互通道中选取第一交互通道;交互模块300用于将第一交互数据发送至第一交互通道,以使目的内核通过监听交互通道组,得到第一交互数据。
29.需说明的是,交互类型可以为文件处理、缓存数据处理、事件触发或是心跳检测,从而可以从多个维度实现第一内核与第二内核的多线程的高效交互。
30.需说明的是,通过每个交互通道组设置多个第二交互通道,可以实现第二交互通道之间的相互隔离,进而在对其中一个第二交互通道进行数据传输时,无需关心其他第二交互通道的影响。
31.本领域技术人员可以理解的是,图1中示出的拓扑结构并不构成对本技术实施例的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
32.另一方面,提出本技术的多核系统的核间交互方法的各个实施例。
33.下面结合附图,对本技术实施例的方法作进一步阐述。参照图2,本技术的实施例提出一种多核系统的核间交互方法,应用于第一内核,第一内核与至少一个第二内核通信连接,方法包括:
34.步骤s100、根据待传输的第一交互数据的目的内核,确定与目的内核对应的交互通道组;目的内核为至少一个第二内核之一,第二内核与交互通道组一一对应。
35.需说明的是,交互通道组由多个第二交互通道组成,多个第二交互通道为通过软件对临界资源进行划分,以使得每个线程均感知到为独占一个cpu。
36.步骤s200、根据第一交互数据的交互类型,从交互通道组的多个第二交互通道中选取第一交互通道。
37.需说明的是,在同一时刻目的内核可以是多个,或者是一个。需说明的是,第一交互数据可以是一个或者多个,如对于同一目的内核,可以同时产生多个不同类型的第一交互数据。又例如,可以产生多个不同目的内核的第一交互数据。在此,不做一一限制。
38.步骤s300、将第一交互数据发送至第一交互通道,以使目的内核通过监听交互通道组,得到第一交互数据。
39.需说明的是,对于目的内核而言,基于轮询机制监听交互通道,进而可以简化对交互通道组的处理。
40.因此,通过将第一内核与第二内核之间的共享资源划分为多个第二交互通道,得到与第二内核一一对应的交互通道组。并根据第一交互数据确定对应有第一交互通道,从
而通过第一交互通道与目的内核进行交互。此时,对于目的内核而言,由于对应的交互通道组中的每一第二交互通道互不影响,因此,可以实现每一线程对应一个第二交互通道进行处理,且无需考虑对其他线程的影响,因此,相对于传统的采用互斥锁进行临界资源管理的方式,本技术的实施例能简化多线程下对临界资源的多种类型的读取和操作,进而提升多核之间线程的执行效率。
41.可理解的是,第一交互数据设置有多个。
42.需说明的是,通过同一时刻支持多个第一交互数据,可以实现多核之间的高效交互,如参照图3所示的实施例,以第一内核为控制器为例,每一第二内核对应一个驱动器,此时多个驱动器a、b、c、d、e与控制器f以及上位机组成多核系统的核间交互,此时,上位机可以产生多个控制第二内核的控制指令,并由控制器与每一驱动器之间的第一交互通道组进行交互传输,进而可以实现多个驱动器的高效控制。
43.可理解的是,第一交互数据为通过对交互组件发送的至少一个操作指令解析得到。
44.需说明的是,在一些实施例中,第一交互数据为交互组件下发的指令解析得到,以实现对人为控制指令的高效处理。如,交互组件为机器人的上位机,第一内核为控制器,每一第二内核对应一个驱动器,则可以通过对上位机下发指令,从而通过控制器控制多个驱动器。
45.需说明的是,第一交互数据也可以是第二内核与第一内核交互所产生的交互数据。第一交互数据还可以是第一内核根据自身注册的事件或设置的周期生成的。
46.可理解的是,应用于第一内核多核系统的核间交互方法,方法还包括:接收来自于文件服务交互通道中至少一个与第一交互数据对应的文件读指令;文件服务交互通道为第一交互通道;根据文件读指令,从第一交互数据中的读取得到的第一数据;其中,第一交互数据由至少一个第一数据组成;分别将第一数据经文件服务交互通道发出。
47.需说明的是,通过设置文件服务交互通道,对文件的读操作隔离处理,可以提升文件的读的效率。
48.可理解的是,应用于第一内核多核系统的核间交互方法,还包括:接收来自于文件服务交互通道中至少一个文件写指令;其中,文件写指令用于请求将文件写指令中的第二数据写入第一内核的文件数据中;根据文件写指令,将第二数据写入文件数据中。
49.需说明的是,通过设置文件服务交互通道,对文件的写操作隔离处理,可以提升文件的写的效率。此时,文件的读和写均可以独占一个第二交互通道进行处理。此时,其他的数据处理不会受到文件读写操作的影响,进而提升整个多个系统的处理效率。
50.可理解的是,文件数据对应的文件写指令有多个,根据文件写指令,将第二数据写入文件数据中,包括:将每一文件写指令中的第二数据进行组包,得到第三数据;将校验有效的第三数据写入文件数据。
51.需说明的是,将数据较长的文件进行分包进行写操作,可以提升文件操作的效率。需说明的是,在一些实施例中,对数据较长的第一交互数据进行读操作时,也可以进行分包处理,并在对应的第一交互通道处进行组装,进而提升文件读操作的效率。
52.可理解的是,步骤s300、将第一交互数据发送至第一交互通道,以使目的内核通过监听交互通道组,得到第一交互数据,包括:将第一交互数据暂存在环形缓冲通道,以使目
的内核从环形缓冲通道异步读取第一交互数据,其中,第一交互通道为环形缓冲通道。
53.需说明的是,通过将第一交互数据暂存在环形缓冲通道,使得缓存数据的共享处理更为简单。
54.可理解的是,应用于第一内核多核系统的核间交互方法,方法还包括:实时检测环形缓冲通道的缓存余量;当缓存余量小于预设的门限值,发送预警事件。
55.需说明的是,门限值可以设置有多个,如环形缓冲通道的总缓存量的一半、或环形缓冲通道的总缓存量。
56.可理解的是,步骤s300、将第一交互数据发送至第一交互通道,以使目的内核通过监听交互通道组,得到第一交互数据,包括:将第一交互数据发送至事件管理交互通道,以使目的内核根据监听到的第一交互数据响应对应的事件操作;其中,第一交互通道为事件管理交互通道。
57.需说明的是,事件管理交互通道用于响应注册的事件的数据传输。
58.可理解的是,将第一交互数据发送至第一交互通道,以使目的内核通过监听交互通道组,得到第一交互数据,包括:将第一交互数据发送至连接组件交互通道,以使目的内核根据第一交互数据在预设的映射表中确定执行功能函数,其中,第一交互通道为连接组件交互通道,第一交互数据为执行指示。
59.需说明的是,通过建立执行指示与映射表的关系,可以简化第一内核、第二内核之间的控制。示例性的,第一内核发送一个信号指示robot.on 1,第二内核接收到robot.on 1后,根据映射表确定robot.on 1对应的函数为setroboton(),函数形参为1,则会执行setroboton(1)的操作。
60.可理解的是,第一交互数据为心跳报文;步骤s300、将第一交互数据发送至第一交互通道,以使目的内核通过监听交互通道组,得到第一交互数据,包括:将心跳报文发送至异常处理交互通道;其中,异常处理交互通道为第一交互通道;接收来自于异常处理交互通道的心跳报文的响应报文;根据响应报文确定目的内核的运行状态。
61.通过实时检测第二内核,进而可以确定第二内核的运行状态,确保第一内核和第二内核之间是正常通信的。
62.可理解的是,在选取第一交互通道之前,方法还包括:获取预设的配置信息;其中,配置信息来自于预设的配置文件;根据配置信息创建交互通道组。
63.需说明的是,通过配置信息加载交互通道组的配置信息,可以实现动态创建交互通道组。
64.可理解的是,步骤s300、将第一交互数据发送至第一交互通道,包括:将第一交互数据发送至第一交互通道对应的第一缓存队列;基于中断机制,遍历对交互通道组中每一第二交互通道对应的第二缓存队列。
65.通过设置第一缓存队列,可以及早释放操作第一交互通道的线程,进而提升多线程的处理效率,实现对交互通道组的异步处理。
66.需说明的是,每一交互通道组包括文件服务交互通道、环形缓冲通道、异常处理交互通道、连接组件交互通道、事件管理交互通道中至少一个。文件服务交互通道、环形缓冲通道、异常处理交互通道、连接组件交互通道、事件管理交互通道均对应有各自的交互类型。根据第一交互数据的交互类型与其通道的交互类型匹配进而确定由哪个第一交互通道
进行传输。
67.可理解的是,参照图4,本技术还提出一种应用于第二内核,第二内核与第一内核通信连接的多核系统的核间交互方法,方法包括:步骤s400、基于中断机制,遍历交互通道组,以获取来自于第一交互通道的第一交互数据。
68.可理解为,本技术还提出一种多核设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时执行应用于第一内核和/或应用于第二内核的多核系统的核间交互方法。
69.存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
70.需要说明的是,本实施例中的网络设备,可以应用为如图1所示实施例的网络架构的多核设备,本实施例中的网络设备和如图2所示多核系统的核间交互方法的方法具有相同的发明构思,因此这些实施例具有相同的实现原理以及技术效果,此处不再详述。
71.实现上述实施例的信息处理方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的信息处理方法,例如,执行以上描述的图2或图4对应的方法步骤。
72.可理解为,本发明还提供一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令用于执行应用于第一内核和/或应用于第二内核的多核系统的核间交互方法。
73.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
74.以上是对本发明的较佳实施进行了具体说明,但本发明并不局限于上述实施方式,熟悉本领域的技术人员在不违背本发明精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本发明权利要求所限定的范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献