边缘智能-大模型架构初探

R2Cloud接口

机器人注册

请求和应答

注册是一个简单的 HTTP 接口,根据机器人/用户信息注册,创建一个新机器人。

请求 URL

URLhttp://ip/robot/reg
TypePOST
HTTP Version1.1
Content-Typeapplication/json

请求参数

Param含义Rule是否必须缺省
robotid机器人唯一 IDmd 5 加密后的值必填NULL
robotPwd机器人密码md 5 加密后的值必填NULL
nickName昵称不超过 32 个字符可选NULL
email邮箱符合 email 规范可选NULL
userName用户名称不超过 32 个字符可选NULL
服务示例

返回结果参数

名称含义规则说明
code结果值0:成功
1:失败
2:机器人存在

调用接口

{"robotid":"ced165163e51e06e01dc44c35fea3eaf","robotPwd":"3687f20fbdfab8dd7e645f1e2f95268b","nickName":"jarvis","email":"Jarvis@joysonrobot.com","userName":"gv"
}

返回值

{"code":0
}
处理逻辑

客户端提交的密码需要使用 md5 加密,不能提供明文的密码。

机器人上线(登录)

请求和应答

登录,根据机器人的登录信息,连接到云平台。

请求URL
URLhttp://ip/robot/login
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
robotid机器人唯一 IDmd 5 加密后的值必填NULL
robotPwd机器人密码md 5 加密后的值必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0:成功
1:失败
token令牌每次上线后,生成的token不一样,后续请求需要带上token

调用接口

http://ip/robot/login
参数
{"robotid":"ced165163e51e06e01dc44c35fea3eaf","robotPwd":"3687f20fbdfab8dd7e645f1e2f95268b"
}
返回结果
{"code":0,"token":"3a58ca22317e637797f8bcad5c047446"
}
处理逻辑

Token验证

Token 的中文有人翻译成 “令牌”,意思就是,你拿着这个令牌,才能过一些关卡。

Token 是一个用户自定义的任意字符串。在成功提交了开发者自定义的这个字符串之后,Token 的值 会保存到服务器后台。只有服务器和客户端前端知道这个字符串,于是 Token 就成了这两者之间的 密钥,它可以让服务器确认请求是来自客户端还是恶意的第三方。

使用基于 Token 的身份验证方法,在服务端不需要存储用户的登录记录。大概的流程是这样的:

  1. 客户端使用用户名和密码请求登录;
  2. 服务器收到请求,验证用户名和密码;
  3. 验证成功后,服务端生成一个Token,这个Token可以存储在内存、磁盘、或者数据库里,再把这个Token发送给客户端;
  4. 客户端收到Token以后可以存储起来,比如放在Cookie或者Local Storage;
  5. 客户端每次向服务器请求资源时必须带着服务器签发的Token;
  6. 服务端收到请求,然后去验证客户端请求里面带着的 Token,如果验证成功,就向客户端返回 请求的数据。

私有文件1

请求URL
URLhttp://ip/file/ownfile?cmd=count
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0:验证成功
1:验证失败
total文件数量

调用接口

http://ip/file/ownfile?cmd=count
参数
{"token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"total":1,"code":0
}
没有文件返回
{"total":0,"code":0
}
处理逻辑

私有文件2

请求URL
URLhttp://ip/file/ownfile?cmd=normal
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
count文件个数私有文件数量>0必填NULL
start开始位置必填NULL
服务示例

返回结果参数说明

名称含义规则说明
files文件结果集“code”:0正常,1失败,
“count”:当前文件数量,
“total”:私有文件数量,
“robotid”:机器人唯一ID,
“md5”:md5的值,
“create_time”:创建时间,
“file_name”:文件名,
“share_status”:共享状态,
“pv”:使用次数,
“url”:URL,
“size”:文件大小,
“type”:文件类型

调用接口

