嵌入式物联网之SPI接口原理与配置

嵌入式物联网之SPI接口原理与配置,第1张

本实验采用W25Q64芯片

W25Q64是华邦公司推出的大容量SPI

FLASH产品,其容量为64Mb。该25Q系列的器件在灵活性和性能方面远远超过普通的串行闪存器件。W25Q64将8M字节的容量分为128个块,每个块大小为64K字节,每个块又分为16个扇区,每个扇区4K个字节。W25Q64的最小擦除单位为一个扇区,也就是每次必须擦除4K个字节。所以,这需要给W25Q64开辟一个至少4K的缓存区,这样必须要求芯片有4K以上的SRAM才能有很好的 *** 作。

W25Q64的擦写周期多达10W次,可将数据保存达20年之久,支持27~36V的电压,支持标准的SPI,还支持双输出/四输出的SPI,最大SPI时钟可达80Mhz。

一。SPI接口原理

(一)概述
高速,全双工,同步的通信总线。

全双工:可以同时发送和接收,需要2条引脚

同步: 需要时钟引脚

片选引脚:方便一个SPI接口上可以挂多个设备。

总共四根引脚。

(二)SPI内部结构简明图
MISO: 做主机的时候输入,做从机的时候输出

MOSI:做主机的时候输出,做从机的时候输入

主机和从机都有一个移位寄存器,在同一个时钟的控制下主机的最高位移到从机的最高位,同时从机的最高位往前移一位,移到主机的最低位。在一个时钟的控制下主机和从机进行了一个位的交换,那么在8个时钟的控制下就交换了8位,最后的结果就是两个移位寄存器的数据完全交换。

在8个时钟的控制下,主机和从机的两个字节进行了交换,也就是说主机给从机发送一个字节8个位的同时,从机也给主机传回来了8个位,也就是一个字节。

(三)SPI接口框图
上面左边部分就是在时钟控制下怎么传输数据,右边是控制单元,还包括左下的波特率发生器。

(四)SPI工作原理总结
(五)SPI的特征
(六)从选择(NSS)脚管理
两个SPI通信首先有2个数据线,一个时钟线,还有一个片选线,只有把片选拉低,SPI芯片才工作,片选引脚可以是SPI规定的片选引脚,还可以通过软件的方式选择任意一个IO口作为片选引脚,这样做的好处是:比如一个SPI接口上挂多个设备,比如挂了4个设备,第二个用PA2,第三个用PA3,第四个用PA4作为片选,我们

跟第二个设备进行通信的时候,只需要把第二个片选选中,比如拉低,其他设备的片选都拉高,这样就实现了一个SPI接口可以连接个SPI设备,战舰开发板上就是通过这种方法来实现的。

(七)时钟信号的相位和极性
时钟信号的相位和极性是通过CR寄存器的 CPOL 和 CPHA两个位确定的。

CPOL:时钟极性,设置在没有数据传输时时钟的空闲状态电平。CPOL置0,SCK引脚在空闲时为低电平,CPOL置1,SCK引脚在空闲时保持高电平。

CPHA:时钟相位 设置时钟信号在第几个边沿数据被采集

CPHA=1时:在时钟信号的第二个边沿
CPOL=1,CPHA=1,

CPOL=1表示时钟信号在没有数据传输时即空闲时的状态为高电平。如果CPHA=1,那么数据就在时钟信号的第二个边沿即上升沿的时候被采集。

CPOL= 0,CPHA=1, CPOL=0表示时钟信号在没有数据传输时即空闲时的状态为低电平。

如果CPHA=1,那么数据就在时钟信号的第二个边沿即下降沿的时候被采集。

CPHA=0时:在时钟信号的第一个边沿
CPOL=1,CPHA=0,

CPOL=1表示时钟信号在没有数据传输时即空闲时的状态为高电平。如果CPHA=1,那么数据就在时钟信号的第一个边沿即下降沿的时候被采集。

CPOL= 0,CPHA=0, CPOL=0表示时钟信号在没有数据传输时即空闲时的状态为低电平。

如果CPHA=1,那么数据就在时钟信号的第一个边沿即上升沿的时候被采集。

为什么要配置这两个参数

因为SPI外设的从机的时钟相位和极性都是有严格要求的。所以我们要根据选择的外设的时钟相位和极性来配置主机的相位和极性。必须要与从机匹配。

(八)数据帧的格式和状态标志
数据帧格式:根据CR1寄存器的LSBFIRST位的设置,数据可以MSB在前也可以LSB在前。

