提供计算存储的边缘计算设备及其物联网数据采集系统与方法与流程

文档序号:30311851发布日期:2022-06-05 14:15阅读:152来源:国知局
提供计算存储的边缘计算设备及其物联网数据采集系统与方法与流程

1.本技术涉及存储技术,特别地,涉及提供计算存储的边缘计算设备及其物联网数据采集系统与方法。


背景技术:

2.物联网(iot,internet of things)已经广泛应用于各个领域内,例如,工业、农业、环境、交通等。传统的物理网数据采集方法是传感器采集数据,物理网网关将数据推送至云服务器。传感器收集的数据量巨大,从而每时每刻都有数据推送到云服务器内,云服务器负载对海量的数据进行处理。从而传统的物理网数据采集系统不仅要求网络带宽足够宽,还要求云服务器具有很强的数据处理能力。
3.图1给出了现有技术中的物联网系统的示意图。如图1所示,物联网系统包括云计算平台、若干个物联网网关和多个传感器。每个物联网网关连接至少一个传感器,用于将传感器耦合到网络,进而耦合到云计算平台。传感器包括例如温度传感器、摄像头、位置传感器等多种类型。
4.物联网的规模是海量的。传感器的数量可能成千上万甚至更多。传感器的种类多样,来自多个供应商,具有多种数据格式与多种数据传输协议。传感器还长时间的工作,例如每分钟收集数据。云计算平台需要获得各传感器收集的数据,处理这些数据并进行利用。
5.为了在物联网中容纳海量的设备,通过物联网网络提供的分层结构网络是有效的。物联网网关耦合边缘端的多个传感器,以减少云端所需管理的设备规模。为了容纳多种类型的设备,已经提出了诸如modbus协议、mqtt(message queuing telemetry transport,消息队列遥测传输协议)等来规范物联网设备之间的数据传输。


技术实现要素:

