计算机中的数据

数据

数据在计算机中以多种形式存在,如文字,视频,音频,图像,数字等,在计算机工业中使用多媒体来定义包含数字,文本,图像,音频和视频的信息!
 
 数据:对客观事物的性质、状态以及相互关系等进行记载的物理符号或是这些物理符号的组合,也包含数值数据和非数值数据。

信息:是数据经过加工处理后得到的另一种形式的数据,这种数据在某种程度上影响接收者的行为。具有客观性、主观性和有用性。

数据结构

数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或者多种特定关系的数据元素集合。通常情况下,精心选择的数据结构可以带来更高效的运行或者存储效率。数据结构往往同高效的检索算法和索引技术有关。
   数据结构是ADT(抽象数据类型)的物理实现。
   程序 = 数据结构 + 算法
   算法是为了解决问题而设计的,数据结构是算法需要处理问题的载体。
   1.顺序表:顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素、使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中,即通过数据元素物理存储的相邻关系来反映数据元素之间逻辑上的相邻关系,采用顺序存储结构的线性表通常称为顺序表。顺序表是将表中的结点依次存放在计算机内存中一组地址连续的存储单元中。
   将表中元素一个接一个的存入一组连续的存储单元中,这种存储结构是顺序结构。
   2.链表:链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。
   3.栈:栈是限定仅在表头进行插入和删除操作的线性表。要搞清楚这个概念,首先要明白”栈“原来的意思,如此才能把握本质。"栈“者,存储货物或供旅客住宿的地方,可引申为仓库、中转站,所以引入到计算机领域里,就是指数据暂时存储的地方,所以才有进栈、出栈的说法。 
   首先系统或者数据结构栈中数据内容的读取与插入(压入push和 弹出pop)是两回事!插入是增加数据,弹出是删除数据 ,这些操作只能从栈顶即最低地址作为约束的接口界面入手操作 ,但读取栈中的数据是随便的没有接口约束之说。很多人都误解这个理念从而对栈产生困惑。 [1] 而系统栈在计算机体系结构中又起到一个跨部件交互的媒介区域的作用 即 cpu 与内存的交流通道 ,cpu只从系统给我们自己编写的应用程序所规定的栈入口线性地读取执行指令, 用一个形象的词来形容它就是pipeline(管道线、流水线)。cpu内部交互具体参见 EU与BIU的概念介绍。  
   栈作为一种数据结构,是一种只能在一端进行插入和删除操作的特殊线性表。它按照先进后出的原则存储数据,先进入的数据被压入栈底,最后的数据在栈顶,需要读数据的时候从栈顶开始弹出数据(最后一个数据被第一个读出来)。栈具有记忆作用,对栈的插入与删除操作中,不需要改变栈底指针。
  4.树(Tree)是n(n>=0)个结点的有限集。n=0时称为空树。在任意一棵非空树中:(1)有且仅有一个特定的称为根(root)的结点。(2)当n>1时,其余结点可分为m(m>0)个互不相交的有限集T1,T2,…,Tm, 其中每一个集合本身又是一棵树,并且称为根的子树(SubTree),
树的结点包含一个数据元素及若干指向其子树的分支。结点拥有的子树称为结点的度(Degree)。度为0的结点称为叶结点(Leaf)或终端结点;度不为0的结点称为非终端结点或分支结点,除根结点之外,分支结点也称为内部结点。树的度是树内各结点的度的最大值。
5.图 图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。
  在图中需要注意的是:
  (1)线性表中我们把数据元素叫元素,树中将数据元素叫结点,在图中数据元素,我们则称之为顶点(Vertex)。
  (2)线性表可以没有元素,称为空表;树中可以没有节点,称为空树;但是,在图中不允许没有顶点(有穷非空性)。
  (3)线性表中的各元素是线性关系,树中的各元素是层次关系,而图中各顶点的关系是用边来表示(边集可以为空)。

算法

什么是算法?
字面含义: 算法是用于计算的方法,通过这种方法可以达到预期的计算结果。
其它专家说: 算法是解决实际问题的一种精确描述方法、算法是对特定问题的求解步骤的一种精确描述方法。
广泛定义: 算法是模型分析的一组可行的、确定的和有穷的规则。
通俗的讲: 算法可以理解为一个完整的解题步骤,由一些基本运算和规定的运算顺序构成。
算法:解决问题 的方法。
特点:有穷性 确切性 输入 输出 可行性
算法分类
按照应用来分类
基本算法、数据结构算法、几何算法、图论算法、规划算法、数值分析算法、加密算法、排序算法、查找算法
按照确定性
确定性算法、非确定性算法
算法的思路来划分
递推算法、递归算法、穷举算法、贪婪算法、分治算法等

数据库添加链接描述

一、数据库简介
数据库:就是数据的仓库,它是长期存储在计算机内,有组织的、可共享的数据的集合。

