package com.gcloud.mesh.asset.service.impl;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.UUID;
import java.util.concurrent.ConcurrentHashMap;
import java.util.stream.Collectors;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.gcloud.mesh.dcs.service.VoltageFmService;
import com.gcloud.mesh.framework.core.util.JsonUtil;
import org.apache.commons.lang3.StringUtils;
import org.jeecg.common.cache.PermissionCodeCache;
import org.jeecg.common.constant.enums.SysLogOperateType;
import org.jeecg.common.constant.enums.SysLogType;
import org.jeecg.common.constant.enums.SysLogUrlOperate;
import org.jeecg.common.exception.ParamException;
import org.jeecg.common.system.api.ISysBaseAPI;
import org.jeecg.common.util.LogUtil;
import org.jeecg.common.util.RedisUtil;
import org.jeecg.common.util.SpringContextUtils;
import org.jeecg.common.util.sm.SmManager;
import org.jeecg.common.vo.PermissionsInfoVo;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.alibaba.fastjson.JSONObject;
import com.ctc.wstx.util.StringUtil;
import com.gcloud.framework.db.OperatorType;
import com.gcloud.framework.db.PageResult;
import com.gcloud.mesh.asset.dao.CloudResourceDao;
import com.gcloud.mesh.asset.dao.DatacenterDao;
import com.gcloud.mesh.asset.dao.IaasDao;
import com.gcloud.mesh.asset.dao.NodeDao;
import com.gcloud.mesh.asset.dao.SwitcherDao;
import com.gcloud.mesh.asset.entity.CloudResourceEntity;
import com.gcloud.mesh.asset.entity.DatacenterEntity;
import com.gcloud.mesh.asset.entity.IaasEntity;
import com.gcloud.mesh.asset.entity.NodeEntity;
import com.gcloud.mesh.asset.entity.SwitcherEntity;
import com.gcloud.mesh.asset.enums.DeviceType;
import com.gcloud.mesh.asset.enums.MockType;
import com.gcloud.mesh.asset.enums.NetworkStatus;
import com.gcloud.mesh.asset.enums.PowerStatus;
import com.gcloud.mesh.asset.service.IAssetService;
import com.gcloud.mesh.asset.sync.ISyncL2System;
import com.gcloud.mesh.asset.utils.supervisionsystem.ISupervisionSystem;
import com.gcloud.mesh.dcs.dao.AuthorityDao;
import com.gcloud.mesh.dcs.service.AuthorityService;
import com.gcloud.mesh.header.enums.ResourceSourceType;
import com.gcloud.mesh.header.enums.AuthorityResourceClassification;
import com.gcloud.mesh.header.enums.OrderType;
import com.gcloud.mesh.header.exception.AppErrorCode;
import com.gcloud.mesh.header.exception.AssetErrorCode;
import com.gcloud.mesh.header.exception.BaseException;
import com.gcloud.mesh.header.msg.asset.CreateDatacenterMsg;
import com.gcloud.mesh.header.msg.asset.CreateDeviceMsg;
import com.gcloud.mesh.header.msg.asset.CreateNodeMsg;
import com.gcloud.mesh.header.msg.asset.CreateNodeSmMsg;
import com.gcloud.mesh.header.msg.asset.CreateSwitcherMsg;
import com.gcloud.mesh.header.msg.asset.ListDatacenterMsg;
import com.gcloud.mesh.header.msg.asset.ListDeviceMsg;
import com.gcloud.mesh.header.msg.asset.UpdateDatacenterMsg;
import com.gcloud.mesh.header.msg.asset.UpdateDeviceMsg;
import com.gcloud.mesh.header.msg.asset.UpdateNodeMsg;
import com.gcloud.mesh.header.msg.asset.UpdateNodeSmMsg;
import com.gcloud.mesh.header.msg.asset.UpdateSwitcherMsg;
import com.gcloud.mesh.header.msg.dcs.ListByClassificationMsg;
import com.gcloud.mesh.header.vo.asset.CountDeviceVo;
import com.gcloud.mesh.header.vo.asset.DatacenterItemVo;
import com.gcloud.mesh.header.vo.asset.DeviceItemVo;
import com.gcloud.mesh.header.vo.asset.MockIaasVo;
import com.gcloud.mesh.header.vo.asset.MockNodeVo;
import com.gcloud.mesh.header.vo.asset.MockSwitcherVo;
import com.gcloud.mesh.header.vo.asset.NodeItemVo;
import com.gcloud.mesh.header.vo.asset.SwitcherItemVo;
import com.gcloud.mesh.header.vo.dcs.AuthorityVo;
import com.gcloud.mesh.redis.MockRedis;
import com.gcloud.mesh.sm.service.SmService;
import com.gcloud.mesh.threads.ThreadManager;
import com.gcloud.mesh.utils.TimestampUtil;
import lombok.extern.slf4j.Slf4j;
@Slf4j
@Service
public class AssetServiceImpl implements IAssetService {
private static final String PERFORMANCE = "performance";
private static final String SM_TOKEN = "sm-token";
private boolean isPerformance = false;
@Autowired
private RedisUtil redisUtil;
@Autowired
private IaasDao iaasDao;
@Autowired
private DatacenterDao datacenterDao;
@Autowired
private NodeDao nodeDao;
@Autowired
private SwitcherDao switcherDao;
@Autowired
private CloudResourceDao cloudResourceDao;
@Autowired
private AuthorityDao authorityDao;
@Autowired
private AuthorityService authorityService;
@Autowired
private MockRedis<MockIaasVo> mockIaasRedis;
@Autowired
private MockRedis<MockNodeVo> mockNodeRedis;
@Autowired
private MockRedis<MockSwitcherVo> mockSwitcherRedis;
@Autowired
private SmService smService;
@Autowired
private VoltageFmService voltageFmService;
@Autowired
private ISysBaseAPI sysBaseAPI;
@Autowired
private ISupervisionSystem supervision;
@Autowired
private ISyncL2System syncL2System;
private Map<String, String> datacenterNameMap = new HashMap<String, String>();
private Map<String, DatacenterItemVo> datacenterMap = new ConcurrentHashMap<String, DatacenterItemVo>();
private Map<Integer, Boolean> authorityMap = new ConcurrentHashMap<Integer, Boolean>();
private List<DeviceItemVo> performanceDevices = null;
@Override
public String createDevice(CreateDeviceMsg msg, String userId) throws BaseException {
// TODO Auto-generated method stub
// if (isPerformance) {
// // 高性能模式
// IaasEntity iaas = new IaasEntity();
// iaas.setId(UUID.randomUUID().toString());
// iaas.setName(msg.getName());
// iaas.setType(msg.getType());
// iaas.setEsn(msg.getEsn());
// iaas.setDatacenterId(msg.getDatacenterId());
// iaas.setCreator(userId);
// iaas.setCreateTime(new Date());
// iaas.setDeviceManufacturer(msg.getDeviceManufacturer());
// iaas.setDeviceModel(msg.getDeviceModel());
// iaas.setFrom(ResourceSourceType.MANUAL.getName());
// try {
// iaasDao.save(iaas);
// } catch (BaseException e) {
// log.error("数据库保存失败", e.getMessage());
// throw new BaseException(AssetErrorCode.RESOURSE_DB_SAVE);
// }
// ThreadManager.submit(new Runnable() {
// @Override
// public void run() {
// // TODO Auto-generated method stub
// try {
// iaasDao.save(iaas);
// } catch (BaseException e) {
// log.error("数据库保存失败", e.getMessage());
// throw new BaseException(AssetErrorCode.RESOURSE_DB_SAVE);
// }
// }
//
// });
// return iaas.getId();
// } else {
IaasEntity iaas = null;
Map<String, Object> props = new HashMap<String, Object>();
props.put("type", msg.getType());
props.put("name", msg.getName());
List<IaasEntity> iaass = iaasDao.findByProperties(props);
for (IaasEntity iaasdb : iaass) {
if (iaasdb != null && iaasdb.getName().equals(msg.getName())) {
throw new ParamException(AssetErrorCode.DEVICE_NAME_EXIST);
}
}
if (DeviceType.getDeviceTypeByNo(msg.getType()) == null) {
throw new ParamException(AssetErrorCode.RESOURSE_NOT_EXIST);
}
if (DeviceType.SERVER.getNo() == msg.getType() || DeviceType.SWITCHER.getNo() == msg.getType()) {
throw new ParamException(AssetErrorCode.RESOURSE_TYPE_ERROR);
}
DatacenterEntity dc = datacenterDao.getById(msg.getDatacenterId());
if (dc == null) {
throw new ParamException(AssetErrorCode.DATACENTER_NOT_EXIST);
}
iaas = new IaasEntity();
iaas.setId(UUID.ran
没有合适的资源?快使用搜索试试~ 我知道了~
mesh-code高效能多数据中心调度
共2003个文件
java:1610个
vue:227个
xml:59个
0 下载量 176 浏览量
2024-03-04
18:36:17
上传
评论
收藏 10.52MB ZIP 举报
温馨提示
系统对配电层、数据中心基础设施层、IT设备层、云平台层、业务应用层应用相关运行数据采集、汇总,通过多维代价模型对跨层数据进行跨数据中心调度分析,通过跨数据中心迁移工具进行跨数据中心迁移(容器类应用&虚拟机类应用),从而在保障业务SLA的前提下,提升资源利用率、缓解配电子网负载实现“电网友好”
资源推荐
资源详情
资源评论
收起资源包目录
mesh-code高效能多数据中心调度 (2003个子文件)
style.css 7KB
.DS_Store 8KB
.DS_Store 6KB
.DS_Store 6KB
index.html 473B
AssetServiceImpl.java 77KB
AssetServiceImpl.java 75KB
SubhealthThresholdService.java 51KB
SysUserController.java 50KB
LogUtil.java 40KB
SchedulerService.java 38KB
ShowServerResponse.java 36KB
ShowServerResponse.java 36KB
ShowServerResponse.java 36KB
SysLogUrlOperate.java 36KB
SysBaseApiImpl.java 35KB
IntelligentDeviceServiceImpl.java 34KB
IscUserServiceImpl.java 32KB
SchedulerService.java 31KB
AppService.java 29KB
AssetController.java 29KB
AppService.java 29KB
QueryGenerator.java 28KB
ModelService.java 28KB
AppService.java 27KB
ModelService.java 27KB
PostSourceServerBody.java 25KB
PostSourceServerBody.java 25KB
PostSourceServerBody.java 25KB
DataClassificationService.java 24KB
DataClassificationService.java 23KB
NodeSimulateTrainTimer.java 22KB
CloudResourceServiceImpl.java 21KB
UserServiceImpl.java 21KB
IscPermissionServiceImpl.java 20KB
CloudResourceServiceImpl.java 20KB
DatacenterEnergyService.java 20KB
DatacenterEnergyService.java 20KB
SysPermissionController.java 20KB
DateUtils.java 19KB
SysDictController.java 18KB
LoginController.java 18KB
JeecgElasticsearchTemplate.java 17KB
SysDepartServiceImpl.java 17KB
SysLogController.java 17KB
AliMigrationProcess.java 17KB
AliMigrationProcess.java 17KB
SysPermissionServiceImpl.java 17KB
oConvertUtils.java 17KB
SysAnnouncementController.java 16KB
SysDepartController.java 16KB
CheckSchedulerThresholdTask.java 16KB
SchedulerController.java 16KB
SysCategoryController.java 16KB
SchedulerController.java 15KB
MockDataCleaningServiceImpl.java 15KB
SysUserServiceImpl.java 15KB
SysLogServiceImpl.java 15KB
DataCleaningServiceImpl.java 14KB
AppProfileService.java 14KB
AppProfileService.java 14KB
AppProfileService.java 14KB
IaasDao.java 14KB
IaasDao.java 14KB
AlertTimer.java 14KB
AlertTimer.java 14KB
SysRoleController.java 13KB
PolicyService.java 13KB
PolicyService.java 13KB
DataSecurityService.java 13KB
CommonCluster.java 13KB
AliMigrationStrategy.java 13KB
AliMigrationStrategy.java 13KB
AliPowerConsumptionAdapter.java 13KB
AliPowerConsumptionAdapter.java 13KB
IscAccessInterceptFilter.java 13KB
UpdateClusterResourceTask.java 13KB
CommonController.java 13KB
RedisUtil.java 12KB
HuaweiMigrationStrategy.java 12KB
HuaweiMigrationStrategy.java 12KB
ShiroConfig.java 12KB
IscUtil.java 12KB
SyncAliPowerTask.java 12KB
SyncAliPowerTask.java 12KB
SM4Util.java 12KB
geneticAlgorithm.java 12KB
AlarmRedis.java 12KB
AlarmRedis.java 12KB
SysDepartPermissionController.java 12KB
ClusterMigrationStrategy.java 11KB
MonitorMeter.java 11KB
DynamicDBUtil.java 11KB
SchedulerAdviceService.java 11KB
SchedulerAdviceService.java 11KB
SchedulerAdviceService.java 11KB
XmlUtils.java 11KB
ShowServerSolution.java 11KB
ShowServerSolution.java 11KB
StatisticsService.java 11KB
共 2003 条
- 1
- 2
- 3
- 4
- 5
- 6
- 21
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6713
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功