一种实现设备共享的方法和装置的制造方法_3

文档序号:8395843阅读:来源:国知局
方法的流程示意图;
[0083] 图5为本发明实施例提供的实现设备共享的方法中,本端系统获取对端系统的外 部设备标识信息的另一种可能的实现方式的流程示意图;
[0084] 图6为本发明实施例提供的一种实现设备共享的装置60的结构示意图;
[0085] 图7为本发明实施例提供的另一种实现设备共享的装置70的结构示意图;
[0086] 图8为本发明实施例提供的实现设备共享的装置中,信息获取模块601的一种结 构示意图;
[0087] 图9为本发明实施例提供的实现设备共享的装置中,信息获取模块601的一种结 构示意图;
[0088] 图10为本发明实施例提供的一种共享设备10的结构示意图。
【具体实施方式】
[0089] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0090] 由于异构系统中的本端系统和对端系统是异构的,因此,本端系统的外部设备的 访问方式与对端系统的外部设备的访问方式是不同的,例如,异构系统中的本端系统的外 部设备包括al和a2,对端系统的外部设备包括bl、b2和b3,本端系统访问外部设备al与 访问外部设备bl方式不同。具体的,本端系统访问外部设备al时,会按本地可识别的消 息格式生成外部设备操作请求,而本端系统访问对端系统的外部设备bl时,如果按本地可 识别的消息格式生成外部设备操作请求,那么该外部设备操作请求将无法被对端系统所识 另IJ,从而导致本端系统只能访问到本端的外部设备,而无法访问到对端系统的外部设备,即 无法实现外部设备的共享,从这点出发,本发明实施例提供了实现设备共享的方法,该方法 的主要思想之一包括:本端系统获取对端系统的外部设备标识信息,根据获取的外部设备 标识信息,按照本地可识别的消息格式生成对对端系统所管理的外部设备的操作请求,从 操作请求中解析出包括生成操作请求必要的参数请求消息,将解析出的请求消息通知给对 端系统。
[0091] 请参阅图1,为本发明实施例提供的一种实现设备共享的方法的流程示意图,该方 法应用于包括本端系统和对端系统的异构系统中的本端系统,本端系统和对端系统具有各 自独立的处理器和外部设备,本端系统中的处理器和对端系统中的处理器使用不同的指令 集,该方法可以包括:
[0092] 步骤S101 :本端系统获取对端系统的外部设备标识信息。
[0093] 其中,外部设备标识信息可以包括:外部设备的名称和外部设备的设备ID。
[0094] 异构系统中的本端系统和对端系统通常使用NTB互联,NTB为"非透明桥",顾名思 义,非透明桥一端的系统对于另一端的系统是非透明的,即,本端系统无法发现对端系统的 外部设备,换言之,本端系统不知道对端系统有哪些外部设备,为了获取到对端的外部设备 的设备信息,本发明实施例采用内存共享技术使本端系统获得对端系统的外部设备的设备 信息。
[0095] 具体的,对端系统所管理的内存中,包括与本端系统所共享的第一内存,第一内存 中预先存储了包括对端系统管理的外部设备的设备信息的抽象设备表,以及,包括对端系 统所管理的外部设备的设备所在域信息的设备状态表。其中,第一内存为对端系统为本端 系统分配的内存,本端系统具有对该第一内存的使用权。由于本端系统具有对第一内存的 使用权,因此,第一内存如同本端系统自己的内存,本端系统可以直接读取第一内存中的信 肩、。
[0096] 对于对端系统所管理的外部设备的设备信息的抽象设备表而言,在一种可能的实 现方式中,该抽象设备表可设置于对端系统的内核态,具体的,对端系统的操作系统在内核 空间仿照sysfs文件系统构建对端系统的抽象设备表,或者,直接将已经创建的sysfs文件 系统作为对端系统的抽象设备表。在另一种可能的实现方式中,对端系统所管理的外部设 备的设备信息的抽象设备表可设置于对端系统的用户态,具体的,对端系统的操作系统在 内核空间仿照sysfs文件系统构建对端系统的抽象设备表,或者,直接将已经创建的sysfs 文件系统作为对端系统的抽象设备表,然后将内核态下的抽象设备表放到用户态。同时,对 端系统的操作系统扫描sysfs文件系统填充一个至少由设备标识信息、设备所在域信息组 成的设备状态表。
[0097] 同样的,为了实现对端系统共享本端系统的外部设备,本端系统所管理的内存中, 包括与对端系统所共享的第二内存,该第二内存中可存储本端系统的抽象设备表和设备状 态表,供对端系统共享本端系统的外部设备时使用。可以理解的,对端系统共享本端系统的 外部设备的实现方式与本端系统共享对端系统的外部设备的实现方式相同,本发明实施例 不作赘述。
[0098] 需要说明的是,当对端系统启动或对端系统所管理的外部设备中有外部设备热插 拔时,对第一内存中的抽象设备表和设备状态表进行更新。
[0099] 另外,需要说明的是,本端系统与对端系统通过非透明桥连接,通过预先配置非透 明桥的寄存器建立对端系统的第一内存与本端系统的映射关系,以便本端系统通过该映射 关系能够访问对端系统的弟一内存。
[0100] 请参阅图2,为本发明实施例提供的实现设备共享的方法中,本端系统获取对端系 统的外部设备标识信息的一种可能的实现方式的流程示意图,可以包括:
[0101] 步骤S201 :本端系统预先读取与对端系统共享的第一内存中对端系统的抽象设 备表和设备状态表。
[0102] 其中,设备状态表如下表所示:
[0103]
【主权项】
1. 一种实现设备共享的方法,其特征在于,应用于包括本端系统和对端系统的异构系 统中的所述本端系统,所述本端系统和所述对端系统具有各自独立的处理器和外部设备, 所述本端系统中的处理器和所述对端系统中的处理器使用不同的指令集,所述方法包括: 所述本端系统获取所述对端系统的外部设备标识信息; 所述本端系统根据所述获取的外部设备标识信息,按照本地可识别的消息格式生成对 所述对端系统所管理的外部设备的操作请求; 所述本端系统从所述操作请求中解析出包括生成所述操作请求必要的参数的请求消 息,将解析出的请求消息通知给所述对端系统。
2. 根据权利要求1所述的方法,其特征在于,还包括: 获取所述请求消息的反馈消息,所述反馈消息中包括生成所述操作请求执行结果所必 要的参数; 根据所述反馈消息中的参数将所述反馈消息解析为所述本端系统本地可识别的消息 格式。
3. 根据权利要求2所述的方法,其特征在于,所述对端系统所管理的内存中,包括与所 述本端系统所共享的第一内存,所述第一内存中预先存储了包括所述对端系统管理的外部 设备的设备信息的抽象设备表,W及,包括所述对端系统所管理的外部设备的设备所在域 信息的设备状态表; 所述本端系统获取所述对端系统的外部设备标识信息,包括: 所述本端系统预先读取所述第一内存中所述对端系统的抽象设备表和设备状态表; 将所述对端设备的抽象设备表与所述本端系统的抽象设备表进行合并,将所述对端设 备的设备状态表与所述本端系统的设备状态表进行合并; 将合并后的抽象设备表和合并后的设备状态表存储于所述本端系统的内存中; 依据所述合并后的设备状态表中的设备所在域信息从所述合并后的抽象设备表中获 取所述对端系统的外部设备标识信息。
4. 根据权利要求2所述的方法,其特征在于,所述对端系统所管理的内存中,包括与所 述本端系统共享的第一内存,所述第一内存中预先存储了包括所述对端系统所管理的外部 设备的设备信息的抽象设备表,所述外部设备的设备信息至少包括外部设备的标识信息, 所述外部设备的标识信息至少包括所述外部设备的设备名称; 所述本端系统获取所述对端系统的外部设备标识信息,包括: 所述本端系统预先读取所述第一内存中所述对端系统的抽象设备表; 将所述对端系统的抽象设备表与所述本端系统的抽象设备表比对,从所述对端系统的 抽象设备表中查找出设备名称与所述本端系统的抽象设备表中的设备名称不同的外部设 备的设备信息并作为所述对端系统独有的外部设备的设备信息; 将所述对端系统的抽象设备表中除所述对端系统独有的外部设备的设备信息外的其 它外部设备的设备信息删除,得到包括对端系统所独有的外部设备的设备信息的抽象设备 表; 将所述包括对端系统所独有的外部设备的设备信息的抽象设备表存储于所述本端系 统的内存中; 从所述包括对端系统所独有的外部设备的设备信息的抽象设备表中获取所述对端系 统的外部设备标识信息。
5. 根据权利要求3或4所述的方法,其特征在于,所述获取所述请求消息的反馈消息, 包括: 从所述对端
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1