开发平台

2024-05-26

开发平台(精选12篇)

开发平台 篇1

摘要:移动平台已经成为了目前互联网开发的主流。相对于传统的微型机平台, 移动平台有着方便携带、集成度高、接口丰富等优点。除此以外, 因为移动平台的功耗极低, 所以在提倡绿色的今天, 节能也成为移动平台的一大优点。文章将首先介绍移动平台的发展。然后列举目前流行的移动平台的架构特点。最后讲述几种移动平台开发环境的安装、配置和使用。文章作为移动开发的入门, 可以为移动开发的初学者提供参考。

关键词:移动开发,入门,构建

1 背景

移动设备性能的提高, 促进了移动互联网的发展。在移动设备平台上进行软件开发已经成为一个趋势。早期的移动设备除了通信之外几乎没有其他功能。而随着智能手机和移动互联网设备 (Mobile Internet Device, 简称MID) , 则具有了和个人计算机几乎相同的结构。也就是处理器-内存-外存。这样, 一些在传统的计算机平台运行的软件, 就可以转移到移动平台上。但是初期的设备往往性能差、输入/输出能力不强, 所以仅仅能完成一些简单的工作。例如查看文档、音乐播放、查看文字网页等。随着电子器件的性能/价格比的提高, 移动平台中的设备处理能力进一步提高, 因此在计算机上运行的很多软件都可以在移动平台上运行。例如高清视频播放、3D游戏等。

表1列举了早期移动设备和今天流行的移动设备的对比。从中可以看出移动设备的发展非常迅速。随着移动平台的迅速发展, 移动软件开发平台发展也极为迅速。本文将在第二部分介绍几种移动平台的特点, 第三部分介绍移动开发的硬件、软件平台的搭建。最后给出总结。

2 移动开发平台简介

与计算机的发展类似, 最早的移动开发一般是专用平台, 很少对外开放, 移动平台发展的早期对开发者起到了保护作用, 但是也阻碍了移动平台的进一步发展。随着开发平台的开放, 各种计算机平台上常用的开发语言都出现在了移动平台上。但是因为各个厂商生产的移动平台结构差异性很大。主流的开发平台有以下几种。

Nokia作为智能手机初期的重要厂商, 推出了Symbian系统。程序设计人员在该系统下编程[1,2]已经非常方便。但是其使用的C/C++语言编写的程序无法在其他平台下运行。而且这一平台下的程序设计使用了较多的宏造成了程序的易读性很低。这限制了该平台的进一步发展。所以尽管该平台还有一定市场, 但是其未能得到充分发展。

Mac OS作为一个封闭的开发环境[3,4,5], 对开发者的资格有着严格的限制。必须拥有该公司的计算机设备, 并且在其论坛中注册成功, 才能进行该平台下的程序开发。但是Apple公司为开发者提供了完整的开发平台、发布市场。这从很大程度上保证了开发者的利益, 因此该平台开发在国外非常流行。但是在国内几乎没有文献报道。

Android[6,7]平台是现在最流行的移动设备平台。在该平台可以使用多种语言开发。因为硬件平台的统一性高, 所以即使使用C语言开发的程序, 也可以在不同系统运行。

以上介绍了硬件平台, 除此之外移动开发软件平台也分为几类。按照语言划分, 主要有C/C++、JAVA、HTML5等几种。

在移动平台发展的早期的C/C++语言由于无法跨平台运行。JAVA主要使用微型版 (Java 2 micro Edition) 。这一版本的程序可以在支持JAVA的所有硬件上执行。HTML作为一种解释性的语言, 只要硬件平台能够运行浏览器软件, 就可以运行, 因此本文下一部分主要描述后两种平台的建立。

3 开发平台的建立

Eclipse是一个通用的开发环境, 在其中可以进行多种语言的开发。它也提供了针对JAVA语言的支持。下面首先介绍这一平台的配置原装。安装和配置Eclipse平台需要下面几个步骤:

(1) 安装jre7; (2) 下载并解压eclipse集成开发环境; (3) 下载并安装android sdk; (4) 下载并在eclipse中安装ADT模板; (5) 下载并解压phonegap。

至此平台建立完成。这一平台使用免费软件, 所以对编写的程序没有任何保证。因此实际开发中一般使用下面的Dreamweaver平台。

Dreamweaver是一套商业开发平台。Adobe公司提供了基于Phonegap的云编译平台。要想使用这一平台, 要经过下面几个步骤:

(1) 安装Dreamweaver CS6版本; (2) 安装android sdk; (3) 安装Phonegap; (4) 注册Phonegap开发账号;这一平台使用方面, 其缺点是依赖于网络。

这部分的最后, 我们展示一个使用Dreamweaver平台开发的实例。在本例中, 我们使用基于Cortex A8平台的Tiny210开发板。这一开发板使用三星 (Samsung) 的S5PV210处理器, 配备512MB内存和512MB单层单元 (SLC) Flash存储器。并运行Android 4.0系统。在Dreamweaver中建立一个站点后, 加入“包含主题的j Query Mobile (本地) ”起始页, 然后在线编译后得到app.apk安装包。在上面平台运行。通过进一步测试, 这一程序也可以在Motorola ME525手机上运行。

在该项目的代码中可以看到, 本项目的主要部分就是一个html网页, 它使用了jquery-mobile的两个脚本文件和两个样式表文件。jquery-mobile文件夹下的jquery.mobile.theme-1.0.min.css、jquery.mobile.structure-1.0.min.css、jquery-1.6.4.min.js和jquery.mobile-1.0.min.js。其中包含的程序运行所需的各种函数、样式参数。而后半部分则是基本的HTML5代码。由此, 移动开发经由简单的网页编写即可实现。

4 结束语

本文简单介绍了移动开发平台的发展历史和各个平台的特点。在众多平台中, Android最为开放, 开发也最为简单。本文的实例也说明了这一点。本文讲述了开发环境的搭建, 并在建成的平台上运行了实例, 可以为移动开发人员提供一定程度的参考。

参考文献

[1]方银旺, 赵问道, 李欣.Symbian操作系统及其应用程序开发[J].计算机工程, 2003, 01:275-277.

[2]姚盛旺.SymbianOSC++程序开发[J].计算机与数字工程, 2007, 01:65-66+9.

[3]苹果电脑举行2002年MacOSX开发技术研讨会[J].电视字幕 (特技与动画) , 2002, 04:36.

[4]苹果宣布为MacOS开发者设立大奖[J].今日电子, 1996, 07:109.

[5]ColorSync2.5增加插入功能--在MacOS上准确识别第三方开发商软件[J].每周电脑报, 1998, 15:52.

[6]公磊, 周聪.基于Android的移动终端应用程序开发与研究[J].计算机与现代化, 2008, 08:85-89.

[7]姚昱, 刘卫国.Android的架构与应用开发研究[J].计算机系统应用, 2008, 11:110-112+24.

开发平台 篇2

一、承元是软件定制开发平台简介

承元软件定制开发平台是构建和支撑应用的软件基础平台,为一般应用系统提供权限认证、安全管理、资源管理、事务、数据管理、二次开发、系统集成等基础功能和服务。一般的应用构建在平台之上,平台为应用提供基础的服务。基于平台构建的应用系统拥有良好的集成性、扩展性,拥有更好的性能和安全。构建在软件应用支撑平台上,使整个应用拥有更强的生命力,能够满足后续应用扩展和变化的需要。

承元软件定制开发平台包括资源管理(权限系统)、业务表单系统、工作流系统等三大基础平台。

1、资源管理平台

软件应用系统中不管是网站还是其他的业务系统,一般都会涉及到用户的管理、组织部门的管理、栏目及菜单的管理、权限的管理,这些是系统运行的基本保障。资源管理是一个通用的应用支撑平台,对组织部门、用户、用户组、服务/栏目等各类资源进行统一的配置和管理,实现用户统一身份管理、统一身份认证、统一权限配置、统一访问控制,是应用软件系统通用的权限管理平台。

2、业务表单系统

业务表单系统是一个无需编程,通过定制即可实现对不同数据的增加、修改、删除、查询、内容展示、数据统计等功能的快速定制开发平台。可根据用户需求通过定制构建不同的业务系统如:车辆管理、人事管理、培训管理、网上申报数据的采集、数据的查询与展示、网上调查与统计等;也可以同工作流系统结合作为表单和数据的处理部分;或对已存在业务系统进行改造和功能扩充,如:用户原来存在一个应用系统,需要再原有系统的基础上添加新的功能。

业务表单系统是面向非开发人员的定制平台,对于使用者只需熟悉很简单数据库知识和网页制作技术;同正常的开发模式比较,可以节省开发实施时间,能够快速适应用户需求的变化,降低实施成本;通过平台定制生成的功能错误率低,用户业务需求发生变化时只需通过定制进行修改即可快速的响应变化。

3、工作流系统

工作流系统是各工作流程(公文处理、业务审批、借款、请假、用车申请等)定义和运行平台。工作流定义包括工作流程基本属性定义、节点/步骤定义、角色定义、权限定义、工作流业务处理或表单定义与关联等基本功能。工作流定义的数据由工作流引擎加载而运行。

使用承元平台可以进行各种基于J2EE的B/S应用系统的开发,即项目模式以及依据用户个性化需求的定制开发,典型的包括:CRM、企业订单管理、库存管理、在应用系统的开发中,平台之间实现分工与协作,如:资源管理实现组织、用户、栏目、权限的管理,实现应用的集成;表单系统实现具体模块功能的定制开发,调用资源管理的接口;工作流系统则实现流程的管理和控制,并实现和业务系统数据的有机结合。

构建于承元定制开发平台之上的承元OA系统是平台型OA,充分发挥了软件平台的整体优势,拥有产品化和平台化的双重优势,系统拥有较强的扩展性和二次开发能力,具备良好的稳定性、性能、安全性等整体优势,系统易维护。

二、软件定制开发平台的优势

基于承元平台的定制开发可以简化系统设计、降低技术难度,定制代替开发缩短项目周期、大大降低系统的错误率,让系统的维护更加容易,尤其是后续的扩展和升级非常方便,因而用户整体的满意度比较高。

1、业务系统的定制开发平台

通过定制无需编码开发即可实现业务系统中的增、删、改、查和数据统计汇总、各种流程审批等功能。

2、简单易用

让非开发人员能够做开发人员所做的事情,开发人员和非开发人员可以很好的配合。使用平台进行定制开发,不会改变现有的开发行为,开发和定制可以相互补充,节省成本,大大缩短开发的周期。

3、易于移植和整合可以非常方便的整合到J2EE的环境中;

采用主流的J2EE技术开发,与操作系统平台无关,支持不同的数据库平台;可以方便的导入其他系统已定制的功能,大大提高复用率。

4、开放性和扩展性

在无需提供源码的情况下,根据表单系统的接口规范开发新的模板部件,增加新的通用功能;

在无需提供源码的情况下,通过Action(关联动作)和事件机制,在无需平台系统源码的情况下可嵌入用户个性化的代码,通过该机制可以修改和补充平台的执行行为。完善的权限接口机制,通过权限接口可以同指定的权限系统进行集成;

通过实现表单提供的工作流接口可与不同的工作流引擎相结合;

5、灵活的配置与管理

