自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

廖先贵的专栏

云存储 云计算

  • 博客(33)
  • 资源 (1)
  • 收藏
  • 关注

转载 什么是粉尘攻击

粉尘攻击指的是一种新型的恶意攻击活动,黑客和诈骗者将通过向用户私人钱包中发送极少量的代币以此来试图破坏比特币和加密货币用户的匿名性。许多比特币内行人都认为他们的匿名隐私权已经受到很好的保护,黑客并不能渗入到他们的交易中,然而事实情况并非如此。粉尘定义在加密货币的世界中,“粉尘”是人们通常可以将其忽略的极少量的货币或代币。就拿比特币为例,比特币的最小单位是1 satoshi(也就是0.00000001比特币),通常我们将小于几百satoshis的数量视为粉尘。换句话说,粉尘就是很小部分的交易.

2021-05-11 11:14:46 1056

原创 HBase数据文件格式解析 (2012/4/26)

概述hfile是hbase中存储数据的文件,图1描述了hfile文件格式。hfile文件由6部分组成:data block,meta block(可选),file info,data block index,meta block index,trailer。data block存储了表数据,meta block存储了布隆过滤器索引数据,file info存储了本文件的相关信息,index存储了...

2018-09-03 11:46:25 1769

原创 oracle 10g insert 性能测试 (2012/6/13)

1 Test environmentHardware: IBM X3650 with 12GB memoryOracle version: 10g                                        OS: Red Hat Enterprise 5.4 2 Test MethodThe definition of table named parti...

2018-09-03 11:00:21 357

转载 高并发设计:如何设计千万连接每秒的系统

1.前言本文将讨论单机服务器实现C10M(即单机千万并发连接)的可能性及其思路。截至目前,40gpbs、32-cores、256G RAM的X86服务器在Newegg网站上的报价是几千美元。实际上以这样的硬件配置来看,它完全可以处理1000万个以上的并发连接,如果它们不能,那是因为你选择了错误的软件,而不是底层硬件的问题。可以预见在接下来的10年里,因为IPv6协议下每个服务器的潜在连...

2018-08-31 17:39:20 3034

转载 LVS 负载均衡原理

一 简介 负载均衡集群是 Load Balance 集群。是一种将网络上的访问流量分布于各个节点,以降低服务器压力,更好的向客户端提供服务的一种方式。常用开源负载均衡软件有Nginx、LVS、Haproxy(ngnix和haproxy是七层负载均衡,LVS是四层负载均衡);商业的硬件负载均衡设备F5、Netscale。四层就是基于IP和端口的负载均衡,七层就是基于URL等应用信息的...

2018-08-31 14:16:31 2302 1

转载 唯品会Redis大规模生产实践

很高兴有机会在Redis中国用户组给大家分享redis cluster的生产实践。目前在唯品会主要负责redis/hbase的运维和开发支持工作,也参与工具开发工作。Outline一、生产应用场景二、存储架构演变三、应用最佳实践四、运维经验总结第1、2节:介绍redis cluster在唯品会的生产应用场景,以及存储架构的演变。第3节:redis cluster的稳定性...

2018-08-31 13:56:40 534

转载 数据挖掘模型中的IV和WOE详解

1.IV的用途IV的全称是Information Value,中文意思是信息价值,或者信息量。我们在用逻辑回归、决策树等模型方法构建分类模型时,经常需要对自变量进行筛选。比如我们有200个候选自变量,通常情况下,不会直接把200个变量直接放到模型中去进行拟合训练,而是会用一些方法,从这200个自变量中挑选一些出来,放进模型,形成入模变量列表。那么我们怎么去挑选入模变量呢?挑选入模变量过程是个比较复...

2018-06-08 13:45:49 398

原创 NAT穿越引入的一个漏洞

UE和ePDG通过Notify(NAT_DETECTION_SOURCE_IP)和Notify(NAT_DETECTION_DESTINATION_IP)判断两端是否处于NAT后面。如果任何一端探测探测到自己在NAT后面,本端会把自己的通信端口改为4500。如图1所示,UE 位于NAT后面,所以UE将自己通信端口由500变为了4500,由于NAT设备做了地址映射,所以ePDG看到UE的地址是114...

2018-06-07 09:52:18 1269

原创 性能调优实践-提升cpu利用率