根据CR1寄存器的DEF位,每个数据帧可以是8位或16位。

(九)SPI中断
(十)SPI引脚配置 (3个SPI)
引脚的工作模式设置
引脚必须要按照这个表格配置。

二。SPI寄存器库函数配置

(一)常用寄存器
(二)SPI相关库函数
STM32的SPI接口可以配置为支持SPI协议或者支持I2S音频协议。默认是SPI模式,可以通过软件切换到I2S方式。

常用的函数:

1 void SPI_Init(SPI_TypeDef SPIx, SPI_InitTypeDef

SPI_InitStruct);//SPI的初始化

2 void SPI_Cmd(SPI_TypeDef SPIx, FunctionalState NewState); //SPI使能

3 void SPI_I2S_ITConfig(SPI_TypeDef SPIx, uint8_t SPI_I2S_IT,

FunctionalState NewState); //开启中断

4 void SPI_I2S_DMACmd(SPI_TypeDef SPIx, uint16_t SPI_I2S_DMAReq,

FunctionalState NewState);//通 过DMA传输数据

5 void SPI_I2S_SendData(SPI_TypeDef SPIx, uint16_t Data); //发送数据

6 uint16_t SPI_I2S_ReceiveData(SPI_TypeDef SPIx); //接收数据

7 void SPI_DataSizeConfig(SPI_TypeDef SPIx, uint16_t SPI_DataSize);

//设置数据是8位还是16位

8 其他几个状态函数

void SPI_Init(SPI_TypeDef SPIx, SPI_InitTypeDef

SPI_InitStruct);//SPI的初始化
结构体成员变量比较多,这里我们挑取几个重要的成员变量讲解一下:

第一个参数 SPI_Direction 是用来设置 SPI 的通信方式,可以选择为半双工,全双工,以及串行发和串行收方式,这里我们选择全双工模式

SPI_Direction_2Lines_FullDuplex。

第二个参数 SPI_Mode 用来设置 SPI 的主从模式,这里我们设置为主机模式 SPI_Mode_Master,当然有需要你也可以选择为从机模式

SPI_Mode_Slave。

第三个参数 SPI_DataSiz 为 8 位还是 16 位帧格式选择项,这里我们是 8 位传输,选择SPI_DataSize_8b。

第四个参数 SPI_CPOL 用来设置时钟极性,我们设置串行同步时钟的空闲状态为高电平所以我们选择 SPI_CPOL_High。

第五个参数 SPI_CPHA

用来设置时钟相位,也就是选择在串行同步时钟的第几个跳变沿(上升或下降)数据被采样,可以为第一个或者第二个条边沿采集,这里我们选择第二个跳变沿,所以选择

SPI_CPHA_2Edge

第六个参数 SPI_NSS 设置 NSS 信号由硬件(NSS 管脚)还是软件控制,这里我们通过软件控

制 NSS 关键,而不是硬件自动控制,所以选择 SPI_NSS_Soft。

第七个参数 SPI_BaudRatePrescaler 很关键,就是设置 SPI 波特率预分频值也就是决定 SPI 的时

钟的参数 , 从不分频道 256 分频 8 个可选值,初始化的时候我们选择 256 分频值

SPI_BaudRatePrescaler_256, 传输速度为 36M/256=140625KHz。

第八个参数 SPI_FirstBit 设置数据传输顺序是 MSB 位在前还是 LSB 位在前, ,这里我们选择

SPI_FirstBit_MSB 高位在前。

第九个参数 SPI_CRCPolynomial 是用来设置 CRC 校验多项式,提高通信可靠性,大于 1 即可。

设置好上面 9 个参数,我们就可以初始化 SPI 外设了。

初始化的范例格式为:

SPI_InitTypeDef SPI_InitStructure;

SPI_InitStructureSPI_Direction = SPI_Direction_2Lines_FullDuplex;

//双线双向全双工

SPI_InitStructureSPI_Mode = SPI_Mode_Master; //主 SPI

SPI_InitStructureSPI_DataSize = SPI_DataSize_8b; // SPI 发送接收 8 位帧结构

SPI_InitStructureSPI_CPOL = SPI_CPOL_High;//串行同步时钟的空闲状态为高电平

371

SPI_InitStructureSPI_CPHA = SPI_CPHA_2Edge;//第二个跳变沿数据被采样

SPI_InitStructureSPI_NSS = SPI_NSS_Soft; //NSS 信号由软件控制