http://ip/file/ownfile?cmd=normal
参数
{"count":2,"start":0,"token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0,"total":2,"files":[{"robotid":"ced165163e51e06e01dc44c35fea3eaf","md5":"6c5fa2864bb264c91167258b3e478fa0","create_time":"2024-01-01 11:11:00","file_name":"111.jpg","share_status":0,"pv":1,"url":"http://ip/group1/M00/00/00/eBuDxWCfQHSATopyAAV8AJV_1mw866.111","size":"1024","type":"jpg"}]
}
处理逻辑

私有文件3

请求URL
URLhttp://ip/file/ownfile?cmd=pvasc
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
count文件个数私有文件数量>0必填NULL
start开始位置必填NULL
服务示例

返回结果参数说明

名称含义规则说明
files文件结果集“code”:0正常,1失败,
“count”:当前文件数量,
“total”:私有文件数量,
“robotid”:机器人唯一ID,
“md5”:md5的值,
“create_time”:创建时间,
“file_name”:文件名,
“share_status”:共享状态,
“pv”:使用次数,
“url”:URL,
“size”:文件大小,
“type”:文件类型

调用接口

http://ip/file/ownfile?cmd=normal
参数
{"count":2,"start":0,"token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0,"total":2,"files":[{"robotid":"ced165163e51e06e01dc44c35fea3eaf","md5":"6c5fa2864bb264c91167258b3e478fa0","create_time":"2024-01-01 11:11:00","file_name":"111.jpg","share_status":0,"pv":1,"url":"http://ip/group1/M00/00/00/eBuDxWCfQHSATopyAAV8AJV_1mw866.111","size":"1024","type":"jpg"}]
}
处理逻辑

私有文件4

请求URL
URLhttp://ip/file/ownfile?cmd=pvdesc
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
count文件个数私有文件数量>0必填NULL
start开始位置必填NULL
服务示例

返回结果参数说明

名称含义规则说明
files文件结果集“code”:0正常,1失败,
“count”:当前文件数量,
“total”:私有文件数量,
“robotid”:机器人唯一ID,
“md5”:md5的值,
“create_time”:创建时间,
“file_name”:文件名,
“share_status”:共享状态,
“pv”:使用次数,
“url”:URL,
“size”:文件大小,
“type”:文件类型

调用接口

http://ip/file/ownfile?cmd=normal
参数
{"count":2,"start":0,"token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0,"total":2,"files":[{"robotid":"ced165163e51e06e01dc44c35fea3eaf","md5":"6c5fa2864bb264c91167258b3e478fa0","create_time":"2024-01-01 11:11:00","file_name":"111.jpg","share_status":0,"pv":1,"url":"http://ip/group1/M00/00/00/eBuDxWCfQHSATopyAAV8AJV_1mw866.111","size":"1024","type":"jpg"}]
}
处理逻辑

上传文件md5

用于秒传文件的请求。

文件上传的时候:

  • 先调用md5接口判断服务器是否有该文件,如果md5成功则说明服务器有该文件,不需要upload;
  • 如果不成功则调用upload。
请求URL
URLhttp://ip/file/md5
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
md5md5值不超过32个字符必填NULL
filename文件名称不超过128个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 秒传成功
1: 秒传失败
4: token 校验失败
5:文件已存在

调用接口

http://ip/file/md5
参数
{"filename":"ui_bottongroup.h","md5":"a89390d867d5da18c8b1a95908d7c653","token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0
}
处理逻辑

每个文件都有一个唯一的 MD5 值(比如 2bf8170b42cc7124b04a8886c83a9c6f),就好比每个人的指 纹都是唯一的一样,效验 MD5 就是用来确保文件在传输过程中未被修改过。

  • 客户端在上传文件之前先将文件的md5码上传到服务器;
  • 服务器判断是否存在这个md5码,如果存在,说明文件存在,则此文件无需再次上传,在此文件的计数器上加1,说明文件多了一个用户共用;
  • 如果服务器没有这个md5码,则说明。传的是新文件,需要上传

上传文件upload