通过配置管理即可使平台满足不同的应用需求。如:对不同数据库的选择、对权限系统的选择,相关运行环境参数的选择设置等。

6、基于定制和引擎的运行方式

通过定制产生定制数据,由引擎对定制数据加载运行。引擎主要包括模板引擎、数据处理引擎等,引擎加载编译后的中间代码并执行,性能非常好。

三、产品运行的环境

承元定制开发平台全部基于J2EE技术开发,基于B/S架构,可集成和运行在任何符合J2EE规范的环境中。

1、服务器端:

 操作系统:支持Windows、Linux、Solaris、AIX和HP-UX等主流操作系统。

 应用服务器:支持符合J2EE规范的应用服务器,如Tomcat、WebLogic、WebSphere。 数据库:支持Oracle、Mysql、Sql Server等不同的数据库平台。

2、客户端:

 IE浏览器5.0以上。

四、基于承元平台的典型应用

除构建平台化的OA系统外,承元定制开发平台被广泛的应用于构建各种企业管理软件,企也门户,以及根据企业个性化需求的定制开发。如:ERP系统、采购管理、企业订单管理、仓库管理、企业网站和门户,不同行业的业务系统。

嵌入式多媒体开发平台的设计 篇3

关键词:嵌入式;多媒体;开发平台

中图分类号:TP368.12 文献标识码:A 文章编号:1674-7712 (2014) 06-0000-01

嵌入式系统的发展给计算机带来了新的延展空间,在嵌入式系统中将应用作为基础,通过软件与硬件的配合让系统能够与实际应用环境形成匹配,而嵌入式系统的稳定性、功耗等属性都具有严格的要求,这样就形成了专业性的计算机系统。将嵌入式系统与多媒体结合起来便形成了嵌入式多媒体,这样也大大地让多媒体设施得到了有效的精简并且良好地控制了开发成本,受到了业界的一致认可。相关数据表面嵌入式多媒体产品的年增长率维持在20%至30%,在未来这个比例还会不断提升,这也可以看出嵌入式多媒体将有着极大的发展潜力。要构建出优秀的、合格的嵌入式多媒体应用产品前提就需要打造出可靠嵌入式多媒体开发平台,因此对于相关平台设计应该给予充分的重视[1]。

一、嵌入式多媒体特点分析

相对于传统多媒体而言嵌入式多媒体具有以下优势:(1)能耗低下。相对于传统媒体而言嵌入式多媒体具有显著的低功耗特点,这主要是由于嵌入式产品中并不需要连续性的供电电源,通过低功耗硬件如低功耗CPU、电源管理芯片来对其进行优化控制从而达到节电效果。(2)高容量。与文本文件或者应用软件相比媒体文件的数据占用数据空间较大,而通过在嵌入式系统中加入大容量储存设备便能够保证基本的储存空间。(3)高度灵活性。嵌入式多媒体具有高度的灵活性,它具备多种接口,另外通过定制化可以对设备进行扩展从而满足媒体数据输入、输出的基本需求。(4)良好的处理能力。嵌入式多媒体比较于传统PC而言处理能力更强。由于嵌入式多媒体是针对于特定的应用环境所开发的,因此可以根据实际需要来对功能模块进行针对性的筛选便能够达到精简设计的效果,在增强特定功能的同时也可以对成本进行优化。(5)适用于多种多媒体标准。目前多媒体行业中具有多种格式,而嵌入式多媒体则能够满足多标准媒体类型的需求。

二、嵌入式多媒体开发平台设计分析

(一)接口设计

在进行接口设计时主要采取以下几种方案:(1)采取CPLD与现有接口进行逻辑转换。采取这种方案主要是一偶遇开发处理器与接口不能兼容,通过转换作用来保证协议可以达成一致。(2)处理芯片自身集成了接口控制芯片。例如某些处理器芯片就集成了PCMCIA接口以及触摸屏接口芯片,这样就可以对相关设备进行直接控制从而简化了实现过程。(3)采取GPIO口来对简易接口进行模拟。该方案操作较为简便并能够对相关电路进行简化,但是模拟过程中会加大CPU的占有率从而让设备的整体性能受到一定程度的制约[2]。

(二)USB调试

调试是保证多媒体开发连续进行的基本前提,针对于不同的操作系统调试方法也存在着一定的差异性。目前市场当中主流接口都是USB接口,同时USB设备种类也十分齐全,这就给USB接口调试带来了良好的应用范围。与串口技术相比首先USB调试在速度上就有极大的优势并且通过USB口可以接入多个设备。当然在USB调试过程中需要对系统架构、驱动等进行分析从而保证调试工作的顺利进行。

(三)解码技术

视频解码、音频解码等解码技术是多媒体播放的基本前提,这就要求嵌入式多媒体开发平台需要具备多种解码功能。从音频上来看除了传统的MP3、ogg等,目前AVS的应用也在不断普及,这就要求多媒体开发平台应该与AVS达成兼容,那么在设计过程中就需要对AVS解码插件进行优化设计,通过移植、整合等程序来与相关程序进行结合。

(四)引导技术

在嵌入式系统当中目前应用最为广泛的引导技术为U-boot,它基本上能够实现与任意操作系统的有效连接,但在实际应用中多用于Linux。如果要真正实现多平台应用就需要编写出不同的引导程序,这就从一定程度上加大了开发复杂程度与开发难度。采用多重引导技术就可以让相关应用在不同的平台上得到扩展从而达到资源节约的效果,GRUB、LILO等程序都是较为成熟的引导程序,但实质上是通过chain-loader的方式实现,另外这些程序一般都是应用于windows平台上,与嵌入式系统还是存在着一定的差异性,如果仅仅采用移植的方法又会出现兼容性问题,而Xloader则带来了良好的解决方案,通过闪存加载来进行引导。

以下为具体设计方案阐述:(1)硬件电路设计。其中主要包括了电源、SDRAM以及闪存采用CF控制器以及CPLD来对相关电路进行逻辑控制,借助CPLD来实现相关接口兼容并对电路进行仿真验证。(2)播放器设计。基于TCPMP原理对相关AVS解码程序进行针对性修改从而将其嵌入于播放器中从而让播放器能够支持AVS解码。(3)引导设计。以E-boot为基础来对引导程序进行移植并将相关模块进行分割。将引导程序分为两部分,一部分实现USB下载另外一部分在KITL层中加入调试功能[3]。

三、结束语

嵌入式多媒体未来还会有更大的发展空间,在进行平台设计过程中通过对硬件电路设计、播放器设计以及引导设计进行优化从而保证整个平台的兼容性让应用质量得到保证。

参考文献:

[1]黄金明,宋明慧.基于SPCE061A的SPI通信的实现[J].电子技术,2010(Z3).

[2]杨于镭.基于ARM的Samsung S3C44B0X触摸屏接口设计[J].计算机应用,2011(09).

无线认知开发平台综述 篇4

目前频谱资源主要采用统一分配、授权使用的政策,这种静态分配的方式导致频谱资源的利用率低下,造成资源的极大浪费。自1999 年Joseph Mitola首次提出认知无线电( Cognitive Radio,CR) 的概念并对其基本原理进行系统阐述以来,不同机构和学者针对CR的物理层、MAC层及网络层等各方面进行广泛而深入的研究,并将其视为解决目前频谱资源利用率低下的优选技术。CR技术通过实时调整传输参数,使认知节点与通信环境智能交互,实现通信系统的高可靠性与频谱利用的高效性。然而,大部分研究工作都是在模拟仿真环境下验证算法对认知无线电性能的影响,并未在实际的物理信道中进行测试与评估。由于模拟仿真不可能完全模拟真实无线环境中的噪声和衰落等不确定因素,因此降低了理论研究的说服力。随着人们逐渐意识到理论仿真存在的固有缺陷,研究者们设计出大量接近真实网络测试环境的特性的无线认知平台,可用于验证和实现认知无线电技术。

近年来,国外的研究机构积极开展无线认知平台的研究,并取得了一定的成果。已设计并实现的无线认知平台按照其节点规模及实现的功能可分为两类: 一类为单节点构成的认知平台,用于实现诸如频谱感知与动态频谱分配等某一特定的功能需求;另一类为多节点构成的网络化认知平台,其完善的功能可作为研究各种技术的通用平台。本文在概括典型认知节点的基础上,综述了网络化认知平台的最新研究进展,并探讨其未来的研究方向。

1 典型认知节点

1. 1 典型认知节点的结构框架

设计认知节点的目标是搭建一个具备认知无线电基本特征的实验平台,即在保障授权用户不受有害干扰的前提下,能够对无线频谱进行检测,并且可以利用空闲频谱进行无线通信。如图1 所示,典型认知节点主要由硬件和软件开发环境两部分构成,硬件开发环境完成部分高速信号处理,软件开发环境在通用处理器上以软件的形式进行数字信号处理。

硬件开发环境由三部分组成: ① 射频( Radio Frequency,RF) 模块实现滤波及频谱搬移等功能;② ADC /DAC模块实现模拟信号和数字信号的互相转换; ③ FPGA及多块DSP组合实现对高速数据流处理功能。软件开发环境利用其可重构性,通过高性能处理器采用软件方式以实现诸如调制方式、发射功率、传输速率、载波频率、加密方式及通信协议等功能,并结合PC显示器为用户提供图形界面接口。硬件开发环境和软件开发环境通过以太网或USB接口完成二者间的高速数字信号流传输。

1. 2 硬件开发环境

目前,国际上出现诸如USRP和BEE4 等一系列支持CR研究的高性能硬件开发环境,主要完成直接射频采样、数字中频处理、基带处理及包处理,并提供与网络高速互联接口。为尽可能仿真复杂的通信环境,典型的硬件开发环境应该具有模块化设计、处理能力可扩展、RF模块频率可选以及主板驱动灵活等四个特性。表1 总结5 种主流硬件开发环境的部分特性[1]。

从表1 可看到,较为流行的USRP2 使用开源的GNU Radio技术,大大降低其开发难度并且便于增加新功能。然而,运行GNU Radio的外围设备与USRP2 之间的交互会带来时延,这不利于认知无线电的全双工通信,随着GNU Radio处理任务的增加,还会增加对外围设备的CPU的处理能力的要求。相比而言,专为高吞吐率数据收发和高性能数据处理而设计的BEE4 以其完备的功能集合而备受业界青睐。

1. 3 软件开发环境

在相应硬件的基础上,研究人员以软件定义的信号处理模块构建完整的通信系统。目前主流的两款开源软件开发环境分别是GNU Radio ( 开源软件无线电) 和SCA ( 软件通信架构) 。

GNU Radio[3]是一个基于Linux系统的开源平台,提供诸如GMSK、PSK、QAM和OFDM等调制模式及纠错编码的信号处理模块库。用户可以选择不同的处理模块并配置相应的参数,将其连接在一起形成完整的通信系统。GNU Radio基于Python脚本语言和C + + 语言的混合方式编程。Python是一种语法简单且完全面向对象的脚本语言,用于连接各个模块以形成完整的信号处理流程脚本。C + + 具有高效和可扩展等特性,用于编写滤波器、FFT变换、调制/解调器和信道编译码等信号处理模块。GNU Radio除了支持Linux的多种发行版本外,还可移植到Mac OS X以及Windows等操作系统上。

