数据 -- 模拟互联网日志数据

模拟生成互联网数据

域名  baidu.com
时间  [09/01/2019 00:01:02 +0800]
流量  4090     一部分日志是正确(数值类型)  一部分日志是错误的(字符串类型)
ip    x.x.x.x
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Random;

/**
 * Created by 23578 on 2019/8/30.
 */
public class CreateWebLog {
    private static SimpleDateFormat sdf = new SimpleDateFormat("[MM/dd/yyyy HH:mm:ss +0800]");

    /**
     * [1 ~ bound)
     *
     * @param bound
     * @return
     */
    private static int getRandom(int bound, int start) {
	Random random = new Random();
	int randomNumber = random.nextInt(bound - start) + start;
	return randomNumber;
    }

    /**
     * 得到 由elementLenth 小写字母构成的字符串
     *
     * @return
     */
    private static String getElement(int elementLenth) {
	StringBuffer buffer = new StringBuffer();
	for (int i = 0; i < elementLenth; i++) {
	    int letterNumber = getRandom(27, 1);
	    buffer.append(String.valueOf((char) (96 + letterNumber)).toLowerCase());
	}

	return buffer.toString();
    }

    /**
     * 得到域名
     *
     * @return
     */
    private static String getDomainName() {
	StringBuffer buffer = new StringBuffer();
	int domainNameNumber = getRandom(3, 1);
	for (int i = 0; i < domainNameNumber; i++) {
	    buffer.append(getElement(getRandom(10, 2)));
	    buffer.append(".");
	}
	if (getRandom(17, 0) % 2 == 0) {
	    buffer.append("com");
	} else {
	    buffer.append("cn");
	}
	return buffer.toString();
    }

    /**
     * 得到 ip
     *
     * @return
     */
    private static String getIP() {
	StringBuffer buffer = new StringBuffer();
	switch (getRandom(20, 1) % 3) {
	    case 0:
		buffer.append(10).append(".").append(getRandom(254, 1)).append(".").append(getRandom(254, 1)).append(".").append(getRandom(254, 1));
		break;
	    case 1:
		buffer.append(172).append(".").append(getRandom(32, 16)).append(".").append(getRandom(254, 1)).append(".").append(getRandom(254, 1));
		break;
	    default:
		buffer.append("192.168.").append(getRandom(254, 1)).append(".").append(getRandom(254, 1));
		break;
	}
	return buffer.toString();
    }

    /**
     * 得到日期+时间
     *
     * @return
     */
    private static String getDateTime() {

	String ctime = sdf.format(new Date(1000L * getRandom(1567182221, 1030724621)));
	return ctime;
    }

    /**
     * 得到流量
     *
     * @return
     */
    private static String getFlow() {
	if (getRandom(40, 4) % 7 == 0) {
	    return getElement(getRandom(10, 4));
	} else {
	    return getRandom(100000, 10) + "";
	}
    }

    /**
     * 得到一条日志
     *
     * @return
     */
    public static String getLog() {
	StringBuffer buffer = new StringBuffer();
	buffer.append(getDomainName()).append("\t").append(getDateTime()).append("\t").append(getFlow()).append("\t").append(getIP());
	return buffer.toString();
    }

    public static void main(String[] args) {

	for (int i = 0; i < 1000; i++) {
	    System.out.println(getLog());
	}

    }
}

结果展示

medpb.ye.cn	[11/06/2010 04:47:24 +0800]	56773	172.18.228.76
yjsjylccr.com	[11/27/2010 07:53:41 +0800]	994	172.30.111.137
absqulzxd.cn	[09/14/2014 08:31:36 +0800]	vfsnbrd	172.16.212.201
fo.rkvtccgum.com	[05/17/2012 11:59:24 +0800]	77715	192.168.48.114
lnd.com	[01/31/2007 16:57:03 +0800]	47233	172.30.226.211
xjfbjk.cn	[04/21/2012 22:34:45 +0800]	93321	192.168.93.205
dqrjfx.kttmkvj.cn	[10/14/2014 11:00:52 +0800]	93690	10.176.109.89
nffhg.olagto.cn	[11/20/2004 15:00:35 +0800]	50180	10.230.239.232
mqexzn.cn	[12/14/2007 02:46:43 +0800]	14394	172.31.17.22
pfloazd.smzhpuw.com	[02/16/2019 08:11:18 +0800]	79834	192.168.203.237
ma.qwqru.com	[03/25/2010 23:34:14 +0800]	28955	192.168.37.141
grepmi.com	[11/28/2016 00:22:55 +0800]	wbudzjunw	192.168.202.125
tqmlszk.fhwmjgs.com	[08/31/2013 00:29:28 +0800]	7967	10.19.134.88
ziaastqh.lr.cn	[04/20/2010 18:38:55 +0800]	24554	172.30.53.217
jfdjekbi.hdo.com	[08/31/2004 13:26:54 +0800]	19702	10.236.151.80
dxqa.gokbc.com	[03/20/2019 00:41:03 +0800]	60066	172.22.227.164
oviht.bp.com	[06/15/2018 01:29:38 +0800]	73987	10.216.190.65
or.com	[10/09/2015 14:14:54 +0800]	56992	192.168.167.130
zccnacuxh.uyfhfqon.cn	[09/26/2013 01:05:19 +0800]	98922	192.168.74.217
xjzuew.rtsuwgkq.cn	[01/22/2012 15:43:09 +0800]	20644	172.26.46.231
ztz.com	[07/07/2012 09:03:33 +0800]	ueehjhcrt	172.31.7.137
fbrdrlxu.com	[10/06/2005 12:20:30 +0800]	34282	10.115.195.152
idytg.roag.cn	[02/18/2004 17:32:36 +0800]	77477	10.35.24.21
bgoeflpyx.cn	[07/06/2007 19:29:40 +0800]	68338	172.25.135.71
cffjfve.vimxl.cn	[03/18/2019 21:28:20 +0800]	99691	10.80.180.74
bdrgz.com	[11/12/2018 21:11:51 +0800]	24371	172.18.97.50
yqxkbolu.cn	[01/26/2004 18:53:43 +0800]	44938	172.20.242.62
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值