本文是一篇工程论文,工程论文涵盖集建筑、结构、电气、暖通空调、水利、园林、市政、路桥、给排水、装修、施工、造价、节能、监理、房地产、环保、规划、岩土、林业,工程师,软件工程,工程硕士,林业工程师,电力工程,化工工程,控制工程,工业工程,系统工程,电气工程,水利工程,工程师职称,公路工程,软件工程,建筑工程,土木工程,工程类杂志咨询、考试、其他等共42个类别的专业。(以上内容来自百度百科)今天为大家推荐一篇工程论文,供大家参考。
第1章 绪论
本章首先对分布式服务发展过程中呈现的特点与面临的问题进行分析,接着阐述了服务起源的概念与其在服务监控上的应用,然后介绍了数据起源与服务起源的国内外相关研究现状以及现有的应用系统,并在最后给出了本论文的主要工作和论文组织结构。
1.1 研究背景和意义
随着计算机的快速发展以及云计算的兴起[1],云服务作为一种新型的服务提供模式越来越受到人们的关注[2]。云计算平台通过其强大的计算能力,将任务分布到大量的服务资源上,为用户提供各种类型的服务。伴随着移动互联网的蓬勃发展,海量的用户产生了海量的服务请求[3],当大量的用户并发访问时,服务的请求压力急剧上升,服务资源无法满足所有服务的需求,导致服务的运行质量无法得到保证。同时服务器上不可预期的各种软硬件的故障使得用户发出的服务请求得不到及时的响应,甚至在极端情况下,服务变得不可访问。传统的单机服务模式已经无法保证服务的可靠运行。为了满足海量的用户请求,越来越多的互联网公司逐渐采用分布式服务部署方案以面对挑战[4],通过将服务模块化,分别部署到不同的系统节点上,用来均衡各个服务的压力。例如在谷歌搜索服务中,一条简单的用户搜索请求直接或间接的调用了内部超过 200 个服务。通过分布式服务的部署,系统将海量的服务请求负载由单个节点转移到多个节点,提高了服务的执行效率。同时即使单个服务节点的失效也不会使得整个分布式服务系统面临崩溃的危险。分布式服务为系统提供解决海量服务请求压力方案的同时,也使得系统由简单变得复杂[5]。面对不同的用户需求,分布式服务系统通过服务与服务之间的动态组合完成服务请求的响应。从系统外部看,用户所接触到是简单的服务接口,而在分布式服务中这个服务请求往往经过了复杂的运行机制和请求流程。服务与服务之间的调用依赖行为形成了复杂的组合关系,构造了复杂的服务依赖图。同时由于用户行为的不确定性,服务的行为也随之变得不可预测。不光单个服务的执行频率和服务耗时随着不同用户行为的特征而演化,同时分布式系统内部的服务组合也随着用户行为的不同发生改变,使得服务的执行路径难以追踪。面对错综复杂的服务依赖拓扑图,当系统内部发生故障时,系统管理员将无从应对[6]。当一次服务调用失败时,是服务本身出现错误所引起的,还是由它所依赖的服务无法执行所引起的,用户无从得知。分布式服务系统的复杂性,为服务行为监控带来了巨大的挑战[7]。如何在这种动态的、复杂的服务关系图中确保每一个服务都能够正常的对外提供服务显得极为重要[8]。
..........
1.2 国内外研究现状
服务起源记录了服务内部调用的详细信息,帮助管理员对系统的运行情况进行监控、追踪服务的执行路径。服务起源的许多研究都是以数据起源为基础的,从数学模型上来看,服务起源在数据起源基础上进行了相应的扩展,它属于数据起源的一个分支,是数据起源在面向服务的系统中的重要应用。数据起源研究作为一个较新的研究方向,由于其表达模型的多样性,可以应用到不同的领域中。在数据库领域,数据起源主要用于追踪库中数据的来源以及转移过程中的变化。在网络领域,通过收集网络的起源数据,监控网络信息的流转过程。在云服务领域,通过收集服务的起源信息,对服务进行监控,追踪服务的执行路径。下面对数据起源在各个领域的研究现状做一一介绍。在数据库领域中,Cui 等人主要研究数据仓库中的视图更新问题[11]。对于给定的数据仓库中的视图项,为了识别产生视图数据的源数据项集合,提出了一种基于聚合操作的关系型视图的起源数据追踪方法。随着数据库中数据的频繁变化,了解数据的来源以及其中的转移过程变得异常关键,特别是在科学数据库中,需要保证数据来源的正确性和通用性。Buneman等人针对数据库查询得到的数据,提出了一种文法进行数据起源的计算,同时适用于关系型数据库和以 XML 格式表达的数据[12]。同时他将数据起源划分为影响原始数据生成信息的“why”类别和告知原始数据位置的“where”类别。Aggarwal等人提出的 Trio 系统则用来收集数据库中的起源,它更加专注于视图的更新和数据追踪[13]。
........
第 2 章 服务起源
在生活中,服务变得无处不在,从基础设施和平台到软件和应用,在云上的任何东西都可以看作服务。那么如何保证服务能够正常运行,并且当服务发生异常时,如何快速诊断并解决异常,对于互联网公司越来越重要。本章主要介绍了服务起源的概念,然后描述了服务起源的模型,最后研究了服务起源在不同类型数据库中存储的优缺点。
2.1 服务起源的概念
随着移动互联网的兴起,云服务成为了服务提供的主要模式[32],并且伴随着大数据时代的到来,云服务逐渐朝着分布式的方向发展,服务需要完成的工作也越来越复杂[33]。越来越多的服务可能需要数以百计的其他服务通过动态组合来完成工作内容。并且随着用户行为的不确定性,服务与服务之间的依赖关系时刻都在发生变化。分布式服务中海量服务的依赖组合,构建了动态的、复杂的服务关系图。当其中一个服务调用失败时,是服务本身出现错误,还是它所依赖的服务无法执行所引起的,用户无从得知。如何在这种动态的、复杂的服务关系图中确保每一个服务都能够正常的对外提供服务显得极为重要。服务起源(ServiceProvenance)作为服务执行历史的存储文件,由整个服务调用历史组成,它记录了服务网状结构中,不同服务之间调用的详细信息,具体到服务的调用者与被调用者、服务执行的时间、服务的耗时以及服务执行过程中的输入和输出。通过服务起源数据中的服务调用的信息,用于追踪系统中服务的执行过程。获取和理解动态工作流中的服务起源数据,对于提高服务质量、指导资源分配、分析服务失败原因、侦测安全漏洞有着至关重要的作用[34]。如今所有的互联网公司和软件公司越来越重视服务行为的监控,为了保证服务执行的质量,对服务起源数据的收集和管理显得十分关键[35]。因为服务起源可以帮助回答以下问题:是谁调用了这个服务?哪个数据集可以被该服务访问?在服务网状图中,造成系统服务瓶颈的服务是谁?通过检测服务运行时的状态数据和服务依赖网状图,可以找到服务调用失败的根本原因。通过分析服务调用模式,帮助用户去评价服务调用失败所带来的负面影响。通过收集服务执行过程中的输入和输出,追踪服务的执行路径,可以去评价服务执行的正确性[36]。通过对服务起源数据的操作,可以对系统进行分布式 Debug,服务瓶颈检测以及异常检测等工作[37]。服务起源可以应用到很多方面,例如生物、化学科学、地理科学。从商业服务、中间件服务、数据库服务、网络服务到应用服务,都可以进行服务起源的应用。
........
2.2 服务起源的模型
给定云服务集合S,定义S={S1,S2,…,Sn},其中服务Si与服务Sj之间的调用关系用 → 表示,关系中包含了发起服务执行的时间、服务耗时、服务发生的地点以及服务的输入和输出。由数据起源中的 7W 模型引申,服务起源作为数据起源的分支,在服务起源系统中同样需要收集七种类型的起源信息,包括“what”,“when”,“where”,“who”,“which”,“how”,“why”。在 ProvenanceLens中对服务起源中的 7W 模型进行了定义[19]。“what”表示服务调用发生的事情,“when”表示服务调用发生的时间,这里调用服务的时间可以帮助计算服务调用持续的时间,“where”则用来描述服务的地址,在云服务中,可以用 IP 地址来表示 where 含义,“who”描述服务调用的发起者,即是谁调用服务,“which”用来描述服务采用的协议或者框架,例如 RPC 或者 SOAP 等等,“why”则用来记录服务调用失败的原因,“how”用来记录服务执行的路径。
.........
第 3 章 基于图形数据库的服务起源追踪机制研究 .......13#p#分页标题#e#
3.1 基于图形数据库的服务起源存储模型......13
3.2 基于图的服务起源存储模型的查询优化............15
3.3 基于图的服务起源追踪机制............18
3.4 用例分析....21
3.4.1 实验设置....21
3.4.2 实验结果与分析............22
3.5 本章小结....26
第 4 章 基于服务起源的应用研究 .....27
4.1 基于服务起源的服务监控......27
4.2 基于服务起源的热点服务分析与服务瓶颈检测..........31
4.3 基于服务起源的分布式服务部署....34
4.4 本章小结....35
第 5 章 实验 ...........36
5.1 实验设置....36
5.2 实验结果与分析............365
5.3 本章小结....42
第 5 章 实验
本章描述了服务起源应用的实验内容和实验结果。首先介绍了实验数据的来源与依托项目,然后介绍了实验测试的物理环境和软件环境。最后将基于服务起源的服务追踪方法应用到实验数据上,并对实验结果进行分析。
5.1 实验设置
本章以基于图形数据库的存储模型为存储结构,将基于服务起源的服务监控、基于服务起源的热点服务分析与瓶颈检测以及基于服务起源的分布式服务部署三种不同层面上的服务查询问题应用到具体的实际项目中,通过收集和存储项目中服务之间调用产生的服务起源数据,对项目中服务的执行状况进行监控和分析。本章的实验数据来源于某区域党建云平台。该平台是一款互联网+党建的产品,系统架构包括 APP 端和 web 端,同时提供服务。产品主要包括党建生活、党员学习、履职尽责等模块。目前已经上线了数百家机关单位,有超过上万名党员使用,所产生的服务起源数据达到一百万条。实验环境为: Windows7 32 位操作系统,Inter(R) Core(TM) i7-7700HQ 型号 CPU、4G 内存。软件编程语言采用 Java 开发,以图形数据库 Neo4j 作为存储数据库。
........
总结
随着分布式服务的广泛应用,如何在动态的复杂的服务依赖关系中,准确追踪服务的执行路径成为了一个重要的研究方向。服务起源作为服务执行历史的存储文件,描述了服务调用过程中的详细信息。通过存储和查询服务起源数据,可以帮助系统管理员分析服务失败原因、指导系统资源分配。本文以图形数据库为基础,研究了服务起源的存储模型与追踪方法。本文的主要工作如下:
(1)服务起源的存储模型与追踪方法。针对关系型和文档型数据库中无法提供高效的服务追踪以及图形数据库无法进行快速聚合运算等问题,本文以图形数据库为基础,研究了服务起源的存储模型,并实现此模型上的聚合与追踪运算。同时基于服务起源的存储模型,提出了基于有向图、基于图模式+关系模式和面向实时任务的三种不同服务追踪方法用以解决不同的服务追踪问题。
(2)基于服务起源的应用研究。将基于图的服务起源存储模型与追踪方法用于解决系统服务应用问题。通过对服务起源数据的静态分析,监控系统中服务的运行情况。由服务起源数据追踪服务执行路径,分析热点服务的成因,定位系统中的服务瓶颈,指导系统进行分布式服务部署。实验结果证明本文提出的基于图的服务起源存储模型与其追踪机制在实际中具有可行性,能够满足不同的服务追踪需求。
..........
参考文献(略)