基于硬件隔离的跨系统数据共享方法、电子设备及介质与流程
未命名
09-13
阅读:116
评论:0

1.本发明涉及数据共享领域,特别是涉及一种基于硬件隔离的跨系统数据共享方法。
背景技术:
2.物联网潮流下,跨设备、跨系统数据共享业务屡见不鲜,如何解决大数据传输性能问题成为难点。目前,网络传输和系统间共享内存成为比较主流的解决方案,前者更加具备应用普及性,后者传输性能更好。
3.dfs(defined framework softbus)是定制化的分布式软总线中间件,具备服务订阅、服务发现和数据发布等基本能力,同时支持跨平台的共享内存管理,实现通用化的业务接口。
4.跨系统共享内存解决方案中,存在虚拟化技术提供通用共享内存管理接口。存在虚拟技术提供配置文件能够共享容器间的无名和有名共享内存,存在虚拟技术提供共享页功能,支持客户机系统共享数据。
5.基于硬件隔离的多系统启动解决方案中,系统间共享内存都是和第三方驱动绑定,无法向应用程序提供灵活的共享内存接口。存在系统间共享内存的申请释放原子性问题。
技术实现要素:
6.本发明一个目的是要解决上述现有技术中存在的任一方面的技术问题。
7.本发明一个进一步的目的是解决系统间共享内存的申请释放原子性问题。
8.特别地,本发明提出了一种基于硬件隔离的跨系统数据共享方法,应用于片上系统,所述片上系统包括第一系统级芯片和第二系统级芯片,所述第一系统级芯片运行第一宿主操作系统和第一客户操作系统,所述第二系统级芯片运行第二宿主操作系统和第二客户操作系统,所述方法包括:
9.所述第一系统级芯片的第一客户操作系统在接收到数据共享请求时,将共享数据的键值和所占内存发送至所述第一宿主操作系统,且将所述共享数据填写至所述第一宿主操作系统为所述共享数据分配出的内存空间;
10.所述第一客户操作系统将所述共享数据的键值和所占内存发送至所述第二客户操作系统,获取所述第二客户操作系统将所述共享数据所占内存发送至所述第二宿主操作系统后、由所述第二宿主操作系统根据所述共享数据所占内存大小分配的内存空间的地址;
11.所述第一客户操作系统若对所述第二宿主操作系统分配的内存空间的合法性校验通过,根据所述地址将所述第一宿主操作系统的内存空间中的所述共享数据发送至所述第二宿主操作系统的内存空间。
12.可选地,所述第一宿主操作系统包括多个大小不同的内存空间,多个所述内存空
间对应存储不同大小和数量的数据块,所述第一宿主操作系统为所述共享数据分配内存空间,包括:
13.所述第一宿主操作系统根据所述共享数据包含的数据块的数量和大小在多个所述内存空间中确定相应的内存空间,且将该内存空间作为存储所述共享数据的内存空间,其中,所述内存空间大小和所述数据块大小成正比。
14.可选地,所述第二宿主操作系统根据所述共享数据所占内存分配内存空间后,所述方法还包括:
15.所述第二客户操作系统获取所述第二宿主操作系统分配的内存空间的地址,并在该内存空间的地址与所述共享数据的键值间建立映射关系,将该内存空间的地址发送给所述第一客户操作系统。
16.可选地,所述第一客户操作系统将所述共享数据填写至所述第一宿主操作系统根据所述共享数据所占内存分配出的内存空间中后,所述方法还包括:
17.所述第一客户操作系统通过第一一致性命令保证内存和/或缓存一致性。
18.可选地,所述第一客户操作系统根据所述地址将所述第一宿主操作系统的内存空间中的所述共享数据发送至所述第二宿主操作系统的内存空间,所述方法还包括:
19.所述第一客户操作系统向所述第二客户操作系统发出同步命令,向所述第二客户操作系统同步所述共享数据。
20.可选地,所述第一客户操作系统向所述第二客户操作系统同步所述共享数据后,所述方法还包括:
21.所述第二客户操作系统通过第二一致性命令保证内存和/或缓存一致性,所述第二系统级芯片的上层应用读取所述共享数据,完成所述共享数据的跨系统传输。
22.可选地,所述第一客户操作系统和所述第二客户操作系统是数字化信息管理系统;以及
23.所述第一宿主操作系统和所述第二宿主操作系统是车载信息娱乐系统。
24.根据本发明另一方面,还提供了一种片上系统,包括:
25.第一系统级芯片,包括:
26.第一客户操作系统,配置成接收到数据共享请求时,将共享数据的键值和所占内存发送至第一宿主操作系统,且将所述共享数据填写至第一宿主操作系统分配出的内存空间中;且将所述共享数据的键值和所占内存发送至第二客户操作系统,接收所述第二客户操作系统发送的第二宿主操作系统为所述共享数据分配的内存空间的地址;对第二宿主操作系统分配的内存空间进行合法性校验;若校验通过,根据所述第二宿主操作系统分配的内存空间的地址将所述第一宿主操作系统分配的内存空间中的所述共享数据发送至所述第二宿主操作系统分配的内存空间中。
27.第一宿主操作系统,配置成为所述共享数据分配出内存空间;
28.第二系统级芯片,包括:
29.第一客户操作系统,配置成接收所述第一客户操作系统发送的所述共享数据的键值和所占内存,将所述共享数据的所占内存发送给第二宿主操作系统;获取第二宿主操作系统为所述共享数据分配出的内存空间,将第二宿主操作系统分配的内存空间的地址发送给所述第一客户操作系统;
30.第二宿主操作系统,配置成为所述共享数据分配出内存空间。
31.根据本发明的又一个方面,还提供了一种电子设备,其包括:
32.处理器;
33.存储有计算机程序的存储器;
34.当所述计算机程序被所述处理器运行时,导致所述电子设备执行如上述任一项所述的基于硬件隔离的跨系统数据共享方法。
35.根据本发明的再一个方面,还提供了一种机器可读存储介质,其上存储有机器可执行程序,其中
36.所述机器可执行程序被处理器执行时用于实现根据上述任一项所述的基于硬件隔离的跨系统数据共享方法。
37.本发明提出的方法中,首先第一系统级芯片的第一客户操作系统在接收到数据请求时,将共享数据的键值和所占内存发送至第一宿主操作系统,且将共享数据填写至第一宿主操作系统为共享数据分配的内存空间中。之后第一客户操作系统将共享数据的键值和所占内存发送至第二客户操作系统,获取第二客户操作系统将共享数据所占内存发送至第二宿主操作系统后、由第二宿主操作系统为共享数据分配的内存空间的地址。之后第一客户操作系统若对第二宿主操作系统分配的内存空间的合法性校验通过,第一客户操作系统根据地址将第一宿主操作系统分配的内存空间中的共享数据发送至第二宿主操作系统分配出的内存空间中。基于本发明提供的技术方案,向共享内存管理服务开发,向用户提供系统间统一的缓存池,解决系统间共享内存的申请释放原子性问题。
38.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
39.根据下文结合附图对本发明具体实施例的详细描述,本领域技术人员将会更加明了本发明的上述以及其他目的、优点和特征。
附图说明
40.后文将参照附图以示例性而非限制性的方式详细描述本发明的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
41.图1是根据本发明一个实施例的片上系统的架构图;
42.图2是根据本发明一个实施例的基于硬件隔离的跨系统数据共享方法的流程示意图;
43.图3是根据本发明一个实施例的电子设备的示意性结构框图;
44.图4是根据本发明一个实施例的机器可读存储介质的结构框图。
具体实施方式
45.下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围
完整的传达给本领域的技术人员。
46.需要说明的是,在不冲突的前提下本发明实施例及可选实施例中的技术特征可以相互结合。
47.硬件隔离指的在统一的计算平台上采用虚拟化方案,同时运行多个操作系统,但是各个系统依然在硬件上进行隔离,每个系统都有自己的专属硬件资源。
48.图1是根据本发明一个实施例的片上系统的架构图。参见图1所示,片上系统包括第一系统级芯片和第二系统级芯片,第一系统级芯片运行第一宿主操作系统和第一客户操作系统,第二系统级芯片运行第二宿主操作系统和第二客户操作系统。其中,
49.第一客户操作系统配置成接收到数据共享请求时,将共享数据的键值和所占内存发送至第一宿主操作系统,且将共享数据填写至第一宿主操作系统分配出的内存空间中;且将共享数据的键值和所占内存发送至第二客户操作系统,接收第二客户操作系统发送的第二宿主操作系统为共享数据分配的内存空间的地址;对第二宿主操作系统分配的内存空间进行合法性校验;若校验通过,根据第二宿主操作系统分配的内存空间的地址将第一宿主操作系统分配的内存空间中的共享数据发送至第二宿主操作系统分配的内存空间中。
50.第一宿主操作系统,配置成为共享数据分配出内存空间。
51.第二客户操作系统,配置成接收第一客户操作系统发送的共享数据的键值和所占内存,将共享数据的所占内存发送给第二宿主操作系统;获取第二宿主操作系统为共享数据分配出的内存空间,将第二宿主操作系统分配的内存空间的地址发送给第一客户操作系统。
52.第二宿主操作系统,配置成为共享数据分配出内存空间。
53.其中,第一系统级芯片和第二系统级芯片均为soc芯片,第一客户操作系统和第二客户操作系统为dim系统,即数字化信息管理系统,第一宿主操作系统和第二宿主操作系统为ivi系统,即车载信息娱乐系统。
54.宿主操作系统负责维护本芯片的分布式文件系统缓存池,缓存池作为系统间共享的数据载体,提供标准化分布式软总线的大数据传输接口,宿主操作系统系统负责预留内存的分配任务,客户操作系统负责远程调用宿主操作系统的预留内存物理地址,以保证共享内存申请的原子性。
55.另外,两个芯片均采用车载信息娱乐系统作为宿主操作系统,一方面是因为车载信息娱乐系统具备cpu资源等优势,另一方面是因为两个车载信息娱乐系统间存在直连的pcie(peripheral component interconnect express,高速串行的计算机扩展总线标准)物理总线。
56.参见图1所示,以第一客户操作系统向第二客户操作系统投屏应用为例说明本方案。
57.第一系统级芯片的第一客户操作系统的dfs middleware(分布式文件系统中间层)将投屏应用b3的键值和所占内存大小通过本系统的dfs driver(分布式文件系统驱动程序)发送给第一宿主操作系统的dfs driver(分布式文件系统驱动程序),第一宿主操作系统的dfs driver根据投屏应用所占内存大小从其缓存池中分配内存空间。第一宿主操作系统内的共享数据经由pcie dma controller(串行总线-内存直接访问控制器)-pcie(串行总线)-第二宿主操作系统的pcie dma controller(串行总线-内存直接访问控制器)传
输到第二宿主操作系统中,第二客户操作系统的dfs middleware(分布式文件系统中间层)经第二客户操作系统dfs driver-第二宿主操作系统dfs driver读取共享数据并完成投屏展示。
58.另外,第一宿主操作系统可以在特定时间点获取投屏应用b1/b2,按照以上流程投屏至第二客户操作系统。
59.图2是根据本发明一个实施例的基于硬件隔离的跨系统数据共享方法的流程示意图。参见图2所示,该方法可至少包括如下步骤s202-s206。
60.步骤s202:第一系统级芯片的第一客户操作系统在接收到数据共享请求时,将共享数据的键值和所占内存发送至第一宿主操作系统,且将共享数据填写至第一宿主操作系统为共享数据分配出的内存空间。
61.本发明一些实施例中,也可以是第一客户操作系统在特定时刻调用缓存接口,携带唯一键值和共享内存大小向第一宿主操作系统申请内存。
62.步骤s204:第一客户操作系统将共享数据的键值和所占内存发送至第二客户操作系统,获取第二客户操作系统将共享数据所占内存发送至第二宿主操作系统后、由第二宿主操作系统为共享数据分配的内存空间的地址。
63.步骤s206:第一客户操作系统若对第二宿主操作系统分配的内存空间的合法性校验通过,根据地址将第一宿主操作系统的内存空间中的共享数据发送至第二宿主操作系统的内存空间。
64.本发明实施例中,首先第一系统级芯片的第一客户操作系统在接收到数据请求时,将共享数据的键值和所占内存发送至第一宿主操作系统,且将共享数据填写至第一宿主操作系统为共享数据分配出的内存空间中。之后第一客户操作系统将共享数据的键值和所占内存发送至第二客户操作系统,获取第二客户操作系统将共享数据所占内存发送至第二宿主操作系统后、由第二宿主操作系统为共享数据分配的内存空间的地址。之后第一客户操作系统若对第二宿主操作系统分配的内存空间的合法性校验通过,第一客户操作系统根据地址将第一宿主操作系统分配的内存空间中的共享数据发送至第二宿主操作系统分配出的内存空间中。基于本发明提供的技术方案,向共享内存管理服务开发,向用户提供系统间统一的缓存池,解决系统间共享内存的申请释放原子性问题。
65.表1示出了dfs缓存分区规则,参见表1。
66.表1
[0067][0068]
参见表1所示,第一宿主操作系统包括多个大小不同的内存空间,每个空间对应存储不同大小和数量的数据块,具体地,内存空间1对应存储的数据块大小在4k~1m间,最小是4kb,存储的最小块个数是2048,空间大小为8mb。内存空间2对应存储的数据块大小在1m~8m(含1m)间,最小是64kb,存储的最小块个数是1024,空间大小为64mb。内存空间3对应存储的数据块大小为8m+(含8m),最小是1024kb,存储的最小块个数是512,空间大小为512mb。空间大小和存储的数据块大小成正比,空间越大,对应存储的数据块越大,每个空间的最小
数据块的尺寸和空间的页大小对齐。
[0069]
在本发明一些实施例中,上文步骤s202提到的第一宿主操作系统根据共享数据分配内存空间,包括:第一宿主操作系统根据共享数据所包含的数据块的数量和大小在多个内存空间中确定相应的内存空间,且将该内存空间作为存储共享数据的内存空间,其中,内存空间大小和数据块大小成正比。
[0070]
需要说明地是,内存空间个数、大小,内存空间所存储的数据块大小和数量可以根据实际情况设定,本发明不做过多限定。
[0071]
本发明根据共享数据的数据块大小和数量确定相应的内存空间,这样做能够有效解决缓存池因为碎片化严重导致无法分配大内存问题。通过缓存设定最小块,能够有效解决设备内存的字节对齐问题和碎片化问题。
[0072]
在本发明一个实施例中,步骤s204中提到的第一客户操作系统将共享数据的键值和所占内存发送至第二客户操作系统,具体地,第一客户操作系统向第二客户操作系统发送数据共享请求,携带共享数据的唯一键值和所占内存。然后第二客户操作系统向本地的第二宿主操作系统发起缓存申请。
[0073]
同样地,第二宿主操作系统中同样存在多个大小不同的内存空间,第二宿主操作系统在接收到共享数据时,采用上述提到的第一宿主操作系统分配内存空间方法分配内存空间,以避免内存碎片化。
[0074]
在本发明一个实施例中,第二宿主操作系统为共享数据分配内存空间后,该方法还包括:第二客户操作系统获取第二宿主操作系统分配的内存空间的地址,并在第二宿主操作系统分配的内存空间的地址与共享数据的键值间建立映射关系,将第二宿主操作系统分配的内存空间的地址发送给第一客户操作系统。
[0075]
在本发明一些实施例中,第一客户操作系统将共享数据填写至第一宿主操作系统为共享数据分配出内存空间中后,该方法还包括:第一客户操作系统通过第一一致性命令(flush dcache)保证内存和/或缓存一致性。
[0076]
另外,当第一客户操作系统根据地址将第一宿主操作系统的内存空间中的共享数据发送至第二宿主操作系统的内存空间后,该方法还包括:第一客户操作系统向第二客户操作系统发出同步命令,向第二客户操作系统同步共享数据。也就是说,第一客户操作系统告知第二客户操作系统,共享数据已经输出到第二宿主操作系统分配出的共享内存中了。
[0077]
另外,第一客户操作系统向第二客户操作系统同步共享数据后,该方法还包括:第二客户操作系统通过第二一致性命令(invalid dcache)保证内存和/或缓存一致性,第二系统级芯片的上层应用读取共享数据,完成共享数据的跨系统传输。
[0078]
本发明提出方法适用于所有硬件隔离的跨系统数据共享解决方案,特别是未来的智能座舱领域。现以智能座舱中,硬件隔离的仪表系统和中控系统为例,详细介绍本发明提出方案。
[0079]
第一系统级芯片的第一客户操作系统准备发起相机应用程序投屏至第二系统级芯片的第二客户操作系统。应用程序调用第一宿主操作系统的标准初始化接口,设置,携带唯一键值和共享内存大小。第一宿主操作系统系统根据共享内存大小分区管理原则,根据共享数据大小分配相应的内存空间。
[0080]
接下来,第一客户操作系统向第二系统级芯片的第二客户操作系统发送投屏请
求,携带唯一键值和共享内存大小。第二客户操作系统向本地的第二宿主操作系统发起缓存申请。
[0081]
其中,第一系统级芯片的第一客户操作系统的投屏发起应用和第二系统级芯片的第二客户操作系统的投屏接收应用使用相同的唯一键值。
[0082]
接下来,第二宿主操作系统根据共享内存大小和分区管理原则,根据共享数据大小分配相应的内存空间。
[0083]
接下来,第二客户操作系统获取第二宿主操作系统分配的内存空间的地址,将键值与该地址建立映射关系,将地址发送给第一客户操作系统。
[0084]
接下来,第一客户操作系统的业务驱动向第一宿主操作系统分配的内存填写相机应用程序数据,填写完后,通过第一一致性命令保证内存/缓存一致性。检查第二宿主操作系统分配的内存空间地址合法后,将第一宿主操作系统中的相机应用程序数据搬运至第二宿主操作系统分配的内存空间。
[0085]
接下来,第一客户操作系统向第二客户操作系统的投屏接收应用发出同步命令,向第二客户操作系统同步共享数据,即告知第二客户操作系统,共享数据已经输出到第二宿主操作系统分配出的共享内存中了。
[0086]
接下来,第二客户操作系统通过第二一致性命令保证内存/缓存一致性,投屏接收应用读取数据,完成单帧相机应用程序数据的跨芯片跨系统间传输。
[0087]
图3是根据本发明一个实施例的电子设备的示意性结构框图。参见图3所示,基于同一发明构思,本发明还提出了一种电子设备300,其包括:
[0088]
处理器310;
[0089]
存储有计算机程序321的存储器320;
[0090]
当计算机程序321被处理器310运行时,导致电子设备300执行如上述任一实施例中的基于硬件隔离的跨系统数据共享方法。
[0091]
图4是根据本发明一个实施例的机器可读存储介质的结构框图。参见图4所示,基于同一发明构思,本发明还提出了一种机器可读存储介质400,其上存储有机器可执行程序410,其中
[0092]
机器可执行程序被处理器执行时用于实现根据上述任一项实施例中的基于硬件隔离的跨系统数据共享方法。
[0093]
机器可读存储介质400可以是可以保持和存储由指令执行设备使用的指令的有形设备。机器可读存储介质400例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。机器可读存储介质400的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(randomaccess memory,ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器(electrically programmable read-only-memory,eprom或闪存)、静态随机存取存储器(static random-access memory,sram)、便携式压缩盘只读存储器(compact disc read-only memory,cd-rom)、数字多功能盘(digital video disc,dvd)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
[0094]
这里所描述的机器可执行程序410或代码可以从机器可读存储介质400下载到各
个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机程序,并转发该计算机程序,以供存储在各个计算/处理设备中的机器可读存储介质400中。
[0095]
用于执行本技术操作的机器可执行程序410可以是汇编指令、指令集架构(instruction set architecture,isa)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,编程语言包括面向对象的编程语言—诸如smalltalk、c++等,以及常规的过程式编程语言—诸如“c”语言或类似的编程语言。计算机程序可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(local area network,lan)或广域网(widearea network,wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机程序的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(field-programmablegate array,fpga)或可编程逻辑阵列(programmable logic array,pla),该电子电路可以执行计算机程序,从而实现本技术的各个方面。
[0096]
这里参照根据本技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序实现。
[0097]
这些机器可执行程序410可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些机器可执行程序410存储在机器可读存储介质400中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有机器可执行程序410的机器可读存储介质400则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
[0098]
至此,本领域技术人员应认识到,虽然本文已详尽示出和描述了本发明的多个示例性实施例,但是,在不脱离本发明精神和范围的情况下,仍可根据本发明公开的内容直接确定或推导出符合本发明原理的许多其他变型或修改。因此,本发明的范围应被理解和认定为覆盖了所有这些其他变型或修改。
技术特征:
1.一种基于硬件隔离的跨系统数据共享方法,应用于片上系统,所述片上系统包括第一系统级芯片和第二系统级芯片,所述第一系统级芯片运行第一宿主操作系统和第一客户操作系统,所述第二系统级芯片运行第二宿主操作系统和第二客户操作系统,所述方法包括:所述第一系统级芯片的第一客户操作系统在接收到数据共享请求时,将共享数据的键值和所占内存发送至所述第一宿主操作系统,且将所述共享数据填写至所述第一宿主操作系统为所述共享数据分配出的内存空间;所述第一客户操作系统将所述共享数据的键值和所占内存发送至所述第二客户操作系统,获取所述第二客户操作系统将所述共享数据所占内存发送至所述第二宿主操作系统后、由所述第二宿主操作系统为所述共享数据分配的内存空间的地址;所述第一客户操作系统若对所述第二宿主操作系统分配的内存空间的合法性校验通过,根据所述地址将所述第一宿主操作系统的内存空间中的所述共享数据发送至所述第二宿主操作系统的内存空间。2.根据权利要求1所述的方法,其特征在于,所述第一宿主操作系统包括多个大小不同的内存空间,多个所述内存空间对应存储不同大小和数量的数据块,所述第一宿主操作系统为所述共享数据分配内存空间,包括:所述第一宿主操作系统根据所述共享数据包含的数据块的数量和大小在多个所述内存空间中确定相应的内存空间,且将该内存空间作为存储所述共享数据的内存空间,其中,所述内存空间大小和所述数据块大小成正比。3.根据权利要求1所述的方法,其特征在于,所述第二宿主操作系统根据所述共享数据所占内存分配内存空间后,所述方法还包括:所述第二客户操作系统获取所述第二宿主操作系统分配的内存空间的地址,并在该内存空间的地址与所述共享数据的键值间建立映射关系,将该内存空间的地址发送给所述第一客户操作系统。4.根据权利要求1所述的方法,其特征在于,所述第一客户操作系统将所述共享数据填写至所述第一宿主操作系统根据所述共享数据所占内存分配出的内存空间中后,所述方法还包括:所述第一客户操作系统通过第一一致性命令保证内存和/或缓存一致性。5.根据权利要求1所述的方法,其特征在于,所述第一客户操作系统根据所述地址将所述第一宿主操作系统的内存空间中的所述共享数据发送至所述第二宿主操作系统的内存空间,所述方法还包括:所述第一客户操作系统向所述第二客户操作系统发出同步命令,向所述第二客户操作系统同步所述共享数据。6.根据权利要求5所述的方法,其特征在于,所述第一客户操作系统向所述第二客户操作系统同步所述共享数据后,所述方法还包括:所述第二客户操作系统通过第二一致性命令保证内存和/或缓存一致性,所述第二系统级芯片的上层应用读取所述共享数据,完成所述共享数据的跨系统传输。7.根据权利要求1所述的方法,其特征在于,所述第一客户操作系统和所述第二客户操作系统是数字化信息管理系统;以及
所述第一宿主操作系统和所述第二宿主操作系统是车载信息娱乐系统。8.一种片上系统,包括:第一系统级芯片,包括:第一客户操作系统,配置成接收到数据共享请求时,将共享数据的键值和所占内存发送至第一宿主操作系统,且将所述共享数据填写至第一宿主操作系统分配出的内存空间中;且将所述共享数据的键值和所占内存发送至第二客户操作系统,接收所述第二客户操作系统发送的第二宿主操作系统根据所述共享数据所占内存分配的内存空间的地址;对第二宿主操作系统分配的内存空间进行合法性校验;若校验通过,根据所述第二宿主操作系统分配的内存空间的地址将所述第一宿主操作系统分配的内存空间中的所述共享数据发送至所述第二宿主操作系统分配的内存空间中。第一宿主操作系统,配置成为所述共享数据的分配出内存空间;第二系统级芯片,包括:第一客户操作系统,配置成接收所述第一客户操作系统发送的所述共享数据的键值和所占内存,将所述共享数据的所占内存发送给第二宿主操作系统;获取第二宿主操作系统为所述共享数据分配出的内存空间,将第二宿主操作系统分配的内存空间的地址发送给所述第一客户操作系统;第二宿主操作系统,配置成为所述共享数据分配出内存空间。9.一种电子设备,其特征在于,包括:处理器;存储有计算机程序的存储器;当所述计算机程序被所述处理器运行时,导致所述电子设备执行如权利要求1-7中任一项所述的基于硬件隔离的跨系统数据共享方法。10.一种机器可读存储介质,其上存储有机器可执行程序,其中所述机器可执行程序被处理器执行时用于实现根据权利要求1-7中任一项所述的基于硬件隔离的跨系统数据共享方法。
技术总结
本发明提供了一种基于硬件隔离的跨系统数据共享方法、电子设备及介质,该方法中,首先第一系统级芯片的第一客户操作系统在接收到数据请求时,将共享数据的键值和所占内存发送至第一宿主操作系统,且将共享数据填写至第一宿主操作系统根据共享数据分配出内存空间中。之后第一客户操作系统将共享数据的键值和所占内存发送至第二客户操作系统,获取第二宿主操作系统根据共享数据分配的内存空间的地址。之后第一客户操作系统将第一宿主操作系统分配的内存空间中的共享数据发送至第二宿主操作系统分配出的内存空间中。基于本发明提供的技术方案,向用户提供系统间统一的缓存池,解决系统间共享内存的申请释放原子性问题。决系统间共享内存的申请释放原子性问题。决系统间共享内存的申请释放原子性问题。
技术研发人员:赵拯
受保护的技术使用者:亿咖通(湖北)技术有限公司
技术研发日:2023.06.08
技术公布日:2023/9/12
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/
上一篇:一种气阀激光打标系统的制作方法 下一篇:批量管理边缘节点的方法、装置及系统与流程