数据库管理系统(DBMS: 用来对数据进行存储、管理等操作的软件

二、数据库分类
数据库通常分为层次式数据库、网络式数据库和关系式数据库三种。而不同的数据库是按不同的数据结构来联系和组织的。而在当今的互联网中,最常见的数据库模型主要是两种,即关系型数据库(SQL)和非关系型数据库(NoSQL,Not Only SQL)。

关系型数据库
关系 :关系就是二维表。并满足如下性质:

表中的行、列次序并不重要
行row:表中的每一行,又称为一条记录
列column:表中的每一列,称为属性,字段     field 域
主键PK(Primary key):用于惟一确定一个记录的字段      外键FK
域domain:属性的取值范围,如,性别只能是‘男’和‘女’两个值
缺点:性能没有非关系性数据库好    优点:数据统计有严谨性

非关系型数据库
NoSQL数据存储不需要固定的表结构,通常也不存在连接操作。在大数据存取上具备关系型数据库无法比拟的性能优势。

搜索键值存储数据库(key-value):
键值数据库就类似传统语言中使用的哈希表。可以通过key来添加、查询或者删除数据库,因为使用key主键访问,所以会获得很高的性能及扩展性。Key/value模型对于IT系统来说的优势在于简单、易部署、高并发。典型产品:Memcached、Redis、MemcacheDB
列存储(Column-oriented)数据库
列存储数据库将数据存储在列族中,一个列族存储经常被一起查询的相关数据,比如人类,我们经常会查询某个人的姓名和年龄,而不是薪资。这种情况下姓名和年龄会被放到一个列族中,薪资会被放到另一个列族中。

这种数据库通常用来应对分布式存储海量数据。
面向文档(Document-Oriented)数据库
文档型数据库可以 看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。面向文档数据库会将数据以文档形式存储。典型产品:MongoDB 适用于敏捷开发
常见关系型数据库:

大型:Oracle、DB2 等;
中型:SQL Server、MySQL 等;
小型:Access 等。

三、关系型数据库和非关系型数据库比较:
关系型数据库:
关系型数据库,是指采用了关系模型来组织数据的数据库。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。

关系型数据库的最大特点就是事务的一致性:传统的关系型数据库读写操作都是事务的,具有ACID的特点,这个特性使得关系型数据库可以用于几乎所有对一致性有要求的系统中,如典型的银行系统。

优点:容易理解:二维表结构是非常贴近逻辑世界的一个概念,关系模型相对网状、层次等其他模型来说更容易理解
使用方便:通用的SQL语言使得操作关系型数据库非常方便
易于维护:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率
缺点: 数据读写必须经过sql解析,大量数据、高并发下读写性能不足。对于传统关系型数据库来说,硬盘I/O是一个很大的瓶颈。具有固定的表结构,因此扩展困难。多表的关联查询导致性能欠佳非关系型数据库
特点: 非结构化的存储。
基于多维关系模型。
具有特有的使用场景。
优点: 高并发,大数据下读写能力较强。(基于键值对的,可以想象成表中的主键和值的对应关系,而且不需要经过SQL层的解析,所以性能非常高)
基本支持分布式,易于扩展,可伸缩。(因为基于键值对,数据之间没有耦合性,所以非常容易水平扩展。)
简单,弱结构化存储。
缺点:事务支持较弱。
通用性差。
无完整约束复杂业务场景支持较差。

数据中心

一、数据中心的安全现状

数据中心是现代社会的信息资源库,能够提供各项数据服务,它通过互联网与外界进行信息交互,响应服务请求。由于互联网的高度开放性,使得数据中心也成为了互联网上的一个组成节点,同样也面临着其他节点受到的共同威胁:病毒、蠕虫、木马、后门及逻辑炸弹等。在少数别有用心的人眼中,数据中心保存的各种关键数据是无价之宝,在经济利益或其他特定目的的驱使下,这些人会利用种种手段对数据中心发动攻击或企图渗透进入数据中心,对数据中心的关键数据进行各种非授权访问和非法操作。由此可能带来数据中心的关键数据被监听、窃取、仿冒和篡改,服务器运行缓慢、性能下降或死机而无法对外提供数据服务,甚至硬件被损坏,造成重大损失。由于数据中心在网络中直接担负着汇总数据、整合数据资源、提供数据服务和维护全网运行等任务,是各种网络活动得以安全运行的基础,必须能够提供较快的响应速度,满足全时段提供服务的要求。因此,数据中心的安全运行就显得至关重要。

二、数据中心存在的安全缺陷

当前,数据中心为应对种种安全威胁,采取了许多安全机制和防范措施,综合而言,主要采取的应对策略有防病毒技术、防火墙技术、入侵检测技术和数据库安全审计,有效确保了数据中心的可靠运行。这些技术通过不同机制来应付种种安全威胁,各有所长,取得了极大成效。然而从实践结果来看,仍然存在不小的缺陷,如下所述:

①尽管数据中心安装了不同类型的防病毒硬件或杀毒软件,但是,数据中心安全不仅仅包括防病毒的问题,还包括外来非法侵人检测与安全策略执行等方面,防病毒技术难以完全解决这些方面的威胁。

②数据中心安装软硬件防火墙后,可以通过设定规则来阻止非授权访问,但是仍无法避免垃圾邮件及拒绝服务的侵扰。

③入侵检测技术是被动检测,在提前预警和主动预测方面存在先天不足,且难以精确定位入侵来自何处。

④数据库安全审计能够对数据中心的工作过程进行实时跟踪和审计,有效监控网内和网外用户对数据库的操作,但是目前的这种安全审计仍然存在系统智能化程度低、无法进行实时监测和及时报警、审计日志可以被攻击者恶意删除,以及筛选有用信息极其困难等缺点。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值