CN101447897B - 一种无线传感器网络模拟器及其建立方法 - Google Patents
一种无线传感器网络模拟器及其建立方法 Download PDFInfo
- Publication number
- CN101447897B CN101447897B CN2007101781874A CN200710178187A CN101447897B CN 101447897 B CN101447897 B CN 101447897B CN 2007101781874 A CN2007101781874 A CN 2007101781874A CN 200710178187 A CN200710178187 A CN 200710178187A CN 101447897 B CN101447897 B CN 101447897B
- Authority
- CN
- China
- Prior art keywords
- module
- sensor network
- node
- network simulator
- incident
- 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.)
- Active
Links
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及无线传感器网络模拟器技术领域,公开了一种采用分层体系结构建立的大规模无线传感器网络模拟器及其建立方法。本发明中的无线传感器网络模拟器整体结构具有鲜明的层次性,因此具有较好的可扩展性和可修改性,模拟器中的事件和节点,都通过有效的数据结构加以实现和管理,所以可以支持大规模的传感器网络仿真实验,并且具有较高的执行速度。
Description
技术领域
本发明涉及无线传感器网络模拟器技术领域,特别是一种采用分层体系结构建立的大规模无线传感器网络模拟器及其建立方法。
背景技术
随着互联网络向物理世界的不断延伸,传感器网络应运而生。与传统的无线网络相比,传感器网络最为显著的特点就在于其中的节点不但需要通过自组织的方式实现节点之间的通信,还要通过感知模块和执行模块实现与物理世界的交互。受成本和体积的限制,构成传感器网络的节点一般不具有较强的计算能力和通信能力,而受供电模块的电量限制,每个节点的工作时间也十分有限。
为了解决现有传感器网络中存在的诸多问题,国内外的研究机构、高校和企业进行了一系列的研究。目前,对于传感器网络的研究一般基于以下两种方法,一种是在实验平台中运行实际程序来比较真实地反映网络的性能;另一种则是在模拟器中通过仿真平台来***的评价传感器网络的性能。在上述第一种方法中,由于受成本、场地等因素的限制,实验平台中的节点数量不可能达到真实网络的规模,因而通常并不能很好的反映真实网络的实际性能。因此,目前的研究人员大都采用在模拟器中运行仿真实验的方法,即上述第二种方法来***地评价传感器网络的性能。
由于现有的网络模拟器,如NS2、OMNeT++和GloMoSim等,大都是为了传统的有线网络和无线网络而建立的,与传感器网络日趋扩大的发展趋势相比,这些网络模拟器所模拟出的网络规模都比较小,因此,传统网络建立的模拟器并不能很好的支持在研究新的大规模传感器网络中的仿真实验,其问题主要体现在网络的规模性和协议的可扩展性上。虽然近些年来国外的一些科研机构和高校对这些传统的网络模拟器进行了模块扩展,但总体上的性能还是不能满足运行大规模传感器网络仿真程序的要求。
发明内容
本发明的目的在于,提供一种无线传感器网络模拟器及其建立方法,所述无线传感器网络模拟器在结构上具有鲜明的层次性,易于协议模块的扩展;并且采用分层数据结构的优化方法,提高了模拟器的规模性。
为了实现上述目的,本发明公开了一种传感器网络模拟器,采用场景模块、拓扑模块和节点三层体系结构和这三层结构中定义的指针,让节点的协议层在事件处理过程中迅速的获得场景模块中任意节点的状态信息并对其进行操作,其中:;
所述场景模块包括随机数产生器模块、模拟器时钟模块、离散事件队列模块以及事件分发器模块,其中:
所述随机数产生器模块,用于产生传感器网络模拟器运行中所需的随机数;
所述模拟器时钟模块,用于实现传感器网络模拟器中的模拟器时钟功能;
所述离散事件队列模块,用于管理在传感器网络模拟器进行模拟时,所有需要被处理和已经处理过的事件;
所述事件分发器模块,用于将最近到来的未来事件分发给所述拓扑模块中包含的相应节点;
所述拓扑模块为采用一定数据结构所组织起来的节点的集合。
较佳的,所述随机数产生器模块中包括一程序模块,所述程序模块中包括至少一个可以产生随机数的函数。
较佳的,所述模拟器时钟模块中,包括一整数型变量。
较佳的,所述整数型变量为64位整数型变量。
较佳的,所述离散事件队列模块通过一双链表结构管理在传感器网络模拟器进行模拟时,所有需要被处理和已经处理过的事件。
较佳的,所述双链表结构包括两个链表,一个用于存放将由所述实体模块进行调度处理,但尚未被处理过的未来事件,另一个用于存放所述传感器网络模拟器中已经被处理过的事件,同时,利用记录项记载位于所述两个链表中的事件的个数。
较佳的,所述事件分发器模块中包括一个事件分发函数,用于将最近到来的未来事件分发给所述实体模块中包含的相应实体,在事件处理过程中对所述 实体的状态进行更新,以及控制所述模拟器时钟模块随着事件分发器模块的运作而进行更新。
较佳的,所述拓扑模块为采用有序链表所组织起来的节点的集合。
较佳的,所述节点间的连接关系和通信,通过无线信道模型来确定和实现。
较佳的,所述节点内部包括应用层协议、路由层协议、网络层协议以及物理层协议,各层协议之间的信息交互通过各层定义的接口来实现。
本发明还公开了一种传感器网络模拟器的建立方法,包括下列步骤:
步骤A,设置包含有用于产生随机数的函数方法的随机数产生器模块;
步骤B,设置包含有一个整数型变量模拟器时钟模块;
步骤C,设置包含有双链表结构的离散事件队列模块;
步骤D,设置包含有事件分发函数的事件分发器模块;
步骤E,设置节点结构;
步骤F,设置由节点采用一定数据结构所组织成的拓扑模块;
步骤G,设置一个场景模块,将上述随机数产生器模块、模拟器时钟模块、离散事件队列模块以及事件分发器模块集成为一个整体;
步骤H,利用上述场景模块、拓扑模块和节点三层体系结构和这三层结构中定义的指针,让节点的协议层在事件处理过程中迅速的获得场景模块中任意节点的状态信息并对其进行操作,形成所述传感器网络模拟器。
较佳的,所述步骤B中的整数型变量为64位整数型变量。
较佳的,所述步骤C中的双链表结构包括两个链表,一个用于存放将由所述实体模块进行调度处理,但尚未被处理过的未来事件,另一个用于存放所述传感器网络模拟器中已经被处理过的事件,同时,利用记录项记载位于所述两个链表中的事件的个数。
较佳的,在所述步骤F中,采用有序链表将节点组织成拓扑模块。
较佳的,上述传感器网络模拟器的建立方法中,还包括一步骤I,对所述传感器网络模拟器进行初始化。
较佳的,在所述步骤I中,包括以下步骤:
步骤I1,初始化场景模块,将整数型变量清零,将双链表结构中的指针设置为空指针并将场景模块指向拓扑模块的指针设置为空指针;
步骤I2,初始化拓扑模块,设置的节点个数,调用***API申请用于存 放节点的内存空间,将所述内存空间组织成链表的形式,并让拓扑模块中应当指向场景模块的指针指向在步骤I1中初始化后的场景模块,同时,让场景模块中指向拓扑结构的指针指向在本步骤中建立的节点链表;
步骤I3,初始化节点,设置的节点各层协议的信息,按照物理层、网络层、路由层和应用层的次序,依次设置链表中的每个节点的各层协议的初始状态,并让每个节点包含一个指向拓扑模块的指针。
较佳的,在上述传感器网络模拟器的建立方法中,还包括一步骤J,结束运行、输出统计结果和清理模块。
较佳的,在所述步骤J中,包括以下步骤:
步骤J1,输出节点的统计结果,按照物理层、网络层、路由层和应用层的次序,依次将每个节点的各层协议的统计信息输出,并释放每个节点的内存空间;
步骤J2,输出拓扑模块的统计信息,并将场景模块中指向拓扑结构的指针设置为空;
步骤J3,输出场景模块的统计信息,将整数型变量清零,将事件队列中的未处理事件和未使用空间释放,将双链表结构中的两个指针设置为空指针。
较佳的,在上述传感器网络模拟器的建立方法中,通过无线信道模型来确定和实现所述节点间的连接关系和通信。
本发明的有益效果是:本发明的无线传感器网络模拟器整体结构具有鲜明的层次性,因此具有较好的可扩展性和可修改性;模拟器中的事件和节点,都通过有效的数据结构加以实现和管理,所以可以支持大规模的传感器网络仿真实验,并且具有较高的执行速度。
附图说明
图1为本发明中的采用分层体系结构建立的传感器网络模拟器的框架图;
图2为场景模块的内部组织结构图;
图3为事件列表的内部组织结构图;
图4为节点的内部协议组织结构图;
图5为事件分发过程的具体流程图;
图6为建立大规模传感器网络模拟器方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的一种传感器网络模拟器及其建立方法进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参照图1所示,此为本发明中的采用分层体系结构建立的大规模无线传感器网络模拟器的框架图。其中,场景模块11(其内部结构请参照图2所示)是构成整个传感器网络模拟器10的唯一最高层模块,用于集成模拟器中的所有核心模块和实体模块115,所述核心模块包括随机数产生器模块111、模拟器时钟模块112、离散事件队列模块113和事件分发器模块114,所述实体模块115为拓扑模块12。所述拓扑模块12是采用一定数据结构,如有序链表等,所组织起来的节点13的集合。节点13之间的连接关系和通信,通过无线信道模型14来确定和实现。节点13内部的组织结构如图4所示,包括应用层协议131、路由层协议132、MAC层协议133和物理层协议134,各层协议之间的信息交互通过各层定义的接口来实现。
所述随机数产生器模块111,用于产生传感器网络模拟器10运行中所需的随机数,其包括一程序模块1111,所述程序模块1111中包含至少一个可以产生服从一概率分布的随机数的函数方法,如均匀分布、泊松分布或指数分布等。
所述模拟器时钟模块112,用于实现传感器网络模拟器10中的模拟器时钟功能,其包括一整数型变量,所述变量的值会随着所述事件分发器模块114的运作而被不断更新,以作为所述传感器网络模拟器10实现模拟当前时间过程中的对应参照。在本发明的实施例中,所述整数型变量为64位整数型变量,其实现的模拟器时钟,既可以保证纳秒(ns)级的时间精度,又可以显示长达上百年的时间长度,从而可以满足传感器网络模拟器10进行仿真实验时对模拟器时钟在精度和长度方面的要求。其中,采用64位整数型变量仅用于示例,并不做为对本发明的限定。
所述离散事件队列模块113,用于管理在传感器网络模拟器10进行模拟时,所有需要被处理和已经处理过的事件,包括一个双链表结构(其结构如图3所示)。其中,链表linkSchedule是以事件的调度时间为基准经有序***过 程而形成的链表,用于存放将由所述实体模块115(即拓扑模块12)进行调度处理,但尚未被处理过的未来事件;scheLen项记载链表linkSchedule中的事件个数;链表linkFree用于存放所述传感器网络模拟器10中已经被处理过的事件;freeLen项记载链表linkFree中的事件个数;所述事件Event中,包含事件类型(type)、节点标识(nodeID)、协议层标识(layer)和调度时间(schedule)等信息。
这样,通过离散事件队列模块113,当所述实体模块115(即拓扑模块12)中包含的实体(即拓扑结构中的各个节点13)由于进行初始化或进行事件处理而在其初始化或事件处理过程中需要产生新的事件时,不需要直接调用操作***的应用程序接口(Application Programming Interface,API)来为所述新的事件申请空间,而是可以先确认用于存放所述传感器网络模拟器10中已经被处理过的事件的链表linkFree队列是否为空,当所述linkFree队列不为空时,可以直接从所述linkFree队列中取出一个事件,并以此事件所占有的空间作为新申请的空间来存放所述新的事件,当所述linkFree队列为空时,再调用***的API来为新的事件申请空间。
采取本发明中的双链表结构的离散事件队列模块113,与现有技术中的仅对尚未被处理过的未来事件建立链表结构的方法相比,可以大大减少调用***API进行空间申请以及空间释放的次数,从而可以减少所述传感器网络模拟器10的运行时间,进而提高所述传感器网络模拟器10的运行速度。
所述事件分发器模块114,包含有一事件分发函数,用于将位于未来事件链表linkSchedule队列首部的事件分发给所述实体模块115(即拓扑模块12)中包含的相应实体(即拓扑结构中相应节点13),在所述实体的事件处理过程中对所述实体的状态进行更新,以及控制所述模拟器时钟模块112中的所述变量随着事件分发器模块114的运作而进行更新。
在本发明的实施例中,所述事件分发过程通过所述事件分发函数实现,其流程图如图5所述。所述事件分发过程包括以下步骤:
步骤S100,输入被调度的事件以做为所述函数的输入参数。
步骤S200,判断所述被调度的事件的事件类型(type)是否为“结束”,如果所述事件类型(type)是“结束”,则直接退出事件分发过程,并结束整个模拟实验;如果所述事件类型(type)不是“结束”,进入步骤S300。
步骤S300,根据事件中包含的调度时间更新模拟器时钟。
步骤S400,根据事件中包含的节点标识(nodeID)和协议层标识(layer)调用相应节点的相应层中的协议处理程序。
步骤S500,在事件处理程序中,完成所有相关实体的状态更新。
步骤S600,结束事件处理,获取位于未来事件链表linkSchedule队列首部的事件。
如图1所示,在场景模块11中包含一个pTopo指针,用于指向拓扑模块12(实体模块115),同时,在拓扑模块12(实体模块115)中包含一个pScen指针,用于指向场景模块11,从而实现这两层模块之间的信息互访。
在所述拓扑模块12中,包含一个pNode指针,用于指向链表中的第一个节点,同时,在每个节点13中包含一个pTopo指针,用于指向拓扑模块。
当所述传感器网络模拟器10运行时,由所述场景模块11中的各个模块协同合作,以对所述实体模块115(即拓扑模块12)中的节点13进行操作控制。请参见图2和图5所示,从事件流的角度来看,所述传感器网络模拟器10在对场景中的节点和拓扑进行初始化时,将调度的未来事件放入事件队列中,由事件分发器模块114负责将最近的未来事件(位于未来事件链表linkSchedule队列首部的事件)分发给相应节点的相应层中的协议,通过调用事件处理程序改变相关实体的状态并调度其它的未来事件放入事件队列中,由此构成一个由事件驱动的仿真***。从时间流的角度来看,当事件分发器模块114将触发的事件分发给相应节点的相应层中的协议时,先将模拟器时钟模块112中的时间推进到事件的触发时间,再调用相应节点的相应层中的协议处理程序。在处理事件的过程中,节点13可以参考模拟器时钟模块112的时间,调度其它未来的事件,将调度的事件按时间顺序***到事件队列中,由此驱动模拟器时钟模块112和模拟实验向前推进。通过所述的三层体系结构和这三层结构中定义的指针,可以让节点的协议层在事件处理过程中迅速的获得场景模块11中任意节点的状态信息,并对其进行操作,从而可以提高所述传感器网络模拟器10中,每个事件处理程序的执行效率,进而提高所述传感器网络模拟器10的运行速度。
本发明的传感器网络模拟器10具有鲜明的层次性,再加上合理的运用了双链表来管理事件队列,可以有效的实现和管理所述场景模块11中的所有模 块,并能提高所述传感器网络模拟器10的运行速度,因而可以支持大规模的传感器网络仿真实验,并能具有较高的速度。
请参照图6,此为本发明中的采用分层体系结构建立大规模传感器网络模拟器方法的流程图。如图6所示,本发明的一种传感器网络模拟器的建立方法包括以下步骤:
步骤S100,设置一单独的随机数产生器,所述随机数产生器中产生一服从一概率分布的随机数,以实现随机数产生器的功能。
所述服从一概率分布的随机数是通过一函数方法而得到,所述函数可以是:均匀分布、泊松分布和指数分布等。
步骤S200,设置一64位整数型变量,作为所述传感器网络模拟器实现模拟器当前时间过程中的对应参照。其中,采用64位整数型变量仅用于示例,并不做为对本发明的限定。
步骤S300,设置一双链表结构,对传感器网络模拟器中的事件进行管理。其中,一个链表用于存放将由实体模块进行调度处理,但尚未被处理过的未来事件;另一个链表用于存放传感器网络模拟器中已经被处理过的事件。
步骤S400,设置一事件分发函数,用于将位于未来事件链表队列首部的事件分发给相应的实体,在所述实体的事件处理过程中对所述实体的状态进行更新,并对步骤S200中所设置的64位整数型变量的值进行更新,以实现所述传感器网络模拟器的当前时间的计算。
步骤S500,设置节点结构。其中,所述节点为所述传感器网络模拟器中所模拟出的基本对象。
步骤S600,设置一拓扑结构,用于将所有的节点组成一个可以进行集中操作的结构体。
步骤S700,设置一场景结构,该场景结构包括一64位整数型变量、一个双链表结构、一个指向拓扑结构的指针,以将所述模拟器时钟、事件列表和拓扑结构集成为一个整体。
步骤S800,将所述场景结构、随机数程序模块以及事件分发模块集成为一个整体,即形成了采用分层体系结构建立的大规模传感器网络模拟器。
从上述步骤可以看出,在场景结构中包含了所述传感器网络模拟器中所有可以操作的对象,具体包括整数型变量、双链表结构以及拓扑结构,其中拓扑 结构由节点结构组成。
请参照图1所示,从图1中可以了解本发明的传感器网络模拟器中节点、拓扑结构和场景结构三者之间的关系。所述节点、拓扑结构和场景结构分别属于不同的结构层次。场景结构是构成无线传感器网络模拟器的唯一最高层模块,拓扑结构是模拟器中可以操作的实体集合,节点是构成所述实体的基本元素,通过所述在这三个结构中设置的指针,可以实现这三个结构层次间的互访。如在节点的事件处理程序中可以操作拓扑结构中的数据(如其他节点的状态)以及场景结构中的数据(如当前的仿真时间),从而可以提高所述传感器网络模拟器10中,每个事件处理程序的执行效率,进而提高所述传感器网络模拟器10的运行速度,同时也为在传感器网络模拟器中实现各种类型的网络协议提供了有效的数据结构,提高了所述传感器网络模拟器10的可扩展性。
采用本发明的传感器网络模拟器的建立方法所建立的传感器网络模拟器,其初始化过程包括以下步骤:
步骤S100,初始化场景模块,将整数型变量清零,将双链表结构中指向事件队列的两个指针设置为空指针,将指向拓扑结构的指针pTopo也设置为空指针。
步骤S200,初始化拓扑模块,根据模拟实验设置的节点个数,调用***API申请可以存放这些节点的内存空间,将这些内存空间组织成链表的形式,并让拓扑模块内在构建时指向内存任意空间的应该指向场景模块的指针pScen指向步骤S100中初始化后的场景模块,同时,让场景模块中指向拓扑结构的指针pTopo指向在本步骤中建立的节点链表,从而完成场景模块与拓扑模块之间的双向指针的初始化。
步骤S300,初始化节点,根据模拟实验设置的节点各层协议的信息,按照物理层、网络MAC层、路由层和应用层的次序,依次设置链表中的每个节点的各层协议的初始状态,并让每个节点包含一个指向拓扑模块的指针pTopo,从而完成拓扑模块与节点模块之间的双向指针的初始化。
从上述步骤中可以看出,采用本发明的传感器网络模拟器的建立方法所建立的传感器网络模拟器,其初始化过程遵循“自上而下”的原则,即按照场景模块、拓扑模块和节点模块的顺序来实现。
采用本发明的传感器网络模拟器的建立方法所建立的传感器网络模拟器, 其运行过程即为图5中所示的事件分发和处理过程,具体过程请参照前述,在此不再赘述。
采用本发明的传感器网络模拟器的建立方法所建立的传感器网络模拟器,其结束运行、输出统计结果和清理模块的过程包括以下步骤:
步骤S100,输出节点的统计结果,按照物理层、网络MAC层、路由层和应用层的次序,依次将每个节点的各层协议的统计信息输出,并释放每个节点的内存空间。
步骤S200,输出拓扑模块的统计信息,并将场景模块中指向拓扑结构的指针pTopo设置为空。
步骤S300,输出场景模块的统计信息,将整数型变量清零,将两个事件队列中的未处理事件和未使用空间释放,将双链表结构中指向事件队列的两个指针设置为空指针。
从上述步骤中可以看出,采用本发明的传感器网络模拟器的建立方法所建立的传感器网络模拟器,其结束运行、输出统计结果和清理模块的过程遵循“自下而上”的原则,即按照节点模块、拓扑模块和场景模块的顺序依次来实现。
从以上的实施例可以看出,采用本发明的传感器网络模拟器的建立方法所建立的传感器网络模拟器,可以将传感器网络模拟器中的各个模块集成为一个可运行的***,具有结构清晰,层次明确、易于操作以及具有较佳的扩展性等优点,由于通过有效的数据结构即可以实现对大量节点结构和事件的有效管理,因此可以支持大规模的传感器网络仿真实验。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
Claims (19)
1.一种传感器网络模拟器,其特征在于,采用场景模块、拓扑模块和节点三层体系结构和这三层结构中定义的指针,让节点的协议层在事件处理过程中迅速的获得场景模块中任意节点的状态信息并对其进行操作,其中:
所述场景模块包括随机数产生器模块、模拟器时钟模块、离散事件队列模块以及事件分发器模块,其中:
所述随机数产生器模块,用于产生传感器网络模拟器运行中所需的随机数;
所述模拟器时钟模块,用于实现传感器网络模拟器中的模拟器时钟功能;
所述离散事件队列模块,用于管理在传感器网络模拟器进行模拟时,所有需要被处理和已经处理过的事件;
所述事件分发器模块,用于将最近到来的未来事件分发给所述拓扑模块中包含的相应节点;
所述拓扑模块为采用一定数据结构所组织起来的节点的集合。
2.根据权利要求1所述的一种传感器网络模拟器,其特征在于,所述随机数产生器模块中包括一程序模块,所述程序模块中包括至少一个可以产生随机数的函数。
3.根据权利要求1所述的一种传感器网络模拟器,其特征在于,所述模拟器时钟模块中,包括一整数型变量。
4.根据权利要求3所述的一种传感器网络模拟器,其特征在于,所述整数型变量为64位整数型变量。
5.根据权利要求1所述的一种传感器网络模拟器,其特征在于,所述离散事件队列模块通过一双链表结构管理在传感器网络模拟器进行模拟时,所有需要被处理和已经处理过的事件。
6.根据权利要求5所述的一种传感器网络模拟器,其特征在于,所述双链表结构包括两个链表,一个用于存放将由所述拓扑模块进行调度处理,但尚未被处理过的未来事件,另一个用于存放所述传感器网络模拟器中已经被处理过的事件,同时,利用记录项记载位于所述两个链表中的事件的个数。
7.根据权利要求1所述的一种传感器网络模拟器,其特征在于,所述事 件分发器模块中包括一个事件分发函数,用于将最近到来的未来事件分发给所述拓扑模块中包含的相应节点,在事件处理过程中对所述节点的状态进行更新,以及控制所述模拟器时钟模块随着事件分发器模块的运作而进行更新。
8.根据权利要求1所述的一种传感器网络模拟器,其特征在于,所述拓扑模块为采用有序链表所组织起来的节点的集合。
9.根据权利要求1所述的一种传感器网络模拟器,其特征在于,所述节点间的连接关系和通信,通过无线信道模型来确定和实现。
10.根据权利要求1所述的一种传感器网络模拟器,其特征在于,所述节点内部包括应用层协议、路由层协议、网络层协议以及物理层协议,各层协议之间的信息交互通过各层定义的接口来实现。
11.一种传感器网络模拟器的建立方法,其特征在于,包括下列步骤:
步骤A,设置包含有用于产生随机数的函数方法的随机数产生器模块;
步骤B,设置包含有一个整数型变量的模拟器时钟模块;
步骤C,设置包含有双链表结构的离散事件队列模块;
步骤D,设置包含有事件分发函数的事件分发器模块;
步骤E,设置节点结构;
步骤F,设置由节点采用一定数据结构所组织成的拓扑模块;
步骤G,设置一个场景模块,将上述随机数产生器模块、模拟器时钟模块、离散事件队列模块以及事件分发器模块集成为一个整体;
步骤H,利用上述场景模块、拓扑模块和节点三层体系结构和这三层结构中定义的指针,让节点的协议层在事件处理过程中迅速的获得场景模块中任意节点的状态信息并对其进行操作,形成所述传感器网络模拟器。
12.根据权利要求11所述的一种传感器网络模拟器的建立方法,其特征在于,所述步骤B中的整数型变量为64位整数型变量。
13.根据权利要求11所述的一种传感器网络模拟器的建立方法,其特征在于,所述步骤C中的双链表结构包括两个链表,一个用于存放将由所述拓扑模块进行调度处理,但尚未被处理过的未来事件,另一个用于存放所述传感器网络模拟器中已经被处理过的事件,同时,利用记录项记载位于所述两个链表中的事件的个数。
14.根据权利要求11所述的一种传感器网络模拟器的建立方法,其特征 在于,在所述步骤F中,采用有序链表将节点组织成拓扑模块。
15.根据权利要求11所述的一种传感器网络模拟器的建立方法,其特征在于,还包括一步骤I,对所述传感器网络模拟器进行初始化。
16.根据权利要求15所述的一种传感器网络模拟器的建立方法,其特征在于,在所述步骤I中,包括以下步骤:
步骤I1,初始化场景模块,将整数型变量清零,将双链表结构中的指针设置为空指针并将场景模块指向拓扑模块的指针设置为空指针;
步骤I2,初始化拓扑模块,设置的节点个数,调用***API申请用于存放节点的内存空间,将所述内存空间组织成链表的形式,并让拓扑模块中应当指向场景模块的指针指向在步骤I1中初始化后的场景模块,同时,让场景模块中指向拓扑结构的指针指向在本步骤中建立的节点链表;
步骤I3,初始化节点,设置的节点各层协议的信息,按照物理层、网络层、路由层和应用层的次序,依次设置链表中的每个节点的各层协议的初始状态,并让每个节点包含一个指向拓扑模块的指针。
17.根据权利要求15所述的一种传感器网络模拟器的建立方法,其特征在于,还包括一步骤J,结束运行、输出统计结果和清理模块。
18.根据权利要求17所述的一种传感器网络模拟器的建立方法,其特征在于,在所述步骤J中,包括以下步骤:
步骤J1,输出节点的统计结果,按照物理层、网络层、路由层和应用层的次序,依次将每个节点的各层协议的统计信息输出,并释放每个节点的内存空间;
步骤J2,输出拓扑模块的统计信息,并将场景模块中指向拓扑结构的指针设置为空;
步骤J3,输出场景模块的统计信息,将整数型变量清零,将事件队列中的未处理事件和未使用空间释放,将双链表结构中的两个指针设置为空指针。
19.根据权利要求11所述的一种传感器网络模拟器的建立方法,其特征在于,通过无线信道模型来确定和实现所述节点间的连接关系和通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101781874A CN101447897B (zh) | 2007-11-27 | 2007-11-27 | 一种无线传感器网络模拟器及其建立方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101781874A CN101447897B (zh) | 2007-11-27 | 2007-11-27 | 一种无线传感器网络模拟器及其建立方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101447897A CN101447897A (zh) | 2009-06-03 |
CN101447897B true CN101447897B (zh) | 2011-05-04 |
Family
ID=40743318
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101781874A Active CN101447897B (zh) | 2007-11-27 | 2007-11-27 | 一种无线传感器网络模拟器及其建立方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101447897B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841839B (zh) * | 2010-01-22 | 2012-06-13 | 华中科技大学 | 一种无线传感器网络仿真*** |
CN101980092B (zh) * | 2010-09-19 | 2012-09-05 | 北京邮电大学 | 一种传感器网络的控制处理方法 |
CN101977398B (zh) * | 2010-09-25 | 2013-03-06 | 中国科学院计算技术研究所 | 一种传感器网络试验床无线环境模拟***及其方法 |
CN102857567B (zh) * | 2012-09-07 | 2015-10-21 | 中科方德软件有限公司 | 一种基于物联网传感器的数据传输***及方法 |
CN103458021B (zh) * | 2013-08-29 | 2016-07-06 | 中国科学院软件研究所 | 一种事件驱动的随态自适应的传感器组织方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805424A (zh) * | 2005-12-31 | 2006-07-19 | 华中科技大学 | 一种网格模拟方法及其模拟器 |
CN101051954A (zh) * | 2007-04-26 | 2007-10-10 | 天津大学 | 无线传感器网络算法测试***及测试方法 |
-
2007
- 2007-11-27 CN CN2007101781874A patent/CN101447897B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1805424A (zh) * | 2005-12-31 | 2006-07-19 | 华中科技大学 | 一种网格模拟方法及其模拟器 |
CN101051954A (zh) * | 2007-04-26 | 2007-10-10 | 天津大学 | 无线传感器网络算法测试***及测试方法 |
Non-Patent Citations (1)
Title |
---|
侯宗浩等.网络仿真的研究.《计算机仿真》.2003,第20卷(第10期),89-91页. * |
Also Published As
Publication number | Publication date |
---|---|
CN101447897A (zh) | 2009-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101447897B (zh) | 一种无线传感器网络模拟器及其建立方法 | |
CN102130966B (zh) | 一种用于企业综合信息平台的***架构及其实现方法 | |
CN105183435B (zh) | 一种智能控制软件*** | |
CN106936892A (zh) | 一种自组织云多对多计算迁移方法及*** | |
CN103905503B (zh) | 数据存取方法、调度方法、设备及*** | |
CN101859260A (zh) | 用于操作***中的定时器管理装置和管理方法 | |
CN103324780A (zh) | 颗粒流动仿真***和方法 | |
CN108762768A (zh) | 网络服务智能化部署方法及*** | |
CN110191148A (zh) | 一种面向边缘计算的统计函数分布式执行方法及*** | |
CN101013986A (zh) | 基于移动代理中间件的传感器网络数据查询***实现方法 | |
CN102194018B (zh) | 基于云计算的建筑物能耗预测分析***及方法 | |
CN104053179B (zh) | 一种c‑ran***级仿真平台 | |
CN102014282A (zh) | 一种分布式视频转码调度方法及*** | |
CN106708625A (zh) | 一种基于最小费用最大流的大规模资源调度***及方法 | |
CN103077068B (zh) | 一种基于共享内存的高性能仿真***实现方法 | |
Kijsipongse et al. | A hybrid GPU cluster and volunteer computing platform for scalable deep learning | |
Zhang et al. | Object-oriented modeling of control system for agile manufacturing cells | |
CN106156413B (zh) | 一种面向大规模分布式综合模块化航电***dima的多层次建模设计方法 | |
CN112507545A (zh) | 一种基于***仿真的室内无人配送模式设计方法 | |
Knapp et al. | Modeling of automated storage/retrieval systems using Petri nets | |
CN203399145U (zh) | 一种基于云计算的智能交互服务机器人 | |
US20220114524A1 (en) | Dynamic deploying a mom module across a plurality of layers | |
CN108694082A (zh) | 一种跨域作业流调度方法及*** | |
CN101005420A (zh) | 一种综合接入设备的嵌入式***跨平台实现方法 | |
Khalloof et al. | A distributed modular scalable and generic framework for parallelizing population-based metaheuristics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |