计算机及设备访问方法与流程

文档序号:17149226发布日期:2019-03-19 23:16阅读:235来源:国知局
计算机及设备访问方法与流程

本发明实施例涉及计算机技术,尤其涉及一种计算机及设备访问方法。



背景技术:

每个计算机的基本设备包括:运算器、控制器、储存器、输入及输出设备,该些设备通过系统总线连接在一起。其中,运算器、控制器合称处理器。位于同一通信网络中的不同计算机通过交换机连接在一起,每个计算机分别通过调用各自计算机内的设备进行工作,不同计算机通过该交换机进行网络通信。

由于每个计算机仅可调用自身的设备,若运行业务不同,其内部的设备使用情况参差不齐,这使得计算任务量过大的一些计算机可调用的设备不够,而另外一部分计算机的设备过剩。该些不同计算机必须满足预设网络协议,如传输控制协议(Transmission Control Protocol,简称TCP)、互联网协议(Internet Protocol,简称IP)或互联网打印协议(Internet Printing Protocol,简称IPP)等,才可实现不同计算机间的设备共享。

然而,对于不满足网络协议的计算机,由于无法实现设备共享,其设备的利用率较低。



技术实现要素:

本发明实施例提供一种计算机及设备访问方法,以解决现有技术中对于不满足网络协议的计算机,设备利用率较低的问题。

第一方面,本发明实施例提供一种计算机,包括处理器、资源控制器和本地物理设备,其中,所述处理器与所述资源控制器和所述本地物理设备连接,所述资源控制器与远端物理设备连接;其中,所述远端物理设备是另外一个计算机的物理设备;

所述处理器,用于向所述资源控制器发送虚拟设备的写操作请求;所述写操作请求包括所述虚拟设备的访问地址;

所述资源控制器,用于根据所述虚拟设备的访问地址,及预设的虚拟物理设备对应表,确定所述虚拟设备对应的远端物理设备的访问地址,并根据所述远端物理设备的访问地址将所述写操作请求发送至所述虚拟设备对应的远端物理设备;其中,所述写操作请求用于指示所述虚拟设备对应的远端物理设备执行写数据操作;所述虚拟物理设备对应表记录所述虚拟设备的访问地址和所述虚拟设备对应的远端物理设备的访问地址的对应关系;所述虚拟设备的访问地址及所述远端物理设备的访问地址均为所述资源控制器配置的。

根据第一方面,在第一方面的第一种可能实现的方式中,所述虚拟设备为虚拟网卡;所述虚拟设备对应的远端物理设备包括至少一个物理网卡;或者,

所述虚拟设备为虚拟存储设备;所述虚拟设备对应的远端物理设备包括至少一个物理存储设备;或者,

所述虚拟设备为虚拟加速器;所述虚拟设备对应的远端物理设备包括至少一个物理加速器。

根据第一方面或第一方面的第一种可能实现的方式,在第二种可能实现的方式中,所述资源控制器,还用于根据接收到的输入设备发送的配置信息或预设脚本为所述虚拟设备确定至少一个寄存器,根据基地址及第一地址偏移量为所述至少一个寄存器配置所述虚拟设备的访问地址;其中,所述基地址为所述处理器为所述资源控制器所配置的;所述虚拟设备的访问地址为所述虚拟设备的类型对应的虚拟设备访问地址。

根据第一方面的第二种可能实现的方式,在第三种可能实现的方式中,所述资源控制器,还用于若所述计算机中所述虚拟设备的类型对应的设备充足,而其他类型的设备不足,将所述虚拟设备的访问地址切换为所述其他类型的虚拟设备的访问地址。

根据第一方面的第三种可能实现的方式,在第四种可能实现的方式中,所述资源控制器,还用于通过模拟热移除操作将所述虚拟设备的访问地址从所述虚拟物理设备对应表中删除,配置所述其他类型的虚拟设备的访问地址,通过模拟热添加操作将所述其他类型的虚拟设备的访问地址添加至所述虚拟物理设备对应表。

根据第一方面的第二种至第四种可能实现的方式中任意一种,在第五种可能实现的方式中,所述资源控制器,还用于在与所述远端物理设备进行连接时,根据所述基地址及第二地址偏移量为所述虚拟设备对应的远端物理设备配置所述远端物理设备的访问地址。

根据第一方面至第一方面的第五种可能实现的方式中任意一种,在第六种可能实现的方式中,所述虚拟设备对应的远端物理设备包括:至少两个物理设备;