6.随着物联网容纳的设备数量与种类的进一步增加,特别是诸如摄像头的大数据量传感器的普遍部署,物联网内持续生产的数据规模为大规模物联网的部署与运营带来挑战。以摄像头为例,一座大型城市已经部署的摄像头数量超过100万个,按每个高清摄像头每秒产生1mb视频数据,1天内全市产生的视频数据将接近10^8gb。这种规模的数据的存储与检索,通常的云平台无法提供,或者需要极高的成本。
7.进一步的,物联网中生产的数据需要被应用以产生价值。而海量传感器产生的海量数据,在应用中需要被访问的,通常只是极小的部分。例如,希望从摄像头采集的视频数据中获得某人脸或车牌出现的时间与位置,仅为这样的目的,而存储并为了检索而遍历所有10^8gb数据也是不合理的。又例如,需要从温度传感器获得区域的温度数据。通常用日平均温度来代表区域的温度,而温度传感器提供的则是每秒更新的数据。
8.新的物联网设备正快速的产生,现有的物联网数据传输协议的发展也常常不能满足新设备的需求。
9.希望改进物联网设备与物联网中的数据采集与应用的方式,来满足上述需求。
10.为了解决上述技术问题,根据本技术实施例的第一方面,提供了根据本技术实施例第一方面的第一边缘计算设备,包括计算单元和存储设备,所述计算单元与传感器、物联网网关和云计算平台中的至少一者耦合,所述计算单元还与所述存储设备耦合,所述云计算平台通过网络与所述边缘计算设备耦合;所述计算单元获取第一数据,所述第一数据为传感器收集的数据;所述计算单元对所述第一数据进行压缩、统计和/或标记,以获取第二数据;所述计算单元将所述第二数据写入所述存储设备。
11.根据本技术实施例第一方面的第一边缘计算设备,提供了根据本技术实施例第一方面的第二边缘计算设备,所述边缘计算设备还包括网络单元,所述网络单元与传感器、物联网网关和云计算平台中的至少一者耦合,所述网络单元与所述计算单元和所述存储设备耦合,所述计算单元通过所述网络单元与传感器、物联网网关和云计算平台中的至少一者耦合;所述计算单元通过所述网络单元获取所述第一数据。
12.根据本技术实施例第一方面的第一或第二边缘计算设备,提供了根据本技术实施例第一方面的第三边缘计算设备,所述边缘计算设备还包括内存,在获取到所述第一数据后,将所述第一数据存储到所述内存中。
13.根据本技术实施例第一方面的第一至第三边缘计算设备之一,提供了根据本技术实施例第一方面的第四边缘计算设备,所述计算单元向所述存储设备发送指示获取数据的第一请求;响应于所述第一请求,所述存储设备对所述第二数据进行解压缩处理以及进行检索,以获取所述第三数据,所述第三数据为所述第一数据的部分数据;所述存储设备将所述第三数据发送给所述计算单元;所述计算单元将所述第三数据推送给云计算平台。
14.根据本技术实施例第一方面的第一至第三边缘计算设备之一,提供了根据本技术实施例第一方面的第五边缘计算设备,所述计算单元向所述存储设备发送指示获取数据的第二请求;响应于所述第二请求,所述存储设备对所述第二数据进行解压缩处理,并将所述第一数据存储到内存中;响应于所述第一数据被存储到内存中,所述计算单元对所述第一数据进行检索,获取所述第三数据,所述第三数据为所述第一数据的部分数据;所述计算单元将所述第三数据推送给云计算平台。
15.根据本技术实施例第一方面的第一至第五边缘计算设备之一,提供了根据本技术实施例第一方面的第六边缘计算设备,所述第二数据为所述第一数据的压缩存储形式;或者,所述第二数据包括所述第一数据的压缩存储形式和所述第一数据的统计信息。
16.根据本技术实施例第一方面的第六边缘计算设备,提供了根据本技术实施例第一方面的第七边缘计算设备,所述第一数据和所述第三数据均为时间序列数据,所述第二数据为键-值数据。
17.根据本技术实施例第一方面的第二边缘计算设备,提供了根据本技术实施例第一方面的第八边缘计算设备,所述网络单元向所述存储设备发送指示获取数据的第一请求;响应于所述第一请求,所述存储设备对所述第二数据进行解压缩处理以及进行检索,以获取所述第三数据,所述第三数据为所述第一数据的部分数据;所述存储设备将所述第三数据发送给所述网络单元;所述网络单元将所述第三数据推送给所述云计算平台。
18.根据本技术实施例第一方面的第一至第八边缘计算设备之一,提供了根据本技术实施例第一方面的第九边缘计算设备,在所述计算单元获取所述第一数据之前,所述计算
单元获取配置信息,所述配置信息指示数据采集方式、数据推送方式和数据处理方式中的至少一者,以使所述计算单元根据所述配置信息对所述第一数据进行处理。
19.根据本技术实施例第一方面的第五边缘计算设备,提供了根据本技术实施例第一方面的第十边缘计算设备,响应于所述第二请求,所述计算单元根据所述配置信息对所述第一数据进行检索,获取所述第三数据;其中,所述配置信息指示数据索引,所述第三数据为与所述数据对应的部分第一数据。
20.根据本技术实施例第一方面的第九边缘计算设备,提供了根据本技术实施例第一方面的第十一边缘计算设备,所述配置信息预先存储在所述边缘计算设备中;或者,所述配置信息为所述边缘计算设备从所述云计算平台处获取的。
21.根据本技术实施例的第二方面,提供了根据本技术实施例第二方面的第一边缘计算设备,包括网络单元与存储设备,所述网络单元与传感器、物联网网关和云计算平台中的至少一者耦合,所述网络单元还与所述存储设备耦合;所述存储设备获取第一数据,所述第一数据为传感器收集的数据;所述存储设备对所述第一数据进行压缩、统计、和标记中的至少一者,以获取第二数据;所述存储设备保存所述第二数据。
22.根据本技术实施例第二方面的第一边缘计算设备,提供了根据本技术实施例第二方面的第二边缘计算设备,所述边缘计算设备还包括内存,在获取到所述第一数据后,所述第一数据被存储到所述内存中。
23.根据本技术实施例第二方面的第一或第二边缘计算设备,提供了根据本技术实施例第二方面的第三边缘计算设备,所述网络单元向所述存储设备发送指示获取数据的第一请求;响应于所述第一请求,所述存储设备对所述第二数据进行解压缩处理以及进行检索,以获取所述第三数据,所述第三数据为所述第一数据的部分数据;所述存储设备将所述第三数据发送给所述网络单元;所述网络单元将所述第三数据推送给云计算平台。
24.根据本技术实施例第二方面的第一至第三边缘计算设备之一,提供了根据本技术实施例第二方面的第四边缘计算设备,所述第二数据为所述第一数据的压缩存储形式;或者,所述第二数据包括所述第一数据的压缩存储形式和所述第一数据的统计信息。
25.根据本技术实施例第二方面的第四边缘计算设备,提供了根据本技术实施例第二方面的第五边缘计算设备,所述第一数据和所述第三数据均为时间序列数据,所述第二数据为键-值数据。
26.根据本技术实施例第二方面的第一至第五边缘计算设备之一,提供了根据本技术实施例第二方面的第六边缘计算设备,在所述存储设备获取所述第一数据之前,所述存储设备获取配置信息,所述配置信息指示数据采集方式、数据推送方式和数据处理方式中的至少一者,以使所述存储设备根据所述配置信息对所述第一数据进行处理。
27.根据本技术实施例第二方面的第三边缘计算设备,提供了根据本技术实施例第二方面的第七边缘计算设备,响应于所述第一请求,所述存储设备根据所述配置信息对所述第一数据进行检索,获取所述第三数据;其中,所述配置信息指示数据索引,所述第三数据为与所述数据对应的部分第一数据。
28.根据本技术实施例第二方面的第七边缘计算设备,提供了根据本技术实施例第二方面的第八边缘计算设备,所述配置信息预先存储在所述边缘计算设备中;或者,所述配置信息为所述边缘计算设备从所述云计算平台处获取的。
29.根据本技术实施例第二方面的第一至第八边缘计算设备之一,提供了根据本技术实施例第二方面的第九边缘计算设备,所述边缘计算设备还包括计算单元;所述计算单元从传感器获取所述第一数据,并向所述存储设备发送所述第一数据。
30.根据本技术实施例第二方面的第九边缘计算设备,提供了根据本技术实施例第二方面的第十边缘计算设备,所述计算单元包括压缩模块和存储模块;所述压缩模块对所述第一数据进行压缩,获取第二数据;所述存储模块向所述存储设备发送第一种写命令,以将所述第二数据写入所述存储设备;或者,对所述第一数据进行统计或标记,获取第二数据,所述存储模块向所述存储设备发送第二种写命令,以将所述第二数据写入所述存储设备。
31.根据本技术实施例第二方面的第十边缘计算设备,提供了根据本技术实施例第二方面的第十一边缘计算设备,所述存储模块以键值形式将所述第二数据写入所述存储设备。
32.根据本技术实施例第二方面的第十或第十一边缘计算设备,提供了根据本技术实施例第二方面的第十二边缘计算设备,所述存储模块从所述存储设备中读出所述第一数据。
33.根据本技术实施例第二方面的第十二边缘计算设备,提供了根据本技术实施例第二方面的第十三边缘计算设备,所述存储模块向所述存储设备发送第一种读命令,所述第一种读命令携带键,以读出与所述键对应的第一数据;或者,所述存储模块向所述存储设备发送第二种读命令,所述第二种读命令携带所述键以及指定条件,以读出与所述键对应的第一数据中符合所述指定条件的部分数据。
34.根据本技术实施例第二方面的第十三边缘计算设备,提供了根据本技术实施例第二方面的第十四边缘计算设备,所述第一种读命令还携带一个或多个数据长度。
35.根据本技术实施例第二方面的第一至第十四边缘计算设备之一,提供了根据本技术实施例第二方面的第十五边缘计算设备,所述存储设备包括命令处理模块、kv模块和存储介质;所述命令处理模块处理写命令或读命令;其中,所述命令处理模块响应于收到写命令,通过所述kv模块将键与对应的第二数据写入所述存储介质。
36.根据本技术实施例第二方面的第十五边缘计算设备,提供了根据本技术实施例第二方面的第十六边缘计算设备,所述存储设备还包括解压缩模块;所述命令处理模块响应于收到所述第一种读命令,向所述kv模块提供所述键;响应于获取所述键,所述kv模块从所述存储介质获取与所述键对应的第二数据;所述解压缩模块获取与所述键对应的第二数据,并将与所述键对应的第二数据解压缩,以获取与所述键对应的第一数据。
37.根据本技术实施例第二方面的第十五边缘计算设备,提供了根据本技术实施例第二方面的第十七边缘计算设备,所述存储设备还包括搜索模块和解压缩模块;所述命令处理模块响应于收到所述第二种读命令,向所述kv模块提供所述键,以及向所述搜索模块提供所述指定条件;响应于获取所述键,所述kv模块从所述存储介质获取与所述键对应的第二数据;所述解压缩模块获取与所述键对应的第二数据,并将与所述键对应的第二数据解压缩,以获取与所述键对应的第一数据;响应于获取所述指定条件,所述搜索模块从所述解压缩模块获取与所述键对应的第一数据;所述搜索模块根据所述指定条件,对与所述键对应的第一数据进行搜索,以获取符合所述指定条件的部分第一数据。
38.根据本技术实施例第二方面的第十六边缘计算设备,提供了根据本技术实施例第
二方面的第十八边缘计算设备,所述解压缩模块将与所述键对应的第一数据传输到所述边缘计算设备的内存;或者,所述解压缩模块将与所述键对应的第一数据中数据长度符合所述一个或多个数据长度的数据,传输到所述边缘计算设备的内存。
39.根据本技术实施例第二方面的第十七边缘计算设备,提供了根据本技术实施例第二方面的第十九边缘计算设备,所述搜索模块将符合所述指定条件的部分第一数据,传输到所述边缘计算设备的内存。
40.根据本技术实施例第二方面的第十八或第十九边缘计算设备,提供了根据本技术实施例第二方面的第二十边缘计算设备,所述计算单元还包括推送模块;所述推送模块将所述边缘计算设备的内存中的数据推送给云计算平台。
41.根据本技术实施例第二方面的第九边缘计算设备,提供了根据本技术实施例第二方面的第二十一边缘计算设备,所述计算单元包括存储模块;所述存储设备包括命令处理模块;所述存储模块向所述命令处理模块发送写命令,所述写命令包括第一种写命令、第二种写命令和第三种写命令;其中,所述第一种写命令指示键与所述第一数据,所述第二种写命令指示键与操作,所述第三种写命令指示键与值,所述操作指示所述存储设备待执行的操作。
42.根据本技术实施例第二方面的第二十一边缘计算设备,提供了根据本技术实施例第二方面的第二十二边缘计算设备,所述值为所述第二数据。
43.根据本技术实施例第二方面的第二十一或第二十二边缘计算设备,提供了根据本技术实施例第二方面的第二十三边缘计算设备,在所述存储模块向所述命令处理模块发送写命令之前,所述存储模块根据配置信息,生成所述第一种写命令、所述第二种写命令和所述第三种写命令中的一种写命令。
44.根据本技术实施例第二方面的第二十一至第二十三边缘计算设备之一,提供了根据本技术实施例第二方面的第二十四边缘计算设备,所述存储设备还包括kv模块、压缩模块和至少一个逻辑存储设备;响应于收到所述第一种写命令,所述命令处理模块通过向所述kv模块发送所述键,以及向所述压缩模块发送所述第一数据;响应于获取所述第一数据,所述压缩模块对所述第一数据进行压缩,得到所述第二数据;所述压缩模块向所述kv模块发送所述第二数据;响应于获取所述键和所述第二数据,所述kv模块将所述键和所述第二数据写入所述至少一个逻辑存储设备的第一逻辑存储设备。
45.根据本技术实施例第二方面的第二十四边缘计算设备,提供了根据本技术实施例第二方面的第二十五边缘计算设备,所述存储设备还包括聚合模块;响应于配置信息指示所述存储设备进行聚合操作,所述命令处理模块将所述键和所述第一数据发送给所述聚合模块;所述聚合模块根据所述配置信息的指示,对所述第一数据进行聚合操作,以获取聚合操作的结果;所述聚合模块将所述键和所述聚合操作的结果写入所述至少一个逻辑存储设备第二逻辑存储设备。
46.根据本技术实施例第二方面的第二十五边缘计算设备,提供了根据本技术实施例第二方面的第二十六边缘计算设备,所述聚合操作包括获取类别信息和/或累加。
47.根据本技术实施例第二方面的第二十五边缘计算设备,提供了根据本技术实施例第二方面的第二十七边缘计算设备,所述聚合模块根据所述键生成新的键;所述聚合模块将所述新的键和所述聚合操作的结果写入所述第二逻辑存储设备。
48.根据本技术实施例第二方面的第二十一至第二十三边缘计算设备之一,提供了根据本技术实施例第二方面的第二十八边缘计算设备,所述存储设备还包括kv模块、压缩模块、聚合模块和至少一个逻辑存储设备;响应于收到所述第二种写命令,所述命令处理模块将所述键与操作提供给所述聚合模块;所述聚合模块根据所述键生成新的键,并利用所述新的键从第二逻辑存储设备中获取与所述新的键对应的旧值;所述聚合模块对所述旧值进行更新,获取新值;所述聚合模块将所述新值写回所述第二逻辑存储设备。
49.根据本技术实施例第二方面的第二十八边缘计算设备,提供了根据本技术实施例第二方面的第二十九边缘计算设备,所述聚合模块通过所述kv模块将所述新值写入所述第二逻辑存储设备。
50.根据本技术实施例第二方面的第二十一至第二十三边缘计算设备之一,提供了根据本技术实施例第二方面的第三十边缘计算设备,所述存储设备还包括kv模块和至少一个逻辑存储设备;响应于收到所述第三种写命令,所述命令处理模块将所述键与值发送给所述kv模块;所述kv模块将所述键和值写入所述至少一个逻辑存储设备的一个逻辑存储设备中。
51.根据本技术实施例第二方面的第二十一至第三十边缘计算设备之一,提供了根据本技术实施例第二方面的第三十一边缘计算设备,所述存储模块向所述命令处理模块发送读命令,所述读命令包括第一种读命令和第二种读命令;其中,所述第一种读命令指示逻辑存储设备的标识和键,所述第二种读命令指示逻辑存储设备的标识、键和指定条件。
52.根据本技术实施例第二方面的第三十一边缘计算设备,提供了根据本技术实施例第二方面的第三十二边缘计算设备,所述第一种读命令还指示数据长度。
53.根据本技术实施例第二方面的第三十一或第三十二边缘计算设备,提供了根据本技术实施例第二方面的第三十三边缘计算设备,所述命令处理模块响应于所述第一读命令,将键提供给所述kv模块以从所指示的逻辑设备得到同键对应的值;所述解压缩模块对同键对应的值解压缩得到所述第一数据;所述命令处理模块响应于所述第一读命令,将键提供给所述kv模块以从所指示的逻辑设备得到同键对应的值;所述解压缩模块对同键对应的值解压缩,搜索模块用所述第二命令指示的指定条件搜索同键对应的值解压缩的结果得到第三数据,并将所述第三数据搬移到边缘计算设备内存;所述存储设备将所述第三数据发送给所述网络单元。
54.根据本技术实施例第二方面的第一至第三十三边缘计算设备之一,提供了根据本技术实施例第二方面的第三十四边缘计算设备,所述存储设备为固态硬盘。
55.根据本技术实施例第二方面的第十五边缘计算设备,提供了根据本技术实施例第二方面的第三十五边缘计算设备,所述命令处理模块处理的是存储模块发送的写命令或读命令。
56.根据本技术的第三方面,提供了根据本技术第三方面的第一数据采集系统,包括至少一个传感器、至少一个边缘计算设备和云计算平台,每个边缘计算设备与至少一个传感器耦合,所述云计算平台通过网络与所述至少一个边缘计算设备耦合;所述至少一个传感器收集第一数据;所述至少一个传感器向所述至少一个边缘计算设备发送所述第一数据;每个边缘计算设备根据配置信息,处理所述第一数据,以获取第二数据,所述第二数据占用的存储空间的大小小于所述第一数据占用的存储空间的大小,所述第一数据和所述第
二数据的格式不同,所述配置信息指示数据采集方式、数据推送方式和数据处理方式中的至少一者;所述边缘计算设备将所述第二数据写入存储介质,所述存储介质为所述边缘计算设备中的存储介质或所述存储介质与所述边缘计算设备耦合。
57.根据本技术的第三方面的第一数据采集系统,提供了根据本技术第三方面的第二数据采集系统,所述数据采集系统还包括至少一个物联网网关,每个物联网网关与至少一个传感器耦合,每个边缘计算设备与至少一个物联网网关耦合;所述至少一个传感器通过所述至少一个物联网网关,向所述至少一个边缘计算设备发送所述第一数据。
58.根据本技术的第三方面的第一或第二数据采集系统,提供了根据本技术第三方面的第三数据采集系统,所述边缘计算设备根据所述配置信息,从所述存储介质中获取第三数据,所述第三数据为所述第一数据的部分数据;所述边缘计算设备根据所述配置信息,向所述云计算平台推送所述第三数据。
59.根据本技术的第三方面的第一至第三数据采集系统之一,提供了根据本技术第三方面的第四数据采集系统,所述边缘计算设备为如上述第一方面中任一项所述的边缘计算设备。
60.根据本技术的第三方面的第一至第三数据采集系统之一,提供了根据本技术第三方面的第五数据采集系统,所述边缘计算设备为如上述第二方面中任一项所述的边缘计算设备。
61.根据本技术的第四方面,提供了根据本技术第四方面的第一物联网数据采集方法,应用于如上述第三方面中任一项所述的数据采集系统,所述方法包括:根据配置信息,获取第一数据,所述第一数据为传感器采集的,所述配置信息指示数据采集方式、数据推送方式和数据处理方式中的至少一者;根据所述配置信息,对所述第一数据进行处理,获取第二数据,所述第一数据和所述第二数据的格式不同;将所述第二数据存储到本地存储设备中。
62.根据本技术的第四方面的第一物联网数据采集系统,提供了根据本技术第四方面的第二物联网数据采集方法,在获取所述第一数据前,获取所述配置信息。
63.根据本技术的第四方面的第一或第二物联网数据采集系统,提供了根据本技术第四方面的第三物联网数据采集方法,根据所述配置信息,从所述本地存储设备中获取第三数据,所述第三数据为所述第一数据的部分数据;推送所述第三数据。
64.根据本技术的第四方面的第三物联网数据采集系统,提供了根据本技术第四方面的第四物联网数据采集方法,所述从所述本地存储设备中获取第三数据,包括:根据所述配置信息,获取数据索引,所述数据索引指向所述第三数据对应的部分第二数据在所述本地存储设备的位置;获取所述部分第二数据,对所述部分第二数据进行处理,以使所述部分第二数据恢复为与所述部分第二数据对应的部分第一数据,所述部分第一数据为所述第三数据。
65.根据本技术的第五方面,提供了根据本技术第五方面的第一设备注册方法,应用于如上述第三方面中任一项所述的数据采集系统,所述方法包括:第二设备获取第一设备的自注册请求,所述第一设备包括传感器、物联网网关和边缘计算设备,所述第二设备为所述数据采集系统中的已注册设备,所述第二设备包括物联网网关、边缘计算设备和云计算平台;所述第二设备根据所述自注册请求携带的信息,对所述第一设备进行认证。
66.根据本技术的第五方面的第一设备注册方法,提供了根据本技术第五方面的第二设备注册方法,所述方法还包括:响应于认证完成,所述第二设备向所述第一设备发送认证完成信息,以指示所述第一设备注册完成。
67.根据本技术的第五方面的第一或第二设备注册方法,提供了根据本技术第五方面的第三设备注册方法,所述第一设备获取到所述认证完成信息或所述第二设备发送的推送使能信息之后,所述第一设备向所述第二设备推送数据的功能使能。
68.根据本技术的第五方面的第一设备注册方法,提供了根据本技术第五方面的第四设备注册方法,在所述第一设备为传感器时,所述第二设备为物联网网关或边缘计算设备;在所述第一设备为物联网网关时,所述第二设备为边缘计算设备;在所述第一设备为边缘计算设备时,所述第二设备为云计算平台。
69.根据本技术的第五方面的第四设备注册方法,提供了根据本技术第五方面的第五设备注册方法,在所述第一设备为边缘计算设备、所述第二设备为云计算平台时,所述方法还包括:响应于认证完成,所述第二设备向所述第一设备发送配置信息,所述配置信息指示数据采集方式、数据推送方式和数据处理方式中的至少一者。
70.根据本技术的第五方面的第四设备注册方法,提供了根据本技术第五方面的第六设备注册方法,在所述第一设备为边缘计算设备、所述第二设备为云计算平台时,所述方法还包括:所述第一设备向所述第二设备发送用于确认配置信息的消息,所述配置信息指示数据采集方式、数据推送方式和数据处理方式中的至少一者;所述第二设备确认所述配置信息是否有误。
71.根据本技术的第五方面的第六设备注册方法,提供了根据本技术第五方面的第七设备注册方法,所述第二设备确认所述配置信息无误时,向所述第一设备发送推送使能信息;所述第二设备确认所述配置信息有误时,向所述第一设备发送正确的配置信息。
72.本技术实施例通过利用边缘计算设备替代云计算平台进行部分数据处理,解决了现有技术中物联网的设备无法满足人们对于物联网的需求的技术问题,达到降低物联网的部署及运营难度、以及改善物联网设备与物联网数据采集与应用方式适配不良的技术效果。
附图说明
73.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
74.图1为现有技术中的传统物联网数据采集系统的示意图;
75.图2为本技术实施例提供的物理网数据采集系统的示意图;
76.图3为本技术实施例提供的边缘计算设备的框图;
77.图4为本技术实施例提供的物联网数据采集系统的时序图;
78.图5为本技术实施例提供的物联网数据采集方法的一种流程示意图;
79.图6为本技术实施例提供的物联网数据采集方法的又一种流程示意图;
80.图7为本技术实施例提供的边缘计算设备向云计算平台推送数据的示意图;
81.图8为本技术实施例提供的边缘计算设备对数据进行压缩的示意图;
82.图9为本技术实施例提供的边缘计算设备读取数据并进行数据推送的示意图;
83.图10为本技术实施例提供的边缘计算设备读取数据并进行数据推送的又一示意图;
84.图11为本技术实施例提供的边缘计算设备读取数据并进行数据推送的再一示意图。
具体实施方式
85.下面结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
86.虽然当前申请参考的示例被描述,其只是为了解释的目的而不是对本技术的限制,对实施方式的改变,增加和/或删除可以被做出而不脱离本技术的范围。
87.图2给出了本技术实施例提供的数据采集系统200的示意图。如图2所示,数据采集系统200包括云计算平台210、边缘计算设备220、边缘计算设备221、边缘计算设备222、物联网网关230、物联网网关231、物联网网关232和传感器240、241、242、
……
、248。云计算平台210与边缘计算设备220-222耦合,边缘计算设备220与物联网网关230-232耦合,物联网网关230与传感器240-242耦合、物联网网关231与传感器243-245耦合、物联网网关232与传感器246-248耦合。虽然图2中并未示出,可选地,边缘计算设备221和222也耦合物联网网关。依然可选地,边缘计算设备221与222不通过物联网网关而直接耦合一个或多个传感器。本技术实施例中的传感器包括例如温度传感器、射频识别(rfid,radio frequency identification)设备、红外感应器、湿度传感器、全球定位系统、激光扫描器、视音频记录仪等信息传感设备。
88.相对于现有技术的物联网系统,根据本技术实施例的数据采集系统部署了多台边缘计算设备。边缘计算设备管理从传感器的数据采集,存储传感器采集的原始数据,以减轻数据采集系统对云计算平台的存储容量与存储带宽需求。边缘计算设备还对采集的数据进行聚合、统计或处理,以减少云计算平台应用传感器数据时在网络中的数据传输。边缘计算设备还向云计算平台推送数据。
89.下面以传感器240、物联网网关230、边缘计算设备220及云计算平台210为例,描述数据采集系统200的工作方式。传感器240根据物联网协议收集数据。可选地,物联网协议包括mqtt、dds、amqp、xmpp、jms、rest、coap等。进一步可选地,传感器240收集到的数据包括状态数据、定位数据、个性化数据、可供行为参考的数据和用户反馈数据等。传感器240按照预定时间间隔或持续地收集并发送数据,从而从传感器240获得的数据被称为时间序列数据。表1展示了时间序列数据的特点,其数据源是例如(传感器a),包括按时间顺序的多个时间值数据。随时间流逝,新的时间值数据不断出现,而旧的时间值数据通常不需要改写。时间序列数据可按时间检索。表1中,对于条目1,时间值1收集到的数据取值为12、时间值2收集到的数据取值为17、时间值3收集到的数据取值为10。
90.表1
91.索引时间值1时间值2时间值3

