1. 程式人生 > >java 叢集伺服器生成唯一id

java 叢集伺服器生成唯一id

思路:

1.獲取當前伺服器唯一id

2.獲取當前時間戳

3.獲取當前uuid

目的:

可以避免多臺同型號伺服器跑大資料的時候發生相同id的問題

package com.uitl;

import java.util.UUID;

/**
 * 生成檔案叢集伺服器唯一id
 * 
 * @author yushen
 *
 */
public class OnlyIdUtils {
	
	/**
	 * 獲取叢集伺服器唯一id
	 * 
	 */
	private static String SERVER_ID = "009";
	
	/**
	 * 生成叢集唯一方法id
	 * 
	 * @param filename
	 * @return
	 */
	public static String getUUIDName(String filename){
		// 先查詢
		int index = filename.lastIndexOf(".");
		// 擷取
		String Ending = filename.substring(index, filename.length());
		// 唯一 字串  fsd-sfsdf-sfsd-sdfsd
		String uuid = UUID.randomUUID().toString().replace("-", "");
		//返回系統時間戳加uuid
		return SERVER_ID + System.currentTimeMillis() + uuid + Ending;
		
	}
	
	/**
	 * 啟動
	 * @param args
	 */
	public static void main(String[] args) {
		//圖片名稱
		String filename = "avc.jpg";
		//輸出唯一圖片id
		System.out.println(getUUIDName(filename));
	}
}