一种双控制器之间传输文件的方法与流程

文档序号:12596017阅读:252来源:国知局
一种双控制器之间传输文件的方法与流程

本发明涉及计算机应用技术,更具体的说,涉及一种双控制器之间传输文件的方法。



背景技术:

在系统设计中,设计师们面临的重要挑战是既要支持高可靠性(HA,High Availability),又要使系统尽可能简单、有效。PCI Express、基于PCIExpress的高级交换架构(Advanced Switching Architecture)、基于PCI Express的服务质量(QOS,Quality-Of-Service)特性以及PCI-Express非透明桥(NTB,Non-Transparent Bridge)的出现,共同为这样的系统设计提供了一个非常有发展潜力的解决方案。PCI Express技术是一个比较新的互连标准,该技术适用于高性能的芯片到芯片、板子到板子、背板和机箱之间的互连。它是PCI标准的一个演进版本,因此,在软件结构上仍保持着对PCI的兼容性。

在非透明桥环境中,PCI Express系统需要在从一个内存地址空间穿越到另一个地址空间时进行地址翻译。每一个非透明桥端口都有两套基地址寄存器(BAR),一套是给主设备端用的,另一套是给从设备端用的。基地址寄存器可用来定义在非透明桥另一端的内存地址空间的地址翻译窗口,并允许这个翻译被映射到本地的内存或I/O空间。每个BAR定义了一个设置寄存器(setup register),可用来定义窗口的大小、类型以及一个地址翻译寄存器。与透明桥基于总线号转发所有CSRs不同,非透明桥设备只接受针对本设备的CSR事务。其地址翻译技术有直接地址翻译和查表地址翻译两种。

非透明桥允许桥两边的主机通过便笺寄存器、门铃寄存器和心跳消息来交换一些状态信息。便笺寄存器在非透明桥的两端都是可读写的,但是,便笺寄存器的数量在具体的实现中是可以不同的。他们可以被桥两边的设备用来传送一些状态信息,也可作为通用的可读可写寄存器使用。门铃寄存器被用来从非透明桥的一边向另一边发送中断。非透明桥的两边一般都有软件可以控制的中断请求寄存器和相应的中断屏蔽寄存器。这些寄存器在非透明桥的两边都是可以被访问的。心跳消息一般来自主设备端往从设备端的主机,可用来指示它还活着。从设备主机可监控主设备主机的状态,如果发现出错,它就可以采取一些必要的措施。通过门铃寄存器可以传送心跳消息。当从设备主机没有收到一定数量预先规定好的心跳消息时,就可以认为主设备的主机出错。

在现有技术中,双控制器产品的两个控制器之间目前缺乏传输文件的手段,主要通过网络连接传输。然而,网络传输经常出现网络问题,或者网线掉落等不稳定因素。



技术实现要素:

本申请提出一种双控制器之间传输文件的方法。

本申请的技术方案如下:

一种双控制器之间传输文件的方法,包括:

第一控制器分配第一内存区域,第二控制器分配第二内存区域;

第一控制器分配第一内存地址空间,通过非透明桥将第二内存区域映射到第一内存地址空间,第二控制器分配第二内存地址空间,通过非透明桥将第一内存区域映射到第二内存地址空间;

第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。

在一个实施方式中,该方法还包括:

第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件。

在一个实施方式中,第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件包括:

第一控制器格式化第一内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;

第一控制器写文件之后卸载ext文件系统,并通知第二控制器读取文件;

第二控制器挂载第二内存区域以读取文件。

在一个实施方式中,第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件包括:

第二控制器格式化第二内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;

第二控制器写文件之后卸载ext文件系统,并通知第一控制器读取文件;

第一控制器挂载第一内存区域以读取文件。

从上述技术方案可以看出,本发明实施方式包括:第一控制器分配第一内存区域,第二控制器分配第二内存区域;第一控制器分配第一内存地址空间,通过非透明桥将第一内存地址空间映射到第二内存区域,第二控制器分配第二内存地址空间,通过非透明桥将第二内存地址空间映射到第一内存区域;第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。由此可见,本发明实施方式实现了在双控器之间基于非透明桥(NTB)技术传输文件,可以避免网络连接传输方式中网线掉落等不稳定因素。

附图说明

图1为根据本发明双控制器之间传输文件的方法流程图;

图2为根据本发明双控制器之间传输文件的示意图。

具体实施方式

为了使本申请的目的、技术手段和优点更加清楚明白,以下结合附图对本申请做进一步详细说明。

