Browse Source

联邦应用学习

pull/54/head
jagger 10 months ago
parent
commit
d545dd9194
4 changed files with 44 additions and 18 deletions
  1. +2
    -0
      sdks/pcmscheduler/models.go
  2. +2
    -2
      sdks/scheduler/app.go
  3. +30
    -16
      sdks/scheduler/app_models.go
  4. +10
    -0
      sdks/scheduler/models.go

+ 2
- 0
sdks/pcmscheduler/models.go View File

@@ -107,6 +107,8 @@ const (
WaitBroadcast = "WaitBroadcast"
Broadcast = "Broadcast"
Wait = "Wait"

FederatedLearning = "federatedLearning"
)

type TaskID int64


+ 2
- 2
sdks/scheduler/app.go View File

@@ -43,7 +43,7 @@ type AppInstance struct {

type AppRunRecordDao struct {
ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id"` // 运行记录ID
AppInstanceID DataID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID
AppInstanceID AppInstanceID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID
Content string `gorm:"column:content;type:text;default:null" json:"content"` // 运行内容
Status string `gorm:"column:status;type:varchar(100);not null" json:"status"` // 运行状态
RunLog string `gorm:"column:run_log;type:text;default:null" json:"runLog"` // 运行日志
@@ -57,7 +57,7 @@ type AppRunRecordDao struct {

type AppRunRecord struct {
ID int64 `gorm:"primaryKey;autoIncrement;column:id" json:"id"` // 运行记录ID
AppInstanceID DataID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID
AppInstanceID AppInstanceID `gorm:"column:app_instance_id;type:bigint;not null" json:"appInstanceID"` // 关联应用实例ID
Content AppInfo `gorm:"column:content;type:text;default:null" json:"content"` // 运行内容
Status string `gorm:"column:status;type:varchar(100);not null" json:"status"` // 运行状态
RunLog string `gorm:"column:run_log;type:text;default:null" json:"runLog"` // 运行日志


+ 30
- 16
sdks/scheduler/app_models.go View File

@@ -6,7 +6,9 @@ import (
"gitlink.org.cn/cloudream/common/utils/serder"
)

type AppInstanceID string
type AppInstanceID int64

type ParticipantID string

type AppSetInfo struct {
Apps []AppInfo `json:"apps"`
@@ -43,22 +45,34 @@ type FederatedLearningAppInfo struct {
AppInfoBase
Type string `json:"type"`

AppInstanceID string `json:"appInstanceID"`
Name string `json:"name"`
Description string `json:"description"`

ParticipantCount int `json:"participantcount"` //参与者人数
JobResources JobResources `json:"jobResources"` //作业资源
JobInfo JobInfo `json:"jobInfo"`
ClientObjectID cdssdk.ObjectID `json:"clientObjectID"` //client代码
ServerObjectID cdssdk.ObjectID `json:"serverObjectID"` //server代码
ModelBindID cdssdk.ObjectID `json:"modelBindID"` //模型绑定id
DatasetBindID cdssdk.ObjectID `json:"datasetBindID"` //数据集绑定id
ImageBindID cdssdk.ObjectID `json:"imageBindID"` //镜像绑定id
JobSetID JobSetID `json:"jobSetID"` //工作集ID
Role string `json:"role"` //角色,initiator/participant
AppInstanceID AppInstanceID `json:"appInstanceID"`
Name string `json:"name"`
Description string `json:"description"`

ParticipantCount int `json:"participantCount"` //参与者人数
JobInfo JobInfo `json:"jobInfo"` //作业信息
Role string `json:"role"` //角色,initiator/participant
IsDataReturn bool `json:"isDataReturn"` // 是否需要数据回源
ParticipantInfo ParticipantInfo `json:"participantInfo"`
ParticipantIDs []ParticipantID `json:"participantIDs"` //参与者ID列表

//ParticipantCount int `json:"participantCount"` //参与者人数
//JobResources JobResources `json:"jobResources"` //作业资源
//JobInfo JobInfo `json:"jobInfo"`
//ClientObjectID cdssdk.ObjectID `json:"clientObjectID"` //client代码
//ServerObjectID cdssdk.ObjectID `json:"serverObjectID"` //server代码
//ModelBindID cdssdk.ObjectID `json:"modelBindID"` //模型绑定id
//DatasetBindID cdssdk.ObjectID `json:"datasetBindID"` //数据集绑定id
//ImageBindID cdssdk.ObjectID `json:"imageBindID"` //镜像绑定id
//JobSetID JobSetID `json:"jobSetID"` //工作集ID
//Role string `json:"role"` //角色,initiator/participant
//DataReturnJobInfo DataReturnJobInfo `json:"dataReturnJobInfo"` //数据返回作业信息
IsDataReturn bool `json:"isDataReturn"`

}

type ParticipantInfo struct {
DatasetBindID cdssdk.ObjectID `json:"datasetBindID"` //数据集绑定id
ParticipantID ParticipantID `json:"participantID"`
}

type OtherAppInfo struct {


+ 10
- 0
sdks/scheduler/models.go View File

@@ -87,6 +87,13 @@ var _ = serder.UseTypeUnionInternallyTagged(&JobInfoTypeUnion, "type")
type JobInfoBase struct {
LocalJobID string `json:"localJobID"`
TargetJob []TargetJobInfo `json:"targetJob"`

TargetJobType TargetJobType `json:"targetJobType"`
}

type TargetJobType struct {
JobType string `json:"jobType"`
InputParams map[string]string `json:"inputParams"`
}

type TargetJobInfo struct {
@@ -781,6 +788,9 @@ type BroadcastWaitOutput struct {
JobOutputBase
Type string `json:"type"`
Output JobOutput `json:"output"`

// 下面是工作流的参数
WaitIDs []Wait `json:"waitIDs"`
}

type UploadJobOutput struct {


Loading…
Cancel
Save