计算机基础知识点
进制
b d o x
: 分别是二进制(Binary system) 十进制(Decimal system) 八进制(Octal number system) 十六进制(Hexadecimal)
计算机表达数字的特殊性
0.1+0.2==0.3
返回 false 的问题: 所有内容最后都会通过二进制储存,0.1 的二进制不是 0.1,和二进制的权位有关,导致 python 里面0.1+0.2==0.3
的返回值是 false
相关概念
web server 和 web service 的区别
- Is there a difference between a web server and a web service
- What is the difference between Web Server, Web Service, and Server Application?
- web server 是系统服务, 属于应用服务器.web service 是 web 服务,是一种数据接口
- web service 开发是指开发某种 web server 的应用.而 web server 的开发是开发一种基于 web 的 server,他能提供某种 service
计算机中常用的几个命名方式
- camel case (驼峰式):如果第一个单词首字母大写,称之为 upper camel case(CamelCase,大驼峰式),例如"GetUserName";如果第一个单词首字母小写,称之为 lower camel case(camelCase,小驼峰式),例如"getUserName"。
- snake case (蛇式):如果所有单词都小写,称之为 lower snake case(小蛇式),例如"get_user_name";如果所有单词都大写,称之为 upper snake case(大蛇式),例如"GET_USER_NAME"
- kebab case (烤肉串式):名称中间的标点被替换成连字符(-),所有单词都小写,例如"get-user-name"
计算机基本构成
- 输入输出设备:用于计算机和外界的交互
- 软件方面
- CPU:主要的运算节点,用于程序的主要运行
- 内存:写程序时保存的位置,reboot 会 lost
- 硬盘:保存文件的地方,只能通过主动删除
磁盘相关
raid
关于 Raid0,Raid1,Raid5,Raid10 的总结 中详细写了三种 raid 的差别
raid0
定义 :RAID 0 又称为 Stripe 或 Striping,它代表了所有 RAID 级别中最高的存储性能。RAID 0 提高存储性能的原理是把连续的数据分散到多个磁盘上存取,这样,系统有数据请求就可以被多个磁盘并行的执行,每个磁盘执行属于它自己的那部分数据请求。 这种数据上的并行操作可以充分利用总线的带宽,显著提高磁盘整体存取性能。
工作原理 :系统向三个磁盘组成的逻辑硬盘(RAID0 磁盘组)发出的 I/O 数据请求被转化为 3 项操作,其中的每一项操作都对应于一块物理硬盘。通过建立 RAID 0,原先顺序的数据请求被分散到所有的三块硬盘中同时执行。从理论上讲,三块硬盘的并行操作使同一时间内磁盘读写速度提升了 3 倍。 但由于总线带宽等多种因素的影响,实际的提升速率肯定会低于理论值,但是,大量数据并行传输与串行传输比较,提速效果显著显然毋庸置疑。
优缺点 :读写性能是所有 RAID 级别中最高的。RAID 0 的缺点是不提供数据冗余,因此一旦用户数据损坏,损坏的数据将无法得到恢复。RAID0 运行时只要其中任一块硬盘出现问题就会导致整个数据的故障。一般不建议企业用户单独使用。
总结:
- 磁盘空间使用率:100%,故成本最低
- 读性能:N*单块磁盘的读性能
- 写性能:N*单块磁盘的写性能
- 冗余:无,任何一块磁盘损坏都将导致数据不可用
raid1
定义 :RAID 1 通过磁盘数据镜像实现数据冗余,在成对的独立磁盘上产生互为备份的数据。当原始数据繁忙时,可直接从镜像拷贝中读取数据,因此 RAID 1 可以提高读取性能。RAID 1 是磁盘阵列中单位成本最高的,但提供了很高的数据安全性和可用性。当一个磁盘失效时,系统可以自动切换到镜像磁盘上读写,而不需要重组失效的数据。
工作原理 :RAID1 是将一个两块硬盘所构成 RAID 磁盘阵列,其容量仅等于一块硬盘的容量,因为另一块只是当 作数据“镜像”。RAID1 磁盘阵列显然是最可靠的一种阵列,因为它总是保持一份完整的数据备份。它的性能自然没有 RAID0 磁盘阵列那样好,但其数据读 取确实较单一硬盘来的快,因为数据会从两块硬盘中 较快的一块中读出 。RAID1 磁盘阵列的写入速度通常较慢,因为数据 得分别写入两块硬盘中并做比较。RAID1 磁盘阵列一般支持“热交换”,就是说阵列中硬盘的移除或替换可以在系统运行时进行,无须中断退出系统。 RAID1 磁盘阵列是十分安全的,不过也是较贵一种 RAID 磁盘阵列解决方案,因为两块硬盘仅能提供一块硬盘的容量。RAID1 磁盘阵列主要用在数据安全 性很高,而且要求能够快速恢复被破坏的数据的场合。
在这里,需要注意的是,读只能在一块磁盘上进行,并不会进行并行读取,性能取决于硬盘中较快的一块。写的话通常比单块磁盘要慢,虽然是并行写,即对两块磁盘的写入是同时进行的,但因为要比较两块硬盘中的数据,所以性能比单块磁盘慢。
优缺点 :RAID1 通过硬盘数据镜像实现数据的冗余,保护数据安全,在两块盘上产生互为备份的数据,当原始数据 繁忙时,可直接从镜像备份中读取数据,因此 RAID1 可以提供读取性能。RAID1 是硬盘中单位成本最高的,但提供了很高的数据安全性和可用性,当一个硬 盘失效时,系统可以自动切换到镜像硬盘上读/写,并且不需要重组失效的数据。
总结:
- 磁盘空间使用率:50%,故成本最高。
- 读性能:只能在一个磁盘上读取,取决于磁盘中较快的那块盘
- 写性能:两块磁盘都要写入,虽然是并行写入,但因为要比对,故性能单块磁盘慢。
- 冗余:只要系统中任何一对镜像盘中有一块磁盘可以使用,甚至可以在一半数量的硬盘出现问题时系统都可以正常运行。
raid5
定义 :RAID 5 是 RAID 0 和 RAID 1 的折中方案。RAID 5 具有和 RAID0 相近似的数据读取速度,只是多了一个奇偶校验信息,写入数据的速度比对单个磁盘进行写入操作稍慢。同时由于多个数据对应一个奇偶校验信 息,RAID5 的磁盘空间利用率要比 RAID 1 高,存储成本相对较低,是目前运用较多的一种解决方案。
工作原理 :RAID5 把数据和相对应的奇偶校验信息存储到组成 RAID5 的各个磁盘上,并且奇偶校验信息和相对 应的数据分别存储于不同的磁盘上,其中任意 N-1 块磁盘上都存储完整的数据,也就是说有相当于一块磁盘容量的空间用于存储奇偶校验信息。因此当 RAID5 的一个磁盘发生损坏后,不会影响数据的完整性,从而保证了数据安全。当损坏的磁盘被替换后,RAID 还会自动利用剩下奇偶校验信息去重建此磁盘上的数据, 来保持 RAID5 的高可靠性。
做 raid 5 阵列所有磁盘容量必须一样大,当容量不同时,会以最小的容量为准。 最好硬盘转速一样,否则会影响性能,而且可用空间=磁盘数 n-1,Raid 5 没有独立的奇偶校验盘,所有校验信息分散放在所有磁盘上, 只占用一个磁盘的容量。
总结:
- 磁盘空间利用率:(N-1)/N,即只浪费一块磁盘用于奇偶校验。
- 读性能:(n-1)*单块磁盘的读性能,接近 RAID0 的读性能。
- 写性能:比单块磁盘的写性能要差(这点不是很明白,不是可以并行写入么?)
- 冗余:只允许一块磁盘损坏。
raid10
定义 :RAID10 也被称为镜象阵列条带。象 RAID0 一样,数据跨磁盘抽取;象 RAID1 一样,每个磁盘都有 一个镜象磁盘, 所以 RAID 10 的另一种会说法是 RAID 0+1。RAID10 提供 100%的数据冗余,支持更大的卷尺寸,但价格也相对较高。对大多数只要求具有冗余度而不必考虑价格的应用来说,RAID10 提 供最好的性能。使用 RAID10,可以获得更好的可靠性,因为即使两个物理驱动器发生故障(每个阵列中一个),数据仍然可以得到保护。RAID10 需要 4 + 2*N 个磁盘驱动器(N >=0), 而且只能使用其中一半(或更小, 如果磁盘大小不一) 的磁盘用量, 例如 4 个 250G 的硬盘使用 RAID10 阵列, 实际容量是 500G。
实现原理 :Raid10 其实结构非常简单,首先创建 2 个独立的 Raid1,然后将这两个独立的 Raid1 组成一 个 Raid0,当往这个逻辑 Raid 中写数据时,数据被有序的写入两个 Raid1 中。磁盘 1 和磁盘 2 组成一个 Raid1,磁盘 3 和磁盘 4 又组成另外一个 Raid1;这两个 Raid1 组成了一个新的 Raid0。如写在硬盘 1 上的数据 1、3、5、7,写在硬盘 2 中则为数据 1、3、5、7,硬盘中的数据为 0、 2、4、6,硬盘 4 中的数据则为 0、2、4、6,因此数据在这四个硬盘上组合成 Raid10,且具有 raid0 和 raid1 两者的特性。
虽然 Raid10 方案造成了 50%的磁盘浪费,但是它提供了 200%的速度和单磁盘损坏的数据安全性,并且当同时损坏的磁盘不在同一 Raid1 中,就能保证数据安全性。假如磁盘中的某一块盘坏了,整个逻辑磁盘仍能正常工作的。
当我们需要恢复 RAID10 中损坏的磁盘时,只需要更换新的硬盘,按照 RAID10 的工作原理来进行数据恢复,恢复数据过程中系统仍能正常工作。原先的数据会同步恢复到更换的硬盘中。
总结:
- 磁盘空间利用率:50%。
- 读性能:N/2* 单块硬盘的读性能
- 写性能:N/2* 单块硬盘的写性能
- 冗余:只要一对镜像盘中有一块磁盘可以使用就没问题。
安全
两步认证
- 下载客户端 app
- 在服务端申请,生成一个类似于[DPI45HKISEXU6HG7]的密钥 K
- 客户端扫描二维码,获取密钥 K 并保存在
- 客户端对密钥 K 和当前时间 T 的组合(K,T) 使用 HOTP(HMAC-Based One-Time Password)算法计算密码 S,公式如下:
S = Truncate(HMAC-SHA-1(K,T))
,一般 30 秒变化一次
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论