You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
62 lines
1.8 KiB
62 lines
1.8 KiB
syntax = "proto3";
|
|
option go_package = "../pkg/minerva;minerva";
|
|
package minerva;
|
|
|
|
// DataDefinition 输入输出的数据结构定义
|
|
// 1. Type 数据类型, 使用Types中列出的数据类型 Bytes 字节型数据 String 字符串型数据
|
|
// 2. Columns 字段列表,按照元素顺序排列。该字段名区分大小写,与url上的query key一致
|
|
// 3. Format 数据类型,使用Formats中列出的数据类型
|
|
message DataDefinition {
|
|
enum Types {
|
|
Bytes = 0;
|
|
String = 1;
|
|
}
|
|
Types type = 1;
|
|
repeated string columns=2;
|
|
enum Formats {
|
|
JSON = 0;
|
|
TXT = 1;
|
|
CSV = 2;
|
|
FILE = 3;
|
|
YAML = 4;
|
|
HTML = 5;
|
|
}
|
|
Formats format = 3;
|
|
}
|
|
// Minerva 算法程序处理单元, 若一个进程包含多个处理单元,需要多个Minerva
|
|
// 1. Name Minerva的名字,此名字与rpc 方法名无关,不可重复
|
|
// 2. URI Minerva rpc 的地址,包括ip和端口 如:127.0.0.1:80
|
|
// 3. Call rpc 方法名, 区分大小写
|
|
// 4. Request Minerva 接受的请求数据定义, 即rpc传入的参数
|
|
// 5. Response Minerva 响应的数据定义, 即rpc执行完成返回值的data部分
|
|
message Minerva {
|
|
string name = 1;
|
|
string uri = 2;
|
|
string modelName = 3;
|
|
string callName = 4;
|
|
// DataDefinition Request = 5;
|
|
// DataDefinition Response = 6;
|
|
}
|
|
|
|
//Request 请求的数据
|
|
message Request {
|
|
bytes bytes = 1;
|
|
// string string = 2;
|
|
}
|
|
|
|
//Response 返回的数据
|
|
message Response{
|
|
bytes bytes = 1;
|
|
// string string = 2;
|
|
bool success = 2;
|
|
string error = 3 ;
|
|
}
|
|
|
|
//APIServer apisever 服务 提供Minerva注册功能
|
|
service APIServer {
|
|
rpc Register(Minerva)returns(Response); //注册Minerva
|
|
rpc UnRegister(Minerva)returns(Response); //解除注册Minerva
|
|
rpc UpRegister(Minerva)returns(Response); //更新或注册Minerva
|
|
}
|
|
|
|
|
|
|