| 
														
															@@ -1,17 +1,9 @@ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 package com.tzld.piaoquan.recommend.server.service.score; 
														 | 
														
														 | 
														
															 package com.tzld.piaoquan.recommend.server.service.score; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.piaoquan.recommend.server.common.base.*; 
														 | 
														
														 | 
														
															 import com.tzld.piaoquan.recommend.server.common.base.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.piaoquan.recommend.server.gen.recommend.CtrSamples; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples; 
														 | 
														
														 | 
														
															 import com.tzld.piaoquan.recommend.server.gen.recommend.LRSamples; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.piaoquan.recommend.server.gen.recommend.RecommendRequest; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.piaoquan.recommend.server.model.Video; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.piaoquan.recommend.server.service.rank.RankParam; 
														 | 
														
														 | 
														
															 import com.tzld.piaoquan.recommend.server.service.rank.RankParam; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.piaoquan.recommend.server.service.rank.RankResult; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.piaoquan.recommend.server.service.recall.RecallResult; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.piaoquan.recommend.server.service.score.feature.FeatureUsage; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-import com.tzld.piaoquan.recommend.server.service.score.feature.LRBytesFeatureExtractorBase; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.piaoquan.recommend.server.service.score.feature.VlogShareLRFeatureExtractor; 
														 | 
														
														 | 
														
															 import com.tzld.piaoquan.recommend.server.service.score.feature.VlogShareLRFeatureExtractor; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import com.tzld.piaoquan.recommend.server.service.score.model.LRModel; 
														 | 
														
														 | 
														
															 import com.tzld.piaoquan.recommend.server.service.score.model.LRModel; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import org.apache.commons.lang.exception.ExceptionUtils; 
														 | 
														
														 | 
														
															 import org.apache.commons.lang.exception.ExceptionUtils; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -24,11 +16,11 @@ import java.util.List; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 import java.util.concurrent.*; 
														 | 
														
														 | 
														
															 import java.util.concurrent.*; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-public class VlogShareLRScorer extends BaseLRModelScorer{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+public class VlogShareLRScorer extends BaseLRModelScorer { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private final static int CORE_POOL_SIZE = 64; 
														 | 
														
														 | 
														
															     private final static int CORE_POOL_SIZE = 64; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private static final int LOCAL_TIME_OUT= 150; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private static final int LOCAL_TIME_OUT = 150; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private final static Logger LOGGER = LoggerFactory.getLogger(VlogShareLRScorer.class); 
														 | 
														
														 | 
														
															     private final static Logger LOGGER = LoggerFactory.getLogger(VlogShareLRScorer.class); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private static final ExecutorService executorService = Executors.newFixedThreadPool(128); 
														 | 
														
														 | 
														
															     private static final ExecutorService executorService = Executors.newFixedThreadPool(128); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private static final double defaultUserCtrGroupNumber = 10.0; 
														 | 
														
														 | 
														
															     private static final double defaultUserCtrGroupNumber = 10.0; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -42,10 +34,9 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public List<RankItem> scoring(final RequestContext requestContext, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                               final RankParam param, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                               final UserFeature userFeature, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                               final List<RankItem> rankItems) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public List<RankItem> scoring(final RankParam param, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                  final UserFeature userFeature, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                  final List<RankItem> rankItems) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         long startTime = System.currentTimeMillis(); 
														 | 
														
														 | 
														
															         long startTime = System.currentTimeMillis(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LRModel model = (LRModel) this.getModel(); 
														 | 
														
														 | 
														
															         LRModel model = (LRModel) this.getModel(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LOGGER.debug("model size: [{}]", model.getModelSize()); 
														 | 
														
														 | 
														
															         LOGGER.debug("model size: [{}]", model.getModelSize()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -54,7 +45,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<RankItem> result = rankItems; 
														 | 
														
														 | 
														
															         List<RankItem> result = rankItems; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        result = rankByJava(rankItems, requestContext, userFeature); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        result = rankByJava(rankItems, param.getRequestContext(), userFeature); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LOGGER.debug("ctr ranker time java items size={}, time={} ", result != null ? result.size() : 0, 
														 | 
														
														 | 
														
															         LOGGER.debug("ctr ranker time java items size={}, time={} ", result != null ? result.size() : 0, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 System.currentTimeMillis() - startTime); 
														 | 
														
														 | 
														
															                 System.currentTimeMillis() - startTime); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -63,8 +54,8 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private List<RankItem> rankByJava(final List<RankItem> items, 
														 | 
														
														 | 
														
															     private List<RankItem> rankByJava(final List<RankItem> items, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                        final RequestContext requestContext, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                        final UserFeature user) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                      final RequestContext requestContext, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                      final UserFeature user) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         long startTime = System.currentTimeMillis(); 
														 | 
														
														 | 
														
															         long startTime = System.currentTimeMillis(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LRModel model = (LRModel) this.getModel(); 
														 | 
														
														 | 
														
															         LRModel model = (LRModel) this.getModel(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LOGGER.debug("model size: [{}]", model.getModelSize()); 
														 | 
														
														 | 
														
															         LOGGER.debug("model size: [{}]", model.getModelSize()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -109,7 +100,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             lrSamples = bytesFeatureExtractor.single(userInfoBytes, newsInfoBytes, 
														 | 
														
														 | 
														
															             lrSamples = bytesFeatureExtractor.single(userInfoBytes, newsInfoBytes, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     new RequestContextBytesFeature(requestContext)); 
														 | 
														
														 | 
														
															                     new RequestContextBytesFeature(requestContext)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } catch (Exception e) { 
														 | 
														
														 | 
														
															         } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            LOGGER.error("extract feature error for imei={}, doc={}, [{}]", new Object[]{new String(userInfoBytes.getUid()), item.getVideoid(), 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            LOGGER.error("extract feature error for imei={}, doc={}, [{}]", new Object[]{new String(userInfoBytes.getUid()), item.getVideoId(), 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     ExceptionUtils.getFullStackTrace(e)}); 
														 | 
														
														 | 
														
															                     ExceptionUtils.getFullStackTrace(e)}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -120,7 +111,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 pro = lrModel.score(lrSamples); 
														 | 
														
														 | 
														
															                 pro = lrModel.score(lrSamples); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } catch (Exception e) { 
														 | 
														
														 | 
														
															             } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 LOGGER.error("score error for doc={} exception={}", new Object[]{ 
														 | 
														
														 | 
														
															                 LOGGER.error("score error for doc={} exception={}", new Object[]{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        item.getVideoid(), ExceptionUtils.getFullStackTrace(e)}); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        item.getVideoId(), ExceptionUtils.getFullStackTrace(e)}); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 增加实时特征后打开在线存储日志逻辑 
														 | 
														
														 | 
														
															             // 增加实时特征后打开在线存储日志逻辑 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 
														 | 
														
														 | 
														
															             // 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -157,7 +148,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     try { 
														 | 
														
														 | 
														
															                     try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         calcScore(model, items.get(fIndex), userInfoBytes, requestContext); 
														 | 
														
														 | 
														
															                         calcScore(model, items.get(fIndex), userInfoBytes, requestContext); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } catch (Exception e) { 
														 | 
														
														 | 
														
															                     } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        LOGGER.error("ctr exception: [{}] [{}]", items.get(fIndex).videoid, ExceptionUtils.getFullStackTrace(e)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        LOGGER.error("ctr exception: [{}] [{}]", items.get(fIndex).videoId, ExceptionUtils.getFullStackTrace(e)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     return new Object(); 
														 | 
														
														 | 
														
															                     return new Object(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 |