一种基于边缘计算的物联网系统实现方法



1.本发明涉及一种实现方法,尤其涉及的是一种基于边缘计算的物联网系统实现方法。


背景技术:



2.近年来,很多研究工作致力于物联网,以便通过物联网能够快速获取各种监测网络服务。随着物联网的发展,物联网会成为未来提供监测服务的一种模式。
3.目前,物联网的实现模式是通过广播来实现,因此延迟和代价都比较大,降低了环境监测服务性能。因此,如何降低物联网提供监测数据的延迟和代价成为近年来研究的热点问题。


技术实现要素:



4.发明目的:本发明所要解决的技术问题是针对现有技术的不足,提供了一种基于边缘计算的物联网系统实现方法。
5.技术方案:本发明公开了一种基于边缘计算的物联网系统实现方法,所述物联网包括接入节点和末端节点;
6.每个接入节点由唯一的前缀标识,配置一个上游接口和一个下游接口,均为无线接口,上游接口与其他接入节点链接,下游接口与末端节点链接;
7.每个末端节点配置一个接口,该接口为无线接口,与一个接入节点的下游接口链接;
8.物联网系统中传输的一种类型的数据由一个名称唯一标识;每个接入节点保存一个服务表,一个服务表项包含名称和生命周期,服务表的初始值为空表;
9.每个末端节点保存一个数据表,一个数据表项包含名称、数据和生命周期;
10.末端节点分为服务节点和用户节点;服务节点能够创建一种以上类型的数据;用户节点能够获取对应类型的数据;
11.接入节点为固定节点,末端节点为移动节点;
12.物联网系统中传输的每个数据包由数据包序列号唯一标识;数据包包括注册数据包、发布数据包、更新数据包、用户数据包、服务数据包、名称数据包以及响应数据包;其中注册数据包包含数据包序列号和名称集合;
13.服务节点pv1能够创建一种以上类型的数据,设置所述数据的名称构成名称集合pns1,服务节点pv1与接入节点ap1链接,定期执行下述操作:
14.s101:开始;
15.s102:服务节点pv1发送一个注册数据包,注册数据包的数据包序列号为1,名称集合为pns1;
16.s103:接入节点ap1接收到注册数据包后,设置一个名称集合变量nsv1,变量 nsv1的值等于注册数据包中的名称集合;
17.s104:接入节点ap1判断是否存在一个服务表项,该服务表项的名称等于变量 nsv1的第一元素,如果存在,则执行s105,否则执行s106;
18.s105:接入节点ap1选择一个服务表项,该服务表项的名称等于变量nsv1的第一元素,将该表项的生命周期设置为最大值,执行s107;
19.s106:接入节点ap1创建一个服务表项,该服务表项的名称等于变量nsv1的第一元素,将该表项的生命周期设置为最大值;
20.s107:接入节点ap1从变量nsv1中删除第一个元素,判断变量nsv1是否为空集,如果是,则执行s108,否则执行s104;
21.s108:结束。
22.服务节点通过上述过程发送注册数据包从而在链接的接入节点上创建服务表, 这样接入节点通过服务表可以获取与自己链接的服务节点能够提供哪些数据,从而实现快速高效的数据通信,确保数据通信的有效性和实时性,进一步提高数据通信成功率和实时性。
23.本发明所述方法中,每个接入节点保存一个接入表,一个接入表项包含前缀、距离、下一跳、名称集合和生命周期;接入表的初始值为空表;
24.发布数据包包含数据包序列号、前缀、距离、名称集合和下一跳;
25.接入节点ap1的前缀为pr1,定期执行下述操作:
26.s201:开始;
27.s202:接入节点ap1从上游接口发送一个发布数据包,发布数据包的数据包序列号为2,前缀为pr1,距离为1,名称集合包含每个服务表项的名称,下一跳为 pr1;
28.s203:接收到发布数据包的接入节点判断是否存在一个接入表项,接入表项的前缀等于该发布数据包中的前缀且生命周期大于阈值ts0,阈值ts0的取值范围为最大生命周期的95%-99%,如果存在,则执行s208,否则执行s204;
29.s204:接收到发布数据包的接入节点判断是否存在一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,如果存在,则执行s205,否则执行s206;
30.s205:接收到发布数据包的接入节点选择一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,将该表项距离、下一跳和名称集合分别设置为该发布数据包中的距离、下一跳和名称集合,将生命周期设置为最大值,执行s207;
31.s206:接收到发布数据包的接入节点创建一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,将该表项的距离、下一跳和名称集合分别设置为该发布数据包中的距离、下一跳和名称集合,将生命周期设置为最大值;
32.s207:接收到发布数据包的接入节点将该发布数据包的距离递增1,将下一跳设置为自己的前缀,从上游接口转发该发布数据包,执行s203;
33.s208:结束。
34.接入节点通过上述过程发送发布数据包在其他接入节点上创建自己的接入表项,从而建立到达其他接入节点的最优路由路径,同时,接入节点通过接入表可以获取与每个接入节点链接的服务节点所能提供的服务,从而实现快速高效地数据通信,提高数据通信成功率和实时性。
35.本发明所述方法中,每个接入节点保存一个用户表,一个用户表项包含前缀、名称
和生命周期;用户表的初始值为空表;
36.每个用户节点的运动轨迹由前缀集合标识,即用户节点首先经过该前缀集合第一个元素所标识的接入节点,然后再依次经过该前缀集合第二个元素所标识的接入节点,以此类推;
37.用户数据包包含数据包序列号、前缀集合和名称集合;
38.更新数据包包含数据包序列号、源前缀集合、名称、目的前缀集合和下一跳;
39.用户节点un1当前运动轨迹由前缀集合ps1标识,与接入节点ap1链接,能够获取一种以上类型的数据,设置所述数据的名称构建成名称集合ns1,用户节点 un1定期执行下述操作:
40.s301:开始;
41.s302:用户节点un1发送一个用户数据包,用户数据包的数据包序列号为3,前缀集合为ps1,名称集合为ns1;
42.s303:接入节点ap1接收到该用户数据包后,针对用户数据包中的名称集合中的每个元素na0执行下述操作;接入节点ap1从上游接口发送一个更新数据包,更新数据包的数据包序列号为4,源前缀集合等于该用户数据包中的前缀集合,名称为na0,目的前缀集合由符合条件1的接入表项的前缀构成,下一跳等于一个接入表项的下一跳,该接入表项的前缀等于目的前缀集合的第一个元素;
43.条件1:该接入表项的名称集合包含名称na0;
44.s304:接收到该更新数据包的接入节点判断自己的前缀是否等于该更新数据包中的下一跳,如果等于,则执行s305,否则执行s309;
45.s305:接收到该更新数据包的接入节点判断自己的前缀是否等于该更新数据包中目的前缀集合的第一个元素,如果等于,则执行s306,否则执行s308;
46.s306:接收到该更新数据包的接入节点针对该更新数据包中源前缀集合中的每个前缀pr0执行下述操作:判断是否存在一个用户表项,该用户表项的前缀等于 pr0,且名称等于该更新数据包中的名称,如果存在,则将该用户表项中的生命周期设置为最大值,否则,创建一个用户表项,该用户表项的前缀等于pr0,且名称等于该更新数据包中的名称,将该用户表项中的生命周期设置为最大值;
47.s307:接收到该更新数据包的接入节点从该更新数据包中的目的前缀集合中删除第一个元素,判断该目的前缀集合是否为空集,如果是,则执行s309,否则执行 s308;
48.s308:接收到该更新数据包的接入节点选择一个接入表项,该接入表项的前缀等于该更新数据包中目的前缀集合的第一个元素,将该更新数据包的下一跳设置为该接入表项的下一跳,转发该更新数据包,执行s304;
49.s309:结束。
50.用户节点通过上述过程发送用户数据包给链接的接入节点,然后接入节点通过更新数据包在其他目的接入节点创建用户表。这样,通过一个过程同时在多个接入节点上建立用户表,从而是这些用户节点能够快速获取数据,从而提高数据通信成功率和实时性,同时将降低了用户节点获取数据的延迟和代价。
51.本发明所述方法中,服务数据包包含数据包序列号、名称、数据、前缀集合和下一跳;
52.服务节点pv1与接入节点ap1链接,能够创建数据da1,数据da1由名称na1标识,服务节点pv1创建数据da1之后执行下述操作:
53.s401:开始;
54.s402:服务节点pv1发送一个服务数据包,服务数据包的数据包序列号为5,名称为na1,数据为da1,前缀集合为空集,下一跳为空;
55.s403:接入节点ap1接收到该服务数据包后,选择所有名称等于该服务数据包中名称的用户表项,将每个选中的用户表项的前缀加入到该服务数据包的前缀集合中,选择一个接入表项,该接入表项的前缀等于该服务数据包的前缀集合的第一个元素,将该服务数据包的下一跳设置为该接入表项的下一跳,从上游接口发送该服务数据包;
56.s404:接收到该服务数据包的接入节点判断自己的前缀是否等于该服务数据包中的下一跳,如果等于,则执行s405,否则执行s409;
57.s405:接收到该服务数据包的接入节点判断自己的前缀是否等于该服务数据包中目的前缀集合的第一个元素,如果等于,则执行s406,否则执行s408;
58.s406:接收到该服务数据包的接入节点从下游接口转发该服务数据包,接收到该服务数据包且是该服务数据包中数据的用户节点保存该服务数据包中的数据;
59.s407:接收到该服务数据包的接入节点从该服务数据包中的前缀集合中删除第一个元素,判断该前缀集合是否为空集,如果是,则执行s409,否则执行s408;
60.s408:接收到该服务数据包的接入节点选择一个接入表项,该接入表项的前缀等于该服务数据包中前缀集合的第一个元素,将该服务数据包的下一跳设置为该接入表项的下一跳,转发该服务数据包,执行s404;
61.s409:结束。
62.服务节点创建数据后,通过上述过程发送服务数据包将数据发送给所有用户节点,从而使用户节点能够通过用户表、接入节点快速获取数据,上述过程通过接入节点表和用户表建立了服务节点和用户节点之间的最优路由路径,从而提高了数据通信性能,以及数据通信成功率和实时性。
63.本发明所述方法中,名称数据包包含数据包序列号、前缀集合、名称、目的前缀和下一跳;
64.响应数据包包含数据包序列号、前缀集合、名称、数据和下一跳;
65.用户节点un1当前运动轨迹由前缀集合ps1标识,与接入节点ap1链接,能够获取数据da2,数据da2由名称na2标识,用户节点un1执行下述操作获取数据da2:
66.s501:开始;
67.s502:用户节点un1发送一个名称数据包,名称数据包的数据包序列号为6,前缀集合为ps1,名称为na2,目标前缀为空,下一跳为空;
68.s503:接入节点ap1接收到名称数据包后,选择所有名称集合包含该名称数据包中名称的接入表项,从这些接入表项中选择一个接入表项,该接入表项的距离最小,将该名称数据包的目的前缀设置为该接入表项的前缀,将下一跳设置为该接入表项的下一跳,从上游接口发送该名称数据包;
69.s504:接收到该名称数据包的接入节点判断自己的前缀是否等于该名称数据包中的下一跳,如果等于,则执行s505,否则执行s513;
70.s505:接收到该名称数据包的接入节点判断自己的前缀是否等于该名称数据包中的目的前缀,如果等于,则执行s507,否则执行s506;
71.s506:接收到该名称数据包的接入节点选择一个接入表项,该接入表项的前缀等于该名称数据包中的目的前缀,将该名称数据包中的下一跳设置为该接入表项的下一跳,从上游接口转发该名称数据包,执行s504;
72.s507:接收到该名称数据包的接入节点从下游接口转发该名称数据包,接收到该名称数据包且是该名称数据包中数据的服务节点发送一个响应数据包,该响应数据包的数据包序列号为7,前缀集合等于该名称数据包中的前缀集合,名称等于该名称数据包中的名称,数据为该名称数据包中名称定义的数据,下一跳等于链接的接入节点的前缀;
73.s508:接收到该响应数据包的接入节点判断自己的前缀是否等于该响应数据包中的下一跳,如果等于,则执行s509,否则执行s513;
74.s509:接收到该响应数据包的接入节点判断自己的前缀是否等于该响应数据包中前缀集合的第一个元素,如果等于,则执行s510,否则执行s512;
75.s510:接收到该响应数据包的接入节点从下游接口转发该响应数据包,接收到该响应数据包且是该响应数据包中数据的用户节点保存该响应数据包中的数据;
76.s511:接收到该响应数据包的接入节点从该响应数据包中的前缀集合中删除第一个元素,判断该前缀集合是否为空集,如果是,则执行s513,否则执行s512;
77.s512:接收到该响应数据包的接入节点选择一个接入表项,该接入表项的前缀等于该响应数据包中前缀集合的第一个元素,将该响应数据包的下一跳设置为该接入表项的下一跳,转发该响应数据包,执行s508;
78.s513:结束。
79.用户节点通过上述过程发送名称数据包和响应数据包从目标服务节点获取数据。上述过程中,用户节点通过接入节点表建立了用户节点和距离最近的服务节点之间的最优路由路径,从而提高了数据通信性能,以及数据通信成功率和实时性,同时上述过程中,多个用户节点能够共享数据,进一步提高了数据通信性能,以及数据通信成功率和实时性。
80.有益效果:本发明提供了一种基于边缘计算的物联网系统实现方法,用户通过本发明所提供的基于边缘计算的物联网系统实现方法能够快速获取监测数据,从而有效缩短了获取监测的延迟和代价,提高了服务质量,本发明可应用于道路安全、环境监测等领域,具有广泛的应用前景。
附图说明
81.下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
82.图1为本发明所述的建立服务表流程示意图。
83.图2为本发明所述的建立接入表流程示意图。
84.图3为本发明所述的创建用户表流程示意图。
85.图4为本发明所述的推送数据流程示意图。
86.图5为本发明所述的数据通信流程示意图。
具体实施方式:
87.本发明提供了一种基于边缘计算的物联网系统实现方法,用户通过本发明所提供的基于边缘计算的物联网系统实现方法能够快速获取监测数据,从而有效缩短了获取监测的延迟和代价,提高了服务质量,本发明可应用于道路安全、环境监测等领域,具有广泛的应用前景。
88.图1为本发明所述的建立服务表流程示意图。所述物联网包括接入节点和末端节点;
89.每个接入节点由唯一的前缀标识,配置一个上游接口和一个下游接口,均为无线接口,上游接口与其他接入节点链接,下游接口与末端节点链接;
90.每个末端节点配置一个接口,该接口为无线接口,与一个接入节点的下游接口链接;
91.物联网系统中传输的一种类型的数据由一个名称唯一标识;每个接入节点保存一个服务表,一个服务表项包含名称和生命周期;
92.每个末端节点保存一个数据表,一个数据表项包含名称、数据和生命周期;
93.末端节点分为服务节点和用户节点;服务节点能够创建一种以上类型的数据;用户节点能够获取对应类型的数据;
94.接入节点为固定节点,末端节点为移动节点;
95.物联网系统中传输的每个数据包由数据包序列号唯一标识;数据包包括注册数据包、发布数据包、更新数据包、用户数据包、服务数据包、名称数据包以及响应数据包;其中注册数据包包含数据包序列号和名称集合;
96.服务节点pv1能够创建一种以上类型的数据,设置所述数据的名称构成名称集合pns1,服务节点pv1与接入节点ap1链接,定期执行下述操作:
97.s101:开始;
98.s102:服务节点pv1发送一个注册数据包,注册数据包的数据包序列号为1,名称集合为pns1;
99.s103:接入节点ap1接收到注册数据包后,设置一个名称集合变量nsv1,变量 nsv1的值等于注册数据包中的名称集合;
100.s104:接入节点ap1判断是否存在一个服务表项,该服务表项的名称等于变量 nsv1的第一元素,如果存在,则执行s105,否则执行s106;
101.s105:接入节点ap1选择一个服务表项,该服务表项的名称等于变量nsv1的第一元素,将该表项的生命周期设置为最大值,执行s107;
102.s106:接入节点ap1创建一个服务表项,该服务表项的名称等于变量nsv1的第一元素,将该表项的生命周期设置为最大值;
103.s107:接入节点ap1从变量nsv1中删除第一个元素,判断变量nsv1是否为空集,如果是,则执行s108,否则执行s104;
104.s108:结束。
105.服务节点通过上述过程发送注册数据包从而在链接的接入节点上创建服务表, 这样接入节点通过服务表可以获取与自己链接的服务节点能够提供哪些数据,从而实现快速高效的数据通信,确保数据通信的有效性和实时性,进一步提高数据通信成功率和实时
性。
106.图2为本发明所述的建立接入表流程示意图。每个接入节点保存一个接入表,一个接入表项包含前缀、距离、下一跳、名称集合和生命周期;
107.发布数据包包含数据包序列号、前缀、距离、名称集合和下一跳;
108.接入节点ap1的前缀为pr1,定期执行下述操作:
109.s201:开始;
110.s202:接入节点ap1从上游接口发送一个发布数据包,发布数据包的数据包序列号为2,前缀为pr1,距离为1,名称集合包含每个服务表项的名称,下一跳为 pr1;
111.s203:接收到发布数据包的接入节点判断是否存在一个接入表项,接入表项的前缀等于该发布数据包中的前缀且生命周期大于阈值ts0,阈值ts0的取值范围为最大生命周期的95%-99%,如果存在,则执行s208,否则执行s204;
112.s204:接收到发布数据包的接入节点判断是否存在一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,如果存在,则执行s205,否则执行s206;
113.s205:接收到发布数据包的接入节点选择一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,将该表项距离、下一跳和名称集合分别设置为该发布数据包中的距离、下一跳和名称集合,将生命周期设置为最大值,执行s207;
114.s206:接收到发布数据包的接入节点创建一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,将该表项的距离、下一跳和名称集合分别设置为该发布数据包中的距离、下一跳和名称集合,将生命周期设置为最大值;
115.s207:接收到发布数据包的接入节点将该发布数据包的距离递增1,将下一跳设置为自己的前缀,从上游接口转发该发布数据包,执行s203;
116.s208:结束。
117.接入节点通过上述过程发送发布数据包在其他接入节点上创建自己的接入表项,从而建立到达其他接入节点的最优路由路径,同时,接入节点通过接入表可以获取与每个接入节点链接的服务节点所能提供的服务,从而实现快速高效地数据通信,提高数据通信成功率和实时性。
118.图3为本发明所述的创建用户表流程示意图。每个接入节点保存一个用户表,一个用户表项包含前缀、名称和生命周期;
119.每个用户节点的运动轨迹由前缀集合标识,即用户节点首先经过该前缀集合第一个元素所标识的接入节点,然后再依次经过该前缀集合第二个元素所标识的接入节点,以此类推;
120.用户数据包包含数据包序列号、前缀集合和名称集合;
121.更新数据包包含数据包序列号、源前缀集合、名称、目的前缀集合和下一跳;
122.用户节点un1当前运动轨迹由前缀集合ps1标识,与接入节点ap1链接,能够获取一种以上类型的数据,设置所述数据的名称构建成名称集合ns1,用户节点 un1定期执行下述操作:
123.s301:开始;
124.s302:用户节点un1发送一个用户数据包,用户数据包的数据包序列号为3,前缀集合为ps1,名称集合为ns1;
125.s303:接入节点ap1接收到该用户数据包后,针对用户数据包中的名称集合中的每个元素na0执行下述操作;接入节点ap1从上游接口发送一个更新数据包,更新数据包的数据包序列号为4,源前缀集合等于该用户数据包中的前缀集合,名称为na0,目的前缀集合由符合条件1的接入表项的前缀构成,下一跳等于一个接入表项的下一跳,该接入表项的前缀等于目的前缀集合的第一个元素;
126.条件1:该接入表项的名称集合包含名称na0;
127.s304:接收到该更新数据包的接入节点判断自己的前缀是否等于该更新数据包中的下一跳,如果等于,则执行s305,否则执行s309;
128.s305:接收到该更新数据包的接入节点判断自己的前缀是否等于该更新数据包中目的前缀集合的第一个元素,如果等于,则执行s306,否则执行s308;
129.s306:接收到该更新数据包的接入节点针对该更新数据包中源前缀集合中的每个前缀pr0执行下述操作:判断是否存在一个用户表项,该用户表项的前缀等于 pr0,且名称等于该更新数据包中的名称,如果存在,则将该用户表项中的生命周期设置为最大值,否则,创建一个用户表项,该用户表项的前缀等于pr0,且名称等于该更新数据包中的名称,将该用户表项中的生命周期设置为最大值;
130.s307:接收到该更新数据包的接入节点从该更新数据包中的目的前缀集合中删除第一个元素,判断该目的前缀集合是否为空集,如果是,则执行s309,否则执行 s308;
131.s308:接收到该更新数据包的接入节点选择一个接入表项,该接入表项的前缀等于该更新数据包中目的前缀集合的第一个元素,将该更新数据包的下一跳设置为该接入表项的下一跳,转发该更新数据包,执行s304;
132.s309:结束。
133.用户节点通过上述过程发送用户数据包给链接的接入节点,然后接入节点通过更新数据包在其他目的接入节点创建用户表。这样,通过一个过程同时在多个接入节点上建立用户表,从而是这些用户节点能够快速获取数据,从而提高数据通信成功率和实时性,同时将降低了用户节点获取数据的延迟和代价。
134.图4为本发明所述的推送数据流程示意图。服务数据包包含数据包序列号、名称、数据、前缀集合和下一跳;
135.服务节点pv1与接入节点ap1链接,能够创建数据da1,数据da1由名称 na1标识,服务节点pv1创建数据da1之后执行下述操作:
136.s401:开始;
137.s402:服务节点pv1发送一个服务数据包,服务数据包的数据包序列号为5,名称为na1,数据为da1,前缀集合为空集,下一跳为空;
138.s403:接入节点ap1接收到该服务数据包后,选择所有名称等于该服务数据包中名称的用户表项,将每个选中的用户表项的前缀加入到该服务数据包的前缀集合中,选择一个接入表项,该接入表项的前缀等于该服务数据包的前缀集合的第一个元素,将该服务数据包的下一跳设置为该接入表项的下一跳,从上游接口发送该服务数据包;
139.s404:接收到该服务数据包的接入节点判断自己的前缀是否等于该服务数据包中的下一跳,如果等于,则执行s405,否则执行s409;
140.s405:接收到该服务数据包的接入节点判断自己的前缀是否等于该服务数据包中
目的前缀集合的第一个元素,如果等于,则执行s406,否则执行s408;
141.s406:接收到该服务数据包的接入节点从下游接口转发该服务数据包,接收到该服务数据包且是该服务数据包中数据的用户节点保存该服务数据包中的数据;
142.s407:接收到该服务数据包的接入节点从该服务数据包中的前缀集合中删除第一个元素,判断该前缀集合是否为空集,如果是,则执行s409,否则执行s408;
143.s408:接收到该服务数据包的接入节点选择一个接入表项,该接入表项的前缀等于该服务数据包中前缀集合的第一个元素,将该服务数据包的下一跳设置为该接入表项的下一跳,转发该服务数据包,执行s404;
144.s409:结束。
145.服务节点创建数据后,通过上述过程发送服务数据包将数据发送给所有用户节点,从而使用户节点能够通过用户表、接入节点快速获取数据,上述过程通过接入节点表和用户表建立了服务节点和用户节点之间的最优路由路径,从而提高了数据通信性能,以及数据通信成功率和实时性。
146.图5为本发明所述的数据通信流程示意图。名称数据包包含数据包序列号、前缀集合、名称、目的前缀和下一跳;
147.响应数据包包含数据包序列号、前缀集合、名称、数据和下一跳;
148.用户节点un1当前运动轨迹由前缀集合ps1标识,与接入节点ap1链接,能够获取数据da2,数据da2由名称na2标识,用户节点un1执行下述操作获取数据da2:
149.s501:开始;
150.s502:用户节点un1发送一个名称数据包,名称数据包的数据包序列号为6,前缀集合为ps1,名称为na2,目标前缀为空,下一跳为空;
151.s503:接入节点ap1接收到名称数据包后,选择所有名称集合包含该名称数据包中名称的接入表项,从这些接入表项中选择一个接入表项,该接入表项的距离最小,将该名称数据包的目的前缀设置为该接入表项的前缀,将下一跳设置为该接入表项的下一跳,从上游接口发送该名称数据包;
152.s504:接收到该名称数据包的接入节点判断自己的前缀是否等于该名称数据包中的下一跳,如果等于,则执行s505,否则执行s513;
153.s505:接收到该名称数据包的接入节点判断自己的前缀是否等于该名称数据包中的目的前缀,如果等于,则执行s507,否则执行s506;
154.s506:接收到该名称数据包的接入节点选择一个接入表项,该接入表项的前缀等于该名称数据包中的目的前缀,将该名称数据包中的下一跳设置为该接入表项的下一跳,从上游接口转发该名称数据包,执行s504;
155.s507:接收到该名称数据包的接入节点从下游接口转发该名称数据包,接收到该名称数据包且是该名称数据包中数据的服务节点发送一个响应数据包,该响应数据包的数据包序列号为7,前缀集合等于该名称数据包中的前缀集合,名称等于该名称数据包中的名称,数据为该名称数据包中名称定义的数据,下一跳等于链接的接入节点的前缀;
156.s508:接收到该响应数据包的接入节点判断自己的前缀是否等于该响应数据包中的下一跳,如果等于,则执行s509,否则执行s513;
157.s509:接收到该响应数据包的接入节点判断自己的前缀是否等于该响应数据包中
前缀集合的第一个元素,如果等于,则执行s510,否则执行s512;
158.s510:接收到该响应数据包的接入节点从下游接口转发该响应数据包,接收到该响应数据包且是该响应数据包中数据的用户节点保存该响应数据包中的数据;
159.s511:接收到该响应数据包的接入节点从该响应数据包中的前缀集合中删除第一个元素,判断该前缀集合是否为空集,如果是,则执行s513,否则执行s512;
160.s512:接收到该响应数据包的接入节点选择一个接入表项,该接入表项的前缀等于该响应数据包中前缀集合的第一个元素,将该响应数据包的下一跳设置为该接入表项的下一跳,转发该响应数据包,执行s508;
161.s513:结束。
162.用户节点通过上述过程发送名称数据包和响应数据包从目标服务节点获取数据。上述过程中,用户节点通过接入节点表建立了用户节点和距离最近的服务节点之间的最优路由路径,从而提高了数据通信性能,以及数据通信成功率和实时性,同时上述过程中,多个用户节点能够共享数据,进一步提高了数据通信性能,以及数据通信成功率和实时性。
163.实施例1
164.基于表1的仿真参数,本实施例模拟了本发明中的一种基于边缘计算的物联网系统实现方法。服务节点pv1能够创建一种以上类型的数据,与接入节点ap1链接,服务节点pv1启动后,执行步骤101-108发送注册数据包建立服务表项,一个服务表项包含名称和生命周期,例如,名称为v1,生命周期为500ms。服务节点通过上述过程发送注册数据包从而在链接的接入节点上创建服务表,这样接入节点通过服务表可以获取与自己链接的服务节点能够提供哪些数据,从而实现快速高效的数据通信,确保数据通信的有效性和实时性,进一步提高数据通信成功率和实时性。接入节点ap1启动后,执行步骤201-208发送发布数据包建立接入表项,一个接入表项包含前缀、距离、下一跳、名称集合和生命周期,例如,前缀为cslg,距离为2,下一跳为hushan,名称集合为{v1,v2},生命周期为500ms。接入节点通过上述过程发送发布数据包在其他接入节点上创建自己的接入表项,从而建立到达其他接入节点的最优路由路径,同时,接入节点通过接入表可以获取与每个接入节点链接的服务节点所能提供的服务,从而实现快速高效地数据通信,提高数据通信成功率和实时性。用户节点un1启动后,执行步骤301-309发送用户数据包建立用户表项,一个用户表项包含前缀、名称和生命周期,例如,前缀为cslg,名称为v1,生命周期为500ms。用户节点通过上述过程发送用户数据包给链接的接入节点,然后接入节点通过更新数据包在其他目的接入节点创建用户表。这样,通过一个过程同时在多个接入节点上建立用户表,从而是这些用户节点能够快速获取数据,从而提高数据通信成功率和实时性,同时将降低了用户节点获取数据的延迟和代价。服务节点 pv1创建数据da1之后执行步骤401-409发送服务数据包将数据发送到所有用户节点。服务节点创建数据后,通过上述过程发送服务数据包将数据发送给所有用户节点,从而使用户节点能够通过用户表、接入节点快速获取数据,上述过程通过接入节点表和用户表建立了服务节点和用户节点之间的最优路由路径,从而提高了数据通信性能,以及数据通信成功率和实时性。用户节点un1执行步骤501-513获取数据。用户节点通过上述过程发送名称数据包和响应数据包从目标服务节点获取数据。上述过程中,用户节点通过接入节点表建立了用户节点和距离最近的服务节点之间的最优路由路径,从而提高了数据通信性能,以及数据通信成功率和实时性,同时上述过程中,多个用户节点能够共享数据,
进一步提高了数据通信性能,以及数据通信成功率和实时性。一种基于边缘计算的物联网系统实现方法性能分析如下:当服务节点与用户节点距离较远时,用户节点获取数据的成功率有所下降,当服务节点与用户节点距离较近时,用户节点获取数据的成功率有所提高,用户节点获取数据的平均成功率为98.8%。
165.表1仿真参数
[0166][0167]
本发明提供了一种基于边缘计算的物联网系统实现方法的思路,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部份均可用现有技术加以实现。

