一种基于全IP无线传感器网络的医疗实时监控***
技术领域
本发明涉及一种医疗监控***,尤其涉及的是一种基于全IP无线传感器网络的医疗实时监控***。
背景技术
无线传感器网络具有结构紧凑、易于布置、易于维护、价格便宜、测量精度高等优点,非常适合医疗的监测与控制。近年来,国内外研究人员对基于无线传感器网络的医疗监控***进行了相关研究,并取得了一定的研究成果。但目前的基于无线传感器网络的医疗监控***存在很多不足。目前,基于无线传感器网络的医疗监控***所采用的路由技术是基于以数据为中心的工作机制,无法实现患者携带的传感器节点与互联网节点的点到点通信,即互联网节点无法与某一特定传感器节点进行通信以监测此传感器节点所采集的数据。
针对现有***的不足,本发明提出了一种基于全IP无线传感器网络的医疗实时监控***,以实现医生对患者的实时监控。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于全IP无线传感器网络的医疗实时监控***。
技术方案:本发明公开了一种基于全IP无线传感器网络的医疗实时监控***,所述全IP无线传感器网络包括三类节点:网关节点,固定节点以及用于病人携带的移动节点;其中网关节点与IPv6互联网的接入路由器连接,网关节点与固定节点具有路由转发功能,移动节点不具有路由转发功能;一个网关节点与一个以上固定节点构建成一个树状结构,作为网关树,网关树的根节点为网关节点,中间节点及叶子节点为固定节点;所有网关树构建成路由骨干网,移动节点通过路由骨干网与IPv6互联网通信,与移动节点直接通信的网关树中的固定节点作为该移动节点的关联节点,同一时刻,一个移动节点只有一个关联节点;与同一个接入路由器连接的所有网关树构建成全IP无线传感器网络的子网。
所述全IP无线传感器网络覆盖于医院大楼,医院大楼的每一层布置一个网关节点和一个以上固定节点形成网关树。也可以将一个城市或者一个小区设置接入一个接入路由器,根据具体拓扑结构而定。整个医院大楼中所有网关节点通过一个接入路由器连接到互联网,形成一个子网;移动节点与网关树的一个固定节点进行关联,从而实现与IPv6互联网的通信。
固定节点和移动节点为传感器节点。
全IP无线传感器网络的节点的IPv6地址由两个部分组成:第一部分是全局路由前缀,一个全IP无线传感器网络中所有节点的IPv6地址的全局路由前缀都相同;第二部分为节点ID,节点ID唯一标识全IP无线传感器网络中的一个传感器节点;网关节点与传感器节点的节点ID是链路地址;网关节点的IPv6地址预先设置。
固定节点的IPv6地址的节点ID有效位长度与其所处网关树中的深度值成正比;
上述基于网关树的全IP无线传感器网络以及传感器节点的IPv6地址分层结构可有效压缩地址长度,降低通信延迟,从而节省传感器节点能量,延长寿命。
当固定节点X启动后,通过加入网关树获取IPv6地址,固定节点X获取IPv6地址的过程描述如下:
步骤101:开始;
步骤102:固定节点X广播固定节点地址请求消息;
步骤103:已获取IPv6地址的邻居网关节点或固定节点收到固定节点地址请求消息后,判断自己是否有可分配地址空间,如果是,进行步骤105,否则进行步骤104;
步骤104:已获取IPv6地址的邻居网关节点或固定节点放弃地址请求消息,进行步骤109;
步骤105:已获取IPv6地址的邻居网关节点或固定节点向固定节点X返回一个固定节点地址响应消息,消息负载为分配的节点ID和深度值;
步骤106:固定节点X选择深度值最小的邻居网关节点或者固定节点作为父节点并向父节点返回一个固定节点地址确认消息,消息负载为分配的节点ID,同时将父节点分配的节点ID与父节点的全局路由前缀相结合,形成自己的IPv6地址;
步骤107:父节点收到固定节点X返回的固定节点地址确认消息后,将分配给固定节点X的节点ID标记为已分配状态;
步骤108:固定节点X加入网关树并获取IPv6地址;
步骤109:结束。
上述固定节点的IPv6地址配置过程有效缩短了固定节点地址长度,降低了通信延迟,节省了固定节点能量,延长了固定节点的寿命。基于分层地址结构,该***无需路由发现过程即可采用网关树自动实现路由,由于路由在链路层实现,因此控制消息无需包含IPv6头部,缩短了传输延迟,节省了固定节点能量,延长了固定节点的寿命。
本发明所述***中,所述IPv6互联网的接入路由器以及网关树中的固定节点保存一个关联表,关联表包括两个域:移动节点域和关联节点域,移动节点域记录移动节点的链路地址和IPv6地址,关联节点域记录移动节点的关联节点的链路地址。
移动节点Y启动后,通过下述过程获取家乡地址以及关联节点:
步骤201:开始。
步骤202:移动节点Y广播请求移动节点地址请求消息。
步骤203:已获取IPv6地址的邻居网关节点或固定节点或移动节点收到移动节点地址请求消息后,判断自己是否有可分配地址空间,如果是,进行步骤205,否则进行步骤204。
步骤204:已获取IPv6地址的邻居网关节点或固定节点或移动节点放弃移动节点地址请求消息,进行步骤213。
步骤205:已获取IPv6地址的邻居网关节点或固定节点或移动消息向移动节点Y返回一个移动节点地址响应消息,消息负载为分配的节点ID以及节点类型。
步骤206:移动节点Y查看移动节点地址响应消息中的节点ID,向节点ID有效位长度最小的节点F返回移动节点地址确认消息,负载内容为分配的节点,然后将节点ID与节点F的全局路由前缀相结合,形成自己的IPv6地址。
步骤207:判断节点F是否为网关节点或者固定节点,如果是,进行步骤208,否则进行步骤210。
步骤208:移动节点Y则将节点F作为关联节点。
步骤209:节点F收到移动节点Y返回的移动节点地址确认消息后,将分配给移动节点Y的节点ID标记为已分配状态,并在关联表中增加一条表项,移动节点域为移动节点Y的链路地址,关联节点域为节点F的链路地址,进行步骤213。
步骤210:移动节点向信号最强的邻居网关节点或固定节点发送一个关联请求消息。
步骤211:邻居网关节点或固定节点收到移动节点Y的关联请求消息后,在关联表中增加一条表项,移动节点域为移动节点Y的链路地址,关联节点域为邻居网关节点或固定节点的链路地址,然后向移动节点Y返回一个关联响应消息。
步骤212:移动节点Y收到邻居网关节点或固定节点的关联响应消息后,将邻居网关节点或固定节点设置为自己的关联节点。
步骤213:结束。
上述移动节点的IPv6地址配置过程有效缩短了移动节点地址长度,降低了通信延迟,节省了移动节点能量,延长了移动节点的寿命。
本发明所述***中,固定节点或者移动节点获取IPv6地址后,定期广播信标帧。
固定节点接收到邻居节点发送的信标帧后,邻居节点可能为网关节点或者固定节点或者移动节点,采用现有定位算法(例如Received signal strength indicator,信号强度指示定位算法,Angel of arrival,到达角度定位算法等)获取与邻居节点的距离以及角度。
移动节点的关联节点通过检测与移动节点之间的距离来判断移动节点是否要离开自己的通信范围,例如,当移动节点与关联节点之间的距离大于通信范围的80%,关联节点可认为移动节点即将离开自己的通信范围;如果关联节点检测到移动节点即将离开自己的通信范围,则选择与移动节点距离最近的邻居网关节点或者邻居固定节点作为移动节点的下一个关联节点,如果有两个以上邻居网关节点或者邻居固定节点与移动节点的距离最小,则选择与移动节点角度最小的邻居网关节点或者固定节点作为移动节点的下一个关联节点。
本发明所述***中,如果移动节点X的当前关联节点为固定节点S1,当固定节点S1检测到移动节点X即将离开自己的通信范围时,固定节点S1选择与移动节点X距离最近的固定节点S2作为移动节点X的下一个关联节点。
如果固定节点S1和固定节点S2属于相同的子网,那么固定节点S1进行如下移动切换操作:
步骤301:开始。
步骤302:固定节点S1向父节点发送更新消息,负载为移动节点X的IPv6地址和固定节点S2的链路地址,同时向固定节点S2发送一个新节点消息,其内容为移动节点X的IPv6地址,同时删除关联表中移动节点X的表项。
步骤303:父节点收到更新消息后,查看固定节点S2是否为子孙节点,如果是,进行步骤305,否则进行步骤304。
步骤304:父节点删除关联表中移动节点X的表项,同时将更新消息转发给父节点的父节点,进行步骤303。
步骤305:父节点查看关联表中是否有移动节点X的表项,如果是,进行步骤306,否则进行步骤307。
步骤306:父节点将移动节点X表项中的关联节点域更新为固定节点S2,进行步骤308。
步骤307:父节点在关联表中添加移动节点X的表项,关联节点域为固定节点S2。
步骤308:固定节点S2接收到固定节点S1发送的新节点消息以及移动节点X的信标帧后,固定节点S2在关联表中增加一条移动节点X的表项,关联节点域为自己的链路地址,同时向固定节点S1返回一个新节点确认消息,负载为移动节点X的IPv6地址。
步骤309:固定节点S1收到固定节点S2返回的新节点响应消息后,将目的地址为移动节点X的数据消息发送给固定节点S2。
步骤310:固定节点S2收到目的地址为移动节点X的数据消息后,将数据消息转发给移动节点X,移动节点X从固定节点S2收到数据消息后,将固定节点S2作为新的关联节点。
步骤311:结束。
病人在一个子网内移动时,例如从医院的一层移动到另外一层即从一个网关树接入另一个网关树,则通过上述移动切换过程保持通信的连续性。
上述移动切换过程中,移动节点由家乡地址唯一标识,在移动过程中无需配置转交地址,有效避免了由于地址变更而引起的通信中断等情况,因此丢包率更低,通信延迟更短,通信质量更高。
本发明所述***中,如果移动节点X的关联节点为固定节点S1,当固定节点S1检测到移动节点X即将离开自己的通信范围时,固定节点S1选择与移动节点X距离最近的固定节点S2作为下一个关联节点。
如果固定节点S1和S2属于不同的子网,固定节点S1所在子网的接入路由器为AR1,固定节点S2所在子网的接入路由器为AR2,那么固定节点S1进行如下移动切换操作:
步骤401:开始。
步骤402:固定节点S1向固定节点S2发送一个新节点消息,负载为移动节点X的IPv6地址,同时删除关联表中移动节点X的表项。
步骤403:固定节点S2接收到固定节点S1发送的新节点消息以及移动节点X的信标帧后,在关联表中增加移动节点X的表项,关联节点域为固定节点S2的链路地址,并向固定节点S1返回一个新节点确认消息,负载为移动节点X的IPv6地址,同时向接入路由器AR2发送更新消息,消息负载为移动节点X的IPv6地址。
步骤404:接入路由器AR2收到更新消息后,在关联表中增加移动节点X的表项,关联节点域为固定节点S2的链路地址。
步骤405:固定节点S1收到固定节点S2返回的新节点确认消息后,将目的地址为移动节点X的数据消息发送给固定节点S2。
步骤406:固定节点S2收到目的地址为移动节点X的数据消息后,将数据帧转发给移动节点X,移动节点X从固定节点S2收到数据消息后,将固定节点S2作为新的关联节点。
步骤407:结束。
上述过程中,如果移动节点X与固定节点S2的全局路由前缀不同,接入路由器AR2还需要通知移动节点X获取家乡地址的子网的接入路由器将移动节点X所在子网的接入路由器从接入路由器AR1更新为接入路由器AR2。
上述移动切换过程中,移动节点由家乡地址唯一标识,在移动过程中无需配置转交地址,有效避免了由于地址变更而引起的通信中断等情况,因此丢包率更低,通信延迟更短,通信质量更高。
本发明所述***中,数据帧由链路层头部和适配层头部封装,链路层头部包括源链路地址和目的链路地址,源链路地址为转发数据消息的节点的链路地址,目的链路地址为下一跳节点的链路地址,适配层头部包括目的地址和最终地址。
患者监测***包括两种通信方式,一种是医生访问携带在病人身上的移动节点,以获取移动节点采集的病人身体参数,从而实现实时监控;第二种是病人的物理参数超过阈值,自动向急救中心进行报警以获得进行抢救。
本发明中,医生使用IPv6互联网节点N获取携带在病人身上的移动节点X采集的数据的过程为:
步骤501:开始。
步骤502:IPv6互联网节点N发送一条获取移动节点X采集信息的请求数据消息,该数据消息在IPv6网络中进行路由,最后到达与移动节点X家乡子网的接入路由器AR1。
步骤503:接入路由器AR1判断移动节点X所在外部子网的接入路由器是否为接入路由器AR1,如果是,进行步骤505,否则进行步骤504。
步骤504:接入路由器AR1将数据消息转发到移动节点所在外部子网的接入路由器AR2。
步骤505:接入路由器AR1或者AR2收到请求数据消息后,用适配层头部封装数据包,其中最终地址设置为移动节点X的IPv6地址,目的地址设置为移动节点X的关联节点的链路地址,然后将数据消息发送到移动节点X的关联节点所在树状分支的下一跳节点。
步骤506:下一跳节点收到数据消息后,判断在关联表中是否移动节点X的表项,如果是,进行步骤507,否则进行步骤508。
步骤507:下一跳节点用移动节点X表项中关联节点域值更新适配层头部中的目的地址值。
步骤508:判断下一跳节点是否为X的关联节点,如果是,进行步骤510,否则进行步骤509。
步骤509:将数据消息发送到移动节点X的关联节点所在分支的下一跳节点,进行步骤506。
步骤510:移动节点X的关联节点收到数据帧后,将数据消息发送给移动节点X。
步骤511:移动节点X收到数据消息后,将采集的信息封装成数据响应消息,数据响应消息不包含适配层头部,然后将响应数据消息发送给关联节点。
步骤512:关联节点收到数据消息后,根据网关树逐层向上发送响应数据消息直到到达接入路由器AR1或接入路由器AR2。
步骤513:接入路由器AR1或接入路由器AR2将数据消息中的响应信息封装为IPv6响应数据包,并发送到IPv6互联网上,最终该数据包按照IPv6路由方式到达源IPv6互联网节点N。
步骤514:结束。
通过上述过程,医生可以随时随地获取病人的身体参数以进行实时监控,医生根据移动节点关联节点的IPv6地址能够判断出患者所在位置信息,从而进行有效及时的救护工作,如果医生发现患者的身体参数异常,则会向相应的传感器节点发送报警命令以引起患者注意。
本发明所述***中,当移动节点X检测到采集的数据超过移动节点X内部自身设定的阈值时,则向IPv6互联网节点N发送报警信息,具体过程为:
步骤601:开始;
步骤602:移动节点X向IPv6互联网节点N发送报警消息,负载为超于阈值的数据和关联节点的IPv6地址,然后将报警消息发送到移动节点X的关联节点;
步骤603:关联节点收到报警消息后,根据网关树逐层向上发送报警消息直到到达接入路由器AR1
步骤604:接入路由器AR1将报警消息中的报警信息封装为IPv6数据包,将其发送到IPv6互联网上,然后改数据包按照IPv6路由方式到达目的IPv6互联网节点N;
步骤605:目的IPv6互联网节点N收到报警数据包后,根据移动节点X关联节点的IPv6地址获取患者所在位置信息从而进行有效及时的救护工作;
步骤606:结束。
通过上述过程,医生可以根据报警患者的地理位置对患者进行及时有效的治疗。
有益效果:本发明提供了一种基于全IP无线传感器网络的医疗实时监控***,在所述***中,采用全IP无线传感器网络技术实现对患者身体参数的及时检测。在所述***中,医生可以随时随地获取病人的身体参数以进行实时监控,医生根据移动节点关联节点的IPv6地址能够判断出患者所在位置信息,从而进行有效及时的救护工作。如果医生发现患者的身体参数异常,则会向相应的传感器节点发送报警命令以引起患者注意。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的***拓扑结构示意图。
图2为本发明所述的IPv6地址结构示意图。
图3为本发明所述的固定节点获取IPv6地址流程示意图。
图4为本发明所述的移动节点获取IPv6地址流程示意图。
图5为本发明所述的子网内移动切换流程示意图。
图6为本发明所述的子网间移动切换流程示意图。
图7为本发明所述的采集数据流程示意图。
图8为本发明所述的报警流程示意图。
具体实施方式:
本发明提供了一种基于全IP无线传感器网络的医疗实时监控***,在所述***中,采用全IP无线传感器网络技术实现对患者身体参数的及时检测。在所述***中,医生可以随时随地获取病人的身体参数以进行实时监控,医生根据移动节点关联节点的IPv6地址能够判断出患者所在位置信息,从而进行有效及时的救护工作。如果医生发现患者的身体参数异常,则会向相应的传感器节点发送报警命令以引起患者注意。。
图1为本发明所述的***拓扑结构示意图。所述全IP无线传感器网络包括三类节点:网关节点1,固定节点2以及用于病人携带的移动节点3;其中网关节点1与IPv6互联网的接入路由器4连接,网关节点1与固定节点2具有路由转发功能,移动节点3不具有路由转发功能;一个网关节点1与一个以上固定节点2构建成一个树状结构,作为网关树5,网关树的根节点为网关节点1,中间节点及叶子节点为固定节点2;所有网关树5构建成路由骨干网,移动节点3通过路由骨干网与IPv6互联网通信,与移动节点3直接通信的网关树5中的固定节点2作为该移动节点的关联节点6,同一时刻,一个移动节点3只有一个关联节点6;与同一个接入路由器4连接的所有网关树5构建成全IP无线传感器网络的子网7。
所述全IP无线传感器网络覆盖于医院大楼,医院大楼的每一层布置一个网关节点1和一个以上固定节点2形成网关树5,整个医院大楼中所有网关节点1通过一个接入路由器4连接到互联网,形成一个子网7;移动节点3与网关树5的一个固定节点2进行关联,从而实现与IPv6互联网的通信;固定节点2和移动节点3为传感器节点。
图2为本发明所述的IPv6地址结构示意图。全IP无线传感器网络的节点的IPv6地址由两个部分组成:第一部分是全局路由前缀,一个全IP无线传感器网络中所有节点的IPv6地址的全局路由前缀都相同;第二部分为节点ID,节点ID唯一标识全IP无线传感器网络中的一个传感器节点;网关节点与传感器节点的节点ID是链路地址;网关节点的IPv6地址预先设置。
固定节点的IPv6地址的节点ID有效位长度与其所处网关树中的深度值成正比。
上述基于网关树的全IP无线传感器网络以及传感器节点的IPv6地址分层结构可有效压缩地址长度,降低通信延迟,从而节省传感器节点能量,延长寿命。
图3为本发明所述的固定节点获取IPv6地址流程示意图。当固定节点X启动后,通过加入网关树获取IPv6地址,固定节点X获取IPv6地址的过程描述如下:
步骤101:开始。
步骤102:固定节点X广播固定节点地址请求消息。
步骤103:已获取IPv6地址的邻居网关节点或固定节点收到固定节点地址请求消息后,判断自己是否有可分配地址空间,如果是,进行步骤105,否则进行步骤104。
步骤104:已获取IPv6地址的邻居网关节点或固定节点放弃地址请求消息,进行步骤109。
步骤105:已获取IPv6地址的邻居网关节点或固定节点向固定节点X返回一个固定节点地址响应消息,消息负载为分配的节点ID和深度值。
步骤106:固定节点X选择深度值最小的邻居网关节点或者固定节点作为父节点并向父节点返回一个固定节点地址确认消息,消息负载为分配的节点ID,同时将父节点分配的节点ID与父节点的全局路由前缀相结合,形成自己的IPv6地址。
步骤107:父节点收到固定节点X返回的固定节点地址确认消息后,将分配给固定节点X的节点ID标记为已分配状态。
步骤108:固定节点X加入网关树并获取IPv6地址。
步骤109:结束。
上述固定节点的IPv6地址配置过程有效缩短了固定节点地址长度,降低了通信延迟,节省了固定节点能量,延长了固定节点的寿命。基于分层地址结构,该***无需路由发现过程即可采用网关树自动实现路由,由于路由在链路层实现,因此控制消息无需包含IPv6头部,缩短了传输延迟,节省了固定节点能量,延长了固定节点的寿命。
图4为本发明所述的移动节点获取IPv6地址流程示意图。所述IPv6互联网的接入路由器以及网关树中的固定节点保存一个关联表,关联表包括两个域:移动节点域和关联节点域,移动节点域记录移动节点的链路地址和IPv6地址,关联节点域记录移动节点的关联节点的链路地址;
移动节点Y启动后,通过下述过程获取家乡地址以及关联节点:
步骤201:开始。
步骤202:移动节点Y广播请求移动节点地址请求消息。
步骤203:已获取IPv6地址的邻居网关节点或固定节点或移动节点收到移动节点地址请求消息后,判断自己是否有可分配地址空间,如果是,进行步骤205,否则进行步骤204。
步骤204:已获取IPv6地址的邻居网关节点或固定节点或移动节点放弃移动节点地址请求消息,进行步骤213。
步骤205:已获取IPv6地址的邻居网关节点或固定节点或移动消息向移动节点Y返回一个移动节点地址响应消息,消息负载为分配的节点ID以及节点类型。
步骤206:移动节点Y查看移动节点地址响应消息中的节点ID,向节点ID有效位长度最小的节点F返回移动节点地址确认消息,负载内容为分配的节点,然后将节点ID与节点F的全局路由前缀相结合,形成自己的IPv6地址。
步骤207:判断节点F是否为网关节点或者固定节点,如果是,进行步骤208,否则进行步骤210;
步骤208:移动节点Y则将节点F作为关联节点。
步骤209:节点F收到移动节点Y返回的移动节点地址确认消息后,将分配给移动节点Y的节点ID标记为已分配状态,并在关联表中增加一条表项,移动节点域为移动节点Y的链路地址,关联节点域为节点F的链路地址,进行步骤213。
步骤210:移动节点向信号最强的邻居网关节点或固定节点发送一个关联请求消息。
步骤211:邻居网关节点或固定节点收到移动节点Y的关联请求消息后,在关联表中增加一条表项,移动节点域为移动节点Y的链路地址,关联节点域为邻居网关节点或固定节点的链路地址,然后向移动节点Y返回一个关联响应消息。
步骤212:移动节点Y收到邻居网关节点或固定节点的关联响应消息后,将邻居网关节点或固定节点设置为自己的关联节点。
步骤213:结束。
上述移动节点的IPv6地址配置过程有效缩短了移动节点地址长度,降低了通信延迟,节省了移动节点能量,延长了移动节点的寿命。
图5为本发明所述的子网内移动切换流程示意图。如果移动节点X的当前关联节点为固定节点S1,当固定节点S1检测到移动节点X即将离开自己的通信范围时,固定节点S1选择与移动节点X距离最近的固定节点S2作为移动节点X的下一个关联节点。
如果固定节点S1和固定节点S2属于相同的子网,那么固定节点S1进行如下移动切换操作:
步骤301:开始。
步骤302:固定节点S1向父节点发送更新消息,负载为移动节点X的IPv6地址和固定节点S2的链路地址,同时向固定节点S2发送一个新节点消息,其内容为移动节点X的IPv6地址,同时删除关联表中移动节点X的表项。
步骤303:父节点收到更新消息后,查看固定节点S2是否为子孙节点,如果是,进行步骤305,否则进行步骤304。
步骤304:父节点删除关联表中移动节点X的表项,同时将更新消息转发给父节点的父节点,返回步骤303。
步骤305:父节点查看关联表中是否有移动节点X的表项,如果是,进行步骤306,否则进行步骤307。
步骤306:父节点将移动节点X表项中的关联节点域更新为固定节点S2,进行步骤308。
步骤307:父节点在关联表中添加移动节点X的表项,关联节点域为固定节点S2。
步骤308:固定节点S2接收到固定节点S1发送的新节点消息以及移动节点X的信标帧后,固定节点S2在关联表中增加一条移动节点X的表项,关联节点域为自己的链路地址,同时向固定节点S1返回一个新节点确认消息,负载为移动节点X的IPv6地址。
步骤309:固定节点S1收到固定节点S2返回的新节点响应消息后,将目的地址为移动节点X的数据消息发送给固定节点S2。
步骤310:固定节点S2收到目的地址为移动节点X的数据消息后,将数据消息转发给移动节点X,移动节点X从固定节点S2收到数据消息后,将固定节点S2作为新的关联节点。
步骤311:结束。
病人在一个子网内移动时,例如从医院的一层移动到另外一层,则通过上述移动切换过程保持通信的连续性。
上述移动切换过程中,移动节点由家乡地址唯一标识,在移动过程中无需配置转交地址,有效避免了由于地址变更而引起的通信中断等情况,因此丢包率更低,通信延迟更短,通信质量更高。
图6为本发明所述的子网间移动切换流程示意图。如果移动节点X的关联节点为固定节点S1,当固定节点S1检测到移动节点X即将离开自己的通信范围时,固定节点S1选择与移动节点X距离最近的固定节点S2作为下一个关联节点。
如果固定节点S1和S2属于不同的子网,固定节点S1所在子网的接入路由器为AR1,固定节点S2所在子网的接入路由器为AR2,那么固定节点S1进行如下移动切换操作。
步骤401:开始。
步骤402:固定节点S1向固定节点S2发送一个新节点消息,负载为移动节点X的IPv6地址,同时删除关联表中移动节点X的表项。
步骤403:固定节点S2接收到固定节点S1发送的新节点消息以及移动节点X的信标帧后,在关联表中增加移动节点X的表项,关联节点域为固定节点S2的链路地址,并向固定节点S1返回一个新节点确认消息,负载为移动节点X的IPv6地址,同时向接入路由器AR2发送更新消息,消息负载为移动节点X的IPv6地址。
步骤404:接入路由器AR2收到更新消息后,在关联表中增加移动节点X的表项,关联节点域为固定节点S2的链路地址。
步骤405:固定节点S1收到固定节点S2返回的新节点确认消息后,将目的地址为移动节点X的数据消息发送给固定节点S2。
步骤406:固定节点S2收到目的地址为移动节点X的数据消息后,将数据帧转发给移动节点X,移动节点X从固定节点S2收到数据消息后,将固定节点S2作为新的关联节点。
步骤407:结束。
上述过程中,如果移动节点X与固定节点S2的全局路由前缀不同,接入路由器AR2还需要通知移动节点X获取家乡地址的子网的接入路由器将移动节点X所在子网的接入路由器从接入路由器AR1更新为接入路由器AR2。
上述移动切换过程中,移动节点由家乡地址唯一标识,在移动过程中无需配置转交地址,有效避免了由于地址变更而引起的通信中断等情况,因此丢包率更低,通信延迟更短,通信质量更高。
图7为本发明所述的采集数据流程示意图。数据帧由链路层头部和适配层头部封装,链路层头部包括源链路地址和目的链路地址,源链路地址为转发数据消息的节点的链路地址,目的链路地址为下一跳节点的链路地址,适配层头部包括目的地址和最终地址。
患者监测***包括两种通信方式,一种是医生访问携带在病人身上的移动节点,以获取移动节点采集的病人身体参数,从而实现实时监控;第二种是病人的物理参数超过阈值,自动向急救中心进行报警以获得进行抢救。
医生使用IPv6互联网节点N获取携带在病人身上的移动节点X采集的数据的过程为。
步骤501:开始。
步骤502:IPv6互联网节点N发送一条获取移动节点X采集信息的请求数据消息,该数据消息在IPv6网络中进行路由,最后到达与移动节点X家乡子网的接入路由器AR1。
步骤503:接入路由器AR1判断移动节点X所在外部子网的接入路由器是否为接入路由器AR1,如果是,进行步骤505,否则进行步骤504。
步骤504:接入路由器AR1将数据消息转发到移动节点所在外部子网的接入路由器AR2,进行步骤505。
步骤505:接入路由器AR1或者AR2收到请求数据消息后,用适配层头部封装数据包,其中最终地址设置为移动节点X的IPv6地址,目的地址设置为移动节点X的关联节点的链路地址,然后将数据消息发送到移动节点X的关联节点所在树状分支的下一跳节点。
步骤506:下一跳节点收到数据消息后,判断在关联表中是否移动节点X的表项,如果是,进行步骤507,否则进行步骤508。
步骤507:下一跳节点用移动节点X表项中关联节点域值更新适配层头部中的目的地址值。
步骤508:判断下一跳节点是否为X的关联节点,如果是,进行步骤510,否则进行步骤509。
步骤509:将数据消息发送到移动节点X的关联节点所在分支的下一跳节点,返回步骤506。
步骤510:移动节点X的关联节点收到数据帧后,将数据消息发送给移动节点X。
步骤511:移动节点X收到数据消息后,将采集的信息封装成数据响应消息,数据响应消息不包含适配层头部,然后将响应数据消息发送给关联节点。
步骤512:关联节点收到数据消息后,根据网关树逐层向上发送响应数据消息直到到达接入路由器AR1或接入路由器AR2。
步骤513:接入路由器AR1或接入路由器AR2将数据消息中的响应信息封装为IPv6响应数据包,并发送到IPv6互联网上,最终该数据包按照IPv6路由方式到达源IPv6互联网节点N。
步骤514:结束。
通过上述过程,医生可以随时随地获取病人的身体参数以进行实时监控,医生根据移动节点关联节点的IPv6地址能够判断出患者所在位置信息,从而进行有效及时的救护工作,如果医生发现患者的身体参数异常,则会向相应的传感器节点发送报警命令以引起患者注意。
图8为本发明所述的报警流程示意图。本发明所述***中,当移动节点X检测到采集的数据超过移动节点X内部自身设定的阈值时,则向IPv6互联网节点N发送报警信息,具体过程为:
步骤601:开始。
步骤602:移动节点X向IPv6互联网节点N发送报警消息,负载为超于阈值的数据和关联节点的IPv6地址,然后将报警消息发送到移动节点X的关联节点。
步骤603:关联节点收到报警消息后,根据网关树逐层向上发送报警消息直到到达接入路由器AR1。
步骤604:接入路由器AR1将报警消息中的报警信息封装为IPv6数据包,将其发送到IPv6互联网上,然后改数据包按照IPv6路由方式到达目的IPv6互联网节点N。
步骤605:目的IPv6互联网节点N收到报警数据包后,根据移动节点X关联节点的IPv6地址获取患者所在位置信息从而进行有效及时的救护工作;
步骤606:结束。
综上所述,本发明提供了一种基于全IP无线传感器网络的医疗实时监控***,在所述***中,采用全IP无线传感器网络技术实现对患者身体参数的及时检测。在所述***中,医生可以随时随地获取病人的身体参数以进行实时监控,医生根据移动节点关联节点的IPv6地址能够判断出患者所在位置信息,从而进行有效及时的救护工作。如果医生发现患者的身体参数异常,则会向相应的传感器节点发送报警命令以引起患者注意。由于传感器节点具有体积小、价格低廉、易于布置、易于维护等特点,而互联网具有地理位置覆盖广泛,使用方便,界面友好、费用低廉等特点,因此,本技术具有很高的推广价值。
本发明提供了一种基于全IP无线传感器网络的医疗实时监控***的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。