| 
					
				 | 
			
			
				@@ -77,10 +77,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String key = VideoManagerConstants.INVITE_PREFIX + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + inviteInfoForUpdate.getType() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + inviteInfoForUpdate.getDeviceId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + inviteInfoForUpdate.getChannelId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + inviteInfoForUpdate.getStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + inviteInfoForUpdate.getType() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + inviteInfoForUpdate.getDeviceId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + inviteInfoForUpdate.getChannelId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + inviteInfoForUpdate.getStream(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         redisTemplate.opsForValue().set(key, inviteInfoForUpdate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -93,10 +93,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         removeInviteInfo(inviteInfoInDb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String key = VideoManagerConstants.INVITE_PREFIX + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + inviteInfo.getType() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + inviteInfo.getDeviceId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + inviteInfo.getChannelId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + inviteInfo.getType() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + inviteInfo.getDeviceId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + inviteInfo.getChannelId() + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + stream; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         inviteInfoInDb.setStream(stream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (inviteInfoInDb.getSsrcInfo() != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             inviteInfoInDb.getSsrcInfo().setStream(stream); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -108,10 +108,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public InviteInfo getInviteInfo(InviteSessionType type, String deviceId, String channelId, String stream) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String key = VideoManagerConstants.INVITE_PREFIX + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (type != null ? type : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (deviceId != null ? deviceId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (channelId != null ? channelId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (stream != null ? stream : "*"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (type != null ? type : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (deviceId != null ? deviceId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (channelId != null ? channelId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (stream != null ? stream : "*"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Object> scanResult = RedisUtil.scan(redisTemplate, key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (scanResult.size() != 1) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -133,10 +133,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public void removeInviteInfo(InviteSessionType type, String deviceId, String channelId, String stream) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String scanKey = VideoManagerConstants.INVITE_PREFIX + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (type != null ? type : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (deviceId != null ? deviceId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (channelId != null ? channelId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                "_" + (stream != null ? stream : "*"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (type != null ? type : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (deviceId != null ? deviceId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (channelId != null ? channelId : "*") + 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                ":" + (stream != null ? stream : "*"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Object> scanResult = RedisUtil.scan(redisTemplate, scanKey); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (scanResult.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             for (Object keyObj : scanResult) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -174,10 +174,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String buildKey(InviteSessionType type, String deviceId, String channelId, String stream) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String key = type + "_" +  deviceId + "_" + channelId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String key = type + ":" +  deviceId + ":" + channelId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 如果ssrc未null那么可以实现一个通道只能一次操作,ssrc不为null则可以支持一个通道多次invite 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (stream != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key += ("_" + stream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key += (":" + stream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -191,7 +191,7 @@ public class InviteStreamServiceImpl implements IInviteStreamService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public int getStreamInfoCount(String mediaServerId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         int count = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String key = VideoManagerConstants.INVITE_PREFIX + "_*_*_*_*"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String key = VideoManagerConstants.INVITE_PREFIX + ":*:*:*:*"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Object> scanResult = RedisUtil.scan(redisTemplate, key); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (scanResult.size() == 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return 0; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -222,10 +222,10 @@ public class InviteStreamServiceImpl implements IInviteStreamService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     private String buildSubStreamKey(InviteSessionType type, String deviceId, String channelId, String stream) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String key = type + "_" + "_" +  deviceId + "_" + channelId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String key = type + ":" + ":" +  deviceId + ":" + channelId; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         // 如果ssrc为null那么可以实现一个通道只能一次操作,ssrc不为null则可以支持一个通道多次invite 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (stream != null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            key += ("_" + stream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            key += (":" + stream); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |