利用游戏数据的移动自组织网络场景构造方法转让专利

申请号 : CN200710176638.0

文献号 : CN101183999B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 吴威周忠罗刚曹靖赵沁平

申请人 : 北京航空航天大学

摘要 :

本发明涉及利用游戏数据的移动自组织网络场景构造方法,属于无线自组织网络测试、仿真技术领域。它包含以下步骤:1)将游戏中的每个单位实体作为节点,将游戏过程看成是无线自组织网络应用过程;2)利用数据结构分析、代码注入方法获取游戏中的实体的行为信息;3)收集分析得出的游戏中实体的移动轨迹信息;4)将实体的位置信息导出成统一的表示格式;5)根据网络测试、仿真的需求,从实体数据生成相应的脚本,完成网络场景构造。本方法可方便地为无线自组织网络测试、仿真系统构造具有上千节点的大规模复杂的网络场景,所采用的数据来源丰富多样,构造过程简单。其中节点行为体现了游戏者的判断和行为规律,不在依赖于人工建立的数学随机模型,构造的场景更为真实、合理。本发明解决了人工构造网络场景中网络规模与真实性之间的矛盾。

权利要求 :

1.一种利用游戏数据的移动自组织网络场景构造方法,其特征在于包括以下步骤:

1)将游戏中的每个单位实体作为节点,将游戏过程看成是无线自组织网络应用过程;

2)利用数据结构分析、代码注入方法获取游戏中的实体的行为信息;

3)收集分析得出的游戏中实体的移动轨迹信息;

4)将实体的位置信息导出成统一的表示格式;

5)根据网络测试、仿真的需求,从实体的位置信息生成相应的脚本,完成网络场景构造;

在所述步骤2)中,通过对游戏的机器代码分析,获得游戏实体的数据结构,使用内存扫描程序按照该数据结构扫描游戏内存,获得游戏实体的位置信息和时间戳;

在所述步骤5)中,利用网络游戏与无线自组织网络的相似性,通过记录、分析和处理游戏中的实体移动轨迹数据构造无线自组织网络场景。

2.如权利要求1所述的利用游戏数据的移动自组织网络场景构造方法,其特征在于:所述步骤2)进一步包括以下步骤:

2.1)在游戏运行前将内存扫描程序注入到该游戏的内存空间,使其对游戏内存有完全的访问权限;

2.2)在回放游戏录像时,使用内存扫描程序在定时或事件触发下扫描游戏的内存控制,获取游戏实体的位置信息。

3.如权利要求2所述的利用游戏数据的移动自组织网络场景构造方法,其特征在于:所述步骤3)进一步包括以下步骤:

3.1)将扫描获取的游戏实体的位置信息放入共享内存中,供观察器软件使用;

3.2)用观察器软件显示游戏实体的位置信息或将游戏实体的位置信息记录到文件。

4.如权利要求1所述的利用游戏数据的移动自组织网络场景构造方法,其特征在于:所述步骤4)中每个单位实体的位置信息导出格式为:单位实体=<游戏时间,单位编号,单位坐标,单位类型,玩家编号>,其中:<单位编号>是每个游戏单位的唯一标识;<单位坐标>记录了该单位在游戏场景中的位置信息;<单位类型>表示单位的兵种信息;<玩家编号>体现了单位所属阵营。

说明书 :

利用游戏数据的移动自组织网络场景构造方法

技术领域

[0001] 本发明涉及移动自组织网络场景的构造方法,属于无线自组织网络测试、仿真技术领域。

背景技术