SPI_InitStructureSPI_BaudRatePrescaler = SPI_BaudRatePrescaler_256; //预分频

256

SPI_InitStructureSPI_FirstBit = SPI_FirstBit_MSB; //数据传输从 MSB 位开始

SPI_InitStructureSPI_CRCPolynomial = 7; //CRC 值计算的多项式

SPI_Init(SPI2, &SPI_InitStructure); //根据指定的参数初始化外设 SPIx 寄存器

(三)程序配置步骤
三。W25Qxx配置讲解

(一)电路图
片选用的PB12

W25Q64 是华邦公司推出的大容量SPI FLASH 产品,W25Q64 的容量为 64Mb,该系列还有 W25Q80/16/32

等。ALIENTEK 所选择的 W25Q64 容量为 64Mb,也就是 8M 字节。(1M=1024K)

W25Q64 将 8M 的容量分为 128 个块(Block),每个块大小为 64K 字节,每个块又分为 16个扇区(Sector),每个扇区 4K

个字节。W25Q64 的最少擦除单位为一个扇区,也就是每次必须擦除 4K 个字节。这样我们需要给 W25Q64 开辟一个至少 4K 的缓存区,这样对 SRAM

要求比较高,要求芯片必须有 4K 以上 SRAM 才能很好的 *** 作。

W25Q64 的擦写周期多达 10W 次,具有 20 年的数据保存期限,支持电压为 27~36V,W25Q64 支持标准的

SPI,还支持双输出/四输出的 SPI,最大 SPI 时钟可以到 80Mhz(双输出时相当于 160Mhz,四输出时相当于 320M),更多的 W25Q64

的介绍,请参考 W25Q64 的DATASHEET。

在往一个地址写数据之前,要先把这个扇区的数据全部读出来保存在缓存里,然后再把这个扇区擦除,然后在缓存中修改要写的数据,然后再把整个缓存中的数据再重新写入刚才擦除的扇区中。

便于学习和参考再给大家分享些spi 的资料

stm32之SPI通信

>

神州泰岳全称北京神州泰岳软件服务有限公司,成立于2001年,公司是国内领先的综合类软件产品及服务提供商,着力于用信息技术手段,推动行业发展和 社会 进步,提升人们工作和生活品质,自公司成立以来,始终以市场为导向,深耕细作,创新拓展,形成了以“IC T运营管理”、“物联网与通信技术应用”、“手机 游戏 ”、“人工智能与大数据”为核心的相关多元化发展格局。

1、 物联网通信、人工智能/大数据、IC T运营管理、手机 游戏 。

目前公司核心业务板块是:物联网通信、人工智能/大数据、IC T运营管理、手机 游戏 。

2、技术与产品优势。

IC T运营管理领域公司紧密跟踪最前沿的技术发展趋势,深度挖掘客户对IT系统,尤其在线关键业务,IT应用系统的运维管理需求,形成了一系列独特的软件产品和方法论,技术水平,在国内处于领先地位。手机 游戏 领域,公司旗下重要手游研发团队---壳木软件是中国目前为数不多的拥有独立研发世界水准的3D 游戏 引擎能力(可兼容各种层次的移动设备)的一流手机 游戏 研发团队。

3、 人工智能与大数据。

人工智能与大数据是公司基于多年智能生产生活技术、信息化数据及技术积累所形成的创新业务之一。人工智能方面,公司在智能语义分析、智能人机交互、智能机器自学等领域形成了丰富产品,并在行业中得到应用和好评。大数据方面,在技术平台、数据积累、数据分析和价值应用等领域,具备了应用推广能力。


神州泰岳:公司与华为在视频解析与物联网传感技术上合作

公司与华为在视频解析与物联网传感技术上合作,共同推出机场智能围界入侵告警解决方案,通过华为机器视觉的视频算法+公司智慧墙的微波算法,形成智能复合探测,以应对目前传统安防产品在周界安防应用过程中漏告误告的问题,通过两种技术的复合,为机场周界安防提供技术支撑和服务,以满足机场的全天候全范围全流程的技术防范要求。


北京神州泰岳软件股份有限公司成功中标国家电网有限公司“输变电设备物联网节点装置-变电”、“输变电设备物联网传感器-SF6微水”框架协议采购项目。此次神州泰岳成功入围传感设备和通信节点设备框架协议是公司紧跟国家电网公司设备专业数字化转型升级、创新提升取得的重要成绩。

