基于分布式处理技术探讨物联网数据库的设计要点
段英杰
摘要:文章主要研究分布式物联网数据库设计的要点,分析总结了物联网和分布式处理技术的主要特点,在此基础上对分布式物联网数据库设计中事务处理并发控制策略和目录设计与管理方法等关键问题进行了讨论。
关键词:分布式处理技术;物联网;数据库
物联网是使用射频识别、红外感应器、全球卫星定位、激光扫描器等信息传感设备技术,通过约定协议实现互联网和物品之间连接和数据通信,用以进行智能化识别、定位、跟踪监控的网络,是一种以规模性、广泛性、技术性和管理性为典型特征,各个行业广泛参与的网络系统。物联网规模逐渐扩大,甚至超过了互联网,对物联网中海量数据的高效管理成为一个具有挑战性的问题,分布式处理技术作为一种优秀的数据库管理技术,在物联网数据库中的应用能够提高数据库的性能,加快访问速度,有着广阔的应用前景。
1 物联网与分布式处理
1.1 物联网系统
1.1.1 系统结构
技术层面上,物联网主要有感知层、网络层和应用层3层结构,其中感知层以传感器和传感器网关为主,使用各种传感器、二维码标签、射频标签、读写器、摄像头实现数据的实时采集,并经过传感器网关将其传送给数据中心,数据中心对海量数据进行处理,获取有价值的信息。网络层一般有有线网络、无线网络、下一代互联网和云技术等,网络层主要实现数据通讯和感知层数据的接收,应用层则为用户提供UI界面,通过这些接口,用户可完成数据的各种处理。
1.1.2 物联网数据处理技术
物联网中的传感器设备多种多样,数据传输使用的网络结构类型也十分不同,物联网中产生的海量数据的处理需要实现不同网络类型、不同数据源、异构数据之间的融合,高效率的对数据进行分析处理并筛选出有价值的信息,因此对物联网系统来说,数据处理成为了一个关键的环节。
物联网中使用了多源数据融合技术,提供了多源异构海量数据融合的标准格式,建立了统一的层次化表达数据结构和本体标注,配合数据聚类、时空转换和度量技术,实现了多源数据的一体化。与此同时,由于物联网感知传感设备实时生成了多源、多粒度、多维度流数据,其数据规模往往达到TB甚至PB级别,因此物联网数据检索查询工作难度较大,所以物联网数据库往往采用就近存储的原则,提供全局性摘要视图节点,降低了检索工作量,同时引入了数据回收机制。不同数据类型设置了不同的生存周期,超过生存时间期限,数据将被新数据覆盖。物联网数据库中引入牵引机制,能够结合数据种类创建最优索引算法,提高数据库访问效率。
1.2 分布式处理技术
1.2.1 概述
分布式处理技术是数据的物理分布而逻辑集中的数据库技术,分布式数据库中的数据分布在通过网络连接的地理位置上相对分散的不同站点上,但是在逻辑上,不同的数据库站点同属于一个数据库,由统一的一个数据库管理系统进行数据库管理,而单个站点也具有处理本地数据的运算能力。分布式处理数据库中不同的站点之间没有地理上的联系,可以分布在不同地方,不同城市,甚至不同国家,因此分布式数据库结构可以理解为是基于计算机网络的数据库系统,同时具有计算机的运算能力和数据库数据存储的功能。
1.3 分布式数据库的基本特征
1.3.1 物理分散
分布式数据库系统中的数据存储物理分散,数据存在于由计算机网络相互连通的多个站点上,避免了数据集中存储遭受灾难性物理攻击的风险,“鸡蛋不装在一个篮子里”。
1.3.2 逻辑整体性
分布式数据库系统的不同数据节点都在统一的数据库管理软件下工作,逻辑上这些数据节点上的数据是共享的,所以分布式数据库支持全局性应用。
1.3.3 站点自治
不同的数据节点上的数据能够实现本地DBMS管理,同时应用自身的运算能力支持本地局部应用。
2 分布式物联网数据设计要点
分布式系统中有分布式计算系统、分布式信息系统和分布式普适系统,根据物联网数据处理工作的性能需求,选择分布式计算系统作为物联网数据库的基本结构形式比较合理,应用相关开源软件平台就能够完成分布式系统集群的建设,在物联网数据处理过程中,应用Mapreduce理论进行任务分割,将分割生成的小任务交由不同的数据节点进行处理,不同数据节点数据处理结果汇总后由主机生成最终结果,这是物联网分布数据库数据处理的基本思路。
事务主要是物联网数据处理任务的调度和分配,包括任务的启动和结束以及执行情况监督,在任务执行过程中需要配合一系列技术措施维持分布事务性质与数据库的一致性以及事务数据自身的完整性,同时保证系统有较高的效率和理想的可靠性。物联网数据库上的原子性操作是系统的基本管理单位,单个事务有着原子性、持久性、可串行性的特点,物联网分布式数据库事务处理要经过任务分割和分配以及结果汇总的流程,由于数据分布在自治数据节点上,所以事务处理和执行需要在主机和管理系统的协调组织下进行。
分布式数据管理系统功能主要有单个数据节点的本地局部事务管理和站点间协作的全局性事务管理两个层次,本地事务处理可将站点理解为一个集中式数据库,采用常规数据库事务管理方法技术实现,全局性事物的处理则面临着分布环境导致的协同调度与管理困难,需要采取必要的技术措施来解决。
2.1.1 分布式事务执行位置的透明化
分布式事务管理根据事务内在逻辑,将其分为子事务,分配给不同的相关节点执行,之后进行处理结果汇总,透明化的执行位置方便全局数据库管理软件对子事务执行情况的监督管理,从而解决了不同数据节点之间调度管理困难的问题。
2.1.2 实现事务性质
尤其是事务原子性和可串行性的实现。分布式事务管理的关键是做好事务开始与结束的控制,因此分布式事务处理需要制定一个正确有效的协议,确保分布事务具有唯一且一致的处理结果,从而获得事务结束的正确决定,同时要保持事务的原子性,使得事务结束指令能够无条件执行,还要形成一个并行控制策略,维持全局一致性和完整性,保证每个局部节点和全局事务都能够并行执行。
2.2 并行控制
并行控制主要目的是维持事务和分布式数据的一致性,在确保事务可串行的同时,获得理想的事务并发度,提高系统运行效率。
分布式事物并发控制和集中数据库的并发控制在本质上是一致的,分布式数据库的局部数据节点就是一个集中式数据库,所以局部数据节点上的事务并发是可以实现的,基于集中数据库可串行理论进行事务控制,获得单个站点上事务执行序列。所有数据站点上事务执行序列的集合就是全局事务处理顺序,由于分布式系统中并不存在一个全局时钟,因此需要使用事件时间戳描述事件发生序列,从而形成全局性的逻辑事件顺序,得到事务发生顺序,其结果是唯一的。
分布式物联网数据库的并行控制采用封锁方法。事物的某项数据处理之前需要先申请该数据的封锁,批准之后才能够执行数据操作。如果该数据已经处于其他事务的处理封锁状态中,则该事务将一直等待,直到其他事务对数据的锁定结束。封锁机制中,锁有共享和互斥锁两种形式,共享锁用于用户对数据的读操作,互斥对应用户对数据的写操作。
数据项不能同时处于两个写操作中,因此两个事务同时申请某数据对象的互斥锁,则两个事务相互冲突,某事务封锁数据之后,直到事务执行结束,该事务对数据的封锁才能结束。如果事务申请某数据的共享锁,其他事务也能够共享封锁权,但是不能获取对数据的互斥锁,直到所有申请共享锁的事务处理结束。单个数据的读操作是可以共享的,但是写操作在同一时间只能由一个事务来执行。
2.3 物联网分布式数据库目录结构体系构建
物联网分布数据库目录也称为数据字典,是数据库的数据库,所有关于数据库的操作都和数据目录相关,数据目录结构的合理性对数据库访问的效率有着直接的影响,无论是存储、读取、授权、安全、管理等操作,都和目录结构与管理策略息息相关。物联网分布数据库数据类型复杂,目录生成和管理工作难度要高于传统数据库。
2.3.1 全局式目录
全局目录体系逻辑上是一张表单或者关系表,支持分片和建立副本,并且目录能够分布在数据节点上。分布式物联网数据库的局部数据节点上可以保存其他数据节点的目录副本,但是需要保持副本的最新性。全局性目录和数据箱操作需要先读取全局目录或者本地目录获得数据项相关数据信息,而这个操作受到节点自治的约束,本地站点数据项目可能存储在远端节点上,全局关系的增加也会给目录更新带来很大的工作量。
2.3.2 分布式目录结构
分布式目录结构下,单个数据节点目录上只生成站点上生成的数据项或者存储在站点上数据项的目录等级。如果数据对象不存在于其产生节点,产生节点的目录上需要对该数据进行登记,注明其现在存放节点位置。目录体系引入了SWN系统,为每一个数据都生成了系统内唯一的标记,为用户名用户所在站点数据名数据对象生成站点的复合结构。不同用户能够使用不同对象名快速访问不同站点上的不同数据对象。
相比之下,分布式目录体系在物联网分布式数据库中的应用实现了不同站点上不同数据对象的透明存取,同时保护了站点的自治性,单个站点能够有效管理自身存储的局部数据和目录登记项。
3 结语
物联网技术发展十分迅速,在工业、农业、交通、环保等多个领域都得到了大规模的应用,随着物联网规模的不断扩大,每时每刻都在产生大量数据,海量数据处理与管理工作对数据库性能提出了巨大的挑战。应用分布式处理技术,能够有效提高物联网数据处理、检索速度,提高了数据处理的实时性,从而挖掘出更多有价值的信息,对行业发展将会做出更大的贡献。