[0002] 无线自组织网络是一种特殊的对等式多跳移动通信网络。这种网络是由带有无线收发设备的节点组成的多跳、自治系统,移动节点同时具有路由功能,当源节点与目的节点之间距离超出彼此的信号覆盖范围时,节点采用自组织的方式参与分组转发和路由维护工作,即多跳路由。由于无线自组织网络技术属于学科前沿,所研究的网络协议、算法在实际投入使用前需要进一步实验验证。在网络测试、仿真无线自组织网络并分析、评估网络协议的过程中,需要构造相应的网络场景。一个网络场景包括四个部分:1)信号传播、干扰模型;2)节点移动模型;3)通信模型;4)所采用的网络协议与相应参数。本发明涉及的网络场景构造方法,是针对其中节点移动模型的改进,其余三部分很大程度采用了已有的、公开的技术、方法和工具。
[0003] 节点移动模型是指对节点位置的数学建模,确定仿真过程中节点的移动轨迹。以下对节点移动模型的现状进行介绍、分析。通常采用的移动模型,根据节点移动数据的来源可以分为基于伪随机数的移动模型和基于真实数据的移动模型,实验应用中也有将两者结合,或者根据真实数据对节点移动进行建模,再根据伪随机数生成具体场景的做法。基于伪随机数的移动模型,可进一步分为1)单实体移动模型和2)组移动模型。单实体移动模型是对独立的节点移动行为进行建模,用于模拟简单的节点移动情况,考虑速度、方向和停留周期等因素,是较为简单、应用广泛的一类移动模型;组移动模型用于模拟节点成组移动,同组节点的运动是相关的,例如一组军事应用中的节点会执行相同的任务-搜索特定区域、攻击、占领目标等。基于真实数据的移动模型是在节点上放置GPS(全球定位系统)设备来实时获得节点的位置数据,通过分析数据特征,使生成的节点移动轨迹在统计上与真实数据吻合。
[0004] 总的来说,这些移动模型在实际应用中存在着一些问题:
[0005] 1.基于伪随机数的节点行为没有确定的意图,移动不能体现实际应用中节点的角色特征和相互之间交互作用,所构造出的网络场景的可信性受到广泛质疑。
[0006] 2.基于伪随机数的节点移动模型所生成的移动轨迹的一些统计特性随着模拟时间的变化是不稳定的。例如,一种典型的单实体移动模型“随机路点移动模型”通过为节点随机选择目的地和移动速度,令节点直线运动,当到达目的地后再随机选择新的目的地和速度,模拟了节点在无障碍场景中的随机移动。这种移动模型就存在节点分布不均匀(集中于中央),且随着模拟时间的加长,节点的移动具有大多数缓慢运动,而少量节点高速运动的缺点。
[0007] 3.通过伪随机数生成的节点轨迹是否能符合实际应用中节点的移动规律,是一个值得深入研究的问题,伪随机数生成器的选择甚至会影响仿真的结果。
[0008] 4.对于基于真实数据的移动模型,其数据来源、网络规模都是问题。数据不易取得,对真实数据建模也需要很大的投入,完全依靠真实数据消耗太大,从而限制了网络规模。利用真实数据时,通常也会辅助使用伪随机数生成移动轨迹,其可信性受到影响。
[0009] 综上所述,无线自组织网络中移动模型面临的根本问题是:在给定时间、资源投入下,构造的网络场景要么可信性低,要么规模受限,即所构造的网络场景的规模(网络中节点数目多少)与质量(节点移动轨迹的合理性)无法同时保证。

发明内容