所述至少两个物理设备,包括:同一计算机的至少两个物理设备;和/或,不同计算机的至少两个物理设备;

所述资源控制器,还用于将所述写操作请求划分为至少两个子请求,并将所述至少两个子请求分别发送至所述至少两个物理设备;所述至少两个子请求分别用于指示所述至少两个物理设备中对应物理设备执行写数据操作。

根据第一方面至第一方面的第六种可能实现的方式中任意一种,在第七种可能实现的方式中,所述资源控制器,还用于接收所述虚拟设备对应的远端物理设备发送的读操作通知消息,并将所述读操作通知消息发送至所述处理器;所述读操作通知消息包括:所述虚拟设备对应的远端物理设备执行读数据操作获取的数据;

所述处理器,还用于根据所述读操作通知消息获取所述虚拟设备对应的远端物理设备执行读数据操作获取的数据。

根据第一方面的第七种可能实现的方式,在第八种可能实现的方式中,所述处理器,还用于向所述资源控制器发送所述虚拟设备的读操作请求;所述读操作请求包括所述虚拟设备的访问地址;

所述资源控制器,还用于根据所述虚拟设备的访问地址,和所述虚拟物理设备对应表确定所述虚拟设备对应的远端物理设备,并将所述读操作请求发送至所述虚拟设备对应的远端物理设备。

根据第一方面至第一方面的第八种可能实现的方式中任意一种,在第九种可能实现的方式中,所述计算机,还包括:单根虚拟化设备;所述单根虚拟化设备与所述资源控制器连接;

所述单根虚拟化设备,用于通过单根虚拟化技术将所述资源控制器转化为至少一个虚拟功能VF端点;

所述资源控制器,还用于为不同的VF端点配置不同类型的虚拟设备。

第二方面,本发明实施例提供一种设备访问方法,所述方法由计算机执行,其特征在于,所述计算机包括处理器、资源控制器和本地物理设备;所述方法包括:

所述处理器向所述资源控制器发送虚拟设备的写操作请求;所述写操作请求包括:所述虚拟设备的访问地址;

所述资源控制器根据所述虚拟设备的访问地址,及预设的虚拟物理设备对应表,确定所述虚拟设备对应的远端物理设备的访问地址;

所述资源控制器根据所述远端物理设备的访问地址将所述写操作请求发送至所述虚拟设备对应的远端物理设备;其中,所述虚拟设备对应的远端物理设备是另外一个计算机的物理设备;所述写操作请求用于指示所述虚拟设备对应的远端物理设备执行写数据操作;所述虚拟物理设备对应表记录所述虚拟设备的访问地址和所述虚拟设备对应的远端物理设备的访问地址的对应关系;所述虚拟设备的访问地址及所述远端物理设备的访问地址均为所述资源控制器配置的。

根据第二方面,在第二方面的第一种可能实现的方式中,所述虚拟设备为虚拟网卡;所述虚拟设备对应的远端物理设备包括至少一个物理网卡;或者,

所述虚拟设备为虚拟存储设备;所述虚拟设备对应的远端物理设备包括至少一个物理存储设备;或者,

所述虚拟设备为虚拟加速器;所述虚拟设备对应的远端物理设备包括至少一个物理加速器。

根据第二方面或第二方面的第一种可能实现的方式,在第二种可能实现的方式中,所述资源控制器根据所述虚拟设备的访问地址,及预设的虚拟物理设备对应表,确定所述虚拟设备对应的远端物理设备的访问地址之前,还包括:

所述资源控制器根据接收到的输入设备发送的配置信息或预设脚本为所述虚拟设备确定至少一个寄存器,并根据基地址及第一地址偏移量为所述至少一个寄存器配置所述虚拟设备的访问地址;其中,所述基地址为所述处理器为所述资源控制器所配置的;所述虚拟设备的访问地址为所述虚拟设备的类型对应的虚拟设备访问地址。

根据第二方面的第二种可能实现的方式,在第三种可能实现的方式中,所述方法还包括:

若所述计算机中所述虚拟设备的类型对应的设备充足,而其他类型的设备不足,所述资源控制器将所述虚拟设备的访问地址切换为所述其他类型的虚拟设备的访问地址。

根据第二方面的第三种可能实现的方式,在第四种可能实现的方式中,所述资源控制器将所述虚拟设备的访问地址切换为所述其他类型的虚拟设备的访问地址包括:

