专利摘要
本发明提供了一种基于物联网的医疗监测预警系统的实现方法,所述物联网网络包括两种以上的设备,所述设备包括提供者设备,消费者设备和路由器;所述路由器包含两个以上的接口,每个接口能够连接消费者设备、路由器或者提供者设备;一个消费者设备或者提供者设备配置一个接口,该接口连接路由器,一个接口由接口ID标识,接口ID为z的接口记为接口z;每个设备由设备ID唯一标识;用户通过本发明所提供的一种基于物联网的医疗监测预警系统的实现方法能够快速获取数据以实施即时救护,本发明有效降低了医疗数据监测的延迟和代价,从而有效提高网络服务性能。本发明可应用于患者监测等领域,具有广泛的应用前景。
权利要求
1.一种基于物联网的医疗监测预警系统的实现方法,其特征在于,
所述物联网网络包括两种以上的设备,所述设备包括提供者设备,消费者设备和路由器;
所述路由器包含两个以上的接口,每个接口能够连接消费者设备、路由器或者提供者设备;
一个消费者设备或者提供者设备配置一个接口,该接口连接路由器,一个接口由接口ID标识,接口ID为z的接口记为接口z;
每个设备由设备ID唯一标识;
每个路由器维护一个邻居表,一个邻居表项包含设备类型、设备ID、接口ID和生命周期;路由器的设备类型为0,提供者设备的设备类型为1,消费者设备的设备类型为2;一个消息由消息ID唯一标识;邻居消息包含消息ID、设备类型和设备ID;如果设备D1是一个消费者设备或者一个提供者设备,则定期执行下述操作:
步骤101:开始;
步骤102:设备D1发送一个邻居消息,该邻居消息的消息ID为1,设备ID为设备D1的设备ID,如果设备ID为提供者设备,则设备类型为1,否则设备类型为2;
步骤103:从接口f1接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的接口ID等于f1,则将该邻居表项的设备类型和设备ID分别更新为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值,否则创建一个邻居表项,该邻居表项的接口ID等于f1,将该邻居表项的设备类型和设备ID分别设置为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值;
步骤104:结束;
路由器R1定期执行下述操作:
步骤201:开始;
步骤202:路由器R1从每个接口发送一个邻居消息,该邻居消息的消息ID为1,设备ID为路由器R1的设备ID,设备类型为0;
步骤203:如果接收到该邻居消息的设备为消费者设备或者提供者设备,则执行步骤205,否则执行步骤204;
步骤204:从接口f2接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的接口ID等于f2,则将该邻居表项的设备类型和设备ID分别更新为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值,否则创建一个邻居表项,该邻居表项的接口ID等于f2,将该邻居表项的设备类型和设备ID分别设置为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值;
步骤205:结束;
每个路由器保存一个等待表,一个等待表项包含设备ID、名称ID和前缀;
一种数据由一个名称标识,一个名称包含设备ID集合、前缀和名称ID,前缀标识与该名称定义的数据关联的位置信息,名称ID标识数据的类型。
发布消息包含消息ID和名称;
每个提供者设备保存一个缓存表,一个缓存表项包含名称ID、前缀和数据。
提供者设备P1创建数据DA1后,创建一个名称NA1定义数据DA1,名称NA1中,设备ID集合为空,名称ID为NID1,前缀为PR1,然后提供者设备P1创建一个缓存表项,该缓存表项的名称ID为NID1,前缀为PR1,数据为DA1;
提供者设备P1定期执行下述操作:
步骤301:开始;
步骤302:提供者设备P1创建一个名称,该名称的名称ID为NID1,前缀为PR1,设备ID集合包含一个元素,该元素等于提供者设备P1的设备ID,发送一个发布消息,该发布消息的消息ID为2,名称等于构建的名称;
步骤303:如果接收到该发布消息的设备为消费者设备,则执行步骤306,否则执行步骤304;
步骤304:从接口x1接收到该发布消息的路由器判断自己的设备ID是否包含在该发布消息中名称的设备ID集合中,如果包含,则执行步骤307,否则执行步骤305;
步骤305:从接口x1接收到该发布消息的路由器选择所有设备类型等于0或者2的邻居表项,针对每个选中的邻居表项,该路由器执行下述操作:如果该邻居表项的接口ID为x1,则不执行任何操作,否则,该路由器将自己的设备ID加入到该发布消息的名称中的设备ID集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口转发该发布消息,执行步骤303;
步骤306:接收到该发布消息的消费者设备保存该发布消息中的名称;
步骤307:结束。
2.根据权利要求1所述的一种基于物联网的医疗监测预警系统的实现方法,其特征在于,请求消息包含消息ID、名称和设备ID;
响应消息包含消息ID、名称和数据。
3.根据权利要求2所述的一种基于物联网的医疗监测预警系统的实现方法,其特征在于,
消费者设备C2与路由器R2连接,消费者设备C2保存名称NA2后,执行下述过程获取名称NA2定义的数据:
步骤401:开始;
步骤402:消费者设备C2发送一个请求消息,该请求消息的消息ID等于3,名称等于NA2,设备ID等于消费者设备C2的设备ID;
步骤403:接收到该请求消息的设备如果是提供者设备,则执行步骤407,如果是路由器则执行步骤404;
步骤404:接收到该请求消息的路由器判断是否存在一个等待表项,该等待表项的名称ID和前缀等于该请求消息中名称的名称ID和前缀,且设备ID等于该请求消息中设备ID,如果存在,则执行步骤408,否则执行步骤405;
步骤405:接收到该请求消息的路由器创建一个等待表项,该等待表项的名称ID和前缀分别等于该请求消息中名称的名称ID和前缀,设备ID等于该请求消息中设备ID,如果至少存在两个等待表项,这两个等待表项的名称ID和前缀分别等于该请求消息中的名称ID和前缀,则执行步骤408,否则执行步骤406;
步骤406:接收到该请求消息的路由器将该请求消息中的设备ID设置为自己的设备ID,从该请求消息中名称的设备ID集合中删除最后一个元素,选择一个邻居表项,该邻居表项的设备ID等于该请求消息中名称的设备ID集合中的最后一个元素,从该邻居表项所标识的接口转发该请求消息,执行步骤403;
步骤407:接收到该请求消息的提供者设备选择一个缓存表项,该缓存表项的名称ID和前缀分别等于该请求消息中名称的名称ID和前缀,接收到该请求消息的提供者设备构建一个名称,该名称的名称ID和前缀分别等于该缓存表项中的名称ID和前缀,设备ID集合为空,接收到该请求消息的提供者设备发送一个响应消息,该响应消息的消息ID为4,名称等于构建的名称,数据等于该缓存表项中的数据;
步骤408:如果接收到响应消息的设备为消费者设备,则执行步骤410,否则执行步骤409;
步骤409:接收到响应消息的路由器选择所有名称ID和前缀分别等于该响应消息中名称的名称ID和前缀的等待表项,针对每个选中的等待表项,该路由器执行下述操作:该路由器选择邻居表项,该邻居表项的设备ID等于该等待表项中的设备ID,删除该等待表项,从该邻居表项的接口ID所标识的接口转发该响应消息,执行步骤408;
步骤410:接收到响应消息的消费者设备保存该响应消息中的数据;
步骤411:结束。
4.根据权利要求1所述的一种基于物联网的医疗监测预警系统的实现方法,其特征在于,推送消息包含消息ID、设备ID集合和缓存表。
5.根据权利要求4所述的一种基于物联网的医疗监测预警系统的实现方法,其特征在于,如果提供者设备P1检测到数据值超过预先设置的阈值的缓存表项,则创建一个缓存表BT1,将数据值超过预先设置的阈值的缓存表项加入到缓存表BT1中,并执行下述操作:
步骤501:开始;
步骤502:提供者设备P1发送一个推送消息,该推送消息的消息ID为5,设备ID集合为空,缓存表等于BT1;
步骤503:如果接收到该推送消息的设备为消费者设备,则执行步骤506,否则执行步骤504;
步骤504:从接口y1接收到该推送消息的路由器判断自己的设备ID是否包含在该推送消息中的设备ID集合中,如果包含,则执行步骤507,否则执行步骤505;
步骤505:从接口y1接收到该推送消息的路由器选择所有设备类型等于0或者2的邻居表项,针对每个选中的邻居表项,该路由器执行下述操作:如果该邻居表项的接口ID为y1,则不执行任何操作,否则,该路由器将自己的设备ID加入到该推送消息中的设备ID集合中,从该邻居表项的接口ID所标识的接口转发该推送消息,执行步骤503;
步骤506:接收到该推送消息的消费者设备保存该推送消息中的缓存表;
步骤507:结束。
说明书
技术领域
本发明涉及一种实现方法,尤其涉及的是一种基于物联网的医疗监测预警系统的实现方法。
背景技术
物联网具有结构紧凑、易于布置、易于维护、价格便宜、测量精度高等优点,非常适合环境监测。近年来,国内外研究人员对基于物联网的智能医疗监测系统进行了相关研究,并取得了一定的研究成果。但是目前基于物联网的智能医疗监测系统具有一点过的局限性,因此代价较大。如何降低基于物联网的智能医疗监测系统延迟成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供一种基于物联网的医疗监测预警系统的实现方法。
技术方案:本发明公开了一种基于物联网的医疗监测预警系统的实现方法,所述物联网网络包括两种以上的设备,所述设备包括提供者设备,消费者设备和路由器;提供者为传感设备,消费者为电脑或者智能手机;
所述路由器包含两个以上的接口,每个接口能够连接消费者设备、路由器或者提供者设备设备;
一个消费者设备或者提供者设备配置一个接口,该接口连接路由器,一个接口由接口ID标识,接口ID为z的接口记为接口z;
每个设备由设备ID唯一标识;
每个路由器维护一个邻居表,一个邻居表项包含设备类型、设备ID、接口ID和生命周期;路由器的设备类型为0,提供者设备的设备类型为1,消费者设备的设备类型为2;一个消息由消息ID唯一标识;邻居消息包含消息ID、设备类型和设备ID;如果设备D1是一个消费者设备或者一个提供者设备,则定期执行下述操作:
步骤101:开始;
步骤102:设备D1发送一个邻居消息,该邻居消息的消息ID为1,设备ID为设备D1的设备ID,如果设备ID为提供者设备,则设备类型为1,否则设备类型为2;
步骤103:从接口f1接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的接口ID等于f1,则将该邻居表项的设备类型和设备ID分别更新为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值,否则创建一个邻居表项,该邻居表项的接口ID等于f1,将该邻居表项的设备类型和设备ID分别设置为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值;
步骤104:结束。
消费者设备和提供者设备通过上述过程发送邻居消息用于在连接的路由器上建立自己的邻居表项,由此路由器通过接口ID和设备ID将消息正确地转发到消费者设备或者提供者设备,从而确保数据通信地正确性,提高数据通信成功率
本发明所述方法中,路由器R1定期执行下述操作:
步骤201:开始;
步骤202:路由器R1从每个接口发送一个邻居消息,该邻居消息的消息ID为1,设备ID为路由器R1的设备ID,设备类型为0;
步骤203:如果接收到该邻居消息的设备为消费者设备或者提供者设备,则执行步骤205,否则执行步骤204;
步骤204:从接口f2接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的接口ID等于f2,则将该邻居表项的设备类型和设备ID分别更新为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值,否则创建一个邻居表项,该邻居表项的接口ID等于f2,将该邻居表项的设备类型和设备ID分别设置为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值;
步骤205:结束。
路由器通过上述过程发送邻居消息用于在路由器上建立自己的邻居表项,由此路由器通过接口ID和设备ID将消息转发到其他路由器。从而确保数据通信地正确性,提高数据通信成功率。
本发明所述方法中,一种数据由一个名称标识,一个名称包含设备ID集合、前缀和名称ID,前缀标识与该名称定义的数据关联的位置信息,例如cslg/N6/402,名称ID标识数据的类型,例如温度。
本发明所述方法中,发布消息包含消息ID和名称;
每个提供者设备保存一个缓存表,一个缓存表项包含名称ID、前缀和数据。
本发明所述方法中,提供者设备P1创建数据DA1后,创建一个名称NA1定义数据DA1,名称NA1中,设备ID集合为空,名称ID为NID1,前缀为PR1,然后提供者设备P1创建一个缓存表项,该缓存表项的名称ID为NID1,前缀为PR1,数据为DA1;
提供者设备P1定期执行下述操作:
步骤301:开始;
步骤302:提供者设备P1创建一个名称,该名称的名称ID为NID1,前缀为PR1,设备ID集合包含一个元素,该元素等于提供者设备P1的设备ID,发送一个发布消息,该发布消息的消息ID为2,名称等于构建的名称;
步骤303:如果接收到该发布消息的设备为消费者设备,则执行步骤306,否则执行步骤304;
步骤304:从接口x1接收到该发布消息的路由器判断自己的设备ID是否包含在该发布消息中名称的设备ID集合中,如果包含,则执行步骤307,否则执行步骤305;
步骤305:从接口x1接收到该发布消息的路由器选择所有设备类型等于0或者2的邻居表项,针对每个选中的邻居表项,该路由器执行下述操作:如果该邻居表项的接口ID为x1,则不执行任何操作,否则,该路由器将自己的设备ID加入到该发布消息的名称中的设备ID集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口转发该发布消息,执行步骤303;
步骤306:接收到该发布消息的消费者设备保存该发布消息中的名称;
步骤307:结束。
提供者设备创建数据并命名该数据后,通过上述过程发布该数据的名称并通过名称中的设备ID集合实现到达消费者设备的路由路径,从而无需建立路由即实现消费者设备与提供者设备之间的通信。同时,由于上述过程不会重复转发发布消息,因此有效降低了名称发布的代价和延迟,进而提高了数据通信效率
本发明所述方法中,每个路由器保存一个等待表,一个等待表项包含设备ID、名称ID和前缀。
本发明所述方法中,请求消息包含消息ID、名称和设备ID;
响应消息包含消息ID、名称和数据。
本发明所述方法中,消费者设备C2与路由器R2连接,消费者设备C2保存名称NA2后,执行下述过程获取名称NA2定义的数据:
步骤401:开始;
步骤402:消费者设备C2发送一个请求消息,该请求消息的消息ID等于3,名称等于NA2,设备ID等于消费者设备C2的设备ID;
步骤403:接收到该请求消息的设备如果是提供者设备,则执行步骤407,如果是路由器则执行步骤404;
步骤404:接收到该请求消息的路由器判断是否存在一个等待表项,该等待表项的名称ID和前缀等于该请求消息中名称的名称ID和前缀,且设备ID等于该请求消息中设备ID,如果存在,则执行步骤408,否则执行步骤405;
步骤405:接收到该请求消息的路由器创建一个等待表项,该等待表项的名称ID和前缀分别等于该请求消息中名称的名称ID和前缀,设备ID等于该请求消息中设备ID,如果至少存在两个等待表项,这两个等待表项的名称ID和前缀分别等于该请求消息中的名称ID和前缀,则执行步骤408,否则执行步骤406;
步骤406:接收到该请求消息的路由器将该请求消息中的设备ID设置为自己的设备ID,从该请求消息中名称的设备ID集合中删除最后一个元素,选择一个邻居表项,该邻居表项的设备ID等于该请求消息中名称的设备ID集合中的最后一个元素,从该邻居表项所标识的接口转发该请求消息,执行步骤403;
步骤407:接收到该请求消息的提供者设备选择一个缓存表项,该缓存表项的名称ID和前缀分别等于该请求消息中名称的名称ID和前缀,接收到该请求消息的提供者设备构建一个名称,该名称的名称ID和前缀分别等于该缓存表项中的名称ID和前缀,设备ID集合为空,接收到该请求消息的提供者设备发送一个响应消息,该响应消息的消息ID为4,名称等于构建的名称,数据等于该缓存消息中的数据;
步骤408:如果接收到响应消息的设备为消费者设备,则执行步骤410,否则执行步骤409;
步骤409:接收到响应消息的路由器选择所有名称ID和前缀分别等于该响应消息中名称的名称ID和前缀的等待表项,针对每个选中的等待表项,该路由器执行下述操作:该路由器选择邻居表项,该邻居表项的设备ID等于该等待表项中的设备ID,删除该等待表项,从该邻居表项的接口ID所标识的接口转发该响应消息,执行步骤408;
步骤410:接收到响应消息的消费者设备保存该响应消息中的数据;
步骤411:结束。
消费者设备通过上述过程从提供者设备获取数据。上述过程中,路由器通过名称可以将请求消息转发到提供者设备,无需建立路由,因此降低了数据通信延迟和代价,上述过程通过等待表能够使多个消费者设备通过一次数据通信过程共享数据,进而进一步提高了数据通信效率。
本发明所述方法中,推送消息包含消息ID、设备ID集合和缓存表。
本发明所述方法中,如果提供者设备P1检测到数据值超过预先设置的阈值的缓存表项,则创建一个缓存表BT1,将数据值超过预先设置的阈值的缓存表项加入到缓存表BT1中,并执行下述操作:
步骤501:开始;
步骤502:提供者设备P1发送一个推送消息,该推送消息的消息ID为5,设备ID集合为空,缓存表等于BT1;
步骤503:如果接收到该推送消息的设备为消费者设备,则执行步骤506,否则执行步骤504;
步骤504:从接口y1接收到该推送消息的路由器判断自己的设备ID是否包含在该推送消息中的设备ID集合中,如果包含,则执行步骤507,否则执行步骤505;
步骤505:从接口y1接收到该推送消息的路由器选择所有设备类型等于0或者2的邻居表项,针对每个选中的邻居表项,该路由器执行下述操作:如果该邻居表项的接口ID为y1,则不执行任何操作,否则,该路由器将自己的设备ID加入到该推送消息中的设备ID集合中,从该邻居表项的接口ID所标识的接口转发该推送消息,执行步骤503;
步骤506:接收到该推送消息的消费者设备保存该推送消息中的缓存表;
步骤507:结束。
如果提供者设备检测到缓存表项中的数据值超过预先设置的阈值,则通过上述过程将这些缓存表项发布到消费者设备以便观察进而采取有效措施,由于上述过程通过设备ID集合避免重复推送,因此降低了数据推送代价和延迟,提高了数据推送效率。
有益效果:本发明提供了一种基于物联网的医疗监测预警系统的实现方法,用户通过本发明所提供的一种基于物联网的医疗监测预警系统的实现方法能够快速获取数据以实施即时救护,本发明有效降低了医疗数据监测的延迟和代价,从而有效提高网络服务性能。本发明可应用于患者监测等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的建立邻居表流程示意图。
图2为本发明所述的路由器建立邻居表流程示意图。
图3为本发明所述的发布名称流程示意图。
图4为本发明所述的数据通信流程示意图。
图5为本发明所述的数据推送流程示意图。
具体实施方式:
本发明提供了一种基于物联网的医疗监测预警系统的实现方法,用户通过本发明所提供的一种基于物联网的医疗监测预警系统的实现方法能够快速获取数据以实施即时救护,本发明有效降低了医疗数据监测的延迟和代价,从而有效提高网络服务性能。本发明可应用于患者监测等领域,具有广泛的应用前景。
图1为本发明所述的建立邻居表流程示意图。所述物联网网络包括两种以上的设备,所述设备包括提供者设备,消费者设备和路由器;提供者为传感设备,消费者为电脑或者智能手机;
所述路由器包含两个以上的接口,每个接口能够连接消费者设备、路由器或者提供者设备设备;
一个消费者设备或者提供者设备配置一个接口,该接口连接路由器,一个接口由接口ID标识,接口ID为z的接口记为接口z;
每个设备由设备ID唯一标识;
每个路由器维护一个邻居表,一个邻居表项包含设备类型、设备ID、接口ID和生命周期;路由器的设备类型为0,提供者设备的设备类型为1,消费者设备的设备类型为2;一个消息由消息ID唯一标识;邻居消息包含消息ID、设备类型和设备ID;如果设备D1是一个消费者设备或者一个提供者设备,则定期执行下述操作:
步骤101:开始;
步骤102:设备D1发送一个邻居消息,该邻居消息的消息ID为1,设备ID为设备D1的设备ID,如果设备ID为提供者设备,则设备类型为1,否则设备类型为2;
步骤103:从接口f1接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的接口ID等于f1,则将该邻居表项的设备类型和设备ID分别更新为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值,否则创建一个邻居表项,该邻居表项的接口ID等于f1,将该邻居表项的设备类型和设备ID分别设置为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值;
步骤104:结束。
消费者设备和提供者设备通过上述过程发送邻居消息用于在连接的路由器上建立自己的邻居表项,由此路由器通过接口ID和设备ID将消息正确地转发到消费者设备或者提供者设备,从而确保数据通信地正确性,提高数据通信成功率
图2为本发明所述的路由器建立邻居表流程示意图。路由器R1定期执行下述操作:
步骤201:开始;
步骤202:路由器R1从每个接口发送一个邻居消息,该邻居消息的消息ID为1,设备ID为路由器R1的设备ID,设备类型为0;
步骤203:如果接收到该邻居消息的设备为消费者设备或者提供者设备,则执行步骤205,否则执行步骤204;
步骤204:从接口f2接收到邻居消息的路由器查看邻居表,如果存在一个邻居表项,该邻居表项的接口ID等于f2,则将该邻居表项的设备类型和设备ID分别更新为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值,否则创建一个邻居表项,该邻居表项的接口ID等于f2,将该邻居表项的设备类型和设备ID分别设置为该邻居消息中的设备类型和设备ID,将生命周期设置为最大值;
步骤205:结束。
路由器通过上述过程发送邻居消息用于在路由器上建立自己的邻居表项,由此路由器通过接口ID和设备ID将消息转发到其他路由器。从而确保数据通信地正确性,提高数据通信成功率。
图3为本发明所述的发布名称流程示意图。一种数据由一个名称标识,一个名称包含设备ID集合、前缀和名称ID,前缀标识与该名称定义的数据关联的位置信息,例如cslg/N6/402,名称ID标识数据的类型,例如温度。发布消息包含消息ID和名称;
每个提供者设备保存一个缓存表,一个缓存表项包含名称ID、前缀和数据。
提供者设备P1创建数据DA1后,创建一个名称NA1定义数据DA1,名称NA1中,设备ID集合为空,名称ID为NID1,前缀为PR1,然后提供者设备P1创建一个缓存表项,该缓存表项的名称ID为NID1,前缀为PR1,数据为DA1;
提供者设备P1定期执行下述操作:
步骤301:开始;
步骤302:提供者设备P1创建一个名称,该名称的名称ID为NID1,前缀为PR1,设备ID集合包含一个元素,该元素等于提供者设备P1的设备ID,发送一个发布消息,该发布消息的消息ID为2,名称等于构建的名称;
步骤303:如果接收到该发布消息的设备为消费者设备,则执行步骤306,否则执行步骤304;
步骤304:从接口x1接收到该发布消息的路由器判断自己的设备ID是否包含在该发布消息中名称的设备ID集合中,如果包含,则执行步骤307,否则执行步骤305;
步骤305:从接口x1接收到该发布消息的路由器选择所有设备类型等于0或者2的邻居表项,针对每个选中的邻居表项,该路由器执行下述操作:如果该邻居表项的接口ID为x1,则不执行任何操作,否则,该路由器将自己的设备ID加入到该发布消息的名称中的设备ID集合中并作为最后一个元素,从该邻居表项的接口ID所标识的接口转发该发布消息,执行步骤303;
步骤306:接收到该发布消息的消费者设备保存该发布消息中的名称;
步骤307:结束。
提供者设备创建数据并命名该数据后,通过上述过程发布该数据的名称并通过名称中的设备ID集合实现到达消费者设备的路由路径,从而无需建立路由即实现消费者设备与提供者设备之间的通信。同时,由于上述过程不会重复转发发布消息,因此有效降低了名称发布的代价和延迟,进而提高了数据通信效率
图4为本发明所述的数据通信流程示意图。每个路由器保存一个等待表,一个等待表项包含设备ID、名称ID和前缀。请求消息包含消息ID、名称和设备ID;响应消息包含消息ID、名称和数据。
本发明所述方法中,消费者设备C2与路由器R2连接,消费者设备C2保存名称NA2后,执行下述过程获取名称NA2定义的数据:
步骤401:开始;
步骤402:消费者设备C2发送一个请求消息,该请求消息的消息ID等于3,名称等于NA2,设备ID等于消费者设备C2的设备ID;
步骤403:接收到该请求消息的设备如果是提供者设备,则执行步骤407,如果是路由器则执行步骤404;
步骤404:接收到该请求消息的路由器判断是否存在一个等待表项,该等待表项的名称ID和前缀等于该请求消息中名称的名称ID和前缀,且设备ID等于该请求消息中设备ID,如果存在,则执行步骤408,否则执行步骤405;
步骤405:接收到该请求消息的路由器创建一个等待表项,该等待表项的名称ID和前缀分别等于该请求消息中名称的名称ID和前缀,设备ID等于该请求消息中设备ID,如果至少存在两个等待表项,这两个等待表项的名称ID和前缀分别等于该请求消息中的名称ID和前缀,则执行步骤408,否则执行步骤406;
步骤406:接收到该请求消息的路由器将该请求消息中的设备ID设置为自己的设备ID,从该请求消息中名称的设备ID集合中删除最后一个元素,选择一个邻居表项,该邻居表项的设备ID等于该请求消息中名称的设备ID集合中的最后一个元素,从该邻居表项所标识的接口转发该请求消息,执行步骤403;
步骤407:接收到该请求消息的提供者设备选择一个缓存表项,该缓存表项的名称ID和前缀分别等于该请求消息中名称的名称ID和前缀,接收到该请求消息的提供者设备构建一个名称,该名称的名称ID和前缀分别等于该缓存表项中的名称ID和前缀,设备ID集合为空,接收到该请求消息的提供者设备发送一个响应消息,该响应消息的消息ID为4,名称等于构建的名称,数据等于该缓存消息中的数据;
步骤408:如果接收到响应消息的设备为消费者设备,则执行步骤410,否则执行步骤409;
步骤409:接收到响应消息的路由器选择所有名称ID和前缀分别等于该响应消息中名称的名称ID和前缀的等待表项,针对每个选中的等待表项,该路由器执行下述操作:该路由器选择邻居表项,该邻居表项的设备ID等于该等待表项中的设备ID,删除该等待表项,从该邻居表项的接口ID所标识的接口转发该响应消息,执行步骤408;
步骤410:接收到响应消息的消费者设备保存该响应消息中的数据;
步骤411:结束。
消费者设备通过上述过程从提供者设备获取数据。上述过程中,路由器通过名称可以将请求消息转发到提供者设备,无需建立路由,因此降低了数据通信延迟和代价,上述过程通过等待表能够使多个消费者设备通过一次数据通信过程共享数据,进而进一步提高了数据通信效率。
图5为本发明所述的数据推送流程示意图。推送消息包含消息ID、设备ID集合和缓存表。如果提供者设备P1检测到数据值超过预先设置的阈值的缓存表项,则创建一个缓存表BT1,将数据值超过预先设置的阈值的缓存表项加入到缓存表BT1中,并执行下述操作:
步骤501:开始;
步骤502:提供者设备P1发送一个推送消息,该推送消息的消息ID为5,设备ID集合为空,缓存表等于BT1;
步骤503:如果接收到该推送消息的设备为消费者设备,则执行步骤506,否则执行步骤504;
步骤504:从接口y1接收到该推送消息的路由器判断自己的设备ID是否包含在该推送消息中的设备ID集合中,如果包含,则执行步骤507,否则执行步骤505;
步骤505:从接口y1接收到该推送消息的路由器选择所有设备类型等于0或者2的邻居表项,针对每个选中的邻居表项,该路由器执行下述操作:如果该邻居表项的接口ID为y1,则不执行任何操作,否则,该路由器将自己的设备ID加入到该推送消息中的设备ID集合中,从该邻居表项的接口ID所标识的接口转发该推送消息,执行步骤503;
步骤506:接收到该推送消息的消费者设备保存该推送消息中的缓存表;
步骤507:结束。
如果提供者设备检测到缓存表项中的数据值超过预先设置的阈值,则通过上述过程将这些缓存表项发布到消费者设备以便观察进而采取有效措施,由于上述过程通过设备ID集合避免重复推送,因此降低了数据推送代价和延迟,提高了数据推送效率。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的一种基于物联网的医疗监测预警系统的实现方法。如果设备D1是一个消费者设备或者一个提供者设备,则定期执行步骤101-104发送邻居消息在链接的路由器建立邻居表。接收到邻居消息的路由器创建一个邻居表项以保存设备D1的信息,例如,一个邻居表项的设备类型为1、设备ID为0xfe2a56a983ef、接口ID为2,生命周期为500ms。消费者设备和提供者设备通过上述过程发送邻居消息用于在连接的路由器上建立自己的邻居表项,由此路由器通过接口ID和设备ID将消息正确地转发到消费者设备或者提供者设备,从而确保数据通信地正确性,提高数据通信成功率。路由器R1启动后,定期执行步骤201-205发送邻居消息在邻居路由器建立邻居表。接收到邻居消息的邻居路由器创建一个邻居表项以保存路由器R1的信息,例如,一个邻居表项的设备类型为0、设备ID为0x6a983ef fe2a5、接口ID为3,生命周期为500ms。路由器通过上述过程发送邻居消息用于在路由器上建立自己的邻居表项,由此路由器通过接口ID和设备ID将消息转发到其他路由器。从而确保数据通信地正确性,提高数据通信成功率。提供者设备P1创建数据DA1后,定期执行步骤301-307发送发布消息从而向消费者设备发布定义数据DA1的名称。接收到该发布消息的消费者设备保存该发布消息中的名称。提供者设备创建数据并命名该数据后,通过上述过程发布该数据的名称并通过名称中的设备ID集合实现到达消费者设备的路由路径,从而无需建立路由即实现消费者设备与提供者设备之间的通信。同时,由于上述过程不会重复转发发布消息,因此有效降低了名称发布的代价和延迟,进而提高了数据通信效率。消费者设备C2通过执行步骤401-411发送请求消息名称NA2定义的数据,接收到该请求消息的提供者设备向消费者设备C2发送一个响应消息,该消息通过等待表建立的反向路径返回到消费者设备C2。消费者设备通过上述过程从提供者设备获取数据。上述过程中,路由器通过名称可以将请求消息转发到提供者设备,无需建立路由,因此降低了数据通信延迟和代价,上述过程通过等待表能够使多个消费者设备通过一次数据通信过程共享数据,进而进一步提高了数据通信效率。提供者设备P1通过执行步骤501-507发送推送消息向消费者设备推送数据从而使消费者设备能够及时获取数据实施救护。如果提供者设备检测到缓存表项中的数据值超过预先设置的阈值,则通过上述过程将这些缓存表项发布到消费者设备以便观察进而采取有效措施,由于上述过程通过设备ID集合避免重复推送,因此降低了数据推送代价和延迟,提高了数据推送效率。针对一种基于物联网的医疗监测预警系统的实现方法,性能分析如下,当消费者设备增加时,数据推送代价随之增加,当消费者设备减少时,数据推送代价随之减少,数据推送的平均代价为17.8。
表1仿真参数
本发明提供了一种基于物联网的医疗监测预警系统的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
一种基于物联网的医疗监测预警系统的实现方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0