diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/CacheManager.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/CacheManager.java index 1bc052c..9e2234a 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/CacheManager.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/CacheManager.java @@ -82,6 +82,12 @@ public class CacheManager { // 带随机TTL的缓存设置 private void setCacheWithTTL(GpuResource entity) { String key = buildKey(entity.getGPUId().toString()); + GpuResource cached = (GpuResource) redisTemplate.opsForValue().get(key); + + // 保留原有内存字段值 + if (cached != null && cached.getGPUMemorySize() != null) { + entity.setGPUMemorySize(cached.getGPUMemorySize()); + } redisTemplate.opsForValue().set( key, entity, @@ -155,4 +161,9 @@ public class CacheManager { String key = buildKey(gpuId.toString()); redisTemplate.delete(key); } + + public GpuResource getFromCache(String gpuId) { + return (GpuResource) redisTemplate.opsForValue().get("gpu:" + gpuId); + } + } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/RedisCacheService.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/RedisCacheService.java index a3de985..d307c9b 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/RedisCacheService.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/cache/RedisCacheService.java @@ -10,6 +10,7 @@ import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.stereotype.Service; import java.nio.charset.StandardCharsets; import java.util.List; +import java.util.Objects; import java.util.concurrent.TimeUnit; @Service @@ -117,7 +118,7 @@ public class RedisCacheService { */ public boolean healthCheck() { try { - return "PONG".equals(redisTemplate.getConnectionFactory() + return "PONG".equals(Objects.requireNonNull(redisTemplate.getConnectionFactory()) .getConnection().ping()); } catch (Exception e) { return false; diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/dao/GpuResourceDao.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/dao/GpuResourceDao.java index d149f0c..91a6c7f 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/dao/GpuResourceDao.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/dao/GpuResourceDao.java @@ -11,27 +11,27 @@ import java.util.Map; @Mapper public interface GpuResourceDao { //---------------------- 基础CRUD ------------------------ - @Insert("INSERT INTO ipz.gpu_resource (GPUModel, GPUMemorySize, Ip) " + + @Insert("INSERT INTO Ipz.public.gpu_resource (GPUModel, GPUMemorySize, Ip) " + "VALUES (#{model}, #{memory}, #{ip})") @Options(useGeneratedKeys = true, keyProperty = "GPUId") Integer insert(GpuResource entity); //物理删除 - @Delete("DELETE FROM ipz.gpu_resource WHERE GPUId = #{gpuId}") + @Delete("DELETE FROM Ipz.public.gpu_resource WHERE GPUId = #{gpuId}") Integer deleteById(@Param("gpuId") Long gpuId); // 逻辑删除 - @Update("UPDATE ipz.gpu_resource" + + @Update("UPDATE Ipz.public.gpu_resource" + " SET is_deleted = 1, update_time = NOW() " + " WHERE GPUId = #{gpuId}") Integer isDeleted(@Param("gpuId") Long gpuId); - @Update("UPDATE ipz.gpu_resource " + + @Update("UPDATE Ipz.public.gpu_resource " + "SET GPUModel = #{model}, GPUMemorySize = #{memory}, Ip = #{ip} " + "WHERE GPUId = #{GPUId}") Integer updateById(GpuResource entity); - @Select("SELECT * FROM ipz.gpu_resource WHERE GPUId = #{gpuId} AND is_deleted = 0") + @Select("SELECT * FROM Ipz.public.gpu_resource WHERE GPUId = #{gpuId} AND is_deleted = 0") GpuResource selectById(@Param("gpuId") Long gpuId); //---------------------- 缓存相关扩展 ------------------------ @@ -74,7 +74,7 @@ class GpuSqlBuilder { public static String buildDynamicQuery(Map params) { return new SQL() {{ SELECT("*"); - FROM("ipz.gpu_resource"); + FROM("Ipz.public.gpu_resource"); if (params.containsKey("model")) { WHERE("GPUModel LIKE #{params.model}"); } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/dto/GpuUpdateDTO.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/dto/GpuUpdateDTO.java index fee5710..312d49a 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/dto/GpuUpdateDTO.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/dto/GpuUpdateDTO.java @@ -23,10 +23,6 @@ public class GpuUpdateDTO { this.GPUModel = GPUModel; } - public void setGPUMemorySize(Integer GPUMemorySize) { - this.GPUMemorySize = GPUMemorySize; - } - public void setIp(@Pattern(regexp = "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", message = "IP地址格式无效") String ip) { Ip = ip; @@ -39,6 +35,7 @@ public class GpuUpdateDTO { message = "型号格式应为 [厂商(大写字母开头)]-[型号],如 Intel-Xe_GPU") private String GPUModel; + @Setter private Integer GPUMemorySize; @Pattern(regexp = "^\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}$", diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/entity/GpuResource.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/entity/GpuResource.java index 4cda9e1..299d6aa 100644 --- a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/entity/GpuResource.java +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/gpu/model/entity/GpuResource.java @@ -2,50 +2,23 @@ package com.bipt.intelligentapplicationorchestrationservice.gpu.model.entity; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; +import lombok.Getter; import lombok.Setter; import java.time.LocalDateTime; @Setter @Data -//@Entity -//@Table(name = "Gpu_Resource") public class GpuResource { - - public void setGPUId(Long GPUId) { - this.GPUId = GPUId; - } - - public void setGPUModel(String GPUModel) { - this.GPUModel = GPUModel; - } - - public void setGPUMemorySize(Integer GPUMemorySize) { - this.GPUMemorySize = GPUMemorySize; - } - - public void setIsDeleted(Integer isDeleted) { - this.isDeleted = isDeleted; - } - - public void setIp(String ip) { - Ip = ip; - } - - public void setCreateTime(LocalDateTime createTime) { - CreateTime = createTime; - } - - public void setUpdateTime(LocalDateTime updateTime) { - UpdateTime = updateTime; - } - + @Getter @TableField("GPUId") private Long GPUId; + @Getter @TableField("GPUModel") private String GPUModel; + @Getter @TableField("GPUMemorySize") private Integer GPUMemorySize; @@ -55,12 +28,18 @@ public class GpuResource { @TableField("Ip") private String Ip; + @Getter @TableField("CreatedTime") private LocalDateTime CreateTime; + @Getter @TableField("update_time") private LocalDateTime UpdateTime; + @Getter + @TableField("GPUMaxMemory") + private Integer GPUMaxMemory; + public GpuResource(long l, String s, boolean b) { this.GPUId = l; this.GPUModel = s; @@ -70,22 +49,6 @@ public class GpuResource { // return Ip; // } - public Long getGPUId() { - return GPUId; - } - - public String getGPUModel() { - return GPUModel; - } - - public Integer getGPUMemorySize() { - return GPUMemorySize; - } - - public LocalDateTime getCreateTime() { - return CreateTime; - } - public Boolean getIsDeleted() { return isDeleted != 0; } @@ -102,5 +65,32 @@ public class GpuResource { public GpuResource() {} +// public void setGPUId(Long GPUId) { +// this.GPUId = GPUId; +// } +// +// public void setGPUModel(String GPUModel) { +// this.GPUModel = GPUModel; +// } +// +// public void setGPUMemorySize(Integer GPUMemorySize) { +// this.GPUMemorySize = GPUMemorySize; +// } +// +// public void setIsDeleted(Integer isDeleted) { +// this.isDeleted = isDeleted; +// } +// +// public void setIp(String ip) { +// Ip = ip; +// } +// +// public void setCreateTime(LocalDateTime createTime) { +// CreateTime = createTime; +// } +// +// public void setUpdateTime(LocalDateTime updateTime) { +// UpdateTime = updateTime; +// } } diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/config/GPUPoolConfig.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/config/GPUPoolConfig.java new file mode 100644 index 0000000..1d14b70 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/config/GPUPoolConfig.java @@ -0,0 +1,4 @@ +package com.bipt.intelligentapplicationorchestrationservice.setmodel.config; + +public class GPUPoolConfig { +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/config/MQConfig.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/config/MQConfig.java new file mode 100644 index 0000000..e2ff6c6 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/config/MQConfig.java @@ -0,0 +1,4 @@ +package com.bipt.intelligentapplicationorchestrationservice.setmodel.config; + +public class MQConfig { +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/controller/ModelDeployController.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/controller/ModelDeployController.java new file mode 100644 index 0000000..d1819e5 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/controller/ModelDeployController.java @@ -0,0 +1,4 @@ +package com.bipt.intelligentapplicationorchestrationservice.setmodel.controller; + +public class ModelDeployController { +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/GrayDeployService.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/GrayDeployService.java new file mode 100644 index 0000000..d2ebf44 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/GrayDeployService.java @@ -0,0 +1,4 @@ +package com.bipt.intelligentapplicationorchestrationservice.setmodel.service; + +public class GrayDeployService { +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/ModelDeployService.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/ModelDeployService.java new file mode 100644 index 0000000..abf8ae3 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/ModelDeployService.java @@ -0,0 +1,4 @@ +package com.bipt.intelligentapplicationorchestrationservice.setmodel.service; + +public class ModelDeployService { +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/scheduler/RequestReplicator.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/scheduler/RequestReplicator.java new file mode 100644 index 0000000..16854f4 --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/scheduler/RequestReplicator.java @@ -0,0 +1,4 @@ +package com.bipt.intelligentapplicationorchestrationservice.setmodel.service.scheduler; + +public class RequestReplicator { +} diff --git a/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/scheduler/ResourceScheduler.java b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/scheduler/ResourceScheduler.java new file mode 100644 index 0000000..6af23be --- /dev/null +++ b/src/main/java/com/bipt/intelligentapplicationorchestrationservice/setmodel/service/scheduler/ResourceScheduler.java @@ -0,0 +1,4 @@ +package com.bipt.intelligentapplicationorchestrationservice.setmodel.service.scheduler; + +public class ResourceScheduler { +} diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties index d3cb520..1f79f49 100644 --- a/src/main/resources/application.properties +++ b/src/main/resources/application.properties @@ -1,15 +1,15 @@ spring.application.name=intelligent-application-orchestration-service -#spring.datasource.url=jdbc:kingbase8://116.205.121.200:54321/Ipz -#spring.datasource.username=system -#spring.datasource.password=root -#spring.datasource.driver-class-name=com.kingbase8.Driver -#spring.jpa.database-platform=org.hibernate.dialect.Kingbase8Dialect -spring.datasource.url=jdbc:mysql://localhost:3306/Ipz -spring.datasource.username=root -spring.datasource.password=zxc25864 -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect +spring.datasource.url=jdbc:kingbase8://116.205.121.200:54321/Ipz +spring.datasource.username=system +spring.datasource.password=root +spring.datasource.driver-class-name=com.kingbase8.Driver +spring.jpa.database-platform=org.hibernate.dialect.Kingbase8Dialect +#spring.datasource.url=jdbc:mysql://localhost:3306/Ipz +#spring.datasource.username=root +#spring.datasource.password=zxc25864 +#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver +#spring.jpa.database-platform=org.hibernate.dialect.MySQL8Dialect spring.datasource.hikari.maximum-pool-size=10 spring.datasource.hikari.minimum-idle=5 spring.datasource.hikari.connection-timeout=30000 diff --git a/src/main/resources/mapper/GpuResourceMapper.xml b/src/main/resources/mapper/GpuResourceMapper.xml index 25763d6..7d5134e 100644 --- a/src/main/resources/mapper/GpuResourceMapper.xml +++ b/src/main/resources/mapper/GpuResourceMapper.xml @@ -7,7 +7,7 @@ SELECT * - FROM ipz.gpu_resource + FROM gpu_resource WHERE is_deleted = 0 ORDER BY GPUId ASC LIMIT #{limit} OFFSET #{offset} @@ -40,7 +40,7 @@ @@ -49,7 +49,7 @@