所述资源控制器通过模拟热移除操作将所述虚拟设备的访问地址从所述虚拟物理设备对应表中删除,配置所述其他类型的虚拟设备的访问地址,并通过模拟热添加操作将所述其他类型的虚拟设备的访问地址添加至所述虚拟物理设备对应表。

根据第二方面的第二种至第四种可能实现的方式中任意一种,在第五种可能实现的方式中,所述资源控制器根据所述虚拟设备的访问地址,及预设的虚拟物理设备对应表,确定所述虚拟设备对应的远端物理设备的访问地址之前,还包括:

所述资源控制器在与所述远端物理设备进行连接时,根据所述基地址及第二地址偏移量为所述虚拟设备对应的远端物理设备配置所述远端物理设备的访问地址。

根据第二方面至第二方面的第五种可能实现的方式中任意一种,在第六种可能实现的方式中,所述虚拟设备对应的远端物理设备包括:至少两个物理设备;

所述至少两个物理设备,包括:同一计算机的至少两个物理设备;和/或,不同计算机的至少两个物理设备;

所述资源控制器将所述写操作请求发送至所述虚拟设备对应的远端物理设备,包括:

所述资源控制器将所述写操作请求划分为至少两个子请求,并将所述至少两个子请求分别发送至所述至少两个物理设备;所述至少两个子请求分别用于指示所述至少两个物理设备中对应物理设备执行写数据操作。

根据第二方面至第二方面的第六种可能实现的方式,在第七种可能实现的方式中,所述方法还包括:

所述资源控制器接收所述虚拟设备对应的远端物理设备发送的读操作通知消息,并将所述读操作通知消息发送至所述处理器;所述读操作通知消息包括:所述虚拟设备对应的远端物理设备执行读数据操作获取的数据;

所述处理器根据所述读操作通知消息获取所述虚拟设备对应的远端物理设备执行读数据操作获取的数据。

根据第二方面的第七种可能实现的方式,在第八种可能实现的方式中,所述资源控制器接收所述虚拟设备对应的远端物理设备发送的读操作通知消息之前,还包括:

所述资源控制器接收所述处理器发送的所述虚拟设备的读操作请求;所述读操作请求包括所述虚拟设备的访问地址;

所述资源控制器根据所述虚拟设备的访问地址,及所述虚拟物理设备对应表确定所述虚拟设备对应的远端物理设备,并将所述读操作请求发送至所述虚拟设备对应的远端物理设备。

根据第二方面至第二方面的第八种可能实现的方式中任意一种,在第九种可能实现的方式中,所述计算机还包括单根虚拟化设备;所述方法还包括:

所述单根虚拟化设备通过单根虚拟化技术转化为至少一个VF端点;

所述资源控制器为不同的VF端点配置不同类型的虚拟设备。

本发明实施例提供的计算机及设备访问方法,可通过处理器向资源控制器发送虚拟设备的写操作请求,并由该资源控制器根据该写操作请求中包括的该虚拟设备的访问地址及预设的虚拟物理设备对应表,确定该虚拟设备对应的物理设备的访问地址,并根据该物理设备的访问地址将该写操作请求发送至该虚拟设备对应的远端物理设备,其中,该虚拟设备对应的远端物理设备是另外一个计算机的物理设备;该写操作请求用于指示该虚拟设备对应的远端物理设备执行写数据操作,由于该虚拟设备的访问地址及该远端物理设备的访问地址均为该资源控制器配置的,因而该计算机与另外一个计算机的物理设备,即该远端物理设备之间无需满足网络协议,该计算机的处理器还可通过将写操作请求发送至该远端物理设备,使得该另外一个计算机的物理设备执行写数据操作,实现该计算机对其他计算机的物理设备的访问,提高设备利用率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例一所提供的计算机的结构示意图;

图2为本发明实施例三所提供的计算机的结构示意图;

图3为本发明实施例四所提供的资源访问方法的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

本发明实施例一提供一种计算机。图1为本发明实施例一所提供的计算机的结构示意图。如图1所示,计算机100包括:处理器101、资源控制器102及本地物理设备103。处理器101与资源控制器102和本地物理设备103连接,资源控制器102还与远端物理设备104连接。其中,远端物理设备104是另外一个计算机的物理设备。

处理器101,用于向资源控制器102发送虚拟设备的写操作请求。该写操作请求包括该虚拟设备的访问地址。

