![](https://img-blog.csdnimg.cn/20190927151101105.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
系统架构
文章平均质量分 69
架构知识
梦里藍天
不积跬步,无以至千里;不积小流,无以成江海
展开
-
Can not create registry service-discovery-registry://*.*.*.*:2181/org.apache.dubbo.registry.Registry
dubbo-admin-0.6.0启动的时候报错:Can not create registry service-discovery-registry://*.*.*.*:2181/org.apache.dubbo.registry.RegistryService?……原创 2023-12-30 08:49:40 · 821 阅读 · 0 评论 -
缓存分片中的哈希算法与一致性哈希算法
在高并发场景下,缓存往往成为了瓶颈。这时候,我们可以通过缓存数据分片的方式来解决问题。所谓缓存数据分片,就是将缓存数据按照一定的规则分成多个片段,每个片段由不同的缓存节点负责。这样做有两个好处:第一,能够降低单个缓存节点的负载压力,提高缓存的并发性能。如果单个缓存节点存储大量数据,在高并发的访问中容易造成缓存击穿或缓存雪崩等问题,从而导致系统性能下降。采用缓存数据分片后,每个缓存节点存储的数据量变少,可以有效避免这些问题的发生。第二,缩短缓存查找时间,提高缓存的命中率。原创 2023-10-24 06:00:00 · 749 阅读 · 0 评论 -
基于架构的软件开发方法
基于架构的软件开发方法是由架构驱动的,即指由构成体系结构的商业、质量和功能需求的组合驱动的。ABSD是一个自顶向下,递归细化的软件开发方法,它以软件系统功能的分解为基础,通过选择架构风格实现质量和商业需求。第1个基础是功能的分解。基于架构的软件开发方法(ABSD)的第一个基础是功能的分解,ABSD方法使用已有的基于模块的内聚和耦合技术。ABSD 方法是递归的,且迭代的每一个步骤都是清晰定义的。架构文档化主要产生2种文档,架构规格说明书,测设架构需求的质量设计说明书,文档至关重要,关系到开发的成败。原创 2023-08-14 23:00:43 · 1527 阅读 · 0 评论 -
数据库事务的特性及使用场景和设计策略
在数据库系统中,“事务”是访问数据库并可能更新各种数据项的一个程序执行单元。为了保证数据完整性,要求数据库系统维护事务的。原创 2022-09-25 22:39:25 · 1223 阅读 · 0 评论 -
Redis分布式存储的3种常见方案与Redis集群切片的几种常见方式
当我们的存取的key到达的时候,redis会根据crc16的算法得出一个结果,然后把结果对16384求余数,这样每个key都会对应一个编号在0-16383之间的哈希槽,通过这个值,去找到对应的插槽所对应的节点,然后直接自动跳转到这个对应的节点上进行存取操作。哨兵模式是基于主从模式的,所有主从的优点,哨兵模式都具有。节点收到请求,若key存在于自身节点,则直接返回结果,若key不存在则告诉客户端key不存在,通过计算映射规则确定查询的key所在的节点,然后去这个节点查询,也就是一个重定向的过程。...原创 2022-07-29 22:55:15 · 673 阅读 · 0 评论 -
软件架构的5种风格
这种风格中的构件是匿名的过程,它们之间交互的连接件往往是以过程之间的隐式调用来实现的。通常包括一个完成解释工作的解释引擎、一个包含将被解释的代码的存储区、一个记录解释引擎当前工作状态的数据结构,以及一个记录源代码被解释执行的进度的数据结构。构件之间是互相独立的,不存在显式的调用关系,而是通过某个事件触发步的方式来执行,代表的风格有进程通信、事件驱动系统(隐式调用)。构件是独立的进程,连接件是消息传递。以数据位中心,所有的操作都是围绕建立的数据中心进行的,代表的风格有数据库系统、超文本系统、黑板系统。....原创 2022-07-14 22:37:35 · 4920 阅读 · 0 评论 -
面向对象设计的11项原则
(1)单一责任原则。就一个类而言,应该仅有一个引起它变化的原因。即,当需要修改某个类的时候原因有且只有一个,让一个类只做一种类型责任。(2)开放一封闭原则。软件实体(类、模块、函数等)应该是可以扩展的,即开放的;但是不可修改的,即封闭的。(3)里氏替换原则。子类型必须能够替换掉他们的基类型。即,在任何父类可以出现的地方,都可以用子类的实例来赋值给父类型的引用。(4)依赖倒置原则。抽象不应该依赖于细节,细节应该依赖于抽象。即,高层模块不应该依赖于低层模块,二者都应该依赖于抽象。(5)接口分离原则。不应原创 2022-07-11 21:57:13 · 2111 阅读 · 0 评论 -
23种软件设计模式
设计模式:每一个设计模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。设计模式的核心在于提供了相关问题的解决方案,使得人们可以更加简单方便的复用成功的的设计和体系结构记住四个基本要素:模式名称、问题(应该在何时使用模式)、解决方案(设计的内容)、效果(模式应用的效果)...原创 2022-07-07 21:32:36 · 2273 阅读 · 0 评论 -
软件工程中如何设计测试用例
将程序看做一个黑盒子,只知道输入输出,不知道内部代码,由此设计出测试用例,分为下面几类:等价类划分:把所有的数据按照某种特性进行归类,而后在每类的数据里选取一个即可。等价类测试用例的设计原则:设计一个新的测试用例,使其尽可能多地覆盖尚未被覆盖的有效等价类,重复这一步,直到所有的有效等价类都被覆盖为止;计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步,直到所有的无效等价类都被覆盖为止。边界值划分:将每类的边界值作为测试用例,边界值一般为范围的两端值以及在此范围之外的与此范围间隔最小的两原创 2022-06-27 21:56:52 · 2901 阅读 · 0 评论 -
软件工程测试基础知识
程序运行时测试,分为黑盒测试法:功能性测试,不了解软件代码结构,根据功能设计用例,测试软件功能。白盒测试法:结构性测试,明确代码流程,根据代码逻辑设计用例,进行用例覆盖。程序静止时,即对代码进行人工审查,分为桌前检查:程序员检查自己编写的程序,在程序编译后,单元测试前。代码审查:由若干个程序员和测试人员组成评审小组,通过召开程序评审会来进行审查。代码走查:也是采用开会来对代码进行审查,但并非简单的检查代码,而是由测试人员提供测试用例,让程序员扮演计算机的角色,手动运行测试用例,检查代码逻辑。也称为原创 2022-06-27 21:32:47 · 1203 阅读 · 0 评论 -
企业信息系统战略规划
一个企业信息系统的战略规划可分为下面三个阶段:企业系统规划法 BSP:自上而下地识别企业目标、企业过程和数据,然后对数据进行分析,自下而上地设计信息系统。重视数据的创建和使用,以数据的创建和使用归类,提供一个信息系统规划,建立 CU矩阵(创建使用矩阵)。工作步骤用企业系统规划法制定规划是一项系统工程,其主要的工作步骤为:关键成功因素法 CSF:重视关键因素,每个企业在某阶段都有关键因素,抓住关键信息。战略集合转化法 SST:将企业的战略信息(环境、目标等)收集起来,当成一个“信息集合”,并且转换为信息系统原创 2022-06-23 22:26:15 · 2043 阅读 · 0 评论 -
数据库的事务管理与三级封锁协议
事务提交 commit,事务回滚 rollback。事务:由一系列操作组成,这些操作,要么全做,要么全不做,拥有四种特性:原子性:要么全做,要么全不做。一致性:事务发生后数据是一致的,例如银行转账,不会存在 A 账户转出,但是B账户没收到的情况。隔离性:任一事务的更新操作直到其成功提交的整个过程对其他事务都是不可见的,不同事务之间是隔离的,互不干涉。持续性:事务操作的结果是持续性的。事务是并发控制的前提条件,并发控制就是控制不同的事务并发执行,提高系统效率,但是并发控制中存在下面三个问题:丢失更新原创 2022-06-15 22:31:22 · 637 阅读 · 0 评论 -
数据库范式之间的转换 - 保持函数依赖分解与有/无损分解
范式之间的转换一般都是通过拆分属性,即模式分解,将具有部分函数依赖和传递依赖的属性分离出来,来达到一步步优化,一般分为以下两种;对于关系模式R,有依赖集F,若对R进行分解,分解出来的多个关系模式,保持原来的依赖集不变,则为保持函数依赖的分解。另外,注意要消除掉亢余依赖(如传递依赖)。如原关系模式 R(A,B,C),依赖集F(A->B,,B->C,A->C),将其分解为两个关系模式 R1(A,B)和R2(B,C),此时 R1中保持依赖 A->B,R2保持依赖B->C,说明分解后的R1 和R2是保持函数依赖的原创 2022-06-15 21:46:01 · 2433 阅读 · 0 评论 -
数据库结构与模式 - 三级模式 两级独立性/两级映射
数据库技术中采用分级的方法将数据库的结构划分为多个层次。最著名的是美国 ANSI/ SPARC 数据库系统研究组 1975 年提出的三级划分法(1)用户级数据库。用户级数据库对应于外模式,是最接近用户的一级数据库,是用户可以看到和使用的数据库,又称用户视图。用户级数据库主要由外部记录组成,不同的用户视图可以互相重叠,用户的所有操作都是针对用户视图进行的。(2)概念级数据库。概念级数据库对应于概念模式,介于用户级和物理级之间,是所有用户视图的最小并集,是数据库管理员可看到和使用的数据库,又称 DBA(Da原创 2022-06-13 21:52:24 · 2735 阅读 · 0 评论 -
计算机组成与结构 - 数值的编码方式
各种数值在计算机中表示的形式称为机器数,其特点是使用二进制计数制,数的符号用。和1表示,小数点则隐含,不占位置。机器数有无符号数和带符号数之分。无符号数表示正数,没有符号位。带符号数最高位为符号位,正数符号位为0,负数符号位为1。定点表示法分为纯小数和纯整数两种,其中小数点不占存储位,而是按照以下约定:纯小数:约定小数点的位置在机器数的最高数值位之前。纯整数:约定小数点的位置在机器数的最低数值位之后。真值:机器数对应的实际数值。带符号数有下列编码方式:一个数的正常二进制表示,最高位表示符号,数值0原创 2022-06-01 22:45:51 · 1258 阅读 · 1 评论 -
计算机网络 - IPv6
互联网络能发展到当前的规模,IPv4 协议的建立功不可没。但同时它的缺点也已经充分显现出来,如地址空间耗尽、路由表急剧膨胀、缺乏对 QoS 的支持、本身并不提供任何安全机制、移动性差等问题。尽管采用了许多新的机制来缓解这些问题,如 DHCP 技术、NAT 技术、CIDR 技术等,但都不可避免地要引入其他新的问题,问题没有得到根本解决。于是IETF 从 90 年代起就开始积极探讨下一代 IP 网络,经过几年努力,在广泛听取业界和专家意见的基础上,终于在 1995 年 12 月推出了下一代网络的 RFC 文档—原创 2022-05-30 21:33:21 · 518 阅读 · 0 评论 -
计算机网络 - 常见的网络协议
计算机网络的各层中存在着许多协议,它们是定义通过网络进行通信的规则。接收方与发送方同层的协议必须一致,否则,一方将无法识别另一方发出的信息。应用层协议在应用层中,定义了很多面向应用的协议,应用程序通过本层协议利用网络完成数据交互的任务。这些协议主要有 FTP、TFTP、HTTP、SMTP、DHCP、Telnet、DNS 和 SNMP 等。**FTP(File TransportProtocol,文件传输协议)**是网络上两台计算机传送文件的协议,运行在 TCP 之上,是通过 Internet 将文件从原创 2022-05-30 20:54:47 · 6784 阅读 · 0 评论 -
计算机网络 - TCP/IP 结构模型
OSI/RM 为计算机网络架构的标准模型,但因为 OSI/RM 的结构过于复杂,实际系统中采用 OSI/RM 的并不多。目前,使用最广泛的可互操作的网络架构是 TCP/IP(Transmission Control Protocol/ Internet Protocol,传输控制协议/网际协议)结构模型。与OSI/RM 结构不同,不存在一个正式的 TCP/IP 结构模型,但可根据已开发的协议标准和通信任务将其大致分成四个比较独立的层次,分别是网络接口层、网络互联层、传输层和应用层。计算机网络 - OSI原创 2022-05-30 02:45:00 · 266 阅读 · 0 评论 -
计算机网络 - OSI/RM七层网络模型
1977 年,国际标准化组织为适应网络标准化发展的需求,制定了开放系统互联参考模型(Open System Interconnection/Reference Model,OSI/RM),从而形成了网络架构的国际标准。OSI/RM 构造了由下到上的七层模型,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。在数据传输过程中,每一层都承担不同的功能和任务,以实现对数据传输过程中的各个阶段的控制。物理层。物理层的主要功能是透明地完成相邻节点之间原始比特流的传输。其中“透明”的意思是指物理原创 2022-05-29 22:20:23 · 10303 阅读 · 0 评论 -
数据库模式与范式 - 数据库设计的基本步骤
数据库设计的基本步骤分步设计法遵循自顶向下、逐步求精的原则,将数据库设计过程分解为若干相互独立又相互依存的阶段,每一阶段采用不同的技术与工具,解决不同的问题,从而将问题局部化,减少了局部问题对整体设计的影响。目前,此方法已在数据库设计中得到了广泛应用并获得了较好的效果。在分步设计法中,通常将数据库的设计分为需求分析、概念结构设计、逻辑结构设计和数据库物理设计 4 个阶段需求分析需求分析是指收集和分析用户对系统的信息需求和处理需求,得到设计系统所必需的需求信息,建立系统说明文档。其目标是通过调查研究原创 2022-05-29 12:10:33 · 300 阅读 · 0 评论 -
数据库模式与范式 - 数据库反范式化
数据库中的数据规范化的优点是减少了数据冗余,节约了存储空间,相应逻辑和物理的I/O 次数减少,同时加快了增、删、改的速度,但是对完全规范的数据库查询,通常需要更多的连接操作,从而影响查询速度。因此,有时为了提高某些查询或应用的性能而破坏规范规则,即反规范化(非规范化处理)。常见的反规范化技术包括:(1)增加冗余列增加冗余列是指在多个表中具有相同的列,它常用来在查询时避免连接操作。例如:以规范化设计的理念,学生成绩表中不需要字段“姓名”,因为“姓名”字段可以通过学号查询到,但在反规范化设计中,会将“姓名原创 2022-05-28 22:29:04 · 354 阅读 · 0 评论 -
数据库模式与范式 - 数据库的范式化设计
什么是范式化设计关系模型满足的确定约束条件称为范式,根据满足约束条件的级别不同,范式由低到高分为 1NF(第一范式)、2NF(第二范式)、3NF(第三范式)、BCNF(BC 范式)、4NF(第四范式)等。不同的级别范式性质不同。把一个低一级的关系模型分解为高一级关系模型的过程,称为关系模型的规范化。关系模型分解必须遵守两个准则。(1)无损连接性:信息不失真(不增减信息)。(2)函数依赖保持性:不破坏属性间存在的依赖关系。规范化的基本思想是逐步消除不合适的函数依赖,使数据库中的各个关系模型达到某种程原创 2022-05-28 22:11:49 · 806 阅读 · 0 评论 -
数据库模式与范式 - 关系代数
关系代数的基本运算主要有并、交、差、笛卡尔积、选择、投影、连接和除法运算。并计算两个关系在集合理论上的并集,即给出关系 R 和 S(两者有相同元/列数),R∪S 的元组包括 R 和 S 所有元组的集合,相同记录只显示一次交计算两个关系集合理论上的交集,即给出关系 R 和 S(两者有相同元/列数),R∩S 的元组包括 R 和 S 相同元组的集合差计算两个关系的区别的集合,即给出关系 R 和 S(两者有相同元/列数),R-S的元组包括 R 中有而 S 中没有的元组的集合,笛卡尔积计算两个关系的原创 2022-05-28 19:19:53 · 241 阅读 · 0 评论 -
数据库系统 - 数据库的结构与模式
数据库技术中采用分级的方法将数据库的结构划分为多个层次。最著名的是美国 ANSI/ SPARC 数据库系统研究组 1975 年提出的三级划分法1.三级抽象数据库系统划分为三个抽象级:用户级、概念级、物理级。(1)用户级数据库。用户级数据库对应于外模式,是最接近用户的一级数据库,是用户可以看到和使用的数据库,又称用户视图。用户级数据库主要由外部记录组成,不同的用户视图可以互相重叠,用户的所有操作都是针对用户视图进行的。(2)概念级数据库。概念级数据库对应于概念模式,介于用户级和物理级之间,是所有用户原创 2022-05-28 10:56:44 · 2515 阅读 · 0 评论 -
操作系统基本原理 - 作业管理
从用户的角度看,作业是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。例如,对于用户编制的源程序,需经过对源程序的编译、连接编辑或连接装入及运行产生计算结果。这其中的每一个步骤,常称为作业步,作业步的顺序执行即完成了一个作业。从系统的角度看,作业则是一个比程序更广的概念。它由程序、数据和作业说明书组成。系统通过作业说明书控制文件形式的程序和数据,使之执行和操作。而且,在批处理系统中,作业是占据内存的基本单位。用户的作业可以通过直接的方式,由用户自己按照作业步顺序操作;也可以通过间接的方式,原创 2022-05-28 02:45:00 · 332 阅读 · 0 评论 -
操作系统基本原理 - 文件管理
计算机系统的重要作用之一是能快速处理大量信息,因此数据的组织、存取和保护成为一个极重要的内容。文件系统是操作系统中组织、存取和保护数据的一个重要部分。文件管理的功能包括:建立、修改、删除文件;按文件名访问文件;决定文件信息的存放位置、存放形式及存取权限;管理文间的联系及提供对文件的共享、保护和保密等。允许多个用户协同工作又不引起混乱。文件的共享是指一个文件可以让多个用户共同使用,它可以减少用户的重复性劳动,节省文件的存储空间,减少输入/输出文件的次数等。文件的保护主要是为防止由于错误操作而对文件造成的破坏原创 2022-05-28 01:45:00 · 2060 阅读 · 0 评论 -
操作系统基本原理 - 设备管理
在计算机系统中,除了处理器和内存之外,其他的大部分硬设备称为外部设备。它包括输入/输出设备,辅存设备及终端设备等。这些设备种类繁多,特性各异,操作方式的差异很大,从而使操作系统的设备管理变得十分繁杂。在架构师考试中,设备管理需要掌握的知识内容较少,主要为两个方面:1.数据传输控制方式设备管理的主要任务之一是控制设备和内存或 CPU 之间的数据传送,常用的数据传送控制方式有以下几种。选择和衡量控制方式的原则如下:(1)数据传送速度足够高,能满足用户的需要但又不丢失数据。(2)系统开销小,所需的处理控原创 2022-05-27 21:20:32 · 462 阅读 · 0 评论 -
操作系统基本原理 - 段页式存储管理
段页式存储管理段页式管理是段式和页式两种管理方法结合的产物,综合了段式组织与页式组织的特点,根据程序模块分段,段内再分页,内存被分划成定长的页。段页式系统中虚地址形式是(段号、页号、页内偏移)。系统为每个进程建立一个段表,为每个段建立一个页表。段页式管理采用段式分配、页式使用的方法,便于动态连接和存储的动态分配。这种存储管理能提高内存空间的利用率。段页式存储是如何管理的段式虚拟管理还是以段为单位分配内存空间,整段的调出、装入,有时还要移动,这些都增加了系统的开销。如果按段页式存储管理的方式,把每一段原创 2022-05-27 03:15:00 · 3484 阅读 · 0 评论 -
操作系统基本原理 - 段式存储管理
段式存储管理的思想段式存储管理与页式存储管理相似。分段的基本思想是把用户作业按逻辑意义上有完整意义的段来划分,并以段为单位作为内外存交换的空间尺度。一个作业是由若干个具有逻辑意义的段(如主程序、子程序、数据段等)组成。分段系统中,容许程序(作业)占据内存中许多分离的分区。每个分区存储一个程序分段。这样,每个作业需要几对界限地址寄存器,判定访问地址是否越界也就更困难了。在分段存储系统中常常利用存储保护键实现存储保护。分段系统中虚地址是一个有序对(段号,位移)。系统为每个作业建立一个段表,其内容包括段号、段原创 2022-05-27 02:00:00 · 3176 阅读 · 0 评论 -
操作系统基本原理 - 页式存储管理
分页的基本思想是把程序的逻辑空间和内存的物理空间按照同样的大小划分成若干页面,并以页面为单位进行分配。在页式存储管理中,系统中虚地址是一个有序对(页号,位移)。系统为每一个进程建立一个页表,其内容包括进程的逻辑页号与物理页号的对应关系、状态等。页式存储的地址转换页式系统的动态地址转换是这样进行的:当进程运行时,其页表的首地址已在系统的动态地址转换机构中的基本地址寄存器中。执行的指令访问虚存地址(p,d)时,首先根据页号 p 查页表,由状态可知,这个页是否已经调入内存。若已调入内存,则得到该页的内存位置原创 2022-05-26 21:41:31 · 2647 阅读 · 0 评论 -
操作系统的进程调度与死锁
什么是进程调度进程调度即处理器调度(又称上下文转换),它的主要功能是确定在什么时候分配处理器,并确定分给哪一个进程,即让正在执行的进程改变状态并转入就绪队列的队尾,再由调度原语将就绪队列的队首进程取出,投入执行。引起进程调度的原因(1)正在执行的进程执行完毕。(2)执行中的进程自己调用阻塞原语将自己阻塞起来进入睡眠状态。(3)执行中的进程调用了 P 原语操作,从而因资源不足而阻塞;或调用 V 原语操作激活了等待资源的进程队列。(4)在分时系统中,当一进程用完一个时间片。(5)就绪队列中某进程的原创 2022-05-24 22:56:48 · 1041 阅读 · 0 评论 -
进程的互斥与同步及信号量的PV操作
定义步进程互斥定义:一组并发进程中一个或多个程序段,因共享某一共有资源而导致必须以一个不允许交叉执行的单位执行。也就是说互斥是要保证临界资源在某一时刻只被一个进程访问。进程同步定义:把异步环境下的一组并发进程因直接制约而互相发送消息而进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程同步。也就是说进程之间是异步执行的,同步即是使各进程按一定的制约顺序和速度执行。互斥是资源的竞争关系,而同步是进程间的协作关系。哪些资源需要互斥访问系统中有些资源可以供多个进程同时使用,有些资源则一次仅原创 2022-05-24 22:44:30 · 2178 阅读 · 0 评论 -
操作系统与进程的状态
操作系统的定义操作系统(Operating System,OS)是计算机系统中的核心系统软件,负责管理和控制计算机系统中的硬件和软件资源,合理地组织计算机工作流程和有效地利用资源,在计算机与用户之间起接口的作用。操作系统为用户提供的接口表现形式一般为:命令、菜单、窗口之类的,而操作系统为应用程序提供的接口为 API。操作系统的分类按照操作系统的功能划分,操作系统的基本类型有批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、嵌入式操作系统、微内核操作系统等。操作系统的主要工作原创 2022-05-24 21:38:41 · 1583 阅读 · 0 评论 -
指令流水线
指令流水线技术是把一个任务分解为若干顺序执行的子任务,不同的子任务由不同的执行机构负责执行,而这些机构可以同时并行工作。在任一时刻,任一任务只占用其中一个执行机构,这样就可以实现多个任务的重叠执行,以提高工作效率。流水线周期流水线应用过程中,会将需要处理的工作分为 N 个阶段,最耗时的那一段所消耗的时间为流水线周期。如:使用流水线技术执行 100 条指令,每条指令取指 2ms,分析 4ms,执行 1ms,则流水线周期为 4ms。流水线执行时间将 1 个任务的执行过程可分成 N 个阶段,假设每个阶段原创 2022-05-20 22:26:03 · 2222 阅读 · 0 评论 -
数据检错和纠错的校验算法-海明码
海明码 : 本质也是利用奇偶性来检错和纠错的检验方法,构成方法是在数据位之间的确定位置上插入k个校验位 ,通过扩大码距实现检错和纠错 。如果数据位是n位 , 校验位是k位 , 则n和k必须满足以下关系 ; 2^k-1>=n+k。例 求1011的海明码带入海明码的关系:n=4;设k=1,则2^1-1>=4+1则1>=5不成立,所以k != 1;设k=2,则2^2-1>=4+2则3>=6不成立,所以k != 2;设k=3,则2^3-1>=4+3则7>=7成原创 2022-05-19 22:20:16 · 2650 阅读 · 0 评论 -
循环冗余校验码CRC
循环冗余校验码(CRC),简称循环码,是一种常用的、具有检错、纠错能力的校验码,在早期的通信中运用广泛。循环冗余校验码常用于外存储器和计算机同步通信的数据校验。奇偶校验码和海明校验码都是采用奇偶检测为手段检错和纠错的(奇偶校验码不具有纠错能力),而循环冗余校验则是通过某种数学运算来建立数据位和校验位的约定关系的。假设原始信息串为10110,CRC的生成多样式为G(x) = x4 + x + 1 求CRC校验码在原始信息串后面加0,添加的数量就是多样式x的最高阶,这里是4,则信息串变为101100000原创 2022-05-18 22:02:03 · 2593 阅读 · 0 评论 -
计算机系统结构的分类-复杂指令集系统CISC与精简指令集系统RISC
在计算机系统结构发展的过程中,指令系统的优化设计有两个截然相反的方向,一个是增强指令的功能,设置一些功能复杂的指令,把一些原来由软件实现的、常用的功能改用硬件的指令系统来实现,这种计算机系统称为复杂指令系统计算机(Complex Instruction SetComputer,CISC);另一个是尽量简化指令功能,只保留那些功能简单,能在一个节拍内执行完成指令,较复杂的功能用一段子程序来实现,这种计算机系统称为精简指令系统计算机(Reduced Instruction Set Computer,R原创 2022-05-17 22:06:38 · 3000 阅读 · 0 评论 -
计算机系统结构的分类-Flynn 分类
1966年,Michael.J.Flynn提出根据指令流、数据流的多倍性特征对计算机系统进行分类(通常称为Flynn分类法),有关定义如下。指令流:指机器执行的指令序列;数据流:指由指令流调用的数据序列,包括输入数据和中间结果,但不包括输出数据。Flynn根据不同的指令流-数据流组织方式,把计算机系统分成以下四类。单指令流单数据流(Single Instruction stream and Single Datastream,SISD):SISD其实就是传统的顺序执行的单处理器计算机,其指令部原创 2022-05-17 21:22:52 · 2357 阅读 · 0 评论 -
CPU缓存一致性协议:MESI
今天在看《架构解密》的时候,看到一段介绍CPU缓存一致性的介绍,文章详细解析了Intel多核处理器是如何解决数据一致性问题的,这本书在2020年看过一遍,现在又拿出来学习,感觉要学习的知识还有很多,关于CPU的多核协作的可以看看原先写的一篇文章《多线程开发中Cache伪共享问题及@Contended的使用》里面有关多核协作的简单介绍。MESIMESI协议是基于Invalidate的高速缓存一致性协议,并且是支持回写高速缓存的最常用协议之一。 它也被称为伊利诺伊州协议(由于其在伊利诺伊大学厄巴纳 - 香原创 2022-03-26 20:42:57 · 1928 阅读 · 0 评论 -
Java、elasticsearch、kibana、logstash、filebeat搭建数据分析平台
使用的版本JDK1.8elasticsearch-7.6.2filebeat-7.17.1kibana-7.6.2logstash-7.17.1不同版本对JDK有不同的要求,据我实验,ES7.6.2是JDK8支持的最高版本,其他几个没有测试是不是这个情况,下载程序百度一下即可,基本就是解压,然后配置,本文主要介绍下如何进行配置。关于每个软件是做什么用的可以自行百度。配置elasticsearch修改config/elasticsearch.yml文件cluster.name: ****原创 2022-03-11 18:21:13 · 2482 阅读 · 0 评论