1 结论通过本次性能优化,总结了几条经验。■频繁的加解锁会提高系统空间的CPU占用率锁在内核的实现是通过队列来实现的,加锁操作把线程放入等待队列,解锁操作是才能够等待队列获取一个线程来获取锁。所以频繁的加解锁CPU的开销是非常大的。■锁和线程的数量是两个矛盾体。对于固定数量的锁,线程的数量并非越多越好。我们需要在两者之间找平衡点。如何来找?通过测试找出最优值。■多CPU环境...

2018-06-07 09:44:42 15975

原创 DNS实现HA和负载均衡

NAPTR和SRV均可以实现后台服务器的master/slave和load balancing。但是两者实现的粒度不一样,所以两者通常结合起来使用。通过NAPTR可以查找服务(service),通过SRV可以查找某个service的细节比如协议,PORT,server。1 SRV(service location)The SRV RR allows administrators to use se...

2018-06-07 09:32:29 3047

原创 数字证书基础-X.509协议

数字证书的两个基本概念基本原则1:公钥加密,私钥解密。私钥签名,公钥验签。基本原则2:根证书应该被无条件信任,根证书通过可靠途径获得。 X.509是PKI的一种实现。1. 证书状态查询提供证书回收状态查询的两种机制:1.OCSP --online certficate status protocol (rfc2560)。Firefox3 缺省就是使用OCSP协议。2.CRLs --certific...

2018-06-07 09:25:50 6395

原创 Oracle-11g中的并发控制(2012/11/16)

1 事务基础在DB中,可能出现如下3种现象脏读 在事务中,读到了其它事务没有提交的记录 不可重复读 在事务中,即使查询条件相同,下次返回的记录与上次返回记录不一样,不一样体现在记录被修改或记录被删除 幻影读 在事务中,即使查询条件相同,下次返回的记录与上次返回记录不一样,不一样体现在新增加了记录。SQL92规定的事务隔离级别如下表。oracle支持3种事务隔离级别:read-only/rea...

2018-06-06 16:48:31 889

原创 HBase性能测试报告(2012/6/1)

1 测试环境1.1 硬件环境●五个HP Z210: 8G内存;4个型号为i7-2600的CPU,4核;千兆网卡;SATA 硬盘,7200转/分钟●CiscoCatalyst 3670交换机1.2 软件环境       OS:Red Hat 64bit;hadoop-1.0.3;HBase0.94.01.3 组网 2 写性能测试●黑色曲线4个客户端,分别部署在SM21、SM22、SM23和SM24。...

2018-06-06 16:35:12 2507

原创 bit-wise索引原理(2012/7/3)

1 IQ 简介SybaseIQ是一款数据仓储产品。个人认为其核心技术包括:列存储和bit-wise索引。首先了解行存储,把属于一行的所有列的数据存储在连续的空间即为行存储。行存储有两个缺点:由于DBMS中磁盘IO的单位是block (oracle中的block大小2K-32K), 如果查询只关心行中的部分列,需要同时读取其它的列,增加了IO;block上的数据类型不一致使得压缩率低。这两个缺点对数...

2018-06-06 16:21:25 1609

原创 磁盘阵列性能测试(2013/7/12)

1 组网操作系统:RedhatLinux 6.2 (64bit)文件系统:ext4IO分为直接IO和非直接IO。所谓直接IO是指读写文件不利用的文件系统高速缓存,直接从磁盘读取/存储数据。在调用open函数时,支持位O_DIRECT即直接IO。反之,读写文件要经过文件高速缓存的操作成为非直接IO,OS默认是这种操作方式。在进行测试的同时,利用iosat –xk命令查看IOPS...

2018-06-06 16:13:21 1006

原创 推荐引擎概述(2015/4/21)

1 分类1.1 不同的用户推荐是否相同1.1.1 根据大众行为的推荐引擎对每个用户都给出同样的推荐,这些推荐可以是静态的由系统管理员人工设定的,或者基于系统所有用户的反馈统计计算出的当下比较流行的物品,比如TOPN推荐。1.1.2 个性化推荐引擎对不同的用户,根据他们的口味和喜好给出更加精确的推荐,这时,系统需要了解需推荐内容和用户的特质,或者基于社会化网络,通过找到与当前用户...

2018-06-06 16:08:37 483

原创 如何计算时间间隔(2014/2/20)

