配置转换改为多线程转换,一个组类型一个线程;审核与更新组配置是查询配置下的所有域的查询改为多线程查询。在多个组的情况下处理速度会加快。
This commit is contained in:
@@ -2430,55 +2430,100 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
List<Map<String,Object>> cfgList=(List<Map<String,Object>>)cfgMap.get(cfg.getServiceId());
|
||||
Map<String,Object> maatTableMap=ConfigConvertUtil.convertCommonGroupMaatTable(cfg,cfgList);
|
||||
Set<Integer> groupIdSet=new HashSet<>();
|
||||
//多线程转换配置
|
||||
ObjGroupCfgConvert ipConvert=new ObjGroupCfgConvert("ipGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
ipConvert.setGroupRelationList(groupRelationList);
|
||||
ipConvert.setIpRegionList(ipRegionList);
|
||||
ipConvert.setNumRegionList(numRegionList);
|
||||
ipConvert.setStrRegionList(strRegionList);
|
||||
ipConvert.setIsValid(entity.getIsValid());
|
||||
ipConvert.setAuditTime(entity.getAuditTime());
|
||||
ObjGroupCfgConvert subscribeIdConvert=new ObjGroupCfgConvert("subscribeIdGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
subscribeIdConvert.setGroupRelationList(groupRelationList);
|
||||
subscribeIdConvert.setIpRegionList(ipRegionList);
|
||||
subscribeIdConvert.setNumRegionList(numRegionList);
|
||||
subscribeIdConvert.setStrRegionList(strRegionList);
|
||||
subscribeIdConvert.setIsValid(entity.getIsValid());
|
||||
subscribeIdConvert.setAuditTime(entity.getAuditTime());
|
||||
ObjGroupCfgConvert urlConvert=new ObjGroupCfgConvert("urlGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
urlConvert.setGroupRelationList(groupRelationList);
|
||||
urlConvert.setIpRegionList(ipRegionList);
|
||||
urlConvert.setNumRegionList(numRegionList);
|
||||
urlConvert.setStrRegionList(strRegionList);
|
||||
urlConvert.setIsValid(entity.getIsValid());
|
||||
urlConvert.setAuditTime(entity.getAuditTime());
|
||||
ObjGroupCfgConvert domainConvert=new ObjGroupCfgConvert("domainGroup",cfg,1,serviceDictMap,maatTableMap,groupIdSet);
|
||||
domainConvert.setGroupRelationList(groupRelationList);
|
||||
domainConvert.setIpRegionList(ipRegionList);
|
||||
domainConvert.setNumRegionList(numRegionList);
|
||||
domainConvert.setStrRegionList(strRegionList);
|
||||
domainConvert.setIsValid(entity.getIsValid());
|
||||
domainConvert.setAuditTime(entity.getAuditTime());
|
||||
Thread t1=new Thread(ipConvert);
|
||||
Thread t2=new Thread(subscribeIdConvert);
|
||||
Thread t3=new Thread(urlConvert);
|
||||
Thread t4=new Thread(domainConvert);
|
||||
t1.start();
|
||||
t2.start();
|
||||
t3.start();
|
||||
t4.start();
|
||||
try {
|
||||
t1.join();
|
||||
t2.join();
|
||||
t3.join();
|
||||
t4.join();
|
||||
} catch (InterruptedException e) {
|
||||
logger.error("多线程join异常",e);
|
||||
}
|
||||
//IP公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getIpCommGroupCfgList())){
|
||||
IpPortCfg _cfg = new IpPortCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId"});
|
||||
_cfg.setIsValid(entity.getIsValid());
|
||||
_cfg.setIsAudit(entity.getIsAudit());
|
||||
_cfg.setAuditTime(entity.getAuditTime());
|
||||
Map<String,List> map = ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,ipRegionList,cfg.getIpCommGroupCfgList(),1,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
ipRegionList=map.get("dstList");
|
||||
if(map.get("numRegionList")!=null){
|
||||
numRegionList.addAll(map.get("numRegionList"));
|
||||
}
|
||||
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getIpCommGroupCfgList())){
|
||||
// IpPortCfg _cfg = new IpPortCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId"});
|
||||
// _cfg.setIsValid(entity.getIsValid());
|
||||
// _cfg.setIsAudit(entity.getIsAudit());
|
||||
// _cfg.setAuditTime(entity.getAuditTime());
|
||||
// Map<String,List> map = ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,ipRegionList,cfg.getIpCommGroupCfgList(),1,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// ipRegionList=map.get("dstList");
|
||||
// if(map.get("numRegionList")!=null){
|
||||
// numRegionList.addAll(map.get("numRegionList"));
|
||||
// }
|
||||
//
|
||||
// }
|
||||
//URL公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getUrlCommGroupList())){
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId"});
|
||||
_cfg.setIsValid(entity.getIsValid());
|
||||
_cfg.setIsAudit(entity.getIsAudit());
|
||||
_cfg.setAuditTime(entity.getAuditTime());
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getUrlCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getUrlCommGroupList())){
|
||||
// CommonStringCfg _cfg = new CommonStringCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId"});
|
||||
// _cfg.setIsValid(entity.getIsValid());
|
||||
// _cfg.setIsAudit(entity.getIsAudit());
|
||||
// _cfg.setAuditTime(entity.getAuditTime());
|
||||
// Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getUrlCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// strRegionList=map.get("dstList");
|
||||
// }
|
||||
//账号公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getScriberIdCommGroupList())){
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId"});
|
||||
_cfg.setIsValid(entity.getIsValid());
|
||||
_cfg.setIsAudit(entity.getIsAudit());
|
||||
_cfg.setAuditTime(entity.getAuditTime());
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getScriberIdCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getScriberIdCommGroupList())){
|
||||
// CommonStringCfg _cfg = new CommonStringCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId"});
|
||||
// _cfg.setIsValid(entity.getIsValid());
|
||||
// _cfg.setIsAudit(entity.getIsAudit());
|
||||
// _cfg.setAuditTime(entity.getAuditTime());
|
||||
// Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getScriberIdCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// strRegionList=map.get("dstList");
|
||||
//
|
||||
// }
|
||||
//域名公共分组
|
||||
if(CollectionUtils.isNotEmpty(cfg.getDomainCommGroupList())){
|
||||
CommonStringCfg _cfg = new CommonStringCfg();
|
||||
BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId",});
|
||||
_cfg.setIsValid(entity.getIsValid());
|
||||
_cfg.setIsAudit(entity.getIsAudit());
|
||||
_cfg.setAuditTime(entity.getAuditTime());
|
||||
Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getDomainCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
groupRelationList=map.get("groupList");
|
||||
strRegionList=map.get("dstList");
|
||||
}
|
||||
// if(CollectionUtils.isNotEmpty(cfg.getDomainCommGroupList())){
|
||||
// CommonStringCfg _cfg = new CommonStringCfg();
|
||||
// BeanUtils.copyProperties(cfg, _cfg, new String[]{"cfgId",});
|
||||
// _cfg.setIsValid(entity.getIsValid());
|
||||
// _cfg.setIsAudit(entity.getIsAudit());
|
||||
// _cfg.setAuditTime(entity.getAuditTime());
|
||||
// Map<String,List> map =ConfigConvertUtil.objGroupCfgConvert(serviceDictMap,strRegionList,cfg.getDomainCommGroupList(),2,_cfg,groupRelationList,maatTableMap,groupIdSet);
|
||||
// groupRelationList=map.get("groupList");
|
||||
// strRegionList=map.get("dstList");
|
||||
// }
|
||||
BeanUtils.copyProperties(cfg, maatCfg);
|
||||
if(cfg.getServiceId().equals(512)){
|
||||
maatCfg.setAction(2);
|
||||
@@ -2514,6 +2559,7 @@ public class ConfigSynchronizationService extends BaseService{
|
||||
//调用服务接口下发配置数据
|
||||
if(isUpdateCfg) {
|
||||
//logger.info("配置批量下发:"+json);
|
||||
// FileUtils.writeToFile("D:\\send.json",json,false);
|
||||
//调用服务接口同步回调类配置
|
||||
ToMaatResult result = ConfigServiceUtil.postMaatCfg(json);
|
||||
if(result!=null){
|
||||
|
||||
Reference in New Issue
Block a user