论文部分内容阅读
在开放网络环境下,新型分布式软件具有不同于传统分布式软件的特点:一是松散聚合,二是开放动态,三是行为复杂,在这样环境下实施软件监管具有前所未有的难度。松散聚合的软件实体的交互及协同留下的“踪迹”类似于带时序的网状结构,交互过程表现出一种群体行为,这些行为呈现出喷涌性、动态性、偶发性、关联性和重复性等特征。本文以考察软件行为为切入点,采用“显性化、结构化环境和以变制变”的策略,建立一种以行为信任为核心的新的软件行为监管机制。在行为踪迹监测时采用动态AOP技术监测与业务逻辑相关的第三方软件实体产生的交互事件。在描述和分析软件行为时,以事件为基本单元,将系统可监测的状态变化映射为有语义含义的事件,用时序序列或Petri网等工具描述交互行为过程及效应,此为粗粒度踪迹;也可以以事件为切入点,关注事件的详细信息(如调用方法、参数值和经验知识等),用动态贝叶斯网或多实体贝叶斯网等工具描述交互行为的复杂过程及效应,此为细粒度踪迹。本文提出的行为踪迹分析和预测方法可以直观发现制约系统高效、可信运行的瓶颈,预测可能出现的欺诈、欺骗等反常行为,使行为分析和预测真正成为指导软件可信性演化和持续优化的“指挥棒”。本文的主要工作包括如下五点:(1)针对已有的软件监管架构侧重于处理操作层信息的问题,本文提出了一种新型分布式软件系统的监管技术架构。该架构将处理操作层信息、中间层信息与业务逻辑层信息相结合,实现行为自上而下的分析,准确地识别反常行为,对制约系统高效运行的资源瓶颈能够快速定位;对软件行为和资源占用情况进行主动预测;依据分析和预测的结果,对软件行为进行自下而上的在线调整,以便有效提高系统的“容变”能力。(2)本文提出了一套面向开放网络环境的行为监测机制,该机制全面支持行为监测的透明性、动态性、自主性、可控性和可扩展性。采用动态AOP监测器技术监测与业务逻辑相关的第三方软件实体产生的交互事件,通过引入新的AOP维度,能使监测机制以更为灵活、松散、透明的方式融入目标系统,且支持在线扩展监测规模;利用AOP的动态织入机制,能动态增加或删除监测器,提高在线监测的动态性。(3)针对已有行为踪迹分析方法主要关注无重复子踪迹、存储在知识库的行为模板不够简洁、在线行为踪迹分析算法效率不高的问题,本文提出了一种有标记、复杂的粗粒度行为踪迹分析方法。在在线行为分析过程中,自动鉴别和移除重复子踪迹,快速发现最小主要踪迹片段;记录移除部分的内容及位置;用简化标记代替移除部分的模体和循环子序列,以缩减踪迹的长度。该方法有效减少了与知识库中行为模板进行两两对比的次数,提高了行为分析效率。该方法可以准确预测行为的下一个可能事件,也可以主动预测后续可能的行为趋势。(4)针对某些事务在交互过程中产生的事件可能标记不完全或不可用的问题,本文提出了一种不完全标记、简单的粗粒度行为踪迹分析方法。对于事件间的转换时间是独立等同分布的情况,本文将所有可能状态(事件)划分为若干个割集,每个割集形成一个偶图。在这些偶图系统中,采用最大权重完全匹配的改进算法进行分散匹配,然后通过拼接匹配结果得到各事务产生踪迹的最可能序列,便于后续分析处理。(5)利用多实体贝叶斯网描述和分析细粒度行为踪迹,本文提出了一种情形敏感的软件行为建模方法。该方法可以有效利用多实体贝叶斯网的FOL语义化表示能力和概率推理能力,在具体的上下文环境中将监测的实证信息与经验知识进行有效融合,构建适合当前情形的行为踪迹模型。利用该模型可以准确分析出当前上下文环境中软件行为的可信性。多实体贝叶斯网的多粒度知识模板重用、快速建网、灵活推理技术契合了开放网络环境下软件行为监管所采用“显性化、结构化环境和以变制变”策略,可以有效地描述和分析多个软件实体产生的复杂群体行为。