论文部分内容阅读
规则语言作为一种紧凑的、松耦合的、可自然并行化的声明式语言可在分布式应用中替代错综复杂的命令式语言,极大地减小分布式应用的开发成本。因此,分布式环境下的规则机制的研究对进一步促进分布式应用的开发具有重要意义。然而现有的分布式规则系统在数据持久化方面存在冗余推导,在协同方面存在冗余同步调用,降低了规则计算效率,且不易于用户编写和理解。此外,分布式环境下常会有网络阻塞或断路的情况出现,而现有同步机制受网络断路影响严重。并且在分布式环境下,多个进程同时对数据集其进行更新是常见的,而现有的增量维持算法无法并发处理多个更新。针对上述存在的问题,本文作出了如下研究工作:(1)在规则中增加显式同步调用,并进一步考虑分布式环境下同步机制的效率问题。提出一种支持通信模式动态调整的同步算法提高分布式环境的同步机制的效率,算法通过引入节点编码方法将通信模式与网络拓扑解耦合,并提出了异步调整算子(AAO)以低代价修改节点编码调整通信模式。设计了局部连续树(LCT)结构的通信模式,减小节点的同步通信距离。最后结合LCT结构和AAO算子,实现了动态局部连续树(DLCT)算法,并通过实验验证网络断路情况下DLCT算法对同步机制效率的提升效果。(2)采用谓词存储模式的持久化方式,并进一步考虑持久化数据更新的增量维持效率问题。提出了一种能支持并发处理多个更新的增量维持算法。算法通过构建一个分层迭代模型(HIM)记录辅助信息,并设计了两个限定的状态更新操作支持多线程的并发更新处理。算法提出了一种多版本EDB的存储结构(MVEDB),降低并发更新过程中EDB的存储代价。最后结合HIM和MVEDB实现了并行增量维持算法PIM,并通过实验验证PIM算法的并发处理方式对增量维持算法效率的提升效果。(3)设计并实现了分布式规则系统,实现了规则编译器和流数据处理机制等,并实现了显示同步调用方法和持久化数据存储模式。系统设计了函数模块统一化同步与聚合函数调用,提高系统拓展能力降低用户学习代价。融合了批数据和流数据处理机制。分离出增量维持过程中的规则计算,将规则相关的执行计划和算法相关的驱动过程解耦合,降低了规则编译器的复杂度。最后通过实验验证本文提出的方式对现有系统效率的提升效果。