SCA是一种在嵌入式、分布计算通信系统中建立一套软件组件的部署、配置、管理、互联和互通的体系结构,它采用面向对象的方法和基于C + + /Python语言编程,通过组件构建的核心框架实现系统软件和硬件要素抽象化,并使用统一建模语言( UML) 对组件定义及组件的接口进行图形化的描述[4]。目前,较为流行的开源软件通信体系框架嵌入式解决方案( OSSIE) 是一个为SCA提供操作环境的开源平台。用户在OSSIE平台中根据应用需求选择或定义组件接口,增减并封装框架内的信号处理模块,对组件接口与中间模块波形进行调试。OSSIE可运行于Windows系统,与GNU Radio相比,用户更容易使用[5]。

2 网络化认知平台

将认知能力集成到诸如动态频谱接入、无线资源管理及无线分布式计算等应用中,网络用户的通信服务质量可以得到明显的提升。研究人员据此采用多个认知节点组合构成不同的网络化认知平台解决方案,其主旨是提供所有认知节点能够观察与学习整个通信网络环境,再做出决策的一个综合型实验平台。

基于IEEE 802. 11 标准的CARMEN ( Cognitive Android Mesh Network)[6]平台利用Android操作系统的终端设备组成实验网络,并可实现协议栈间相互通信。当网络运行时,所有基于Android系统的认知节点都可以显示、记录或修改物理层以上不同协议栈的参数。在良好的通信环境中,CARMEN可以配置每个节点的TCP拥塞窗口、慢启动门限、网络层的路由算法和链路层的帧间隔等参数,观测并记录TCP的吞吐量、丢包率、往返时延和链路层的传输信道和重传帧数等参数。由于终端设备硬件形式的限制,CARMEN不能观测和配置物理层参数。

弗吉尼亚理工大学在2008 年推出VT - CORNET ( Virginia Te ch COgnitive Radio Network ) 平台[7],它是一个包含48 个基于USRP2 节点的异构无线网络实验平台,其软件开发环境采用SCA架构,硬件平台的频率扫描范围可从100 MHz ~4 GHz。所有认知节点分布在一栋4 层楼的建筑内,通过千兆以太网与一间办公室内的高性能主控机相连。VT - CORNET适合CR的研究与教学,其软件开源并采用基于组件的模块化架构,为认知节点提供配置无线电的可视化接口,可以对OSI模型中的各层参数进行配置和观测。但是,该平台中与认知节点相连的服务器功耗较大,且认知节点没有移动性,故该平台不适于在能量资源有限的场景中进行灵活地认知无线电技术研究。

ORBIT ( Open - Access Research Testbed for Next - Generation Wireless Networks)[8]平台由Rutgers大学的WINLAB实验室研发,其核心实验平台是一个由20 × 20 可编程无线节点互联构成的二维网格,并接入28 个SDR设备( USRP1 和USRP2) 。该平台通过无线节点的互联形成具有可重构无线信道模型的特定网络拓扑,其目的是为研究下一代协议、中间件和应用提供大规模、开放接入的无线网络。研究者注册后可获得各种资源,包括适用于认知无线电研究的软件无线电、Wi Fi、蓝牙及传感器等无线资源。

EMULAB[9]是美国Utah大学开发的一个公开访问的实验平台,主要用于网络互连与分布式系统的研究。实验平台包含54 个站点和35 个SDR设备,其中的SDR设备配置RFX900 ( 900MHz) 的子板,18 个工作站分布于一栋多层楼的建筑中,剩余36 个站点置于一个实验室内。Emulab根据用户提交的NS3 文件配置无线认知网络,根据用户需求可以安装节点的操作系统,并进行相关研究。

表2 给出网络化认知平台的部分特性[6]。与VT - CORNET类似,ORBIT和Emulab都致力于搭建一个各层参数可被远程控制的实验网络。三者均为优化频谱共享的CR实验平台,其中ORBIT和EMULAB均含有集成仿真模式,能够测试MAC层、路由层和传输层协议。

备注: a. 配置标准802. 11a/b/g/n协议的工作站; b. 工作在MAC层,取决于Wi Fi芯片; c. 不包含物理层参数。

总之,网络化认知平台中的节点广泛采用USRP等硬件设备和软件开发环境组合的形式来研究认知无线电,实现系统物理层和MAC层参数可控。由于软件开发环境需要高性能PC的辅助,因此认知节点缺乏足够的灵活性,同时由物理层设备与PC连接而引入的往返时延也会为全双工通信带来不利的影响。

3 结束语

介绍了无线认知平台的发展背景,结合目前主流软硬件开发环境阐述认知节点的组成框架以及各模块实现的功能,并总结分析部分多节点认知平台的特性,期望为CR研究者及研发平台的选择提供有益的借鉴。结合目前各行业的发展现状及未来需求[10],网络化认知平台的进一步研究应用将体现在如下4 个领域中:

① 宽带蜂窝网: 网络化认知平台利用空闲广播电视频段( TVWS) ,不仅可以研究新的蜂窝网频谱资源,还能研究如何解决异构网层间和层内干扰等问题;

② 智能电网: 认知无线电技术能有效解决智能电网使用的非授权频段频谱资源的紧缺问题,因此网络化认知平台在满足认知无线电性能要求的前提下,可以大大降低研究智能电网的成本;

③ 公共安全领域: 在网络化认知平台中,具有感知外部环境和自适应能力的认知无线电设备使不同部门之间的设备互相兼容,为研究公共安全的可靠网络服务提供便利;

④ SDN & NFV领域: 网络化认知平台可用于SDN中转发与控制分离架构,还可用于网络功能虚拟化NFV的探索。

参考文献

[1]Chen Z,Guo N,Qiu R C.Building A Cognitive Radio Network Testbed[C]∥Proceedings of the IEEE Southeastcon,Tennessee,USA,March 2011:91-96.

[2]BEEcube[EB/OL].http:∥www.beecube.com.2015.04.

[3]GNU Radio[EB/OL].http:∥www.gnuradio.cc.2015.04.

[4]Elmasry G F.战术无线通信与网络—设计概念与挑战[M].曾浩洋,田永春,译.北京:国防工业出版社,2014.

[5]宋腾辉,窦峥,林云.智能无线电技术(2)[J].中兴通讯技术,2014,20(02):58-62.

[6]Danieletto M,Quer G,Ramesh R R,et al.CARMEN:A Cognitive Networking Testbed on Android OS Devices[J].IEEE Communication Magazines,2014,52(9):98-107.

[7]Timothy R N,Shajedul H S M,De Poy E,et al.Designing and Deploying a Building-Wide Cognitive Radio Network Testbed[J].IEEE Communication Magazines,2010,48(9):106-112.

[8]ORBIT[EB/OL].http:∥www.orbit-lab.org.2015.04.

[9]Emulab-Network Emulation Testbed Home[EB/OL].http:∥www.emulab.net.2015.04.

开发平台 篇5

按照电气工程师协会的一个定义:嵌入式系统是用来控制或监视机器、装置或工厂等的大规模系统的设备。具体说来,它是电脑软件和硬件的综合体;是以应用为中心,以计算机技术为基础,软硬件可裁减,从而能够适应实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。一般来说,嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,终端用户很难或者不可能改变固件。而Linux也早已成为IT界家喻户晓的一个名字。概括说来,将Linux应用于嵌入式系统的开发有如下一些优点:

① Linux自身具备一整套工具链,容易自行建立嵌入式系统的开发环境和交叉运行环境,并且可以跨越在嵌入式系统开发中仿真工具(ICE)的障碍。

② 内核的完全开放,使得可以自己设计和开发出真正的硬实时系统;对于软实时系统,在Linux中也容易得到实现。

③ 强大的网络支持,使得可以利用Linux的网络协议栈将其开发成为嵌入式的TCP/IP网络协议栈。

2 嵌入式系统设计的过程

按照嵌入式系统的工程设计方法,嵌入式系统的设计可以分成三个阶段:分析、设计和实现。分析阶段是确定要解决的问题及需要完成的目标,也常常被称为“需求阶段”;设计阶段主要是解决如何在给定的约束条件下完成用户的要求;实现阶段主要是解决如何在所选择的硬件和软件的基础上进行整个软、硬件系统的协调实现。在分析阶段结束后,通常开发者面临的一个棘手的问题就是硬件平台和软件平台的选择,因为它的好坏直接影响着实现阶段的任务完成。

通常硬件和软件的选择包括:处理器、硬件部件、操作系统、编程语言、软件开发工具、硬件调试工具、软件组件等。

在上述选择中,通常,处理器是最重要的,同时操作系统和编程语言也是非常关键的。处理器的选择往往同时会限制操作系统的选择,操作系统的选择又会限制开发工具的选择。

3 硬件平台的选择

3.1 处理器的选择

嵌入式系统的核心部件是各种类型的嵌入式处理器。据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30几个系列。但与全球PC市场不同的是,没有一种微处理器和微处理器公司可以主导嵌入式系统,仅以32位的CPU而言,就有100种以上嵌入式微处理器。由于嵌入式系统设计的差异性极大,因此选择是多样化的。

调查上市的CPU供应商,有些公司如Motorola、Intel、AMD很有名气,而有一些小的公司,如QED(Santa Clara.CA)虽然名气很小,但也生产很优秀的微处理器。另外,有一些公司,如ARM、MIPS等,只设计但并不生产CPU,他们把生产权授予世界各地的半导体制造商。ARM是近年来在嵌入式系统有影响力的微处理器制造商,ARM的设计非常适用于小的电源供电系统。Apple在Newton手持计算机中使用ARM,另外有几款数字无线电话也在使用ARM。

设计者在选择处理器时要考虑的主要因素有:

① 处理性能。一个处理器的性能取决于多个方面的因素,如时钟频率,内部寄存器的大小,指令是否对等处理所有的寄存器等。对于许多需用处理器的嵌入式系统设计来说,目标不是在于挑选速度最快的处理器,而是在于选取能够完成作业的处理器和I/O子系统。如果是面向高性能的应用设计,那么建议考虑某些新的处理器,其价格相对低廉,如IBM和Motorola Power PC。

② 技术指标。当前,许多嵌入式处理器都集成了外围设备的功能,减少了芯片的数量,降低了整个系统的开发费用。开发人员首先考虑的是,系统所要求的一些硬件能否无需过多的胶合逻辑(GL,Glue Logic)就可以连接到处理器上。其次是考虑该处理器的一些支持芯片,如DMA控制器,内存管理器,中断控制器,串行设备、时钟等的配套。

③ 功耗。嵌入式微处理器最大并且增长最快的市场是手持设备、电子记事本、PDA、手机、GPS导航器、智能家电等消费类电子产品。这些产品中选购的微处理器,典型的特点是要求高性能、低功耗。许多CPU生产厂家已经进入了这个领域。今天,用户可以买到一颗嵌入式的微处理器,其速度像笔记本中的Pentium一样快;而它仅使用普通电池供电即可,并且价格很便宜。如果用于工业控制,则对这方面的考虑较弱。

④ 软件支持工具。仅有一个处理器,没有较好的软件开发工具的支持也是不行的,因此选择合适的软件开发工具对系统的实现会起到很好的作用。