[0010] 本发明的目的是解决为移动自组织网络实验、仿真构造的网络场景的规模与质量之间的矛盾,实现构造节点数目大于500的大规模、不依赖与伪随机数的网络场景,使之适用于验证包括军事、民用的多种应用场景下自组织网络性能。
[0011] 本发明所采用的技术方案为:
[0012] 一种利用游戏数据的移动自组织网络场景构造方法,其包括以下步骤:
[0013] 1)将游戏中的每个单位实体作为节点,将游戏过程看成是无线自组织网络应用过程;
[0014] 2)利用数据结构分析、代码注入方法获取游戏中的实体的行为信息;
[0015] 3)收集分析得出的游戏中实体的移动轨迹信息;
[0016] 4)将实体的位置信息导出成统一的表示格式;
[0017] 5)根据网络测试、仿真的需求,从实体数据生成相应的脚本,完成网络场景构造。
[0018] 本发明将联机游戏中的单位实体作为网络节点,将游戏过程看成是无线自组织网络应用,通过收集、分析游戏实体的位置信息和行为数据,并进一步应用到网络测试、仿真中。本发明将联机游戏数据引入严肃的学术研究中,利用游戏数据来源丰富、多样的特点,为构造无线自组织网络场景提供了新的方法。
[0019] 本发明的有益效果是:利用了游戏设计者对游戏场景的建模,游戏者在游戏过程中的决策,实现了低代价的建立大规模、高可信性的网络场景,解决了之前各种移动模型普遍存在的规模与质量的矛盾。附图说明:
[0020] 图1是移动轨迹导出工具模块划分与流程图;
[0021] 图2是轨迹导出模块实现机制原理图;
[0022] 图3是对游戏内存分析所获得的数据结构描述;
[0023] 图4是游戏截屏与构造的网络场景对比;
[0024] 图5是随机路点模型构造的网络场景效果图。具体实施方式:
[0025] 为应用该网络场景构造方法,首先需要分析应用场景的特点,根据其中节点的行为特征选择适当的联机游戏,作为构造无线自组织网络场景的数据源。针对目标游戏进行分析,采用内存分析、代码注入技术分析游戏中节点的位置信息和游戏时间信息,编写相应的软件完成对信息的收集。最后将节点位置信息导出成统一的表示格式,根据所采用的网络测试、仿真软件生成具体的仿真脚本。
[0026] 本发明的网络场景构造过程包括以下步骤:
[0027] 1)将游戏中的每个单位实体作为节点,用游戏中的节点移动轨迹构造无线自组织网络应用中的场景,将游戏过程看成是无线自组织网络应用过程;
[0028] 2)利用数据结构分析、代码注入方法获取游戏中的实体的行为信息;
[0029] 3)收集分析得出的游戏中实体的移动轨迹信息;
[0030] 4)将实体的位置信息导出成统一的表示格式;
[0031] 5)根据网络测试、仿真的需求,从实体数据生成相应的脚本,完成网络场景构造。
[0032] 在所述步骤2)中,通过对游戏的机器代码分析,获得游戏实体的数据结构,使用内存扫描程序按照该数据结构扫描游戏内存,获得游戏实体的位置信息和时间戳。
[0033] 所述步骤2)进一步包括以下步骤:
[0034] 2.1)在游戏运行前将内存扫描程序注入到该游戏的内存空间,使其对游戏内存有完全的访问权限;
[0035] 2.2)在回放游戏录像时,使用内存扫描程序在定时或事件触发下扫描游戏的内存控制,获取游戏实体信息。
[0036] 所述步骤3)进一步包括以下步骤:
[0037] 3.1)将扫描获取的游戏实体信息放入共享内存中,供观察器软件使用;
[0038] 3.2)用观察器软件显示游戏实体的位置信息或将游戏实体的位置信息记录到文件。
[0039] 在所述步骤5)中,利用网络游戏与无线自组织网络的相似性,通过记录、分析和处理游戏中的节点移动轨迹数据构造无线自组织网络场景。
[0040] 以下结合一个示范应用,详细说明本发明所描述的思想、方法和所采用的技术手段。
[0041] 军事应用是无线自组织网络的一个重要应用场景,这里给出利用游戏数据的移动自组织网络军事场景的构造方法。首先选择合适的联机游戏,即时战略类游戏是玩家在一个虚拟的战场环境中通过采集资源、制造军事单位,并进行对抗,以最终消灭对手为目的的游戏类型。游戏中两个或多个玩家所操作的单位之间的协作、对抗恰当地体现出节点分属于不同实力进行对抗的本质。由于在一般即时战略游戏中,每位玩家所能操作的单位有数百个,整体而言就可以构造出具有数千个节点的具有对抗特征的网络场景,因而可以通过应用即时战略游戏中的节点移动轨迹来构造无线自组织网络在军事应用中的场景,并在其上对设计的无线自组织网络协议进行评估。
[0042] 相对于现有移动模型(对节点移动轨迹的数学建模),采用从游戏中导出的节点移动轨迹更合理、客观地体现出对抗环境的特征,并且很好的解决了现有移动模型模拟军事应用场景所存在的问题。游戏中的节点按照所属玩家划分成两个和多个阵营,节点为达成一定目的也具有成组移动的特性,在战斗过程中节点会被破坏,造成节点毁伤。节点之间的行为,具有更多的相关性,同一阵营的节点是在玩家意图(战术指导)下移动的,不同阵营之间的节点也存在进攻、防守、救援等交互。这种方法还具有数据来源不受限制,数据量巨大的优势。由于游戏录像数量众多,可以通过互联网容易获得,实际模拟过程中,可以通过录像中节点的移动轨迹构建大量仿真场景。而且,在玩家的意图指导下,避免了节点的行为依赖于伪随机数,更符合军事应用中的特征。
[0043] 通过设计并实现导出即时战略游戏录像的工具,并将所导出的节点移动轨迹应用在一种典型的网络模拟器上(本发明以NS2为例),建立具有对抗性质的网络场景。移动轨迹生成工具包括游戏实体轨迹导出、格式转换两个独立的模块,这两个模块间关系如所图1所示。其中导出模块通过分析、扫描星际争霸游戏的内存结构,在其回放游戏录像时定时采集游戏场景中所有节点的位置信息,并可观察、记录到文件中;而格式转换模块用于处理导出模块输出的记录文件,并将其转换成能够被NS2使用的.tcl文件(使用TCL语言编写的仿真脚本文件)以供随后的网络仿真使用。
[0044] 在该应用中,轨迹导出模块是核心模块,其实现机制如图2所示。其中代码注入加载器scloader.exe启动游戏,并在游戏运行前将内存扫描程序sctracer.dll注入到该游戏的内存空间,使其对游戏内存有完全的访问权限;sctracer.dll是具体执行内存扫描,记录游戏单位的位置的程序,在定时和事件触发下扫描游戏的内存控制,获取相应的游戏实体位置信息,将扫描获得的实体位置信息放入一块共享内存中,供观察器sctracerMonitor使用;sctracerMonitor提供与用户的接口,完成信息的显示并记录到文件。格式转换模块读取轨迹记录文件,根据仿真的需求去除无用信息,生成仿真中使用的节点移动脚本供NS2使用。
[0045] 移动轨迹导出工具的设计与实现中,最困难的技术问题是分析游戏内存中的实体数据结构。本文只关注其中和节点位置相关的信息,通过对游戏机器代码的分析,获得游戏过程中游戏实体的数据结构。内存扫描程序就是按照该结构扫描游戏内存,将游戏单位的位置信息和时间戳保存下来。图3是游戏内存数据结构分析结果,其中方框标出的部分是单位的位置信息,导出模块的主要工作是每隔0.25秒记录所有节点的位置信息一次。
[0046] 观察器则负责按照时间记录了游戏中每个单位的位置信息,可表示为元组:单位实体=<游戏时间,单位编号,单位坐标,单位类型,玩家编号>。其中<单位编号>是每个游戏单位的唯一标识;<单位坐标>记录了该单位在游戏场景中的位置信息;<单位类型>表示单位的兵种信息,不同类型思路的体积、体动速度都是不相同的;<玩家编号>体现了单位所属阵营。
[0047] 所完成的移动轨迹生成工具对一场游戏录像导出过程中,游戏截屏与最终生成的移动轨迹在NS2的可视化工具NAM中的对比效果如图4所示。图中左面两幅是游戏中一个战斗场景,右边两幅图为对应的仿真中显示效果。左上图中飞机在进攻坦克阵地,右上图实线框出的区域对应左上图的场景;左下图是游戏中显示游戏场景全貌的小地图,亮色与暗色分别代表游戏双方的节点,通过小地图可以大致看到节点在场景中分布的情况,这与右下图则是该时刻节点在仿真网络场景中的节点分布的情况。
[0048] 传统的随机路点移动模型生成具有500个节点的移动轨迹如图5所示,与图4对比可以看出,图5中节点分布过于均匀,没能体现出军事对抗中战略要地、阵营和节点这件的交互等特点。图4、5说明,利用游戏数据构造网络场景的方法可以方便地构造大规模、高质量的网络场景。
[0049] 以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明在移动自组织网络场景构造中采用游戏数据扩大规模的基本思路的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。