Browse Source

feat:修改并发问题

zhaohaipeng 7 months ago
parent
commit
ef8e23d01b

+ 5 - 5
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/RankService683.java

@@ -86,7 +86,7 @@ public class RankService683 extends RankStrategyXGBBasic {
                 adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
 
                 String cidStr = dto.getCreativeId().toString();
-                Map<String, String> cidFeatureMap = new ConcurrentHashMap<>();
+                Map<String, String> cidFeatureMap = adRankItem.getFeatureMap();
                 Map<String, Map<String, String>> cidFeature = allCidFeature.getOrDefault(cidStr, new HashMap<>());
                 Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
 
@@ -106,7 +106,7 @@ public class RankService683 extends RankStrategyXGBBasic {
 
                 this.handleD2Feature(vidRankMaps, cidFeatureMap, cidStr);
 
-                adRankItem.setFeatureMap(cidFeatureMap);
+                // adRankItem.setFeatureMap(cidFeatureMap);
 
                 adRankItems.add(adRankItem);
 
@@ -146,7 +146,7 @@ public class RankService683 extends RankStrategyXGBBasic {
                 adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
 
                 String cidStr = dto.getCreativeId().toString();
-                Map<String, String> cidFeatureMap = new HashMap<>();
+                Map<String, String> cidFeatureMap = adRankItem.getFeatureMap();
                 Map<String, Map<String, String>> cidFeature = allCidFeature.getOrDefault(cidStr, new HashMap<>());
                 Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
 
@@ -170,7 +170,7 @@ public class RankService683 extends RankStrategyXGBBasic {
                 this.handleE1AndE2Feature(e1Feature, e2Feature, title, cidFeatureMap);
                 this.handleD3AndB1Feature(d3Feature, title, cidFeatureMap);
 
-                adRankItem.setFeatureMap(cidFeatureMap);
+                // adRankItem.setFeatureMap(cidFeatureMap);
 
                 adRankItems.add(adRankItem);
 
@@ -590,7 +590,7 @@ public class RankService683 extends RankStrategyXGBBasic {
     }
 
     private Map<String, String> featureBucket(Map<String, String> featureMap) {
-        Map<String, String> newFeatureMap = new HashMap<>(featureMap.size());
+        Map<String, String> newFeatureMap = new ConcurrentHashMap<>(featureMap.size());
         for (Map.Entry<String, String> entry : featureMap.entrySet()) {
             String name = entry.getKey();
             double score = Double.parseDouble(entry.getValue());

+ 6 - 5
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/RankService687.java

@@ -21,6 +21,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.util.*;
+import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
@@ -90,7 +91,7 @@ public class RankService687 extends RankStrategyXGBBasic {
                 adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
 
                 String cidStr = dto.getCreativeId().toString();
-                Map<String, String> cidFeatureMap = new HashMap<>();
+                Map<String, String> cidFeatureMap = adRankItem.getFeatureMap();
                 Map<String, Map<String, String>> cidFeature = allCidFeature.getOrDefault(cidStr, new HashMap<>());
                 Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
 
@@ -112,7 +113,7 @@ public class RankService687 extends RankStrategyXGBBasic {
 
 
 
-                adRankItem.setFeatureMap(cidFeatureMap);
+                // adRankItem.setFeatureMap(cidFeatureMap);
 
                 adRankItems.add(adRankItem);
 
@@ -157,7 +158,7 @@ public class RankService687 extends RankStrategyXGBBasic {
                 adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
 
                 String cidStr = dto.getCreativeId().toString();
-                Map<String, String> cidFeatureMap = new HashMap<>();
+                Map<String, String> cidFeatureMap = adRankItem.getFeatureMap();
                 Map<String, Map<String, String>> cidFeature = allCidFeature.getOrDefault(cidStr, new HashMap<>());
                 Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
 
@@ -186,7 +187,7 @@ public class RankService687 extends RankStrategyXGBBasic {
                 log.info("cost={} other={} handleE1AndE2Feature={} handleD3AndB1Feature={}", time23 - time20,
                         time21 - time20, time22 - time21, time23 - time22);
 
-                adRankItem.setFeatureMap(cidFeatureMap);
+                // adRankItem.setFeatureMap(cidFeatureMap);
 
                 adRankItems.add(adRankItem);
 
@@ -608,7 +609,7 @@ public class RankService687 extends RankStrategyXGBBasic {
     }
 
     private Map<String, String> featureBucket(Map<String, String> featureMap) {
-        Map<String, String> newFeatureMap = new HashMap<>(featureMap.size());
+        Map<String, String> newFeatureMap = new ConcurrentHashMap<>(featureMap.size());
         for (Map.Entry<String, String> entry : featureMap.entrySet()) {
             String name = entry.getKey();
             double score = Double.parseDouble(entry.getValue());

+ 5 - 6
ad-engine-service/src/main/java/com/tzld/piaoquan/ad/engine/service/score/RankStrategyXGBAutoUpdateModel688.java

@@ -14,7 +14,6 @@ import org.apache.commons.collections4.MapUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Component;
-import org.springframework.stereotype.Service;
 import org.xm.Similarity;
 
 import java.io.BufferedReader;
@@ -92,7 +91,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
                 adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
 
                 String cidStr = dto.getCreativeId().toString();
-                Map<String, String> cidFeatureMap = new ConcurrentHashMap<>();
+                Map<String, String> cidFeatureMap = adRankItem.getFeatureMap();
                 Map<String, Map<String, String>> cidFeature = allCidFeature.getOrDefault(cidStr, new HashMap<>());
                 Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
 
@@ -112,7 +111,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
 
                 this.handleD2Feature(vidRankMaps, cidFeatureMap, cidStr);
 
-                adRankItem.setFeatureMap(cidFeatureMap);
+                // adRankItem.setFeatureMap(cidFeatureMap);
 
                 adRankItems.add(adRankItem);
 
@@ -152,7 +151,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
                 adRankItem.setCpm(ObjUtil.nullOrDefault(dto.getCpm(), 90).doubleValue());
 
                 String cidStr = dto.getCreativeId().toString();
-                Map<String, String> cidFeatureMap = new HashMap<>();
+                Map<String, String> cidFeatureMap = adRankItem.getFeatureMap();
                 Map<String, Map<String, String>> cidFeature = allCidFeature.getOrDefault(cidStr, new HashMap<>());
                 Map<String, String> b1Feature = cidFeature.getOrDefault("alg_cid_feature_basic_info", new HashMap<>());
 
@@ -176,7 +175,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
                 this.handleE1AndE2Feature(e1Feature, e2Feature, title, cidFeatureMap);
                 this.handleD3AndB1Feature(d3Feature, title, cidFeatureMap);
 
-                adRankItem.setFeatureMap(cidFeatureMap);
+                // adRankItem.setFeatureMap(cidFeatureMap);
 
                 adRankItems.add(adRankItem);
 
@@ -564,7 +563,7 @@ public class RankStrategyXGBAutoUpdateModel688 extends RankStrategyXGBBasic {
     }
 
     private Map<String, String> featureBucket(Map<String, String> featureMap) {
-        Map<String, String> newFeatureMap = new HashMap<>(featureMap.size());
+        Map<String, String> newFeatureMap = new ConcurrentHashMap<>(featureMap.size());
         for (Map.Entry<String, String> entry : featureMap.entrySet()) {
             String name = entry.getKey();
             double score = Double.parseDouble(entry.getValue());