本发明实施方式提出一种双控器之间基于NTB设备传输文件的方法。

图1为根据本发明双控制器之间传输文件的方法流程图。

如图1所示,该方法包括:

步骤101:第一控制器分配第一内存区域,第二控制器分配第二内存区域。

步骤102:第一控制器分配第一内存地址空间,通过非透明桥将第二内存区域映射到第一内存地址空间,第二控制器分配第二内存地址空间,通过非透明桥将第一内存区域映射到第二内存地址空间。

步骤103:第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。

因此,本发明实施方式还可以实施第一控制器向第二控制器传输文件。

在一个实施方式中,该方法还包括:

第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件。

因此,本发明实施方式还可以实施第二控制器向第一控制器传输文件。

在一个实施方式中,第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件包括:

第一控制器格式化第一内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;

第一控制器写文件之后卸载ext文件系统,并通知第二控制器读取文件;

第二控制器挂载第二内存区域以读取文件。

在一个实施方式中,第二控制器格式化第二内存地址空间为文件系统,并向该文件系统写入文件,第一控制器挂载第一内存区域以获取该文件包括:

第二控制器格式化第二内存地址空间为ext文件系统,挂载该ext文件系统,并向该ext文件系统写文件;

第二控制器写文件之后卸载ext文件系统,并通知第一控制器读取文件;

第一控制器挂载第一内存区域以读取文件。

优选地,ext文件系统可以实施为ext3文件系统。ext3文件系统为第三代扩展文件系统(Third extended filesystem,ext3),是一个日志文件系统,常用于Linux操作系统。它是很多Linux发行版的默认文件系统。

下面结合实例对本发明进行说明。

图2为根据本发明双控制器之间传输文件的示意图。

在图2中,双控制器包括控制器A和控制器B。

控制器A在自身内存中分配一块内存区域(Laddr_start_a到Laddr_end_a),作为一个内存块设备ldev_a;控制器B在自身内存中分配一块内存区域(Laddr_start_b到Laddr_end_b),作为另一个内存块设备ldev_b。

而且,控制器A分配一段内存地址空间(Raddr_start_a到Raddr_end_a)作为一个内存块设备Rdev_a,并且通过NTB映射到对端(即控制器B)的实际物理内存地址Laddr_start_b到Laddr_end_b。

类似地,控制器B分配一段内存地址空间(Raddr_start_b到Raddr_end_b)作为一个内存块设备Rdev_b,并且通过NTB映射到对端(即控制器A)的实际物理内存地址Laddr_start_a到Laddr_end_a。

然后,控制器A和控制器B中的每一个,都可以通过文件系统格式化各自的Rdev内存块设备,并且通过mount挂载文件系统,可以往该文件系统里面写文件,对端控制器可以通过挂载对应的内存块设备查看文件内容。

下面以控制器A往控制器B传输文件为例进行说明:

控制器A格式化Rdev_a为ext3文件系统。通过mount挂载该文件系统,就可以往该文件系统里面写文件或者拷贝文件。具体包括:

mkfs.ext3-f/dev/Rdev_a

mount–t ext3/dev/Rdev_a/mnt/Rdev_a

然后,控制器A拷贝需要传输到控制器B的文件file到/mnt/Rdev_a。具体包括:

cp file/mnt/Rdev_a

接着,控制器A在拷贝完文件后,通过umount卸载该文件系统(umount/mnt/Rdev_a),并中断通知控制器B可以去读取该文件数据。

然后,控制器B通过挂载内存块设备Ldev_b,(mount–t ext3/dev/Ldev_b/mnt/ldev_b),就可以在/mnt/ldev_b目录下面获取控制器A传输过来的文件file。

类似地,基于同样的操作步骤,控制器B可以写文件到Rdev_b设备,控制器A通过读取ldev_a获取文件。

综上所述,本发明实施方式包括:第一控制器分配第一内存区域,第二控制器分配第二内存区域;第一控制器分配第一内存地址空间,通过非透明桥将第一内存地址空间映射到第二内存区域,第二控制器分配第二内存地址空间,通过非透明桥将第二内存地址空间映射到第一内存区域;第一控制器格式化第一内存地址空间为文件系统,并向该文件系统写入文件,第二控制器挂载第二内存区域以获取该文件。由此可见,本发明实施方式实现了在双控器之间基于非透明桥(NTB)技术传输文件,可以避免网络连接传输方式中网线掉落等不稳定因素。

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1