1、对比release1.1和develop分支的配置文件,将未合并部分手动添加到develop;

2、修改分组复用传给redis接口数据的结构
This commit is contained in:
zhangdongxu
2018-08-27 15:01:16 +08:00
parent a574c207a3
commit 0c33fe7c98
5 changed files with 65 additions and 49 deletions

View File

@@ -534,6 +534,13 @@
<artifactId>httpcore</artifactId>
<version>4.4</version>
</dependency>
<dependency>
<groupId>jdk.tools</groupId>
<artifactId>jdk.tools</artifactId>
<version>1.7</version>
<scope>system</scope>
<systemPath>${JAVA_HOME}/lib/tools.jar</systemPath>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>

View File

@@ -376,7 +376,7 @@ public class ConfigSourcesController extends BaseRestController {
@RequestMapping(value = "/cfg/v1/groupReuseSources", method = RequestMethod.POST)
@ApiOperation(value = "分组复用域配置新增接口", httpMethod = "POST", response = Map.class, notes = "接收分组复用域配置,增加到对应的分组中")
@ApiParam(value = "分组复用域配置对象", name = "configSource", required = true)
@ApiParam(value = "分组复用域配置对象", name = "groupReuseSource", required = true)
public Map addGroupReuseSources(@RequestBody GroupReuseSource groupReuseSource, HttpServletRequest request,
HttpServletResponse response) {
@@ -419,7 +419,7 @@ public class ConfigSourcesController extends BaseRestController {
@RequestMapping(value = "/cfg/v1/groupReuseSources", method = RequestMethod.PUT)
@ApiOperation(value = "分组复用域配置删除接口", httpMethod = "PUT", response = Map.class, notes = "接收分组复用域配置,并从对应分组中删除")
@ApiParam(value = "分组复用域配置对象", name = "configSource", required = true)
@ApiParam(value = "分组复用域配置对象", name = "groupReuseSource", required = true)
public Map delGroupReuseSources(@RequestBody GroupReuseSource groupReuseSource, HttpServletRequest request,
HttpServletResponse response) {
long start = System.currentTimeMillis();

View File

@@ -477,7 +477,11 @@
<result column="d_subscribe_id" jdbcType="VARCHAR" property="dSubscribeId" />
<result column="scene_file" jdbcType="VARCHAR" property="sceneFile" />
<result column="app_label" jdbcType="VARCHAR" property="appLabel" />
<result column="label_proto_id" jdbcType="INTEGER" property="labelProtoId" />
<result column="label_os_id" jdbcType="INTEGER" property="labelOsId" />
<result column="label_bs_id" jdbcType="INTEGER" property="labelBsId" />
<result column="label_behav_id" jdbcType="INTEGER" property="labelBehavId" />
<result column="label_app_id" jdbcType="INTEGER" property="labelAppId" />
<result column="c2s_pkt_num" jdbcType="VARCHAR" property="c2sPktNum" />
<result column="s2c_pkt_num" jdbcType="VARCHAR" property="s2cPktNum" />
<result column="c2s_byte_num" jdbcType="VARCHAR" property="c2sByteNum" />

View File

@@ -904,72 +904,69 @@ public class ConfigSourcesService extends BaseService {
*/
public void deleteGroupReuseSources(AuditLogThread thread, long start, List<GroupReuse> groupReuseList, Date opTime,
StringBuffer sb) throws Exception {
// 按service分类
Map<Integer, List<MaatConfig>> maatMap = new HashMap<Integer, List<MaatConfig>>();
// 按service分类 Map<service,Map<groupId,List<"tableName,regionId">>
Map<Integer, Map<Long, List<String>>> reuseMap = new HashMap<Integer, Map<Long,List<String>>>();
GroupReuseVal.valGroupReuse(groupReuseList, false);
for (GroupReuse groupReuse : groupReuseList) {
// 验证格式
checkGroupReuseForUpdate(groupReuse);
Integer service = groupReuse.getService();
MaatConfig maatConfig = new MaatConfig();
maatConfig.setService(service);
List<Map<String, String>> dstMaplList = null;
if (!reuseMap.containsKey(service)) {
Map<Long, List<String>> map = new HashMap<Long, List<String>>();
reuseMap.put(service, map);
}
// 字符串域
List<Map<String, String>> strongMapList = null;
if (!StringUtil.isEmpty(groupReuse.getStrRegionList())) {
dstMaplList = new ArrayList<Map<String, String>>();
for (StrRegion region : groupReuse.getStrRegionList()) {
if (StringUtil.isEmpty(region.getDistrict())) {
dstMaplList.add(convertObjectToMap(region, StrRegion.class));
if (reuseMap.get(service).containsKey(region.getGroupId())) {
reuseMap.get(service).get(region.getGroupId()).add(region.getTableName()+","+region.getRegionId());
}else{
if (StringUtil.isEmpty(strongMapList)) {
strongMapList = new ArrayList<Map<String, String>>();
}
strongMapList.add(convertObjectToMap(region, StrRegion.class));
Map<Long, List<String>> groupMap = new HashMap<Long, List<String>>();
List<String> regionList = new ArrayList<String>();
regionList.add(region.getTableName()+","+region.getRegionId());
groupMap.put(region.getGroupId(), regionList);
}
}
}
maatConfig.setStrRegionMapList(dstMaplList);
// 增强字符串域
if (!StringUtil.isEmpty(strongMapList) && strongMapList.size() > 0) {
maatConfig.setStrStrRegionMapList((strongMapList));
}
// 数值域
dstMaplList = null;
if (!StringUtil.isEmpty(groupReuse.getNumRegionList())) {
dstMaplList = new ArrayList<Map<String, String>>();
for (NumRegion region : groupReuse.getNumRegionList()) {
dstMaplList.add(convertObjectToMap(region, NumRegion.class));
if (reuseMap.get(service).containsKey(region.getGroupId())) {
reuseMap.get(service).get(region.getGroupId()).add(region.getTableName()+","+region.getRegionId());
}else{
Map<Long, List<String>> groupMap = new HashMap<Long, List<String>>();
List<String> regionList = new ArrayList<String>();
regionList.add(region.getTableName()+","+region.getRegionId());
groupMap.put(region.getGroupId(), regionList);
}
}
}
maatConfig.setNumRegionMapList(dstMaplList);
// Ip域
dstMaplList = null;
if (!StringUtil.isEmpty(groupReuse.getIpRegionList())) {
dstMaplList = new ArrayList<Map<String, String>>();
for (IpRegion region : groupReuse.getIpRegionList()) {
dstMaplList.add(convertObjectToMap(region, IpRegion.class));
}
}
maatConfig.setIpRegionMapList(dstMaplList);
if (maatMap.containsKey(service)) {
maatMap.get(service).add(maatConfig);
if (reuseMap.get(service).containsKey(region.getGroupId())) {
reuseMap.get(service).get(region.getGroupId()).add(region.getTableName()+","+region.getRegionId());
}else{
List<MaatConfig> maatCfgList = new ArrayList<MaatConfig>();
maatCfgList.add(maatConfig);
maatMap.put(service, maatCfgList);
Map<Long, List<String>> groupMap = new HashMap<Long, List<String>>();
List<String> regionList = new ArrayList<String>();
regionList.add(region.getTableName()+","+region.getRegionId());
groupMap.put(region.getGroupId(), regionList);
reuseMap.put(service, groupMap);
}
}
}
}
logger.info("调用接口删除Redis中分组复用的域配置接口");
// 所有的都删除成功返回true
if (!configRedisService.delGroupReuseConfig(maatMap)) {
throw new ServiceRuntimeException("删除分组利用域配置时出现异常,具体原因不详,请联系管理员",
RestBusinessCode.service_runtime_error.getValue());
}
// if (!configRedisService.delGroupReuseConfig(reuseMap)) {
// throw new ServiceRuntimeException("删除分组利用域配置时出现异常,具体原因不详,请联系管理员",
// RestBusinessCode.service_runtime_error.getValue());
// }
}
/**
@@ -1048,7 +1045,7 @@ public class ConfigSourcesService extends BaseService {
}
}
if (hasRegionFlag) {
if (!hasRegionFlag) {
// 所有的域类型都不包括,可能是配置文件配错了
throw new ServiceRuntimeException(
"service为" + config.getService() + "" + RestBusinessCode.ReuseRegionIsNull.getErrorReason(),

View File

@@ -20,7 +20,7 @@
##回流 0x60 96 loop
##白名单 0x80 128 whitelist
service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16;27:16;30:16;31:16;32:16;33:16;34:16;35:16;36:16;37:16;128:1;129:1;130:1;131:1;132:1;133:1;134:1;135:1;136:1;137:1;138:1;139:1;140:1;141:1;142:1;143:1;144:1;145:1;147:1;148:1;149:1;256:16;257:16;258:16;259:16;260:16;267:16;384:1;385:1;386:1;387:1;388:1;395:1;512:1;513:1;514:64;515:64;517:80;521:128;528:48;544:2;560:80;576:16;592:1;750:128;768:96;1024:1;1026:1;1027:1;1028:1;1029:1;1030:1;1031:1;1040:32;1041:32;1042:32;1056:64;1059:64;1060:64;1152:1
service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16;27:16;30:16;31:16;32:16;33:16;34:16;35:16;36:16;37:16;128:1;129:1;130:1;131:1;132:1;133:1;134:1;135:1;136:1;137:1;138:1;139:1;140:1;141:1;142:1;143:1;144:1;145:1;147:1;148:1;149:1;256:16;257:16;258:16;259:16;260:16;267:16;384:1;385:1;386:1;387:1;388:1;395:1;512:1;513:1;514:64;515:64;517:80;521:128;528:48;544:2;560:80;576:16;592:1;750:128;768:96;1024:1;1026:1;1027:1;1028:1;1029:1;1030:1;1031:1;1040:32;1041:32;1042:32;1056:64;1057:64;1058:64;1059:64;1060:64;1152:1
#0x1E 0x8E 有问题:14:NTC_XMPP_REGION,NTC_XMPP_CONT 无表结构 不确定表是不是字符串类
@@ -166,7 +166,7 @@ service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16;
750=10:PXY_CTRL_COMPILE;11:PXY_CTRL_GROUP;12:PXY_CTRL_IP;14:PXY_CTRL_HTTP_URL,PXY_CRTL_SUBSCRIBE_ID;15:PXY_CTRL_HTTP_REQ_HDR;18:NTC_IP_RANGE
#0x300 IP复用策略配置
768=10:IR_POLICY_COMPILE;11:IR_POLICY_GROUP;12:IR_POLICY_IP;14:IR_POLICY_IP;18:NTC_IP_RANGE
768=10:IR_POLICY_COMPILE;11:IR_POLICY_GROUP;12:IR_POLICY_IP;18:NTC_IP_RANGE
#将APP用户定义特征发现0x400中APP_PKT_BIN表拆分到新的serive(0x403)
#0x400 APP HTTP特征发现
@@ -194,6 +194,10 @@ service=1:128;2:128;16:16;17:16;18:16;19:16;20:16;21:16;22:16;23:16;24:16;26:16;
#0x420 APP限流
1056=10:APP_COMPILE;11:APP_GROUP;12:NTC_UNIVERSAL_IP;13:NTC_UNIVERSAL_PROTO_TYPE;14:APP_POLICY,APP_SUBSCRIBE_ID;18:NTC_IP_RANGE
#0x421 IP限流
1057=10:LIMIT_COMPILE;11:LIMIT_GROUP;12:LIMIT_IP;18:NTC_IP_RANGE
#0x422 域名限流
1058=10:LIMIT_COMPILE;11:LIMIT_GROUP;14:LIMIT_DOMAIN;18:NTC_IP_RANGE
#0x423 基础协议限流
1059=10:APP_COMPILE;11:APP_GROUP;14:APP_POLICY,APP_SUBSCRIBE_ID;18:NTC_IP_RANGE
@@ -282,6 +286,8 @@ unMaatService=3:32;4:96;5:32;25:32;28:32;64;65;261:16;262:16;263:16;264:16;265:1
#0x411 基础协议丢弃 1041:2,6,7;
#0x412 隧道行为丢弃 1042:2,6,7;
#0x420 APP限流 1056:2,6,7;
#0x421 IP限流 1057:6,7;
#0x422 域名限流 1058:6,2,7;
#0x423 基础协议限流 1059:2,6,7;
#0x424 隧道行为限流 1060:2,6,7;
#0x405 SSL证书特征 1029:2,6,7;
@@ -295,7 +301,7 @@ unMaatService=3:32;4:96;5:32;25:32;28:32;64;65;261:16;262:16;263:16;264:16;265:1
#0x19 IPSec丢弃 25:7;
#0x340 IP复用地址池配置回调832:2,4,5,7
##########
serviceDBIndex=1:2,3,4,6,7;2:2,3,4,6,7;16:2;17:2;18:2;19:2;20:2;21:2;22:2;23:2;24:2;26:2;27:2;30:2;31:2;32:2;33:2,6,7;34:2;35:2,6,7;36:2,6,7;37:2;128:2;129:2;130:2;131:2;132:2;133:2;134:2;135:2;136:2;137:2;138:2;139:2;140:2;141:2;142:2;143:2;144:2;145:2,6,7;147:2,6,7;148:2,6,7;149:2;256:3;257:3;258:3;259:3;260:3;267:3;384:3;385:3;386:3;387:3;388:3;395:3;512:4,7;513:4,2,7;514:4;515:4;517:4;520:4;521:4;528:4;544:4;560:4;576:4;592:4;608:4;750:4;768:5;1024:2,6,7;1024:2;1025:2;1026:2,6,7;1027:2,6,7;1028:2,6,7;1029:2,6,7;1030:2,6,7;1031:2,6,7;1040:2,6,7;1041:2,6,7;1042:2,6,7;1056:2,6,7;1059:2,6,7;1060:2,6,7;1152:2,6;3:7;4:7;5:2;25:7;28:7;64:2;65:2;261:8;262:9;263:10;264:11;265:3;266:3;389:8;390:9;391:10;392:11;393:3;394:3;832:2,4,5,7
serviceDBIndex=1:2,3,4,6,7;2:2,3,4,6,7;16:2;17:2;18:2;19:2;20:2;21:2;22:2;23:2;24:2;26:2;27:2;30:2;31:2;32:2;33:2,6,7;34:2;35:2,6,7;36:2,6,7;37:2;128:2;129:2;130:2;131:2;132:2;133:2;134:2;135:2;136:2;137:2;138:2;139:2;140:2;141:2;142:2;143:2;144:2;145:2,6,7;147:2,6,7;148:2,6,7;149:2;256:3;257:3;258:3;259:3;260:3;267:3;384:3;385:3;386:3;387:3;388:3;395:3;512:4,7;513:4,2,7;514:4;515:4;517:4;520:4;521:4;528:4;544:4;560:4;576:4;592:4;608:4;750:4;768:5;1024:2,6,7;1025:2;1026:2,6,7;1027:2,6,7;1028:2,6,7;1029:2,6,7;1030:2,6,7;1031:2,6,7;1040:2,6,7;1041:2,6,7;1042:2,6,7;1056:2,6,7;1059:2,6,7;1057:6,7;1058:6,2,7;1060:2,6,7;1152:2,6;3:7;4:7;5:2;25:7;28:7;64:2;65:2;261:8;262:9;263:10;264:11;265:3;266:3;389:8;390:9;391:10;392:11;393:3;394:3;832:2,4,5,7
##maat配置入阀门需要将编译中的部分参数写到域配置中目前最多包含ACTIONSERVICEUSER_REGION三个属性
@@ -312,8 +318,10 @@ serviceDBIndex=1:2,3,4,6,7;2:2,3,4,6,7;16:2;17:2;18:2;19:2;20:2;21:2;22:2;23:2;2
#0x404 APP IP特征 1028
#0x410 APP丢弃 1040
#0x420 APP限流 1056
#0x421 IP限流 1057
#0x422 域名限流 1058
maat2Valve=33:strRegion@ACTION&SERVICE&USER_REGION;35:strRegion@ACTION&SERVICE&USER_REGION;36:strRegion@ACTION&SERVICE&USER_REGION;145:strRegion@ACTION&SERVICE&USER_REGION;147:strRegion@ACTION&SERVICE&USER_REGION;148:strRegion@ACTION&SERVICE&USER_REGION;512:ipRegion@ACTION&SERVICE;513:strRegion@ACTION&SERVICE&USER_REGION;1024:strRegion|strStrRegion@USER_REGION;1026:strRegion|strStrRegion@USER_REGION;1027:strRegion|strStrRegion@USER_REGION;1028:ipRegion@USER_REGION;1029:strStrRegion@USER_REGION;1030:numRegion@USER_REGION;1031:strStrRegion@USER_REGION;1040:strRegion@ACTION&SERVICE&USER_REGION;1041:strRegion@ACTION&SERVICE&USER_REGION;1042:strRegion@ACTION&SERVICE&USER_REGION;1056:strRegion@ACTION&SERVICE&USER_REGION;1059:strRegion@ACTION&SERVICE&USER_REGION;1060:strRegion@ACTION&SERVICE&USER_REGION
maat2Valve=33:strRegion@ACTION&SERVICE&USER_REGION;35:strRegion@ACTION&SERVICE&USER_REGION;36:strRegion@ACTION&SERVICE&USER_REGION;145:strRegion@ACTION&SERVICE&USER_REGION;147:strRegion@ACTION&SERVICE&USER_REGION;148:strRegion@ACTION&SERVICE&USER_REGION;512:ipRegion@ACTION&SERVICE;513:strRegion@ACTION&SERVICE&USER_REGION;1024:strRegion|strStrRegion@USER_REGION;1026:strRegion|strStrRegion@USER_REGION;1027:strRegion|strStrRegion@USER_REGION;1028:ipRegion@USER_REGION;1029:strStrRegion@USER_REGION;1030:numRegion@USER_REGION;1031:strStrRegion@USER_REGION;1040:strRegion@ACTION&SERVICE&USER_REGION;1041:strRegion@ACTION&SERVICE&USER_REGION;1042:strRegion@ACTION&SERVICE&USER_REGION;1056:strRegion@ACTION&SERVICE&USER_REGION;1057:ipRegion@ACTION&SERVICE&USER_REGION;1058:strRegion@ACTION&SERVICE&USER_REGION;1059:strRegion@ACTION&SERVICE&USER_REGION;1060:strRegion@ACTION&SERVICE&USER_REGION