91哪位大神最厉害帮我看看苹果手机序列号是什么时候生产的,c8pwQB4EJC6F

苹果手机序列号f4gqcp7fgryj是什么时候生产的_百度知道
苹果手机序列号f4gqcp7fgryj是什么时候生产的
我有更好的答案
给你几个:  K2CXT-C6TPX-WCXDP-RMHWT-V4TDT  22DVC-GWQW7-7G228-D72Y7-QK8Q3  Windows XP VLK免激活中文版(绝无仅有的真版本,绝非破解版或英文vlk+中文包)  安装序列号:  DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G [验证可行 ]  t44h2-bm3g7-j4cqr-mpdrm-bwfwm [验证可行 ]  XW6Q2-MP4HK-GXFK3-KPGG4-GM36T [验证可行 ]  HYGKQ-HDMPJ-J6DXW-7BHXY-VFP2P  CG3MF-379MM-CPV27-DG7D4-RQV97  GYT2H-M4GV6-4CRCG-WF83J-HKBFV  6843F-TQQRG-3PQTQ-D8FJJ-G6QGX  322GX-RH3FD-8H26Q-8GJ88-F96JJ  R8T7G-M3PHR-VMTGP-MGGYG-9326Y  FPBFQ-77334-HPGKW-P8KK7-P438R  XPT2W-HVHXR-YFG7J-R686K-H92QD  GVXQK-KPBFH-VQQ36-CWGKV-38DWX  PT8JY-CHGYV-C76YV-4VXJK-3PJP9  QD62V-R82K6-77KJ6-4D3HT-6GKMV  476FK-FRDYB-86P6F-M6YKW-GRR7T  F3DK7-R7QKD-DFYYJ-JKXRY-G98HK  FJK4P-X77CC-6J847-M48CP-CBFPD  DCHK4-FPGT3-VW82T-38DK4-K3KKM  XDHYJ-JRKDP-T6VTC-T3YYK-73MMX  WPWDP-8D2PX-QBBTW-YGWB8-9Q397  JJP2K-43P24-2JCYV-W66RM-PVYYC  YHXBJ-GVFFF-CWGCQ-4KK4D-73F9W  KWVYY-8KPY6-KTPKG-XBGKQ-T23CR  HDCMR-CBPT4-CWF2M-VG3CC-V6J87  JK4PV-6M3PD-HQ4KT-CDQQX-WDGB8  C2PK7-MJV2H-JKHCH-JQ2HW-JRH2J  7HPVP-8VHPV-G7CQ3-BTK2R-TDRF3 XXXXX-643-6215176-XXXXX  TYQMK-4H47Y-GKQ8V-CG2JQ-D9VJR XXXXX-641-9281735-XXXXX  MMF3V-8MKDT-YTXBM-VMFK3-FYCW2 XXXXX-641-5180322-XXXXX  KYCT7-R237H-MJW8Q-K3M2T-9TXFQ XXXXX-644-2549852-XXXXX  TX43K-XKQHC-XKV6V-XHKBT-2MQ9T XXXXX-643-0997386-XXXXX  VRXY7-4BXVF-QKFPT-FFPBT-4FVX7 XXXXX-649-6891821-XXXXX  2TQR6-7WGR4-XXT4Y-7JMRW-4KJYC XXXXX-648-6334723-XXXXX  JTWYW-8Y6GQ-4KMTP-KQKD8-9K239 XXXXX-648-5137955-XXXXX  6J3B7-TXRH2-B6V82-GMPTB-R7Y9D XXXXX-648-4219093-XXXXX  7RBJB-FQ72K-MW4QQ-4GTXR-6KXMX XXXXX-645-7708231-XXXXX  3P2W2-RPH8F-8MGWD-J8JRD-GGM48 XXXXX-642-3894873-XXXXX  MDHVP-PH7DT-3QPRP-DP8G2-6WBQK XXXXX-648-3380437-XXXXX  RCHMX-GPK89-DDQRB-BC8XJ-MFM97 XXXXX-646-9127986-XXXXX  K3TBB-QB42Q-D8RTK-RBBBQ-JHJRH XXXXX-644-8246465-XXXXX  K3XWD-FTFYC-7XR8P-BPMK4-GTGCV XXXXX-644-5897141-XXXXX  KHXRT-RB7YK-YTPW6-XDHJX-YPFHR XXXXX-643-0859857-XXXXX  MTB43-B6BG3-BVQJX-JPQFM-VWXRK XXXXX-645-8212877-XXXXX  8BRKT-KGDXF-HCWPM-FXRKW-J3PGJ XXXXX-642-8836674-XXXXX  78JMG-F77MJ-G8K22-VYD37-4YWVJ  Q4YDM-DPQMT-DMW2J-R44YV-D36BP  CDG23-2XVF4-DHBQT-WR6PM-RP2XH  B6PC6-2GKKB-RJ73Q-QD7MY-7F474  B8YH6-DFTJC-FXQTG-DWKTB-HFBDC  4KRHM-PPKG3-3C3FH-77424-PQ4JF  J8HF8-KRK2F-YCFKX-P6MJV-F7YGV  GQFRM-PBR7F-VX6KP-HMJK7-DB2H7  8V4Y8-XR67D-B4JWD-2QVYV-CJ8FR  DDRGG-RJ263-CDYG2-7KQX7-3GDT4  V2CBC-JF86H-FFFV2-VMB8W-QQYPB  BK3RY-JPQDP-P23T6-MKRDQ-QGQKH  7FVGW-V6DT7-3XB82-MFP8X-TPQP8011  WRGHR-CH8DG-2WDM2-DXXDW-RDVFY010  B8CHG-TT3T2-BXVRJ-GGBV4-RWQHH011  V422J-M3W2R-HXD32-FFMTJ-WXK96015  T2KKK-J6B64-PFVTP-X2DR3-HWX2J014  VTGYH-4B6HW-QFX72-GX6DB-CRK69010  HDHXD-HGHF8-FWYYQ-HV768-66PV2004  M6J7C-84GM8-T242T-K3VWV-G36F7013  BBXJT-YK7P4-KH73D-XCRHB-XDPTH011  QPRGK-GWX2B-VHV6P-GDWF6-YGTGM010  KJR82-RQJK3-Q82JM-4R3C7-YHQK4011  33RDD-Q8WPH-CG8TF-8WX4V-JWCM4011  38VQV-D23BB-T42Q8-H4JGC-X8M66013  GG2VV-4CBR8-8Y42V-4DKHP-BGJ4T007  G7PHM-TFM4Y-CWM7P-RG4PQ-QJQ7Y013  8DY3Q-WJYT2-22QXJ-4MXXH-CYQC8015  JMJ62-PQ6BB-JHKJK-VWRQ6-KXHP6005  7YQBF-RPB7C-TR7JR-HB7MC-7QM9V007  XYYXQ-M8QFP-D7Q8T-HD2WC-2MX49013  K3PXY-2RWBJ-GQWK8-764F4-JJTMQ012  BX6HT-MDJKW-H2J4X-BX67W-TVVFG 005  CCC64-69Q48-Y3KWW-8V9GV-TVKRM 005  MMX38-HJ2PJ-MMCDB-TBRWH-DGPJD008  FXVKV-BM7JQ-K6KCP-RDJCH-MD8XR001  TRCDH-VQMQV-XC64G-RCDX8-BJ6P4008  TWJXX-3CXFD-DYFFW-CB6CJ-FTJ3G015  48VMC-D47YK-TXJQF-MMDKY-W34R8019  MKW7J-6FFYX-GHBPG-PYT2V-MC6KR003  VR2DK-BYD3F-3YJ4T-28JF2-RHDQR005  8MQ33-W4TMG-QJGJT-342YD-G29CK013  YJBXQ-KBHKR-76DRM-VQK87-WCKMT003  VMGWJ-Q73GV-QFC7H-DPQHF-427QD012  4X7BQ-MG2TM-Q4YYF-6DCCJ-86MWW017  T4HMT-VXFPB-4WGVC-GXFY3-W4F6M018  R86XR-TF7C7-DW3P6-BPFWM-B8FTJ003  4MQY7-GD6JG-VWRYF-RDGGQ-X3KTW017  QRJ3Q-J7R23-47XHY-C7TMY-MFGMW003  JRY8X-8JMKF-XHYP6-VGH67-BDR4B005  JRY8X-8JMKF-XHYP6-VGH67-BDR4B005  FB3KD-WHK73-GPJ4X-2R3R4-7RGT4020  BMQT7-7JV4W-3QHYY-KM83W-YBYX7018  MYYV6-WJRGX-7MRR2-PQQ7F-6FWCC006  36B4B-7T68F-Q2V2J-WD4WR-X3FPT009  GJVFB-GMJHV-VDWGX-XKPKW-XD293017  WFHYK-F7TG4-3B8RF-MR4J3-QG6P6018  6WF8K-KHFGM-MXMWD-RX2MY-Y2KMD011  3Q674-JPYY6-FHB7Y-WWC3Q-63BY4013  MFDJ7-2RW34-D4VJK-CV8RD-4PDC2015  XBD4K-3RWQK-QBYK6-KHXXR-QKYT2016  GVQC6-M47K4-FGPP2-PHMHC-PD3Y4013  YRB7C-Y283Y-JWFMH-BH6HX-VGKRJ006  KYTRG-7RVFF-7KGMY-7B7V3-V38X6014  KJM3R-72HRB-3PDFQ-G7QY4-XQVJX019  BRPFX-G4KMG-F278B-QPFGX-DYP4C015  CWKVH-WQ38Y-HTYQR-PJKW7-JDGT3009  MKYPK-CR6PM-RGRWR-X2GMY-JQYF8011  QDKWP-XC8HY-67BCP-JTJHM-JVPP7009  C8QCQ-H8M7Y-FYC2B-4CBDF-8D3K3013  FC8VQ-KXXHG-FBG6R-R628H-C6TQP003  WYJYB-QJTC6-XMWWW-3YJK7-CX93Y016  FJD2V-BQHKH-FPVT4-BYV3F-WR66K005  VQ6VM-Q8M6X-FT8P7-7QQKG-T222G013  XP4P4-WK3MT-K36KR-W4RY3-YPMCD010  JC2BY-TWX7R-2TRVK-WJCVV-HP94J014  P8HY8-82HTT-RH6GK-JVCQD-  DWFRT-3WWPX-7BF4W-WBJ2W-93QK9008  KPHJV-FFPT6-3WCGF-4HBKQ-BC9RK012  2JHRT-8PTQ6-YG3TH-MJ3RP-XR4YF005  GWYY7-YYQ7J-HD6XB-MK4TX-39K4M010  DHMPC-G8WR4-GPMQQ-PK474-GWXH3012  3XP3F-4JGHD-6WTBR-GM6RC-QVXH9012  PRHDX-KRYRJ-TB76X-J7D4C-RKHJY007  JWQ6K-PBRFB-XYXYM-34JQQ-CJJY7016  VMHWD-4PMHQ-HVFC2-88M3J-KDVH6008  VXXT3-TRW8C-T7HFD-264B7-4YJW6004  2PBMV-BV8CH-XHHG3-3H37P-2QVGG013  4DPYJ-XJY7B-CPYMK-8BJJR-RHB67017  QFQVR-WMKHV-RQ3WV-FF268-DV89D005  4XR87-KGBW4-TWYPG-MXX3B-FVH9Q006  JDX7K-DD3PQ-GDVR3-CV7J8-QWGX4007  MMBYK-HVXKF-42DHY-6DKM6-VQ9F2004  MJV26-DJHXC-DBDX2-J3682-62VGK004  VVRH8-6HVMV-RFPCY-H6WBH-6CH22016  QGVHJ-DGV4V-RMT48-BXDP2-DMT43003  随便用  回答者:beyond582000 - 秀才 二级 7-20 09:30  评价已经被关闭 目前有 1 个人评价  好  100% (1) 不好  0% (0)  对最佳答案的评论  请问一下。。一张XP安装盘可用几个CD-KEY呀???是不是都是通用的呀!!!我有一张XP盘没有CD-KEY。。随便找找可以用吗???  评论者: fengwubin - 试用期 一级  NICE !NICE!不错啊!正好今天我没法更新了,我的序列号是DG8FV-B9TKY-FRT9J-6CRCC-XPQ4G  评论者: yi_ran_rain - 魔法师 四级  df  评论者: njrjbcxx - 试用期 一级  其他回答共 3 条  装xp需要序列号吗?  我怎么装的时候从来不需要???????????  回答者:hushanbin5757 - 助理 二级 7-20 09:24  这是违法的,你想我们被扣分呀!!!  回答者:goodtime100 - 助理 二级 7-20 09:24  HH6JF-WRBDM-CR467-TP8Q2-HKGK8  DHDVX-VPT6Q-KDY26-JC8KH-FDPRM  D2MDH-FP7GQ-D3D6X-DVGD2-CJ3YJ  VMW9D-V6KFR-XYQCP-KWGBT-MWVRJ  V9WC8-XQM9V-W7DB4-B7F39-2HYJT  GFX3B-6RVP4-J7GYD-MRPYK-34Q9D  RX6K7-BRPQJ-WWWGV-VGFKF-FV2K3  J62W3-KW3GQ-7Q32G-MC998-V3YCJ  HF767-BPRVR-CVYVW-DB8KK-CK48M  WKRFC-4297R-JPGJK-YPP8D-7638M  HQJP7-FC7W2-JM7F2-9F4PR-9R9XJ  R9BMD-DJGJK-CFJ6G-JCMJD-GHQ8Y  M4FT3-3X369-XV4J7-YRGT2-F3XGQ  TJP7T-72G32-QCRMB-X6XBC-V3DRG  H9CRH-Q4Q6G-YXMDM-KC6MF-229C3  CKJY2-YVVD9-B9YHB-TRFH4-TMRBJ  C3JMD-6BH6Y-F68GQ-374KH-KHHYJ  MBG4H-XQ77X-874CM-T3YQX-3P6FB  RHPTG-4MWC3-86JRQ-GJV77-3QT4J  G274H-MQW7H-BKDPR-HBX2J-TGV66  MYG42-FKV2C-63HHK-62QBH-XKJHG  XRBY7-PHPRV-R869C-9J8KR-MWX2J  C28RX-CRB7V-RDKKM-PVVVV-RX3PY  DH46X-QD7MJ-DRHFH-G7WYH-9FPTJ  C8GXW-MKJ3M-FJDKT-PDDJB-YHDXY  GX4VH-P3X4C-W6W2Y-DBGCC-CJR66  BFFYC-F4G4M-J6F7B-26H8M-F8VDY  Q2VCF-KBDB2-6CYWG-PFYXR-VWQ2T  F7G9H-GD7C3-7BHVV-F3FQD-3FJ4G
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。这些音乐里有90后的回忆 - 歌单 - 网易云音乐
这些音乐里有90后的回忆
播放:65次
喜欢这个歌单的人
网易云音乐多端下载
同步歌单,随时畅听320k好音乐
网易公司版权所有(C)杭州乐读科技有限公司运营:
违法和不良信息举报电话:6
举报邮箱:基于HBase的冠字号查询系统2--实现部分
1. 软件版本和部署
maven:3.3.9,jdk:1.7 ,Struts2:2.3.24.1,hibernate:4.3.6,spring:4.2.5,MySQL:5.1.34,Junit:4,Myeclipse:2014;
Hadoop2.6.4,HBase1.1.2
下载:https://github.com/fansy1990/ssh_v3/releases
数据下载:http://download.csdn.net/detail/fansy 或 http://pan.baidu.com/s/1dEVeJz7
请先参考上篇Blog:基于HBase的冠字号查询1--理论部分;
2. 系统功能&核心实现
2.1 系统首页
冠字号查询系统,主要包括两方面功能:
1. 把原始数据通过MR流程从HDFS导入到HBase,提供通用接口;
2. 提供冠字号查询功能、提供存款、取款功能;
2.2 数据加载功能
数据加载功能是一个通用的HBase表数据导入功能;
用户只需提供原始数据路径(HDFS)、HBase表名(该表需要先存在)、列描述(参考前篇博客此参数解释)、字段分隔符、时间格式即可;
2.2.1 后台实现
public void submitJob() {
Map jsonMap = new HashMap();
if (HadoopUtils.getMrLock().equals(MRLock.NOTLOCKED)) {// 没有锁,则可以提交代码
HadoopUtils.setMrLock(MRLock.LOCKED);
// 清空MR任务缓存
HadoopUtils.initMRCache();
// 提交任务
new Thread(new Hdfs2HBaseRunnable(hdfsFile, tableName,
colDescription, splitter, dateFormat)).start();
jsonMap.put(&flag&, &true&);
jsonMap.put(&jobId&, HadoopUtils.getJobId());
jsonMap.put(&flag&, &false&);
jsonMap.put(&msg&, &已经在运行MR程序,请确认!&);
Utils.write2PrintWriter(JSON.toJSONString(jsonMap));
这里提供一个MRLock,加此锁是防止在提交任务后,任务正在运行,而有其他程序重复提交任务(监控会有问题);
同时,这里使用多线程,提交任务后,立即返回前台,前台接收返回的信息后,根据判断,是否弹窗监控任务进度:
ret = callByAJax(&hadoop/hadoop_submitJob.action&,
{hdfsFile:hdfs,tableName:table,colDescription:colDescription,splitter:splitter,dateFormat:dateFormat})
if(ret.flag==&false&){// 提交任务失败
$.messager.alert('提示',ret.msg,'warn');
$.messager.progress({
title:'提示',
msg:'导入数据中...',
interval:0
//disable auto update progress value
// hadoop_submitJob.action 返回的ret中包含jobId , ret.jobId
if(typeof(EventSource)!==&undefined&)
console.info(&jobId:&+ret.jobId);
var source=new EventSource(&hadoop/hadoop_getMRProgress.action&+&?jobId=&+ ret.jobId );
source.onmessage=function(event)
console.info(event.data);
// TODO 判断event.data indexOf error ,解析:后面的值,显示,同时提示任务错误
if(event.data.indexOf( &error&)& -1){
source.close();
$.messager.progress('close');
$.messager.alert('提示',&任务运行失败!&,'warn');
// TODO 判断 event.data 为success ,则提示任务成功, 其他清空则任务进度即可
if(event.data == &success&){
source.close();
$.messager.progress('close');
$.messager.alert('提示',&任务运行成功!&,'warn');
var bar = $.messager.progress('bar');
bar.progressbar('setValue',
event.data);
注意这里的JobId的获取:
1) 在提交任务的时候把job变量设置到外部静态类中;
2)在Thread线程提交任务后,去获取jobId
需要注意的是,jobId只有在任务运行中才会被初始化,所以在提交任务后(thread运行中才初始化jobid);
需要注意的是,jobId只有在任务运行中才会被初始化,所以在提交任务后(thread运行中才初始化jobid);
3)while循环获取jobid:
public static String getJobId() {
long start = System.currentTimeMillis();
while (noJobId()) {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
log.info(& Getting job id ...&);
long end = System.currentTimeMillis();
log.info(&获取jobId,耗时:& + (end - start) * 1.0 / 1000 + &s&);
return currJob.getJobID().toString();
private static boolean noJobId() {
if (currJob == null || currJob.getJobID() == null)
同时,这里使用了HTML5的服务器发送事件,关于此技术请参考:http://www.w3school.com.cn/html5/html_5_serversentevents. ;
2.2.2 实例
提交任务后,实时反映任务运行进度:
后台日志:
2.3. 查询冠字号
这里查询冠字号包含两个部分:
1)随机生成:是指随机生成冠字号(根据个数可以生成不同个数冠字号,逗号分隔);
2) 查询,根据冠字号进行查询,如果hbase表中该记录的exist字段为1则说明存在,否则说明查询改冠字号为取出状态,则对应为疑似伪钞冠字号;
3) 详细查询:查询冠字号的所有信息,可以查询多个版本信息:
2.3.1后台实现
* 检查给定的冠字号是否存在疑似伪钞冠字号
* @param stumbers
* @throws IllegalArgumentException
* @throws IOException
public Map checkStumbersExist(String stumbers)
throws IllegalArgumentException, IOException {
String[] stumbersArr = StringUtils.split(stumbers, Utils.COMMA);
Connection connection = HadoopUtils.getHBaseConnection();
Table table = connection.getTable(TableName
.valueOf(Utils.IDENTIFY_RMB_RECORDS));
Map map = new HashMap&&();
List gets = new ArrayList&&();
for (String stumber : stumbersArr) {
get = new Get(stumber.trim().getBytes());
gets.add(get);
Result[] results = table.get(gets);
StringBuffer existStr = new StringBuffer();
StringBuffer notExistStr = new StringBuffer();
for (int i = 0; i & results. i++) {
exist = new String(results[i].getValue(Utils.FAMILY,
Utils.COL_EXIST));
if (&1&.equals(exist)) {
existStr.append(stumbersArr[i]).append(Utils.COMMA);
} else if (&0&.equals(exist)) {
notExistStr.append(stumbersArr[i]).append(Utils.COMMA);
log.info(&冠字号:& + stumbersArr[i] + &值 exist字段值异常!&);
if (existStr.length() & 0) {
map.put(&exist&, existStr.substring(0, existStr.length() - 1));
map.put(&exist&, &nodata&);
if (notExistStr.length() & 0) {
map.put(&notExist&,
notExistStr.substring(0, notExistStr.length() - 1));
map.put(&notExist&, &nodata&);
} catch (Exception e) {
e.printStackTrace();
直接使用HBase的Table
API实现即可;
获取给定rowkey以及版本数的记录,同样使用HBase 的Table Java API 即可实现
* 根据rowkey和版本个数查询数据
* @param tableName
* @param cfs
* @param rowkeys
* @param versions
* @throws IOException
public List getTableCertainRowKeyData(String tableName,
String cfs, String rowkeys, int versions) throws IOException {
String[] stumbersArr = StringUtils.split(rowkeys, Utils.COMMA);
Connection connection = HadoopUtils.getHBaseConnection();
Table table = connection.getTable(TableName
.valueOf(tableName));
List list = new ArrayList&&();
List gets = new ArrayList&&();
for (String stumber : stumbersArr) {
get = new Get(stumber.trim().getBytes());
get.setMaxVersions(versions);
gets.add(get);
Result[] results = table.get(gets);
for (int i = 0; i & results. i++) {
cells = results[i].rawCells();
list.addAll(getHBaseTableDataListFromCells(cells));
} catch (Exception e) {
e.printStackTrace();
2.6 验证每秒500+查询
使用单个线程进行查询:
import java.io.IOE
import java.util.ArrayL
import java.util.D
import java.util.L
import org.apache.hadoop.hbase.TableN
import org.apache.hadoop.hbase.client.C
import org.apache.hadoop.hbase.client.G
import org.apache.hadoop.hbase.client.T
import org.apache.hadoop.hbase.util.B
public class ReadTest {
// private static String FAMILY =&info&;
public static void main(String[] args) throws IOException {
long size =10000;
get(Utils.getConn(),Utils.generateRowKey(size));
public static void get(Connection connection,List rowkeys) throws IOException {
System.out.println(new Date()+&:开始读取记录...&);
long start =System.currentTimeMillis();
Table table = connection.getTable(TableName.valueOf(Utils.TABLE));
long count =0;
for(byte[] rowkey :rowkeys){
get = new Get(Bytes.toBytes(&&));
get = new Get(rowkey);
table.get(get);
if(count%1000==0){
System.out.println(&count:&+count);
long end = System.currentTimeMillis();
System.out.println(new Date()+&:&+rowkeys.size()+&条记录,读取耗时:&+(end-start)*1.0/1000+&s&);
}catch(Exception e){
table.close();
使用多线程查询:
import java.util.D
import java.util.L
import org.apache.hadoop.hbase.client.G
import org.apache.hadoop.hbase.client.T
public class ReadThread implements Runnable {
private List
ReadThread(Table table ,List rks) {
this.table =
this.rks =
public void run() {
System.out.println(Thread.currentThread().getName()+& &+new Date()+&:开始读取记录...&);
long start =System.currentTimeMillis();
long count =0;
for(byte[] rowkey :rks){
get = new Get(Bytes.toBytes(&&));
get = new Get(rowkey);
table.get(get);
if(count%1000==0){
System.out.println(Thread.currentThread().getName()+& count:&+count);
long end = System.currentTimeMillis();
System.out.println(Thread.currentThread().getName()+& &+new Date()
+&:&+rks.size()+&条记录,读取耗时:&+(end-start)*1.0/1000+&s&);
}catch(Exception e){
多线程查询主程序:
import java.io.IOE
public class ReadThreadTest {
public static void main(String[] args) throws IOException {
long dataSize =500;
int threadSize = 20;
for(int i=0;i
工程类Utils程序
import java.io.IOE
import java.text.DecimalF
import java.util.ArrayL
import java.util.D
import java.util.L
import java.util.R
import org.apache.hadoop.conf.C
import org.apache.hadoop.hbase.HBaseC
import org.apache.hadoop.hbase.TableN
import org.apache.hadoop.hbase.client.C
import org.apache.hadoop.hbase.client.ConnectionF
import org.apache.hadoop.hbase.client.T
import org.apache.hadoop.hbase.util.B
public class Utils {
public static String TABLE = &records&;
private static DecimalFormat df = new DecimalFormat( &0000& );
public static String[]
crownSizePrefixes =
static Random random = new Random();
crownSizePrefixes = new String[26*2];
for (int i = 0; i & crownSizePrefixes.length/2; i++) {
crownSizePrefixes[i] = &AAA& + (char) (65 + i);
crownSizePrefixes[i+26] = &AAB& + (char) (65 + i);
* 把0~9999 转为
* @param num
public static String formatCrownSizeSuffix(int num){
return df.format(num);
public static Table getTable() throws IOException{
return getConn().getTable(TableName.valueOf(TABLE));
public static String getRandomCrownSize(){
return crownSizePrefixes[random.nextInt(crownSizePrefixes.length)]
+formatCrownSizeSuffix(random.nextInt(10000));
public static Connection getConn() throws IOException {
Configuration conf = HBaseConfiguration.create();
conf.set(&hbase.master&, &node2:16000&);// 指定HMaster
conf.set(&hbase.rootdir&, &hdfs://node1:8020/hbase&);// 指定HBase在HDFS上存储路径
conf.set(&hbase.zookeeper.quorum&, &node2,node3,node4&);// 指定使用的Zookeeper集群
conf.set(&hbase.zookeeper.property.clientPort&, &2181&);// 指定使用Zookeeper集群的端口
Connection connection = ConnectionFactory.createConnection(conf);// 获取连
public static List generateRowKey(long size){
System.out.println(new Date()+&开始生成&+size +&条记录...&);
long start =System.currentTimeMillis();
rowkeys = new ArrayList&&();
for(int i=0;i2.4 存款:&&1)存款需要输入用户ID、银行、冠字号,当然也可以随机生成;&&2)存取使用的是Table的checkAndPut 函数,关于此函数存储数据的一致性,参考:http://blog.csdn.net/fansy1990/article/details/&&由于AAAR5912的冠字号,其exist状态为1,说明HBase表中此冠字号为存储状态,不能再次存储,即发现了疑似伪钞的冠字号;2.5 取款&&1)取款同样有随机生成功能,类似上面:&&当然,这里随机生成的只是用户和银行而已;2) 取款:取款根据取款金额进行获取:&&取款流程如下:1) 根据给定的取款冠字号个数num,随机查找冠字号(rowkey)对应的op_www:exist字段值为1的num*3条记录;2) 使用HBase.checkAndPut进行更新,把op_www:exist字段值更新为0,并返回更新后的rowkey,即冠字号;3) 如果在num*3条记录更新后,被更新的冠字号不足num条,则再次随机查找冠字号对应的op_www:exist字段值为1的记录,并更新,返回更新后的冠字号,直到返回的冠字号个数为3. 总结
1) 基于冠字号查询系统基于已存在HBase的冠字号非伪钞,如果已存在冠字号包含伪钞,则存储和取钱功能都会有问题;
2) 原始数据(用户信息、冠字号交易信息),在一定程序上是有规律的,并且对于大数据来说,还是小数据,需要在较大数据集上测试;
3)用户账号相关信息(存储的钱总数等)并没有在该系统中体现,后续可以考虑;
4) 查询冠字号、存、取款功能在第一次点击的时候初始化时间较长,考虑弹窗显示;
5)查询冠字号、存、取款功能中的详细查询可以在定制点,比如可以只查询出某个列簇或列的数据即可;【图片】还有谁的伤害比我高【来战】【崩坏学园2吧】_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0可签7级以上的吧50个
本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:1,216,429贴子:
还有谁的伤害比我高【来战】
无地图作死效果,纯自身输出
后面被挡住了一位就当它是零吧
火衣烫死的?
这个没打好,我尽量试试60万
别人qb都是奔着500w去打,,你连100w都不到也来水帖?
隔壁七重一发310w就笑笑
崩坏2运营一定良心妥妥的!
感觉脸麻麻的,是不是睡姿不对
这个像样了
期待着明天赶紧做出流光冲击可与QB一战的伤害
别打了,楼主的脸肿了
现在的楼主:
太可怕了,我觉得我要用红蛰最高才能打到40w简直太辣鸡了QAQ...
这是荧光狙,狙攻击+5荧光
贴吧热议榜
使用签名档&&
保存至快速回贴JYClub所有法官爱用的BGM - 歌单 - 网易云音乐
JYClub所有法官爱用的BGM
jyc所有法官喜欢用的夜间防场外的bgm,一听就爱上(??? ?? ???)
播放:89563次
喜欢这个歌单的人
网易云音乐多端下载
同步歌单,随时畅听320k好音乐
网易公司版权所有(C)杭州乐读科技有限公司运营:
违法和不良信息举报电话:6
举报邮箱:

我要回帖

更多关于 哪位大神有岛国的网站 的文章

 

随机推荐