CosRain项目计划书

写了很久,最终定下终稿,也把团队定下来了。CosRain一直是我想做的,但我知道很难,但至少我去想了,努力了。希望团队能一起努力,把CosRain实现!

 

CosRain参赛项目计划书

江西省南昌市 华东交通大学软件学院  CosRain项目组(队长:王新宇)

 

一、参赛作品构思的创意与价值

1.背景:问题领域

本项目研究基于Web的操作系统,计划开发一个与市面产品相比较,具有若干新特性的高性能Web OS

基于云技术的Web OS是一个很大的创新,在移动设备端风靡的今天,我们不能忽略浏览器的应用,我们计划用Silverlight技术开发,产品不仅能运行在各种基于英特尔处理器的PC端,也可以运行在各种基于英特尔凌动的各种计算平台上

2.问题:选题的动机与目的

传统的操作系统服务于传统PC,而未来的操作系统服务于网络,将建立在云技术之上,Web OS是操作系统迈向云端的重要一步。随着网络应用的不断发展,以及网速的不断提升,人们对高性能Web OS的需求愈发迫切。

3.研究:市场调查过程和评价结论

目前已经有较多相对成熟的Web OS,有基于JS的,有基于Flash的,也有基于Silverlight的。针对人们对Web OS的需求,我们用了一个月时间,组织了一次关于“你最关注的Web OS特性”的社会调查,调查对象包括企事业单位用户,软件企业开发人员,以及高校计算机及软件相关专业高年级学生等,调查结果显示,大家比较关注以下几点:执行速度、用户体验、软件应用是否丰富、数据保存等。

4.创意:参赛作品的构思描述

根据调查结果,为满足用户需求,我们的Web OS产品----CosRain将设计如下新特性:

UI层无缝切换

有些人用Windows界面非常熟练,有些人对Linux也是情有独衷,也有些人喜欢移动Mac系统的简洁。CosRain支持Windows UIUbuntu UI、移动Mac UI以及CosRain特有的Web UI。用户只需要在页面设计中选择使用不同的UI就可以实现无缝切换。

已删除资料的延迟保留

对于已被用户删除的文件,在云存储中并不删除,仅仅进行标记而不被用户显示,文件使用时间戳记录其存在期,只有当删除文件超过3个月时,云存储管理才会根据垃圾回收机制将时间戳过期的用户已经删除的文件和冗余删除。用户每次对数据文件的修改,都会被作为副本独立保存,这样用户可以将任何文件恢复到任何历史版本,实现用户数据的完全保护。

修改菜单功能,改为环型菜单

CosRain在用户体验上有了很大的改进,特别是环型菜单的使用。传统的右键菜单,用户需要按右键并移动鼠标到指定项并单击,才有效果。而CosRain的环型菜单一改以前的点击菜单,采用区域模式:用户按住右键,屏幕中间出现一个六边菱形,每个菱形角延伸到屏幕边缘,将全屏幕分为六个触区,用户将鼠标移动到指定触区,该触区就会展示特效已表明用户已经选中,此时松开右键,则表示用户选中该选项。用户在全屏幕范围内选取六个很大的区域,比以往的下拉式菜单方便很多,当用户使用熟练后,选取一个菜单命令甚至不需要1秒。

支持内域CosRain应用程序的同时,也支持外域的CosRain程序

CosRain客户端的应用程序,支持两种运行模式:内域和外域。内域程序是指程序已经被安装到了用户存储区或公共存储区,外域存储区是指程序被架设到其他个人服务器中。内域程序被部署到了云端,使用云计算实现一些用户交互。外域程序被部署到了个人服务器,无法直接使用云存储或云计算,甚至无法使用CosRain API来操作客户端。为了使外域CosRain应用像内域应用一样运行,CosRain设计了心跳轮询机制,外域的OS应用需要在配置文件中写入一个访问限制的XML文件,说明此应用需要使用的访问需要,在加载外域应用时,CosRain客户端会同时下载这个XML文件,并根据这个XML配置,首先对应用程序所在的服务器发出Socket请求建立连接。外域程序在需要使用CosRain API时,按照CCLCosRain Common Language  CosRain公共指令集)给CosRain客户端发送Socket指令,CosRain会执行指令并驱动API。如果需要使用云端(云存储或云计算),则需要使用CCL指令调用API,向服务端发送CCL指令与云端进行交互。有了对外域程序的支持,普通Silverlight应用只需要添加一个XML配置文件和一个简单的通信模块(推荐使用CosRain SDK For SL中的通信模块)就可以轻松转化为CosRain支持的应用。