在进行重要的时间运算的时候,比如自己实现定时器,不能够使用time/gettimeofday,建议使用TSC或jiffies。1 问题1.1现象1应用(ePDG)中有许多的定时器,这些定时器通过一个队列和一个线程进行管理。定时器加入到队列时,用time/gettimeofday获取当前时间(记为timer_start),加上用户传入的延时参数(delay)会,得到定时器应该被触发的时间(timer...

2018-06-06 15:27:42 2426

原创 Oracle ORA-1628错误的定位分析(2012/1/8)

在Oracle 10.2.0.1.0中,只要设置了undo表空间自动管理,不管有没开启自动扩展,不管undo_retention设置为多少,都会启用 Automatic Tuning of undoretention的新特性。这个新特性中计算RETENTION算法有问题,会导致unexpired undo数据奇高,并最终导致出现ORA-1628: max # extents 32765reache...

2018-06-06 15:16:24 3262

原创 如何高效的使用switch(2015/1/30)

在TWAG性能测试中,使用perf命令发现ui_generic_encapsulate  函数占用的CPU高达8.3%。这个函数实现非常简单,只是包含了一个比较大的switch语句。本文从研究switch的汇编代码出发,提出了两个降低ui_generic_encapsulate  CPU占用率的建议。1 switch的实现通过分析switch.c的汇编代码发现,首先找出case 的最大值,如果x比...

2018-06-06 15:02:54 917

原创 如何编写高效的代码(2014/6/1)

编写高效的代码有两个条件:选择好的算法和数据结构,编写编译器能够优化以转换成高效可执行的代码。前者是基础和前提,即使后者做的足够好,但是选用了错误的算法和数据结构,优化也不起作用,这个一点要搞清楚。本文的内容的侧重于后者。1 计算机系统架构L1和L2位于CPU芯片上,L3被各个CPU共享。由于成本的考虑,L3,L2,L1的大小依次递减。以INTEL XEON E7-8891V2为例,L3 :37....

2018-06-06 14:49:40 718

原创 网卡性能测试报告(2015/3/31)

测试结论(1)网卡处理大包的实际能力约为网卡宣称的80%-90%,比如10G网卡支持的最大流量约为8Gb/s-9Gb/s,注意单位是bit。 (2) 1G网卡处理小包的能力约为560K包/秒。 (3) 网卡的带宽参数指的是单向带宽。 1 TCP性能1.1组网1.2测试测试方法: sever2 作为服务端绑定端口9999,server1作为客户端与server2建立...

2018-06-06 13:51:21 7120

原创 BPMN2.0协议解析

1      BPMN的历史背景BPMN(Business Process Model and Notation),业务流程建模和标注。 Notation是BPMN的核心,即使用图形来表达业务流程。另外,BPMN是由OMG组织维护的一个公开的标准,与任何特定商业组织或工具是没有关系,无需为此付费。BPMN和传统的流程图的区别如下:BPMN是一个正式的规范,各种图标、元件是有准确的含义和使用规范BP...

2018-06-05 10:32:38 13489 4

原创 jBPM如何自定义task

jBPM如何自定义task1      背景jBPM中,task表示一段业务逻辑,比如发送邮件、查询数据库等。jBPM支持的task的总类如下图所示。除此之外,jBPM支持用户自定义task,官方的叫法有domain-specific task、custom work items、custom service node。2      例子2.1    创建wid文件文件的路径src/main/re...

2018-06-05 10:19:23 1102

原创 optics算法

1 简介        随着数据爆发式增长,分析数据从而提取隐藏在数据中的信息变的越来越重要。聚类分析是数据分析的一个主要方法,聚类(clustering)是将数据对象进行分类的过程,使同一类中的对象之间具有很高的相似度,而不同类中的对象高度相异。与分类不同,聚类不依赖预先定义的类和类标号,属于观察式学习。简而言之,在聚类中,分类的标准和类型数量均是未知的。        近来聚类分析算法

2012-11-25 21:31:26 6870

原创 snprintf返回值的误解

1 问题的提出int iOffset = 0;//发现iOffset值为7,以前一直认为应该是3iOffset += snprintf(buff,3,”%s”,”123456”); 2 分析通过分析snprintf帮助手册,发现:snprintf(to, size, “%s”, from);当size>strlen(from)+1返回值为strlen(from)

2012-10-11 15:52:57 3260

原创 深入解析printf/spintf/snprintf中的类型转换

本文通过两个问题出发,跟踪汇编代码,阐明了函数 printf/spintf/snprintf中的类型转换的规律。1 问题的提出源码1:#include f1(){ double x = -5.5625; printf("%d\n",x); //输出为0,为什么?}main(){ f1()

2012-09-03 10:55:59 1465

原创 如何将进程/线程绑定到固定的CPU核

1 概念什么是CPU Affinity?Affinity是进程的一个属性,这个属性指明了进程调度器能够把这个进程调度到哪些CPU上。在Linux中,我们可以利用CPU affinity 把一个或多个进程绑定到一个或多个CPU上。CPU Affinity分为2种,soft affinity和hard affinity。soft affinity仅是一个建议

2012-08-24 22:11:49 2648

原创 Microsoft云存储架构

1 总体介绍Microsoft云存储服务分为两个部分,SQL Azure和Azure Storage。SQL Azure直接在原有的SQL Server上引入分布式的因素,在满足一定可扩展性的前提下尽可能不牺牲原有的关系型数据库功能。SQL Azure的可扩展性是有限的,单个SQL Azure实例不允许超过50GB,这是因为SQL Azure不支持子表动态分裂,单个SQL Azure实例必须足

2011-11-08 15:30:49 692

原创 raid原理介绍

1 RAID0特点:■ 采用数据划分■ 无冗余■ 无校验2 RAID1■ 无数据划分■ 每个磁盘都一个对应的完全镜像(mirror)磁盘3 RAID5■ 采用数据划分■ 奇偶校验,最少3个磁盘■ 同时,只能允许一个磁盘出故障奇偶校验算法原理:RAID5 的算法其实就是数学里面的XOR(即异或)的算法,是这样表示的⊕,1 ⊕

2011-10-27 16:17:11 1375

原创 dynamo和cassandra区别

1 如何处理副本的一致性。cassandra:采用最后写入获胜。当有多个版本的数据存在时,以时间戳大的值为准。Dynamo:使用向量时钟(vector lock)。为数据保持一个时钟列表,其中的每个元素是(更新值的节点,序列号),见下图。 图 向量时钟处理多个版本的一致性2 负载均衡使用一致性hash来分布数据可能会导致数据分布不均匀。dynamo:使用虚拟节点技术,一

2011-10-26 15:20:54 2506

原创 查找字符串之boyer-moore算法

1 问题的提出给出字符串P和T,长度分别为n和m。找出P在T中出现的所有位置。2 原始匹配算法int Index(char* P,char* T,int pos){ i = pos; j = 0; while( i<=strlen(T) && j<=strlen(P) ){ if(P[j] == T[i]) {++i; ++j;} else {i -= j;

2011-10-21 16:47:13 1156

原创 gossip协议

1.背景Gossip算法又被称为反熵(Anti-Entropy),熵是物理学上的一个概念,代表杂乱无章,而反熵就是在杂乱无章中寻求一致,这充分说明了Gossip的特点:在一个有界网络中,每个节点都随机地与其他节点通信,经过一番杂乱无章的通信,最终所有节点的状态都会达成一致。每个节点可能知道所有其他节点,也可能仅知道几个邻居节点,只要这些节可以通过网络连通,最终他们的状态都是一致的,当然这也是疫

2011-10-09 09:50:30 6466

原创 Accrual Failure Detector

本文是对论文《The Phi Accrual Failure Detector》的理解以及在cassandra中的实现。背景众所周知,故障探测(failure detector)是分布式系统的基础模块。有人建议把故障探测做成一个基本的服务,类似于DNS、NTP(始终同步),其在分布式系统的重要性可见一斑。妨碍故障探测称为一个服务的主要障碍在于:分布式应用需要调整故障检测以适用于不同的Q

2011-10-09 09:35:04 3999

BPMN Method and Style

BPMN, which stands for Business Process Model and Notation, is a diagramming language for business process models. It is important not because it is superior in every way to other process notations, but because it is a multi-vendor standard, maintained by the Object Management Group (OMG), and widely adopted by modelers and tool vendors alike. This book is more than a dictionary of BPMN’s shapes and symbols. It offers a unique approach to understanding and mastering the process modeling standard, based on two fundamental principles。

2018-05-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除