分类
- .net (22)
- adf (11)
- android (3)
- article (236)
- astronomy (1)
- block chain (8)
- C# Code (9)
- c/c++ (2)
- cache (8)
- cloud (2)
- consensus (3)
- css (2)
- cve (1)
- db (55)
- digest (1)
- english (1)
- finance (2)
- go (3)
- gps (2)
- hardware (1)
- html (2)
- http (2)
- info (19)
- iot (1)
- it (3)
- java (30)
- javascript (6)
- jsp (2)
- linux (76)
- mail (14)
- math (1)
- message (8)
- mood (4)
- mq (2)
- network (22)
- php (9)
- protocol (4)
- push/pull (2)
- python (5)
- rpc (2)
- search (4)
- servlet (1)
- space (24)
- storage (15)
- technologys (103)
- templete (1)
- virtual machine (7)
- web server (37)
- windows (12)
-
近期文章
其他操作
链接
年归档:2016年
RAID 简述
一.RAID定义
RAID(Redundant
Array of Independent Disk
独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,最初是为了组合小的廉价磁盘来代替大的昂贵磁盘,同时希望磁盘失效时不会使对数据的访问受损
失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁盘构成的冗余阵列,在操作系统下是作为一个独立的大型存储设备出现。RAID可以充分发
挥出多块硬盘的优势,可以提升硬盘速度,增大容量,提供容错功能够确保数据安全性,易于管理的优点,在任何一块硬盘出现问题的情况下都可以继续工作,不会
受到损坏硬盘的影响。
二、 RAID的几种工作模式(仅讨论 RAID0,RAID1,RAID5,RAID10这四种,这四种比较典型)
1、RAID0 (又称为Stripe或Striping--分条)
即Data Stripping数据分条技术。RAID 0可以把多块硬盘连成一个容量更大的硬盘群,可以提高磁 盘的性能和吞吐量。RAID 0没有冗余或错误修复能力,成本低,要求至少两个磁盘,一般只是在那些对数 据安全性要求不高的情况下才被使用。
特点:
容错性: | 没有 | 冗余类型: | 没有 |
热备盘选项: | 没有 | 读性能: | 高 |
随机写性能: | 高 | 连续写性能: | 高 |
需要的磁盘数: | 只需2个或2*N个(这里应该是多于两个硬盘都可以) | 可用容量: | 总的磁盘的容量 |
典型应用: | 无故... |
openssl cert request
openssl req -newkey rsa:2048 -keyout name.key -out name.csr
openssl rsa -in name.key -out name.rsa
openssl pkcs12 -export -in name.crt -out name.p12 -inkey name.key
openssl pkcs12 -in name.pfx -out name.crt
Convert your files into PEM format
The private key: if it not in PEM format, use the following command line to convert it:
openssl rsa -in private-key-name -outform PEM
Your certificate: if it not in PEM format, use the following command line to convert it:
openssl x509 -inform PEM -in your-certificate
The certification chain: if it not in PEM format, use the following command ... 继续阅读
C# UDP 大数据分包传输
如果需要使用UDP传输较大数据,例如传输10M的图片,这突破了UDP的设计原则。UDP的设计是基于"datagram",也就是它假设你发送的每个数据包都能包含在单一的包内。并且设定UDP数据包的最大长度受基础网络协议的限制。
UDP数据包的理论最大长度限制是 65535 bytes,这包含 8 bytes 数据包头和 65527 bytes 数据。但如果基于IPv4网络传输,则还需减去 20 bytes 的IP数据包头。
则单一的UDP数据包可传输的数据最大长度为:
MaxUdpDataLength = 65535 - 8 - 20 = 65507 bytes
这就需要实现UDP包的分包传输和接收组包功能。
分包功能
/// <summary> /// UDP数据包分割器 /// </summary> public static class UdpPacketSplitter { /// <summary> /// 分割UDP数据包 /// </summary> /// <param name="sequence">UDP数据包所持有的序号</param> /// <param name="datagram">被分割的UDP数据包</para...
发表在 .net
C# UDP 大数据分包传输已关闭评论
单播、多播(组播)、广播
单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?
1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描述就是“单播”,此时信息的接收和传递
只在两个节点之间进行。单播在网络中得到了广泛的应用,网络上绝大部分的数据都是以单播的形式传输的,只是一般网络用户不知道而已。例如,你在收发电子邮
件、浏览网页时,必须与邮件服务器、Web服务器建立连接,此时使用的就是单播数据传输方式。但是通常使用“点对点通信”(Point to
Point)代替“单播”,因为“单播”一般与“多播”和“广播”相对应使用。
2.多播:“多播”也可以称为“组播”,在网络技术的应用并不是很多,网上视频会议、网上视频点播特别适合采用多播方式。因为如果采用单播方式,逐个节点
传输,有多少个目标节点,就会有多少次传送过程,这种方式显然效率极低,是不可取的;如果采用不区分目标、全部发送的广播方式,虽然一次可以传送完数据,
但是显然达不到区分特定数据接收对象的目的。采用多播方式,既可以实现一次传送所有目标节点的数据,也可以达到只对特定对象传送数据的目的。
IP网络的多播一般通过多播IP地址来实现。多播IP地址就是... 继续阅读
SVN 一些客户端命令选项
全局选项:
--username ARG
指定用户名称 ARG
--password ARG
指定密码 ARG
--no-auth-cache
不要缓存用户认证令牌
--non-interactive
不要交互提示
--trust-server-cert
不提示的接受未知的证书颁发机构发行的 SSL 服务器证书(只用于选项“--non-interactive”)
--config-dir ARG
从目录 ARG 读取用户配置文件
--config-option ARG
以下属格式设置用户配置选项:
FILE:SECTION:OPTION=[VALUE]
例如:
servers:global:http-library=serf
svn
add
把文件以及目录的名称添加到版本控制系统。他们会在下次提交时被添加到项目仓库中去。
svn
add path...
选项:
--auto-props
再添加它们的时候自动设置文件的属性。
--no-auto-props
禁用自动设置属性。
svn
blame (ann, annotate, praise)
显示文件每行的版本以及作者信息。
svn
blame target...
选项:
--revision,
-r rev
如果指定的rev是单个版本,显示该版本的作者信息。如果指定的版本范围re...
发表在 technologys
SVN 一些客户端命令选项已关闭评论
IP - A、B、C、D、E - 网段 - 网络
IP地址分为A,B,C,D,E五类。
网络号:用于识别主机所在的网络;
主机号:用于识别该网络中的主机。
其中A类分配给政府机关使用,B类地址给大中型企业使用,C类地址给个人使用。这三种是主要的。
IP地址分为五类,A类保留给政府机构,B类分配给中等规模的公司,C类分配给任何需要的人,D类用于组播,E类用于实验,各类可容纳的地址数目不同。
其中A类、B类、和C类这三类地址用于TCP/IP节点,其它两类D类和E类被用于特殊用途。
A、B、C三类IP地址的特征:当将IP地址写成二进制形式时,
A类:0打头
B类:10打头
C类:110打头
D类:1110打头
E类:11110打头
A、B、C、D、E三类IP地址的特征:当将IP地址写成十进制形式时:
A类:1.0.0.1—126.155.255.254
B类:128.0.0.1—191.255.255.254。
C类:192.0.0.1—223.255.255.254
D类:224.0.0.1—239.255.255.254
E类:240.0.0.1—255.255.255.254
1. A类地址
⑴ A类地址第1字节为网络地址,其它3个字节为主机地址。
⑵ A类地址范围:1.0.0.1—126.155.255.254
⑶ A类地址中的私有地址和保留地址:
① 10.X.X.X是私有地址(所谓的私有地址就是在互联网上不使用,而被用在局域网络中的地址)。
...
C# UDP组播
//组播代码
using System;
using System.Collections.Generic;
using System.Linq;using System.Text;
using System.Net;using System.Net.Sockets;
using System.Threading;
namespaceTest {
classProgram {
staticvoidMain(string[] args)
{
UdpClient client = new UdpClient(5566);
client.JoinMulticastGroup(IPAddress.Parse("234.5.6.7"));
IPEndPoint multicast = new IPEndPoint(IPAddress.Parse("234.5.6.7"), 7788);
byte[] buf = Encoding.Default.GetBytes("Hello from multicast");
Thread t = new Thread(new ThreadStart(RecvThread));
...
php date
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23... 继续阅读
发表在 php
php date已关闭评论
document width/height
网页可见区域宽: document.body.clientWidth;
网页可见区域高: document.body.clientHeight;
网页可见区域宽:
document.body.offsetWidth
网页可见区域高:
document.body.offsetHeight
网页正文全文宽: document.body.scrollWidth;
网页正文全文高: document.body.scrollHeight;
网页被卷去的高: document.body.scrollTop;
网页被卷去的左: document.body.scrollLeft;
网页正文部分上: window.screenTop;
网页正文部分左: window.screenLeft;
屏幕分辨率的高: window.screen.height;
屏幕分辨率的宽: window.screen.width;
屏幕可用工作区高度: window.screen.availHeight;
屏幕可用工作区宽度:window.screen.availWidth;
scrollHeight: 获取对象的滚动高度。
scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端...
发表在 javascript
document width/height已关闭评论
常用加密算法
算法选择:对称加密AES,非对称加密: ECC,消息摘要: MD5,数字签名:DSA
对称加密算法(加解密密钥相同)
名称
|
密钥长度
|
运算速度
|
安全性
|
资源消耗
|
DES
|
56位
|
较快
|
低
|
中
|
3DES
|
112位或168位
|
慢
|
中
|
高
|
AES
|
128、192、256位
|
快
|
高
|
低
|
非对称算法(加密密钥和解密密钥不同)
名称
|
成熟度
|
安全性(取决于密钥长度)
|
运算速度
|
资源消耗
|
RSA
|
高
|
高
|
慢
|
高
|
DSA
|
高
|
高
|
慢
|
只能用于数字签名
|
ECC
|
低
|
高
|
快
|
低(计算量小,存储空间占用小,带宽要求低)
|
散列算法比较
名称
|
安全性
|
速度
|
SHA-1
|
高
|
慢
|
MD5
|
中
|
快
|
对称与非对称算法比较
名称
|
密钥管理
|
安全性
|
速度
|
对称算法
|
比较难,不适合互联网,一般用于内部系统
|
中
|
快好几个数量级(软件加解密速度至少快100倍,每秒可以加解密数M比特数据),适合大数据量的加解密处理
|
非对称算法
|
密钥容易管理
|
高
|
慢,适合小数据量加解密或数据签名
|
算法选择(从性能和安全性综合)
对称加密: AES(128位),
非对称加密: ECC(160位)或RSA(1024),
消息摘要: MD5
数字签名:DSA
轻量级:TEA、RC系列(RC4),Blowfish (不常换密钥)
速度排名(个人估测,未验证):IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish
速度排名(个人估测,未验证):IDEA <DES <GASTI28<GOST<AES<RC4<TEA<Blowfish
简单的加密设计: 用密钥对原文做 异或,置换,代换,移...
发表在 technologys
常用加密算法已关闭评论
linux l2tp
yum install openswan xl2tpd ppp
/etc/ipsec.conf
config setup
protostack=netkey
dumpdir=/var/run/pluto/
virtual_private=%v4:10.0.0.0/8,%v4:192.168.0.0/16,%v4:172.16.0.0/12,%v4:25.0.0.0/8,%v4:100.64.0.0/10,%v6:fd00::/8,%v6:fe80::/10
nat_traversal=yes
oe=off
/etc/ipsec.d/l2tp-psk.conf
conn L2TP-PSK-NAT
rightsubnet=vhost:%priv
&n...
发表在 network
linux l2tp已关闭评论
lucene
lucene3.0中BooleanQuery 实现与或的复合搜索 .
BooleanClause用于表示布尔查询子句关系的类,
包
括:
BooleanClause.Occur.MUST,
BooleanClause.Occur.MUST_NOT,
BooleanClause.Occur.SHOULD。
必须包含,不能包含,可以包含三种.有以下6种组合:
1.MUST和MUST:取得连个查询子句的交集。
2.MUST和MUST_NOT:表示查询结果中不能包含MUST_NOT所对应得查询子句的检索结果。
3.SHOULD与MUST_NOT:连用时,功能同MUST和MUST_NOT。
4.SHOULD与MUST连用时,结果为MUST子句的检索结果,但是SHOULD可影响排序。
5.SHOULD与SHOULD:表示“或”关系,最终检索结果为所有检索子句的并集。
6.MUST_NOT和MUST_NOT:无意义,检索无结果。
...
构造出“与”的关系: bquery.Add(query, BooleanClause.Occur.MUST);
构造“或”关系:bquery.Add(query, BooleanClause.Occur.SHOULD);
构造“非”关系:bquery.Add(query, ...
发表在 search
lucene已关闭评论
Zookeeper的核心:ZAB原子消息广播协议
ZooKeeper为高可用的一致性协调框架,自然的ZooKeeper也有着一致性算法的实现,ZooKeeper使用的是ZAB协议作为数据一致性的算法,ZAB(ZooKeeper Atomic Broadcast )全
称为:原子消息广播协议;ZAB可以说是在Paxos算法基础上进行了扩展改造而来的,ZAB协议设计了支持崩溃恢复,ZooKeeper使用单一主进程
Leader用于处理客户端所有事务请求,采用ZAB协议将服务器数状态以事务形式广播到所有Follower上;由于事务间可能存在着依赖关系,ZAB
协议保证Leader广播的变更序列被顺序的处理,:一个状态被处理那么它所依赖的状态也已经提前被处理;ZAB协议支持的崩溃恢复可以保证在
Leader进程崩溃的时候可以重新选出Leader并且保证数据的完整性;
在ZooKeeper中
所有的事务请求都由一个主服务器也就是Leader来处理,其他服务器为Follower,Leader将客户端的事务请求转换为事务Proposal,
并且将Proposal分发给集群中其他所有的Follower,然后Leader等待Follwer反馈,当有过半数(>=N/2+1)的Follower反馈信息后,Leader将再次向集群内F... 继续阅读
发表在 technologys
Zookeeper的核心:ZAB原子消息广播协议已关闭评论
TcpTimedWaitDelay/MaxUserPort
当TCP连接被关闭时,{ Protocol, Local IP, Local Port, Remote IP, Remote Port}五元组就进入TIME_WAIT状态,默认时间是4分钟。可以通过一组命令看看tcp的连接状态:
netstat -ano>>c:\port.txt
本地ip,远程ip,远程端口都是固定的,只有本地端口是变化的,本地端口只能使用1024-5000,因此如果在4分钟内发起了大约4000个连接,这时就会发生异常,下面是使用WCF,客户端的异常:
System.Net.Sockets.SocketException: Only one usage of each socket
address (protocol/network address/port) is normally permitted
192.168.101.5:8888
at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
at System.Net.Sockets.Socket.Connect(EndPoint remoteEP)
at System.ServiceModel.Channels.SocketConnectio...
发表在 network
TcpTimedWaitDelay/MaxUserPort已关闭评论