技术特征:


1.一种基于边缘计算的物联网系统实现方法,其特征在于,所述物联网包括接入节点和末端节点;每个接入节点由唯一的前缀标识,配置一个上游接口和一个下游接口,均为无线接口,上游接口与其他接入节点链接,下游接口与末端节点链接;每个末端节点配置一个接口,该接口为无线接口,与一个接入节点的下游接口链接;物联网系统中传输的一种类型的数据由一个名称唯一标识;每个接入节点保存一个服务表,一个服务表项包含名称和生命周期;每个末端节点保存一个数据表,一个数据表项包含名称、数据和生命周期;末端节点分为服务节点和用户节点;服务节点能够创建一种以上类型的数据;用户节点能够获取对应类型的数据;接入节点为固定节点,末端节点为移动节点;物联网系统中传输的每个数据包由数据包序列号唯一标识;数据包包括注册数据包、发布数据包、更新数据包、用户数据包、服务数据包、名称数据包以及响应数据包;其中注册数据包包含数据包序列号和名称集合;服务节点pv1能够创建一种以上类型的数据,设置所述数据的名称构成名称集合pns1,服务节点pv1与接入节点ap1链接,定期执行下述操作:s101:开始;s102:服务节点pv1发送一个注册数据包,注册数据包的数据包序列号为1,名称集合为pns1;s103:接入节点ap1接收到注册数据包后,设置一个名称集合变量nsv1,变量nsv1的值等于注册数据包中的名称集合;s104:接入节点ap1判断是否存在一个服务表项,该服务表项的名称等于变量nsv1的第一元素,如果存在,则执行s105,否则执行s106;s105:接入节点ap1选择一个服务表项,该服务表项的名称等于变量nsv1的第一元素,将该表项的生命周期设置为最大值,执行s107;s106:接入节点ap1创建一个服务表项,该服务表项的名称等于变量nsv1的第一元素,将该表项的生命周期设置为最大值;s107:接入节点ap1从变量nsv1中删除第一个元素,判断变量nsv1是否为空集,如果是,则执行s108,否则执行s104;s108:结束。2.根据权利要求1所述的一种基于边缘计算的物联网系统实现方法,其特征在于,每个接入节点保存一个接入表,一个接入表项包含前缀、距离、下一跳、名称集合和生命周期;发布数据包包含数据包序列号、前缀、距离、名称集合和下一跳。3.根据权利要求2所述的一种基于边缘计算的物联网系统实现方法,其特征在于,接入节点ap1的前缀为pr1,定期执行下述操作:s201:开始;s202:接入节点ap1从上游接口发送一个发布数据包,发布数据包的数据包序列号为2,前缀为pr1,距离为1,名称集合包含每个服务表项的名称,下一跳为pr1;s203:接收到发布数据包的接入节点判断是否存在一个接入表项,接入表项的前缀等
于该发布数据包中的前缀且生命周期大于阈值ts0,阈值ts0的取值范围为最大生命周期的95%-99%,如果存在,则执行s208,否则执行s204;s204:接收到发布数据包的接入节点判断是否存在一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,如果存在,则执行s205,否则执行s206;s205:接收到发布数据包的接入节点选择一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,将该表项距离、下一跳和名称集合分别设置为该发布数据包中的距离、下一跳和名称集合,将生命周期设置为最大值,执行s207;s206:接收到发布数据包的接入节点创建一个接入表项,该接入表项的前缀等于该发布数据包中的前缀,将该表项的距离、下一跳和名称集合分别设置为该发布数据包中的距离、下一跳和名称集合,将生命周期设置为最大值;s207:接收到发布数据包的接入节点将该发布数据包的距离递增1,将下一跳设置为自己的前缀,从上游接口转发该发布数据包,执行s203;s208:结束。4.根据权利要求1所述的一种基于边缘计算的物联网系统实现方法,其特征在于,每个接入节点保存一个用户表,一个用户表项包含前缀、名称和生命周期;每个用户节点的运动轨迹由前缀集合标识,即用户节点首先经过该前缀集合第一个元素所标识的接入节点,然后再依次经过该前缀集合第二个元素所标识的接入节点,以此类推;用户数据包包含数据包序列号、前缀集合和名称集合;更新数据包包含数据包序列号、源前缀集合、名称、目的前缀集合和下一跳。5.根据权利要求4所述的一种基于边缘计算的物联网系统实现方法,其特征在于,用户节点un1当前运动轨迹由前缀集合ps1标识,与接入节点ap1链接,能够获取一种以上类型的数据,设置所述数据的名称构建成名称集合ns1,用户节点un1定期执行下述操作:s301:开始;s302:用户节点un1发送一个用户数据包,用户数据包的数据包序列号为3,前缀集合为ps1,名称集合为ns1;s303:接入节点ap1接收到该用户数据包后,针对用户数据包中的名称集合中的每个元素na0执行下述操作;接入节点ap1从上游接口发送一个更新数据包,更新数据包的数据包序列号为4,源前缀集合等于该用户数据包中的前缀集合,名称为na0,目的前缀集合由符合条件1的接入表项的前缀构成,下一跳等于一个接入表项的下一跳,该接入表项的前缀等于目的前缀集合的第一个元素;条件1:该接入表项的名称集合包含名称na0;s304:接收到该更新数据包的接入节点判断自己的前缀是否等于该更新数据包中的下一跳,如果等于,则执行s305,否则执行s309;s305:接收到该更新数据包的接入节点判断自己的前缀是否等于该更新数据包中目的前缀集合的第一个元素,如果等于,则执行s306,否则执行s308;s306:接收到该更新数据包的接入节点针对该更新数据包中源前缀集合中的每个前缀pr0执行下述操作:判断是否存在一个用户表项,该用户表项的前缀等于pr0,且名称等于该更新数据包中的名称,如果存在,则将该用户表项中的生命周期设置为最大值,否则,创建
一个用户表项,该用户表项的前缀等于pr0,且名称等于该更新数据包中的名称,将该用户表项中的生命周期设置为最大值;s307:接收到该更新数据包的接入节点从该更新数据包中的目的前缀集合中删除第一个元素,判断该目的前缀集合是否为空集,如果是,则执行s309,否则执行s308;s308:接收到该更新数据包的接入节点选择一个接入表项,该接入表项的前缀等于该更新数据包中目的前缀集合的第一个元素,将该更新数据包的下一跳设置为该接入表项的下一跳,转发该更新数据包,执行s304;s309:结束。6.根据权利要求1所述的一种基于边缘计算的物联网系统实现方法,其特征在于,服务数据包包含数据包序列号、名称、数据、前缀集合和下一跳。7.根据权利要求6所述的一种基于边缘计算的物联网系统实现方法,其特征在于,服务节点pv1与接入节点ap1链接,能够创建数据da1,数据da1由名称na1标识,服务节点pv1创建数据da1之后执行下述操作:s401:开始;s402:服务节点pv1发送一个服务数据包,服务数据包的数据包序列号为5,名称为na1,数据为da1,前缀集合为空集,下一跳为空;s403:接入节点ap1接收到该服务数据包后,选择所有名称等于该服务数据包中名称的用户表项,将每个选中的用户表项的前缀加入到该服务数据包的前缀集合中,选择一个接入表项,该接入表项的前缀等于该服务数据包的前缀集合的第一个元素,将该服务数据包的下一跳设置为该接入表项的下一跳,从上游接口发送该服务数据包;s404:接收到该服务数据包的接入节点判断自己的前缀是否等于该服务数据包中的下一跳,如果等于,则执行s405,否则执行s409;s405:接收到该服务数据包的接入节点判断自己的前缀是否等于该服务数据包中目的前缀集合的第一个元素,如果等于,则执行s406,否则执行s408;s406:接收到该服务数据包的接入节点从下游接口转发该服务数据包,接收到该服务数据包且是该服务数据包中数据的用户节点保存该服务数据包中的数据;s407:接收到该服务数据包的接入节点从该服务数据包中的前缀集合中删除第一个元素,判断该前缀集合是否为空集,如果是,则执行s409,否则执行s408;s408:接收到该服务数据包的接入节点选择一个接入表项,该接入表项的前缀等于该服务数据包中前缀集合的第一个元素,将该服务数据包的下一跳设置为该接入表项的下一跳,转发该服务数据包,执行s404;s409:结束。8.根据权利要求1所述的一种基于边缘计算的物联网系统实现方法,其特征在于,名称数据包包含数据包序列号、前缀集合、名称、目的前缀和下一跳;响应数据包包含数据包序列号、前缀集合、名称、数据和下一跳。9.根据权利要求8所述的一种基于边缘计算的物联网系统实现方法,其特征在于,用户节点un1当前运动轨迹由前缀集合ps1标识,与接入节点ap1链接,能够获取数据da2,数据da2由名称na2标识,用户节点un1执行下述操作获取数据da2:s501:开始;
s502:用户节点un1发送一个名称数据包,名称数据包的数据包序列号为6,前缀集合为ps1,名称为na2,目标前缀为空,下一跳为空;s503:接入节点ap1接收到名称数据包后,选择所有名称集合包含该名称数据包中名称的接入表项,从这些接入表项中选择一个接入表项,该接入表项的距离最小,将该名称数据包的目的前缀设置为该接入表项的前缀,将下一跳设置为该接入表项的下一跳,从上游接口发送该名称数据包;s504:接收到该名称数据包的接入节点判断自己的前缀是否等于该名称数据包中的下一跳,如果等于,则执行s505,否则执行s513;s505:接收到该名称数据包的接入节点判断自己的前缀是否等于该名称数据包中的目的前缀,如果等于,则执行s507,否则执行s506;s506:接收到该名称数据包的接入节点选择一个接入表项,该接入表项的前缀等于该名称数据包中的目的前缀,将该名称数据包中的下一跳设置为该接入表项的下一跳,从上游接口转发该名称数据包,执行s504;s507:接收到该名称数据包的接入节点从下游接口转发该名称数据包,接收到该名称数据包且是该名称数据包中数据的服务节点发送一个响应数据包,该响应数据包的数据包序列号为7,前缀集合等于该名称数据包中的前缀集合,名称等于该名称数据包中的名称,数据为该名称数据包中名称定义的数据,下一跳等于链接的接入节点的前缀;s508:接收到该响应数据包的接入节点判断自己的前缀是否等于该响应数据包中的下一跳,如果等于,则执行s509,否则执行s513;s509:接收到该响应数据包的接入节点判断自己的前缀是否等于该响应数据包中前缀集合的第一个元素,如果等于,则执行s510,否则执行s512;s510:接收到该响应数据包的接入节点从下游接口转发该响应数据包,接收到该响应数据包且是该响应数据包中数据的用户节点保存该响应数据包中的数据;s511:接收到该响应数据包的接入节点从该响应数据包中的前缀集合中删除第一个元素,判断该前缀集合是否为空集,如果是,则执行s513,否则执行s512;s512:接收到该响应数据包的接入节点选择一个接入表项,该接入表项的前缀等于该响应数据包中前缀集合的第一个元素,将该响应数据包的下一跳设置为该接入表项的下一跳,转发该响应数据包,执行s508;s513:结束。

技术总结


本发明提供了一种基于边缘计算的物联网系统实现方法,所述物联网包括接入节点和末端节点;每个接入节点由唯一的前缀标识,配置一个上游接口和一个下游接口,均为无线接口,上游接口与其他接入节点链接,下游接口与末端节点链接;每个末端节点配置一个接口,该接口为无线接口,与一个接入节点的下游接口链接。用户通过本发明所提供的基于边缘计算的物联网系统实现方法能够快速获取监测数据,从而有效缩短了获取监测的延迟和代价,提高了服务质量,本发明可应用于道路安全、环境监测等领域,具有广泛的应用前景。具有广泛的应用前景。具有广泛的应用前景。


技术研发人员:

王晓喃 张冉冉 尤心茹 宋雅静

受保护的技术使用者:

常熟理工学院

技术研发日:

2022.07.14

技术公布日:

2022/11/22

本文发布于:2024-09-20 10:54:50,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/2091.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:节点   数据包   前缀   名称
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议