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

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
}