神州泰岳自主研发符合国家电网公司企业标准的接入节点设备和汇聚节点设备、多形态智能传感设备、无线通信模块和专业综合智能软件分析平台在内的物联网多场景解决方案,在变电站、电缆隧道、智能配电房均有深厚技术积累和广泛应用经验,获得用户、合作伙伴、业内专家的一致好评。

无线传感网架构


神州泰岳致力于在电力业务输、变、配领域,为客户提供安全、可靠、智慧的在线监测系统解决方案,提供稳定的数据传输通道和多维度融合的数据服务。此次入围助力神州泰岳在电力业务领域开创新机遇!

此次中标的接入节点设备和汇聚节点设备由神州泰岳自主研发,满足国网企标Q/GDW 12021《输变电设备物联网节点设备无线组网协议》及Q/GDW 12020《输变电设备物联网微功率无线网通信协议》要求,支持各类电力业务场景的无线传感网覆盖及多跳组网通信等业务需求。

接入节点设备UPJR-001 汇聚节点设备UPHJ-001


接入节点设备 可搭载多样化边缘计算应用, 实现业务数据本地消费;破除传统数据“烟囱”,实现业务横向贯通。

SF6气体在线监测APP


设备 健康 多元分析APP


神州泰岳将携手电力行业客户打造“万物互联”的数字化转型样板工程,以数字技术赋能赋智,以精益管理挖潜增效,深度挖掘电力大数据价值,助推电力行业数字化转型升级!

