1.一种慢性病远程监测系统,其特征在于,所述系统包括路由器、接入节点和末端节点,所述末端节点包括感知节点和用户节点,所述感知节点配置于待监测慢性病患者;
所述用户节点定期向所述接入节点发送请求消息以监测感知节点采集的数据,该请求消息中的节点名等于所述感知节点的初始节点名,簇名集合为空;
接收到所述请求消息的接入节点将该请求消息中的节点名加入到其节点名集合中,若其路由器表项的域名不等于该请求消息中节点名的域名,则发送远程消息,该远程消息的节点名等于该请求消息中的节点名,簇名集合等于该接入节点的路由器表项的簇名集合;
接收到所述请求消息的接入节点的簇名如果等于该请求消息中节点名的簇名,且不存在一个移动表项,该移动表项的初始节点名等于该请求消息中的节点名,则转发该请求消息;
每个所述路由器具有唯一的坐标和域名,每个所述接入节点具有唯一的坐标和簇名,每个所述路由器与距离最近的各所述接入节点构成一个域,每个所述接入节点和所链接的末端节点构成一个簇;其中,所述接入节点通过以下步骤建立簇表:所述接入节点,用于定期向其它所述接入节点发送簇消息构建簇表;其中,所述簇消息中的簇名集合包含一个元素,该元素等于所述接入节点的簇名;
接收到所述簇消息的其它所述接入节点判断是否存在一个簇表项,该簇表项的簇名集合的第一个元素等于该簇消息的簇名集合的第一个元素,若存在,则该其它所述接入节点则将该簇表项的簇名集合设置为该簇消息的簇名集合,将生命周期设置为最大值;若否,则该其它所述接入节点创建一个簇表项,该簇表项的簇名集合等于该簇消息的簇名集合,将生命周期设置为最大值,将其簇名加入到该簇消息的簇名集合中并作为最后一个元素,转发该簇消息;
每个所述接入节点保存一个路由器表;其中,所述路由器表只包含一个路由器表项,路由器表项包含域名,簇名集合和生命周期;其中,所述路由器通过以下步骤建立所述路由器表:所述路由器定期从其无线接口发送路由器消息以建立路由表;其中,所述路由器消息包含域名和簇名集合,该路由器消息的域名等于其域名,簇名集合为空集;
接收到所述路由器消息且与所述路由器位于相同域中的所述接入节点判断是否存在一个路由器表项,该路由器表项的生命周期大于阈值,若存在,则丢弃所述路由器消息;若否,则清空路由器表,创建一个路由器表项,该路由器表项的域名和簇名集合分别等于该路由器消息中的域名和簇名集合,将生命周期设置为最大值,该接入节点将其簇名加入到该路由器消息中的簇名集合中并作为最后一个元素,转发该路由器消息;
每个路由器保存一个域表,一个域表项包含域名,接口ID和生命周期;其中,所述路由器通过以下步骤建立所述域表:所述路由器定期从其每个有线接口发送域消息以构建域表,所述域消息的域名等于其域名;
接收到所述域消息的路由器判断是否存在一个域表项,所述域表项的域名等于该域消息中的域名,若存在,则将该域表项的接口ID设置为接收所述域消息的目标接口ID,将生命周期设置为最大值;若否,则创建一个域表项,该域表项的域名等于该域消息中的域名,将该域表项的接口ID设置为接收所述域消息的目标接口ID,将生命周期设置为最大值,从除了所述目标接口ID以外的每个有线接口转发该域消息;
每个所述接入节点保存一个移动表,所述移动表项包含初始节点名和当前节点名,切换消息包含初始节点名和当前节点名,内部消息包含初始节点名、当前节点名和簇名集合;
其中,所述系统通过以下步骤建立所述移动表项:
若所述感知节点检测到其链接的所述接入节点发生变更,且变更后的所述接入节点的路由器表项的域名等于该感知节点的节点名的域名,则发送所述切换消息,初始节点名为该感知节点的初始节点名,当前节点名为空;
若接收到所述切换消息的所述接入节点的簇名等于该切换消息中初始节点名的簇名,且不存在一个所述移动表项,该移动表项的初始节点名等于该切换消息中的初始节点名,则构建一个节点名,该节点名的域名等于该接入节点路由器表项的域名,簇名等于其簇名,患者ID等于该切换消息中初始节点名的患者ID,将切换消息中当前节点名设置为构建的节点名,该接入节点选择一个簇表项,该簇表项的簇名集合的第一个元素等于该切换消息中初始节点名的簇名,发送一个内部消息,该内部消息的初始节点名和当前节点名分别等于该切换消息中的初始节点名和当前节点名,簇名集合等于该簇表项的簇名集合。
2.根据权利要求1所述的一种慢性病远程监测系统,其特征在于,
接收到所述远程消息的接入节点的簇名如果等于该远程消息中簇名集合的最后一个元素,则从该远程消息中簇名集合中删除最后一个元素,转发该远程消息;
接收到所述远程消息的路由器的域名如果等于该远程消息中的节点名的域名,则从无线接口发送一个请求消息,该请求消息的节点名等于该远程消息的节点名,簇名集合为空,否则选择一个域表项,该域表项的域名等于该远程消息中节点名的域名,从该域表项的接口ID所标识的接口转发该远程消息。
3.根据权利要求2所述的一种慢性病远程监测系统,其特征在于,
接收到所述请求消息的感知节点如果其患者ID等于该请求消息中节点名的患者ID,则发送响应消息,该响应消息的节点名等于该请求消息的节点名,数据为该感知节点采集的数据;
接收到所述响应消息的接入节点的节点名集合如果包含一个节点名,该节点名的患者ID等于该响应消息中节点名的患者ID,则从其节点名集合中删除所有患者ID等于该响应消息中节点名的患者ID的节点名,转发该响应消息;
接收到所述响应消息的路由器选择所有节点名的患者ID等于该响应消息中节点名的患者ID的患者表项,针对每个选中的患者表项,该路由器从该患者表项的接口ID所标识的接口转发该响应消息,删除该患者表项;
接收到所述响应消息的用户节点保存该响应消息中的数据。
4.根据权利要求1至3任一项所述的一种慢性病远程监测系统,其特征在于,所述移动表项的建立还包括:
若接收到内部消息的所述接入节点的簇名等于该内部消息中初始节点名的簇名,则判断是否存在一个所述移动表项,该移动表项的初始节点名等于该内部消息的初始节点名,若存在,则将该移动表项的当前节点名更新为该内部消息中的当前节点名;若否,则创建一个移动表项,该移动表项的初始节点名和当前节点名分别等于该内部消息的初始节点名和当前节点名;
若接收到内部消息的接入节点的簇名不等于该内部消息中初始节点名的簇名,且等于该内部消息中簇名集合的最后一个元素,则从该内部消息中簇名集合中删除最后一个元素,转发该内部消息。
5.根据权利要求1至3任一项所述的一种慢性病远程监测系统,其特征在于,外部消息包含初始节点名,当前节点名和簇名集合;其中,所述系统通过以下步骤进行移动切换操作:若所述感知节点检测到其链接的所述接入节点发生变更,且变更后的接入节点的路由器表项的域名不等于其初始节点名的域名,则发送切换消息,该切换消息的初始节点名为其初始节点名,当前节点名为空;
接收到所述切换消息的所述接入节点构建一个节点名,该节点名的域名等于该接入节点路由器表项的域名,簇名等于其簇名,患者ID等于该切换消息中初始节点名的患者ID,将切换消息中当前节点名设置为构建的节点名,该接入节点发送一个外部消息,该外部消息的初始节点名和当前节点名分别等于该切换消息中的初始节点名和当前节点名,簇名集合等于该接入节点的路由器表项的簇名集合。
6.根据权利要求5所述的一种慢性病远程监测系统,其特征在于,所述移动切换的步骤还包括:
接收到所述外部消息的所述接入节点的簇名如果等于该外部消息簇名集合的最后一个元素,则从该外部消息簇名集合中删除最后一个元素,转发该外部消息;
接收到该外部消息的路由器的域名如果等于该外部消息中初始节点名的域名,则从无线接口转发该外部消息,否则,选择一个域表项,该域表项的域名等于该外部消息中初始节点名的域名,从该域表项的接口ID所标识的接口转发该外部消息;
接收到该外部消息的接入节点的路由器表项的域名如果等于该外部消息中初始节点名的域名,则选择一个簇表项,该簇表项的簇名集合的第一个元素等于该外部消息中初始节点名的簇名,发送一个内部消息,该内部消息的初始节点名和当前节点名分别等于该外部消息中的初始节点名和当前节点名,簇名集合等于该簇表项的簇名集合。