CosShop软件商店

CosRain在客户端实现了软件商店,所有人开发的CosRain应用,都可以架设到CosShop中,CosShop中的程序可以架设到云端,也可以架设到个人服务器,但我们建议架设在云端,这样能保证用户最佳的访问性能。CosShop中的商品绝大多数都是免费的,开发者可以任意上传应用,用户可以根据其他人对应用软件的评价进行选择性下载,开发者开发的一些商用软件,可以上传到收费软件区,我们会负责对版权费用的在线收取。CosShop规范了CosRain的应用软件,方便了用户的下载,也方便了开发者发布新的应用程序。

CCLAPI

CCLCosRain Common Language,即CosRain公共指令集。在端与端之间的通信指令都使用CCL,统一的指令集方便了开发者进行跨端交互开发。API指应用程序接口,它控制客户端的UI、通信、进程控制、用户交互等。CosRain应用程序(无论内域外域)都可以直接或间接的调用API(在用户设置允许的情况下)。

SDK开发包

CosRainSDK包括三个部分:

A.在线开发程序:本质是一个CosRain应用程序,支持控件拖动及一个简单的C#编辑器,可以直接在线测试。

B.本地开发类库:一套CosRain应用程序类库,结合BlendVS实现交叉编译,测试时需要上传执行。

C.CCL集成开发环境:包括CCL指令的编辑器,支持高亮、智能提示、语法检查等功能。

使用这三部分,用户可以方便的创建CosRain应用。

CosRain端的结构模拟

为了方便开发者和使用者,CosRain实现了内置的结构模拟器,在云存储的基础上,模拟PC操作系统的结构。每个用户有自己的文件目录、注册表、硬盘盘符、网络协议、硬件管理器等。这些设计方便一些PC开发者将自己的程序移植到CosRain 上。

以上八大特性是我们计划开发的CosRain的主要功能,在设计上我们尽量满足各种用户。CosRain在用户体验、数据保护、应用开发等方面,较传统的Web OS有很大改进。

5.功效:最终呈现给用户的实际功效

CosRain的表现形式,主要集中在客户端上,用户可以亲自体验这个Web OS

①进入CosRain的网站,注册自己的ID并登陆。之后就可以看到自己的Web OS了。一开始所有用户的默认页是CosRain UI,用户可以根据自己的使用习惯换成Iphone UIUbuntu UIWindows UI

②打开CosShop,下载一些自己喜欢的应用,如CosOfficeCosTextCosIDE、天气、股票、小游戏等等。可以选择作为外域程序运行或者安装到本地应用。

③可以根据自己的喜欢,在桌面放置一些日历、任务计划、课程表等等。

④可以体验一下右键环型菜单的方便,也可以打开自己运行的程序玩一玩。

⑤用户可以在云存储上存储自己的文件、一些游戏应用也可以在云中存储用户的游戏进度。

用户可以对任意文件进行版本恢复,将它恢复到以前版本。

6.评价:对创新的深度与广度的自我评价

CosRain的创新之所在,不仅仅是它使用了云技术,或是它是一款方便的Web OS。我们团队认为,在没有实用性的情况下空谈云技术或Web OS,是非常空虚和没有意义的。CosRain的优势,在于将云端、Web OS、用户实用性紧密结合在了一起,可以说CosRain最大的创新点在于它的人性化。我们根据调查结果,对网络上的各种Web OS进行了透彻的分析,取其精华取其糟粕,利用云的健壮性、高吞吐量的特点,对我们日常使用操作系统的种种不便进行了改进,最终形成了CosRain

CosRain的创新体验在每个小细节中:比如CosRain对于用户文件的版本控制,允许用户将文件恢复到自己任意时间的修改版本;又比如CosRain的环形菜单,使用户的基本操作更加流畅,更加快捷;再比如CosRain的不同UI切换,使用户可以在同一个OS,体验各种操作系统的操作风格,甚至还可以使用别人开发的UI。种种细节都是CosRain创新性的体现,我们的宗旨和目标是做最人性化的操作系统。

 

二、参赛作品的目标实现形式

1.参赛作品的最终呈现形式

CosRain是一款基于MS SilverlightWeb操作系统。整体分为三大部分:客户端,服务端,SDK

