专利摘要
本发明提供了一种基于边缘计算的智能医疗系统的实现方法,所述系统包括两种以上的设备,所述设备包括边缘设备和物联网设备,边缘设备为路由器或者接入节点,物联网设备包括簇首节点和簇成员节点,簇首节点执行转发功能,簇成员节点不执行转发功能,簇成员节点为佩戴在患者身上且能够采集患者的医疗数据的物联网设备。本发明通过单播取代广播的方式来获取医疗数据进而实现实时监测,从而降低医疗数据监测的延迟和代价,从而有效提高网络服务性能。本发明可应用于患者监测等领域,具有广泛的应用前景。
权利要求
1.一种基于边缘计算的智能医疗系统的实现方法,其特征在于,所述系统包括两种以上的设备,所述设备包括边缘设备和物联网设备,边缘设备为路由器或者接入节点,物联网设备包括簇首节点和簇成员节点,簇首节点执行转发功能,簇成员节点不执行转发功能,簇成员节点为佩戴在患者身上且能够采集患者的医疗数据的物联网设备;
一种类型的数据由一个名称唯一标识,一个名称包含前缀和数据ID,其中数据ID代表一种数据的类型,前缀唯一标识一个区域或者一个地点;一个边缘设备由一个前缀唯一标识,该前缀标识一个区域,一个簇首节点由一个前缀唯一标识,该前缀标识一个地点;如果标识一个边缘设备的前缀是标识一个簇首节点的前缀的子集,则该边缘设备称为该簇首节点的关联边缘设备;
一个物联网设备配置一个无线接口;一个边缘设备配置两个以上的接口,其中包含一个下游接口和多个上游接口,下游接口为与物联网设备进行通信的无线接口,上游接口为与其他边缘设备的上游接口连接的有线接口;边缘设备的每个接口由接口ID唯一标识;
一个消息由消息ID唯一标识;一个簇首节点保存一个邻居表,一个邻居表项包含坐标和生命周期;邻居消息包含消息ID和坐标;簇首节点H0定期执行下述操作:
步骤101:开始;
步骤102:簇首节点H0发送一个邻居消息,该邻居消息的消息ID为1,坐标为簇首节点H0自己当前的坐标;
步骤103:接收到该邻居消息的邻居簇首节点查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则执行步骤104,否则执行步骤105;
步骤104:接收到该邻居消息的邻居簇首节点选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的生命周期设置为最大值,执行步骤106;
步骤105:接收到该邻居消息的邻居簇首节点创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的生命周期设置为最大值;
步骤106:结束;
簇首节点通过上述过程建立邻居表;
每个边缘设备保存一个路由表,一个路由表项包含前缀,接口和生命周期;路由消息包含消息ID和前缀;
边缘设备E0由前缀EP0唯一标识,通过下述过程建立路由表:
步骤401:开始
步骤402:边缘设备E0从每个上游接口发送一个路由消息,该路由消息的消息ID为7,前缀等于EP0;
步骤403:从接口f0接收到该路由消息的边缘设备查看路由表,如果存在一个路由表项,该路由表项的前缀等于EP0,且生命周期大于预设值TH0,则执行步骤408,否则执行步骤404;
步骤404:从接口f0接收到该路由消息的边缘设备查看路由表,如果存在一个路由表项,该路由表项的前缀等于EP0,如果存在,则执行步骤405,否则执行步骤406;
步骤405:从接口f0接收到该路由消息的边缘设备选择一个路由表项,该路由表项的前缀等于EP0,将该路由表项的接口设置为f0,将生命周期设置为最大值,执行步骤407;
步骤406:从接口f0接收到该路由消息的边缘设备创建一个路由表项,该路由表项的前缀等于EP0,将该路由表项的接口设置为f0,将生命周期设置为最大值;
步骤407:从接口f0接收到该路由消息的边缘设备从除了接口f0以外的每个上游接口转发该路由消息,执行步骤403;
步骤408:结束;
边缘设备通过上述过程建立路由表;
每个簇首节点或者边缘设备维护一个请求表,一个请求表项包含名称、接口ID和生命周期;
接口ID为f0的接口记为接口f0;
请求消息包含消息ID、名称、目的坐标和最终坐标;
响应消息包含消息ID、名称和数据;
在数据DA1由名称NA1定义,簇成员节点M0的簇首节点为H0,簇首节点的关联边缘设备为E0的条件下,簇成员节点M0通过下述过程获取数据DA1:
步骤501:开始;
步骤502:簇成员节点M0发送一个请求消息,该请求消息的消息ID为8,名称等于NA1,目的坐标等于0,最终坐标等于0;
步骤503:簇首节点H0接收到该请求消息后,选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,将该请求消息的目的坐标设置为该邻居表项的坐标,将最终坐标设置为边缘设备E0的坐标,发送该请求消息;
步骤504:如果边缘设备E0从接口f0接收到该请求消息,则执行步骤509,否则执行步骤505;
步骤505:接收到请求消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤506,否则执行步骤529;
步骤506:接收到请求消息的物联网设备判断自己的坐标是否等于该请求消息中的目的坐标,如果等于,则执行步骤507,否则执行步骤529;
步骤507:接收到请求消息的物联网设备判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称,如果存在,则执行步骤523,否则执行步骤508;
步骤508:接收到请求消息的物联网设备创建一个请求表项,该请求表项的名称等于该请求消息的名称,接口ID为0,生命周期设置为最大值,接收到请求消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该请求消息中最终坐标之间的距离最小,将该请求消息中的目的坐标更新为该邻居表项中的坐标,发送该请求消息,执行步骤504;
步骤509:从接口f0接收到该请求消息的边缘设备E0判断是否存在一个数据表项,该数据表项的名称等于该请求消息的名称,如果存在,则执行步骤510,否则执行步骤511;
步骤510:从接口f0接收到该请求消息的边缘设备E0选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个响应消息,该响应消息的消息ID为9,名称和数据分别等于该数据表项的名称和数据,执行步骤523;
步骤511:从接口f0接收到该请求消息的边缘设备E0判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f0,如果存在,则执行步骤523,否则执行步骤512;
步骤512:从接口f0接收到该请求消息的边缘设备E0创建一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f0,生命周期设置为最大值,如果至少存在两个名称等于该请求消息的名称的请求表项,则执行步骤523,否则执行步骤513;
步骤513:从接口f0接收到该请求消息的边缘设备E0判断自己前缀与该请求消息名称的前缀的最大匹配度是否大于任何一个路由表项的前缀与该请求消息名称的前缀的最大匹配度,如果是,则执行步骤514,否则执行步骤515;如果一个路由表项的前缀的第1个字母与该请求消息的名称的前缀的第1字母不同,则该路由表项的最大匹配度为0,如果一个路由表项的前缀从1个字母到第n个字母与该请求消息的名称的前缀的第1字母到第n个字母完全相同,则该路由表项的最大匹配度为n,n为大于等于1的整数;
步骤514:从接口f0接收到该请求消息的边缘设备E0执行步骤301-319创建该请求消息中名称定义的数据,发送一个响应消息,该响应消息的消息ID为9,该名称等于该请求消息的名称,数据等于创建的数据,执行步骤523;
步骤515:从接口f0接收到该请求消息的边缘设备E0选择一个路由表项,该路由表项的前缀与该请求消息的名称的前缀的最大匹配度值最大,从该路由表项的接口ID所标识的接口转发该请求消息;
步骤516:从接口f1接收到该请求消息的边缘设备E1判断是否存在一个数据表项,该数据表项的名称等于该请求消息的名称,如果存在,则执行步骤517,否则执行步骤518;
步骤517:从接口f1接收到该请求消息的边缘设备E1选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个响应消息,该响应消息的消息ID为9,名称和数据分别等于该数据表项的名称和数据,执行步骤523;
步骤518:从接口f1接收到该请求消息的边缘设备E1判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f1,如果存在,则执行步骤523,否则执行步骤519;
步骤519:从接口f1接收到该请求消息的边缘设备E1创建一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f1,生命周期设置为最大值,如果至少存在两个名称等于该请求消息的名称的请求表项,则执行步骤523,否则执行步骤520;
步骤520:从接口f1接收到该请求消息的边缘设备E1判断自己前缀与该请求消息名称的前缀的最大匹配度是否大于任何一个路由表项的前缀与该请求消息名称的前缀的最大匹配度,如果是,则执行步骤521,否则执行步骤522;
步骤521:从接口f1接收到该请求消息的边缘设备E1执行步骤301-319创建该请求消息中名称定义的数据,发送一个响应消息,该响应消息的消息ID为9,该名称等于该请求消息的名称,数据等于创建的数据,执行步骤523;
步骤522:从接口f1接收到该请求消息的边缘设备E1选择一个路由表项,该路由表项的前缀与该请求消息的名称的前缀的最大匹配度值最大,从该路由表项的接口ID所标识的接口转发该请求消息,执行步骤516;
步骤523:接收到响应消息的设备判断自己是否为边缘设备,如果是,则执行步骤524,否则执行步骤525;
步骤524:接收到响应消息的边缘设备判断是否存在一个数据表项,该数据表项的名称等于响应消息的名称,如果存在,则将该数据表项的数据更新为该响应消息中的数据,将生命周期设置为最大值,否则创建一个数据表项,该数据表项的名称等于响应消息的名称,将该数据表项的数据设置为该响应消息中的数据,将生命周期设置为最大值,然后,该边缘设备选择所有名称等于该响应消息中的名称的请求表项,针对每一个选中的请求表项,从该请求表项的接口ID所标识的接口发送该响应消息,删除该请求表项,执行步骤523;
步骤525:接收到响应消息的设备判断自己是否为簇首节点,如果是,则执行步骤526,否则执行步骤528;
步骤526:接收到响应消息的簇首节点判断是否存在名称等于该响应消息中的名称的请求表项,如果存在,则执行步骤527,否则执行步骤529;
步骤527:接收到响应消息的簇首节点选择名称等于该响应消息中的名称的请求表项,转发该响应消息,删除该请求表项,执行步骤523;
步骤528:接收到响应消息的簇成员节点获取响应消息中的数据;
步骤529:结束。
2.根据权利要求1所述的一种基于边缘计算的智能医疗系统的实现方法,其特征在于,每个簇首节点保存一个转发表,一个转发表项包含前缀和生命周期;一个发布消息包含消息ID、目的坐标、最终坐标和前缀;簇首节点的通信半径为R0。
3.根据权利要求2所述的一种基于边缘计算的智能医疗系统的实现方法,其特征在于,在簇首节点H0的关联边缘设备为E0,簇首节点由前缀HP0唯一标识的条件下,如果簇首节点H0与边缘设备E0的距离大于通信半径R0,则簇首节点H0执行下述操作:
步骤201:开始;
步骤202:簇首节点H0选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,簇首节点H0发送一个发布消息,该发布消息的消息ID为2,目的坐标为该邻居表项的坐标,前缀等于HP0,最终坐标为边缘设备E0的坐标;
步骤203:接收到该发布消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤204,否则执行步骤210;
步骤204:接收到该发布消息的物联网设备判断自己的坐标是否等于该发布消息中的目的坐标,如果等于,则执行步骤205,否则执行步骤210;
步骤205:接收到该发布消息的物联网设备判断自己是否存在一个转发表项,该转发表项的前缀等于该发布消息中的前缀,如果等于,则执行步骤206,否则执行步骤207;
步骤206:接收到该发布消息的物联网设备选择一个转发表项,该转发表项的前缀等于该发布消息中的前缀,将该转发表项的生命周期设置为最大值,执行步骤208;
步骤207:接收到该发布消息的物联网设备创建一个转发表项,该转发表项的前缀等于该发布消息中的前缀,将该转发表项的生命周期设置为最大值;
步骤208:接收到该发布消息的物联网设备判断自己的坐标与该发布消息最终坐标之间的距离是否小于通信半径R0,如果小于,则执行步骤210,否则执行步骤209;
步骤209:接收到该发布消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该发布消息中最终坐标之间的距离最小,将该发布消息的目的坐标更新为该邻居表项的坐标,转发该发布消息,执行步骤203;
步骤210:结束;
簇首节点通过上述过程建立转发表。
4.根据权利要求1所述的一种基于边缘计算的智能医疗系统的实现方法,其特征在于,每个边缘设备保存一个数据表,一个数据表项包含名称、数据和生命周期。
5.根据权利要求4所述的一种基于边缘计算的智能医疗系统的实现方法,其特征在于,
数据DA0由名称NA0定义,名称NA0的前缀等于HP0;
数据收集请求消息包含消息ID和名称;
收集请求消息包含消息ID和名称;
收集响应消息包含消息ID,名称和数据;
上传消息包含消息ID,目的坐标、最终坐标、名称和数据。
6.根据权利要求5所述的一种基于边缘计算的智能医疗系统的实现方法,其特征在于,
如果簇首节点H0的关联边缘设备为E0且簇首节点H0的前缀等于HP0,则边缘设备E0执行下述过程创建数据DA0:
步骤301:开始;
步骤302:边缘设备E0发送一个数据收集请求消息,该数据收集请求消息的消息ID为3,名称为NA0;
步骤303:接收到数据收集请求消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤304,否则执行步骤319;
步骤304:接收到数据收集请求消息的物联网设备判断自己的前缀是否等于该数据收集请求消息中名称的前缀,如果等于,则执行步骤307,否则执行步骤305;
步骤305:接收到数据收集请求消息的物联网设备判断是否存在一个转发表项,该转发表项的前缀等于该数据收集请求消息中名称的前缀,如果存在,则执行步骤306,否则执行步骤319;
步骤306:接收到数据收集请求消息的物联网设备转发该数据收集请求消息,执行步骤303;
步骤307:接收到数据收集请求消息的物联网设备发送一个收集请求消息,该收集请求消息的消息ID为4,名称等于该数据收集请求消息中的名称;
步骤308:接收到收集请求消息的物联网设备发送一个收集响应消息,该收集响应消息的消息ID为5,名称等于该收集请求消息中的名称,数据等于该收集请求消息中的名称所定义的部分数据;
步骤309:接收到收集响应消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤310,否则执行步骤319;
步骤310:接收到收集响应消息的物联网设备判断自己的前缀是否等于该收集响应消息中名称的前缀,如果等于,则执行步骤311,否则执行步骤319;
步骤311:接收到收集响应消息的物联网设备将所有接收到的收集响应消息中的数据构建成数据DA0,选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,接收到收集响应消息的物联网设备发送一个上传消息,该上传消息的消息ID为6,名称等于接收到的收集响应消息中的名称,数据等于DA0,目的坐标为该邻居表项的坐标,最终坐标为边缘设备E0的坐标;
步骤312:如果边缘设备E0接收到该上传消息,则执行步骤316,否则执行步骤313;
步骤313:接收到该上传消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤314,否则执行步骤319;
步骤314:接收到该上传消息的物联网设备判断自己的坐标是否等于该上传消息中的目的坐标,如果等于,则执行步骤315,否则执行步骤319;
步骤315:接收到该上传消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该上传消息中最终坐标之间的距离最小,将该上传消息的目的坐标更新为该邻居表项的坐标,转发该上传消息,执行步骤312;
步骤316:接收到该上传消息的边缘设备E0判断是否存在一个数据表项,该数据表项的名称等于该上传消息中的名称,如果存在,则执行步骤317,否则执行步骤318;
步骤317:接收到该上传消息的边缘设备E0选择一个数据表项,该数据表项的名称等于该上传消息中的名称,将该数据表项的数据更新为该上传消息中的数据,将生命周期设置为最大值,执行步骤319;
步骤318:接收到该上传消息的边缘设备E0创建一个数据表项,该数据表项的名称等于该上传消息中的名称,将该数据表项的数据设置为该上传消息中的数据,将生命周期设置为最大值;
步骤319:结束;
边缘设备通过上述过程创建数据DA0并保存数据DA0。
说明书
技术领域
本发明涉及一种实现方法,尤其涉及的是一种基于边缘计算的智能医疗系统的实现方法。
背景技术
物联网具有结构紧凑、易于布置、易于维护、价格便宜、测量精度高等优点,非常适合环境监测。近年来,国内外研究人员对基于边缘计算的物联网智能医疗监测系统进行了相关研究,并取得了一定的研究成果。但是目前基于边缘计算的物联网智能医疗监测系统具有一点过的局限性,例如采用广播方式实现数据监测,因此代价较大。因此,如何降低基于边缘计算的物联网智能医疗监测系统延迟成为近年来研究的热点问题。
发明内容
发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供了一种基于边缘计算的智能医疗系统的实现方法。本发明通过单播取代广播的方式来获取医疗数据进而实现实时监测,从而降低医疗数据监测的延迟和代价,从而有效提高网络服务性能。
技术方案:本发明公开了一种基于边缘计算的智能医疗系统的实现方法,所述系统包括两种以上的设备,所述设备包括边缘设备和物联网设备,边缘设备为路由器或者接入节点,物联网设备包括簇首节点和簇成员节点,簇首节点执行转发功能,簇成员节点不执行转发功能,簇成员节点为佩戴在患者身上且能够采集患者的医疗数据的物联网设备,例如传感节点;
一种类型的数据由一个名称唯一标识,一个名称包含前缀和数据ID,其中数据ID代表一种数据的类型,例如血压,前缀唯一标识一个区域或者一个地点,例如苏州/常熟理工学院或者苏州/常熟理工学院/N6-402;一个边缘设备由一个前缀唯一标识,该前缀标识一个区域,一个簇首节点由一个前缀唯一标识,该前缀标识一个地点;如果标识一个边缘设备的前缀是标识一个簇首节点的前缀的子集,则该边缘设备称为该簇首节点的关联边缘设备;
一个物联网设备配置一个无线接口;一个边缘设备配置两个以上的接口,其中包含一个下游接口和多个上游接口,下游接口为与物联网设备进行通信的无线接口,上游接口为与其他边缘设备的上游接口连接的有线接口;边缘设备的每个接口由接口ID唯一标识;
一个消息由消息ID唯一标识;一个簇首节点保存一个邻居表,一个邻居表项包含坐标和生命周期;邻居消息包含消息ID和坐标;簇首节点H0定期执行下述操作:
步骤101:开始;
步骤102:簇首节点H0发送一个邻居消息,该邻居消息的消息ID为1,坐标为簇首节点H0自己当前的坐标;
步骤103:接收到该邻居消息的邻居簇首节点查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则执行步骤104,否则执行步骤105;
步骤104:接收到该邻居消息的邻居簇首节点选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的生命周期设置为最大值,执行步骤106;
步骤105:接收到该邻居消息的邻居簇首节点创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的生命周期设置为最大值;
步骤106:结束;
簇首节点通过上述过程建立邻居表。
簇首节点通过上述过程建立邻居表,这样,簇首节点可以实时获取邻居簇首节点的实时坐标,通过邻居簇首节点的实时坐标可以建立到达目的边缘设备的最短路由路径,从而降低数据通信延迟和代价
本发明所述方法中,每个簇首节点保存一个转发表,一个转发表项包含前缀和生命周期;一个发布消息包含消息ID、目的坐标、最终坐标和前缀;簇首节点的通信半径为R0;在簇首节点H0的关联边缘设备为E0,簇首节点由前缀HP0唯一标识的条件下,如果簇首节点H0与边缘设备E0的距离大于通信半径R0,则簇首节点H0执行下述操作:
步骤201:开始;
步骤202:簇首节点H0选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,簇首节点H0发送一个发布消息,该发布消息的消息ID为2,目的坐标为该邻居表项的坐标,前缀等于HP0,最终坐标为边缘设备E0的坐标;
步骤203:接收到该发布消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤204,否则执行步骤210;
步骤204:接收到该发布消息的物联网设备判断自己的坐标是否等于该发布消息中的目的坐标,如果等于,则执行步骤205,否则执行步骤210;
步骤205:接收到该发布消息的物联网设备判断自己是否存在一个转发表项,该转发表项的前缀等于该发布消息中的前缀,如果等于,则执行步骤206,否则执行步骤207;
步骤206:接收到该发布消息的物联网设备选择一个转发表项,该转发表项的前缀等于该发布消息中的前缀,将该转发表项的生命周期设置为最大值,生命周期最大值取值范围为500ms-1s,执行步骤208;
步骤207:接收到该发布消息的物联网设备创建一个转发表项,该转发表项的前缀等于该发布消息中的前缀,将该转发表项的生命周期设置为最大值;
步骤208:接收到该发布消息的物联网设备判断自己的坐标与该发布消息最终坐标之间的距离是否小于通信半径R0,如果小于,则执行步骤210,否则执行步骤209;
步骤209:接收到该发布消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该发布消息中最终坐标之间的距离最小,将该发布消息的目的坐标更新为该邻居表项的坐标,转发该发布消息,执行步骤203;
步骤210:结束;
簇首节点通过上述过程建立转发表。
簇首节点通过上述过程建立转发表,这样,簇首节点通过转发表可以建立达到其关联边缘设备的最优路由路径,由于上述过程采用单播形式执行转发表的建立,从而降低了建立转发表的延迟和代价,同时,每个节点没有节点ID标识,因此实现了转发表建立的安全性和匿名性。
本发明所述方法中,每个边缘设备保存一个数据表,一个数据表项包含名称、数据和生命周期;
数据DA0由名称NA0定义,名称NA0的前缀等于HP0;
数据收集请求消息包含消息ID和名称;
收集请求消息包含消息ID和名称;
收集响应消息包含消息ID,名称和数据;
上传消息包含消息ID,目的坐标、最终坐标、名称和数据;
如果簇首节点H0的关联边缘设备为E0且簇首节点H0的前缀等于HP0,则边缘设备E0执行下述过程创建数据DA0:
步骤301:开始;
步骤302:边缘设备E0发送一个数据收集请求消息,该数据收集请求消息的消息ID为3,名称为NA0;
步骤303:接收到数据收集请求消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤304,否则执行步骤319;
步骤304:接收到数据收集请求消息的物联网设备判断自己的前缀是否等于该数据收集请求消息中名称的前缀,如果等于,则执行步骤307,否则执行步骤305;
步骤305:接收到数据收集请求消息的物联网设备判断是否存在一个转发表项,该转发表项的前缀等于该数据收集请求消息中名称的前缀,如果存在,则执行步骤306,否则执行步骤319;
步骤306:接收到数据收集请求消息的物联网设备转发该数据收集请求消息,执行步骤303;
步骤307:接收到数据收集请求消息的物联网设备发送一个收集请求消息,该收集请求消息的消息ID为4,名称等于该数据收集请求消息中的名称;
步骤308:接收到收集请求消息的物联网设备发送一个收集响应消息,该收集响应消息的消息ID为5,名称等于该收集请求消息中的名称,数据等于该收集请求消息中的名称所定义的部分数据;
步骤309:接收到收集响应消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤310,否则执行步骤319;
步骤310:接收到收集响应消息的物联网设备判断自己的前缀是否等于该收集响应消息中名称的前缀,如果等于,则执行步骤311,否则执行步骤319;
步骤311:接收到收集响应消息的物联网设备将所有接收到的收集响应消息中的数据构建成数据DA0,选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,接收到收集响应消息的物联网设备发送一个上传消息,该上传消息的消息ID为6,名称等于接收到的收集响应消息中的名称,数据等于DA0,目的坐标为该邻居表项的坐标,最终坐标为边缘设备E0的坐标;
步骤312:如果边缘设备E0接收到该上传消息,则执行步骤316,否则执行步骤313;
步骤313:接收到该上传消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤314,否则执行步骤319;
步骤314:接收到该上传消息的物联网设备判断自己的坐标是否等于该上传消息中的目的坐标,如果等于,则执行步骤315,否则执行步骤319;
步骤315:接收到该上传消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该上传消息中最终坐标之间的距离最小,将该上传消息的目的坐标更新为该邻居表项的坐标,转发该上传消息,执行步骤312;
步骤316:接收到该上传消息的边缘设备E0判断是否存在一个数据表项,该数据表项的名称等于该上传消息中的名称,如果存在,则执行步骤317,否则执行步骤318;
步骤317:接收到该上传消息的边缘设备E0选择一个数据表项,该数据表项的名称等于该上传消息中的名称,将该数据表项的数据更新为该上传消息中的数据,将生命周期设置为最大值,执行步骤319;
步骤318:接收到该上传消息的边缘设备E0创建一个数据表项,该数据表项的名称等于该上传消息中的名称,将该数据表项的数据设置为该上传消息中的数据,将生命周期设置为最大值;
步骤319:结束;
边缘设备通过上述过程创建数据DA0并保存数据DA0。
边缘设备通过上述过程创建数据DA0并保存数据DA0,由于上述过程中,边缘设备与簇首节点通过转发表进行路由转发,因此降低了数据创建延迟和代价,同时簇首节点和簇成员节点合作收集数据,也提高了物联网设备之间合作产生数据的能力。
本发明所述方法中,每个边缘设备保存一个路由表,一个路由表项包含前缀,接口和生命周期;路由消息包含消息ID和前缀;边缘设备E0由前缀EP0唯一标识,通过下述过程建立路由表:
步骤401:开始
步骤402:边缘设备E0从每个上游接口发送一个路由消息,该路由消息的消息ID为7,前缀等于EP0;
步骤403:从接口f0接收到该路由消息的边缘设备查看路由表,如果存在一个路由表项,该路由表项的前缀等于EP0,且生命周期大于预设值TH0,预设值TH0一般设置为最大生命周期的90%-100%,则执行步骤408,否则执行步骤404;
步骤404:从接口f0接收到该路由消息的边缘设备查看路由表,如果存在一个路由表项,该路由表项的前缀等于EP0,如果存在,则执行步骤405,否则执行步骤406;
步骤405:从接口f0接收到该路由消息的边缘设备选择一个路由表项,该路由表项的前缀等于EP0,将该路由表项的接口设置为f0,将生命周期设置为最大值,执行步骤407;
步骤406:从接口f0接收到该路由消息的边缘设备创建一个路由表项,该路由表项的前缀等于EP0,将该路由表项的接口设置为f0,将生命周期设置为最大值;
步骤407:从接口f0接收到该路由消息的边缘设备从除了接口f0以外的每个上游接口转发该路由消息,执行步骤403;
步骤408:结束;
边缘设备通过上述过程建立路由表。
边缘设备通过上述过程建立路由表,这样物联网设备通过建立的路由表可以以最近距离到达目的边缘设备,从而快速获取医疗信息,实现及时的医疗救护,同时上述过程通过定时更新路由表从而确保了路由表的有效性和及时性,进而确保了数据通信的正确性和有效性。
本发明所述方法中,每个簇首节点或者边缘设备维护一个请求表,一个请求表项包含名称、接口ID和生命周期;
接口ID为f0的接口记为接口f0;
请求消息包含消息ID、名称、目的坐标和最终坐标;
响应消息包含消息ID、名称和数据;
在数据DA1由名称NA1定义,簇成员节点M0的簇首节点为H0,簇首节点的关联边缘设备为E0的条件下,簇成员节点M0通过下述过程获取数据DA1:
步骤501:开始;
步骤502:簇成员节点M0发送一个请求消息,该请求消息的消息ID为8,名称等于NA1,目的坐标等于0,最终坐标等于0;
步骤503:簇首节点H0接收到该请求消息后,选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,将该请求消息的目的坐标设置为该邻居表项的坐标,将最终坐标设置为边缘设备E0的坐标,发送该请求消息;
步骤504:如果边缘设备E0从接口f0接收到该请求消息,则执行步骤509,否则执行步骤505;
步骤505:接收到请求消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤506,否则执行步骤529;
步骤506:接收到请求消息的物联网设备判断自己的坐标是否等于该请求消息中的目的坐标,如果等于,则执行步骤507,否则执行步骤529;
步骤507:接收到请求消息的物联网设备判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称,如果存在,则执行步骤523,否则执行步骤508;
步骤508:接收到请求消息的物联网设备创建一个请求表项,该请求表项的名称等于该请求消息的名称,接口ID为0,生命周期设置为最大值,接收到请求消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该请求消息中最终坐标之间的距离最小,将该请求消息中的目的坐标更新为该邻居表项中的坐标,发送该请求消息,执行步骤504;
步骤509:从接口f0接收到该请求消息的边缘设备E0判断是否存在一个数据表项,该数据表项的名称等于该请求消息的名称,如果存在,则执行步骤510,否则执行步骤511;
步骤510:从接口f0接收到该请求消息的边缘设备E0选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个响应消息,该响应消息的消息ID为9,名称和数据分别等于该数据表项的名称和数据,执行步骤523;
步骤511:从接口f0接收到该请求消息的边缘设备E0判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f0,如果存在,则执行步骤523,否则执行步骤512;
步骤512:从接口f0接收到该请求消息的边缘设备E0创建一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f0,生命周期设置为最大值,如果至少存在两个名称等于该请求消息的名称的请求表项,则执行步骤523,否则执行步骤513;
步骤513:从接口f0接收到该请求消息的边缘设备E0判断自己前缀与该请求消息名称的前缀的最大匹配度是否大于任何一个路由表项的前缀与该请求消息名称的前缀的最大匹配度,如果是,则执行步骤514,否则执行步骤515;如果一个路由表项的前缀的第1个字母与该请求消息的名称的前缀的第1字母不同,则该路由表项的最大匹配度为0,如果一个路由表项的前缀从1个字母到第n个字母与该请求消息的名称的前缀的第1字母到第n个字母完全相同,则该路由表项的最大匹配度为n,n为大于等于1的整数;
步骤514:从接口f0接收到该请求消息的边缘设备E0执行步骤301-319创建该请求消息中名称定义的数据,发送一个响应消息,该响应消息的消息ID为9,该名称等于该请求消息的名称,数据等于创建的数据,执行步骤523;
步骤515:从接口f0接收到该请求消息的边缘设备E0选择一个路由表项,该路由表项的前缀与该请求消息的名称的前缀的最大匹配度值最大,从该路由表项的接口ID所标识的接口转发该请求消息;
步骤516:从接口f1接收到该请求消息的边缘设备E1判断是否存在一个数据表项,该数据表项的名称等于该请求消息的名称,如果存在,则执行步骤517,否则执行步骤518;
步骤517:从接口f1接收到该请求消息的边缘设备E1选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个响应消息,该响应消息的消息ID为9,名称和数据分别等于该数据表项的名称和数据,执行步骤523;
步骤518:从接口f1接收到该请求消息的边缘设备E1判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f1,如果存在,则执行步骤523,否则执行步骤519;
步骤519:从接口f1接收到该请求消息的边缘设备E1创建一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f1,生命周期设置为最大值,如果至少存在两个名称等于该请求消息的名称的请求表项,则执行步骤523,否则执行步骤520;
步骤520:从接口f1接收到该请求消息的边缘设备E1判断自己前缀与该请求消息名称的前缀的最大匹配度是否大于任何一个路由表项的前缀与该请求消息名称的前缀的最大匹配度,如果是,则执行步骤521,否则执行步骤522;
步骤521:从接口f1接收到该请求消息的边缘设备E1执行步骤301-319创建该请求消息中名称定义的数据,发送一个响应消息,该响应消息的消息ID为9,该名称等于该请求消息的名称,数据等于创建的数据,执行步骤523;
步骤522:从接口f1接收到该请求消息的边缘设备E1选择一个路由表项,该路由表项的前缀与该请求消息的名称的前缀的最大匹配度值最大,从该路由表项的接口ID所标识的接口转发该请求消息,执行步骤516;
步骤523:接收到响应消息的设备判断自己是否为边缘设备,如果是,则执行步骤524,否则执行步骤525;
步骤524:接收到响应消息的边缘设备判断是否存在一个数据表项,该数据表项的名称等于响应消息的名称,如果存在,则将该数据表项的数据更新为该响应消息中的数据,将生命周期设置为最大值,否则创建一个数据表项,该数据表项的名称等于响应消息的名称,将该数据表项的数据设置为该响应消息中的数据,将生命周期设置为最大值,然后,该边缘设备选择所有名称等于该响应消息中的名称的请求表项,针对每一个选中的请求表项,从该请求表项的接口ID所标识的接口发送该响应消息,删除该请求表项,执行步骤523;
步骤525:接收到响应消息的设备判断自己是否为簇首节点,如果是,则执行步骤526,否则执行步骤528;
步骤526:接收到响应消息的簇首节点判断是否存在名称等于该响应消息中的名称的请求表项,如果存在,则执行步骤527,否则执行步骤529;
步骤527:接收到响应消息的簇首节点选择名称等于该响应消息中的名称的请求表项,转发该响应消息,删除该请求表项,执行步骤523;
步骤528:接收到响应消息的簇成员节点获取响应消息中的数据;
步骤529:结束。
簇成员节点通过上述过程获取数据,由于上述过程通过路由表从距离最近的边缘设备获取数据,从而降低了数据通信延迟和代价,同时上述过程无需边缘设备、簇首节点和簇成员节点配置节点ID,在数据通信过程中也没有泄露边缘设备、簇首节点和簇成员节点的信息,因此实现了匿名通信从而簇成员节点能够快速获取医疗监测,实现医疗救护,同时也保证了患者的私人信息。
有益效果:本发明提供了一种基于边缘计算的智能医疗系统的实现方法。本发明通过单播取代广播的方式来获取医疗数据进而实现实时监测,从而降低医疗数据监测的延迟和代价,从而有效提高网络服务性能。本发明可应用于患者监测等领域,具有广泛的应用前景。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1为本发明所述的建立邻居表流程示意图。
图2为本发明所述的建立转发表流程示意图。
图3为本发明所述的上传数据流程示意图。
图4为本发明所述的建立路由表流程示意图。
图5为本发明所述的数据通信流程示意图。
具体实施方式:
本发明提供了一种基于边缘计算的智能医疗系统的实现方法。本发明通过单播取代广播的方式来获取医疗数据进而实现实时监测,从而降低医疗数据监测的延迟和代价,从而有效提高网络服务性能。本发明可应用于患者监测等领域,具有广泛的应用前景。
图1为本发明所述的建立邻居表流程示意图。所述系统包括两种以上的设备,所述设备包括边缘设备和物联网设备,边缘设备为路由器或者接入节点,物联网设备包括簇首节点和簇成员节点,簇首节点执行转发功能,簇成员节点不执行转发功能,簇成员节点为佩戴在患者身上且能够采集患者的医疗数据的物联网设备,例如传感节点;
一种类型的数据由一个名称唯一标识,一个名称包含前缀和数据ID,其中数据ID代表一种数据的类型,例如血压,前缀唯一标识一个区域或者一个地点,例如苏州/常熟理工学院或者苏州/常熟理工学院/N6-402;一个边缘设备由一个前缀唯一标识,该前缀标识一个区域,一个簇首节点由一个前缀唯一标识,该前缀标识一个地点;如果标识一个边缘设备的前缀是标识一个簇首节点的前缀的子集,则该边缘设备称为该簇首节点的关联边缘设备;
一个物联网设备配置一个无线接口;一个边缘设备配置两个以上的接口,其中包含一个下游接口和多个上游接口,下游接口为与物联网设备进行通信的无线接口,上游接口为与其他边缘设备的上游接口连接的有线接口;边缘设备的每个接口由接口ID唯一标识;
一个消息由消息ID唯一标识;一个簇首节点保存一个邻居表,一个邻居表项包含坐标和生命周期;邻居消息包含消息ID和坐标;簇首节点H0定期执行下述操作:
步骤101:开始;
步骤102:簇首节点H0发送一个邻居消息,该邻居消息的消息ID为1,坐标为簇首节点H0自己当前的坐标;
步骤103:接收到该邻居消息的邻居簇首节点查看邻居表,如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则执行步骤104,否则执行步骤105;
步骤104:接收到该邻居消息的邻居簇首节点选择一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的生命周期设置为最大值,执行步骤106;
步骤105:接收到该邻居消息的邻居簇首节点创建一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,将该邻居表项的生命周期设置为最大值;
步骤106:结束;
簇首节点通过上述过程建立邻居表。
簇首节点通过上述过程建立邻居表,这样,簇首节点可以实时获取邻居簇首节点的实时坐标,通过邻居簇首节点的实时坐标可以建立到达目的边缘设备的最短路由路径,从而降低数据通信延迟和代价。
图2为本发明所述的建立转发表流程示意图。每个簇首节点保存一个转发表,一个转发表项包含前缀和生命周期;一个发布消息包含消息ID、目的坐标、最终坐标和前缀;簇首节点的通信半径为R0;在簇首节点H0的关联边缘设备为E0,簇首节点由前缀HP0唯一标识的条件下,如果簇首节点H0与边缘设备E0的距离大于通信半径R0,则簇首节点H0执行下述操作:
步骤201:开始;
步骤202:簇首节点H0选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,簇首节点H0发送一个发布消息,该发布消息的消息ID为2,目的坐标为该邻居表项的坐标,前缀等于HP0,最终坐标为边缘设备E0的坐标;
步骤203:接收到该发布消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤204,否则执行步骤210;
步骤204:接收到该发布消息的物联网设备判断自己的坐标是否等于该发布消息中的目的坐标,如果等于,则执行步骤205,否则执行步骤210;
步骤205:接收到该发布消息的物联网设备判断自己是否存在一个转发表项,该转发表项的前缀等于该发布消息中的前缀,如果等于,则执行步骤206,否则执行步骤207;
步骤206:接收到该发布消息的物联网设备选择一个转发表项,该转发表项的前缀等于该发布消息中的前缀,将该转发表项的生命周期设置为最大值,生命周期最大值取值范围为500ms-1s,执行步骤208;
步骤207:接收到该发布消息的物联网设备创建一个转发表项,该转发表项的前缀等于该发布消息中的前缀,将该转发表项的生命周期设置为最大值;
步骤208:接收到该发布消息的物联网设备判断自己的坐标与该发布消息最终坐标之间的距离是否小于通信半径R0,如果小于,则执行步骤210,否则执行步骤209;
步骤209:接收到该发布消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该发布消息中最终坐标之间的距离最小,将该发布消息的目的坐标更新为该邻居表项的坐标,转发该发布消息,执行步骤203;
步骤210:结束;
簇首节点通过上述过程建立转发表。
簇首节点通过上述过程建立转发表,这样,簇首节点通过转发表可以建立达到其关联边缘设备的最优路由路径,由于上述过程采用单播形式执行转发表的建立,从而降低了建立转发表的延迟和代价,同时,每个节点没有节点ID标识,因此实现了转发表建立的安全性和匿名性。
图3为本发明所述的上传数据流程示意图。每个边缘设备保存一个数据表,一个数据表项包含名称、数据和生命周期;
数据DA0由名称NA0定义,名称NA0的前缀等于HP0;
数据收集请求消息包含消息ID和名称;
收集请求消息包含消息ID和名称;
收集响应消息包含消息ID,名称和数据;
上传消息包含消息ID,目的坐标、最终坐标、名称和数据;
如果簇首节点H0的关联边缘设备为E0且簇首节点H0的前缀等于HP0,则边缘设备E0执行下述过程创建数据DA0:
步骤301:开始;
步骤302:边缘设备E0发送一个数据收集请求消息,该数据收集请求消息的消息ID为3,名称为NA0;
步骤303:接收到数据收集请求消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤304,否则执行步骤319;
步骤304:接收到数据收集请求消息的物联网设备判断自己的前缀是否等于该数据收集请求消息中名称的前缀,如果等于,则执行步骤307,否则执行步骤305;
步骤305:接收到数据收集请求消息的物联网设备判断是否存在一个转发表项,该转发表项的前缀等于该数据收集请求消息中名称的前缀,如果存在,则执行步骤306,否则执行步骤319;
步骤306:接收到数据收集请求消息的物联网设备转发该数据收集请求消息,执行步骤303;
步骤307:接收到数据收集请求消息的物联网设备发送一个收集请求消息,该收集请求消息的消息ID为4,名称等于该数据收集请求消息中的名称;
步骤308:接收到收集请求消息的物联网设备发送一个收集响应消息,该收集响应消息的消息ID为5,名称等于该收集请求消息中的名称,数据等于该收集请求消息中的名称所定义的部分数据;
步骤309:接收到收集响应消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤310,否则执行步骤319;
步骤310:接收到收集响应消息的物联网设备判断自己的前缀是否等于该收集响应消息中名称的前缀,如果等于,则执行步骤311,否则执行步骤319;
步骤311:接收到收集响应消息的物联网设备将所有接收到的收集响应消息中的数据构建成数据DA0,选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,接收到收集响应消息的物联网设备发送一个上传消息,该上传消息的消息ID为6,名称等于接收到的收集响应消息中的名称,数据等于DA0,目的坐标为该邻居表项的坐标,最终坐标为边缘设备E0的坐标;
步骤312:如果边缘设备E0接收到该上传消息,则执行步骤316,否则执行步骤313;
步骤313:接收到该上传消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤314,否则执行步骤319;
步骤314:接收到该上传消息的物联网设备判断自己的坐标是否等于该上传消息中的目的坐标,如果等于,则执行步骤315,否则执行步骤319;
步骤315:接收到该上传消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该上传消息中最终坐标之间的距离最小,将该上传消息的目的坐标更新为该邻居表项的坐标,转发该上传消息,执行步骤312;
步骤316:接收到该上传消息的边缘设备E0判断是否存在一个数据表项,该数据表项的名称等于该上传消息中的名称,如果存在,则执行步骤317,否则执行步骤318;
步骤317:接收到该上传消息的边缘设备E0选择一个数据表项,该数据表项的名称等于该上传消息中的名称,将该数据表项的数据更新为该上传消息中的数据,将生命周期设置为最大值,执行步骤319;
步骤318:接收到该上传消息的边缘设备E0创建一个数据表项,该数据表项的名称等于该上传消息中的名称,将该数据表项的数据设置为该上传消息中的数据,将生命周期设置为最大值;
步骤319:结束;
边缘设备通过上述过程创建数据DA0并保存数据DA0。
边缘设备通过上述过程创建数据DA0并保存数据DA0,由于上述过程中,边缘设备与簇首节点通过转发表进行路由转发,因此降低了数据创建延迟和代价,同时簇首节点和簇成员节点合作收集数据,也提高了物联网设备之间合作产生数据的能力。
图4为本发明所述的建立路由表流程示意图。每个边缘设备保存一个路由表,一个路由表项包含前缀,接口和生命周期;路由消息包含消息ID和前缀;边缘设备E0由前缀EP0唯一标识,通过下述过程建立路由表:
步骤401:开始
步骤402:边缘设备E0从每个上游接口发送一个路由消息,该路由消息的消息ID为7,前缀等于EP0;
步骤403:从接口f0接收到该路由消息的边缘设备查看路由表,如果存在一个路由表项,该路由表项的前缀等于EP0,且生命周期大于预设值TH0,预设值TH0一般设置为最大生命周期的90%-100%,则执行步骤408,否则执行步骤404;
步骤404:从接口f0接收到该路由消息的边缘设备查看路由表,如果存在一个路由表项,该路由表项的前缀等于EP0,如果存在,则执行步骤405,否则执行步骤406;
步骤405:从接口f0接收到该路由消息的边缘设备选择一个路由表项,该路由表项的前缀等于EP0,将该路由表项的接口设置为f0,将生命周期设置为最大值,执行步骤407;
步骤406:从接口f0接收到该路由消息的边缘设备创建一个路由表项,该路由表项的前缀等于EP0,将该路由表项的接口设置为f0,将生命周期设置为最大值;
步骤407:从接口f0接收到该路由消息的边缘设备从除了接口f0以外的每个上游接口转发该路由消息,执行步骤403;
步骤408:结束;
边缘设备通过上述过程建立路由表。
边缘设备通过上述过程建立路由表,这样物联网设备通过建立的路由表可以以最近距离到达目的边缘设备,从而快速获取医疗信息,实现及时的医疗救护,同时上述过程通过定时更新路由表从而确保了路由表的有效性和及时性,进而确保了数据通信的正确性和有效性。
图5为本发明所述的数据通信流程示意图。每个簇首节点或者边缘设备维护一个请求表,一个请求表项包含名称、接口ID和生命周期;
接口ID为f0的接口记为接口f0;
请求消息包含消息ID、名称、目的坐标和最终坐标;
响应消息包含消息ID、名称和数据;
在数据DA1由名称NA1定义,簇成员节点M0的簇首节点为H0,簇首节点的关联边缘设备为E0的条件下,簇成员节点M0通过下述过程获取数据DA1:
步骤501:开始;
步骤502:簇成员节点M0发送一个请求消息,该请求消息的消息ID为8,名称等于NA1,目的坐标等于0,最终坐标等于0;
步骤503:簇首节点H0接收到该请求消息后,选择一个邻居表项,该邻居表项的坐标与边缘设备E0的坐标之间的距离最小,将该请求消息的目的坐标设置为该邻居表项的坐标,将最终坐标设置为边缘设备E0的坐标,发送该请求消息;
步骤504:如果边缘设备E0从接口f0接收到该请求消息,则执行步骤509,否则执行步骤505;
步骤505:接收到请求消息的物联网设备判断自己是否为簇首节点,如果是,则执行步骤506,否则执行步骤529;
步骤506:接收到请求消息的物联网设备判断自己的坐标是否等于该请求消息中的目的坐标,如果等于,则执行步骤507,否则执行步骤529;
步骤507:接收到请求消息的物联网设备判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称,如果存在,则执行步骤523,否则执行步骤508;
步骤508:接收到请求消息的物联网设备创建一个请求表项,该请求表项的名称等于该请求消息的名称,接口ID为0,生命周期设置为最大值,接收到请求消息的物联网设备选择一个邻居表项,该邻居表项的坐标与该请求消息中最终坐标之间的距离最小,将该请求消息中的目的坐标更新为该邻居表项中的坐标,发送该请求消息,执行步骤504;
步骤509:从接口f0接收到该请求消息的边缘设备E0判断是否存在一个数据表项,该数据表项的名称等于该请求消息的名称,如果存在,则执行步骤510,否则执行步骤511;
步骤510:从接口f0接收到该请求消息的边缘设备E0选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个响应消息,该响应消息的消息ID为9,名称和数据分别等于该数据表项的名称和数据,执行步骤523;
步骤511:从接口f0接收到该请求消息的边缘设备E0判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f0,如果存在,则执行步骤523,否则执行步骤512;
步骤512:从接口f0接收到该请求消息的边缘设备E0创建一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f0,生命周期设置为最大值,如果至少存在两个名称等于该请求消息的名称的请求表项,则执行步骤523,否则执行步骤513;
步骤513:从接口f0接收到该请求消息的边缘设备E0判断自己前缀与该请求消息名称的前缀的最大匹配度是否大于任何一个路由表项的前缀与该请求消息名称的前缀的最大匹配度,如果是,则执行步骤514,否则执行步骤515;如果一个路由表项的前缀的第1个字母与该请求消息的名称的前缀的第1字母不同,则该路由表项的最大匹配度为0,如果一个路由表项的前缀从1个字母到第n个字母与该请求消息的名称的前缀的第1字母到第n个字母完全相同,则该路由表项的最大匹配度为n,n为大于等于1的整数;
步骤514:从接口f0接收到该请求消息的边缘设备E0执行步骤301-319创建该请求消息中名称定义的数据,发送一个响应消息,该响应消息的消息ID为9,该名称等于该请求消息的名称,数据等于创建的数据,执行步骤523;
步骤515:从接口f0接收到该请求消息的边缘设备E0选择一个路由表项,该路由表项的前缀与该请求消息的名称的前缀的最大匹配度值最大,从该路由表项的接口ID所标识的接口转发该请求消息;
步骤516:从接口f1接收到该请求消息的边缘设备E1判断是否存在一个数据表项,该数据表项的名称等于该请求消息的名称,如果存在,则执行步骤517,否则执行步骤518;
步骤517:从接口f1接收到该请求消息的边缘设备E1选择一个数据表项,该数据表项的名称等于该请求消息的名称,发送一个响应消息,该响应消息的消息ID为9,名称和数据分别等于该数据表项的名称和数据,执行步骤523;
步骤518:从接口f1接收到该请求消息的边缘设备E1判断是否存在一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f1,如果存在,则执行步骤523,否则执行步骤519;
步骤519:从接口f1接收到该请求消息的边缘设备E1创建一个请求表项,该请求表项的名称等于该请求消息的名称且接口ID等于f1,生命周期设置为最大值,如果至少存在两个名称等于该请求消息的名称的请求表项,则执行步骤523,否则执行步骤520;
步骤520:从接口f1接收到该请求消息的边缘设备E1判断自己前缀与该请求消息名称的前缀的最大匹配度是否大于任何一个路由表项的前缀与该请求消息名称的前缀的最大匹配度,如果是,则执行步骤521,否则执行步骤522;
步骤521:从接口f1接收到该请求消息的边缘设备E1执行步骤301-319创建该请求消息中名称定义的数据,发送一个响应消息,该响应消息的消息ID为9,该名称等于该请求消息的名称,数据等于创建的数据,执行步骤523;
步骤522:从接口f1接收到该请求消息的边缘设备E1选择一个路由表项,该路由表项的前缀与该请求消息的名称的前缀的最大匹配度值最大,从该路由表项的接口ID所标识的接口转发该请求消息,执行步骤516;
步骤523:接收到响应消息的设备判断自己是否为边缘设备,如果是,则执行步骤524,否则执行步骤525;
步骤524:接收到响应消息的边缘设备判断是否存在一个数据表项,该数据表项的名称等于响应消息的名称,如果存在,则将该数据表项的数据更新为该响应消息中的数据,将生命周期设置为最大值,否则创建一个数据表项,该数据表项的名称等于响应消息的名称,将该数据表项的数据设置为该响应消息中的数据,将生命周期设置为最大值,然后,该边缘设备选择所有名称等于该响应消息中的名称的请求表项,针对每一个选中的请求表项,从该请求表项的接口ID所标识的接口发送该响应消息,删除该请求表项,执行步骤523;
步骤525:接收到响应消息的设备判断自己是否为簇首节点,如果是,则执行步骤526,否则执行步骤528;
步骤526:接收到响应消息的簇首节点判断是否存在名称等于该响应消息中的名称的请求表项,如果存在,则执行步骤527,否则执行步骤529;
步骤527:接收到响应消息的簇首节点选择名称等于该响应消息中的名称的请求表项,转发该响应消息,删除该请求表项,执行步骤523;
步骤528:接收到响应消息的簇成员节点获取响应消息中的数据;
步骤529:结束。
簇成员节点通过上述过程获取数据,由于上述过程通过路由表从距离最近的边缘设备获取数据,从而降低了数据通信延迟和代价,同时上述过程无需边缘设备、簇首节点和簇成员节点配置节点ID,在数据通信过程中也没有泄露边缘设备、簇首节点和簇成员节点的信息,因此实现了匿名通信从而簇成员节点能够快速获取医疗监测,实现医疗救护,同时也保证了患者的私人信息。
实施例1
基于表1的仿真参数,本实施例模拟了本发明中的一种基于边缘计算的智能医疗系统的实现方法。簇首节点H0启动后,定期执行步骤101-106发送邻居消息,接收到该邻居消息的邻居簇首节点如果存在一个邻居表项,该邻居表项的坐标等于该邻居消息的坐标,则根据该邻居消息更新该邻居表项,否则根据邻居消息创建邻居表项。例如,坐标为(121,136),生命周期为500ms。簇首节点通过上述过程建立邻居表,这样,簇首节点可以实时获取邻居簇首节点的实时坐标,通过邻居簇首节点的实时坐标可以建立到达目的边缘设备的最短路由路径,从而降低数据通信延迟和代价。然后,簇首节点H0执行步骤201-210发送发布消息在其他簇首节点建立自己的转发表项。如果接收到该发布消息的物联网存在一个转发表项,该转发表项的前缀等于该发布消息中的前缀,则根据该发布消息更新该转发表项,否则根据发布消息创建转发表项。例如,前缀等于苏州/常熟理工学院/N6-402,生命周期等于500ms。簇首节点通过上述过程建立转发表,这样,簇首节点通过转发表可以建立达到其关联边缘设备的最优路由路径,由于上述过程采用单播形式执行转发表的建立,从而降低了建立转发表的延迟和代价,同时,每个节点没有节点ID标识,因此实现了转发表建立的安全性和匿名性。边缘设备E0执行步骤301-319发送数据收集请求消息请求数据DA0,目标簇首节点向边缘设备E0发送包含数据DA0的上传消息,边缘设备E0接收到数据DA0后,如果边缘设备E0存在一个数据表项,该数据表项的名称等于该上传消息中的名称,则根据该上传消息更新该数据表项,否则根据上传消息创建数据表项。例如,名称为temperature、数据为38摄氏度,生命周期为500ms。边缘设备通过上述过程创建数据DA0并保存数据DA0,由于上述过程中,边缘设备与簇首节点通过转发表进行路由转发,因此降低了数据创建延迟和代价,同时簇首节点和簇成员节点合作收集数据,也提高了物联网设备之间合作产生数据的能力。边缘设备E0定期执行步骤401-408发送路由消息,接收到该路由消息的边缘设备如果存在一个路由表项,该路由表项的前缀等于该路由消息中的前缀,则根据该路由消息更新该路由表项,否则根据路由消息创建路由表项。例如,该路由表项的前缀为苏州/常熟理工学院/N6-402,接口为3,生命周期为500ms。边缘设备通过上述过程建立路由表,这样物联网设备通过建立的路由表可以以最近距离到达目的边缘设备,从而快速获取医疗信息,实现及时的医疗救护,同时上述过程通过定时更新路由表从而确保了路由表的有效性和及时性,进而确保了数据通信的正确性和有效性。簇成员节点M0执行步骤501-529发送请求消息和接收响应消息获取数据DA1。簇成员节点M0通过步骤501-529获取数据,由于上述过程通过路由表从距离最近的边缘设备获取数据,从而降低了数据通信延迟和代价,同时上述过程无需边缘设备、簇首节点和簇成员节点配置节点ID,在数据通信过程中也没有泄露边缘设备、簇首节点和簇成员节点的信息,因此实现了匿名通信从而簇成员节点能够快速获取医疗监测,实现医疗救护,同时也保证了患者的私人信息。当簇成员节点与能够提供数据的边缘设备距离较远时,数据通信延迟随之增加,当簇成员节点与能够提供数据的边缘设备距离较近时,数据通信延迟随之减少,簇成员节点获取数据的平均延迟为83ms。
表1仿真参数
本发明提供了一种基于边缘计算的智能医疗系统的实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。
一种基于边缘计算的智能医疗系统的实现方法专利购买费用说明
Q:办理专利转让的流程及所需资料
A:专利权人变更需要办理著录项目变更手续,有代理机构的,变更手续应当由代理机构办理。
1:专利变更应当使用专利局统一制作的“著录项目变更申报书”提出。
2:按规定缴纳著录项目变更手续费。
3:同时提交相关证明文件原件。
4:专利权转移的,变更后的专利权人委托新专利代理机构的,应当提交变更后的全体专利申请人签字或者盖章的委托书。
Q:专利著录项目变更费用如何缴交
A:(1)直接到国家知识产权局受理大厅收费窗口缴纳,(2)通过代办处缴纳,(3)通过邮局或者银行汇款,更多缴纳方式
Q:专利转让变更,多久能出结果
A:著录项目变更请求书递交后,一般1-2个月左右就会收到通知,国家知识产权局会下达《转让手续合格通知书》。
动态评分
0.0