请求URL
URLhttp://ip/file/upload
TypePOST
HTTP Version1.1
Content-Typeapplication/json
返回结果参数说明
名称含义规则说明
code结果值0: 秒传成功
1: 上传失败
处理逻辑

共享/删除1

请求 URL
URLhttp://ip/file/dealfile?cmd=share
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
md5md5值不超过32个字符必填NULL
filename文件名称不超过128个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败
3: 另外的机器人已经共享
4: token 验证失败

调用接口

http://ip/file/dealfile?cmd=pv
参数
{"filename":"Makefile","md5":"602fdf30db2aacf517badf4565124f51","token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0
}
处理逻辑

image.png

共享/删除文件2

请求URL
URLhttp://ip/file/dealfile?cmd=del
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
md5md5值不超过32个字符必填NULL
filename文件名称不超过128个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败

调用接口

http://ip/file/dealfile?cmd=del
参数
{"filename":"Makefile","md5":"602fdf30db2aacf517badf4565124f51","token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0
}
处理逻辑

  • 先判断此文件是否已经分享
  • 判断集合有没有这个文件,如果有,说明别人已经分享此文件(RDS操作)
  • 如果集合没有此元素,可能因为 redis 中没有记录,再从 SQL中查询,如果 SQL也没有,说 明真没有(SQL操作)
  • 如果 SQL有记录,而 RDS没有记录,那么分享文件处理只需要处理 SQL(SQL操作)
  • 如果 RDS有记录,SQL和 RDS都需要处理,删除相关记录

取消共享

请求URL
URLhttp://ip/file/dealsharefile?cmd=cancel
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
robotid机器人唯一 ID不超过32个字符必填NULL
md5md5值不超过32个字符必填NULL
filename文件名称不超过128个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败

调用接口

http://ip/file/dealsharefile?cmd=cancel
参数
{"filename":"ui_buttongroup.h""md5":"a89390d867d5da18c8b1a95908d7c653","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0
}
处理逻辑

  • 查询共享文件的数量;
  • 如果共享文件数量为1则删除共享文件数量对应的行
  • 如果共享文件数量>1,则更新共享数量文件-1。

转存文件

请求URL
URLhttp://ip/file/dealsharefile?cmd=save
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
robotid机器人唯一 ID不超过32个字符必填NULL
md5md5值不超过32个字符必填NULL
filename文件名称不超过128个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败
5: 文件存在
http://ip/file/dealsharefile?cmd=save
参数
{"filename":"ui_buttongroup.h""md5":"a89390d867d5da18c8b1a95908d7c653","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0
}
处理逻辑

  • 先查询是个人文件列表是否已经存在该文件;
  • 增加 file_info 表的 count 计数,表是多一个人保存了该文件;
  • 个人的 user_file_list 增加一条文件记录;
  • 更新个人的 user_file_count。

更新共享文件下载计数

请求URL
URLhttp://ip/file/dealsharefile?cmd=save
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
robotid机器人唯一 ID不超过32个字符必填NULL
md5md5值不超过32个字符必填NULL
filename文件名称不超过128个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败
5: 文件存在
http://ip/file/dealsharefile?cmd=pv
参数
{"filename":"ui_buttongroup.h""md5":"a89390d867d5da18c8b1a95908d7c653","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0
}
处理逻辑

  • 更新share_file_list的pv值;
  • 更新RDS的FILE_PUBLIC_ZSET。

分享文件

请求URL
URLhttp://ip/file/sharefile?cmd=share
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
md5md5值不超过32个字符必填NULL
filename文件名称不超过128个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败
4: token验证失败
urlmd5分享文件标识取消也要

调用接口

http://ip/file/sharefile?cmd=share
参数
{"filename":"ui_buttongroup.h""md5":"a89390d867d5da18c8b1a95908d7c653","token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf"
}
返回结果
{"code":0,"urlmd5":"602fdf30db2aacf517badf4565121234"
}
处理逻辑

新建分组

新建一个MQTT的Topic,用于协作。

