CN104239170A - Pci设备测试方法及*** - Google Patents
Pci设备测试方法及*** Download PDFInfo
- Publication number
- CN104239170A CN104239170A CN201310238884.XA CN201310238884A CN104239170A CN 104239170 A CN104239170 A CN 104239170A CN 201310238884 A CN201310238884 A CN 201310238884A CN 104239170 A CN104239170 A CN 104239170A
- Authority
- CN
- China
- Prior art keywords
- pci
- pci equipment
- equipment
- information
- essential information
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种PCI设备测试***及方法,该***包括:配置模块,用于为PCI设备配置XML文件,以存储PCI设备的基本信息;解析模块,用于解析XML文件到一个结构体数组中,将PCI设备存储于一个树形链表结构中;判断模块,用于当树形链表结构中PCI设备编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致,当PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;测试模块,用于当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致。本发明通过遍历树形链表结构,实现快速测试并定位PCI设备。
Description
技术领域
本发明涉及一种PCI设备测试方法及***。
背景技术
服务器上的PCI(英文全称:Peripheral Component Interconnect,中文全称是***部件接口)设备,例如,网卡、SAS芯片等越来越多,对于这些PCI设备的测试,业界通常的测试方法是按照PCI设备的总线号(0-255),设备号(0-32),功能号(0-8)从小到大的顺序来检索和测试每个PCI设备,这样的方法需一个一个的进行I/O端口读写,读写I/O端口的次数过频,导致测试PCI设备花费时间多,效率低下。
发明内容
鉴于以上内容,有必要提供一种PCI设备测试方法及***。
所述PCI设备测试方法包括:为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;解析每个XML文件,将解析得到的信息保存到一个结构体数组中;当服务器的操作***启动时,搜索操作***中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
所述PCI设备测试***包括:配置模块,用于为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;解析模块,用于解析每个XML文件,将解析得到的信息保存到一个结构体数组中;解析模块还用于当服务器的操作***启动时,搜索操作***中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;判断模块,用于当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;判断模块还用于当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;测试模块,用于当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
本发明通过遍历树形链表结构,实现快速测试并定位PCI设备。
附图说明
图1是本发明PCI设备测试***的较佳实施方式的运行环境图。
图2是本发明PCI设备测试***的较佳实施方式的功能模块图。
图3是本发明PCI设备测试方法的较佳实施方式的流程图。
图4是本发明所述树形链表结构的示意图。
主要元件符号说明
服务器 | 1 |
PCI设备测试*** | 10 |
存储器 | 12 |
处理器 | 14 |
PCI设备 | 16 |
配置模块 | 100 |
解析模块 | 102 |
判断模块 | 104 |
报告模块 | 106 |
测试模块 | 108 |
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
如图1所示,是本发明PCI设备测试***较佳实施例的运行环境图。在本实施例中,该PCI(英文全称:Peripheral Component Interconnect,中文全称是***部件接口)设备测试***10运行在一服务器1上,该服务器1包括存储器12、处理器14、多个PCI设备16(如图1,为三个)等其它元件。所述PCI设备16可以为网卡、SAS芯片等元件。
在本实施例中,所述PCI设备测试***10可以被分割成一个或多个模块,所述一个或多个模块被配置成由一个或多个处理器(本实施例为一个处理器14)执行,以完成本发明。例如,参阅图2所示,所述PCI设备测试***10被分割成配置模块100、解析模块102、判断模块104,报告模块106以及测试模块108。本发明所称的模块是完成一特定功能的程序段,比程序更适合于描述软件在服务器1中的执行过程,关于各模块的功能参阅图3的描述。
如图3所示,是本发明PCI设备测试方法的较佳实施例的流程图。
步骤S11,配置模块100为服务器1主板上每个PCI设备16各配置一个可扩展标记语言XML(英文全称为:extensible markup language)文件,该XML文件用来存储每个PCI设备16的基本信息,且该XML文件以每个PCI设备16的编号命名。本实施方式中,所述XML文件存储的每个PCI设备16的基本信息可以包括:每个PCI设备16的设备号、功能号、厂商ID、设备ID、编号、上游PCI设备16的编号、下游PCI设备16的编号、以及带宽等信息。所述下游PCI设备16为该PCI设备16做为桥设备时下面挂载的设备,所述上游PCI设备16是作为桥设备挂载该PCI设备16的设备。
所述PCI设备16的编号用于标示每个PCI设备在服务器1主板上的唯一位置,例如可以按照一定顺序将服务器1主板上的PCI设备16用1、2、3、4等编号标示。
步骤S12,解析模块102解析每个PCI设备16的XML文件,将解析得到的信息保存到一个结构体数组中,该结构体数组可以记为A[N]。
步骤S13,当服务器1的操作***(例如,LINUX***)启动时,解析模块102解析服务器1的操作***的初始化文件,根据该初始化文件搜索操作***中所有的PCI设备16,且根据所有PCI设备16和PCI总线的连接关系,生成一个树形链表结构,用于存储搜索到的所有PCI设备16的基本信息。如图4所示,本实施方式中,所述树形链表结构由主桥设备(Host bridge)、PCI主总线(BUS 0)、连接在PCI主总线上的PCI设备,属于桥设备的PCI设备的次PCI总线(如,bus 1、bus 2、bus 3、bus 4、以及bus 5),以及连接在次PCI总线上的PCI设备构成。所述树形链表结构的生成方法为:
1) 解析服务器1的操作***初始化内存文件,得到所有的PCI设备16。
2) 按照shell排序法,将PCI设备16按照从小到大的顺序,形成线性链表。
3) 自行设定一个host_Bridge,其有个链域指向BUS 0。
4) 读写每个PCI设备16的头类型寄存器,查找出属于桥设备的PCI桥设备16,同样形成从小到大的顺序线性链表,挂于host_bridge的链域成员chain中。
5) 每个属于桥设备的PCI设备16都有一个成员用来存储其下游BUS及最深度BUS,以及其下所有设备,在每个属于桥设备的PCI设备16下面,依序***一根以第二总线号为标示的总线。
6) 遍历所有PCI设备16,将每个PCI设备根据其总线号挂载在对应的总线结构下,同时每个总线结构中分配一个成员用来存储该总线下所挂载的PCI设备16的总数,从而形成了如图4所示的树形链表结构,其中头结点为host_bridge。
步骤S14,判断模块104判断树形链表结构中的每个PCI设备16的编号是否都能在结构体数组A[N]中找到,当树形链表结构中的每个PCI设备16的编号都能在结构体数组A[N]中找到时,服务器1主板上没有PCI设备16丢失,进入步骤S16。反之,当不是所有的树形链表结构中的PCI设备16的编号都能在结构体数组A[N]中找到时,服务器1主板上有PCI设备16丢失,进入步骤S15。
步骤S15,报告模块106报告服务器1主板有PCI设备16丢失。本实施方式中,报告模块106可以报告服务器1主板有PCI设备16丢失,且进一步报告该丢失的PCI设备16的编号。
步骤S16,判断模块104逐个判断PCI设备16的基本信息是否和预设信息一致。本实施方式中,所述预设信息为测试人员根据一定标准预先设定的PCI设备16的基本信息,当PCI设备16的基本信息与该预设信息不一致时,该PCI设备16不能通过本次测试,当PCI设备16的基本信息与该预设信息一致时,该PCI设备16通过本次测试。
步骤S17,当该PCI设备16的基本信息和预设信息不一致时,报告模块106报告PCI设备16的基本信息中与预设信息不一致的基本信息(例如,报告该PCI设备16的设备号与预设信息不一致),以及该PCI设备16的编号。
步骤S18,当该PCI设备16的基本信息和预设信息一致时,判断模块104根据PCI业界工业标准,判断该PCI设备16是否为桥设备。当该PCI设备16是桥设备时,进入步骤S19,反之,当该PCI设备不是桥设备时,返回步骤S16。
步骤S19,测试模块108判断该PCI设备16的下游PCI设备16是否存在丢失,并逐个测试该PCI设备16的下游PCI设备16,判断所述下游PCI设备16的基本信息和预设信息是否一致,以判断该PCI设备16是否通过本次测试。
本发明所述步骤S11至步骤S19通过遍历树形链表结构,实现快速测试并定位PCI设备16。
以上实施方式仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种PCI设备测试方法,其特征在于,该方法包括:
为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;
解析每个XML文件,将解析得到的信息保存到一个结构体数组中;
当服务器的操作***启动时,搜索操作***中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;
当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;
当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;
当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
2.根据权利要求1所述的PCI设备测试方法,其特征在于,所述树形链表结构由PCI主总线、连接在PCI主总线上的PCI设备、属于桥设备的PCI设备的次PCI总线,以及连接在次PCI总线上的PCI设备构成。
3.根据权利要求1所述的PCI设备测试方法,其特征在于,所述预设信息为根据一定标准预先设定的PCI设备的信息,当PCI设备的基本信息与该预设信息不一致时,该PCI设备不能通过本次测试。
4.根据权利要求1所述的PCI设备测试方法,其特征在于,所述方法还包括:
当该PCI设备的基本信息和预设信息不一致时,报告该PCI设备的基本信息中与预设信息不一致的基本信息,以及该PCI设备的编号。
5.根据权利要求4所述的PCI设备测试方法,其特征在于,所述方法还包括:
当树形链表结构中的一个PCI设备的编号在结构体数组中无法找到时,报告服务器主板有PCI设备丢失,且进一步报告该丢失的PCI设备的编号。
6.一种PCI设备测试***,其特征在于,该***包括:
配置模块,用于为服务器主板上每个PCI设备各配置一个可扩展标记语言XML文件,该XML文件用来存储每个PCI设备的基本信息;
解析模块,用于解析每个XML文件,将解析得到的信息保存到一个结构体数组中;
解析模块还用于当服务器的操作***启动时,搜索操作***中所有PCI设备,且根据所有PCI设备和PCI总线的连接关系,将搜索到的PCI设备存储于一个树形链表结构中;
判断模块,用于当树形链表结构中的每个PCI设备的编号都能在结构体数组中找到时,逐个判断PCI设备的基本信息是否和预设信息一致;
判断模块还用于当该PCI设备的基本信息和预设信息一致时,判断该PCI设备是否为桥设备;
测试模块,用于当该PCI设备是桥设备时,判断该PCI设备的下游PCI设备是否存在丢失,并逐个判断该PCI设备的下游PCI设备的基本信息和预设信息是否一致,以判断该PCI设备是否通过测试。
7.根据权利要求6所述的PCI设备测试***,其特征在于,所述树形链表结构由PCI主总线、连接在PCI主总线上的PCI设备,属于桥设备的PCI设备的次PCI总线,以及连接在次PCI总线上的PCI设备构成。
8.根据权利要求6所述的PCI设备测试***,其特征在于,所述预设信息为根据一定标准预先设定的PCI设备的信息,当PCI设备的基本信息与该预设信息不一致时,该PCI设备不能通过本次测试。
9.根据权利要求6所述的PCI设备测试***,其特征在于,所述***还包括:
报告模块,用于当该PCI设备的基本信息和预设信息不一致时,报告该PCI设备的基本信息中与预设信息不一致的基本信息,以及该PCI设备的编号。
10.根据权利要求9所述的PCI设备测试***,其特征在于,
所述报告模块还用于当树形链表结构中的一个PCI设备的编号在结构体数组中无法找到时,报告服务器主板有PCI设备丢失,且进一步报告该丢失的PCI设备的编号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310238884.XA CN104239170A (zh) | 2013-06-17 | 2013-06-17 | Pci设备测试方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310238884.XA CN104239170A (zh) | 2013-06-17 | 2013-06-17 | Pci设备测试方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104239170A true CN104239170A (zh) | 2014-12-24 |
Family
ID=52227295
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310238884.XA Pending CN104239170A (zh) | 2013-06-17 | 2013-06-17 | Pci设备测试方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104239170A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273249A (zh) * | 2016-04-06 | 2017-10-20 | 龙芯中科技术有限公司 | 主板测试方法、处理器和主板测试*** |
CN109960212A (zh) * | 2017-12-25 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 任务发送方法和装置 |
CN110221995A (zh) * | 2019-05-15 | 2019-09-10 | 方一信息科技(上海)有限公司 | 一种集成智能网卡的数据管理方法及*** |
CN114338475A (zh) * | 2021-12-30 | 2022-04-12 | 北京天融信网络安全技术有限公司 | 一种link速率异常检测方法、装置、电子设备及存储介质 |
-
2013
- 2013-06-17 CN CN201310238884.XA patent/CN104239170A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273249A (zh) * | 2016-04-06 | 2017-10-20 | 龙芯中科技术有限公司 | 主板测试方法、处理器和主板测试*** |
CN107273249B (zh) * | 2016-04-06 | 2021-01-26 | 龙芯中科技术股份有限公司 | 主板测试方法、处理器和主板测试*** |
CN109960212A (zh) * | 2017-12-25 | 2019-07-02 | 北京京东尚科信息技术有限公司 | 任务发送方法和装置 |
CN110221995A (zh) * | 2019-05-15 | 2019-09-10 | 方一信息科技(上海)有限公司 | 一种集成智能网卡的数据管理方法及*** |
CN114338475A (zh) * | 2021-12-30 | 2022-04-12 | 北京天融信网络安全技术有限公司 | 一种link速率异常检测方法、装置、电子设备及存储介质 |
CN114338475B (zh) * | 2021-12-30 | 2023-12-01 | 北京天融信网络安全技术有限公司 | 一种link速率异常检测方法、装置、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3563243B1 (en) | Determining application test results using screenshot metadata | |
CN106991040B (zh) | 数据接口测试方法和装置 | |
CN106294222A (zh) | 一种确定pcie设备与插槽对应关系的方法及装置 | |
CN104239170A (zh) | Pci设备测试方法及*** | |
CN105095325A (zh) | 一种测试数据的生成方法及装置 | |
CN109344060A (zh) | 一种自动化测试的分析方法及装置 | |
CN104778179A (zh) | 一种数据迁移测试方法和*** | |
CN110019116B (zh) | 数据追溯方法、装置、数据处理设备及计算机存储介质 | |
CN111190551B (zh) | 一种redis数据的迁移***、迁移方法、装置及终端 | |
CN102207956A (zh) | 数据库管理方法、数据库管理***及其程序 | |
CN104809039A (zh) | 基于物理内存分配映射的内存检测方法 | |
CN112732567B (zh) | 基于ip的mock数据测试方法、装置、电子设备及存储介质 | |
CN109408309B (zh) | 多终端的测试方法及装置 | |
CN111597069B (zh) | 程序处理方法、装置、电子设备和存储介质 | |
CN103810105A (zh) | 应用程序版本检测方法和装置 | |
CN105389255B (zh) | 一种bmc oem命令返回值与固定信息比对的自动化测试方法 | |
CN115630036A (zh) | 报错信息处理方法、装置、设备、存储介质和程序产品 | |
CN109408379A (zh) | 一种基于提升jmeter接口自动化测试数据匹配方法 | |
CN110532187B (zh) | 一种hdfs吞吐性能测试方法、***、终端及存储介质 | |
CN104123212B (zh) | Usb芯片的***测试方法 | |
CN104182334A (zh) | Numa***的内存测试方法及*** | |
CN103425580A (zh) | 一种自动快速获取和校验云计算设备配置信息的方法 | |
CN107590017A (zh) | 一种电子设备的检测方法和装置 | |
US20170293545A1 (en) | Redundant cable routing management in storage systems | |
CN105159834A (zh) | 一种软件动态测试运行数据提取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141224 |