传感器a121710

92.在访问时间序列数据时,通常指定索引(例如传感器a)与时间区间,以获得对应的一个或多个数值。在又一个例子中,希望获取时间序列数据的统计值(例如平均值)。
93.传感器a还包括属性,例如,传感器a所在的位置,所使用的数据传输协议等。这类数据具有kv(键-值)数据的特征。
94.为了有效存储和检索传感器采集的数据,根据本技术实施例的边缘计算设备,还包括时间序列数据库与kv存储设备,以分别容纳传感器采集的时间序列数据,与同传感器有关的kv数据。可选地,时间序列数据也被视作以“索引”(也参看表1)为键,以时间值序列为值得kv数据,从而也可以记录在kv存储设备中。
95.根据本技术的实施例,数据采集系统200中,边缘计算设备(220、221与222)存储各传感器采集的数据。从而多个边缘计算设备构成分布式存储系统。传感器采集的数据不必发送给云计算平台210,也不必由云计算平台210存储传感器采集的原始数据,降低了数据采集系统200内的数据传输量,也降低了对云计算平台的存储空间和数据访问的需求。边缘计算设备(220、221与222)还为数据采集系统提供数据检索服务,以替代或协助云计算平台210对传感器数据的利用。例如,云计算平台210需要使用传感器244在指定时间段的数据,则向例如全网广播对传感器244的指定时间段的数据查询请求,而边缘设备220响应于收到查询请求并知晓自己存储有传感器244的数据,从而从自身的时间序列数据库和/或kv存储设备获取传感器244的指定时间段的数据,并提供给云计算平台210。
96.例如,传感器240每隔10分钟向物联网网关230推送1次数据,或者传感器240在收集数据的同时也向物联网网关230推送数据。物联网网关230收到传感器240推送的数据之后,继续根据物联网协议将数据推送给边缘计算设备220。可选地,物联网网关230推送数据的方式与传感器240推送数据的方式相似,可参照传感器240推送数据的方式,在此不再赘述。边缘计算设备220物联网网关230推送的数据进行处理并存储。可选地,边缘计算设备220对数据进行压缩、归并、统计、贴标签、加入索引、定义数据的排列结构等处理。边缘计算设备220将处理后的数据存储到本地存储设备中。进一步可选地,边缘算设备220定期地将本地存储设备中的部分数据推送给云计算平台210,或者,响应于云计算平台210的指示,边缘计算设备220根据该指示将本地存储设备中的部分数据推送给云计算平台210。可选地,本实施例中数据采集系统200的多个传感器是相同或不同种类的传感器。
97.在一个实施例中,数据采集系统不设置物联网网关,传感器都是直接向边缘计算设备推送数据。例如,数据采集系统200不设置物联网网关230-232,传感器240-248直接将收集到的数据推送给边缘计算设备220。传感器240-248推送数据的方式可参见上述实施例中的描述,在此不再赘述。
98.在另一个实施例中,数据采集系统中的部分传感器向物联网网关推送数据,另一部分传感器向边缘计算设备推送数据。例如,数据采集系统200没有设置物联网网关232,传感器240-242向物联网网关230推送数据,传感器243-245向物联网网关231推送数据,传感器246-248则向边缘计算设备220推送数据。
99.例如,数据采集系统200应用于自动化控制系统,数据采集系统200需要采集50或60种数据,例如燃气量、发电量、平均发电效率等。本实施例中的数据采集系统200中的边缘
计算设备在每个小时根据采集的数据计算例如平均发电效率(平均发电效率是例如累加过去1小时的发电量与输入能量的比值)。边缘计算设备仅把代表平均发电效率的计算结果推送给云计算平台210。从而无需云计算平台获取所有采集的发电量/输入能量等数据。可选地,多个边缘计算设备的一个或多个(220、221与223),每小时向云计算平台210提供其负责采集的传感器提供的过去1小时的发电量与输入能量,从而云计算平台210每小时都获得了数据采集系统200的多个或所有传感器提供的发电量与输入能量,并进而得到数据采集系统200全系统的平均发电效率。
100.通过边缘计算设备承担采集数据的存储与一些计算,减少上传至云计算平台的数据量,并降低对云计算平台的存储与计算能力的要求,从而达到数据采集系统的业务吞吐、提升整体性能的技术效果。
101.图3为本技术实施例提供的边缘计算设备的框图。
102.参见图3,边缘计算设备300包括固态硬盘310和计算单元330。固态硬盘310与计算单元330耦合,计算单元330与边缘计算设备300外部的传感器及云计算平台耦合。
103.可选地,边缘计算设备300还包括网络单元320。固态硬盘310与计算单元330和网络单元320耦合,计算单元330与网络单元320耦合,网络单元320还与边缘计算设备300外部的传感器、物联网网关(物联网网关未在图3中示出)及云计算平台耦合。
104.下面以数据采集系统200中的边缘计算设备220是如图3所示的边缘计算设备300、以及传感器收集的数据为图像数据为例,介绍边缘计算设备300的工作方式。
105.在一种实施方式中,计算单元330接收传感器247或物联网网关232推送的图像数据。计算单元330将该图像数据存储到边缘计算设备300的内存中。计算单元330还根据配置信息对内存中的图像数据进行处理。计算单元330将处理后的图像数据存储到固态硬盘310中。
106.在又一种实施方式中,计算单元330接收传感器247或物联网网关232推送的图像数据。计算单元330将该图像数据存储到边缘计算设备300的内存中。计算单元330对内存中的第一数据(即图像数据)进行压缩和/或标记,获取第二数据。计算单元330将第二数据存储到固态硬盘310中。
107.在又一种实施方式中,网络单元320接收传感器247或物联网网关232推送的图像数据。网络单元320将该图像数据存储到边缘计算设备300的内存中。网络单元320向计算单元330发送第一消息,以指示计算单元330对内存中数据进行处理。响应于获取第一消息,计算单元330根据配置信息对内存中的图像数据进行处理。计算单元330将处理后的图像数据存储到固态硬盘310中。(使用配置信息是一个单独的实施例;不使用配置信息,也是一种实施方式)(再集中介绍配置信息)
108.在另一实施方式中,网络单元320接收传感器247或物联网网关232推送的图像数据。网络单元320将该图像数据存储到边缘计算设备300的内存中。网络单元320向计算单元330发送第一消息,以指示计算单元330对内存中数据进行处理。响应于获取第一消息,计算单元330对内存中的第一数据进行压缩和/或标记,获取第二数据。计算单元330将第二数据存储到固态硬盘310中。
109.可选地,本实施例中的计算单元330包括配置获取模块、传感器数据采集配置模块与命令处理模块。配置获取模块获取云计算平台发送的配置信息或者边缘计算设备本地存
储的配置信息。命令处理模块处理云计算平台发送的数据读取命令。
110.传感器数据采集配置模块根据配置获取模块提供的配置信息,操作采集模块、聚合模块、存储模块和推送模块的一个或多个来采集传感器数据,并推送给云计算平台。配置信息指示了例如传感器的地址、型号、传输协议、采集数据的格式、所采集数据的存储名称和/或位置、对所采集数据的聚合操作种类、对所采集数据的推送方式等。
111.采集模块获取网络单元320、传感器或物联网网关发送的待处理的数据。聚合模块根据采集的数据生成经编码的时间序列数据(也参看表3),对采集模块获取的数据进行标记和/或压缩,以获取该数据对应的统计信息和/或压缩后的数据。存储模块将经过聚合模块处理后的数据以压缩的时间序列数据和/或kv数据形式存储到固态硬盘310中,以及从固态硬盘310中读取指定的数据。推送模块将从固态硬盘310读取的数据推送给网络单元320或云计算平台。命令处理模块获取云计算平台发送的数据读取命令,并根据数据读取命令对采集模块、聚合模块、存储模块和推送模块的一个或多个进行指示,以处理数据读取命令。
112.本实施例中,配置信息为计算单元330从云计算平台210处获取的。或者,配置信息是在边缘计算设备300注册到数据采集系统后,云计算平台210向边缘计算设备300发送的,边缘计算设备300将配置信息保存在本地(例如保存在内存或固态硬盘310中),计算单元330从本地获取配置信息。或者,边缘计算设备300获取到配置信息之后,对计算单元330进行配置,使其后续的数据处理方式都按照配置信息进行。其中,配置信息包括数据采集配置信息,指示数据采集系统中各传感器的名称、类型、使能状态、待采集的数据的地址及长度等。配置信息还指示从各传感器采集数据所使用物联网协议(例如modbus tcp),所采集的数据的类型、在时间序列数据库中的入库规则(所添加至的数据表以及对应的索引),采集数据的触发条件(例如间隔时间)。配置信息还指示对所采集数据进行聚合的种类与方式,例如,采用的压缩算法、排序方式与编码方式,计算平均值、计算累计值,以及记录聚合数据所使用的键或标签的名称等。可选地,配置信息指示从单一传感器采集多种数据,和/或按多种方法采集数据。
113.作为举例,根据配置信息传感器数据采集配置单元指示采集模块从传感器采集视频流中的各帧图像数据,指示聚合模块从图像数据中提取人脸,对含有人脸的图像数据生成标签,指示存储模块将各帧图像数据记录在时间序列数据库,将带有标签的图像数据以kv形式存储在固态硬盘310。可选地,标签还指示了对人脸的聚类信息。
114.依然可选地,计算单元330间隔预设时长(例如1小时、1天、3天等),向云计算平台210请求更新/获取配置信息。又如,响应于收到云计算平台210提供的命令,计算单元330向云计算平台210请求获取配置信息。
115.可选地,配置信息还包括数据推送配置信息。数据推送信息指示边缘计算设备向云计算平台推送数据的要求,例如,数据推送配置包括待推送的数据的数据索引或指向该数据索引的标识。又如,数据推送配置包括处理数据的算法(比如求平均值、累加等)。进一步可选地,配置信息以配置表的形式在数据采集系统中传输或存储。
116.在一种实施方式中,计算单元330接收云计算平台210的数据推送请求,该数据推送请求携带数据索引或指示数据索引的标识。申请号为201910874351.8、201910944900.4、201910247686.7、201810271465.9、201810207416.9与201810332295.0的中国专利申请提
供了在分布式存储系统中查询或搜索数据的方法。作为举例,云计算平台提供的数据推送请求包括上述在前申请中的查询请求或搜索数据的请求。具体地,一个数据推送请求(记为r1)希望获取指定时间与地点的图像数据,而另一个数据推送请求(记为r2)希望获取具有指定类型的人脸的图像数据。
117.对于请求r1,计算单元330根据该数据索引或数据索引的标识获取待读取的时间序列数据图像数据在固态硬盘310中的地址。计算单元330根据该地址向固态硬盘310发送读数据访问请求,固态硬盘310接收到该读数据访问请求之后,读出该地址中存储的编码后的时间序列数据,并将其恢复为处理前的图像数据(即恢复为传感器247收集到的图像数据)。进一步地,计算单元还从读取的数据中获取对应指定地点(对应该地点的传感器)与指定时间的图像数据,计算单元330将获取的图像数据推送给云计算平台210。从而,对于请求r1,仅将所需的指定时间与地点的图像数据传输至云计算平台,而无需传输其他地点或其他时间的数据。
118.对于请求r2,计算单元330根据该数据索引或数据索引的标识生成待读取的数据的键(对应要访问的人脸类型)。通过存储模块从固态硬盘310获取同该键对应的值。所获取的值是是具有要访问的人脸类型的人脸图像。可选地,所获取的值是人脸图像的缩略图与其在时间序列数据库中的索引,并可进一步获得时间序列数据库中的原始图像数据。推送模块将获取的该值推送给云计算平台210。本实施例中,仅将要访问的人脸类型的人脸数据推送给云计算平台,大大减少数据索引对应的待推送给云计算平台的图像数据量。例如,固态硬盘310中存储有100万个图像数据,通过聚类计算,将100万个数据分成了1000类,每一类有1000个图像数据。相较于传统的需要将100万个图像数据都推送给云计算平台,本实施例仅需要推送对应于数据索引的1类(即1000个)的图像数据,达到大幅度减少待推送给云计算平台的数据量的效果。
119.在又一种实施方式中,网络单元320接收云计算平台210的数据推送请求,该数据推送请求携带数据索引或指示数据索引的标识。网络单元320根据该数据索引或数据索引的标识从内存中获取待读取的图像数据在固态硬盘310中的地址。网络单元320根据该地址向固态硬盘310发送读数据访问请求,固态硬盘310接收到该读数据访问请求之后,读出该地址中存储的处理后图像数据,并将其恢复为处理前的图像数据。网络单元320将处理前的图像数据推送给云计算平台210。
120.可选地,本实施例中固态硬盘310中存储的处理后的图像数据是以键-值(key-value,简称kv)存储方式进行存储的。
121.表2
122.索引时间值1时间值2时间值3