资源控制器102,用于根据该虚拟设备的访问地址,及预设的虚拟物理设备对应表,确定该虚拟设备对应的远端物理设备的访问地址,并根据该远端物理设备的访问地址将该写操作请求发送至该虚拟设备对应的远端物理设备。其中,该写操作请求用于指示该虚拟设备对应的远端物理设备执行写数据操作。该虚拟物理设备对应表记录该虚拟设备的访问地址和该虚拟设备对应的远端物理设备的访问地址的对应关系。该虚拟设备的访问地址及该远端物理设备的访问地址均为资源控制器102配置的。

具体地,处理器101可以为计算机中的中央处理器(Central Processing Unit,简称CPU)。在本实施例方案中,处理器101可以是任一类型的处理器,如X86处理器或高级精简指令集机器(Advanced Reduced Instruction Set Computing Machine,简称ARM)处理器等。该写操作请求例如可以为处理器101的出站请求(Outbound Request)。

资源控制器102可以为微处理器的集成电路芯片或单片微型计算机((Single Chip Microcomputer,简称SCM)。处理器101可以是通过系统总线与资源控制器102连接。该系统总线例如可以为外围组件互联(Peripheral Component Interconnect,简称PCI)总线、高速外围组件互联(Peripheral Component Interconnect Express,简称PCIe)总线、先进微控制器总线架构(Advanced Microcontroller Bus Architecture,简称AMBA)总线等任一类的系统总线。处理器101及资源控制器102可以根据连接方式如系统总线的类型,分别具有对应类型的连接接口。资源控制器102例如可以是通过插卡连接在系统总线对应的接口上与处理器101连接。需要说明的是,处理器101也可以是通过插卡连接在系统总线上对应的接口上。假设,若处理器101为X86处理器,则该系统可以为PCIe总线,那么资源控制器102可以为PCIe端点。若处理器101为ARM,则该系统总线可以为AMBA总线。

远端物理设备104是另外一个计算机的物理设备。远端物理设备104可以为与其他计算机内部的处理器连接的物理设备,如输入输出(Input Output)设备。

资源控制器102可以是通过非透明桥(Non-Transparent Bridge,简称NTB),如PCIe的NTB,与远端物理设备104连接。举例来说,该远端物理设备104可以是通过NTB以小型计算机系统接口(Small Computer System Interface,简称SCSI)的方式连接在资源控制器102上。在资源控制器102中至少还包括:资源控制器102与远端物理设备104之间的连接接口通信协议,及对于预设类型的虚拟设备资源的加速引擎软件等。本实施例中仅以NTB的连接方式进行举例说明,资源控制器102与远端物理设备104的连接方式并不以此为限,还可以是通过其他方式与远端物理设备104连接。

该远端物理设备104可包括至少一种类型的物理设备,每组类型的物理设备可包括该类型的至少一个物理设备。

资源控制器102中的虚拟设备可以通过该虚拟设备的访问地址表示,不同的虚拟设备具有不同的访问地址,分别用于表示不同类型的虚拟设备。资源控制器102中的虚拟设备还可以是通过预设的虚拟设备的标识表示,不同的虚拟设备具有不同的标识,分别用于表示不同类型的虚拟设备。上述资源控制器102所接收到的该虚拟设备的写操作请求中包括的该虚拟设备的访问地址,可以为该虚拟设备的类型对应的访问地址。

该虚拟设备对应的远端物理设备的类型可以与该虚拟设备的类型可以相同。该虚拟物理设备对应表,例如可以是在本实施例方案之前,由资源控制器102建立的该远端物理设备与该虚拟设备的映射关系表,在远端物理设备104中该虚拟物理设备对应的远端物理设备可包括与该虚拟设备的类型相同的至少一个物理设备和/或一个物理设备的至少一个分区。

资源控制器102根据该虚拟设备的访问地址及该虚拟物理设备对应表,可以是在该虚拟物理设备对应表中查询该虚拟设备的访问地址,进而确定与该虚拟设备的访问地址对应的访问地址为该虚拟设备对应的远端物理设备的访问地址。资源控制器102根据该远端物理设备的访问地址,确定该虚拟设备对应的远端物理设备,继而将该写操作请求发送至该虚拟设备对应的远端物理设备。

该写操作请求用于指示该虚拟设备对应的远端物理设备执行写数据操作,也就是说,该虚拟设备的远端物理设备在接收到该写操作请求时,可根据该远端物理设备的该写操作请求执行写数据操作。需要说明的是,该写操作请求中还可包括待写入数据,那么该虚拟设备对应的远端物理设备还可根据该写操作请求将该待写入数据写入该虚拟设备对应的远端物理设备内。

然而,在现有技术中,一个计算机中的处理器,若访问该另外一个计算机的物理设备,如向该另外一个计算机的物理设备中写入数据。由于该计算机与该另外一个计算机属于不同的计算机系统,也就是说,在各计算机内部的各本地物理设备的访问地址均为对应计算机内部的处理器所配置的,因此具有不同的编址规则或编址方式等。那么,对于该计算机及该另外一个计算机,均需满足相同的预设网络协议,该另外一个计算机的物理设备才可对接收到的该访问信令中的访问地址进行解析从而执行对应的操作。也就是说,现有技术中,无论该另外一个计算机的物理设备是资源池中的物理设备,还是与该计算机通过网络连接的另一计算机的物理设备,若该计算机与该另外一个计算机的物理设备不满足预设网络协议,即使该访问信令可发送至该另外一个计算机的物理设备,该另外一个计算机的物理设备也无法根据该访问信令执行相应操作。

本发明实施例所提供的计算机,可通过处理器向资源控制器发送虚拟设备的写操作请求,并由该资源控制器根据该虚拟设备的写操作请求中包括的该虚拟设备的访问地址,及预设的该虚拟设备对应表,确定该虚拟设备对应的远端物理设备的访问地址,并根据该远端物理设备的访问地址将该写操作请求发送至该虚拟设备对应的物理设备,其中,该虚拟设备对应的远端物理设备是另外一个计算机的物理设备;该写操作请求用于指示该虚拟设备对应的远端设备执行写数据操作,由于该虚拟设备的访问地址及该远端物理设备的访问地址均为该资源控制器配置的,因而该计算机与该另外一个计算机的物理设备,即该远端物理设备无需满足网络协议,该计算机的处理器还可通过将写操作请求发送至该远端物理设备,使得该远端物理设备执行写数据操作,实现该计算机对另外一个计算机中物理设备的访问,提高设备利用率。

实施例二

本发明实施例还提供一种计算机。

进一步地,如上所述的该虚拟设备可以为:虚拟网卡;对应的,该虚拟设备对应的远端物理设备可包括:至少一个物理网卡。

可替代地,该虚拟设备还可以为虚拟存储设备,对应的,该虚拟设备对应的远端物理设备可以包括至少一个物理存储设备。

可替代地,该虚拟设备还可以为虚拟加速器,对应的,该虚拟设备对应的远端物理设备可以包括:至少一个物理加速器。

也就是说,处理器101向资源控制器102所发送的该虚拟设备的写操作请求,可以为虚拟网卡、虚拟存储设备或虚拟加速器中任一类型的虚拟设备对应的写操作请求。该不同类型的虚拟设备对应的写操作请求可以为不同格式的操作请求,也可以是通过写操作请求中包括的不同访问地址表示。该虚拟设备与该虚拟设备对应的远端物理设备具有相同的设备类型。

在上述实施例所述计算机的基础上,其中,资源控制器102,还用于根据接收到的输入设备发送的配置信息或预设脚本为该虚拟设备确定至少一个寄存器,根据基地址及第一地址偏移量为该至少一个寄存器配置该虚拟设备的访问地址。其中,该基地址为处理器101为资源控制器102所配置的。该虚拟设备的访问地址为该虚拟设备的类型对应的虚拟设备访问地址。

具体地,该输入设备可以为资源池管理软件对应的资源配置界面的输入接口。资源控制器102根据接收到的输入设备所发送的配置信息或该预设脚本中的配置规则,根据该虚拟设备的类型,为该虚拟设备确定至少一个寄存器,并根据基地址及第一地址偏移量为该至少一个寄存器配置该虚拟设备的访问地址。该至少一个寄存器可以为指令寄存器和/或程序计数器,该至少一个寄存器可用于对该虚拟设备的操作请求,如该写操作请求对应的指令进行暂存或其他处理。不同类型的虚拟设备可具有不同的寄存器。计算机100内部的各物理设备,也就是与处理器101连接的该计算机100内部的各物理设备分别具有唯一的基地址。该各物理设备的基地址均为处理器101所配置的。本发明实施例中的该基地址为处理器101为资源控制器102所配置的唯一基地址。该虚拟设备可以为不同类型的虚拟设备,也就是说,资源控制器102内部可包括至少一个类型的虚拟设备。该资源控制器102内部的至少一个类型的虚拟设备,可分别具有不同的地址偏移量。该具有不同地址偏移量的虚拟设备,由于基地址相同,该至少一个类型的虚拟设备可分别具有不同的访问地址,访问地址由该基地址及地址偏移量组成。其中,该虚拟设备的访问地址,为资源控制器102根据基地址及第一地址偏移量配置的。

其中,资源控制器102可以是在资源控制器102启动后,即上电,而处理器101未启动,为该虚拟设备确定至少一个寄存器。资源控制器102可以是在该处理器101上电并开始设备枚举过程中,根据基地址及第一地址偏移量为该至少一个寄存器配置该虚拟设备的访问地址。也就是说,计算机100内部,资源控制器102需早于该处理器101上电启动。

可选的,上述资源控制器102,还用于根据该计算机中该虚拟设备的类型对应的设备充足,而其他类型的设备不足,将该虚拟设备的访问地址,切换为该其他类型的虚拟设备的访问地址。

具体地,资源控制器102根据计算机100的资源使用情况,也就是该虚拟设备对应的设备充足,而其他类型的设备不足,对该虚拟设备的类型进行切换。资源控制器102对该虚拟设备的类型进行切换,可以是将该虚拟设备的访问地址,切换为该其他类型的虚拟设备的访问地址。资源控制器102将虚拟设备的访问地址,切换为该其他类型的虚拟设备的访问地址,可以是为该虚拟设备确定的该至少一个寄存器配置该其他类型的虚拟设备的访问地址。举例来说,若配置的A类型的虚拟设备的访问地址可以为IP0~IP4,而B类型的虚拟设备的访问地址可以为IP5~IP9。若计算机100内部该虚拟设备对应设备,如A类型的虚拟设备充足,而B类型的虚拟设备不足,可以是将原为A类型的虚拟设备的访问地址IP5~IP9切换为B类型的虚拟设备的访问地址,从而使得B类型的虚拟设备的访问地址为IP0~IP9。

若该虚拟设备为虚拟网卡,其他类型的虚拟设备可以为虚拟存储设备或虚拟加速器;若该虚拟设备为虚拟存储设备,该其他类型的虚拟设备可以为虚拟网卡或虚拟加速器;若该虚拟设备为虚拟加速器,该其他类型的虚拟设备可以为虚拟网卡或虚拟存储设备。

可选的,资源控制器102,还用于通过模拟热移除操作将该虚拟设备的访问地址从该虚拟物理设备对应表中删除,配置该其他按类型的虚拟设备的访问地址,并通过模拟热添加操作将该其他按类型的虚拟设备的访问地址添加至该虚拟物理设备对应表。

资源控制器102模拟热移除操作及模拟热添加操作可以通过配置资源控制器102的热插拔接口或单元提供对应的电压值实现。其中,模拟热移除操作可以为模拟热添加操作的类似逆过程。采用模拟热移除及模拟热添加操作,可避免计算机系统运行时,无需进行接口热插拔即可实现具有不同类型的虚拟设备访问地址的切换。

需要说明的是,若上述处理器101与资源控制器102通过PCIe总线连接,该热移除操作及该热添加操作,可以分别为PCIe热移除及PCIe热添加。对应的,模拟热移除操作即为模拟PCIe热移除操作,模拟热添加操作可以为模拟PCIe热添加操作。

可选的,资源控制器102,还用于在与远端物理设备104进行连接时,根据该基地址及第二地址偏移量为该虚拟设备对应的远端物理设备配置该远端物理设备的访问地址。

具体地,该远端物理设备为该虚拟设备对应的物理设备,该远端物理设备的访问地址与该虚拟设备的访问地址均为资源控制器102所配置的,其分别为具有相同基地址及不同地址偏移量的访问地址。

本发明实施例所提供的计算机,可通过对不同类型的虚拟设备进行配置,实现不同类型的虚拟设备的相互切换,可满足不同使用场景下,计算机对不同类型设备的需求,提高不同场景下的资源利用率。

实施例三

本发明实施例三还提供一种计算机。

本发明实施例所提供的计算机在上述实施例一或二所述的计算机的基础上,其中,该虚拟设备对应的远端物理设备包括:至少两个物理设备;该至少两个物理设备,包括:同一计算机的至少两个物理设备;和/或,不同计算机的至少两个物理设备。

由于该虚拟设备对应的远端物理设备包括该至少两个物理设备,那么本发明实施例三提供的计算机100实际是将该至少两个物理设备聚合为该虚拟设备。若该虚拟设备为虚拟存储设备,那么该虚拟设备对应的远端物理设备还可以包括同一计算机的同一物理设备的至少两个分区。

对应的,资源控制器102,还用于将该写操作请求划分为至少两个子请求,并将该至少两个子请求分别发送至该至少两个物理设备;该至少两个子请求分别用于指示该至少两个物理设备中对应物理设备执行写数据操作。

具体地,资源控制器102可以是在该写操作请求中分别添加该至少两个物理设备中每个物理设备对应的访问地址,从而获得该至少两个子请求。该写操作请求中可包括待写入数据,该待写入数据可包括至少一个数据。若该待写入数据包括一个数据,那么根据该写操作请求划分获得的该至少两个子请求中可包括相同的该一个数据。那么该至少两个子请求可分别用于指示对应的物理设备执行写数据操作,写入该数据。若该待写入数据可包括至少两个数据,那么该至少两个子请求中可分别包括一个数据。也就是说,该至少两个子请求还可用于指示对应的物理设备执行写数据操作写入对应的一个数据。

可选的,资源控制器102,还用于接收该虚拟设备对应的远端物理设备发送的读操作通知消息,并将该读操作通知消息发送至处理器101;该读操作通知消息包括:该虚拟设备对应的远端物理设备执行读数据操作获取的数据。

处理器101,还用于根据该读操作通知消息获取该虚拟设备对应的远端物理设备执行读数据操作获取的数据。

需要说明的是,若该资源控制器102不缓存数据,那么资源控制器102在接收到该虚拟设备对应的远端物理设备发送的读操作通知消息后,直接将该读操作通知消息发送至处理器101。那么,资源控制器102发送至处理器101的读操作通知消息中可仅包括一个数据。若资源控制器102缓存至少两个数据,那么该资源控制器102发送至处理器101的读操作通知消息中可包括至少两个数据。

可选的,处理器101,还用于向资源控制器102发送该虚拟设备的读操作请求;该读操作请求包括该虚拟设备的访问地址。

资源控制器102,还用于根据该虚拟设备的访问地址,和该虚拟物理设备对应表确定该虚拟设备对应的远端物理设备,并将该读操作请求发送至该虚拟设备对应的远端物理设备。

也就是说,该虚拟设备对应的远端物理设备可以是在接收到读操作请求后执行读数据操作,也可以是直接执行读操作。

进一步地,本实施例还提供一种计算机。图2为本发明实施例三所提供的计算机的结构示意图。如图2所示,该计算机在上述实施例方案的所述的计算机的基础上,计算机100,还包括:单根虚拟化设备201;单根虚拟化设备201与资源控制器102连接。

单根虚拟化设备201,用于通过单根虚拟化技术将资源控制器102转化为至少一个虚拟功能(Virtual Function,简称VF)端点,并为不同的VF端点配置不同类型的虚拟设备。

具体地,单根虚拟化技术可以通过软硬件结合的方式模拟对应的计算机元件,例如为单根输入输出虚拟化(Single-Root Input/Output Virtualization,简称SRIOV)技术。单根虚拟化设备501可以是根据虚拟机监视器(Virtual Machine Monitor,简称VMM)对资源控制器采用对应的单根虚拟化技术,从而使得该资源控制器转换为至少一个VF端点,从而可为该至少一个VF端点分别进行虚拟设备的配置。若该虚拟设备为虚拟输入输出(Input Output,简称IO)设备,那么该单根虚拟技术则可以为IO虚拟化技术。由于每个VF端点均可独立进行配置,因而可分别为其配置不同类型的虚拟设备,该不同类型的虚拟设备可分别对应不同的虚拟外设,提高为该计算机提供丰富的虚拟外设,保证业务功能的多样化。

本实施方案所提供的计算机,由于可通过单根虚拟化技术为将该资源控制器转化为至少一个VF端点,并为不同的VF端点配置不同类型的虚拟设备资源,从而可为该计算机提供丰富的虚拟外设,保证业务功能的多样化。

实施例四

本发明实施例四还提供一种资源访问方法,该方法可由上述实施例一至三种任一所述的计算机执行。该计算机可包括处理器、资源控制器及本地物理设备。图3为本发明实施例四所提供的资源访问方法的流程图。如图3所示,该方法可包括如下步骤:

步骤301、该处理器向该资源控制器发送虚拟设备的写操作请求;该写操作请求包括:该虚拟设备的访问地址。

步骤302、该资源控制器根据该虚拟设备的写操作请求及预设的虚拟物理设备对应表,确定该虚拟设备对应的远端物理设备的访问地址。

步骤303、该资源控制器根据该远端物理设备的访问地址将该写操作请求发送至该虚拟设备对应的远端物理设备;其中,该虚拟设备对应的远端物理设备是另外一个计算机的物理设备;该写操作请求用于指示该虚拟设备对应的远端物理设备执行写数据操作。

其中,该预设的虚拟物理设备对应表记录该虚拟设备的访问地址和该虚拟设备对应的远端物理设备的访问地址的对应关系;该虚拟设备的访问地址及该远端物理设备的访问地址均为该资源控制器配置的。

可选的,该虚拟设备可以为:虚拟网卡;对应的,该虚拟设备对应的远端物理设备可包括至少一个物理网卡。

可替代地,该虚拟设备还可为虚拟存储设备;对应的,该虚拟设备对应的远端物理设备包括至少一个物理存储设备。

可替代地,该虚拟设备还可以为虚拟加速资源;对应的,该虚拟设备对应的远端物理设备可包括至少一个物理加速器。

进一步地,在上述步骤302中资源控制器根据该虚拟设备的访问地址,及预设的虚拟物理设备对应表,确定该虚拟设备对应的远端物理设备的访问地址之前,该方法还包括:

资源控制器根据接收到的输入设备发送的配置信息或预设脚本对该虚拟设备确定至少一个寄存器,并根据基地址及第一地址偏移量为该至少一个寄存器配置该虚拟设备的访问地址。其中,该基地址为该处理器为该资源控制器所配置的;该虚拟设备的访问地址为该虚拟设备的类型对应的虚拟设备访问地址。

可选的,该方法还可包括:

若该计算机中该虚拟设备的类型对应的设备充足,而其他类型的设备不足,该资源控制器将该虚拟设备的访问地址切换为该其他类型的虚拟设备的访问地址。

进一步地,如上所述资源控制器将该虚拟设备的访问地址切换为该其他类型的虚拟设备的访问地址可以包括:

该资源控制器通过模拟热移除操作对该虚拟设备的访问地址从该虚拟物理设备对应表中删除,配置该其他类型的虚拟设备的访问地址,并通过模拟热添加操作将该其他类型的虚拟设备的访问地址添加至该虚拟物理设备对应表。

可选的,上述步骤302中该资源控制器根据该虚拟设备的访问地址,及预设的虚拟物理设备对应表,确定该虚拟设备对应的远端物理设备的访问地址之前,还包括:

该资源控制器在与该远端物理设备进行连接时,根据该基地址及第二地址偏移量为该虚拟设备对应的物理设备配置该远端物理设备的访问地址。

可选的,该虚拟设备对应的远端物理设备包括:至少两个物理设备;该至少两个物理设备,包括:同一计算机的至少两个物理设备;和/或,不同计算机的至少两个物理设备。

可选的,上述步骤303中该资源控制器将该写操作请求发送至该虚拟设备对应的远端物理设备,可以包括:

该资源控制器将该写操作请求划分为至少两个子请求,并将该至少两个子请求分别发送至该至少两个物理设备;该至少两个子请求分别用于指示该至少两个物理设备中对应物理设备执行写数据操作。

进一步地,该方法还可包括:

该资源控制器接收该虚拟设备对应的远端物理设备发送的读操作通知消息,并将该读操作通知消息发送至该处理器;该读操作通知消息包括:该虚拟设备对应的远端物理设备执行读数据操作获取的数据;

该处理器根据该读操作通知消息获取该虚拟设备对应的远端物理设备执行读数据操作获取的数据。

可选的,在上述该资源控制器接收该虚拟设备对应的远端物理设备发送的读操作通知消息之前,该方法还可包括:

该资源控制器接收该处理器发送的该虚拟设备的读操作请求;该读操作请求包括该虚拟设备的访问地址;

该资源控制器根据该虚拟设备的访问地址,及该虚拟物理设备对应表确定该虚拟设备对应的远端物理设备,并将该读操作请求发送至该虚拟设备对应的远端物理设备。

可选的,该计算机还可包括单根虚拟化设备。该方法还包括:

该单根虚拟化设备通过单根虚拟化技术将所述资源控制器转化为至少一个VF端点;

该资源控制器为不同的VF端点配置不同类型的虚拟设备。

本实施例所提供的资源访问方法,可由上述实施例一至三种任一所述的计算机执行,其具体的实现过程及有益效果与上述实施例类似,在此不再赘述。

本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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