⑤ 是否内置调试工具。处理器如果内置调试工具可以大大缩小调试周期,降低调试的难度。

⑥ 供应商是否提供评估板。许多处理器供应商可以提供评估板来验证理论是否正确,决策是否得当。

3.2 硬件部件选择的其它因素

① 生产规模。打算做1套?多套?还是规模生产?如果生产规模比较大,可以自己设计和制备硬件,这样可以降低成本。反之,最好从第三方购买主板和I/O板卡。

② 开发的市场目标。如果想使产品尽快发售,以获得竞争力,此时要尽可能买成熟的硬件;反之,可以自己设计硬件,降低成本

③ 软件对硬件的依赖性。软件是否可以在硬件没有到位的时候并行设计或先行开发。

④ 只要可能,尽量选择使用普通的硬件。在 CPU 及架构的选择上,一个原则是:只要有可替代的方案,尽量不要选择 Linux 尚不支持的硬件平台。

4 软件平台的选择

图1所示的嵌入式软件的开发流程,主要涉及到代码编程、交叉编译、交叉连接、下载到目标板和调试等几个步骤,因此软件平台的选择也涉及到以下几个方面。

4.1 操作系统的选择

(1)操作系统选择应考虑的因素

硬件方案确定之后,操作系统的选择就相对轻松了。硬件的不同,会影响操作系统的选择。低端无MMU(Memory Management Unit,存储器管理单元)的CPU,要使用uClinux 操作系统;而相对高端的硬件,则可以用普通的嵌入式 Linux 操作系统。uClinux 和普通的 Linux 有各自的优势和缺点。可用于嵌入式系统软件开发的操作系统很多,但关键是如何选择一个适合开发项目的操作系统。经过多年的开发实践,笔者认为应该从以下几点进行考虑:

① 操作系统提供的开发工具。有些实时操作系统(RTOS)只支持该系统供应商的开发工具,因此,还必须向操作系统供应商获取编译器、调试器等;而有些操作系统使用广泛,且有第三方工具可用,因此,选择的余地比较大。

② 操作系统向硬件接口移植的难度。操作系统到硬件的移植是一个重要的问题,是关系到整个系统能否按期完工的一个关键因素。因此,要选择那些可移植性程度高的操作系统,避免操作系统难以向硬件移植而带来的种种困难,加速系统的开发进度。

③ 操作系统的内存要求。均衡考虑是否需要额外花钱去购买RAM或EEPROM来迎合操作系统对内存的较大要求。

④ 开发人员是否熟悉此操作系统及其提供的API。

⑤ 操作系统是否提供硬件的驱动程序,如网卡等。

⑥ 操作系统的可剪裁性。有些操作系统具有较强的可剪裁性,如嵌入式Linux、Tornado/VxWorks等等。

⑦ 操作系统的实时性能。

(2)几类嵌入式Linux系统的比较

(本网网收集整理)

嵌入式Linux系统方面的产品主要分为三类:

第一类是专门为Linux的嵌入式应用而做的。如何让Linux更小、更容易嵌入到体积要求和功能、性能要求更高的硬件中去,是他们的产品开发方向,如MontaVista的MontaVista Linux等。第二类是专门为Linux的实时特性设计的产品。将Linux开发成实时系统尤其是硬实时系统,应用于一些关键的控制场合(不仅仅是信息电器)。如,Fsmlabs公司开发出来的RT-Linux产品已经用在工业控制的很多方面;葡萄牙的Coimbra大学已经利用RT-Linux实现了化工生产控制厂里用来控制反应和程序控制的系统。第三类的产品是将实时性和嵌入式方案结合起来的方案。很多公司都这么做,并且提供集成化的开发方案,如Lineo、TimeSys等等。

因此选择操作系统时,要根据自己的嵌入式要求和实时性要求,选择适合自己的嵌入式Linux;同时,和选择硬件的原则一样,如果可能,尽量选择使用普通的嵌入式 Linux 系统。

4.2 编程语言的选择