请求URL
URLhttp://ip/msg/newgroup
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
maxsize同组最大数量>=1必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败
4: token验证失败
topic加密后的topic失败为空

调用接口

http://ip/file/msg/newgroup
参数
{"token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf","maxsize":10
}
返回结果
{"code":0,"topic":"614b0c23f5f4cd3a68ba5581e2169df3"
}
处理逻辑

image.png

释放分组

请求 URL
URLhttp://ip/msg/freegroup
TypePOST
HTTP Version1.1
Content-Typeapplication/json
请求参数
Param含义Rule是否必须缺省
tokentoken同上必填NULL
robotid机器人唯一 ID不超过32个字符必填NULL
topic加密后的topic不超过32个字符必填NULL
服务示例

返回结果参数说明

名称含义规则说明
code结果值0: 成功
1: 失败
4: token 验证失败
5: 非topic管理员

调用接口

http://ip/file/msg/freegroup
参数
{"token":"3a58ca22317e637797f8bcad5c047446","robotid":"ced165163e51e06e01dc44c35fea3eaf","topic":"614b0c23f5f4cd3a68ba5581e2169df3"
}
返回结果
{"code":0,
}
处理逻辑

image.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/880267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

[vulnhub] Hackademic.RTB1

第一次打靶机,思路看的红队笔记 https://www.vulnhub.com/entry/hackademic-rtb1,17/ 环境:kali Linux - 192.168.75.131,靶机 - 192.168.75.132 主机发现和端口扫描 扫描整个网络有哪台机子在线,不进行端口扫描 nmap -sP 192.16…

竹云赋能“中国·贵州”全省统一移动应用平台建设,打造政务服务“新引擎”

近日,2024中国国际大数据产业博览会在贵州贵阳圆满落幕。会上,由贵州省政府办公厅牵头建设的“中国贵州”全省统一移动应用平台正式发布,聚焦民生办事、政务公开、政民互动、扁平高效、数据赋能五大模块,旨在打造公平普惠的服务平…

【2020工业图像异常检测文献】PaDiM

PaDiM: a Patch Distribution Modeling Framework for Anomaly Detection and Localization 1、Background 在单类学习(仅使用正常数据(即“单一类”)来训练模型)环境中的异常检测和定位任务方法中,要么需要深度神经网…

ubuntu 安装minikube,并拉取k8s镜像

虚拟机是vmware17, 系统是ubuntu20.4, minikube是1.23.1, docker是24.0.7, 为什么要装minikube,通常k8s集群是要3台机子以上,而通过minikube,可以在一台机子上搭建出k8s集群,minikube采用的是D…

【深入学习Redis丨第六篇】Redis哨兵模式与操作详解

〇、前言 哨兵是一个分布式系统,你可以在一个架构中运行多个哨兵进程,这些进程使用流言协议来接收关于Master主服务器是否下线的信息,并使用投票协议来决定是否执行自动故障迁移,以及选择哪个Slave作为新的Master。 文章目录 〇、…

【环境踩坑系列】centos7安装python3.10.X

前言 虽然centOS8已经发布了相当一段时间了,但是基于稳定性、成熟的社区等原因,大家在选择centOS作为服务器操作系统的时候仍然会选择centOS7作为首选。但是centOS7自带的是python2.7.5,当前大量的python程序要用到的又是python3&#xff0c…

基于SSM的“银发在线教育云平台”的设计与实现(源码+数据库+文档)

基于SSM的“银发在线教育云平台”的设计与实现(源码数据库文档) 开发语言:Java 数据库:MySQL 技术:SSM 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构图 首页页面图 健身养生详情页面 在线课堂界面 …

RocketMQ实战与集群架构详解

目录 一、MQ简介 MQ的作用主要有以下三个方面 二、RocketMQ产品特点 1、RocketMQ介绍 2、RocketMQ特点 三、RocketMQ实战 1、快速搭建RocketMQ服务 2、快速实现消息收发 1. 命令行快速实现消息收发 2. 搭建Maven客户端项目 3、搭建RocketMQ可视化管理服务 4、升级分…

