⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 docgen4bt.java

📁 p2p仿真
💻 JAVA
字号:
/*
 * @(#)DocGen4BT.java	ver 1.0  7/20/2005
 *
 * Copyright 2005 Weishuai Yang (wyang@cs.binghamton.edu). 
 * All rights reserved.
 * 
 */
 
package gps.toolbox;
import java.io.BufferedWriter;
import java.io.FileWriter;
import java.util.Random;

/**
 * generates documents configuration file for BT simulation
 * @author  Weishuai Yang
 * @version 1.0,  7/20/2005
 */
public class DocGen4BT {
		

	
	/**
	 * dummy constructor
	 */
	public DocGen4BT() {
		
	}	
	
	/**
	 * generates documents distribution configureaiton file
	 *
	 * @param docnum  total document number
	 * @param docsize  document size
	 * @param pnum  number of peer agents
	 * @param poffset  offset of peer agents, i.e. the first agent id of peer node
	 * @param seed  random seed
	 * @param f  output file

	 */
	public static void gen(int docnum, int docsize, int pnum, int poffset, int seed, String f){
	    String header1="#Generated by gps.toolbox.DocGen4BT, columns seperated by ','";
	    String header2="#document number:"+docnum+" document size:"+docsize+" peer number:"+pnum+" peerid offset:"+poffset+" seed:"+ seed;
		String header3="#id(number), key(string), size(kbytes), popularity(rank 1-10), initial location(pnode id), server(snode id)";
		Random r=new Random(seed);
	    try
	    {
			BufferedWriter output= new BufferedWriter(new FileWriter(f));


			output.write(header1, 0, header1.length());
			output.newLine();
			output.write(header2, 0, header2.length());
			output.newLine();
			output.write(header3, 0, header3.length());
			output.newLine();
			output.newLine();
			
			for(int i=0; i<docnum;i++){
				StringBuffer buf=new StringBuffer();
				buf.append(i);
				buf.append(',');
				buf.append("key");
				buf.append(i);
				buf.append(',');
				buf.append(docsize);
				buf.append(',');
				buf.append(r.nextInt(10));
				buf.append(',');
				buf.append(r.nextInt(pnum)+poffset);
				buf.append(',');
				buf.append(r.nextInt(poffset));
				String s=buf.toString();
				output.write(s, 0, s.length());
				output.newLine();
			}
			output.close();
	    }

	    catch (Exception e){
	    	e.printStackTrace();
	    }

		
	}
	
	/**
	 * main entrance
	 * @param args command line parameters
	 */
	public static void main(String[] args) {

		//DocGen4BT.gen(4, 500000, 20, 1, 12345, "config/documents.txt");
		DocGen4BT.gen(Integer.parseInt(args[0]), Integer.parseInt(args[1]), Integer.parseInt(args[2]), Integer.parseInt(args[3]), Integer.parseInt(args[4]), args[5]);

	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -