数据接入开放协议-GRPC接入

协议定义

一、接入认证

message VerifyRequest

{

string authToken = 1; // 接入管理分配的UUID

string endpointName = 2; // 定义的接入设备名

string endpointIdentify = 3; // 接入设备的ID

int64 leaseValue = 4; // 租约时间,接入侧申明数据上送间隔最大时间,单位为秒

}

message VerifyResponse

{

int32 errorCode = 1; // 结果码

string reason = 2; // 说明

string sessionID = 3; // 会话ID

}

二、接入元数据

1、全量刷新

message RefreshMetaRequest

{

repeated MetaTag tag = 1;

}

message RefreshMetaResponse

{

int32 errorCode = 1;

string reason = 2;

}

2、增加

message AddMetaRequest

{

repeated MetaTag tag = 1;

}

message AddMetaResponse

{

int32 errorCode = 1;

string reason = 2;

}

3、更新

message ModMetaRequest { repeated MetaTag tag = 1; } message ModMetaResponse { int32 errorCode = 1; string reason = 2; }

4、删除

message DelMetaRequest

{

repeated string tag = 1;

}

message DelMetaResponse

{

int32 errorCode = 1; string reason = 2;

}

三、实时数据

1、更新实时数据

message UpdateValueRequest

{

repeated NamedValue value = 1;

}

message UpdateValueResponse

{

int32 errorCode = 1;

string reason = 2;

}

2、续传历史数据

message RetransValueRequest

{

int64 sequenceNo = 1;

bytes gzValues = 2;

}

message RetransValueResponse

{

int64 sequenceNo = 1;

int32 errorCode = 2;

string reason = 3;

}

**特殊说明**:gzValues 是使用gz压缩的**ValueSequence**

四、系统对时

message SyncTimeRequest {

int64 localTimeStamp =1;

} message SyncTimeResponse

{

int64 localTimeStamp =1; int64 serverTimeStamp =2;

}

五、接口定义

service RtdService

{

rpc Verify (VerifyRequest) returns (VerifyResponse);

rpc RefreshMeta (RefreshMetaRequest) returns (RefreshMetaResponse);

rpc AddMeta (AddMetaRequest) returns (AddMetaResponse);

rpc ModMeta (ModMetaRequest) returns (ModMetaResponse);

rpc DelMeta (DelMetaRequest) returns (DelMetaResponse);

rpc UpdateValue (UpdateValueRequest) returns (UpdateValueResponse);

rpc NotifyEvent (RtdEvent) returns (google.protobuf.Empty);

rpc RetransValue (RetransValueRequest) returns (RetransValueResponse);

rpc SyncTime (SyncTimeRequest) returns (SyncTimeResponse);

}

六、接入认证

基于上述GRPC接口,调用Verify接口来执行接入认证。

image-1651214960569

参数:
请求:VerifyRequest
响应:VerifyResponse
说明:
通过GRPC的方式进行数据接入,必需要先进行接入认证。

接入认证返回值:errorCode等于100004表示接入成功,接入成功后可使用sessionID,来完成业务功能交互。未通过接入认证无法执行其他业务功能。
接入认证通过后,sessionID要求基于metaData,使用session为key,在调用他接口时作为传入信息。

七、业务功能

在调用业务功能前,必需要先通过接入认证,并获取正确的sessionID,sessionID要求通过metaData来传递到平台侧。

image-1651215033670

1、全量刷新元数据

参数:
请求:RefreshMetaRequest
响应:RefreshMetaResponse

说明:
接入侧应该在系统接入认证通过后,主动全量刷新一次当前的元数据,以确保位号数据与平台侧一致

2、增量更新元数据

参数:

  • 增加
    请求:AddMetaRequest
    响应:AddMetaResponse
  • 更新
    请求:ModMetaRequest
    响应:ModMetaResponse
  • 删除
    请求:DelMetaRequest
    响应:DelMetaResponse

说明:
在接入侧运行期间,如果发生元数据变化,推荐使用增量的方式上送数据来实现与平台侧数据同步

3、更新实时数据

参数:
请求:UpdateValueRequest
响应:UpdateValueResponse
说明:
接入侧主动上送实时数据,如果上送的数据与元数据不一致,则数据将被丢弃

4、续传历史数据

参数:
请求:RetransValueRequest
响应:RetransValueResponse
说明:
如果接入侧由于某些原因无法上送实时数据,则可以先将数据进行本地缓存,待通讯恢复后执行续传操作

5、事件通知

参数:
请求:RtdEvent
响应:google.protobuf.Empty
说明:
预留接口,允许接入侧和平台数据应用端根据约定来上送特定数据。

6、系统对时

参数:
请求:SyncTimeRequest
响应:SyncTimeResponse
说明:
用于接入侧与平台侧进行系统对时

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值