CN115470136A - 面向磁共振系统的设备虚拟化测试平台、方法及装置 - Google Patents
面向磁共振系统的设备虚拟化测试平台、方法及装置 Download PDFInfo
- Publication number
- CN115470136A CN115470136A CN202211151712.4A CN202211151712A CN115470136A CN 115470136 A CN115470136 A CN 115470136A CN 202211151712 A CN202211151712 A CN 202211151712A CN 115470136 A CN115470136 A CN 115470136A
- Authority
- CN
- China
- Prior art keywords
- virtual
- magnetic resonance
- simulation module
- virtual component
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4411—Configuring for operating with peripheral devices; Loading of device drivers
-
- A—HUMAN NECESSITIES
- A61—MEDICAL OR VETERINARY SCIENCE; HYGIENE
- A61B—DIAGNOSIS; SURGERY; IDENTIFICATION
- A61B5/00—Measuring for diagnostic purposes; Identification of persons
- A61B5/05—Detecting, measuring or recording for diagnosis by means of electric currents or magnetic fields; Measuring using microwaves or radio waves
- A61B5/055—Detecting, measuring or recording for diagnosis by means of electric currents or magnetic fields; Measuring using microwaves or radio waves involving electronic [EMR] or nuclear [NMR] magnetic resonance, e.g. magnetic resonance imaging
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种面向磁共振系统的设备虚拟化测试平台、方法及装置,其中,该测试平台包括处理终端和服务终端;处理终端中搭建有虚拟驱动仿真模块;服务终端中搭建有虚拟部件仿真模块以及仿真数据库;虚拟驱动仿真模块,用于根据生成的磁共振协议数据选择虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;虚拟部件仿真模块,用于根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;目标虚拟部件执行测试指令,从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块。通过本申请实现了脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险。
Description
技术领域
本申请涉及医疗软件仿真技术领域,特别是涉及面向磁共振系统的设备虚拟化测试平台、方法及装置。
背景技术
目前,针对磁共振成像(Magnetic Resonance Imaging,MRI)、电子计算机断层扫描(Computed Tomography,CT)等大型设备的软件开发与验证平台,包括工控机和真实样机;在工控机上运行待测试软件,真实样机提供相关测试数据。但这种大型设备的真实样机成本巨大,使得软件开发工程师无法在调试过程中独占硬件资源,为软件的开发与验证带来极大不便,也会造成软件开发成本高。另外,如果测试软件存在漏洞,也会带来样机损坏的风险。
针对相关技术中存在样机损坏风险的问题,目前还没有提出有效的解决方案。
发明内容
在本实施例中提供了一种面向磁共振系统的设备虚拟化测试平台、方法及装置,以解决相关技术中存在样机损坏风险的问题。
第一个方面,在本实施例中提供了一种面向磁共振系统的设备虚拟化测试平台,包括:处理终端和服务终端;
所述处理终端中搭建有虚拟驱动仿真模块;所述服务终端中搭建有虚拟部件仿真模块以及与所述虚拟部件仿真模块对应的仿真数据库;
所述虚拟驱动仿真模块,用于生成磁共振协议数据,根据所述磁共振协议数据选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
所述虚拟部件仿真模块,与所述虚拟驱动仿真模块连接,用于根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;
所述目标虚拟部件执行所述测试指令,从所述仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
在其中的一些实施例中,所述虚拟驱动仿真模块包括:虚拟驱动、虚拟驱动管理器以及虚拟驱动服务接口;
所述虚拟驱动,分别与所述虚拟驱动管理器和所述虚拟驱动服务接口连接,用于模拟设备板卡与外部连接的驱动接口,并通过所述磁共振协议数据建立所述虚拟部件与所述处理终端的数据交互;
所述虚拟驱动管理器,用于管理所述虚拟驱动,通过所述虚拟驱动服务接口初始化并加载所述虚拟部件对应的驱动;
所述虚拟驱动服务接口,与所述虚拟驱动管理器连接,用于与所述处理终端中的应用软件进行通讯,并注册对所述虚拟部件的功能,得到注册信息。
在其中的一些实施例中,所述虚拟部件仿真模块还包括:虚拟部件管理器和虚拟部件服务接口;
所述虚拟部件管理器,用于管理所述虚拟部件;
所述虚拟部件服务接口,分别与所述虚拟驱动仿真模块和所述虚拟部件管理器连接,用于与所述处理终端进行数据交互。
在其中的一些实施例中,所述处理终端包括:应用软件、实时操作系统以及硬件层;
所述应用软件,运行在所述实时操作系统上,用于运行所述待测试软件以进行扫描控制,生成所述测试指令,并基于预先设置的数据交互协议结构将所述测试指令封装成所述磁共振协议数据;
所述实时操作系统中设有所述虚拟驱动仿真模块,以构建所述实时操作系统与所述硬件层的过渡层;
所述硬件层,用于与所述服务终端进行数据交互。
在其中的一些实施例中,所述磁共振协议数据包括设备驱动虚拟化访问协议和设备承载协议;
所述设备驱动虚拟化访问协议,用于负责TCP/IP对应的应用层中有效数据部分的交互规范;
所述设备承载协议,用于负责携带所述设备驱动虚拟化访问协议,同时将所述设备驱动虚拟化访问协议发送到所述目标虚拟部件中。
第二个方面,在本实施例中提供了一种面向磁共振系统的设备虚拟化测试方法,包括:
获取配置文件,根据所述配置文件加载处理终端中的虚拟驱动仿真模块和服务终端中的虚拟部件仿真模块;
获取磁共振协议数据,根据所述磁共振协议数据选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;以使所述目标虚拟部件执行所述测试指令,从仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
在其中的一些实施例中,所述测试方法还包括:
在所述处理终端的虚拟驱动服务接口的读写命令被调用时,根据所述读写命令操作的目标数据,确定所述磁共振协议数据的目标报文;
基于所述目标报文和所述目标数据,对所述虚拟驱动仿真模块或所述目标虚拟部件中的数据进行修改。
第三个方面,在本实施例中提供了一种面向磁共振系统的设备虚拟化方法,应用于面向磁共振系统的设备虚拟化测试平台,所述测试平台包括处理终端和服务终端;所述方法适用于所述处理终端侧;所述方法包括:
获取配置文件,根据所述配置文件加载虚拟驱动仿真模块;
基于运行待测试软件产生的测试指令,生成磁共振协议数据;
通过所述虚拟驱动仿真模块,将所述磁共振协议数据传输至所述服务终端;
通过所述磁共振协议数据,从所述服务终端中返回与所述测试指令对应的虚拟运行数据。
第四个方面,在本实施例中提供了一种面向磁共振系统的设备虚拟化方法,应用于面向磁共振系统的设备虚拟化测试平台,所述测试平台包括处理终端和服务终端;所述方法适用于所述服务终端侧;所述方法包括:
获取配置文件,根据所述配置文件加载虚拟部件仿真模块;
接收所述处理终端的磁共振协议数据;
根据所述磁共振协议数据,选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;
在所述目标虚拟部件中执行所述测试指令,从仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
第五个方面,在本实施例中提供了一种面向磁共振系统的设备虚拟化装置,应用于面向磁共振系统的设备虚拟化的测试平台,所述面向磁共振系统的设备虚拟化的测试平台包括处理终端和服务终端;所述装置适用于所述处理终端侧;所述装置包括:获取单元、处理单元以及返回单元;
所述获取单元,用于获取配置文件,根据所述配置文件加载虚拟驱动仿真模块;
所述处理单元,用于基于运行待测试软件产生的测试指令,生成磁共振协议数据;通过所述虚拟驱动仿真模块,将所述磁共振协议数据传输至所述服务终端;
所述返回单元,用于通过所述磁共振协议数据,从所述服务终端中返回与所述测试指令对应的虚拟运行数据。
第六个方面,在本实施例中提供了一种面向磁共振系统的设备虚拟化装置,应用于面向磁共振系统的设备虚拟化的测试平台,所述面向磁共振系统的设备虚拟化的测试平台包括处理终端和服务终端;所述装置适用于所述服务终端侧;所述装置包括:加载单元、接收单元、选择单元、传输单元以及执行单元;
所述加载单元,用于获取配置文件,根据所述配置文件加载虚拟部件仿真模块;
所述接收单元,用于接收所述处理终端的磁共振协议数据;
所述选择单元,用于根据所述磁共振协议数据,选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
所述传输单元,用于根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;
所述执行单元,用于在所述目标虚拟部件中执行所述测试指令,从仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
与相关技术相比,在本实施例中提供的面向磁共振系统的设备虚拟化测试平台、方法及装置;其中,平台包括处理终端和服务终端;处理终端中搭建有虚拟驱动仿真模块;服务终端中搭建有虚拟部件仿真模块以及与虚拟部件仿真模块对应的仿真数据库;虚拟驱动仿真模块,用于生成磁共振协议数据,根据磁共振协议数据选择虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;虚拟部件仿真模块,与虚拟驱动仿真模块连接,用于根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;目标虚拟部件执行测试指令,并从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块。在测试平台的服务终端中搭建有虚拟驱动仿真模块;处理终端中搭建有虚拟部件仿真模块和仿真数据库来替换现有的真实样机;并通过磁共振协议数据实现处理终端与服务终端进行数据交互,以实现运行待测试软件完成整个扫描控制的测试,从而解决了现有测试平台存在真实样机,导致存在样机损坏风险的问题,能够脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险。
本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是本申请一实施例提供的面向磁共振系统的设备虚拟化的测试平台的结构框图;
图2是本申请一实施例提供的虚拟驱动仿真模块的结构框图;
图3是本申请一实施例提供的虚拟部件仿真模块的结构框图;
图4是本申请一实施例提供的协议报文的传输过程示意图;
图5是本申请一实施例提供的设备驱动虚拟化访问协议的协议头部示意图;
图6是本申请一实施例提供的面向磁共振系统的设备虚拟化测试方法的流程图;
图7是本申请一优选实施例提供的面向磁共振系统的设备虚拟化测试方法的流程示意图;
图8是本申请一实施例提供的read命令工作流程示意图;
图9是本申请一实施例提供的write命令工作流程示意图;
图10是本申请一实施例提供的面向磁共振系统的设备虚拟化方法的流程图;
图11是本申请另一实施例提供的面向磁共振系统的设备虚拟化方法的流程图。
具体实施方式
为更清楚地理解本申请的目的、技术方案和优点,下面结合附图和实施例,对本申请进行了描述和说明。
除另作定义外,本申请所涉及的技术术语或者科学术语应具有本申请所属技术领域具备一般技能的人所理解的一般含义。在本申请中的“一”、“一个”、“一种”、“该”、“这些”等类似的词并不表示数量上的限制,它们可以是单数或者复数。在本申请中所涉及的术语“包括”、“包含”、“具有”及其任何变体,其目的是涵盖不排他的包含;例如,包含一系列步骤或模块(单元)的过程、方法和系统、产品或设备并未限定于列出的步骤或模块(单元),而可包括未列出的步骤或模块(单元),或者可包括这些过程、方法、产品或设备固有的其他步骤或模块(单元)。在本申请中所涉及的“连接”、“相连”、“耦接”等类似的词语并不限定于物理的或机械连接,而可以包括电气连接,无论是直接连接还是间接连接。在本申请中所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。通常情况下,字符“/”表示前后关联的对象是一种“或”的关系。在本申请中所涉及的术语“第一”、“第二”、“第三”等,只是对相似对象进行区分,并不代表针对对象的特定排序。
下面对本申请的设计思想进行说明:
由于现有针对磁共振成像(Magnetic Resonance Imaging,MRI)、电子计算机断层扫描(Computed Tomography,CT)等大型设备的软件开发与验证平台,包括工控机和真实样机;在工控机上运行待测试软件,真实样机提供相关测试数据。但这种大型设备的真实样机成本巨大,使得软件开发工程师无法在调试过程中独占硬件资源,为软件的开发与验证带来极大不便,也会造成软件开发成本高。另外,如果测试软件存在漏洞,也会带来样机损坏的风险。
鉴于此,本申请设计了一种面向磁共振系统的设备虚拟化测试平台、方法及装置。其中,该平台包括处理终端和服务终端;处理终端中搭建有虚拟驱动仿真模块;服务终端中搭建有虚拟部件仿真模块以及与虚拟部件仿真模块对应的仿真数据库;虚拟驱动仿真模块,用于生成磁共振协议数据,根据磁共振协议数据选择虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;虚拟部件仿真模块,与虚拟驱动仿真模块连接,用于根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;目标虚拟部件执行测试指令,并从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块;解决了现有测试平台存在真实样机,导致软件的开发与验证的不便,且存在样机损坏风险的问题,能够脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险。其中,方法包括:获取配置文件,根据配置文件加载虚拟驱动仿真模块;基于运行待测试软件产生的测试指令,生成磁共振协议数据;通过虚拟驱动仿真模块,将磁共振协议数据传输至服务终端;通过磁共振协议数据,从服务终端中返回与测试指令对应的虚拟运行数据;解决了相关技术中的测试平台存在真实样机,导致存在样机损坏风险的问题;实现了脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险。
请参照图1,本申请提供一种面向磁共振系统的设备虚拟化的测试平台,包括:处理终端100和服务终端200;
处理终端100中搭建有虚拟驱动仿真模块110;服务终端200中搭建有虚拟部件仿真模块210以及与虚拟部件仿真模块210对应的仿真数据库;
虚拟驱动仿真模块110,用于生成磁共振协议数据,根据磁共振协议数据选择虚拟部件仿真模块210中对应的虚拟部件,得到目标虚拟部件;
虚拟部件仿真模块210,与虚拟驱动仿真模块110连接,用于根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;
目标虚拟部件执行测试指令,并从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块110。
需要说明的是,处理终端100与服务终端200通信连接;处理终端100可以通过有线或无线与服务终端200连接,采用预先设置的数据交互协议结构来进行数据交互。
具体的,处理终端100主要负责运行待测试软件,来完成整个扫描控制。处理终端100可以是移动终端、固定终端或便携式终端,例如工控机、移动手机、站点、单元、设备、多媒体计算机、多媒体平板、互联网节点、通信器、台式计算机、膝上型计算机、笔记本计算机、上网本计算机、平板计算机或者其任意组合,包括这些设备的配件和外设或者其任意组合。
优选的,处理终端100可以为工控机(Industrial Personal Computer,IPC);工控机是一种加固的增强型个人计算机,其采用总线结构,对生产过程及机电设备、工艺装备进行检测与控制的工具总称。
具体的,服务终端200可以是服务器、云服务器或服务平台。服务终端200主要用于仿真真实样机,并提供与测试指令对应的虚拟运行数据。在服务终端200中搭建有虚拟部件仿真模块210和仿真数据库来替换现有的真实样机。
由于待测试软件的测试不会涉及到的全部的虚拟驱动仿真模块110、虚拟部件仿真模块210以及仿真数据库;因此,可以初始化加载与待测试软件对应的虚拟驱动仿真模块110、虚拟部件仿真模块210以及仿真数据库。比如:处理终端100提供服务界面,在服务界面中根据待测试软件的需求选择生成目标虚拟部件与服务的配置文件,并通过测试指令下发给虚拟驱动仿真模块110和虚拟部件仿真模块210中的虚拟部件服务接口,虚拟驱动仿真模块110根据配置文件加载对应的虚拟驱动,虚拟部件仿真模块210加载对应虚拟部件,得到目标虚拟部件,并初始化对应的虚拟数据库。
其中,虚拟驱动仿真模块110,用于生成磁共振协议数据,根据磁共振协议数据选择虚拟部件仿真模块210中对应的虚拟部件,得到目标虚拟部件。虚拟部件仿真模块210,用于根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;目标虚拟部件执行测试指令,并从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块110;通过如此往复扫描控制并返回虚拟运行数据来完成整个扫描过程。
通过上述测试平台,在测试平台的服务终端200中搭建有虚拟驱动仿真模块110;处理终端中搭建有虚拟部件仿真模块210和仿真数据库来替换现有的真实样机;并通过磁共振协议数据实现处理终端100与服务终端200进行数据交互,以实现运行待测试软件完成整个扫描控制的测试;从而达到脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险的目的;解决了现有测试平台存在真实样机,导致软件的开发与验证的不便,且存在样机损坏风险的问题。
下面对上述面向磁共振系统的设备虚拟化的测试平台中各部件及其工作原理进行说明:
对于处理终端100:
在其中的一些实施例中,处理终端100可以为工控机。其包括应用软件120、实时操作系统130以及硬件层140;应用软件120,运行在实时操作系统130上,用于运行待测试软件以进行扫描控制,生成测试指令,并基于预先设置的数据交互协议结构将测试指令封装成磁共振协议数据;实时操作系统130中设有虚拟驱动仿真模块110,以构建实时操作系统130与硬件层140的过渡层;硬件层140,用于与服务终端200进行数据交互。
具体的,实时操作系统130可以为linux系统,虚拟驱动仿真模块110作为linux内核的一部分,其是实时操作系统130与硬件层140中硬件交互的过渡层。硬件层140设有各种硬件,比如处理器、通讯模块、各类传输接口等。
服务终端200中搭建的虚拟部件仿真模块210以及仿真数据库(以下简称虚拟样机)通过网线与工控机中的硬件层140连接,并通过虚拟驱动仿真模块110作为过渡层,使虚拟部件仿真模块210与应用软件120连接。虚拟部件仿真模块210从仿真数据库中获取相应的虚拟运行数据,通过实时操作系统130中的虚拟驱动仿真模块110的接口传递到应用软件120中处理,从而完成扫描功能。
在扫描过程中,工控机中的应用软件120产生磁共振协议数据,磁共振协议数据会被翻译成包含序列控制块和测试指令的报文,虚拟驱动仿真模块110负责在规定的时间内下发测试指令,并获取采集到的虚拟运行数据,否则将导致扫描失败。
通过上述处理终端100满足软件的开发与验证的需求,且不需要调整处理终端100的情况下能够直接与虚拟样机或真实样机匹配,提高测试效率。
对于处理终端100中实时操作系统130上运行的虚拟驱动仿真模块110:
在其中的一些实施例中,如图2所示,虚拟驱动仿真模块包括:虚拟驱动111、虚拟驱动管理器112以及虚拟驱动服务接口113;
虚拟驱动111,分别与虚拟驱动管理器112和虚拟驱动服务接口113连接,用于模拟设备板卡与外部连接的驱动接口,并通过磁共振协议数据建立虚拟部件与处理终端的数据交互;
虚拟驱动管理器112,用于管理虚拟驱动111,并通过虚拟驱动服务接口113初始化并加载虚拟部件对应的驱动;
虚拟驱动服务接口113,与虚拟驱动管理器112连接,用于与处理终端中的应用软件进行通讯,并注册对虚拟部件的功能,得到注册信息。
具体的,为了保证处理终端与真实样机或虚拟样机均可以进行数据交互,即保持处理终端中原有应用层接口不变,采用虚拟样机替换原有真实样机的数据交互接口。其中,虚拟驱动111,用于模拟真实样机中设备板卡的接口,包括建立字符设备,配置对应虚拟部件的名称,可操作接口,如read、write、ioctl等文件操作,负责将用户访问的接口以及数据转发给虚拟部件,并将得到的虚拟运行数据转发给上层的应用软件;在应用软件可以为待测试软件。其中,虚拟驱动管理器112,用于管理虚拟驱动111,初始化并加载虚拟部件的驱动,包括传递对应部件的IP地址信息。其中,虚拟驱动服务接口113,提供与上层的应用软件进行通讯,并注册对虚拟部件的功能,虚拟部件收到注册信息即刻完成目标虚拟部件的加载并运行;具体的,虚拟部件,在接收到注册信息时,加载并运行对应的目标虚拟部件。通过本实施例的虚拟驱动仿真模块,完成虚拟驱动仿真模块支持多个板卡虚拟化的方式,既保持调用的驱动接口不变,也简化了多个硬件板卡不同实现方式、降低虚拟驱动仿真模块的复杂度。
对于服务终端中虚拟部件仿真模块:
在其中的一些实施例中,如图3所示,虚拟部件仿真模块在包括虚拟部件211的基础上,还包括:虚拟部件管理器212和虚拟部件服务接口213;
虚拟部件211,分别与虚拟部件管理器212和虚拟部件服务接口213连接,用于模拟各设备在真实场景下的业务数据和处理逻辑;
虚拟部件管理器212,用于管理虚拟部件211;
虚拟部件服务接口213,分别与虚拟驱动仿真模块和虚拟部件管理器212连接,用于与处理终端进行数据交互。
具体的,虚拟部件211与真实样机中各设备对应,主要负责模拟各设备在真实场景下的业务数据和处理逻辑,如真实样机中数据采集板卡采集到的数据。虚拟部件管理器212,主要负责管理虚拟部件211,包括初始化虚拟部件211并加载。虚拟部件服务接口213主要负责提供接口与处理终端进行数据交互。
在服务终端中还设置仿真数据库;仿真数据库包括自定义的业务数据与处理逻辑,与虚拟部件211连接,用于返回与测试指令对应的虚拟运行数据至目标虚拟部件。
仿真数据库中按虚拟部件211分类设置虚拟运行数据。每个虚拟部件211均对应有一类虚拟运行数据。一般在完成目标虚拟部件的加载后,也会初始化加载仿真数据库中对应的虚拟运行数据,而不需要加载整个仿真数据库的虚拟运行数据,以降低服务终端200的运行压力。
下面对磁共振协议数据进行详细说明:
本申请的测试平台可以调用Linux内核的网络通讯模块实现网络通讯,结合磁共振协议数据,既实现网络通讯,也避免对内核正常运行的影响、最大程度保证系统的可靠性。
为了保持处理终端中接口的一致性,虚拟驱动仿真模块不仅需要模拟PCIe功能,还需要建立TCP通讯模块借助TCP/IP网络协议栈实现数据交互。目前广泛使用的基于TCP/IP的网络协议传统分为五层结构,从上到下依次为:应用层、传输层、网络层、数据链路层和物理层,应用软件与虚拟部件211中应用软件之间的交互协议在应用层之间,采用的数据交互协议为磁共振协议数据。其包括设备驱动虚拟化访问协议(DDS-ACCESS)和设备承载协议(MC-CLDC);磁共振协议数据的前半部分为设备承载协议(MC-CLDC),后本部分为设备驱动虚拟化访问协议(DDS-ACCESS)。设备驱动虚拟化访问协议,用于负责TCP/IP对应的应用层中有效数据部分的交互规范;设备承载协议,用于负责携带设备驱动虚拟化访问协议,同时将设备驱动虚拟化访问协议发送到目标虚拟部件中。
具体的,工控机中的应用软件与虚拟样机通过TCP/IP协议来完成数据交互。虚拟样机不再需要通过实际操作寄存器来扫描以获取数据,而是虚拟样机根据工控机发来的数据报文并解析出对应的测试指令,根据测试指令实现对应的操作,传回对应模拟的数据(可以从仿真数据库中获取)即可。使得虚拟样机省去了大量现实设备中的复杂操作,不会去模拟对对象的扫描,只是将对应磁共振协议数据的数据从仿真数据库中取出,再反馈给应用软件。具体的协议交互流程如图4所示。
如图4所示,为在TCP/IP网络协议下工控机与虚拟部件211之间协议报文的传输过程。图中椭圆为进程,黑色框形为TCP通讯模块;应用软件作为工控机中的一个进程A运行在TCP/IP网络协议中的应用层;同样,虚拟部件211作为一个进程B运行在另一台服务终端200上的应用层中。当进程A(主动方/处理终端100)中调用write命令下发测试指令时,虚拟驱动仿真模块中的write接口被执行,并开始将应用层中用户的测试指令中添加配置完成的DDS-ACCESS协议头部使其封装成DDS-ACCESS协议报文。其后通过虚拟驱动中的虚拟驱动服务接口将DDS-ACCESS协议报文封装成MC-CLDC+DDS-ACCESS协议报文,使其报文数据可发送到指定虚拟化部件中。
封装好的报文通过虚拟驱动仿真模块中实现的TCP通讯模块(类似完成socket功能)向下传递到运输层,并通过TCP/IP协议栈依次通过网络层、数据链路层和物理层封装向进程B(被动方/服务终端200)中的虚拟部件211转发,当进程B依次通过物理层、数据链路层,到运输层中的TCP通讯模块获得MC-CLDC+DDS-ACCESS协议报文,进程B中通过虚拟部件服务接口解析协议报文中MC-CLDC协议部分获取需要转发给哪一个虚拟部件211,对应的虚拟部件211解析DDS-ACCESS协议报文中的内容,并执行测试指令和应答。虚拟部件211采集数据或事件通知发给工控机中应用进程A的过程即是上述过程的逆过程,此时进程B为主动方或处理终端100,应用进程A为被动方或服务终端200,在此不重复阐述。从而实现MC-CLDC+DDS-ACCESS协议报文在处理终端到服务终端的传输。
其中,如图5所示,设备驱动虚拟化访问协议(DDS-ACCESS)包括协议头和传输数据内容;协议头占用24字节,采用大端字节序;传输数据内容,采用小端字节序。
由于,大端字节序是低地址存储数据的高位,而高地址存储数据的低位,比如:intnum=0x12345678,地址0x11111110,数据12;地址0x11111111,数据34;地址0x11111112,数据56;协议头采用大端字节序适合用户的阅读习惯。小端字节序是低地址存储数据的低位,高地址存储数据的高位:int num=0x12345678,地址0x11111110,数据56;地址0x11111111,数据34;地址0x11111112,数据12;传输数据内容采用小端字节序,使得传输数据内容被读取的效率更高,提高传输效率;从而使设备驱动虚拟化访问协议能够兼顾用户阅读习惯及提高传输效率。在其他实施例中,大端字节序和小端字节序可以利用C++实现大小端之间的转换。
其中,Version为3bit,初始版本为0x01。
其中,Message Type为5bit,bit[4]置1表示本数据是响应,bit[3:0]表示的具体内容如表1。
表1:
其中,Error Code为8bit,错误码定义如表2。
表2:
其中,Checksum为16bit,校验和,用于对整个DDS-Access消息包的校验和。
其中,Reserved为保留。
其中,Data Current Length为当前消息包携带数据实际长度(64bit或者8字节的整数倍的字节数),针对不同Message Type具体意义如表3。
表3:
Message Type | Data Current Length值及含义 |
Notify | Notify携带的数据实际长度 |
Ioctl | Ioctl携带的数据实际长度 |
Read | 需要Read的数据实际长度 |
Write | Write携带的数据实际长度 |
Ioctl ACK | 如有数据,则是Ioctl响应携带的数据实际长度,否则为0 |
Read ACK | Read响应携带的数据实际长度 |
Write ACK | 0 |
其中,Data Type为数据类型,针对不同的Message Type具体意义如表4。
表4:
其中,Data Offset Length为针对Read和Write有意义,表示从多长的字节数(64bit或者8字节的整数倍的字节数)开始Read或者Write,通常用于多次传输,一次传输则为0。
在本实施例中,本申请的测试平台主要运行在linux环境下,对于每个虚拟驱动的接口设计包含对文件的open、read、write、ioctl、release、Notify等操作。磁共振协议数据专用于虚拟驱动服务接口的访问方式,假设ioctl和notify一次传输能完成,但是read/write可能需要多次传输。通过上述磁共振协议数据完全透传各类驱动接口的调用,支持高效传输、多次传输,满足真实样机的调用需求。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
在本实施例中还提供了一种面向磁共振系统的设备虚拟化测试方法,如图6所示,包括以下步骤:
步骤S610,获取配置文件,根据配置文件加载处理终端中的虚拟驱动仿真模块和服务终端中的虚拟部件仿真模块;
步骤S620,获取磁共振协议数据,根据磁共振协议数据选择虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
步骤S630,根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;以使虚拟部件执行测试指令,并从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块。
具体的,可以是在扫描阶段,在服务界面中选择生成磁共振协议数据,启动扫描后应用软件翻译磁共振协议数据为包含序列控制块的序列数据,序列数据通过虚拟驱动仿真模块下发给目标虚拟化部件,目标虚拟部件接收到测试指令,从虚拟数据库中获取对应的虚拟运行数据,传回给处理终端中的应用软件,如此往复完成整个扫描过程。
通过上述测试方法,能够达到脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险的目的;解决了现有测试平台存在真实样机,导致软件的开发与验证的不便,且存在样机损坏风险的问题。
在扫描阶段之前,还可以具有初始化阶段;具体为:在处理终端中,虚拟化目标设备的驱动,搭建虚拟驱动仿真模块;在服务终端中,虚拟化目标设备的部件,搭建虚拟部件仿真模块,并搭建对应的仿真数据库。
虚拟驱动仿真模块中的虚拟驱动和虚拟部件仿真模块中的虚拟部件可以根据配置文件来确定。在处理终端提供的服务界面中,根据待测试软件的需求选择生成所需的虚拟部件与服务的配置文件,并通过测试指令下发给虚拟驱动仿真模块和虚拟部件仿真模块中的虚拟部件服务接口,虚拟驱动仿真模块根据配置文件加载虚拟部件对应的驱动,虚拟部件仿真模块加载对应虚拟部件,得到目标虚拟部件,并初始化对应的虚拟数据库。
下面通过优选实施例对本实施例进行描述和说明。
图7是本优选实施例的面向磁共振系统的设备虚拟化测试方法的流程示意图;具体过程如下:
初始化阶段:生成配置文件S711;配置文件下发到虚拟驱动服务接口S712;根据配置文件加载虚拟部件对应的驱动S713;配置文件下发到虚拟部件服务接口S714;根据配置文件加载目标虚拟部件S715;初始化对应的虚拟数据库S716;判断是否正常(是否加载对应的虚拟部件及初始化对应的虚拟数据库)S717;若不正常,则初始化失败S718,此时可以返回S71或直接结束;若正常,则进入扫描阶段,生成磁共振协议数据S719;应用软件对磁共振协议数据进行序列翻译,翻译成包含序列控制块的序列数据S720;序列数据通过虚拟驱动仿真模块下发给目标虚拟化部件S721;目标虚拟部件接收到测试指令,从虚拟数据库中获取对应的虚拟运行数据并反馈S722;判断序列数据是否结束S723;若结束,则扫描完成S724;若未结束,则返回S720继续执行。
在其中的一些实施例中,上述测试方法,还包括以下步骤:
在处理终端的虚拟驱动服务接口的读写命令被调用时,根据读写命令操作的目标数据,确定磁共振协议数据的目标报文;
基于目标报文和目标数据,对虚拟驱动仿真模块或目标虚拟部件中的数据进行修改。
具体的,虚拟驱动服务接口可以提供多种类型的命令。除了读写命令(read、write)之外,还包括但不限于open(开命令)、ioctl(函数命令)、release(释放命令)、Notify(通知命令)等命令。基于这些命令都能完成相应的操作。
具体的,举例对虚拟驱动中的read(读命令)、write(写命令)以及ioctl(函数命令)被调用后完成相应操作的工作流程进行说明。
在虚拟驱动服务接口的read命令被调用时,根据read命令操作的目标数据,确定读取次数和磁共振协议数据的第一报文;
基于读取次数和第一报文,从虚拟部件中读取read命令操作的目标数据到虚拟驱动仿真模块中。
具体的,如图8所示,调用虚拟驱动服务接口的read命令读取虚拟部件中数据到应用软件的过程:
发起read命令S81,假设每次与虚拟部件传输的最大字节数为m bytes(1),根据本次read操作的数据总长度(L)计算协议报文发送的次数,即总长度除以一次传输最大字节数(1)作为循环次数(n=L/1)S82,虚拟驱动中设置封装协议报文内容S83,下发报文到待交互的虚拟部件S84,虚拟部件收到协议报文后解析,并从待传输总数据的Data offsetlength读取Data Current Length数据作为响应回传给调用虚拟驱动服务接口S85。判断虚拟驱动是否读完整段数据S86,若未读完整段数据则返回到S83;若读完整段数据则虚拟驱动将收到的数据给到应用层S88。每次下发协议报文时,Data Offset Length从0开始不断增加1,如果数据总长度(L)对一次传输最大字节数m bytes(1)去模(r=L%1)的值不为0,则最后一次读取r字节数据,最后完成多次传输。
在虚拟驱动服务接口的write命令被调用时,根据write命令操作的目标数据,确定写入次数和磁共振协议数据的第二报文;
基于写入次数和第二报文,将write命令操作的目标数据写入到虚拟部件中。
具体的,如图9所示,调用驱动接口的write命令时写测试指令到虚拟部件的过程:
发起write命令S91,假设每次与虚拟部件传输的最大字节数为m bytes(1),根据本次read操作的数据总长度(L)计算协议报文发送的次数,即总长度除以一次传输最大字节数(1)作为循环次数(n=L/1)S92,虚拟驱动中设置封装协议报文内容S93,下发报文给待交互的虚拟部件S94,虚拟部件收到协议报文后解析,并将协议报文中携带的长度为DataCurrent Length数据写入到Data Offset Length中并回复S95;判断是否写完整段数据到虚拟部件S96,若否,则返回到S93;若是,则结束。每次下发协议报文时,Data OffsetLength从0开始不断增加1,如果数据总长度(L)对一次传输最大字节数m bytes(1)去模(r=L%1)的值不为0,则最后一次写入r字节数据,最后完成多次传输。
在虚拟驱动服务接口的ioctl命令被调用时,根据ioctl命令操作的命令值,确定磁共振协议数据的第三报文;
基于第三报文,从虚拟部件中返回与命令值对应的操作内容到虚拟驱动仿真模块中。
具体的,用户调用驱动接口的ioctl命令时对虚拟部件的设置过程:
假设ioctl命令中待执行的操作为查看虚拟部件的信息,虚拟驱动设置并封装此操作的ioctl命令值在协议报文中,下发给待交互的虚拟部件,虚拟部件收到协议报文后解析出ioctl命令值,并按命令完成操作,将操作完成内容回传给虚拟驱动,即完成一次传输过程。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行命令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种面向磁共振系统的设备虚拟化方法,该方法应用于面向磁共振系统的设备虚拟化的测试平台;具体的,适用于处理终端侧;图10是本实施例的面向磁共振系统的设备虚拟化方法的流程图,如图10所示,该流程包括如下步骤:
步骤S1010,获取配置文件,根据配置文件加载虚拟驱动仿真模块;
步骤S1020,基于运行待测试软件产生的测试指令,生成磁共振协议数据;通过虚拟驱动仿真模块,将磁共振协议数据传输至服务终端;
步骤S1030,通过磁共振协议数据,从服务终端中返回与测试指令对应的虚拟运行数据。
具体的,测试平台中提供有服务界面;用户操作服务界面会自动生成对应的配置文件,从而根据配置文件加载虚拟驱动仿真模块。比如:用户在服务界面中选择所需的虚拟部件与服务,响应于用户选择的虚拟部件与服务,生成对应的配置文件,以根据配置文件加载虚拟驱动仿真模块。
待测试软件可以在测试平台中直接运行,其会产生相关的测试指令;将测试指令封装成磁共振协议数据,再利用加载的虚拟驱动仿真模块,将磁共振协议数据传输至服务终端,而不需要真实样机的介入,直接通过磁共振协议数据,从服务终端中返回与测试指令对应的虚拟运行数据;从而完成对待测试软件的测试。
该方法用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。
在其中的一些实施例中,方法还包括:
模拟设备板卡与外部连接的驱动接口;
将驱动接口被调用时产生的相应命令,通过磁共振协议数据传输至服务终端。
具体的,利用模拟设备板卡与外部连接的驱动接口,来保证处理终端侧中原有应用层接口不变,从而替换原有真实场景下与硬件层交互的接口。那么该驱动接口被调用时产生的相应命令,再通过磁共振协议数据将相应命令传输至服务终端,从而实现相应命令的执行。在本实施例中,保持用户调用的驱动接口不变,满足设备板卡调用需求。
在本实施例中还提供了一种面向磁共振系统的设备虚拟化装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。以下所使用的术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管在以下实施例中所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。该装置应用于面向磁共振系统的设备虚拟化的测试平台,具体的,适用于处理终端侧;装置包括:获取单元、处理单元以及返回单元;
获取单元,用于获取配置文件,根据配置文件加载虚拟驱动仿真模块;
处理单元,用于基于运行待测试软件产生的测试指令,生成磁共振协议数据;通过虚拟驱动仿真模块,将磁共振协议数据传输至服务终端;
返回单元,用于通过磁共振协议数据,从服务终端中返回与测试指令对应的虚拟运行数据。
通过上述处理终端侧的装置,解决了相关技术中的测试平台存在真实样机,导致存在样机损坏风险的问题;实现了脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险。
在其中的一些实施例中,上述装置还包括模拟模块;
模拟模块,用于模拟设备板卡与外部连接的驱动接口;
将驱动接口被调用时产生的相应命令,通过磁共振协议数据传输至服务终端。
在另一实施例中提供了一种面向磁共振系统的设备虚拟化方法,该方法应用于面向磁共振系统的设备虚拟化的测试平台;具体的,适用于服务终端侧;图11是本实施例的面向磁共振系统的设备虚拟化方法的流程图,如图11所示,该流程包括如下步骤:
步骤S1110,获取配置文件,根据配置文件加载虚拟部件仿真模块;
步骤S1120,接收处理终端的磁共振协议数据;
步骤S1130,根据磁共振协议数据,选择虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
步骤S1140,根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;
步骤S1150,在目标虚拟部件中执行测试指令,并从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块。
具体的,由于磁共振协议数据包括设备驱动虚拟化访问协议和设备承载协议;其中,设备承载协议能够选择虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件。其中,设备驱动虚拟化访问协议中封装有运行待测试软件产生的测试指令。因此,通过磁共振协议数据,即可在目标虚拟部件中执行测试指令,并从仿真数据库中获取对应的虚拟运行数据传输至虚拟驱动仿真模块;能够模拟真实样机对测试指令的执行和反馈。
通过上述服务终端侧的方法,解决了相关技术中的测试平台存在真实样机,导致存在样机损坏风险的问题;实现了脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险。
在其中的一些实施例中,方法还包括:
注册对虚拟部件的功能,得到注册信息;
根据注册信息,加载并运行对应的目标虚拟部件。
具体的,注册信息包括但不限于功能信息、虚拟部件唯一身份信息等。根据功能信息、虚拟部件唯一身份信息等注册信息,加载并运行对应的目标虚拟部件。
在本实施例中还提供了一种面向磁共振系统的设备虚拟化装置,该装置应用于面向磁共振系统的设备虚拟化的测试平台,具体的,适用于服务终端侧;装置包括:加载单元,接收单元、选择单元、传输单元以及执行单元;
加载单元,用于获取配置文件,根据配置文件加载虚拟部件仿真模块;
接收单元,用于接收处理终端的磁共振协议数据;
选择单元,用于根据磁共振协议数据,选择虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
传输单元,用于根据磁共振协议数据,将运行待测试软件产生的测试指令传输至目标虚拟部件;
执行单元,用于在目标虚拟部件中执行测试指令,并从仿真数据库中获取对应的虚拟运行数据,并传输至虚拟驱动仿真模块。
通过上述服务终端侧的装置,解决了相关技术中的测试平台存在真实样机,导致存在样机损坏风险的问题;实现了脱离真实样机来实现软件的开发与验证,有效节省开发成本,且不存在样机损坏风险。
在其中的一些实施例中,上述装置还包括注册模块;
注册模块,用于注册对虚拟部件的功能,得到注册信息;
根据注册信息,加载并运行对应的目标虚拟部件。
应该明白的是,这里描述的具体实施例只是用来解释这个应用,而不是用来对它进行限定。根据本申请提供的实施例,本领域普通技术人员在不进行创造性劳动的情况下得到的所有其它实施例,均属本申请保护范围。
显然,附图只是本申请的一些例子或实施例,对本领域的普通技术人员来说,也可以根据这些附图将本申请适用于其他类似情况,但无需付出创造性劳动。另外,可以理解的是,尽管在此开发过程中所做的工作可能是复杂和漫长的,但是,对于本领域的普通技术人员来说,根据本申请披露的技术内容进行的某些设计、制造或生产等更改仅是常规的技术手段,不应被视为本申请公开的内容不足。
“实施例”一词在本申请中指的是结合实施例描述的具体特征、结构或特性可以包括在本申请的至少一个实施例中。该短语出现在说明书中的各个位置并不一定意味着相同的实施例,也不意味着与其它实施例相互排斥而具有独立性或可供选择。本领域的普通技术人员能够清楚或隐含地理解的是,本申请中描述的实施例在没有冲突的情况下,可以与其它实施例结合。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对专利保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种面向磁共振系统的设备虚拟化测试平台,其特征在于,包括:处理终端和服务终端;
所述处理终端中搭建有虚拟驱动仿真模块;所述服务终端中搭建有虚拟部件仿真模块以及与所述虚拟部件仿真模块对应的仿真数据库;
所述虚拟驱动仿真模块,用于生成磁共振协议数据,根据所述磁共振协议数据选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
所述虚拟部件仿真模块,与所述虚拟驱动仿真模块连接,用于根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;
所述目标虚拟部件执行所述测试指令,从所述仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
2.根据权利要求1所述的面向磁共振系统的设备虚拟化测试平台,其特征在于,所述虚拟驱动仿真模块包括:虚拟驱动、虚拟驱动管理器以及虚拟驱动服务接口;
所述虚拟驱动,分别与所述虚拟驱动管理器和所述虚拟驱动服务接口连接,用于模拟设备板卡与外部连接的驱动接口,并通过所述磁共振协议数据建立所述虚拟部件与所述处理终端的数据交互;
所述虚拟驱动管理器,用于管理所述虚拟驱动,通过所述虚拟驱动服务接口初始化并加载所述虚拟部件对应的驱动;
所述虚拟驱动服务接口,与所述虚拟驱动管理器连接,用于与所述处理终端中的应用软件进行通讯,并注册对所述虚拟部件的功能,得到注册信息。
3.根据权利要求1所述的面向磁共振系统的设备虚拟化测试平台,其特征在于,所述虚拟部件仿真模块还包括:虚拟部件管理器和虚拟部件服务接口;
所述虚拟部件管理器,用于管理所述虚拟部件;
所述虚拟部件服务接口,分别与所述虚拟驱动仿真模块和所述虚拟部件管理器连接,用于与所述处理终端进行数据交互。
4.根据权利要求1所述的面向磁共振系统的设备虚拟化测试平台,其特征在于,所述处理终端包括:应用软件、实时操作系统以及硬件层;
所述应用软件,运行在所述实时操作系统上,用于运行所述待测试软件以进行扫描控制,生成所述测试指令,并基于预先设置的数据交互协议结构将所述测试指令封装成所述磁共振协议数据;
所述实时操作系统中设有所述虚拟驱动仿真模块,以构建所述实时操作系统与所述硬件层的过渡层;
所述硬件层,用于与所述服务终端进行数据交互。
5.一种面向磁共振系统的设备虚拟化测试方法,其特征在于,包括:
获取配置文件,根据所述配置文件加载处理终端中的虚拟驱动仿真模块和服务终端中的虚拟部件仿真模块;
获取磁共振协议数据,根据所述磁共振协议数据选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;
所述目标虚拟部件执行所述测试指令,从仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
6.根据权利要求5所述的面向磁共振系统的设备虚拟化测试方法,其特征在于,所述测试方法还包括:
在所述处理终端的虚拟驱动服务接口的读写命令被调用时,根据所述读写命令操作的目标数据,确定所述磁共振协议数据的目标报文;
基于所述目标报文和所述目标数据,对所述虚拟驱动仿真模块或所述目标虚拟部件中的数据进行修改。
7.一种面向磁共振系统的设备虚拟化方法,其特征在于,应用于面向磁共振系统的设备虚拟化测试平台,所述测试平台包括处理终端和服务终端;所述方法适用于所述处理终端侧;所述方法包括:
获取配置文件,根据所述配置文件加载虚拟驱动仿真模块;
基于运行待测试软件产生的测试指令,生成磁共振协议数据;
通过所述虚拟驱动仿真模块,将所述磁共振协议数据传输至所述服务终端;
通过所述磁共振协议数据,从所述服务终端中返回与所述测试指令对应的虚拟运行数据。
8.一种面向磁共振系统的设备虚拟化方法,其特征在于,应用于面向磁共振系统的设备虚拟化测试平台,所述测试平台包括处理终端和服务终端;所述方法适用于所述服务终端侧;所述方法包括:
获取配置文件,根据所述配置文件加载虚拟部件仿真模块;
接收所述处理终端的磁共振协议数据;
根据所述磁共振协议数据,选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;
在所述目标虚拟部件中执行所述测试指令,从仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
9.一种面向磁共振系统的设备虚拟化装置,其特征在于,应用于面向磁共振系统的设备虚拟化的测试平台,所述面向磁共振系统的设备虚拟化的测试平台包括处理终端和服务终端;所述装置适用于所述处理终端侧;所述装置包括:获取单元、处理单元以及返回单元;
所述获取单元,用于获取配置文件,根据所述配置文件加载虚拟驱动仿真模块;
所述处理单元,用于基于运行待测试软件产生的测试指令,生成磁共振协议数据;通过所述虚拟驱动仿真模块,将所述磁共振协议数据传输至所述服务终端;
所述返回单元,用于通过所述磁共振协议数据,从所述服务终端中返回与所述测试指令对应的虚拟运行数据。
10.一种面向磁共振系统的设备虚拟化装置,其特征在于,应用于面向磁共振系统的设备虚拟化的测试平台,所述面向磁共振系统的设备虚拟化的测试平台包括处理终端和服务终端;所述装置适用于所述服务终端侧;所述装置包括:加载单元、接收单元、选择单元、传输单元以及执行单元;
所述加载单元,用于获取配置文件,根据所述配置文件加载虚拟部件仿真模块;
所述接收单元,用于接收所述处理终端的磁共振协议数据;
所述选择单元,用于根据所述磁共振协议数据,选择所述虚拟部件仿真模块中对应的虚拟部件,得到目标虚拟部件;
所述传输单元,用于根据所述磁共振协议数据,将运行待测试软件产生的测试指令传输至所述目标虚拟部件;
所述执行单元,用于在所述目标虚拟部件中执行所述测试指令,从仿真数据库中获取对应的虚拟运行数据,并传输至所述虚拟驱动仿真模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211151712.4A CN115470136A (zh) | 2022-09-21 | 2022-09-21 | 面向磁共振系统的设备虚拟化测试平台、方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211151712.4A CN115470136A (zh) | 2022-09-21 | 2022-09-21 | 面向磁共振系统的设备虚拟化测试平台、方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115470136A true CN115470136A (zh) | 2022-12-13 |
Family
ID=84335174
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211151712.4A Pending CN115470136A (zh) | 2022-09-21 | 2022-09-21 | 面向磁共振系统的设备虚拟化测试平台、方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115470136A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116011213A (zh) * | 2022-12-29 | 2023-04-25 | 上海思岚科技有限公司 | 一种数据仿真系统 |
-
2022
- 2022-09-21 CN CN202211151712.4A patent/CN115470136A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116011213A (zh) * | 2022-12-29 | 2023-04-25 | 上海思岚科技有限公司 | 一种数据仿真系统 |
CN116011213B (zh) * | 2022-12-29 | 2024-04-26 | 上海思岚科技有限公司 | 一种数据仿真系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105868149B (zh) | 一种串口信息的传输方法和装置 | |
CN108563517A (zh) | 系统接口的调用方法及装置 | |
CN108388532A (zh) | 可配置硬件算力的ai运算加速板卡及其处理方法、服务器 | |
US20140019574A1 (en) | Remote Direct Memory Access Socket Aggregation | |
CN104636076A (zh) | 一种用于云存储的分布式块设备驱动方法和系统 | |
CN105162673A (zh) | 数据传输接口及方法 | |
CN115470136A (zh) | 面向磁共振系统的设备虚拟化测试平台、方法及装置 | |
CN110048875A (zh) | 一种升级驱动的方法及设备 | |
WO2022089551A1 (zh) | 一种服务器系统以及数据处理的方法 | |
CN108920193A (zh) | Fpga和cpu间sdio通信接口实现方法、及装置 | |
CN107203408A (zh) | 重定向的方法、装置和系统 | |
EP4148568A1 (en) | Method for realizing live migration, chip, board, and storage medium | |
WO2014000299A1 (zh) | 串口重定向处理方法、设备和系统 | |
CN106550026B (zh) | 一种网络通信装置及方法 | |
CN111079909B (zh) | 运算方法、系统及相关产品 | |
CN115022424B (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN115903569A (zh) | 一种全数字综合模块化航电系统 | |
CN111078291B (zh) | 运算方法、系统及相关产品 | |
CN116303149B (zh) | 基于bmc芯片实现控制器接口拓展的方法及系统 | |
Rast et al. | Transport-independent protocols for universal AER communications | |
WO2015013920A1 (zh) | 一种数据转发方法、装置及系统 | |
CN202351905U (zh) | Ic卡读写器 | |
CN111079914B (zh) | 运算方法、系统及相关产品 | |
CN111079911B (zh) | 运算方法、系统及相关产品 | |
CN116016726B (zh) | 一种器件控制方法及分布式系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |