一种图像化的反射内存网络共享存储区数据映射正确性测试方法

文档序号:8415454阅读:839来源:国知局
一种图像化的反射内存网络共享存储区数据映射正确性测试方法
【技术领域】
[0001] 本发明涉及一种图像化的反射内存网络共享存储区数据映射正确性测试方法,该 测试方法可实时获取反射内存网络共享存储区中选定的数据源区块内的数据,并转换为彩 色图像。根据反射内存网络工作原理将数据映射结果以图像化的方式显示给操作人员。此 方法既可以直观的发现反射内存网络数据映射过程的正确性,如误码及误码发生的规律, 数据位数发生错误的时间,数据错误是否连续出现等,又可以测试各个反射内存节点卡对 共享存储区数据的保持性,还可以测试多台宿主机间通过反射内存网络共享数据的实时 性。本发明属于计算机通信,计算机辅助测试、自动测试和仿真领域。
【背景技术】
[0002] 反射内存网络(或称为:实时反射内存网络,英文称为:reflectivememory systems)是一种高速的实时网络,它允许采用不同的总线结构和不同的操作系统的计 算机之间以确定的速率和延时实时共享数据。反射内存网络是分布式共享存储器系统 (DistributedShared-Memorysystems,简称:DSMsystem)的一种。
[0003] 反射内存网络克服了传统以太网通信机制复杂、宿主机软件负担重、不确定性延 时等缺陷。反射内存网络主要是由反射内存网络节点卡(简称:节点卡)通过光纤等传输 介质连接而成环形网络或星形网络。每台宿主机安装一块反射内存网络节点卡,每个节点 卡的本地存储区中都有反射内存网络中其它节点卡的共享存储区数据的映射(或称为:拷 贝)。反射内存网络节点卡可以适应多种类型宿主机扩展总线,如VME、PCI、CompactPCI等。 由于反射内存网络是一个实时的、基于共享存储器的网络系统,基本上其所有的工作都是 由硬件完成的,几乎没有软件开销,再加上采用光纤传输介质,因此可以达到数十兆字节的 数据传输速率和微秒级的数据传输延迟。更为重要的是这种网络的传输延迟是确定的和可 以预期的,因此在工业过程控制和测试领域以及分布式测控系统中、半实物仿真系统中有 着非常广泛的应用。
[0004] 反射内存网络中各个节点卡共享存储区数据映射功能、数据映射的准确性、保持 性、实时性至关重要,成为评价整个反射内存网络性能优劣的关键参考指标。但是,目前针 对反射内存网络的测试方法极少,基本上都是对数据映射的实时性进行测试,如基于反射 内存的实时网络系统设计(详见2010年《西安工程大学学报》第24期第一卷);另外还有 部分研宄工作探讨其他网络特性在反射内存网络中的应用,如数据组传播机制在反射内存 网络中研宄与实现(详见2013年《电了设计工程》第21期第六卷),主要讨论以太网的组 播通信机制在反射内存网中的实现;还有极少的研宄工作讨论反射内存网的实现,如基于 反射内存技术的实时网络接口卡研制(详见哈尔滨工业大学2010届硕士论文),重点关注 PCI接口部分的实现。
[0005]研宄如何对反射内存网络共享存储区数据映射的正确性、出错规律、数据保持性 等进行综合测试的方法正是本发明的核心内容。

【发明内容】

