马世龙计算机学院北京航空航天大学物联网环境下大规模设备协同系统中事务处理若干问题研究目录1.背景与意义2.国内外研究现状3.若干研究问题与关键技术采用的关键技术与方法若干研究问题设备协同系统中的事务问题物联网环境与设备协同系统物联网环境中事务的特点需解决的关键问题事务协调协议研究现状事务处理技术的发展事务处理模型研究现状事务补偿研究现状1.背景与意义1.背景与意义设备协同系统的事务问题物联网环境与设备协同系统物联网环境中事务的特点需解决的关键问题物联网的经典三层架构有如下左图:感知层,网络层,应用层。包括设备的标识,应用数据的采集,数据的汇聚传输,数据的融合,应用,人工的交互等1.1.物联网环境与设备协同系统以右图国家地震前兆网络观测系统为例,在系统中,感知层的大量地震观测设备采集的数据经过地震专网(网络层)的传输,汇聚,到达区域,国家,学科中心节点(应用层)进行数据加工,融合,数据挖掘,再与用户进行交互数字观测设备模拟观测设备地震专网观测设备人工观测设备Web服务器数据库服务器应用服务器Gis服务器BS客户端国家中心备份数据库服务器地震专网Web服务器数据库服务器应用服务器Gis服务器BS客户端学科中心备份数据库服务器Web服务器数据库服务器应用服务器Gis服务器BS客户端区域中心备份数据库服务器网络设备协同系统包括如下分类,面向物联网的设备协同系统属于大规模设备协同系统1.1.物联网环境与设备协同系统设备协同系统设备远程访问设备共享支持的用户协作设备间协作常规设备协同大规模设备协同物联网设备协同系统属于大规模设备协同系统,一次设备协同过程中需要地理大范围内的大量设备共同工作,对设备协同过程中的安全性、可靠性以及通信的效率要求也越来越高,具有设备数量众多,种类复杂,协同规模大、时延敏感、同步要求高等特点国家地震前兆网络观测系统项目实现了全国2000多套地震设备的数据采集,汇聚,加工,监测,协同任务奥运中心区景观照明项目实现了97公顷范围内500余部照明设备、数万盏照明灯具的协同工作在上海世博公园区域管理系统中实现了5个子系统,各类传感设备,照明设备,音频视频设备之间的互相联动1.背景与意义1.背景与意义设备协同系统的事务问题物联网环境与设备协同系统物联网环境中事务的特点需解决的关键问题1.2.问题的产生面向物联网的设备协同系统中面对一些事务问题(事务范畴包括数据库级别上的数据一致性保证,以及设备协同系统中有关协同流程的业务事务)物联网设备协同系统中流通的数据通常存在多个副本,数据在流通过程中造成多点数据不一致性。例如:地震项目的观测数据存储在台站,区域,国家,学科四层节点上,其中各区域节点上拥有其省内所有台站的数据与信息,国家节点拥有全国所有区域与台站的数据与信息,各学科节点拥有部分国家中心节点的数据,这种级联的存储关系使相同的数据存在多个副本,数据在汇聚,分发及使用过程中会造成多点数据的不一致性,这需要可靠的事务管理机制对数据的分发与汇聚流程进行事务性保证。因此:系统需要严格可靠的数据库级别的事务支持1.2.问题的产生系统在协同过程中存在业务逻辑级别的协同任务,有相当一部分这类任务包括一系列的操作需作为一个事务来执行来满足系统业务需求。例如:地震前兆网络观测系统中一个设备采集的数据需分解为多个测向分量,在一次数据汇聚的过程中,这些分量数据作为一个整体任务分别写入分布的,异构的数据库,倘若其中一个或几个关键的操作失败或等待响应时间过长,其他的操作无论已经完成或未完成,都需同时撤销,使系统数据恢复到进行该操作之前的状态。此外,在协同收集数据的过程中会有资源争用的问题,如果不进行合适的资源配置,将造成事务的执行效率低下。例如:奥运景观照明系统中一次照明场景涉及一系列灯具的操作,如果照明灯具的关键性操作如果全部成功,那么无论其他操作成功与否,整个照明场景强制执行;若有关键操作执行失败或等待响应时间过长,则需要撤销整个照明场景的执行并将数据恢复到初始状态。例如:上海世博会区域管理系统中周界报警子系统,广播子系统,照明子系统,摄像头子系统之间的业务联动需作为一次事务来执行,一次联动过程可能涉及周界报警传感器,水位传感器,相关摄像头,广播,照明灯具的在一定时间内的操作序列,在满足系统要求的情况下,可以忽略部分设备的不正常响应,但若关键的设备操作执行失败或等待响应时间过长,则需撤销整个联动操作序列并将系统恢复到联动前状态。因此:系统需要灵活可靠的业务逻辑级的事务支持1.2.问题的产生对于数据库级别的事务,分布式数据库系统对此类问题提供了全面成熟的保障机制对于业务逻辑级的事务,则需要一套完整的与之环境相适应的事务管理方法:包括高效的事务前协调,灵活可靠事务处理模型以及相应的事务补偿方法1.背景与意义1.背景与意义事务对设备协同系统的支持物联网环境与设备协同系统物联网环境中事务环境特点需解决的关键问题事务参与者的分布性,异构性事务参与者的高动态性事务参与者的自治性事务目标的复杂性事务补偿性的复杂性1.3.物联网设备系统系统中的事务环境面向物联网的设备协同系统环境中的事务参与者通常是分布的,异构的,而在物联网系统中流通的数据需要具有统一的存取访问标准,这需要统一的中间件管理平台对系统中的数据进行统一的输入,输出,通信,管理物联网的大数据量特点,和基于感知的数据环境使的事务参与者具有高度动态性,同时事务执行过程具有很强的灵活性。这对事务协调阶段的资源优化配置提出了新的挑战物联网设备协同系统中的事务参与者常常是自治的,他们对协同目标的执行大多是一种尽力而为的态度,这使得协同目标很难达到一种非有即无的衡量方式,大多数是一种满足用户需求的协同,这使得严格的事务原子性要求损伤了执行效率物联网环境下的事务参与者常常是自治的,参与者本身具有一定的计算能力与存储能力,互相之间具有自主通信能力,不通过中央服务器控制,所以,传统的集中式事务管理机制将不能满足物联网事务的需求现阶段物联网系统多以行业为总体背景开展与发展,因此,物联网系统中包含大量与业务逻辑相关的事务,而为这类事务设计补偿操作的代价通常较高,针对这类事务,可以设法减少补偿操作的执行1.背景与意义1.背景与意义事务对设备协同系统的支持物联网环境与设备协同系统物联网环境中事务的特点需解决的关键问题1.针对物联网设备协同系统中事务参与者的分布,异构性,需要统一的数据存取与访问规范对流通中的数据进行管理2.针对物联网设备协同系统中业务事务协同交互频繁且高度动态的情况,需舍弃独占的,静态的事务调度方式3.针对物联网设备协同系统长事务较多,且协同目标复杂的情况,需要能有效处理长事务的事务模型4.针对物联网设备协同系统基于业务逻辑的事务操作多,设计补偿事务复杂或无补偿操作的问题,需要能有效减少补偿操作代价的事务补偿机制1.4.需解决的关键问题2.国内外研究现状2.国内外研究现状事务协调协议研究现状事务环境的发展事务处理模型研究现状事务补偿研究现状传统数据库事务分布式事务WEB服务事务物联网事务2.1.事务环境的发展传统事务概念来源于数据库管理系统,被用来确保应用程序对数据库访问的一致性和可靠性。在多个应用程序同时对相同数据库资源进行访问时,事务处理系统保证在事务执行前后,数据仍然保持一致。传统的事务具有严格ACID属性。传统数据库事务之后发展成为分布式事务。分布式事务定义两种不同的事务类型:局部事务和全局事务,每个站点都有自己的事务管理器和事务协调器来分别管理局部事务和协调全局事务,分布式事务仍具有严格的ACID属性。大部分需要协调的分布式事务是非常紧密耦合并且短时事务,在事务执行过程中,不存在人为不确定因素的干扰;大部分事务是由专业技术人员参与设计并长期运行的服务流程,事务发起者对事务执行效果的期望是稳定而又清晰的,这种缺点在web服务与物联网环境下将会受到冲击。web服务事务是分布式事务的一个分支。在Web服务体系中,出现了大量的长事务,为了解决运行时间长的问题,应该允许部分参与者失败,尽早释放底层资源,并具有事务故障处理能力。这样适当放松事务ACID特性,能保持Web服务技术的互操作性和动态性不被破坏,同时保证了复杂的Web服务长事务顺利执行。然而,web服务事务环境过度的松耦合性使得它的事务处理效率难以达到时效性较高的物联网环境的要求。物联网环境对于事务处理来说是新兴的环境,物联网中包含海量的分布的,异构的事务参与者,且物联网系统通常仍具有较强的行业性,这使得物联网中的事务不像传统分布式事务那般紧耦合,也不像web服务环境那样松耦合,是介于两者之间的;此外,人的参与是物联网环境下的重要因素,人工参与性导致了物联网中相当一部分的长事务的存在;最后,由于物联网系统普遍对实效性有较高要求,使得物联网中的事务参与者具有高度的动态性。2.国内外研究现状2.国内外研究现状事务协调协议研究现状事务处理技术的发展事务处理模型研究现状事务补偿研究现状多年以来,根据不同的事务环境,针对事务的ACID属性,出现了多种与环境相适应的事务协调协议,其中比较有影响力的协议包括以下几种:2PC3PCBTPTHP2.2.事务协调协议研究现状1.准备阶段:协调者向资源管理者(事务参与者)发消息要求他们准备资源。当某资源管理者完成准备时,它保证可以为事务提供资源并不单方面收回承诺。如果该资源管理者不能提供资源,那么它也须明确告知事务协调者。2.提交阶段:在提交阶段中,协调者将对资源管理者的回应进行计数。如果所有资源管理者都准备提供资源,则提交事务;否则回滚事务。并将结果通知所有参与者,如果结果为提交,参与者将确认它们已经提交。2.2.事务协调协议研究现状2PC协议起源于分布式环境,具有完备的ACID属性,确保数据的可靠性与一致性。分为以下两阶段进行:2PC的特点:2PC具有严格的ACID属性,确保数据的可靠性与一致性,然而严格的ACID属性在物联网环境下,会造成长事务的长时间资源锁定,造成资源利用效率低;当参与者在第二阶段等待协调者的回答时,可能因为网络故障或协调者故障使之收不到回答信息而出现等待超时,这时事务进入等待状态,此时事务就一直处于阻塞状态,整个系统的可用性降低。针对2PC的阻塞情况,在2PC中增加一阶段使得参与者在进入锁定状态之前就能够知道所有的参与者的决议(事务协调者向所有参与者发送“准备提交”报文),这时2PC变成3PC协议。在3PC协议中,报文有三次接收和发送,协调者第二次向参与者发出的报文不是“提交”报文,而是提交前的“准备提交”报文,告诉所有的参与者均可以自己做出决定,或撤销或提交,而不必因等待协调者恶意问答而进入阻塞状态。然而3PC协议也无法完全避免阻塞,且由于其较大的通信开销而没有在业界广泛使用2.2.事务协调协议研究现状BTP协议是一种“参数化”的两阶段提交协议,它允许事务设计者可以通过程序中的代码显示地控制事务的执行过程。BTP包含两种类型的事务:原子型和聚合型事务原子型事务具有严格的ACID属性聚合型事务放宽了原子性,允许基于高层业务规则来选择确认或取消工作,事务显得更加灵活;聚合事务也放松了隔离性,在事务执行期间,允许子事务的内容在顶层事务提交前对外可见BTP的特点:违背了经典事务管理思路中事务处理和业务处理分离的原则,更适合紧耦合的事务环境,存在可取之处它的兼容性不好,未定义补偿的实现,遗留事务处理体系整合较差2.2.事务协调协议研究现状THP将事务执行显示地分为两个阶段,在第一阶段,一个资源可以被多个事务同时预定,在第二阶段,先提交的事务获得资源的最终所有权。这样,因为独占资源而引起的资源利用率低的问题就可以得到有效地缓解。2.2.事务协调协议研究现状THP协议:与严格的ACID属性所造成的独占性资源锁定方式不同,THP允许事务参与者在事务协调之前通过一种尝试性的、非阻塞的方式预定或消费所需的事务资源。严格ACID的排他型资源访问方式THP的共享资源协调方式THP类似拍卖的交易规则在极端的