ubuntu安装libtorch

Ubuntu20.04安装libtorch 〇、前期准备1、查看NVIDIA显卡算力和CUDA版本支持的算力2、查看CUDA与显卡驱动的版本对应 一、NVIDIA显卡驱动安装1、下载显卡驱动2、安装驱动A. 安装依赖B. 禁用nouveau驱动C. 显卡驱动安装 3、参考 二、CUDA安装1、下载安装CUDA2、测试CUDA是否安装…

大语言模型-教育方向数据集

大语言模型-教育方向数据集 编号论文数据集1Bitew S K, Hadifar A, Sterckx L, et al. Learning to Reuse Distractors to Support Multiple-Choice Question Generation in Education[J]. IEEE Transactions on Learning Technologies, 2022, 17: 375-390.Televic, NL, https…

双向链表的基本结构及功能实现

1.基本结构: 双向链表是一种链表数据结构,它由一系列节点组成,每个节点包含三个部分: (1).数据域:存储节点的数据 (2).前驱指针:指向前一个节点 (3).后驱指针:指向下一个节点 2.基本特性: 双向链接: 与单向链表…

连锁多门店收银系统源码

近年来,越来越多的零售行业从业者意识到,线下线上全渠道整合将成为国内消费市场的大趋势,其中,线下门店能够赋予品牌发展的价值依然不可小觑。 1. 线下连锁门店发展方向,多种经营模式 新零售时代,基于品牌…

excel导出图片---HSSFWorkbook--SXSSFWorkbook

1 概述 平时在工作中,excel导出图片经常会用到,但奈何HSSFWorkbook导出数据数量有限制问题,所以企业里大多都用SXSSFWorkbook格式,很少用HSSFWorkbook。所以今天以这两种格式分别记录下,图片的导出过程。 2 HSSFWork…

Reddit账号太多?一文教你轻松管理

想要在Reddit上扩大品牌影响力,但不知道如何管理多个账号?面对复杂的社区规则,你是否在担心账号安全?渴望提升参与度,却对内容策略一筹莫展?本文将为你揭秘如何高效管理你的Reddit账号,让你在这…

PR快速片段分割教程

方法一: 方法二yyds: ctrla全选,拽过来ME导出即可。

周文强:我感受到了海口经济学院创新创业的热情

日前,由中国志愿服务基金会、中国志愿服务基金会汇成百年专项基金以及共青团海口市委员会主办,共青团海口经济学院委员会承办的“2024 首届青领杯大学生创新创业大赛”海口站线下培训在海口经济学院开展。汇成百年专项基金发起人周文强作为本次大赛的创业…

ReadWriteLock读写锁

读写锁基本概念 ReadWriteLock是Java并发包中的一个接口,它定义了两种锁:读锁(Read Lock)和写锁(Write Lock),真正的实现类是ReentrantReadWriteLock。读锁允许多个线程同时读取共享资源&#…

基于单片机的家用安防报警系统设计

本设计基于STM32F103单片机作为主控,通过DS18B20温度传感器和MQ烟雾传感器对家庭环境的温度和烟雾浓度进行检测实现火灾预警的设计要求,当检测数据异常时激发报警提示。系统采用红外传感器对家庭环境中是否有盗贼进入实现检测,当出现异常情况…

机器学习的应用领域

机器学习在许多领域有广泛的应用,下面列出了一些主要的应用领域及其典型应用: 1. 图像识别 人脸识别:用于解锁手机、自动标记照片、监控安全系统。物体识别:应用于自动驾驶汽车、机器人、医疗影像分析中,帮助机器理解…

面试经典 150 题:力扣88. 合并两个有序数组

每周一道算法题启动 题目 【题目链接】 【解法一】合并后排序 排序后的数组自动省略0的数字&#xff0c;又学到了 class Solution { public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {//合并两个数组后排序for(int i0; i<…