| 
					
				 | 
			
			
				@@ -1,17 +1,9 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package com.tzld.piaoquan.recommend.server.service.score; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 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.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.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.model.LRModel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import org.apache.commons.lang.exception.ExceptionUtils; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -24,11 +16,11 @@ import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.util.concurrent.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-public class VlogShareLRScorer extends BaseLRModelScorer{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class VlogShareLRScorer extends BaseLRModelScorer { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     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 static final ExecutorService executorService = Executors.newFixedThreadPool(128); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private static final double defaultUserCtrGroupNumber = 10.0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -42,10 +34,9 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LRModel model = (LRModel) this.getModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LOGGER.debug("model size: [{}]", model.getModelSize()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -54,7 +45,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         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, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 System.currentTimeMillis() - startTime); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -63,8 +54,8 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private List<RankItem> rankByJava(final List<RankItem> items, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        final RequestContext requestContext, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                        final UserFeature user) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                      final RequestContext requestContext, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                      final UserFeature user) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         long startTime = System.currentTimeMillis(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LRModel model = (LRModel) this.getModel(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         LOGGER.debug("model size: [{}]", model.getModelSize()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -109,7 +100,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             lrSamples = bytesFeatureExtractor.single(userInfoBytes, newsInfoBytes, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     new RequestContextBytesFeature(requestContext)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 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)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -120,7 +111,7 @@ public class VlogShareLRScorer extends BaseLRModelScorer{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 pro = lrModel.score(lrSamples); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } catch (Exception e) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 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 { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         calcScore(model, items.get(fIndex), userInfoBytes, requestContext); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 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(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 |