1.一种基于物联网的远程医疗监护系统的实现方法,其特征在于,所述远程医疗监护系统包括两种以上的节点,所述节点包括感知节点、边缘节点和监测节点,每个感知节点配置一个无线接口,感知节点分布于患者身上用于采集该患者的生理数据,每个患者拥有一个智能设备,该智能设备配置一个无线接口,一个患者的所有感知设备和该患者拥有的智能设备构建成一个簇,该智能设备为该簇的簇首节点;每个边缘节点配置四个以上的接口,边缘设备为路由器,其中包含一个下游有线接口、一个下游无线接口以及两个以上的上游有线接口,每个接口由一个接口ID唯一标识,接口ID为x的接口记为接口x;每个监测节点配置一个有线接口,监测节点为计算机,有线接口通过一个网关接入与边缘节点进行通信,一个网关配置三个以上的接口,包括一个上游有线接口和两个以上的下游有线接口,每个接口由接口ID唯一标识,上游有线接口与边缘节点的下游有线接口相连,下游接口与监测节点的有线接口相连;智能设备的无线接口与一个边缘设备的下游无线接口链路相连;边缘节点的上游有线接口与另一个边缘节点的上游有线接口相连;
每个网关具有唯一的坐标;
使用一个患者名称唯一标识一个患者,一个患者名称包含前缀和患者ID;当一个患者的智能设备向所述系统注册时,所述系统分配给该患者的智能设备一个患者名称,其中该患者名称的前缀等于一个网关的坐标,该网关在所有网关中与该患者注册的居住地址距离最近,患者ID在所述系统中具有唯一性;
一个患者的患者数据由标识该患者的患者名称唯一标识;
远程医疗监护系统中的每个消息由消息ID唯一标识;
发布消息包含一个消息ID和坐标;
每个边缘节点维护一个转发表,一个转发表项包含前缀、接口ID和生命周期;
在网关GW1的坐标为CO1的条件下,定期执行下述操作:
步骤101:开始;
步骤102:网关GW1从上游有线接口发送一个发布消息,该发布消息的消息ID为1,坐标等于CO1;
步骤103:边缘节点从下游有线接口x1接收到该发布消息后,判断是否存在一个转发表项,该转发表项的前缀等于该发布消息的坐标且生命周期大于阈值TH0,如果存在,则执行步骤113,否则执行步骤104;
步骤104:从下游有线接口x1接收到该发布消息的边缘节点判断是否存在一个转发表项,该转发表项的前缀等于该发布消息的坐标,如果存在,则执行步骤105,否则执行步骤
106;
步骤105:从下游有线接口x1接收到该发布消息的边缘节点选择一个转发表项,该转发表项的前缀等于该发布消息的坐标,将该转发表项的生命周期设置为最大值,将接口ID设置为x1,执行步骤107;
步骤106:从下游有线接口x1接收到该发布消息的边缘节点创建一个转发表项,该转发表项的前缀等于该发布消息的坐标,该转发表项的生命周期为最大值,接口ID等于x1;
步骤107:从下游有线接口x1接收到该发布消息的边缘节点从每个上游有线接口转发该发布消息;
步骤108:边缘节点从上游有线接口x2接收到该发布消息后,判断是否存在一个转发表项,该转发表项的前缀等于该发布消息的坐标且生命周期大于阈值TH0,如果存在,则执行步骤113,否则执行步骤109;
步骤109:从上游有线接口x2接收到该发布消息的边缘节点判断是否存在一个转发表项,该转发表项的前缀等于该发布消息的坐标,如果存在,则执行步骤110,否则执行步骤
111;
步骤110:从上游有线接口x2接收到该发布消息的边缘节点选择一个转发表项,该转发表项的前缀等于该发布消息的坐标,将该转发表项的生命周期设置为最大值,将接口ID设置为x2,执行步骤112;
步骤111:从上游有线接口x2接收到该发布消息的边缘节点创建一个转发表项,该转发表项的前缀等于该发布消息的坐标,该转发表项的生命周期为最大值,接口ID等于x2;
步骤112:从上游有线接口x2接收到该发布消息的边缘节点从除了上游有线接口x2以外的每个上游有线接口转发该发布消息,执行步骤108;
步骤113:结束。
2.根据权利要求1所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,每个边缘节点维护一个患者数据表和一个请求表,一个患者数据表项包含患者名称、患者数据、患者坐标、时间戳和生命周期。
3.根据权利要求2所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,一个请求表项包含患者名称、时间戳、接口ID和生命周期。
4.根据权利要求3所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,一个产生消息包含消息ID;一个回复消息包含消息ID和患者数据块。
5.根据权利要求4所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,一个处理消息包含消息ID、患者名称、患者坐标、时间戳和患者数据块集合;
一个数据消息包含消息ID、患者名称、时间戳、患者坐标和患者数据。
6.根据权利要求5所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,患者的智能设备PA1的当前坐标为CO1,由患者名称PN1唯一标识,患者PA1的患者数据PD1同样由患者名称PN1唯一标识,患者PA1的簇首节点为CH1,即患者PA1拥有的智能设备为CH1,簇首节点CH1定期执行下述操作:步骤201:开始;
步骤202:簇首节点CH1发送一个产生消息,该产生消息的消息ID为2,分布在患者PA1身上的感知节点接收到该产生消息后,发送一个回复消息,该回复消息的消息ID为3,患者数据块为该感知节点采集的数据块;
步骤203:簇首节点CH1发送一个处理消息,该处理消息的消息ID为4,患者坐标为CO1,时间戳等于发送处理消息时的时间,患者名称为PN1,患者数据块集合由簇首节点CH1接收到的所有回复消息中的数据块构成;
步骤204:边缘节点从下游无线接口f1接收到该处理消息后,判断是否存在一个转发表项,该转发表项的前缀等该处理消息中患者名称的前缀且接口ID等于自己的下游有线接口的接口ID,如果存在,则执行步骤214,否则执行步骤205;
步骤205:从下游无线接口f1接收到该处理消息的边缘节点判断是否存在一个请求表项,该请求表项的患者名称等于该处理消息中的患者名称且接口ID等于f1,如果存在,则执行步骤206,否则执行步骤207;
步骤206:从下游无线接口f1接收到该处理消息的边缘节点选择一个请求表项,该请求表项的患者名称等于该处理消息中的患者名称且接口ID等于f1,将该请求表项中的时间戳更新为该处理消息中的时间戳,将生命周期设置为最大值,执行步骤208;
步骤207:从下游无线接口f1接收到该处理消息的边缘节点创建一个请求表项,该请求表项的患者名称等于该处理消息中的患者名称且接口ID等于f1,将该请求表项中的时间戳设置为该处理消息中的时间戳,将生命周期设置为最大值;
步骤208:从下游无线接口f1接收到该处理消息的边缘节点选择一个转发表项,该转发表项的前缀等于该处理消息中患者名称的前缀,从该转发表项的接口ID所标识的接口转发该处理消息;
步骤209:边缘节点从上游无线接口f2接收到该处理消息后,判断是否存在一个转发表项,该转发表项的前缀等该处理消息中患者名称的前缀且接口ID等于自己的下游有线接口的接口ID,如果存在,则执行步骤214,否则执行步骤210;
步骤210:从上游有线接口f2接收到该处理消息的边缘节点判断是否存在一个请求表项,该请求表项的患者名称等于该处理消息中的患者名称且接口ID等于f2,如果存在,则执行步骤211,否则执行步骤212;
步骤211:从上游有线接口f2接收到该处理消息的边缘节点选择一个请求表项,该请求表项的患者名称等于该处理消息中的患者名称且接口ID等于f2,将该请求表项中的时间戳更新为该处理消息中的时间戳,将生命周期设置为最大值,执行步骤213;
步骤212:从上游有线接口f2接收到该处理消息的边缘节点创建一个请求表项,该请求表项的患者名称等于该处理消息中的患者名称且接口ID等于f2,将该请求表项中的时间戳设置为该处理消息中的时间戳,将生命周期设置为最大值;
步骤213:从上游有线接口f2接收到该处理消息的边缘节点选择一个转发表项,该转发表项的前缀等于该处理消息中患者名称的前缀,从该转发表项的接口ID所标识的接口转发该处理消息,执行步骤209;
步骤214:接收到该处理消息的边缘节点查看该处理消息中的患者数据块集合中的所有数据块,基于这些数据块创建患者数据PD1,边缘节点判断是否存在一个患者数据表项,该患者数据表项的患者名称等于该处理消息中的患者名称,如果存在,则将该患者数据表项的患者数据更新为患者数据PD1,时间戳和患者坐标分别设置为该处理消息中的时间戳和患者坐标,生命周期设置为最大值,如果不存在,则创建一个患者数据表项,该患者数据表项的患者名称等于该处理消息中的患者名称,该患者数据表项的患者数据等于患者数据PD1,时间戳和患者坐标分别设置为该处理消息中的时间戳和患者坐标,生命周期设置为最大值;
步骤215:接收到该处理消息的边缘节点从接收到处理消息的接口发送一个数据消息,该数据消息的消息ID为5,患者名称等于该处理消息中的患者名称,患者数据等于患者数据PD1,时间戳和患者坐标分别等于该处理消息中的时间戳和患者坐标;
步骤216:如果簇首节点CH1接收到该数据消息,则执行步骤220,否则执行步骤217;
步骤217:接收到数据消息的边缘节点判断是否存在一个患者数据表项,该患者数据表项的患者名称等于该数据消息中的患者名称,如果存在,则将该患者数据表项的患者数据、时间戳和患者坐标分别更新为该数据消息中的患者数据、时间戳和患者坐标,将生命周期设置为最大值,如果不存在,则创建一个患者数据表项,该患者数据表项的患者名称、患者数据、时间戳和患者坐标分别等于该数据消息中的患者名称、患者数据、时间戳和患者坐标,将生命周期设置为最大值;
步骤218:接收到数据消息的边缘节点选择所有患者名称等于该数据消息中患者名称的请求表项,如果这些选中的所有请求表项中至少存在一个请求表项,该请求表项的时间戳比该数据消息中的时间戳更大,即时间戳记录的时间更近,则执行步骤220,否则执行步骤219:步骤219:接收到数据消息的边缘节点选择所有患者名称等于该数据消息中患者名称的请求表项,针对每个选中的请求表项,该边缘节点从该请求表项的接口ID所标识的接口发送该数据消息,删除该请求消息,执行步骤216;
步骤220:结束。
7.根据权利要求1所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,报警消息包含消息ID、患者数据表项。
8.根据权利要求7所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,如果边缘节点FN1检测到患者数据表项E1的患者数据不在阈值范围内,则执行下述报警操作:步骤301:开始;
步骤302:边缘节点FN1选择一个转发表项,该转发表项的前缀与患者数据表项E1的坐标之间的距离最近,从该转发表项的接口ID所标识的接口发送一个报警消息,该报警消息的消息ID为6,患者数据表项等于E1;
步骤303:如果一个网关接收到该报警消息,则执行步骤305,否则执行步骤304;
步骤304:接收到报警消息的边缘节点选择一个转发表项,该转发表项的前缀与该报警消息中患者数据表项的坐标之间的距离最近,从该转发表项的接口ID所标识的接口转发该报警消息,执行步骤303;
步骤305:接收到该报警消息的网关从所有的下游有线接口转发该报警消息;
步骤306:结束。
9.根据权利要求1所述的一种基于物联网的远程医疗监护系统的实现方法,其特征在于,在患者数据PD1由患者名称PN1定义,请求消息包含消息ID和患者名称的条件下,监测节点MN1通过下述过程获取数据PD1:步骤401:开始;
步骤402:监测节点MN1发送一个请求消息,该请求消息的消息ID为7,患者名称为PN1;
步骤403:网关节点接收到该请求消息后,从上游有线接口转发该请求消息;
步骤404:边缘节点从下游有线接口或者上游有线接口y1接收到该请求消息后,判断是否存在一个患者数据表项,该患者数据表项的患者名称等于该请求消息中的患者名称,如果存在,则执行步骤405,否则执行步骤406;
步骤405:从下游有线接口或者上游有线接口y1接收到该请求消息的边缘节点选中一个患者数据表项,该患者数据表项的患者名称等于该请求消息中的患者名称,从接口y1发送一个数据消息,该数据消息的消息ID为5,患者名称、患者数据、时间戳和患者坐标分别等于该患者数据表项中的患者名称、患者数据、时间戳和患者坐标,执行步骤409;
步骤406:从下游有线接口或者上游有线接口y1接收到该请求消息的边缘节点判断是否存在一个请求表项,该请求表项的患者名称等于该请求消息中的患者名称且接口ID等于y1,如果存在,则执行步骤409,否则执行步骤407;
步骤407:从下游有线接口或者上游有线接口y1接收到该请求消息的边缘节点创建一个请求表项,该请求表项的患者名称等于该请求消息中的患者名称且接口ID等于y1,时间戳为0,生命周期设置为最大值,如果至少存在两个请求表项,这两个请求表项的患者名称都等于该请求消息中的患者名称,则执行步骤409,否则执行步骤408;
步骤408:从下游有线接口或者上游有线接口y1接收到该请求消息的边缘节点选择一个转发表项,该转发表项的前缀等于该请求消息中患者名称的前缀,从该转发表项的接口ID所标识的接口转发该请求消息,执行步骤404;
步骤409:如果监测节点接收到该数据消息,则执行步骤415,否则执行步骤410;
步骤410:如果网关接收到该数据消息,则执行步骤411,否则执行步骤412;
步骤411:接收到该数据消息的网关节点从所有下游有线接口转发该数据消息,执行步骤409;
步骤412:接收到数据消息的边缘节点判断是否存在一个患者数据表项,该患者数据表项的患者名称等于该数据消息中的患者名称,如果存在,则将该患者数据表项的患者数据、时间戳和患者坐标分别更新为该数据消息中的患者数据、时间戳和患者坐标,将生命周期设置为最大值,如果不存在,则创建一个患者数据表项,该患者数据表项的患者名称、患者数据、时间戳和患者坐标分别等于该数据消息中的患者名称、患者数据、时间戳和患者坐标,将生命周期设置为最大值;
步骤413:接收到数据消息的边缘节点选择所有患者名称等于该数据消息中患者名称的请求表项,如果这些选中的所有请求表项中至少存在一个请求表项,该请求表项的时间戳比该数据消息中的时间戳更大,即时间戳记录的时间更近,则执行步骤415,否则执行步骤414:步骤414:接收到数据消息的边缘节点选择所有患者名称等于该数据消息中患者名称的请求表项,针对每个选中的请求表项,该边缘节点从该请求表项的接口ID所标识的接口发送该数据消息,删除该请求消息,执行步骤409;
步骤415:结束。