常见的大数据术语表(中英对照简版):
A
聚合(Aggregation) – 搜索、合并、显示数据的过程
算法(Algorithms) – 可以完成某种数据分析的数学公式
分析法(Analytics) – 用于发现数据的内在涵义
异常检测(Anomaly detection) –
在数据集中搜索与预期模式或行为不匹配的数据项。除了“Anomalies”,用来表示异常的词有以下几种:outliers, exceptions,
surprises, contaminants他们通常可提供关键的可执行信息
匿名化(Anonymization) – 使数据匿名,即移除所有与个人隐私相关的数据
应用(Application) – 实现某种特定功能的计算机软件
人工智能(Artificial Intelligence) –
研发智能机器和智能软件,这些智能设备能够感知周遭的环境,并根据要求作出相应的反应,甚至能自我学习
B
行为分析法(Behavioural Analytics) –
这种分析法是根据用户的行为如“怎么做”,“为什么这么做”,以及“做了什么”来得出结论,而不是仅仅针对人物和时间的一门分析学科,它着眼于数据中的人性化模式
大数据科学家(Big Data Scientist) – 能够设计大数据算法使得大数据变得有用的人
大数据创业公司(Big data startup) – 指研发最新大数据技术的新兴公司
生物测定术(Biometrics) – 根据个人的特征进行身份识别
B字节 (BB: Brontobytes) – 约等于1000 YB(Yottabytes),相当于未来数字化宇宙的大小。1
B字节包含了27个0!
商业智能(Business Intelligence) – 是一系列理论、方法学和过程,使得数据更容易被理解
C
分类分析(Classification analysis) – 从数据中获得重要的相关性信息的系统化过程; 这类数据也被称为元数据(meta
data),是描述数据的数据
云计算(Cloud computing) – 构建在网络上的分布式计算系统,数据是存储于机房外的(即云端)
聚类分析(Clustering analysis) –
它是将相似的对象聚合在一起,每类相似的对象组合成一个聚类(也叫作簇)的过程。这种分析方法的目的在于分析数据间的差异和相似性
冷数据存储(Cold data storage) – 在低功耗服务器上存储那些几乎不被使用的旧数据。但这些数据检索起来将会很耗时
对比分析(Comparative analysis) – 在非常大的数据集中进行模式匹配时,进行一步步的对比和计算过程得到分析结果
复杂结构的数据(Complex structured data) –
由两个或多个复杂而相互关联部分组成的数据,这类数据不能简单地由结构化查询语言或工具(SQL)解析
计算机产生的数据(Computer generated data) – 如日志文件这类由计算机生成的数据
并发(Concurrency) – 同时执行多个任务或运行多个进程
相关性分析(Correlation analysis) – 是一种数据分析方法,用于分析变量之间是否存在正相关,或者负相关
客户关系管理(CRM: Customer Relationship Management) –
用于管理销售、业务过程的一种技术,大数据将影响公司的客户关系管理的策略
D
仪表板(Dashboard) – 使用算法分析数据,并将结果用图表方式显示于仪表板中
数据聚合工具(Data aggregation tools) – 将分散于众多数据源的数据转化成一个全新数据源的过程
数据分析师(Data analyst) – 从事数据分析、建模、清理、处理的专业人员
数据库(Database) – 一个以某种特定的技术来存储数据集合的仓库
数据库即服务(Database-as-a-Service) – 部署在云端的数据库,即用即付,例如亚马逊云服务(AWS: Amazon Web
Services)
数据库管理系统(DBMS: Database Management System) – 收集、存储数据,并提供数据的访问
数据中心(Data centre) – 一个实体地点,放置了用来存储数据的服务器
数据清洗(Data cleansing) – 对数据进行重新审查和校验的过程,目的在于删除重复信息、纠正存在的错误,并提供数据一致性
数据管理员(Data custodian) – 负责维护数据存储所需技术环境的专业技术人员
数据道德准则(Data ethical guidelines) – 这些准则有助于组织机构使其数据透明化,保证数据的简洁、安全及隐私
数据订阅(Data feed) – 一种数据流,例如Twitter订阅和RSS
数据集市(Data marketplace) – 进行数据集买卖的在线交易场所
数据挖掘(Data mining) – 从数据集中发掘特定模式或信息的过程
数据建模(Data modelling) – 使用数据建模技术来分析数据对象,以此洞悉数据的内在涵义
数据集(Data set) – 大量数据的集合
数据虚拟化(Data virtualization) –
数据整合的过程,以此获得更多的数据信息,这个过程通常会引入其他技术,例如数据库,应用程序,文件系统,网页技术,大数据技术等等
去身份识别(De-identification) – 也称为匿名化(anonymization),确保个人不会通过数据被识别
判别分析(Discriminant analysis) –
将数据分类;按不同的分类方式,可将数据分配到不同的群组,类别或者目录。是一种统计分析法,可以对数据中某些群组或集群的已知信息进行分析,并从中获取分类规则。
分布式文件系统(Distributed File System) – 提供简化的,高可用的方式来存储、分析、处理数据的系统
文件存贮数据库(Document Store Databases) – 又称为文档数据库(document-oriented database),
为存储、管理、恢复文档数据而专门设计的数据库,这类文档数据也称为半结构化数据
E
探索性分析(Exploratory analysis) –
在没有标准的流程或方法的情况下从数据中发掘模式。是一种发掘数据和数据集主要特性的一种方法
E字节(EB: Exabytes) – 约等于1000 PB(petabytes), 约等于1百万 GB。如今全球每天所制造的新信息量大约为1
EB
提取-转换-加载(ETL: Extract, Transform and Load) –
是一种用于数据库或者数据仓库的处理过程。即从各种不同的数据源提取(E)数据,并转换(T)成能满足业务需要的数据,最后将其加载(L)到数据库
F
故障切换(Failover) – 当系统中某个服务器发生故障时,能自动地将运行任务切换到另一个可用服务器或节点上
容错设计(Fault-tolerant design) – 一个支持容错设计的系统应该能够做到当某一部分出现故障也能继续运行
G
游戏化(Gamification) –
在其他非游戏领域中运用游戏的思维和机制,这种方法可以以一种十分友好的方式进行数据的创建和侦测,非常有效。
图形数据库(Graph Databases) –
运用图形结构(例如,一组有限的有序对,或者某种实体)来存储数据,这种图形存储结构包括边缘、属性和节点。它提供了相邻节点间的自由索引功能,也就是说,数据库中每个元素间都与其他相邻元素直接关联。
网格计算(Grid computing) – 将许多分布在不同地点的计算机连接在一起,用以处理某个特定问题,通常是通过云将计算机相连在一起。
H
Hadoop – 一个开源的分布式系统基础框架,可用于开发分布式程序,进行大数据的运算与存储。
Hadoop数据库(HBase) – 一个开源的、非关系型、分布式数据库,与Hadoop框架共同使用
HDFS – Hadoop分布式文件系统(Hadoop Distributed File
System);是一个被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统
高性能计算(HPC: High-Performance-Computing) – 使用超级计算机来解决极其复杂的计算问题
I
内存数据库(IMDB: In-memory) –
一种数据库管理系统,与普通数据库管理系统不同之处在于,它用主存来存储数据,而非硬盘。其特点在于能高速地进行数据的处理和存取。
物联网(Internet of Things) – 在普通的设备中装上传感器,使这些设备能够在任何时间任何地点与网络相连。
J
法律上的数据一致性(Juridical data compliance) –
当你使用的云计算解决方案,将你的数据存储于不同的国家或不同的大陆时,就会与这个概念扯上关系了。你需要留意这些存储在不同国家的数据是否符合当地的法律。
K
键值数据库(KeyValue Databases) –
数据的存储方式是使用一个特定的键,指向一个特定的数据记录,这种方式使得数据的查找更加方便快捷。键值数据库中所存的数据通常为编程语言中基本数据类型的数据。
L
延迟(Latency) – 表示系统时间的延迟
遗留系统(Legacy system) – 是一种旧的应用程序,或是旧的技术,或是旧的计算系统,现在已经不再支持了。
负载均衡(Load balancing) – 将工作量分配到多台电脑或服务器上,以获得最优结果和最大的系统利用率。
位置信息(Location data) – GPS信息,即地理位置信息。
日志文件(Log file) – 由计算机系统自动生成的文件,记录系统的运行过程。
M
M2M数据(Machine2Machine data) – 两台或多台机器间交流与传输的内容
机器数据(Machine data) – 由传感器或算法在机器上产生的数据
机器学习(Machine learning) –
人工智能的一部分,指的是机器能够从它们所完成的任务中进行自我学习,通过长期的累积实现自我改进。
MapReduce – 是处理大规模数据的一种软件框架(Map: 映射,Reduce: 归纳)。
大规模并行处理(MPP: Massively Parallel Processing) –
同时使用多个处理器(或多台计算机)处理同一个计算任务。
元数据(Metadata) – 被称为描述数据的数据,即描述数据数据属性(数据是什么)的信息。
MongoDB – 一种开源的非关系型数据库(NoSQL database)
多维数据库(Multi-Dimensional Databases) – 用于优化数据联机分析处理(OLAP)程序,优化数据仓库的一种数据库。
多值数据库(MultiValue Databases) – 是一种非关系型数据库(NoSQL),
一种特殊的多维数据库:能处理3个维度的数据。主要针对非常长的字符串,能够完美地处理HTML和XML中的字串。
N
自然语言处理(Natural Language Processing) –
是计算机科学的一个分支领域,它研究如何实现计算机与人类语言之间的交互。
网络分析(Network analysis) – 分析网络或图论中节点间的关系,即分析网络中节点间的连接和强度关系。
NewSQL – 一个优雅的、定义良好的数据库系统,比SQL更易学习和使用,比NoSQL更晚提出的新型数据库
NoSQL –
顾名思义,就是“不使用SQL”的数据库。这类数据库泛指传统关系型数据库以外的其他类型的数据库。这类数据库有更强的一致性,能处理超大规模和高并发的数据。
O
对象数据库(Object Databases) –
(也称为面象对象数据库)以对象的形式存储数据,用于面向对象编程。它不同于关系型数据库和图形数据库,大部分对象数据库都提供一种查询语言,允许使用声明式编程(declarative
programming)访问对象
基于对象图像分析(Object-based Image Analysis) –
数字图像分析方法是对每一个像素的数据进行分析,而基于对象的图像分析方法则只分析相关像素的数据,这些相关像素被称为对象或图像对象。
*** 作型数据库(Operational Databases) –
这类数据库可以完成一个组织机构的常规 *** 作,对商业运营非常重要,一般使用在线事务处理,允许用户访问 、收集、检索公司内部的具体信息。
优化分析(Optimization analysis) –
在产品设计周期依靠算法来实现的优化过程,在这一过程中,公司可以设计各种各样的产品并测试这些产品是否满足预设值。
本体论(Ontology) – 表示知识本体,用于定义一个领域中的概念集及概念之间的关系的一种哲学思想。(译者注:
数据被提高到哲学的高度,被赋予了世界本体的意义,成为一个独立的客观数据世界)
异常值检测(Outlier detection) –
异常值是指严重偏离一个数据集或一个数据组合总平均值的对象,该对象与数据集中的其他它相去甚远,因此,异常值的出现意味着系统发生问题,需要对此另加分析。
P
模式识别(Pattern Recognition) – 通过算法来识别数据中的模式,并对同一数据源中的新数据作出预测
P字节(PB: Petabytes) – 约等于1000 TB(terabytes), 约等于1百万 GB
(gigabytes)。欧洲核子研究中心(CERN)大型强子对撞机每秒产生的粒子个数就约为1 PB
平台即服务(PaaS: Platform-as-a-Service) – 为云计算解决方案提供所有必需的基础平台的一种服务
预测分析(Predictive analysis) –
大数据分析方法中最有价值的一种分析方法,这种方法有助于预测个人未来(近期)的行为,例如某人很可能会买某些商品,可能会访问某些网站,做某些事情或者产生某种行为。通过使用各种不同的数据集,例如历史数据,事务数据,社交数据,或者客户的个人信息数据,来识别风险和机遇
隐私(Privacy) – 把具有可识别出个人信息的数据与其他数据分离开,以确保用户隐私。
公共数据(Public data) – 由公共基金创建的公共信息或公共数据集。
Q
数字化自我(Quantified Self) – 使用应用程序跟踪用户一天的一举一动,从而更好地理解其相关的行为
查询(Query) – 查找某个问题答案的相关信息
R
再识别(Re-identification) – 将多个数据集合并在一起,从匿名化的数据中识别出个人信息
回归分析(Regression analysis) –
确定两个变量间的依赖关系。这种方法假设两个变量之间存在单向的因果关系(译者注:自变量,因变量,二者不可互换)
RFID – 射频识别; 这种识别技术使用一种无线非接触式射频电磁场传感器来传输数据
实时数据(Real-time data) – 指在几毫秒内被创建、处理、存储、分析并显示的数据
推荐引擎(Recommendation engine) – 推荐引擎算法根据用户之前的购买行为或其他购买行为向用户推荐某种产品
路径分析(Routing analysis) –
针对某种运输方法通过使用多种不同的变量分析从而找到一条最优路径,以达到降低燃料费用,提高效率的目的
S
半结构化数据(Semi-structured data) –
半结构化数据并不具有结构化数据严格的存储结构,但它可以使用标签或其他形式的标记方式以保证数据的层次结构
情感分析(Sentiment Analysis) – 通过算法分析出人们是如何看待某些话题
信号分析(Signal analysis) – 指通过度量随时间或空间变化的物理量来分析产品的性能。特别是使用传感器数据。
相似性搜索(Similarity searches) – 在数据库中查询最相似的对象,这里所说的数据对象可以是任意类型的数据
仿真分析(Simulation analysis) –
仿真是指模拟真实环境中进程或系统的 *** 作。仿真分析可以在仿真时考虑多种不同的变量,确保产品性能达到最优
智能网格(Smart grid) – 是指在能源网中使用传感器实时监控其运行状态,有助于提高效率
软件即服务(SaaS: Software-as-a-Service) – 基于Web的通过浏览器使用的一种应用软件
空间分析(Spatial analysis) – 空间分析法分析地理信息或拓扑信息这类空间数据,从中得出分布在地理空间中的数据的模式和规律
SQL – 在关系型数据库中,用于检索数据的一种编程语言
结构化数据(Structured data)
-可以组织成行列结构,可识别的数据。这类数据通常是一条记录,或者一个文件,或者是被正确标记过的数据中的某一个字段,并且可以被精确地定位到。
T
T字节(TB: Terabytes) – 约等于1000 GB(gigabytes)。1 TB容量可以存储约300小时的高清视频。
时序分析(Time series analysis) –
分析在重复测量时间里获得的定义良好的数据。分析的数据必须是良好定义的,并且要取自相同时间间隔的连续时间点。
拓扑数据分析(Topological Data Analysis) –
拓扑数据分析主要关注三点:复合数据模型、集群的识别、以及数据的统计学意义。
交易数据(Transactional data) – 随时间变化的动态数据
透明性(Transparency) – 消费者想要知道他们的数据有什么作用、被作何处理,而组织机构则把这些信息都透明化了。
U
非结构化数据(Un-structured data) – 非结构化数据一般被认为是大量纯文本数据,其中还可能包含日期,数字和实例。
V
价值(Value) – (译者注:大数据4V特点之一)
所有可用的数据,能为组织机构、社会、消费者创造出巨大的价值。这意味着各大企业及整个产业都将从大数据中获益。
可变性(Variability) – 也就是说,数据的含义总是在(快速)变化的。例如,一个词在相同的推文中可以有完全不同的意思。
多样(Variety) – (译者注:大数据4V特点之一)
数据总是以各种不同的形式呈现,如结构化数据,半结构化数据,非结构化数据,甚至还有复杂结构化数据
高速(Velocity) – (译者注:大数据4V特点之一) 在大数据时代,数据的创建、存储、分析、虚拟化都要求被高速处理。
真实性(Veracity) – 组织机构需要确保数据的真实性,才能保证数据分析的正确性。因此,真实性(Veracity)是指数据的正确性。
可视化(Visualization) –
只有正确的可视化,原始数据才可被投入使用。这里的“可视化”并非普通的图型或饼图,可视化指是的复杂的图表,图表中包含大量的数据信息,但可以被很容易地理解和阅读。
大量(Volume) – (译者注:大数据4V特点之一) 指数据量,范围从Megabytes至Brontobytes
W
天气数据(Weather data) – 是一种重要的开放公共数据来源,如果与其他数据来源合成在一起,可以为相关组织机构提供深入分析的依据
X
XML数据库(XML Databases) –
XML数据库是一种以XML格式存储数据的数据库。XML数据库通常与面向文档型数据库相关联,开发人员可以对XML数据库的数据进行查询,导出以及按指定的格式序列化
Y
Y字节 (Yottabytes) – 约等于1000 ZB (Zettabytes),
约等于250万亿张DVD的数据容量。现今,整个数字化宇宙的数据量为1 YB, 并且将每18年翻一番。
Z
Z字节 (ZB: Zettabytes) – 约等于1000 EB (Exabytes), 约等于1百万
TB。据预测,到2016年全球范围内每天网络上通过的信息大约能达到1 ZB。
附:存储容量单位换算表:
1 Bit(比特) = Binary Digit
8 Bits = 1 Byte(字节)
1,000 Bytes = 1 Kilobyte
1,000 Kilobytes = 1 Megabyte
1,000 Megabytes = 1 Gigabyte
1,000 Gigabytes = 1 Terabyte
1,000 Terabytes = 1 Petabyte
1,000 Petabytes = 1 Exabyte
1,000 Exabytes = 1 Zettabyte
1,000 Zettabytes = 1 Yottabyte
1,000 Yottabytes = 1 Brontobyte
1,000 Brontobytes = 1 Geopbyte