条目1121710

条目2171121

条目3222914
………………
123.表2示例性的给出边缘计算设备内存中存储的从传感器采集的原始数据。表2中的数据是多个时序传感器收集的。索引包括不同的条目,每个条目对应于不同的传感器。例如,条目1对应于传感器240、条目2对应于传感器241、条目3对应于传感器247,则表2给出了
在时间值1这一时刻,传感器240、241和247收集的数据取值分别是12、17和22;在时间值2这一时刻,传感器240、241和247收集的数据取值分别是17、11和29;在时间值3这一时刻,传感器240、241和247收集的数据取值分别是10、21和14。可选地,待处理的数据以时间序列数据库的形式存储在边缘计算设备内。时间序列数据库由提供计算单元330运行软件实现,其数据也存储在例如固态硬盘310中。
124.表3
125.keyvalue条目1encode{12,17,

}条目2encode{





}
……
126.表3给出key-value(键-值)形式存储的数据。本实施例中,固态硬盘310中的数据就以如表3所述的存储形式进行存储。
127.例如,边缘计算设备300接收到的是如表2所示的格式的时间序列数据,聚合模块或时间序列数据库对接收到的时间序列数据进行格式变换,获得键-值(kv)数据并存储在固态硬盘310。可选地,格式变换包括压缩、归并、加入索引、定义排列结构等。
128.可选地,聚合模块对接收到的如表2所示的时间序列数据进行聚类、统计等处理,可选地还生成标签。存储模块将这些生成的信息以kv形式记录在固态硬盘310中。
129.又例如,根据配置信息,要求向云计算平台推送指定特征的数据。固态硬盘310根据配置信息从自身存储的所有数据中获取符合该指定特征的数据。例如,传感器采集的图像数据分为包括人的图像和不包括人的图像。若配置信息指示的指定特征包括人、以及拍摄时间是7点到7点10分,则计算单元330从固态硬盘310读取所有包括人且拍摄时间是7点到7点10分的图像数据并按配置信息的要求推送给云计算平台210。
130.可选地,固态硬盘310在输出具有指定特征的数据前,还对数据进行解压缩、定义排列结构等处理,使得输出的具有指定特征的数据与传感器收集到的数据的格式相同。
131.进一步可选地,边缘计算设备300不设置计算单元330,边缘计算设备300收到推送的数据后,将推送的数据存储到内存中,并指示固态硬盘310进行数据存储。响应于该数据存储指示,固态硬盘310对推送的数据进行格式变换、压缩、归并、定义排列结构等处理,并保存处理后的数据。
132.图4为本技术实施例提供的数据采集系统中设备注册的时序图。
133.本实施例中,传感器向物联网网关或边缘计算设备注册,物联网网关向边缘计算设备注册,边缘计算设备向云计算平台注册。在数据采集系统组建时以及数据采集系统增加设备时,都需要进行设备注册。图4中给出了传感器向物联网网关注册的流程、传感器向边缘计算设备注册的流程、物联网网关向边缘计算设备注册的流程、以及边缘计算设备向云计算平台注册的流程。
134.具体的,传感器向物联网网关注册的流程包括:传感器向物联网网关推送自注册信息;物联网网关接收到该自注册信息;物联网网关默认传感器已经注册成功,或者物联网网关向传感器发送表征认证连接成功的消息。例如,物联网网关和传感器配置为物联网网关默认传感器已经注册成功,即传感器只要向物联网网关推送自注册信息也默认自身注册完成,从而在传感器向物联网网关推送自注册信息之后,随时均可开始向物联网网关推送
数据。又如,物联网网关和传感器配置为传感器接收到表征认证连接成功的消息为设备注册完成,则在传感器接收到该表征认证连接成功的消息后,传感器才可向物联网网关推送数据。
135.传感器向边缘计算设备注册的流程与传感器向物联网网关注册的流程相似,区别仅在于传感器推送自注册信息的对象是边缘计算设备。物联网网关向边缘计算设备注册的流程与传感器向物联网网关注册的流程也相似,区别仅在于是物联网网关向边缘计算设备推送自注册信息。
136.边缘计算设备向云计算平台注册的流程包括:边缘计算设备向云计算平台推送自注册信息;云计算平台接收到该自注册信息;可选地,云计算平台向边缘计算设备发送表征认证连接成功的消息;可选地,云计算平台向边缘计算设备发送配置信息或配置表;进一步,边缘计算设备向云计算平台确认配置信息,例如边缘计算设备向云计算平台发送携带配置信息的确认消息。云计算平台在确认边缘计算设备侧的配置信息无误时,可选地向边缘计算设备发送推送使能指示。若云计算平台确认边缘计算设备侧的配置信息有误,则向边缘计算设备发送更正配置信息的指示。边缘计算设备在没有收到更正配置信息的指示的情况下,即可开始向云计算平台推送数据。
137.本实施例中,在注册到数据采集系统之后,位于数据采集系统最末端的传感器开始采集数据,并向上级进行数据推送;物联网网关和/或边缘计算设备在收到下级推送的数据之后,也会向上级推送数据,从而使得传感器采集的数据在数据采集系统中流转。例如,在图4中,除了推送采集到的数据,上下级设备之间也会进行其它数据(比如自注册信息)的流转。而在注册到数据采集系统之后,各个设备能够根据配置信息完成数据推送。
138.根据本技术的实施例,云计算平台通过边缘计算设备获取数据采集系统的数据。云计算平台向边缘计算设备提供配置表,配置表承载了根据本技术实施例的配置信息。边缘计算设备根据配置信息从传感器采集数据并向云计算平台推送数据。可选地,云计算平台通过向边缘计算设备提供配置表来发出数据推送请求。
139.图5为本技术实施例提供的物联网数据采集方法的示意图。以边缘计算设备300执行如图5所示的物联网数据采集方法为例,描述该方法的执行过程。
140.步骤s501,边缘计算设备300获取数据采集配置信息。例如,计算单元330从云计算平台获取指示数据采集的配置信息。步骤s502,边缘计算设备300根据配置信息指示的数据采集方式从传感器采集数据。
141.步骤s503,边缘计算设备300根据配置信息指示的数据处理方式,压缩采集到的数据,获取压缩数据,并计算采集到的数据的聚合信息。
142.步骤s504,边缘计算设备300将压缩数据与聚合信息写入本地存储设备。计算单元330执行完步骤s503之后,将压缩数据和聚合信息写入固态硬盘310。
143.步骤s505,边缘计算设备300根据配置信息将解压缩后的数据推送给云计算平台。本实施例中,步骤s505为可选步骤,即配置信息指示在处理数据后还将数据推送给云计算平台时,计算单元330才执行步骤s505;若配置信息没有指示还将数据推送给云计算平台,计算单元330执行到步骤s504之后停止。
144.图6为本技术实施例提供的又一种物联网数据推送方法的示意图。
145.步骤s601,获取数据推送配置信息。
146.步骤s602,根据配置信息获取待推送的数据索引。
147.步骤s603,用数据索引从存储设备获取数据。
148.步骤s604,将获取的数据推送到云计算平台。
149.同样以边缘计算设备300为例,描述该方法的执行过程。例如,边缘计算设备300从云计算平台处获取数据推送配置信息,该数据推送配置信息指示了待推送的数据的数据索引与推送时机。计算单元330根据该数据推送配置信息,获取数据索引,并根据数据索引从固态硬盘310中读取待推送的数据。并将待推送的数据推送给云计算平台。其中的步骤s601是可选步骤,在边缘计算设备300已经获知数据推送配置信息的情况下,可以选择性地执行步骤s601。
150.图7为本技术实施例提供的边缘计算设备向云计算平台推送数据的示意图。
151.边缘计算设备的计算单元首先根据配置信息获取数据索引。例如,配置信息指示了要推送的数据的数据索引为“条目1”。计算单元根据数据索引以例如kv方式访问固态硬盘。固态硬盘中,对应键(k=条目1)存储的是经压缩的对应条目1的时间序列数据(记为ecode{12,17,

})。响应于收到键(k=条目1),固态硬盘读出对应的值(ecode{12,17,

}),以及还对值(ecode{12,17,

})进行解压缩,将键(k=条目1)与解压缩后的值({12,17,

})搬移到边缘计算设备的内存中。计算单元将内存中的键(k=条目1)与解压缩后的值({12,17,

})推送给云计算平台。
152.根据本技术实施例,固态硬盘响应于读出数据的访问请求,还对读出的经压缩数据(例如ecode{12,17,

})进行解压缩,从而边缘计算设备的计算单元得以直接使用解压缩的数据。依然可选地,计算单元将数据写入固态硬盘前对数据进行压缩,压缩数据以kv形式记录在固态硬盘中,以节约固态硬盘的存储空间。
153.图8为本技术实施例提供的边缘计算设备对数据进行压缩的示意图。
154.图8展示了传感器采集的数据在边缘计算设备中的存储形式。传感器采集的数据以时间序列数据的形式存储在内存中,每个条目包括多个值,例如值1、值2、值3和值4。边缘计算设备的计算单元对内存中的数据条目进行数据压缩得到压缩后的数据,然后计算单元将压缩后的数据采用kv存储的方式存储到固态硬盘中。
155.图9为本技术实施例提供的边缘计算设备读取数据并进行数据推送的示意图。
156.如图9所示,边缘计算设备的计算单元首先根据数据索引(键k)从固态硬盘中读取数据。固态硬盘接收到来自计算单元的读数据请求后,除了读出存储在自身压缩数据之外,固态硬盘还对该压缩数据进行解压缩。固态硬盘将解压缩之后的数据输出到边缘计算设备的内存。图9中,内存中展示的包括由4个传感器数据条目所展示的时间序列数据由固态硬盘输出的解压缩后的同键k对应的数据。计算单元根据配置信息或数据索引,搜索存储在内存中的4个传感器数据条目,以获得例如由传感器数据条目1的第2个值(记为“传感器数据条目1,值2”)。计算单元将经过搜索后得到的数据(“传感器数据条目1,值2”)推送到云计算平台。
157.图10展示了根据本技术又一实施例提供的边缘计算设备读取数据推送的示意图。
158.在根据图10的实施例中,边缘计算设备1000的固态硬盘1010进一步提供数据解压缩与搜索功能,以进一步分担计算单元1030的负担。也减少数据采集与应用过程(如推送数据)中的数据搬移的数量和距离,来降低功耗并提高效率。
159.边缘计算设备1000包括固态硬盘1010、网络单元1020、计算单元1030与内存1040。
160.计算单元1030将从传感器采集的数据组织为时间序列数据,并写入固态硬盘1010。计算单元1030还包括压缩模块,压缩模块对要写入固态硬盘1010的时间序列数据进行压缩,得到压缩后的数据(例如记为encode{12,17,

})以减少时间序列数据占用的存储空间。计算单元1030的存储模块以例如kv形式将时间序列数据写入固态硬盘1010,例如,以指示“条目1”的索引作为键,而以时间序列作为同键对应的值。而固态硬盘1010中存储的数据以指示“条目1”的索引作为键,而以压缩后的数据(例如encode{12,17,

})作为同键对应的值。从而,存储模块知晓同键对应的时间序列数据的大小,而可选地,存储模块无需知晓同键对应的压缩后数据的大小。
161.可选地,存储模块还从固态硬盘1010读出时间序列数据。存储模块通过向固态硬盘提供键来读出同键对应的时间序列数据。可选地,存储模块通过向固态硬盘提供键与指定条件来读出同键对应的时间序列数据中满足指定条件的部分。例如,指定条件指示时间序列中的第二个数据(参看图10,例如,对应条目2的值2)。指定条件还可以被表达为要读取的数据在整个时间序列中的地址范围(例如,从10-20的地址范围,其起始地址为同键对应的时间序列数据的开头)。由于存储模块知晓同键对应的时间序列数据的长度,其向固态硬盘1010提供的指定条件关联于该长度,而不是关联于压缩后的数据长度,因为数据压缩后的长度是不确定的。
162.固态硬盘1010以kv形式存储了压缩后的时间序列数据。响应于计算单元1030的存储模块提供了键与指定条件来读出数据,固态硬盘1010从存储介质中获取同键(例如,条目2)对应的数据(encode{值1,值2,值3,值4})。在固态硬盘1010内部,对读出的压缩数据(encode{值1,值2,值3,值4})解压缩,得到时间序列数据(条目2,{值1,值2,值3,值4})。进一步地,固态硬盘1010还根据存储模块提供的条件(例如,时间序列的第2个值)从解压缩得到的时间序列数据(条目2,{值1,值2,值3,值4})中找到“值2”,并将其输出到边缘计算设备1000的内存1040。以及计算单元1010的推送模块用内存1040中的“值”2作为响应推送给云计算平台。
163.继续参看图10,根据本技术的实施例,固态硬盘1010包括命令处理模块、kv模块、搜索模块、解压缩模块与存储介质。
164.固态硬盘1010的命令处理模块处理计算单元1030的存储模块提供的kv形式的数据写入或读出命令。存储模块提供的数据写入命令对应压缩后的数据。固态硬盘1010的命令处理模块响应于收到数据写入命令,通过kv模块将键与对应的压缩数据写入存储介质。存储模块提供给固态硬盘1010的命令处理模块的读出命令包括2种,其一指示键、以及可选的指示长度(该长度为同键对应的时间序列数据的长度),其二指示键与指定条件。
165.固态硬盘1010的命令处理模块响应于收到第一种读命令,将键提供给kv模块以从存储介质获取同键对应的值。所获取的值是压缩的,解压缩模块对所获取的值解压缩。解压缩得到的时间序列数据被传输到边缘计算设备1000的内存1040。可选地,若第一种读命令还指示了长度,则从解压缩得到的时间序列数据中将读命令所指示的长度对应的部分数据传输到边缘计算设备1000的内存1040,而非将所有解压缩的数据传输到边缘计算设备1000的内存1040,从而减少了数据搬移的距离和开销。
166.固态硬盘1010的命令处理模块响应于收到第二种读命令,将键提供给kv模块以从
存储介质获取同键对应的值,以及将第二种命令指示的指定条件提供给搜索模块。kv模块以从存储介质获取同键对应的值。解压缩模块对所获取的值解压缩。解压缩得到的时间序列数据在固态硬盘1010内部,而不是已经传输到边缘计算设备1000的内存1040。接下来,搜索模块用第二种命令指示的指定条件从解压缩得到的时间序列数据中搜索符合该指定条件的部分数据(也参看图10,例如“值2”),将该部分数据搬移到边缘计算设备1000的内存1040。从而计算单元1030的推送模块将内存1040中的“值2”推送给云计算平台。
167.图11展示了根据本技术另一实施例提供的边缘计算设备读取数据推送的示意图。
168.在根据图11的实施例中,同固态硬盘1010相比,边缘计算设备1100的固态硬盘1110进一步提供数据压缩与数据聚合功能,以进一步分担计算单元1130的负担。相应地,计算单元1130同计算单元1030相比,不包括聚合模块。固态硬盘1110提供例如2个逻辑存储设备(例如,ns1与ns2),在nvme协议中,逻辑存储设备是命名空间(ns,name space)。2个逻辑存储设备分别用于存储压缩后数据与未经压缩的数据。可选地,两个逻辑存储设备各自提供kv接口或块设备接口。在图11展示的例子中,两个逻辑存储设备都采用kv接口。
169.边缘计算设备1100包括固态硬盘1110、网络单元1120、计算单元1130与内存1140。
170.计算单元1130将从传感器采集的数据组织为时间序列数据,并写入固态硬盘1110。
171.计算单元1130的存储模块向固态硬盘1110的命令处理模块提供的数据写入命令包括三种,其一指示键与时间序列数据(需压缩),其二指示键与操作,其三指示键与值(无需压缩)。可选地,第一种写命令暗示了固态硬盘1110对写入的数据执行由配置信息所指示的操作,而第二种写命令则明示固态硬盘1110要执行的诸如聚合操作,第三种写命令是诸如通常的操作kv接口的put(键,值)操作。
172.例如,计算单元1130根据配置信息从传感器采集了时间序列数据,通过第一种写命令将时间序列数据写入固态硬盘1110。
173.可选地,通过配置信息,计算单元1130识别需要对采集的数据实施聚合操作。在一个例子中,计算单元1130通过存储模块生成第二种写命令,以指示固态硬盘1110实施相应的聚合操作。在又一个例子中,计算单元1130根据配置信息对采集信息进行处理,生成诸如标签或聚合操作的结果,并通过第三种写命令将生成的值写入固态硬盘1110。
174.固态硬盘1110的命令处理模块响应于收到第一种写命令,将键与时间序列数据提供给kv模块以向逻辑存储设备(ns1)写入键与时间序列数据压缩后的值。由压缩模块对时间序列数据进行压缩。可选地,响应于配置信息指示了要进行的聚合操作,固态硬盘1110的命令处理模块还将键与时间序列数据提供给聚合模块。聚合模块根据配置信息指示的操作类型处理时间序列数据。例如,时间序列数据是图像数据,根据配置信息的指示,聚合模块识别图像数据中的人脸信息,并根据人脸信息对图像数据聚类得到类别信息。又例如,聚合模块对时间序列数据求累加值。聚合模块还根据配置信息的指示,为聚合操作的结果生成键。聚合模块将所生成的键与聚合操作的结果写入逻辑存储设备(例如,ns2)。可选地,聚合模块生成的键是根据第一种写命令提供的键生成的。例如,生成的键同第一种写命令指示的键相同,或者生成的键是在第一种写命令指示的键上拼接由配置信息指令的后缀。可选地,为处理一些聚合操作,聚合模块还需要从逻辑存储设备(例如ns2)读出数据。例如,配置信息指示的聚合操作是求累加值,聚合模块从逻辑存储设备ns2读出由例如k1索引的旧的
累加值,再将旧的累加值同第一种写命令指示的时间序列数据的每个值累加,获得新的累加值。并将新的累加值与键k1写入逻辑存储设备ns2。本实施方式中,写入逻辑存储设备ns2的值(该值与键k1对应)是未经压缩的。
175.固态硬盘1110的命令处理模块响应于收到第二种写命令,将键与操作提供给聚合模块以执行指定的操作。第二种写命令指示的操作是例如更新键k2对应的平均值。作为响应,聚合模块用写命令指示的键(k2)生成用于逻辑存储设备(ns2)的键(例如,k2或者k2_1),以从逻辑存储设备(ns2)获取同键k2对应的旧值,并根据第二种写命令指示的操作将旧值更新为新值再写回逻辑存储设备(ns2)。可选地,为执行第二种写命令指示的操作,聚合模块还根据用键k2生成的键访问逻辑存储设备(ns1),以获得解压缩的时间序列数据来完成第二种写命令指示的操作。
176.可选地,聚合模块指示kv模块来根据第二种写命令将键k2与操作得到的新值直接写入逻辑存储设备(ns2),而不指示压缩模块对新值进行压缩。对逻辑存储设备(ns2)的访问通常是随机访问,而对时间序列数据的访问通常是顺序访问,因而在逻辑存储设备(ns2)中存储未经压缩的数据有助于提高数据访问的性能。
177.从而,根据本技术实施例的固态硬盘1110,分担了计算单元1130所执行的聚合操作。在一些聚合操作需要使用固态硬盘1110存储的从传感器采集的时间序列数据时,这些数据不必被搬移到边缘计算设备1110的内存,进一步减少了开销。
178.存储模块提供给固态硬盘1110的命令处理模块的读出命令包括3种,其一仅指示用于逻辑存储设备(ns1)的键与可选的指示数据长度,其二指示用于逻辑存储设备(ns1)的键与指定条件,其三指示用于逻辑存储设备(ns2)的键与可选的指示数据长度。对于第一种读出命令与第二种读出命令,其与图10展示的固态硬盘1010处理的读命令相同,故不再赘述。对于第三种读出命令,固态硬盘1110的命令处理模块指示kv模块根据用于逻辑存储设备(ns2)的键与可选的长度从逻辑存储设备(ns2)读出对应的值或者由长度指定的对应值的部分,并搬移到内存1140。
179.从逻辑存储设备(ns2)读出的数据不需要解压缩。
180.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1