CN111104327A - 固态硬盘控制软件测试方法、装置、系统和计算机设备 - Google Patents
固态硬盘控制软件测试方法、装置、系统和计算机设备 Download PDFInfo
- Publication number
- CN111104327A CN111104327A CN201911317739.4A CN201911317739A CN111104327A CN 111104327 A CN111104327 A CN 111104327A CN 201911317739 A CN201911317739 A CN 201911317739A CN 111104327 A CN111104327 A CN 111104327A
- Authority
- CN
- China
- Prior art keywords
- information
- operation instruction
- data
- shared memory
- memory queue
- 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.)
- Withdrawn
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/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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
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)
- Debugging And Monitoring (AREA)
Abstract
本申请涉及一种固态硬盘控制软件测试方法、装置、系统和计算机设备。所述方法包括:接收携带命令信息的数据信息;根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;从第二共享内存队列获取处理信息并反馈。采用本方法能够提高固态硬盘控制软件的开发效率。
Description
技术领域
本申请涉及电子技术领域,特别是涉及一种固态硬盘控制软件测试方法、装置、系统和计算机设备。
背景技术
随着电子技术的发展,出现了固态硬盘,固态硬盘由控制单元和存储单元组成。固态硬盘在接口的规范和定义、功能及使用方法上与普通硬盘的完全相同,被广泛应用于各个领域。传统的固态硬盘的开发,由于软件设计开发对硬件设计开发的依赖性强,需要在已完成的硬件设计开发的基础上进行软件设计开发。
然而,传统的在已完成的硬件设计开发的基础上进行软件设计开发的开发模式,存在开发效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高开发效率的固态硬盘控制软件测试方法、装置、系统、计算机设备和存储介质。
一种固态硬盘控制软件测试方法,所述方法包括:
接收携带命令信息的数据信息;
根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;
根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;
从第二共享内存队列获取处理信息并反馈。
在其中一个实施例中,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中包括:
根据数据信息生成携带命令信息的待执行操作指令;
根据待执行操作指令以及预设的线程池,得到携带命令信息的待执行线程;
执行待执行线程,得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中。
在其中一个实施例中,执行待执行线程,得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中包括:
执行待执行线程,得到与命令信息对应的底层驱动信息;
封装底层驱动信息,得到与命令信息对应的封装信息;
将封装信息填写至预设的第一共享内存队列中。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作可执行时,调用待测试固态硬盘控制软件根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作不可执行时,调用待测试固态硬盘控制软件反馈无法执行提示信息至预设的第二共享内存队列。
在其中一个实施例中,从第二共享内存队列获取处理信息并反馈包括:
监控第二共享内存队列;
当第二共享内存队列中存在处理信息时,获取处理信息并判断处理信息中是否存在数据操作指令信息;
当处理信息中存在数据操作指令信息时,根据数据操作指令信息执行对应数据操作。
一种固态硬盘控制软件测试装置,所述装置包括:
接收模块,用于接收携带命令信息的数据信息;
封装模块,用于根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;
调用模块,用于根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取所述封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;
处理模块,用于从第二共享内存队列获取处理信息并反馈。
一种固态硬盘控制软件测试系统,所述系统包括通信模块以及backingstoretask模块;
通信模块接收携带命令信息的数据信息并传输至backingstore task模块,backingstore task模块根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收携带命令信息的数据信息;
根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;
根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;
从第二共享内存队列获取处理信息并反馈。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收携带命令信息的数据信息;
根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;
根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;
从第二共享内存队列获取处理信息并反馈。
上述固态硬盘控制软件测试方法、装置、系统、计算机设备和存储介质,接收携带命令信息的数据信息,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,通过测试操作指令调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。整个过程,通过封装信息、第一共享内存队列、测试操作指令以及第二共享内存队列,实现了与待测试固态硬盘控制软件的数据交换,在与待测试固态硬盘控制软件进行数据交换的过程中,使待测试固态硬盘控制软件根据数据操作指令对虚拟固态硬盘执行数据处理操作、反馈对应的处理信息,实现了对待测试固态硬盘控制软件的测试,提高了开发效率。
附图说明
图1为一个实施例中固态硬盘控制软件测试方法的应用场景图;
图2为一个实施例中固态硬盘控制软件测试方法的流程示意图;
图3为一个实施例中图2中步骤S204的子流程示意图;
图4为一个实施例中图3中步骤S306的子流程示意图;
图5为一个实施例中图2中步骤S208的子流程示意图;
图6为另一个实施例中固态硬盘控制软件测试方法的流程示意图;
图7为一个实施例中固态硬盘控制软件测试装置的结构框图;
图8为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的固态硬盘控制软件测试方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104通过网络进行通信。服务器104接收终端102发送的携带命令信息的数据信息,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈至终端102。其中,终端102可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种固态硬盘控制软件测试方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤:
S202:接收携带命令信息的数据信息。
服务器接收携带命令信息的数据信息。其中,命令信息用于确定待执行的数据操作,待执行的数据操作包括从虚拟固态硬盘中读数据、将数据写入虚拟固态硬盘中等。数据信息与命令信息相对应,举例说明,当待执行的数据操作为将数据写入虚拟固态硬盘中时,数据信息中包括待写入的数据。
S204:根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中。
服务器在接收到数据信息之后,会解析数据信息,从数据信息中得到命令信息,生成携带命令信息的待执行操作指令,并根据待执行操作指令得到待执行线程,通过执行待执行线程,得到与命令信息对应的封装信息。其中,待执行操作指令用于确定预设的线程池中各线程的线程信息,进而根据各线程的线程信息确定空闲线程。在预设的线程池中包括可执行线程,各线程的线程信息是指各线程的执行情况,即当前线程是处于执行状态还是处于空闲状态,空闲线程是指处于空闲状态的、当前未被执行的线程,可用于挂载命令信息。封装信息是指封装有命令信息、且能够被待测试固态硬盘控制软件识别的命令结构体,待测试固态硬盘控制软件能够通过解析封装信息确定与命令信息对应的数据操作指令。在得到与命令信息对应的封装信息之后,服务器会将封装信息填写至预设的第一共享内存队列中。第一共享内存队列是指可被服务器以及待测试固态硬盘控制软件共享使用的内存队列,服务器可将数据信息写入第一共享内存队列中,供待测试固态硬盘控制软件读取。
S206:根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。
服务器会根据封装信息生成测试操作指令,从而可以根据测试操作指令调用待测试固态硬盘控制软件。具体的,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。其中,数据处理操作可以是从虚拟固态硬盘中读数据、将数据写入虚拟固态硬盘中等,第二共享内存队列是指可被服务器以及待测试固态硬盘控制软件共享使用的内存队列,待测试固态硬盘控制软件可将数据信息写入第二共享内存队列中,供服务器读取。
S208:从第二共享内存队列获取处理信息并反馈。
服务器会监控第二共享内存队列,当第二共享内存队列中存在处理信息时,获取该处理信息并反馈至终端,同时判断该处理信息中是否存在数据操作指令信息,当处理信息中存在数据操作指令信息时,根据该数据操作指令信息执行对应数据操作。数据操作指令信息是指与处理信息对应的、在得到处理信息之后余下的数据处理操作,如释放软件资源等。
上述固态硬盘控制软件测试方法,接收携带命令信息的数据信息,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,通过测试操作指令调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。整个过程,通过封装信息、第一共享内存队列、测试操作指令以及第二共享内存队列,实现了与待测试固态硬盘控制软件的数据交换,在与待测试固态硬盘控制软件进行数据交换的过程中,使待测试固态硬盘控制软件根据数据操作指令对虚拟固态硬盘执行数据处理操作、反馈对应的处理信息,实现了对待测试固态硬盘控制软件的测试,提高了开发效率。
在其中一个实施例中,如图3所示,S204包括:
S302:根据数据信息生成携带命令信息的待执行操作指令;
S304:根据待执行操作指令以及预设的线程池,得到携带命令信息的待执行线程;
S306:执行待执行线程,得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中。
服务器根据数据信息会生成携带命令信息的待执行操作指令,进而可以根据待执行操作指令,获取预设的线程池中各线程的线程信息,根据各线程的线程信息可以确定当前线程是处于执行状态还是处于空闲状态,根据线程信息确定空闲线程,将命令信息挂载到空闲线程上,得到携带命令信息的待执行线程。其中,待执行线程可在下一步被执行。在得到待执行线程之后,服务器会执行待执行线程,得到与命令信息对应的封装信息,,将封装信息填写至预设的第一共享内存队列中。
在其中一个实施例中,如图4所示,S306包括:
S402:执行待执行线程,得到与命令信息对应的底层驱动信息;
S404:封装底层驱动信息,得到与命令信息对应的封装信息;
S406:将封装信息填写至预设的第一共享内存队列中。
在得到待执行线程之后,服务器会执行待执行线程,得到与命令信息对应的底层驱动信息。封装底层驱动信息,得到与命令信息对应的封装信息。其中,底层驱动信息与底层驱动相对应,底层驱动是程序以访问底层硬件的形式实现人机交互,驱动程序和应用程序之间需要实现相应的信息交互,一方面,应用程序通过对驱动程序发送相应的指令,实现硬件控制的动作指令,另一方面,驱动程序将硬件读写的状态、从硬件上获得的数据传送给应用程序,实现应用程序与驱动程序间的交互。在本实施例中,应用程序是指服务器内与待测试固态硬盘控制软件进行交互的应用程序,驱动程序是指待测试固态硬盘控制软件,硬件是指虚拟固态硬盘。封装信息是指封装有命令信息、且能够被待测试固态硬盘控制软件识别的命令结构体,待测试固态硬盘控制软件能够通过解析封装信息确定与命令信息对应的数据操作指令。
在得到与命令信息对应的封装信息之后,服务器会将封装信息填写至预设的第一共享内存队列中。第一共享内存队列是指可被服务器以及待测试固态硬盘控制软件共享使用的内存队列,服务器可将数据信息写入第一共享内存队列中,供待测试固态硬盘控制软件读取。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作可执行时,调用待测试固态硬盘控制软件根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。
待测试固态硬盘控制软件在解析封装信息确定与命令信息对应的数据操作指令后,会判断数据操作指令对应的数据处理操作是否可以执行,当数据操作指令对应的数据处理操作可执行时,待测试固态硬盘控制软件会根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。具体的,此处即是对待测试固态硬盘控制软件的功能进行测试,对应的数据处理操作可执行,即说明与数据处理操作对应的功能可实现,对应的数据处理操作不可执行,即说明与数据处理操作对应的功能不可实现。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作不可执行时,调用待测试固态硬盘控制软件反馈无法执行提示信息至预设的第二共享内存队列。
待测试固态硬盘控制软件在解析封装信息确定与命令信息对应的数据操作指令后,会判断数据操作指令对应的数据处理操作是否可以执行,当数据操作指令对应的数据处理操作不可执行时,待测试固态硬盘控制软件会反馈无法执行提示信息至预设的第二共享内存队列。具体的,此处即是对待测试固态硬盘控制软件的功能进行测试,对应的数据处理操作可执行,即说明与数据处理操作对应的功能可实现,对应的数据处理操作不可执行,即说明与数据处理操作对应的功能不可实现。
在其中一个实施例中,如图5所示,S208包括:
S502:监控第二共享内存队列;
S504:当第二共享内存队列中存在处理信息时,获取处理信息并判断处理信息中是否存在数据操作指令信息;
S506:当处理信息中存在数据操作指令信息时,根据数据操作指令信息执行对应数据操作。
服务器会监控第二共享内存队列,当第二共享内存队列中存在处理信息时,获取该处理信息并反馈至终端,同时判断该处理信息中是否存在数据操作指令信息,当处理信息中存在数据操作指令信息时,根据该数据操作指令信息执行对应数据操作。数据操作指令信息是指与处理信息对应的、在得到处理信息之后余下的数据处理操作,如释放软件资源等。
在其中一个实施例中,如图6所示,通过一个最详细的实施例来说明本申请的方案。
服务器接收携带命令信息的数据信息,通过内置的Isci target模块根据数据信息生成携带命令信息的待执行操作指令,通过Isci target模块的backingstore task单元根据待执行操作指令,获取预设的线程池(pthreadn)中各线程的线程信息,根据线程信息确定空闲线程,将命令信息挂载到空闲线程上,得到携带命令信息的待执行线程,通过backingstore task单元中的Bs_rder_request组件执行待执行线程,得到与命令信息对应的底层驱动信息(pread64、pwrite64、unmap等),封装底层驱动信息,得到与命令信息对应的封装信息(Host_read、Host_write、Host_trim等),将封装信息填写至预设的第一共享内存队列(Host side cmd queue)中,根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件(firmware,简称FW)从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列(Hostside Cpl queue),监控第二共享内存队列,当第二共享内存队列中存在处理信息时,获取处理信息并判断处理信息中是否存在数据操作指令信息,当处理信息中存在数据操作指令信息时,根据数据操作指令信息执行对应数据操作。
应该理解的是,虽然图2-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种固态硬盘控制软件测试装置,包括:接收模块702、封装模块704、调用模块706和处理模块708,其中:
接收模块702,用于接收携带命令信息的数据信息;
封装模块704,用于根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;
调用模块706,用于根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取所述封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;
处理模块708,用于从第二共享内存队列获取处理信息并反馈。
上述固态硬盘控制软件测试装置,接收携带命令信息的数据信息,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,通过测试操作指令调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。整个过程,通过封装信息、第一共享内存队列、测试操作指令以及第二共享内存队列,实现了与待测试固态硬盘控制软件的数据交换,在与待测试固态硬盘控制软件进行数据交换的过程中,使待测试固态硬盘控制软件根据数据操作指令对虚拟固态硬盘执行数据处理操作、反馈对应的处理信息,实现了对待测试固态硬盘控制软件的测试,提高了开发效率。
在其中一个实施例中,封装模块还用于根据数据信息生成携带命令信息的待执行操作指令,根据待执行操作指令以及预设的线程池,得到携带命令信息的待执行线程,执行待执行线程,得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中。
在其中一个实施例中,封装模块还用于执行待执行线程,得到与命令信息对应的底层驱动信息,封装底层驱动信息,得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作可执行时,调用待测试固态硬盘控制软件根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作不可执行时,调用待测试固态硬盘控制软件反馈无法执行提示信息至预设的第二共享内存队列。
在其中一个实施例中,处理模块还用于监控第二共享内存队列,当第二共享内存队列中存在处理信息时,获取处理信息并判断处理信息中是否存在数据操作指令信息,当处理信息中存在数据操作指令信息时,根据数据操作指令信息执行对应数据操作。
关于固态硬盘控制软件测试装置的具体限定可以参见上文中对于固态硬盘控制软件测试方法的限定,在此不再赘述。上述固态硬盘控制软件测试装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
一种固态硬盘控制软件测试系统,所述系统包括通信模块以及backingstoretask模块;
通信模块接收携带命令信息的数据信息并传输至backingstore task模块,backingstore task模块根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。
上述固态硬盘控制软件测试系统,接收携带命令信息的数据信息,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,通过测试操作指令调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。整个过程,通过封装信息、第一共享内存队列、测试操作指令以及第二共享内存队列,实现了与待测试固态硬盘控制软件的数据交换,在与待测试固态硬盘控制软件进行数据交换的过程中,使待测试固态硬盘控制软件根据数据操作指令对虚拟固态硬盘执行数据处理操作、反馈对应的处理信息,实现了对待测试固态硬盘控制软件的测试,提高了开发效率。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种固态硬盘控制软件测试方法。
本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收携带命令信息的数据信息;
根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;
根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;
从第二共享内存队列获取处理信息并反馈。
上述固态硬盘控制软件测试计算机设备,接收携带命令信息的数据信息,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,通过测试操作指令调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。整个过程,通过封装信息、第一共享内存队列、测试操作指令以及第二共享内存队列,实现了与待测试固态硬盘控制软件的数据交换,在与待测试固态硬盘控制软件进行数据交换的过程中,使待测试固态硬盘控制软件根据数据操作指令对虚拟固态硬盘执行数据处理操作、反馈对应的处理信息,实现了对待测试固态硬盘控制软件的测试,提高了开发效率。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
根据数据信息生成携带命令信息的待执行操作指令;
根据待执行操作指令以及预设的线程池,得到携带命令信息的待执行线程;
执行待执行线程,得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
执行待执行线程,得到与命令信息对应的底层驱动信息;
封装底层驱动信息,得到与命令信息对应的封装信息;
将封装信息填写至预设的第一共享内存队列中。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作可执行时,调用待测试固态硬盘控制软件根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作不可执行时,调用待测试固态硬盘控制软件反馈无法执行提示信息至预设的第二共享内存队列。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:
监控第二共享内存队列;
当第二共享内存队列中存在处理信息时,获取处理信息并判断处理信息中是否存在数据操作指令信息;
当处理信息中存在数据操作指令信息时,根据数据操作指令信息执行对应数据操作。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收携带命令信息的数据信息;
根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中;
根据封装信息生成测试操作指令,测试操作指令用于调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列;
从第二共享内存队列获取处理信息并反馈。
上述固态硬盘控制软件测试存储介质,接收携带命令信息的数据信息,根据数据信息得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中,根据封装信息生成测试操作指令,通过测试操作指令调用待测试固态硬盘控制软件从第一共享内存队列中获取封装信息、解析封装信息确定与命令信息对应的数据操作指令、根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列,从第二共享内存队列获取处理信息并反馈。整个过程,通过封装信息、第一共享内存队列、测试操作指令以及第二共享内存队列,实现了与待测试固态硬盘控制软件的数据交换,在与待测试固态硬盘控制软件进行数据交换的过程中,使待测试固态硬盘控制软件根据数据操作指令对虚拟固态硬盘执行数据处理操作、反馈对应的处理信息,实现了对待测试固态硬盘控制软件的测试,提高了开发效率。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据数据信息生成携带命令信息的待执行操作指令;
根据待执行操作指令以及预设的线程池,得到携带命令信息的待执行线程;
执行待执行线程,得到与命令信息对应的封装信息,将封装信息填写至预设的第一共享内存队列中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
执行待执行线程,得到与命令信息对应的底层驱动信息;
封装底层驱动信息,得到与命令信息对应的封装信息;
将封装信息填写至预设的第一共享内存队列中。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作可执行时,调用待测试固态硬盘控制软件根据数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与命令信息对应的处理信息至预设的第二共享内存队列。
在其中一个实施例中,测试操作指令还用于当数据操作指令对应的数据处理操作不可执行时,调用待测试固态硬盘控制软件反馈无法执行提示信息至预设的第二共享内存队列。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
监控第二共享内存队列;
当第二共享内存队列中存在处理信息时,获取处理信息并判断处理信息中是否存在数据操作指令信息;
当处理信息中存在数据操作指令信息时,根据数据操作指令信息执行对应数据操作。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种固态硬盘控制软件测试方法,所述方法包括:
接收携带命令信息的数据信息;
根据所述数据信息得到与所述命令信息对应的封装信息,将所述封装信息填写至预设的第一共享内存队列中;
根据所述封装信息生成测试操作指令,所述测试操作指令用于调用待测试固态硬盘控制软件从所述第一共享内存队列中获取所述封装信息、解析所述封装信息确定与所述命令信息对应的数据操作指令、根据所述数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与所述命令信息对应的处理信息至预设的第二共享内存队列;
从所述第二共享内存队列获取所述处理信息并反馈。
2.根据权利要求1所述的方法,其特征在于,所述根据所述数据信息得到与所述命令信息对应的封装信息,将所述封装信息填写至预设的第一共享内存队列中包括:
根据所述数据信息生成携带所述命令信息的待执行操作指令;
根据所述待执行操作指令以及预设的线程池,得到携带所述命令信息的待执行线程;
执行所述待执行线程,得到与所述命令信息对应的封装信息,将所述封装信息填写至预设的第一共享内存队列中。
3.根据权利要求2所述的方法,其特征在于,所述执行所述待执行线程,得到与所述命令信息对应的封装信息,将所述封装信息填写至预设的第一共享内存队列中包括:
执行所述待执行线程,得到与所述命令信息对应的底层驱动信息;
封装所述底层驱动信息,得到与所述命令信息对应的封装信息;
将所述封装信息填写至预设的第一共享内存队列中。
4.根据权利要求1所述的方法,其特征在于,所述测试操作指令还用于当所述数据操作指令对应的数据处理操作可执行时,调用待测试固态硬盘控制软件根据所述数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与所述命令信息对应的处理信息至预设的第二共享内存队列。
5.根据权利要求1所述的方法,其特征在于,所述测试操作指令还用于当所述数据操作指令对应的数据处理操作不可执行时,调用待测试固态硬盘控制软件反馈无法执行提示信息至预设的第二共享内存队列。
6.根据权利要求1所述的方法,其特征在于,所述从所述第二共享内存队列获取所述处理信息并反馈包括:
监控所述第二共享内存队列;
当所述第二共享内存队列中存在处理信息时,获取所述处理信息并判断处理信息中是否存在数据操作指令信息;
当所述处理信息中存在数据操作指令信息时,根据所述数据操作指令信息执行对应数据操作。
7.一种固态硬盘控制软件测试装置,其特征在于,所述装置包括:
接收模块,用于接收携带命令信息的数据信息;
封装模块,用于根据所述数据信息得到与所述命令信息对应的封装信息,将所述封装信息填写至预设的第一共享内存队列中;
调用模块,用于根据所述封装信息生成测试操作指令,所述测试操作指令用于调用待测试固态硬盘控制软件从所述第一共享内存队列中获取所述封装信息、解析所述封装信息确定与所述命令信息对应的数据操作指令、根据所述数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与所述命令信息对应的处理信息至预设的第二共享内存队列;
处理模块,用于从所述第二共享内存队列获取所述处理信息并反馈。
8.一种固态硬盘控制软件测试系统,其特征在于,所述系统包括通信模块以及backingstore task模块;
所述通信模块接收携带命令信息的数据信息并传输至backingstore task模块,所述backingstore task模块根据所述数据信息得到与所述命令信息对应的封装信息,将所述封装信息填写至预设的第一共享内存队列中,根据所述封装信息生成测试操作指令,所述测试操作指令用于调用待测试固态硬盘控制软件从所述第一共享内存队列中获取所述封装信息、解析所述封装信息确定与所述命令信息对应的数据操作指令、根据所述数据操作指令对预设的虚拟固态硬盘执行数据处理操作、反馈与所述命令信息对应的处理信息至预设的第二共享内存队列,从所述第二共享内存队列获取所述处理信息并反馈。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911317739.4A CN111104327A (zh) | 2019-12-19 | 2019-12-19 | 固态硬盘控制软件测试方法、装置、系统和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911317739.4A CN111104327A (zh) | 2019-12-19 | 2019-12-19 | 固态硬盘控制软件测试方法、装置、系统和计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111104327A true CN111104327A (zh) | 2020-05-05 |
Family
ID=70422247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911317739.4A Withdrawn CN111104327A (zh) | 2019-12-19 | 2019-12-19 | 固态硬盘控制软件测试方法、装置、系统和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111104327A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113257334A (zh) * | 2021-06-30 | 2021-08-13 | 四川微巨芯科技有限公司 | 固态硬盘的测试方法、装置和系统 |
-
2019
- 2019-12-19 CN CN201911317739.4A patent/CN111104327A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113257334A (zh) * | 2021-06-30 | 2021-08-13 | 四川微巨芯科技有限公司 | 固态硬盘的测试方法、装置和系统 |
CN113257334B (zh) * | 2021-06-30 | 2021-10-15 | 四川微巨芯科技有限公司 | 固态硬盘的测试方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110209652B (zh) | 数据表迁移方法、装置、计算机设备和存储介质 | |
CN109766256B (zh) | 应用程序中h5页面性能测试方法、装置和计算机设备 | |
CN111651285A (zh) | 批量业务数据处理方法、装置、计算机设备和存储介质 | |
CN109039751B (zh) | 配置路由的方法、装置、计算机设备和存储介质 | |
CN111104208B (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
CN110928653B (zh) | 跨集群任务的执行方法、装置、计算机设备和存储介质 | |
CN109144487B (zh) | 进件业务开发方法、装置、计算机设备和存储介质 | |
CN110704312B (zh) | 压力测试的方法、装置、计算机设备和存储介质 | |
CN111008132B (zh) | Android系统的应用调试方法、装置、计算机设备和存储介质 | |
EP2802983B1 (en) | Isa bridging with callback | |
CN111290919A (zh) | 日志文件生成方法、装置、计算机设备和存储介质 | |
CN110704177A (zh) | 计算任务处理方法、装置、计算机设备和存储介质 | |
CN109257426B (zh) | 业务线资源加载方法、装置、计算机设备和存储介质 | |
CN112929396B (zh) | 基于区块链的业务处理方法、装置、设备和可读存储介质 | |
CN108241516B (zh) | 嵌入式系统程序加载方法、装置、计算机设备和存储介质 | |
CN111104327A (zh) | 固态硬盘控制软件测试方法、装置、系统和计算机设备 | |
CN111309432B (zh) | 一种故障演练方法、装置及系统 | |
CN113553088A (zh) | 补丁包发布方法、装置、计算机设备和存储介质 | |
CN111382012B (zh) | MySQL云数据库的备份方法、装置、计算机设备和存储介质 | |
CN111026988A (zh) | 一种页面加载的方法、装置、系统及计算机设备 | |
US9348667B2 (en) | Apparatus for managing application program and method therefor | |
CN113868127A (zh) | 在线调试方法、装置、计算机设备和存储介质 | |
CN114816668A (zh) | 一种虚拟机内核监测方法、装置、设备及存储介质 | |
CN108040279B (zh) | 视频加速方法及装置 | |
CN112347304A (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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200505 |
|
WW01 | Invention patent application withdrawn after publication |