Web服务资源框架(精选6篇)
Web服务资源框架 篇1
1 概述
MAPGIS数据中心 (DC) 是用于组织和操作各种空间和非空间数据的资源管理器, 将各种数据管理与操作集合为一体的集成框架应用。MAPGIS数据中心服务器 (DCS) 是一种基于数据中心建立的企业级GIS服务发布平台。主要提供数据服务和功能服务, 支持GIS业务用户的服务器端, 支持GIS行业标准, 同时它提供内部管理连接, 用户不仅可以配置管理DCS内部的数据库和功能库, 也可以进行日志管理、安全管理及性能监测。MAPGIS DCS框架可以支持多种通信协议, 包括支持Web应用的HTTP协议, 基于这个协议, 提供SOAP和REST两中不同架构风格的GIS Web服务接口, 作为简单的SOAP服务和高可读性的REST服务, 从理论上讲, 用户可以基于这些服务接口开发WEBGIS应用程序, 在实际应用中, 由于二次开发用户对GIS业务的理解程度的不同和软件开发水平的不同, 建立WEBGIS业务系统将会有些困难, 比如开发延迟, 低复用模式及系统可扩展性差, 这需要建立WEB应用开发框架 (Web ADF) .在这些框架下, 用户可以方便快捷的构建WEBGIS应用程序.本文将对MAPGIS DCS Web ADF设计进行扩展描述。
2 Web ADF
2.1 设计原理。
为了提高开发框架的可用性, 存在以下设计原则: (1) 开放式。 (1) 开发框架需要支持几个通用的GIS行业标准, 如果OGC正常, 它将嵌入到其它制造商的GIS服务, 实现多源异构数据的互操作。 (2) 松散组合。尽管Web系统自然有些松散耦合, 现今, 出现了越来越多的Web开发框架, 尤其是基于ajax的Web客户端。Web GIS通常在其它应用系统的子模块中存在, 需要松散耦合的开发框架以便于嵌入到其它应用系统。 (3) 可扩展性。开发框架无法满足所有的开发需求, 这就需要可扩展性的开发框架。用户可以在现有的开发框架基础上集成和扩展, 形成一个用户自定义的开发模式。 (4) 适应性。它不仅适用于一般用户快速的开发简单功能, 使他们可以轻松的建立Web GIS业务平台, 而且能够适用于用户开发复杂功能, 特别是将Web GIS作为一个子模式的系统。
2.2 Web ADF体系结构。
MAPGIS DCS Web ADF体系结构见图1。发展框架包括服务端和客户端, 基于服务端的软件开发库是数据中心服务器API库, 在此基础上, 包括用户状态管理和负载控制管理、网络GIS常规概念层接口包构成Web GIS开发的接口库。服务器端的控制库构成软件开发库界面上的程序包, 简化了用户开发与实现的模式复用。客户端软件开发库使用JAVAScript和Flex插件技术.数据目录和地图视图采用Flex技术包装, 并提供可调用的外部JAVEScript API。
2.3 Web ADF服务器开发库的设计。
ADF服务器端开发库的结构见图2。开发库由服务器代理进行逐层打包以满足一些Web GIS开发的特点。下面对每一层的功能和目的进行描述。 (1) DCS服务代理层:负责请求DCS数据或功能并且返回处理结果, 属于客户端的DCS服务的地图 (影像) 。 (2) 负载平衡实现层:DCS集群负载需要在这一层实现。首先, ADF运行的主体主要是Web服务器。该服务器有权去调用DCS (如CPU和内存使用, 任务数量等) 信息, 其次, 负载策略下一些负载机 (DCS) 的定向选择也在这一层实现。最后, 它为用户提供一层透明的荷载端口, 开发人员仅需去配置和加载策略。 (3) 用户应用状态层:DCS服务是一种无状态服务, 网络通信协议是一种无状态协议。它不能依赖Web客户端去存储用户状态, 因此用户状态只能由中间层记录, 中间层能够提供用户操作历史的目录、地图视图和状态管理。 (4) WEBGIS功能层:DCS提供了大粒度接口, 基本上, 因为最终用户开发的灵活性太大, 它需要Web GIS应用功能的二次开发包去帮助用户二次开发。 (5) 服务器控制层:服务器控制提高了代码的封装能力, 这使得开发过程变得简单化, 为初次开发人员提供了很好的入门经验。
2.4 Web ADF客户端开发库的设计。
MAPGIS DCS Web ADF客户端开发库的体系结构见图3。Flex插件提供那些内置对象图、目录、表格类来显示地图数据和表格数据。交互式信息捕捉可以获得用户对鼠标、键盘对表格、地图和一些分析功能的操作信息, 这些通常是坐标点信息和数据参数。客户端绘图可以提供动态和静态的几何显示, 静态几何显示如兴趣点、线、面的属性, 动态几何显示如高亮闪烁显示几何元素、显示LBS位置。以上类和功能基本包括了Web GIS客户端的交互和性能的需求。许多现有的Web GIS客户端采取了AJAX技术, 相比只下, FLEX有很多的优点, 如FLEX编程简单, 完全面向对象的特征, 良好的封装, 跨浏览器等, 同时FLEX也提供了Java Script API, 通过这些API, 175个开发人员可以方便的进行目录、地图控制、图形控制, 也可以通过Flex内部的回调函数得到用户的交互信息如坐标信息。客户端脚本库也包含FLEX插入端口, 以及为Flex插入端口插入到客户端的交互控制的交互界面。由于Web GIS逻辑的复杂性, 其无缝整合传统MIS系统总是一个相当困难的问题, 这是ADF必须慎重考虑的问题, 结合目前Web应用越来越多的倾向于客户端的趋势, Web也倾向于把更多的计算放到客户端。Web GIS的组合功能及其与其它系统的交互功能都是通过客户端脚本-Java Script来处理, Web服务器端位于作为相对固定的API, 其内部不进行复杂业务逻辑的处理。
3 结论
与和同一行业先进的GIS应用和发展系统-ARCGIS ADF相比, 这种设计具有以下优点。
3.1 简化开发层。
Arc GIS ADF提供了四层开发框架, 本设计可以简化为两层。普通层重点在于客户端的开发和集成, 而高级层位于WEB服务器端, 可以通过服务端开发库的调用完成更多的服务。
3.2
实现服务器负载平衡透明化。
3.3
客户端使用Flex插件和脚本组合技术, 一种Arc GIS ADF的Web客户端是单一的脚本技术, 很难进一步开发和应用, 另一种是完全的FLEX技术, 用户开发时需要使用Flex IDE和一种新的开发语言-Action脚本。这个设计结合了上述系统的优势, 所以用户只需掌握简单的脚本就可以进行开发, 降低了学习和开发的难度。
总的来说, 我完成了ADF的设计, 有一些具体的细节如负载平衡的算法和策略, 在WEB服务层的API粒度和完整性设计, 和其它系统的耦合性验证, 需要进一步的研究和实验。
摘要:本文描述基于mapgis数据中心服务器的WEB应用和发展框架设计, 包括设计原理、框架体系结构、两个核心模式的概要设计框架、及最后与ARCGIS的应用与发展框架对比。
关键词:MAPGIS数据中心,ADF,WEBGIS
Web服务资源框架 篇2
电子商务供应链管理(E-Commerce Supply Chain Management,E-SCM)是利用电子商务技术保证企业间高效信息传递和业务合作,实现供需各环节协调运行的供应链管理模式,已作为企业提升竞争优势的有效途径获得广泛应用。但传统的电子商务技术如电子数据交换(Electronic Data Interchange,EDI)、企业应用整合(Enterprise Application Integration,EAI)等均采用复杂连接、紧密耦合的开发模式,使E-SCM系统缺乏良好的集成性,难以快速响应环境变化、及时扩展新业务逻辑或修改电子商务对象与流程。因此需要研究和设计基于新技术架构的轻量灵活的E-SCM系统解决方案[1]。
语义Web服务是以Web为平台的商务智能应用新技术。它克服了传统技术模式的缺陷,采用接口简单的可重用服务组件封装电子商务业务,并为其提供精确语义,提高系统自动化操作程度[2]。将语义Web服务技术应用于E-SCM系统中,不但能降低系统复杂度和成本,而且使其具有动态集成能力,必将成为E-SCM系统开发的新方向。因此本文设计了一种基于语义Web服务的E-SCM系统框架,该框架运用基于流程的管理思想,实现语义Web服务对企业内外部不同层次工作流的表示与封装,较好地解决了供应链中跨企业的商务应用集成问题。
1 语义Web服务描述规范
基本的Web服务实现以WSDL、UDDI和SOAP三个规范为标准[3],但它们不支持基于语义的服务发现和调用。而语义Web服务描述规范能为服务提供精确语义,通过形式化语言描述服务组件的接口、功能和行为,提高服务的自动化程度。目前业界还没有统一的语义Web服务描述标准,但许多组织和研究机构制定了各类满足不同需求的描述规范。经过比较,选择DAML-S、BPEL4WS和WS-CDL三种规范用于E-SCM系统框架中的Web服务语义描述。
1.1 DAML-S
DAML-S是基于DAML+OIL语言开发的Web服务本体。它通过Service Profile、Process Model和Service Grounding三部分描述Web服务。Service Profile说明Web服务能做什么,它包括三组描述属性:第一组为服务基本信息属性,包括服务名称、文本描述和服务提供者联系信息;第二组为服务功能属性,包括服务的输入、输出、前提条件和预期结果;第三组为服务附加信息属性。Process Model是对Web服务内部的详细透视,说明Web服务如何工作,它详细描述Web服务的子任务集合,规定其执行条件和顺序。Service Grounding说明如何使用Web服务,它规定调用Web服务所用的传输协议、消息格式及网络寻址等规则[4]。
1.2 BPEL4WS
BPEL4WS是IBM提出的业务流程执行语言(Business Process Execution Language for Web Services),它包含一组流程控制元素,可描述Web服务间的交互行为,达到合成服务并构建业务流程的目的,例如:通过invoke元素调用某Web服务上的操作,通过receive接收来自其他基本服务的消息,通过reply回复响应消息等。BPEL4WS还支持复杂结构化活动的定义,如通过sequence元素定义串行活动序列,通过switch定义条件分支活动,通过while定义循环活动等[5]。
1.3 WS-CDL
WS-CDL(Web Services Choreography Description Language,Web服务舞编描述语言)是W3C组织提出的标准化服务合作模式控制规范。它包含一组行为描述元素,从全局观点定义各方Web服务在业务合作中应表现的共同或互补行为。其中一部分元素说明业务合作的基本信息,如ParticipantType说明合作的参与者,roleType说明参与者可代表的行为角色,relationshipType说明两行为角色间的合作关系等。另一部分元素描述多个参与者间的消息交换顺序和交互行为模式,如活动编排(choreography)、交互(interact),操作(operation)、消息通道(onChannel)、消息发送者(fromRole)和接收者(toRole)等。WS-CDL描述的内容是合作各方共同认可的行为规则,各方只需按照规则履行自身承担的责任,便可实现共同的业务目标[6]。
综合运用DAML-S、BPEL4WS和WS-CDL三种语义描述规范,可满足E-SCM系统中不同层次与范围的Web服务行为描述需求。其中DAML-S主要针对单个Web服务的行为和过程进行描述,为服务提供计算机可理解的语义标记,适合于定义E-SCM中基本业务行为;BPEL4WS善于描述多个Web服务在同一业务流程中的协同关系,可用于构建复合Web服务,适合于描述E-SCM中较为复杂的业务逻辑和工作流;WS-CDL主要从全局观点描述交互各方的合作,不考虑各方实现自身行为逻辑所用平台,具有较好的平台独立性,适合于描述E-SCM中跨组织、跨企业的业务合作。
2 基于语义Web服务的E-SCM系统框架
基于语义Web服务的E-SCM系统框架利用语义Web服务的智能性、良好封装性、松散耦合性和平台独立性,实现业务组件和业务流程的语义匹配、动态构建和自动执行,以较低的成本集成和进化供应链管理系统,满足全球化电子商务应用的需要。
2.1 概念模型
在基于语义Web服务的E-SCM系统框架设计中,运用了流程管理思想。即将业务问题定义为各种层次与级别的工作流,低层工作流描述具体、简单的业务逻辑,而高层工作流描述抽象、复杂的业务逻辑。在执行过程中,高层工作流被分解转包为低层工作流,而低层工作流又可进一步分解为更低层的流程元素。为实现这种流程分层与组配机制,需进一步将语义Web服务技术与企业业务建模结合起来,以服务组件封装工作流和流程元素,利用语义Web服务特有的智能、实时集成能力实现业务流程的组合与分解。
图1显示了基于语义Web服务的E-SCM系统框架的概念模型,该模型由三部分组成,分别负责执行三个层次的业务逻辑。其中,跨企业的业务合作被定义为企业外部工作流,位于最高层;企业部门间的业务合作被定义为企业内部工作流,位于中间层;而企业中的基本业务问题被定义为企业基本Web服务,位于最低层。每部分又依据其作用和特点分别采用不同的语义Web服务描述规范。外部工作流由参与合作的各企业内部工作流编排而成,采用WS-CDL描述,内部工作流则由企业基本Web服务组合而成,采用BPEL4WS描述,而企业基本Web服务则用DAML-S描述。为降低开发成本,提高系统可重用性,对工作流采用模板定义机制,即抽取常用流程定义为服务模板,应用时只需根据模板创建具体服务实例。由于不同级别的工作流受组织、资源、环境和规则的约束各不相同,因此其定义机制也各不相同。外部工作流受约束较小,结构相对稳定,采用静态定义机制;而内部工作流和基本Web服务受约束较大,变化较多,采用静态定义和动态创建相结合的机制[7]。
2.2 功能模块
基于语义Web服务的E-SCM系统框架由企业基本Web服务层、企业内部工作流层和企业外部工作流层三个模块组成。通过各模块的联合运作,实现各层业务的动态组合,达到敏捷构造供应链商务应用的目的。
2.2.1 企业基本Web服务层
企业基本Web服务层由DAML-S引擎、UDDI节点库、DAML-S数据库和DAML+OIL企业本体组成。该层将企业业务逻辑中的基本操作定义为Web服务模板,每个模板都包含一个WSDL文档和一个DAML-S文档。其中WSDL文档提供Web服务接口的基本描述,并存储于全球服务注册中心的UDDI节点库,使服务能通过Web灵活地定位和激活;DAML-S文档则以DAML+OIL企业本体作为统一的语义参考,在WSDL的基础上补充语义级描述,并存储于DAML-S数据库。
DAML-S引擎在UDDI节点库和DAML-S数据库的基础上工作,实现基本Web服务的匹配、合成与调用操作:
(1)语义匹配Web服务
DAML-S引擎通过语义推理,自动查找与服务请求相匹配的企业基本Web服务。其基本过程为:首先访问Web服务的WSDL文档,与用户请求进行基于关键词的精确匹配,如果匹配成功则返回服务接口信息并调用执行;如果匹配失败则继续解析该服务的DAML-S文档,进行基于概念和语义约束的模糊匹配,直至找到合适的Web服务为止。
模糊匹配主要针对DAML-S的Service Profile部分进行。首先,DAML-S引擎以企业本体为参考,采用DAML+OIL推理机对服务基本信息属性进行概念匹配,获得满足约束条件的Web服务初始集合。然后依据初始集合中服务的功能属性做进一步筛选,逐个检查每个Web服务的输入和输出,如果输入集合是请求者所要求输入集合的子集,且输出集合包含请求者所期望的输出集合,则保留该服务。最后,根据每项约束条件的符合度综合计算各Web服务的总相关度,总相关度最高的服务即为所选[8]。
(2)自动合成Web服务
DAML-S引擎对现有企业基本Web服务进行基于语义的组合,自动构建新服务,以便在请求者所需服务不可用时作为替代方案。其基本过程为:根据请求者对所需服务的描述,运用人工智能规划(AI Planning)方法从DAML-S文档库中选择一系列基本Web服务,并确定其组合顺序。
在运用人工智能规划方法时,首先要将服务合成问题表示为规划问题。假设给定一组基本Web服务s!w1,sw2,…,swn",需构建复合服务csw。则此问题可表示为五元组:
〈S,S0,G,A,Γ〉
其中,S0和G分别代表复合服务csw的初始状态和目标状态,A是活动集合,每个基本服务swi均被看作A中的一项活动,可改变csw的当前状态。规划的任务就是通过在A中选择并执行活动,使csw由初始状态S0转换到目标状态G。每项活动的具体内容在关系集合Γ中描述,Γ记录活动的执行前状态和执行后状态,即每个基本服务swi的前提条件和预期结果,以反映swi对复合服务csw状态的影响。在DAML-S中,Service Profile的相关属性可被直接映射到Γ。五元组中的S是csw的所有可能状态集合,包含S0、G以及每项活动执行后csw的中间状态[9]。将Web服务合成表示为规划问题后,可应用情景演算法、层次任务网络法等求解最佳组合方案。
(3)自动调用Web服务
DAML-S引擎接受Web服务的调用请求,确定服务的可用性后,自动执行服务并返回结果。其基本过程为:首先访问被调用服务的DAML-S文档,根据Service Profile内容检查服务的前提条件是否已满足、输入数据是否正确完整。然后按照Service Grounding定义的通信方式与服务提供者进行交互,在确认该服务可用后,发送调用请求、提交数据并等待执行,如果Web服务器在规定时间内返回执行结果,则检查结果和输出的数据,并通知服务请求者执行完成;如果Web服务器没有按时响应,则自动重发调用请求。在自动调用过程中,若发现服务不可用或已达到最大重试次数,则通知服务请求者执行失败。
2.2.2 企业内部工作流层
企业内部工作流由BPEL4WS引擎和BPEL4WS数据库组成。内部工作流定义企业内各种实体间的复杂行为和关系,是由企业基本Web服务组合而成的复合Web服务。每个企业内部工作流模板都被定义为一个BPEL4WS文档,并存储于BPEL4WS数据库。由于BPEL4WS文档只是描述基本Web服务合成的脚本,独立于各服务的具体执行,因此对内部工作流的操作不会影响底层的企业基本Web服务。
BEPL4WS引擎在BPEL4WS数据库的基础上工作,实现内部工作流的查询、构建与执行操作:
(1)查询内部工作流
BEPL4WS引擎接受对企业内部工作流的查询请求,在BPEL4WS数据库中自动匹配符合请求的工作流,如果成功则返回其BPEL4WS文档;如果失败则返回错误信息。
(2)动态构建内部工作流
BEPL4WS引擎接受构建新工作流的请求,将需求信息转换为DAML-S引擎接受的格式(包括对输入输出数据、前提和结果等条件的描述),启动DAML-S引擎的自动合成操作,获取基本Web服务序列及其组合方案,返回本层,最后由BPEL4WS引擎将服务序列转换为BPEL4WS格式的工作流模板,存入文档库中。
(3)执行内部工作流
BEPL4WS引擎接受对企业内部工作流的执行请求,访问其BPEL4WS文档,创建工作流实例并执行活动。如果在内部工作流的执行过程中需要调用底层基本Web服务,则由BPEL4WS引擎启动DAML-S引擎,执行基本Web服务的语义匹配和自动调用,并将结果返回本层。如果需要与本层其他内部工作流交互,则由BPEL4WS引擎自动查询该工作流的模板,创建实例并解释执行;如果找不到所需的工作流,则根据活动上下文初始化需求信息,动态构建符合要求的工作流。
2.2.3 企业外部工作流层
企业外部工作流层由WS-CDL引擎和WS-CDL数据库组成。企业外部工作流以企业联盟的共同目标为基础,从全局角度定义企业合作中各实体的行为和关系,由各企业内部工作流整合编排而成。每个企业外部工作流模板都被定义为一个WS-CDL文档,并存储于WS-CDL数据库。由于WS-CDL文档具有平台独立性,因此对外部工作流的操作不会对下层各企业内部工作流产生影响。
WS-CDL引擎在WS-CDL数据库的基础上工作,实现外部工作流的查询与执行操作:
(1)查询企业外部工作流
WS-CDL引擎接受对企业外部工作流的查询请求,在WS-CDL数据库中自动查找符合请求的工作流,如果成功则返回其WS-CDL文档;如果失败则返回错误信息。
(2)执行企业外部工作流
WS-CDL引擎接受对企业外部工作流的执行请求,调用其WS-CDL文档,创建工作流实例并执行。在执行过程中如需调用企业内部工作流,则由WS-CDL引擎启动BPEL4WS引擎,查询所需的内部工作流并调用执行,执行后返回本层调用点;如果所需的内部工作流不存在或不可用,则根据调用点的上下文初始化需求信息,由BPEL4WS引擎动态构建该工作流。如果需要启动其他外部工作流,则由WS-CDL引擎自动查询该工作流的模板,创建其实例并执行。
3 实例分析
下面以供应链中的基本销售采购过程为例分析此E-SCM系统框架的运行机制。
在本例中,合作的参与方共有三个:(1)企业A,其角色为供应商supplier;(2)企业B,其角色为客户Customer;(3)金融机构C,其角色为信用管理者CreditManager。三者间的合作被定义为企业外部工作流,由各方提供的内部工作流构成。图2显示了此外部工作流的内视图。
如图2所示,Customer是此次外部工作流的发起者,它的两个内部工作流“采购议价流程”、“产品定购流程”与Supplier的两个内部工作流“销售议价流程”、“产品销售流程”进行交互,实现产品的议价与定购;Supplier的“产品销售流程”则与CreditManager的“信用信息管理流程”进行交互,查询Customer的信用度,以确认是否同意定购。
可以看出,外部工作流中的角色须承担各自的行为责任,如Supplier要负责议价和销售,CreditManager要负责客户信用管理等。这些行为责任的定义是从全局角度对工作流的角色进行观察得出的,与各企业类型和采用的系统平台无关,因此外部工作流的定义独立于企业,具有较强通用性。
被定义的外部工作流由WS-CDL引擎执行,其中的内部工作流由BPEL4WS引擎执行。内部工作流由多个基本Web服务构成,以Supplier的“产品销售流程”为例,它包含“客户订单检查”、“客户信用评价”“订单存储”等基本Web服务,基本服务由DAML-S引擎执行。图3是UML顺序图表示的“产品销售流程”执行过程。
4 结束语
从紧密耦合的单一系统发展为松散耦合的动态绑定组件系统是经济全球化对E-SCM系统的必然要求,本文的研究表明引入语义Web服务是实现这一目标的有效途径,可提高系统的智能性与灵活度,降低成本,增强B2B应用。本文设计的E-SCM系统框架实现了语义Web服务、业务流程管理思想与E-SCM系统开发理论的有效结合。通过综合应用DAML-S、BPEL4WS和WS-CDL三种语义描述规范,将供应链中的业务逻辑封装为基本业务组件、内部工作流和外部工作流,利用语义Web服务的松耦合性与平台独立性实现各层次业务的动态灵活组配。本文的研究为开发E-SCM系统提供了基于Web的、轻量灵活的技术框架,对实现经济、敏捷的全球商务应用集成具有重要参考意义。
参考文献
[1]林玲玲.供应链管理[M].2版.北京:清华大学出版社,2008.
[2]宋庭新,黄必清,熊健民,等.语义Web服务在业务协同与供应链集成中的应用[J].中国机械工程,2008,19(4):410-413.
[3]Kreger H.Web服务概念性体系结构[EB/OL].(2010-12-20)[2011-04-25].http://www.ibm.com/developerworks/cn/webservices/ws-wsca/part1/index.html.
[4]佚名.DAML-S(and OWL-S)0.9 Draft Release[EB/OL].(2010-11-28)[2011-04-25].http://www.daml.org/services/daml-s/0.9/.
[5]Weerawarana S,Curbera F,Khalaf R,et al.使用BPEL4WS的业务流程[EB/OL].(2011-01-12)[2011-04-25].http://www.ibm.com/developerworks/cn/webservices/ws-bpelcol/index.html.
[6]Kavantzas N,Burdett D,Ritzinger G.Web Services Choreography Description Language Version 1.0[EB/OL].(2011-01-18)[2011-04-25].http://www.w3.org/TR/ws-cdl-10/.
[7]Gomez J M,Hernandez G A,Olmedo J O,et al.A B2B Conversational Architecture for Semantic Web Services Based onBPIMS-WS:ICECCS'05 Proceedings of the 10th IEEE International Conference on Engineering of Complex Computer Sys-tems[C]//Washington:IEEE Computer Society,2005:252-259.
[8]周中成,孙荣胜.基于语义的Web服务自动发现、匹配及执行平台[J].计算机应用,2005,25(1):233-235.
Web服务资源框架 篇3
面对日益激烈的全球竞争和瞬息万变的市场
机遇,制造领域的发展趋势正从长期的、静态的供应关系向柔性动态的网络制造同盟(虚拟企业)转变[1]。近年来,随着服务计算理论的不断拓展,服务计算理论与制造领域上述趋势的融合日益受到关注,产生了网格制造、云制造等面向服务的网络化制造模式[2,3]。强调构建跨企业的协同环境,通过制造资源服务的动态组合和优化配置,可使网络制造同盟共同趋向市场竞争力的最大化。因而,保障制造资源服务组合的最优性就成为提升制造同盟整体竞争力的关键。
由于制造服务具有较长的执行周期[4],故执行过程更易受制造资源不确定因素(负载、故障、制造资源服务能力的动态演变等)及制造环境不确定因素(市场环境的变化、服务交付要求的变更等)的干扰,导致制造资源服务组合的基本要素——制造资源空间和服务质量目标具有时变性和不确定性。这就要求面向制造资源的服务组合优化,一方面必须具备对制造资源的动态感知和有效认知能力;另一方面必须具备自适应机制,以应对两个基本要素的变化,保证服务质量趋于最优。这是面向服务的网络化制造模式必须解决的关键问题。
近十年来,制造同盟中的伙伴作为粗粒度(企业级)的“制造资源”,其组合优选问题得到了广泛的研究,但大多是未考虑执行过程不确定因素的理想模型[5,6,7,8]。近年来,运用反馈机制保障制造服务组合(制造同盟)最优性的研究逐渐受到关注[1,9];此外,在服务计算领域,运用动态反馈与重组机制保障服务组合在执行过程中的可信服务质量也受到了重视[10]。但现有研究尚未涉及制造资源的动态感知与有效认知问题,缺乏针对制造资源动态变化特性的研究,相关成果尚不能直接用于保障制造资源服务组合执行过程的最优性。
本文引入了信息物理融合系统(cyber-physical systems,CPS),探索了制造资源的动态感知与有效认知的方法;基于对制造资源的即时服务能力的动态把握,建立了具有自适应能力的制造资源动态服务组合优化框架。最后通过原型系统验证了框架的可用性。
1 制造资源的动态感知与有效认知
制造资源空间包括制造资源及其能力属性,是制造资源服务组合的基本要素之一。对制造资源的动态感知和有效认知,是实现有效的制造资源服务组合与优化的基础和前提。
1.1 CPS理念
CPS尚是一个崭新的研究领域,其定义还在不断发展与完善之中。各领域的学者和机构从各自不同的角度给出了对CPS的阐释,较为普遍的定义见表1。
基于对CPS的不同认识,对CPS的角色定位也有所不同。一些学者将CPS看作是实现对物理世界感知、计算和控制的关键使能技术[18]。本文认为它不仅是一种融合计算、通信、控制的分布式、深度嵌入式的实时复杂系统,也是可面向各传统应用领域拓展的新的系统设计、实现与管理理念。
从表1的定义及相关文献的阐述中,可总结出CPS的基本理念:①虚拟化、网络化物理实体,支撑实时感知与控制;②利用信息与物理系统高速反馈,支撑物理实体与虚拟映像共存同变;③计算进程和物理进程反馈循环,支撑动态控制。
CPS的使能技术与基本理念为探索解决制造资源的动态感知与有效认知问题,进而建立具有自适应能力的制造资源动态服务组合优化框架,提供了新思路。
1.2 面向制造的CPS系统架构
文献[19,20,21]探讨了在射频识别(RFID)等自动识别技术和网络信息技术支持下,底层设备、人员、生产资料等生产要素智能化,以及基于这些智能对象的敏捷、动态的生产组织管理模式和支撑技术。此外,文献[18]提出的云制造资源虚拟化框架也提供了许多启示。在上述研究基础上,本文基于CPS使能技术及其理念,提出了面向制造的CPS系统架构,如图1所示。
(1)利用CPS使能技术,构建制造资源互联、识别、感知与控制的基础环境:①在制造资源上部署各类传感设备(如热敏、速度、振动传感器),以感知制造资源的各种状态参数,并结合智能嵌入式技术,实现智能传感、信号采集与智能处理[18];②在制造设备上部署RFID读写器,对在制品和物料绑定RFID标签,并利用基于RFID的制造执行系统,实现制造资源的识别、信息自动采集和制造过程的监控与调度[20];③利用物联网接入装置实现制造资源的网络接入,并通过互联网等实现信息的传输与通信。
(2)基于CPS基础环境,借助制造资源模型,实现资源实体与虚拟映像和即时能力的共存同变:①利用制造资源的感知模型,建立从资源实体到虚拟映像之间的映射;②利用制造资源的认知模型,建立从虚拟映像到即时能力之间的映射;③在CPS基础环境中,当制造资源的实时状态发生变化时,将借助其感知模型即时刷新虚拟映像,进而借助认知模型实时更新其即时服务能力。
(3)基于即时状态与能力的把握,利用反馈循环,实现制造资源服务组合的动态自适应过程:①基于对制造资源即时状态与能力的把握,构造组合服务,执行制造任务;②在执行过程中,借助CPS基础环境,把握制造资源的实时状态与能力变化,并反馈到制造资源服务组合过程的控制输入端,触发组合服务的重组过程;③在制造任务的生命周期中反复执行上述过程以确保制造过程的最优性。
1.3CPS中制造资源的动态感知与有效认知
制造资源的动态感知与有效认知的目标是实时把握制造资源的即时服务能力,CPS为该目标的实现提供了基础环境。为了便于研究,先给出以下定义。
1.3.1 相关概念和定义
定义1 效能(performance):制造资源能够提供的制造服务的质量水平,由交货期、质量、成本、收益等关键效能指标(key performance index,KPI)组成。其定义式为
P=(kpitime,kpiquality,…,kpin) (1)
其中,P表示制造资源效能向量;分量kpi表示关键效能指标;下标n代表任意的效能指标名称。当效能向量中只包含一个分量时,表示单目标效能;包含多个分量时,表示多目标效能。效能可作为同类制造资源服务能力的量化比较标准,也可用于刻画制造服务需求方对制造服务质量目标的量化期望。
定义2 即时服务能力(instantaneous service capability,ISC):制造资源在当前时刻可以提供的制造服务能力的效能刻画。
定义3 感知模型(sensing model):反映制造资源运行时物理状态的虚拟映像,在形式上可定义为
Rm={〈attribute,state〉|attribute∈Am} (2)
其中,集合Rm为制造资源m的虚拟映像;集合Am为该制造资源的属性全集;state为属性attribute(字串)的即时状态值(数值)或状态描述(字串)。
定义4 认知模型(cognitive model):刻画了制造资源的即时服务能力,在形式上表现为从制造资源的即时状态属性到关键效能指标之间的映射(例如,从当前生产节拍到制造完成时间的映射),即
Kpim=f1(Asub_m) (3)
其中,Kpim表示制造资源m的关键效能指标向量,Kpim=(kpitime,kpiquality,…,kpin);向量Asub_m为面向效能目标(服务质量目标)构建的评价指标体系,Asub_m=(attribute1,attribute2,…,attribute|s|),∀attributes∈Am,它是面向效能目标(服务质量目标)构建的评价指标体系。
感知模型与认知模型分别用于解决组合过程中制造资源的“即时状态全貌”与“当前服务能力”的问题。
1.3.2 感知模型
目前,已有感知模型的相关研究。例如,文献[18]提出的物理制造资源模型和虚拟制造资源模型在本质上就可归结为本文提出的感知模型范畴,但只是概念模型。为支撑对制造资源的动态感知,还需进行模型实现。本文基于开放RFID公共服务平台对编码解析和发现服务的扩展研究[22],借鉴车间层网络设备管理对网络对象的建模研究[23],并综合运用基于本体的建模方法,提出了以下感知模型方案(sensing model implementation,SMI),如图2所示。
SMI包括以下特点:①基于本体的建模可提供多概念层次、多资源粒度(企业级、车间级、设备级)上规范统一的全局视图,甚至可以支持对极细粒度上的变量值跟踪;②通过节点对象编码与解析,支持到任意节点对象的访问,而且树型结构使节点访问路径具有唯一性,既便于提高属性查找与状态更新的速度,又能保障动态属性实时更新时不影响其他节点上的静态属性;③通过随时扩展树的节点,可以支撑对新型制造资源、新功能属性的状态表达与动态感知。
1.3.3 认知模型
感知模型的以下特点限制了其在制造资源服务组合问题上的直接运用:
(1)状态全貌是一把双刃剑,它包含所有状态属性的能力评估过程,时间、成本开销巨大,而根据效能目标选取必需的状态属性进行评估才是可行的、高性价比的方式[24]。
(2)感知模型那些维度相异的状态属性,缺少与关键效能指标间的映射关系,无法形成统一的、面向效能目标的能力评估参考。
因此,认知模型成为把握制造资源即时服务能力、支撑制造资源服务组合与优化的关键。
现有与认知模型相关的研究,主要是从伙伴选择的角度对伙伴能力进行评估[5,6,7,8]。通常采取的做法是:选取与交货期、质量、成本等评价准则(即关键效能指标)相关的能力属性作为评价指标,采用定性、定量分析或二者相结合的建模与评估方法,评估并优选伙伴。但上述研究所建立的能力认知模型是伙伴整体制造能力的宏观认知模型,一方面较少涉及生产设备等具体的、细粒度的制造资源的能力;另一方面其评价指标体系缺乏表征制造资源即时服务能力的属性,未能反映制造资源能力的实时动态特征。
可借助CPS基础环境,利用感知模型提供的制造资源属性与即时状态,借鉴宏观认知模型的建模思路,建立制造资源的认知模型。其过程如下:
(1)根据效能目标,构建评价指标体系。从感知模型的属性全集Am中选取与效能目标相关的属性作为评价指标,构建评价指标体系Asub_m。
(2)建立效能-指标映射。基于评价指标体系,借鉴宏观模型中常用的能力评估模型的建模方法,包括数学规划法、模糊集理论、层次分析法等[25,26,27,28,29],确定式(3)的映射关系。
(3)制造资源即时服务能力的效能评估。利用感知模型的实时状态监测数据,并基于式(3),获取制造资源即时服务能力的效能评价。
总之,在面向制造的CPS中,通过感知模型和认知模型,实时把握了制造资源的即时服务能力,为下一步实施制造资源动态服务组合与优化奠定了基础。
2 动态服务组合与优化的自适应框架
图3所示为制造资源动态服务组合与优化的自适应框架。该框架以制造资源的感知模型和认知模型为基础,面向效能目标优选制造资源,组成制造资源组合服务;通过执行过程中对组合服务即时服务能力的动态把握,不断监测评估组合服务的即时效能;利用滚动优化机制,对实时反馈中失去最优性的组合服务实施动态重组,从而消除因制造资源自身不确定性因素和制造环境不确定性因素带来的影响,增加制造过程中制造服务质量的可信度;最终使制造资源服务组合具有动态自适应能力,以保障制造服务执行过程中的服务质量始终趋于最优。
2.1 相关概念和定义
定义5 组合服务效能(performance of composite service):制造资源组合服务能够提供的制造服务的质量水平。其定义式为
Pcomp=(kpitime,kpiquality,…,kpin)comp (4)
其中,Pcomp表示组合服务效能向量;分量kpi表示关键效能指标。组合服务效能Pcomp与制造资源组合中各制造资源的即时状态属性相关,与认知模型的三阶段构建过程相似,可获得以下关系式:
Pcomp=f2(Asub_1,Asub_2,…,Asub_m) (5)
其中,Asub_1,Asub_2,…,Asub_m分别为制造资源1,2,…,m的属性子集。
定义6 目标效能向量(objective performance vector):制造服务质量目标的量化表达。定义式为
Pobj=(kpitime,kpiquality,…,kpin)obj (6)
其中,Pobj为目标效能向量;分量kpi表示目标效能指标。
2.2 服务组合与优化的滚动优化机制
滚动优化是广义预测控制理论的基本原理之一。它汲取并发展了优化控制与自适应控制的思想,以滚动的有限时域优化取代了一成不变的全局优化,即在每个时域内根据采样结果,只针对当前时域的性能指标进行优化,以获取当前时域内的最优性能,同时优化时域向前推移。这种建立在实际反馈信息基础上的反复优化,能不断消除被控对象自身及环境不确定性因素的影响,比一次性优化更能适应实际制造过程,具有更强的鲁棒性。本文设计的滚动优化机制包含以下环节:
(1)时域划分。将制造全生命周期T划分成若干个优化时域pi,满足
其中,优化时域pi的选取非常关键。若pi太小,组合服务的效能变化非常微弱,既产生了较大的开销,又未能显著提高效能;若pi太大,则因不能及时消除不确定性因素的影响而失去滚动优化的意义。
(2)优化模式选择。有两类滚动优化模式可供选择,即定期优化和适时优化。
定期优化模式一般采用等时域的滚动优化,各pi取值相等。这种模式主要适用于服务组合的效能变化具有一定规律性的情况。因此,执行该优化模式时,需要分析制造服务组合效能变化的特征,以确定相应的最佳优化周期。
适时优化模式多由事件驱动,如故障、效能目标的变化等。这类模式适用于对离散事件响应较为频繁的制造服务过程。执行该优化模式,关键在于确定合理的关键效能指标阈值。若正常范围的阈值设置过宽,则对事件的响应比较迟钝;反之,则因过于灵敏而产生较大的服务计算开销。
环节(1)和环节(2)完成的是初始化准备过程。
(3)制造资源的实时状态感知。在每个时域pi内,根据一定的滚动优化模式,设置适当的采样点。在每个采样时刻,借助CPS基础环境,监测各制造资源的实时物理状态,构建定义2所表达的各制造资源的感知模型。
(4)制造资源的即时能力认知。从各制造资源的感知模型中,选取与当前效能目标相关的属性、状态子集,通过式3的映射关系,生成任意制造资源m的观测效能向量(即认知模型)Kpim=(kpitime,kpiquality…,kpin)m作为系统输入。
(5)效能偏差比较。效能偏差比较执行的是控制系统中的“比较器”功能。被控对象即制造资源组合服务在执行过程中,受到自身及环境两方面因素的扰动,可能造成目标效能向量(给定值)Pobj与制造资源组合服务效能(反馈值)Pcomp之间的偏差,而该偏差可用向量相似度测度方法,如距离测度法(Euclidean距离)、相似性函数(夹角余弦法)等常用的方法来度量[30]。是否触发优化重组过程,便可由这些度量值与事先设置的度量阈值相比较决定。若触发优化重组过程,则执行环节(6);否则,直接执行环节(8)。
(6)制造资源组合/重组。本阶段执行的是控制系统中的“控制器”的功能。这一过程需要解决资源排序与服务优选问题。
资源排序。通过候选制造资源的认知模型,获得任意制造资源m的即时服务能力Kpim=(kpitime,kpiquality,…,kpin)m。资源排序可根据买方期望的关键效能指标优先序来排列候选资源,或根据各关键效能指标的影响系数设置权重,得出按总分排序的候选资源序列。
服务优选。根据资源排序的结果,执行优选过程:选取最优的制造资源,组成新的制造资源组合服务;重新绑定新的物理制造资源,提供制造服务。
(7)组合效能评估与反馈校正。根据式(5)得出新组合服务的观测效能向量,并转向环节(5),形成一个闭环。
(8)继续执行现有的组合,等待下一时域并转向环节(3)。
3 原型系统验证
为验证动态服务组合与优化自适应框架的有效性,本文利用基于RFID的制造执行系统和摩托车行业供应链管理第三方服务平台的前期研究成果,初步开发了一个支持制造资源动态服务组合优化自适应框架的面向制造的CPS原型系统(即MOCPS)。
MOCPS采取等时域、定期的滚动优化模式,现已支持两种不确定性因素影响下的自适应优化重组:
(1)针对制造设备老化过程或随机故障的自适应。利用CPS感知设备监测制造设备的即时产能变化,统计在制造任务不间断的条件下,单位时间内通过该设备的在制品数量,并实时反馈到感知模型。当制造资源组合服务的产能下降,导致组合服务效能下降超出目标效能的阈值时,自适应框架做出服务重组决策,替换老化严重或发生故障的制造资源。
(2)针对成本与交货期之间的效能目标调整的自适应。当效能目标由最快交货期调整到最低成本时,MOCPS在下一时域触发重组过程:由当前速度最快的制造资源服务组合,转而执行面向生产成本最低的评估,再由自适应框架进行服务重组和任务迁移。
MOCPS原型系统验证了自适应制造资源动态服务组合优化框架的可用性,保障了不确定性因素发生时,制造执行过程的服务质量趋于最优。当然,本原型系统验证是在理想实验环境中完成的,尚未考虑制造资源重组及制造任务迁移的代价,也未虑及重组过程中所涉及的企业间契约、竞争合作关系等商业因素。当MOCPS推广到广域范围内的企业应用时,上述代价和因素将不容回避。
4 结论及展望
(1)引入了信息物理融合系统的理念,提出了面向制造的CPS框架,可以支撑解决制造资源的动态感知与有效认知问题。
(2)提出了制造资源即时服务能力感知模型和认知模型的概念及认识方法,实现了对制造资源即时服务能力和能力变化的把握。
(3)建立了具有自适应能力的制造资源动态服务组合优化框架,保障了制造执行过程中的制造服务质量。并通过原型系统验证了在不确定性因素发生时,自适应框架及时地执行了自适应重组过程,以确保制造执行过程的服务质量趋于最优,从而证明了框架的可用性。
(4)今后的研究工作将放在即时服务能力的指标体系及评估模型的研究建立上。此外,服务组合的效能模型、滚动优化模型,以及非理想环境中的重组代价及商业因素也将在未来研究中探讨。
摘要:针对制造资源服务组合面临的不确定性因素干扰和服务质量保障的特殊需求,面向制造领域引入了CPS使能技术及其理念,构建了面向制造的信息物理融合系统(CPS)体系架构;在此架构下,建立了制造资源的感知模型和认知模型,以把握制造资源的即时服务能力;基于对制造资源的即时服务能力的动态把握,建立了具有自适应能力的制造资源动态服务组合滚动优化框架。最后,利用面向制造的CPS原型系统验证了该框架的可用性。
Web服务资源框架 篇4
在智能电视操作系统中, 典型的应用包括电视直播、视频点播、网上冲浪、休闲游戏、音视频聊天、视频下载等等。虽然智能电视硬件的处理能力已有极大提高, 但智能电视应用也越来越消耗系统资源。除了音视频解码能力, 电视的计算能力甚至不如手机、平板等移动设备, 不能适应多应用运行、资源剧烈竞争的环境。为保障系统资源的充分利用, 资源管理框架作为智能电视系统中的的核心软件服务, 将系统资源合理分配给运行中的多个应用, 保证用户体验的最优化。
本文首先对现有的嵌入式系统软件体系架构研究工作进行总结, 并讨论智能电视终端软件架构以及相关资源管理技术的设计目标。之后, 在此基础上, 针对多任务运行时的资源竞争以及引发的QoS和用户体验降级问题, 提出基于服务总线架构的具有资源管控和QoS保障能力的智能电视系统资源管理框架, 并说明其在终端软件架构中的位置。资源管理框架根据智能电视系统中系统资源的不同特性提供不同的管控机制, 并根据应用的QoS和优先级对应用进行动态规划和调度, 保障系统资源的有效管控, 保证应用的服务质量。
本文其余部分组织如下。第二节介绍软件体系架构的相关研究工作; 第三节提出智能电视操作系统的资源管理框架, 并依次介绍资源管理框架中包含的三个主要软件模块和各模块进行资源管控的流程; 第四节总结全文。
2 体系架构研究
2. 1 软件体系架构研究
文献[1]指出了嵌入式软件架构设计时需要注意的设计原则, 文献[2]分析了在设备普遍联网的环境下终端设备中间件的软件设计所面临的挑战。然而, 在智能电视系统中, 多媒体应用等软实时业务对于系统组件的通信协议和资源管理机制有着特殊需求。现今终端平台的软件架构需要具备开放性、扩展性、定制性、个性化等特征, 手工配置式的管理组件渐渐不能满足需求, 取而代之的是在任务运行时具备自组织、自适应能力的底层组件。文献[3]基于反射机制, 利用封装的元模型构建元空间, 提出一种编程语言无关的开放式软件架构; 文献[4]深入讨论复杂系统中的资源和软件模块复用的注意事项; 文献[5]针对多任务条件下的数字电视机顶盒软件架构设计进行了研究。针对智能电视系统架构设计的问题, 不仅要从理论上证明其可行性, 还需要在工程实践中上证明其有效性。
关于软件体系架构方面的研究, 经过了结构化设计、面向对象设计后, 逐渐向构件化[6,7]发展, 典型的软件架构模型包括Microsoft的COM/DCOM/COM +、SUN的J2EE、Object Management Group ( OMG) 的CORBA、Web Service等。软件体系架构的设计目标包括几点: 1标准化: 由标准化机构设计, 在业界具备一定的指导性; 2平台无关性: 通过使用标准的平台移植层协议, 使得开发不同平台上的应用程序可以忽略底层平台的差异性, 应用程序经一次开发后可多次运行; 3语言无关性: 通过使用接口描述语言 ( Interactive Data Language, IDL) , 以统一的方式定义对象接口, 并根据具体需要, 将软件模块对象的接口映射为不同的语言实现;4具备完整的相关服务: 支持分布式应用, 为智能电视系统框架制订完整的服务规范, 以便基于该系统的电视应用程序能够更好地服务于分布式应用。
2. 2 资源管理解决方案
除了CPU、存储和网络等通用资源外, 智能电视终端还具备多种音视频设备, 如高频头 ( Tuner) 、解调器 ( Demod) 、解复用器 ( Demux) 、解码 ( Decoder) 、图形 ( Graphics) 、新型人机交互设备 ( 麦克风、体感输入设备) 等。传统的嵌入式系统硬件功能单一, 资源非常有限, 几乎不涉及多任务运行和QoS保障问题。而当前的智能电视硬件配置很高, 功能不断增加, 采用的智能操作系统也支持多应用并发执行, 产生资源访问冲突和QoS保障问题, 对于系统的资源管理框架设计提出挑战。
QoS的最初定义由CCITT ( ITU - T) 给出: QoS是用于衡量使用一个服务的满意程度的综合指标[8]。在RACE ( Research into Advanced Communication for Europe) 中进一步定义: QoS描述了一个服务的某些性能特点。这些性能特点是用户可见的, 并以用户可理解的语言表示为一组参数。这组参数具有客观值或者主观值。其中, 客观值描述了系统的行为性能, 如失败概率、吞吐量等, 主观值描述了系统的其他服务性能, 如安全性、优先级。通常意义上的QoS是指带宽、延迟、抖动、丢失率, 主要是网络流量参数, 均为客观值[9]。根据音视频业务的特性, 在QoS方面有特殊的需求, 比如带宽、时延、抖动等, 传统方法已经不能满足音视频业务的需求, 需要研究新的QoS机制以保障业务的服务质量。另外, 对于数字电视运营商来说, 业务的QoS分级和控制不但能够较好地满足不同阶层受众对于节目质量的要求, 并且是开展各种增值业务、实现盈利的发力点。
智能电视终端的软件体系架构中, 包括业务框架、协议框架两部分内容, 而最终功能的实现则由软件模块完成, 每个软件模块完成特定部分的功能。为使软件架构具有QoS保障能力, 传统的方法基于分层软件架构: 在每个软件模块中添加QoS保障插件, 由下层软件的QoS保障插件保障上层模块的QoS, 层层递进, 最终保障业务的QoS。传统方法的缺点是使QoS映射的复杂度和QoS保障的计算量增大, 软件体系架构较为复杂。另一种方法是将系统中所有模块的QoS保障工作集中在资源管理框架中实现, 各个模块与资源管理框架之间通过服务总线通信。如此, 模块间的耦合度降低, 方便了软件模块的增加与删除, 软件架构得到简化, 同时也便于实现资源规划算法。
3 智能电视系统中的资源管理框架
本节针对智能电视系统的多级优化安全要求, 设计与实现满足开放性、易用性和扩展性的操作系统软件体系架构。系统是基于从下到上的内核层、支撑层、中间件层和应用层的构件化软件体系结构, 其中, 资源管理框架是支撑层的核心组件。资源管理框架的设计借鉴SOA: SOA是一个组件模型, 利用开放式标准将应用程序的不同功能单元即服务通过接口和契约联系起来。重点是实现业务应用的集成和组件被其它系统的再利用。通过模型化的手段来描述业务之间的关系把这些组件构建服务。服务是已经被定义的接口业务单元, 可以被调用, 并提供一致且有效的数据。
智能电视系统中的各个功能组件, 包括多媒体框架、数字电视组件、多屏互动组件、设备互联组件、多媒体聚合组件等均以服务的形式存在, 资源管理框架对于系统中存在的所有服务进行统一管理。新加入的组件服务需要在资源管理框架中注册, 组件提供的接口在使用前, 也需要通过资源执行模块的调度。
资源管理框架包括资源监测模块、资源执行模块、资源规划模块三个主要模块, 各个模块之间、以及模块与系统中其他组件均通过服务总线进行进程间通信。在此架构中, 提供服务的组件 ( 即服务目标端) 和使用服务的对象 ( 即服务发起端) 通过服务总线进行通信。服务总线是一种进程间通信机制, 类似Android的Binder, 支撑服务目标端和服务发起端的进程间通信。图1描述了框架中各模块间的逻辑关系。
通过引入资源管理框架, 智能电视系统具有对平台上应用和组件进行远程服务调用的全局管控能力, 在此基础上采用不同的服务调度策略, 保障智能电视系统之上应用的正常运行。下文依次介绍资源管理框架中的软件模块。
3. 1 资源监测模块
考虑到第三方应用对系统资源安全的威胁, 需要实时监控第应用的资源占用情况。资源监测模块获取应用的实时资源占用信息, 结合资源异常判定策略, 防止对资源的非法使用, 并终止发生资源异常或滥用资源的进程。
对不同类型的资源, 监测的技术有一定差异: 对于CPU资源、内存、网络带宽以及系统软资源这类共享型资源, 利用Linux内核提供的系统接口获取资源占用情况; 对于解码器、解复用器、图形、外存和外设这类硬件平台提供的独占型资源, 由于独占型资源在终端系统BSP层提供封装, 因此监测方法是通过平台移植层封装的统一的资源访问接口, 由资源执行模块负责资源的访问、调度和分配, 由资源规划模块维护资源的占用信息。资源监测模块的功能包括: 1与资源管理框架中的资源执行模块协作, 监测系统中所有应用的资源使用情况。判断应用资源消耗状态异常的一类方法是基于规则的判断, 例如短时间内是否有非常规的频繁资源分配, 比如短时间内不断要求分配大量内存, 非下载式应用在短时间内占用大量网络带宽等, 是否进行频繁的设备访问, 比如带有蓝牙设备的终端, 频繁进行蓝牙搜索等。另一类方法是采用资源异常监测算法进行判定, 为应用建立资源使用模型, 依据模型监测应用的资源消耗; 2结合系统安全框架监控应用对本地敏感文件的访问情况, 例如应用是否非法访问本地敏感文件。某些应用允许访问一些本地敏感文件, 但对于频繁的访问应该给出告警提示; 3监控资源执行模块的工作情况; 4监测系统资源负荷情况: 资源监测模块维护系统资源的常规使用上限, 当检测到系统资源消耗超出上限一定数目时发生资源过载。当系统监控子模块监控到异常时根据严重程度采取措施, 包括提示、暂停应用、终止并卸载应用等。
3. 2 资源执行模块
资源执行模块管控应用进程的资源请求, 并给应用进程分配各种资源。每种资源必须提供不同的执行策略, 在模块中各个策略以插件的形式加载进模块。
对CPU, 内存等常规资源, 资源执行模块通过虚拟化资源技术, 例如Cgroups提供的不同子系统和组调度算法对多种资源进行控制。对于独占型设备资源, 监管方式是由资源执行模块对资源请求进行调度和分配, 并通过资源规划模块管控全局资源使用情况。
借鉴Android中的service manager设计, 资源执行模块具有service manager全部功能, 并且增加对系统所有服务发起端的服务请求的管控能力。资源执行模块的功能包括: 1支持服务目标端向资源执行模块注册服务接口, 以及接口与资源的映射; 2集中管理系统内的所有服务, 并对于注册服务的进程施加权限控制; 3支持服务发起端通过字符串名称查找对应的服务, 并通过服务总线, 获取到提供服务对象的句柄; 4服务发起端通过查询资源管理框架, 获得服务目标端的状态信息, 如运行、终止等; 5资源管理框架采用不同的资源调度策略, 对系统中服务发起端的远程服务调用进行全局管控。
资源管理框架作为独立进程, 通过服务总线与服务发起端、服务目标端通信, 其余进程通过指定默认句柄来指定资源管理框架为通信对象。在服务注册过程中, 资源规划模块记录服务目标端提供的服务与消耗的设备资源之间的映射关系。在一次远程服务调用过程中, 首先服务发起端与资源执行模块通信, 查询并获取所需服务的通信对象, 然后通过服务总线与服务目标端通信, 请求其执行方法, 提供服务。服务目标端在收到请求后, 首先与资源执行模块通信, 资源规划模块根据目前资源使用状况采取恰当的资源调度策略, 决定服务目标端是否应该响应请求, 并将调度结果返回服务目标端, 目标端由调度结果决定是否执行方法。
3. 3 资源规划模块
智能终端上的设备资源的操作逻辑被封装在BSP中, 提供给系统组件层和应用层调用。多个应用并发执行时, 将发生设备资源竞争的情况。资源规划模块的作用是为智能电视应用提供有效的QoS保障, 并对应用进行QoS调度, 以QoS为依据权衡各个应用, 使得终端表现出最优的性能。
根据应用的业务逻辑, 服务发起端调用方法对相关设备资源进行初始化、使用和释放。资源规划模块查询数据库, 将方法调用映射为具体的资源需求, 根据不同的资源调度策略对请求进行决策。资源规划模块完成资源规划和产生任务调度列表。该模块收到某个服务发起端对资源的请求后, 进行全局资源规划, 判断能否为应用分配其需要的资源。该模块为全局的资源管理服务, 可以根据不同的场景自动配置资源管理策略, 通过记录服务的资源需求, 实现对服务的调度。在系统资源冲突或资源短缺时, 采用不同的资源调度策略, 保证应用正常运行。抢占机制的具体算法有多种, 例如通过事先制定的业务合作逻辑确定, 或者采用基于应用的优先级进行调度, 或者采用基于QoS的资源调度策略或优化算法。
当系统中的应用状态满足特定的资源规划触发条件时, 将触发资源规划模块的资源调度策略。资源规划的触发条件包括以下情况: 1运行状态的服务目标端收到远程过程调用 ( Remote Procedure Call, RPC) : 标志着系统中存在某个服务发起端发起RPC, 由于RPC可能涉及设备资源的初始化、使用和释放, 因此将触发资源调度。服务目标端收到RPC后, 将向资源执行模块发送一个方法调用通知, 同时触发资源调度。此后服务目标端开始等待, 直到资源执行模块返回响应为止; 2应用状态切换: 应用的基本状态包括前台状态、后台状态和服务状态。前台状态应用占用的系统资源均处于使用中, 不会被资源管理框架释放; 后台状态指应用被切换到后台, 用户暂时不可见, 但仍在运行中。资源过载等情况发生时, 处于后台状态的应用的资源可能被释放; 服务状态指处于服务状态的应用或系统服务进程在运行中, 一般情况下资源不会被释放, 但在资源管理框架的资源调度策略下其资源可能被调度。在系统中, 服务发起端一般为应用程序进程, 可能处于前台状态和后台状态。服务目标端可能是应用程序或系统服务进程, 均处于服务状态。当系统中应用的运行状态发生变化时, 比如应用从前台状态切换到后台状态, 而原来处于后台状态的某个应用被切换到了前台状态, 或者系统服务的加入与退出, 都会引起系统资源占用情况的变化, 此时需要进行资源规划模块启动资源调度策略, 适应系统动态变化, 保证系统中应用的QoS; 3资源过载: 当资源执行模块发现系统中某种资源使用量接近或者超过资源阀值, 出现资源过载, 会触发资源规划进行资源的调整, 保证系统整体效用最优。
3. 4 服务注册及服务请求流程
服务目标端进行服务注册以及服务发起端进行服务请求的实现流程如图2所示, 资源管理框架中参与服务注册和服务请求的模块包括资源执行模块和资源规划模块。
( 1) 服务目标端向资源执行模块注册, 注册后, 将“服务 -方法”和“方法 -资源”映射发送给资源执行模块;
( 2) 资源执行模块将待注册服务目标端的“服务 -方法”和“方法 -资源”映射发送给资源规划模块;
( 3) 服务发起端调用getService方法获得服务目标端的代理对象;
( 4) 服务发起端发起远程服务调用;
( 5) 服务目标端在收到远程服务调用时, 在调用实际方法的分支前, 向资源执行模块发送方法调用通知: 通知的内容包括服务发起端名称、服务目标端名称、调用方法名称。之后进入挂起状态, 等待资源管理框架发送回复;
( 6) 资源执行模块将方法调用通知发送给资源规划模块;
( 7) 资源规划模块对系统整体资源进行资源调度, 之后将资源调度结果返回给资源执行模块;
( 8) 资源执行模块根据资源调度结果对系统中的远程服务调用进行全局调度, 根据服务调度结果, 向服务目标端发送对远程服务调用请求的回复。服务目标端根据回复结果, 判定是否接受服务发起端的远程服务调用。
图3描述服务注册的具体流程:
完成标准注册流程后, 资源执行模块发起一个面向资源规划模块的通信请求, 完成一次完整的进程间通信。请求中包含所有注册方法与对应资源集映射关系。首先, 在资源规划模块中提供映射关系注册接口; 然后, 在注册过程中增加一次通信, 完成对注册接口的调用, 提交“服务 -方法”和“方法 -资源”映射。
一个服务目标端可能包括多个方法, 而每个方法可能需要访问一个或多个系统资源。因此, 可将方法调用映射为一组资源的组合。服务S与其方法F、方法申请的资源R的关系为:
其中, n为服务S包含方法的数量, k为服务S申请资源的数量。
例如, 服务为MediaPlayer时, 两种映射分别为
3. 5 终止使用服务流程
服务发起端终止使用服务的实现流程如图4所示, 资源管理框架中涉及的模块包括资源执行模块和资源规划模块。
( 1) 服务发起端发起终止服务的远程服务调用;
( 2) 服务目标端在收到远程服务调用时, 向资源执行模块发送方法调用通知: 通知的内容包括服务发起端名称、服务目标端名称、调用方法名称;
( 3) 资源执行模块根据资源调度策略重新对远程服务调用请求进行调度, 同时将方法调用通知发送给资源规划模块, 资源规划模块据此更新所维护的资源状态。
4 结束语
本文介绍智能电视系统的核心软件服务———资源管理框架, 研究目标是将系统资源合理分配给运行中的多个应用, 保证应用QoS和用户体验的最优化。首先, 对现有的嵌入式系统软件体系架构研究工作和软件架构进行介绍, 并讨论智能电视终端软件架构以及相关资源管理技术的设计目标。在此基础上, 针对多任务运行时的资源资源保障问题, 提出智能电视系统软件架构以及基于服务总线架构的、具有资源管控和QoS保障能力的智能电视系统资源管理框架, 对资源管理框架中的资源监测模块、资源执行模块、资源规划模块进行介绍, 并说明框架进行资源管控的流程。资源管理框架根据智能电视系统中系统资源的不同特性提供不同的管控机制, 并根据应用的QoS和优先级对应用进行动态规划和调度, 保障系统资源的有效管控, 保证应用的服务质量。
参考文献
[1]Schirner G, Sachdeva G, Gerstlauer A, et al.Modeling, Simulation and Synthesis in an Embedded Software Design Flow for an ARM Processor.CECS-06-06[R], Irvine, CA, USA:Center for Embedded Computer Systems University of California, 2006.
[2]Issarny V, Caporuscio M, Georgantas N.A perspective on the future of middleware based software engineering[J].Future of Software Engineering, 2007, 1 (11) :244-258
[3]Blair G S, Coulson G, Robin P, et al.An Architecture for Next Generation Middleware[C]//in Proceedings of Middleware, LNCS, Springer Verlag:1998.
[4]Leveson N G, Weiss K A.Making embedded software reuse practical and safe[J].SIGSOFT Softw.Eng.Notes, 2004, 29 (6) :171-178
[5]Jaeger R.Set-top box software architectures for digital video broadcast and interactive services[C]//Proceedings of IEEE International Conference on Performance, Computing and Communications, Phoenix, Arizona, USA:IEEE press, 2001.
[6]Crnkovic I.Component-based software engineering for embedded systems[C]//.Proceedings of the 27th international conference on Software engineering, Missouri, USA:ACM, 2005.
[7]Angelov C, Sierszecki K.A software framework for component-based embedded applications[C]//Proc.of the Asia-Pacific Software Engineering Conference, Busan, Korea:IEEE press, 2004.
[8]Seitz N.ITU-T QoS standards for IP-based networks[J].IEEE Communication Magazine, 2003, 41 (6) :82-89
Web服务资源框架 篇5
0 引言
随着网络教育资源覆盖面越来越广, 人们面临着教育信息超载的现象, 这就促进了教育资源推荐服务技术的发展。个性化推荐技术在教育领域应用还处于探索阶段, 本文将结合Web挖掘、知识发现等技术, 对教育资源的个性化推荐服务系统进行设计, 并通过试验对该系统进行分析, 希望可以解决由于教育资源广泛而带来的信息超载的现象, 同时为其他领域中的个性化服务提供参考性建议。
1 Web挖掘技术的相关理论
Web数据挖掘关系到电子信息、网络、数字挖掘等多个学科和领域, 因此Web数据挖掘技术是一个综合性的技术, 实际上Web数据挖掘技术是一项从文档信息和活动信息中进行知识和数据的挖掘和抽取的技术。一般Web数据挖掘包括三种形式:内容、结构和应用等, 具体的分类是Web挖掘技术含有Web内容挖掘、Web结构挖掘、Web应用挖掘三类, 而其中Web内容挖掘包括页面内容挖掘和搜索结果挖掘, Web应用挖掘包括使用模式挖掘和个性使用跟踪, 本文将对Web挖掘技术技术简单论述。
(1) Web内容挖掘主要的功能是对文档中的内容进行信息的提取, 在我们常用的引擎中就是运用这项技术对内容进行寻找和搜索的, 一般Web内容挖掘分为两类, 分别是对内容进行挖掘和提取, 另一类是对搜索后的结果进行挖掘。
(2) Web结构挖掘是指利用网络页面中的连接关系对信息进行搜索和抓取, 一般可以利用页面之间的链接关系搜查到较为重要的页面内容, 从而获取对自己有用的信息。
(3) Web的应用挖掘就是利用用户的搜索记录自动对其进行知识的搜索和推荐, 一般在网络中会存有用户的搜索信息, 通过对搜索信息进行分析, 就可以根据用户的个性化需求提供对其有用的信息和内容[1]。一般对于Web应用挖掘技术主要从以下两个方面进行研究, 分别是利用一般使用模式对信息进行挖掘, 就是利用用户对于网络使用模式的个性化需求, 对Web站点的组织结构进行修改, 另一类是利用用户在网络上的使用记录为用户提供相应的服务。
2 个性化推荐服务的相关理论
在1997年推荐系统的概念才被提出, 它的概念如下:利用网络对用户推荐商品购买的建议, 在网络中对购买过程进行模拟。推荐服务就是对用户的浏览信息、浏览内容等进行分析, 根据客户的喜好给客户推荐客户可能喜爱的产品, 从而为客户的采购提供方便。这种推荐服务系统不仅可以在大量的信息中对客户所需要的信息进行抽取, 也可以主动的根据客户的需求和爱好, 给客户推荐客户可能喜欢的和感兴趣的信心和产品。而个性化推荐系统则实现了个性化的信息找人的服务模式[2]。它的服务就是利用客户的兴趣爱好为客户推荐与其爱好有关的信息, 或者根据页面中的链接为客户进行信息的推荐, 个性化服务系统的工作原理如图1所示。推荐服务系统主要包括三个部分, 分别是信息收集、客户模型、个性化推荐等三个模块, 这也就是为什么个性化推荐系统可以为客户提供有效有用的信息和产品。
3 个性化教育资源推荐服务系统的设计
3.1 网络教学系统的设计
根据学生学习的实际情况和教育部的相关规定, 网络教学系统中分为网络学习系统、网络传授系统、支撑系统以及网络资源系统。在这四个子系统中, 网络教学支撑系统占据重要地位。教学支撑系统主要包括作用管理系统、辅导答疑系统、问题讨论以及智能题库等多个系统。网络教学系统中的各个系统之间的关系如图2所示。
3.2 教育资源个性化推荐服务
在原有的网络学习系统中, 学习系统中的各个系统只可以进行简单的数据交换和传输。当学生在运用网络学习系统时, 只能通过搜索查询进行学习, 在学习过程中缺少智能化服务。而在新兴的网络资源个性化推荐服务中则可以为学生提供个性化服务, 主要是根据学生在搜索中的习惯和爱好, 为学生提供其可能需要的信息, 这样在网络教学系统中加入个性化推荐服务就可以极大的满足学生的需求, 节约了搜索时间, 也提高的网络教学系统的智能性。
在网络教学系统的实际应用中, 教学系统中包括有大量的信息资料, 而学生在运用这些教学资源时, 并不清楚其中的具体内容是否符合自身的需要, 那么学生就需要对资料进行浏览, 当发现这些资料并不符合自身的需要, 那么就会浪费较多的时间[3]。而在网络教学系统中加入个性化推荐服务系统, 就可以根据学生在浏览过程中所保留的个性化信息为学生提供可能满足学生学习需求的资料, 并且该系统可以为学生及时的提供网络的评价预测结果, 这样就节约了学生的查询资料的时间, 并且提高了学习系统的智能化服务。具体的服务流程是在学生进行网络学习时, 需要输入用户名, 这样网络学习支撑系统就会再学生登录后访问的页面和搜索的内容进行记录, 其中包括访问时间、访问内容以及访问资源等内容。系统随后会自动形成文件, 对文件中所保留的信息进行分析, 从而得出学生的个性化信息, 然后再根据这些信息为学生今后的网络学习提供个性化推荐服务, 并且网络学习系统可以根据学生的访问的时间对学生的个性化信息进行同步更改。
为了更加有效的了解学生的个性化需求信息, 需要对学生的兴趣点进行分析, 这是更有效的方法和途径, 如何获取学生对哪些资料感兴趣就需要对学生的浏览信息进行分析。那么这就会用到Web挖掘技术, 因此在网络学习中加入Web挖掘技术是十分有必要的。
3.3 网络教育资源的推荐
如何才能有效的为学生推荐有用的网络教育资源, 这就需要对学生访问过的资料信息进行相应的分类, 形成教学资源的分类。在网络教育资源的个性化推荐服务中一般采用朴素贝叶斯分类方法进行分类[4]。
具体的流程是根据学生的Web日志将教育资源进行分类, 主要包括两类:一类是感兴趣的集合, 一类为不感兴趣集合, 并对这些教育资料进行特征分析, 这样当网络学习系统中出现新的资源, 可以对新的学习资源的特征进行分析, 然后根据它的特征对其进行判断, 属于感兴趣的一类还是不感兴趣的一类, 这样就可以为学生推荐他可能感兴趣的资料, 从而完成个性化推荐服务系统。
4 个性化教育资源的试验分析
为了验证这项网络学习系统的有效性, 对网络学习系统进行了实验。在教学平台中对几名学生的Web学习记录进行实验, 并且对学生所浏览的学习资料进行相应的分类, 将学生收藏夹中的学习资源划为学生感兴趣的资源, 而收入垃圾箱中的资源为不感兴趣的资源, 然后对这些资源的特征进行分析总结。
首先要对系统所挖掘的个性化信息进行有效性的测试[5], 个性化信息的挖掘的具体过程为提取学生的Web日志记录, 然后对日志记录进行清理, 按照一定的计算方法对学生的兴趣度进行相应的计算, 按照计算的结果进行分类, 最后对实验结果和实际的分类进行比较, 计算出正确率[6]。通过试验可以看出利用网络学习系统中的个性化信息提取的正确率在85%以上, 也就是该系统对学生资源的推荐满足学生的实际需求。最后对教育资源的推荐服务进行总的测试, 测试结果显示正确率、准确率以及查全率均再80%以上, 同样符合网络教学平台的实际需求。
5 总结
本文在网络教学系统中利用Web挖掘技术对网络教育资源的个性化推荐服务系统进行设计和分析, 个性化推荐服务系统提高了网络教学系统的智能型, 同时也满足了学生的个性化需求, 节约了学生在资料的搜集中的时间。并且文章最后, 通过相关实验对该系统进行相关的分析, 实验结果可以看出个性化推荐服务系统能够满足网络学习系统的基本要求。但是随着科学技术的不断进步和发展, 仍需要更多的技术来支撑教育资源的推荐服务系统, 这样才能满足社会的需求。
摘要:目前随着网络技术的发展和推广, 互联网也逐渐被应用到人们的日常生活中, 已经成为人们生活中密不可分的一部分。同时随着人们对于学习和信息的需求, 网络信息化教育成为一种新的趋势, 并逐渐的发展起来。在当今社会, 人们对于网络教育资源的依赖性也逐渐增加, 而面对众多的教育资源, 如何有效的选择有价值的资源成为网络教育面临的重要问题, 这也就促进了网络教育资源推荐服务系统的发展和广泛应用。
关键词:Web挖掘技术,教育资源,个性化推荐
参考文献
[1]于满泉, 许洪波, 赵章界, 余智华.基于内容的个性化信息过滤系统的研究与技术[J].软件技术与数据库.2005, 6.
[2]刘鲁, 任晓丽.推荐系统研究进展及展望[J].信息系统学报.2008, 2 (1) .
[3]季文天, 郭清菊.个性化推荐在高职学校选修课中的应用研究[J].软件, 2013, 34 (4) :40-41.
[4]宋娟, 代劲.网络教学中教育资源分析与应用平台构建[J].重庆邮电大学学报.2008, 20 (1) .
[5]张慧宁.基于web技术的实验室开放管理系统设计[J].软件, 2013, 34 (11) :52-54
[6]郭清菊, 周让明, 马俊涛.基于学习兴趣的个性化推荐算法研究[J].软件, 2013, 34 (9) :51-53.
[7]张永霞, 王洪波, 程时端.一种基于Hadoop的个性化推荐系统架构[J].新型工业化, 2012, 2 (8) :7-12.
[8]李善涛, 肖波.基于社交网络的信息推荐系统[J].软件, 2013, 34 (12) :41-45.
[9]张华.基于数据挖掘技术的电子商务旅游线路推荐系统[J].软件, 2013, 34 (3) :57-58.
[10]段忠祥.基于云计算的网络平台共享资源模型的建设[J].软件, 2013, 34 (5) :119-121.
Web服务资源框架 篇6
近年来,基于服务概念的资源封装和抽象逐渐成为开放环境下资源发布、共享和协同的主流技术基础。因此,资源池运行机制的研究问题也就演变为服务封装、服务发布、服务共享与协同的问题。资源的使用模式涉及资源提供者、资源使用者、资源中介机构三个主要实体,涵盖资源的对外发布,资源的发现,资源使用者与提供者之间的交互方法等。
在资源的发布与查找方面文献[1]设计了一种新的P2P网络模型,资源提供者通过Web服务发布要共享资源,资源需求者利用Web服务提供的资源搜索技术,得到提供者的地址,让提供者和需求者直接交互达到资源共享的目的,最后给出了新的研究方向和应用前景。文献[2]针对面向服务结构中传统服务调用带来的不必要的网络负载、较长的响应时间和服务提供端的瓶颈问题,结合发布/订阅模型提出一种推模式服务调用方法,并将其与传统的拉模式相比较,通过分析和实验表明该方法在通信量、响应时间等方面具有较强的优势。
在资源的交互模式方面文献[3]研究了BPEL4WS执行引擎Web Jet Flow对Web服务的异步调用机制,在引擎的服务调用代理中对Web服务统一采用非阻塞双传输异步调用,提高了调用线程的利用率。同时引入了cache机制并设计了相应的cache替换算法,保证了引擎对异步调用结果消息的匹配效率以及数据安全性,通过实验验证引擎的性能有了明显的提高。文献[4]从安全性角度提出了一个安全异步资源使用平台的基本架构和关键技术。文献[5]提出了基于回调机制和消息回执的Web服务异步调用模式,在不增加系统运行压力的情况下,实现了Web服务的异步调用,并能保证消息的可靠性。文献[6]依据服务描述实现资源的静态绑定与调用。文献[7]为了实现BPEL流程在运行过程中对Web服务的动态调用,提出了一种通过服务代理为BPEL流程分配Web服务的方法。对传统的Web服务模型进行分析,指出其不足之处,将服务代理引入传统的Web服务模型,提出了基于代理的Web服务模型,描述了服务代理的功能和结构,以此为基础构建了基于代理的BPEL业务流程框架,实现了Web服务的动态调用,最后通过实例说明了该方法的可行性。文献[8]该文提出了一种使用语义Web和Agent技术在客户端发现和调度Web Service的系统模型,并通过原型系统的演示说明其灵活性。
在资源评价方面文献[9]提出: 虽然目前面向服务的架构能够很好地支持协同服务的注册、发现和组合,但在如何根据用户的Qos( Quality of Service,Qos) 请求快速、可靠地为用户选择合适的服务仍然存在诸多挑战。这吸引了来自工业界和学术界的热切关注,尤其是服务组合过程中基于Qo S度量的服务选择技术所面临的挑战。文献[10]为了提供满足客户服务质量( Qo S) 需求的组合Web服务,提出了一种支持Qo S属性描述的Web服务描述模型。通过在原有的Web服务描述语言的tport元素中添加operation Inst属性来描述Qo S属性,从而获得了一种可扩展的Web服务描述语言。在此基础上给出了基于多目标决策理论和分形理论的服务选择算法,该算法考虑了Qo S属性之间的不可公度性和独立性,同时给出了Qo S驱动的服务组合框架( E - WsF rames) 和具体实现方法。实验结果分析表明,E - Ws Frame可以综合考虑服务组合的功能和Qo S的要求,并可根据服务请求自动地实现组合服务。文献[11] 摘要提出一种用于Qo S感知的Web服务选择的遗传算法该算法采用关系矩阵编码方式,克服了一维编码方式表示的局限性,并且可以通过简单的方法来表示组合服务重计划及Web服务循环路径等情况,通过该算法一次运行,就可以从所有组合路径的组合方案中选出满足用户Qo S需求的组合方案,而一维编码遗传算法在多路径情况下需多次编码、多次运行。算法还采用一种变异策略来提高算法的适应度。通过仿真比较,关系矩阵编码遗传算法比一维编码遗传算法获得了更优解,变异策略在提高算法适应度方面也发挥了作用。文献[12]针对Web服务提出一种的新Qos本体及基于该本体Qos的评级算法 - 层次分析算法,并与基于信誉度的评级算法,基于testing的评级方法在时间复杂度和准确性进行比较,获得较满意的结果。文献[13]提出在这项工作中,我们提出两种互补的方法,克服上述缺陷。首先,我们针对已请求过的相关服务提出一个评级的方法,并给出了基于定义于各服务之间的主关系的客观度量。第二,针对聚类的相关服务研究一种方式从而揭示和反映了不同匹配参数之间的权衡。文献[14]设计一种用户协同过滤机制针对他们过去使用过的服务Qo S信息,然后利用这些Qo S数据,设计协同过滤方法预测评级这些服务的Qo S。
在资源分析度量方面文献[15]本文提出了一个完整的Web服务质量的评估算法,此算法在分析了Web服务评量和相对服务质量的基础之上,计算Web服务质量的综合评估值,并且建立一个Web服务质量评估模型,将此算法应用于评估模型中,可以在多个Web服务中选择最优的服务提供给用户。文献[16]在面向服务的环境下,单个Web服务往往不能满足用户的要求,这时就需将已有的单个Web服务进行组合,以便产生满足用户需求的、增值的组合服务。已有的服务组合方法都很少考虑Web服务的随机性和Internet环境的动态性,从而在服务选择过程中产生的规划都是静态规划,结果导致在服务组合时都以较大概率出现组合失败。针对上述问题,提出了Web服务各随机Qo S指标的度量方法和自适应Qo S管理体系结构,并利用随机型离散事件系统唯一的动态控制方法———马尔可夫决策过程( MDP) ,设计出随机Qo S感知的可靠Web服务组合算法。实验结果表明,考虑随机性的Qo S度量方法和Qo S管理体系结构,以及平衡了“风险”与“报酬”的MDP有效地提高了服务组合成功率。文献[17]就组合服务的总体Qo S计算给出了研究。
2 海云协同环境下资源池运行机制面临的问题与挑战
下一代智慧应用的典型特征是在海云协同环境下,以业务需求为驱动,实现人机物的相互协商、自动交互与协同,最终实现和满足特定的业务需求。但此愿景的实现还面临诸多技术难题与挑战。主要体现在资源表述、资源发现、资源组合、资源规划、资源组装、资源协作等问题。
( 1) 资源表述: 海云复杂环境下由于资源的多样性和多变性,导致资源的描述( 即有关服务属性的描述信息,如服务接口、服务质量等) 不断变化,需要解决异构资源如何通过统一的接入标准和方法,实现海云资源的虚拟化和服务化。
( 2) 资源发现: 现有的资源发现模式( 如“关键词查找”和“目录浏览”) ,返回资源很难准确满足用户的实际需求,大量相关与不相关的返回结果增加了用户资源选择的难度,用户也难以按照“资源质量”,“成本收益”等业务指标对资源进行二次筛选。
( 3) 资源组合: 在整个资源发现和组合的过程中,现有技术通常以一种被动编码的形式实现,资源的发现和组合均由资源请求者或者资源代理通过直接的服务调用或者用服务组合语言编写程序等方式进行,其动态性和适应性受到很大的限制。此外,由于资源跨行业、资源粒度的差异性、资源的静态运行等限制因素,很难依据用户需求准确定位资源并对资源进行再组合,形成资源的二次封装,以满足用户不同层面的业务需求。
( 4) 资源评级与监测: 海云协同环境是一个开放的可演进系统,如何基于真实的用户数据实现资源的评级,如何监测资源的Qo S,如何协商服务级别,如何实现资源的优胜劣汰,实现资源使用的效用最大化,以上问题的解决,都亟需建立一套资源评价与监测机制。
( 5) 资源协作: 海云协同环境下,人机物的相互协商、自动交互与协同,最终都体现为资源的交互与协作,要实现此目标,需要海云资源池提供交互协议和协作规则等底层支持。
除此之外,在海云开放环境下,资源将以前所未有的数量不断扩展和更新,资源功能及质量呈现持续变化的特点,对于用户来说,将面对一个复杂、多变的动态资源环境。由于缺乏统一的资源视图,缺乏透明和统一的访问机制,资源发现、使用和协作的复杂度必将猛增。
3 海云协同资源池运行机制的研究内容与创新点
如前所述,传统的资源发现使用一种公共的、标准化的服务描述语言( 如WSDL) 来描述资源,以使服务搜索和发现程序可以识别该资源。以此为基础,本文建立一种公共的词汇表来辅助资源的发现和需求理解,本文主要从资源功能需求角度研究资源的发现和需求匹配,因此,我们建立了一个领域功能词汇表,这个功能词汇表在资源发现和资源组合阶段中起着关键作用,它用于支持需求的功能描述和资源的能力描述,使得在功能层面上资源池运行机制可以理解需求,并且能对是否参与该需求的解决作出判断。
为此,本文提出一些概念定义如下:
( 1) 资源空间( Resource Space,简称RS) : 是特定领域中可能的资源构成的概念组成的词汇表,资源空间包含3组基本概念: 资源、属性、服务。
( 2) 资源: 在海云计算领域中,任意可以被需求方识别和访问的实体称为资源,例如数据、仪器仪表、软硬件系统、人等等。所有资源均包含一组特定的属性,每个属性用于表征资源某个方面的特征。资源属性可以分成静态属性和动态属性。静态属性是指在资源的整个生命周期中,其值不随时间发生变化的属性,例如资源的名称、资源类型等等; 而动态属性的值将随外界条件的改变而发生变化,例如资源的访问量,资源所处状态等等。
( 3) 资源服务: 资源所具备功能的表述形式,资源使用者通过资源服务来操作资源的功能,实现资源的状态变迁,以达成用户特定的业务价值。
( 4) 原子资源: 经过一次封装并提交到资源池中的资源,是可供使用者识别和访问的不可拆解的实体。
( 5) 事务资源: 资源实体所具备的服务具有事务特性,对服务的调用要么成功改变资源状态,要么回滚到服务调用前的资源状态。
( 6) 组合资源: 若干原子资源或组合资源组合编排后形成的可供使用者识别和访问的资源实体。
以上实现以机器能理解的词汇进行资源描述是关键,在传统资源上添加概要与功能词汇标注,将资源的状态从机器可读提高到机器可理解,使得资源的属性和功能能被机器自动识别、处理,这是整个海云协同资源池实现机制的基础。由于语义信息比语法信息更能准确地描述资源及资源之间的关系,因此从定性角度来看,通过语义获得的结果比用语法获得的更好、更准确。
本文提出的海云协同资源池运行机制主要创新点体现在以下几个方面。
( 1) 提出一种新的资源描述方法,利用语义信息和本体论( 本体库与词汇库) ,在传统资源上添加语义信息,将资源从机器可访问,提高到机器可理解,以语义资源为基础,建立面向海云计算环境的资源发现,资源规划、资源组装、资源共享、资源协同、资源消费的综合运行机制。
( 2) 提出一种新的意图 - 能力 - 实现的资源消费模式,将资源的使用模式从被动检索,被动调用的传统模式提高到以需求为驱动,以Qo S为保障,以收益最大化的资源自动供给模式。
( 3) 提出一种新的新的资源池运行机制,一方面利用资源的相似度,建立资源簇并用语义信息显示声明资源簇具备的能力,另一方面利用语义信息,将用户需求转化为机器可推理和识别的意图,资源池根据用户意图及资源簇能力进行匹配,推荐可供选择的候选资源簇,基于Qo S、成本与收益完成用户意图与资源簇能力的自动协商,最终实现用户意图。
4 海云协同资源池的概念模型与概念架构
为解决海云协同资源池面临的挑战与难题,以领域公共词汇表、资源空间、资源词汇标注为技术基础,本文提出基于领域词汇表的海云资源池概念模型如图1所示。
该模型是SOA服务模型的扩展,在该模型中,概念实体的定义分别如下:
( 1) 资源提供者: 通过统一的接入标准和方法向海云资源池注册资源的实体,除了资源的语法描述信息,还需要提交资源的语义词汇信息标注;
( 2) 资源消费者: 请求和消费资源的实体,资源消费者按照需求描述模板,填写并向资源池提交资源使用需求,资源池对需求进行理解,推荐所需资源,并协调、监测资源的后续使用;
( 3) 资源池: 提供整个资源管理运行的基础设施,接受资源提供者的资源注册、接受资源使用者的资源查找、发现、消费请求,协调、监测资源的服务质量,扩展的词汇表辅助资源的发现和需求理解,用于支持需求的功能描述和资源的能力描述,使得在机器可以理解需求,并且能对资源的能力进行判断。
海云协同资源池概念架构如图2所示。关键功能模块包括资源注册表、资源发布、资源发现、资源消费、资源Qo S管理、资源生命周期管理、资源计量以及适配器等。
海云协同资源池概念架构中各功能模块定义如下:
( 1) 资源注册表: 以目录服务的形式存储资源的语法与语义信息,对其它功能模块提供注册表的增删查改功能;
( 2) 资源发布模块: 对外提供资源发布接口,接收资源发布请求,对符合统一规范的资源发布请求,将资源语法与语义信息写入资源注册表;
( 3) 资源发现模块: 对外提供资源发现接口,接收资源查找与发现请求,将用户提交的需求描述转换为资源池的查找请求,对资源池的返回结果进行筛选、匹配,按照需求的匹配程度推荐符合用户需求的资源;
( 4) 资源消费模块: 对外提供资源消费的授权接口,接收资源消费请求,该模块按照资源的计费规则向请求者发放资源使用小票,获得资源使用小票的消费者可以发起对资源的请求;
( 5) 资源计量模块: 对外提供资源使用审核、资源使用计量接口,接收适配器小票审核请求,审核通过后,对资源的使用进行相应计数;
( 6) 资源Qo S管理模块: 对资源的服务质量进行评测,为其它模块提供资源服务质量查询请求;
( 7) 资源生命周期管理模块: 为其他模块提供资源生命状态查询、变更等访问接口,管理资源从注册、使用、暂停到注销的全生命周期状态管理。
依据本文提出的概念架构,以下对资源发布、资源发现和资源消费三个典型场景进行描述如下:
( 8) 资源发布场景: 对应图2中的1. 1至1. 2流程,适配器调用资源发布接口,提交资源描述信息,资源发布模块对资源描述进行检查,如果符合统一规范,资源发布模块将资源信息注册到资源注册表中;
( 9) 资源发现场景: 对应图2中的2. 1至2. 3流程,消费者调用资源发现接口,提交需求描述信息,资源发现模块转换抽取需求描述,查找注册表,对注册表返回的结果进行筛选匹配,将匹配结果再返回给消费者;
( 10) 资源使用场景: 对应图2中的3. 1至3. 4流程,消费者调用资源消费接口请求资源的使用权,资源消费模块依据被请求资源的使用与计费规则,向消费者发放资源使用小票,消费者持小票向适配器请求访问资源,适配器收到访问请求后将访问小票提交到资源计量模块,资源计量模块将小票与系统留存票根进行审核并将结果返回适配器,适配器依据计量模块返回的审核结果,允许或拒绝资源的访问。
5 基于用户意图的资源匹配框架
以上文提出的海云资源池架构为基础,本文进一步提出如图3所示的基于用户意图的资源匹配框架,其资源匹配的实现流程如图3所述:
( 1) 用户意图描述: 对应图中的步骤1,用户对其意图进行格式化描述,包括获取资源目的,对价格的预期,对Qo S的要求,期望的输出结果等;
( 2) 用户意图解析: 对应图中的步骤2,解析模块将用户提交的意图描述解析为资源的语义描述,包括一般性信息,输入/输出,Qo S,前置条件等等;
( 3) 资源匹配: 资源匹配模块按照特定的相似性算法,将解析后的用户资源需求与资源池内的资源进行匹配,按照资源相似性推荐相应的资源;
( 4) 资源推荐: 将资源匹配模块输出的资源推荐给用户。
6 结束语
下一代智慧应用的典型特征是在海云协同环境下,以业务需求为驱动,实现人机物等资源的相互协商、自动交互与协同,最终实现和满足特定的业务需求。但此愿景的实现还面临诸多技术难题与挑战,主要体现在海云复杂环境下资源表述、资源发现、资源组合、资源规划、资源组装、资源协作等问题。