从技术的角度,架构的角度,用通俗的语言来跟大家讲讲,我对区块链的一些理解。

究竟啥是区块链?Block chain,一句话来说,区块链是一个存储系统,存储系统更细一点,区块链是一个没有管理员,每个节点都拥有全部数据的分布式存储系统。

那常见的存储系统,是什么样子的呢?

如上图所示,底部是数据,上面可以写入数据。一个空间存储数据,一个软件管理数据,提供接口写入数据,这就是存储系统。比如MySQL就是最常见的存储系统。

普通的存储系统,容易存在什么问题呢?至少有两个常见的问题

第一个是非高可用的问题,数据存在一个地方很危险。用技术的话说,就是数据不高可用。

第二个问题是,它存在写入的单点,写入点只有一个。用技术的话说,就是它是一个单点控制。

那普通的存储系统通常是如何解决这两个问题的呢?

首先看一下如何保证高可用?

普通的存储系统通常是用“冗余”的方式来解决高可用问题的。图上图所示如果能够把数据复制成几份,冗余到多个地方,就能够保证高可用。一个地方的数据挂了,另外的地方还存有数据,例如MySQL的主从集群就是这个原理,磁盘的RAID也是这个原理。

这个地方需要强调的两点是:数据冗余,往往会引发一致性的问题

