GENI体系结构研究(共4篇)
GENI体系结构研究 篇1
1 引言
随着计算机技术的发展和应用的不断深入,软件系统的规模和复杂度日益增加,在软件设计过程中人们所面临的问题不仅仅是考虑软件系统的功能问题,而是面临要解决更难处理的可修改性,性能,可靠性等非功能性问题。特别是80年代以来,对软件适应变更的要求越来越高,所以对软件整体的设计已经超过了算法和数据结构,成为系统开发关注的主要问题。软件开发最大的风险来自需求变更,但一蹴而就搞定需求不现实,好的体系结构是易改动的基础。能否复用很重要,设计复用比代码复用更有用更难。因此,研究软件体系结构研究的能提高软件生产率和简化维护。提高软件生产率的关键在于软件相关部分的复用,而简化维护的关键是减少软件理解的成本和提高软件的质量,这就是研究软件体系结构的目的。
2 软件体系结构的概念
软件系统的规模在迅速增大的同时,软件开发方法也经历了一系列的变革.在此过程中,软件体系结构也由最初模糊的概念发展到一个渐趋成熟的技术。
1)1992年Perry和Wo1f在他们早期关于软件体系结构的论文中指出:软件体系结构是一组具有一定形式的结构化元素或称为设计元素组成。
2)1993年Shaw和Garlan认为软件体系结构是软件设计过程中的一个层次,这一层次超越计算过程中的算法设计和数据结构设计。
3)1994年Hayes Roth则认为软件体系结构是一个抽象的系统规范,主要包括用其行为来描述的功能构件和构件之间的相互连接、接口和关系。
4)1995年Garlan和Perry在IEEE软件工程学报上又采用如下的定义:软件体系结构是一个程序各构件的结构、它们之间的相互关系以及进行设计的原则和随时间进化的指导方针。
5)1996年Boehm和他的学生提出,一个软件体系结构包括一个软件和系统构件,互联及约束的集合。
6)1997年Ctements和Kazman在《使用软件体系结构》一书中给出如下的定义:一个程序或计算机系统的软件体系结构包括一个或一组软件构件、软件构件的外部的可见特性及其相互关系。
3 软件体系结构的现状
下面介绍几种常见的体系结构。
模型-视图-控制结构是交互式应用程序广泛使用的一种体系结构。它有效地在存储和展示数据的对象中区分功能模块以降低它们之间的连接度,这种体系结构将传统的输入、处理和输入模型转化为图形显示的用户交互模型,或者换一种说法,是多层次的Web商业应用;MVC体系结构具有三个层面:模型(Model)、视图(View)和控制(Controller),每个层面有其各自的功能作用。
模型层负责表达和访问商业数据,执行商业逻辑和操作。也就是说,这一层就是现实生活中功能的软件模拟;在模型层变化的时候,它将通知视图层并提供后者访问自身状态的能力,同时控制层也可以访问其功能函数以完成相关的任务。
视图层负责显示模型层的内容。它从模型层取得数据并指定这些数据如何被显示出来。在模型层变化的时候,它将自动更新。另外视图层也会将用户的输入传送给控制器。控制层负责定义应用程序的行为。它可以分派用户的请求并选择恰当的视图以用于显示,同时它也可以解释用户的输入并将它们映射为模型层可执行的操作;在一个图形界面中,常见的用户输入包括点击按钮和菜单选择。在Web应用中,它包括对Web层的HTTP GET和POST的请求;控制层可以基于用户的交互和模型层的操作结果来选择下一个可以显示的视图,一个应用程序通常会基于一组相关功能设定一个控制层的模块,甚至一些应用程序会根据不同的用户类型具有不同的控制层设定,这主要是由于不同用户的视图交互和选择也是不同的。
在模型层、视图层和控制层之间划分责任可以减少代码的重复度,并使应用程序维护起来更简单。同时由于数据和商务逻辑的分开,在新的数据源加入和数据显示变化的时候,数据处理也会变得更简单。
软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式。它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整的系统。按这种方式理解,软件体系结构风格定义了用于描述系统的术语表和一组指导构件系统的规则。
对软件体系结构风格的研究和实践促进了对设计的复用,一些经过实践证实的解决方案也可以可靠地用于解决新的问题。体系结构风格的不变部分使不同的系统可以共享同一个实现代码。只要系统是使用常用的、规范的方法来组织,就可使别的设计者很容易地理解系统的体系结构。例如,如果某人把系统描述为"客户/服务器"模式,则不必给出设计细节,我们立刻就会明白系统是如何组织和工作的。
下面是Garlan和Shaw对通用体系结构风格的分类:
1)数据流风格:
批处理序列;管道/过滤器
2)调用/返回风格:
主程序/子程序;面向对象风格;层次结构
3)独立构件风格:
进程通讯;事件系统
4)虚拟机风格:
解释器;基于规则的系统
5)仓库风格:
数据库系统;超文本系统;黑板系统
设计模式使人们可以更简单方便地复用成功地设计和体系架构。将以证实的技术表述成设计模式也会使新系统开发者更容易理解其设计思路。设计模式帮助你做出有利于系统复用的选择,避免设计损害了系统复用性。通过提供一个显示类和对象作用关系以及它们之间潜在联系的说明规范,设计模式甚至能够提高已有系统的文档管理和系统维护的有效性。简而言之,设计模式可以帮助设计者更快更好地完成系统设计。
一个设计模式描述了对于特定设计问题被验证的解决方案,它综合了所有开发者对这个问题所在领域的知识和见解;同时也是对于常见问题的可重用方案,它们一般适用于单个问题,但是组织在一起就可以提供整个企业系统的解决方案。J2EE平台就用到很多设计模式,列举如下:
1)前控制器。
2)控制器
3)视图
4)视图帮助
5)会话面
6)数据访问对象
7)值对象或传输对象
8)截取过滤器
随着软件体系结构的不断发展,出现了一种新型的体系结构即SOA。SOA被称为软件体系结构的划时代革命。
SOA是一种结构模型,它可以根据需求通过网络对松散耦合的粗粒度应用组件进行分布式部署、组合和使用。服务层是SOA的基础,可以直接被应用调用,从而有效控制系统中与软件代理交互的人为依赖性。SOA的关键是“服务”的概念,W3C将服务定义为:“服务提供者完成一组工作,为服务使用者交付所需的最终结果。最终结果通常会使使用者的状态发生变化,但也可能使提供者的状态改变,或者双方都产生变化”。Service-architecture.com将SOA定义为:“本质上是服务的集合。服务间彼此通信,这种通信可能是简单的数据传送,也可能是两个或更多的服务协调进行某些活动。服务间需要某些方法进行连接。所谓服务就是精确定义、封装完善、独立于其他服务所处环境和状态的函数。”Looselycoupled.com将SOA定义为:“按需连接资源的系统。在SOA中,资源被作为可通过标准方式访问的独立服务,提供给网络中的其他成员。与传统的系统结构相比,SOA规定了资源间更为灵活的松散耦合关系。”Gartner则将SOA描述为:“客户端/服务器的软件设计方法,一项应用由软件服务和软件服务使用者组成……SOA与大多数通用的客户端/服务器模型的不同之处,在于它着重强调软件组件的松散耦合,并使用独立的标准接口。”Gartner相信BPM和SOA的结合对所有类型的应用集成都大有助益——“SOA极大的得益于BPM技术和方法论,但是SOA面临的真正问题是确立正确的企业意识,即:强化战略化的SOA计划(针对供应和使用)并鼓励重用。”虽然不同厂商或个人对SOA有着不同的理解,但是我们仍然可以从上述的定义中看到SOA的几个关键特性:一种粗粒度、松耦合服务结构,服务之间通过简单、精确定义接口进行通讯,不涉及底层编程接口和通讯模型。
4 软件体系结构存在的不足
尽管软件体系结构研究领域取得了若干成果,但在应用方面,软件体系结构仍然有很多可以改进的地方。N.Medvovonic认为,目前对软件体系结构的理解还仅限于直观、或当作稀奇事、或当作民间传说;语义丰富但不严谨。体系结构似乎没有解决实际问题。由此可见,若要有效地指导软件工程实践、为软件开发提供一个好的结构及其设计结构的指导原则,软件体系结构研究还有若干问题需要解决。比如缺乏统一的软件体系结构的概念,各种软件体系结构的不易操作性,ADL繁多,缺乏统一的ADL支持等等。
5 前景展望
目前,软件体系结构领域研究非常活跃。随着研究的不断深入,软件复用的层次越来越高,人们在开发新的系统时不必总是重复别人已经创造的东西,而是可在软件开发中复用已有成果,这样可以把注意力投入到软件新增功能上,提高软件开发效率。
针对软件体系结构发展趋势,Clements预测在未来的5~10年内软件体系结构研究将围绕如下5个方向展开:体系结构创建与选择;体系结构表示;体系结构分析;基于体系结构开发;体系结构演化.而Perry在IFIP 2000年世界计算机大会主题演讲中认为,最为重要的3个研究方向是:体系结构风格、体系结构连接件和动态体系结构。
摘要:软件体系结构目前是软件界研究的一个热点,为什么要研究软件体系结构,软件体系结构目前的现状如何,这些都是该文讨论的问题。
关键词:软件体系结构,重用,模式
参考文献
[1]王霞俊.浅谈软件体系结构[J].常州轻工职业技术学院学报,2007(1).
[2]邓伦丹,罗丹,汪伟.几种主要的软件体系结构风格的分析[J].科技信息,2007(32):102.
[3]孙昌爱,金茂忠,刘超.软件体系结构研究综述[J].软件学报,2002(13)
[4]秦建超,杜友福,孟珍伟.浅谈软件体系结构科技信息[J],2007(2)
[5]Michale Kircher.面向模式的软件体系结构[M].1版.北京:机械工业出版社,2005:5-6.
[6]The Boeing Company-Defense and Space Group.STARS conceptual framework for reuse processes,lockheed martin tactical defense system.STARS Program Technical Report,1994.
[7]Yu,Wei,Yang,Wei-hai,Cai,Xi-yao.Research on software architecture description[J].Computer Research and Development,2000,37(10):1185-1191.
软件体系结构风格研究 篇2
一、软件体系结构风格分析
最初的软件体系结构是Mainframe结构——客户、数据和程序都被集中在主机上,通常只有少量的GUI界面,对远程数据库的访问比较困难。随着PC的广泛应用,该结构逐渐被淘汰。在20世纪80年代中期出现了Client/Server分布式计算结构,应用程序的处理在客户机和服务器之间分担。随着大型软件系统的开发,这种结构在系统的部署和扩展性方面暴漏出不足。随着Internet的发展,一个更灵活的体系结构“三层/多层计算”体系结构应运而生。
Garlan和Shaw将通用软件体系结构风格总结为以下几类:
1. 数据流风格:
批处理序列;管道/过滤器。2.调用/返回风格:主程序/子程序;面向对象风格;层次结构。3.独立构件风格:进程通讯;事件系统。4.虚拟机风格:解释器;基于规则的系统。5.仓库风格:数据库系统;超文本系统;黑板系统。
下面将介绍几种主要和经典的体系结构风格和它们的优缺点。
1.C2风格。C2体系结构风格可以概括为:通过连接件绑定在一起的按照一组规则运作的并行构件网络。图1中构件与连接件之间的连接体现了C2风格中构建系统的规则。
C2风格是最常用的一种软件体系结构风格。从C2风格的组织规则和结构图中,我们可以得出,C2风格具有以下特点:
(1)系统中的构件可实现应用需求,并能将任意复杂度的功能封装在一起;(2)所有构件之间的通讯是通过以连接件为中介的异步消息交换机制来实现的;(3)构件相对独立,构件之间依赖性较少。系统中不存在某些构件将在同一地址空间内执行,或某些构件共享特定控制线程之类的相关性假设。
2. 数据抽象和面向对象风格。
目前软件界已普遍转向使用面向对象系统,抽象数据类型概念对软件系统有着重要作用。这种风格的构件是对象,或者说是抽象数据类型的实例。对象是一种被称作管理者的构件,因为它负责保持资源的完整性。对象是通过函数和过程的调用来交互的。图2是数据抽象和面向对象风格的示意图。
面向对象的系统有许多的优点:
(1)因为对象对其他对象隐藏它的表示,所以可以改变一个对象的表示,而不影响其他的对象。(2)设计者可将一些数据存取操作的问题分解成一些交互的代理程序的集合。面向对象的系统也存在着某些问题:(1)为了使一个对象和另一个对象通过过程调用等进行交互,必须知道对象的标识。只要一个对象的标识改变了,就必须修改所有其他明确调用它的对象。(2)必须修改所有显式调用它的其他对象,并消除由此带来的一些副作用。
3. 基于事件的隐式调用风格。
基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。系统中的其他构件中的过程在一个或多个事件中注册,当一个事件被触发,系统自动调用在这个事件中注册的所有过程,这样,一个事件的触发就导致了另一模块中的过程的调用。基于事件的隐式调用风格的主要特点是事件的触发者并不知道哪些构件会被这些事件影响。这样不能假定构件的处理顺序,甚至不知道哪些过程会被调用。隐式调用系统的主要优点有:(1)为软件重用提供了强大的支持。当需要将一个构件加入现存系统中时,只需将它注册到系统的事件中。(2)为改进系统带来了方便。当用一个构件代替另一个构件时,不会影响到其他构件的接口。隐式调用系统的主要缺点有:(1)构件放弃了对系统计算的控制。一个构件触发一个事件时,不能确定其他构件是否会响应它。而且即使它知道事件注册了哪些构件的构成,它也不能保证这些过程被调用的顺序。(2)数据交换的问题。有时数据可被一个事件传递,但另一些情况下,基于事件的系统必须依靠一个共享的仓库进行交互。在这些情况下,全局性能和资源管理便成了问题。(3)既然过程的语义必须依赖于被触发事件的上下文约束,关于正确性的推理存在问题。
4. 管道/过滤器风格。
在管道/过滤器风格的软件体系结构中,每个构件都有一组输入和输出,构件读输入的数据流,经过内部处理,然后产生输出数据流。这个过程通常通过对输入流的变换及增量计算来完成,所以在输入被完全消费之前,输出便产生了。因此,这里的构件被称为过滤器,这种风格的连接件就象是数据流传输的管道,将一个过滤器的输出传到另一过滤器的输入。
图3是管道/过滤器风格的示意图。
管道/过滤器风格的软件体系结构的优点:
(1)使得软构件具有良好的隐蔽性和高内聚、低耦合的特点;(2)支持软件重用。重要提供适合在两个过滤器之间传送的数据,任何两个过滤器都可被连接起来;(3)系统维护和性能增强简单;(4)支持并行执行。每个过滤器是作为一个单独的任务完成,因此可与其他任务并行执行。管道/过滤器风格的主要缺点:(1)通常导致进程成为批处理的结构。这是因为虽然过滤器可增量式地处理数据,但它们是独立的,所以设计者必须将每个过滤器看成一个完整的从输入到输出的转换。(2)不适合处理交互的应用。当需要增量地显示改变时,这个问题尤为严重。(3)因为在数据传输上没有通用的标准,每个过滤器都增加了解析和合成数据的工作,这样就导致了系统性能下降,并增加了编写过滤器的复杂性。
5. 批处理风格。
批处理风格的每一步处理都是独立的,并且每一步是顺序执行的,只有当前一步处理完后,后一步处理才能开始,数据传送在步与步之间作为一个整体。批处理的典型应用是经典数据处理和程序开发。
批处理风格与管道过滤器风格的共同点是把任务分解成一系列固定顺序的计算单元(组件),组件间只通过数据传递交互。区别表现在以下几个方面:批处理是全部的、高潜伏性的、输入时可随机存取、无合作性、无交互性,管道过、滤器是递增的、数据结果延迟小、输入时处理局部化、有反馈、可交互。
6. 仓库风格。
在仓库风格中,有两种不同的构件:中央数据结构说明当前状态,独立构件在中央数据存贮上执行,仓库与外构件间的相互作用在系统中会有大的变化。
若输入流中某类时间触发进程执行的选择,则仓库是一传统型数据库;另一方面,若中央数据结构的当前状态触发进程执行的选择,则仓库是一黑板系统。
二、三层C/S软件体系结构分析
C/S软件体系结构是20世纪90年代成熟起来的技术,它将应用一分为二,服务器(后台)负责数据管理,客户机(前台)完成与用户的交互任务。
传统的二层C/S结构存在以下几个局限:1.二层C/S结构是单一服务器且以局域网为中心的,所以难以扩展至大型企业广域网或Internet;2.软、硬件的组合及集成能力有限;3.客户机的负荷太重,难以管理大量的客户机,系统的性能容易变坏;4.数据安全性不好。因为二层C/S有这么多缺点,三层C/S结构应运而生。三层C/S结构是将应用功能分成表示层、功能层和数据层三个部分,如下图所示。
表示层是应用的用户接口部分,它担负着用户与应用间的对话功能。表示层一般使用图形用户接口,操作简单、易学易用。功能层相当于应用的本体,它是将具体的业务处理逻辑编入程序中。功能层的程序多半是用可视化编程工具开发的。数据层就是数据库管理系统,负责管理对数据库数据的读写。数据库管理系统必须能迅速执行大量数据的更新和检索。因此,一般从功能层传送到数据层的要求大都使用SQL语言。
对二层C/S结构的局限,三层C/S的解决方案是:对这三层进行明确分割,并在逻辑上使其独立。与传统的二层结构相比,三层C/S结构具有以下优点:
1. 允许合理地划分三层结构的功能,使之在逻辑上保持相对独立性,从而使整个系统的逻辑结构更为清晰,能提高系统和软件的可维护性和可扩展性。2.允许更灵活有效地选用相应的平台和硬件系统,使之在处理负荷能力上与处理特性上分别适应于结构清晰的三层;并且这些平台和各个组成部分可以具有良好的可升级性和开放性。3.三层C/S结构中,应用的各层可以并行开发,各层也可以选择各自最适合的开发语言。使之能并行地而且是高效地进行开发,达到较高的性能价格比;对每一层的处理逻辑的开发和维护也会更容易些。4.允许充分利用功能层有效地隔离开表示层与数据层,未授权的用户难以绕过功能层而利用数据库工具或黑客手段去非法地访问数据层,这就为严格的安全管理奠定了坚实的基础;整个系统的管理层次也更加合理和可控制。
软件体系结构风格为大粒度的软件重用提供了可能。然而,对于应用体系结构风格来说,由于视点的不同,系统设计师有很大的选择空间。要为系统选择或设计某一个体系结构风格,必须根据特定项目的具体特点,进行分析比较后再确定。不同的结构有不同的处理能力的强项和弱点,一个系统的体系结构应该根据实际需要进行选择,以解决实际问题。
摘要:本文对几种经典的软件体系结构风格进行了具体的阐述,分析了各种风格的特点、优缺点,最后重点介绍了三层C/S软件体系结构。
关键词:软件体系结构,软件体系结构风格,三层C/S软件体系结构
参考文献
[1]Shaw M,Garlan D,Software Architecture Perspectives on an emerging discipline,Prentice Hall,1996
[2]冯冲江贺冯静芳编著:软件体系结构理论与实践.人民邮电出版社
[3]Mary Shaw.Making Choices:A comparison of styles forsoftware architecture[J].IEEE Software,special issue onsoftware architecture,1995
物联网体系结构研究 篇3
发展物联网的关键是体系结构关系链[1]。本文拟就在分析现有物联网技术文献和体系结构实例的基础上,探讨物联网的一种层次性体系结构。
1 物联网的自主体系结构
为了适应于异构的物联网无线通信环境需要,Guy Pujolle提出了一种采用自主通信技术的物联网自主体系结构[2],如图1所示。所谓自主通信是指以自主件(Self Ware)为核心的通信,自主件在端到端层次以及中间节点,执行网络控制面已知的或者新出现的任务,自主件可以确保通信系统的可进化特性。
由图1可以看出,物联网的这种自主体系结构由数据面、控制面、知识面和管理面4个面组成。数据面主要用于数据分组的传送。控制面通过向数据面发送配置信息,优化数据面的吞吐量以及可靠性。知识面是最重要的一个面,它提供整个信息网络的完整视图,并且提炼成为网络系统的知识,用于指导控制面的适应性控制。管理面协调和管理数据面、控制面和知识面的交互,提供物联网的自主能力。
在如图1所示的自主体系结构中,其自主特征主要是由STP/SP协议栈和智能层取代了传统的TCP/IP协议栈,如图2所示。其中STP(Smart Transport Protocol)为智能传输协议,SP(Smart Protocol)为智能协议。物联网节点的智能层主要用于协商交互节点之间STP/SP的选择,用于优化无线链路之上的通信和数据传输,满足异构物联网设备之间的联网需求。
这种面向物联网的自主体系结构涉及的协议栈比较复杂,适用于计算资源较为富裕的物联网节点。
2 物联网的EPC体系结构
随着全球经济一体化和信息网络化进程的加快,为满足对单个物品的标识和高效识别,美国麻省理工学院的自动识别(Auto-ID)实验室在美国统一代码协会(UCC)的支持下,提出要在计算机互联网的基础上,利用RFID、无线通信技术,构造一个覆盖世界万物的系统,同时还提出了电子产品代码(Electronic Product Code,EPC)的概念。即每一个对象都将被赋予一个唯一的EPC,并由采用无线射频识别技术的信息系统管理、彼此联系;数据传输和数据储存由EPC网络来处理。随后,国际物品编码协会(EAN)和美国统一代码协会(UCC)于2003年9月共同成立了非营利性组织EPC Global,将EPC纳入了全球统一标识系统,实现了全球统一标识系统中的GTIN编码体系与EPC概念的完善结合。
EPC Global关于物联网的描述[3]是,一个物联网主要由EPC编码体系、射频识别系统及信息网络系统3个部分组成。
2.1 EPC编码体系
物联网实现的是全球物品的信息实时共享。显然,首先要做的是实现全球物品的统一编码,即对在地球上任何地方生产出来的任何一件产品,都要给它打上电子标签。在这种电子标签里携带有一个电子产品编码,并且全球唯一。电子标签代表了该物品的基本识别信息,譬如,表示“A公司于B时间在C地点生产的D类产品的第E件”。目前,欧美支持的EPC编码和日本支持的UID(Ubiquitous IDentification)编码是两种常见的电子产品编码体系。
2.2 射频识别系统
射频识别系统包括EPC标签和读写器。EPC标签是编号(每一个商品唯一的号码,即牌照)的载体,当EPC标签贴在物品上或内嵌在物品中时,该物品与EPC标签中的产品电子代码就建立起了一对一的映射关系。EPC标签从本质上来说是一个电子标签,通过RFID读写器可以实现对EPC标签内存信息的读取。这个内存信息通常就是产品电子码,产品电子代码经读写器上报给物联网中间件,经处理后存储在分布式数据库中。用户查询物品信息时只要在网络浏览器的地址栏中,输入物品名称、生产商、供货商等数据,就可以实时获悉物品在供应链中的状况。目前,涉及这部分的标准也已制订,包括电子标签的封装标准,电子标签和读写器间数据交互标准等。
2.3 EPC信息网络系统
EPC信息网络系统包括EPC中间件、发现服务和EPC信息服务3个部分。
(1)EPC中间件。要实现每个小的应用环境或系统的标准化以及它们之间的通信,在后台应用软件和读写器之间,须设置一个通用平台和接口,通常将其称之为中间件。EPC中间件实现RFID读写器和后端应用系统之间的信息交互,捕获实时信息和事件,或上行给后端应用数据库系统以及ERP系统,或下行给RFID读写器。EPC中间件采用标准的协议和接口,是连接RFID读写器和信息系统的纽带,目前,已在制订应用级别事件(Application Level Event,ALE)标准。
(2)发现服务(Discovery Service)。EPC信息发现服务包括对象名称解析服务(Object Naming Service,ONS)以及配套服务,基于电子产品代码,获取EPC数据访问通道信息。目前,根ONS系统和配套的发现服务系统由EPC Global委托Verisign公司进行运维,其接口标准也正在形成之中。
(3)EPC信息服务(EPC Information Service,EPC IS)。EPC IS即EPC系统的软件支持系统,用以实现最终用户在物联网环境下交互EPC信息。关于EPC IS的接口和标准也正在制订之中。
可见,一个EPC物联网体系架构[3,4]主要应由EPC编码、EPC标签及RFID读写器、中间件系统、ONS服务器和EPC IS服务器等部分构成,如图3所示。
由图3可以看到一个企业物联网应用系统的基本构架。该应用系统由3大部分组成,即RFID识别系统、中间件系统和计算机互联网系统。其中RFID识别系统包含EPC标签和RFID读写器,两者通过RFID空中接口通信;EPC标签贴于每件物品上。中间件系统含有EPC IS、PML以及ONS及其缓存系统,其后端应用数据库系统还包含ERP系统等,中间件系统与计算机互联网相连,能够及时有效地跟踪、查询、修改或增减数据。
综上所述,EPC系统是在计算机互联网基础上,通过EPC中间件、对象名称解析服务(ONS)和EPC信息服务(EPC IS)来实现全球物物互联的。
3 物联网的UID技术体系架构
鉴于日本在电子标签方面的发展,早在20世纪80年代中期就提出了实时嵌入式系统(TRON),其中的T-Engine是其体系架构的核心。在T-Engine论坛领导下,泛在ID中心设立在东京大学,于2003年3月成立,并得到日本政府经产省和总务省以及大企业的支持,目前包括微软、索尼、三菱、日立、日电、东芝、夏普、富士通、NTT、Do Co Mo、KDDI、J-Phone、伊藤忠、大日本印刷、凸版印刷、理光等诸多企业。组建UID中心的目的是为了建立和普及自动识别“物品”所需的基础技术,实现“计算无处不在”的理想环境。
UID是一个开放性的技术体系架构,由泛在识别码(u Code)、泛在通信器、信息系统服务器和u Code解析服务器等部分构成。UID使用u Code作为现实世界物品和场所的标识,UC从u Code电子标签中读取u Code获取这些设施的状态,并控制它们,UC类似于PDA终端。UID能在多种行业中得到广泛应用,UID是将现实世界用u Code标签的物品、场所等各种实体和虚拟世界中存储在信息服务器中各种相关信息联系起来,实现物物互联。
4 架构物联网体系结构的建议
物联网概念的问世,打破了传统的思维模式。在提出物联网概念之前,一直是将物理基础设施和IT基础设施分开:一方面是机场、公路、建筑物,而另一方面是数据中心,个人计算机、宽带等。在物联网时代,将把钢筋混凝土、电缆将与芯片、宽带整合为统一的基础设施,这种意义上的基础设施像是一块新的地球工地,世界在它上面运转,包括经济管理、生产运行、社会管理以及个人生活等。研究物联网的体系结构,首先需要明确架构物联网体系结构的基本原则,以便在已有物联网体系结构的基础之上,形成参考标准体系结构。
4.1 物联网体系结构架构原则
物联网有别于互联网,互联网主要目的是构建一个全球性的计算机通信网络,而物联网则主要从是应用出发,利用互联网、无线通信网络资源进行业务信息的传送,是互联网、移动通信网应用的延伸,是自动化控制、遥控遥测及信息应用技术的综合展现。当物联网概念与近程通信、信息采集与网络技术、用户终端设备结合后,其价值才将逐步得到展现。因此,设计物联网体系结构时应该遵循以下几条原则。
(1)多样性原则,物联网体系结构须根据物联网的服务类型、节点的不同,分别设计多种类型的体系结构,不能也没有必要建立起统一的标准体系结构。
(2)时空性原则,物联网尚在发展之中,其体系结构应能满足在物联网的时间、空间和能源方面的需求。
(3)互联性原则,物联网体系结构需要平滑地与互联网实现互联互通;如果试图另行设计一套互联通信协议及其描述语言将是不现实的。
(4)扩展性原则,对于物联网体系结构的架构,应该具有一定的扩展性设计,以便最大限度地利用现有网络通信基础设施,保护已投资利益。
(5)安全性原则,物物互联之后,物联网的安全性将比计算机互联网的安全性更为重要,因此物联网的体系结构应能够防御大范围内的网络攻击。
(6)健壮性原则,物联网体系结构应具备相当好的健壮性和可靠性。
4.2 一种层次性物联网体系系统结构
以上分别从某个具体应用角度讨论介绍了物联网的系统结构,这类结构无法构成一个通用的物联网系统。根据物联网的服务类型和节点等情况,下面给出一个划分为由感知层、接入层、网络层和应用层组成的4层物联网体系结构,如图4所示。
(1)感知层。
感知层主要功能是信息感知与采集,主要包括二维码标签和识读器、RFID标签和读写器、摄像头、各种传感器、视频摄像头等。如温度感应器、声音感应器、震动感应器、压力感应器、RFID读写器、二维码识读器等,完成物联网应用的数据采集和设备控制。
(2)接入层。
接入层由基站节点(Sink节点)和接入网关(Access Gateway)组成,完成应用末梢各节点信息的组网控制和信息汇集,或完成向末梢节点下发信息的转发等功能。也就是在末梢节点之间完成组网后,如果末梢节点需要上传数据,则将数据发送给基站节点,基站节点收到数据后,通过接入网关完成和承载网络的连接;当应用层需要下传数据时,接入网关收到承载网络的数据后,由基站节点将数据发送给末梢节点,从而完成末梢节点与承载网络之间的信息转发和交互。
接入层的功能主要由传感网(指由大量各类传感器节点组成的自治网络)来承担。
(3)网络层。
网络层包括各种通信网络与物联网形成的承载网络。承载网络主要是现行的通信网络,如2G网络、3G网络、3G网络、4G网络,或者是计算机互联网、移动通信网、企业网等,完成物联网接入层与应用层之间的信息通信。
(4)应用层。
应用层由各种应用服务器组成(包括数据库服务器),主要功能包括对采集数据的汇聚、转换、分析,以及用户层呈现的适配和事件触发等。对于信息采集,由于从末梢节点获取了大量原始数据,且这些原始数据对于用户来说只有经过转换、筛选、分析处理后才有实际价值;这些有实际价值内容的应用服务器将根据用户的呈现设备不同完成信息呈现的适配,并根据用户的设置触发相关的通告信息。同时当需要完成对末梢节点控制时,应用层还能完成控制指令生成和指令下发控制。
应用层要为用户提供物联网应用UI接口,包括用户设备(如PC、手机)、客户端等。
除此之外,应用层还包括物联网管理中心、信息中心等利用刚络的能力对海量信息进行智能处理的云计算功能。
5 结束语
物联网是一个十分复杂而又庞大的系统,其体系结构是影响未来发展应用的关键所在,需要分阶段有计划地开展深入的科学研究。本文对物联网的体系结构进行了初步研究,提出了一种具有感知层、接入层、网络层和应用层的4层次参考模型,并对各层所实现的主要功能进行了讨论。
摘要:通过对现有物联网技术文献和体系结构实例的分析,探讨了物联网的体系结构。在总结物联网特征的基础上,提出了一个层次性物联网体系结构和系统模型。
关键词:物联网,物品电子代码,体系结构
参考文献
[1]http://www.secu.com.cn/news/view/200911/2364220.shtml,2010,4
[2]Pujolle G.An autonomic oriented architecture for the Internet of Things.IEEE2006International Symposium on Modern Comput-ing.2006.163~168
[3]Yan Bo,Huang G W.Supp ly chain information transmission based on RFID and internet of things.ISECS International Colloquium on Computing,Communication,Control and Management.2009,4:166~169
并行推理体系结构研究 篇4
传统的对推理技术的研究和推理机的研究和推理问题的识别与控制,大多数采用的是非单调处理方法、串行方法,在单个CPU上执行,采用的推理策略为正向推理、反向推理以及正反向混合推理。这种单一的处理模式对解决一些特定领域的、知识库比较小的、复杂度比较低的问题,发挥了一定的作用。但随着待解决的问题的复杂度增加,推理空间常呈指数率增长,常规的单一串行处理模式已不能满足这种需求。而且,单核的处理速度也已经达到了极限[1]。
为了解决以上问题,就需要有很大的存储器和高度的并行化来处理大量的推理。近几年来,处理器也从传统的单核向双核、多核发展,Intel公司和AMD公司先后发布了双核与四核处理器,Sun公司为服务器也发布了八核的UltraSPARC处理器,这为并行处理提供了良好的硬件环境。
所以,采用并行技术来加速推理及处理各种智能问题已成为一种迫切的要求。研究并行推理,将首先研究并行推理的核心技术之一:并行推理体系结构。这将有效地解决串行推理中的问题。同时,也将达到两个主要目标:一是提高推理的速度;二是提高推理的精度,也就是提高可靠性。
1几种并行推理体系结构
采用何种并行推理结构,将对推理效率产生重要的影响。目前所讨论的并行推理主要是在并行分布式环境下进行的。分布式环境是:节点在逻辑上统一而在物理上分散的一种环境。分布式环境中的每个节点具有以下特点:1)每个节点包括领域有限知识、群体任务规划调度的有限知识、预测其它节点的有限知识;2)能把复杂问题分解为若干子问题;3)能与其它节点进行通信与协作。通过分布式系统中各组成部分相互协作、并行工作等手段,来提高整个系统的工作速度和工作效率[1,2,3]。
1.1星形结构
星形结构是指中心节点控制多个外围节点进行推理。见图1。
其工作原理是:中心节点把推理任务划分成多个子任务,把知识库分解成多个子知识库,并分配到各个外围节点上进行并行推理。
优点是简单、易构建、易维护。
缺点是可靠性低。一旦中心节点出现故障,则整个推理将不能进行。
1.2环形结构[2]
环形结构是指各节点形成一个封闭的环进行并行推理。见图2。
其工作原理是:各节点有自己独立的任务和知识库,彼此间通过环进行通信来并行处理。环形结构适合系统的节点分布在一个相互之间距离并不远的区域,而且节点上用户之间独立性较大且使用权相当。各节点之间可以通过互传信息的方式讨论问题或请求帮助(协助),最终的裁决权仍在本节点。(总线结构的工作原理和环形结构类似)。
优点是简单、易构建、易维护。
缺点是可靠性差,当某一节点出现故障,则易引起整个系统不能运行;而且,环形结构(总线结构类似)都没有“黑板”,要讨论问题比较困难(此时可通过广播的方式向所有节点发消息来弥补这个缺陷)。
1.3立方体结构[3]
立方体结构是指在三维空间中的六面体结构。可看成是由多个环组成的一种结构。见图3。
其工作原理是:在该结构中,初始化时,随意选定一个节点作为主控节点,负责整个系统的任务分配,通信管理。
优点是具有较高的可靠性,单个节点的失效不影响整个系统的运行。
缺点是构建结构比较困难。
1.4主从式结构[4]
主从式是指由一台独立的主机控制多台从机进行并行推理,在此模式下的消息传递主要在从机与从机之间进行。见图4。
其工作原理是:主机首先把获得的推理任务进行分解,划分成多个子任务,同时也将规则库和知识库进行分解。分解规则库和知识库的原则是让它们与分解后的子任务相配套,形成一个个的子规则库和子知识库。然后主机将分解好的子任务和配套的子规则库、子知识库分配到各从机,由从机完成后面的推理任务。
优点是易构建、易维护。
缺点是主机除了在开始的时候需要将任务、规则、知识库进行分解,在推理过程中还要协调各从机间的通信,处理各从机传递到的消息和数据。这样,随着需要推理的问题的复杂度、数据量加大,主机的负担将大大加重。推理过程中更多时间将是等待主机处理各种数据、消息,从机在这些时间里完全地处于闲置状态。整个推理的效率将明显制约于主机的性能。
1.5层连分级式结构[4,5]
层连分级式是指:推理架构被分为多个级别,按层次互相连接。见图5。
其工作原理是:该结构是对主从式的一种改进,在主机和从机之间加入了伪主机这一层级,变成三层结构。主机处于树形结构中的根节点,具有绝对权限,对伪主机和从机进行协调、管理、并获得最终的推理结果。伪主机处于中间节点,具有相对权限,从属于主机,也具备完整的知识库和规则库,可以进行任务、规则库、知识库的分解,分配给从机,对从机进行管理、协调。从机处于叶子节点,仅能进行推理,受主机和伪主机的管理。
优点是在一定程度上缓解了主机的压力。
缺点是加大了主机与从机之间的通信开销。同时,伪主机虽然拥有全部的知识库、规则库,能进行详细的子任务分解,但也增加了伪主机的压力。
1.6轮形辐射式[6]
轮形辐射式是指:星形结构和环形结构的一种组合结构,也是一种多处理器分布式系统。见图6。
其工作原理是:中心节点是整个系统的控制中心,管理整个系统的通信,分配和调度需要处理的任务,并调用一个或借个处理单元来处理复杂度较高的任务。
优点是结构灵活、较高的可靠性。当中心节点出故障时,系统可由外围的环状来运行;当外围节点某一个出现故障,此结构又可变为星形结构来运行。
缺点是构建这种结构相对比较复杂。
2一种新型并行推理体系结构
作者所在实验室的KAMADUO机器人具有独特的分布式结构和功能。该机器人总体结构为:一个中心控制计算机,四个以上执行计算机。KAMADUO机器人原型见图7,KAMADUO并行推理结构图见图8。
KAMADUO并行推理结构是一个独特的结构,既能组合成星形或环形进行并行推理,又可在三维空间结构中动态组合进行并行推理,完成问题求解。对该结构分析如下:
环形结构(7种):
底层组合(4种):
① B、C、D;② B、C、E;③ B、D、E;④ C、D、E。
顶层和底层组合(3种):
⑤ A、B、D;⑥ A、B、C;⑦ A、B、E。
星形结构(C、D、E节点不连接):
① B、C、D、E。
轮形辐射式结构(C、D、E节点相连):
① B、C、D、E。
立方体结构:
① A、B、C、D;② A、B、C、E;③ A、B、D、E;④ A、B、C、D、E。
总之,根据推理任务的情况、知识库的大小,可灵活选择节点来组成环形、星形、轮形
辐射、立方体等结构来进行并行推理。
实验证明:该结构灵活方便,可靠性高,在运行中,当某一节点发生故障,系统仍能维
持运行。所以,该结构具有较高的可靠性。
3总结
本文在分析了常见的几种并行推理结构的基础上,介绍了一种新型的机器人并行推理结构,具有较好的理论意义和现实意义,将对分布式系统、智能决策系统、智能信息处理系统提供新的理论方法和技术。
摘要:并行推理是人工智能、信息处理等研究领域的一个重点,受到高度重视。首先概括了并行推理的几种体系结构,并分析了各自的优缺点,然后介绍了一种新型的移动机器人并行推理结构,最后验证了这种结构的正确性、可靠性、高效性。
关键词:人工智能,并行推理,移动机器人
参考文献
[1]冯健翔.人工智能及其航天应用概论(上、下).北京:宇航出版社,1999
[2]陈国良.并行算法——结构.算法.编程.北京:高等教育出版社,2004
[3](美)Dongarra J,Fox G,Kennedy K,等.并行计算导论.莫则尧,陈军,曹小林,等译,北京:电子工业出版社,2005
[4]李磊,韩卫,崔岷,等.层连分级式并行推理架构.科学技术与工程,2006:6(17):2762—2765
[5]覃征,康继昌.并行推理技术研究.航空学报,1997:18(5):635—636