编程语言的`选择主要考虑以下因素:

① 通用性。不同种类的微处理器都有自己专用的汇编语言。这就为系统开发者设置了一个巨大的障碍,使得系统编程更加困难,软件重用无法实现。而高级语言一般和具体机器的硬件结构联系较少,多数微处理器都有良好的支持,通用性较好。

② 可移植性程度。汇编语言和具体的微处理器密切相关,为某个微处理器设计的程序不能直接移植到另一个不同种类的微处理器上使用,移植性差;而高级语言对所有微处理器都是通用的,程序可以在不同的微处理器上运行,可移植性较好。

③ 执行效率。一般来说,越是高级的语言,其编译器和开销就越大,应用程序也就越大、越慢;但单纯依靠低级语言,如汇编语言来进行应用程序的开发,带来的问题是编程复杂、开发周期长。因此,存在一个开发时间和运行性能间的权衡问题。

④ 可维护性。低级语言如汇编语言,可维护性不高。高级语言程序往往是模块化设计,各个模块之间的接口是固定的。当系统出现问题时,可以很快地将问题定位到某个模块内,并尽快得到解决。另外,模块化设计也便于系统功能的扩充和升级。

几种开发语言的比较:

在嵌入式系统开发过程中使用的语言种类很多,比较广泛应用的高级语言有:Ada、C/C++、Modula-2和Java等。Ada语言定义严格,易读易懂,有较丰富的库程序支持,目前在国防、航空、航天等相关领域应用比较广泛,未来仍将在这些领域占有重要地位。C语言具有广泛的库程序支持,目前在嵌入式系统中是应用最广泛的编程语言,在将来很长一段时间内仍将在嵌入式系统应用领域占重要地位。C++是一种面向对象的编程语言,目前在嵌入式系统设计中也得到了广泛的应用,如GNU C++。Visual C++,是一种集成开发环境,支持可视化编程,广泛应用于GUI程序开发。但C与C++相比,C++的目标代码往往比较庞大和复杂,在嵌入式系统应用中应充分考虑这一因素。Modula-2定义清晰,支持丰富,具有较好的模块化结构,在教学科研方面有较广泛的应用。虽然该语言的开发应用一直比较平缓,但近两年在欧洲有所复苏。J

ava语言相对年轻,但有很强的跨平台特性,目前发展势头较为强劲。Java语言的“一次编程,到处可用”的特性,使得它在很多领域备受欢迎。随着网络技术和嵌入式技术的不断发展,Java及嵌入式Java的应用也将越来越广泛,但是Java消耗硬件资源较大。

4.3 集成开发环境考虑的因素

集成开发环境IDE(Integrated Development Environment)应考虑以下因素:

① 系统调试器的功能。系统调试特别是远程调试是一个重要的功能。

② 支持库函数。许多开发系统提供大量使用的库函数和模板代码,如大家比较熟悉的C++编译器就带有标准的模板库。它提供了一套用于定义各种有用的集装、存储、搜寻、排序对象。与选择硬件和操作系统的原则一样:除非必要,尽量采用标准的 glibc。

③ 编译器开发商是否持续升级编译器。

④ 连接程序是否支持所有的文件格式和符号格式。

4.4 硬件调试工具的选择

好的软件调试程序可以有效地发现大多数的错误,但是如果再选择一个好的硬件调试就会达到事半功倍的效果。常用的硬件调试工具有以下几种:

① 实时在线仿真器(ICE,In-Circuit Emulator)。用户从仿真插头向ICE看,ICE应是一个可被控制的MCU。ICE是通过一根短电缆连接到目标系统上的。该电缆的一端有一个插件,插到处理器的插座上,而处理器则插到这个插件上。ICE支持常规的调试操作,如单步运行、断点、反汇编、内存检查、源程序级的调试等等。

② 逻辑分析仪。逻辑分析仪最常用于硬件调试,但也可用于软件调试。它是一种无源器件,主要用于监视系统总线的事件.

③ ROM仿真器。ROM仿真器用于插入目标上的ROM插座中的器件,用于仿真ROM芯片。可以将程序下载到ROM仿真器中,然后调试目标上的程序,就好像程序烧结在PROM中一样,从而避免了每次修改程序后直接烧结的麻烦。

④ 在线调试OCD或在线仿真(on-chip emulator)

特别的硅基材料以及定制和CPU引脚的串行连接,在这种特殊的CPU芯片上使用OCD (On-Chip Debugging),才能发挥出OCD的特点。用低端适配器就可以把OCD端口和主工作站以及前端调试软件连接起来。从OCD的基本形式看来,它的特点和单一的ROM监测器是一致的,但是不像后者那样,需要专门的程序以及额外的通信端口。

4.5 软件组件的选择

有些软件组件是免费的,有些软件组件是授权的。授权软件组件的费用一般都很高,但大都经过严格的测试,可靠性高,调试时间短。现在也有一些免费的自由软件组件,它们的性能、可靠性也很好。因此开发人员在选择的时候要加以权衡,确定哪种方案更好。

5 展 望

团购导航:平台的平台 篇6

常说千团大战,雨后春笋般产生的大量团购网站使消费者很难坚持成为一家网站的铁粉,团购控通常会同时在多家团购网站消费,团购导航正是适应这种需求诞生的。

团购就是力量,导航就是方向。团购流量的52%来自团购导航。网站名称的排序和产品展示的排序代表着全国各大团购网站的品牌和实力。在数以千计的团购网并驾齐驱的情况下,如何利用导航发展是极大挑战。

应运而生的导航网站

2011年对所有团购网站都是关键的,甚至重要到关系生死存亡。团购网如何利用好团购导航网,可能会成为其发展中的分水岭。

国内团购网行业的发展需要团购导航网站。据不完全统计,国内的团购网站从美团等专业网站到淘宝等综合性网站涉足,已经不下千家了。团购导航作为新的电子商务模式,必须要从消费者的需求出发提供安全便利地团购信息,与团购网站结合,才能立足并发展下去。面对大量的渠道,团购网站如何准确、快速的提供个团友想要的团购,是下一步团购导航面临的挑战之一。既要保留便捷清晰的浏览方式,又要提供个性的团购定制,或者差异性的信息定位,成为导航网站需要解决的问题。

平台的平台

团购网站是消费者和商家之间联系的平台,而导航网站则成为平台的平台。从2010年底出现了第一家团购导航网站至今,团购导航网站大致经历了三个发展阶段:简单的产品陈列、产品管理,个性化推送、移动互联时代。

最开始团购导航只是简单罗列产品,而消费者由此路径全范围挑选;之后开始进入根据消费者的喜好进行筛选。当移动互联网时代来临时,手机、平板电脑渐次普及。团购网站纷纷推出自己的手机客户端。由于手机运转速度的局限,功能简单一目了然才是团购网站获胜的王道。

团购导航的出现为团购网站信息的有效传达立下汗马功劳。当前如火如荼的SNS为团购带来的团购贡献只有不到8%,而团购网站52%的访客都来自团购导航。团购导航明显为访客千里挑一的筛选提供了集中展示和垂直搜索的作用。

团购导航带来了团购网站的垂直和区域化,与团购导航的合作降低了导航运营成本,提高性价比,这些导航网站的良性发展也为团购网站提供了行业型平台。

由于门槛低,团购网站日益庞杂凌乱,消费者上当情况时有发生。不到两年的时间里,已经占到消费电子投诉网投诉总量的42.56%。2010年投诉总量已达2090宗,2011年头三个月就有1573宗。而讽刺的是作为投诉热点的团购网站在法律监管上却仍是空白。于是团购导航的新职能产生了:作为沟通消费者和团购网站的中央平台,承担解决纠纷和投诉使命。

360导航和团800都已开始对数以千计的团购站进行甄别,并积极处理纠纷。

团购导航目前通常依靠返利来生存,但这相当于在给人打工,还是要看人脸色。在积累一定人气之后,完全可以自己开始做团购,独立性可以为团购导航带来更大的发展。2010年我国手机仍将成为拉动总体网民攀升的动力。由此带来消费者对于团购导航浏览的要求。很多团购导航网WAP功能应时而生。

在团购网站大量裁员的今天,团购导航以其CPS分成模式得以两全。国内多家团购导航早已宣布盈利。

团购网站的先行者来优网CEO安承海发现,团购导航网站除了CPS分成,也要有品牌广告的价值,只是目前大多数经营者都忽视了这一点。

不过团购导航网站进入品牌广告市场还有一些障碍。毕竟大型导航有用户基础,缺乏对广告价值的认可,进入该市场仍需一些时日。

团购网站的大洗牌会淘汰大部中小型购物网站,而导航行业门槛低,会使后来着有增无减,这使得大网站的生存环境仍旧严峻。

坚强地活下去

目前团购导航大概有几百家,而真正做起来耳熟能详者不足十家。其中一类是门户类如360等,另一类是纯粹独立专一的团购聚合类网站,可以为用户提供更多服务。千团大战的诚信缺失等因素造成导航在国内更具价值,不多的流量就可以吸引更多忠实用户。

导航作为平台,最简单的盈利就是广告。

导航为用户筛选可信有保证的信息,为用户提供多个记忆、收藏、提醒等附加值,而非一味均衡流量的小钱。能够做到没有经过严格考核和成熟运营一段时间的网站坚决不予审核;并在产品编辑上坚持客观公正,让用户放心购买是导航能够做到最重要的事情。

消费者需要行业性的整合和服务,至于团购信息管理等增值服务,更不能指望其中一家网站去完成。虽然在导航与团购网站本身的交集中,似乎导航是寄托于团购网站而存在的。但换一个角度而言,导航也可以对团购网站产生监督和调控的作用。

事实上无论是导航网站还是团购网站自身,消费者才是最究极的决定性因素,团购产品的多样化是团购市场发展的正常现象,是门户网站和网络商城的业务补充,是一种资源整合和提升的有效手段,最终目的是满足消费者的不同需求,这和团购产品的品质高低没有必然联系。但能够满足消费者的需求,才能真正实现自身的价值,也才能实现自身价值的兑现。导航要想完全赚得团购网站的钱还是有很大难度的,最直接最有意义的盈利模式还在于获得消费者良好口碑。

穷则思变,时势造英雄。在这个属于团购网站的寒冷冬季,融资成为一件越来越艰难的事情,只有真正满足市场需求拥有实力的团购网站才能在未来即将发生的大变故中存活,而导航也是一样。

基于云计算的快速开发平台设计 篇7

1 基于云计算的快速开发平台

Easy Web业务基础平台是一种以业务导向和驱动、可快速构建应用软件的软件平台。与基础设施软件平台相比,业务基础平台和用户的管理及业务相关度比较大,是应用软件开发的通用基础平台。

基于云计算的快速开发平台是云平台的一个核心系统,它以业务需求为中心,是架构在分布式应用框架J2EE之上的业务中间件,是基于构件技术、遵循SOA构架的综合软件平台,为企业信息系统开发、运行提供中间层的支撑服务,包括生命周期管理、高可用性管理、高伸缩性管理、应用运行监控、资源调度、服务水平管理等,可使用户的云应用专注于本应用的业务逻辑。Easy Web平台在云平台系统中的位置见图1。

Easy Web平台本身提供自动化的部署与运维,并且能集成大量通用组件服务,目前已集成了报表引擎、运行时环境(J2EE、RUBY等)、消息中间件、应用服务框架、数据库、SSO等多种服务,后续还将合作引入GIS等其他组件。

与一般的快速开发系统相比,基于云计算的快速开发平台具有以下特性:

●部署快捷:平台提供丰富的服务组件和运行环境,可大大提高应用部署效率;

●成本较低:平台自动化部署与运维将大大降低对运维人力的数量和能力需求;

●伸缩弹性:应用所需资源可根据需求动态伸缩,数秒内可完成一到百个应用实例的扩展;

●管理高效:可高效管理服务与应用的生命周期。

1.1 总体架构

一般来说,云计算平台分为基础设施层、平台层、软件层、用户层。其中基础设施层主要通过虚拟化技术,将基础硬件设备进行融合,提供出各类资源池,对用户提供服务和为平台提供支撑;平台层主要将基础设施层提供的计算、存储等各类资源池进行整合和管理,并结合资源使用,提供相应的用户管理、任务管理、资源管理、安全管理等;软件层主要由各单位根据自身需求,开发相关专用软件,通过“信息云”提供给关联单位及对口业务部门;用户层主要是各类需求的用户,采用浏览器或移动终端等设备接入内部网络,即可通过“信息云”得到相应服务。

Easy Web快速开发云平台基于云计算技术,主要为Paa S层和Iaa S层提供服务,如图2所示。

Easy Web云平台通过Iaa S建设,用户可以通过互联网获得基础设施的服务,包括计算资源、存储资源和网络资源。在此之上用户可以安装操作系统,部署应用程序。通过虚拟化技术实现资源的按需服务和弹性扩展功能。Iaa S层管理着基础设施等硬件资源,平台则提供了对软件,即应用、服务、模块的管理监控功能。平台支持应用容器,将应用的资源进行隔离,支持应用的弹性扩张,保证应用的可靠运行。同时提供所有服务和构件的权限以及健康监控,遍布着整个生命周期。

1.2 平台功能

Easy Web云平台的核心功能包括应用管理,平台提供的基础公共服务、服务注册中心等管理,管理云平台上所有已注册的软件和服务资源。围绕着核心功能,平台提供系统管理、权限管理、业务管理、日志服务和认证服务等功能模块,更好地完成对软件和服务资源的管理和监控。

应用管理:管理应用的部署,监控应用的状态,维护应用的健康状况服务。隔离应用资源,支持应用的弹性扩展。

服务注册中心:包括创建、发布、注册、销毁、删除服务实例,以及多个服务的负载均衡,使用权重、服务的健康监控等功能。

系统管理:云计算中心部署的应用分属于不同的组织机构,需要通过组织划分应用及服务,方便进行管理。

权限管理:系统管理包括分配配额,即对不同应用和服务分配相应的硬件和软件资源。管理应用和服务权限,保证服务和应用安全可控。

生命周期管理:提供工具对应用和服务进行发布、注册、运行、销毁过程的管理。

应用发布管理:管理应用的发布过程,运行在云计算中心的应用需要通过申请、审核、批准、发布等流程后,才能部署在云平台上运行。此流程可由用户自己定制。

管理控制台:系统提供直观、可视化的界面进行相关的管理功能,包括应用管理、组织、用户管理、服务管理以及应用和系统的监控。

认证服务:进行云管理平台内部的认证和权限管理,指定组织和用户的权限,并可以为应用提供认证服务,支持单点登录。

日志服务:收集应用日志,包括应用和服务的发布日志、访问日志、使用日志。支持第三方日志工具进行分析和展现。

2 平台应用效果

2.1 平台云化优势

基于云计算的快速开发平台可以有效解决当前软件产业面临的三大难题:用户需求复杂多变、应用系统难以集成、软件研发效率低下。

首先,通过工作流程引擎、业务规则引擎、报表设计引擎及组织管理引擎,再加上高效的开发工具,业务基础平台能快速地适应用户的需求变化。

其次,如果应用系统基于统一业务基础平台,则它们具备统一的数据模型、统一的体系架构、统一的业务流程管理模型,因此具有天然的集成性。对于建立在其他平台上的遗留系统,则可以通过应用集成接口,应用EAI技术将该系统集成进来。

最后,为了提高软件开发效率,业务基础平台封装了琐碎的技术细节,提供了大量预设好的行业套件及业务组件,通过对这些套件及组件的重用和组装,可以在业务基础平台上快速灵活地搭建出复杂的应用软件系统。

通过云内的资源协调,使用户大幅节省硬件成本;根据用户需要随时增减设备资源,并按需计费,显著提高效率和灵活性;使数据集中统一调配,既解决了重复存储的问题,又可以几何级加强数据搜集、分析、整理、使用的能力。此外,云计算的开放性和多维架构提供了无限的发展可能,未来它甚至可以提供一种类似“自助厨房”式服务,而不仅仅是“自助餐”式的服务,就是说用户可以不再被动接受服务,而是根据云这个平台提供的各种原料自行组合、制作成品。而Easy Web快速开发云平台为其实现提供了可能,通过快速开发云平台,利用分布式的架构,把分散的信息、资源、数据和需求逐步整合在一起,探索资源统一调配、信息全面互通的解决方案,以在不远的未来将这种“自助厨房”式服务的“云计算”概念变成现实。

2.2 多领域应用效果

2.2.1 信息安全服务

由于信息储存在云端,而不是存储于本地,可以根据需要随时随地地通过网络获取,一般不需要使用移动存储介质,在充分资源共享的同时,可以有效提高信息安全管理。在快速开发工具“信息云”模式下,可以通过用户身份认证机制,严格制定登陆权限,实现信息出口安全。

2.1.2定制化开放平台

基于云计算的快速开发平台可以为第三方提供定制化服务,通过该平台实现个性化业务开发各种能力。通过该平台对企业各项业务的各种服务进行组合,在免编程情况下组合成为复杂业务对外提供,更加方便便捷。详见图3。

3 结语

云计算是近几年出现的一系列共享信息化基础构架的理念、方法的集成,云计算平台已成为信息管理的主流载体,其所蕴含的技术变革和创新模式必定深刻影响信息化建设。云计算作为通用的服务基础设施,必须能够被各种业务和应用使用才能够体现价值,否则只是封闭的专用系统。

中小银行自主开发平台建设实践 篇8

昆山农商银行从2005年1月改制至今, 经过10年的风雨历程。在这10年的银行业务实践中昆山农商银行顺应改革大潮, 不断健全经营管理体制机制, 完善内控和风险管理体系, 各项业务平稳发展, 经营业绩逐年攀升, 服务功能持续完善。一方面, 面对蓬勃发展的互联网经济时代和越来越激烈的商业竞争格局, 银行对业务创新、经营管理、风险控制、客户服务的能力要求越来越高, 信息化水平与能力成为衡量银行核心竞争力的一种重要指标, 这对IT系统支撑架构的灵活性、可靠性, 适应银行业务和管理发展的能力方面提出了更高的要求。另一方面, IT管理也希望提高集约化和自主掌控能力, 以提高IT系统开发与运维的效率。

二、银行的系统现状

目前银行的IT建设, 从IT架构角度看, 存在技术路线分散、技术架构不一致、系统层次与功能耦合度高、数据标准不统一、应用系统建设分散、应用界面风格不一致等问题, 导致系统对业务响应慢、系统集成困难、维护成本高、人员可替换性差、复用性低、用户体验不友好等一系列问题。从IT管理角度看, 由于人力资源的匮乏和职责定位的原因, 在项目实施中, 无论是业务方案、技术架构, 还是项目管理、实施人员, 都在不同程度上依赖外协厂商, 这种局面使得IT部门难以制定可操作性强的开发规范, 项目质量很大程度取决于开发团队的技术能力和项目管理水平。更令人担忧的是, 银行IT部门技术人员沦为日常沟通协调的粘合剂和传声筒, 对于业务方案、技术架构和应用项目管理方面被边缘化, 逐渐失去对体现银行核心竞争力之一的IT系统的掌控, 同时, 外协厂商的经营风险也直接影响银行IT系统运行维护的稳定性。

上述存在问题, 是IT建设发展建设过程中必然遇到的挑战, 没有一个显而易见的“银弹”能够在短期内轻松解决。为此, 在充分参考与评估同业发展方式与趋势的同时, 结合本行现有的痛点, 昆山农商银行科技开发部提出, 通过引入外部Java自主开发平台厂商产品为原型, 由科技开发部与厂商共同开发昆山农商银行的Java自主开发平台, 形成统一的Java应用开发支撑能力, 并沉淀相关规范和过程体系, 从而提升昆山农商银行Java类应用的自主掌控能力和精细化管理要求, 并在发展成熟时向其他技术领域逐步推广建设模式, 最终解决科技建设与IT管理的诸多问题。

三、昆山农商银行系统存在的问题浅析

(一) 技术现状

首先, 目前昆山农商银行开发人员较多, 项目之间资源较难共享。新建和需要维护的应用系统多, 加上业务部门的需求变化快, 导致人员工作负荷大。其次, 软件过程管理制度与规范的执行效果不明显, 难以操作, 价值体现不明显。再次, 多种系统存在多种技术架构, 大多随着厂商的解决方案带入。随着行内IT规模的不断扩大, 平台随产品共同引进的系统建设模式也逐渐暴露出各种问题, 主要表现为各应用系统技术路线过于分散, 技术标准与规范不一致, 系统架构与功能耦合度高, 界面风格不统一, 公共模块重复开发等, 这些问题大大增加了昆山农商银行信息系统的管理难度, 对系统开发、测试、运维等各个环节都造成了不利影响, 增加了掌握核心技术的难度。

(二) 其他现状

费用方面:人员不能快速复用, 紧急项目需要重新招人或从公司协调人员;繁杂的技术导致新人员学习成本高, 培养周期长, 开发资源的可复用性差;应用系统内部耦合性高, 系统之间的集成复杂, 提高了成本。

人员方面:管理、维护数据需要大量的人员, 出错率较高;过于依赖开发商或开发商的项目团队, 使企业无法掌控核心技术;应用之间的技术组件和业务组件复用难, 存在重复建设, 开发效率较低。

(三) 现状的局限性

1.缺乏核心技术、缺少轻量级平台, 目前行内的大多数平台重包装而轻创新, 基本上是一堆开源软件的堆砌, 用了许多新名词、新概念, 如SOA, 却无法实现全面的SOA。

2.缺乏有效的跨系统集成机制, 多系统之间不能做到统一、协调、高效的通信及集成。

3.由于缺乏精细化业务版本控制及隔离机制, 随着业务功能的扩展, 版本控制及业务功能发布日益复杂, 无法保障持续的业务发展。

4.项目经验无法有效积累, 特别是许多平台没有提供比组件更高层面的软件模块管理机制, 使得面对大量组件却无法入手。

5.缺乏针对领域的成熟架构模式。每个架构师都有自己的设计方法, 设计上无法通用, IDE是无法自动实现针对领域的架构设计的, 需要在Java基础应用开发框架上, 发展丰富的面向金融业并兼顾跨领域的架构、模块及组件。

6.缺乏有效的应用安全机制。金融行业对安全要求较高, 许多平台根本不具备应用安全机制或组件, 实践中, 开发人员不得不重新发明轮子, 重复开发这些安全机制。

四、自主开发平台建设思路

自主开发平台的设计, 首先要考虑行内系统的分阶段迁移, 因此, 其主要适用范围为行内电子银行渠道系统、管理系统、业务系统、中间业务系统等。考虑到平台使用的范围较大, 因此该平台为通用型平台, 不针对特殊领域, 可适用于金融业各类典型应用场景的开发, 如交易型、管理型及流程型。

自主开发平台的主要目的之一是提高复用水平, 降低开发及运维成本。为了达成该目标, 平台需要支持两个层面的复用。第一是组件级复用, 建立组件模型, 提高组件级复用。组件模型设计的核心在于定义各个逻辑层次的相关组件的接口及默认组件实现。针对平台的不同开发场景及相应的服务生命周期, 其设计的组件类型也差别甚大。第二是模块级复用。在实际运用中, 基于组件模型的复用, 往往对开发人员的要求非常高, 原因在于在实际的项目开发中, 类似用户登录、用户授权等需求, 只能调用一些较为通用的组件, 这些组件为了普适性, 包含较多参数, 这对普通开发人员而言, 很难在短时间内驾驭。如果能针对特定的领域, 建立领域的数据模型, 并提供模块级别的复用单元, 则可以降低人员要求, 提高产品质量。

另外, 平台须提供与外部系统的集成能力, 几乎没什么系统是孤立存在的, 或多或少会与外部系统交互。由于银行存在大量的传统系统, 涉及的通信方式与消息格式类型很多, 对普通开发人员而言, 若要通过硬编码来实现集成, 势必事倍功半。因此, 平台应该将这些通信方式与消息格式组件化, 供开发人员引用。最后, 平台还必须考虑持续发展, 可扩展性。要采用简易开发与高级定制结合的方式, 提供敏捷开发能力。充分考虑降低对目标系统的运行维护要求。为此, 在平台级须设计运行维护机制, 以便快速定位故障及成因。

五、自主开发平台的实现

遵循上述建设思路, 昆山农商银行与北京云核网络技术有限公司合作, 共同开发了KUN Athena Application Platform (简称为KAAP) 自主开发平台, 下文对KAAP平台的实现方案作简要介绍。

(一) 总体架构

从总体上说, KAAP平台可以运行于J2EE和J2SE环境, 如图1所示。主要包含了以下几个部分。

运行环境:KAAP平台可支持J2EE及J2SE两种环境。针对不同的Java环境, KAAP平台提供了相应的运行环境支持。

应用开发框架:应用开发框架是KAAP平台的核心, 为KAAP平台提供了基础架构, 包含了容器、适配器、业务逻辑、组件层、服务层、认证授权层等内容。

领域业务组件:应用开发框架负责平台的基础架构, 而领域业务组件则提供了平台的具体实现。自主开发平台的领域业务组件具有功能丰富、模块复用、采用高效率松散耦合的轻量级组件装配机制、支持快速开发、有效支持软件管理等特点。

KAAP HTML5 Framework:提供客户端的UI框架, 支持PC浏览器及移动设备浏览器。

KAAP平台IDE:KAAP IDE为基于KAAP Framework的应用开发提供集成开发环境。KAAP IDE基于Eclipse技术, 提供统一的、可视化的工具, 包含了字典管理、检查器管理、消息管理、多语言管理、流程可视化编辑器、适配器可视化编辑器、向导式代码自动生成等内容。

KAAP Web Console:包括了应用发布平台和运行监控平台。

(二) 应用开发框架

纵观开源的应用框架和主流的框架, 都有一个共同特性, 即并不能简单地实现Web应用所需要的功能 (诸如Action、模板、表单验证等) , 而是把框架建立在另一个基础框架之上。比如说:Tapestry建立在Hive Mind或Tapestry IOC框架之上;早期的Struts 1.x由于没有一个轻量框架作为基础, 因此很难扩展, 而Struts 2.x使用了Webwork和Xwork, 因此适用能力大为提高;Spring MVC建立在Spring框架之上。

这些基础框架的作用就是组装模块并提供扩展机制。建立在这种基础上的Web框架具有很好的适应性和扩展性, 可以应对Web应用不断变化和发展的需求, 如图2所示。

KAAP应用开发框架基于Spring开发框架, KAAP Framework是对Spring的扩展。Spring是当前主流的轻量级框架, 为KAAP应用开发框架提供了Io C容器及其他扩展架构。KAAP Framework没有损失任何Spring的功能, 但它能够提供比Spring自身更强大的扩展能力。

设计良好的应用开发框架及业务模块, 应该是层次化设计的。由上层定义规则, 下层实现细节;上层是抽象的, 下层是具体的;越上层, 越稳定 (越少改变) ;越下层, 越易变。根据依赖倒转原则 (Dependency Inversion) , 下层 (具体) 依赖上层 (抽象) , 而不是上层依赖下层, 下层扩展上层时, 不需要修改上层的任何代码和配置, 即符合开闭原则, 每一层均可被替换。层次化的设计, 使软件中的每一个部分都可被增强或替换, 然而, 层次化不是自然而然的, 而是需要精心设计的, 设计一个层次化的组件, 可以从下面几方面来考虑。

1. 切分功能。每个组件专心做一件事。

2. 分析哪些会改变, 哪些不会改变。不变部分固化在组件中, 可能改变的部分抽象成接口, 以便扩展。

3.考虑默认值和默认扩展。默认值和默认扩展应该是最安全、最常用的选择, 用户在使用时不需要额外的配置。

4.KAAP鼓励层次化的模块设计, 而Spring提供了创建和配置层次化组件的基础机制。

KAAP应用开发框架不仅鼓励层次化设计, 它本身也是层次化的。开发人员既可以使用全部的KAAP应用开发框架, 也可以只使用框架的部分, 其余部分自行扩展, 这就大大拓宽了KAAP平台的使用场景。大体上, KAAP应用开发框架可以划分成几个层次, 即Io C容器层、KAAP组件架构层和KAAP组件层。其中KAAP组件架构层又包括适配器层、业务流程层和服务组件层等。

摘要:在昆山农商银行业务不断发展的趋势背景下, 目前的科技系统已经越来越难以支撑业务的发展。本文介绍了行内目前的科技系统现状, 分析其存在的问题, 同时介绍了昆山农商银行自主开发平台的建设思路和实现方案, 为其他中小银行实施平台化的系统建设模式提供一种可供参考的解决方案。

关键词:科技,IT建设,自主开发平台

参考文献

[1]赵艳妮, 王映辉, 雷宇.一种基于AOP/IOC的软件框架研究与实现[J].计算机工程与应用, 2008 (29) :92-95.

开发平台 篇9

关键词:嵌入式系统,LwIP协议栈,网络驱动

设计了一套基于Windows操作系统的Lw IP网络应用开发平台系统。用户可以更方便的开发和调试基于Lw IP协议栈的网络程序。

1 系统整体设计

系统包含的四个模块如下:(1)网络应用模块:提供可视化的参数配置和数据统计。(2)Lw IP协议栈模块:实现网络通信的核心模块。(3)网络驱动模块:与操作系统驱动适配,实现硬件级别的数据收发控制在图1中所示,居于中间的模块为Lw IP协议栈,是这个软件的核心部位,它通过与windows的系统接口连接,实现该软件在windows系统上的运行;在核心模块之上,是实现了基本的数据发送和接收的网络应用模块;置于最底层的模块是负责让协议栈与windows网络驱动互相适配的数据驱动模块,主要功能是通过windows设备驱动将该Lw IP协议栈构造的报文发送到网络,并将WINDOWS设备驱动收到的报文递交给Lw IP协议栈处理。

2 网络应用子模块

网络应用模块的设计目标是,基于Lw IP协议栈提供的三种调用模式,提供了可视化的网络应用配置和操作界面。通过应用子模块,用户可以直观的配置并查看网络程序的运行状况;通过查看源代码,用户也可以获得直接的可参考的Lw IP网络程序代码示例。

主界面使用MFC开发,包含参数配置区和数据统计区。参数配置区提供了实现网络通信需要的参数选项;数据统计区则提供数据传输统计,方便进行传输性能测试与对比。

3 Lw IP协议栈子模块

这个系统软件是搭建在windows平台上的,这个软件的核心部分就是Lw IP协议栈。所以最重要的自然就是如何将该协议栈移植于windows操作系统中。因为嵌入式系统操作系统和windows操作系统是由很大的不同的,所以在移植中,如果想要确保移植后的lwip顺利运行并且执行命令,必须注意以下关键点:(1)内存:因为我们最终目的是将在windows平台上调试好的lwip网络应用移植到嵌入式系统中去运动,但是由于windows操作系统和嵌入式系统的内存配置是不同的,所以如果不考虑内存限制,则会在后面的嵌入式调试中出现各种问题,所以在windows平台下的需要为内存调试预留一定条件,必须对lwip内存的相关接口和参数配置进行强调和注意。(2)线程:进程和线程在windows系统中存在,所以我们要考虑该协议栈在这种多线程运行下的共享变量问题,需要将windows的线程lwip的工作线程来适配的。对于如何记录和管理线程的参数需要专门来定义线程结构。(3)通知与保护:因为该协议栈支持多线程,所以我们必然要考虑线程之间的通信和全局变量的访问保护。而lwip提供了信号量,邮箱和临界区这三种不同的通知和保护机制。

4 网络驱动子模块

4.1 通信模块技术方案

主要内容:这个网络应用的开发最关键的部分就是如何让lwip协议栈网络通信,即解决如何接受和发送报文的这个问题。

该开发平台在网络应用子模块和lwip协议栈子模块完成之后,就表示我们已经实现了该协议和上层应用构造ip或以太网报文的功能。这个平台的核心是网络程序的测试,所以系统联网是必不可少的。主要就是让该协议栈构造的报文调动windows的网卡驱动往网络中传送数据,反之,windows的网卡驱动也能将收到的数据交付给lwip协议栈来处理分析。

winpcap是一个免费的代码可以随时查看的第三方网络操作库,用它来实现在windows网络设备上的操作是很方便的,因为winpcap基于windows平台专门有一组接口用于使用,只要能熟练应用这些接口,就可以轻松的实现对网络数据包的捕获和分析。

Win Pcap的层次结构是怎么样的呢?它主要由三部分构成:内核级数据包过滤器,底层的设备动态链接库(packet.dll),对WIN-DOWS系统的封装库(wpcap.dll)。因为winpcap也有两种难度不同的接口可以编程。一个是功能特别抽象但是庞大的基于libpcap的wpcap.dll,另一个则是功能简单的较底层的packet.dll。

4.2 通信模块设计

首先下载winpcap并且在windows平台上安装winpcap驱动软件,然后直接让winpcap操作网络适配器,完成收发数据包的作用。

由于本文的目的主要是实现以太网数据的收发。因为该平台对于winpcap提供的别的网络功能没用什么特别的要求,基于开发程序的省时省力性考虑,决定使用好用的libpcap接口。

5 结语

开发平台 篇10

随着对CSCW研究的深入, 人们建立了很多支持群体进行协同工作的通用工具, 如白板工具、应用共享等。建立这些通用工具的主要目的就是给群体成员提供一种交流思想, 发现和协调冲突的协同工作手段。然而, 在协同设计时, 遇到的更多情况是如何对由传统CAD软件所产生的设计结果进行讨论和修改, 对此需求, 现有的协同工具大都存在一定的局限性, 如白板工具, 不支持对由传统CAD软件所产生的设计结果进行讨论和修改;应用共享, 尽管能支持群体成员对由传统CAD软件所产生的设计结果进行讨论和修改, 但它只是支持群体成员通过共享的方式, 串行地对设计结果进行讨论和修改, 而对CSCW应用系统应具备的诸如动态性、异时性等功能, 基本上不提供支持, 既使有些应用共享系统提供支持, 支持的程度也非常有限。

针对上述情况, 我们提出了“应用协同”工具的概念, 其主要目的是提供支持群体协同地对某一应用软件所生成的结果进行讨论和编辑等功能。显然, “应用协同”工具除了具备应用共享的一些功能外, 起码还应具备以下功能:①对群体性的支持, 如对群体协作历史的保留, 提供以人为条件的检索以及人———人交互等功能;②对动态性的支持, 如当前群体活动和群体成员的动态变化等情况的支持; (3) 对异时性的支持, 如对同步和异步工作模式的支持。

1 应用协同工具开发平台的设计与实现

1.1 应用协同工具开发平台的组成

应用协同工具开发平台主要由3部分组成。如图1所示。

1.1.1 信息获取工具

这部分是针对传统的CAD软件的信息获取工具, 用来提取被改造软件的各种相关信息, 并生成解析信息库。从而作为应用协同工具运行期间进行命令解析的依据。该工具包括可视化的信息获取工具和手工获取工具。可视化信息获取工具提供了一些可视化手段, 让使用者方便地收集传统CAD软件的相关信息来生成改造信息库;而对于无法用可视化改造工具实现的部分, 提供了手动改造工具加以实现, 这两种信息获取手段相辅相成, 从而提高了系统改造的灵活性。

1.1.2 应用协同守护程序

该程序实际上就是应用协同工具的客户端程序, 它主要负责在应用协同工具运行时, 根据改造信息库对操作者的操作信息进行命令分解;将分解后的命令提交给人—人交互界面;回放人—人交互界面传送过来的命令。

其中, 应用协同工具客户端程序的核心是如图2所示的操作解析器。其主要负责处理本地的输入事件和从网上收到的服务器所广播的各类事件。

由图2可知, 操作解析器由左右两大功能块构成, 其中:

左边的功能块主要负责截取本机的鼠标和键盘输入事件, 然后对截获的事件流进行分解、解析、组装, 形成基本的事件单元, 最后由事件发送控制模块依据当时程序的运行状态和所采用的发送策略, 将其发送给服务器;由于解析模块在设计上必须考虑所有种类的处理方式, 例如资源的创造或毁灭, 输入或输出等, 就使得对事件的解析处理异常复杂。由于解析事件流通常要花费太多的时间, 极有可能影响到事件重放的速度, 使得真实交谈时间及执行时间的模拟受到影响, 因此对时间解析时要考虑解析算法的效率问题。

右边的功能块主要负责接收服务器所广播的事件, 包括成员加入/退出等协同事件和操作事件, 协同事件主要用于协同感知和协同管理等, 然后对要进行回放的操作事件进行组装, 最后由事件回放控制模块依据当时程序的运行状态和所采用的回放策略进行回放。

1.1.3 服务模块

该模块负责在服务端直接与应用协同守护程序相连提供一些与改造工具开发的应用协同工具相关的服务。比较重要的服务子模块有:

(1) 会晤管理。①通讯控制:主要提供客户机与服务器之间数据通信的支持, 以满足通过改造工具来建立应用协同工具时的多种通信需求。有关通信的数据包格式、打包、解包等操作都由改造工具内部实现, 对使用者透明;②会晤控制:处理成员加入或离开会晤过程;③成员管理:负责成员的角色及颜色指定。

(2) 协同管理。提供对诸如多光标、颜色标注等的支持, 以便协作者随时了解群体其他成员的存在、活动行为及状态等信息。

(3) 冲突协调。当将传统CAD软件改造为应用协同工具时, 由于应用协同工具是支持多成员并行操作的, 系统产生冲突的概率必然很大。另外, 对操作冲突的协调目前尚无一个令人满意的通用方案, 对此, 改造工具采用了构件技术, 即改造工具的使用者依据传统CAD软件的实际需求, 编制相应的冲突协调策略, 并由运行解释器对其进行加载, 其中运行解释器和冲突协调部件之间通过共享内存进行通信。另外, 在设计冲突协调策略时, 应尽量保证:比较好的响应速度, 即成员的本地操作能够被立即执行;成员间较高的互操作效率, 即一个成员的操作结果能够尽快地被其他成员感知;成员操作的因果依赖关系即作为结果的操作不会在作为原因的操作之前被执行、以及各操作的本来意图。

(4) 协同历史保存与检索。采用版本管理技术来保存协同过程中各协作者所产生的所有信息, 用于了解和分析整个协作过程中的群体行为, 以及用于实现以人和时间为条件的检索功能。

1.1.4 解析库

解析库保存的是对被改造的应用程序进行信息提取所生成的结果, 在应用协同工具运行的整个阶段, 它向应用协同守护程序提供命令解析的依据。解析库包括两部分内容:①传统CAD软件的基本位置信息, 包括各种菜单条, 工具条, 对话框等的位置和大小等信息, 它们是应用协同工具运行期间所需要的基本信息;②命令信息, 包括该命令的开始信息和执行操作信息。

存储上述信息的解析库有两个重要的特点:一是这个库是使用者可以随时扩充的, 而不是固定的;二是信息库存储的信息单元有固定长度的, 也有变长的, 比如对操作信息的描述就是长度可变的。

1.2 应用协同工具开发平台的功能

我们设计开发的这个应用协同工具开发平台是在不对原有的传统CAD软件源代码进行修改的情况下, 对其进行改造, 使其具有协同功能。此类功能体现在如下3个方面:①支持成员间对设计结果协同地进行讨论和修改;②提供CSCW应用系统应具备的基本功能;③被改造的传统的CAD软件原有的功能。

利用该开发平台改造的应用协同工具, 可以让多个成员对某CAD软件产生的设计结果协同地进行讨论和修改, 而且使用该应用协同工具的方法和原CAD软件除了增加了协同功能外, 几乎没有使用上的区别, 这就给操作者带来极大的方便。

1.3 应用协同工具的软件结构

通过应用协同工具开发平台所构造的应用协同工具的软件结构如图3所示。从中可以看到开发平台在整个应用协同工具中所处的位置。

应用协同工具不仅要支持成员间对设计结果协同地进行讨论和修改, 还要对CSCW应用系统应具备的基本功能提供支持, 后者可以通过人—人交互界面来实现, 前者由应用协同工具开发平台实现。即应用协同工具开发平台的主要功能是将传统CAD软件的编辑操作功能, 改造为支持群体协同工具的协同编辑操作功能。具体讲, 它一方面负责对本地成员的操作命令进行解析;另一方面负责对其他成员传送来的操作命令进行回放。

2 实验结果

为了验证应用协同工具开发平台的性能, 我们对使用应用协同改造工具对AutoCAD98进行改造生成的应用协同工具与以前我们直接开发的应用协同工具AcAutoCAD98进行了比较实验。实验结果如表1所示。

采用不同途径来建立应用协同工具, 在改造效率和实现难度上存在差异是显然的, 至于运行稳定性, 对于不采用改造工具所构造的应用协同工具而言, 通常会由于调试时考虑不周而导致其运行稳定性较差, 而通过采用改造工具所构造的应用协同工具, 由于开发平台所提供的服务如对输入事件的截获和解析, 已经过实践的考验, 因此采用开发平台所构造的应用协同工具的运行稳定性较好。

3 结束语

本文对应用协同开发平台的设计思路、组成与功能以及它所提供的服务分别做了简单的介绍, 并且对采用不同途径所建立的应用协同工具的运行情况进行了比较。但通过该开发平台开发的应用协同工具存在如下一些问题:

(1) 计算机软件硬件环境的一致性维护。

由于条件的不同, 各个协作者所使用的计算机的软硬件必然有所不同。为了使协作能够顺利进行, 规定了本系统运行所需软件环境和最低的计算机硬件配置。在客户登录到服务器时, 客户程序会将本地计算机的一些信息发送给服务器, 并由服务器转送到其他客户。服务器和客户端存储这些信息以供需要时使用。如在共享绘图软件时, 根据发起协作任务成员所在节点的显示器屏幕分辨率的设置和本地显示器屏幕分辨率的设置换算坐标。

(2) 共享应用程序初试状态的一致性维护。

由于每个协作成员的偏好和工作性质的不同, 他们在单独使用应用程序时往往显示应用程序提供的不同的浮动窗口, 这样就导致在共享该应用程序的界面中所有窗口元素时不一致。所以本系统要求以最简单的窗口的界面启动共享的应用程序, 即只包含主窗口框架和菜单, 在协作过程中依据协作者的操作显示其它的浮动窗口, 这样就保证了所有协作成员的一致性。

总之, 由于成员的输入信息中包含有屏幕坐标位置信息, 导致参与共享的机器的软件及硬件运行环境完全一致。

摘要:目前, 将传统CAD软件改造成支持多成员协同工作的应用协同工具的常用方法是逐个地对传统CAD软件进行改造。在对现有改造方法存在的问题进行分析总结的基础上, 设计实现了一个应用协同工具开发平台, 该开发平台不但能提高改造效率, 而且能保证采用该开发平台所构造的应用协同工具具有较好的健壮性。

关键词:CSCW,应用协同,应用共享

参考文献

[1]Liu Zhifeng, Ding Lei, Lin Zongkai.Application sharing and applica-tion cooperation[A].Proceedings of Third International Workshop on CSCW in Design, WF2 (1) [C].Japan, 1998.

[2]C.A.Ellis, S.J.Gibbs, G.L.Rein.Groupware:Some Issues and Experi-ences[A].Communication of ACM[C].1991.

[3]徐保民.应用协同技术研究[D].中国科学院计算技术研究所, 2000.

[4]Baomin Xu, Peng Gong, Zongkai Lin.Application Cooperating:Issues and Approaches[A].The Seventh International Conference on CSCW in Design[C], Brazil:Rio de Janeiro, Brazil, Sep.25-27, 2002.

[5]Roseman, M., Greenberg, S.GroupKit:A groupware toolkit for build-ing real-time conferencing applications[A].In Proceedings of the ACM CSCW Conference on Computer Supported Cooperative Work[C], Canada, Toronto, 1992 (11) .

开发区如何再开发 篇11

因地发展受限,寻地破解瓶颈

长三角到底还有没有可供开发的成块用地?当笔者面对杭州经济技术开发区盛成皿主任时,得到了肯定的答案。“经过多年来的开发建设,长三角地区在发展空间上确实受到了一定的制约。在这个城市,‘杭州向东’的形象广告如‘人间天堂’一样响亮。这次杭州市委、市政府规划建设大江东新城,杭州经济开发区向东拿出近40平方公里的土地,扩大招商引资,目标就是要打造‘杭州的浦东’‘再造一个杭州工业一’。盛主任自信地说,40平方公里的杭州经济技术开发区江东区块,是大江东新城的核心区,非常及时地破解了长三角地区经济发展的土地资源瓶颈难题。作为杭州向东的先锋部队,杭州经济技术开发区江东区块是未来工业经济发展的主平台、主战场,它必将成为一大批跨国公司和知名企业的投资首选。

显然, “寸土寸金”的杭州能拿出这样一大块新的用地,绝非一个“因地受限、添地解决”的简单行为。时下,我国50多个国家级经济技术开发区每平方公里GDP产出已超过9亿元,而杭州经济开发区江东区块制定的目标是每平方公里产值必须大大超出上述指标。“高端产业及全球化实力”成为杭州经济开发区为投资者设定的高门槛。

“这块土地是杭州向东战略布局的一个重要组成部分,高新技术产业和现代服务业是其最好的注脚,也是必然选择。”中科院有关专家把国际化战略确立为杭州经济开发区的重要战略之一,而国际产业转移的方向正是高新技术产业和现代服务业,这两大领域产业布蜀在江东区块,可谓用心长远。

提高办事效率创造良好环境

世界银行投资环境评价体系中,有项非常重要指标:政府的办事效率,其具体反映为企业与政府打交道的时间。有调查显示,在杭州,企业一年花费在政策咨询和项目审批的时间,只有8天。杭州因此被学者专家们誉为中国“市场交易成本最低的城市”。

一个投资项目一经确定,投资人最“烦心”的就是行政审批程序。杭州经济技术开发区管理委员会很好设计、改善和实施了这样一个“保证8天完毕”的“系统工程”。具体来说,就是全面实施一站式服务的“项目代办制”:从项目立项、公司设立、用地申办到厂房建设全程实施项目代为办理。管委会下属的投资服务中心免费为企业和投资商提供投资咨询、相关手续协办等服务,并协助企业解决在生产经营过程中遇到的困难。海关、质量技术监督、卫生监督、税务、消防等机构也都在开发区设立了办事机构,方便企业办理相关的业务,建立高效、便捷的服务体系。

杭州经济技术开发区为企业提供的不仅仅是行政效率,他们要用自己的努力和创新,为投资^提供高效的公众产品和公共服务,创造一流的投资创业环境。

这种努力得到了验证:杭州经济开发区被联合国环境规划署等多家机构联合评为“跨国公司最佳投资的开发区”,日本贸易振兴机构称杭州经济技术开发区为中国75个城市开发区投资环境综合评价最佳开发区。

聚才助力引商再造投资“天堂”

“任何一个投资者都不可能忽视人才因素。是否有“才”,能否就地取“才”,在很大程度上决定了投资行为的成败,同时也就决定了在某一地区投资的取舍。杭州经济开发区的决策者们早就认识的这一因素的重要性。而今,浙江省最大的大学城就坐落在杭州经济技术开发区内,14所大学的18万名在校学生作为一个庞大的人才储备库,源源不断的向企业输送着各类专业人才。

而当初,拿出大量土地、资金、资源,建设这么一个不能直接产生经济效益的大学城,开发区的决策者们可谓用心长远。如今,杭州经济开发区已拥有国家及省部级重点实验室20多个,自然科学研究机构100余所。此外,开发区还建立起产学研合作中心,设立了每年1000万人民币政府投入的产学研合作基金,促进产学研成果的转化和产业化,大力培育和发展具有自身特色的知识经济和技术密集型产业,努力增强开发区的核心竞争力,极大提升整个开发的知识厚度和产业科技含量。如今,在开发区,以电子信息、生物医药为主体的高新技术产业产值比重达到61%。

开发平台 篇12

该平台系统分为单片机小系统、CPLD小系统、电源模块、RS232接口模块、液晶显示模块、继电器模块、蜂鸣器模块、8位LED模块、4×4键盘矩阵模块、8位拨码开关模块、扩展口等几个部分, 系统框图如图1所示。

二、主要模块设计

1. 单片机小系统

该部分是开发平台的核心, 该部分主要处理各种信息, 接收用户操作指令并控制各个电路进行工作。其与MAX232接口芯片相连, 可与PC及其他单片机进行串口通信;其P0和P2口与CPLD相连, 并可以通过CPLD进行接口扩展控制更多的外部电路。另外, P1、P3口被用作外部电路的接口留出备用。平台采用ATMEL公司的AT89C51单片机, 如图2所示。

2. CPLD小系统

CPLD小系统作为“准双核”系统的“准控制器”也是平台的重要组成部分。对于简单的项目, CPLD小系统完全可以单独胜任;对于复杂项目, 其与单片机相连, 可与单片机完成双向通信, 由单片机作为主控制器, 而其作为从控制器或接口扩展电路。平台采用Altera公司的MAX II系列的EPM240T100C5型CPLD如图3所示。

3. 电源模块

该平台中具有单片机和CPLD两个主器件, 但是单片机是5V供电, 而CPLD是3.3V供电, 所以电源的设计上还存在电压转换的问题。由于平台采用的是USB供电, 因此只需要将USB的5V转换成3.3V即可。通过芯片LM1117即可完成电压转换, 如图4所示。

4. 液晶显示器模块

本平台中采用1602字符型液晶模块, 能够同时显示2行共32个西文字符, 可满足大部分小型电子产品的显示使用。在该平台中1602的数据总线均接在CPLD的管脚上, 其控制可由CPLD单独控制, 也可由单片机发数据有CPLD作为接口进行控制, 其原理图如图5所示。

5. RS232串口通讯模块

串行通讯功能是目前单片机应用中经常要用到的, 51单片机的P3口的引脚P3.0和P3.1的第二功能是串行口RXD与TXD, 其内部的串行接口电路具有异步通讯功能, 但是单片机输出的信号是TTL电平, 也必须以TTL电平作为输入, 即以0~0.3V为低电平, 以3.8V~5V为高电平, 而RS232接口的逻缉“1”是指在-5V到-15V, 逻辑“0”是指+5V到+15V, 为获得电平匹配, 实验板上扩充了一片MAX232芯片, 这是一个电平变换芯片, 利用该芯片, 可以将单片机的TTL电平变换为RS232所要求的电平并将RS232的电平变换为TTL电平, 该芯片内部有电荷泵, 只要单一的5V电源供电即可自行产生高电压, 使用非常方便, 芯片的外围电路也很简单, 只要4只0.1微法的电容即可, 串行接口通过J2 (DB9接口) 与PC通讯。如图6所示。

6. 蜂鸣器模块

平台上由三极管Q1驱动一个无源蜂鸣器, 构成一个简单的音响电路, 该电路利用EPM240的50号引脚作为音源, 经Q1驱动后发声。由于采用了无源蜂鸣器, 所以EPM240的50号引脚输出高电平时 (即Q1导通) , 并不会发声, 需要输出一组脉冲信号蜂鸣器才会发声, 脉冲信号的频率决定了蜂鸣器发出的声音的音调。如图7所示。

7. 继电器电路

平台上安装有1个220V/5A的继电器, 提供控制输出功能, 可以用来实现对交直流电器的控制。其由三极管Q2驱动, 由CPLD的28脚连接到Q2的基极来控制三极管的导通和截止, 从而控制继电器的通断。如图8所示。

三、应用

上一篇:辅导答疑下一篇:人生贵在坚持