1、例如MySQL的主从集群中中其实读写会有延时的,它其实就是有一个短的时间内读写不一致。这个是数据冗余,带来的一个副作用。

2、第二个点是数据冗余往往会降低写入的效率,因为数据同步也是需要消耗资源的。你看单点写入,如果加了两个从库之后,其实写入的效率会受影响。普通的存储系统,就是采用冗余的方式,保证数据的高可用的。

那么第二个问题,普通的存储系统,能否多点写入呢?

答案是可以的,比如说以这个图为例:

其实MySQL的话可以做一个双主的主从同步,双主的主从同步,两个节点,同时可以写入。如果要做多机房多活的数据中心,其实多机房多活也是进行数据同步的。这里要强调的是多点写入,往往会引发写写冲突的一致性问题,以MySQl为例,假设有一个表的属性是自增ID,那么现在数据库中的数据是1234,那么其中一个节点写入,插入了一条数据,那它可能变成5了,然后这5条数据,向另外一个主节点进行数据同步,同步完成之前,如果另外一个写入节点,也插入了一条数据,也生成了一条这个自增id为5的数据。那么,生成之后,往另外一个节点同步,然后同步数据到达之后会与本地的这两条5冲突,就会同步失败,会引发写写的一致性冲突问题。这个多点写入的话都会出现这个问题。

多点写入,如何保证一致?

维新“天鹅大咖课”给你更多的技术干活


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/12953135.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-29
下一篇 2023-05-29

发表评论

登录后才能评论

评论列表(0条)

保存