以Serverless为核心的云端能力如何打造分布式大气监测系统

发布时间:2021-12-22 13:49:48 作者:柒染
来源:亿速云 阅读:122

本篇文章为大家展示了以Serverless为核心的云端能力如何打造分布式大气监测系统,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

前述

下面将对数据上云后的相关流程,进行说明。

由于项目平台持续建设中,当前已开源信息为二期版本,所以本篇内容均基于此版本能力进行说明。此版本架构进一步优化了数据鉴权及数据库保护。

分为两个部分:

【注1】二期版本首页效果

以Serverless为核心的云端能力如何打造分布式大气监测系统

【注2】在建三期版本首页效果

以Serverless为核心的云端能力如何打造分布式大气监测系统

【注3】在建三期版本中,加入了 日志服务 、对象存储、小程序功能。提供灵活的日志存储与高速检索能力、 低成本的数据库备份+恢复+迁移同步能力、移动端交互及其它能力。

架构组成

二期架构图

以Serverless为核心的云端能力如何打造分布式大气监测系统

注:浅蓝色标明的是相对一期的架构变更重点。

部署维度

功能维度

以平台设计的基本组成部分,进行的逻辑拆分。并依架构层的设计需求,配套选型的具体产品。

具体功能与选型说明:

模块实现

整体系统,以数据为核心,进行了相关设计,所以本部分有两个组成部分:

数据结构

IoT explorer(物联网开发平台)推送数据结构

以API网关推送进来,由云函数在环境变量 event 中提取到的原始数据。

其中主要的部分:

{
    "body": "{\"payload\":\"eyJtZXRob2QiOiJyZXBvcnQiLCJjbGllbnRUb2tlbiI6IjIwMjAtMDgtMThUMTE6MTc6NDkuNDAzWiIsInBhcmFtcyI6eyJQTTFfQ0YxIjo1LCJQTTJkNV9DRjEiOjYsIlBNMTBfQ0YxIjo3LCJQTTEiOjUsIlBNMmQ1Ijo2LCJQTTEwIjo3LCJwYXJ0aWNsZXNfMGQzIjo3OTIsInBhcnRpY2xlc18wZDUiOjI1NCwicGFydGljbGVzXzEiOjE1LCJwYXJ0aWNsZXNfMmQ1IjozLCJwYXJ0aWNsZXNfNSI6MywicGFydGljbGVzXzEwIjowLCJ2ZXJzaW9uIjoxNTEsIkVycm9yIjowfX0=\", \"seq\":18639, \"timestamp\":1597749469,\"topic\":\"$thing/up/property/?????/?????\", \"devicename\":\"?????\", \"productid\":\"?????\"}",
    "headerParameters": {},
    "headers": {
        "accept-encoding": "gzip",
        "content-length": "511",
        "content-type": "application/json",
        "endpoint-timeout": "15",
        "host": "service-???-???.gz.apigw.tencentcs.com",
        "user-agent": "Go-http-client/1.1",
        "x-anonymous-consumer": "true",
        "x-api-requestid": "???03a993936ae191f44651???",
        "x-b3-traceid": "???03a993936ae191f44651???",
        "x-qualifier": "$LATEST"
    },
    "httpMethod": "POST",
    "path": "/??????",
    "pathParameters": {},
    "queryString": {},
    "queryStringParameters": {},
    "requestContext": {
        "httpMethod": "POST",
        "identity": {},
        "path": "/??????",
        "serviceId": "service-?????",
        "sourceIp": "?.?.?.?",
        "stage": "release"
    }
}

'body' 解base64编码后:

{
    "clientToken": "2020-08-18T11:17:49.403Z",
    "method": "report",
    "params": {
        "Error": 0,
        "PM1": 5,
        "PM10": 7,
        "PM10_CF1": 7,
        "PM1_CF1": 5,
        "PM2d5": 6,
        "PM2d5_CF1": 6,
        "particles_0d3": 792,
        "particles_0d5": 254,
        "particles_1": 15,
        "particles_10": 0,
        "particles_2d5": 3,
        "particles_5": 3,
        "version": 151
    }
}
数据库表单结构

数据库详细格式,请参考 github-sql

各表用途:

API接口数据结构

模块说明

数据入库
终端在线更新
数据统计
数据接口-终端汇总信息表
数据接口-终端单点信息表
数据展示

二期成本分析

以Serverless为核心的云端能力如何打造分布式大气监测系统

上图表数为每节点每15秒上报一次的计算结果。

硬件部分由于厂商与采购量的差异,价格不同。此处以云服务成本计算,如果10000节点规模,每节点每分钟上报一次,单节点云服务年成本:

二期无对象存储及日志服务模块,但在当前在建三期中已使用数月,故有实际数据可列入统计。

后续计划

完成三期建设,计划内容涉及:

三期架构图预告

以Serverless为核心的云端能力如何打造分布式大气监测系统

注:浅蓝色说明的是相对二期的架构变更重点。

三期版本部分完成效果

WEB端展示

以Serverless为核心的云端能力如何打造分布式大气监测系统

以Serverless为核心的云端能力如何打造分布式大气监测系统

上述内容就是以Serverless为核心的云端能力如何打造分布式大气监测系统,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

推荐阅读:
  1. 如何基于 K8S 多租能力构建 Serverless Container
  2. 盘点以“用户体验”为核心的app推广方式

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

serverless

上一篇:学习Java必备的书籍和网站列表有哪些

下一篇:mysql中出现1053错误怎么办

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》