Differences between revisions 48 and 50 (spanning 2 versions)
Revision 48 as of 2005-03-01 11:05:41
Size: 5306
Editor: riverfor
Comment:
Revision 50 as of 2005-05-22 16:12:17
Size: 3835
Editor: riverfor
Comment:
Deletions are marked like this. Additions are marked like this.
Line 48: Line 48:
短期目标:
在本月底之前做完所有的准备工作.在10月15日之前能发布第一个Demo
riverfor's first demo发布,待偶有时间就同步到代码库内
奋战了2天,终于实现了第一个demo版本,本版本重新设计了实现,出了OpenGNS协议的实现未作处理外,其他的代码与本社区内的代码库内的compass不同。
实现的compass具有以下特点:
一,设计上
1, 设计上暂时取消了admin client/server agent client/server dispatcher client/server等复杂模式,只是定义了agent (super / simple) 和dispatcher的角色。
Line 51: Line 54:
Todo List:
 1. 完善系统说明书 -- ["/CompassWhiteBook"] 技术白皮书!正式文档释出页面
   整体的架构需要仔细考虑,系统说明书需要进一步完善.仔细讨论系统说明书的细节.
    * [http://220.248.2.35:7080/share/Python/Compass/cmpp/ 互联网短信网关接口协议] -- 中国移动通信企业标准(可以参考!)
二,实现上
1, 消息驱动实现数据流和信息的转换
  对报头的解析,得出对报体的解析函数
Line 56: Line 58:
 2. 完善报文规范 -- ["/CompassMessBook"] 指南针报文手册!正式文档释出页面
   协议,报文算是我们这个项目的灵魂了吧.
2, 消息驱动实现报文的发送
  一次会话过程:
  设计agent的next cmd和args
  agent 发连接请求报文:
  dispatcher接收连接报文,检验权限,然后发送连接回复
  agent接收到回复报文,执行next cmd
  dispatcher接到next cmd发送的服务报文,作出处理,然后发送next cmd执行的回复报文,(然后断开连接?在这里还是在后面,待选)
  agent接受到next cmd的回复报文,发送断开连接报文,然后断开连接
  dispatcher接到断开连接报文,断开连接(或者超时后也断开连接)
Line 59: Line 68:
 3. 确认测试用例规范(test unit) -- ["/CompassTestUnit"] 指南针测试用例规范!正式文档释出页面
    * '''期望可以成为啄木鸟统一的测试规范!'''
    * 基于Twisted文档中的相关部分,讨论适合这个项目的单元测试方式.

 4. 将Twisted翻译的扫尾工作完成. -- ["PyTwisted"] 文档组织页面!
   Twisted是这个项目的基础了.相关部分的翻译希望在本月17号之前完成.

招募志愿者:
项目正式启动,目前的工作是上面的四项.有兴趣的都欢迎参与进来.
志愿者可以发信到pythoner(at)gmail(dot)com说明感兴趣的部分.
希望每个子项目都有一个负责人.
我会在wiki上公布最终的项目成员.

项目交流:
希望在以后就这个项目可以每天有两次的讨论时间,初步的想法是中午一次晚上一次.请大家发信的时候也说一下自己什么时候比较方便.交流的主要内容就是上面提到的项目.
= on step 进度: =
DONE: see package's README
TODO: see package's TODO
[attachment:ompass20050301.tar.tgz]
== Hoxide Compass 原型计划 ==
 ["Compass core"]
== HD的先头探索 ==
数据存储的选择,权衡一下后先使用sqlite来做数据存储,主要是因为sqlite在windows更容易安装和部署,出现问题大家好解决,必竞能有freebsd环境的开发人员不多:
 * 使用[http://www.sqlite.org sqlite]做为数据存储
 * 使用[http://pysqlite.sourceforge.net pysqlite]做为sqlite的接口
=== 在windows下安装sqlite及pysqlite ===
 1. 你可以下载[http://www.sqlite.org/sqlitedll-3_0_7.zip sqlitedll-3_0_7.zip],它是一个命令行可以使用的sqlite实用工具,与mysql的命令行工具类似。
 1. 为了python能使用sqlite,你还需要下载[http://prdownloads.sourceforge.net/pysqlite/pysqlite-1.0.win32-py2.3.exe?download pysqlite-1.0.win32-py2.3.exe]来为你的windows下python 2.3安装pysqlite模块。
 1. 一旦安装完成pysqlite后,你可以运行以下命令来确认安装的正常:
{{{
>>> import sqlite
>>> cx = sqlite.connect("db")
}}}

=== Sqlite教程 ===
[http://www.donews.net/limodou/archive/2004/07/05/37895.aspx PySqlite简明教程]

[http://www.donews.net/limodou/archive/2004/07/10/40733.aspx PySqlite简明教程(续)]

=== 单元测试 ===

针对前一段发布的 compass-0.1.1 版本源代码,编写了测试 message、protocol、client、deamon 等的单元测试用例(原生代码进行了最小限度的修改),并对 compass 源代码进行了 dist 包装。执行单元测试的方法见 README。

下载:[attachment:compass-0.1.1.tar.gz compass-0.1.1.tar.gz]
3, 存储采用这样模式:一个agent连接上dispatcher后,后者首先由文件内读数据进内存,然后每次在涉及到数据的I/O时再写入文件
4, 目前已经实现的compass功能
  simple aent的 connect / disconnect , server login / logout
  super agent除了具有 simple agent的所有属性外,还具有 service /add / del / get等权限
  
三,TODO
1, 重构协议转换类,通过定义 __getitem__类,将负责协议转换的类变得简洁
2, 实现super agent的 service select service group add /del ...以及depend add /del...
3,项目文档
4, 存储的多样实现

开源全局名称服务 Compass 指南针

attachment:compass.png

-- hd [DateTime(2004-08-18T00:47:09Z)]

TableOfContents

项目描述

Compass为PyUSS系统提供了不间断可持续运行的支持。

  • Google Group!

http://groups-beta.google.com/img/groups2beta_m.gif

Woodpecker.OGNS

[http://groups-beta.google.com/group/WoodpeckerOGNS 阅览讨论组文档]

at [http://groups-beta.google.com/ groups-beta.google]

目标

为PyUSS系统提供7*24小时可持续运行的基础支持。

危机!

技术定义

  • GNS - Global Name Service 全局名称服务

开发计划

系统文档

  • ["/Compass系统说明"]
  • ["/Compass协议规范"]
  • ["Python开发编码规范"]

相关资料

项目成员

名称

EMail

目前负责子项目

riverfor

riverfor at gmail dot com

项目程序员

Jerry Marx

Pythoner at gmail dot com

Twisted文档Utility部分的翻译

BigBaboon

wangjiachun at gmail dot com

Twisted文档Work on Code Base部分的翻译

令狐冲

jimingxin at gmail dot com

Twisted文档High Level部分的翻译

梅劲松

stephen.cn at gmail dot com

希望参与协议,编码部分的工作

Zoom.Quiet

Zoom.Quiet at gmail dot com

test unit 设计,维护

Xie Yanbo

xieyanbo at gmail dot com

unit test 子项目负责人

最新进展

riverfor's first demo发布,待偶有时间就同步到代码库内 奋战了2天,终于实现了第一个demo版本,本版本重新设计了实现,出了OpenGNS协议的实现未作处理外,其他的代码与本社区内的代码库内的compass不同。 实现的compass具有以下特点: 一,设计上 1, 设计上暂时取消了admin client/server agent client/server dispatcher client/server等复杂模式,只是定义了agent (super / simple) 和dispatcher的角色。

二,实现上 1, 消息驱动实现数据流和信息的转换

  • 对报头的解析,得出对报体的解析函数

2, 消息驱动实现报文的发送

  • 一次会话过程: 设计agent的next cmd和args agent 发连接请求报文: dispatcher接收连接报文,检验权限,然后发送连接回复 agent接收到回复报文,执行next cmd dispatcher接到next cmd发送的服务报文,作出处理,然后发送next cmd执行的回复报文,(然后断开连接?在这里还是在后面,待选) agent接受到next cmd的回复报文,发送断开连接报文,然后断开连接 dispatcher接到断开连接报文,断开连接(或者超时后也断开连接)

3, 存储采用这样模式:一个agent连接上dispatcher后,后者首先由文件内读数据进内存,然后每次在涉及到数据的I/O时再写入文件 4, 目前已经实现的compass功能

  • simple aent的 connect / disconnect , server login / logout super agent除了具有 simple agent的所有属性外,还具有 service /add / del / get等权限

三,TODO 1, 重构协议转换类,通过定义 getitem类,将负责协议转换的类变得简洁 2, 实现super agent的 service select service group add /del ...以及depend add /del... 3,项目文档 4, 存储的多样实现

讨论

Compass (last edited 2009-12-25 07:11:02 by localhost)