①客户端:CosRain在客户端包括三部分:核心、中间件、UI 。其中,CosRain包括唯一一个版本的核心和唯一映射的中间件,可以支持不同个的UI,并实现无缝切换。

②服务端:CosRain 服务端主要包括三部分:云存储系统、云计算系统、总控制器。

SDKSDK包括三部分:CosIDE,基于Blend的控件库和类库,标准API

2.参赛作品的主要功能描述

CosRain的主要功能,就是一个包含客户端的云平台,而客户端是基于Silverlight技术的。UI方面非常灵活,支持无缝切换,有良好的用户体验,同时提供接口,允许用户设计自己的UI。支持云存储和高质量的数据保护,能恢复用户文件的各种历史版本。在云计算方面,根据用户任务粒度进行任务分解并执行,主要为客户端应用提供一些简单的用户交互。

3.参赛作品的实用性和未来可扩展性分析

CosRain是一款非常友好的Web OS,有着很强的实用性:

①它是一款随时可用的移动平台,可以在PC、平板电脑、智能手机中装载使用。可以概括为:“Files EveryWhere EveryTime”。

②用户可以使用它保存很多关键文件,CosRain出色的数据保护和文件版本控制,可有效的减少用户因误操作造成的文件损害,并可自由的恢复到任意历史版本。

③用户可以运行基于CosRain的应用程序。CosRain强大的平台特性可以支持多种应用程序,用户可以在CosRain中玩游戏,并将游戏进度保存至云存储;也可以在CosRain中办公,并把数据存储入云。用户可以在CosRain中使用社交应用,访问自己的微博、校内网、TwritterFacebook等。等平台应用丰富时,也可以再CosRain中运行QQMSN与好友联系。

CosRain也是一款非常优秀的应用平台,有着很强的扩展性和可开发性。

CosRain客户端的设计是UI与内核的分离,并由中间件承载两者的兼容。因此,用户可以针对稳定的中间件API来开发任意的UI,从而形成不同的风格界面。CosRain支持不同UI的无缝切换,这使的用户可以经常更换皮肤。这个特性会吸引开发者进行UI设计,激发大家的创意火花,从而打造更好的CosRain平台。

CosRain提供了功能强大的SDK,包括CosIDE与基于Blend的组件库。这使的开发者能轻松的构建CosRain应用。CosRain为开发者提供云存储与云计算的功能,开发者可以在这些资源的基础上开发出非常丰富的应用程序。

CosRain针对外域的Silverlight应用程序有着非常好的支持,通过“心跳轮询”机制,开发者不需要更改源系统的代码,只需要增加一个小模块即可实现非CosRain应用向CosRain应用的快速移植。

CosRain为开发者保留了很大的自由性与灵活度,允许用户通过API编程的同时,也允许用户在CosRain保护模式下直接使用CCL指令进行编程。这在某些情况下可以极大的提高应用程序的性能。

CosRain提供特有的CosShop,推荐开发者将开发的成品应用发布在CosShop上,所有成品将接受我们的手工测试,以保证安全。发布的产品我们将著名版权,并允许开发者对用户收取使用费。当然,我们鼓励开源的、免费的软件,但不拒绝优秀的、收费的软件。CosShop致力于保护开发者的版权,这是对开发者最好的肯定与支持。

 

三、参赛作品目标实现的可行性

1.参赛作品的主要技术路线

查阅文献,为项目

研究做基础准备

 

进行社会调查,考察主流产品优劣

 

分析调查结果,并进行深入的讨论

 

确定系统范围,明确项目需求

 

后期产品维护

 

产品部署及试运行

 

完成编码以及测试

 

完成架构设计及各局部功能设计

 

 

 

 

 

 


 

                

2.参赛作品的核心技术关键与实现可行性

① 云存储:其核心设计为一个基于NTFSDFS(分布式文件系统),将64位的逻辑路径映射到指定机器的物理路径中,并由云存储客户端将文件发送至缓冲区。每一个用户都有一个Index文件,用户登陆后,云控制器将用户的Index文件加载到内存中,反序列化为一个一维表CosTable。客户端发送CCL指令操纵文件时,首先索引用户的CosTableCosTable这个一维表实现了X-Y映射。其中X为文件的逻辑路径,而Y为一个后进先出栈,栈的元素类型为一个被称为CosFile的数据结构,CosFile包括一个解释器标识、一个时间戳和64位逻辑地址。栈顶元素是时间戳最新的CosFile,每次默认读取的就是栈顶元素的64位逻辑地址。再通过DFS转化为物理地址返回给请求端。具体实现是:用户请求的逻辑地址 —> CosTable查表 —> 栈顶的CosFile > 64位地址标识 —> 目标文件。