[0006] 本发明一种图像化的反射内存网络共享存储区数据映射正确性测试方法,其目的 是:改变目前针对反射内存网络数据映射测试方法匮乏的现状,提出一种以彩色图像方式 表示反射内存网络数据映射内容的测试方法,以此对反射内存网络中各个节点共享存储区 数据映射功能的正确性进行综合定性评估,极大方便对反射内存网络设备的测试。
[0007] 在该测试方法中,反射内存网络中没有特殊指定测试发送节点与测试转发节点, 即反射内存网络中任何一个节点都可以作为测试发送节点发起测试,其它节点作为测试转 发节点检验测试结果。对于一个已经构建好的由两个以上节点构成的反射内存网络,当某 一个节点作为测试发送节点利用本方法更新了网络中共享存储区的数据后,都可以在其它 各个节点(即测试转发节点)的宿主机上利用本方法实时的以图像化的方式观察、检测到 数据映射结果。
[0008] 本发明一种图像化的反射内存网络共享存储区数据映射正确性测试方法,其设计 思想是:首先建立共享存储区中二进制数据与像素点的相互映射关系,然后将共享存储区 中的一块数据区域用彩色点阵(即图像)显示出来。同时在图像区域监视鼠标动作,捕捉 鼠标的拖动轨迹,并实现画线功能,以此验证数据映射的实时性。
[0009] 更具体地,本发明一种图像化的反射内存网络共享存储区数据映射正确性测试方 法,该方法具体步骤如下:
[0010] 步骤一:建立共享存储区二进制数据与像素点颜色的相互映射关系。将一个像 素点用两个8位即16位数据表示,如像素点1用0000H和0001H两个地址区域的16位 数据表示,像素点2用0002H和0003H两个地址区域的16位数据表示,以此类推,从图像 左上角起依次向右逐行排列。其中,一个像素点中的16位数据中每5个位表示一种颜色 的深度,即第〇位到第4位表示蓝色深度,第5位到第9位表示绿色深度,第10位到第 14位表示红色深度,第15位不用。因此,每个像素点所对应的不同数值的大小决定了像 素点的颜色,如二进制数0000000000011111代表蓝色,0000001111100000代表绿色,那么 0000000000011111~0000001111100000之间的二进制数则是绿色和蓝色的混合色,数值 越接近0000001111100000,像素点的颜色越接近绿色,数值越接近0000000000011111,像 素点的颜色越接近蓝色。
[0011] 步骤二:选取合适的反射内存空间映射为一个矩形图像。由于反射内存可用空间 非常大,一幅矩形图像无法完全显示,况且此方法也应兼顾测试实时性和持续性,图像数据 太大会影响图像刷新频率。若设置矩形图像宽度为a个像素,高度为b个像素,与此对应的 反射内存共享存储区的测试块区域起始地址为X,则[x,(x+aXbX2)]共享存储区范围为 所显示图像的数据源区块。
[0012] 步骤三:图像清屏操作。即向整个图像区域写入背景色,一般用白色作为背景色, 即向共享存储区地址区间内所有地址中写入OxFF。
[0013] 步骤四:读取共享存储区的数据并转换为图像显示。当反射内存网络的一个节 点上的数据发生变化以后,根据反射内存网络的工作原理,在很短的时间内(几个ns~ 几百us),所有测试转发节点都会映射更新收到测试发送节点对某共享内存地址区域[X, (x+aXbX2)]所写的数据。通过观察图像的变化可以直观的观察数据的映射情况。
[0014] 步骤五:在步骤五中有两个子步骤同时进行,不分先后顺序,所以下面分别进行介 绍:
[0015] 子步骤(1):统计异色点。
[0016] 首先对图像中的数据进行统计,求出众数,作为该图像的基色,然后遍历图像上每 个像素点,不同于基色的像素点就是异色点,并统计其数目。同时,记录异色点出现的时间, 并将时间打印到屏幕上。
[0017] 子步骤(2):在图像区域监视鼠标在图像区域的动作,若鼠标触发了拖动操作,则 计算出鼠标轨迹对应的数据,并写入反射内存存储区。需要监视的鼠标的动作有:鼠标按 下、鼠标抬起、鼠标移动、鼠标移出。
[0018] 首先判断鼠标是否按下,只有当鼠标按下并拖动时才视为画线操作,鼠标仅移动 不做反应。通过获取鼠标当前坐标和维护的上一次监视时的坐标,可以得到鼠标在此监视 周期中的直线轨迹。因为宿主机系统提供的鼠标移动事件并不会在鼠标移动每个像素时都 触发,即只有当鼠标当前坐标和上一次监视时的坐标形成相隔一定距离的两个孤立点时, 才会记录当前坐标值。要实现画线功能,需要在这两点间通过线性插值补充轨迹点。插值 算法首先判断两点间线段的斜率,当斜率绝对值小于等于1时采用逐横坐标插值,否则采 用逐纵坐标插值。
[0019] 步骤六:延时十几ms至几百ms,典型延时时间为80ms。在网络中,所有的节点卡 测试程序在运行的过程中,均每隔80ms读取共享内存地址区域中的数据一次,然后将读取 的数据转换为图像显示到界面上,即界面上的图像每隔80ms刷新一次。
[0020] 步骤七:统计闪烁点。闪烁点是指每次刷新读取内存中数据时,读取的数
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1