② 云计算:因为设计比较复杂,仅仅列出部分架构部件。云计算主要保证三点,根据重要性从高到低排序:服务器安全、计算正确性、计算速度。对于服务器的安全,是最重要的。因此,我们限制仅有内置解释器能解释的文件才可以进行云运算,否则云端无法识别读取文件。内置解释器包括基本数字,二、八、十、十六进制文件,文本文档,字符串等类型。为了保证服务器负载正常,云计算总控端负责负载平衡、任务粒度计算、任务拆分与分流。云计算任务的数据结构称为CosTask,包括任务日志、任务粒度和时间戳,主要负责云计算的分流与负载。同时,为每个参与运算的宿主设置租约,以免出现死锁及内存泄露等问题,租约到期则判定线程停止响应,将结束线程并释放内存。

③ 客户端:因为设计比较复杂,仅仅列出基本架构部件。OS内核的核心是CCL解释器,它负责解释CCL并执行内核库。内核库主要包括进程调度、本地存储交互、本硬件交互(如U盘等)、通信模块。当用户有指令时,CCL解释器会解析CCL命令,并调用内核库执行命令来控制OS。中间件是UI与内核的兼容层,它对上层应用提供API,对底层内核提供CCL指令。这样,在CosRain升级内核时,原有的应用软件不会受到任何影响。中间件还负责用户信息的表述,将用户信息作为XML格式传递给UI层,由UI层自由解析,从而实现不同UI的无缝切换。对于UI层,主要是将用户的XML信息转化为UI表示,这个主要基于MS Silverlight技术。

3.参赛团队的资源可行性

①参赛团队4名学生均为软件工程专业的学生,技术基础优秀。

②指导教师为软件工程专业教学经验丰富的教师,曾指导过多名学生参加“挑战杯大学生科技竞赛”等各类科技竞赛活动,并多次获奖。

③学校及学院两级机构大力支持本团队参加本次比赛,研究时间及研究经费上有保障。

 

四、团队组成与角色分工

1. 团队组成及成员基本情况

①指导教师,魏永丰,男,硕士,华东交通大学软件学院软件工程教研室主任,有多年软件工程专业教学与软件项目开发工作经验,主要研究方向为软件工程、分布式数据库技术等。

②队长,王新宇,男,软件工程专业本科三年级学生,精通.NET技术,对微软操作系统有深入研究,有三年开发经验,作为技术骨干完成多个实际项目的开发,并有多个软件作品在各级软件设计大赛中获奖,作品WINSIM20106月“安利杯计算机作品大赛”中获全国铜奖。

③队员1,余知悦,男,软件工程专业本科三年级学生,精通C/C++技术,熟悉.NET技术,有三年开发经验,作为技术骨干完成多个实际项目的开发。

④队员2,黄希望,男,软件工程专业本科三年级学生,有美工方面特长,有两年美工设计经验。

⑤队员3,王瑾幡,男,软件工程专业本科二年级学生,精通.NET技术,对硬件、智能手机有深入研究,有一年半开发经验。

2. 角色分工

项目总监:魏永丰

项目经理:王新宇

技术负责人:王新宇

配置管理员:王瑾幡

设计人员:王新宇,余知悦,黄希望

编码人员: 余知悦,王瑾幡

测试人员:黄希望,王新宇

QA组:余知悦(负责人),黄希望

SCCB:魏永丰(负责人),王新宇,余知悦

五、项目时间进度表

项目重要里程碑

预计完成日期

创意设计

201078

完成软件过程定义

2010712

关键技术问题解决

2010720

需求规格说明书及界面设计说明书

2010723

全局设计及架构设计说明书

2010730

局部设计规格说明书

201086

代码集成

2010820

项目测试报告

2010827

产品部署及试运行(CosRain1.0版)

2010830

试运行情况报告(Bug数据统计)

20101030

完成试运行期间问题的修正

20101120

 

 

 

posted on 2010-07-11 23:24  寻雨  阅读(491)  评论(1编辑  收藏  举报

导航